110 中正資工所硬體考點分析
第 6 題給一張含兩個反相器與 NAND 的循序電路,要寫出布林式、追蹤輸出並算最高操作頻率。第 2 題比較 RMS 與 EDF。
題型與配分
科目名稱:計算機系統,系所組別「資訊工程學系-甲組」,第 4 節,全卷 100 分、4 頁、11 大題。
| 題號 | 配分 | 主題 |
|---|---|---|
| 1 | 20% | 十個單選 |
| 2 | 10% | RMS 與 EDF 的可排程性 |
| 3 | 10% | 多層分頁的層數與 TLB 有效存取時間 |
| 4 | 5% | 銀行家演算法 |
| 5 | 5% | inode 的最大檔案大小 |
| 6 | 15% | 循序電路的布林式、輸出追蹤與最高頻率 |
| 7 | 8% | SRAM 與 DRAM 的四個面向比較 |
| 8 | 8% | 雙埠記憶體對單埠記憶體的效能比較 |
| 9 | 7% | C 的三元運算子翻成 MIPS 組語 |
| 10 | 6% | FP16 半精度浮點的表示 |
| 11 | 6% | 提升快取頻寬的兩種最佳化 |
110 年是中正硬體唯一一次在第 4 節考(其餘多在第 3 節),入場後 40 分鐘內不得離場,卷面無倒扣標示。
第 6 題又出現數位邏輯(15 分),與 109 年第 10、11 題呼應——中正硬體在 109、110 兩年連續考數位邏輯。
OS 與計組的比重:OS 50%(第 1–5 題)、計組 35%(第 7–11 題)、數位邏輯 15%(第 6 題)。
第 1 題:十個單選(20%)
- (1)|哪個關於行動裝置的敘述是錯的——選項圍繞行動裝置與桌機在核心數、記憶體與電力管理上的差異。用十年前的印象去判斷核心數會中招
- (2)|對檔案套用獨占鎖(exclusive lock)的效果——要能分辨共享鎖與獨占鎖各允許幾個程序、做哪些操作
- (3)|「統一虛擬記憶體用什麼機制同時快取程序頁與檔案資料」——與成大 112 年第 1(4) 題一字不差
- (4)|記憶體映射 I/O(memory-mapped I/O)的定義——關鍵在「用哪一套位址空間、用哪一套指令」,選項就是拿這兩個維度互相排列
- (5)|磁碟排程為何只考慮尋道距離——要能說出現代磁碟對 OS 隱藏了什麼資訊。與成大 112 年第 1(7) 題一字不差
- (6)|關於裝置格式化哪個是錯的——核心分界是「低階格式化」與「邏輯格式化」各由誰、在什麼時候做
- (7)|關於 Linux spinlock 哪個不正確——「單處理器上能不能用 spinlock」是最常見的絕對化敘述。與成大 112 年第 1(10) 題一字不差
- (8)|POSIX 條件變數的正確使用方式——要記牢
pthread_cond_wait()與pthread_cond_signal()各自對 mutex 的要求(呼叫前後誰該鎖、誰該解) - (9)|臨界區三個性質之間的蘊含關係(mutual exclusion/progress/bounded waiting 與 no deadlock、no starvation)——要能排出「誰比誰強」的順序。與台大 111 年第 13 題是同一個考點
- (10)|關於執行緒哪個是錯的——選項涵蓋 Java 執行緒的建立方式與共享語意。四個選項的敘述都很接近,要逐條對照,不能靠語感
作業系統考點
- 第 2 題(10%)|三個即時程序:P1(20/50)、P2(30/100)、P3(90/300),期限等於週期、全部在時間 0 就緒。
- (a) 5%|RMS 能否全部準時完成
- (b) 5%|改用 EDF 能否全部準時完成
- 先算總利用率,再分別對照 RMS 與 EDF 的可排程條件。兩者的條件性質不同(一個是充分條件、一個是充要條件),這題的數據刻意設計在會讓兩者結論分歧的位置。RMS 光靠界限測試不夠時,要畫時間軸實際驗證
- 第 3 題(10%)|多層分頁與 TLB:64-bit 虛擬位址、頁面 32 KB、頁表條目 4 bytes、頁框號要 3 bytes 存。
- (a) 5%|需要幾層分頁。考一頁能放幾個條目,由此決定每層能解析幾個位元
- (b) 5%|TLB 命中率 80%、記憶體存取 100 ns、TLB 存取 10 ns 時的有效存取時間。TLB 失誤時要走幾次頁表,取決於 (a) 的答案——兩小題連動
- 第 4 題(5%)|銀行家演算法:四個程序、四種資源,判斷是否存在安全序列
- 第 5 題(5%)|inode 的最大檔案大小:區塊 4 KB、指標 8 bytes。標準的 12 個直接 + 單/雙/三重間接結構,陷阱是指標大小 8 bytes(很多人習慣 4 bytes)
數位邏輯考點
- 第 6 題(15%)|循序電路:卷上給一張圖,含兩個反相器、一個 NAND 閘、一個 D flip-flop。
- (a) 6%|寫出布林方程式,包含 next_state 函式與 output 函式
- (b) 4%|輸入依序是 0, 0, 1, 1, 0, 1,初始 present_state 為 0,求輸出序列。要逐拍代入 (a) 的方程式,(a) 錯 (b) 就跟著錯
- (c) 5%|最高操作頻率:D flip-flop 的 T_setup = 100 ps、T_clk-to-q = 100 ps、T_hold = 50 ps;反相器 50 ps、NAND 100 ps。考最小時脈週期由哪三段時間組成,以及要從圖上正確找出最長的組合邏輯路徑。hold time 也順便檢查,題目給了就是希望你提到
計算機組織考點
- 第 7 題(8%)|SRAM 與 DRAM 在密度、功耗、成本、速度四個面向的比較。送分題,但四個面向都要寫到,功耗這一項要講出兩者耗電的來源不同
- 第 8 題(8%)|雙埠對單埠記憶體:A 機用雙埠記憶體(指令與資料可同時存取)、B 機用單埠(有結構危障);兩者理想 CPI 都是 1,B 的時脈比 A 快 1.05 倍,load 佔 40%。
- 考結構危障對 CPI 的影響。要把「時脈快一點」與「多出來的停頓」放在同一個式子裡權衡,不能只看單一項
- 第 9 題(7%)|把
f = (i==j) ? g+h : g-h;翻成 MIPS 組語並說明執行流程。這是 Patterson & Hennessy 的 if-then-else 標準範例。MIPS 沒有條件搬移指令,要想清楚分支條件怎麼寫 - 第 10 題(6%)|FP16 半精度(1 符號、5 指數、10 尾數,bias = 15)的表示,把 −5.0 與 +2.5 轉成 FP16。標準步驟:轉二進位 → 正規化 → 指數加 bias → 尾數去掉隱藏的 1。bias 是 15 不是 127,套錯單精度的參數是最常見的錯
- 第 11 題(6%)|提出兩種提升快取頻寬的最佳化。注意題目問的是「頻寬」而不是命中率或命中時間,要先把快取最佳化手段依「改善的是哪一個指標」分類
這份考卷的難點
- 第 3(b) 題的 TLB 失誤成本跟第 (a) 小問連動。 多層頁表失誤時,每一層都要一次額外的記憶體存取,很多人只算一次。第一題錯第二題必錯。
- 第 2 題的利用率是刻意設計的邊界值。 要把 RMS 與 EDF 條件的「充分」與「充要」差別答出來,光寫結論沒寫理由會被扣分。
- 第 8 題要看出「單埠記憶體會對 load 造成結構危障」。 B 機時脈快聽起來有利,但停頓的代價要算進去才知道誰快。
- 第 11 題問的是「頻寬」不是「命中率」。 很多人會答「提高關聯度」「加大快取」,但那些改善的是失誤率,不是頻寬。
準備建議
- 中正硬體在 109、110 兩年連續考數位邏輯(109 年 25 分、110 年 15 分)。要會:flip-flop 的三個時序參數、最小時脈週期的組成、循序電路的 next_state/output 布林式與逐拍追蹤
- RMS 與 EDF 的可排程條件(第 2 題):兩個界限都要背,並知道哪個是充分、哪個是充要
- 多層分頁 + TLB 的有效存取時間(第 3 題):TLB 失誤時要走完每一層頁表
- SRAM 對 DRAM 的四象限比較(第 7 題)是送分題,但要四個面向都答到
- 快取最佳化要分清三個目標(第 11 題):降低命中時間、降低失誤率、提升頻寬,各有哪些手段要能分類
- MIPS 的條件運算(第 9 題):if-then-else 的標準寫法
- FP16 的參數(第 10 題):1 符號、5 指數(bias 15)、10 尾數。近年 AI 應用讓 FP16/BF16/FP8 變成跨校新考點
- 110 年有三題單選與成大 112 年一字不差(page caching、磁碟排程只看尋道、Linux spinlock)。兩校的單選題庫可能有共同來源,值得交叉練習