中山資工所硬體考古題八年大統整(108–115)
倒扣規則逐年對照
中山硬體的科目名稱是「計算機結構」,題號 434001,系所標示為「資工系碩士班甲組、乙組」——甲乙兩組考同一份卷子(與中山的數學、軟體兩科分組不同)。
八年來的三個規定完全沒變:
| 規定 | 內容 |
|---|---|
| 考試時間 | 100 分鐘 |
| 計算器 | 本科目依簡章規定「不可以」使用計算機 |
| 題型 | 全部是問答申論題,沒有選擇題、沒有倒扣 |
| 年度 | 頁數 | 大題數 | 最大單題 | 卷首特殊註記 |
|---|---|---|---|---|
| 108 | 3 | 5 | 20% | — |
| 109 | 3 | 8 | 15% | — |
| 110 | 2 | 4 | 40% | 第 1 題要解釋「沒有選擇」的選項為何錯 |
| 111 | 2 | 5 | 30% | — |
| 112 | 3 | 6 | 20% | 第 6 題明訂「要解釋才給分」 |
| 113 | 3 | 7 | 20% | 首度加註「題意不清可自行假設並寫明」 |
| 114 | 2 | 6 | 18% | — |
| 115 | 4 | 6 | 20% | 沿用「可自行假設」的註記 |
三件事要先知道:
- 沒有倒扣、全部申論 ⇒ 每一題都要寫。 即使算不出數字,把公式與思路寫上去就有部分分數。
- 100 分鐘要寫完 4–8 大題、20–30 個小問,而且不能用計算器。 時間是中山硬體最大的敵人——建議進場先掃過全卷、按配分硬性分配時間。
- 113 年起卷首明文允許「自行假設並清楚說明」。遇到條件不足的題目,大膽設定合理假設並寫出來,不要空白。
中山硬體的定位:純計算機結構,完全不考作業系統
這是中山與其他七校最根本的差異:
| 學校 | 硬體考科 | 內容 |
|---|---|---|
| 台大 | 計算機結構與作業系統 | 計組 50% + OS 50% |
| 交大 | 計算機系統(含作業系統及計算機組織) | 計組 50% + OS 50% |
| 成大 | 計算機組織與系統 | 計組 50% + OS 50% |
| 中央 | 作業系統與計算機組織 | 計組 50% + OS 50% |
| 中正 | 計算機系統 | 計組 30–50% + OS 50–70% |
| 中興 | 計算機組織與作業系統 | 計組 + OS |
| 中山 | 計算機結構 | 計組 100%,完全不考 OS |
中山的 OS 被放在「作業系統與資料結構」那一科(甲組的軟體考科)。
這代表準備中山硬體時,Patterson & Hennessy 要讀得極熟,而 Silberschatz 完全不必為這一科準備。
題型演變
| 年度 | 特色 | 難度 |
|---|---|---|
| 108 | 五大題各 20 分;IEEE754 與定點數的完整對照(十個小問) | 中 |
| 109 | 異質多核的面積分配、從 tag store 反推區塊大小、從 FR-FCFS 反推 DRAM bank 數 | 最高 |
| 110 | 第 4 題一題 40 分的完整記憶體階層設計(位元數 + 存取時間 + 製造成本) | 高 |
| 111 | 「完全沒有區域性」下的頁錯誤率與 TLB 大小;最小可行 ALU 設計 | 中高 |
| 112 | 從命中率逆向工程快取規格;矩陣乘法的重用區間與 SRAM 分配 | 最高 |
| 113 | 回到標準教科書題型;AMAT 與 CPU 時間兩種指標的比較 | 中 |
| 114 | 109 年分支題重出並加上信心估計器;VLIW/超純量/陣列處理器三方比較 | 中高 |
| 115 | 難度最低;六大題幾乎全是課本核心觀念的申論與基本計算 | 低 |
結論:中山硬體的難度在 109 與 112 兩年達到高峰(大量「反推設計參數」的題型),113 年起明顯回落,115 年最容易。
但形式八年不變:100 分鐘、全申論、不能用計算器。
重複出題清單
| 題目 | 出現年度 |
|---|---|
| 七級管線的分支誤判與雙路徑執行(分支在第六級解析、20% 是分支、用 N 與 A 表示擷取數) | 109 第 5 題、114 第 3 題(前三小問一字不差,114 年多加信心估計器) |
| DRAM refresh 的匯流排與 bank 使用率 | 112 第 2 題、114 第 1 題 |
| 快取總位元數的多種組態比較 | 108 第 4.1–4.3、110 第 4.2、111 第 3、113 第 5.2 題(五年) |
| 多執行緒的最少執行緒數(固定切換 vs 資料相依切換) | 112 第 3.2–3.3、114 第 5 題 |
| AMAT 的計算 | 108 第 4.5、112 第 1.1、113 第 6.1、115 第 6.1 題(四年) |
| Amdahl's Law | 108 第 2.1–2.2、109 第 3、110 第 2.2、111 第 4.2、113 第 1、115 第 2.2 題(六年,幾乎年年考) |
| CPU 效能方程式與平均 CPI | 109 第 2、113 第 4、115 第 1.2 與 2.1 題 |
| 管線各級延遲 → 時脈、總時間、單元使用率 | 108 第 3、113 第 3 題 |
| TLB 的位元數與全關聯設計 | 108 第 4.4、110 第 4.1、111 第 1.2 與 3.4、114 第 2 題 |
| GPU 的吞吐量計算 | 110 第 3、113 第 2 題 |
| 虛擬記憶體的位址位元拆解 | 109 第 1、111 第 2、113 第 7.1、114 第 2 題 |
| 關聯度提高的取捨(命中時間 vs 失誤率) | 112 第 1.2、113 第 6、115 第 6.2 題 |
| 浮點加法的結合律 | 108 第 1.10、115 第 4.2 題 |
最值得練的三組:109 ↔ 114 的七級管線分支題(一字不差)、112 ↔ 114 的 DRAM refresh、113 ↔ 115 的關聯度取捨(量化版與定性版)。
主題出現年度一覽
| 主題 | 出現年度 |
|---|---|
| 快取設計、位元數與 AMAT | 108、110、111、112、113、115 |
| 虛擬記憶體、TLB、頁表 | 109、110、111、113、114 |
| 管線危障、停頓與 forwarding | 108、111、113、114、115 |
| 分支預測與誤判代價 | 109、112、113、114、115 |
| Amdahl's Law 與平行加速 | 108、109、110、111、113、115 |
| CPU 效能方程式與 CPI | 109、113、115 |
| GPU 與 SIMD | 108、110、113 |
| 多執行緒與執行緒切換 | 112、114 |
| DRAM 組織與 refresh | 109、112、114 |
| IEEE754 與定點數 | 108、115 |
| VLIW/超純量/陣列處理器 | 109、114 |
| 快取一致性與記憶體一致性(Snoopy、SC) | 110、112 |
| AI 加速器的資料流(重用區間) | 112 |
| 異質多核的面積分配 | 109 |
中山硬體的三個特色
1. 「反推設計參數」是 109–112 年的主線
這是中山硬體最具辨識度的題型——不給你參數叫你算結果,而是給你結果叫你反推參數:
| 年度 | 題目 |
|---|---|
| 109 第 3 題 | 給「效能 ∝ √面積」與 16 單位面積,反推最佳的大核尺寸 |
| 109 第 6 題 | 給「tag store 共 264 bits」,反推快取的區塊大小 |
| 109 第 7 題 | 給「320 cycles 完成四個請求」,反推 DRAM 至少有幾個 bank |
| 110 第 4 題 | 給三種快取政策與每位元 0.01 美元,反推該選哪一種 |
| 111 第 2 題 | 給「TLB 失誤率 75%」,反推 TLB 至少多大 |
| 112 第 6 題 | 給三組序列的命中率,反推快取的區塊大小、關聯度、容量、置換策略 |
| 114 第 4.3 題 | 給 forwarding 的時脈代價,反推 NOP 比例的損益兩平點 |
準備這類題目的方法是:把未知參數設成變數、列出方程式、再代入邊界值驗證。
2. Amdahl's Law 八年考了六次
108、109、110、111、113、115 六年都考,而且問法各不相同:
- 求加速比(108 第 2.1、113 第 1.1、115 第 2.2)
- 反求序列部分的比例(108 第 2.2)
- 加上通訊開銷(113 第 1.2)
- 應用到異質多核的面積分配(109 第 3)
- 判斷「目標加速比達不達得到」(111 第 4.2——要先想到加速比有沒有上限、上限由什麼決定)
公式要熟到能正著用、反著用,也要能說出核心數趨近無限時的極限。
3. 不能用計算器,但數字設計得可以手算
中山八年都禁用計算器,但題目的數字都刻意設計成能手算:
- 112 年第 2 題明說「可以用 2 的冪與 10 的冪的簡化形式作答」
- 大部分的失誤率是 2%、5%、15% 這類好乘的數
- 位址位元數的計算都落在 2 的整數次方上
但仍有例外——110 年第 3 題的 GPU 吞吐量要連乘四個係數(0.85 × 0.7 × 32 × 0.8),這種題目要先化簡再算。
給 116 年考生的策略
- 中山硬體不考作業系統,Patterson & Hennessy 是唯一的主戰場。 把課本的每一章(效能、指令集、算術、管線、記憶體階層、平行)都讀到能論述的程度
- 沒有倒扣、全部申論 ⇒ 每一題都要寫。 算不出數字就寫公式與推導方向,空白一定是 0 分
- 100 分鐘是最大的壓力。 進場先花 3 分鐘掃過全卷,把純套公式的題目(CPI、AMAT、Amdahl)先做掉,再投入「反推設計」型的大題
- Amdahl's Law 八年考六次,一定要練到能:求加速比、反求比例、判斷是否無解、加上通訊開銷、應用到異質架構
- 快取總位元數要能快速列出組成:資料、tag、各種控制位元都要算進去。直接對映/組相聯/全關聯的 tag 位元數各不相同(五年反覆考)
- 109 與 114 的七級管線分支題一字不差,112 與 114 的 DRAM refresh 同型。109、112 這兩份最難的考卷也是重出率最高的,務必練熟
- 113 年起卷首允許「自行假設並寫明」——這是中山給的明確提示:遇到條件不足就自己設定,並把假設寫在答案卷上
- 115 年難度大幅下降但要求「講出原理」。 若 116 年延續這個方向,準備重點是把功耗牆、記憶體牆、RISC 的取捨、PC 相對定址、二補數的表示範圍、浮點加法的精度問題、load-use 危障、關聯度的成本模型這幾個核心觀念練到能用三到五句話講清楚
- 如果同時要考中山的軟體考科(作業系統與資料結構),注意 OS 全部集中在那一科,硬體這科一題都不會考——兩科的準備範圍完全不重疊
本頁的題型、配分、作答規定均直接取自 108–115 年度試卷標示。中山各科目合印於同一份
infoe_<年>.pdf中,本站的計算機結構部分是從完整試題冊切出的。106、107 年未在本站收錄範圍內。若發現有誤,歡迎來信指正。