DRAM controller is typically coupled with a cache or at least a write buffer.
DRAM: high latency and write-back overhead dictate preference for large burst operations.
It is best if clients make available several operations for processing at once: up to number of banks.
It is best if clients can tolerate responses out of order (hence use bus/NoC structure that supports this).
Controller must
Controller often contains a tiny CPU to interrogate serial device data.
DRAM refresh overhead has minimal impact on bus throughput. For example, if 512 refresh cycles are needed in 4 ms and the cycle rate is 200E6 the overhead is 0.1 percent.
In the memories folder there is a simple DRAM+Controller TLM model. In the dramsim2 folder there is a TLM wrapper around the Univ-Maryland DRAM simulator. (Not examinable for CST).
60: (C) 2008-15, DJ Greaves, University of Cambridge, Computer Laboratory. |