写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。
这只是一部分,陆续还有计算机组成原理的其它章节,还会推出操作系统、数据结构、计算机网络、数据库的复试题整理
思维导图在我的processon。如果对你有帮助就打赏一下吧。
https://www.processon.com/view/link/5e6ca476e4b0f2f3bd1f89cd
CPU的功能和基本结构
中央处理器是由运算器和控制器组成的,控制器的功能是负责协调并控制计算机各个部件运行
运算器的功能是对数据进行加工。
CPU的功能是什么
指令控制、操作控制、时间控制、数据加工、中断处理
运算器的结构描述
运算器:算术逻辑单元、暂存寄存器、累加寄存器、通用寄存器组、程序状态字寄存器、移位器、计数器。
控制器结构描述
控制器:程序计数器、指令寄存器、指令译码器、存储地址寄存器、存储数据寄存器、时序系统、微操作信号发生器。很明显,这些部件都跟指令的执行有关,控制器的基本功能是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。
控制器的工作原理是:根据指令操作码、 指令的执行步骤(微操作序列)和条件信号来形成当前计算机各个部件要用的控制信号。
描述指令周期
指令周期:CPU从主存中每取出和执行一条指令所需的全部时间称为指令周期。指令周期由机器周期组成,机器周期由时钟周期组成。每个指令周期内的机器周期可以不等,机器周期内的节拍数也可以不等。
指令周期可分为:取指周期、间址周期、执行周期、中断周期。每个周期都有访存,只是目的不同。间址周期是为了取操作数的有效地址,执行周期是为了取操作数。
指令的三种执行方案
单指令周期:对所有指令选用相同执行时间来完成。每条指令都在固定的时钟周期内完成,指令之间串行,指令周期取决于执行时间最长的指令执行时间。对于那些本来可以在短时间完成的指令,却要使用较长的周期来完成,会降低整个系统的运行速度。
多指令周期
不同类型的指令选用不同的执行步骤来完成,称为多指令周期。指令之间串行
流水线方案。
计算机如何区分指令和数据
从时间上讲取指令时间发生在取值周期,取数据阶段发生在执行周期;
从空间上讲,指令取出送入控制器,数据取出送入运算器。
指令周期、机器周期、时钟周期的解释和联系
指令周期是指CPU取出并执行一条指令所需要的时间;
机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作所需的周期时间。
时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位。对应一个微操作所需的时间。
指令周期是否是一个固定值
由于计算机的各种指令执行所需的时间差异很大,所以为了提高CPU的效率,即使在同步控制器中,不同指令的指令周期长度都是不一致的。
控制器的主要功能
1、从主存取出一条指令,并住处下一条指令在主存中的位置。
2、对指令进行译码或测试,产生响应的操作控制信号,以便启动规定的动作。
3、指挥并控制CPU、主存、输入输出设备之间数据流动方向
硬布线控制器和微程序控制器的比较
微程序控制的基本概念
微程序控制器采用存储逻辑实现,也就是把微操作信号代码化,使每条机器指令转化为微程序并存入一个专门的存储器,微操作控制信号由微指令产生。
微命令、微操作、微程序的含义
微程序控制器的工作过程
1、执行取微指令公共操作。
2、由机器指令的操作码字段通过微地址形成部件产生该机器指令所对应的微程序入口地址,并送入CMAR
3、从CM中逐条取出对应的微指令并执行
4、执行完对应于一条机器指令的微程序后,有回到取指微程序的地址入口,继续1执行。周而复始。
微程序的编码方式
直接编码;字段直接编码;字段间接编码;
微指令是什么,它和指令的关系是什么
控制部件向其它执行部件发出的控制命令被称为微命令,一组实现一定功能的微命令的组合被称为一条微指令,许多条微指令组成的序列被称为微程序,微程序完成对指令的解释执行。指令,即机器指令。每一条指令都对应一个微程序,一个微程序中包含很多微指令,微指令可以发出多条微命令。
指令流水线
将一条指令分为多个子过程,每个子过程与其它的子过程并行执行,以提高计算机吞吐率的手段。只需要少量的硬件,就可以使计算机的运行速度提高好几倍。是计算机经常使用的并行处理技术。
影响流水线的因素有哪些
数据相关。在程序中,存在必须等待前一条指令执行完,才能执行后面一条指令的情况。解决犯法有1、把遇到数据相关的指令和后续指令都暂停几个周期;2、设置专用的数据通路,上一条指令的值不用写入寄存器,下一条指令也不用读寄存器组,而是直接把上一条指令计算结果作为下一条指令的输入数据开始计算,这叫做数据旁路技术。3、通过编译器对数据相关指令编译优化的方法,调整顺序来解决数据相关。
结构相关。多条指令在同一时刻争用同一资源而形成的冲突称为结构相关。解决办法:1、前一条指令访存时,后一条指令暂停一个时钟周期。2、单独设置数据存储器和指令寄存器,对资源重复配置。
控制相关。当流水线遇到专业指令和其它改变PC值的指令而造成的断流,会引起控制相关。解决办法:1、对转移指令进行分支预测,更好生成转移目标地址。2、取转移成功和不成功两个方向上的目标指令。3、加快和提前形成条件码?4、提高转移方向的准确率。
流水段越多,指令执行越快吗?
不是。流水段缓冲之间的额外开销增大了。而且流水线控制逻辑变得复杂了。