111 師大資工所硬體考點分析
11 大題、OS 與計組精準各 50 分。分段位址轉換的三個小題裡藏了一個陷阱,是全卷最需要小心的地方。
題型與配分
科目「計算機系統」,適用系所:資訊工程學系,全卷 2 頁、11 大題、100 分。
| 題號 | 配分 | 歸屬 | 主題 |
|---|---|---|---|
| 1 | 15% | OS | 作業系統的兩種執行模式 |
| 2 | 10% | OS | fork() 迴圈的程序數 |
| 3 | 15% | OS | 分段(segmentation)位址轉換 |
| 4 | 10% | OS | 磁碟排程 FCFS 與 SSTF |
| 5 | 3% | 計組 | 十六進位轉二進位 |
| 6 | 3% | 計組 | 儲存程式概念 |
| 7 | 4% | 計組 | 可用度(availability) |
| 8 | 6% | 計組 | Amdahl 定律的「做不做得到」判斷 |
| 9 | 7% | 計組 | 為什麼選多核心而不是單一高速核心 |
| 10 | 13% | 計組 | forwarding 與無法轉送的危障 |
| 11 | 14% | 計組 | write-back 與全相聯快取 |
OS 50 分、計算機組織 50 分,切得一分不差。 師大從 111 年起連續五年(111–115)都是精準 50/50——兩邊都不能放掉。
沒有任何倒扣,題數多、單題配分小(最小的只有 3 分) ⇒ 每一題都要寫,寫不完整也先寫下能寫的部分。
111 年起選擇題完全消失,全卷都是申論與計算題。110 年那 20 分的選擇題是六年裡的孤例。
逐題考點
| 題號 | 配分 | 考點 | 要注意的地方 |
|---|---|---|---|
| 1 | 15% | 作業系統的兩種執行模式 | 15 分要寫滿:兩個模式的名稱、怎麼區分、哪些指令受限、什麼時候切換、為什麼需要 |
| 2 | 10% | for 迴圈裡呼叫 fork() 的程序總數 | 每一輪迴圈所有現存程序都會分裂一次。題目明寫「Including the initial parent process」,看清楚問的是「總數」還是「新產生幾個」。114 年第 1 題加上 if 分支後就不能再套公式 |
| 3 | 15% | 分段(segmentation)位址轉換,三個虛擬位址 | 段號佔幾個位元由「段的數量」決定,其餘才是位移。三個小題每一個都要做長度檢查——照著「基底 + 位移」硬算,永遠會得到一個看起來很合理的位址,但那不一定是正確答案 |
| 4 | 10% | 磁碟排程 FCFS 與 SSTF 的總移動距離 | 「前一個請求在 50」是 SCAN/LOOK 才用得到的方向資訊,這題用不到——與 110 年第 4 題一模一樣的干擾設計。SSTF 算完之後可以用「路徑上最遠的兩個轉折點」來驗算總距離 |
| 5 | 3% | 十六進位轉二進位 | 逐個 hex digit 拆成 4 個位元,一定要寫成 4 位一組,寫成連續 16 個位元容易數錯 |
| 6 | 3% | 儲存程式概念(stored-program concept) | 兩三句話講完就夠,要能點出這個概念帶來的後果 |
| 7 | 4% | 可用度(availability) | MTTF、MTTR 兩個量怎麼組合要記牢。題目特別解釋了「首四位小數」的意思——這是在防止你答成百分比或四捨五入 |
| 8 | 6% | 判斷「靠加速某一部分能不能達到 N 倍」 | 不要急著去解 Amdahl 公式。先想「不可改善的那一段時間」跟目標時間的關係,兩行就能下結論 |
| 9 | 7% | 為什麼選多核心而不是單一高速核心 | 要從功耗與散熱的角度論述,最好能連到動態功耗的公式。也可以補充 ILP 的邊際效益、良率與設計成本等理由 |
| 10 | 13% | (a) forwarding 的概念、(b) 舉一個「有 forwarding 仍會產生危障」的背靠背指令例子 | (b) 要從「前一道指令的結果在哪一級才產出」下手,不同類型的指令結果產出的時間不同。要畫出五級時序圖說明「資料產出的時間點晚於下一道指令需要它的時間點」 |
| 11 | 14% | (a) write-back 的好處、(b) 全相聯快取的一個優點與一個缺點 | (b) 8 分要「一優一缺」各講清楚,最好點出兩者其實是同一個設計選擇的兩面 |
這份考卷的難點
- 第 3 題的三個小題不能只套公式。 分段的考點就在長度檢查,只算「基底 + 位移」的人會在某一小題掉分。
- 第 4 題的干擾條件。 「前一個請求在 50」在 FCFS 與 SSTF 都用不到,是給 SCAN/LOOK 用的方向資訊;很多人會花時間去想「所以磁頭現在是往上還是往下」。
- 第 8 題要「先比大小再下結論」。 這題問的是「能不能」,一頭栽進 Amdahl 公式去解改善倍率,會解出不合理的結果,要會解讀它。
- 題數多、單題小分。 11 大題裡有 3 分、4 分、6 分、7 分的小題,時間分配要快——第 5、6 兩題合計 6 分,加起來寫不到三行就該收手。
- 第 10(b) 題要求「兩道背靠背的指令」,而符合條件的組合是特定的一種。 舉錯類型的例子(靠轉送就能解決的那種)拿不到分。
準備建議
- 師大從 111 年起就是 OS 50 + 計組 50 的精準對半,而且題數多、每題配分小。⇒ 準備策略是「廣度優先」:每個主題都要能寫出三到五句正確的內容,不需要任何一題鑽得極深
- 分段(segmentation)是師大硬體唯一考過的位址轉換題型之一(另一個是 115 年的兩層分頁)。兩件事必記:(1) 段號佔幾位元由「段的數量」決定、(2) 每個段都要做長度檢查
- 磁碟排程連考兩年(110 第 4 題、111 第 4 題),同一個模子換數字,連「給一個用不到的前一個請求位置」都一樣。這兩題一起練,SSTF 的服務順序要能一次寫對
fork()程序計數也連考兩年(111 第 2 題、114 第 1 題)。純迴圈可以找規律;一旦加上if (fork() == 0)分支就不能再套公式,必須畫程序樹- forwarding 的極限是必考題(111 第 10 題、114 第 9 題連兩年)。要能畫出五級時序圖說明「為什麼 forwarding 救不了」
- Amdahl 定律師大考過三種問法:110 年寫公式、111 年判斷做不做得到、114 年換變數再寫一次公式。三種都要會
- 可用度由 MTTF 與 MTTR 兩個量組成,公式要背;而且要看清楚題目要的是小數位數還是百分比
- 多核心取代高時脈的理由(第 9 題):power wall 的論述值得背成一段話