# B09: microarch ###### tags: `sysprog2017` :::info 主講人: [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2017 年系統軟體課程](https://www.facebook.com/groups/system.software2017/) :mega: 返回「[作業系統設計與實作](http://wiki.csie.ncku.edu.tw/sysprog/schedule)」課程進度表 ::: ## 預期目標 * 複習 MIPS 內部設計 * 回顧計算機組織結構 * 不只是小考,繼續「誠實面對自己」 ## 作業要求 考慮以下 MIPS 實作,其 data path 如下: ![](https://i.imgur.com/Y80lxhP.png) 上圖紅色的 `1`, `2`, `3` 對 MIPS 做了對應的修改,請考慮以下狀況,分別解釋對應的程式碼是否能運作: * 做了 `1: Stuck at 0 left of cut` 的修改,`sw $s1, 0($s2)` 能否運作?這樣的修改會使得哪些程式無法運作,請列出至少兩項組合語言列表 * 做了 `2` 的修改後,以下程式能否運作?解釋並提出可運作的版本 ``` add $s1, $s1, $s1 add $s1, $t0, $t1 ``` * 做了 `3` 的修改後,以下程式能否運作? ``` addi $s2, $zero, 2 addi $s1, $zero, 2 beq $s2, $s1, exit ``` 充分解釋在共筆中,並且記錄你的學習歷程。