-
内存的工作原理及时序介绍
第一部分:工作原理
DRAM
基本组成
< br>内存是由
DRAM
(动态随机存储器)芯片组成的。
p>
DRAM
的内部结构可以说是
PC
芯片中最
简单的,是由许多重复的“单元”——
cell
组成,每一个
cell
由一个
电容和一个晶体管(一
般是
N
沟道
p>
MOSFET
)构成,电容可储存
1bit
数据量,充放电后电荷的多少(电势高低)分
别对应二进制数据
0
和
1
。由于
电容会有漏电现象,因此过一段时间之后电荷会丢失,导致
电势不足而丢失数据,
因此必须经常进行充电保持电势,
这个充电的动作叫做刷新,
因此动
态存储器具有刷新特性,
这个刷新的操作
一直要持续到数据改变或者断电。
而
MOSFET
则是
控制电容充放电的开关。
DRAM
由于结构简单,可以做到面积很小,存储容量很大。
内存地址
内存中的
< br>cell
按矩阵形排列,
每一行和每一列都会有一个对应
的行地址线路
(正规叫法叫做
word
line
)和列地址线路(正规叫法是
bit
line
)
,每个具体的
c
ell
就挂接在这样的行地址线
路和列地址线路上,
对应一个唯一的行号和列号,
把行号和列号组合在一起,
< br>就是内存的地
址。
上图是
Thaiphoon
Burner
的一个
SPD dump
,每个地址是一个字节。不过我们可以把这些数
据假设成只有一个
bit
,当成是一个简单的内存地址表,左边竖着的是行地址,上方横着的
是列地址。例如我们要找第七行、倒数第二列(地址为
7E
)的数据,它就只有一个对应的
值:
FD
。当然了,在内存的
cell
中,它只能是
0
或者
1
。
寻址
数据要写入内存
的一个
cell
,或者从内存中的一个
cell
读取数据,首先要完成对这个
cell
的
寻址。寻址的过程,首先是将需要操作的
cell<
/p>
的对应行地址信号和列地址信号输入行
/
列地
址缓冲器,然后先通过行解码器(
Row
Decoder
)选择特定的行地址线路,以激活特定的行
地址。
每一条行地址线路会与多条列地址线路和
cell<
/p>
相连接,
为了侦测列地址线路上微弱的
激
活信号,还需要一个额外的感应放大器(
Sense Amplifier
)放大这个信号。当行激活之后,
列地址缓冲器中的列地址信号通过列解码器
(
Column Decoder
)确定列地址,并被对应的感
应放大器通过连接
IO
线路,这样
p>
cell
就被激活,并可供读写操作,寻址完成。从行地址激
活,到找到列地址这段时间,就是
tRCD
。
内存
ce
ll
的基本操作
内存中的
cell
可以分为
3
个基
本操作,数据的储存、写入与读取。为了便于理解,我不打算
直接从电路控制上对
cell
操作进行说明,
而是希望通过模型类
比来达到说明问题的目的,
如
有不严谨之处,高手勿怪。要对内
存
cell
进行读写操作,首先要完成上述寻址过程,并且电<
/p>
容的充电状态信号要被感应放大器感应到,并且放大,然后
MOS
FET
打开,电容放电,产生
电势变化,把电荷输送到
IO
线路,导致线路的电势也变化。当然,这只是个简单的描述,
以下我们先来了解硅晶体中“电容”的结构和
MOSFET
的控制原理。
硅晶体中的“电容”
这里之所以
p>
“电容”
两个字被打上引号,
是因为硅晶体
中并没有真正意义上的电容。硅晶体
中的电容是由两个对置的触发器组成的等效电容。例
如两个非门(
Nor Gate
)用如下图的方
式对接。
它可以通过周期性施加特定的输入信号,
以把
电荷保留在电路中,
充当电容的作用。
如下图,
两个非门的输入端
R
和
S
p>
互相交替做
0
和
1
输入,
就可以把电荷储存在电路中。
整
个动态过程就是这样:
而
R
p>
和
S
的波形就是如下图所示,刚好互为反相
,差半个周期:
要让电容放电,
我们只需要把
R
和
S
同时输入
1
或者
0
即可。
因此这种电容的逻辑
关系很简
单:在同一时刻
R
和
S
输入状态不同(即存在电势差)时,电容为充电状态;在同一时刻
p>
R
和
S
输入状态相
同(即电势差为
0
)时,电容为放电状态。
MOSFET
的控制原理
——<
/p>
水库模型
要
说明这个
MOSFET
的控制原理,我们借助一个水库的模型来
说明。
MOSFET
有三个极,分
别是
源极(
Source
)
、漏极(
Drain
)和栅极(
Gate
)
。下图左边就是一个
MOSFET
的电路图,
右边是我们画出的一个水库模型。
图中<
/p>
S
为源极,
D
为
漏极,
G
为栅极。
S
< br>极连接着电容,
D
级连接列地址线路,并接到数据
IO
,
G
则是控制电
荷流出的阀门,连接行地址线路。电容在充电后电势会改变,这样
S
极的
电势就会跟着改变,与
D
极形
成电势差,而
G
极的电势,就决定了
S
极有多少电荷可以流
入
D
极。由于电子是带负电荷,因此电子越多电势就越低。为了不至于混淆概念,我们把
< br>水池顶部电势定为
0V
,水池底部电势定为
5V
(仅举例说明,
DRAM
中的电容实际电压未必
是
5V
)
p>
。当电子数量越多时,电势越低,接近
0V
,电子数量越少时,电势越高,接近
5V
。
用水库模型说明,就是左边的水池水量升高(电容充电后)
,当阀门关闭时,左边的水是
不
会往右边流的。然后阀门打开(降低,电势升高)
,左边的水
就可以往右边流,阀门的高度
就决定了有多少水能流去右边的水道(但是在数字电路中,
MOSFET
只有开和关两种状态,
因
此下文提到的打开
MOSFET
就是全开)
;同样道理如果右边水多,阀门打开之后也可以向
左边流。因此在水库模型中,电容
就充当了左边的水池,而
MOSFET
的栅极就充当了阀门,<
/p>
列地址线路和
IO
则充当了右边的水道。
储存数据
MOSFET
栅极电势为
0V
时,电容的电荷不会流出,因此数据就可以保存我们可以用
2.5V
p>
为
参考分界线,电容电势低于
2.5V
p>
时,表示数据
0
,电势高于
2.5V
时,表示数据
1
。例
如上
一楼水库模型的左图,电容中储存的电子数高于一半的高度,电势低于
2.5V
,因此可以表
示数据
0
。但以上只是理论情况,实际上电容会自然漏电,电子数量会逐渐减少,电势就会<
/p>
逐渐升高,
当电势升高到
2.5V
以上时,
数据就会出错,
因此每隔一段时间必
须打开
MOSFET
往电容中充电,
以
保持电势,这就是刷新。因此,数据的储存主要就是对电容中电势的保持
操作。
写入数据
数据写入的操作分为写入
0
和写入
1
两种情况。
写
入前,
电容原有的情况可能是高电势与低
电势的状态,我们不用
管它。写入
0
和写入
1
对
cell
的操作不尽相同,我们分别来看。
先来看写入
0
p>
的操作。写入开始时,
IO
线路上电势为<
/p>
0
(水道处于水位最高点)
,
MOSFET
栅极电势升高到
5V
(水库阀门降到最低)
,
阀门打开,
< br>电容中的电势就跟着降低
(水位升高)
,
直到接近
0V
(水池被灌满)
,写入
0
完成,栅极电势降回
0V
p>
,阀门关闭。
再看写入
1
的操作。写入开始时,
IO
线路上的电势为
5V
(水道水位为最低点)
,
MO
SFET
栅
极电势升高到
5V
(水库阀门降到最低)
,阀门打开,电容中的电势跟着升高(水流出并降
低
水位)到接近
5V
,写入
1
完成,栅极电势回到
0V
,阀门关闭。
读取数据
读取的时候,
对漏极的电压操作跟写入有些不同。
因为水道中的水比水池中的多,
或者说水
道的容量比
水池要大得多。如果水道
(漏极)的水为满或者空,
在阀门打开
的时候很容易出
现水道的水倒灌进水池的现象,
或是水池的水全
部流去水道,
这样就有可能导致电容中的电
势状态改变,电容对
应储存的
0
或者
1
也会改变。所以读取数据的时候,
IO
线路的电压应
为
1
/
2
的满电势,即
2.5V
。
读取也同样分读取
0
和
1
两种情况。在读取之前,电容中的电势应该是大于
或者小于
2.5V
-
-
-
-
-
-
-
-
-
上一篇:金匮要略198方条文汇总
下一篇:奢侈品销售(总结_心得_建议)