中央資工所考古題詳解硬體十年大統整(106–115)
各章配分
表中數字是各題的卷面配分,依主題加總。每題 5 分,一題的幾個選項分屬不同主題時,算在多數選項所屬的主題。計組與 OS 分開列,各自依十年合計排序,顏色越深,占當年總分的比例越高。網路題算在 OS 的 Other/Computer Networks,布林代數與 Karnaugh map 算在計組的 Digital Logic。
| 章/細項 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 合計 | 占比 | 年數 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Operating Systems | 50 | 50 | 50 | 50 | 50 | 50 | 55 | 50 | 50 | 50 | 505 | 50% | 10 |
| OS Structure | 15 | 10 | 10 | 10 | 5 | 5 | 5 | 15 | 20 | 5 | 100 | 10% | 10 |
| OS Structure & Design Goals | 10 | 5 | 5 | 5 | 5 | 5 | 5 | 40 | 4% | 7 | |||
| System Calls & Dual Mode | 5 | 5 | 5 | 5 | 5 | 5 | 30 | 3% | 6 | ||||
| Virtual Machines & Containers | 5 | 5 | 5 | 5 | 10 | 30 | 3% | 5 | |||||
| Processes & Threads | 15 | 5 | 10 | 10 | 5 | 15 | 15 | 10 | 85 | 8% | 8 | ||
| Threads & Concurrency | 10 | 10 | 5 | 5 | 5 | 5 | 5 | 45 | 4% | 7 | |||
| fork / wait / exec | 5 | 5 | 5 | 15 | 2% | 3 | |||||||
| Process States & Context Switch | 5 | 5 | 5 | 15 | 2% | 3 | |||||||
| IPC & Signals | 5 | 5 | 10 | 1% | 2 | ||||||||
| Other | 5 | 5 | 5 | 5 | 10 | 5 | 15 | 10 | 5 | 5 | 70 | 7% | 10 |
| Computer Networks | 5 | 5 | 5 | 5 | 10 | 5 | 5 | 5 | 45 | 4% | 8 | ||
| Other | 10 | 5 | 5 | 5 | 25 | 2% | 4 | ||||||
| Memory Management | 5 | 10 | 5 | 5 | 10 | 5 | 5 | 5 | 5 | 55 | 6% | 9 | |
| Paging, Page Tables & TLB | 5 | 5 | 5 | 5 | 10 | 5 | 5 | 5 | 45 | 4% | 8 | ||
| Contiguous Allocation & Fragmentation | 5 | 5 | <1% | 1 | |||||||||
| Address Binding & Memory Layout | 5 | 5 | <1% | 1 | |||||||||
| CPU Scheduling | 5 | 10 | 5 | 10 | 10 | 5 | 5 | 50 | 5% | 7 | |||
| Scheduling Algorithms | 5 | 10 | 5 | 10 | 5 | 5 | 5 | 45 | 4% | 7 | |||
| Real-time Scheduling | 5 | 5 | <1% | 1 | |||||||||
| Synchronization | 10 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 45 | 4% | 8 | ||
| Critical Section & Race Condition | 10 | 5 | 5 | 5 | 5 | 30 | 3% | 5 | |||||
| Semaphores, Mutex & Monitors | 5 | 5 | 10 | 1% | 2 | ||||||||
| Classic Problems & Transactions | 5 | 5 | <1% | 1 | |||||||||
| Virtual Memory | 10 | 5 | 5 | 5 | 10 | 5 | 40 | 4% | 6 | ||||
| Page Replacement | 5 | 5 | 5 | 5 | 5 | 25 | 2% | 5 | |||||
| Thrashing & Working Set | 5 | 5 | 10 | 1% | 2 | ||||||||
| Virtual Memory & Demand Paging | 5 | 5 | <1% | 1 | |||||||||
| Deadlock | 5 | 5 | 5 | 5 | 5 | 25 | 2% | 5 | |||||
| Deadlock Characterization & Handling | 5 | 5 | 5 | 15 | 2% | 3 | |||||||
| Safe State & Banker's Algorithm | 5 | 5 | 10 | 1% | 2 | ||||||||
| I/O Systems | 5 | 10 | 15 | 2% | 2 | ||||||||
| Storage & File Systems | 5 | 5 | 10 | 1% | 2 | ||||||||
| RAID | 5 | 5 | <1% | 1 | |||||||||
| Disk Scheduling & Management | 5 | 5 | <1% | 1 | |||||||||
| Protection & Security | 5 | 5 | 10 | 1% | 2 | ||||||||
| Computer Organization | 50 | 50 | 50 | 50 | 50 | 50 | 45 | 50 | 50 | 50 | 495 | 50% | 10 |
| Memory Hierarchy | 5 | 10 | 15 | 20 | 15 | 20 | 20 | 30 | 25 | 15 | 175 | 18% | 10 |
| Cache Organization | 5 | 5 | 15 | 10 | 15 | 10 | 10 | 10 | 80 | 8% | 8 | ||
| Virtual Memory, TLB & VIPT | 5 | 5 | 5 | 10 | 10 | 5 | 40 | 4% | 6 | ||||
| Cache Performance & Optimization | 5 | 5 | 5 | 5 | 5 | 10 | 35 | 4% | 6 | ||||
| DRAM, Dependability & ECC | 5 | 15 | 20 | 2% | 2 | ||||||||
| Pipelining | 15 | 25 | 20 | 20 | 15 | 10 | 5 | 5 | 15 | 15 | 145 | 14% | 10 |
| Hazards & Forwarding | 5 | 5 | 10 | 5 | 5 | 5 | 15 | 5 | 55 | 6% | 8 | ||
| Pipeline Timing | 5 | 15 | 5 | 5 | 5 | 5 | 5 | 45 | 4% | 7 | |||
| Branch Prediction | 5 | 5 | 5 | 5 | 5 | 25 | 2% | 5 | |||||
| ILP, Superscalar & OoO | 10 | 5 | 15 | 2% | 2 | ||||||||
| Exceptions & Interrupts | 5 | 5 | <1% | 1 | |||||||||
| ISA & Assembly | 5 | 5 | 10 | 5 | 10 | 5 | 5 | 45 | 4% | 7 | |||
| Instruction Set Design & Encoding | 5 | 10 | 5 | 10 | 5 | 5 | 40 | 4% | 6 | ||||
| Procedure Calls & Stack | 5 | 5 | <1% | 1 | |||||||||
| Datapath & Control | 5 | 10 | 5 | 5 | 5 | 5 | 35 | 4% | 6 | ||||
| Multicycle Datapath | 5 | 5 | 5 | 5 | 5 | 25 | 2% | 5 | |||||
| Single-cycle Datapath & Control | 5 | 5 | 10 | 1% | 2 | ||||||||
| Performance | 5 | 5 | 5 | 5 | 10 | 30 | 3% | 5 | |||||
| CPU Time, CPI & Benchmarks | 5 | 5 | 5 | 15 | 2% | 3 | |||||||
| Amdahl's Law & Speedup | 5 | 5 | 5 | 15 | 2% | 3 | |||||||
| Computer Arithmetic | 5 | 5 | 5 | 10 | 25 | 2% | 4 | ||||||
| Floating Point | 5 | 5 | 5 | 10 | 25 | 2% | 4 | ||||||
| Digital Logic | 15 | 5 | 20 | 2% | 2 | ||||||||
| Combinational Logic | 15 | 5 | 20 | 2% | 2 | ||||||||
| Parallel & Domain-specific | 5 | 10 | 15 | 2% | 2 | ||||||||
| SIMD, Vector & GPU | 5 | 10 | 15 | 2% | 2 | ||||||||
| I/O & Storage | 5 | 5 | <1% | 1 | |||||||||
| Disks & RAID | 5 | 5 | <1% | 1 |
計組這邊 Memory Hierarchy(175 分)與 Pipelining(145 分)十年每年都有。OS 這邊十年每年都有的是 OS Structure(100 分,privileged mode、mechanism 與 policy、container 這幾題重複最多)。計算機網路在 106–113 年每年都考,110 年兩題,其餘各一題 5 分,114、115 兩年完全消失,換成資訊安全。
重複出題清單
這是中央硬體最值得花時間的地方。十年來有一批 OS 題一字不差地重複使用,最多的出現了五次:
| 題目 | 出現年度 |
|---|---|
| 硬體沒有 privileged mode 時如何建構安全的 OS | 106 第 7 題、107 第 10 題、108 第 12 題、112 第 20 題、113 第 11 題(五次) |
| banker's algorithm 屬於哪一類手法、unsafe 狀態與 deadlock 的關係 | 106 第 13 題、109 第 11 題、110 第 13 題、113 第 19 題、114 第 12 與 19 題(五次) |
| many-to-many 模型下 kernel thread 數的效能影響 | 108 第 14 題、109 第 6 題、112 第 19 題(三次,一字不差) |
| 哪些 scheduling 演算法會造成 starvation | 106 第 9 題、109 第 4 題、112 第 17 題(三次) |
| 分離 mechanism 與 policy | 106 第 12 題(哪些是 policy)、107 第 9 題(目的)、113 第 15 題、114 第 17 題(四次) |
| container 與 virtual machine 的差異 | 110 第 14 題、113 第 14 題、114 第 16 題(三次,一字不差),111 第 7 題是相近主題 |
| LRU/FIFO/Optimal 的 page fault 數比較 | 108 第 16 題、109 第 7 題、111 第 6 題、113 第 13 題(113 與 108 連參考串都一樣) |
| 決定 page size 要考慮什麼 | 110 第 11 題、113 第 12 題(一字不差) |
| PCS/SCS、priority inversion、race condition | 111 第 16 題、113 第 17 題、114 第 18 題 |
| counting semaphore 的性質 | 109 第 5 題、112 第 18 題(一字不差) |
| page size 與 page table 大小的關係 | 108 第 19 題、109 第 9 題、110 第 10 題、113 第 18 題、114 第 4 題 |
| pipelining 改善的是 throughput 還是單指令 latency | 107 第 14 題、109 第 17 題、112 第 4 題、113 第 6 題 |
| temporal locality 與 spatial locality 的定義 | 109 第 19 題、110 第 2 題、115 第 9 題 |
| register renaming 能消除哪幾種 dependence | 109 第 14 題、110 第 9 題、111 第 14 題 |
| 分離 I-cache 與 D-cache 減少的是哪一種 hazard | 109 第 15 題、111 第 12 與 14 題 |
| cache 位址拆解(tag/index/offset 位元數) | 107 第 16 題、109 第 2 題、110 第 1 題、111 第 2 題 |
| pipelining 的 speedup(未 pipeline 對 pipeline) | 106 第 14 題、109 第 1 題、111 第 3 題(109 與 111 只差數字) |
| Amdahl's Law | 110 第 8 題(指令比例)、111 第 1 題(時間比例)、112 第 10 題(兩案比較) |
| write-through 的平均存取時間式子 | 112 第 9 題、113 第 1 題(只差讀寫比例) |
| inclusive cache 的定義 | 111 第 11 題、112 第 7 題、115 第 7 題 |
| fork 迴圈產生幾個 process | 106 第 19 題(問新增的 process 數)、111 第 4 題(問 process 總數),問法不同 |
| single-cycle 與 multicycle 的比較 | 106 第 2 題、108 第 7 題、109 第 13 題(反問)、110 第 4 題(週期時間)、111 第 13 題、112 第 4 題、115 第 2 題 |
| RISC 對 CISC | 109 第 15 題、110 第 7 題、111 第 13 題、112 第 5 題、115 第 1 題 |
| blocking system call 對呼叫 process 的影響 | 110 第 20 題、115 第 15 題 |
| 使用者 process 能否修改自己的 page table entries | 106 第 11 題、112 第 11 題 |
| dirty bit 或 valid-invalid bit 是否用來降低頁面傳輸的開銷 | 106 第 11 題、107 第 4 題、113 第 19 題、114 第 19 題 |
| TLB 對 multi-level page table 是否比對單層 page table 更有益 | 109 第 9 題、114 第 11 題 |
| 哪些指令是 privileged(sensitive)instruction | 109 第 3 題、114 第 20 題(同一組選項) |
| process 狀態轉換(I/O 完成後回到哪個狀態) | 109 第 10 題、112 第 14 題、115 第 12 題 |
| IPv6 路由器能否分割封包 | 109 第 12 題、110 第 15 題 |
| multithreading 共享什麼 | 106 第 8 題、108 第 17 題、111 第 19 題 |
重複最密集的是三年:112 年最後四題(17–20)連續 20 分全是原題,113 年第 11–15 題連續五題 25 分全是原題,114 年第 16–19 題連續四題 20 分全是原題。
115 年一題原題都沒有,這是 106 年以後第一次完全不重用舊題。
中央硬體的三個特點
1. OS 與計組固定對半,排列愈來愈整齊
十年來 OS 與計組各約 50 分,排列方式在 107 年之後愈來愈規律:
- 107:前 10 題純 OS、後 10 題純計組
- 110、113、114、115:前 10 題純計組、後 10 題純 OS
- 106、108、109、111、112:兩科分成幾個區塊交錯
分科複習的人比較方便,知道自己哪一科弱,就知道該加強哪十題。
2. 成對概念互相對調
中央很少考艱深的推導,常見的手法是把課本裡成對的概念互相對調,再問你哪個說法對。十年來至少出現這幾組:
temporal locality 與 spatial locality、page size 與 page table 大小的方向、register renaming 能消除哪幾種 dependence、banker's algorithm 屬於 prevention 還是 avoidance、PCS 與 SCS、inverted page table 的條目對應虛擬頁還是實體 frame、JR 屬於哪一種指令格式、write-allocate 通常搭配哪一種 write policy、機密性對應的是未授權修改還是未授權讀取、interrupt-driven I/O 需不需要 polling。
每一組都是兩個成對的名詞,選項裡放其中一種說法。只記得有這兩個名詞,沒記清楚哪個配哪個,就會在這裡失分。把它們整理成正反對照卡,是準備中央硬體最划算的事。
3. 絕對字眼要特別停下來看
選項裡出現 always、never、regardless、only、strictly、must 這類字眼時,不要順著語氣讀過去。107 第 2 題、111 第 15 題、114 第 3、5、11、12 題、115 第 6、8 題都有這種寫法,對應的觀念邊界分別是:整數遞增與原子性、加大 cache 與 hit rate、bank 數與存取模式的關係、增加 RAM 與 memory wall、頁數與 frame 數是否相等、context switch 的種類與 page table 的關係、TLB miss 與 page fault 的關係、GPU 的 context switch。每一句都要能舉出反例,或說得出成立的理由,不要靠語氣猜。
題型演變
| 年度 | 頁數 | 題型 | 「mod 5」題數 | 特色 |
|---|---|---|---|---|
| 106 | 7 | 多選 13+單選 7 | 4 | Boolean algebra 與 Karnaugh map 佔 15 分 |
| 107 | 7 | 多選 15+單選 5 | 4 | 逐選項倒扣佔 75 分 |
| 108 | 5 | 單選 5+多選 15 | 4 | 多重選擇 75 分卷面寫答錯不倒扣 |
| 109 | 6 | 單選 2+多選 18 | 0 | 兩題用「NOT true」反問 |
| 110 | 5 | 多選 10+複選 10 | 0 | 同卷兩種計分規則 |
| 111 | 8 | 單選 8+多選 12 | 0 | 唯一直接印出 datapath 電路圖 |
| 112 | 7 | 全卷多選 20 | 0 | 最後四題全是原題重出 |
| 113 | 6 | 複選 1+多選 19 | 0 | 計組以 memory hierarchy 為主 |
| 114 | 6 | 全卷多選 20 | 0 | 第一次考 ECC、memory wall |
| 115 | 8 | 全卷多選 20 | 0 | GPU、HBM、SSD、AI 都是第一次出現 |
106–108 每年有四題把答案壓成「算完再 mod 5」,109 年起這個設計消失。112 年起以全卷多選為主(113 年第 1 題為複選),114、115 兩年的題目幾乎都是敘述判斷。
mod 5 題把答案壓成 0–4 五個選項,沒有相近的選項可以反推,算錯一步就看不出來,106–108 這幾題要用兩種方法覆核。
倒扣規則逐年對照
十年有七種計分規則,只有 106 與 107、109 與 111、114 與 115 各是同一種:
| 年度 | 卷面結構 | 計分 | 倒扣下限 |
|---|---|---|---|
| 106 | 多選 1–13(65)+單選 14–20(35) | 多選逐選項 −1;單選答錯 −2 | 未標示 |
| 107 | 多選 1–15(75)+單選 16–20(25) | 多選逐選項 −1;單選答錯 −2 | 未標示 |
| 108 | 單選 1–5(25)+多重選擇 6–20(75) | 單選答錯 −2;多選不倒扣 | 扣到該大題 0 分 |
| 109 | 單選 1–2(10)+多選 3–20(90) | 單選答錯 −2;多選答對 +1/答錯 −1 | 扣到該大題 0 分 |
| 110 | 多選 1–10(50)+複選 11–20(50) | 多選逐選項 −1;複選全對才給分、不倒扣 | 扣到多選題 0 分 |
| 111 | 單選 1–8(40)+多選 9–20(60) | 單選答錯 −2;多選逐選項 −1 | 兩個獨立的倒扣池 |
| 112 | 全卷多選 20 題(100) | 逐選項 −1 | 未標示 |
| 113 | 複選 1(5)+多選 2–20(95) | 第 1 題全對才給分(卷面沒寫倒扣);其餘逐選項 −1 | 扣到該大題 0 分 |
| 114 | 全卷多選 20 題(100) | 逐選項 −1 | 扣到該大題 0 分 |
| 115 | 全卷多選 20 題(100) | 逐選項 −1 | 扣到多選題 0 分 |
三件事會影響下注策略,而且每年都不一樣:
- 108 年第 6–20 題多重選擇(75 分)卷面寫「答錯不倒扣」,但沒有寫是逐選項計分還是整題全對才給分,作答時不能假設全部勾滿一定划算。110 年後 10 題也不倒扣,那是全對才給分的複選。
- 106、107、112 三年卷面沒有寫倒扣下限,理論上可以扣到負分,其他七年都明訂扣到 0 分為止。有下限時,扣到底之後再猜就沒有額外損失。
- 110 年同一份卷子裡有兩種相反的規則:前 10 題逐選項倒扣,要保守;後 10 題全對才給分且不倒扣,一定要作答,但錯一個選項整題就是 0 分。113 年也有一題全對才給分的複選(第 1 題),但卷面沒有寫它倒不倒扣。
進場先把每個大題的計分說明讀完。
給 116 年考生的準備方向
- 先讀計分規則再動筆。十年有七種計分規則,而且 108 年的多選題答錯不倒扣,跟其他年度的逐選項倒扣不同。看錯規則,整份卷子的策略就錯了。
- 106–114 的重複題清單要練。privileged mode 與 banker's algorithm 各出現五次,mechanism 與 policy、page replacement 各四次,112、113、114 三年各有 20–25 分是原題原樣重出,是原題重出最集中的三年。
- 115 年一題原題都沒有,所以也要補新主題。如果 116 年延續 115 的路線,下面六塊在 115 年涉及第 6、7、8、10、11、13、14、20 題,約 40 分:
- GPU 架構:SIMT、Warp divergence、memory coalescing、shared memory bank conflict、latency hiding
- 現代記憶體:HBM/GDDR、bank/channel/interleaving、NUCA
- 虛擬化下的 paging:EPT/nested paging 的二維走訪、VIPT cache
- SSD:FTL、TRIM、write amplification、wear leveling
- 開機流程:UEFI、Secure Boot、MBR 與 GPT
- AI 工作負載:huge page、NUMA 感知、GPUDirect/RDMA
- 傳統計算題的基本盤要維持。114、115 的題目幾乎都是敘述判斷,但 106–113 每年都有要算出數值的題目。cache 位址拆解、CPI/MIPS、Amdahl's Law、page replacement 模擬、fork process 數這五項要練到反射。
- 逐選項倒扣是每個選項答對 +1、答錯 −1,沒把握的選項期望值是 0,把握過半才值得勾。有 0 分下限的年度,扣到底之後再猜就沒有額外損失。
- 106–111、113–115 年卷面註明禁用計算器(111 年印在第 3 頁),112 年卷面沒有。106–108 的 mod 5 題沒有相近選項可以反推,算完一定要用第二種方法覆核。
- 如果同時考中央的軟體,注意軟體 113、114 年是 20 題全複選、全對才給分、答錯倒扣 1 分,115 年前 10 題改成逐選項倒扣,跟硬體逐選項倒扣的計分邏輯不同,兩科的作答策略要分開練。
本頁的題型、配分、倒扣規則都取自 106–115 年度試卷上的標示,各章配分是逐題分類後加總的。如果發現有誤,歡迎來信指正。
最後更新:2026-10-23