第四章主存储器
? 4.1 主存储器处于全机的中心地位P105
? 4.2 主存储器的分类存储器系统的分类如图所示。
ROM (
不可改写
ROM)
ROM(
只读存储器
) PROM (
一次可改写
ROM)
EPROM (
多次可改写
ROM)
内存储器
E
2
PROM(
多次电可改写
ROM)
flash memory(
快擦型存储器
)
SRAM (
静态存储器
)
RAM(
随机存储器
)
DRAM(
动态存储器
)
? 4.3 主存储器的技术指标
? 1.存储容量
?存储容量是指存储器系统能容纳的二进制总位数,常用字节数或单元数×位数来描述。
? (1) 字节数
?若主存按字节编址,即每个存储单元有8位,
则相应地用字节数表示存储容量的大小。
? 1KB=1024B,1 MB=1K×IK=1024×1024B,
1 GB=1 KMB=1024×1024×1024B。
? (2) 单元数×位数
?若主存按字编址,即每个存储单元存放一个字,字长超过8位,则存储容量用单元数×位数来描述。
? 2.存取速度
? (1)存取时间Ta
?存取时间是指从启动一次存储器操作到完成该操作所经历的时间。
? (2)存取周期Tm
?存取周期又称读写周期、访问周期,它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次访问存储器操作之间所需要的最短时间。
?一般情况下Tm>Ta。这是因为对任何一种存储器,在读写操作之后,总要有一段恢复内部状态的复原时间。对于破坏性读出的存储器,存取周期往往比存取时间要大得多,甚至可以达到Tm=
2Ta,这是因为存储器中的信息读出后需要马上进行再生。
存取时间与存取周期的关系见图
4.2

启动存取
存取完
下次存取
t
1
t
2
t
3
存取时间
恢复时间
存取周期

4.2
读写时间与存取周期的关系
?存取周期的倒数1/Tm,称为存取速度。
它表示单位时间内能读写存储器的最大次数。1/Tm乘以存储总线宽度W就是单位时间内写入存储器或从存储器取出信息的最大数量,称为最大数据传送速率,单位用位/秒表示。
? 4.4 主存储器的基本结构和基本操作
?主存储器原理结构框图(见P107)。
存储器的基本操作如下:(见P107)
?(1)读操作地址→AR,CPU发读命令,则:M(AR)
→DR,存储器发ready命令。
?(2)写操作地址→AR,数据→DR,CPU发写命令,
则DR→M(AR),存储器发ready命令。
4.5 读/写存储器(RAM)
? 4.2.1静态存储器(SRAM)
?静态半导体存储器(SRAM):可随机读写;
其存储的数据表示为晶体三极管构成的双稳态电路的电平;存储数据稳定;不需刷新。
?静态MOS存储元V
1
、V
2
、V
3
、V
4
组成的双稳态触发器保存信息,它能长期保持信息的状态不变,是因为电源通过V
3

V
4
不断供给V
1
或V
2
电流的缘故。其特点是当供电电源切断时,原存的信息也消失。
六管静态存储元的结构图如图
4.
5所示:
X地址译码线
Vcc
T
3
T
4
A
B
T
1
T
2

7
T
8
位线1 Y地址译码线 位线2
T
5
T
6

4.

六管静态存储元电路
?图中T
1
、T
2
为工作管;T
3
、T
4
为负载管;
T
5
、T
6
、T
7
、T
8
为控制管。
?两个稳态:T
1
导通,T
2
截止为“1”态;T
2
导通,T
1
截止为“0”态;
?工作原理:
① 保持状态(X、Y译码线为低电平,即T5、T6,T7、T8 均截止)
保持“1”态,T1导通→A低 保持“0”态,T2导通→B低
↑ ↓
↑ ↓
B高 ←T2截止 A高→ T1截止
?②写入状态(X、Y译码线为低电平,即
T
5
、T
6
、T
7
、T
8
均导通)
?写“1”:位线2为高电平→B高→T
1
导通;
位线1加低电平→A低→T
2
截止;
?写“0”:位线2为低电平→B低→T
1
截止。
位线1加高电平→A高→T
2
导通;
?③读出状态(X、Y译码线为低电平,即
T
5
、T
6
、T
7
、T
8
均导通)
?读“1”(T
2
截止、T
1
导通):Vcc从T
4
到T
6

T
8
使位线2有电流。
?读“0”(T
1
截止、T
2
导通):Vcc从T
3
到T
5

T
7
使位线1有电流;
?所以,不同的位线上的电流使放大器读出不同的信息“1”和“0”。
? 2.静态MOS存储器
? (1)存储体
?存储体用来存储信息,它由静态MOS存储元组成,采用二维矩阵的连接方式,假定X方向有m根选择线,Y方向有n根选择线,则存储矩阵为m×n,在每个X、Y选择线的交叉点有一个存储元。
?一个4×4的存储矩阵的结构如图4.6所示,其中的存储元见4.5。
?图4.6中,存储矩阵4×4=16×1位,是指16个字的同一位,若用8个同样的存储矩阵,则可组成16个字、字长为8位的存储体。
图4.6双译码结构的存储矩阵框图
? (2)地址译码器
?地址译码器的设计方案有两种:一种是单译码,另一种是双译码。
?单译码结构中,地址译码器只有一个,
译码器的输出,选择对应的一个字。若地址线数n=2,译码后输出2
2
=4个状态,
对应4个地址,每个地址中存一个4位的字。
?这种结构有一个缺点,就是当n较大时,
译码器将变得复杂而庞大,使存储器的成本迅速上升,性能下降。例如,n=12
时,译码器输出为2
12
根选择线,每根选择线还要配一个驱动器。所以,单译码结构只适用于小容量存储器。
?为了减少驱动器数量、降低成本,存储器一般采用双译码结构。这种结构中有X和Y两个方向的译码器,如图4.6所示。
? (3)片选和读/写控制电路
?由于一块集成芯片的容量有限,要组成一个大容量的存储器,往往需要将多块芯片连接起来使用,这就存在某个地址要用到某些芯片,而其它芯片暂时不用的问题,这就是所谓片选。只有片选信号()有效时,该芯片才被选中,此片所连的地址线才有效,才能对
?它进行读或写操作。片选和读/写控制电路如图4.7所示。
W R 当
CS=
0 时 若
WE=
0则W=1,控制写入电路进行写入;

WE=
1 则R=1,控制读出电路进行读出;

CS=
1 时 R=0、W=0,读与写均不能进行。

4.7
片选和读/写控制电路
CS WE
? 3.静态MOS存储器芯片
? RAM存储器芯片有很多种型号,其地址线的引脚数与存储芯片的单元数有关,
数据线的引脚数与存储芯片的字长有关。
另外,每一芯片必须有一片选信号,对于RAM存储器芯片还必须有一读/写信号,加上电源线、地线组成芯片的所有引脚。
?存储器芯片的地址范围是其地址线从全
“0”到全“1”进行编码。
? 4.存储器的读、写周期
?在与中央处理器连接时,CPU的时序与存储器的读、写周期之间的配合问题是非常重要的。对于已知的RAM存储片,
读写周期是已知的。图4.8示出RAM芯片的读周期与写周期的时序波形图。
t
RC
t
A
地址
WE
D
OUT
(a) 读周期
地址
WE
t
DW
D
IN
(b) 写周期
t
CO
CS
t
W
CS
T
AW
t
WR
t
WC
? (1)读周期
?从给出有效地址后,到读出所选中单元的内容外部数据总线上稳定地出现所需的时间t
A
称为读出时间。
?读周期与读出时间是两个不同的概念,读周期时间t
RC
表示存储片进行两次连续读操作时所必须间隔的时间,它总是大于或等于读出时间。
?片选信号CS必须保持到数据稳定输出,t
CO
为片选的保持时间。
?在读周期中为WE高电平。
? (2)写周期
?要实现写操作,必须要求片选CS和写命令
WE信号都为低。
?要使数据总线上的信息能够可靠地写入存储器,要求CS信号与WE信号相“与”的宽度至少应为t
W

?为了保证在地址变化期间不会发生错误写入而破坏存储器的内容,信号在地址变化期间必须为高。
?为了保证有效数据的可靠写入,地址有效的时间至少应为t
WC
=t
AW
+t
W
+t
WR

?为了保证CS和WE变为无效前能把数据可靠地写入,要求写入的数据必须在t
DW
以前,保证在数据总线上已经稳定。
?例4.2 下图是某SRAM的写入时序图,
其中是读/写命令控制线,当线为低电平时,存储器按当时地址2450H把数据线上的数据写入存储器。请指出图4.9(a)
写入时序中的错误,并画出正确的写入时序图。
地址
2159 2450 2200
数据
WE

4, 9 (a)

4.2
的写入时序
解:在线为低电平时,地址、数据都不能再变化,正确的写入时序图如图4, 9(b)。
地址
2159 2450 2200
数据
WE

4, 9 (b)
正确的写入时序
? 5,RAM存储器的扩展
?由于每一个集成片的存储容量终究是有限的,
所以需要一定数量的片子按一定方式进行连接后才能组成一个完整的存储器。
? (1)位扩展
?位扩展指的是用多个存储器器件对字长进行扩充。
?位扩展的连接方式是将多片存储器的地址、
片选、读写控制端相应并联,数据端分别引出。
?由mK×n
1
的存储器芯片组成mK×n
2
的存储器,
需(n
2
/n
1
)片mK×n
1
的存储器芯片。
?例4.3 由16K×4的存储器芯片组成
16K×8的存储器,画出该存储器的组成逻辑框图。解:由16K×4的存储器芯片组成16K×8的存储器,需(8/4=2)片
16K×4的存储器芯片,存储器扩展图如图4.10所示。(P120)
A
13
~A
0
地址线
CS
CS
16K×4 16K×4
WE
WE
D
0
~D
3
D
4
~D
7
数据线
图4.10 位扩展连接方式图
? (2)字扩展
?字扩展指的是增加存储器中字的数量。
静态存储器进行字扩展时,将各芯片的地址线、
?数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。
?由m
1
K×n的存储器芯片组成m
2
K×n的存储器,需(m
2
/m
1
)片m
1
K×n的存储器芯片。
?例4.4 由16K×8的存储器芯片组成
64K×8的存储器,画出该存储器的组成逻辑框图。(P120)
?解:由16K×8的存储器芯片组成64K×8
的存储器,需(64/16=4)片16K×8的存储器芯片。图4.11所示是字扩展连接方式图,其中数据线D
0
~D
7
与各片的数据端相连,地址总线低位地址A
0
~A
13
与各芯片的14位地址端相连,而两位高位地址A
14
、A
15
经过译码器和4个片选端相连。
图4.11 字扩展连接方式图
? (3)字位同时扩展
?实际存储器往往需要字向和位向同时扩充,由m
1
K×n
1
的存储器芯片组成
m
2
K×n
2
的存储器,需(m
2
/m
1
)×(n
2
/n
1
)
片m
1
K×n
1
的存储器芯片。
?
?例4.5 用16k×8位的SRAM芯片构成
64K×16位的存储器,要求画出该存储器的组成逻辑框图。(P120)
?解:用16k×8位的SRAM芯片构成
64K×16位的存储器,需(64/16×16/
8)=8)片16K×8的存储器芯片。存储器容量为64K×16位,其地址线为16位(A
15

A
0
),数据线16位(D
15
~D
0
),SRAM芯片容量为16K×8位,其地址线为14位,数据线为8位,因此组成存储器时须字位同时扩展。字扩展采用2,4译码器,以
16K为一个模块,共4个模块。位扩展采用两片串接。
?存储器的组成逻辑框图如图4.12所示。
D
15
~D
0
A
13
~A
0
16k×8 16k×8
2:4
A
14

A
15
码 16k×8 16k×8

MREQ
16k×8 16k×8
WE
16k×8 16k×8
图4.12 字位同时扩展及与CPU的连接图
?例4.6 模块化存储器设计举例(习题)
?已知某16位机的主存采用半导体存贮器,地址码为20位,若使用8K×8位SRAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式。问:
?①若每个模板为64K×16位,共需几个模块板?
?②每个模块内共有多少片RAM芯片?
?③主存共需多少RAM芯片?CPU如何选择模块板?
?【相关知识】SRAM存储器容量的扩展
?【例题分析】
?①由于主存地址码给定20位,所以最大空间为2
20
=1M,主存的最大容量为1MW。现在每个模块板的存贮容量为64K×16,所以主存共需1024K/64K=16块板。
?②每个模块板的存贮容量为64K×16,现用
8K×8位的SRAM 芯片。每块板采用位并联与地址串联相结合的方式:即用2片SRAM芯片拼成8K×16位(共8组),用地址码的低12位(A
0

A
12
)直接接到芯片地址输入端,然后用地址码的高3位(A
15
~A
13
)通过3:8 译码器输出分别接到8组芯片的片选端,共8×2=16个SRAM
?③根据前面所得,共需16个模板,每个模板上有16片芯片,故主存共需
16×16=256片芯片(SRAM)。
? CPU选择各模块板的方法是:各模块板均用地址码A
0
~A
15
译码,而各模块的选择用地址码最高三位A
19
A
18
A
17
A
16
通过4:
16译码器输出进行选择。
?【例题解答】扩展图如图4.19所示。
WE D

D
8K
×
8 8K
×
8 8K
×
8 8K
×
8
8K
×
8 8K
×
8 8K
×
8 8K
×
8
A
12

A
0
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
使能端
E A B C 3

8



(74LS138)
A
13
A
14
A
15
A
15

A
0
D
15

D
0
64K×16的模块条
使能端
E

/
写控制端
WE
7 0

/
写控制端
WE
D
15~
D
0
CPU
64K
×
16
的模块
64K
×
16
的模块
64K
×
16
的模块
64K
×
16
的模块
A
15

A
0
Y
0
Y
1
Y
14
Y
15
4

16
译码器
存储器控制端
MREQ

4, 19
模块化的存储器扩展图
A
16
A
17
A
18
A
B
C
D
A19
4.6 只读存储器(ROM) P115
? DRAM和SRAM均为可任意读/写的随机存储器,当掉电时,所存储的内容立即消失,所以是易失性存储器。而半导体存储器,即使停电,
所存储的内容也不会丢失。
? 1,掩模式只读存储器(ROM)
?掩模式ROM由芯片制造商在制造时写入内容,
以后只能读而不能再写入。
?其基本存储原理是以元件的“有/无”来表示该存储单元的信息(“1”或“0”),可以用二极管或晶体管作为元件,其存储内容是不会改变的,
如图所示。
? 2.可编程序的只读存储器(PROM)
? PROM可由用户根据自己的需要来确定
ROM中的内容,常见的熔丝式PROM是以熔丝的接通和断开来表示所存的信息为“1”或“0”,如图所示。刚出厂的产品,
其熔丝是全部接通的,使用前,用户根据需要断开某些单元的熔丝(写入)。断开后的熔丝是不能再接通了,因此,它是一次性写入的存储器。掉电后不会影响其所存储的内容。
3.
可擦可编程序的只读存储器
(EPROM)
为了能多次修改ROM中的内容,产生了EPROM。其基本存储单元由一个管子组成,但与其他电路相比管子内多增加了一个浮置栅,如图4.20所示。
Vc
EPROM存储器在出厂时浮置栅中无电子,所有位线输出均为
“1”信息。 字线
写“0”时,在D、S间加25V高压,外加编程脉冲(宽50ms),
被选中的单元在高压的作用下被注入电子,EPROM管导通,位
线输出“0”信息,即使掉电,信息仍保存。
D

当EPROM中的内容需要改写时,先将其全部内容擦除,然后再
S
线
编程。擦除是靠紫外线使浮置栅上电荷泄漏而实现的。EPROM芯片
封装上方有一个石英玻璃窗口,将器件从电路上取下,用紫外线照 图
4.20 EPROM
存储单元
射这个窗口,可实现整体擦除,EPROM的编程次数不受限制。
G
? 4.可电擦可编程序只读存储器(E
2
PROM)
? E
2
PROM的编程序原理与EPROM相同,
但擦除原理完全不同,重复改写的次数有限制(因氧化层被磨损),一般为10万次。其读写操作可按每个位或每个字节进行,类似于SRAM,但每字节的写入周期要几毫秒,比SRAM长得多。
E
2
PROM每个存储单元采用两个晶体管。
其栅极氧化层比EPROM薄,因此具有电擦除功能。
? 5.快擦除读写存储器(Flash Memory)
? Flash Memory是在EPROM与E
2
PROM基础上发展起来的,它与EPROM一样,用单管来存储一位信息,它与E
2
PROM相同之处是用电来擦除。但是它只能擦除整个区或整个器件。
?快擦除读写存储器兼有ROM和RAM两者的性能,又有ROM、DRAM一样的高密度。目前价格已略低于DRAM,芯片容量已接近于
DRAM,是唯一具有大存储量、非易失性、低价格、可在线改写和高速度(读)等特性的存储器。它是近年来发展很快很有前途的存储器。
? 6.ROM芯片
?用户一般所使用的只读存储器(ROM)是
EROM存储器,它与RAM存储器芯片的区别是没有信号,但增加了一个高压输入引脚和一个编程脉冲(宽50ms)两个写入信号。
? 2716是2K×8EPROM芯片,因为2K=
2
11
,所以地址线11根;字长8位,所以数据线8;加上芯片选信号,高压输入引脚线、编程脉冲(宽50ms)线、电源线、
地线,该芯片引出线的最小数目为24。
?存储器系统设计举例
?例4.1 用8K×8位的ROM芯片和8K×4位的RAM芯片组成存储器,按字节编址,
其中RAM的地址为0000H~5FFFH),
ROM地址的地址为C000~FFFFHH,画出此存储器组成结构图及与CPU的连接图。
?【相关知识】芯片内部地址相同的存储器设计。
?【例题分析】RAM的地址范围展开为:000
0000000000000 ~010 1111111111111,A
12

A
0
从0000H~1FFFH,容量为:8K,高为地址A
15
A
14
A
13
从000~010,所以RAM的容量为:
8K×3=24K。
? RAM用8K×4的芯片组成,需8K×4的芯片6
片。
? ROM的末地址-首地址=FFFFH-
C000H=3FFFH,所以ROM的容量为:
2
14
=16K。ROM用8K×8的芯片组成,需
8K×8的芯片2片。
? ROM的地址范围展开为:1100 0000 0000 0000~
1111 1111 1111 1111,高为地址A
15
A
14
A
13

110~111 。
【例题答案】
存储器的组成结构图及与CPU的连接图如图4.20所示。
WE
D
7

D
0
CPU 8K
×
4 8K
×
4 8K
×
4 8K
×
8 ROM 8K
×
8 ROM
8K
×
4 8K
×
4 8K
×
4
A
12

A
0
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
MREQ A B C 3

8



(74LS138)
A
15

A
13

4, 20

4.2
的存储器结构图及与
CPU
的连接图
?例4.3 某机中,已知配有一个地址空间为
0000H~3FFFH的ROM区域,现在再用RAM
芯片8K×8形成16K×8的RAM区域,起始地址为8000H,RAM芯片有和信号控制端,CPU
的地址总线为A
15
~A
0
,数据总线D
7
~D
0
,控制信号为,,要求:
? (1)设计地址译码方案 (2)将RAM和ROM
用CPU连接
?【相关知识】芯片内部地址不同的存储器设计,
可选择两种方案。
?【例题分析】已有的ROM区域是16K×8,
RAM区域需2片8K×8的芯片,起始地址为
8000H。地址分析如下:
0000 0000 0000 0000
0011 1111 1111 1111
ROM
1000 0000 0000 0000
1001 1111 1111 1111
RAM1
1010 0000 0000 0000
1011 1111 1111 1111
RAM2
?方法一:以内部地址少的为主,地址译码方案:用A
15
A
14
A
13
作译码器输入,则
Y
0
和Y
1
选ROM,Y
4
选RAM1,Y
5

RAM2。扩展图与连接图如图4.22所示。
D
7

D
0
R/W
D
7

D
0
D
7

D
0
D
7

D
0
ROM RAM RAM
CPU 16K
×
8 8K
×
8 8K
×
8
A
0

A
12
A
0

A
12
A
0

A
12
A
0

A
12
CS1 CS2 CS3
MREQ
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
3:8
译码器
A
13
A B C
A
14
A
15
?方法二:以内部地址多的为主,地址译码方案:用A
15
A
14
作译码器输入,则Y
0
选ROM,Y
2
选RAM1和RAM2,当A
13
=0
时选RAM1,当A
13
=1时选RAM2。
?【例题答案】扩展图与连接图如图4.21
示。
【例题答案】
扩展图与连接图如图4.21示。
D
7

D
0
R/W
D
7

D
0
D
7

D
0
D
7

D
0
ROM RAM RAM
CPU 16K
×
8 8K
×
8 8K
×
8
A
0

A
12
A
0

A
12
A
0

A
12
A
0

A
12
CS1 CS2 CS3
A
13
Y
0
Y
1
Y
2
Y
3
MREQ 2:4
译码器
A
14
A B
A
15
?例4.4 CPU的地址总线16根(A
15
~A
0
,A
0
是低位),双向数据总线8根(D
7
~D
0
),
控制总线中与主存有关的信号有(允许访存,低电平有效),(高电平读命令,
低电平写命令)。主存地址空间分配如下:
0~8191为系统程序区,由EPROM芯片组成,从8192~32767为用户程序区,最后2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下芯片:
? EPROM,8K×8位(控制端仅有)
? SRAM,16K×8位,2K×8位,
4K×8位,8K×8位
?请从上述芯片中选择芯片设计该计算机的主存储器,画出主存逻辑框图,注意画选片逻辑(可选用门电路及译码器)。
?【相关知识】存储器的设计,芯片内部地址不同,选择最优方案。
【例题分析】
0
8191 8K(EPROM) (8191-0+1)/1024=8,所以EPROM的容量为8K×8。
8192 十六进制地址范围为0000H~1FFFH。
32767 24K(SRAM1) (32767-8192+1)/1024=24,所以SRAM1的容量为24K×8。
32768 十六进制地址范围为2000H~7FFFH。
63487 30K(空) (63487-32768+1)/1024=30,所以空容量为30K×8。
63488 (65535-63488+1)/1024=2,所以SRAM2的容量为2K×8。
65535 2K(SRAM2) 十六进制地址范围为F800H~FFFFH
根据给定条件,
?根据以上分析选用EPROM,8K×8位芯片1片;
? SRAM,8K×8位芯片3片;2K×8位芯片
1片;3:8译码器1片
?地址分析如下:
000 00000 0000 0000
000 11111 1111 1111 EPROM
001 00000 0000 0000
011 11111 1111 1111 SRAM1
11111 000 0000 0000
11111 111 1111 1111 SRAM2
?译码方案:用A
15
A
14
A
13
作译码器输入,
则Y
0
选EPROM,Y
1
、Y
2
、Y
3
选SRAM1,
Y
7
选SRAM2,但A
12
A
11
=11。
?
?【例题答案】存储器的组成结构图及与
CPU的连接图如图4.23。
【例题答案】存储器的组成结构图及与CPU的连接图如图4.23。
D
0
D
7
D
7
D
0
D
7
D
0
D
7
D
0
D
7
D
0
D
7
D
0
ROM RAM RAM RAM RAM CS
CPU CS 8KB CS 8KB CS 8KB CS 8KB 2KB
A
0
A
12
A
0
A
12
A
0
A
12
A
0
A
12
A
0
A
10
R/W
A
0
A
10
A
11
A
12
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
MREQ 74LS138 3

8



A
13
A B C
A
14
A
15

4, 23

4.4
的存储器结构图及与
CPU
的连接图
?例4.5 用16K×8的芯片设计一个64K×16的存储器。当B=0时访问16位数;当B=1时访问8位数。
?【相关知识】存储器的设计,即能按8位访问,
又能按16位访问。
?【例题解答】
?由于要求存储器能按字节访问,即:
64K×16=128K×8=2
17
×8,所以地址线需17
根,数据线为16根。
?先设计一个模块将16K×8扩展成16K×16,内部地址为A
15
~A
1
,如图4.24所示。
?设偶存储体选中时C=1;奇存储体选中时D=1;
?设计方案见表4.1。
表4.1 例4.5的设计方案真值表
B A
0
C
D


由此真值表可得:
A
15

A
1
0 0 1 1
访问
16
位数
C=A 0
16K
×
8 16K
×
8 0 1 0 0
不访问
D=AB⊕ 0
CS1 CS2
1 0 1 0
访问偶存储体
偶存储体
奇存储体
1 1 0 1
访问奇存储体

4.24

4.5
的单个模块的扩展图
×16
64K×16的存储器的存储器需要四个模块,因此需用2:4译码器,
译码器的输出一般是低电平有效,设经反相后的输出分别为Y

、Y2、Y1、
Y
0则CS1、CS2、CS3、CS4、CS5、CS6、CS7、CS8的表达式分别为:
CS1=YC? 0 CS3=YC? 1 CS5=YC? 2 CS7=YC? 3
CS2=YD? 0 CS4=YD? 1 CS6=YD? 2 CS8=YD? 3
存储器结构图及与CPU连接的示意图如图 4, 25所示,
15~0
A
0 8 8
A
15~
A
1
16K
×
8 16K
×
8
C CS
1
B D
00 Y
0
CS
2 8 8
16K
×
8 16K
×
8
CS
3
16
A
16
2:4 01 Y
1

CS
4 8 8

16K
×
8 16K
×
8
A
17

CS
5
CPU 10 Y
2
CS
6 8 8
16K
×
8 16K
×
8
MREQ 11 Y

CS
7
CS
8
R/W

4, 25

4.5
的存储器结构图及与
CPU
的连接图
=1
D D 16
4.8 动态存储器(DRAM) P110
?动态半导体存储器(DRAM),它利用电容器存储电荷的特性来存储数据,可以提高存储器芯片的存储容量,降低成本,
减少功耗。但必须不断地刷新每个存储单元中存储的信息。
1
.存储元的读写原理
字线
为了缩小存储器的体积,提高集成度,动态
存储元由四管简化到三管单元,最后简化到单管单元。单管动
T C
态存储元电路如图所示,它由一个管子和一个电容C构
C
D
成。
V
DD

4.14
单管动态存储元
数据线

位线
?写入:字选择线为“1”,T管导通,写入信息由位线(数据线)存入电容C中;
?读出:字选择线为“1”,存储在电容C上的电荷,
通过T输出到数据线上,通过读出放大器即可得到存储信息。
?为了节省面积,这种单管存储元电路的电容
C不可能做得很大,一般都比数据线上的分布电容C
D
小。因此,每次读出后,存储内容就被破坏。为此,必须采取恢复措施,以便再生原存的信息。
?单管电路的元件数量少,集成度高,但因读“1”
和“0’’时,数据线上的电平差别很小,需要有高鉴别能力的读出放大器配合工作,外围电路比较复杂。
? 2.动态存储器(DRAM)
? 16K×l位动态存储器的框图见P111,存储单元采用单管单元。该存储器有以下特点:
?①16K=2
14
=2
7
×2
7
=128×128,但由于读出放大器的需要,将128×128矩阵分成两个
64×128的矩阵,分布在读出放大器的两边。
读出信号保存在读出放大器(简称读放)中,读出放大器由触发器构成。在读出时,读出放大器又使相应的存储单元的存储信息自动恢复
(重写),所以读出放大器还用作再生放大器。
?②16K字存储器需14位地址码,为了减少封装引脚数,地址码分两批(每批7位)
送至存储器。先送行地址,后送列地址。
行地址由行地址选通信号送入,列地址由列地址选通信号送入。
?③数据线的输入和输出是分开的。
?由于动态存储器的以上特点,使得动态存储器芯片的引脚与静态存储器芯片有所不同。
例如:上面介绍的
16K
×
l
的芯片有
7
根地址线、
2
根数据
线、RAS线、CAS线、WE线、刷新线、电源线和地
线共
16
个引脚。
? 3.读/写时序
?由于芯片地址采用了分时复用技术,因而读/写时序需要考虑什么时候发行选信号和列选信号,时序波形如下:
读周期
A
6
~A
0
行地址 列地址
(a) 读周期
写周期
A
6
~A
0
行地址 列地址
(b) 写周期
RAS
CAS
WE
D
OUT
有效读出数据
RAS
CAS
WE
D
OUT
有效写入数据
两次发送行地址之间的时间间隔为一个读周期时间或一个写周期时间。
在读周期,A6~A0端先收到7位行地址,然后发行选信号( RAS=0),
将地址送入芯片内的行地址锁存器。可靠输入后,可以撤销A6~A0端的
行地址。在写周期,同样需要先在芯片地址端准备好行地址,然后发行选
信号( RAS=0)和写命令( WE=0)。待地址可靠送入芯片内行地址锁存器
后,可撤销芯片地址端的行地址。
? 4.动态存储器的刷新
?(1)刷新
?动态存储元是依靠栅极电容上有无电荷来表示信息的,但电容的绝缘电阻不是无穷大,因而电荷会泄漏掉。通常,
MOS管栅极电容上的电荷只能保持几个毫秒。为了使已写入存储器的信息保持不变,一般每隔一定时间必须对存储体中的所有记忆单元的栅极电容补充电荷,
这个过程就是刷新。
?(2)动态存储器存储器如何刷新
?①无论是由刷新控制逻辑产生地址逐行循环地刷新,还是芯片内部自动地刷新,都不依赖于外部的访问,刷新对CPU是透明的。
?②刷新通常是一行—行地进行的,每一行中各记忆单元同时被刷新,故刷新操作时仅需要行地址,不需要列地址。
?③刷新操作类似于读出操作,但又有所不同。
因为刷新操作仅是给栅极电容补充电荷,不需要信息输出。另外,刷新时不需要加片选信号,
即整个存储器中的所有芯片同时被刷新。
?例如,对128×128的动态RAM来说,一行对应128个字,共有128行,需要在
2ms内从0行到127行全部刷新一次。刷新周期数与DRAM的扩展无关,只与单个存储器芯片的内部结构有关,对于一个128×128矩阵结构的DRAM芯片只需
128个刷新周期数。
?
? P126 习题4.6
?(3)刷新方式
?常用的刷新方式由三种:集中式、分散式、异步式。
?设存储器为1024×1024矩阵,读/写周期tc=200ns,刷新间隔为2ms,那么,
在2ms内就有10,000个tc。
?①集中刷新方式
?图4.17(a)为集中刷新方式的时间分配图。在2ms内,前一段时间进行读或写或保持。保持状态即未选中状态,既不读也不写。后一段集中进行刷新。用于刷新的时间只需1024个tc,且集中在后段时间。前段8976个tc都用来读/写/
保持。
?这种方式的主要缺点是在集中刷新的这段时间内不能进行存取访问,称之为死时间
?②分散刷新方式
?分散刷新方式如图4.17(b)所示。它是把系统周期ts分为两半,前半段用来进行读或写或保持,后半段作为刷新时间。
这种方式下,每过1024个ts整个存储器就刷新一次。读写周期tc=200ns,系统周期为400ns,那么,只需409.6μs即可将整个存储器刷新一遍。显然,在2ms
内可进行多次刷新。因刷新过于频繁,
影响了系统的速度,但它不存在死时间。
这种方式不适合于高速存储器。
?③分布刷新方式
?将以上两种方式结合起来,便形成异步刷新方式,如图4.17(c)所示。它是先用要刷新的行数对2ms进行分割,然后再将已分割的每段时间分为两部分,前段时间用于读或写或保持,后一小段时间用于刷新。行数为1024时,可保证每隔
2×10
6
/1024≈1953ns刷新一行,取刷新信号周期为1800ns。这样既充分利用了
2ms时间,又能保持系统的高速性。
读/写/保持 刷新
tc tc
0 1 2 8975 0 1 1024
2
(a)
读/写 刷新 读/写 刷新 读/写 刷新
tc tc
ts
(b)
2ms
读/写 刷新 读/写 刷新
1800ns 1800ns
(c)
ms
图4.17 刷新方式的时间分配图
?以上3种方式各有其优缺点,应根据具体情况进行选择。
?例有一个16K×16的存储器,用1K×4位的
DRAM芯片(内部结构为64×16,引脚同
SRAM)构成,设读/写周期为0.1μs,问:
?①采用分布刷新方式,如单元刷新间隔不超过2ms,则刷新信号周期是多少
?②如采用集中刷新方式,存储器刷新一遍最少用多少读/写周期?死时间率是多少?
?解:①采用异步刷方式,在2ms时间内分散地把芯片64行刷新一遍,故刷新信号的时间间隔为2ms/64 =31.25μs,
即可取刷新信号周期为31μs。
?②如采用集中刷新方式,假定T为读/
写周期,如16组同时进行刷新,则所需刷新时间为64T。因为T单位为0.1μs,
2ms=2000μs,则死时间率=64T/
2000×100%=0.32% 。
? (4)刷新控制器
?为了控制刷新,往往需要增加刷新控制电路,
刷新控制电路的主要任务是解决刷新和CPU访问存储器之间的矛盾。通常,当刷新请求和访存请求同时发生时,应优先进行刷新操作。也有些MOS型动态RAM本身具有自动刷新功能,
即刷新控制电路在芯片内部。
? Intel 8203 DRAM控制器是为了控制2117,
2118和2164 DRAM芯片而设计的。2117,
2118是16K×l位的DRAM芯片,2164是64K×l
位的DRAM芯片。P122图4.21是Intel 8203逻辑框图。根据它所控制的芯片不同,8203有
16K与64K两种工作模式。
? 8203的逻辑图基本上可分成两部分,上面为地址处理部分,下面为时序处理部分。
?①在16K模式下,AL
0
~AL
6
连CPU的A
0
~A
6;
AH
0
~AL
6
连CPU的A
7
~A
13;
0

6
连芯片的A
0

A
6
引脚;
?在64K模式下,AL
0
~AL
7
连CPU的A
0
~A
7;
AH
0
~AL
7
连CPU的A
8
~A
15;
0

7
连芯片的A
0

A
7
引脚。
?在刷新时,由8203内部的刷新计数器产生刷新用的行地址送芯片的A
0
~A
6
或A
0
~A
7
引脚。

B
0
B
1为体选信号,这两者结合起来可以分别
使RAS 0~RAS 3有效,从而最多可对
4
个体进
行选择。
B
1
B
0
= 00

RAS 0=
0 B
1
B
0
= 01

RAS 1=
0
B
1
B
0
= 10

RAS 2=
0 B
1
B
0
= 11

RAS 3=
0
在刷新周期,则通过刷新定时器和刷新计数器,使
RAS 0~RAS 3全部有效,以实现对
4
个体同时刷新。
① REFRQ=1时,对存储器进行刷新。由刷新计数器顺
序产生存储器所有各行地址,由多路选择器选择作为地址
OUT 0~OUT 7输出,并由行选通信号RAS控制
RAM
刷新。每再生一次,8位刷新计数器自动加1。刷新定时
器用来控制两次刷新之间的时间间隔,每隔10~16μs刷
新定时器发出一次刷新请求,如RAM的存储单元阵列由
128行组成,则全部刷新一遍需128个刷新周期。2164RAM
芯片的容量为64K×l位,行地址与列地址分别有8位,但
刷新一遍只需要128个刷新周期,那是因为2114内部有4
个128×128的基本存储单元矩阵,在正常读写时,行地址
和列地址中的最高位用来确定4个矩阵中的哪一个,在刷新
周期,最高位不起作用,4个矩阵同时被刷新,因此用128
个周期可全部刷新一遍。

RD

0

CAS=
0
同时WE=
1;WR=
0

CAS=
0
同时WE=
0
?例用16K×1位的DRAM芯片(16K×1位的
RAM芯片由128×128矩阵存贮元构成)构成64K×8位的存贮器,画出该寄存起组成的逻辑框图。
?解:根据题意,存贮器总量为64KB,故地址线需16位。现使用16K×1位的动态
RAM芯片,共需(64/16)×(8/1)=32
片。芯片本身地址线占14位,其组成逻辑框图如图4.19,其中使用一片2:4译码器。
这里设置
8203
工作在
16K
模式下,
AL
0~
AL
6,
AH
0~
AH
6
经锁存器后形成行地址和列地址分时输出OUT 0~OUT 6
到存储器芯片。由于只有一个存储体,所以置B1B0=00,
使RAS 0有效。
CPU
的刷新信号RFSH 反相后送REFRQ(因为REFRQ是高
电平有效)控制刷新。在刷新周期,通过刷新定时器和刷新计
数器,使RAS 0~RAS 3全部有效,以实现对4个体同时刷新
(这里只有一个存储体);同时
RFSH信号控制译码器的输出
]
使存储器扩展的四个信号RAS 1~RAS 4全部有效,以实现
对4个组的同时刷新。
当CPU访存时
MREQ
信号有效,当
MREQ
=0同时WE=0时
WR=
0送8203;当
MREQ
=0同时WE=1时RD=0送8203;
而8203的WE输出信号用于控制数据的读/写;此时
RFSH
信号
为高电平,存储器扩展的四个信号RAS 1~RAS 4由译码器的
输出来决定,其中只有一个有效,选中一个存储组。
由于DRAM存储器的数据线是分开的,而CPU的数据线是双向的,
所以在存储器的数据线与CPU的数据线之间加了三态门,由WE
信号控制数据的流向。
CPU RAS1 RAS2 RAS3 RAS4 D
OUT1
D
0
16K×1 16K×1 16K×1 16K×1 D
in1
A
13
~A
7
AH
6
~AH
0
D
1

OUT
6
~OUT
0
CPU
A
6
~A
0
AL
6
~AL
0
D
2

RAS
0
D
3

A
15
B
1
RAS
1

A
14
B
0
RAS
2
D
4
线
RAS
3
D
5
D
7
~D
CAS
Intel 8203 D
6
RFSH REFRQ D
OUT7
D
7
WE A
6
~A
0
A
6
~A
0
A
6
~A
0
A
6
~A
0
D
in7
RD WR
WE CAS1 CAS2 CAS3 CAS4
MREQ
(5)
动态
MOS
存储器与静态
MOS
存储器的比较
①动态存储器的特点
A
.动态存储器中数据输入线与数据输出线是分开的。
B
.它有WE控制信号,而没有
CS
片选信号,扩展时用
RAS信号代替CS信号。
C
.地址线引脚只引出一半,因此内部有两个锁存器。
行地址选通信号RAS和列地址选通信号CAS在时间上错
开进行复用。
E,
地址线也作刷新用。
F,
刷新是动态
MOS
存储器最突出的特点,静态存储器
不需要刷新。
?②动态MOS存储器与静态MOS存储器的比较
? A,每片存储容量约是SRAM的4倍;
? B,DRAM的价格比较便宜,大约只有SRAM的1/4。
? C,由于使用动态元件,DRAM所需功率大约只有
SRAM的1/6。
? E,DRAM由于使用动态元件,它的速度比SRAM要低。
? F,DRAM需要再生,这不仅浪费了宝贵的时间,还需要有配套的再生电路,它也要用去一部分功率。
? G, SRAM一般用作容量不大的高速存储器。DRAM一般用作主存。
?它们共同特点是当供电电源切断时,原存的信息也消失。
4.9多体交叉存储器
?多体交叉存储器是指存储体内有多个容量相同的存储模块,而且各存储模块都有各自独立的地址寄存器、译码器和数据寄存器。各模块可独立进行工作。交叉存取是指各个模块的存储单元交叉编址且存取时间均匀分布在一个存取时间周期内。多个模块采用交叉编址,连续的地址被安排在不同的模块中。
AB
MAR
0
MAR
1
MAR
2
MAR
3
0 1 2 3
4 5 6 7 时
M0 M1 M2 M3 序

K+0 K+1 K+2 K+3 制
MDR
0
MDR
1
MDR
2
MDR
3
DB
?一般交叉存储器为了实现流水线方式存储,每通过τ(τ为总线传送周期)时间延迟后启动下一模块,应满足T=mτ,交叉存储器要求其模块数>=m,以保证启动某模块后经过mτ时间后再次启动该模块时,它的上次存取操作已经完成。这样连续读取m个字所需要时间为:t=T+
(m – 1)τ。
?
? KH 例设存储器容量为32字,字长64位,模块数m=4,分别画出顺序方式和交叉方式组织的存储器结构和编址示意图。
?解:(1) 顺序方式
?内存地址格式
? 4 3 2 1 0
?模块字
?存储器结构和编址示意图如图4.45(a)所示。
4 3 2 1 0
模 块 字
译 码 器
M
0
M
1
M
2
M
3
0 8 16 24
1 9 17 25 译
2 10 18 26
3 11 19 27 码
4 12 20 28
5 13 21 29 器
6 14 22 30
7 15 23 31
数据总线(64位)
(a) 顺序存储器
(2)
交叉方式
内存地址格式字
模块
交叉方式组织的存储器编址示意图如图
4.45(b)

4 3 2 1 0
4 3 2 1 0
字 模 块
译 码 器
M
0
M
1
M
2
M
3
0 1 2 3
译 4 5 6 7
8 9 10 11
码 12 13 14 15
16 17 18 19
器 20 21 22 23
24 25 26 27
28 29 30 31
数据总线(64位)
(b) 交叉存储器
?例设存储器容量为4M字,字长32位,
模块数m = 4,分别用顺序方式和交叉方式进行组织,存储周期T = 200ns,数据总线宽度32位,总线传送周期= 50ns。
问顺序存储器和交叉存储器的平均存取时间、带宽各是多少?
?【相关知识】顺序方式和交叉方式存储器的效率
?【例题解答】
?顺序存储器和交叉存储器连续读出m=4个字的信息总量都是
? q = 32位×4 =128位
?顺序存储器和交叉存储器连续读出4个字所需的时间分别是
? T2 = mT = 4 ×200ns =800ns = 8 ×10
-7
(S)
? T1 = T +(m–1) t =200ns +3×50ns =
350ns = 3.5 ×10
-7
(S)
?
?顺序存储器和交叉存储器的平均存取时间分别是
? T2a=T=200ns
? T1a=350ns/4=87.5ns
?顺序存储器带宽W2 = q/T2 = 128 /
(8×10
-7
) = 16 ×10
7
(位/S)
?交叉存储器带宽W1 = q/T1 = 128 /
(3.5×10
-7
) = 36.5 ×10
7
(位/S)