指令周期
取值周期、执行周期
· 一个指令周期可以初步地被分为:取指周期和执行周期2部分;
· 其中取指周期会根据PC的值从对应的地址中取出要执行的指令,取出指令后PC自动加一,并且还会进行指令译码,即分析指令;
· 分析指令:操作码译码 + 得到操作数的有效地址
· 也可以将分析指令单独作为指令周期的一个组成部分,这里把指令分析作为取指令的一部分是因为取指令需要访存,时间会稍长一些,而分析指令的时间相对来说会很短。
· 分析指令结束后,就可以执行指令,有的指令需要访存,有的指令不需要访存,所以不同类型的指令的执行时间会有一些差别。
· 指令执行结束后开始取下一条指令,即进入下一个指令周期。
时钟周期、机器周期、指令周期
· 一个取指令的过程需要分为几个微操作来执行;如果取指令需要4个微操作来完成,则取指令的过程需要消耗4个时钟周期;
· 分析指令的过程有可能需要将形式地址转换为有效地址,这个转换过程也可能消耗几个时钟周期;
· 机器周期:完整的做完一个子工作(可能是取指令、可能是分析指令、可能是执行指令)所需要消耗的时间;
· CPU内最小的时间单位:CPU时钟周期;
· 一个机器周期由多个时钟周期组成;
· 定长机器周期:完成每个子工作所消耗的时间(机器周期)都相等
· 标记:不会写的题
每个指令周期的机器周期数可以不相等,每个机器周期内的时钟周期数也可以不相等
指令周期流程
如何区别CPU处于指令周期的哪个阶段?
· CPU区分指令和数据- - - 指令周期的不同阶段;
· CPU区分指令周期的不同阶段- - - -触发器标记
指令周期数据流- - - 指令周期的各个阶段都需要完成什么工作?
取指周期
· MAR中的地址通过地址总线送到主存,主存中该地址的内容通过数据总线送到MDR
· 标记:做错的题
间址周期
执行周期
中断周期
· 暂停执行当前的程序(由很多指令组成),去执行其他处理中断的程序(由很多指令组成),中断程序执行完后,重新回到原来的程序
指令执行方案
单指令周期
· 所有指令的执行时间都延长为与指令周期最长的指令相同的时间
·指令间串行执行
· 优点:根据节拍数就能知道一条指令的执行结束时间变得可知,使得控制电路设计方便
多指令周期
· 指令间串行执行
· 优点:允许不同长度的指令周期,合适的
· 缺点:硬件电路更复杂
流水线
· 指令间可以“并行”执行
· 标记:不会写的题