什么是交错访问DDR2 ?
时间:10-02
整理:3721RD
点击:
请问大家,什么是交错访问DDR2呢 ? 据说这个比顺序访问DDR2的速度快很多 。
随机读取时快很多。如果不交错,即同一Bank内,顺序是:
选Row---等tRAS---选Col---等tCAS---读数1,关Row---等tRP---选Row---等tRAS---选Col---等tCAS---读数2,关Row...
如果用多个Bank交错,则在一个Bank等待tRAS/tCAS/tRP的时间里可以对其他Bank自由操作,最终随机读取带宽变为多倍,比如2个Bank的话:
选Bank1Row---选Bank2Row---等tRAS-1---选Bank1Col---选Bank2Col---等tCAS-1---读Bank1数1,关Bank1Row---读Bank2数1,关Bank2Row---等tRP-1...
谢谢了,不过还想问一下,这样的操作适合在DDR2 中分块读写把 ?
交错在SDR/DDR/DDR2/DDR3中都一样重要,不知你这个分块指什么?具体哪些数据放哪个Bank需要根据应用来最优化。
如果没有交错,那即便SDR里Burst命令也没有意义。因为连续不断的Single Read,带宽和Burst Read是一样的。Burst命令就是用来节省命令带宽(比如8个Single命令替换为一个Burst命令),插入额外的交错命令。
OK,明白你的意思了,呵呵,我现在是有16通道的数据采集卡,设想把DDR2平均分成16个小块,每块一个通道,由于通道是并行的,所以需要每次都访问16个小块,这样就需要bank的交错读写了。如果采用顺序的方法,那么效率就会超级低了
数据采集是连续读写不是随机读写, 就算不交错也很容易达到95%以上的效率.
受教了,谢谢!
