113 師大資工所硬體考點分析
前四題 OS、後五題計組,各 50 分。第 6 題的無 forwarding 停頓與第 8 題的 MIPS 迴圈指令數是失分重災區。
題型與配分
科目「計算機系統」,適用系所:資訊工程學系,全卷 2 頁、9 大題、100 分。
| 題號 | 配分 | 歸屬 | 主題 |
|---|---|---|---|
| 1 | 15% | OS | 程序狀態圖、短期與長期排程器 |
| 2 | 15% | OS | 臨界區與忙碌等待 |
| 3 | 10% | OS | TLB 的有效記憶體存取時間 |
| 4 | 10% | OS | 多層分頁的層數計算 |
| 5 | 10% | 計組 | 由位址欄位反推關聯度 K |
| 6 | 10% | 計組 | 無 forwarding 的總週期數 |
| 7 | 10% | 計組 | 三顆處理器的每秒指令數比較 |
| 8 | 10% | 計組 | MIPS 迴圈的執行指令總數 |
| 9 | 10% | 計組 | 分支目標位址計算 |
OS 50 分(第 1–4 題)、計算機組織 50 分(第 5–9 題),而且切得乾乾淨淨——前四題全 OS、後五題全計組。
沒有倒扣。 第 5–9 題全部是「算出一個數字」的計算題,每題 10 分——算錯就整題沒有,沒有部分分可撿。反過來說前四題是解釋題,寫多少拿多少。
第 1 題與 112 年第 1(a) 題幾乎一字不差(都是「Draw a Process State Diagram and explain how a new job/process is transferred from state to state」)。師大的程序狀態圖是年年出現的固定班底。
逐題考點
| 題號 | 配分 | 考點 | 要注意的地方 |
|---|---|---|---|
| 1(a) | 11% | 畫出程序狀態圖並說明每一條轉換 | 與 112 年第 1(a) 題幾乎一字不差。每條轉換各寫一句觸發原因;最常見的錯誤是多畫了課本上不存在的轉換 |
| 1(b) | 4% | 短期與長期排程器的職責與差異 | 從「各自負責哪一條狀態轉換」切入最清楚,再比較呼叫頻率、速度要求與目標。能順帶提到中期排程器是加分項 |
| 2 | 15% | 臨界區、忙碌等待與如何避免 | (a) 講臨界區時要把解法必須滿足的條件寫出來才容易拿滿。(c) 的優缺點要從兩個方向各講,並想想忙碌等待在什麼樣的系統設定下會出大問題。(d) 要講到替代機制對程序狀態做了什麼,以及它多付出的代價 |
| 3 | 10% | TLB 命中率與有效記憶體存取時間 | 要把 TLB 命中與失誤兩條路徑各自的總成本逐項列出來:失誤時查 TLB 那一次付不付?主記憶體要存取幾次?這兩點各踩錯一個都會得到一個「看起來很合理」的錯答 |
| 4 | 10% | 多層分頁:最大頁框數、最大頁數、需要幾層 | (c) 決定「一層能索引幾位元」的是「一個頁裝得下幾個條目」,不是頁面大小本身。這題的頁表條目大小不是常見的 4 bytes——用習慣的數字去算會錯 |
| 5 | 10% | 由位址欄位反推組相聯的關聯度 K | 三個數字缺一不可:容量給總大小、Offset 給區塊大小、Set 欄位給 set 數。算完可以用「關聯度 × set 數 × 區塊大小 = 容量」驗算 |
| 6 | 10% | 無 forwarding 時五道指令的總週期數 | 答案取決於一個沒寫在題目裡的假設:暫存器檔分不分半週期。唯一自保的做法是在答案卷上把假設寫清楚再畫時序圖——這題 10 分沒有部分分可撿 |
| 7 | 10% | 三顆處理器的每秒指令數比較 | 指令集相同時,要把時脈與 CPI 一起考慮。「時脈率不等於效能」是全題唯一的觀念。與中興 112 年第 16 題是同一型 |
| 8 | 10% | MIPS 迴圈的執行指令總數(以 N 表示) | 兩個最常漏的點:迴圈離開前的最後一次檢查也是執行過的指令;迴圈裡有一道結果根本沒被用到的指令,一樣要算。114 年第 12 題用幾乎一樣的迴圈換問法 |
| 9 | 10% | 分支成立時的新 PC | 兩個必記的點:位移的基準是哪一個 PC、位移欄位以什麼為單位。漏掉任何一個,答案就完全不同——這是 MIPS 最基本也最常錯的一題 |
這份考卷的難點
- 第 6 題的答案取決於一個沒寫在題目裡的假設。 「暫存器檔分不分半週期」會讓總週期數差上好幾拍。唯一自保的做法是在答案卷上把假設寫清楚再畫時序圖——而且這題 10 分沒有部分分可撿。
- 第 3 題的 EAT 有兩個獨立的陷阱,踩到任何一個都會得到一個「看起來很合理」的錯答。
- 第 4(c) 題的頁表條目大小不是常見值。 這一個數字直接決定了每層索引佔幾個位元。
- 第 8 題最常被漏的是「迴圈最後那一次檢查」也要算進去。 而且迴圈裡有一道指令的結果根本沒被用到——會讓人懷疑是不是不該算。
- 第 9 題的兩個細節,漏任何一個答案就完全不同。 這是 MIPS 最基本也最常錯的一題。
- 後五題全是「算出一個數字」,10 分一題、全有或全無。 前四題的解釋題反而是最穩的 50 分——考場策略應該是先把第 1、2 題(合計 30 分)寫飽再去算後面。
準備建議
- 師大的程序狀態圖是每年必考(112 第 1(a)、113 第 1(a) 幾乎一字不差)。五個狀態、每條轉換要能默畫,不存在的轉換不要多畫
- 三種排程器的分工(第 1(b) 題):長期、短期、中期各管哪一條轉換
- EAT 的計算要把每一條路徑的「總延遲」拆清楚再加權(第 3 題)。建議固定寫成「命中路徑成本 × 命中率 + 失誤路徑成本 × 失誤率」,每條路徑逐項列出
- 多層分頁的層數計算(第 4 題):先算「一個頁裝得下幾個條目」→ 每層的索引位元數 → 用 VPN 位元數去除。條目大小是變數,不要預設
- 由位址欄位反推快取參數(第 5 題)是師大的固定題型
- 管線停頓的計算一定要畫時序圖(第 6 題),而且把假設寫在圖旁邊。師大 112、113、114 連三年考管線危障
- 效能比較要時脈與 CPI 一起看(第 7 題)
- MIPS 迴圈題要練到能一眼數出指令數與最終值(第 8 題、114 第 12 題)
- 分支目標位址的計算規則(第 9 題)務必背死