Patrick McNamara wrote:
James Richard Tyrer wrote:
The logic cost of generating and using the refresh enable appears to be small. It is turned on when the last pixel of the scan line is loaded into the FIFO and turned off a fixed number of clocks before the end of horizontal sync (to allow for the start of fetching the pixels for the next line).

Based on Timothy's description of the video controller, you will have about half a scan line during which the refresh enable will be active. Due to the fact that the video controller loads pixel data one scanline prior to it's use, a refresh period interrupting the data transfer would not glitch the screen so long as the cumulative refresh time did not delay the video controller memory read by more than about half a scanline. An active memory request from the video controller de-asserts the "opportunistic" refresh enable. Should a required refresh window occur during video controller memory access, it will take priority and interrupt the request.

There are trade offs here that will probably require modeling to resolve.

If a refresh interrupts the screen refresh read, it will cause a row miss in the video memory block. This row miss can be avoided using the method described above.

If you read the screen refresh as a block there will be no other access to memory while this is happening. This will probably slow down the GPU. The screen refresh does need to be able to preempt other bus masters, but only when the FIFO is running low. Otherwise, it can read whenever an empty slot in the memory access pipeline is available.

Screen refresh could be interleaved with other memory access to keep the pipeline full. However, if you do that, there will be some row misses when reading video memory.

There is no 100% best answer here. That is the way design works. Also, avoiding a few hundred row misses per second isn't a big deal. But, designs are improved by small increments.

--
JRT


_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to