DDR的一点概念

来源:互联网 发布:python绘图 编辑:程序博客网 时间:2024/06/05 20:07

SDRAM(Synchronous DRAM)同步动态随机存储器:是PC 100和PC 133规范所广泛使用的内存类型,它的带宽为64位,3.3V电压,目前产品的最高速度可达5ns。它与CPU使用相同的时钟频率进行数据交换,它的工作频率是与CPU的外频同步的,不存在延迟或等待时间。

SDRAM的内部是一个存储阵列,类似于一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格(存储阵列)叫什么呢?它就是逻辑Bank(Logical Bank,下文简称L-Bank)。

1,物理BANK:传统内存系统为了保证CPU 的正常工作,必须一次传输完CPU 在一个传输周期内所需要的数据。那时的内存必须要组织成P-Bank 来与CPU 打交道,所以会出现两根32bit的内存搭配才能跟64bit的奔腾CPU开机成功。
2,芯片位宽:为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。组成64bit,对于16bit芯片,需要4 颗(4×16bit=64bit)。对于8bit 芯片,则就需要8 颗了。
3,逻辑BANK:Logical Bank,SDRAM 的内部是一个存储阵列。阵列就如同表格一样,将数据“填”进去,你可以它想象成一张表格。单一的L-Ban k将会造成非常严重的寻址冲突,大幅降低内存效率,所以人们在内部分割成多个L-Bank。

4,内存芯片容量:存储单元数量=行数×列数(得到一个L-Bank的存储单元数量)×L-Bank的数量,比如128Mbit:2M x 16Bit x 4 Banks:第一个数目是行列相乘的矩阵单元数目,第二个数目是单个存储体的位宽,第三个是逻辑BANK数目。

DDR应该叫DDR SDRAM,是Double Data Rate SDRAM(synchronous dynamic random access memory,同步动态随机存储器)的缩写,同步是指其时钟频率与CPU前端总线的系统时钟频率相同,动态是指存储阵列需要不断刷新来保证数据不丢失,随机是指数据可随机存储和访问。

 

SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。
   

 DRAM制造商的一些资料中显示,内存至少要每64ms刷新一次,这也就意味着内存有1%的时间要用来刷新。内存的自动刷新对于内存厂商来说不是一个难题,而关键在于当对内存单元进行读取操作时保持内存的内容不变,所以DRAM单元每次读取操作之后都要进行刷新:执行一次回写操作,因为读取操作也会破坏内存中的电荷,也就是说对于内存中存储的数据是具有破坏性的。所以内存不但要每64ms刷新一次,每次读操作之后也要刷新一次。

 

DDR比SDRAM多了rank这个概念,在讲rank之前,我们先了解一下DDR数据存取,以64bits数据线为例,CPU每次从内存里面存读数据都是一次64bits,而我们知道内存颗粒(SDRAM)一般没有64bits数据线的,大多为4bits,8bits或16bits。那么为了凑够CPU访问所需的64bits该怎么办呢?当然是大伙一起凑了,即数据位扩展了。如果每个颗粒是8bits位宽,那么就需要8个颗粒凑在一起,这八个颗粒组成一组,它的名字就叫rank。

一条内存条上有多少个rank,就表示有多少个这样的分组,而在这个分组其实就是8片并在一起的SDRAM,这些SDRAM就是前面提到的三维立体空间的载体,也就是说bank。这个概念对于DDR来说就是指的颗粒(SDRAM)上的bank。

 

原创粉丝点击