107 成大資工所硬體考點分析
第 2 題用虛擬機的陷入成本算兩種 CPI 並比較 I/O 密集應用的影響,第 3 題用一張碟片圖問尋道與旋轉延遲誰主導。
題型與配分
考試科目:計算機組織與系統,系所「電機資訊學院-資訊聯招」,考試日期 0205、節次 1,全卷 100 分、3 頁、7 大題。本試題不可使用計算機。
| 題號 | 配分 | 主題 |
|---|---|---|
| 1 | 10% | 多週期 CPU 的 CPI 與 I/O 定址方式 |
| 2 | 25% | 虛擬機的效能開銷(CPI 計算) |
| 3 | 15% | 磁碟 I/O 重排(尋道 vs 旋轉延遲) |
| 4 | 10% | 頁表大小與程式最大記憶體 |
| 5 | 20% | FIFO 與 LRU 的頁錯誤數 |
| 6 | 10% | inode 的最大檔案大小 |
| 7 | 10% | SSTF 與 C-SCAN 的總移動距離 |
與 106 年相同的作答規定:「請於答案卷(卡)作答,於本試題紙上作答者,不予計分」+「請在答案卷作一表格如下,並清楚地填入這些題目的答案」。
第 5 題明訂「請也寫出計算頁錯誤數的詳細過程」——只寫數字不給滿分,這與成大數學科「只寫答案不予計分」的規定一脈相承。
OS 與計組的比重:計組 35%(第 1、2 題)、OS 65%(第 3–7 題)。這一年 OS 的比重是十年最高之一。
計算機組織考點
- 第 1 題(10%)|多週期處理器:
- (1) 5%|算 CPI:Load 5 cycles 佔 45%、Store 3 佔 30%、R-type 3 佔 15%、Branch 2 佔 5%、Jump 2 佔 5%。加權平均的送分題,小心別抄錯比例
- (2) 5%|這類處理器對 I/O 裝置下命令的主要方法(提示:處理器要能定址裝置並提供命令)。考 I/O 裝置的定址方式,兩種主流做法都可以提
- 第 2 題(25%)|虛擬機的效能開銷,給一張參數表:base CPI 2、每 10,000 道指令有 100 次特權 OS 存取、陷入客體 OS 的成本 20 cycles、陷入 VMM 的成本 150 cycles、每 10,000 道指令有 20 次 I/O 存取、I/O 存取時間(含陷入客體 OS)1200 cycles。
- (1) 10%|非虛擬化系統的 CPI
- (2) 10%|虛擬化系統的 CPI。關鍵是判斷虛擬化之後「哪些事件」要多付「哪一項」成本——特權存取與 I/O 存取都要逐一檢查
- (3) 5%|I/O 密集的應用受虛擬化的衝擊是否較小、為什麼(提示:Yes or No, because…)。要從「額外成本佔原本成本的比例」來論證,不是比絕對值
- 這題是成大硬體十年裡唯一一次考虛擬化的量化開銷
作業系統考點
- 第 3 題(15%)|磁碟 I/O 的重排:應用產生三個讀取請求,邏輯區塊位址依序是 (555, 22, 120),卷上給一張碟片圖顯示三個位址的實體位置。
- (1) 5%|OS 重排成 (22, 120, 555)——OS 只看邏輯區塊位址,能不能保證最佳排程(Yes or No, because…)。要想清楚OS 手上有哪些資訊、缺哪些資訊
- (2) 5%|尋道時間遠大於旋轉延遲時的最佳順序
- (3) 5%|旋轉延遲遠大於尋道時間時的最佳順序
- 這題的精髓是「同一組請求在兩種硬體特性下的最佳解可能不同」,(2)(3) 都要從碟片圖上讀出位置——磁軌是徑向、旋轉是角度,兩種排序依據不一樣
- 第 4 題(10%)|單層頁表的大小:32-bit 位址空間、2 KB 頁(題目寫 2Kb,依上下文為 2 KB)。問頁表條目數、程式的最大記憶體、這個上限是否取決於頁面大小。第三問要想清楚最大記憶體是由什麼決定的
- 第 5 題(20%)|FIFO 與 LRU 的頁錯誤數:3 個頁框,存取序列
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2(16 次)。要寫出詳細的模擬過程。這是成大硬體十年配分第二高的單一題目。LRU 每次命中都要更新順序,最常見的錯是命中時忘了調整 - 第 6 題(10%)|inode 的最大檔案大小:磁碟區塊 4 KB、指標 4 bytes,12 個直接 + 單層 + 雙層 + 三層間接。先算出一個間接區塊能放幾個指標,再逐層累加;最後的總和要把四項都加上,不能只寫最大的那一項
- 第 7 題(10%)|SSTF 與 C-SCAN 的總移動距離:磁碟 5000 個磁軌(0–4999),磁頭目前在 143、前一個請求在 125,待處理佇列為
76, 1470, 909, 968, 1509, 1020, 1750, 130。 - (a) SSTF
- (b) C-SCAN
- 「前一個請求在 125」是用來決定初始方向的,別忽略;C-SCAN 的「跳回」距離算不算進總移動距離要在答案卷上寫清楚自己的假設
這份考卷的難點
- 第 2 題要正確判斷「哪些成本要加在哪裡」。 參數表裡「I/O 存取時間」這一格已經包含了某些成本,虛擬化之後要多加什麼、不能重複加什麼,要逐項核對。弄錯一項,兩個 CPI 都會錯。
- 第 3 題要從「硬體特性」反推最佳排程。 同一組請求在兩種硬體假設下有兩個答案,而且第 (1) 小問還要先說明「為什麼 OS 的邏輯位址排序不保證最佳」。
- 第 7 題的 C-SCAN 要處理「前一個請求在 125」這個條件,以及跳回的那段距離要不要算。
- 第 5 題要寫出完整的模擬過程,16 個存取 × 2 種演算法 = 32 步,20 分但很耗時。
準備建議
- 虛擬化的量化開銷(第 2 題)是成大十年唯一一次,但框架很固定:base CPI 加上各類事件的頻率乘以每次成本,虛擬化只是改變了某些事件的每次成本
- 磁碟的兩種延遲(第 3 題)要分清:尋道時間與旋轉延遲各自由什麼決定,兩者誰主導會影響排程策略
- inode 的最大檔案大小(第 6 題)是跨校高頻題,交大 111 年第 9 題也考
- 磁碟排程的總移動距離(第 7 題)要練 FCFS、SSTF、SCAN、C-SCAN、LOOK、C-LOOK 六種。C-SCAN 的跳回距離是最常見的爭議點,建議寫清楚自己的假設
- 頁面置換要寫出過程(第 5 題明訂)。成大在數學科也是「只寫答案不予計分」,硬體科同樣重視推導過程
- 多週期 CPI 的加權平均(第 1 題)是送分題,務必拿滿