计算机组成原理-第五章 中央处理器【期末复习|考研复习】

本文详细阐述了计算机组成原理中的关键概念,包括CPU的功能与结构、指令执行过程、数据通路设计、控制器类型(硬布线和微程序)、以及指令流水线的工作原理。还涉及了微指令编码方式和影响流水线执行的因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

总结整理不易,希望大家点赞收藏。

给大家整理了一下计算机组成原理中的重点概念,以供大家期末复习和考研复习的时候使用。
参考资料是王道的计算机组成原理和西电的计算机组成原理。


计算机组成原理系列文章传送门:
第一/二章 概述和数据的表示和运算
第三章 存储系统
第四章 指令系统
第五章 中央处理器
第六章 总线
第七章 输入/输出系统
计算机组成原理-练手题集合



第五章 中央处理器及指令

5.1 CPU的功能和基本结构

5.1.1 CPU功能

CPU由运算器和控制器组成。
运算器由ACC累加器,MQ乘商寄存器,X通用寄存器,ALU算术逻辑单元构成。
控制器由PC程序计数器,IR指令寄存器,CU控制单元构成

5.2 指令执行过程

CPU从主存中取出并执行一条指令所需的全部时间称为指令周期 ,也就是CPU完成一条指令的时间。
一个指令周期通常包含若干机器周期,一个机器周期又包含若干时钟周期。一个完整的指令周期应包括取指、间址、执行和中断四个机器周期。
中断周期中进栈操作是将SP减1,和传统意义上的进栈操作相反,因为计算机的堆栈中都是向低地址增加,所以进栈操作是减1,不是加1。

5.2.1 取指周期

是根据PC中的内容从主存中取出指令代码并存放在指令寄存器IR中,取指令的同时,PC加1。
数据流向:
1、PC->MAR->地址总线->主存。
2、CU发出控制信号->控制总线->主存。
3、主存->数据总线->MDR->IR(存放指令)。
4、CU发出读命令->PC+1

5.2.2 间址周期

在有些需要间接寻址的情况下,取操作数有效地址。
数据流向:
1、Ad(IR)->MAR->地址总线->主存。
2、CU发出读命令->控制总线->主存。
3、主存->数据总线->MDR(存放有效地址)。

5.2.3 执行周期

是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果。

5.2.4 中断周期

在有处理中断请求的时候,假设程序断点存入堆栈中,并用SP表示栈顶地址,而且进栈操作是先修改栈顶指针,后存入数据。
数据流向:
1、CU发送控制信号->SP-1->SP->MAR->地址总线->主存。
2、CU发送读命令->控制总线->主存。
3、PC->MDR->数据总线->主存(程序断点存入主存)。
4、CU发送读命令(中断服务程序的入口地址)->PC

5.3 指令执行方案

1、单指令周期 :对所有指令都选用相同的时间来完成,指令之间串行执行,指令周期取决于执行时间最长的指令的执行时间。
2、多指令周期 :指令之间串行执行,不再要求所有指令占用相同的执行时间。
3、流水线方案 :指令之间并行执行,尽量让多条指令同时执行,但各自处在不同的执行步骤中。

5.4 数据通路

数据在功能部件之间传送的路径称为 数据通路 ,其功能是 实现CPU内部的运算器和寄存器以及寄存器之间的数据交换 。
寄存器之间:PC->Bus->MAR
主存与CPU之间:
1、PC->Bus->MAR
2、CU发出读命令 1->R
3、MEM(MAR)->MDR
4、MDR->Bus->IR
执行算术或逻辑运算:(ALU必须在两个输入端同时有效的情况下才可以工作):
1、Ad(IR)->Bus->MAR
2、1->R
3、MEM(MAR)->数据线->MDR
4 、MDR->Bus->Y
5、(ACC)+(Y)->Z
6、Z->ACC

5.4.1 数据通路基本结构

1) CPU内部单总线方式:所有寄存器的输入端和输出端都连接到一条公共的通路上。结构简单,但数据传输中存在较多冲突现象,性能较低。
2)CPU内部三总线方式:所有寄存器的输入端和输出端都连接到多条公共的通路上。效率CPU内部单总线方式相对有所提高。
3)专用数据通路方式:根据指令执行过程中的数据和地址的流动方向安排连接线路,避免使用共享的总线。性能较高,但硬件量大。前两者为内部总线,第三个为专用数据总线

5.5 控制器

在这里插入图片描述

5.5.1 CPU控制方式和功能

CPU的控制方式
控制器的主要功能有:
1)从主存中取出一条指令,并指出下一条指令在主存中的位置。
2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
3)指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。

5.5.2 硬布线控制器

硬布线控制器由复杂的组合逻辑门电路和一些触发器构成,因此又称为组合逻辑控制器。

5.5.3 微程序控制器

微程序控制器采用存储逻辑实现 ,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中, 微操作控制信号由微指令产生。微指令是若干微命令的集合,存放微指令的控制存储器的单元地址称为微地址。若指令系统中具有n种机器指令,则控制存储器中的微程序数至少是n+1个(1为公共的取指微程序)。微命令(控制序列的最小单位),微操作(最小操作,微命令和微操作一一对应),微指令(若干微命令的集合),微周期(读取并执行微指令的时间),微程序(微指令的有序集合)

5.5.4 微指令的编码方式

微指令的编码方式又称为微指令的控制方式 ,指如何对微指令的控制字段进行编码,以形成控制信号。目标是在保证速度的情况下,尽量缩短微指令字长。
1)直接编码(直接控制)方式。
2)字段直接编码方式:将微指令的微命令字段分成若干个小字段,把互斥性微命令组合在同一字段中,把相容性微命令组合在不同的字段中。
3)字段间接编码方式,又称隐式编码。

5.5.5 微指令的格式

1)水平型微指令:指令字中的一位对应一个控制信号,有输出时为1,否则为0。一条水平型微指令定义并执行几种并行的基本操作。优点是微程序短,执行速度快;缺点是微指令长,编写微程序较麻烦。
2)垂直型微指令:类似机器指令操作码的方式,设置微操作码字段,由微操作码规定微指令的功能。一条垂直型微指令只能定义并执行一种基本操作。优点是微指令短、简单、规整,便于编写微程序;缺点是微程序长,执行速度慢,工作效率低。
3)混合型微指令

5.5.6 取指操作不同控制器流程

硬布线控制器:
在这里插入图片描述
微程序控制器:
在这里插入图片描述

5.5.7 微程序控制器和硬布线控制器

在这里插入图片描述
在这里插入图片描述

5.6 指令流水线

一条指令的执行过程:
1、取指 :根据PC内容访问主存储器,取出一条指令送到IR中。
2、分析 :对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数。
3、执行 :根据操作码字段,完成指令规定的功能,即把运算结果写到通用寄存器或主存中。
指令处理方式:
1、顺序执行方式:前一条指令执行完后,才启动下一条指令,T=3nt。
2、流水线执行方式:把取第k+1条指令提前到分析第k条指令的期间完成,而将分析第k+1条指令与执行第k条指令同时进行,T=(2+n)t

5.6.1 流水线

在这里插入图片描述
在这里插入图片描述

5.6.2 影响流水线的因素

1)结构相关(资源冲突):由于多条指令在同一时刻争用同一资源而形成的冲突
解决办法:
a. 前一指令访存时,使后一条相关指令(以及其后续指令)暂停一个时钟周期。
b. 单独设置数据存储器和指令存储器,使两项操作各自在不同的存储器中进行,这属于资源重复配置。
2)数据相关(数据冲突,数据冒险):必须等前一条指令执行完才能执行后一条指令的情况---->主要情况
a. 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,可分为硬件阻塞(stall)和软件插入"NOP"指令两种方法。
b. 设置相关专用通路,即不等前一条指令把计算结果返回寄存器组,下一条指令也不再读寄存器组,而是直接把前一条指令的ALU的计算结果作为自己的输入数据开始计算过程,使本来需要暂停的操作可以继续执行,称为数据旁路技术。
c. 通过编译器对数据相关的指令编译优化的方法,调整指令顺序来解决数据相关。
3)控制相关(控制冲突,控制冒险):遇到转移指令和其他改变PC值得指令而造成断流
a. 对转移指令进行分支预测,分为简单(静态)预测和动态预测,静态预测总是预测条件不满足,即继续执行后续指令;动态预测根据程序执行的历史情况,进行动态预测调整。
b. 预取转移成功和不成功两个控制流方向上的目标指令。
c. 加快和提前形成条件码。
d. 提高转移方向的猜准率。

6 练手题

去年并没有相关的考点,但是大家学过计组,都知道这里算是非常重要的,我也不敢轻易断言今年不考,我就找几个期末试题里的大家练练手。
难度是不是一下就上来了,加油!

6.1

在这里插入图片描述
在这里插入图片描述

6.2

在这里插入图片描述
在这里插入图片描述

6.3

在这里插入图片描述
在这里插入图片描述

6.4

微指令也来上几道练练手感
在这里插入图片描述
在这里插入图片描述

6.5

在这里插入图片描述
在这里插入图片描述

6.6

在这里插入图片描述

6.7

在这里插入图片描述
在这里插入图片描述

下一章传送门

第六章 总线

总结

相信这一章干货也是满满,有问题打在评论区哦

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bblb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值