纪禄平-计算机组成原理(第四版)PPT-4-6存储子系统-三级存储体系
合集下载
纪禄平-计算机组成原理(第4版)3(5)-CPU子系统-MIPS-4-多周期-3-控制系统PPT课件
3.5.4 多周期MIPS处理器
(组合逻辑与微程序)
-
1
※多周期CPU所需的控制信号
PCSrc[1:0]
01 00 10
PCWrite
PC
IorD MemWrite
存储器
0 1
Addr
RD
rst
WD
MemRead
IRWrite
<<2
U
RegDst RegWrite
RN1 RD1 A
operation 0 1
F
+4 00
MDR
1 0
WD
RD2 B
01 10
zero
MemtoReg
E
<<2
extend
11 AluSrc_B[1:0]
多路选择器: 4个+2个(2位/个); ALU: 1组(4位); 扩展器: 1个; 存储器: 2个; 寄存器堆: 1个; 专用寄存器: 2个; 共需13种控制信号, 共18位。
SC
Operation extend RegWrite IRWrite MemRead MemWrite PCWrite AluSrc_B AluSrc_A MemtoReg RegDst IorD PCSrc
2 1111 2 111 111 4 4
→00B08001H
-
2
24
❸ 整合所有指令的微程序并存储到Control Store √ T0中取指操作对应的微指令被全部指令共享 √各指令的其余微指令按顺序存储 √各指令的最末一条微指令中的顺序控制字段SC=10
写出各位的输出逻辑式:
PCsrc[1]=j_flag PCsrc[0]=beq_flag·zero PCWrite=FT_flag+beq_flag·zero+j_flag
(组合逻辑与微程序)
-
1
※多周期CPU所需的控制信号
PCSrc[1:0]
01 00 10
PCWrite
PC
IorD MemWrite
存储器
0 1
Addr
RD
rst
WD
MemRead
IRWrite
<<2
U
RegDst RegWrite
RN1 RD1 A
operation 0 1
F
+4 00
MDR
1 0
WD
RD2 B
01 10
zero
MemtoReg
E
<<2
extend
11 AluSrc_B[1:0]
多路选择器: 4个+2个(2位/个); ALU: 1组(4位); 扩展器: 1个; 存储器: 2个; 寄存器堆: 1个; 专用寄存器: 2个; 共需13种控制信号, 共18位。
SC
Operation extend RegWrite IRWrite MemRead MemWrite PCWrite AluSrc_B AluSrc_A MemtoReg RegDst IorD PCSrc
2 1111 2 111 111 4 4
→00B08001H
-
2
24
❸ 整合所有指令的微程序并存储到Control Store √ T0中取指操作对应的微指令被全部指令共享 √各指令的其余微指令按顺序存储 √各指令的最末一条微指令中的顺序控制字段SC=10
写出各位的输出逻辑式:
PCsrc[1]=j_flag PCsrc[0]=beq_flag·zero PCWrite=FT_flag+beq_flag·zero+j_flag
纪禄平-计算机组成原理(第4版)PPT 4.6-三级存储体系
※为解决CPU和主存速度不匹配而采用的一项 技术,使访问主存的平均速度接近于访问 Cache的速度。 ※由硬件系统实现,对用户透明。 ※已在CPU内集成,两级以上的Cache系统。
3/24
2. Cache的前提条件
※指令的执行具有局部性特征:
CPU从主存中取指令、数据,在一定时间内地址范围 常局限于主存的某个小区域。 因此可以将正在使用的部分(热点区指令和数据), 提前预取并存储到一个高速的、小容量的Cache中。
CPU访存 [技术效果]
CPU访问Cache
能使CPU读写指令、数据的速度大大提高。
4/24
3. 主存与Cache的地址映射
[说明] 主存↔Cache之间是以固定大小的数据块为单 位进行整体调度(交换); 基于下列条件,分析3种主存↔Cache映射: 存储器均按字节编址:1B/每个地址; 数据块大小:512B; Cache容量:8KB →分成16块(213/29) 主存容量大小:1MB →分成2048块(220/29)
A. 0 B. 2 C. 4
D.6
[解题分析]
Cache如何分组、分块? Cache分8组,每组2块,每块32B 主存如何分组、分块? 主存分若干组,每组又分成8块
129=10000001
(组内块序号100) 0…010000001
12/24
4.常用的替换算法
(1)最不经常使用(LFU, Least-Frequently Used) 将一段时间内被访问次数最少的那块从Cache中 置换出去。 (2)近期最久未使用(LRU, Least-Recently Used) 将近期内最久末被访问过的Cache块置换出去。 (3)随机替换 随机确定将哪块从Cache中替换出去。
3/24
2. Cache的前提条件
※指令的执行具有局部性特征:
CPU从主存中取指令、数据,在一定时间内地址范围 常局限于主存的某个小区域。 因此可以将正在使用的部分(热点区指令和数据), 提前预取并存储到一个高速的、小容量的Cache中。
CPU访存 [技术效果]
CPU访问Cache
能使CPU读写指令、数据的速度大大提高。
4/24
3. 主存与Cache的地址映射
[说明] 主存↔Cache之间是以固定大小的数据块为单 位进行整体调度(交换); 基于下列条件,分析3种主存↔Cache映射: 存储器均按字节编址:1B/每个地址; 数据块大小:512B; Cache容量:8KB →分成16块(213/29) 主存容量大小:1MB →分成2048块(220/29)
A. 0 B. 2 C. 4
D.6
[解题分析]
Cache如何分组、分块? Cache分8组,每组2块,每块32B 主存如何分组、分块? 主存分若干组,每组又分成8块
129=10000001
(组内块序号100) 0…010000001
12/24
4.常用的替换算法
(1)最不经常使用(LFU, Least-Frequently Used) 将一段时间内被访问次数最少的那块从Cache中 置换出去。 (2)近期最久未使用(LRU, Least-Recently Used) 将近期内最久末被访问过的Cache块置换出去。 (3)随机替换 随机确定将哪块从Cache中替换出去。
纪禄平-计算机组成原理PPT(第4版)3(4)-CPU子系统-模型机CPU-3-指令流程与微命令
5/18
操作时间表中各微命令的含义:
(1) 控制访存操作的微命令
EMAR, R/W, SIR, … (2) 控制CPU内部数据通路操作微命令 PCA, S3S2S1S0MC0, DM, CPPC, … (3) 控制时序切换的微命令 需要结合控制系统才能表述。ຫໍສະໝຸດ 6/18❶ 传送指令
1)流程图
例1:MOV R0,R1; FT0: M ET0: R1 ET1: PC 例2:MOV(R0),(R1); FT0: M ST0: R1 ST1: M DT0: R0 ET0: C ET1: MDR ET2: PC
→B
17/18
移位器控制信号S:DM、SL、SR、EX 脉冲型微命令CP:无、CPRi\CPRj\CPC\CPD\CPMAR
CPMDR\CPPC\CPSP 访存控制:EMAR\W(EMDR)\R(SMDR)
IR和PSW的辅助控制ST:无,0→PSW[4],1→PSW[4],SIR 上述是直接根据指令流程归纳的微命令,设计控制系统 时需要先对这些微命令编码,见教材。 对比数据通路,其中Ri→A,Rj→B、CPRi和CPRj属于 间接信号,需结合指令中的寄存器编号,才能确定部 件的直接控制信号(见表3-13、3-14)
15/18
❻ 中断隐指令 IT0: 0 IT1: PC IT2: MDR PSW[4], SP-1 MDR M SP/MAR
IT3:形成向量地址→MAR
IT4:M→MDR →PC/MAR
16/18
3、指令集的微命令归纳
指令执行过程所需的微命令,取决于: 数据通路结构; 基于数据通路设计的指令流程;
R0~3/C/D/SP/PC/ MDR →B ALU功能: S3S2S1S0、M、CI 移位选择:
操作时间表中各微命令的含义:
(1) 控制访存操作的微命令
EMAR, R/W, SIR, … (2) 控制CPU内部数据通路操作微命令 PCA, S3S2S1S0MC0, DM, CPPC, … (3) 控制时序切换的微命令 需要结合控制系统才能表述。ຫໍສະໝຸດ 6/18❶ 传送指令
1)流程图
例1:MOV R0,R1; FT0: M ET0: R1 ET1: PC 例2:MOV(R0),(R1); FT0: M ST0: R1 ST1: M DT0: R0 ET0: C ET1: MDR ET2: PC
→B
17/18
移位器控制信号S:DM、SL、SR、EX 脉冲型微命令CP:无、CPRi\CPRj\CPC\CPD\CPMAR
CPMDR\CPPC\CPSP 访存控制:EMAR\W(EMDR)\R(SMDR)
IR和PSW的辅助控制ST:无,0→PSW[4],1→PSW[4],SIR 上述是直接根据指令流程归纳的微命令,设计控制系统 时需要先对这些微命令编码,见教材。 对比数据通路,其中Ri→A,Rj→B、CPRi和CPRj属于 间接信号,需结合指令中的寄存器编号,才能确定部 件的直接控制信号(见表3-13、3-14)
15/18
❻ 中断隐指令 IT0: 0 IT1: PC IT2: MDR PSW[4], SP-1 MDR M SP/MAR
IT3:形成向量地址→MAR
IT4:M→MDR →PC/MAR
16/18
3、指令集的微命令归纳
指令执行过程所需的微命令,取决于: 数据通路结构; 基于数据通路设计的指令流程;
R0~3/C/D/SP/PC/ MDR →B ALU功能: S3S2S1S0、M、CI 移位选择:
2024版计算机组成原理第1章ppt课件
声音数据表示法
用采样、量化、编码等方式表示声音。
数据校验码
奇偶校验码
通过增加一位校验位,使得整个数据字中1的个数为偶数(偶校验)或奇数(奇校验)。
海明码
通过在数据字中增加多个校验位,利用异或运算实现多位错误的检测和纠正。
循环冗余校验码(CRC)
通过发送方和接收方约定一个生成多项式,对数据进行模2除法运算,将余数作为校验码附加 在数据后面。接收方收到数据后,用同样的生成多项式去除,若余数为0,则认为数据正确; 否则认为数据有误。
计算机组成原理第1章ppt课件
contents
目录
• 计算机系统概述 • 数字逻辑基础 • 计算机中的数据表示 • 运算方法与运算器 • 指令系统与寻址方式 • 存储系统与主存储器
01
计算机系统概述
计算机的定义与发展
计算机的定义
计算机是一种基于微处理器的智能电子计算机器,能够按照人们事先编好的程 序,自动、高速地进行数值计算、信息处理、数据存储和传输等操作。
采用Cache技术
在CPU和主存之间设置高速缓存,减少对主存的访问次数。
主存储器的性能指标与优化
优化存储管理
采用合理的存储分配和管理策略, 减少内存碎片和浪费。
采用并行技术
通过多体交叉存取、并行读写等方 式提高主存的带宽和访问速度。
THANKS
感谢观看
地址译码器
将地址寄存器中的地址转换为对 应存储单元的选择信号。
存储体
由大量存储单元组成,每个存储 单元可存放一个字节或多个字节 的数据。
读写控制电路
根据CPU的命令控制存储器的读 写操作。
主存储器的性能指标与优化
存储容量
主存储器可以容纳的二进制信息量,通常以字节(Byte)为单位进 行衡量。
用采样、量化、编码等方式表示声音。
数据校验码
奇偶校验码
通过增加一位校验位,使得整个数据字中1的个数为偶数(偶校验)或奇数(奇校验)。
海明码
通过在数据字中增加多个校验位,利用异或运算实现多位错误的检测和纠正。
循环冗余校验码(CRC)
通过发送方和接收方约定一个生成多项式,对数据进行模2除法运算,将余数作为校验码附加 在数据后面。接收方收到数据后,用同样的生成多项式去除,若余数为0,则认为数据正确; 否则认为数据有误。
计算机组成原理第1章ppt课件
contents
目录
• 计算机系统概述 • 数字逻辑基础 • 计算机中的数据表示 • 运算方法与运算器 • 指令系统与寻址方式 • 存储系统与主存储器
01
计算机系统概述
计算机的定义与发展
计算机的定义
计算机是一种基于微处理器的智能电子计算机器,能够按照人们事先编好的程 序,自动、高速地进行数值计算、信息处理、数据存储和传输等操作。
采用Cache技术
在CPU和主存之间设置高速缓存,减少对主存的访问次数。
主存储器的性能指标与优化
优化存储管理
采用合理的存储分配和管理策略, 减少内存碎片和浪费。
采用并行技术
通过多体交叉存取、并行读写等方 式提高主存的带宽和访问速度。
THANKS
感谢观看
地址译码器
将地址寄存器中的地址转换为对 应存储单元的选择信号。
存储体
由大量存储单元组成,每个存储 单元可存放一个字节或多个字节 的数据。
读写控制电路
根据CPU的命令控制存储器的读 写操作。
主存储器的性能指标与优化
存储容量
主存储器可以容纳的二进制信息量,通常以字节(Byte)为单位进 行衡量。
计算机操作系统完整(第四版)第四五章ppt课件
一起,形成装入模块。子2
子2
装入:子装2 入程序
装入模块
由目装标模入块程序(Loader)将装入模块复制到内
存中。
内存
.
7
2、地址空间的概念
物理(绝对)地址——程序执00行00000001
00002
每00个0 内主 存单元的固定顺序地址. (编号)。 内50存0 :由字或字000节0 组主 成的一维.. 线性地址空间
.
19
• 4.3.5基于索引搜索的动态分区分配算法
1、快速适应算法:空闲分区按容量大小进行分 类。对于每一类具有相同容量的所有空闲空间分 区,单独设立一个空闲分区链表。在内存中设立 一张管理索引表,每个表项对应一种空闲分区类 型。
优点:查找效率高。保留大分区也不会产生碎片
缺点:分区归还主存时算法复杂。
进行紧凑
按动态分区方式
时提高形成了连续系空闲统区 效率。
进行分配
缺点:需要动态重定位“硬件”机构支持,增加
修改有关的
修改有关的
返回分区号
了系统数成据结本构,并轻度降低了数据程结构序执行速度,及首“批 紧
凑”处理增加了系统开销。
无法分配
返回
动态重定位分区分配算法流程
.
29
4.4、对换(Swapping)
成的,以后不再改变。
5000
15000
动态重定位:地址变换是在程序指令执行
作时业进地址行空的间 。
内存空间
.
9
0 0
BR:重定位寄存器 VR: 变址寄存器
.
10
4、程序的链接
链 接把:一0个程C模a序块ll BA相; 关的一组目标模块和0 系JS统模R块”调LA”;用模块
计算机组成原理4第四章存储器PPT课件精选全文
4.2
11
4.2
请问: 主机存储容量为4GB,按字节寻址,其地址线 位数应为多少位?数据线位数多少位? 按字寻址(16位为一个字),则地址线和数据线 各是多少根呢?
12
数据在主存中的存放
设存储字长为64位(8个字节),即一个存 取周期最多能够从主存读或写64位数据。
读写的数据有4种不同长度:
字节 半字 单字 双字
34
3. 动态 RAM 和静态 RAM 的比较
主存
DRAM
SRAM
存储原理
电容
触发器
集成度
高
低
芯片引脚
少
多
功耗
小
大
价格
低
高
速度
慢
快
刷新
有
无
4.2
缓存
35
内容回顾: 半导体存储芯片的基本结构 4.2
…… ……
地
译
存
读
数
址
码
储
写
据
线
驱
矩
电
线
动
阵
路
片选线
读/写控制线
地址线(单向) 数据线(双向) 芯片容量
D0
…… D 7
22
(2) 重合法(1K*1位重合法存储器芯片)
0 A4
0,00
…
0,31
0 A3
X 地
X0
32×32
… …
0址
矩阵
A2
译
0码
31,0
…
31,31
A1
器 X 31
0 A0
Y0 Y 地址译码器 Y31 A 9 0A 8 0A 7 0A 6 0A 5 0
纪禄平计算机组成原理ppt(第4版)3(2)cpu子系统指令系统
5/41
3.2.2 指令格式
指令的基本格式
操作码θ 地址码A /操作数D
1个
1个或几个(广义)
6/41
1. 指令字长
定长指令格式 规整、便于控制 变长指令格式 合理利用存储空间、提高取指令
的效率,如超长指令集
2. 操作码结构 (1)定长操作码 各指令θ 的位置、位数固定相同。 (2)扩展操作码 各指令θ 的位置、位数不固定,根据需要 变化 (设置扩展标志)。
15/41
5. MIPS32架构的指令格式
RISC 指令字长为:32位 寄存器数量:32个
指令 类型
R型 I型 J型
指令长度(32位定长)
31 ~ 26 25~21 20~16 25~11 10 ~ 6 5 ~ 0
op(6) rs(5) rt(5) rd(5) shamt func
op(6) rs(5) rt(5) address/imm (16)
13/41
零地址结构指令 θ
功能: ①用于处理机的特殊控制(如HLT, NOP)。 ②针对隐含约定的寄存器,如返回指令:
RST 隐含操作:(SP)→PC; SP+ →SP; 把堆栈栈顶单元保存的返回地址打入PC。
14/41
4. 指令可能会涉及到的操作数类型 ① 地址码数据 寄存器编号或者存储器地址,无符号整数。 ② 数值型数据 定点数、浮点数等,一般用补码表示。 ③ 字符型数据 通常表示为ASCII码/汉字内码格式。 ④ 逻辑型数据 常规二进制代码,不具有数值含义。
op(6)
address (26)
16/41
3.2.3 指令中的寻址方式
※指形成操作数地址或寻找操作数的方式; ※1条指令,可能会涉及多种寻址方式;
3.2.2 指令格式
指令的基本格式
操作码θ 地址码A /操作数D
1个
1个或几个(广义)
6/41
1. 指令字长
定长指令格式 规整、便于控制 变长指令格式 合理利用存储空间、提高取指令
的效率,如超长指令集
2. 操作码结构 (1)定长操作码 各指令θ 的位置、位数固定相同。 (2)扩展操作码 各指令θ 的位置、位数不固定,根据需要 变化 (设置扩展标志)。
15/41
5. MIPS32架构的指令格式
RISC 指令字长为:32位 寄存器数量:32个
指令 类型
R型 I型 J型
指令长度(32位定长)
31 ~ 26 25~21 20~16 25~11 10 ~ 6 5 ~ 0
op(6) rs(5) rt(5) rd(5) shamt func
op(6) rs(5) rt(5) address/imm (16)
13/41
零地址结构指令 θ
功能: ①用于处理机的特殊控制(如HLT, NOP)。 ②针对隐含约定的寄存器,如返回指令:
RST 隐含操作:(SP)→PC; SP+ →SP; 把堆栈栈顶单元保存的返回地址打入PC。
14/41
4. 指令可能会涉及到的操作数类型 ① 地址码数据 寄存器编号或者存储器地址,无符号整数。 ② 数值型数据 定点数、浮点数等,一般用补码表示。 ③ 字符型数据 通常表示为ASCII码/汉字内码格式。 ④ 逻辑型数据 常规二进制代码,不具有数值含义。
op(6)
address (26)
16/41
3.2.3 指令中的寻址方式
※指形成操作数地址或寻找操作数的方式; ※1条指令,可能会涉及多种寻址方式;
计算机组成原理第四版第四章PPT课件
兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是 兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构 和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”, 即低档机上运行的软件可以在高档机上运行。
编辑版pppt
返回 6
堆栈寻址
➢寄存器堆栈(硬堆栈) ➢存储器堆栈(软堆栈)
编辑版pppt
返回 12
扩展举例 :设某机器的指令长度为16位,有4位基本操
作码字段和两个6位地址码字段,其格式如下:
15
12 11
0
OP
A1
65 A2
扩展方法:
1.二地址指令仅有15条,由4位基本操作码的0000—— 1110组合给出,余下的组合1111用于把操作码扩展到 A1,即从4位扩展到10位。
编辑版pppt
返回 9
4.2.3指令字长度
➢ 指令字长度:一个指令字包含二进制代码的位数。 ➢ 机器字长:计算机能直接处理的二进制数据的位数。 ➢ 单字长指令 ➢ 半字长指令 ➢ 双字长指令 ➢ 多字长指令的优缺点: 优点提供足够的地址位来解决访
问内存任何单元的寻址问题; 缺点必须两次或多次访问 内存以取出一整条指令,降低了CPU的运算速度,又占用 了更多的存储空间。 ➢ 等长指令字结构:指令系统中指令采用等长指令的优点: 各种指令字长度是相等的,指令字结构简单,且指令字长 度是不变的; ➢ 变长指令字结构:采用非等长指令的的优点:各种指令字 长度随指令功能而异,结构灵活,能充分利用指令长度, 但指令的控制较复杂。
编辑版pppt
返回 38
其他指令:
除以上各类指令外,还有状态寄存器置 位、复位指令,测试指令,停机指令,以及 其他一些特殊控制用的指令。
纪禄平-计算机组成原理(第4版)PPT 6.2-键盘及其工作原理
ROM单元地址: 4位+3位
3、工作过程
计数值
0000000 0100001
以(2,1)按键为例
键盘列号=扫描列号
锁定计数值 键盘接口(去抖)
访问ROM ASCII码
5/9
6.2. 3 软件扫描键盘
通过键盘扫描程序(固化在BIOS中)来识别按键位置,并 转换为相应的按键码。
+5V
(1)逐行扫描法 [例]简易扫描式键盘 1)键盘矩阵
计 数 器
0001
1 0 0 0 0 1 0
R O M
接 口
ASCII 码
(3)符合比较器
键盘矩阵输出的列号与列 译码输出比较,以确定按 键位置。
锁定
列译码
16
010
去抖动
比较器
16
(4)ROM存储器
把键位码转换成ASCII码
键 盘 8行×16列
行 8 译 码
按键对应的ASCII码 ROM单元内容:
[例]IBM PC键盘(104键) 1)键盘的基本结构
行 译 码
键 盘
…
扫描码(位置码) 单片机 8048
16行×8列 列译码
ቤተ መጻሕፍቲ ባይዱ
8/9
2)工作原理
行 译 码
键 盘
…
扫描码(位置码) 单片机 8048
16行×8列
列译码
※用8048来控制扫描 (检测电平变化) 获得按键扫描码(位置码) 先逐列为1、再逐行为1逐级扫描: ※串行传送扫描码 8048 串行扫描码 接口移位R 并行扫描码 接口申请中断 ※中断处理 CPU执行键盘中断子程序,从接口取扫描码(位置码) ASCII码 存入键盘缓冲区(内存中)。
计算机组成原理PPTPPT课件
A可被4整除
精选ppt课件2021
30
2.5.2 数据在存储器中的存放方式
对齐方式
多字节数据存放在存储器中满足“边界对准” 半字地址是2的整数倍,字地址是4的整数倍,双字地址是8的整数倍,字节 可以存储在任何地址,不满足要求时,填充一个至多个空白字节
字节次序
➢大端模式:高字节为低地址(Motorola的PowerPC系列的CPU)
10010101 10100001
操作码用来表明本条指令要 求计算机完成的操作,如加 法,减法,取数等,CPU中有 专门的译码电路来识别解释 各操作码
地址码用来给出参加本次运算的操作数和 运算结果所在的地址,根据地址码个数, 指令格式分为零地址、一地址 、二地址、 三地址、四地址
精选ppt课件2021
两种扩展方式很难证明哪一种肯定优于另外一种
实际中采用哪种方式,有一个重要的原则:使用频度高的指令应分配短的操作码;
使用频度低的指令相应地分配较长的操作码(有利于CPU缩短对指令的译码时间,提
高指令的执行速度)。
精选ppt课件2021
19
等长扩展操作码
采用4-8-12等长扩展法确定三种使用频度的操作码的
精选ppt课件2021
4
1.2 计算机的发展史
➢第一代电子管时代(1946-1958): 耗电高,体积 大,定点计算,机器语言,汇编语言
➢第二代晶体管时代(1958-1965):变集中处理为 分级处理,浮点运算、高级语言
➢第三代中小规模集成电路时代(1965-1970):存 储容量大,运算速度快,几十至几百万次/秒
特点:控制简单,译码时间短,编码浪费,n位操作码能表示2n条指令
操作码长度不固定:操作码分散在指令字的不同字 段内
《计算机组成原理(第四版)》第1章计算机系统概论资料
存放数据 将信息和转程换序成机 器能识别的形式
存储器
算将术结运果算转换成 逻人辑们运熟算悉的形式
输入设备
运算器
输出设备
2021年3月23日星期二
控制器
指挥程序 运行
46
冯·诺依曼机与现代微机 存储器
冯·诺依曼机结构
以运算器为中心
现代微机结构
以存储器为中心
22021年3月23日星期二
38
1.2.4 计算机的性能指标(2/3)
总线宽度 一般指运算器与存储器之间的数据总线宽度。
注意课本上的表述错误!
主存储器容量 主存储器所能存储二进制数据的位数。
或者说“主存储器中所有存储元的总数目”,而非“存储单元”!
主存储器带宽 单位时间内从主存储器读出的二进制信息量,一般用字节数/秒表示。
吞吐量
表征一台计算机在某一时间间隔内能够处理的信息量。
响应时间
从输入有效到系统产生响应之间的时间度量,用时间单位来表示。
利用率
在给定的时间间隔内,系统被实际使用的时间所占的比率,用百分 比表示。
处理机字长(机器字长)
处理机运算器中一次能够完成二进制运算的位数,如32、64位; 机器字长与系统数据总线宽度具有一定的相关性。
第1章 计算机系统概论
目录
1.0 预备知识 1.1 计算机的分类 1.2 计算机的发展简史 1.3 计算机的硬件 1.4 计算机的软件 1.5 计算机系统的层次结构
2021年3月23日星期二
2
学习要求
了解计算机的发展历程; 清楚计算机的系统层次结构、计算机硬件的基本组成(五大部件
的构成)、计算机软件的分类,以及计算机的基本工作过程; 了解计算机性能评价指标和相关参数;
纪禄平-计算机组成原理PPT(第4版)3(1)-CPU子系统-概述
1、主要功能
✓处理指令-控制指令的执行顺序; ✓执行操作-产生控制信号控制部件工作; ✓控制时间-控制各步操作的时序; ✓数据运算-算术和逻辑运算;
2、执行指令的流程
✓读取指令-从存储器中读取; ✓指令译码-通过控制器进行、产生控制信号; ✓指令执行-寻址、取数、运算; ✓后续工作-保存结果、响应外部请求等;
9
⑤程序状态字寄存器(PSW)
[主要用途] 仅1个,记录现行程序的运行状态和程序的工作模式。
❖ PSW-特征位 也叫标志位,反映CPU的当前状态。 指令执行时,根据情况自动设置这些特征位,作为后 续操作的判断依据,通常有5类:
进位 溢出 零值
P
…
自动设置(具备该特征,就设置该标志位=1)
10
❖ PSW-编程设定位
PSW中某些位或字段可通过程序来设定,以决定程 序的调试、对中断的响应、程序的运行模式等。
跟踪位
T
允许中断
I
程序优 先级P
运行模式
⑥地址寄存器(MAR)
[主要用途] 只有1个,读写存储器时,先要定位存储单元,因此 设置MAR来存放目标单元的地址码。 先将有效地址送入MAR,再启动后续的读写操作。
数据1 数据0
栈底
堆栈(存储器)
12
4、控制器
[主要作用] 根据指令、时钟信号、外部信号等信息,产生各种 控制信号(微命令),以便控制各种功能部件协同工 作,完成指令的功能。
指令代码
控制单元
时序信号 状态信号
各种控制信号
根据产生微命令的方式,有两类控制单元:
①组合逻辑控制器 组合逻辑硬件电路→控制信号
第3章 CPU子系统
※本章主要介绍:
功能部件
✓处理指令-控制指令的执行顺序; ✓执行操作-产生控制信号控制部件工作; ✓控制时间-控制各步操作的时序; ✓数据运算-算术和逻辑运算;
2、执行指令的流程
✓读取指令-从存储器中读取; ✓指令译码-通过控制器进行、产生控制信号; ✓指令执行-寻址、取数、运算; ✓后续工作-保存结果、响应外部请求等;
9
⑤程序状态字寄存器(PSW)
[主要用途] 仅1个,记录现行程序的运行状态和程序的工作模式。
❖ PSW-特征位 也叫标志位,反映CPU的当前状态。 指令执行时,根据情况自动设置这些特征位,作为后 续操作的判断依据,通常有5类:
进位 溢出 零值
P
…
自动设置(具备该特征,就设置该标志位=1)
10
❖ PSW-编程设定位
PSW中某些位或字段可通过程序来设定,以决定程 序的调试、对中断的响应、程序的运行模式等。
跟踪位
T
允许中断
I
程序优 先级P
运行模式
⑥地址寄存器(MAR)
[主要用途] 只有1个,读写存储器时,先要定位存储单元,因此 设置MAR来存放目标单元的地址码。 先将有效地址送入MAR,再启动后续的读写操作。
数据1 数据0
栈底
堆栈(存储器)
12
4、控制器
[主要作用] 根据指令、时钟信号、外部信号等信息,产生各种 控制信号(微命令),以便控制各种功能部件协同工 作,完成指令的功能。
指令代码
控制单元
时序信号 状态信号
各种控制信号
根据产生微命令的方式,有两类控制单元:
①组合逻辑控制器 组合逻辑硬件电路→控制信号
第3章 CPU子系统
※本章主要介绍:
功能部件
纪禄平-计算机组成原理PPT(第4版)3(5)-CPU子系统-MIPS-4-多周期-2-指令流程与微命令
T1 DT
执行
T2 ET
访存
F← A op B
F← A+E(offset)
F← A+E(offset)
A-B Zero=1: PC←F
F← A op E(imm)
T3 MT
Reg*rd+← F
MDR← Mem[F]
Mem*F+← B
Reg*rt+← F
写回寄堆
T4 RT
Reg*rd+← F
Reg*rt+← MDR
选通寄存器堆 WD的数据源 设置16→32位的 扩展模式
0
1 0 1 0 1
选通PC
选通暂存器F 选通暂存器F 选通暂存器MDR 0扩展(逻辑型) 符号扩展(数值型)
3/12
(续表)
信号名称 ALUsrc_A ALUSrc_B 用途
选择ALU的A端 口数据来源
选择ALU的B端 口数据来源
控制信号
0
T0 T1
T2
T3
T4
A-B: If zero==1, PC←F If zero==0, NOP
ALUSrc_A=1, ALUSrc_B=01, operation=0110 If zero==1: PCSrc=01, PCWrite=1
9/12
※ I型运算指令: op rt, rs, imm
时钟 周期 功能(微)操作 IR←Mem*PC+, PC←PC+4 直接控制信号(微命令) IorD=0,MemRead=1, IRWrite=1, ALUSrc_A=0, ALUSrc_B=00, operation=0010, PCSrc=00, PCWrite 时钟边沿触发,无其它控制信号 ALUSrc_A=1, extend=1, ALUSrc_B=10, operation Mem2Reg=0, RegDst=1, RegWrite=1
纪禄平-计算机组成原理PPT(第4版)3(5)-CPU子系统-MIPS-1-MIPS32指令架构与指令集
16位的带符号常数
op
rs
rt
<< 2
imm
带符号扩展成32位 并左移2位
+
当前地址码 PC寄存器
Memory
数据字
13/22
伪直接寻址(Pseudo-direct Addressing) 也叫页面寻址,由PC高4位与指令中的地址段 组合产生有效地址。
op
28位 4位 4位 address 00 指令字 4位 PC当前值
lui rt, imm # $rt ← imm<<16(空位补0)
20/22
④面向条件转移(分支)的I型指令
指令 [31:26] [25:21] [20:16] [15:0] 指令功能 beq 000100 rt imm 寄存器相等则转移 rs bne 000101 rt imm 寄存器不等则转移 rs
rs rs rs
rt rt rt
rd rd rd
00000 100100 寄存器与 00000 100101 寄存器或 00000 100110 寄存器异或
add/sub/and/or/xor rd, rs, rt; 指令功能:$rd ← $rs op $rt;
16/22
②2寄存器R型指令
指令 sll srl sra
lw sw beq bne lui
100011
rs 101011 rs 000100 rs 000101 rs 001111 00000
rt rt rt rt rt
imm imm imm imm imm
从存储器中读取数据 把数据保存到存储器 寄存器相等则转移 寄存器不等则转移 设置寄存器的高16位
18/22
16位的带符号常数
op
rs
rt
<< 2
imm
带符号扩展成32位 并左移2位
+
当前地址码 PC寄存器
Memory
数据字
13/22
伪直接寻址(Pseudo-direct Addressing) 也叫页面寻址,由PC高4位与指令中的地址段 组合产生有效地址。
op
28位 4位 4位 address 00 指令字 4位 PC当前值
lui rt, imm # $rt ← imm<<16(空位补0)
20/22
④面向条件转移(分支)的I型指令
指令 [31:26] [25:21] [20:16] [15:0] 指令功能 beq 000100 rt imm 寄存器相等则转移 rs bne 000101 rt imm 寄存器不等则转移 rs
rs rs rs
rt rt rt
rd rd rd
00000 100100 寄存器与 00000 100101 寄存器或 00000 100110 寄存器异或
add/sub/and/or/xor rd, rs, rt; 指令功能:$rd ← $rs op $rt;
16/22
②2寄存器R型指令
指令 sll srl sra
lw sw beq bne lui
100011
rs 101011 rs 000100 rs 000101 rs 001111 00000
rt rt rt rt rt
imm imm imm imm imm
从存储器中读取数据 把数据保存到存储器 寄存器相等则转移 寄存器不等则转移 设置寄存器的高16位
18/22
16位的带符号常数
《计算机组成原理》第四版ppt课件剖析
系统结构
1.2.3 微处理器的发展
基本概念
1971年Intel公司开发出Intel 4004。这是第一个将CPU 的所有元件都放入同一块芯片内的产品,于是,微处理 器诞生了。 微处理器演变中的另一个主要进步是 1972 年出现 的 Intel 8008,这是第一个 8位微处理器,它比 4004复杂 一倍。 1974年出现了Intel 8080。这是第一个通用微处理器, 而4004和8008是为特殊用途而设计的。8080是为通用 微机而设计的中央处理器。 20 世纪 70 年代末才出现强大的通用 16 位微处理器, 8086便是其中之一。 这一发展趋势中的另一阶段是在 1981 年,贝尔实验室 和HP公司开发出了32位单片微处理器。 Intel于1985年推出了32位微处理器Intel 80386。 到现在的64
计算机的发展史
类型
第 1代
基本概念
时期
19461957 19581964 19641971
主要器件
电子管
重 要 特 征
机器语言,汇编语言。速度低,体积大, 价格昂贵,可靠性差,用于科学计算。 速度达几千次到几万次 算法语言,操作系统。体积缩小,可靠 性提高。从科学计算到数据处理。每秒 几万次到几十万次
☼ 三、课程与其他课程的联系与分工
☆ 先修课:数字电路、模拟电路、汇编语言程序设计 ☆ 后续课:计算机系统结构、微型计算机系统与设计,关系密切的还有操作系统等课程。
☼ 四、课程总学时中各环节的学时分配(讲授、实验、上机、实践等)
☆ 授课学时:48,实验学时:8
目录 第一章 计算机系统概论
☼
☼ ☼ ☼ ☼
系统结构
1.2.4 计算机的性能指标
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主存和外存统一分页后进行管理。 ※页表 记录虚地址页号与实地址页号的对应关系,即虚页面 调入主存时被安排在主存中的位置(实页号) 页表中的每一行,称为页表项;
虚页号 0000 有效位 1 实页号 0101 … …
0001 0010 …
1 0 …
1011 0010 …
… … …
←页表项 ←页表项 ←页表项
定位Cache的分组:直接映射;
定位Cache数据块:全相联映射;
→直接映射和全相联映射的折衷 速度快、硬件简单、成本低、易实现 (图4-49示)
10/24
0组
标记
0块
0块
标记
标记 标记 … 标记 标记 标记
1块
2块 3块 … 12块 13块 14块
1块
… 7块 8块 9块 … 15块
主存 0组 地址
255组
据此判断所在内存块 是否已映射到缓存中
图4-49 组相联映射 Na=20,每块512字节
11/24
[ 举例 ] 某计算机的 Cache 共有 16块,采用 2路 - 组相联映 射方式 ( 即每组包括 2 块 ) 。存储器按字节编址,每个主 存块大小为 32字节,那么 129号主存单元所在的主存块 应装入到的Cache组号是( ):
5/24
(1)直接映射
Cache:只分块、不分组 主存:既分块、也分组(每组的块数 = Cache块数)
[映射规则]主存的每一个数据块,只能映射到 与其组内序号相同的Cache数据块位置。
如果:K为Cache的块序号,J为主存块的序号,C为 Cache块号的位数。
则 K=J mod 2c =J mod 24
2046块
2047块
主存
将主存块的块号与Cache 块的标记字段比较,判 断主存块是否已映射到 缓存中
图4-48 全相联映射 Na=20,每块512字节
9/24
(3)组相联映射
Cache:既分块、也分组 (组内块数 = Cache组数) 主 存:既分块、也分组 [映射规则]
主存数据块,映射到与自己组内块序号相同的 Cache 分组,可占据Cache分组中的任意数据块位置。
页表基址寄存器
虚地址 虚页号 页 表 页内地址
页表起始地址
┆
页表行地址
实页号
1 实页号 页内地址 主存地址
页式虚拟存储器地址转换
20/24
2、段式虚拟存储器管理 虚存中的程序分段(按照代码段、数据段和共 享段等)进行管理。 为了将虚拟地址变换成主存实地址,操作系统 创建1个段表。 每段在段表中都占有一登记项,内容包括: 段号、段起点、段长、装入位等。 根据虚段号查段表 →在内存中的首地址 虚实地址变换,如后图示。
18/24
※页表基址寄存器
记录页表在主存中的起始地址;
页表项的地址a=页表基址b+页号n×表项的字节数w b→
0 1 2 … … …
如果表项占4B ←a
TLB
a = b+2×4
直接映射 全相联映 组相联映射
※快表(TLB) 把活跃的页表项用高速存储器单独存储,访问速度更 快,它是页表的子集。
19/24
组号
组内 块内地址 块号
1组
8位 3位 9位 00000011 111 000001110 =3 1组 定位到Cache的第7组 =7
6组
7组
标记
8位
15块
Cache块
16块
17块 …
2路-组相联映射 定位组:直接映射 定位块:全相联映射
比较Cache组内 的各标记字段
…
2045块 2046块 2047块
14/24
※Cache的读操作
① 旁路式读 (Look-Aside)
CPU向Cache和主存同时发读命令和地址。 Cache命中,则Cache回送数据并中断读主存命令; Cache未命中,则直接访问主存读取数据。
② 通过式读(Look-Through)
CPU首先向Cache发读命令和地址。 Cache命中,则从Cache中读出数据; Cache未命中,再将读命令和地址传给主存并读主存。
存在的缺点: Cache标记太长,判断时间太长。
硬件复杂、成本高、实现相对困难。
8/24
标记 标记 …
0块 1块 …
0块 1块 … 15块 16块 …
主存块号 块内地址
11位
=31
9位
00000011111 000001110
标记 15块
11位 Cache块
主存地址A 第几块中的 第几个地址?
21/24
段表基址寄存器 段表起始地址
虚地址 虚段号 段内地址
段表行地址
段 表
┆
段首地址
...
段首地址
段内地址
主存地址 段式虚拟存储器地址转换
22/24
3、段页式虚拟存储管理 每个程序按逻辑模块分段,每段再分页,页面 大小与内存页面相同; 由操作系统创建两表:段表、页表; 虚地址格式:段号+页号+页内地址 实地址格式:页号+页内地址
A. 0 B. 2 C. 4
D.6
[解题分析]
Cache如何分组、分块? Cache分8组,每组2块,每块32B 主存如何分组、分块? 主存分若干组,每组又分成8块
129=10000001
(组内块序号100) 0…010000001
12/24
4.常用的替换算法
(1)最不经常使用(LFU, Least-Frequently Used) 将一段时间内被访问次数最少的那块从Cache中 置换出去。 (2)近期最久未使用(LRU, Least-Recently Used) 将近期内最久末被访问过的Cache块置换出去。 (3)随机替换 随机确定将哪块从Cache中替换出去。
直接映射的规则,如图4-47示
6/24
标记
标记 …
0块
1块 …
0块
1块 … 15块 16块 17块 … 31块
0 1 15
第 0组
分组的 组内块 块内字 组号 序号 节地址 7位
0000001
4位
1111
9位
000001110
标记 15块
7位 Cache块
0 1 第 1组
=15
主存地址A 组号+块号+ 块内字节偏移;
※为解决CPU和主存速度不匹配而采用的一项 技术,使访问主存的平均速度接近于访问 Cache的速度。 ※由硬件系统实现,对用户透明。 ※已在CPU内集成,两级以上的Cache系统。
3/24
2. Cache的前提条件
※指令的执行具有局部性特征:
CPU从主存中取指令、数据,在一定时间内地址范围 常局限于主存的某个小区域。 因此可以将正在使用的部分(热点区指令和数据), 提前预取并存储到一个高速的、小容量的Cache中。
4.6 三级存储体系
计算机中的存储系统,分为三个层次:
Cache
内存
外存
硬盘 光盘 U盘
外 存: 确保计算机具有足够大的存储容量; 确保数据能脱机保存; 内 存: 存储运行期指令/数据,确保CPU能快速读取; CACHE:强化CPU快速读取指令和数据的速度;
1/24
※Cache和内存的关联
Cache
13/24
5. Cache的读/写操作
※Cache的写操作 当CPU发出写请求时,如果Cache命中,可以有 两种处理方案:
①Cache单元和主存单元同时写,使Cache和主 存保持一致,称为通写(write-through)。 ②只修改 Cache 单元,并用标志将该块加以注 明,直到该块从 Cache 中替换出来时才一次性 写入主存,称为回写(write-back)。
[讨论]命中率、平均访问时间和访问效率?
15/24
4.6.2 内存与外存的映射
※虚拟存储的基概念
在内存和外存之间,由操作系统存储管理模块及相关 硬件(存储器管理部件)实现的一种存储映射技术。
实地址码 虚实地址映射 虚地址码 虚拟 存储器
盘号、圆柱面、 磁头号、扇区号、字节序号
虚拟
主存
(直接硬件)
… …
15
定位Cache的第15块, 读取其标记字段
相等吗?
第127组
2032块 …
0 2033块 1
2047块 15
据此判断目标内存 块是否在Cache中
图4-47 直接映射 C=4、Na=20,每块512字节
7/24
(2)全相联映射
Cache:只分块、不分组 主 存:只分块、不分组
[映射规则]主存任何一个块都可以映射到Cache 的任何一个数据块位置上,如图4-48示。
内存中的数据,调入Cache 内存 Cache中的数据,写回内存
以数据块为单位整体操作: 直接映射、全相联映射、组相联映射
※内存和外存的关联
外存中的数据,调入内存 内存 外存 内存中的数据,写回外存
虚拟存储技术: 页式、段式、段页式
2/24
4.6.1 Cache与主存映射 1. 设置Cache的原因
先查段表→页表首地址 再查页表→内存实页号
内存地址
要经过两次查表才能完成地址转换,速度较慢;
23/24
段表基址寄存器
虚段号 段表基址
虚地址
页号 页内地址
+
段表行地址
段表
+
...
….
页表首址
页表 … 实页号 …
实页号
页内地址
主存地址 段页式虚拟存储器地址转换过程
24/24
CPU访存 [技术效果]
CPU访问Cache
能使CPU读写指令、数据的速度大大提高。
虚页号 0000 有效位 1 实页号 0101 … …
0001 0010 …
1 0 …
1011 0010 …
… … …
←页表项 ←页表项 ←页表项
定位Cache的分组:直接映射;
定位Cache数据块:全相联映射;
→直接映射和全相联映射的折衷 速度快、硬件简单、成本低、易实现 (图4-49示)
10/24
0组
标记
0块
0块
标记
标记 标记 … 标记 标记 标记
1块
2块 3块 … 12块 13块 14块
1块
… 7块 8块 9块 … 15块
主存 0组 地址
255组
据此判断所在内存块 是否已映射到缓存中
图4-49 组相联映射 Na=20,每块512字节
11/24
[ 举例 ] 某计算机的 Cache 共有 16块,采用 2路 - 组相联映 射方式 ( 即每组包括 2 块 ) 。存储器按字节编址,每个主 存块大小为 32字节,那么 129号主存单元所在的主存块 应装入到的Cache组号是( ):
5/24
(1)直接映射
Cache:只分块、不分组 主存:既分块、也分组(每组的块数 = Cache块数)
[映射规则]主存的每一个数据块,只能映射到 与其组内序号相同的Cache数据块位置。
如果:K为Cache的块序号,J为主存块的序号,C为 Cache块号的位数。
则 K=J mod 2c =J mod 24
2046块
2047块
主存
将主存块的块号与Cache 块的标记字段比较,判 断主存块是否已映射到 缓存中
图4-48 全相联映射 Na=20,每块512字节
9/24
(3)组相联映射
Cache:既分块、也分组 (组内块数 = Cache组数) 主 存:既分块、也分组 [映射规则]
主存数据块,映射到与自己组内块序号相同的 Cache 分组,可占据Cache分组中的任意数据块位置。
页表基址寄存器
虚地址 虚页号 页 表 页内地址
页表起始地址
┆
页表行地址
实页号
1 实页号 页内地址 主存地址
页式虚拟存储器地址转换
20/24
2、段式虚拟存储器管理 虚存中的程序分段(按照代码段、数据段和共 享段等)进行管理。 为了将虚拟地址变换成主存实地址,操作系统 创建1个段表。 每段在段表中都占有一登记项,内容包括: 段号、段起点、段长、装入位等。 根据虚段号查段表 →在内存中的首地址 虚实地址变换,如后图示。
18/24
※页表基址寄存器
记录页表在主存中的起始地址;
页表项的地址a=页表基址b+页号n×表项的字节数w b→
0 1 2 … … …
如果表项占4B ←a
TLB
a = b+2×4
直接映射 全相联映 组相联映射
※快表(TLB) 把活跃的页表项用高速存储器单独存储,访问速度更 快,它是页表的子集。
19/24
组号
组内 块内地址 块号
1组
8位 3位 9位 00000011 111 000001110 =3 1组 定位到Cache的第7组 =7
6组
7组
标记
8位
15块
Cache块
16块
17块 …
2路-组相联映射 定位组:直接映射 定位块:全相联映射
比较Cache组内 的各标记字段
…
2045块 2046块 2047块
14/24
※Cache的读操作
① 旁路式读 (Look-Aside)
CPU向Cache和主存同时发读命令和地址。 Cache命中,则Cache回送数据并中断读主存命令; Cache未命中,则直接访问主存读取数据。
② 通过式读(Look-Through)
CPU首先向Cache发读命令和地址。 Cache命中,则从Cache中读出数据; Cache未命中,再将读命令和地址传给主存并读主存。
存在的缺点: Cache标记太长,判断时间太长。
硬件复杂、成本高、实现相对困难。
8/24
标记 标记 …
0块 1块 …
0块 1块 … 15块 16块 …
主存块号 块内地址
11位
=31
9位
00000011111 000001110
标记 15块
11位 Cache块
主存地址A 第几块中的 第几个地址?
21/24
段表基址寄存器 段表起始地址
虚地址 虚段号 段内地址
段表行地址
段 表
┆
段首地址
...
段首地址
段内地址
主存地址 段式虚拟存储器地址转换
22/24
3、段页式虚拟存储管理 每个程序按逻辑模块分段,每段再分页,页面 大小与内存页面相同; 由操作系统创建两表:段表、页表; 虚地址格式:段号+页号+页内地址 实地址格式:页号+页内地址
A. 0 B. 2 C. 4
D.6
[解题分析]
Cache如何分组、分块? Cache分8组,每组2块,每块32B 主存如何分组、分块? 主存分若干组,每组又分成8块
129=10000001
(组内块序号100) 0…010000001
12/24
4.常用的替换算法
(1)最不经常使用(LFU, Least-Frequently Used) 将一段时间内被访问次数最少的那块从Cache中 置换出去。 (2)近期最久未使用(LRU, Least-Recently Used) 将近期内最久末被访问过的Cache块置换出去。 (3)随机替换 随机确定将哪块从Cache中替换出去。
直接映射的规则,如图4-47示
6/24
标记
标记 …
0块
1块 …
0块
1块 … 15块 16块 17块 … 31块
0 1 15
第 0组
分组的 组内块 块内字 组号 序号 节地址 7位
0000001
4位
1111
9位
000001110
标记 15块
7位 Cache块
0 1 第 1组
=15
主存地址A 组号+块号+ 块内字节偏移;
※为解决CPU和主存速度不匹配而采用的一项 技术,使访问主存的平均速度接近于访问 Cache的速度。 ※由硬件系统实现,对用户透明。 ※已在CPU内集成,两级以上的Cache系统。
3/24
2. Cache的前提条件
※指令的执行具有局部性特征:
CPU从主存中取指令、数据,在一定时间内地址范围 常局限于主存的某个小区域。 因此可以将正在使用的部分(热点区指令和数据), 提前预取并存储到一个高速的、小容量的Cache中。
4.6 三级存储体系
计算机中的存储系统,分为三个层次:
Cache
内存
外存
硬盘 光盘 U盘
外 存: 确保计算机具有足够大的存储容量; 确保数据能脱机保存; 内 存: 存储运行期指令/数据,确保CPU能快速读取; CACHE:强化CPU快速读取指令和数据的速度;
1/24
※Cache和内存的关联
Cache
13/24
5. Cache的读/写操作
※Cache的写操作 当CPU发出写请求时,如果Cache命中,可以有 两种处理方案:
①Cache单元和主存单元同时写,使Cache和主 存保持一致,称为通写(write-through)。 ②只修改 Cache 单元,并用标志将该块加以注 明,直到该块从 Cache 中替换出来时才一次性 写入主存,称为回写(write-back)。
[讨论]命中率、平均访问时间和访问效率?
15/24
4.6.2 内存与外存的映射
※虚拟存储的基概念
在内存和外存之间,由操作系统存储管理模块及相关 硬件(存储器管理部件)实现的一种存储映射技术。
实地址码 虚实地址映射 虚地址码 虚拟 存储器
盘号、圆柱面、 磁头号、扇区号、字节序号
虚拟
主存
(直接硬件)
… …
15
定位Cache的第15块, 读取其标记字段
相等吗?
第127组
2032块 …
0 2033块 1
2047块 15
据此判断目标内存 块是否在Cache中
图4-47 直接映射 C=4、Na=20,每块512字节
7/24
(2)全相联映射
Cache:只分块、不分组 主 存:只分块、不分组
[映射规则]主存任何一个块都可以映射到Cache 的任何一个数据块位置上,如图4-48示。
内存中的数据,调入Cache 内存 Cache中的数据,写回内存
以数据块为单位整体操作: 直接映射、全相联映射、组相联映射
※内存和外存的关联
外存中的数据,调入内存 内存 外存 内存中的数据,写回外存
虚拟存储技术: 页式、段式、段页式
2/24
4.6.1 Cache与主存映射 1. 设置Cache的原因
先查段表→页表首地址 再查页表→内存实页号
内存地址
要经过两次查表才能完成地址转换,速度较慢;
23/24
段表基址寄存器
虚段号 段表基址
虚地址
页号 页内地址
+
段表行地址
段表
+
...
….
页表首址
页表 … 实页号 …
实页号
页内地址
主存地址 段页式虚拟存储器地址转换过程
24/24
CPU访存 [技术效果]
CPU访问Cache
能使CPU读写指令、数据的速度大大提高。