ddr——无非大的数组对于ddr的理解,最初简单的以为无非一个大的数组,我会接口使用就ok了。不管各种概念天花乱坠,其总归最终还是要归还到ddr颗粒芯片上来吧。我们常说ddr容量大小,某款ddr颗粒手册上写的规格容量如下图所示:
看完之后一开始我只看懂了这个ddr颗粒手册上写的ddr容量是8gb,剩下的我就能看懂的不多了~这也是为什么决定花点儿功夫好好了解下ddr的基础知识。后面我们再来review这张表。
这款芯片的512mb x 16的引脚有这么几个:
bg:1bit(gb0)
ba:2bit(ba0~ba1)
row:16 bit(a0~a15)
column:10 bit(a0~a9)
dq: 16 bit(dq0~dq1)
看完之后简单总结一句话:对于ddr颗粒,bank是读写地址动作的最小单元。像上面的512mb x 16模式下,颗粒内部有两个bank group,每个bank group内部有四个bank,而每个bank内部的“存储矩阵(二维数组)”对应的行地址16 bit,列地址10 bit,每个存储单元存储16 bit数据。先不管对错,这么算起来的话:
2**(1+2+10+16) 16=2 *(33)=8gb
容量是对上了,然而这看起来和上面的表格里的有些东西却并对不上。
在上面的表格中,关于configuration一行,512mbx16意味着该ddr颗粒寻址能力为512mb,每个地址对应16 bit。由于对于ddr4列地址的低三bit并不参与译码,故寻址范围大小的计算方式为:
2**(1(bg)+2(ba)+16(col)+(10-3)col)=2**26=512 mb
如果你在quartus进行配置的话,也会发现给使用者的接口avalonmm总线地址位宽也恰好为26 bit。
page size按照上面文章里面的解释,prefetch相当于在dram core与外面的io建立了8多条通道,而burst fetch length则是对于ddr颗粒可以在指定行,列地址后可连续读取在该行指定列地址之后的多个列地址对应的内容。ddr4 prefetch和burst fetch length一般均为8,以上面的512mbx16则意味着当发起一个读指令时,将会返回8x16=128 bit=16 byte字节数据。
page size所定义的为一行row所对应的数据量大小,如前所属,参与寻址的列地址位宽为7,每个cell对应16 bits,对应burst fetch length为8,故page size的计算方式为:
2**7168=2*14 bits=16 kb=2 kb
颗粒堆叠像上面的单个颗粒容量大小为8gb。在fpga使用里,ddr常见的配置有x64/x32这样的模式。如果在板卡上使用ddr颗粒,以x64的形式来组织板卡ddr架构,那就是这样的结构:
x64模式下,用到4片ddr,4片ddr的地址总线共用,数据总线则分成四份连接到四路ddr上。故此当你在ip上发起64字节读写请求时每个ddr分别承担了16 byte字节的读写,恰好为一次burst length。
而当你如果要是能ecc时,则需要5片ddr:
此时第五个ddr 8bit专门用于存储ecc校验结果。在ecc模式下,x72bit模式下,若非64字节读取/写入,则需将数据先读取出来再更新写入,效率有一定的降低~
想要更有气场?戴上览邦WACH MAX-A90智能手表,立即焕发新鲜感!
MCAN1042 - ±70V故障保护CAN收发器与CAN FD
全球首位华人IBM周忆女士当选艾菲全球董事
小笨智能亮相国机器人峰会舞台为现代生活提供解决方案
基于CAN总线与ARM的汽车节能控制装置设计
FPGAer浅入浅出DDR
京东方发布全球首款长度1209毫米、宽度63毫米条形屏
基于STM32单片机的四旋翼无人机飞控设计
电子门禁(EAC)技术和PoE交换机
5G将带来信息通信技术变革已成为国家战略制高点
人脸识别技术会成为安防系统发展的阻碍吗?
Protel最新的版本AD6.0试用感受
小米有品发布便携式3合一科学显微镜
快速VD闪光电路图
人机协作各用途的优势概述
FCC将于9月14日举办“5G开放无线接入网络(5G open RAN)论坛”
【回顾往年CES】华为携众旗舰产品亮相,成为展会焦点
Microchip获涉及物联网和工业自动化应用奖项
电动车低速过载工况下IGBT动态温升分析
2025年我国智能医疗机器人市场规模将突破百亿元