iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 9
0
自我挑戰組

大四資工人生,快畢業了,然後呢系列 第 9

#資工人生─Day9─計算機結構

Pipeline 設計可達高度平行化,但真正設計與執行時卻會遇到實際的問題。

(a). 請辨別出下列程式碼所有發生資料相依的地方。哪一個相依是屬於可透過前饋(forwarding)來解決的資料危障?哪一個相依是屬於會造成暫停(stall)的資料危障?請使用編號說明。

(b). 請問下列程式在pipeline CPU 中的總執行時間 (假設有 forwarding機制)。

(1) add $5, $4, $2
(2) lw $4, 200($3)
(3) add $3, $4, $2
(4) sub $5, $3, $1

請問以下 Pipeline datapath 在執行 lw 指令時會發生什麼問題?該怎麼解決?

  • ANS: 當指令執行完畢要寫回暫存器時,WriteRegister 編號已不是自己的編號,因此寫入的結果會錯誤. The color lines are used to pass the write register number

  • 如何用軟體解決分支危障? 指令調度


上一篇
#資工人生─Day8─計算機結構
下一篇
#資工人生─Day10─作業系統
系列文
大四資工人生,快畢業了,然後呢31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言