计算机组成原理——指令流水线

285 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

指令流水线把一个重复的过程分解为若干子过程,每个子过程与其他子过程并行执行。由于采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术。本文简单为大家介绍下指令流水线

指令流水线的组成

一个指令分为多个阶段:

  • 取指:根据程序计数器内容访问主存储器,取出指令并写入IR中(这部分不了解的可以看看计算机组成原理——指令执行过程
  • 分析:对指令操作码进行译码,并得到有效地址EA,获取操作数
  • 执行:根据操作码字段,完成指令规定的功能

指令执行方式

多条指令被执行时,可采用以下三种方式:

  1. 顺序执行方式:指令按顺序执行,前一条指令执行完后,才启动下一条指令

    • 总耗时T = 3*n*t
    • 控制简单,硬件代价小
    • 速度慢,利用率低
  2. 一次重叠执行方式:同时进行第k条指令的执行阶段以及第K+1条指令的取指阶段

    • 总耗时 T = (1 + 2 * n)* t
    • 速度快,利用率高
    • 增加了硬件开销
  3. 二次重叠方式:总耗时 T = (2 + n) * t

    • 速度快,利用率高,增加了硬件开销
    • 可以把每条指令分为4个或5个阶段