第 6章 主存储器与存储系统本章主要内容:
本章讲述存储器的分类,主存储器的构成和并行主存储器的思想及设计方法;存储系统的概念及存储系统的构成 。 重点掌握并行主存储器的构成,Cache的组成原理与地址映射方式,
替换算法;掌握段式,页式和段页式虚拟存储器的构成原理,地址映射方式等 。
6.1 存储器分类
6.2 主存储器的主要技术指标
6.3 读写存储器
6.4 非易失性半导体存储器
6.5 主存储器组成
6.6 相联存储器
6.7 存储系统与并行存储器
6.8 高速缓冲器 Cache
6.9 虚拟存储器原理
6.1 存储器分类
( 1)随机存储器( Random Access Memory,
RAM)。
( 2)只读存储器( Read Only Memory,
ROM)。
( 3)可编程只读存储器( Programmable
ROM,PROM)。
( 4)可擦除可编程只读存储器( Erasable
PROM,EPROM)。
( 5)电可擦除可编程只读存储器
( Electrically EPROM,E2PROM)。
6.2 主存储器的主要技术指标
主存储器的主要性能指标为主存容量,
存储器存取时间和存储器存储周期 。
存储器存取时间 ( Memory Access Time)
存储周期( Memory Cycle Time)
主存储器的速度和容量两项技术指标
6.3 读写存储器
6.3.1 静态 RAM
1,静态 RAM的基本电路图 6-1 静态 MOS 6管基本存储电路
1
T
5
2
T
2
+ 5V
3
行线 X
列线 Y
写控制数据线读控制
T
3
A
T
4
B T
6
T
1
T
8
T
7
2,静态 RAM的结构
3,静态 RAM芯片实例 —— Intel 2114
4,由 2114 SRAM构成规定容量的存储器图 6-5 地址译码电路模块选择
A 10
A 1 1
A 1 5
A 1 4
A 1 3
A 1 2
M REQ
2 C 00 H - 2 F F F H
2 8 00 H - 2 BF F H
列选通 3
2 4 00 H - 2 7 F F H
列选通 2
2000 H - 2 3 F F H
列选通 1
列选通 0
6.3.2 动态 RAM
1,动态 RAM基本存储电路图 6-6 单管动态 RAM
的基本存储电路行选择刷 新放大器列选择数据 I/O 线
T
C
2,动态 RAM的特点及举例
3,动态 RAM的刷新
6.4 非易失性半导体存储器
6.4.1 只读存储器 ( ROM)
图 6-8 44 MOS
ROM
位线 B 3 B 2 B 1 B 0
字线 W 0
字线 W 1
字线 W 2
字线 W 3
A 1
A 0
V CC
01
10
1 1
00
字地址译码
6.4.2 可编程只读存储器( PROM)
V cc
位线 B
字线 W
图 6-9 熔丝式 PROM基本存储电路
6.4.3 可擦除可编程只读存储器 EPROM)
1,EPROM的存储电路图 6-10 P沟道 FAMOS管基本存储电路及 P沟道 FAMOS管结构字线 W
V cc
F A M O S
位线 B
+++
N 基片
P
+
源 P
+
源浮栅 S iO 2
S D
2,典型 EPROM芯片的介绍
按上述原理及工艺制造的 EPROM芯片常用的有 27系列,如 2708( 1K8),2716
( 2K8),2764( 8K8),27128( 16K8)
和 27512( 64K8)等
6.4.4 电可擦除可编程只读存储器
( E2PROM)
1,E2PROM的特点
E2PROM( Electric Erasable PROM)突出的优点是可以在线擦除和改写,
2,E2PROM芯片介绍图 6-11 E2PROM管脚图
V CC
WE
NC
A 8
A 9
N C
OE
A 10
CE
I/ O 7
I/ O 6
I/ O 5
I/ O 4
I/ O 3
R/B
NC
A 7
A 6
A 5
A 4
A 3
A 2
A 1
A 0
I/O 0
I/ O 1
I/ O 2
G N D
1 28
2 27
3 26
4 25
5 24
6 23
7 22
8 21
9 20
10 19
1 1 18
12 17
13 16
14 15
2 81 7(28 17 A )
A 7
A 6
A 5
A 4
A 3
A 2
A 1
A 0
I/ O 0
I/ O 1
I/ O 2
G N D
V CC
A 8
A 9
V PP
OE
A 10
CE
I/ O 7
I/ O 6
I/ O 5
I/ O 4
I/ O 3
1 24
2 23
3 22
4 21
5 20
6 19
7 18
8 17
9 16
10 15
1 1 14
12 13
28 16 (281 6 A )
V CC
WE
A 13
A 8
A 9
A 11
OE
A 10
CE
I/ O 7
I/ O 6
I/ O 5
I/ O 4
I/ O 3
NC
A 12
A 7
A 6
A 5
A 4
A 3
A 2
A 1
A 0
I/ O 0
I/ O 1
I/ O 2
G N D
15 28
16 27
17 26
18 25
19 24
20 23
21 22
22 21
23 20
24 19
25 18
26 17
27 16
28 15
2 86 4(28 64 A )
6.4.5 快速擦写存储器( Flash Memory)
1,Flash的主要性能特点
2,Flash的工作原理
6.4.6 几种新型存储器
1,高速缓存动态随机存储器 ( Cached DRAM,
CDRAM)
2,Direct Rambus 接 口 动 态 随 机 存 储 器
( Direct Rambus DRAM,DRDRAM)
3,双数据传输率同步动态随机存储器
( Double Data Rate SDRAM,DDR SDRAM)
4,同步链动态随机存储器 ( Synchnonous
Link DRAM,SLDRAM)
5,虚拟通道存储器 ( Virtual Channel
Memory,VCM)
6,快速循环动态存储器 ( Fast Cycle
RAM,FCRAM)
7,扩展数据输出动态存储器 ( Extended
Data Out DRAM,EDO DRAM)
6.5 主存储器组成
6.5.1 位扩展图 6-12 位扩展实例
4
I/O 4 ~ I/O 1
4
I/O 4 ~ I/O 1
10
A 9 ~ A 0
10
A 9 ~ A 0
21 14
1 × 4
21 14
1 × 4
D 7 ~ D 4
D 3 ~ D 0
A 9 ~ A 0
WE
CS
6.5.2 字扩展图 6-13 字扩展实例
Y 2
Y 3
Y 1
Y 0
CS CS CS CS
A 11
A 10
4
I
/
O
4

I/
O
1
4
I
/
O
4

I/
O
1
4
I
/
O
4

I/
O
1
10
A 9 ~ A 0
4
10
A 9 ~ A 0
10
A 9 ~ A 0
D 3 ~ D 0
A 9 ~ A 0
WE
10
A 9 ~ A 0
译码器
21 14
1 × 4
21 14
1 × 4
21 14
1 × 4
21 14
1 × 4
6.5.3 字位扩展字位扩展共需要 mn的芯片数量为:
C=
nNmM
6.6 相联存储器
6.7 存储系统与并行存储器
6.7.1 存储系统的概念
1,存储容量 S
2,位价格 C
整个存储系统的平均位价格可以这样来计算:
21
2211
SS
SCSCC

3,访问周期 T
21
1
NN
NH

T=H T1+(1?H) T2
6.7.2 增加存储器的数据宽度图 6-18 宽字存储器存储体 0 存储体 1 存储体 7
数据寄存器
A 3 ~ A 23
A 0 ~ A 2
D ata
6.7.3 多体交叉存储技术图 6-19 低位交叉访问存储器的结构
0
..
00
..
0
0
..
10
..
0
,
,
,
F
..
F0
..
0
存储体 0
MAR
MDR
0
..
00
..
1
0
..
10
..
1
,
,
,
F
..
F0
..
1
存储体 0
MAR
MDR
0
..
0F
..
F
0
..
1F
..
F
,
,
F
..
FF
..
F
存储体 0
MAR
MDR
地址寄存器(高位) (低位)
译码器
6.7.4 一种无冲突访问的存储器
产生访问冲突的根本原因主要有两个,一个是程序中的转移指令,二是数据的随机性。
0号存储体 1号存储体 2号存储体 3号存储体体内地址 0 a0 a1 a2 a3
1 a4 a5 a6 a7
2 a8 a9 a10 a11
3 … … … …
图 6-22 一维数组的存储方案
6.8 高速缓冲器 Cache
6.8.1 Cache的工作原理
1,程序的局部性
2,Cache的基本结构访数据命中
cache 地址内存地址来自 CPU
直接通路块
( 多字 )
Cac h e 满修改标志访标志 未命中单字 到 CPU 或来自 CPU
标记 块号 块内地址块内地址 块号
C ache
标记 比较器内存 替换算法
C ache
数据图 6-27 Cache的基本结构
3,Cache的读写过程
( 1) 写直达法 ( write-through) 。
( 2) 回写法 ( write-back) 。
6.8.2 Cache的地址映像与地址变换
1,直接映像及地址变换区 1
区 0
主存
C ach e
块 0
块 1
块 C
b
1
块 C
b
块 C
b
+1
块 2 C
b
1
块 M
b
C
b
块 M
b
C
b
+1
块 M
b
1
块 0
块 1
块 C
b
- 1
区 M
e
1
图 6-28 直接映像方式图 6-29 直接映像地址变换块失效区表存储器相等区号 E 块号 B 块内地址 W 主存地址块号 b 块内地址 w Cache 地址比较
E 1
区号 E ( 按地址访问 ) 有效位访问 Cache
若比较结果相等且有效位为
,1,,则用 Cache 地址访问,
Cache 读出数据送往 CP U
2,全相联映像及地址变换主存
C a c h e
块 0
块 1
块 i
块 M b? 1
块 0
块 1
块 C b? 1
图 6-31 全相联映像方式主存地址目录表(由相联存储器构成,共 C b 个字)
相联比较命中块号 B 块内地址 W
块号 b 块内地址 w
C a c h e 地址有效位
1
B b
主存块号 B C a c h e 块号 b
图 6-32 全相联映像方式的地址变换
3,组相联映像及地址变换图 6-34 组相联映像方式的地址变换不等相等区号 E 组内块号 B 块内地址 W 主存地址组内块号 b 块内地址 w C ache 地址相联比较
G
b
个块区号 E,组内块号 B
组内块号 b
组号 G
组号 g
区表存储器
6.8.3 替换算法
( 1) 随机 ( Random,RAND) 算法
( 2 ) 先进先出 ( First-In First-Out,
FIFO) 算法
( 3) 近期使用最少 ( Least Recently Used,
LRU) 算法
( 4) 最优化 ( OPTimization,OPT) 算法
6.8.4 Cache的加速比
6.9 虚拟存储器原理
6.9.1 虚拟存储器的工作原理
虚拟存储器主要由软件管理。
根据采用的存储映像算法,可以将虚拟存储器的管理方式分成段式、页式和段页式三种,
6.9.2 地址映像与变换
在虚拟存储器中,有三种地址空间,第一种是虚拟地址空间,也称为虚空间或虚拟存储器空间,它是应用程序员用来编写程序的地址空间;第二种空间是主存储器的地址空间,也称主存地址空间、主存物理空间或实存地址空间;第三种是辅存地址空间。
目前主要有页式虚拟存储器,段式虚拟存储器和段页式虚拟存储器 3种 。
1,页式虚拟存储器主存页号 装入位 访问方式页表
0
1
M? 1
实地址虚地址 页内地址 基号 虚页号页内地址 实页号页表长度 页表基址页基址表
M
0
N? 1
图 6-36 页式虚拟存储器的地址映像方式图 6-37 页式虚拟存储器页面映像的一个实例程序 A 的页面 程序 B 的页面 内存页面硬盘
2,段式虚拟存储器图 6-38 段式虚拟存储器的地址映像方式段表实地址虚地址 段内地址 段号主存地址段表基地址段始地址 市地质
0
1
i
n
装入位
1
段长
+
+
3,段页式虚拟存储器虚拟地址格式为:
基号 段号 页 号 页内地址
6.9.3 页面替换算法及其实现
( 1) 缺页至少要涉及前一次磁盘存取,读取所缺的页 。 缺页使系统蒙受的损失要比 Cache未命中大得多 。
( 2) 页面替换是由操作系统软件实现的 。
( 3) 页面替换的选择余地很大,属于一个进程的页面都可替换 。
虚拟存储器中的替换策略一般采用 LRU算法,
LFU算法和 FIFO算法,或将两种算法结合起来使用 。
6.9.4 虚拟存储器实例
1,奔腾 PC的虚地址模式
奔腾 PC的存储管理部件 MMU包括分段部件 SU和分页部件 PU两部分 。
图 6-40 奔腾 PC机的虚拟地址模式存储器管理部件支持的虚拟地址模式分段不分页模式分段分页模式不分段分页模式
2.保护模式的分页地址转换图 6-41 奔腾机 4MB分页方式的地址转换过程页表项 页框基地址 保留 I D A PCD P W T US RW P
32 22 21 8 7 6 5 4 3 2 1 0
22 位页表线性地址
32 22 21 0
页面 偏移物理地址
( 32 位)
CR3
页框基址( 10 位)