内存器件之介绍篇
内存器件之介绍篇1
注:了解一下SRAM, DRAM,DDR的概念特点即可.
https://blog.****.net/yangcuncunzhang/article/details/6127788
提到内存,相信大家都不陌生,几乎所有的计算机系统中都有它的身影,按照内存的工作原理划分,可将内存分为RAM和ROM两大类。
RAM(Random Access Memory)存储器又称随机存取存储器,存储的内容可通过指令随机读写访问,RAM中的数据在掉电时会丢失;
ROM(Read Only Memory)存储器又称只读存储器,只能从中读取信息而不能任意写信息。ROM具有掉电后数据可保持不变的优点。
RAM和ROM两大类下面又可分很多小类,如下图所示:
♦SRAM简介
SRAM即Static RAM,也就是静态随机存取存储器,按照制造工艺可分为NMOS SRAM、CMOS SRAM和双极型SRAM(用的是TFT)。
SRAM的基本存储单元是数字锁存器,只要系统不掉电,它就会无限期地保持记忆状态。掉电时,存储数据会丢失。并且SRAM的行列地址线是分开的(DRAM的行列地址线是复用的)。
SRAM地特点是读写速度极快,在快速读取和刷新时能够保持数据地完整性,并且非常省电。所以在一些高速和高可靠性要求电路中,基本上是SRAM地天下,如CPU的Cache。但是SRAM的存储单元电路结构非常复杂,它内部采用的是双稳态电路的形式来存储数据,制作一个bit存储位通常需要6个MOS管(4个MOS管组成两个交叉耦合反相器,用来锁存数据,另外2个用于对读写操作过程的控制)。由于SRAM的复杂电路结构,使得成本要比DRAM高很多,而且其集成度低,很难做成大容量,一般只有几十KByte到几百KByte的容量,最大也就几MByte。
下图为6个NMOS构成的基本SRAM存储单元,Xi和Yj为字线;I/O为数据输入/输出端;R/W为读/写控制端。当R/W=0时,进行写操作;当R/W=1时,进行读操作。图中红色虚线框中的T1、T2、T3、T4、T5、T6六个NMOS管构成一个基本的存储单元。T1、T3和T2、T4两个反相器交叉耦合构成触发器。电路采用二元寻址,当字线Xi和Yj均为高电平时,T5-T8均导通,则该单元被选中,若此时R/W为1的读操作,三态门G1、G2关闭,G3打开,存储的数据从数据线D,经过G3,然后从I/O输出。若R/W为0的写操作,则G1、G2打开,G3关闭,I/O上的数据经G1、G2写入存储单元。
下图为32KByte容量的SRAM结构示意图,该SRAM有8位行地址,译码后生成256根行地址线;列地址线为7位,译码后生成128根列地址线。对SRAM进行读操作时,OE#和CS#为低电平,WE#为高电平,G1输出低电平将输入控缓冲器关闭,G2输出高电平将输出缓冲器打开,通过行列地址线选中的存储单元数据经I/O和输出缓冲器,最后从I/O[0:7]输出;写操作时,WE#和CS#为低电平,OE#为高电平,G1输出高电平将输入缓冲器打开,G2输出低电平将输出缓冲器关闭,I/O[0:7]上的输出经输出缓冲器和内部I/O总线,最后写入行列地址选中的存储空间中。
♦DRAM介绍
DRAM即Dynamic RAM,动态随机存取存储器的意思,DRAM的种类有很多,常用的有:
1).SDRAM:Synchronous Dynamic Random Access Memory,即同步动态随机存取存储器。“同步”是指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部命令的发送与数据的传输都以此频率为基准;“动态”是指存储阵列需要不断的刷新来保证所存储数据不丢失;“随机”是指数据不是线性一次存储,而是自由指定地址进行数据的读写。
2).DDR SDRAM:Double Data Rate SDRAM,即双倍速率SDRAM,普通SDRAM只在时钟信号的上升沿采样数据,而DDR SDRAM在时钟信号的上升沿和下降沿都采样数据,这样,在时钟频率不变的情况下,DDR SDRAM的数据存取速度提高了一倍,所以叫双倍速率SDRAM。
DDR SDRAM最早由三星公司于1996年提出,之后与日本电气、三菱、富士通、东芝、日立、TI、现代等8家公司协议制定规格,并得到AMD、VIA、SIS等公司的支持,并最终于2005年形成JEDEC标准ESD79E。(JEDEC即Joint Electron Device Engineering Council,电子器件工程联合理事会)
DDR SDRAM在其短暂的发展史中,先后经历了DDR SDRAM(也叫DDR1 SDRAM)、DDR2 SDRAM、DDR3 SDRAM三个阶段,技术越来越先进。下面是DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM三种内存芯片的参数对比表:
3).RDRAM:Rambus DRAM,是美国的RAMBUS公司开发的一种内存。与DDR和SDRAM不同,它采用了串行的数据传输模式。RDRAM的数据存储位宽是16位,远低于DDR和SDRAM的64位。但在频率方面则远远高于前者,可以达到400MHz乃至更高。同样也是在一个时钟周期内传输两次次数据,能够在时钟的上升期和下降期各传输一次数据,内存带宽能达到1.6Gbyte/s。普通的DRAM行缓冲器的信息在写回存储器后便不再保留,而RDRAM则具有继续保持这一信息的特性,于是在进行存储器访问时,如行缓冲器中已经有目标数据,则可利用,因而实现了高速访问。另外其可把数据集中起来以分组的形式传送,所以只要最初用24个时钟,以后便可每1时钟读出1个字节。一次访问所能读出的数据长度可以达到256字节。下图为SDRAM与RDRAM系统结构对比。
DRAM的存储单元结构与SRAM的锁存器存储结构不同,DRAM是利用电容来存储数据信息的,电容中有电荷代表逻辑“1”,没有电荷代表逻辑“0”,如下图所示。DRAM进行读/写操作时,行选信号与列选信号将使存储电容与外界的传输电路导通,从而可进行放电(读取)或充电(写入)。目前的主流设计中,刷新放大器功能已经被并入读出放大器(Sense Amplifier,简称S-AMP)中。
内存器件之介绍篇2
https://blog.****.net/yangcuncunzhang/article/details/6127801
♦DRAM的物理BANK与逻辑BANK
我们在进行内存设计选型时会有两种选择:内存颗粒和内存条
1).内存颗粒其实也就是内存芯片,数据位宽通常是8bit,最高的也就是16bit。
2).内存条就是将多颗内存芯片放在一起组成通用标准模块,并在模块中加入管理信号(一般为I2C总线,用来读取厂家信息),然后从标准接口引出(就是我们常说的金手指)。
常见的内存条有SIMM和DIMM两种。
SIMM是Single In-line Memory Module缩写,即单列内存模组,它与主板插槽的接口只有一列引脚(虽然两侧都有金手指),72个PIN,数据位宽为32bit。
DIMM是Double In-line Memory Module的缩写,即双列内存模组。所谓双列是指模组电路板与主板插槽的接口有两列引脚,两侧的金手指各对应一列引脚。DIMM内存条一共有168个PIN,数据位宽为64bit。
传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需的数据,而CPU在一个传输周期能接受的数据容量就是CPU总线的位宽。这个位宽就是物理BANK(Physical Bank,简称P-Bank)位宽。
如32位的CPU与内存进行数据交换时,一个时钟周期内必须是32bit,要是用普通8bit位宽的内存颗粒的话,就需要4片并联起来才能满足要求。记得Pentium系列CPU刚上市时,需要在主板上插两条SIMM才能使CPU正常工作,这是因为Pentium系列CPU是64位的,而SIMM只能提供32bit位宽,所以必须要用两条并联起来才能满足其64bit的位宽要求。直到后来64bit位宽的DIMM上市后,才可以使用一条内存配合CPU正常工作。
早期的内存条,无论是SIMM,还是DIMM,都只有一个P-Bank。随着计算机应用的发展,一个系统只有一个P-Bank已经不能满足容量的需求。所以就出现了支持多个P-Bank的内存条,一次选择一个P-Bank工作,这就有了内存条支持多少个物理BANK的说法(Intel将P-Bank称为Row,比如845G内存条宣称支持4个Row,其实就是支持4个P-Bank,另外,在一些文档中,也把P-Bank称为Rank)。
DRAM的逻辑BANK概念是针对内存颗粒内部的。大家都知道DRAM内部的存储单元是以阵列形式排列的。如下图所示。行列地址总线分别经过行列地址译码器译码后分别指向一行和一列,行列重叠的单元就是我们所寻找的存储单元,这就是内存芯片寻址的基本原理。对于内存颗粒来说,这个阵列就是逻辑Bank(Logical Bank,简称L-Bank)。
但是,在实际应用中,由于技术、成本等原因,不可能只做一个全容量的L-BANK,而且最重要的是,由于DRAM的工作原理限制,单一的L-Bank将会造成严重的寻址冲突,大幅降低内存效率。所以人们在DRAM内部分割成多个L-Bank,每个L-Bank形状相同,彼此独立,可以独立工作。早期的DRAM芯片内部分为2个L-Bank,后来是4个,DDR3内存芯片为8个。
在进行寻址时需要先确定是哪个L-Bank,然后再在这个选定的L-Bank中选择相应的行与列进行寻址。对内存的访问,一次只能是一个L-Bank,而每次与CPU交换的数据就是 L-Bank 存储阵列中一个“存储单元”的容量。SDRAM内存芯片一次传输的数据量就是芯片的位宽,那么这个存储单元的容量就是芯片的位宽(也是 L-Bank 的位宽)。下图为4BANK内存颗粒内部结构示意图
内存芯片容量的计算方法为:存储单元数量=行数×列数(得到一个 L-Bank 的存储单元数量)×L-Bank 的数量。在很多内存产品介绍文档中,都会用 M×W 的方式来表示芯片的容量。M 是该芯片中存储单元的总数,单位是兆,W 代表每个存储单元的容量,也就是 SDRAM 芯片的位宽(Width),单位是 bit。计算出来的芯片容量也是以 bit 为单位,但用户可以采用除以 8 的方法换算为字节(Byt)。
内存器件之介绍篇3
https://blog.****.net/yangcuncunzhang/article/details/6127837
内存器件之介绍篇4
https://blog.****.net/yangcuncunzhang/article/details/6127842
内存器件之介绍篇5
https://blog.****.net/yangcuncunzhang/article/details/6127856
内存器件之介绍篇6
https://blog.****.net/yangcuncunzhang/article/details/6127870