DDR | DDR2 | DDR3 | DDR4 | DDR5 |
---|---|---|---|---|
Prefetch 2 | Prefetch 4 | Prefetch8 | Prefetch8 | Prefetch16 |
– | – | – | – | – |
bank groups | ||||
64bit | 64bit | 64bit | 64bit | 32bit |
cacheline 64B
DDR4如果prefetch 16,那么64bit x 16 即128B,不符合cacheline的size。因此采用了bankgroup。
bankgroup将banks切成group,group可以以interleave的方式发射,cpu的一次请求,DDR4会以memory内部时钟16倍频的方式输出,但是输出的16beat,前8beat和后8beat是不同的地址的内容。
DDR5如果继续采用bank interleave的方式,那么需要4个bankgroup发送命令,输出数据,对时序要求更高,因此采用了prefetch 16,同时,为了满足cachesize的符合,将DDR64bit切成了32bit的两部分,这样16x32bit仍然满足64B的cacheline size。