请教一下ddr2的效率问题
时间:12-11
整理:3721RD
点击:
刚大概算了一下
最好的情况 就是在同一个page里面 做连续的读或者写 但是效率只有70%左右
而最差的情况 是在不同的bank之间 先写然后再读 这样的效率仅有25%左右
可是看到过altera做的一个ddr2的controller 声称效率在90%以上
不知道怎么会那么高?
请达人给解释一下。。。
最好的情况 就是在同一个page里面 做连续的读或者写 但是效率只有70%左右
而最差的情况 是在不同的bank之间 先写然后再读 这样的效率仅有25%左右
可是看到过altera做的一个ddr2的controller 声称效率在90%以上
不知道怎么会那么高?
请达人给解释一下。。。
指令总是有间隙的,在对一个bank操作的时候,可以把另一个bank active。这样可以做到数据总线总是有数据的,效率最高100%。比如你要读bank0的一行,接着读bank1的一行,你可以这样发指令 “active bank0”-“NoP” -“read 0” -“nop” -“read 0"- "active bank1" -"read 0" -"nop" .... "read 1" 这样数据就是连续的。只要不是连续操作的两行在一个bank中都可以做到数据连续。
有道理。
内部每个BANK都相对独立,所以只要间歇active 另一个Bank,就可以prepare 另一个Bank的一个page的数据以供后来操作。通常有4到8个Bank。