问题

IMG_20260821_21323074_0_guid(503e3e1660494531b9f9b97ccfc045c5).jpg

讲解

思考

Worked for 4s

回答

答案是 B

这题主要考查几种提高流水线并行度的技术:超标量、超流水线、超长指令字 VLIW

  • A 正确。 超标量处理器希望在一个时钟周期内发射多条指令,因此需要多个功能部件,比如多个整数运算单元、浮点单元等,同时需要更复杂的指令译码、相关检测、调度等硬件。

  • B 错误。 VLIW(超长指令字)确实对优化编译器要求很高,很多指令并行性的挖掘和调度工作由编译器完成。但“无其他硬件要求”说得太绝对。VLIW 为了同时执行一个超长指令中的多个操作,仍然需要多个可以并行工作的功能部件、足够宽的指令通路/寄存器访问能力等硬件支持。它只是相比超标量,把很多动态调度工作交给编译器,使控制硬件相对简单,并不是不需要额外硬件。

  • C 正确。按序流动的流水线中,指令按程序顺序读操作数、写结果,因此一般不会产生 WAR(写后读)和 WAW(写后写)相关,数据相关主要就是 RAW(读后写 / 真相关)。例如: I1: R1 ← R2 + R3 I2: R4 ← R1 + R5 第二条要读取第一条产生的 R1,这就是 RAW。

  • D 正确。 超流水线的核心就是把原来的流水级进一步细分。例如原来一个阶段需要 10 ns,可以拆成两个约 5 ns 的阶段,从而缩短时钟周期,提高单位时间内功能部件的启动/使用次数。

所以本题选 B

可以简单记:

超标量:一个周期“多发射” → 靠硬件。
超流水线:流水级“切得更细” → 提高频率。
VLIW:并行操作“编译器提前排好” → 更依赖编译器,但仍需要并行硬件。

分享这个问答