存储器和可编程器件
Memory And
Programmable Logic Devices
6.1引言定义:存储器是带有存取电路的储存二进信息单元的集合。在计算机中的很多部分广泛应用。
两种主要类型:RAM,ROM。
RAM(Random memory):随机存储器。暂存数据。例:用于处理器内外部的快速CACHE。
写操作(write):向存储器存入新信息。
读操作(read):从存储器向外传送所存储信息。
ROM(read-only memory):只读存储器。永久存储数据。其内容不可替换。可编程器件(PLDs)一种形式。例:用于计算机中的BIOS的和键盘处理程序存储。
PLD s(programmable logic device):用于存储定义逻辑线路的信息。学习了解PLAs,PAL,CPLDs,FPGAs。
编程(programming):将二进信息写入PLD器件的处理过程。
PLD是一含有逻辑门的集成电路,其逻辑门用某种方式连接,而其连接又可用编程改变。早期用熔丝技术。按需熔断。
典型的PLD可含有几百-几百万门。由于其采用高扇入门技术,方便符号表示如下:
 
(a)传统符号 (b)阵列逻辑符号
有×表示连接。
无×表示不连接。
非熔丝也借用逻辑表示。
6.2 RAM (Random-access Memory)
对存储器任意所希位置化相同时间存取。
串型存储,例磁盘、磁带的存取时间取决于数据位置。
位(bite):一个二进信息,0或1。
字(word):一组位(bite)。整体进出存储器。可表示数,指令,字符或其它二进编码信息。
字节(byte):八位组。
计算机大多采用八的整倍数作为字存储。例,16位字,32 位字。
存储器容量:可存的byte数。
K:210。
M:220。
G:230。
存储器框图:

数据输入、输出线:存取信息。
地址线(address):选取字。K条地址线对应0-2k-1字。内部译码器根据地址信息开放所希选择字的路线。
控制线:读、写。控制方向。
例:1K字存储器,16bits/字。

容量:2k bytes。地址线10位。字线16位。
写和读操作写步骤:
对地址线加所希访问地址;
对数据输入线加欲存数据;
激活写输入控制。
读步骤:
对地址线加所希访问地址;
激活读输入控制。
一般存储器芯片(chip)的控制输入:
Chip select
Read/
CS
R/
Memory operation
0
X
None
1
0
Write to selected word
1
1
Read from selected word
片选使能存储器。
定时波形(timing waveforms)
写周期(write cycle)

(b)读周期(read cycle)

存取时间(access time):
写周期(write cycle):从加地址到一个字被存储器内部存储操作全部完成的最大时间。
读周期(read cycle):从加地址到数据在数据输出端出现的最大时间。
注意:各种信号必须满足器件要求的时序与参数。特别是使能和地址信号必须先于读写信号有效;读写信号必须保证足够时间;使能和地址信号必须后于读写信号无效。
存储器性质静态RAM(Static RAM)(SRAM):内部锁存器存储数据。不掉电,则数据保持有效。
动态RAM(Dynamic RAM)(DRAM):二进信息以电荷形式存储于内部电容器中。电容器在MOS晶体管内部,所存电荷随时间放电,需刷新(refreshing),间隔几毫秒。DRAM优点是功耗小,集成度高。SRAM存取时间短,不需刷新。
SRAM和DRAM均为易失性(volatile)。
非易失存储器,如磁盘,ROM。
6.3 RAM集成电路
RAM的构成:RAM基片+附加控制电路。
m个字,每字n位的RAM基片由m×n二进存储单元阵列和相关电路构成。
控制电路:译码器。用于选择欲读写字。
读写电路。
输出逻辑。
逻辑化静态RAM存储单元:

S=0:内容保持;输出C为0。
S=1:内容由B确定;输出C为0。
RAM位片(bit slice)。

字选:控制指定存储单元加载。S=0,保持;S=1,加载来自写逻辑的数据B。
位选:控制位片的数据的读写。
数据加载,位选=1,指定字选=1,R/W=0。
数据读出:位选=1,指定字选=1,R/W=1。
为每次只一字写入或读出,应仅使一字选线为1,其它为0。
位片的符号表示:

例:16×1 RAM芯片结构。
片选(chip select)相当于使能,可用于构造大容量RAM。
三态缓冲器(tree-state buffer)。可构成任意个输入的多路选择器,RAM芯片关键部分。

三态缓冲器
三态:1;0;高阻(Hi-Z)(hight impendance)。可认为开路(open circuit)。
EN
IN
OUT
0
X
Hi-Z
1
0
0
1
1
1
符号与真值表:

构成多路选择器:
EN1
EN0
IN1
IN0
OL
0
0
X
X
Hi-Z
(S)0
()1
X
0
0
0
1
X
1
1
1
0
0
X
0
1
0
1
X
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0

必须确保避免二个和二个以上使能同时为1。可用译码器解决。例虚线所示。
扩充RAM容量:将多片带三态输出RAM的输出直接相连,用译码器控制选择欲读出字之芯片之片选。
RAM中普通译码方案缺陷:
译码与门多。例:K个地址线需2k个k输入端与门;
如字量大,则共享同一读写线的单元多,引起读写周期变大。
解决方案:协同选择。
协同选择(coincident selection)
双译码器结构,减少译码与门数和每译码与门的输入端数。
构成:二个k/2输入译码器代替一个k输入译码器。一个控制字选,一个控制位选,改称行选(row select)与列选(column)。
例:利用4*4 RAM单元阵列的16*1RAM结构图

列选译码需带片选使能,当其为0时,所有输出均为0,无单元选中,防止写入。
例:利用4*4 RAM单元阵列的8*2RAM结构图

32k×8译码方案比较:
256k bits。为得方阵,开根得512=29。
确定9位行选,6位列选,八输出。
非C-S:215字,15输入,32k门(输出)。
C-S:行29=512门,列26=64门,共576。
动态RAM集成电路(dynamic RAM ICs)(DRAM)
优点:大容量,低成本。
大量用于高容量存储器。
存储单元只能暂时,需刷新(refresh)。
刷新是DRAM和SRAM(static RAM)主要区别。
动态RAM存储单元电荷存储表示逻辑0与1。

T断:C存电荷多少表示1、0。
T通:可由B向C充放电荷写1、0。
也可由B读出C存的电荷1、0,但将破坏C中的电荷值,必须恢复。
由于存在漏电流和读操作使得C中电荷变化造成存储数据错误。
上述原因说明必须刷新。
动态存储单元逻辑结构:(D锁存器)。

含有刷新逻辑DRAM框图

DRAM位片与SRAM位片相似,但大小和成本差3倍。SRAM单元6个晶体管,DRAM单元1个电容加1个晶体管。
为减少大容量RAM输入脚数,设置行列地址寄存器,地址线公用,行、列地址分开输入。
RAS(row address strobe):行加载。
CAS(column address strobe):列加载。
R/W(read/write):读写。
OE(output enable):输出使能。
DRAM读写定时。
DRAM写周期

地址负沿存入。
输入数据、读写信号、与列地址同步输入。
CAS与RAS返回1,写周期完成。
写操作时,被访问行的所有数据均被重建。
DRAM读周期

读操作时。被访问行所有数据也均被重建。
DRAM的刷新。
刷新计数器超前提供刷新行地址。
刷新方法与类型:
RAS only refresh(RAS单独刷新)。
外部提供刷新行地址,RAS变低电平。可用DRAM控制器。
CAS befor RAS refresh。
CAS先于RAS变低电平。刷新地址由刷新计数器提供,并依次增加。
Hidden refresh(隐藏刷新)。
当RAS返回高电平时,CAS仍保持在0电平,则产生一个刷新。
所有刷新均由外部信号RAS和CAS启动。
行刷新间隔最大为16-64ms。
刷新可等间隔分布或连续突发进行。
例:4M×4DRAM。4K行,单行刷新60ns,全部则需0.25ms。如分布刷新,间隔64ms/4k=15.6us。
刷新时DRAM不能读写。
突发刷新(burst refresh):长时间停止计算机操作,一般采用分布刷新。
根据基本DRAM产生新型DRAM。例SDRAM。
(Synchronous DRAM)。以外部时钟同步,同行地址数据可连续迅速读出。
6.4 RAM ICs 阵列(array)
存储器的容量取决于二个参数,字数与每字位数。字数的增加需增加地址位数,位数的增加需增加数据输入与输出线数。
RAM集成电路的符号表示:

注意:数据地址线的表示;三态输出的表示。
利用多片增加字数。4×(64k×8)=256k×8。
 三态输出可直接互联。注意阵列的使能。
思考:如非三态片,如何解决容量扩充。
利用多片增加位数。2×(64k×8)=64k×16。

双向(bidirectional)数据端口。
为减少管脚数。用片选和读写信号控制三态buffer实现。