115 中山資工所考古題詳解|硬體考點分析
全卷 4 頁 6 題,第 1、2 題各 20 分、其餘各 15 分。有簡答與論述、CPI 與 Amdahl's Law、RISC 與 PC-relative addressing、two's complement 與 floating point 加總、load-use hazard 與深 pipeline 的分支代價、AMAT 與 associativity。
最後更新:2026-10-22
題型與配分
全卷 4 頁、6 題、100 分,考試時間 100 分鐘,不可使用計算機,全部是問答申論題。卷首註明:題目有歧義或條件不足時,可以做合理假設,但要在答案中清楚陳述並說明理由。
| 題號 | 配分 | 主題 |
|---|---|---|
| 1 | 20% | clock rate 的限制、CPU 執行時間、make the common case fast |
| 2 | 20% | 平均 CPI 與 floating point 單元加速 |
| 3 | 15% | RISC 風格指令與 PC-relative addressing |
| 4 | 15% | two's complement 的表示範圍與 floating point 加總順序 |
| 5 | 15% | load-use hazard 與深 pipeline 的分支代價 |
| 6 | 15% | AMAT 與提高 associativity |
第 1 題:簡答(20%)
- Q1.1(7%)|多年來處理器效能的提升主要靠提高 clock rate,但這個方法最後不再是效能提升的主要來源,現代處理器大量依賴 instruction-level parallelism、pipeline、speculative execution 與階層式記憶體系統。說明為什麼單靠提高 clock rate 已經成為無效且無法持續的提升效能方法:(1) 4 分 指出兩個限制高 clock 效益的基本物理或架構限制 (2) 3 分 說明每個限制如何直接促成朝向平行、預測與 memory hierarchy 的架構轉變。答案要以計算機結構的核心原理為基礎,不是製造或行銷的考量
- Q1.2(7%)|程式在處理器上執行:總指令數 2 × 109,指令組合為 50% 算術指令(CPI = 1)、30% 記憶體指令(CPI = 5)、20% 控制指令(CPI = 2),clock rate 2 GHz:(1) 3 分 程式的總 CPU 執行時間 (2) 4 分 設計者改善記憶體系統,把記憶體指令的 CPI 從 5 降到 2,計算新的執行時間與整體 speedup
- Q1.3(6%)|許多架構最佳化的設計是「make the common case fast」,說明這個原則在實務上的意思,以及為什麼違反它常常使整體效能更差,即使罕見情形變快了
第 2 題:效能分析(20%)
- Q2.1(10%)|程式在處理器上執行:35% 是算術指令(CPI = 1)、45% 是記憶體存取指令(CPI = 3)、20% 是控制指令(CPI = 2),clock cycle 0.4 ns,程式執行 10 億道指令:(1) 5 分 平均 CPI (2) 5 分 總 CPU 執行時間
- Q2.2(10%)|架構師加速 floating point 單元,使 floating point 指令快 5 倍,floating point 指令原本占總執行時間的 30%,用基本效能定律計算整個程式可能的最大 speedup
第 3 題:指令集架構(15%)
- Q3.1(8%)|設計者考慮加入直接以記憶體運算元運算的複雜指令(每道指令可能做更多事),這會減少程式的指令數,但增加每道指令的複雜度與延遲。依架構取捨的原則,說明為什麼現代 instruction set 偏好簡單的 RISC 風格指令,即使這表示要執行更多指令才能完成同樣的工作
- Q3.2(7%)|現代 64 位元處理器使用固定長度指令與深 pipeline,條件分支指令幾乎都用 PC-relative addressing(分支目標編碼成相對於目前 program counter 的偏移量),而不是絕對目標位址。系統情境:程式可能因為 dynamic linking、shared library 或 address space layout randomization 而載入到不同的記憶體位址;分支指令很頻繁,且常跳到附近的指令,例如迴圈的返回邊或條件區塊;深 pipeline 需要提早計算分支目標以減少 control hazard;指令 cache 效能對指令大小與程式碼密度敏感。回答:(a) 4 分 instruction set 或系統層面,PC-relative addressing 比 absolute addressing 更受偏好的兩個理由 (b) 3 分 microarchitecture 層面,PC-relative addressing 對 pipelining 處理器特別有益的一個理由
第 4 題:計算機算術(15%)
- Q4.1(8%)|處理器用 8 位元 two's complement 格式表示有號整數,最高位元是 sign bit,運算依標準 two's complement 規則,所有算術運算都對 28 取模,取負用位元反轉再加 1,同一套硬體用於有號與無號運算:(a) 3 分 這個系統可以表示的最小與最大整數 (b) 3 分 說明為什麼可表示值的集合不對稱,也就是為什麼負值比正值多一個 (c) 2 分 指出哪一個特定的位元樣式造成這個不對稱,並說明它在 two's complement 運算中的角色。答案要根據表示法的性質,不能只靠例子
- Q4.2(7%)|處理器用固定精度的二進位 floating point 格式,每個算術運算的結果都捨入到最接近的可表示值。給一個很大、各元素量值差異很大的 floating point array,兩個程式計算所有元素的總和:程式 A 由左到右加總,程式 B 依量值排序後由小到大加總,兩者使用相同的 floating point 格式、在同樣的硬體上執行,儘管使用相同的算術指令,兩個程式算出不同的結果:(a) 4 分 說明兩個程式可能得到不同總和的兩個 floating point 運算基本性質 (b) 3 分 說明哪一種加總順序預期結果較準確,為什麼。答案要根據 floating point 的表示與運算性質,不是實作 bug 或軟體錯誤
第 5 題:pipeline 與 hazard(15%)
- Q5.1(8%)|五級 pipeline(IF、ID、EX、MEM、WB),一道 load 指令後面緊接著使用載入值的指令(例如 LW R1, 0(R2) 後接 ADD R3, R1, R4),詳細說明:(1) 3 分 這種情況為什麼會發生 data hazard (2) 3 分 為什麼只靠 forwarding 不足以解決 (3) 2 分 處理這個 hazard 最少需要的 pipeline stall(如果需要的話)
- Q5.2(7%)|現代高效能處理器常用深 pipeline 提高 clock rate,但 pipeline 越深,branch prediction 錯誤時的 penalty 越高。簡化模型:分支在 pipeline 的最後解析;預測錯誤的分支使所有較年輕的指令都被清除;branch prediction 準確率固定為 90%;每個 pipeline stage 花 1 個週期。(a) 3 分 對 5、10、20 級的 pipeline 深度,計算 misprediction penalty 與每個分支的平均誤判成本,要在答案卷上自己畫新的表(欄位為 pipeline 深度、misprediction penalty(週期)、每個分支的平均成本(週期)) (b) 4 分 根據數值結果與圖,說明為什麼即使預測準確率沒有改變,越深的 pipeline 越依賴準確的 branch prediction
第 6 題:快取與記憶體階層(15%)
- Q6.1(8%)|系統的 cache 與記憶體:cache hit time 1 個週期、cache miss rate 2%(0.02)、miss penalty(miss 時從下一層記憶體取資料的時間)100 個週期,計算這個系統的平均記憶體存取時間(AMAT)
- Q6.2(7%)|提高 cache associativity 可以減少 conflict miss,但可能使效能變差,用架構成本的角度說明為什麼提高 associativity 最後會傷害效能
作答時要注意的地方
- 全卷 6 題,第 1、2 題各 20 分,其餘各題 15 分,子題配分標在題目裡。
- 卷首註明條件不足時可以做合理假設,並要在答案中陳述與說明。
- 第 1.1、3.1、3.2、4.1、4.2、5.1、6.2 都要用文字說明原理,題目要求答案根據架構原理。
- 第 5.2(a) 的表格要自己畫在答案卷上。
- 第 2.2 給的 30% 是占總執行時間的比例。
準備方向
- clock rate 的限制(115 第 1.1 題)。
- CPU 效能方程式與平均 CPI(115 第 1.2、2.1 題),109 第 2 題、113 第 4 題也有 CPI。
- Amdahl's Law(115 第 2.2 題),107 第 7 題、108 第 2 題、109 第 3 題、110 第 2.2 題、111 第 4.2 題、113 第 1 題也有。
- RISC 與 PC-relative addressing(115 第 3 題)。
- two's complement 的表示範圍(115 第 4.1 題)。
- floating point 加總順序(115 第 4.2 題),108 第 1.10 題也有 floating point 加法的運算步驟。
- Load-use hazard(115 第 5.1 題),106 第 4 題、111 第 5.1 題也有 forwarding 與 stall。
- 深 pipeline 的分支代價(115 第 5.2 題),109 第 5 題、112 第 1.4 題、113 第 4 題、114 第 3 題也有分支與 pipeline 深度。
- AMAT 與 associativity(115 第 6 題),108 第 4.5 題、112 第 1.1、1.2 題、113 第 6 題也有。
其他年度與考科
同一年的其他科
同一科的其他年度
同一年其他學校的硬體