单周期和多周期数据路径的区别
1. 单周期数据路径: 单路径相当于原来的单周期数据路径 数据存储器只有一个地址输入。实际的内存操作可以通过 MemRead 和 MemWrite 控制信号来确定。指令和数据有单独的存储器。有 2 个用于基于 PC 的计算的加法器和一个 ALU。控制信号相同。
2. 多周期数据路径: 多周期数据路径将指令分解为单独的步骤。每个步骤需要一个时钟周期 每个功能单元可以在一条指令中多次使用,只要它在不同的时钟周期中使用即可。它减少了所需的硬件数量。它减少了平均教学时间。单周期和多周期数据路径的区别:
编号 | 单周期数据通路 | 多周期数据通路 |
---|---|---|
1 | 指令不细分。 | 指令被分成任意数量的步骤。 |
2 | 单时钟周期对于最低指令来说足够长。 | 时钟周期很短,但对于最低指令来说足够长。 |
3 | 只能同时执行 1 条指令。 | 只能同时执行 1 条指令。 |
4 | 每条指令有 1 个周期,即 CPI = 1。 | 每条指令有可变数量的时钟周期。 |
5 | 控制单元为整个指令生成信号。 | 控制单元为指令的当前步骤生成信号并跟踪当前步骤。 |
6 | 有重复的硬件,因为可以将一个功能单元用于每条指令最多一个子任务。 | 没有重复的硬件,因为指令通常分为单个 FU 步骤。 |
7 | 不需要额外的寄存器。 | 需要额外的寄存器来保存一个步骤的结果以供下一步使用。 |
8 | 绩效是基准。 | 性能比单周期稍慢到中等快,当指令步骤平衡良好并且大部分指令花费的周期少于最大周期数时。 |