流水线处理不仅可以在数据流中进行, 而且可以在指令流中进行。
大多数具有复杂指令的数字计算机都需要指令流水线来执行诸如获取, 解码和执行指令之类的操作。
通常, 计算机需要按照以下步骤顺序处理每条指令。
- 从内存中获取指令。
- 解码指令。
- 计算有效地址。
- 从内存中获取操作数。
- 执行指令。
- 将结果存储在正确的位置。
每个步骤都在特定的段中执行, 并且有时不同的段可能需要不同的时间来处理传入的信息。此外, 有时两个或多个段可能需要同时访问内存, 从而导致一个段等待, 直到另一段内存用完为止。
如果将指令周期划分为相等持续时间的段, 则指令流水线的组织将更加高效。这种组织的最常见示例之一是四段指令流水线。
四段指令流水线将两个或多个不同的段组合在一起, 并使其成为一个段。例如, 指令的解码可以与有效地址的计算结合为一个段。
以下框图显示了四段指令流水线的典型示例。指令周期分为四个部分。
细分1:
可以使用先进先出(FIFO)缓冲区来实现指令提取段。
第2部分:
从存储器中提取的指令在第二段中解码, 最终, 有效地址在单独的运算电路中计算。
第3部分:
在第三段中提取内存中的操作数。
第4部分:
指令最终在管道组织的最后一部分中执行。
评论前必须登录!
注册