这篇博客的笔记内容是中央处理器。这是基础课计组系列里最长的一篇笔记了。没办法,感觉知识点都很重要还很容易忘并且比较抽象,因此只能把王道辅导书的内容基本复制下来了。
一、CPU的功能和基本结构
中央处理器(CPU)由运算器和控制器组成。
其中,控制器的功能是负责协调并控制计算机各部件执行程序的指令序列,包括取指令、分析指令和执行指令;运算器的功能是对数据进行加工。
1.CPU的功能
本文着重介绍的是CPU控制器的结构以及指令的执行流程和指令的流水线方案。
2.CPU的基本结构
1)组成框图
2)运算器
3)控制器
控制器是整个系统的指挥中枢,在控制器的控制下,运算器、存储器和输入/输出设备等功能部件构成一个有机的整体,根据指令的要求指挥全机协调工作。控制器的基本功能是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。
二、指令执行过程及数据通路
1.指令周期及其组成
以下为常见的两种指令周期类型。(a)为定长的机器周期,每个机器周期包含4个节拍(T);(b)所示为不定长的机器周期,每个机器周期包含的节拍数可以为4个,也可以为3个。
1)指令周期:CPU从主存中取出并执行一条指令的时间称为指令周期,不同指令的指令周期可能不同。指令周期常用若干机器周期来表示。
2)机器周期:一个机器周期又包含若干时钟周期。每个指令周期内的机器周期数可以不等,每个机器周期内的时钟周期数也可以不等。
3)时钟周期:CPU中最小的时间计量单位(也称节拍或T周期,它是CPU操作的最基本单位)
4)其他类型的指令周期
2. 指令周期中的数据流通
数据流是根据指令要求依次访问的数据序列。在指令执行的不同阶段,要求依次访问的数据序列是不同的。而且对于不同的指令,它们的数据流往往也是不同的。以下的数据流通应该是不考虑缓存以及指令预取的一个比较理想化的数据流通过程。
1)取指周期
取指周期的任务是根据PC中的内容从主存中取出指令代码并存放在指令寄存器IR中。这是指令周期中必须有的步骤,这也说明了理性化下,指令周期中必须访存。
2)间址周期
(间接寻址的指令才有间址周期)间址周期的任务是取操作数有效地址。以一次间址为例,将指令中的地址码送到MAR并送至地址总线,此后CU向存储器发读命令,以获取有效地址并存至MDR。
3)执行周期
执行周期的任务是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果。不同指令的执行周期操作不同,因此没有统一的数据流向。(个人理解:若有间址周期,取出实际的操作数应该是在这一步完成)
4)中断周期
中断周期的任务是处理中断请求。假设程序断点存入堆栈中,并用SP指示栈顶地址,而且进栈操作是先修改栈顶指针,后存入数据。
3.指令执行方案
1)单指令周期
2)多指令周期
3)流水线方案
指令流水线是当前计算机最常用的指令执行方案
4.数据通路
结合2.指令周期中的数据流通部分进行理解,数据通路是从部件间的流通过程去看待流通过程,2.指令周期中的数据流通部分则是从指令执行周期的角度去理解。
要注意微操作这个概念,这个概念很重要,下述的数据流通都是由微操作组成的。
1)数据通路的基本结构
对几种总线要能区分,在下一篇笔记总线会进一步区分。
2)寄存器间的数据流通
3) 主存与CPU之间的数据流通
4)执行运算时的数据流通
三、控制器
1.控制器的结构和功能
1)控制器主要结构
2)控制器主要功能
2.硬布线控制器
(个人理解:要抓住微操作控制信号这个点,不论是硬布线控制器还是微程序控制器最后都是为了产生微操作控制信号,并且输入也是相同的,二者的不同点在于中间的流程:一个是靠硬件去将输入转换为微操作信号、一个是通过对微存储器取指令去转换为微操作信号)
1)硬布线控制器的输入输出
抓住三个输入信号:指令信息、时钟信号、标志。
2)CPU控制方式
经典的三种控制方式,第三种往往是前两种的结合。
3)硬布线控制器的指令运行步骤及原理
(个人理解:硬布线控制器是一个数字电路,有三个输入、一个输出,找到这个数字电路的逻辑表达式那么就控制好输入输出的关系了)
3.微程序控制器
1)微程序控制的基本概念
大致总结:微程序控制的基本流程大致是:指令-->微程序-->微指令-->微命令-->微操作。这个过程有点像是一个逐步译码细化的过程。
2)微程序控制器的基本组成
3)微程序控制器的工作流程
类似一个精简版的小计算机。
4)微指令编码方式
微指令的编码方式又称微指令的控制方式,是指如何对微指令的控制字段进行编码,以形成控制信号。编码的目标是在保证速度的情况下,尽量缩短微指令字长。
相容性与互斥性概念见3.(1
5)微指令的地址形成
6)微指令的格式
水平型微指令中不同的操作可以并行执行
7)微程序控制器的运行步骤及原理
4.两种控制器的对比
四、指令流水线
计算机的流水线把一个重复的过程分解为若干子过程,每个子过程与其他子过程并行执行。由于采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术。(并行能让空闲的部件也活跃起来,更好地榨干性能)
1.指令流水的基本概念
1)定义
重叠执行方式就是流水线执行了。
2)流水线的优点
2.流水线的分类
1)按流水线使用级别分
根据流水线使用级别的不同,流水线可分为部件功能级流水线、处理机级流水线和处理机间流水线。
2)其他
3.流水线时空图
注意跟之前的指令执行方式图区分开来。
4.流水线影响因素
资源冲突和相关问题。资源冲突有点像进程对临界资源的调度问题。相关问题的话就是指令之间存在耦合。
5.流水线性能指标
1)吞吐率
2)加速比
3)流水线效率