Download as pdf or txt
Download as pdf or txt
You are on page 1of 116

⼤萝⼘---组成原理考研复习思维导图(2021版)

💎考研你是认真的!做导图写教材我们也是认真的!
全⽹最详实的思维导图,图⽂并茂(恳请⼤家转
发各考研群)
幕布地址:https://mubu.com/doc/explore/4359
1
⼤萝⼘组原考研交流 QQ群:390142132,组原相
关问题有问必答
🔧⻝⽤⽅法
默认⼤纲模式,思维导图点击右上⻆思维导图
可另存到⾃⼰的幕布账号,⾃⾏编辑扩充,打
造⾃⼰专属导图
⽬前PC端好像有点问题,⼿机端可保存
内容详实到不能整体导出,可以只展开部分章
节然后按章节导出
📚参考教材(⼈邮🌸📗花书⾸发)
谭志⻁.计算机组成原理微课版.⼈⺠邮电出版
社.2021
样章试读:https://www.ryjiaoyu.com/book/detail
s/42720
作者卖⽠:http://vod0vwkapu4.vod.126.net/vod0v
wkapu4/2dfb4f7e-b73d-4fff-8f2b-146c619fc668.mp
4
购买链接
京东⼈邮店:https://item.jd.com/100270459152
06.html (哪⾥便宜买哪吧)
教材特⾊
兼容408考点,扩展Patterson COD⿊书相关内容
传统教材未覆盖的考研细节尽量全覆盖
每章习题收纳近10年考研真题
重点内容作为例⼦讲解
考研复习值得拥有!!!

5 MIPS 指令搞定所有数据通路结构、CPU不再难懂
单总线、MIPS单周期、多周期、五段流⽔
三级时序,现代时序、硬布线、微程序
补⻬理论知识实现细节,重难点都可⽤实验验证
组原不再是枯燥的理论知识,⽽是可以运⾏的原理
先有实验,后有教材,所有内容都是可实验验证
配套让⼈⼿痒的在线虚拟仿真实验(⾃⼰动⼿画CPU)
⽆需硬件即可实验:⾃动测试,⾃动评分
丰富的特⾊原创实验覆盖重点难点
头哥平台:https://www.educoder.net/paths/1426
阅读体验⼀流、教辅资源丰富
双⾊印刷突显重点和细节
每章思维导图⼩结
重难点微课视频讲解
理论实践两⻔MOOC
计算机组成原理
https://www.icourse163.org/course/HUST-100315900
1
计算机硬件系统设计
https://www.icourse163.org/course/HUST-120580981
6
(七星好课)https://www.cnblogs.com/alex101/p/1
4018077.html
多张精美PPT(动画演示)
1000
教辅资源下载(课件,实验资源等)
https://gitee.com/totalcontrol/hustzc/
⼀、计算机系统概述
计算机系统层次结构
计算机系统的基本组成
硬件系统
看得⻅的物理实体,电⼦线路和电⼦元件等
软件系统
解决问题的思想、⽅法,包括程序和数据
固件
固化的软件,firmware,本质是软件
软硬件功能逻辑等效
同⼀功能即可软件实现,也可以硬件实现
软件灵活性⾼,性能差,成本低
硬件效率⾼,成本⾼
功能划分要折中考虑
分层结构
软件层(虚拟计算机)
⾼级语⾔层
汇编语⾔层
操作系统层
硬件层
指令集架构层(机器语⾔层)
微代码层(可选)(微程序解释机器指令)
逻辑⻔层 (实体硬件)
📜考研真题
真题1

📈图解
🖥计算机硬件的基本组成
冯·诺依曼结构
组成:5⼤功能部件
存储器:存放程序和数据,按地址访问
运算器:执⾏算术运算和逻辑运算
控制器:根据指令的操作码、指令执⾏过程中的条
件状态、时序系统等三⽅⾯的因素来产⽣指令执⾏
过程中所需要的控制信号,控制指令的执⾏;
输⼊设备:将信息输⼊到计算机的外部设备,如键
盘、⿏标等。
输出设备:输出计算机处理结果的外部设备。如显
示器、打印机等
📈图解:早期计算机以运算器为中⼼,现代计算机以
存储器为中⼼
💎冯·诺依曼计算机特点
组成:运算器、控制器、存储器、输⼊和输出设备
存储程序
指令和数据以⼆进制形式存放在存储器中
指令顺序存放,存储器按地址访问
程序控制
程序运⾏时,控制器逐条从主存中取出指令,控制
全机相关部件执⾏相应操作,完成指令的功能直⾄
完成程序的功能。
由指令控制计算机的运⾏
由控制器来控制数据的存取及程序的执⾏
程序顺序执⾏,遇到分⽀指令可能改变顺序
📜考研真题
真题1

真题2

计算机软件系统分类
应⽤软件
解决应⽤问题的程序集合
如数据处理程序、情报检索程序等
系统软件
管理和调度计算机,⽅便⽤户使⽤计算机并提⾼使⽤
效率的程序的集合
操作系统、数据库管理系统
分布式软件系统、⽹络软件系统、标准库程序
语⾔处理程序
编译器:将⾼级语⾔转换成汇编语⾔
汇编器:将汇编语⾔转换成机器指令
解释器:将⾼级语⾔直接翻译成机器指令 如JAVA
计算机系统的⼯作过程
⼯作过程
CPU不断从主存中逐条取出指令,控制器对指令进⾏译
码分析,计算下条指令地址,并⽣成完成指令所需各
种操作信号序列,控制功能部件依序形成对应数据通
路,从⽽实现指令功能,再取下条指令,执⾏直⾄程
序中全部指令执⾏结束
CPU如何执⾏程序
将可执⾏程序和数据存放在主存中(存储程序)
可执⾏程序为机器语⾔编写的代码
CPU上电后即开始取指令、执⾏指令的死循环(程序控
制)
上电后从固定位置开始取指令
第⼀条指令是固化的BIOS程序
BIOS负责硬件⾃检,最后引导OS
OS负责加载可执⾏⽬标程序
单条指令执⾏过程
取指令
指令译码(分析指令功能,计算下条指令地址)
指令执⾏
程序执⾏的过程
循环取指令执⾏机器指令的过程
⾼级语⾔程序→可执⾏⽬标程序
编译型⾼级语⾔转换流程
预处理
预处理器对源程序中以#开头的命令进⾏处理
如#include命令后⾯的.h⽂件内容插⼊程序⽂件
输出是⼀个以.i为扩展名的源⽂件hello.i,还是C程

编译
编译器对预处理后的源程序进⾏编译
⽣成⼀个汇编语⾔程序hello.s,⽂本⽂件
📜考研真题
真题1

汇编
汇编器将hello.s 翻译成机器语⾔指令
输出为可重定位⽬标⽂件的hello.o,⼆进制⽂件
链接
链接器将多个可重定位⽬标⽂件和标准库函数合并
输出为⼀个可执⾏⽬标程序hello,⼆进制⽂件
解释性⾼级语⾔边解释,边执⾏,不⽣成⽬标代码
计算机系统性能指标
静态性能指标
机器字⻓
CPU⼀次处理的数据位数
与寄存器、运算器、数据总线的位宽相等
决定数据表示范围和精度
主存容量
主存储器所能存储信息的最⼤容量
时间相关性能指标
吞吐量
系统在单位时间内处理请求的数量
响应时间
⽤户向计算机发送⼀个请求,到系统对该请求做出相
应并获得结果所⽤的时间
响应时间越短,吞吐率越⼤
程序执⾏时间=CPU时间+等待时间(磁盘、存储器访
问、I/O操作、OS开销)
CPU时钟周期
时钟频率的倒数,是处理操作最基本的时间单位
主频
时钟周期的倒数,同等条件下,频率越⾼,性能越好
频率不可能⽆限提升,散热问题,串扰问题等
💎CPI
执⾏每条指令所需的平均时钟周期数;clock cycle per
instruction
n
💎CP I = ∑ (CP Ii × Pi ) =
i=1
n
ICi
∑ (CP Ii × )
i=1
IC
IPC
每个时钟执⾏的指令条数
IP C = 1/CP I
执⾏时间
CPU
程序执⾏期间真正消耗CPU的时间
Tcpu = CP I × IC × T
MIPS
每秒执⾏多少百万条指令数量 Million Instructions Per
Second
💎M IP S = f /(CP I × 106 )
全性能公式
💎M IP S = IP C × f
时钟频率 f 的单位为 MHz
MFLOPS
每秒执⾏多少百万次浮点操作
Million Floating-Point Operations Per Second
⽤于衡量科学计算性能
更⼤单位:TFLOPS、PFLOPS、EFLOPS、ZFLOPS
每个单位相差1000倍
💎磁存储,⽹络数传率也使⽤10进制为单位,计算时
需注意
1T B硬盘 = 10 Byte 9

100M 宽带 = 100 × 10 Bit/s 6

单⼀指标都不能准确评价性能,基准测试程序更靠谱
📜考研真题
真题1

真题2
⼆、数据表示和运算
数字与编码
进位制数及其相互转换
⼆进制编码
两种状态,容易与物理状态对应
可以表示任何信息
位数有限时不能表示循环⼩数
运算规则简单,适合⽤布尔代数设计电路,制造成本

数制转换
⼆进制转⼗进制
加权展开
⼗进制到⼆进制
整数除⼆取余,先余为低
⼩数乘2取整,先整为⾼
⼆进制转⼋进制 或16进制
从⼩数点向左右3/4位⼀分组
(10011100.01)2 = (234.2)8
(10011100.01)2 = (9C.4)16
真值和机器数
真值
⽤“+”、 “-”表示符号的数据格式,是机器数代表的
实际值
⽤于数据输出
机器数
“0”或“1”表示的符号和数值的数据格式
⽤于计算机存储,运算
常⻅机器码
原码
符号化的数值,“0”表示正数,“1”表示负数
最⾼位符号位,其它是数的绝对值
在数轴上的表示区间对称
存在正零和负零两个零
运算⽐较复杂,主要⽤于表示浮点数的尾码
反码
符号位与原码相同,表示范围也相同
在数轴上的表示区间对称
当真值为正数时,反码和原码相同
当真值为负数时,数值部分要逐位取反
主要⽤于求补
💎补码
数据表示建⽴在“模”的概念基础上,模的值即为符
号位进位的权值。
模2的补码
定点⼩数模值为2
定点整数模值为2n+1
模4的补码:变形补码
定点⼩数模值为4
定点整数模值为2n+2
其中n为数值位位数
当真值为负数时,补码等于真值加上模
在数轴上的表示区间不对称
唯⼀的机器零(少⼀个)
最左侧⽐原码、反码多表示⼀个最⼩负数
补码符号位可以直接参与加减运算,运算电路实现
⽅便
计算机中整数采⽤补码进⾏存储、表示和运算
移码
只⽤于表示整数,也称偏移码,真值+常量
⽅便⽐较⼤⼩,数字越⼤,真值越⼤
移码和补码的符号位相反,数值位相同
⽤于表示浮点数的阶码
机器码表示范围(只需记住补码公式,加模数)

补码机器零唯⼀,相⽐其他编码多表示⼀个绝对值最
⼤的负数,⼩数为-1,整数为−2n
机器码在数轴上的表示(对⽐理解)

机器码之间的转换
利⽤编码特性直接转换
转换为真值再转换(简单有效)
📜考研真题
补码是重点,会结合代码,指令格式(⽴即数,相对
寻址)进⾏考察
真题1

真题2

真题3

字符与字符串

ASCII
国际通⽤的字符码,7位表示128个字符
实际占⽤1个字节,最⾼有效位MSB=0
33个控制字符;其余为可打印字符
常⻅代码(了解)
20H 开始是空格等可打印字符
0 ~ 9 这 10 个数字是从30H 开始的⼀个连续区域
⼤写英⽂字⺟是从 41H 开始的⼀个连续区域
⼩写英⽂字⺟是从 61H 开始的⼀个连续区域
汉字编码
分类
输⼊码: 汉字的输⼊
拼⾳,五笔等
机内码: 汉字的存储
、 、 、 、 等标
GB2312 GBK GB18030 Unicode BIG5

字形码: 汉字的输出
GB2312
区位码
矩阵形式,由4位⼗进制数构成,前2位区码,后
2位位码
汉字机内码:区位码(16进制)+A0A0H
区分ASCII码,MSB=1
GB2312汉字占⽤两个字节,有效位14位
字符串
以"\0"结束的字符序列
数据表示
定义
将数据按照某种⽅式组织,以便机器硬件能直接识
别和使⽤。
关键问题
数据表示的范围和精度
数据存储和处理的代价
软件的可移植性问题
数据格式
使⽤⼆进制编码表示实际数据的结构形式
定点数的表示
定点数概念
⼩数点位置固定的数
定点数分类
有符号数⽆符号数
机器码到底有⽆符号取决于输出形式
C语⾔中printf中%d输出,%u表示⽆符号
定点整数和定点⼩数
定点⼩数:⼩数点隐含在符号位之后,有效数值
部分最⾼位之前
定点整数:⼩数点在有效数值部分最低位之后
溢出问题
定点整数存在上溢问题(超出表示范围)
定点⼩数存在精度溢出问题(超出表示精度)

定点数的运算
定点数的移位运算
算术右移:符号位保持不变,移动数值位
符号位不变,且向右移动
x/2 运算需要考虑向 0 舍⼊的问题
有符号时通常会将符号位累加在最低位后再进⾏算
术右移
逻辑移位:将操作数视为⽆符号数,全移
不管左移还是右移,都补0
2x 运算在⽆符号运算时可能会发⽣溢出
循环移位
带进位标志位CF(⼤循环)
CF参与循环
不带CF(⼩循环)
CF存储最新移出的数字的副本
💎移位运算实例
📜考研真题
真题1

原码定点数的加减运算(没考过)
符号位不能直接参与运算
加法运算需要“同号求和,异号求差”
减法运算需要“异号求和,同号求差”
求差时还需要先⽐较⼤⼩,然后⽤⼤数减去⼩数
结果的符号选择也相对复杂,运算复杂
补码定点数的加减运算
运算公式
补码加法
补码减法
运算规则
操作数采⽤补码表示,符号位参加运算
运算的结果为补码,符号位的进位位(模)直接丢弃
运算结果就是补码,符号位也是直接运算得到
逻辑实现
对于定点数加减法可以⾸先利⽤如下公式实现⼀位全
加器FA,再利⽤n个全加器串联构成n位串⾏进位加法

全加器FA电路(对称电路,输⼊可随意连接)
半加器HA,没有进位输⼊,电路更简单
定点数的乘除运算(⼏乎没考)
原码⼀位乘法
符号位单独运算
乘积符号位等于乘数和被乘数符号的异或
数值位采⽤绝对值进⾏运算
求积过程就是n个n位位积的累加问题
采⽤⼀个n位加法器进⾏循环累加进⾏求解
具体运算规则
部分积P的初值为零
每次将部分积P累加上yn ∣x∣后连同数据y⼀起同
步右移得到新的部分积
注意进位位参与移位,也就是上溢也可以继续运

n次运算和移位操作
最终的2n位乘积存放在P和y两个寄存器中。
📈图解
补码⼀位乘法
符号位参加运算
乘数取单符号位,末位增加⼀位附加位yn+1 =0
部分积P初值为0
运算规则
当yn yn+1 =00或11时,部分积加0,当
yn yn+1 =01时,部分积加[x]补;当 yn yn+1 =10
时,部分积加[-x]补,部分积计算完毕后连同乘数y⼀起
同步算术右移⼀位
移位n次,累加n+1次
图解
阵列乘法器
采⽤全加器阵列由组合逻辑电路直接完成
现代CPU中的乘法器
采⽤Booth两位乘法+华莱⼠树+流⽔线
定点除法运算
原码定点⼩数的⼀位除法
恢复余数法 (运算时间不固定)
不恢复余数法 (运算时间固定)
要求|x|<|y|,否则运算可能会发⽣溢出。
商的符号单独处理,即由两数的符号异或得到。
数值部分的运算规则

💎溢出概念和判断⽅法
溢出概念
上溢(⼤于最⼤可以表示的正数)
下溢(⼩于最⼩可以表示的负数)
精度溢出(超出可表示的精度)
有符号溢出判断
1、单符号判断法,利⽤操作数和运算结果的符号位进
⾏判断。
加法溢出规则:“正正得负,负负得正”
减法溢出规则:“正负得负,负正得负”
、进位位判断法
2
符号位进位和最⾼数据位进位进⾏异或操作
V = Cf ⊕ Cd
加减法均适⽤,实际计算机中采⽤
3、双符号判断法
将运算结果的两个符号位进⾏异或操作
V = Cf 1 ⊕ Cf 2
符号位相同⽆溢出,01表示上溢,10表示下溢
最⾼位⽤于表示正确的符号位
⽤于⼿⼯计算,⽅便⾁眼识别,计算机因为成本问
题不采⽤
⽆符号溢出判断
V = C ⊕ Sub
为进位输出,Sub=1表示减法,0表示加法
C
浮点数的表示
浮点数
表示⽅法:两个定点数分别表示阶码和尾数
📈图解
阶码(决定表示范围)
阶符:阶码正负性
阶值:指数部分
尾码(和阶码⼀起决定表示精度)
数符:浮点数的符号
尾数:尾数数字部分
表示范围⼤和精度⾼,运算复杂
溢出问题
存在上溢和下溢问题(阶码溢出)
也存在精度溢出问题(⽆法精确表示,只能舍⼊处
理)
尾数规格化
保证表示唯⼀
调整尾数和阶码,保证尾数最⾼位是有效值1
提⾼运算精度,充分利⽤尾数有效位
左归:
尾数左边⽆效位太多,往左移
左归可多位
阶码减少,尾数增⼤
右归
尾数运算溢出是要进⾏右归
右归最多⼀位
阶码增加,尾数减⼩
原码规格化数(绝对值⼤于等于0.5)
正数:0.1xxx
负数:1.1xxx
尾数最⾼位为1
补码规格化数
正数:0.1xxx
负数:1.0xxx 注意﹣0.5补码不是规格化数
符号位和尾数最⾼位相反
浮点数在数轴上的分布
刻度并不均匀,越往右,浮点数越稀疏

浮点运算不满⾜结合律
⼩数a+⼤数b=⼤数b(有可能)
编程时浮点数⽐较要⼩⼼
💎IEEE754标准
⼆进制浮点数
数符S、阶码E和尾数M
阶码采⽤移码表示
尾数采⽤原码数据表示,
隐藏⾼位1,运算时还原成1.M形式
⼆进制浮点数⽆法精确表示⼀些⼗进制⼩数
0.1 0.2 0.4等转换成⼆进制都是循环⼩数
对32位单精度格式⽽⾔:S为1位, E为8位,采⽤偏移值为
127的移码,M为23位

为什么是127⽽不是128?参考教材
10进制浮点数
可精确表示⼗进制浮点数,保证运算精度
解决⼆进制浮点运算引起的误差问题
IEEE-754 2008标准中有定义
IEEE754表示范围
阶码为全1时,表示⽆穷⼤或⾮数,浮点数除零不会异

阶码和尾码全零时表示机器零
阶码为零,尾数不为零时表示⾮规格化数
其他表示区间为规格化数

最⼤值,最⼩值问题

⼗进制数与浮点数的转换(常考)

📜考研真题:多次考察,⼩题⼤题都有
问题:浮点数能否直接⽐较机器码判断相等?为什
么浮点数不要随意⽐较⼤⼩?
真题

💎浮点数加减运算
对阶
⼩阶向⼤阶看⻬
阶码增加,尾数右移
尾数运算
规格化
尾数运算上溢:右归最多⼀位
尾数规格化下溢:左归处理,可以多位
舍⼊处理
0舍1⼊:舍去位最⾼位为1,尾数最低位加1,否则
舍去
舍⼊后尾数可能上溢,还需要进⾏⼆次规格化
恒置1法:舍去中有⼀位是 1,尾数最低位置 1
💰溢出判断
阶码溢出时浮点数才会发⽣溢出
上溢:进⼊异常处理
下溢:按机器零处理
注意IEEE754浮点数与采⽤补码表示阶码和尾数的浮点
运算法则的相同和不同之处
考研真题
真题

程序中的数据表示与运算(常考)
汇编语⾔中的数据类型
寄存器、存储器操作数本没有数据类型
对该数进⾏何种数据类型的操作完全取决于指令功能
有符号运算、⽆符号运算、定点运算、浮点运算指令
💎C语⾔中数据类型
整型
有符号整型包括char、short、int、long
分别采⽤8、16、32、64位补码进⾏表示
通过unsigned声明为⽆符号类型
整型运算溢出问题
有符号整数和⽆符号整数、浮点数都存在运算溢出的
问题
C语⾔不做溢出判断,需要程序员特别注意
考研真题
真题1
真题2

浮点型
C语⾔中常⻅的浮点数为float、double
分别对应IEEE 754中的单精度和双精度浮点数
不同数据类型的运算会在编译器的翻译下变成不同类
型的汇编指令
💎强制类型转换
相同位宽的整型数据进⾏强制转换时机器码保持不变
⼩字⻓转⼤字⻓时
⽆符号整型进⾏零扩展
有符号整型进⾏符号扩展
⼤字⻓转⼩字⻓时直接将机器码截短
float→double:由于double型数据的尾数、阶码宽度都
⽐float型⼤,因此其表示范围更⼤、精度更⾼,转换
后的 double 型数据与原 float 型数据完全相等。
double→float:⼤数转换时可能发⽣溢出,⾼精度数转
换时会发⽣舍⼊。
float/double→int:⼩数部分会截断,⼤数转换时可能
会溢出。
int→float:两种类型都是 32 位,所表示的状态数是⼀
样的,在数轴上表示的数据并不完全重叠,float 型⽤
其中⼀部分状态表示了更⼤的整数和⼩数;int 型中⼀
些⽐较⼤的整数⽆法⽤float型精确表示。浮点数尾数
连隐藏位在内⼀共24位,当int型数据的24~31位数据
⾮0时,⽆法精确转换成 24 位浮点数的尾数,此时会
发⽣精度溢出,需要进⾏舍⼊处理。
int→double:浮点数尾数字段为 53 位,可以精确表示
所有 32 位整数。
实例

📜考研真题
真题1

真题2
算术逻辑单元ALU
串⾏加减法电路
串⾏加法器
将n个全加器进位信号串联即可得到n位的加法电路

注意时间延迟分析,电路内部有并⾏性,详⻅教材
进位链依赖,运算速度和位数是线性关系,速度较

可控加减法电路
减法变加法,输⼊增加异或⻔,控制位送进位输⼊,
逐位取反,末位加1
有符号⽆符号运算均适⽤,区别是溢出检测逻辑
并⾏加法器
主要原理
采⽤先⾏进位电路提前得到所有进位位
各位的求和运算可以并发运算
注意先⾏进位电路也有开销和时间延迟
进位⽣成函数
进位传递函数
进位信号仅仅与G,P,C0有关
先⾏进位电路

四位快速加法器
先⾏进位电路级联

多级先⾏进位⽅式:组内并⾏,组间并⾏
可以尝试进⾏延迟分析,详⻅教材
功能和结构
ALU

定点运算器
算术逻辑运算单元ALU
算术逻辑运算单元是运算器的核⼼,由它实现算术
逻辑运算
通⽤寄存器组
通⽤寄存器组的作⽤是暂存参加运算的数据、运算
的中间结果或最后结果
输⼈选择电路
输⼊选择电路的作⽤是对若⼲个数据的输⼊进⾏选
择或控制
输出控制电路
输出控制电路对加法器的输出进⾏控制
💎运算器结构
单总线结构: 2个缓冲器,3个时钟完成运算
双总线结构:1个缓冲器,2个时钟完成运算
三总线结构:0个缓冲器,1个时钟完成运算
运算流⽔线
浮点流⽔线,将浮点运算的步骤进⾏细分

不提升单个运算的性能,优化密集型浮点运算性能
三、存储系统
存储器概述
存储器分类
按介质分
磁存储器:机械装置,速度较慢,单位成本较低
半导体存储:电⼦设备,速度快,单位成本⾼
光存储器:便于携带,成本低廉,适合电⼦出版
按存取⽅式分
顺序存储器:访问时间与存储单元位置有关,如磁带
随机存储器:访问时间与存储单元位置⽆关,如半导

直接存储器:顺序、随机的折中,如磁盘
按信息的可改写性分
读写存储器RAM
只读存储器ROM
按信息的可保存性
易失性:掉电数据丢失,如SRAM,DRAM等
⾮易失性:掉电数据不丢失,如磁盘,闪存等
按存储功能和速度分
寄存器、cache、主存、外存等
主要技术指标
存储容量
存储器可以存储的⼆进制信息总量
存取时间
启动⼀次存储器的操作到该操作完成所经历的时间
存取周期
连续启动两次访问操作之间的最短时间间隔
存储周期⼤于存取时间,⽤户读写操作后复原
存储器带宽
单位时间内存储器所能传输的信息量
常⽤的单位包括位/秒或字节/秒
存储器的层次结构
理想存储器
速度快、容量⼤、成本低(做梦)
基本原理
💎利⽤程序局部性的原理,从系统级将速度、容量、
成本各异的存储器有机组合在⼀起,从⽽全⽅位优化
存储系统的各项性能指标,构建理想存储器
上层给下层做缓冲,提升命中率,让数据尽量在上层
访问,详⻅cache机制
层次结构
主存的基本结构
原理图

💎地址与容量关系
地址译码器
最⼩项⽣成器(不懂的看看数字逻辑,后⾯还会⽤
到)
给出⼀个地址,只有唯⼀⼀根输出有效,选中⼀个
存储体单元
n位地址经过译码器产⽣2n 个译码线
⽣活中的例⼦,3位10进制⻔牌号可以编码103 个地

存储器地址只是换成了2进制,所以n位地址可以寻
址2n 个存储单元
已知容量为C,地址线根数为log2 C
C语⾔中的指针实际就是内存单元地址,所有指针变量
是⽆符号类型
💎主存中数据的存放
存储单元
存储单元的⼤⼩和机器字⻓相关
⼀个存储周期可以访问⼀个机器字⻓的存储单元
64位计算机⼀次可以访问64位的数据
💎地址访问模式
存储单元可按不同的⼤⼩访问 (都是⼀个存储周期)
字节访问、半字访问、字访问(机器指令⽀持)
字节地址、半字地址、字地址
实际计算机中只有字节地址
半字地址=字节地址<<1 相对字节地址少1根
字地址=字节地址<<2 相对字节地址少2根
不同地址访问模式

💎⼤端⼩端⽅式
⼩端⽅式:存储器的低字节地址单元中存放的是数据
的最低字节
⼤端⽅式:存储器的低字节地址单元中存放的是数据
的最⾼字节
💎数据的边界对⻬
有利于减少访问时间,但会造成主存空间浪费
short按双字节对⻬
float类型按4字节对⻬
double按8字节对⻬
复杂数据结构也会考虑对⻬问题
半导体存储器
存储器
SRAM
位存储体构成
1
6个MOS管
2个⼯作管
2个功耗管
2个⻔控管
SRAM组成 详解
📈六管SRAM结构图

, ⼯作管,源级和栅极互相耦合的MOS
T1 T2
管,漏级接地
T4,T4负载/功耗管,负责补充电荷,避免
MOS管的泄漏电流
T5,T6,⾏地址⻔控管,栅极⾼电平,打
开,否则断开
6管SRAM单元存储1个⽐特
⼯作管的导通和截⽌状态表示数据
MOS管导通截⽌
两个稳态,AB电位10或01

利⽤互相耦合的MOS电路的导通截⽌状态存储数据
易失性
SRAM读写原理
读出:⾏列同时选通,位线数据差分放⼤检出
写⼊:⾏列同时选通,数据从位线写⼊
SRAM读写原理详解
📈SRAM读原理
同时给出⾏选和列选信号,打开T5,T6,T7,
T8⻔控管
将I/O以及~I/O信号经I/O电路放⼤得到数据
SRAM写原理
同时给出⾏选和列选信号,打开T5,T6,T7,
T8⻔控管
将写⼊数据加载在I/O以及~I/O端
📈写⼊过程原理图

特征
SRAM
性能好,读写对称,性能⼀样
功耗⼤,密度低,单位容量成本⾼
SRAM芯⽚
数据总线双向
DRAM 存储器
1位存储体构成
1个⼯作管+1个⼯作电容
利⽤⼯作电容是否带电荷表示数据
易失性
访问过程
预充、访问、信号检测、数据恢复、数据读/写
DRAM特性
⾏列分时选通,相⽐SRAM速度慢,电容会泄露丢失数
据,需要定时刷新
存储密度⾼,功耗低,价格便宜,速度慢
DRAM刷新
按⾏刷新
刷新⾏地址由刷新控制器提供
最⼤刷新周期
信息存储到数据丢失之前的这段时间
集中刷新
集中安排时间刷新,存在死区,CPU⻓时间得不到
响应
分散刷新
⼀个存储周期细分为CPU访内和刷新两部分,存储
周期变慢
异步刷新
在最⼤刷新周期内每隔⼀段时间刷新⼀⾏
效率最⾼
DRAM芯⽚
⾏列地址复⽤,地址线减半,数据输⼊,输出分开,
数据线倍增
DDR存储带宽(了解)
以 DDR4-3200 为例
3200 为等效传输频率 f,单位为 MHz
数据位宽 w = 8 字节
则内存带宽 B = f ×w = 3200×8 = 25.6GB/s
由于时钟上跳沿和下跳沿各完成⼀次数据传输,因此
数据总线频率为 3200/2 = 1600MHz,
DRAM 的⼯作频率为 1600MHz/8 = 200MHz (DDR2/3/4
频率倍数分别是2,4,8)
有兴趣可以了解下DRAM存储带宽计算(参考教材)

只读存储器
ROM
只读存储器
利⽤开关电路存储数据
PROM
可编程⼀次
利⽤熔丝或反向⼆极管存储数据
EPROM
可擦除可编程
利⽤浮置栅存储数据
紫外线擦除,⾼压写⼊
EEPROM
电可擦除
在EPROM基础上增加控制栅极
存储器
Flash

闪存,和EEPROM类似
U盘,SSD固态盘使⽤
📜考研真题
真题1

真题2

主存储器与CPU的连接
存储器与 CPU 的连接
连接地址线,数据线,控制线
💎存储扩展
位扩展:(数据总线扩展)
数据总线宽度不匹配:字位扩展=字⻓扩展=数据总线
扩展
多芯⽚并发:提供更多的数据位
📈字⻓扩展原理图
字扩展:(地址总线控制)
地址总线宽度不匹配:字数扩展=容量扩展=地址总线
扩展
⾼位⽤译码器进⾏芯⽚⽚选
如果低位⽚选就变成了交叉编制模式
译码器的功能就是最⼩项⽣成器,具体⻅数字逻
辑课程
多芯⽚串⾏:同⼀时刻只有⼀个芯⽚⼯作
需明确每个存储芯⽚在全局范围内的地址空间
字数扩展原理图

字位同时扩展
⼆者都不匹配:综合扩展
📈
注意译码器输出对应芯⽚地址范围,有考过
📈图中第⼀组ROM的地址范围和第三组RAM地址范
围是多少?

考研真题
真题1

双⼝RAM和多模块存储器
双端⼝存储器
⼀个存储器,两套独⽴读写逻辑,带宽提升⼀倍
两端⼝存在访问冲突
同⼀单元同时写
同⼀单元⼀读⼀写
图解

单体多字存储器
⼀个地址,多个存储字,多个存储单元并发
扩⼤了数据总线宽度
双通道内存
📈联动模式和⾮联动模式双通道内存

多体交叉存储器
顺序编址:⾼位⽚选,⽤于扩充容量,存在单点故

交叉编址:低位⽚选,⽤于提升速度,流⽔⽅式访

📈图解
📜考研真题
真题

⾼速缓冲存储器(cache)
的基本原理
cache
主要思路
💎CPU 与主存之间增加⼀个隐藏的⼩容量的快速的
SRAM 存储器,将 DRAM 主存中经常访问或即将访问的
数据的副本调度到 SRAM中,使得⼤部分数据访问都可
以在快速的 SRAM 中进⾏,从⽽提升系统读性能,写性
能可以通过写回策略提升。

程序局部性原理
时间局部性
当程序访问⼀个存储位置时,该位置在未来可能会
被多次访问
常⽤变量、程序的循环结构和过程调⽤
空间局部性
⼀旦程序访问了某个存储单元,则其附近的存储单
元也即将被访问。
数组、结构体、顺序指令
常⽤术语
数据块:主存,cache均划分位⼤⼩相同的块
块具有预读的作⽤
块过⼤时间局部性利⽤不佳
块过⼩空间局部性利⽤不佳
cache⾏,槽:包括数据副本和描述数据副本的元数据
标记、标志、置换标志
命中hit、缺失miss
命中率、缺失率

平均访问时间
cache 访问效率

💎cache读写基本流程
读流程
cache
命中直接访问cache,确实访问主存,并将数据块载⼊
cache
cache 写流程
命中根据写⼊策略写⼊,不命中根据写分配策略写⼊

实现机制
cache
💎查找机制
硬件查找:相联存储器
不按地址进⾏访问,按内容进⾏访问
所有存储单元与关键字并发⽐较
成本⾼:需要多路⽐较器
📈图解
💎映射机制
全相联
基本特征
主存块可以映射到任何⼀个cache⾏
查找时n路并发⽐较,硬件成本⾼
命中率⾼,cache利⽤率⾼
cache满时需要淘汰算法
全相联cache容量计算
cache⾏内容
valid位(区分是否有数据)
主存块地址tag
数据块副本
脏数据位
置换标记位
cache容量 = ⾏数 *cache⾏容量
全相联图解
只是成本⾼,其访问速度⽐直接相联更快
全相联⼯程实现
CPU与cache之间交换的单位是字
cache与主存交换单位是块

直接相联
基本特征
主存块只能映射到唯⼀的cache⾏
查找时只需⼀个⽐较器,硬件成本低
命中率低,cache利⽤率低
⽆淘汰算法,有冲突,直接置换
直接相联cache容量计算
cache⾏内容
valid位(区分是否有数据)
区地址
数据块副本
脏数据位
置换标记位
cache容量 = ⾏数 *cache⾏容量
直接相联图解
📈

直接相联⼯程实现
📈增加了⾏索引译码器,所以其访问延迟⽐全相
联慢

组相连
折中实现,是直接相联和全相联的通⽤模型
查找成本,命中率,利⽤率折中
地址划分对⽐
r=0 全相联 d=r 直接相联
📈搞懂组相联,其他两个都ok,注意地址划分
📈图解
组相联有两种⽅式,考研第⼀次出现的时候出现
歧义

这⾥只关注最容易理解的⼀种
⼯程实现
成本低,多路⽐较器数⽬变少

替换策略
FIFO 先进先出
每个数据块⼀个计数器(硬件成本)
每次访问所有计数器+1
替换计数值最⼤的⾏(时间最久)
容易出现颠簸现象
LFU 最不经常使⽤
每个数据块⼀个计数器(硬件成本)
访问命中的块计数器+1
替换计数值最⼩的⾏(访问次数最少)
历史访问计数并不能反映当前热度
LRU 近期最少使⽤
每个数据块⼀个计数器(硬件成本)
访问命中的计数器清零
替换计数值最⼤的⾏(近期最少使⽤)
近期最少使⽤,能反映当前数据热度,命中率⾼
随机替换
⽆计数器,成本最低,命中率低
随机不⼀定效率低,在虚存TLB中采⽤
写⼊策略
写回
产⽣不⼀致性,有脏数据,写响应快
提升写速度,减少访存次数
写穿
不⼀致性,⽆脏数据,写响应慢
写分配策略
写⼊缺失时是否分配cache块
📜考研真题(重点内容)
真题1
真题2

虚拟存储器VM
基本概念
在硬件和OS联合管理下,将磁盘空间、内存空间构成⼀个
更⼤的虚拟地址空间,让更多的更⼤的程序在有限的内存
空间运⾏,主要作⽤是扩⼤主存地址空间,进⾏存储保护
采⽤了类似cache的技术
相同之处
将经常访问的数据放到快速存储器中
提升性能
数据分块或分⻚
不同之处
cache解决性能问题,VM解决容量问题
cache硬件实现,VM软硬协同
cache透明,VM对应⽤程序员透明,对系统程序员
不透明
VM确实性能损失过⼤
实例
⻚⾯⽂件,交换分区
Windows
实模式:物理地址模式,嵌⼊式系统,OS引导之前
保护模式:虚拟地址模式,OS引导之后
分类
⻚式虚拟存储器(考研重点,多次和cache⼀起考,结
合OS⼀起复习)
以固定⼤⼩⻚为单位,常⻅4KB,也有更⼤的⻚
⽆碎⽚,存储共享保护不⽅便
段式虚拟存储器(OS课程复习,组成未考过)
以段为单位,存储共享保护容易、易产⽣碎⽚
段⻚式(OS课程复习,组成未考过)
⻚式虚拟存储器
基本原理
虚拟地址VA和物理地址PA
内存与虚拟空间均划分为固定⼤⼩的⻚

虚拟地址空间⽐实际物理地址空间⼤
应⽤场景:保护模式下机器指令所使⽤的地址是虚拟
地址
内存管理单元MMU实现VA到PA的转换
按需载⼊,采⽤cache类似机制进⾏淘汰
操作系统loader加载程序到主存时仅仅建⽴⻚表映
射关系,将⻚表项中的地址指向磁盘地址,程序运
⾏时发⽣缺⻚时才将磁盘地址对应的⻚调⼊内存
物理内存⻚⾯满后,利⽤cache类似机制进⾏替换,
但注意缺⻚时缺失损失远⼤于cache
⻚表结构
每个虚⻚在⻚表PageTable中有⼀个⻚表项⽬PTE
PTE=PageTable[VPN]
中 表示⽆效
PTE valid=0
⻚表项中还包括PPN或磁盘地址
📈图解

⻚表⼤⼩和虚⻚数有关系,⻚表体积较⼤,⻚表常驻
内存,每个进程⼀个独⽴的⻚表,通常OS中采⽤多级
⻚表减少⻚表体积,进程切换时通过切换⻚表基址寄
存器来快速切换⻚表(有可能两个⻚表,⽤户态⼀
个,内核态⼀个)
⼀级⻚表过⼤,⽬前操作系统采⽤多级⻚表
💎⻚表地址转换过程
⽤VPN作为索引访问⻚表得到valid=1时,⻚命中,直接
得到PPN,否则缺⻚
📈图解
虚拟地址访问流程
⻚命中(不考虑cache)

⻚缺失(不考虑cache)

增加cache层次

💎TLB
多级⻚表需要反复查找⻚表,会⼤⼤降低转换速度
cache中的⻚表块粒度过⼤
增加⼀个TLB快表缓存最经常访问的⻚表项,提升命中
率,加速地址转换

💎CPU访存过程
📈流程图

命中组合
📜考研真题(3次⼤题,cache,虚存混合⼀起,OS
也考过)
真题1

真题2

真题3
真题4

真题5
四、指令系统
指令系统基本概念
指令是计算机执⾏某种操作的命令,⼀台计算机中所有
机器指令的集合称为指令系统。
机器语⾔指令是计算机硬件与软件的界⾯,也是⽤户操
作和使⽤计算机硬件的接⼝。软件层次的指令需要经
过“翻译”成机器语⾔指令后才能被计算机硬件识别并执
⾏。
⼀条⾼级语⾔指令被“翻译”(编译或解释)成多条机器
语⾔指令
⼀条汇编语⾔指令(不包含伪指令)对应⼀条机器指令
⼀条机器指令功能的实现依赖于多条微指令的执⾏
完善的指令系统特征
完备性、规整性、有效性、和兼容性
指令格式
指令基本格式
指令格式
指令⻓度
⼀条指令所包含的⼆进位数
按与机器字⻓的关系分
半字⻓指令
单字⻓指令
多字⻓指令
多字⻓影响取指令速度,需要多个主存周期
按指令⻓度是否统⼀
定⻓指令:便于处理(包括计算地址、取指令、指令
译码)
变⻓指令:指令结构紧凑,程序占⽤空间少,但不
便于处理
操作码:指明指令的具体操作性质
定⻓操作码
操作码⻓度n与指令规模m的关系
n ≥ log2 m
有利于指令译码,简化控制器设计
但操作数地址位数有限
变⻓操作码
💎扩展操作码: 将指令的操作码字段向不⽤的地址码
字段扩展
充分利⽤字⻓,增加指令数,指令译码麻烦,控制
器设计复杂
图解

种指令操作码部分不得重叠,否则⽆法区分,译
3

短码不能是⻓码的前缀
设双操作数指令数为k, 显然k < 28
28 − k 为多余状态,可⽤于表示其他类型指令
28 − k 可⽤于单操作数指令的条数=(28 −
k ) ∗ 212 ,212 是多余12位组合
地址码:地址码⽤于描述操作数
三地址、⼆地址、单地址、零地址
地址码可能分为寻址特征位和形式地址两部分
📜考研真题
真题1

指令字⻓度
指令的寻址⽅式
有效地址的概念
寻址⽅式的定义
寻找指令或操作数有效地址的⽅法
数据寻址和指令寻址
指令寻址
顺序寻址⽅式:
💎PC =PC+ ”1” ,这⾥的“1”表示⼀条指令所占⽤的主存单
元数(按字节编址)
MIPS32中 PC=PC+4
跳跃⽅式寻址
PC = 转移地址值
转移地址值可能直接来⾃指令中的形式地址字段,也可
能通过计算后得到
💎操作数寻址
概念:指明操作数的有效物理地址
构成:把操作数部分分为【寻址特征I】+【形式地址D】
⽴即数寻址
指令的形式地址字段给出的就是操作数,不需要计算有
效地址
⽆需访存,指令执⾏速度快,但⽴即数⼤⼩受字段⻓
度限制
直接寻址:E = D
指令的形式地址字段给出的就是操作数的地址;
寻址范围受字段⻓度限制
寄存器寻址:S=R[D]
操作数在寄存器中,D为寄存器编号

⽆需访存,执⾏速度快
间接寻址:E=(D)
形式地址字段给出的是操作数存储单元的地址
需要访问两次主存才能取出操作数,慢,已淘汰
可有效扩⼤寻址空间⾄整个主存范围

寄存器间接寻址:E= R[D]
指令的形式地址字段所指寄存器的值是操作数的地
址;
相对间接寻址速度更快,也可扩⼤寻址范围

相对寻址:E=(PC) + D
由指令的形式地址字段给出的偏移量与PC的值相加得
到数据的有效地址。
形式地址决定了指令前后跳转的范围

注意很多指令系统相对寻址都是相对下⼀条指令的PC

基址寻址:E =(BX)+ D
基址寄存器(设为BX)的值与指令的形式地址字段给出的
偏移量相加得到操作数的有效地址
变址寻址:E = R[X]+D
变址寄存器(设为X)的值与指令的形式地址字段给出的
偏移量相加得到操作数的有效地址
变址寄存器为通⽤寄存器
复合寻址
变址+间接寻址⽅式:EA= ((X)+ D)
间接寻址+变址⽅式:EA= (X)+(D)
相对+间接寻址 : EA=((PC)+D)
堆栈寻址
硬件堆栈,成本⾼,容量⼩
栈顶不动,数据移动
内存堆栈,成本低,容量⼤
数据不动,栈顶移动
⼊栈操作:SP = (SP)-1 , M[SP]= (R);
出栈操作:R =(M[SP]),SP=SP-1 ;
📈图示

📜考研真题
真题1
真题2

指令格式设计
定⻓/变⻓/混合编码指令格式?
操作码的设计
根据指令完备性要求选择操作码字段位数
是否采⽤扩展操作码
地址码的设计
既要为指令提供操作数,⼜要满⾜指令系统的有效
性和规整性要求
地址码的设计往往还与寻址⽅式有关
⽤间接寻址⽅式缩短地址码⻓度
⽤变址寻址⽅式缩短地址码⻓度
寻址⽅式字段的设计
把寻址⽅式与操作码⼀起编码
设置专⻔的寻址⽅式字段
💎CISC和RISC的基本概念
复杂指令系统计算机CISC
变⻓指令字结构
指令系统复杂庞⼤且指令数⽬多
指令格式种类多
指令寻址⽅式种类多
指令译码复杂
⼤多数采⽤微程序设计
指令执⾏速度慢
精简指令系统计算机RISC
等⻓指令
寻址⽅式少且简单
Load/Store架构: 只有取数和存数指令访问存储器
指令数量和指令格式少、指令功能简单
CPU内部设置了⼤量的寄存器
控制器多采⽤硬布线⽅式
⼤多数指令可在⼀个时钟周期内完成、⽀持指令流⽔并强
调指令流⽔的优化使⽤
设计⽅便,可靠性⾼,设计周期短
和 近年来在技术上互相融合
CISC RISC

📜考研真题
真题1
指令特点(32位MIPS为例)
MIPS
架构
Load/Store
指令格式规整,寻址⽅式简单,指令功能简单
只有R型、I型和J型三类指令
指令格式图解

个 位的通⽤寄存器
32 32
32位定⻓指令结构
操作码字段⻓度固定为6位
没有寻址⽅式字段,5种寻址⽅式
寄存器寻址、⽴即数寻址、变址寻址、相对寻址、
伪直接寻址
📜考研真题
真题1

真题2
真题3

五、中央处理器
的功能和组成
CPU
CPU 功能
程序控制
控制程序中的指令按事先规定的顺序⾃动地执⾏
操作控制
产⽣指令执⾏过程中所需要的操作控制信号
时间控制
对每个操作控制信号进⾏定时
数据加⼯
对数据进⾏算术或逻辑运算
中断处理
处理随机产⽣的内部异常和外部中断请求
💎CPU中的主要寄存器
程序计数器(PC)
PC保存将要执⾏的指令地址
存储器地址寄存器(AR)【可选】
AR通常⽤来保存访存地址,⽆论CPU取指令还是存储
数据,都必须先将要访问的主存单元地址送AR。
存储器数据寄存器(DR)【可选】
DR作为CPU和主存之间的数据缓冲寄存器⽤于存放操
作数、运算结果或中间结果,以减少访问主存的次
数;
也可存放从主存中读出的数据,或准备写⼊主存的数
据。
指令寄存器(IR)【可选】
IR ⽤于保存指令字,从主存取出的指令存放在IR 中
通⽤寄存器组(GR)【程序员可⻅】
可作为ALU的累加器、变址寄存器、地址指针、指令计
数器、数据缓冲器,⽤于存放操作数(包括源操作
数、⽬的操作数及中间结果)和各种地址信息等。
程序状态字寄存器(PSW)【可选】【程序员可⻅】
⽤于保存由算术运算指令、逻辑运算指令、测试
PSW
指令等建⽴的各种条件标志。
常⻅的状态信息包括进位标志(C)、溢出标志(V)、结果
为负数标志(S)及结果为零标志(Z)等
程序员不可⻅的寄存器包括PC、AR、DR、IR等,称为透
明寄存器
📜考研真题
真题1

真题2

的组成
CPU
运算器
运算器是执⾏部件,由算术逻辑单元和各种寄存器组
成。运算器接受控制器的命令执⾏算术运算、逻辑运
算及逻辑测试等功能
通⽤寄存器GR,程序状态寄存器PSW
控制器
取指令、计算下⼀条指令的地址、对指令译码、产⽣
相应的操作控制信号序列,形成完成指令所需要的数
据通路,控制指令执⾏的步骤和数据流动的⽅向。
AR、DR、PC、IR
指令执⾏过程
指令执⾏的⼀般流程
📈图解
💎指令周期
定义
将⼀条指令从取出到执⾏完成所需要的时间称为指令
周期
简单划分
取指周期
负责取指令
执⾏周期
负责指令执⾏
还可以进⼀步细分,如间址周期
中断周期
指令执⾏完毕后处理中断
指令周期的划分不尽相同
不同功能的指令
不同寻址⽅式
和不同计算机系统对
💎传统三级时序
指令周期可划分成若⼲个机器周期(也称为CPU周期)
机器周期:取指令所需要的最短时间,指令cache命
中时最短
⼀个机器周期⼜包括若⼲时钟周期,可以进⾏⼀
系列复杂的操作
⼀个时钟周期只能进⾏简单的微操作,如寄存器
写⼊
⼀个机器周期⼜分成若⼲个节拍电位时间段,
通常以CPU完成⼀次微操作所需要的时间为基础
来定义节拍电位的时间。
⼀个节拍电位中⼜包含1个或多个节拍脉冲
教材中的例⼦都是1个节拍
现代时序系统
已经不再使⽤机器周期、节拍电位和节拍脉冲三级时
序体制,指令执⾏过程中的定时信号就是时钟信号,
⼀个时钟周期就是⼀个节拍,不再设置节拍脉冲
数据通路的功能和基本结构
数据通路的基本概念
数据在功能部件之间传送的路径称为数据通路。
运算器与各寄存器之间的传送路径就是中央处理器内部的
数据通路。
指令功能不同,指令执⾏过程中所⽤到的功能部件不同,
其数据通路也不同
2种数据通路结构
数据通路构成
数据处理单元(组合逻辑)
状态存储单元(时序逻辑)
📈图解
数据通路的时钟频率取决于数据处理单元的关键延迟
数据通路分类
总线结构:实现简单,总线复⽤,效率低下
专⽤通路:硬件复杂,指令执⾏效率⾼
💎基于单总线结构的数据通路
基本特征
CPU 中的运算器、控制器、寄存器堆等核⼼部件均通
过⼀条内部的公共总线连接起来
同⼀时刻只有⼀个部件向总线输出数据
数据传输只能分时使⽤总线
数据通路图解

📈指令周期图解
基于专⽤通路结构的数据通路
基本特征
各功能部件之间均基于专⽤的数据传输通路连接
各通路中的数据可并⾏传输,控制较总线结构要简单
💎单周期MIPS
所有指令⼀个时钟周期完成,CPI=1,但时钟频率取决
于最慢的LW指令
数据、指令分开存放保证取指令和取操作数并⾏
运算PC、运算分⽀地址、运算数据所需的ALU分别设
置,成本较⾼
控制器为组合逻辑,不同指令产⽣不同的控制信号组
合,形成对应的数据通路
多周期MIPS
不再区分指令存储器和数据存储器,指令和数据保存
在同⼀存储器中
部分功能单元,如 ALU可在⼀条指令执⾏过程的不同
时钟周期中多次使⽤,不需要额外设置ALU或加法器
主要功能单元输出端都增加了⼀些附加寄存器,暂存
当前时钟周期加⼯处理的数据给后续时钟周期使⽤
DR、IR
A、B 缓存寄存器操作数
C 缓存分⽀地址或ALU运算结果
增加和扩展了部分多路选择器
增加了ALU控制器
专⻔负责产⽣ ALU 的运算选择控制信号 AluOP
⽅便合并R型运算指令以及I型指令的状态机
📈指令周期图解
注意S2,S5状态可以合并,R型运算指令共享S8~S9
路径,I型运算共享S10~S11路径

控制器是时序逻辑,需要实现尚需状态机,每⼀个
圆圈⼀个时钟周期
不同指令时钟周期数不⼀样
📜考研真题
真题1

真题2

真题3
真题4

真题5
真题6
中央处理器的定时
控制⽅式
同步控制⽅式
选取部件中最⻓操作时间作为统⼀的时间间隔进⾏时
序同步。
教材中例⼦都是同步
异步控制⽅式
系统不设⽴统⼀的时间间隔标准,各部件设置各⾃的
时序系统,分别实现各⾃的时序控制,主要采⽤异步
应答通信机制实现
联合控制⽅式
将同步控制与异步控制相结合,对⼤多数需要节拍数
相近的指令,采⽤同步控制;⽽对少数需要节拍数多
的指令或节拍数不固定的指令,采⽤异步控制
💎传统三级时序
机器周期电位、节拍电位、节拍脉冲
📈时序图
⼀条指令包括x个机器周期,⼀个机器周期包括y个节
拍,⼀个节拍包括z个脉冲

, , 的值与指令寻址⽅式,CPU设计等有关,可固
x y z
定,也可以变化
节拍电位变化的时刻决定了控制信号产⽣的时刻
节拍电位的⻓度决定控制信号的持续时间
脉冲跳变时刻决定寄存器,存储器锁存时刻
为满⾜寄存器的定时机制,正确写⼊数据,节拍电位
变化时刻应该和脉冲跳变时刻错开
现代时序
只有时钟周期,指令执⾏过程是时钟驱动的状态机
时序发⽣器
功能
输⼊时钟脉冲信号,指令译码信号、反馈信号持续不
断的产⽣状态周期电位和节拍电位,操作控制器利⽤
这些周期、节拍电位信号对操作控制信号进⾏时序的
调制,⽣成控制信号序列
输⼊:clk,指令译码、反馈信号
输出:状态周期电位,节拍电位
📈图解

设计思路
利⽤数字逻辑同步时序电路设计⽅法进⾏构造,根据
状态机进⾏实现
定⻓指令周期状态机
状态切换只与时钟信号有关
变⻓指令周期状态机
状态切换还与指令译码有关

📜考研真题
真题1

操作控制器
控制器的设计⽅法
硬布线:硬布线控制器采⽤数字逻辑电路的⽅法设计
微程序:⽽微程序控制器是利⽤软件⽅法设计,存储逻
辑,软时序
微程序控制器是具有规整性、灵活性、可维护性等⼀系列
优点,在计算机设计中得到了⼴泛应⽤,并取代了早期的
硬布线控制器设计技术,但随着VLSI技术的发展和对机器
速度不断提⾼的要求,硬布线设计思想⼜重新得到了重
视。
硬布线控制器设计
💎基本思想
硬布线控制器中微操作控制信号是指令译码输出、时
序信号和状态条件信号的逻辑函数,可⽤布尔代数写
出逻辑表达式,再⽤⻔电路和触发器实现。根据定时
机制的不同分为传统三级时序和现代时序两种,现代
时序的核⼼逻辑是有限状态机。
传统三级时序硬布线控制器
设计原理
硬布线控制器是组合逻辑
输⼊:指令译码、状态周期电位、节拍电位、反
馈信号
输出Cn:微操作控制器信号序列
逻辑函数
例⼦
📈图例

设计流程
(1) 分析指令执⾏的数据通路,列出每条指令在所有
寻址⽅式下的执⾏操作流程和每⼀步所需要的控制
信号。
(2) 对指令的操作流程进⾏细化,将每条指令的每个
微操作分配到具体的机器周期的各个时间节拍信号
上,即对操作控制信号进⾏同步控制。
(3) 根据控制信号同步控制⽅式构造合适的时序发⽣
器。
(4) 对每⼀个控制信号进⾏逻辑综合,得到每个控制
信号的逻辑表达式。
最后采⽤逻辑⻔或PLA 或 ROM实现逻辑表达式的
(5)
功能。
现代时序硬布线控制器
设计原理
核⼼是有限状态机
控制信号是现态的函数
📈图解

设计流程
(1) 分析指令执⾏的数据通路,列出每条指令在所有
寻址⽅式下的执⾏操作流程和每⼀步所需要的控制
信号。
(2) 对指令的操作流程进⾏细化,将每条指令的每个
微操作分配到具体时钟节拍上。
(3) 以时钟周期为单位构建指令执⾏状态图,⽣成状
态转换表,实现有限状态机电路。
(4) 收集每⼀个控制信号产⽣的所有状态条件,得到
每个控制信号的逻辑表达式。
(5) 最后采⽤逻辑⻔或PLA或ROM实现硬布线控制器
逻辑。
💎微程序控制器
基本概念
微命令:控制部件向执⾏部件发出的各种控制命令
微操作:执⾏部件收到微命令后所进⾏的操作
相容性微操作:能在同⼀个时钟周期内并⾏执⾏的
微操作
互斥性微操作:不能在同⼀个时钟周期并⾏执⾏的
微操作
微指令与微程序
微指令:⼀个CPU周期或时钟周期中,⼀组实现⼀
定操作功能的微命令的组合
微指令格式
操作控制字段:存储微操作控制信号
每⼀位对应⼀个控制信号,也称微命令,
可同时给出多个操作信号
顺序控制字段:控制微程序执⾏顺序
判别测试位:如果为1,要约定条件⽣成
下⼀条微指令地址
下址字段:判别测试条件为0时下⼀条微
指令的地址
图解

微程序
实现⼀条指令功能的若⼲条微指令的集合
微指令的执⾏意味着其定义的所有控制信号被激

微程序的执⾏意味着控制⼀条指令执⾏所需要的
控制信号按照⼀定的顺序依次被激活,是⼀种软
时序
1条指令=1段微程序
1段微程序包括多条微指令
1条微指令包括多个微命令
💎微程序控制器组成
微程序控制器组成原理
初始化,微地址寄存器为0,控存0号单元为取指令微
程序⼊⼝
📈下址字段法

计数器法
判别测试位增加⼀个Pend ,表示最后⼀条微指
令,下⼀条微指令应该返回取指微程序

微程序制器的⼯作原理
💎仿照程序设计的⽅法,把完成每条指令所需要的操
作控制信号编写成微指令,存放到⼀个只读存储器(控
存)中。每条机器指令对应⼀段微程序,当机器执⾏程
序时依次读出每条指令所对应的微指令,执⾏每条微
指令中规定的微操作,从⽽完成指令的功能,重复这
⼀过程,直到该程序的所有指令完成。
存储逻辑:控制信号序列不由硬件产⽣,⽽是像程序
⼀样存储起来
控制信号序列分解为若⼲时钟节拍
⼀个节拍的控制信号编成⼀条微指令
⼀条指令有多少节拍就对应多少条微指令,形成⼀
段微程序
取指令过程是公操作,取指令过程对应取指微程
序,取指微程序为所有指令共享
📈控存中的微程序图解

软时序:依序执⾏微指令即可⽣成控制信号序列
执⾏⼀条微指令,给出对应的控制信号
微指令周期就是⼀个时钟周期,控制器信号的时间
⻓度就是⼀个节拍
软时序:按顺序执⾏微指令,就是按顺序给出控制
信号
指令取指执⾏→微程序执⾏→ 微指令执⾏→⽣成控制
信号序列
微程序控制器的设计流程
(1) 分析指令执⾏的数据通路,列出每条指令在所有寻
址⽅式下的执⾏操作流程和每⼀步所需要的控制信
号。
(2) 对指令的操作流程进⾏细化,将每条指令的每个微
操作分配到具体的机器周期的各个时间节拍信号上。
(3) 以时钟周期为单位构建指令执⾏状态图。
(4) 设计微指令格式、微命令编码⽅法。
(5) 根据指令执⾏状态图编制每条指令的微程序,按照
状态机组织微程序存放到控存中。
(6) 根据微程序组织⽅式构建微程序控制器中的地址转
移逻辑,构建微程序地址转移逻辑、微地址寄存器
µAR、控存之间的通路,实现微程序控制器。
微指令及其编码⽅法
微指令编码⽅法
直接表示法
将微指令的操作控制字段的每个⼆进制位定义为
⼀个微命令,⽤该位的“1”或“0”表示相应的微命
令的“有”或“⽆”
简单,并⾏,速度快,微指令字⻓
编码表示法
将微指令格式中的操作控制字段分成若⼲组,每
组中包含若⼲个互斥性微命令,将相容性的微命
令安排在不同组
应该预留空状态,表示任何⼀个互斥信号都不给

微指令字短、增加译码器延迟
混合表示法
将直接表示法与编码表示法混合使⽤。
微指令格式
⽔平微指令
编程难,微程序短,并⾏性⾼,速度快,控存开
销⼤
垂直微指令
编程易,微程序⻓,并⾏性差,速度慢,控存开
销⼩,已淘汰
📜考研真题
真题1

指令流⽔线
指令流⽔线基本概念
将⼀条指令的执⾏阶段划分成⼏个阶段,各阶段在不同的
功能部件上并⾏执⾏,使得在同⼀个时钟周期内能同时解
释多条机器指令,提⾼程序的执⾏速度,这就指令流⽔
线。
分类
按流⽔级别
部件功能级流⽔线:运算流⽔线
处理机级流⽔线:指令流⽔线
处理机间流⽔线
按功能分
单功能:单⼀功能
多功能:各流⽔段之间可以通过组合实现多种功能
按连接⽅式分
静态流⽔线
动态流⽔线
按是否存在反馈分
线性流⽔线:不存在反馈
⾮线性流⽔线:存在反馈
性能指标
吞吐率:单位时间内流⽔线完成的任务数量
加速⽐:不使⽤流⽔线的耗时/ 使⽤流⽔线的耗时
指令流⽔线的基本实现
💎结构冲突
定义:是由于多条指令在同⼀时钟周期使⽤同⼀操作
部件⽽引起的冲突。
解决⽅案
增加资源
可以通过增加加法器解决运算资源冲突
使⽤分离的指令存储器和数据存储器
延迟运⾏
插⼊⽓泡延迟访存的⽅式解决访存引起存储器资
源冲突
💎控制冲突
定义:当流⽔线遇到分⽀指令或其他会改变PC值的指
令时,在分⽀指令之后载⼊流⽔线的相邻指令可能因
为分⽀跳转不能进⼊执⾏阶段,这种冲突称为控制冲
突,也称为分⽀冲突。
解决⽅案:
清空误取指令。在实际分⽀跳转时,将分⽀指令后
续所有已经进⼊流⽔线的误取指令清空,但这种⽅
法会带来流⽔线性能损失
分⽀延迟槽,MIPS处理器
动态分⽀预测技术使⽤,RISC-V处理器
💎数据冲突
定义
后续指令要⽤到前⾯指令的操作结果,⽽这个结果
尚未产⽣或尚未送到指定的位置,从⽽造成后续指
令⽆法继续执⾏的状况。
解决⽅案
插⼊⽓泡:硬件阻塞,或软件插⼊nop指令,带来
性能损失
重定向/数据旁路:将产⽣后续指令需要的操作数的
部件直接和后续指令的输⼊端连接,⽆性能损失,
但Load-Use相关不能重定向,还是需要插⼊⽓泡
编译优化:改变指令执⾏顺序
超标量和动态流⽔线的基本概念
超流⽔技术
增加流⽔线功能段数⽬,尽可能减少各段关键延迟时
间,从⽽提⾼流⽔线主频的⽅式来提升流⽔线性能,
如 Pentium pro 的流⽔线就多达 14 段。
多发射
静态多发射
超⻓指令字
编译程序挖掘出指令潜在的并⾏性
动态多发射
超标量技术
每个时钟周期内可以并发运⾏多条指令
📜考研真题
真题1
真题2

真题3
真题3
六、总线
总线概述
总线基本概念
总线定义
早期总线是指连接多个计算机硬件功能部件的⼀组公
共的并⾏传输信号线缆,⽤于在各功能部件之间进⾏
信息传输
现代总线是指连接多个计算机内部功能部件或多个计
算机的通信系统,总线既包括相关的硬件(总线控制
器、总线接⼝)、软件,也包括相关的通信协议
总线复⽤
减少引脚数⽬
⼀组传输线具有不同功能
总线设备
主设备
从设备
总线标准
对总线及总线接⼝的物理特性、电⽓特性、功能特性
和时间特性的详细规范和协议,总线标准有利于不同
⼚家分⼯协作,也⽅便设备互换
总线与三态⻔
三态⻔具有⾼、低电平和⾼阻三种状态,可以⽤于总
线的输出控制,避免数据冲突,也可以作为设备与总
线之间的缓冲器,增强驱动能⼒,另外还可以⽤于实
现有向总线。
总线分类
按传输⽅向分
单向传输总线
双向传输总线
按传输模式分
并⾏传输总线
串⾏传输总线
按时序⽅式分
同步总线
异步总线
按信号功能分
数据总线:双向传输,传输数据,位宽与机器字⻓相

地址总线:单向传输,传输地址,位宽与主存空间有

控制总线:双向传输,传输控制命令或反馈信号
按所处位置分
⽚内总线: 芯⽚内部
系统总线:连接各功能部件的总线
I/O总线: 连接中低速I/O设备
外部总线:连接计算机与外设
总线组成与性能指标
总线的组成
总线系统通常包括⼀组连接线缆和总线控制器。
总线控制器主要负责总线控制权的仲裁以及总线资源
的分配和管理,所有设备都必须通过总线接⼝与总线
连接。可以通过总线复⽤技术减少总线线缆的数⽬,
节省布线空间降低成本,但这种⽅式会带来性能损
失。
可以获得总线控制权的设备称为总线主设备,⽽被主
设备寻址访问的设备称为从设备,正在使⽤总线的主
设备称为活动主设备,传统计算机只有CPU、DMA控制
器可以作为主设备,总线主控技术使得I/O设备也可以
作为主设备与主存直接进⾏数据交互。
总线性能指标
总线宽度
指数据总线的数量,如8位、16位、32位等。
总线时钟频率
同步传输总线中利⽤总线时钟进⾏同步,时钟频率
越快,传输速度越快。
总线传输周期
指⼀次总线操作所需要的时间,简称总线周期
包括总线申请阶段、寻址阶段、传输阶段和结束阶
段等4个阶段。
单时钟传输次数
指⼀个总线时钟周期内传输数据的次数
采⽤DDR、QDR技术该值分别为2和4
总线的实际⼯作频率=总线时钟频率×单时钟传输次

💎总线带宽
即在总线的最⼤数据传输率,单位是MB/s或GB/s。
通常不考虑总线传输周期中总线申请和寻址阶段的
开销
总线带宽计算的是峰值性能。
💎同步总线带宽= 总线宽度×总线时钟频率×单时钟
传输次数
💎串⾏总线带宽= 总线时钟频率×编码效率×并发通
路数
2020考过QPI总线,参考教材内容
📜考研真题
真题1

真题2

总线传输机制
💎总线传输过程
标准传输模式
申请阶段
主设备提出总线申请
寻址阶段
获的总线的主设备发出要访问设备的地址和命令,
启动从设备
传输阶段
主从设备传输数据
结束阶段
主设备让出总线使⽤权
突发传送模式
⽀持⼀个寻址阶段和多个数据阶段
⽤于块传输的,适合在成组传送事务
总线事务
是指总线上⼀对设备之间的⼀次信息交换过程
典型的总线事务类型有存储器读、存储器写、I/O读、
I/O写、中断响应、DMA响应等。
总线事务⼀般包括⼀次寻址阶段和⼀次数据阶段
总线的信息传送
串⾏传送
信息按从低位到⾼位的顺序逐位以脉冲⽅式传送,只
有⼀条数据传输线,⼀次只能传送⼀位。根据数据传
送⽅向的不同可分为单⼯、全双⼯和半双⼯3 种。
并⾏传送
并⾏传送是指⼀个信息的每位同时传送,每位都有各
⾃的传输线,互不⼲扰,⼀次传送整个信息。
并串⾏传送
是对传送速度与传输线数进⾏折中的⼀种传送⽅式。
如将16位数据分成两个8 位组传送。
分时传送
分时传送有两种含义,⼀是采⽤总线复⽤,⼆是指共
享总线的部件分时使⽤总线。
数据传送⽅式
读写操作、块传送操作、写后读与读修改写操作、⼴
播与⼴集操作4种。
📜考研真题
真题1

真题2
真题3

真题4

总线仲裁
集中式仲裁
链式查询:总线允许信号按设备串⾏连接的顺序依次查
询,接⼝和控制简单,但存在单点故障,优先级改变不灵
活、响应速度慢。
计数器定时查询:通过计数值决定查询总线请求的顺序。
不存在单点故障,优先级可通过改变计数初始值改变,响
应速度慢。
独⽴请求:每个设备使⽤独⽴的总线请求线和应答线。优
先级可通过编程改变,响应速度快。
分布式仲裁
⾃举分布式仲裁:每个设备只有检测到⽐⾃⼰优先级⾼的
设备没有总线请求时才能发总线使⽤请求信号。
并⾏竞争仲裁⽅式:请求主设备直接将仲裁号通过“线
或”⽅式发送到共享的仲裁线上,所有请求主设备都将仲
裁线上的仲裁号与⾃⼰进⾏逐位⽐较,如果⽐⾃⼰⼤,则
在仲裁线上撤销⾃⼰的仲裁号,最后竞争获胜的设备获得
总线控制权。
冲突检测分散式仲裁:每个部件独⽴地请求使⽤总线。请
求总线时若检测到其他部件在使⽤总线,则等待;若⽆则
置总线忙信号,并获得总线的使⽤权。使⽤过程中还要坚
持监听总线以避免冲突。
总线定时
同步⽅式
⽤公共时钟信号对传输过程的每⼀步进⾏控制
⼀个总线周期进⾏⼀次完整的数据传送。⼀个周期结束另
⼀个即开始
优点:速度快;易实现
缺点:主从设备强制性同步,速度不匹配;⽆法检验数据
有效性
适⽤于总线⻓度短;各部件存取时间接近的系统
异步⽅式
⽤应答信号对传输过程进⾏控制
传输双⽅通过“握⼿”实现定时控制
优点:周期⻓度可变,适合速度差较⼤的设备
缺点:控制复杂,慢
分类
不互锁:发出信号后过⼀段时间⾃动撤消
半互锁:主设备发出请求后,必须等收到应答信号再
撤销
全互锁:双⽅必须收到应答信号后再撤销
半同步⽅式
同步和异步⽅式的折中,在同步时钟的控制下进⾏采样和
应答
统⼀时钟的基础上,增加⼀个wait信号
适合速度差异⼤的设备交互
分离事务通信⽅式
(1)主设备向从设备发出读请求信号,给出地址和请求
命令
(2)当从设备进⾏应答后,主设备⽴即释放总线控制权
(3)从设备准备数据,此时总线⽤于处理其他总线事务
(4)从设备准备好数据后将作为主设备重新申请使⽤总
线并将数据放置在数据总线上
(5)原主设备通过总线接收数据
⼤⼤提⾼总线利⽤率,控制⽅式更加复杂。如PCIe 总线
总线结构
单总线结构
所有功能部件都连接在同⼀总线上
总线被不同设备分时使⽤
单总线结构简单,使⽤灵活,扩充新设备容易
但⽆法发挥⾼速设备的性能,系统总线负载重,计算机系
统性能低下。
💎双总线结构
、主存和I/O设备分别通过不同总线连接。
CPU
包括增设单独存储总线结构的双总线结构
采⽤桥接芯⽚分离CPU总线和I/O总线的双总线结构两

传统教材中DMA总线并不常⻅,PC中没有这种结构
双总线结构⼀定程度上将⾼速设备和慢速设备进⾏了隔
离,提升了系统总线性能
三总线结构
三总线结构主机总线、PCI总线、ISA总线通过桥接芯⽚连
接在⼀起
进⼀步将不同速率的传输活动进⾏细分
最快的CPU、DRAM放在系统总线上
将中速的显卡、磁盘、⽹卡等⾼速设备连接在PCI总线

⽽传统的慢速设备连接在ISA总线上,计算机系统性能
进⼀步提升。
⾼性能总线
现代计算机普遍采⽤分离的多层次总线结构
不同总线之间采⽤桥芯⽚进⾏连接和缓冲
⾼速设备靠近CPU,慢速设备远离CPU,形成了经典的
南北桥结构。
早期北桥芯⽚集成了内存控制器、显卡接⼝,通过前端总
线与CPU连接,通过Hub-Link总线连接南桥芯⽚,南桥芯
⽚连接慢速设备接⼝
后来内存控制器集成进CPU中,前端总线演变成了更⾼速
的QPI总线,连接南北桥的芯⽚的总线也变成了DMI总线
最新的CPU甚⾄集成了GPU,北桥芯⽚消失,CPU直接通
过DMI总线连接南桥芯⽚
总线标准
⽚内总线

AMBA Wishbone ;
系统总线
、 、 、 、 、FSB、BSB、IHA、HT、
ISA EISA MCA VESA PCI
、 ;
QPI DMI
总线
I/O
、 、 、 、 、 、 、
AGP PCIe LPC SPI I2C SMBUS ATA SATA 、
、 、 ;
SCSI SAS FiberChannel
外部总线
、 、 、 、IEEE1394、
RS-232-C RS-485 IEEE-488 USB
、 等总线。
Thunderbolt InfiniBand
📜考研真题
真题1
七、I/O系统
系统基本概念
I/O
I/O 系统构成
I/O硬件
外部设备、控制器,I/O接⼝,I/O控制总线
I/O软件
与操作系统⽆关的I/O库
与设备⽆关的OS调⽤库
设备驱动程序
控制⽅式
I/O
程序查询(CPU占⽤⽐较⾼)
中断控制(适合处理随机事件)
DMA(批量传输)
通道(进⼀步解放CPU)
I/O接⼝
接⼝的功能
I/O
设备寻址
数据交互
设备控制
状态检测
数据缓冲
格式转换
接⼝的结构
I/O
数据缓冲寄存器(DBR)
设备状态寄存器(DSR)
设备命令寄存器(DCR)
地址译码逻辑
数据格式转换逻辑
📈图解

💎I/O设备的编址⽅式
独⽴编址
外设使⽤独⽴的地址空间
需要特殊的I/O指令访问设备
统⼀编址
外设与主存统⼀编址
主存空间地址划分⼀部分出来供外设使⽤
访存指令访问设备,⽆需I/O指令
接⼝的分类
I/O
并⾏/串⾏接⼝
可编程接⼝和不可编程接⼝
通⽤接⼝与专⽤接⼝
同步/异步接⼝
直接传送/程序查询/程序中断/DMA等接⼝
考研真题
真题1

⽅式
I/O
程序查询⽅式
💎程序查询⽅式的输⼊输出相当于条件传送⽅式。该⽅式
下,CPU查询接⼝中的状态字,并根据查询的结果决定下
⼀步的动作。如果设备准备就绪则开始CPU与外设之间的
数据传送;若未准备就绪,则开始独占或定时查询

独占查询中CPU 不是在进⾏输⼊输出操作就是在查询
设备状态
定时查询可以让CPU执⾏其他任务,本质上是基于中断
技术实现的
实现简单,但CPU利⽤率不⾼
程序查询⽅式不⼀定是最差的,现代OS中快速设备也
可以采⽤程序查询⽅式
程序中断⽅式
💎中断的基本概念
(1)中断的定义

暂时停现⾏程序,转向为某随机事件服务,待
CPU
事件处理完毕,再恢复执⾏原来被中⽌的程序继续
运⾏,这个过程称为中断
中断的作⽤
实现CPU和外设的并⾏⼯作
⽅便程序调试、故障处理
实时处理和⼈机交互
多任务以及多处理器交互
可实现操作系统CPU调度(定时中断)
中断的分类
外部中断
由CPU外部事件引起的中断
这类中断⼤部分由外设发出
可屏蔽中断
不可屏蔽中断
内部异常
是发⽣在CPU内部的中断
故障(Fau1t)、⾃陷(Trap)和终⽌(Abort)
中断优先级
指响应和处理中断请求的先后次序
当⼏个设备同时有中断请求时,优先级⾼的先响
应,优先级低的后响应
响应优先级
是指CPU对各设备中断请求进⾏响应的先后次序
在硬件上是固定的
处理优先级
指中断嵌套的实际优先级处理次序
通常可以利⽤中断屏蔽技术动态调整
中断的响应条件
对应的中断请求未被屏蔽。
当前没有更⾼优先级的其它中断请求
如果CPU正在执⾏中断服务,则中断请求符合嵌套条
件。
中断使能位处于处于使能状态,也就是开中断状态。
CPU⼰执⾏完⼀条指令的最后⼀个状态周期。
不可屏蔽中断和内部异常响应中断的条件和时机和可
屏蔽的外部中断源略有差异
中断响应过程
1、硬件关中断
2、保存断点,保存PC值
3、中断识别,修改PC跳转⾄中断服务程序
任务:确定中断是由哪个中断源发出的
程序查询法
硬件查询法
独⽴请求
具体⽅式与中断源与CPU的连接⽅式有关
完成中断识别时还需要清除当前中断请求
如何获得中断服务程序的⼊⼝地址
向量中断法
中断向量:中断服务程序⼊⼝地址和程序状
态字
中断向量表:中断向量的集合
向量地址:中断指针,⽤于访问中断向量表
的地址码
⾮向量中断法
中断响应的过程可以看做是执⾏中断隐指令完成的
实际不存在中断隐指令
是硬件⾃动处理的操作
💎中断处理过程
📈流程图(中断服务程序中的开中断,关中断是指令
实现的)
💎多重中断和中断屏蔽
单级中断
中断服务程序在执⾏过程不能被中断
多重中断,也称嵌套中断
中断服务程序在执⾏过程可以被中断(类似递归、
套娃)
⾼优先级中断可以中断低优先级中断服务
中断屏蔽技术动态调整处理优先级可以实现低优先
级中断打断⾼优先级中断服务
中断服务程序保护现场后开中断即可实现中断嵌套
📈图解

📜考研真题
真题1

真题2

真题3
⽅式
DMA
DMA基本概念
DMA⽅式由DMAC临时接替CPU控制总线,控制设备和
内存之间进⾏直接的数据交换,信息传送不再经过CPU
寄存器中转,⼤⼤提升了CPU利⽤率。
适合⾼速设备、磁盘,⽹卡等,硬件成本⾼
内存争⽤问题
外设与主存之间DMA传送数据时,CPU仍可执⾏主程
序,存在DMAC与CPU内存争⽤的可能
采⽤停⽌访内
交替访问
周期挪⽤
DMA控制器组成
📈图解

💎DMA的传输过程
预处理阶段
准备传输参数,CPU执⾏程序完成
传送阶段
⽆需CPU参与
结束阶段
CPU执⾏中断服务程序完成
📈图解

考研真题
真题1

真题2
真题3

与中断差异
DMA
中断通过程序传送数据,DMA靠硬件来实现。
中断时机为两指令之间,DMA响应时机为两存储周期
之间。
中断不仅具有数据传送能⼒,还能处理异常事件。
DMA只能进⾏数据传送。
DMA仅挪⽤了⼀个存储周期,不改变CPU现场。
DMA请求的优先权⽐中断请求⾼。CPU优先响应DMA请
求,是为了避免DMA所连接的⾼速外设丢失数据。
DMA利⽤了中断技术
常⻅输⼊输出设备
常⻅的输⼊设备
键盘
将按键动作翻译成主机能接受的键值
薄膜键盘
机械键盘
静电电容键盘
⿏标
将⿏标移动信息通过传感器传送给计算机控制光标的
移动
机械⿏标
光电⿏标
常⻅的输出设备
打印机
针式打印机
利⽤打印针撞击⾊带和打印介质,进⽽打印出点
阵,再由点阵组成字符或图形来完成打印任务
适合多层票据打印,噪⾳⼤,速度慢,打印质量低
喷墨打印机
激光打印机
充电→曝光→显影→转印→定影→消电→清洁
⾼速、静⾳,质量⾼
显示器
分类
按器件分:CRT、LCD、LED
按显示信息:字符、图形、图像
主要参数
屏幕尺⼨
对⻆线的⻓度,以英⼨为单位
分辨率
是指显示器所能表示的像素个数
灰度级
灰度级是指⿊⽩显示器中像素点的亮度差别
彩⾊显示器中则表示颜⾊的差别
刷新
像素光点只能保持很短的时间
在光点消失之前将其再次显示(刷新)
刷新频率
单位时间刷新的次数称为刷新频率
也称为帧频或帧率
显存带宽 = 分辨率 × 灰度级位数 × 刷新频率
磁盘(OS经常考⼤题)
磁盘存储容量 = 盘⽚数 ×2× 磁道数 × 扇区数 / 磁道 × 扇
区容量
道密度(TPI)是指沿磁盘半径⽅向单位⻓度上的磁道
数,单位为道/英⼨
位密度(BPI)是指磁道单位⻓度上记录的⼆进制代码
的位数,单位是位/英⼨
外圈与内圈的记录密度不同,位密度⼀般是指内圈所
能达到的记录密度
平均定位时间。
定位时间是指从发出磁盘读写命令起,磁头从当前
位置移动到指定的记录位置,并开始读写操作所需
要的时间。
寻道时间:将磁头定位到指定磁道上所需的时
间,称为寻道时间
等待时间:找到指定磁道后⾄指定的记录移到磁
头下的时间,和转速有关
数据传输速率
单位时间(s)从磁盘中读出或写⼊信息的数量,称
为数据传输速率,单位是 bit/s。
读写磁头定位之后,可以根据磁盘的转速与存储密
度来决定信息的传输速率。
设某磁盘的位密度为 M bit/英⼨,转速为 V 英⼨
/s,则该盘的数据传输速率为 MVbit/s。
📜考研真题
真题1

以上内容整理于 幕布⽂档

You might also like