在我看来,它们完全一样,但超标量 CPU 架构的维基百科页面上写道
虽然超标量 CPU 通常也是流水线的,但流水线和超标量架构被视为不同的性能增强技术。
答案1
开始之前的定义:功能单元:执行特定指令的硬件设备
- 例如,
add
/的加法器、sub
的乘法器、 /mul
的移位器、 的除法器等。sll
slr
div
简而言之,流水线在第一条指令完成之前就开始执行下一条指令 - 但是所有指令仍按顺序依次执行。
- 串联 = 非并联 = 非“所有指令同时启动”
- 每个操作类型只需要一个 FU。只需要 1 个加法器、1 个乘法器和 1 个移位器等。
超标量架构可以在单个核心中并行启动两个或更多指令(使用多个重复的功能单元,每个功能单元处理特定类型的指令),并且独立的指令可能会乱序执行。
- 拥有三个加法器 FU 意味着您可以
add
同时执行三条不同的指令,但您无法执行任何额外的乘法、移位等,因为您缺少必要的硬件。
额外说明:如果您了解 Tomasulo 的算法,请注意 Issue 阶段与 Execution(和 WriteBack)阶段不同;上面特别提到了 Execution 阶段,而不是整个 Issue+Execution+WriteBack 阶段。
总结
- 管道 = 单核串行(但通过的指令比每次一条指令多)
- 超标量 = 单核并行