111 中央資工所硬體考點分析
單選 8 題 40 分、多選 12 題 60 分,兩個獨立的倒扣池。第 9 題直接印出單週期資料路徑圖,要看著電路回答四個敘述。
題型與配分
所別「資工類」,科目:作業系統與計算機組織,全卷 100 分、8 頁、20 題——是中央硬體十年來頁數最多的一份。本科考試禁用計算器。
| 區段 | 題號 | 配分 | 計分 |
|---|---|---|---|
| 一、單選 | 1–8 | 40%(每題 5 分) | 答錯倒扣 2 分,倒扣至單選題 0 分為止 |
| 二、多選 | 9–20 | 60%(每題 5 分) | 每個選項單獨計分,答錯一個選項倒扣 1 分,倒扣至多選題 0 分為止 |
兩個倒扣池互不相通:單選扣到 0 就停、多選扣到 0 就停。換句話說最壞情況是 0 分而不是負分,這在中央硬體十年裡是比較寬鬆的設計(106、107 沒有寫下限)。
這一年沒有任何一題「mod 5」,但單選 1、3、5、6 全是要算出數值的題目,而且選項之間差距極小(第 3 題五個選項只差零點幾)。禁用計算器下,四則運算的手算功力直接決定這 40 分。
OS 與計組的比重:計組 50%(第 1–3、9–15 題)、OS 45%(第 4–8、16、17、19、20 題)、計算機網路 5%(第 18 題)。
單選題(1–8)
- 第 1 題(5%)|Amdahl's Law:模組佔計算時間 40%、加速 10 倍,求整體加速比。注意題目給的是時間比例(不是指令比例)——這與 110 年第 8 題的陷阱正好互補
- 第 2 題(5%)|2-way 組相聯的標籤位元數:16 KB、block 4 bytes、2-way、32-bit 位址。先算 set 數再切 index。與 109 年第 2 題是同一題換參數(那年是直接對映)
- 第 3 題(5%)|管線化加速比:未管線化時脈 8 ns、ALU 4 cycles 30%、branch 5 cycles 30%、memory 5 cycles 40%、管線化多 1 ns。兩步驟:先用指令組合加權算出未管線化的平均 CPI,再拿兩種設計的「CPI × 週期」相比。與 109 年第 1 題是同一題換數字
- 第 4 題(5%)|fork 迴圈:
for (i=0;i<4;i++) fork();。題目特別註明「including the original process」——「總程序數」與「新增程序數」差一,看清楚問的是哪一個。106 年第 19 題問的是另一種——中央很愛在這裡設陷阱 - 第 5 題(5%)|Round Robin 的平均等待時間:四個程序有各自的到達時間與 CPU 分發時間,時間量子 = 5、上下文切換 ≈ 0。要畫出完整的甘特圖再算平均等待時間,是全卷最耗時的一題。新到達的程序與剛用完量子的程序誰先排進佇列,是 RR 甘特圖最常出錯的地方
- 第 6 題(5%)|三種置換演算法的頁錯誤數:參考串
1 5 4 6 4 1 5 4 1 6 2 3 1 6、三個頁框。要跑 FIFO、stack-based LRU、Optimal 三次,另有一個選項涉及現代 OS 會不會採用 Optimal - 第 7 題(5%)|虛擬化,問「哪一個不成立」——五個選項涵蓋 Docker 虛擬化的是硬體層還是作業系統層、K8s 的定義、半虛擬化的定義、JVM 的垃圾回收。核心分界是「容器」與「虛擬機」各自虛擬化到哪一層。與 110 年第 14 題(容器對 VM)是同一個考點連兩年
- 第 8 題(5%)|生產者—消費者的號誌順序:已給生產者的完整程式(
wait(empty)→wait(mutex)→ … →signal(mutex)→signal(full)),要補出消費者缺的兩個 signal(V1、V2)。消費者的結構與生產者對稱,想清楚消費者取出一個項目之後要通知誰,以及兩個 signal 的先後順序
計算機組織考點(9–15,多選)
- 第 9 題(5%)|看著單週期資料路徑圖回答(卷上直接印出電路圖)——四個敘述分別問 PC 送進加法器是在算什麼、對 Instruction[15-0] 做符號延伸的結果、ALU 的 Zero 訊號送進 AND 閘是在判斷什麼、「Write register」前那個 Mux 到底決定什麼。要能分清「資料路徑上的元件」與「控制單元送出的控制線」各自負責的事。這是十年裡唯一一題直接考電路圖判讀
- 第 10 題(5%)|自訂浮點格式:標準 binary16 是 1/5/10、bias 15,新格式改成 1/8/7、bias 127。前兩個敘述是定性題(指數位元變多、尾數位元變少各會怎樣),後兩個要把同一串 16 位元分別用兩種格式解碼再比較。要牢記位元分配的取捨:指數與尾數各自管的是什麼
- 第 11 題(5%)|inclusive cache——涵蓋 inclusive 的定義(誰是誰的子集)、從哪一層逐出會強制另一層也逐出、它對空間利用率的影響、它換來的好處是什麼。逐出的方向是全題核心,很容易反過來記。十年唯一一次考 inclusive/exclusive cache
- 第 12 題(5%)|分離式 I-cache 與 D-cache——前兩個敘述問「合併成統一快取後失誤率會往哪個方向變」,要分別跟 I-cache、D-cache 的原始值比較;後兩個問能不能同時存取指令與資料、分離減少的是哪一種危障。最後這一項在 109 年第 15 題、111 年第 14 題也考過,中央考三次
- 第 13 題(5%)|指令集設計,問「哪些不成立」——涵蓋 動態排程的優點、單週期時脈由什麼決定、Reg-Reg 架構的 CPI 變異、RISC 是否已成主流產品、單週期與多週期誰更適合管線化。Reg-Reg 那一項與 106 年第 5 題 (A) 是同一組敘述。反問句要特別小心勾選方向
- 第 14 題(5%)|管線危障——涵蓋 編譯器排程能避開哪些危障、分離 I/D cache 減少的是哪一種危障、WAR 與 RAW 哪一種能用暫存器重新命名解決。這組敘述在 109 第 14 題、110 第 9 題已經出現過,111 是第三次
- 第 15 題(5%)|綜合判斷——涵蓋 提高關聯度對失誤率與命中時間的影響、MIPS 分支位移以什麼為單位(以及它對範圍的影響)、加大快取是不是「總是」能提高命中率、管線級間暫存器的必要性、MIPS 指令長度。「總是」這種絕對用語要特別檢查
作業系統考點(16–20,多選)
- 第 16 題(5%)|競爭範圍(contention scope)——涵蓋 PCS 與 SCS 各自描述的是哪一層的競爭、Linux 支援哪一種
PTHREAD_SCOPE_*、one-to-one 模型對應哪一種。要把PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM與 PCS/SCS 的對應記牢,選項就是拿這組對應互換 - 第 17 題(5%)|處理器親和性(processor affinity)——涵蓋 Linux 支援硬親和性還是軟親和性、負載平衡與親和性的衝突、NUMA 架構對親和性的影響、soft affinity 的定義
- 第 18 題(5%)|網路協定——涵蓋 BGP 是 inter-AS 還是 intra-AS 的路由協定、HTTPS 靠什麼加密、ARP request 是單播還是廣播、ARP 欺騙的原理
- 第 19 題(5%)|執行緒與輾轉現象(thrashing)——涵蓋 同程序的執行緒共不共享堆疊、能不能共用 TLB 條目、thrashing 的定義、區域置換演算法能不能完全解決 thrashing。thrashing 的定義要看清楚比較的是哪兩種時間
- 第 20 題(5%)|程序遷移與合作——涵蓋 程序遷移的動機、標準 UNIX pipe 支不支援程序遷移、程序合作的理由、IPC 的兩種模型
這份考卷的難點
- 第 9 題要真的看懂單週期資料路徑圖。 四個選項全部在問「某條線/某個元件的功能是什麼」,而且刻意把不同元件的職責互換。只背過方塊圖名稱、沒理解訊號流向就答不出來。
- 第 5 題的 RR 甘特圖在四個程序、不同到達時間、時間量子 5 的設定下,要追蹤十幾次切換才能算出平均等待時間,在禁用計算器又只有 5 分的情況下投報率很低,建議最後再做。
- 第 6 題一題要跑三個置換演算法(FIFO、LRU、Optimal),而且是單選題——三個都算完才知道哪個選項對,算錯一個就選錯。
- 第 11 題的 inclusive cache 方向性:要從「誰是誰的子集」推出逐出的強制方向,選項會把方向寫反來測試你。
準備建議
- 111 有四題是前幾年的原題換數字:第 2 題 = 109 第 2 題(快取 tag)、第 3 題 = 109 第 1 題(管線加速比)、第 4 題 = 106 第 19 題(fork,但改問另一種數法)、第 13 題的 Reg-Reg 敘述 = 106 第 5 題 (A)。109 與 111 一起練,等於做了一年半
- fork 題一定要看清楚問的是「新增」還是「總共」。中央在 106 與 111 兩年各考一種
- Amdahl's Law 的兩種問法要分清:111 第 1 題給的是時間比例、110 第 8 題給的是指令比例。看到百分比先問自己「這是時間還是指令」
- 生產者—消費者的號誌順序(第 8 題):wait 與 signal 各自的先後順序要能說出理由,順序錯了會造成死結
- 單週期資料路徑圖(第 9 題)要能指著圖說出每條控制線(RegDst、ALUSrc、MemtoReg、RegWrite、MemRead、MemWrite、Branch)接到哪個 Mux、由誰產生。108 年第 11 題考的是同一張圖的使用率統計,兩題一起看最有效率
- 兩個倒扣池互不相通,所以單選扣到 0 之後再猜就沒有額外損失——如果單選已經有三題以上沒把握,剩下的反而可以放手猜