108 成大資工所硬體考點分析
第 1 題要對 12 個字位址在直接對映與 4-way 兩種快取上各追蹤一次。第 4 題用 TLB reach 與磁碟傳輸率比較兩種頁面大小。
題型與配分
考試科目:計算機組織與系統,系所「電機資訊學院-資訊聯招」,考試日期 0223、節次 1,全卷 100 分、3 頁、5 大題。本試題不可使用計算機。
| 題號 | 配分 | 主題 |
|---|---|---|
| 1 | 20% | 快取追蹤(直接對映 vs 4-way)與 AMAT |
| 2 | 15% | 多核與 SIMD 的加速比比較 |
| 3 | 15% | 五個是非題(GPU、快取階層、浮點結合律) |
| 4 | 20% | TLB reach、磁碟傳輸率與頁面大小 |
| 5 | 30% | 即時系統的事件延遲與排程 |
與 106、107 相同的作答規定:答案必須填進卷首指定的表格,於試題紙上作答者不予計分。108 年是這個格式的最後一年——109 年起改成純申論。
OS 與計組的比重:計組 50%(第 1、2、3 題)、OS 50%(第 4、5 題)。
計算機組織考點
- 第 1 題(20%)|同一組位址在兩種快取上的完整追蹤:字位址序列為
35, 149, 43, 90, 191, 91, 148, 14, 42, 190, 69, 15(12 個)。 - (1) 8%|直接對映、two-word blocks、總容量 16 words。對每個位址算出 tag 與 index 並標記命中或失誤(快取初始為空)。給的是「字位址」不是位元組位址,拆欄位前要先確認單位
- (2) 8%|四路組相聯、two-word blocks、總容量 16 words。同樣要標出 tag、index 與命中失誤,用 LRU 置換。先算出 set 數,這個數字比直接對映的區塊數小很多
- (3) 4%|算兩種快取的 AMAT:直接對映命中時間 1 cycle、四路命中時間 2 cycles,主記憶體都是 200 cycles,要用 (1)(2) 算出的失誤率代入。這題的設計精髓是「失誤率與命中時間往相反方向變」,結論要靠算出來,不能憑直覺
- 第 2 題(15%)|多核與 SIMD 的加速比:程式分成 T1(2 ms,初始化)、T2(8 ms,雙層迴圈
Y[i][j] = Y[i-1][j-1] + 2)、T3(16 ms,雙層迴圈X[i][j] = Y[i][j] * 5)、T4(2 ms,收尾)。總共 28 ms。 - (1) 6%|四核處理器的加速比
- (2) 6%|單核 + 8 寬 SIMD 的加速比
- (3) 3%|哪個處理器較快、為什麼
- 這題的關鍵是逐段判斷 T1–T4 能不能平行、能不能向量化。T2 與 T3 的迴圈結構看起來很像,要仔細看等號右邊用到了哪些索引,判斷有沒有迴圈間相依(loop-carried dependence),以及相依的方向
- 第 3 題(15%,五個是非題,要說明理由):
- (1) 3%|「圖形應用效能較高,是因為 GPU 卡上的 DRAM 減少了記憶體延遲」。考 GPU 記憶體系統的設計目標,以及 GPU 如何處理延遲
- (2) 3%|「可以為電腦叢集建立共享記憶體來交換資料」。考分散式系統上的共享記憶體抽象
- (3) 3%|「GPU 總是比 CPU 快,代價是功耗較高」。「總是」兩個字要特別注意
- (4) 3%|「兩層快取下,第一層著重失誤率、第二層著重命中時間」。考多層快取中各層的設計目標,這是跨校高頻的對調陷阱
- (5) 3%|「加法的結合律對整數與浮點數都成立」。考浮點運算的捨入特性
作業系統考點
- 第 4 題(20%)|TLB reach、磁碟效能與頁面大小:64 個 TLB 條目、硬碟 5400 RPM、每軌 40 個磁區、磁區 512 bytes、存取延遲 10 ms、尋道時間 30 ms。
- (1) 4%|1 KB 頁與 4 KB 頁的 TLB reach
- (2) 4%|磁碟傳輸率。要先由 RPM 推出每轉時間,再搭配每軌容量
- (3) 4%|兩種頁面大小下,一次頁錯誤的 I/O 時間。要把尋道、存取延遲、傳輸三段都算進去
- (4) 8%|傳輸同樣 4 KB 資料時兩種頁面大小的 I/O 時間。關鍵是兩種頁面大小要發生幾次頁錯誤,以及每次頁錯誤的固定成本與傳輸時間相比有多大
- 四小問是一條完整的推理鏈,最後要能說出「為什麼」,而不只是比數字
- 第 5 題(30%)|即時系統的事件延遲:
- (1) 10%|影響事件延遲的兩種延遲是什麼
- (2) 5%|可搶占或非搶占排程哪一種延遲較低
- (3) 10%|四個程序全部在時間 0 到達,burst 分別為 53、17、68、24。依 (2) 的答案在 FCFS 與 RR(量子 20 ms)之間選一個,算平均等待時間與平均周轉時間。(2)(3) 是刻意設計的連動,選錯演算法就算對數字也不給分
- (4) 5%|若用 FCFS 排程這四個程序,可能有幾種不同的排程。四個程序同時到達,要想清楚 FCFS 在「同時到達」時的順序有沒有被題目固定
這份考卷的難點
- 第 1 題要對 12 個位址做兩次完整追蹤。 直接對映與四路組相聯的 set 數差很多,兩者的衝突行為完全不同,而且第 (3) 小問還要用各自的失誤率算 AMAT。20 分,但手工工作量是全卷最大的。
- 第 2 題的 T2 與 T3 長得很像。 兩個都是雙層迴圈,差別只在等號右邊的索引。看不出其中一個有迴圈間相依,兩個加速比就會算錯。
- 第 3(4) 題考多層快取的設計目標。 這是跨校高頻的對調陷阱,要能說出每一層為什麼那樣設計。
- 第 4(4) 題的結論要靠算的。 一般印象裡小頁有小頁的好處,但這一題給的磁碟參數讓某一項成本特別大,結論要從數字推出來。
準備建議
- 快取追蹤要練到能同時處理直接對映與組相聯(第 1 題)。關鍵步驟是先把位址換成區塊號,再取 index,字位址與位元組位址的換算不要搞混
- AMAT 的取捨比較(第 1(3) 題):「兩個方向相反的效應」是成大偏好的問法
- 多層快取各層的設計目標(第 3(4) 題)要能用自己的話講出理由
- TLB reach(第 4(1) 題)是一個定義就能拿分的送分題
- 磁碟傳輸率與一次 I/O 的時間組成(第 4(2)(3) 題):尋道、旋轉、傳輸三段要能分別算出
- 即時系統的兩種延遲(第 5(1) 題)是 Silberschatz 即時排程一節的定義題
- 108 年是「填表格作答」的最後一年,109 年起成大硬體改成純申論。兩種格式都要練