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. |