1
考慮以下 Y86_64 組合語言程式:
mrmovq (%rax), %rcx
addq %rcx, %rax
irmovq $0x1234, %rsp
popq %rcx
ret
在 5-cycle pipeline 處理器上執行這個程式,在最少的 stall 狀況下,哪些數值會被 forwarding 呢?挑選出所有可能數值列表
V1: %rcx from mrmovq to addq
V2: %rax from mrmovq to addq
V3: %rcx from mrmovq to popq
V4: %rsp from irmovq to popq
V5: %rax from addq to ret
V6: %rsp from popq to ret
作答區
A1 = ?
(a)
V1, V2, V3(b)
V2, V3, V4(c)
V2, V4, V6(d)
V1, V3, V5(e)
V1, V4, V6(f)
V3, V4, V5(g)
V4, V5, V62
承上,在 3-stage pipeline 處理器上 (fetch + decode, execute, memory + writeback) 執行程式,stall 需要佔用到幾個 cycle 呢?
提示:考慮到 forwarding 與否
作答區
A2 = ?
(a)
0(b)
1(c)
2(d)
3(e)
4(f)
0 或 4 (含) 以上