推 yupog2003: 新design把branch放在EX stage,每次碰到branch的時候 01/04 22:40
→ yupog2003: 都要等2 cycles才知道要不要跳,CPI=1*0.4*2=1.8 01/04 22:43
→ yupog2003: ㄟ不對先別理我,我應該有想錯 01/04 22:45
→ ken52011219: C有爭議 01/04 23:20
→ ken52011219: 以前有人說c有爭議還是算的出d 我算不太出來 01/04 23:22
→ lingege32: yu大的答案 再加上 sub bez中間會有data harzard所以 01/05 01:40
→ lingege32: 要空一個stall 1.8 + 1*0.4*0.25*1 = 1.9 01/05 01:40
→ lingege32: 不過題目也沒說有沒有forwarding哈哈ˊˋ 也不太確定 01/05 01:47
推 yupog2003: sub bez 中間有data hazard,可是branch在EX決定,照理 01/05 07:11
→ yupog2003: 來說是可以被forwarding解掉,就跟add, add產生的 01/05 07:11
→ yupog2003: data hazard一樣,都是後一個指令在EX stage要用前一個 01/05 07:12
→ yupog2003: 指令EX stage的結果,這樣想是否有誤? 01/05 07:12
→ yupog2003: D選項我試了好幾個版本,speed up確實都超過不了1.16 01/05 07:14
→ yupog2003: 可是怎麼也算不出1.16這個數字,所以很奇怪 01/05 07:14
→ yupog2003: 我是想說IC都變成1.1倍了,speedup要壓在1.16確實有困 01/05 07:16
→ yupog2003: 難,當然這樣解題整個不清不楚的,很危險 01/05 07:17
→ yupog2003: 我找了網路上的答案說這題答案BD,是否有更改答案? 01/05 07:18
→ ken52011219: 有,好像c後來改掉了 01/05 08:35
→ ken52011219: 主要c有爭議的原因是還要考慮其他instruction 01/05 08:36
→ lingege32: yu大是對的 我想成他在ID決定 01/05 09:48
推 k2shouai: C是1.9/1.1才對 因為sub指令增加了CPI跟IC 01/05 11:14
推 k2shouai: D就2.2/(1.1(1.9/1.1))=1.15 01/05 11:15