考點分析 / 中山 / 113

113 中山資工所硬體考點分析

難度明顯回到標準題型,七大題幾乎全是 Patterson & Hennessy 的課後習題。卷首首度加註「題意不清可自行假設並寫明」。

題型與配分

科目名稱:計算機結構【資工系碩士班甲組、乙組】,題號 434001,考試時間 100 分鐘。不可以使用計算機(問答申論題)。試題請隨卷繳回。

題號配分主題
18%Amdahl's Law 與通訊開銷
28%GPU 的尖峰浮點吞吐量與頻寬限制
318%管線各級延遲、總執行時間與單元使用率
415%三種分支預測器的額外 CPI 與加速比
515%快取追蹤表格與總位元數
616%直接對映與 2-way 的 AMAT 及 CPU 時間比較
720%單層頁表大小與 TLB/頁表的狀態追蹤

113 年卷首首度加註:「若某些題目對你而言不清楚或定義不完整,你可以自行做假設並在答案卷上清楚說明」——這與中山軟體考科(作業系統與資料結構)109–114 年的註記一致。

113 年的題目明顯回到標準教科書題型,與 112 年全部是反推/設計題形成強烈對比。七大題幾乎全部可以在 Patterson & Hennessy 的課後習題中找到對應。

全卷純計算機結構,不考作業系統。

第 1 題:Amdahl's Law 與通訊開銷(8%)

80% 的應用可平行化。

  • 1.1(4%)|8 個處理器、忽略通訊成本的加速比
  • 1.2(4%)|每當處理器數加倍,通訊開銷就增加原始執行時間的 0.5% 時的加速比。陷阱是「加倍了幾次」,不是乘上處理器數

第 2 題:GPU 的吞吐量(8%)

時脈 2.0 GHz、16 個 SIMD 處理器、每個含 16 個單精度浮點單元、晶片外記憶體頻寬 600 GB/s。

  • 2.1(4%)|不考慮記憶體頻寬時的尖峰單精度吞吐量
  • 2.2(4%)|在記憶體頻寬限制下這個吞吐量能否維持?請說明理由。題目沒有給每次運算要搬多少資料,要自行假設並寫明(這正是卷首註記的用意),再比較所需頻寬與可用頻寬。考的是 roofline 模型與算術強度的觀念

第 3 題:管線各級延遲(18%)

各級延遲 IF 250、ID 150、EX 350、MEM 300、WB 200 ps;指令組合 alu 45%、beq 10%、lw 25%、sw 20%。

  • 3.1(4%)|非管線化與管線化的時脈週期
  • 3.2(4%)|lw 與 beq 的個別總延遲。非管線化時要先講清楚採用的假設(單週期設計下所有指令一樣長,還是各指令只走自己用到的級)
  • 3.3(6%)|連續四道指令(lw、sw、add、beq)的總執行時間,非管線化與管線化各算一次
  • 3.4(4%)|資料記憶體與「Register」單元寫入埠的使用率。關鍵是哪些指令類別會用到這兩個單元,逐類判斷就好

這是 Patterson & Hennessy 第四章的標準模板,台大、交大也出過同一型。

第 4 題:分支預測器的額外 CPI(15%)

指令組合:R-Type 40%、BEQ 20%、JMP 5%、LW 25%、SW 10%;預測器準確率:Always-Taken 40%、Always-Not-Taken 60%、2-Bit 80%。分支在 EX 級解析、五級管線、無資料危障、無延遲槽。

  • 4.1(5%)|Always-Taken 的額外 CPI
  • 4.2(5%)|2-bit 預測器的額外 CPI
  • 4.3(5%)|用 Always-Taken 時,若能把「一半的分支指令」換成 ALU 指令,加速比是多少(正確與錯誤預測的指令被替換的機會相同)

先決定誤判罰則:分支在哪一級解析決定了要沖掉幾道指令。4.3 要注意指令數有沒有改變。

第 5 題:快取追蹤與總位元數(15%)

  • 5.1(9%)|字位址序列 3, 180, 43, 2, 191, 88, 190, 14, 181, 44, 186, 253(12 個),直接對映、two-word 區塊、共 8 個區塊。卷上直接給一張要填的表格(欄位為:字位址、二進位位址、tag、index、命中/失誤),第一列已示範:字位址 3 ⇒ 二進位 0000 0011、tag 0、index 3、Miss。
  • 陷阱是 two-word 區塊:index 不是直接取字位址的低位,要先去掉區塊內的 word offset
  • 5.2(6%)|直接對映、32 KiB 資料、8-word 區塊、32-bit 位址的總位元數。標準的 tag/index/offset 拆解,再加上 valid 位元

第 6 題:兩種快取組態的效能比較(16%)

完美快取的 CPI = 2.0、時脈週期 1.0 ns、每指令 1.5 次記憶體參考、兩種快取都是 64 KB、64-byte 區塊;一個直接對映、一個 2-way。因為組相聯要多一個選擇多工器,2-way 的 CPU 時脈週期要拉長 1.3 倍。失誤罰則都是 80 ns、命中時間 1 個週期、直接對映失誤率 1.5%、2-way 失誤率 1.1%。

  • 6.1(8%)|兩者的平均記憶體存取時間。要把 2-way 的命中時間變長也算進去,不能只看失誤率
  • 6.2(8%)|兩者的 CPU 時間。失誤罰則的週期數要依各自的時脈換算,而時脈變慢會影響所有指令,不只是記憶體存取

這是 Patterson & Hennessy 的經典例題,重點是 AMAT 與 CPU 時間兩個指標不一定給出同一個結論。算完之後要能解釋兩個結果為什麼會這樣。

第 7 題:虛擬記憶體(20%)

  • 7.1(8%)|虛擬位址 42 bits、實體 DRAM 16 GiB、頁面 4 KiB、PTE 4 bytes:求 PTE 數量與單層頁表所需的實體記憶體。算完之後拿去跟實體記憶體容量比一比,就知道為什麼需要多層頁表
  • 7.2(12%)|TLB 與頁表的狀態追蹤:卷上給初始的頁表狀態(valid 位元與「實體頁或在磁碟」)與初始的 4 條目全關聯 TLB(valid、tag、實體頁號),真 LRU 置換。
  • 位址串流:4669、13916、…
  • 要對每次參考判斷是 TLB 命中、頁表命中、還是頁錯誤,並填出最終的 TLB 與頁表狀態
  • 若必須從磁碟載入,就把頁號遞增到下一個最大的頁號(題目的特別規定,容易漏看)
  • TLB 的 LRU 順序要每一步都更新,包括 TLB 命中的時候

這份考卷的難點

  1. 第 6 題的兩個指標要分開判斷。 時脈拉長會影響「所有」指令,而不只是記憶體存取。這是 Patterson & Hennessy 反覆強調的觀念,只算 AMAT 就下結論是最常見的錯。
  2. 第 7.1 題算出來的頁表大小本身就是重點,要能說出它代表什麼。
  3. 第 5.1 題要填 12 列 × 5 欄的表格,每列都要算二進位位址、tag、index 並判斷命中失誤。9 分但工作量極大,而且不能用計算器。
  4. 第 2.2 題要自己設定「每次運算需要多少位元組」的假設。題目沒有明說算術強度,要自行假設並說明。

準備建議

  • 113 年回到標準教科書題型,是中山硬體八年裡最適合「照課本準備」的一份。七大題幾乎全部對應 Patterson & Hennessy 的課後習題
  • AMAT 與 CPU 時間的比較(第 6 題)是跨校高頻考點,要練到能解釋兩個指標差在哪裡
  • 單層頁表的大小(第 7.1 題)是多層頁表存在的理由
  • 管線各級延遲的四個問法(第 3 題):非管線週期、管線週期、單指令延遲、單元使用率。與台大 107/113/114、交大都是同一個模板
  • 分支預測的額外 CPI(第 4 題):先確定誤判罰則,再乘上比例
  • 卷首允許「自行假設並寫明」——遇到條件不足的題目,大膽設定合理假設並清楚寫出來,不要空白
  • 100 分鐘七大題,第 5.1 題的表格與第 7.2 題的狀態追蹤最耗時,建議放到最後做

想看完整逐題詳解?

國立中山大學 108–115 全年度完整詳解共 179 頁,逐題推導。

購買 · NT$ 850 先看試閱

其他年度與考科