Try   HackMD

2017q1 Homework4(microarch)

contributed by<yanang>

tags: yanang

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

做了 1: Stuck at 0 left of cut 的修改,sw

s1,0(s2) 能否運作?這樣的修改會使得哪些程式無法運作,請列出至少兩項組合語言列表

  • 當 WB(write back) signal 維持 0 時,registers 不會將結果寫入 destination register
  • 無法使用的組合語言
    • add, sub, and, or, slt
    • lw, sw

做了 2 的修改後,以下程式能否運作?解釋並提出可運作的版本
add $s1, $s1, $s1
add $s1, $t0, $t1

  • Rs 的 forwarding 將會失效
  • hazard conditions:
    • EX/MEM.RegisterRd = ID/EX.registerRs
    • EX/MEM.RegisterRd = ID/EX.registerRt
    • MEM/WB.RegisterRd = ID/EX.registerRs
    • MEM/WB.RegisterRd = ID/EX.registerRt
add $s1, $s1, $s1
add $s1, $t0, $t1
  • 並不屬於以上四種情況,故是可運作的

做了 3 的修改後,以下程式能否運作?
addi $s2, $zero, 2
addi $s1, $zero, 2
beq $s2, $s1, exit

參考資料

計算機組織結構
pipeline forwarding