计算机组成原理考研复试复习-4

第五部分:中央处理器CPU

1,CPU的功能与结构?

1)CPU的结构?

控制器,运算器,数据通路,一些寄存器

控制器:协调并控制计算机各个部件运行。具体包括:程序计数器PC,指令寄存器IR,地址寄存器MAR,数据寄存器MDR,时序系统,微程序控制器,控制器的核心是控制单元CU

运算器:执行各种运算,并将结果输出。具体包括:ACC累加寄存器,ALU算数逻辑单元,暂存寄存器,通用寄存器组,PWS程序状态字寄存器、移位寄存器、计数器

 

各种寄存器中对用户不可见的有:暂存寄存器、移位寄存器、MAR、MDR、IR

 

2)CPU的功能:指令控制、时间控制、操作控制、中断处理、数据加工

2,指令执行的过程:

1)各种不同的周期之间的关系(机器周期,时钟周期、指令周期)

时钟周期是CPU完成一个动作(微操作)的最小时间单位,

机器周期(又称CPU周期)完成一个指令的子工作(子步骤)所需要的时间,

指令周期:CPU从主存中取出一条指令并执行完毕所需要的时间。

通常指令周期由多个机器周期组成,机器周期的时间通常由存取周期来确定(时间最长),且机器周期由多个时钟周期组成。

 

2)指令周期的组成:

1⃣️取指周期:根据PC的内容传入MAR,根据MAR的内容从内存中取出指令存入MDR中,再将MDR的内容存入IR

2⃣️间址周期:【可能不存在】(去操作数的有效地址)根据指令的地址码部分,和寻值特征位取出操作数的有效地址

3⃣️执行周期【不同指令各不相同】

4⃣️中断周期:处理中断请求

保存断点、送中断向量、处理中断请求

为了区别不同的机器周期,用触发器FE(fetch),IND( instruction decode),EX(execute),INT(interrupt)来进行标记。

3)指令执行的时间安排:单指令周期(一个时钟周期执行一条指令)、多指令周期、流水线方案

 

3,数据通路

数据通路结构的分类

1)CPU内部单总线=>运算器需要暂存器(因为如果没有暂存器的话,无法使ALU两个输入端同时有效)

2)CPU内部三总线

3)专用数据通路:每个需要传递数据的部件之间都有直接连线,需要多路选择器(MUX)与三态门

 

控制器的内部结构

4、硬布线控制器

由组合逻辑技术实现,执行速度快,一般用于精简指令集计算机(RISC),扩充指令困难。

5、微程序控制器:

1)思想?

计算机通过控制部件对外发出各种控制命令,这种命令叫做微命令,各个接收命令的部件之后执行的操作叫做微操作,微程序控制器的思想就是将微操作信号代码化,使用存储逻辑的思想,将实现微操作的程序存入控制存储器(CM)中。【控制存储器CM是由ROM实现的,只读不写】。存入CM的每条指令叫做微指令,微指令是对要完成的一条或多条微操作的内容的封装。这样在对指令的OP码进行译码之后,选择相对应的微指令发出微命令控制其他部件的执行。

我们使每一个机器周期对应一串微指令序列(也可以叫做微程序,这里有争议可以说一个机器周期对应一个微程序,也可以说一个指令对应一个微程序),因为每一个指令的取址、间址、中断周期执行的做的工作大致相同,所以可以使用同一个微程序,但执行周期完成的工作各不相同所以要设计不同的微指令。

2)具体的执行过程?

1⃣️ 取到一条指令之后会放到IR中,将其中的OP码送入微地址形成部件

2⃣️ 微地址形成部件会根据OP码、寻址特征位决定微程序的入口地址

3⃣️ 送入CMAR,通过CMAR的地址从CM中取出微指令(分为控制信号和下地址字段),控制信号(经过译码)输出称为微命令

4⃣️ 下地址字段决定下一条执行的微指令的地址。

5⃣️ 当本段微程序执行完毕之后需要通过微地址形成部件(+OP)决定下一段的微程序的地址。

 3)与指令相同,微指令也需要设计编码方式(即OP码的设计):

1⃣️ 直接编码:每一位直接代表一个微命令(不进行译码)

2⃣️ 字段直接编码:互斥同段,相容不同段需要进行译码

3⃣️ 字段间接编码:可以进一步缩短字长,一段依赖于另一段的解释,所以译码更慢

 

6,指令流水线

将一条指令分为多个子过程,如五段式指令流水:

IF(取值)、ID(译码)、EX(执行)、 M(访存)、WB(写回)。

影响流水线执行的因素:

1)数据相关:属于同步问题,等待前一条指令执行完毕之后才能执行下一条

解决方法:

暂停延后(Stall,NOP指令)

数据旁路(上一条指令的结果从ALU出来之后直接作为本条指令的输入数据写入ALU的输入端)

编译优化:调整指令顺序

2)结构相关:同一时刻争用同一资源

解决方法:添加资源或等待一个时钟周期

3)控制相关:经过转移指令或者中断改变了PC的值,从而执行了不需要执行的指令

解决方法:

分支预测:预测将要转移的线路

预取:提前取出转移成功与不成果两条线路上的指令。

加快、提前形成条件码

提高猜准率

posted @ 2022-03-09 11:51  希望25分钟跑完5公里  阅读(419)  评论(0编辑  收藏  举报