計算機組織與結構›Ch5 管線化(Pipeline)
第 4 題/共 58 題
◀ CC 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)
本章題號 · 1–20 / 58