成大資工所考古題詳解硬體十年大統整(106–115)
各章配分
表中數字是各題的卷面配分,依主題加總。有子題的照子題分,沒有子題的整題算在主要考點。計組與 OS 依題目內容分開列,各自依十年合計排序,顏色越深,占當年總分的比例越高。所以少數卷面放在 OS 段、內容是記憶體階層的題目(114 第 1 題)算在計組。
| 章/細項 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 合計 | 占比 | 年數 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Operating Systems | 50 | 90 | 50 | 50 | 50 | 50 | 50 | 50 | 35 | 50 | 525 | 53% | 10 |
| Storage & File Systems | 35 | 16 | 15 | 15 | 18 | 1 | 15 | 22 | 137 | 14% | 8 | ||
| Disk Scheduling & Management | 25 | 16 | 15 | 12 | 1 | 6 | 75 | 8% | 6 | ||||
| File System Design & Semantics | 5 | 4 | 15 | 16 | 40 | 4% | 4 | ||||||
| File Allocation & Free Space | 10 | 10 | 2 | 22 | 2% | 3 | |||||||
| Virtual Memory | 20 | 20 | 10 | 10 | 7 | 12 | 4 | 83 | 8% | 7 | |||
| Virtual Memory & Demand Paging | 10 | 10 | 7 | 10 | 2 | 39 | 4% | 5 | |||||
| Page Replacement | 20 | 2 | 2 | 24 | 2% | 3 | |||||||
| Thrashing & Working Set | 10 | 10 | 20 | 2% | 2 | ||||||||
| I/O Systems | 20 | 10 | 25 | 2 | 1 | 6 | 64 | 6% | 6 | ||||
| CPU Scheduling | 30 | 10 | 15 | 2 | 57 | 6% | 4 | ||||||
| Scheduling Algorithms | 15 | 10 | 15 | 40 | 4% | 3 | |||||||
| Real-time Scheduling | 15 | 2 | 17 | 2% | 2 | ||||||||
| Memory Management | 10 | 4 | 5 | 7 | 9 | 4 | 39 | 4% | 6 | ||||
| Paging, Page Tables & TLB | 10 | 4 | 5 | 7 | 5 | 2 | 33 | 3% | 6 | ||||
| Address Binding & Memory Layout | 4 | 4 | <1% | 1 | |||||||||
| Contiguous Allocation & Fragmentation | 2 | 2 | <1% | 1 | |||||||||
| Processes & Threads | 10 | 10 | 10 | 8 | 38 | 4% | 4 | ||||||
| IPC & Signals | 10 | 5 | 4 | 19 | 2% | 3 | |||||||
| fork / wait / exec | 2 | 8 | 10 | 1% | 2 | ||||||||
| Threads & Concurrency | 5 | 3 | 8 | <1% | 2 | ||||||||
| Process States & Context Switch | 1 | 1 | <1% | 1 | |||||||||
| OS Structure | 25 | 9 | 2 | 36 | 4% | 3 | |||||||
| Virtual Machines & Containers | 25 | 25 | 3% | 1 | |||||||||
| OS Structure & Design Goals | 7 | 2 | 9 | <1% | 2 | ||||||||
| System Calls & Dual Mode | 2 | 2 | <1% | 1 | |||||||||
| Deadlock | 20 | 7 | 5 | 32 | 3% | 3 | |||||||
| Safe State & Banker's Algorithm | 20 | 5 | 25 | 3% | 2 | ||||||||
| Deadlock Characterization & Handling | 2 | 5 | 7 | <1% | 2 | ||||||||
| Synchronization | 20 | 4 | 2 | 26 | 3% | 3 | |||||||
| Critical Section & Race Condition | 10 | 2 | 2 | 14 | 1% | 3 | |||||||
| Classic Problems & Transactions | 10 | 10 | 1% | 1 | |||||||||
| Semaphores, Mutex & Monitors | 2 | 2 | <1% | 1 | |||||||||
| Other | 10 | 10 | 1% | 1 | |||||||||
| Protection & Security | 2 | 1 | 3 | <1% | 2 | ||||||||
| Computer Organization | 50 | 10 | 50 | 50 | 40 | 50 | 50 | 50 | 65 | 50 | 465 | 47% | 10 |
| Memory Hierarchy | 30 | 23 | 10 | 21 | 4 | 40 | 20 | 148 | 15% | 7 | |||
| Cache Organization | 16 | 5 | 17 | 4 | 15 | 10 | 67 | 7% | 6 | ||||
| Cache Performance & Optimization | 5 | 7 | 5 | 25 | 10 | 52 | 5% | 5 | |||||
| Virtual Memory, TLB & VIPT | 25 | 4 | 29 | 3% | 2 | ||||||||
| Parallel & Domain-specific | 10 | 24 | 50 | 10 | 4 | 20 | 5 | 10 | 133 | 13% | 8 | ||
| SIMD, Vector & GPU | 15 | 50 | 10 | 2 | 10 | 87 | 9% | 5 | |||||
| Parallelism, Multicore & Coherence | 10 | 9 | 10 | 5 | 10 | 44 | 4% | 5 | |||||
| Roofline & Arithmetic Intensity | 2 | 2 | <1% | 1 | |||||||||
| Pipelining | 10 | 15 | 50 | 12 | 5 | 10 | 102 | 10% | 6 | ||||
| Pipeline Timing | 30 | 5 | 10 | 45 | 5% | 3 | |||||||
| Hazards & Forwarding | 10 | 15 | 10 | 35 | 4% | 3 | |||||||
| Branch Prediction | 10 | 2 | 12 | 1% | 2 | ||||||||
| ILP, Superscalar & OoO | 10 | 10 | 1% | 1 | |||||||||
| ISA & Assembly | 5 | 2 | 2 | 10 | 10 | 29 | 3% | 5 | |||||
| Instruction Set Design & Encoding | 2 | 2 | 10 | 10 | 24 | 2% | 4 | ||||||
| Assembly & Code Translation | 5 | 5 | <1% | 1 | |||||||||
| Computer Arithmetic | 3 | 10 | 4 | 2 | 5 | 24 | 2% | 5 | |||||
| Floating Point | 3 | 10 | 4 | 2 | 19 | 2% | 4 | ||||||
| Adders & ALU | 5 | 5 | <1% | 1 | |||||||||
| Performance | 5 | 4 | 8 | 17 | 2% | 3 | |||||||
| CPU Time, CPI & Benchmarks | 5 | 2 | 8 | 15 | 2% | 3 | |||||||
| Power & Energy | 2 | 2 | <1% | 1 | |||||||||
| I/O & Storage | 5 | 2 | 7 | <1% | 2 | ||||||||
| I/O & Buses | 5 | 2 | 7 | <1% | 2 | ||||||||
| Datapath & Control | 5 | 5 | <1% | 1 | |||||||||
| Single-cycle Datapath & Control | 5 | 5 | <1% | 1 |
110 年第 1 題卷面標 50 分,但七個小題標的是 5、5、5、5、10、5、5,加總只有 40 分。表上照小題配分記,所以 110 年合計 90 分。
計組這邊分數最多的是 Memory Hierarchy(148 分)與 Parallel & Domain-specific(133 分,GPU 與 SIMD 為主)。OS 這邊是 Storage & File Systems(137 分),十年考八年,對應下面第 2 個特點。
重複出題清單
| 題目 | 出現年度 |
|---|---|
| IBM 的 ISAM(索引循序存取法)的索引結構 | 112 第 1(5) 題、115 選擇題 3(題幹與四個選項一字不差) |
| unified virtual memory 同時 cache process 頁與檔案資料的機制 | 109 第 5(2) 題、112 第 1(4) 題 |
| multilevel cache 中 L1 與 L2 各自的設計目標 | 108 第 3(4) 題、114 第 4(c) 題、115 配對題 |
| floating point 加法的結合律與 parallel reduction | 108 第 3(5) 題、113 第 5(4) 題 |
| banker's algorithm 的 safe sequence | 106 第 6 題、113 第 3 題 |
| page fault 數的模擬 | 107 第 5 題(FIFO 與 LRU)、115 選擇題 9(LRU) |
| disk scheduling(總移動距離、演算法比較、由誰排程) | 107 第 7 題、111 第 4(i)(j) 題、112 第 1(7) 題、113 第 5(7) 題、115 選擇題 11 |
| huge page 的優缺點、TLB reach | 108 第 4 題、113 第 4(3) 題、115 選擇題 10 |
| 多核與 SIMD 的加速 | 108 第 2 題、110 第 1(5) 題(只問 SIMD 改寫)、113 第 6(2)(3) 題 |
| 矩陣與二維陣列迴圈(GPU 程式、blocking、locality) | 109 第 3 題、110 第 1 題、113 第 6 題、114 第 5 題 |
| key-value store、LSM-tree | 110 第 2 題、115 簡答題 2 |
| GPU 與 CPU 的架構差異 | 108 第 3(1)(3) 題、109 第 1 題、111 第 1(h) 題 |
| MIPS 作為效能指標的公平性 | 111 第 1(b) 題、113 第 5(2) 題 |
| cache 追蹤(同一組位址跑多種組態) | 108 第 1 題、111 第 3 題 |
同主題的題目:108 第 1 題與 111 第 3 題(cache 追蹤,從兩種組態變三種)、110 第 2 題與 115 簡答題 2(key-value store 與 LSM-tree)、108 第 2 題與 113 第 6(2)(3) 題(多核與 SIMD 的 speedup)。
成大硬體的三個特點
1. 單題配分高
各年最大的一題配分 25 至 50 分:110 年全卷只有兩大題、各標 50 分,111 年第 4 題一題就 50 分,109 年全卷 5 題。客觀題的比重各年不同,112 年佔 20 分、113 年佔 50 分,115 年(配對與單選)佔 80 分。
2. 近年轉向儲存系統與現代議題
儲存系統相關的題目:
- 110 年第 2 題:key-value store 的十個 OS 設計面向(50 分)
- 112 年第 3 題:儲存系統的 tail latency,四個成因加兩個解法
- 112 年第 1(3)(5) 題:file allocation 與空間管理、FAT、ISAM
- 115 年選擇題 12:SSD 的 write amplification
- 115 年簡答題 2:LSM-tree 的 write amplification、read amplification 與 write stall(12 分)
3. 矩陣與陣列迴圈的最佳化,每隔幾年就出現
| 年度 | 問法 |
|---|---|
| 109 第 3 題 | 用熟悉的 GPU 程式框架手寫矩陣乘法程式 |
| 110 第 1 題 | 寫出 MIPS assembly、判斷該優化哪條 datapath、SIMD 改寫、算 blocking 後的最大子矩陣邊長 |
| 113 第 6 題 | 編譯器的迴圈最佳化、雙核 speedup、128-bit SIMD 的 speedup |
| 114 第 5 題 | 辨識 temporal 與 spatial locality、算需要多少 cache 區塊、串流資料下把相鄰區塊先帶進核心內緩衝區的機制 |
題型演變
| 年度 | 最大單題 | 特色 |
|---|---|---|
| 106 | 30% | TLB/cache 方塊圖連問六個小問;banker's algorithm 20 分 |
| 107 | 25% | virtual machine 的 CPI 開銷;碟片圖上的 seek 與 rotational latency |
| 108 | 30% | 同一組位址跑兩種 cache;TLB reach 與 page size |
| 109 | 30% | 第 1–3 題共 50 分談 CPU 與 GPU、heterogeneous computing 和 data parallelism,第 3 題手寫 GPU 矩陣乘法程式 |
| 110 | 50% | 全卷只有兩大題;key-value store 的十個設計面向 |
| 111 | 50% | I/O 子系統一題 50 分、十個小問 |
| 112 | 30% | 第一次有單選題;pipelined datapath 找 bug 並畫圖修正 |
| 113 | 30% | 客觀題佔 50 分;迴圈最佳化、雙核與 SIMD 的 speedup |
| 114 | 30% | Part I/II 各 50 分;指數分布下的 scheduling |
| 115 | 25% | 配對題,卷首附參考概念;LSM-tree 的 write amplification 與 read amplification |
106–108 年的答案要填進卷首表格;109、110、111 年只有 5、2、4 大題,大題配分高;112 年第一次出現單選題;114 年卷首明確分成 OS(Part I)與計組(Part II);115 年分成計組與 OS 各 50 分,計組部分是配對題。
客觀題(單選、是非、配對)的配分:111 年 20 分是非題,112 年 20 分單選,113 年 50 分(單選 20、是非 30),115 年 80 分(配對 50、單選 30)。114 年 Part I 的 50 分只要判斷 o/×,Part II 第 4 題的六個是非要附說明。106 年第 3 題(10 分)、108 年第 3 題(15 分)也是要說明理由的是非題。
作答規定與計分逐年對照
成大硬體十年卷面都沒有寫倒扣規則,各年度的作答規定如下:
| 年度 | 頁數 | 題數 | 形式 | 作答規定 |
|---|---|---|---|---|
| 106 | 3 | 7 大題 | 填表格 | 答案填入卷首指定表格,否則不計分 |
| 107 | 3 | 7 大題 | 填表格 | 同上;第 5 題明訂要寫出計算過程 |
| 108 | 3 | 5 大題 | 填表格 | 同上 |
| 109 | 2 | 5 大題 | 純申論 | 於試題紙上作答者不計分 |
| 110 | 2 | 2 大題 | 純申論 | 同上 |
| 111 | 4 | 4 大題 | 申論+是非 | 同上 |
| 112 | 5 | 6 大題 | 第一次有單選題 | 同上 |
| 113 | 4 | 6 大題 | 單選+是非+申論 | 同上 |
| 114 | 3 | 5 大題 | Part I/II 明確分科 | Part I 的答案要摘要進表格(o/×) |
| 115 | 8 | 配對+單選+簡答 | 第一次出現配對題 | 按題號彙整到指定表格 |
兩件事十年沒變:
- 每年都印不可在試題紙上作答的規定,106–114 年是「請於答案卷(卡)作答,於本試題紙上作答者,不予計分」,115 年封面寫「於試題上作答,不予計分」。
- 卷面都沒有寫倒扣規則。
答案要依指定格式彙整只出現在部分年度:106–108 年是填入卷首的空表格,明訂否則不予計分;114 年 Part I 是 o/× 表格,115 年是按題號彙整,這兩年卷面沒有寫不照格式會怎樣。
卷面明訂要寫過程或理由的題目,例如:107 年第 5 題要寫出計算 page fault 數的詳細過程,106 年第 1(4)(5) 題與第 3 題、108 年第 3 題要說明理由,113 年第 4(3) 題寫 brief explanation is required,114 年第 4 題寫 provide your explanations to justify your answers。
給 116 年考生的準備方向
- 進場先看作答規定。十年都寫不可在試題紙上作答,106–108 年明訂答案要填進卷首表格、否則不予計分,114、115 年也要把答案彙整成表格。
- 十年卷面都沒有寫倒扣規則。
- 107 年第 5 題明訂要寫計算過程;106、108、114 年的是非題要說明理由;113 年第 4(3) 題要簡述。
- 大題配分差距大,從 5 分(113 年第 3 題)到 50 分(110、111 年)。OS 各章(process、scheduling、synchronization、deadlock、記憶體、virtual memory、file system、I/O、儲存)在歷年卷中都曾單獨成題。
- 110–115 年出現過的三塊:
- LSM-tree 與 key-value store:WAL、MemTable、SSTable、compaction、write amplification、read amplification、write stall。
- SSD 內部機制:FTL、garbage collection、write amplification、TRIM、over-provisioning、tail latency。
- memory hierarchy 的現代設計:MESI(115 配對題)、把相鄰區塊先帶進核心內緩衝區的機制(114 第 5(d) 題)、兩層記憶體之間的 page migration 政策(115 選擇題 8)。
- 矩陣與陣列迴圈的最佳化(109、110、113、114):GPU 程式、blocking、SIMD、locality。
- 計組的重複題:MIPS 作為效能指標(111、113)、floating point 加法的結合律(108、113)、L1 與 L2 各自的設計目標(108、114、115)、GPU 與記憶體延遲(108 第 3(1) 題、111 第 1(h) 題)。
- 十年都禁用計算器,AMAT、page fault rate、TLB hit rate、2 的冪次都要手算。
本頁的題型、配分、作答規定都取自 106–115 年度試卷上的標示,各章配分是逐題分類後加總的。如果發現有誤,歡迎來信指正。
最後更新:2026-10-23