荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: winsome (wo), 信区: Hardware
标  题: 高手进阶,终极内存技术指南——完整版(二)
发信站: 荔园晨风BBS站 (Wed Dec 18 12:50:56 2002), 站内信件

SDRAM与内存基础概念(二)

二、 SDRAM内存芯片的内部结构

1、逻辑Bank与芯片位宽

讲完SDRAM的外在形式,就该深入了解SDRAM的内部结构了。这里主要的概念就是逻
辑Bank。简单地说,SDRAM的内部是一个存储阵列。因为如果是管道式存储(就如
排队买票),就很难做到随机访问了。

阵列就如同表格一样,将数据“填”进去,你可以它想象成一张表格。和表格的检
索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确
地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格
可称为存储单元,那么这个表格(存储阵列)叫什么呢?它就是逻辑Bank(Logical
 Bank,下文简称L-Bank)。

由于技术、成本等原因,不可能只做一个全容量的L-Bank,而且最重要的是,由于
SDRAM的工作原理限制,单一的L-Bank将会造成非常严重的寻址冲突,大幅降低内
存效率(在后文中将详细讲述)。所以人们在SDRAM内部分割成多个L-Bank,较早
以前是两个,目前基本都是4个,这也是SDRAM规范中的最高L-Bank数量。到了
RDRAM则最多达到了32个,在最新DDR-Ⅱ的标准中,L-Bank的数量也提高到了8个。


这样,在进行寻址时就要先确定是哪个L-Bank,然后再在这个选定的L-Bank中选择
相应的行与列进行寻址。可见对内存的访问,一次只能是一个L-Bank工作,而每次
与北桥交换的数据就是L-Bank存储阵列中一个“存储单元”的容量。在某些厂商的
表述中,将L-Bank中的存储单元称为Word(此处代表位的集合而不是字节的集合)


从前文可知,SDRAM内存芯片一次传输率的数据量就是芯片位宽,那么这个存储单
元的容量就是芯片的位宽(也是L-Bank的位宽),但要注意,这种关系也仅对
SDRAM有效,原因将在下文中说明。

2、内存芯片的容量

现在我们应该清楚内存芯片的基本组织结构了。那么内存的容量怎么计算呢?显然
,内存芯片的容量就是所有L-Bank中的存储单元的容量总合。计算有多少个存储单
元和计算表格中的单元数量的方法一样:

存储单元数量=行数×列数(得到一个L-Bank的存储单元数量)×L-Bank的数量

在很多内存产品介绍文档中,都会用M×W的方式来表示芯片的容量(或者说是芯片
的规格/组织结构)。M是该芯片中存储单元的总数,单位是兆(英文简写M,精确
值是1048576,而不是1000000),W代表每个存储单元的容量,也就是SDRAM芯片的
位宽(Width),单位是bit。计算出来的芯片容量也是以bit为单位,但用户可以
采用除以8的方法换算为字节(Byte)。比如8M×8,这是一个8bit位宽芯片,有
8M个存储单元,总容量是64Mbit(8MB)。

我们可以计算一下,结果可以发现这三个规格的容量都是128Mbits,只是由于位宽
的变化引起了存储单元的数量变化。从这个例子就也可以看出,在相同的总容量下
,位宽可以采用多种不同的设计。

3、与芯片位宽相关的DIMM设计

为什么在相同的总容量下,位宽会有多种不同的设计呢?这主要是为了满足不同领
域的需要。现在大家已经知道P-Bank的位宽是固定的,也就是说当芯片位宽确定下
来后,一个P-Bank中芯片的个数也就自然确定了,而前文讲过P-Bank对芯片集合的
位宽有要求,对芯片集合的容量则没有任何限制。高位宽的芯片可以让DIMM的设计
简单一些(因为所用的芯片少),但在芯片容量相同时,这种DIMM的容量就肯定比
不上采用低位宽芯片的模组,因为后者在一个P-Bank中可以容纳更多的芯片。比如
上文中那个内存芯片容量标识图,容量都是128Mbit,合16MB。如果DIMM采用双
P-Bank+16bit芯片设计,那么只能容纳8颗芯片,计128MB。但如果采用4bit位宽芯
片,则可容纳32颗芯片,计512MB。DIMM容量前后相差出8倍,可见芯片位宽对
DIMM设计的重要性。因此,8bit位宽芯片是桌面台式机上容量与成本之间平衡性较
好的选择,所以在市场上也最为普及,而高于16bit位宽的芯片一般用在需要更大
位宽的场合,如显卡等,至于4bit位宽芯片很明显非常适用于大容量内存应用领域
,基本不会在标准的Unbuffered 模组设计中出现。

SDRAM与内存基础概念(三)

三、 SDRAM的引脚与封装

内存芯片要想工作,必须要与内存控制器有所联系,同时对于一个电气元件,电源
供应也是必不可少的,而且数据的传输要有一个时钟作为触发参考。因此,SDRAM
在封装时就要留出相应的引脚以供使用。电源与时钟的引脚就不必多说了,现在我
们可以想象一下,至少应该有哪些控制引脚呢?

我们从内存寻址的步骤缕下来就基本明白了,从中我们也就能了解内存工作的大体
情况。这里需要说明的是,与DIMM一样,SDRAM有着自己的业界设计规范,在一个
容量标准下,SDRAM的引脚/信号标准不能只考虑一种位宽的设计,而是要顾及多种
位宽,然后尽量给出一个通用的标准,小位宽的芯片也许会空出一些引脚,但高位
宽的芯片可能就全部用上了。不过容量不同时,设计标准也会有所不同,一般的容
量越小的芯片所需要的引脚也就越小。

1、 首先,我们知道内存控制器要先确定一个P-Bank的芯片集合,然后才对这集合
中的芯片进行寻址操作。因此要有一个片选的信号,它一次选择一个P-Bank的芯片
集(根据位宽的不同,数量也不同)。被选中的芯片将同时接收或读取数据,所以
要有一个片选信号。

2、 接下来是对所有被选中的芯片进行统一的L-Bank的寻址,目前SDRAM中L-Bank
的数量最高为4个,所以需要两个L-Bank地址信号(22=4)。

3、 最后就是对被选中的芯片进行统一的行/列(存储单元)寻址。地址线数量要
根据芯片的组织结构分别设计了。但在相同容量下,行数不变,只有列数会根据位
宽的而变化,位宽越大,列数越少,因为所需的存储单元减少了。

4、 找到了存储单元后,被选中的芯片就要进行统一的数据传输,那么肯定要有与
位宽相同数量的数据I/O通道才行,所以肯定要有相应数量的数据线引脚。

现在我们就基本知道了内存芯片的一些信号引脚,下图就是一个简单的SDRAM示意
图,大家可以详细看看。

(图:http://www.pcpop.com.cn/popimages/2002-12-17-11-30-29.gif
      http://www.pcpop.com.cn/popimages/2002-12-17-11-31-30.gif

根据SDRAM的官方规范,台式机上所用的SDRAM在不同容量下的各种位宽封装标准如
下:
      http://www.pcpop.com.cn/popimages/2002-12-17-11-33-24.gif

SDRAM与内存基础概念(四)

四、SDRAM的内部基本操作与工作时序

上文我们已经了解了SDRAM所用到的基本信号线路,下面就看看它们在SDRAM芯片内
部是怎么“布置”的,并从这里开始深入了解内存的基本操作与过程,在这一节中
我们将接触到有天书之称的时序图,但不要害怕,根据文中的指导慢慢理解,您肯
定可以看懂它。首先,我们先认识一下SDRAM的内部结构,然后再开始具体的讲述

1、芯片初始化

可能很多人都想象不到,在SDRAM芯片内部还有一个逻辑控制单元,并且有一个模
式寄存器为其提供控制参数。因此,每次开机时SDRAM都要先对这个控制逻辑核心
进行初始化。有关预充电和刷新的含义在下文有讲述,关键的阶段就在于模式寄存
器(MR,Mode Register)的设置,简称MRS(MR Set),这一工作由北桥芯片在
BIOS的控制下进行,寄存器的信息由地址线来提供。

2、行有效

初始化完成后,要想对一个L-Bank中的阵列进行寻址,首先就要确定行(Row),
使之处于活动状态(Active),然后再确定列。虽然之前要进行片选和L-Bank的定
址,但它们与行有效可以同时进行。

在CS#、L-Bank定址的同时,RAS(Row Address Strobe,行地址选通脉冲)也处于
有效状态。此时An地址线则发送具体的行地址。如图中是A0-A11,共有12个地址线
,由于是二进制表示法,所以共有4096个行(212=4096),A0-A11的不同数值就确
定了具体的行地址。由于行有效的同时也是相应L-Bank有效,所以行有效也可称为
L-Bank有效。

3、列读写

行地址确定之后,就要对列地址进行寻址了。但是,地址线仍然是行地址所用的
A0-A11(本例)。没错,在SDRAM中,行地址与列地址线是共用的。不过,读/写的
命令是怎么发出的呢?其实没有一个信号是发送读或写的明确命令的,而是通过芯
片的可写状态的控制来达到读/写的目的。显然WE#信号就是一个关键。WE#无效时
,当然就是读取命令。

列寻址信号与读写命令是同时发出的。虽然地址线与行寻址共用,但CAS(
Column Address Strobe,列地址选通脉冲)信号则可以区分开行与列寻址的不同
,配合A0-A9,A11(本例)来确定具体的列地址。

然而,在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定义为
tRCD,即RAS to CAS Delay(RAS至CAS延迟),大家也可以理解为行选通周期,这
应该是根据芯片存储阵列电子元件响应时间(从一种状态到另一种状态变化的过程
)所制定的延迟。tRCD是SDRAM的一个重要时序参数,可以通过主板BIOS经过北桥
芯片进行调整,但不能超过厂商的预定范围。广义的tRCD以时钟周期(tCK,Clock
 Time)数为单位,比如tRCD=2,就代表延迟周期为两个时钟周期,具体到确切的
时间,则要根据时钟频率而定,对于PC100 SDRAM,tRCD=2,代表20ns的延迟,对
于PC133则为15ns。






--
※ 修改:·winsome 於 Dec 18 13:00:27 修改本文·[FROM: 192.168.32.247]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.32.247]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店