106 中山資工所考古題詳解|硬體考點分析
全卷 2 頁 8 大題,第 1 題是是非題,其餘是問答申論。內容有伺服器省電、multicycle CPU 三種實作的取捨、data dependence 與 forwarding、cache tag 與容量、single-cycle datapath 的指令時間、branch prediction 與 TLB hit rate。
最後更新:2026-10-22
題型與配分
全卷 2 頁、8 大題、100 分,不可使用計算機,卷面名稱為問答申論題。卷首註明:題目不清楚或定義不完整時,可以自行假設並在答案卷上清楚寫明。
| 題號 | 配分 | 主題 |
|---|---|---|
| 1 | 5% | 是非題(5 小題,錯的要簡單說明) |
| 2 | 10% | 伺服器的省電 |
| 3 | 20% | multicycle CPU 的三種實作 |
| 4 | 15% | data dependence、forwarding 與 stall |
| 5 | 10% | 4-way cache 的 tag 與容量 |
| 6 | 20% | single-cycle datapath 各指令的時間 |
| 7 | 10% | 1-bit 與 2-bit branch prediction |
| 8 | 10% | TLB hit rate |
第 1 題:是非題(5%)
每小題 1%,判斷真假,假的要簡單說明理由。
- 1.1|增加 cache 的 block size,比較能利用 temporal locality
- 1.2|增加頁大小,page table 通常會變小
- 1.3|virtual memory 通常用 write-back,而不是 write-through
- 1.4|clock cycle 與 CPI 都增加 10%、指令數減少 20%,執行時間不變
- 1.5|UMA(uniform memory access)設計中,所有處理器使用同一個 address space
第 2 題:伺服器的省電(10%)
Google、Yahoo! 這類伺服器農場的容量足以應付一天中最高的請求量,但大部分時間只以 60% 的容量運作。功率與負載不成線性,60% 容量時消耗最大功率的 90%。伺服器可以關機,但重新開機太久,無法即時應付增加的負載。新系統可以快速重啟,但在「barely alive」狀態下需要最大功率的 20%。
- 2.1(5%)|關掉 60% 的伺服器可以省多少電
- 2.2(5%)|讓 60% 的伺服器進入 barely alive 狀態可以省多少電
第 3 題:multicycle CPU 的三種實作(20%)
multicycle CPU 有三種實作。第一種是 5 個週期的 IF-ID-EX-MEM-WB,clock 4.8 GHz,load 要 5 個週期、store 與 R-type 4 個週期、branch/jump 3 個週期;第二種是 6 個週期、5.6 GHz,MEM 換成 MEM1 與 MEM2;第三種是 7 個週期、6.4 GHz,IF 再換成 IF1 與 IF2。指令組合為 load 26%、store 10%、R-type 49%、branch/jump 15%。
- 3.1(10%)|從 5 週期設計改成 6 週期設計值不值得
- 3.2(10%)|從 6 週期設計改成 7 週期設計值不值得
第 4 題:資料相依與 forwarding(15%)
在五級 pipeline 的 MIPS CPU 上執行下面的程式,找出所有 data dependence,哪些是可以用 forwarding 解決的 data hazard,哪些是會造成 stall 的 data hazard。
Line Instructions
1 add $3 $4 $2
2 sub $5 $3 S1
3 lw $6 200($3)
4 add $7 $3 $6
第 5 題:4-way 快取(10%)
32 位元位址的系統,CPU 使用 4-way set associative cache,block size 16 bytes,卷面寫 cache 共有 1024 entries。
- 5.1(5%)|每個 block 的 tag 大小
- 5.2(5%)|每個 block 另外需要 2 個 valid bit,cache 總共多大
第 6 題:single-cycle datapath 的指令時間(20%)
卷上有一張 single-cycle 實作的 datapath 圖(Figure 1),指令為 add $rd $rs $rt、lw $rt addr($rs)、sw $rt addr($rs)、beq $rs $rt addr,指令為固定長度。主要功能單元的延遲:記憶體單元 2 ns、ALU 與 adder 2 ns、register file(讀或寫)1 ns,multiplexer、control unit、PC 存取、sign extension 與線路都沒有延遲。計算每道指令需要的時間並說明理由。
第 7 題:branch prediction(10%)
程式中唯一一個分支的結果序列為 T T T N N T T T(T 為 taken、N 為 not taken),Branch History Table 初始為 N 狀態,用 1-bit 與 2-bit 的 local branch predictor 時,各有幾次預測錯誤。
第 8 題:TLB hit rate(10%)
process 的 address space 有 1024 個 page,page table 放在記憶體,讀取 page table 一個字的開銷是 500 ns。電腦有 TLB,可存 32 組(虛擬頁, 實體 frame),查詢要 100 ns。要把平均開銷降到 200 ns,需要多高的 hit rate。
作答時要注意的地方
- 第 1 題判斷為假的小題要簡單說明理由。
- 第 4 題第 2 行的第三個運算元卷面印成「S1」,其他各行都是 $ 開頭的 register。
- 第 5 題卷面只寫「1024 entries in total」,沒有說是 block 數還是 set 數,作答時要寫明採用的解讀。
- 第 7 題 2-bit predictor 的初始 N 狀態,卷面沒有區分 strongly 或 weakly not taken。
- 第 8 題卷面沒有說 TLB 與 page table 是先後查還是同時查。
- 卷首允許自行假設,上面這些卷面沒寫清楚的條件,都要把採用的假設寫在答案卷上。
- 科目標示為資工系碩士班甲組與乙組,兩組考同一份卷子。
準備方向
- 是非觀念題(106 第 1 題),110 第 1 題是五題單選,也要說明沒選的理由。
- 功耗與省電(106 第 2 題),107 到 115 年沒有同類題。
- CPU 效能方程式與 CPI(106 第 1.4、3 題),107 第 1 題、108 第 2.4 題、109 第 2 題、110 第 2.1 題、112 第 1.3 題、113 第 4 題、115 第 1.2、2.1 題也有。
- data dependence、forwarding 與 stall(106 第 4 題),111 第 5.1 題、114 第 4 題、115 第 5.1 題也有。
- cache 的 tag 與總位元數(106 第 5 題),108 第 4.1 到 4.3 題、109 第 6 題、110 第 4.2 題、111 第 3 題、113 第 5.2 題也有。
- single-cycle datapath 的延遲(106 第 6 題),108 第 3 題、113 第 3 題考 pipeline 各級延遲。
- branch predictor(106 第 7 題),113 第 4 題也有 2-bit predictor,107 第 2.4 題、109 第 5 題、114 第 3 題也有 branch prediction。
- TLB hit rate(106 第 8 題),同年軟體第 3 題、軟體 110 第 3 題、111 第 6 題同型。
- 多處理器的記憶體存取(106 第 1.5 題的 UMA),107 第 5 題考 interconnect topology。
其他年度與考科
同一年的其他科
同一科的其他年度
同一年其他學校的硬體