114 中山資工所考古題詳解|硬體考點分析
全卷 2 頁 6 題,第 2、4 題各 14 分、其餘各 18 分。第 3.1 到 3.3 題與 109 年第 5 題相同,第 3.4 題多一個 confidence estimator 的小問。其他有 DRAM refresh、virtual memory 位元拆解、forwarding 的成本效益、multithreading、VLIW 與 superscalar 比較。
最後更新:2026-10-22
題型與配分
全卷 2 頁、6 題、100 分,考試時間 100 分鐘,不可使用計算機,全部是問答申論題。
| 題號 | 配分 | 主題 |
|---|---|---|
| 1 | 18% | DRAM refresh 的命令 bus 使用率 |
| 2 | 14% | virtual memory 的位址欄位位元數與 page table entry 數 |
| 3 | 18% | 七級 pipeline 的分支誤判與 confidence estimator |
| 4 | 14% | forwarding 硬體的成本效益 |
| 5 | 18% | multithreading 的最少 thread 數 |
| 6 | 18% | VLIW、superscalar 與 array processor 的比較 |
第 1 題:DRAM refresh(18%)
記憶體系統有 8 個 bank,每個 bank 有 216 列。每次 DRAM 列 refresh 由記憶體控制器的命令發起,refresh 單一 bank 中的單一列,每個 refresh 命令佔用命令 bus 5 ns。命令 bus 使用率定義為命令 bus 被佔用的時間占總執行時間的比例。
- 1.1(6%)|refresh 間隔為 64 ms 時,refresh 命令的命令 bus 使用率,要逐步寫出過程
- 1.2(12%)|如果所有列中有 70% 可以承受 256 ms 的 refresh 間隔,refresh 命令的命令 bus 使用率如何改變,計算 bus 使用率的降幅 (1 − new/old),要逐步寫出過程
第 2 題:虛擬記憶體(14%)
virtual memory 的規格:256 MiB physical address space、4 GiB virtual address space、1 KiB 頁大小、TLB 有 4 個 set、8-way set associative、LRU replacement。
- 2.1(10%)|page offset、virtual page number(VPN)、physical page 號(PPN)、TLB index 與 TLB tag 各用幾位元
- 2.2(4%)|這個 page table 有幾個 entry
第 3 題:七級 pipeline 的分支(18%)
七級 pipeline,分支在第六級解析,20% 的指令是分支。
- 3.1(4%)|每次分支誤判,浪費多少道指令的工作
- 3.2(4%)|程式正確路徑上有 N 道指令,branch predictor 準確率為 A,寫出這台機器擷取的指令數(以 N 與 A 表示),要逐步寫出過程
- 3.3(4%)|改用 dual-path execution(兩條分支路徑各擷取相同數量的指令),分支在擷取新的分支之前就解析完畢,寫出擷取的指令數(以 N 表示),要逐步寫出過程
- 3.4(6%)|機器把 branch prediction 與 dual-path execution 結合:用分支 confidence estimator 衡量機器對某個 branch prediction 的信心,信心高時用 predictor 的預測擷取下一道指令,信心低時改用 dual-path execution。confidence estimator 估計有 C 的比例的 branch prediction 是高信心,confidence estimator 在高信心估計上出錯的機率是 M,寫出擷取的指令數(以 N、A、C、M 表示),要逐步寫出過程
第 4 題:forwarding 的成本效益(14%)
(最佳化之後)典型的 n 道指令的程式需要額外的 NOP 指令才能正確處理資料 hazard。
- 4.1(4%)|沒有 forwarding 的 pipeline 週期為 250 ps,加上 forwarding 硬體後 NOP 數從 0.4n 降到 0.05n,但週期增加到 300 ps,新 pipeline 相對沒有 forwarding 的 pipeline 的 speedup
- 4.2(4%)|只有 0.075n 個 NOP 的程式,有可能在有 forwarding 的 pipeline 上跑得比較快嗎,說明原因
- 4.3(6%)|程式至少要有多少比例(占程式指令的百分比)的 NOP,才有可能在有 forwarding 的 pipeline 上跑得比較快
第 5 題:多執行緒(18%)
single-issue、in-order 的 multithreading 處理器,每個週期可以擷取並發射一道指令,指令的種類與延遲:load/store 13 個週期(fully pipelined)、整數加法 1 個週期、floating point 加法 6 個週期(fully pipelined)、分支沒有 delay slot 且 1 個週期。處理器沒有 cache,每次記憶體操作直接存取 main memory,指令因 data dependence 無法發射時處理器 stall,branch predictor 完美,taken 與 not-taken 都沒有 penalty。分析下列兩種 thread 切換方式的處理器使用率:
- Fixed Switching:用固定 round robin scheduling 每個週期切換到不同的 thread,N 個 thread 各自每 N 個週期執行一道指令
- Data-dependent Switching:只有在指令因 data dependence 無法執行時才切換到不同的 thread
每個 thread 執行下面的 RISC-V 程式:
loop: LD f2, 0(x1) # load data into f2
ADDI x1, x1, 4 # bump pointer
FADD f3, f3, f2 # f3 = f3 + f2
BNE f2, f4, loop # continue if f2 != f4
- 5.1(8%)|兩種切換方式各自要完全利用處理器,最少需要幾個 thread,說明理由
- 5.2(10%)|把 load/store 的延遲改成 1 個週期(floating point 加法維持 6 個週期),兩種切換方式各自最少需要幾個 thread,說明理由
第 6 題:VLIW、超純量與陣列處理器(18%)
- 6.1(3%)|VLIW、superscalar 執行與 array processing 三個概念的共同點
- 6.2(6%)|給兩個理由,說明 VLIW microarchitecture 為什麼比「同寬度」的 superscalar microarchitecture 簡單
- 6.3(3%)|給一個理由,說明 superscalar microarchitecture 為什麼可能比「同寬度」的 VLIW microarchitecture 效能更高
- 6.4(3%)|給一個理由,說明 VLIW 處理器為什麼比 array processor 更有彈性
- 6.5(3%)|給一個理由,說明 array processor 為什麼比「同寬度」的 VLIW 處理器簡單
作答時要注意的地方
- 第 1、3、5、6 題各 18 分,第 2、4 題各 14 分。
- 第 3.1 到 3.3 題與 109 年第 5 題的題目敘述相同,第 3.4 題是 114 年新增。
- 第 1、3、5 題要求逐步寫出過程或說明理由。
- 第 6 題各小題的比較對象都限定為「同寬度」的架構。
- 第 4 題題目文字寫「4*n」個 NOP,4.1 給的是 0.4n。
準備方向
- DRAM refresh(114 第 1 題),107 第 8 題、112 第 2 題也有。
- virtual memory 的位址欄位與 TLB 拆解(114 第 2 題),109 第 1、4 題、111 第 2 題、113 第 7 題也有。
- 七級 pipeline 的分支(114 第 3.1 到 3.3 題),109 第 5 題相同,112 第 1.3、1.4 題、113 第 4 題、115 年也有分支。
- forwarding 與 NOP 的損益(114 第 4 題),111 第 5.1 題也有 forwarding 與 stall,112 第 1.4 題也是比較兩種設計的條件。
- multithreading 與最少 thread 數(114 第 5 題),112 第 3.2、3.3 題也有。
- VLIW 與 superscalar(114 第 6 題),6.1、6.2 題與 107 第 3.1、3.2 題相同,107 第 3.3 題要給兩個理由;108 第 5.4 題、109 第 8 題也有 static 與 dynamic scheduling。
其他年度與考科
同一年的其他科
同一科的其他年度
同一年其他學校的硬體