# 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
```
充分解釋在共筆中,並且記錄你的學習歷程。