考點分析 / 成大 / 111

111 成大資工所硬體考點分析

第 4 題一題 50 分、十個小問全部在問 I/O 子系統,是十年來最集中的一次。第 3 題同一組位址要跑三種快取。

題型與配分

科目:計算機組織與系統,系所「電機資訊學院-資訊聯招」,日期 0219、節次 1,全卷 100 分、4 頁、4 大題。不可使用計算機、於本試題紙上作答者不予計分。

題號配分主題
120%十個是非題(效能、浮點、快取、GPU、roofline)
215%管線完成週期(有/無 forwarding)
315%同一組位址跑三種快取
450%I/O 子系統(十個小問)

第 4 題一題就佔 50 分,而且十個小問全部圍繞 I/O 子系統——這是成大硬體十年裡單一主題配分最高的一次。I/O 這一章沒讀就直接失去一半分數。

OS 與計組的比重:計組 50%(第 1、2、3 題)、OS 50%(第 4 題)。

第 1 題:十個是非題(20%)

  • a|「電腦使用率低時耗電也少」——考能源比例性(energy proportionality)
  • b|給 A 機(100 億指令、4 GHz、CPI 1.0)與 B 機(80 億指令、4 GHz、CPI 1.2),判斷「A 的 MIPS 較高但 B 較快」是否成立。要分別算出兩機的執行時間與 MIPS 再比較,這是 MIPS 指標侷限性的經典例子
  • c|PC 在 0x00000600,能否用一道 beq 跳到 0x00020000。考 beq 位移欄位的寬度與範圍,要算清楚位移是以什麼為單位、相對於哪一個 PC
  • d|IEEE754 單精度最小正正規化數的位元樣式是否為 0000_0001_0000..._0000。考正規化數的指數欄位範圍
  • e|−0.7510 的 IEEE754 表示是否為 1_01111110_1000...0。自己轉一次再比對
  • f|「相較於 PIPT,VIPT 的主要優點是失誤率較低」——考 VIPT 到底改善的是 AMAT 的哪一個因子
  • g|「全關聯快取沒有衝突失誤」——考衝突失誤的定義
  • h|「GPU 靠深管線架構隱藏 DRAM 的長延遲」——考 GPU 隱藏延遲的機制
  • i|看 roofline 圖判斷 Kernel 1 是否受記憶體頻寬限制。要會讀 roofline 圖的斜線與水平線各代表什麼
  • j|「TLB 失誤但不發生頁錯誤是可能的」——考 TLB 失誤與頁錯誤的關係

第 2 題:管線完成週期(15%)

給一段含兩個分支的 MIPS 程式與實際執行順序(第一次 not taken、之後 taken),採用 predict-taken 預測器、分支結果在 EX 級決定、無延遲槽。第一道指令在第 5 週期完成。

  • a. 5%|無 forwarding 時,填出後五道指令各在第幾個週期完成
  • b. 10%|完整 forwarding 時,同樣填出五個週期數

要同時處理三件事:資料危障的停頓(有無 forwarding 差很多,load-use 要特別看)、暫存器檔讀寫時序的假設、predict-taken 在實際不跳時的誤判罰則。分支誤判與資料危障的停頓會互相疊加,要畫完整的時序圖才不會算錯。

第 3 題:同一組位址跑三種快取(15%)

字位址序列:3, 180, 2, 43, 191, 88, 190, 14, 181, 88(10 個)。

  • a. 5%|直接對映、1-word 區塊、總容量 8 words:標出每次存取的命中或失誤並算命中率
  • b. 5%|2-way、2-word 區塊、總容量 8 words,用 LRU
  • c. 5%|全關聯、2-word 區塊、總容量 8 words,用 LRU

三種組態的區塊數、set 數都不同,要分別重算。2-word 區塊時要先把字位址換成區塊號再取 index。這是 108 年第 1 題的延伸版(那年是兩種快取,111 年變成三種)。

第 4 題:I/O 子系統(50%)

  • a. 5%|裝置驅動程式能對裝置控制器下哪些種類的命令與資料(提示:透過特殊或標準 I/O 指令)。要講到控制器上有哪幾類暫存器,以及兩種下命令的方式
  • b. 5%|小量資料、延遲導向的 I/O 該用 CPU 還是 DMA、為什麼。判準是 DMA 的固定設定成本與傳輸量的比值
  • c. 5%|DMA 需要實體位址,但虛擬到實體的轉換很耗時,什麼硬體裝置可以協助這個轉換
  • d. 6%|依描述寫出三個 I/O 服務的名稱:
  • i. 2%|「資料從應用程式傳往裝置期間暫存資料的記憶體區」
  • ii. 2%|「存放資料副本的快速記憶體區,存取副本比存取原始資料更有效率」。與上一小題的差別在「暫存原始資料」與「存放副本」
  • iii. 2%|「為無法接受交錯資料流的 I/O 裝置保存輸出的記憶體區」(提示:一次只能服務一個工作)
  • e. 4%|非同步 I/O 可以用上述三種技術中的哪一種來實作、為什麼。關鍵是「哪一種機制能讓應用程式交出資料後立刻繼續執行」
  • f. 5%|swap 空間用「檔案系統內的檔案」還是「獨立磁碟分割區」,哪種實作效率較好、為什麼。要從有沒有經過檔案系統的資料結構去比較
  • g. 5%|固定 swap 空間下不斷增加多工度會發生什麼現象
  • h. 5%|用工作集模型防止上述現象:三個程序的工作集大小為 WSS(a)、WSS(b)、WSS(c),可用頁框為 d。要用數學式寫出「OS 該暫停某個程序」的條件
  • i. 5%|多工並行 I/O 環境下,FCFS、SCAN、LOOK 哪一族表現較好、為什麼
  • j. 5%|當磁碟佇列長度固定為 1 時,哪一族表現較好、為什麼。要想清楚佇列長度對排程演算法的意義

這份考卷的難點

  1. 第 4 題一題 50 分、十個小問全在 I/O 子系統。 這一章在很多人的複習清單裡排在最後,但成大在 111 年給了它一半的分數。buffering/caching/spooling 的定義區分、DMA 的位址轉換、swap 空間的兩種實作、工作集的數學式這些細節都要能寫出來。
  2. 第 4(j) 題要想到佇列長度的影響。 一旦看出關鍵,比較就變得很單純,但很多人不敢寫出看起來「太簡單」的結論。
  3. 第 1(b) 題要真的算兩次才敢確定。 兩個指標的結論可能相反。
  4. 第 2 題要畫兩張不同的管線時序圖,而且 predict-taken 預測器在第一次 not taken 時會誤判。分支誤判的罰則與資料危障的停頓會互相疊加。

準備建議

  • I/O 子系統這一章絕對不能跳過。111 年給了 50 分,而且問得非常細。要準備的清單:
  • buffering/caching/spooling 三者的定義差異
  • programmed I/O、interrupt-driven I/O、DMA 各自適用的場景
  • DMA 與虛擬記憶體的配合
  • swap 空間的兩種實作與效率差異
  • 磁碟排程各族在不同負載下的表現
  • 工作集模型(第 4(h) 題)要能寫成數學式
  • 快取追蹤要練到能同時處理三種組態(第 3 題):直接對映、組相聯、全關聯。每種的區塊數與 set 數都不同,先算清楚結構再追蹤
  • 十個是非題(第 1 題,20 分)幾乎全是課本正文等級,其中幾個是跨校高頻陷阱:MIPS 指標的侷限、VIPT 改善的是哪個因子、GPU 怎麼隱藏延遲
  • IEEE754 的位元樣式(第 1(d)(e) 題)要能直接寫出來,不用查表
  • 成大硬體從 110 年起都是「少題大分」,一題 15–50 分。沒有選擇題可以猜,準備時要求完整而非廣泛

想看完整逐題詳解?

國立成功大學 106–115 全年度完整詳解共 295 頁,逐題推導。

購買 · NT$ 850 先看試閱

其他年度與考科