交大資工所考古題詳解硬體十年大統整(106–115)
各章配分
表中數字是各題的卷面配分,依主題加總。複選題每題 4 分、題組每組 5 分,題組整組算在主要考點;一題的幾個選項分屬不同主題時,算在多數選項所屬的主題。計組與 OS 分開列,各自依十年合計排序,顏色越深,占當年總分的比例越高。資訊安全的題目算在 OS 的 Protection & Security。
| 章/細項 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 合計 | 占比 | 年數 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Computer Organization | 58 | 50 | 54 | 50 | 50 | 50 | 50 | 50 | 50 | 50 | 512 | 51% | 10 |
| Memory Hierarchy | 17 | 13 | 13 | 9 | 13 | 5 | 17 | 9 | 21 | 8 | 125 | 12% | 10 |
| Cache Organization | 4 | 8 | 9 | 9 | 13 | 17 | 4 | 64 | 6% | 7 | |||
| Cache Performance & Optimization | 9 | 5 | 4 | 5 | 4 | 4 | 31 | 3% | 6 | ||||
| Virtual Memory, TLB & VIPT | 4 | 4 | 4 | 5 | 4 | 21 | 2% | 5 | |||||
| DRAM, Dependability & ECC | 5 | 4 | 9 | <1% | 2 | ||||||||
| Pipelining | 17 | 13 | 8 | 8 | 4 | 16 | 12 | 13 | 17 | 8 | 116 | 12% | 10 |
| Hazards & Forwarding | 5 | 5 | 4 | 4 | 4 | 12 | 8 | 9 | 4 | 4 | 59 | 6% | 10 |
| Branch Prediction | 4 | 4 | 4 | 4 | 8 | 4 | 28 | 3% | 6 | ||||
| Pipeline Timing | 8 | 4 | 5 | 17 | 2% | 3 | |||||||
| ILP, Superscalar & OoO | 4 | 4 | 8 | <1% | 2 | ||||||||
| Exceptions & Interrupts | 4 | 4 | <1% | 1 | |||||||||
| Computer Arithmetic | 4 | 4 | 8 | 17 | 17 | 8 | 8 | 8 | 12 | 86 | 9% | 9 | |
| Floating Point | 4 | 4 | 4 | 8 | 4 | 4 | 4 | 32 | 3% | 7 | |||
| Integer Representation & Overflow | 4 | 4 | 8 | 4 | 20 | 2% | 4 | ||||||
| Adders & ALU | 5 | 5 | 4 | 4 | 18 | 2% | 4 | ||||||
| Multiplication & Division | 4 | 8 | 4 | 16 | 2% | 3 | |||||||
| ISA & Assembly | 4 | 8 | 13 | 4 | 8 | 9 | 9 | 8 | 9 | 72 | 7% | 9 | |
| Instruction Set Design & Encoding | 4 | 4 | 4 | 4 | 4 | 4 | 8 | 4 | 36 | 4% | 8 | ||
| Assembly & Code Translation | 4 | 4 | 5 | 5 | 18 | 2% | 4 | ||||||
| Procedure Calls & Stack | 4 | 4 | 5 | 5 | 18 | 2% | 4 | ||||||
| Performance | 8 | 4 | 8 | 4 | 4 | 4 | 4 | 8 | 4 | 48 | 5% | 9 | |
| CPU Time, CPI & Benchmarks | 4 | 4 | 8 | 4 | 4 | 4 | 8 | 36 | 4% | 7 | |||
| Amdahl's Law & Speedup | 4 | 4 | 4 | 12 | 1% | 3 | |||||||
| Parallel & Domain-specific | 4 | 4 | 4 | 4 | 13 | 29 | 3% | 5 | |||||
| AI Accelerators & LLM Systems | 4 | 9 | 13 | 1% | 2 | ||||||||
| Parallelism, Multicore & Coherence | 4 | 4 | 4 | 12 | 1% | 3 | |||||||
| Roofline & Arithmetic Intensity | 4 | 4 | <1% | 1 | |||||||||
| Datapath & Control | 4 | 4 | 4 | 4 | 4 | 20 | 2% | 5 | |||||
| Single-cycle Datapath & Control | 4 | 4 | 4 | 12 | 1% | 3 | |||||||
| Multicycle Datapath | 4 | 4 | 8 | <1% | 2 | ||||||||
| I/O & Storage | 8 | 4 | 12 | 1% | 2 | ||||||||
| I/O & Buses | 4 | 4 | 8 | <1% | 2 | ||||||||
| Disks & RAID | 4 | 4 | <1% | 1 | |||||||||
| Other | 4 | 4 | <1% | 1 | |||||||||
| Operating Systems | 42 | 50 | 46 | 50 | 50 | 50 | 50 | 50 | 50 | 50 | 488 | 49% | 10 |
| Memory Management | 4 | 9 | 13 | 5 | 5 | 12 | 17 | 13 | 78 | 8% | 8 | ||
| Paging, Page Tables & TLB | 4 | 9 | 4 | 5 | 5 | 4 | 13 | 4 | 48 | 5% | 8 | ||
| Address Binding & Memory Layout | 9 | 8 | 4 | 4 | 25 | 2% | 4 | ||||||
| Segmentation | 5 | 5 | <1% | 1 | |||||||||
| Storage & File Systems | 4 | 8 | 8 | 12 | 8 | 13 | 4 | 5 | 9 | 71 | 7% | 9 | |
| File Allocation & Free Space | 4 | 4 | 8 | 4 | 5 | 25 | 2% | 5 | |||||
| File System Design & Semantics | 4 | 4 | 4 | 4 | 4 | 20 | 2% | 5 | |||||
| RAID | 4 | 5 | 5 | 14 | 1% | 3 | |||||||
| Disk Scheduling & Management | 4 | 4 | 4 | 12 | 1% | 3 | |||||||
| Processes & Threads | 4 | 8 | 8 | 4 | 12 | 8 | 13 | 4 | 4 | 4 | 69 | 7% | 10 |
| Process States & Context Switch | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 32 | 3% | 8 | ||
| IPC & Signals | 4 | 9 | 13 | 1% | 2 | ||||||||
| Threads & Concurrency | 4 | 4 | 4 | 12 | 1% | 3 | |||||||
| fork / wait / exec | 4 | 4 | 4 | 12 | 1% | 3 | |||||||
| Synchronization | 9 | 5 | 4 | 8 | 5 | 9 | 8 | 8 | 56 | 6% | 8 | ||
| Classic Problems & Transactions | 5 | 5 | 4 | 4 | 5 | 5 | 28 | 3% | 6 | ||||
| Critical Section & Race Condition | 4 | 4 | 4 | 8 | 20 | 2% | 4 | ||||||
| Semaphores, Mutex & Monitors | 4 | 4 | 8 | <1% | 2 | ||||||||
| CPU Scheduling | 4 | 4 | 5 | 5 | 4 | 4 | 4 | 4 | 8 | 4 | 46 | 5% | 10 |
| Scheduling Algorithms | 4 | 4 | 5 | 5 | 4 | 4 | 4 | 8 | 4 | 42 | 4% | 9 | |
| Real-time Scheduling | 4 | 4 | <1% | 1 | |||||||||
| Virtual Memory | 4 | 4 | 8 | 8 | 4 | 9 | 4 | 4 | 45 | 4% | 8 | ||
| Page Replacement | 4 | 4 | 4 | 5 | 17 | 2% | 4 | ||||||
| Virtual Memory & Demand Paging | 4 | 4 | 4 | 4 | 16 | 2% | 4 | ||||||
| Thrashing & Working Set | 4 | 4 | 8 | <1% | 2 | ||||||||
| Kernel Memory Allocation | 4 | 4 | <1% | 1 | |||||||||
| OS Structure | 4 | 4 | 4 | 4 | 4 | 8 | 8 | 36 | 4% | 7 | |||
| System Calls & Dual Mode | 4 | 4 | 8 | 8 | 24 | 2% | 4 | ||||||
| OS Structure & Design Goals | 4 | 4 | 4 | 12 | 1% | 3 | |||||||
| Protection & Security | 8 | 17 | 4 | 5 | 34 | 3% | 4 | ||||||
| Deadlock | 4 | 4 | 4 | 4 | 4 | 4 | 24 | 2% | 6 | ||||
| Safe State & Banker's Algorithm | 4 | 4 | 4 | 4 | 4 | 20 | 2% | 5 | |||||
| Deadlock Characterization & Handling | 4 | 4 | <1% | 1 | |||||||||
| I/O Systems | 5 | 4 | 4 | 8 | 21 | 2% | 4 | ||||||
| Other | 4 | 4 | 8 | <1% | 2 |
計組這邊 Memory Hierarchy(125 分)與 Pipelining(116 分)十年每年都有。OS 這邊分數最多的是 Memory Management(78 分)、Storage & File Systems(71 分)與 Processes & Threads(69 分,十年都有)。資訊安全在 107 年一年就有 17 分。
重複出題清單
| 題目 | 出現年度 |
|---|---|
| MIPS machine code 編碼(beq 位移、j 位址欄位)加迴圈程式追蹤 | 106 第 3 題、111 題組 D(同一段迴圈;起始位址由 8000 4000h 改為 8800 4000h、$s2 的 register 編號由 17 改為 18、最後一道 addi 換成 sll);108 第 14 題、110 第 17 題也考編碼 |
| branch prediction 失敗的額外 CPI(R-type 50%/beq 25%/lw-sw 25%、準確率 20%) | 107 第 9 題、114 第 19 題(一字不差) |
| IEEE754 的四個敘述(含最小正 denormalized number) | 107 第 8 題、114 第 17 題(幾乎相同);110 第 14 題、111 第 16 題、115 第 15 題也考 |
判讀 /proc/.../maps 的 memory layout | 109 題組 B、114 第 7 題 |
| RAID 5 的容量、容錯、寫入牽涉幾顆碟 | 112 題組 A、114 題組 A(114 多問 throughput) |
| 1-bit ALU 的結構與 control signal | 109 題組 C(propagation delay)、110 題組 C(control signal)、111 第 12 題(用四元組實作 C 敘述)、115 第 13 題 |
| forwarding control signal 與 pipeline 時序追蹤 | 106 題組 A、107 題組 B、111 第 18 題、114 第 18 題、114 題組 D |
| producer-consumer、readers-writers 的 semaphore 初值與順序 | 106 題組 C、107 題組 C(閱覽室座位版)、108 第 3 題、109 第 3 題、111 題組 A |
| endianness 無關的資料(回文判斷) | 106 第 1 題、109 第 12 題、114 第 16 題 |
| Amdahl's Law | 106 第 6、16 題、109 第 13 題、112 第 17 題、114 第 11 題 |
| banker's algorithm 的 safe sequence、安全變更 | 108 第 4 題、109 第 4 題、111 第 2 題、112 第 10 題、114 第 5 題 |
| disk scheduling(FCFS/SSTF/SCAN/C-SCAN 的 starvation 與 seek) | 108 第 7 題、110 第 5 題、115 第 10 題 |
| fib 遞迴的 MIPS assembly | 110 第 12 題、115 題組 D |
| buffer overflow | 106 第 20 題(防範措施)、107 第 19 題、113 題組 A(107 與 113 都是 strcpy(buffer, argv[1]),buffer 大小 256 改成 50) |
| cache 位址拆解(tag/index/offset) | 106 第 7 題、107 題組 A、110 題組 D、112 題組 D、113 題組 D、114 題組 C |
| MIPS instruction format 與型別(jr、sll 屬於哪一種) | 109 第 14 題、113 第 11、15 題 |
時間有限的話先練三組:106 第 3 題對 111 題組 D(同一段迴圈)、107 第 9 題對 114 第 19 題(一字不差)、107 第 8 題對 114 第 17 題(幾乎相同)。107 第 8、9 題與 114 第 17、19 題各 4 分,練熟其中一份,另一份就多拿 8 分。
交大硬體的三個特點
1. 「複選 80+題組 20」的結構十年不變
四個題組的題材每年都換,沒有固定的「同步一組、記憶體一組」的配置。年度怎麼分布,看下面「題型演變」那張表的題組主題欄:
- OS synchronization 類(semaphore 填空、monitor 找 bug、message passing 的 deadlock)出現在 106、107、110、111、112
- 記憶體與 file system 類(位址拆解、page table 層數、inode 配置、page fault 計算)幾乎每年都有
- 計組硬體類(1-bit ALU、pipeline 時序、cache hit)每年至少一組
- 程式追蹤類(MIPS machine code、assembly 反推 C、buffer overflow、AES 程式)出現在 106、108、111、112、113、115
2. 題組全對才給分,小題數在 10 到 15 之間
106 年題組共 11 個小題,111、115 年多到 15 個,113 年最少是 10 個。一個題組只有 5 分,卻可能要畫兩張 pipeline 時序圖(106 題組 A)、算四種情境的存取時間(111 題組 B),或完成一條五步的位址轉換鏈(115 題組 A)。
題組不倒扣,每個小題都要作答。因為全對才給分,不確定的時候回頭檢查整組前後是否一致。
3. 值得多看幾遍的三題
- 108 題組 D:n+1 道指令無限重複、cache 只有 n 條列時,比較 direct-mapped、fully associative 加 LRU、fully associative 加 MRU 三種替換方式的 hit rate。
- 113 題組 B:兩個只差迴圈順序的程式初始化 256×256 陣列,比較兩者的 page fault 數。
- 112 題組 D:五個字位址(24、8、25、10、41)在 2-way cache 上的 hit 情況。
題型演變
| 年度 | 頁數 | 題組小題數 | 題組主題 | 備註 |
|---|---|---|---|---|
| 106 | 8 | 11 | pipeline 追蹤/三層記憶體/semaphore 初值/AES 程式 | 答對 +1、答錯 −2 |
| 107 | 8 | 13 | 位址拆解/forwarding 訊號/閱覽室 semaphore/RSA 簽章 | 資安佔 17 分,十年最高 |
| 108 | 9 | 13 | RR 四進位拆解/位址位元數/陣列 vs 指標 assembly/direct-mapped vs LRU vs MRU hit rate | |
| 109 | 11 | 13 | SRTF 四進位拆解//proc/self/maps/1-bit ALU propagation delay/Hamming code | |
| 110 | 9 | 13 | two-level paging 索引/dining philosophers monitor 找 bug/1-bit ALU control signal/符號推導 | 計分規則第一次改動 |
| 111 | 9 | 15 | readers-writers semaphore 填空/SPARC vs ARM page table/自訂 CPU 的 cache/MIPS machine code(同 106) | 題組小題數與 115 年並列最多 |
| 112 | 9 | 14 | RAID 5/message passing 的 deadlock/assembly 反推 C/2-way cache 的總位元數與 miss 數 | 題組小題第一次註明為單選 |
| 113 | 13 | 10 | buffer overflow/row-major 與 column-major 的 page fault 數/無 forwarding 的 stall 數/兩層 cache | 第一次考 x86 特權等級 |
| 114 | 10 | 14 | RAID 5 throughput/multi-level page table 最少層數/cache 欄位/pipeline 第 5 週期 | 重複出題清單中出現最多次的一年 |
| 115 | 12 | 15 | segmented paging 轉換鏈/inode 磁區換算/GPU accelerator 設計/fib assembly | 計組段大幅轉向 AI |
卷面結構十年不變,真正在變的是倒扣規則和題組的題材。題組裡 cache(位址拆解、hit rate、CPI)十年有八年(106 B、107 A、108 D、110 D、111 C、112 D、113 D、114 C),paging(page table、位址轉換、page fault)有七年(107 A、108 B、110 A、111 B、113 B、114 B、115 A)。
倒扣規則逐年對照
卷面結構十年沒變:複選題 20 題佔 80 分,加四個題組佔 20 分。倒扣規則則換過三個階段。
| 年度 | 複選題倒扣 | 倒扣下限 | 題組 |
|---|---|---|---|
| 106 | 答對一個 +1、答錯一個 −2 | 扣到該題 0 分 | 四組(21–31) |
| 107 | 同上 | 扣到該題 0 分 | 四組(21–33) |
| 108 | 同上 | 扣到該題 0 分 | 四組(21–33) |
| 109 | 同上 | 扣到該題 0 分 | 四組(21–33) |
| 110 | 答對一個 +1、答錯一個 −1 | 扣到本科目 0 分 | 四組(21–33) |
| 111 | 同上 | 扣到本科目 0 分 | 四組(21–35,15 個小題) |
| 112 | 同上 | 扣到本科目 0 分 | 四組(21–34,小題為單選) |
| 113 | 同上 | 扣到本科目 0 分 | 四組(21–30) |
| 114 | 同上 | 扣到本科目 0 分 | 四組(21–34) |
| 115 | 答對一個 +1、答錯一個 −2 | 扣回該題 0 分 | 四組(21–35) |
這張表有三件事要記:
- 106–109 和 115 是答錯 −2。答對只加 1、答錯扣 2,把握要超過三分之二才值得勾。
- 110–114 是答錯 −1,但下限放寬到整科。單一選項的懲罰減半,把握超過一半就值得勾。不過一題可以扣成負分,會吃掉其他題的分數,整體風險反而變高。
- 兩條十年不變的規則:整題未作答不給分,所以每題至少要勾一個;題組不倒扣,但全組全對才給 5 分,所以題組每個小題都要作答。
給 116 年考生的準備方向
- 先看清楚當年是答錯 −2 還是 −1。106–109 和 115 是 −2,把握要三分之二以上;110–114 是 −1 但可以扣成負分,把握過半就能勾。下注門檻差很多。
- 兩條不變的規則要記住:整題未作答不給分,所以每題至少勾一個;題組不倒扣但全對才給分,所以每個小題都要作答。
- 107 和 114 兩份一起練最划算(第 9 題與第 19 題一字不差、第 8 題與第 17 題幾乎相同)。106 和 111 的 MIPS machine code 題也是同一段迴圈,只是起始位址、register 編號與最後一道指令不同。
- 1-bit ALU 在 109、110、111、115 年都出現(113 年考的是 multiplier 與 carry-lookahead adder)。ALU 的設計要從頭讀懂,每一種運算(add、sub、and、or、nor、slt、相等比較)的 control signal 怎麼設定,slt 的結果從哪裡來、送到哪裡去,都要清楚。
- semaphore 填空常出現(106、107、111 三年)。producer-consumer 和 readers-writers 兩段標準程式要背熟。
- cache 位址拆解要練到能順手算出每個位址落在哪一組(112 題組 D、114 題組 C)。
- 115 年計組段大幅轉向 AI accelerator(第 11、20 題與題組 C 合計 13 分),116 年很可能延續。可以補這幾塊:
- roofline 與 arithmetic intensity:矩陣—向量和矩陣—矩陣運算的 arithmetic intensity 如何隨 N 變化,各落在 roofline 的哪一段
- accelerator interconnect:NVLink、Infinity Fabric、bisection bandwidth、all-reduce、chiplet 的取捨
- LLM 的效能指標:tokens/sec,而不是 ops/sec
- 十年都禁用計算器,CPI、AMAT、speedup、位址位元數全部要手算。
本頁的題型、配分、倒扣規則都取自 106–115 年度試卷上的標示,各章配分是逐題分類後加總的。如果發現有誤,歡迎來信指正。
最後更新:2026-10-23