考點分析 / 成大 / 109

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

只有 5 題、2 頁,全部是申論。第 3 題直接要你手寫一段 GPU 矩陣乘法程式,第 5 題整題在問檔案系統的多層快取。

題型與配分

考試科目:計算機組織與系統,系所「電機資訊學院-資訊聯招」,考試日期 0210、節次 1,全卷 100 分、2 頁、5 大題。本試題不可使用計算機。

題號配分主題
120%CPU 與 GPU 的架構與管線比較
210%異質運算與資料平行運算的定義
320%手寫 GPU 矩陣乘法程式
420%讀者—寫者問題與號誌的硬體/軟體實作
530%檔案系統的多層快取

109 年是成大硬體的轉折點:106–108 都是「答案填進卷首表格」的格式,109 年起改成純申論,而且題數大幅減少(只有 5 題、2 頁)。

這一年 GPU 相關題佔了 50 分(第 1、2、3 題),是成大硬體十年裡 GPU 比重最高的一年。

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

計算機組織考點

  • 第 1 題(20%)|簡要說明並討論 CPU 與 GPU 的架構與管線。開放式論述,要自己組織比較的面向:設計目標、晶片面積分配、管線設計、執行模型、記憶體系統。只寫「GPU 核心比較多」拿不到多少分,要講到每個差異背後的設計取捨
  • 第 2 題(10%)|兩個定義:
  • (a) 異質運算(heterogeneous computing)
  • (b) 資料平行運算(data parallel computing),最好能與另一種平行(task parallelism)對照著講
  • 第 3 題(20%)|手寫一段 C 程式(用你熟悉的 GPU 程式框架擴充)做矩陣乘法:A 是 M×N、B 是 N×P,結果 C 是 M×P,CPU 由 GPU 加速。要同時寫出主機端與裝置端兩部分——主機端負責記憶體配置與搬移、kernel 的啟動設定;裝置端每條執行緒要算出自己負責的元素。最常被扣分的是漏掉邊界檢查,以及矩陣維度不是 block 大小的整數倍時的處理。這是成大硬體十年唯一一次要求手寫 GPU 程式

作業系統考點

  • 第 4 題(20%)|看一段讀者—寫者的號誌實作回答四個小問(卷上給 wmut、rmut、rcount 的完整程式):
  • (1) 5%|這段虛擬碼是不是讀者—寫者問題的最佳解、為什麼。先判斷它是哪一類讀者—寫者問題,再討論它的公平性
  • (2) 5%|三條執行緒依序是 讀者 R1 → 寫者 W1 → 讀者 R2 準備進入臨界區,實際進入的順序是什麼。一定要照卷上的程式逐行模擬,特別留意 rcount 的值會決定讀者要不要去等 wmut——直覺的順序不一定是答案
  • (3) 5%|實作號誌要用什麼特殊硬體指令
  • (4) 5%|嵌入式平台沒有這些硬體指令時,用什麼軟體實作保證 wait()/signal() 的原子性
  • (1)(2) 是同一件事的兩個角度:(2) 的模擬結果就是 (1) 的論證證據
  • 第 5 題(30%)|檔案系統的快取:
  • (1) 10%|從磁碟把檔案資料讀進使用者空間應用時,除了處理器快取外還會經過哪些快取?什麼情況下寫入不會被這些軟體快取緩衝? 要從硬體、核心、使用者層函式庫三個層次去想,第二問考的是繞過快取的開檔旗標與同步寫入
  • (2) 10%|同時快取程序頁面與檔案內容的虛擬記憶體技術叫什麼?在這種系統上,程序讀取大檔案並把資料存進 heap 會發生什麼事? 後半題要想清楚檔案內容與 heap 在實體記憶體裡各佔什麼、會不會互相競爭
  • (3) 5%|檔案資料被兩個不同快取各存一份的情況叫什麼
  • (4) 5%|用什麼技術避免 (3) 的情況?並畫出使用該技術的檔案 I/O 方塊圖。方塊圖是評分項目,要畫出資料實際走的路徑

這份考卷的難點

  1. 第 3 題要在考場上手寫一段完整的 GPU 程式。 沒寫過 CUDA/OpenCL 的人幾乎不可能拿到分數。主機端流程、執行緒索引、邊界檢查這三塊是骨架,寫得出骨架就有大部分分數。
  2. 第 4(2) 題的答案要靠逐行模擬。 三條執行緒的「準備順序」與「實際進入順序」不一定相同,這一小題就是 (1) 小題的具體演示。
  3. 第 5 題整題在問一條很少被完整教到的鏈路:從使用者層緩衝一路到磁碟快取,以及統一快取帶來的副作用。這是 Silberschatz 裡篇幅不多但成大特別重視的一節。
  4. 全卷只有 5 題、100 分,平均一題 20 分。任何一題答不出來就是 20% 直接歸零,容錯率極低。

準備建議

  • 109 年起成大硬體改成純申論、題數少而配分大。每題 10–30 分,寫不出來就沒有部分分數可撿,準備時要確保覆蓋面完整
  • GPU 的架構與程式模型是成大的招牌(109 年佔 50 分)。要能講出 SIMT、warp、latency hiding、shared memory、grid/block/thread 的階層,並能寫出矩陣乘法 kernel 的骨架
  • 讀者—寫者問題的兩個版本(第 4 題)要分清各自會讓誰飢餓。成大直接考「這段程式是不是最佳解」
  • 同步原語的硬體與軟體實作(第 4(3)(4) 題):硬體指令與純軟體演算法各要能舉出兩三種
  • 檔案 I/O 的完整快取鏈路(第 5 題):要能畫出資料從磁碟到使用者緩衝區經過的每一層,以及怎麼繞過其中一層。這一塊在其他學校很少考,但成大考了 30 分
  • 是非題與定義題要寫理由——成大歷年都明訂「explain your answer」

想看完整逐題詳解?

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

購買 · NT$ 850 先看試閱

其他年度與考科