文章目录
- 1. CPU的功能和基本结构
-
- 1.1 CPU的功能
- 1.2 CPU的组成
-
- 1.2.1 运算器的基本组成
- 1.2.2 控制器的基本组成
- 1.2.3 CPU的总图
- 1.2.4 小结
- 2. 指令执行过程
-
- 2.1 指令周期
- 2.2 指令的执行流程
-
- 2.2.1 取指周期
- 2.2.2 间址周期(取操作数的有效地址)
- 2.2.3 执行周期
- 2.2.4 中断周期
- 2.3 指令执行方案
- 2.4 小结
- 3. 数据通路
-
- 3.1 基于CPU内部总线的数据通路(单总线/多总线)
- 3.2 基于专用数据通路的数据通道
- 3.3 小结
- 4. 控制器的功能和原理
-
- 4.1 控制器的结构和功能
- 4.2 控制器的设计
-
- 4.2.1 硬布线控制器(采用纯硬件的方式,即组合逻辑电路)
-
- 4.2.1.1 硬布线控制器的组成
- 4.2.1.2 硬布线控制器的控制单元的设计
-
- 第一步:分析每个阶段的微操作序列
- 第二步:选择CPU的控制方式
- 第三步:安排微操作时序
- 第四步:电路设计
- 4.2.2 微程序控制器(采用软件和硬件结合的方式,即微程序)
-
- 4.2.2.1 微程序控制器结构与工作原理
- 4.2.2.2 小结
- 4.2.2.3 微指令的设计
-
- 4.2.2.3.1 微指令格式与编码方式
- 4.2.2.3.2 小结
- 4.2.2.4 微程序控制器的控制单元的设计
-
- 第一步:分析每个阶段的微操作序列
- 第二步:写出对应机器指令的微操作命令及节拍安排
- 第三步:确定微指令格式
- 第四步:编写微指令码点
- 小结
- 4.2.3 硬布线控制器 vs 微程序控制器
- 5. 指令流水线
-
- 5.1 指令流水线的基本概念
-
- 5.1.1 指令流水的定义
- 5.1.2 指令流水的2种表示方式
- 5.1.3 流水线的性能指标
- 5.1.4 机器周期的设置
- 5.2 指令流水线影响因素
-
- 5.2.1 影响流水线的因素
- 5.2.2 小结
- 5.3 流水线的分类
- 5.4 流水线的多发技术
- 5.5 小结
- 6. 几个常考指令
-
- 6.1 运算类指令
- 6.2 LOAD指令
- 6.3 STORE指令
- 6.4 条件转移类指令
- 6.5 无条件转移类指令
- 6.6 例题
- 7. 补充
1. CPU的功能和基本结构
1.1 CPU的功能
1.2 CPU的组成
CPU由运算器和控制器组成。
1.2.1 运算器的基本组成
- 算术逻辑单元(ALU):主要功能是进行算术/逻辑运算
- 通用寄存器组:如AX、BX、CX、DX、SP等,用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。SP是堆栈指针,用于指示栈顶的地址。
通用寄存器与ALU的连接有两种:
注意:
- 总线有内部总线和系统总线之分。内部总线指在CPU内部的总线,系统总线指在CPU外的总线。
- 采用内部总线则ALU的端口要设置暂存寄存器,若采用专用数据通道的方式则ALU端口要设置多路选择器或者三态门。
- 累加寄存器:它是一个通用寄存器,用于暂时存放ALU运算的结果信息,用于实现加法运算。
- 程序状态字寄存器(PSW):保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志(OP)、符号标志(SF)、零标志(ZF)、进位标志(CF)等。PSW中的这些位参与并决定微操作的形成
- 移位器:对运算结果进行移位运算。
- 计数器:控制乘除运算的操作步数。
1.2.2 控制器的基本组成
1.2.3 CPU的总图
1.2.4 小结
2. 指令执行过程
2.1 指令周期
注意:
- 时钟周期组成机器周期,而机器周期组成指令周期。
- 每个指令周期包含的机器周期数可以不同,而每个机器周期包含的时钟周期数也可以不同。
- 时钟周期是CPU操作最基本的单位。
2.2 指令的执行流程
* 指令的执行流程有4步:1. 取指周期2. 间址周期(取操作数的有效地址)3. 执行指令(取操作数)4. 中断周期
2.2.1 取指周期
注意:进行访存操作时,是MAR先通过地址总线将地址给存储器。然后, CU再通过控制总线发出读写信号,最后将数据放入MAR.
2.2.2 间址周期(取操作数的有效地址)
2.2.3 执行周期
不同的指令,执行情况肯定不同,因此执行周期没有统一的流向。
2.2.4 中断周期
2.3 指令执行方案
2.4 小结
3. 数据通路
3.1 基于CPU内部总线的数据通路(单总线/多总线)
注意:每条总线,在某一时刻总线只能传送一个数据。
例题:
3.2 基于专用数据通路的数据通道
练习:
3.3 小结
4. 控制器的功能和原理
4.1 控制器的结构和功能
4.2 控制器的设计
* 设计控制器中CU的2种方案1. 硬布线控制器(采用纯硬件的方式)* 缺点:1. 指令越多,设计和实现就越复杂,因此一般用于RISC(精简指令集系统)2. 如果扩充一条新的指令,则控制器的设计就需要大改,因此扩充指令较困难。* 优点:1. 由于使用纯硬件实现控制,因此执行速度很快。微操作控制信号由组合逻辑电路即时产生。2. 微程序控制器(采用软件和硬件结合的方式)* 缺点:1. 速度慢* 优点:1. 容易扩充指令,较容易实现,适用于SISC系统(复杂指令集系统)
4.2.1 硬布线控制器(采用纯硬件的方式,即组合逻辑电路)
4.2.1.1 硬布线控制器的组成
硬布线控制器的组成如下图所示:
4.2.1.2 硬布线控制器的控制单元的设计
控制器的控制单元(CU)的设计步骤:
第一步:分析每个阶段的微操作序列
第二步:选择CPU的控制方式
采用定长指令周期或不定长指令周期。这里采用定长指令周期。
第三步:安排微操作时序
这里每个周期都安排三个节拍。
第四步:电路设计
会根据操作时间表写出微操作的逻辑表达式就行,比如下面:
4.2.2 微程序控制器(采用软件和硬件结合的方式,即微程序)
4.2.2.1 微程序控制器结构与工作原理
注意:
- 微程序控制器中,每条指令对于一个微程序,而一个微程序由若干个微指令组成,每个微指令表明一个节拍/时钟周期内做什么事情。
- 微命令就是微操作,一个节拍内包含若干个微操作。
- 微程序的分类:
注意:一个高频考点:
4.2.2.2 小结
4.2.2.3 微指令的设计
4.2.2.3.1 微指令格式与编码方式
例题:
4.2.2.3.2 小结
4.2.2.4 微程序控制器的控制单元的设计
第一步:分析每个阶段的微操作序列
第二步:写出对应机器指令的微操作命令及节拍安排
第三步:确定微指令格式
根据微操作个数决定采用何种编码方式,以确定微指令的操作控制字段的位数。
根据CM中存储的微指令总数,确定微指令的顺序控制字段的位数。
最后按操作控制字段位数和顺序控制字段位数就可确定微指令字长。
第四步:编写微指令码点
小结
4.2.3 硬布线控制器 vs 微程序控制器
5. 指令流水线
5.1 指令流水线的基本概念
注意:
CISC
可以采用指令流水线技术和非流水线技术,但是,RISC
都采用流水线技术。所以,下面的指令流水线的学习中默认都是CISC
指令系统。
5.1.1 指令流水的定义
指令流水指的是指令连续执行。而指令连续执行的方式主要有如下3种:
5.1.2 指令流水的2种表示方式
5.1.3 流水线的性能指标
* 流水线的性能指标1. 吞吐率2. 加速比3. 效率
5.1.4 机器周期的设置
5.2 指令流水线影响因素
5.2.1 影响流水线的因素
* 影响流水线的因素1. 结构相关(资源冲突)2. 数据相关(数据冲突)3. 控制相关(控制冲突)
5.2.2 小结
5.3 流水线的分类
5.4 流水线的多发技术
* 流水线的多发技术1. 超标量技术2. 超流水线技术3. 超长指令字
5.5 小结
6. 几个常考指令
6.1 运算类指令
6.2 LOAD指令
6.3 STORE指令
6.4 条件转移类指令
6.5 无条件转移类指令
6.6 例题
7. 补充
1. 程序员可见的寄存器:1. PSW2. 通用寄存器3. PC
2. 程序员不可见的寄存器:1. IR2. MAR3. MDR4. 暂存寄存器3. 控制器里面:1. CU2. MAR3. MDR4. IR5. PC6. 指令译码电路 (只对操作码进行译码,而不是整个指令)7. 微程序信号发生器8. 时序电路4. 运算器里面:1. ALU2. ACC3. MQ4. 通用寄存器5. PSW6. 移位器:对运算结果进行移位运算。7. 计数器:控制乘除运算的操作步数。5. 条件转移指令:1. 执行时所依据的条件来自:标志寄存器2. 实现跳转来自:程序计算器PC6. n位CPU指__(地址总线/数据总线/控制总线)位数。答:数据总线。表示CPU一次处理数据的位数。7. 判断:转移指令时,PC的值总是修改为转移指令的目标地址。错。因为需要判断跳转是否成功,即条件是否成立。若不成功则顺序执行。8. PC的位数 = MAR的位数 ->取决于存储器的容量9. 通用寄存器的位数取决于___(指令长度/机器字长/存储器的容量)答:机器字长。因为通用寄存器可以存放数据和地址,所以其位数尽可能的大。10. 判断:通用寄存器可以替代指令寄存器。错误。指令寄存器是专门存放指令的寄存器。11. 指令译码是对___(整条指令/操作码/地址码)进行译码答:操作码