114 交大資工所硬體考點分析
第 19 題與 107 年第 9 題一字不差、第 17 題與 107 年第 8 題幾乎相同。題組 B 要推多層頁表的最少層數。
題型與配分
科目:計算機系統(含作業系統及計算機組織)(8103),系所班別「資訊聯招」,考試日期 114 年 2 月 6 日第 3 節,全卷 100 分、10 頁、34 題。不可使用計算機、請使用答案卡作答。
| 區段 | 題號 | 配分 | 計分 |
|---|---|---|---|
| 一、複選題 | 1–20 | 80%(每題 4 分) | 答對一個選項 +1、答錯一個選項 −1,最多扣至本科目計算機系統 0 分為止;整題未作答不給分 |
| 二、題組 | 21–34 | 20%(四個題組各 5 分) | 各題組下的小題為單選,組內全對才得 5 分 |
這一年的重複出題是十年最明顯的:第 19 題與 107 年第 9 題一字不差(分支預測失敗的額外 CPI)、第 17 題與 107 年第 8 題幾乎相同(IEEE754 的四個敘述)、第 7 題與 109 年題組 B 同樣是判讀
cat的記憶體映射。
OS 與計組的比重:OS 50%(第 1–10 題與題組 A、B)、計組 50%(第 11–20 題與題組 C、D)。
複選題(1–20,80 分)
作業系統(1–10)
- 第 1 題(4%)|分頁的特徵——四個選項涵蓋 分頁是不是為了「增加實體記憶體」、它如何切分程序的位址空間、它對 CPU 時脈有沒有影響、它在程序隔離上的作用
- 第 2 題(4%)|記憶體管理——四個選項涵蓋 slab 配置器對兩種碎裂的處理、頁表本身是不是存在 PCB 裡、x86-64 的虛擬位址寬度與支援的頁面大小、啟用 MMU 後使用者程式能用哪一種位址。第二項的判斷點:PCB 裡存的是「指向頁表的指標」還是「頁表本體」
- 第 3 題(4%)|虛擬記憶體——四個選項涵蓋 頁錯誤的處理流程、copy-on-write 的共享與複製時機、Linux swap 服務哪一類記憶體、x86 上的頁表走訪由硬體還是 OS 執行。最後一項是 x86 與 MIPS 的重要差異
- 第 4 題(4%)|程序——四個選項涵蓋 PCB 裡到底放了哪些東西、中斷發生時為何必須先保存脈絡、傳統 UNIX 的程序樹根是誰、哪些操作必須經過系統呼叫、哪些不必。第一項的判斷點:區域變數住在哪一塊記憶體區
- 第 5 題(4%)|銀行家演算法判斷 P2 的請求 (1,0,1):五個程序、三種資源,Available = (3,3,2)。四個選項分別問 可用資源夠不夠、核准之後還在不在安全狀態(要跑一次安全性演算法)、unsafe 與死結的關係、目前狀態安不安全。要把「資源夠不夠」與「核准後安不安全」兩件事分開判斷
- 第 6 題(4%)|中斷處理——四個選項涵蓋 中斷的定義、中斷是不是「只能」由硬體產生、中斷發生時的控制轉移、中斷有沒有優先權。第二項的絕對字眼要檢查
- 第 7 題(4%)|判讀
/usr/bin/cat的記憶體映射表——四個選項要從表裡讀出 CPU 架構是 32 還是 64 位元、程式含不含 C 函式庫、放進malloc()緩衝區的 shellcode 能不能執行(看[heap]那一列的權限字串)、能不能從映射表看出子程序數量。要會讀/proc/.../maps的每一欄。與 109 年題組 B 是同一種題型 - 第 8 題(4%)|Round Robin——四個選項涵蓋 RR 會不會造成飢餓、它能不能讓「所有」程序更快完成、縮小時間量子對周轉時間的影響、它保證的是什麼公平性。要分清 RR 最佳化的是哪一個指標
- 第 9 題(4%)|排程器與執行緒——四個選項涵蓋 執行緒切換較快的真正原因(共享的是哪些東西、不共享哪些)、Linux CFS 如何分配時間量子、dispatcher 在哪一個模式下執行、新建執行緒與父程序共享什麼。「使用者堆疊」是全題的判斷點
- 第 10 題(4%)|I/O 系統——四個選項涵蓋 bootstrap 存放在哪一種記憶體、開檔時目錄結構可能在哪裡、page cache 用的 DRAM 在斷電後會怎樣、VFS 層的作用
計算機結構(11–20)
- 第 11 題(4%)|新快取架構帶來 1.25 倍加速:load 佔執行時間 20%、store 佔 10%,新快取讓 load 快 4 倍、store 快 2 倍。先用 Amdahl 式的加權算出新執行時間並驗證那個加速比,再判斷 這個改善是透過時脈、CPI 還是指令數發生的、以及 它降低的是失誤率還是失誤罰則
- 第 12 題(4%)|直接對映快取的高失誤率屬於哪一種(tag 26/index 4/offset 2)。先把程式讀的那幾個位址各自的 index 算出來,看它們彼此撞不撞,就能判斷失誤屬於三種失誤裡的哪一種
- 第 13 題(4%)|加大快取區塊的影響——四個選項涵蓋 它利用的是哪一種區域性、失誤罰則往哪個方向走、tag 的額外開銷怎麼變、失誤率怎麼變。時間區域性與空間區域性的對調是跨校高頻陷阱
- 第 14 題(4%)|改成 2-way 之後的失誤率。先檢查程式讀的兩個位址在直接對映下的 index,再判斷改成 2-way 後會怎樣,算出失誤數 ÷ 總存取數。其餘選項再問 改用更小的直接對映、或改用全關聯之後,失誤率各往哪個方向走
- 第 15 題(4%)|AMAT 與 IPC:4 GHz、無停頓 CPI 1.4、load/store 佔 30%、hit time 1 cycle、I-cache 失誤率 3%、D-cache 失誤率 5%、失誤罰則 50 ns。選項問失誤罰則換算成幾個週期、指令存取的 AMAT、每道指令的停頓週期、IPC。I-cache 與 D-cache 的停頓各要乘上什麼比例是關鍵,最後求的是 IPC 而不是 CPI
- 第 16 題(4%)|數值表示——四個選項涵蓋 二補數與 IEEE754 各有幾種 0 的表示、兩個異號的二補數相加會不會溢位、某個 32 位元常數在大小端下存出來的位元組序列是否相同。最後一項要把四個位元組實際寫出來比較
- 第 17 題(4%)|IEEE754 的四個敘述——與 107 年第 8 題幾乎完全相同,只換了其中一個數字。涵蓋 某個指數極小的數能不能正規化表示、最小正正規化數、最小正非正規化數。兩個「最小正」要分清楚各自怎麼推出來
- 第 18 題(4%)|第 8 個週期時兩個 ALU 輸入從哪來:程式為
add x28,x31,x29→ld x31,32(x29)→and x30,x29,x31→sd x5,20(x30)→sub x5,x5,x30→or x29,x29,x30。要先畫出管線時序(注意有沒有需要停頓的相依),找出第 8 週期在 EX 級的是哪道指令,再判斷它的兩個來源各走哪條轉送路徑 - 第 19 題(4%)|分支預測失敗造成的額外 CPI——與 107 年第 9 題一字不差:R-type 50%、beq 25%、lw/sw 25%、預測準確率 20%。問在不同管線級修正分支時的額外 CPI。誤判罰則由分支在哪一級解析決定
- 第 20 題(4%)|2-bit 預測器從「強烈預測 taken」開始:分支結果序列 N, T, N, N, T。要逐步追蹤狀態機並算出準確率,再判斷模式重複兩次、三次、一萬次時的整體準確率。重複多次後狀態會進入穩定的循環,一萬次的情況要從那個循環去算
題組(21–34,20 分)
- 題組 A(21–24,5%)|四顆 1 TB 磁碟的 RAID 5(讀寫吞吐量各 100 MB/s):
- 第 21 題|可儲存的容量
- 第 22 題|最大讀取吞吐量——要想清楚 RAID 5 的同位區塊怎麼分佈,讀取時有幾顆碟能參與
- 第 23 題|最多容忍幾顆故障
- 第 24 題|寫入時最少要動幾顆碟
- 與 112 年題組 A 是同一組 RAID 5 題目的擴充版
- 題組 B(25–27,5%)|多層頁表的最少層數:頁面 32 KB、虛擬位址空間 264、頁表條目 16 B。
- 第 25 題|最少層數
- 第 26 題|最底層最多有幾頁
- 第 27 題|多層頁表的最上層佔幾頁
- 先算「一頁放得下幾個條目」,由此決定每層能解析幾個位元。題目說只有一個暫存器存最上層的實體位址,這個條件限制了最上層的大小
- 題組 C(28–30,5%)|64 KB、4-way、64-byte 區塊的 L1:32-bit 位址、實體記憶體 4 GB。
- 第 28 題|區塊數
- 第 29 題|tag 位元數
- 第 30 題|位址從 32-bit 增加到 64-bit 時哪個欄位會變大。要想清楚 index 與 offset 由什麼決定
- 題組 D(31–34,5%)|五級管線的第 5 個週期狀態:程式為
ld x31,32(x5)→sub x30,x31,x5→ld x31,20(x30)→add x29,x29,x30→or x5,x5,x30。 - 第 31 題|第 5 週期時 EXE 級是哪道指令
- 第 32 題|第 5 週期時 MEM 級是哪道指令
- 第 33 題|第 5 週期時 WB 級是哪道指令
- 第 34 題|第 5 週期時 ALUsrc 與 MemToReg 的值
- 四小題共用同一張時序圖,畫對就全拿、畫錯就全失。先檢查前兩道指令之間的相依需不需要停頓
這份考卷的難點
- 題組 B 的多層頁表要三步推導。 三個小題環環相扣,第 25 題算錯後面全錯。
- 第 14 題要真的把 index 算出來。 位址看起來不像,算出來才知道撞不撞,而另一個選項把 index 位元數改掉之後結果可能一樣也可能不一樣,都要驗算。
- 第 7 題的 NX 位元判讀:要從權限字串直接讀出這個安全機制。
- 題組 D 的四小題共用一張時序圖,少畫或多畫一個 bubble,四個答案全錯。
準備建議
- 114 年是交大十年重複出題最明顯的一年:第 19 題 = 107 年第 9 題(一字不差)、第 17 題 ≈ 107 年第 8 題、第 7 題 ≈ 109 年題組 B、題組 A ≈ 112 年題組 A。107、109、112 三年練熟,114 年開場就有近 20 分
- 分支預測失敗的額外 CPI:分支比例、誤判率、罰則三者的關係,以及罰則與解析級數的對應
- IEEE754 的四個邊界值:最大正規化、最小正正規化、最大非正規化、最小正非正規化。交大在 107、114 兩年各考一次
- 多層頁表的層數推導(題組 B):練習「一頁條目數 → 每層位元數 → 層數」的推導
- 快取欄位與位址長度的關係(題組 C 第 30 題)
- 從
/proc/.../maps判讀安全機制(第 7 題):各區段的權限字串代表什麼 - 答錯 −1、扣至整科 0 分:把握超過 50% 就值得勾