1. 多周期数据通路:
多周期数据路径将指令分解为单独的步骤。每一步都需要一个时钟周期 每个功能单元在一条指令中可以多次使用,只要在不同的时钟周期中使用即可。它减少了所需的硬件数量。它减少了平均指令时间。
2. 管道数据路径:
流水线的目标是允许同时执行多条指令。我们可能需要在一个循环中执行多个操作。递增PC并同时添加寄存器。获取一条指令,而另一条指令读取或写入数据。
与单周期数据路径一样,流水线处理器需要复制同一时钟周期所需的硬件元素。
多周期数据路径和流水线数据路径之间的差异:
S.No. | Multiple Cycle Datapath | Pipeline Datapath |
---|---|---|
1 | Instructions are divided into artitoray number of steps. | Instructions are divided into one per stage. |
2 | Clock cycles are short but long enough for the lowest instruction. | Clock cycles are short but long enough for the lowest instruction. |
3 | There are only 1 instruction that can be executed at the same time. | There are as many instructions as pipeline stages. |
4 | There is a variable number of clock cycles per instructions. | There is a fixed number of clock cycles per instruction, one for each pipeline stage, i.e., CPI = k. |
5 | Control unit generates signals for the instruction’s current step and keeps track of the current step. | Control unit generates signals for the entire instruction; these signals are propagated from one pipeline stage to another via the pipeline registers. |
6 | There is no duplicate hardware, because the instructions generally are broken into single FU steps. | There is duplicate hardware, so that there are no restrictions on which instructions can be in the pipeline simultaneously. |
7 | Extra registers are required to hold the result of one step for use in the next step. | Extra registers are required to provide the results of one pipeline stage to the next pipeline stage. |
8 | Performance is slightly slower to mederaletly faster than single cycle, latter when the instructions steps are well balanced and a significantly fractions of the instructions take less than the maximum number of cycles. | Performance is moderately faster to significantly faster than a single cycle. |