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