微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 什么是交错访问DDR2 ?

什么是交错访问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%以上的效率.

受教了,谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top