109 中央資工所硬體考點分析
單選只剩 2 題,其餘 18 題 90 分全部逐選項倒扣。第 13、14 題用「NOT true」反問,在逐選項計分下最容易整題翻車。
題型與配分
所別「資工類」,科目:作業系統與計算機組織,全卷 100 分、6 頁、20 題。本科考試禁用計算器。
| 區段 | 題號 | 配分 | 計分 |
|---|---|---|---|
| 單選 | 1–2 | 10%(每題 5 分) | 答錯倒扣 2 分,倒扣到該大題 0 分為止 |
| 多選 | 3–20 | 90%(每題 5 分) | 每一選項單獨計分,答對一個得 1 分、答錯一個倒扣 1 分,倒扣到該大題 0 分為止 |
90 分逐選項倒扣,是中央硬體十年來比重最高的一年。 卷面首次把計分講得非常明確:「每答對一個選項得一分、答錯一個選項倒扣一分」——也就是一題五個選項就是五個獨立的是非題,全卷實際上是 90 個獨立判斷。
第 13、14 題問的是「which are NOT true」。在逐選項倒扣下,讀漏 NOT 不只是這一題歸零,而是五個選項全反 ⇒ 直接 −5 分。中央十年只有這一年用反問句式。
OS 與計組的比重:OS 40%(第 3–12 題)、計組 55%(第 1、2、13–20 題)、計算機網路 5%(第 12 題)。這一年的切分同樣乾淨:前半 OS、後半計組。
單選題(1–2)
- 第 1 題(5%)|管線化的加速比:未管線化時脈 9 ns,ALU 4 cycles 佔 30%、branch 5 cycles 佔 30%、memory 5 cycles 佔 40%;管線化後時脈多 1 ns、理想 CPI = 1。五個選項彼此只差 0.1,時脈的變化與平均 CPI 都要算準,四捨五入的時機也要小心
- 第 2 題(5%)|直接對映快取的標籤位元數:4 KB 快取、block 4 bytes、32-bit 位址。標準的位址拆解題。111 年第 2 題把它換成 16 KB、2-way 再考一次
作業系統考點(3–12)
- 第 3 題(5%)|虛擬機下哪些指令屬於敏感指令:設定計時器、讀時鐘、清記憶體、發出 trap、關中斷。要先掌握「敏感指令」的定義,再逐一判斷每個操作有沒有碰到系統的全域狀態
- 第 4 題(5%)|哪些排程演算法會造成飢餓:FCFS、SJF、Priority、RR、WFQ。與 106 年第 9 題幾乎相同,只是把選項 (E) 從「None」換成「Weighted fair queueing」——多出來的 WFQ 要想清楚它的設計目的
- 第 5 題(5%)|計數號誌(counting semaphore)——涵蓋 它的本質型別、透過幾個標準操作存取、能不能被多執行緒同時修改、能不能控制臨界區、操作的原子性。其中有一個數字、一個方向被動過手腳
- 第 6 題(5%)|many-to-many 模型的效能:與 108 年第 14 題一字不差
- 第 7 題(5%)|LRU/FIFO/Optimal 的頁錯誤數:三個頁框、21 個頁號的參考串。與 108 年第 16 題是同一題換參考串(108 是 20 個頁號),選項一樣要自己配對數字與演算法
- 第 8 題(5%)|一般使用者不會主動察覺什麼:資源配置、互動性、連續性、回應性四選。考的是 OS 對使用者隱藏了什麼、又對使用者承諾了什麼
- 第 9 題(5%)|TLB、頁表大小與排程——涵蓋 多層頁表與 TLB 的關係、頁面大小與線性頁表大小的關係、時間片拉長後 RR 會趨近哪一種排程、SJF 有沒有可搶占的版本。這一題的敘述讀起來都很順,要逐項確認,不能因為「太順」就懷疑,也不能因為順就全勾
- 第 10 題(5%)|多工、程序狀態與位址——涵蓋 單使用者系統需不需要多工、I/O 完成後的 blocked 程序回到哪一個狀態、32-bit 實體位址配 4 KB 頁時頁框號佔幾個位元、虛擬頁數與實體頁數是否相同。第二項是程序狀態圖最常被記錯的一條轉換
- 第 11 題(5%)|頁表存取次數與死結——涵蓋 二層頁表在沒有 TLB 時取一道指令共要幾次記憶體存取、unsafe 狀態的意涵、銀行家演算法屬於哪一類手法、wait-for graph 的用途。unsafe 與 deadlock 的關係在 106 年第 13 題、110 年第 13 題也考過,中央十年考三次
- 第 12 題(5%)|IPv6——涵蓋 IPv6 與 IPv4 標頭長度的倍數關係、IPv6 支不支援廣播、IPsec 在規格中是選用還是強制、路由器能不能分割 IPv6 封包。標頭長度那一項要記得兩個版本各是幾 bytes
計算機組織考點(13–20)
- 第 13 題(5%)|單週期對多週期,但問的是「哪些不成立」——這題與 106 年第 2 題是同一組敘述,只是把問法從「true」翻成「NOT true」。兩個關鍵判斷點:單週期的時脈由哪一條路徑決定、功能單元能不能在一道指令內重複使用。問法翻轉時最容易整題勾反
- 第 14 題(5%)|快取寫入策略與危障,問的是「哪些不成立」——涵蓋 write-back 的讀取失誤會不會引發寫入、write-through 需不需要寫入緩衝區、哪一種相依能用暫存器重新命名解決、分散式共享記憶體與非均勻存取的關係。重新命名能消除哪些相依這一條在 110 年第 9 題、111 年第 14 題又各考一次
- 第 15 題(5%)|動態排程與多核趨勢——涵蓋 分離指令與資料快取主要減少哪一種危障、RISC 是否已經過時、推動單晶片多處理器的物理限制。最後那一項就是 power wall 的論述,值得整段讀熟
- 第 16 題(5%)|虛擬記憶體——涵蓋 位址轉換的輸出是什麼、TLB 失誤之後還有沒有機會找到對映、虛擬頁號與實體頁框號的位元數必不必須相等、切換程序時 OS 要保證什麼。有兩個選項用了同一個偷換手法,看出一個就能看出另一個
- 第 17 題(5%)|MIPS CPU 設計——涵蓋 forwarding 能解決 RAW 到什麼程度、分支預測針對的是哪一種危障、管線改善的是吞吐量還是單一指令的完成時間、beq 的分支目標位址何時算得出來、管線對「同時執行中的指令數」的影響。管線改善什麼這一條在 107 年第 14 題、112 年第 4 題也考過,中央十年考三次
- 第 18 題(5%)|MIPS 的程序呼叫慣例——涵蓋 stack frame 的定義、frame pointer 與 stack pointer 各指向哪裡、堆疊溢位的判準、返回時該用哪一道指令、beq 第三個運算元的型別。被動手腳的地方都是「一對相近的東西互換」,要把每一對都分清楚
- 第 19 題(5%)|記憶體與快取——涵蓋 時間區域性與空間區域性的定義、加大區塊利用的是哪一種區域性、write-through 需不需要 dirty bit、關聯度對快取利用率與失誤率的影響。兩種區域性的定義互換這個手法在 110 年第 2 題原樣再考一次
- 第 20 題(5%)|管線與平行化——涵蓋 迴圈展開的真正目的、暫存器重新命名要消除的是哪幾種相依、VLIW 的一道寬指令裡放的是相依還是獨立的運算、超純量與靜態多重發射各由誰做決策。有幾項是把「目的」換成一個聽起來合理但無關的說法
這份考卷的難點
- 兩題「NOT true」放在逐選項倒扣的規則下,是十年來最危險的設計。 第 13、14 題各 5 分,讀漏 NOT 就是把五個判斷全部反過來 ⇒ 兩題合計可能直接 −10 分。
- 第 9、17、19、20 題都是細節敘述題,考的全是課本正文裡一句話帶過的定義(frame pointer 指哪裡、VLIW 的寬指令放什麼、write-through 的控制位元)。這種題目沒有推導空間,背不熟就是逐選項扣分。
- 第 7 題的三種置換演算法要在 21 個頁號上各跑一次,而且選項刻意把數字與演算法打散,必須三種都算完才能判斷哪幾個選項對。
- 第 1 題五個選項只差 0.1,在禁用計算器下要手算,任何一步的四捨五入都會落到相鄰的錯誤選項。
準備建議
- 109 是中央硬體「觀念敘述題」比重最高的一年,20 題裡有 12 題是純敘述判斷。準備方式應該是把 Patterson & Hennessy 與 Silberschatz 的每章重點整理成「真/假敘述卡」,而不是狂做計算題
- 看到 NOT 先圈起來。 第 13、14 題的敘述本身在 106 年第 2 題、其他年度都出現過,中央會把同一組敘述換成反問句再考一次
- 與 108 年高度重疊:第 6 題 = 108 第 14 題(一字不差)、第 7 題 = 108 第 16 題(換參考串)。108 與 109 兩份一起練
- 十年反覆出現的幾組陷阱敘述建議整理成對照卡:
- 時間區域性與空間區域性的定義(109 第 19 題、110 第 2 題)
- 管線改善的是吞吐量還是單指令延遲(107 第 14 題、109 第 17 題)
- unsafe 狀態與死結的關係(106 第 13 題、109 第 11 題)
- 頁表與 TLB 的角色(108 第 6 題)
- 各種寫入策略需要哪些控制位元(109 第 19 題)
- 逐選項倒扣佔 90 分,代表每個選項都要獨立判斷、不能用「這題大概選 BCD」的整題直覺。沒把握的選項就空著,空白是 0 分、答錯是 −1 分