计算机组成原理重点难点剖析4.ppt

Download Report

Transcript 计算机组成原理重点难点剖析4.ppt

计算机组成原理重点难点剖析
第4章 存储器
重点
1. 存储系统的层次结构
Cache-主存和主存-辅存层次的作用
程序访问的局部性原理与存储系统层次结构
的关系
缓存
10 ns
CPU
主存层次和主存
20 ns
辅存层次
200 ns
缓存
ms
主存
(速度)
缓存 主存
辅存
(容量)
主存 辅存
主存储器
虚拟存储器
实地址
虚地址
物理地址
逻辑地址
第4章 存储器
重点
1. 存储系统的层次结构
Cache-主存和主存-辅存层次的作用
程序访问的局部性原理与存储系统层次结构
的关系
2. 主存、Cache、磁表面存储器的工作原理
及技术指标
主存的基本组成
数据总线
…
…
存储体
读
写
电
路
…
驱动器
…
控制电路
译码器
…
MAR
读
地址总线
写
MDR
主存和 CPU 的联系
数据总线
MDR
读
CPU
MAR
写
地址总线
主 存
Cache 的基本结构
地址总线
由CPU完成
访问主存
替换Cache
Cache
Cache
替换机构
替换机构
否
可装进?
否
主存地址
命中?
块号
块内地址
主存Cache
地址映射
变换机构
主
访问主存装入Cache
是
是
存
Cache地址
直接通路
Cache
存储体
Cache存储体
数据总线
CPU
块号
块内地址
磁记录原理
写
写线圈
写线圈
铁芯
I
I
磁通
磁层
N
S
局部磁化单元
写入“0”
S
载磁体
N
局部磁化单元
写入“1”
磁记录原理
读
读线圈
读线圈
铁芯
磁通
磁层
N
S
S
N
运动方向
f
运动方向
f
s
e
s
e
t
读出 “0”
t
读出 “1”
技术指标
主存
容量
速度
带宽
Cache
容量
速度
访问效率
命中率
平均访问时间
容量
记录密度
磁盘
平均寻址时间
数据传输率
第4章 存储器
重点
1. 存储系统的层次结构
Cache-主存和主存-辅存层次的作用
程序访问的局部性原理与存储系统层次结构
的关系
2. 主存、Cache、磁表面存储器的工作原理
及技术指标
3. 半导体存储芯片的外特性以及与 CPU 的连接
存储器与 CPU 的连接
(1) 地址线的连接
(2) 数据线的连接
(3) 读/写线的连接
(4) 片选线的连接
(5) 合理选用芯片
(6) 其他
时序、负载
例 设 CPU 有 16 根地址线,8 根数据线,
MREQ 访存控制信号(低电平有效),
WR 读/写控制信号(高电平为读,低电平为写)
RAM :1K×4位;4K×8位;8K×8 位
ROM :2K×8位;4K×8位;8K×8 位
74LS138 译码器和各种门电路
画出 CPU 与存储器的连接图,要求
① 主存地址空间分配:
6000H~67FFH 为系统程序区;
6800H~6BFFH 为用户程序区。
② 合理选用上述存储芯片,说明各选几片?
③ 详细画出存储芯片的片选逻辑图。
解:
(1) 写出对应的二进制地址码
A15A14A13
A11 A10
… A7 …
A4 A3
… A0
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
…
0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1
0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
…
0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1
(2) 确定芯片的数量及类型
1片2K×8位
ROM
2K×8位
1K×8位
RAM
2片1K×4位
(3) 分配地址线
A15
A13
A11 A10
… A7 …
A4 A3
… A0
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
…
0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1
0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
…
0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1
CB A
A10~ A0 接 2K × 8 位 ROM 的地址线
A9 ~ A0 接 1K × 4 位 RAM 的地址线
(4) 确定片选信号
1片ROM
2K×8 位
2片RAM
1K×4 位
(5) CPU 与存储器的连接图
A14
A15
MREQ
A0
..
..
A13
A12
A11
A10
A9
G1
G2A
G2B
C
B
A
PD/Progr
&
Y4
…
…
…
2K×8位
ROM
1K×4位
RAM
1K×4位
RAM
…
.. ..
D7
D4
D3
D0
WR
Y5
…
…
第4章 存储器
重点
1. 存储系统的层次结构
Cache-主存和主存-辅存层次的作用
程序访问的局部性原理与存储系统层次结构
的关系
2. 主存、Cache、磁表面存储器的工作原理
及技术指标
3. 半导体存储芯片的外特性以及与 CPU 的连接
4.如何提高访存速度
第4章 存储器
难点
1.在可按字节和字寻址的存储器中,数据的存放方式不同
高位字节 地址为字地址
字节地址
字地址
0
4
8
例
0
4
8
0
4
8
1
5
9
2
6
10
低位字节 地址为字地址
字节地址
字地址
3
7
11
0
4
8
3
7
11
2
6
10
1
5
9
0
4
8
0
4
8
78H
56H
34H
12H
1 2 3 4 5 6 7 8 H 的存放方式
12H
34H
56H
78H
第4章 存储器
难点
1.在可按字节和字寻址的存储器中,数据的存放方式不同
2.对于一定容量的存储器,按字节或字访问
的寻址范围是不同的
27
如 16 MB (2 位)的存储器
寻址范围
容量
按 字节 寻址
224= 16 M
224 × 23 = 227位
按 字(16位)寻址
223 = 8 M
223 × 24 = 227位
按 字 (32位)寻址
222 = 4 M
222 × 25 = 227位
24 位
字节 寻址
23 位
字(16位)寻址
22 位
字节地址
字 (32位)寻址
字节地址
第4章 存储器
难点
1.在可按字节和字寻址的存储器中,数据的存放方式不同
2.对于一定容量的存储器,按字节或字访问
的寻址范围是不同的
3. 多体并行结构存储器顺序编址和交叉编址
对访存速度的影响
多体并行系统
(1) 高位交叉
地址
M0
00 0000
00 0001
M1
01 0000
01 0001
M2
10 0000
10 0001
11 0000
11 0001
体内地址
…
10 1111
体号
…
…
…
…
01 1111
M3
…
…
…
00 1111
顺序编址
11 1111
(1) 高位交叉
各个体并行工作
地址 M0
M1
n
n+1
0
1
2n
2n+1
…
体内地址
…
3n-1
地址译码
体号
3n
3n+1
…
…
…
2 n- 1
M3
…
…
…
n-1
M2
4n-1
(2) 低位交叉
地址
各个体轮流编址
M0
0000 00
0001 00
M1
0000 01
0001 01
0000 10
0001 10
…
1111 10
体号
…
体内地址
0000 11
0001 11
…
…
…
1111 01
M3
…
…
…
1111 00
M2
1111 11
(2) 低位交叉 各个体轮流编址
地址 M0
0
M1
1
5
4
3
7
…
…
4n-2
…
…
…
…
4n-3
M3
2
6
…
…
4n-4
M2
4n-1
地址译码
体内地址
体号
低位交叉的特点
在不改变存取周期的前提下,增加存储器的带宽
单体
访存周期
时间
启动存储体 0
启动存储体 1
启动存储体 2
启动存储体 3
单体
访存周期
设四体低位交叉存储器,存取周期为T,总线传输周期
为τ,为实现流水线方式存取,应满足 T = 4τ。
字
W4
W3
W2
W1
W0
体号
M0
M3
M2
M1
M0
T
τ τ τ
连续读取 4 个字所需的时间为 T+(4 -1)τ
时间
第4章 存储器
难点
1.在可按字节和字寻址的存储器中,数据的存放方式不同
2.对于一定容量的存储器,按字节或字访问
的寻址范围是不同的
3. 多体并行结构存储器顺序编址和交叉编址
对访存速度的影响
4. 不同的 Cache —主存地址映射,直接影响主存地址
字段的分配、替换策略及命中率
(1) 直接映射
t位 Cache存储体
字块0
字块1
字块 0
字块 1
…
…
i = j mod C
0 标记
* 1 标记
比较器(t位)
主存地址 主存字
块标记
Cache
字块
字块地址 内地址
t位
不命中
c位
b位
m位
每个缓存块 i 可以和 若干 个 主存块 对应
每个主存块 j 只能和 一 个 缓存块 对应
字块2c+1-1
字块2c+1
…
是
命中
1
…
有效位=1?
否
字块2c-1
字块2c
字块2c +1
C-1 标记 字块 2c-
≠
=
主存储体
字块2m-1
(2) 全相联映射
Cache 存储器
m = t+c
标记
主存储器
字块0
标记
字块1
字块1
…
…
标记
字块0
字块2c-1
主存地址
…
字块2c-1
字块2m-1
主存字块标记 字块内地址
m=t+c位
b位
主存 中的 任一块 可以映射到 缓存 中的 任一块
(3)组相联映射
组
Cache 共 Q 组,每组内两块(r = 1)
标记
字块 0
标记
字块 1
1
标记
字块 2
标记
字块 3
…
…
2 -1
…
…
c-r
标记 字块 2c-2 标记 字块 2c-1
主存字块标记
组地址
i = j mod Q
b位
直接映射
全相联映射
字块2c-r -1
字块2c-r
字块2c-r + 1
c-r+1
字块2
字块2c-r+1
…
q = c-r 位
s=t+r 位
m位
字块内地址
字块1
…
主存地址
字块0
…
0
主存储器
字块2m-1
某一主存块 j 按模 Q 映射到 缓存 的第 i 组中的 任一块
例 假设主存容量为 512 KB,Cache 容量为 4KB,每个字块为
16 个字,每个字 32 位。
(1)Cache 地址有多少位?可容纳多少块?
根据 Cache 容量为 4KB 得 Cache 地址 12 位
4KB/4B = 1K字 1K/16 = 64 块
(2)主存地址有多少位?可容纳多少块?
根据 512KB 得主存地址 19 位
512KB/4B = 128K字 128K/16 = 8192 块。
(3)在直接映射方式下,主存的第几块映射到 Cache 中的第
5 块(设起始字块为第 1 块)?
主存的第 5,64 + 5,2×64 + 5, … , 8192 – 64 + 5 块
能映射到 Cache 的第 5 块
(4)画出直接映射方式下主存地址字段中各段的位数
在直接映射方式下,主存地址字段的各段位数分配
如图所示。其中字块内地址为 6 位(4 位表示 16 个字,2
位表示每字 32 位),缓存共 64 块,故缓存字块地址为 6
位,主存字块标记为主存地址长度与 Cache 地址长度之差,
即 19 - 12 = 7 位。
主存字块标记
缓存字块地址
字块内地址
7位
6位
6位
例 假设主存容量位 512K×16 位,Cache 容量为 4096×16 位,
块长为 4 个 16 位的字,访存地址为 字地址。
(1)在直接映射方式下,设计主存的地址格式。
根据 Cache 容量为 4K字,得 Cache 字地址为 12 位。
根据块长为 4,按字访问,得字块内地址 2 位,
Cache 共有 4K/4 = 1024 块,
根据主存容量为 512K,得主存字地址 19 位。
主存地址格式
主存字块标记
Cache字块地址
字块内地址
7
10
2
例 假设主存容量位 512K×16 位,Cache 容量为 4096×16 位,
块长为 4个16 位的字,访存地址为 字地址。
(2)在全相联映射方式下,设计主存的地址格式。
主存字块标记
字块内地址
17
2
(3)在二路组相联映射方式下,设计主存的地址格式。
二路组相联,即一组内有 2 块,Cache共分 1024 块
1024/2 = 512 组,29 = 512,组地址 9 位
主存字块标记
组地址
字块内地址
8
9
2
例 假设主存容量位 512K×16 位,Cache容量为 4096×16 位,
块长为 4个 16 位的字,访存地址为 字地址。
(4)主存容量为 512K×32 位,块长不变,在四路组相联映射
方式下,设计主存的地址格式。
根据块长不变 4 个16 位的字 访存地址仍为字(16 位)地址
容量为 512K×32 位
相当于容量为 1024K×16 位
得主存地址 20 位
四路组相联,即一组内 4 块 Cache共有1024/4 = 256 组
28 = 256 组地址为 8 位
主存字块标记
组地址
字块内地址
10
8
2