[資工]交大102計算機系統第25題(計組/pipeline)

作者: qoojordon (穎川琦)   2014-10-06 20:09:05
102交大資工 計組25題
http://ppt.cc/QBpD
我簡化題目敘述如下:
假設指令執行時 , beq都預測分支發生 , 但實際執行時分支不發生
在有forwarding機制下 , 討論以下條件下 , 指令片段執行完成之所需時間?
lw $s0,0($t0)
lw $s1,0($t0)
beq $s0,$s1 L1
add $s2,$s0,$s1
(1) 分支是否發生在 MEM 階段被決定 // 張凡ans:(5-1)+4+1+1=10
(2) 分支是否發生在 ID 階段決定 // 張凡ans:(5-1)+4+1+2=11
Q1:
完全不懂延後到MEM才能決定分支 , 可是所花執行週期數比較少
我自己畫的 分支於MEM階段決定的週期圖
黃色是暫停管線等lw做好 綠色是發生前饋後處理錯誤指令的時間
cc1 cc2 cc3 cc4 cc5 cc6 cc7 cc8 cc9 cc10 cc11 cc12
lw $s0,0($t0) IF ID EX MEM WB
lw $s1,0($t0) IF ID EX MEM WB
beq $s0,$s1 L1 IF ID ID EX MEM WB
猜錯的冤大頭#1 IF IF ID EX NOP
猜錯的冤大頭#2 IF ID NOP
猜錯的冤大頭#3 IF NOP
add $s2,$s0,$s1 IF ID EX MEM WB
共花12個cycle
作者: AgentSkye56 (大安周渝民)   0000-00-00 00:00:00
第一題 感覺beq後只需要一個NOP應該只要清掉一個 add吧(不確定對不對XD)應該是移到ID後加上來比較的電路計算耗1個cycle吧?!
作者: AgentSkye56 (大安周渝民)   0000-00-00 00:00:00
第一題 感覺beq後只需要一個NOP應該只要清掉一個 add吧(不確定對不對XD)應該是移到ID後加上來比較的電路計算耗1個cycle吧?!SORRY 我覺得你第一題寫得應該是對的 吧
作者: qoojordon (穎川琦)   0000-00-00 00:00:00
搜尋中 , 我多做幾年題目再跟你確認 , 或是看板上有沒有上題庫班的同學囉 QQ
作者: happy8155 (Chickey)   0000-00-00 00:00:00
Q1的add的EX在beq 的MEM後即可(因為在MEM完就知道結果)所以是10sorry沒看到預測錯誤xD他應該有假設mem前半讀後半寫之類的東東吧@@ 這樣beq就可以往前拉 我猜是這樣xD
作者: AgentSkye56 (大安周渝民)   2014-10-06 23:02:00
第一題 感覺beq後只需要一個NOP應該只要清掉一個 add吧(不確定對不對XD)應該是移到ID後加上來比較的電路計算耗1個cycle吧?!SORRY 我覺得你第一題寫得應該是對的 吧
作者: qoojordon (穎川琦)   2014-10-08 00:04:00
搜尋中 , 我多做幾年題目再跟你確認 , 或是看板上有沒有上題庫班的同學囉 QQ
作者: happy8155 (Chickey)   2014-10-08 00:08:00
Q1的add的EX在beq 的MEM後即可(因為在MEM完就知道結果)所以是10sorry沒看到預測錯誤xD他應該有假設mem前半讀後半寫之類的東東吧@@ 這樣beq就可以往前拉 我猜是這樣xD
作者: HiltonCool (野獸瘋)   2014-10-16 23:59:00
今天看了一下這題,我也覺得你的答案才是對的

Links booklink

Contact Us: admin [ a t ] ucptt.com