Timothy Miller wrote:
I suspect you're referring to the fact that you can transfer data on
one bank while another is being precharged or activated.  I did some
calculations on that (years ago), and especially for graphics, the
performance advantage is trivial.  It's not worth the extra logic.

IIUC, we are *not* going to use page/row mode read/write access to the DRAM.

I tend to agree that the logic gets messy and there is little gain.

I do have some questions about this.

Do we have to do refresh? Note that you don't on a video card with 4 or 8 MB of memory, you just set up the address lines so that each row gets read once per scan line. I presume that this isn't going to work with a lot of memory; there are more than 512 rows.

Are we going to use evenly distributed refresh, or refresh enable synchronized with the horizontal scan (i.e. refresh on horizontal sync)? Either way, I presume that we will need a refresh posted counter since refresh has to wait for the controller to be (forced?) into the idle state.

The spec says 400 MHz DDR memory (DDR400B, 200 MHz clock) so I presume that we don't need to be able to adjust CAS latency (it will always be 3).

IIUC, screen refresh will read 4 pixels at a time. Are we going to use any other methods to accelerate reading screen refresh? Specifically, row/page mode? That is, will screen refresh read be just another read except that it has the highest priority in bus arbitration.

I presume that there will be a separate 16 byte read buffer for screen refresh, but that isn't part of the memory controller but it might need to be synced with the refresh. I would probably use two to make a short FIFO since memory read isn't going to be totally deterministic and you have to read with a burst of 2.

--
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