1
第五章 存储器系统
2
5-1 概 述一、存储器的分类
1、按工作性质分类
内部存储器作用,用于存储当前运行所需要的程序和数据,
和 CPU直接交换信息。
特点,容量小,工作速度高。
外部存储器作用,用于存放当前不参加运行的程序和数据,
一般和内存交换信息。
特点,容量大,存取速度较慢。
3
2、半导体存储器的分类半导体存储器读写存储器
RAM
只读存储器
R0M
双极型
RAM
金属氧化物
( MOS) RAM
存取速度快;与 MOS RAM相比集成度低,功耗大,价格高静态读写存储器( SRAM)
动态读写存储器( DRAM)
掩模工艺 ROM 一但写入不能改变,成本较低。
可一次编程 ROM 可写入一次可擦去 PROM
EPROM 可用紫外线擦除
EEPROM用电可擦除速度较快几十 — 几百 ns,
集成度较高,价格较便宜。
速度较快几十 — 几百 ns,
集成度很高,价格低,需动态刷新。
4
二、存储器的主要性能指标
1、存储容量存储单元 × 每个存储单元可存位数例:
6264 SRAM 的存储容量为 8K × 8 bit 即 8K个字节。
NMC41257 的存储容量为 256K × 1bit 即 32K个字节。
2、存取时间
3、可靠性 MTBF(平均故障间隔时间)
4、功耗
5、价格
5
5-2 随机存储器( RAM)
一、静态随机存储器( SRAM)
用途,主要用于小容量的存储系统中典型芯片:
6116( 2K× 8bit ),6264( 8K× 8bit ),
62256( 32K× 8bit )等。
6264采用 CMOS工艺制造,28引脚封装,容量为
8KB。
6264引脚图封装及引脚
A0~ A12地址输入,213=8192=8K
D0~ D7双向数据线
WE 写允许信号
OE 读允许信号
CS1 CS2 片选信号
6264
9
(a) 8K× 8 SRAM引脚图
NC
A4
A5
A6
A7
A8
A9
A10
A11
A12
I / O1
I / O2
I / O3
GND
1
2
3
4
5
6
7
8
10
11
12
13
14
20
28
27
26
25
24
23
22
21
19
18
17
16
15
VCC
CS2
A3
A2
A1
A0
I/O8
I/O7
I/O6
I/O5
I/O4
WE
OE
1CS
1,6264存储芯片的引线及其功能
6264的外部结构表 5-1 SRAM 6264真值表
CS1 CS2 OE WE 工作方式 I/O线状态
1
×
0
0
0
0
×
0
1
1
1
1
×
×
1
0
1
0
×
×
1
1
0
0
未选中 (掉电 )
未选中 (掉电 )
输出禁止读写写高阻高阻高阻
DOUT
DIN
DIN
8
2,6264工作过程
6264写操作时序:
在芯片的 A12~A0上加上要写入单元的地址;
在 D7~D0上加上要写入的数据;
使 CS1和 CS2同时有效;
在 WE上加上有效的低电平,OE无效高电平。
A12~A0
CS1
CS2
WE
D7~D0
9
6264的工作过程
3、连接使用芯片的选片信号是由高位地址和控制信号译码形成的,由它们来决定芯片在内存的地址范围。
1)全地址译码方式每一个存储单元唯一地占据内存空间的一个地址。地址线全部参预了译码。
低位地址( A0— A12)经片内部译码可以决定芯片内部的每一个单元,高位地址( A19—
A13)利用译码器来决定将芯片放置在内存空间的什么位置上。
10
全地址译码例
所接芯片的地址范围
F0000H~F1FFFH
A19
A18
A17
A16
A15
A14
A13
&
1
6264
CS1
11
2)部分地址译码方式只有部分高地址线参预译码,参加译码的高位地址愈少,译码电路愈简单则同一芯片所占的内存地址就愈多,这种译码方式的译码器电路比较简单,但会破坏地址空间的连续性并减少了总的地址空间。
部分地址译码例
两组地址:
F0000H~F1FFFH B0000H~B1FFFH
A19
A17
A16
A15
A14
A13
&
1
6264
CS1
应用举例
将 SRAM 6264芯片与系统连接,使其地址范围为,38000H~39FFFH
使用 74LS138译码器构成译码电路应用举例
D0~D7
A0
A12

WE
OE
CS1
CS2

A0
A12
MEMW
MEMR
D0~D7
A19
G1
G2A
G2B
C
B
A
&
&
A18
A14A
13
A17A
16A
15
VCC
Y0
15
例 5-1用存储芯片 SRAM6116构成一个
4KB的存储器。要求其地址范围在
78000H~78FFFH之间。
分析:
6116为 2K*8bit 的存储芯片
地址范围对应的存储空间为 4KB,所以需要 2片 6116
采用全译码方式,使用 1片 74LS138
P205
6116
101 2 3 4 5 6 7 8 9 11 12
1324 23 22 21 20 19 18 17 16 15 14
VCC A8 A9W/ROE A10 CS D7 D6 D5 D4 D3
GNDD2D1D0A1A2A3A4A5A6A7 A0
16
例 5-2用 8256存储芯片构成 1MB的存储器。
分析:
8256为 256K*8bit 的存储芯片
构成 1MB的存储器,需要 4片 8256
采用全译码方式,使用 1片 74LS138
P206
5.2.2 动态随机存储器 DRAM
特点:
存储元主要由电容构成,由于电容存在的漏电现象而使其存储的信息不稳定,
故 DRAM芯片需要定时刷新读出放大器
D
位线
(数据线 )
CD
V1
C
字选线单管动态存储电路典型 DRAM芯片 2164A
RAS:行地址选通信号。用于锁存行地址
CAS:列地址选通信号地址总线上先送上行地址,后送上列地址,它们分别在 RAS和 CAS有效期间被锁存在锁存器中
DIN,数据输入
DOUT,数据输出
WE=O 数据写入
WE=1 数据读出WE:写允许信号
NC
D IN
WE
RAS
A 0
A2
A1
GND








V CC
CAS
D OUT
A6
A3
A4
A5
A7








1 16
2 15
3 14
4 13
5 12
6 11
7 10
8 9
2164外部引脚典型 DRAM芯片 2164A
2164A,64K× 1bit
采用行地址和列地址来确定一个单元
行列地址分时传送,
共用一组地址信号线
地址信号线的数量仅为同等容量 SRAM芯片的一半
A0
A1
A2
A3
A4
X
译码驱动
1
32
...
控制电路
I/O电路 输出驱动 输出
A5 A6 A7 A8 A9
2
31
32?32= 1024
存储单元
.,,1 2 31 32
Y译码输入读 /写 片选
RAM组成示意图
RAM的组成:
工作过程
数据读出
WE=1
RAS
CAS
D OUT
行地址 列地址有效数据
2164的数据读出时序图
23
数据写入
RAS
CAS
WE
D IN
行地址 列地址有效写入数据
DRAM 2164的数据写入时序图
24
刷新
RAS
C A S = 1
行地址将存放于每位中的信息读出再照原样写入原单元的过程 —— 刷新
DRAM芯片的刷新时序 图
2164A在系统中的连接
A 0
A 7
A D D S E L
~
R A S 0
C A S 0
M E M W WE
C A S 0
R A S 0
A 8
A 15
~
A 0
A 7
~
A
B
S
2 1 6 4
L S 1 5 8
L S 2 4 5
D 0
D 7
~
A
DR
M E M R
B
E
R A M A D S E L
D 0 D 7~
× 8片三、存储器扩展技术位扩展字扩展字位扩展用多片存储芯片构成一个需要的内存空间,
它们在整个内存中占据不同的地址范围,任一时刻仅有一片(或一组)被选中 —— 存储器的扩展。
位扩展
存储器的存储容量等于:
单元数 × 每单元的位数
当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求字节数 字长位扩展例
用 8片 2164A芯片构成 64KB存储器
LS158
A0~A7 A8~A15
2164A 2164A 2164A
DB
AB
D0 D1 D7
A0~A7
位扩展方法:
将每片的地址线、控制线并联,数据线分别引出
位扩展特点:
存储器的单元数不变,位数增加字扩展
地址空间的扩展。芯片每个单元中的字长满足,
但单元数不满足
扩展原则:
每个芯片的地址线、数据线、控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围字扩展例
用两片 64K× 8位的 SRAM芯片构成容量为 128KB的存储器数据总线D B
地址总线A B
G
G 2A
G 2B
C
B
A
7 4 L S 1 3 8
MEMW
MEMR
A 19
A 18
A 17
A 16
Y 2
Y 3
&
WE
OR
CS
WE
OR
CS
Y 3
MEMW
6 4 K x 8
D 0 D 7~
A 0 A 15~ A 0 A 15~
D 0 D 7~
6 4 K x 8
MEMR
两片芯片的地址范围分别为,20000H~ 2FFFFH和 30000H~ 3FFFFH。
字位扩展
根据内存容量及芯片容量确定所需存储芯片数
进行位扩展以满足字长要求
进行字扩展以满足容量要求
若已有存储芯片的容量为 L× K,要构成容量为 M × N的存储器,需要的芯片数为:
( M / L) × ( N / K)
字位扩展例
用 32Kb芯片构成 256KB的内存
例 5-5用 2164构成容量为 128KB的内存。
需要 8X8=64片
34
5.3 只读存储器( ROM)
一、可擦除可编程 ROM( EPROM)
典型 EPROM芯片实例
EPROM芯片有多种型号,常用的有,2716(2 K× 8),2732
( 4 K× 8),2764( 8 K× 8),27128( 16 K× 8),27256( 32
K× 8) 等 。 下面以 2764( 8 K× 8) 芯片为例说明 EPROM的性能和工作方式 。
35
1,2764的引线( 8 K× 8)
V
CC
( + 5 V )
NC
A
8
D
7
D
6
D
5
D
4
D
3
1 28
2 27
3 26
4 25
5 24
6 23
7 22
8 21
9 20
10 19
11 18
12 17
13 16
14 15
P G M
A
9
A
11
OE
A
10
CE
V
PP
A
12
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
0
D
1
D
2
G N D
图 3 - 8
36
37
2764读方式的时序地址 有效地址
CE
OE
有效数据
D
0
~ D
7
38
编程方式在编程方式下,只要将 VPP接 25 V电压 ( 不同型号芯片所加电压不同,有的芯片仅须加 12.5 V电压,加得不正确会烧坏芯片,应注意器件说明 ),VCC加+ 5 V
电压,CE端和 OE端为高电平,从地址线 A12~ A1端输入需要编程的单元地址,从数据线 D7~ D0上输入编程数据,在 PGM端加入编程脉冲,宽度为 50 ms,幅度为 TTL高电平,便可实现编程 ( 写入 ) 功能 。 应注意,
必须在地址和数据稳定之后,才能加入编程脉冲 。
39
EPROM
由于对 EPROM编程时,每写入一个字节都需要加 50
ms宽的 PGM脉冲电流,编程速度太慢,而且容量越大,
编程速度越慢 。 为此,Intel公司开发了一种新的编程方法,比标准方法快 5~ 6倍,按照这一新的编程思路,
人们开发了多种型号的 EPROM编程器,所以,目前对 EPROM编程都使用专门的编程器 。
40
二,电可擦除可编程 ROM( EEPROM)
特点:
可在线编程写入
掉电后内容不丢失
电可擦除
41
EEPROM 98C64A
V
CC
( + 5 V )
NC
A
8
D
7
D
6
D
5
D
4
D
3
1 28
2 27
3 26
4 25
5 24
6 23
7 22
8 21
9 20
10 19
11 18
12 17
13 16
14 15
P G M
A
9
A
11
OE
A
10
CE
V
PP
A
12
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
0
D
1
D
2
G N D
图 3 - 8
READY/BUSY
WE
8K× 8bit芯片
13根地址线( A0 ~ A12)
8位数据线( D0 ~ D7)
输出允许信号( OE)
写允许信号( WE)
选片信号( CE)
状态输出端( READY/BUSY)
工作方式
数据读出
编程写入
擦除字节写入:每一次 BUSY=0写入一个字节自动页写入:每一次 BUSY=0写入一页( 1~ 32字节)
字节擦除:一次擦除一个字节片擦除:一次擦除整片
EEPROM的应用
可通过编写程序实现对芯片的读写,但每写入一个字节都需判断 READY/BUSY
端的状态,仅当该端为高电平时才可写入下一个字节
44
例 5-6,将一片 98C64A接到系统总线上,
使其地址范围在 3E000H~3FFFFH之间。
并编写程序将芯片中所有存储单元写入
66H
分析
1、硬件连接:
根据存储空间,确定芯片数量;
根据地址范围设计译码电路,连接引线
2、软件:
采用延时方式
采用查询方式
45
程序 1:延时等待方式
START,MOV AX,3E00H
MOV DS,AX
MOV SI,0
MOV CX,2000H
MOV AL,66H
AGAIN,MOV [SI],AL
CALL TDELAY20MS
INC SI
LOOP AGAIN
HLT
46
程序 2:用查询( READY/BUSY)方式
START,MOV AX,3E00H
MOV DS,AX
MOV SI,0
MOV CX,2000H
MOV BL,66H
AGAIN,MOV DX,02E0H
WAIT,IN AL,DX
TEST AL,01H
JZ WAIT
MOV [SI],BL
INC SI
LOOP AGAIN
HLT
三、闪存 FLASH
特点:
通过向内部控制寄存器写入命令的方法来控制芯片的工作方式
编程速度快,掉电后内容不丢失。
工作方式数据读出编程写入:
擦除读单元内容读内部状态寄存器内容读芯片的厂家及器件标记数据写入,写软件保护字节擦除,块擦除,片擦除擦除挂起
5.4 高速缓存( Cache)
了解:
Cache的基本概念
基本工作原理
命中率
Cache的分级体系结构
Cache的基本概念
由于 CPU与主存之间在执行速度上存在较大的差异,为提高 CPU的效率,并考虑到价格因素,基于程序的局部性原理,
在 CPU与主存之间增加的高速缓冲存储器 —— Cache技术
Cache的工作原理
CPU
Cache
主 存
DB
Cache的命中率
Cache与内存的空间比一般为,1?128
CPU读取指令或数据时首先在 Cache中找,
若找到则“命中”,否则为“不命中”。
命中率影响系统的平均存取速度系统的平均存取速度 =
Cache存取速度 × 命中率 +RAM存取速度 × 不命中率
Cache的读写操作读操作写操作贯穿读出式旁路读出式写穿式回写式贯穿读出式
CPU Cache 主 存
CPU对主存的所有数据请求都首先送到 Cache,
在 Cache中查找。 若 命中,则切断 CPU对主存的请求,并将数据送出;如果不命中,则将数据请求传给主存旁路读出式
CPU向 Cache和主存同时发出 数据 请求。 如果命中,则 Cache将数据回送给 CPU,并同时中断 CPU对主存的请求;若不命中,则
Cache不做任何动作,由 CPU直接访问主存
CPU
Cache
主 存写穿式
从 CPU发出的写信号送 Cache的同时也写入主存
CPU
Cache
主 存回写式
数据一般只写到 Cache,当 Cache中的数据被再次更新时,将原更新的数据写入主存相应单元,并接受新的数据
CPU Cache 主 存更新写入
Cache的分级体系结构
一级 Cache:容量一般为 8KB~ 6KB
二级 Cache:容量一般为 128KB~ 2MB
指令 Cache和数据 Cache
5.5 存储器管理
IBM
PC/XT的存储空间分配
00000H
9FFFFH
BFFFFH
FFFFFH
RAM区
640KB
保留区 128KB
ROM区 256KB
扩展存储器及其管理
CPU 数据总线 地址总线 寻址范围
8088 8 20 1MB
8086 16 20 1MB
80286 16 24 16MB
80386 32 32 4GB
80486 32 32 4GB
Pentium 64 36 64GB
1、寻址范围
*
61
2、存储器管理(略)
虚拟存储器 —— 一种由操作系统的存储管理软件对内存和外存资源进行统一分配和程序调度的存储器管理技术 。
工作原理 —— 在执行程序时,允许将程序的一部分(当前使用的)调入内存,
其他(暂时不执行的)部分保留在外存。
当需要执行存放在外存程序时,由 CPU
按某种程序调度算法将其调入内存。
5.6 外存储器略
*