台大資工所硬體考古題十年大統整(106–115)
倒扣規則逐年對照
台大硬體的科目全名是「計算機結構與作業系統」(106–112 年科目名後面有「(B)」,113 年起拿掉),節次固定為第 2 節,計結 50% + OS 50%,十年不變。
十年來從未有任何一年倒扣,但作答形式與計分細節換了三個階段:
| 年度 | 形式 | 計分規定 | 特殊要求 |
|---|---|---|---|
| 106 | 全手寫申論 | 不倒扣 | 不寫計算過程只能拿部分分數 |
| 107 | 全手寫申論 | 不倒扣 | 作答於「非選擇題作答區」,標明題號依序作答 |
| 108 | 全手寫申論 | 不倒扣 | 第 6 題明訂「不解釋零分」 |
| 109 | 全手寫申論 | 不倒扣 | Part I 50 分整段只有一題 |
| 110 | 只填答案 | 不倒扣 | 必須抄錄卷首表格到答案卷第一頁,表格外一律不計分;第 8 題「全對才給分」 |
| 111 | 全選擇(單選+複選) | 單選不倒扣;複選逐選項計分、錯誤選項零分、不倒扣 | — |
| 112 | 全選擇 | 同上,但多一句「整題空白則該題零分」 | 2B 鉛筆劃卡 |
| 113 | 半卡半卷 | 複選逐選項計分、不倒扣 | 第 1–8 題劃卡、第 9–12 題手寫;未依題號順序作答可能不計分 |
| 114 | 全選擇 | 複選逐選項計分、錯誤選項零分、不倒扣 | 首度在卷首明訂「兩個子科目各 50 分」 |
| 115 | 全卷複選 | 逐選項計分、不倒扣、整題空白則該題零分 | 沒有單選、沒有申論 |
三件事決定作答策略:
- 十年完全不倒扣。 111 年起的選擇題「錯誤選項只是零分」,加上 112 年起明訂「整題空白該題零分」——每一題、每一個選項都應該作答。這與中央硬體的逐選項倒扣是完全相反的邏輯,兩校一起準備時務必分開練。
- 106–109 是「不寫過程扣分」,110 年卻反過來變成「只有表格內的答案計分」。 110 年還要先把卷首那張含「此處不作答」空格的表格完整抄到答案卷第一頁。進場第一件事永遠是讀作答規定。
- 111 年是分水嶺:從此告別手寫申論,改為全選擇。113 年短暫回到一半手寫,114、115 又全部劃卡。
題型演變
| 年度 | 頁數 | 形式 | 最大單題 | 特色 |
|---|---|---|---|---|
| 106 | 5 | 申論 14 題 | 15 分 | OS 段用台北市 IoT 交通號誌情境串起六題 |
| 107 | 5 | 申論+少量選擇 | 25 分 | Meltdown 漏洞整卷化,相關題合計 43 分 |
| 108 | 5 | 申論 8 大題 | 25 分 | fork/vfork 只差一個字母的對照題 |
| 109 | 4 | 申論 5 大題 | 50 分 | 計結 50 分整段只有一題(CNN 卷積,十個小問) |
| 110 | 6 | 只填答案 | 25 分 | 答案必須抄進指定表格 |
| 111 | 10 | 單選 7+複選 12 | 10 分 | 首度全選擇;第 18 題要推三次多項式係數 |
| 112 | 12 | 單選 8+複選 9 | 10 分 | 前 5 題共用一段程式跑完 roofline 全鏈路 |
| 113 | 9 | 複選 8+申論 4 | 20 分 | 卷上印出三頁 IEEE Spectrum 的 MLPerf 報導 |
| 114 | 11 | 單選+複選 18 題 | 10 分 | 四題把答案藏進係數等式;x86-64 反組譯 |
| 115 | 6 | 全卷複選 14 題 | 10 分 | 後六題各 10 分,全部是 LLM/能耗的系統分析 |
結論:台大硬體十年的走向是「從手寫論述轉向選擇題,但題目本身越來越長、越來越像閱讀測驗」。 111、112、114 都超過 10 頁,113 年更直接把一篇英文技術報導印進考卷。形式變簡單了,但閱讀量與分析深度不減反增。
重複出題清單
台大硬體很少原樣重出舊題(與中央硬體的五次重複形成強烈對比),但有幾條主線連續十年反覆出現:
| 主題 | 出現年度 |
|---|---|
| roofline model(算術強度 → 可達效能 → 該優化什麼) | 106 第 3 題、109 第 1(j) 題、112 第 1–5 題、113 第 7 題(四次,且逐年加深) |
| VIPT 快取的別名條件 | 107 第 9 題(判斷有無別名)、111 第 14 題(哪些關聯度可行)、114 第 14–15 題(索引溢出幾個 bit)、113 第 3(D) 題 |
| 管線各級延遲表(非管線週期、管線週期、單指令延遲、某單元使用率四種問法) | 107 第 12 題、113 第 2 題、114 第 12 題(三次,同一模板) |
| 暫存器數量與指令編碼的取捨 | 106 第 5 題、108 第 3 題、111 第 17 題、115 第 7(D) 題 |
| 兩個編譯器的 CPI 與加速比 | 111 第 4 題、114 第 11 題(同一模板換數字) |
| 管線化改善的是吞吐量還是單指令延遲 | 107 第 14 題、112 第 4(A) 題、115 第 7(A) 題 |
| 無 forwarding 時的停頓數/要插幾個 NOP | 109 第 1(c) 題、111 第 5 題、112 第 7 題、115 第 11 題 |
| fork/vfork 與程序記憶體 | 106 第 11 題、108 第 7 題、114 第 3 題 |
| 並行(concurrency)與平行(parallelism)的區別 | 111 第 9(C) 題、114 第 9(B) 題 |
| 即時排程(RMS/DM/EDF)的可排程性 | 111 第 10 題(RMS)、112 第 16 題(帶 softness)、114 第 8 題(DM)、115 第 5 題(EDF 最佳性) |
| 十個是非題(Silberschatz 正文) | 109 第 2 題、113 第 9 題(兩次,五題重疊或互為反面) |
| 滑鼠事件到畫面重繪的軟體鏈路 | 107 第 12 題、113 第 10 題 |
| 開檔案的三層資料結構圖 | 111 第 3 題、114 第 6 題(同一張圖) |
| 偽共享與區塊大小 | 110 第 6 題、111 第 19(D)(E) 題 |
| TEE/SGX 與硬體安全 | 108 第 2(c) 題、111 第 16 題、115 第 4 題 |
| big.LITTLE 與異質多核 | 108 第 6 題、111 第 19(A) 題 |
| 指令比例與時間比例的區別(Amdahl 陷阱) | 111 第 15(B) 題、115 第 12(A) 題 |
| cache blocking/tiling 的正確定義 | 109 第 1(g) 題、113 第 8(E) 題 |
最值得練的組合:109 與 113 的是非題(各 20 分,重疊五題)、107/111/114 的 VIPT 三種問法、107/113/114 的管線延遲表。
主題出現年度一覽
計算機結構
| 主題 | 出現年度 |
|---|---|
| 快取設計與階層 | 106、107、108、109、110、112、113、114、115 |
| roofline 與算術強度 | 106、109、112、113 |
| 管線危障、forwarding、停頓計算 | 106、107、108、109、110、111、112、113、114、115 |
| 分支預測 | 106、107、115 |
| 效能公式(CPI、加速比、Amdahl) | 106、107、108、111、112、114、115 |
| ISA 設計與指令編碼 | 106、108、111、112、114、115 |
| 快取一致性與偽共享 | 110、111、112 |
| 記憶體一致性模型(TSO) | 112 |
| 虛擬記憶體、TLB、巢狀頁表 | 107、108、111、112、114 |
| 平行分類(ILP/DLP/MLP/TLP、SIMD/SIMT/VLIW/SMT) | 106、108、110、111 |
| 功耗與能耗效率 | 108、113、115 |
| 低精度浮點與量化(FP8、INT8/INT4) | 113、115 |
| AI 加速器與系統層頻寬分析 | 109、113、115 |
| x86-64 反組譯 | 114 |
作業系統
| 主題 | 出現年度 |
|---|---|
| 程序與執行緒(fork、vfork、共享什麼) | 106、107、108、111、114、115 |
| CPU 排程(RR、SJF、SRTF、優先權) | 110、111、112、114、115 |
| 即時排程(RMS、DM、EDF) | 111、112、114、115 |
| 同步(號誌、mutex、臨界區三性質) | 106、107、111、114、115 |
| 死結與銀行家演算法 | 109、111、112、113 |
| 分頁與置換演算法 | 107、108、109、110、112、113、114、115 |
| 工作集與輾轉現象 | 109、113、114 |
| 信號處理(signal、sigaction、sigsuspend) | 106、110 |
| 檔案系統與配置方式 | 111、112、113、114、115 |
| I/O 子系統與緩衝 | 110、113 |
| 磁碟排程與 RAID | 107、109、114 |
| 資訊安全 | 107、108、111、112、113、115 |
| 虛擬化與容器 | 110、112 |
| Linux 核心實作細節(紅黑樹排程器、侵入式串列、devfs/sysfs/Device Tree) | 106、107、113 |
台大硬體的三個特色
1. 時事整卷化——每年都跟著當年度的技術熱點走
這是台大硬體與其他七校最明顯的差異:
- 107 年|Meltdown/Spectre(2018 年 1 月爆發)——卷上直接印出論文摘要,計結與 OS 兩段都圍著它問,合計 43 分
- 108 年|TEE、big.LITTLE、Snapdragon 670/850
- 109 年|CNN 卷積層——計結 50 分整段
- 112 年|Intel Core i7 的 roofline、記憶體一致性模型
- 113 年|MLPerf 與 GPT-3 訓練——印出三頁 IEEE Spectrum 報導,合計 35 分
- 115 年|LLM 推論的量化與 NPU 資料調度——後六題 60 分裡有 20 分直接在算 PCIe 瓶頸
考前掃過當年度的重大硬體新聞(IEEE Spectrum、MLPerf、晶片發表)是台大硬體特有的準備工作。
2. roofline 是貫穿十年的主線,而且逐年加深
| 年度 | 問法 |
|---|---|
| 106 第 3 題 | 給 roofline 圖,問哪些優化有效(多選、無部分分數) |
| 109 第 1(j) 題 | 自己算出卷積的算術強度,再討論「加快取」與「加向量單元」對 roofline 的不同影響 |
| 112 第 1–5 題 | 從程式的存取模式 → 失誤率 → 算術強度 → roofline 上的執行時間 → 該優化什麼,五題一條龍 |
| 113 第 7 題 | 用 TinyChat 的實測算術強度(Generation 階段只有 1)判斷該加運算單元還是加頻寬 |
四次的共同核心:先算出(或讀出)kernel 的算術強度,判斷它落在 roofline 的哪一段,再決定該優化的是哪一種資源。 109 與 113 還會問「某一種硬體改動在 roofline 圖上移動的是 kernel 的點還是屋頂」,每一種改動都要能在圖上畫出來。
3. 「改一個字」與「剛好等於」兩種陷阱
改一個字:
107 第 8 題與 108 第 1(b) 題是同一句話(有資料相依的兩道指令會不會造成危障/停頓),只換了一個助動詞。兩題要對照著讀,是非題的 will/may/must 每個字都要看。
剛好等於:
115 第 8(C) 題|兩個陣列之間插入的 padding 大小,要拿去跟快取容量比一比 115 第 9(A) 題|FP16 權重矩陣的大小,要拿去跟 L3 容量比一比 107 第 9 題|L1 每一路的大小,要拿去跟頁面大小比一比
台大很喜歡讓題目裡的兩個數字「剛好相等」,這種邊界情況正是出題者要你停下來想的地方。看到兩個數字一樣大時,要特別檢查結論會不會因此翻轉。
給 116 年考生的策略
- 十年完全不倒扣,所以每一題每一個選項都要作答。 112 年起更明訂「整題空白則該題零分」。這是台大硬體與中央硬體最根本的策略差異
- 但進場仍要先讀作答規定。 106–109 是「不寫過程扣分」、110 年是「只有表格內計分」、113 年是「前 8 題劃卡後 4 題手寫且要依題號順序」。十年沒有兩年完全相同
- roofline 全鏈路是最該練熟的一條線(106、109、112、113 四度出現,且逐年加深)。要能:由存取模式算失誤率 → 算術強度 → 在 roofline 上定位 → 判斷該補強哪一種資源
- VIPT 的別名條件三度出現且每次問法不同:有無別名(107)、哪些關聯度可行(111)、索引溢出幾個 bit(114)。三種都要會,而且要能自己從位元切法推出條件,不能只背結論
- 管線延遲表是最穩的送分題(107、113、114),非管線週期、管線週期、管線化單指令延遲、某單元使用率四個量要分清楚各自怎麼算,台大會把它們混在選項裡互相對調
- 109 與 113 的十個是非題(各 20 分)重疊五題,全部出自 Silberschatz 正文。Belady's anomaly、兩階段鎖定協定的保證範圍、韌體 shadowing、UNIX 與 session 語意、safe state 與死結的關係這幾個主題一定要讀熟
- 113、115 新增的「低精度量化與系統層頻寬分析」很可能延續到 116 年。要補:
- FP8 的 E4M3/E5M2 格式(指數偏移、最大值、動態範圍與精度的取捨)
- 量化與頻寬的關係:記憶體受限的 kernel 改變資料位元寬度時,吞吐量會怎麼變
- 從規格表做瓶頸分析:HBM/DDR/PCIe/NVLink 的頻寬,算出各階段時間再找瓶頸
- 能耗效率:動態功耗 = C×V2×F、Energy × Delay 指標、power gating 與 DVFS 的差別
- 111 年起題目變長,112、114 都超過 10 頁。 要練快速掃過配分再決定作答順序——112 年前五題各 2 分、後四題各 10 分;115 年後六題就佔 60 分
- 如果同時要考台大的軟體考科,注意兩科都在節次 2 與節次 1 分開考,而硬體是「計算機結構與作業系統」合科,OS 佔一半——只準備計算機結構等於放棄 50 分
本頁的題型、配分、計分規則均直接取自 106–115 年度試卷標示。若發現有誤,歡迎來信指正。