計算機組織與結構›Ch5 管線化(Pipeline)第 4 題/共 58 題
4. RISC-V、Instruction Latency、Pipeline Stall
#CC-05-004中RISC-VInstruction LatencyPipeline Stall
題組題幹(本題:第16題,共 2 小題)點擊展開
假設有下列 C 程式碼:
for (i=2; i<=1100; i++)
A[i] = A[i-1] + A[i-2];
對應的 RISC-V 組合語言如下:
li x5, 8800
add x12, x10, x5
addi x11, x10, 16
LOOP:
fld f0, -16(x11)
fld f1, -8(x11)
fadd.d f2, f0, f1
fsd f2, 0(x11)
addi x11, x11, 8
ble x11, x12, LOOP
這裡,一個指令的 latency 代表:另一個指令要使用它的結果之前,必須經過多少個 clock cycle。浮點數指令的 latency(cycles)如下:
fadd.d = 4 fld = 6 fsd = 1
請問執行這段程式碼需要多少個 clock cycles?
📄 台大114
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch5 管線化(Pipeline)