计算机组成原理-指令执行过程


了解指令执行过程之前,需要了解指令的一些基本概念。

指令周期

指令周期是CPU从主存中每取出并执行一条指令所需的全部时间。

指令周期常常用若干机器周期来表示,机器周期又叫CPU周期

而一个机器周期又包含若干时钟周期(也成为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位

由上图可得每个指令周期内机器周期数可以不等,每个机器周期内的节拍数也可以不等。

指令工作周期总共可以区分为四个阶段:取值周期、间址周期、执行周期和中断周期,而为了区别不同的工作周期,在CPU内设置4个标志触发器FE(对应取值)、IND(对应间址)、EX(对应执行)、INT(对应中断)来区别为哪个工作周期。

指令周期的数据流

取指周期

若想进行取指,首先PC会想MAR发送当前指令地址,然后CU会发出控制信号,经控制总线传到主存,同时MAR中地址信息也会通过地址总线发送到主存中,此时主存中所读出的数据会通过数据总线传到MDR中,最后将MDR中获取到的数据放到IR中,就完成了一次取指操作。

间指周期

有些指令取完后会进入间指周期,此时IR中已经放着数据的地址,要再通过取指操作来进行间接寻址。

指令执行方案

单指令周期

将所有指令都选用相同的执行时间(即最长的那条指令)来完成。

指令之间串行执行,每条指令只能等前一条指令执行结束后才能启动。

缺点:对于本来可以在短时间完成的指令需要使用较长的周期来完成。

多指令周期

对不同类型的指令选用不同的执行步骤,指令间串行执行,在前一条执行结束后才能执行下一条,可以用不同个数的时钟周期完成不同指令的执行过程。

缺点:需要设计更复杂的硬件设计。

流水线方案

指令之间可以并行执行的方案,其追求是在每个时钟脉冲周期完成一条指令的执行过程。可以使尽量让多条指令同时运行。


文章作者: LsWorld
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LsWorld !
评论
  目录