指令执行过程主要细分为三个步骤:
每一个步骤的详细操作如下
取指令阶段: 1、指令缓存中取出相关指令 2、把指令送到指令寄存器 分析指令: 1、把指令送到指令译码器中译码 2、指令译码器发出控制信号,同时程序计数器加1指向下一条指令 指向指令: 1、把数据装载到寄存器 2、ALU处理数据 3、记录运算状态,有进位或者溢出则记录到状态寄存器中 4、通过片内总线送出运算结果
上述流程是指令执行过程的一般操作,上方演示基本覆盖了指令执行过程的各个步骤。
在指令执行过程有一个问题,当需要取指令以及分析指令的时候主要是由控制器
工作的,在执行指令的时候主要是运算器
工作。也就是运算器和控制器不能同时工作,导致CPU综合利用率不高,因此需要改进指令执行过程,来提高CPU的综合利用率,改进方式就是流水线设计
。
CPU的流水线设计类似工厂的装配线,工厂的装配线使得多个产品可以同时被加工。在同一时刻,不同的产品均位于不同的加工阶段。
在没有应用流水线设计时,计算机指令是串行执行的:
使用了流水线设计,计算机指令则像下图一样是并行执行的:
串行执行指令和流水线执行指令时间的对比:
@此处并不是完全了解了下方公式。