115 中興資工所硬體考點分析
計組被搬到卷首、複選題全是作業系統,倒扣一律 −3。第 8 題的銀行家與第 9 題的三種置換法是全卷工作量最大的兩題。
題型與配分
科目名稱:計算機組織與作業系統,系所「資訊工程學系甲組」,本科目不得使用計算機,全卷 7 頁(另有 1 頁考生注意事項)。
| 大題 | 題號 | 配分 | 題型 | 計分 | 歸屬 |
|---|---|---|---|---|---|
| 一 | 1–6 | 30 分 | 單選(A–D 四選項) | 沒作答不給分、答錯倒扣 3 分,最多扣至本大題 0 分 | 計算機組織 |
| 二 | 7–11 | 20 分 | 複選((A)–(E) 五選項) | 每題 4 分、答案要全部正確才給分 | 作業系統 |
| 三 | 12–17 | 30 分 | 單選((A)–(E) 五選項) | 沒作答不給分、答錯倒扣 3 分,最多扣至本大題 0 分 | 作業系統 |
| 四 | 1–2 | 20 分 | 計算與問答(答案卷作答) | 每題 10 分 | 計算機組織 |
計組被搬到卷首。 108–114 年的硬體卷一律「作業系統先、計算機組織後」,115 年倒過來,第 1–6 題一開場就是管線、IPC、保留站、AMAT、MESI。心理準備要調整:第一頁就是全卷最硬的六題,而且每題 5 分、答錯 −3。
倒扣一律 −3,而且第三大題是「五選一」:
- 第一大題(四選一)亂猜期望值 = 0.25 × 5 + 0.75 × (−3) = −1.0 分
- 第三大題(五選一)亂猜期望值 = 0.2 × 5 + 0.8 × (−3) = −1.4 分
- 第二大題(複選)沒有倒扣標示 ⇒ 五題二十分是全卷唯一可以放心猜的區域,一定要全部作答
第三大題有多題的 (E) 是「None of the above」,這種設計讓「刪去法」變得很不可靠——刪到剩兩個仍可能兩個都錯。
OS 與計組的比重:第 1–6 題與兩題問答(50 分)是計算機組織;第 7–17 題(50 分)是作業系統。與 113、114 年一樣維持 50/50。
第一大題:計算機組織(第 1–6 題,每題 5 分,答錯 −3)
六題全部是「觀念比較」,沒有一題能靠公式硬套。
| 題號 | 考點 | 要注意的地方 |
|---|---|---|
| 1 | 管線深度加倍後,哪一項「通常不會」增加 | 四個選項合起來是一張「加深管線的影響清單」,要逐項想清楚是代價還是目的 |
| 2 | 單一記憶體埠造成的結構危障(IF 與 MEM 不能同週期) | 這正是真實處理器把指令快取與資料快取分開的理由。驗算技巧:把 N = 1 代進四個選項,看哪一個等於五階管線跑單一指令的週期數 |
| 3 | 關於 IPC 哪個敘述錯誤 | 與第 1 題必須答案一致(IPC 與 CPI 的關係):要想清楚哪些設計提高的是時脈、哪些提高的是 IPC |
| 4 | 保留站如何與暫存器重新命名配合 | 判準是 Tomasulo 演算法裡各元件的分工;另外要想重新命名是靜態還是動態的。與 114 年第 20 題互補,連兩年 |
| 5 | 兩層快取的平均記憶體存取時間 | 唯一的陷阱:L2 的命中率是 local 還是 global,它作用在哪一部分的存取上。乘錯對象會落在設計好的誘答 |
| 6 | S 狀態的區塊被寫入後,MESI 的狀態轉移 | 要想清楚寫入之後資料的狀態與其他快取的副本會怎樣。114 年問答 4 剛考完四狀態定義,115 年馬上考轉移 |
第二大題:複選題(第 7–11 題,每題 4 分,全對才給分)
- 7|哪些操作至少涉及一次系統呼叫——選項包含讀檔案、複製字串、建立程序、顯示視窗、取得環境變數(
getenv) - 判準只有一條:這件事需不需要核心介入
getenv()是全卷最漂亮的陷阱——要想清楚環境變數存在哪裡,名字聽起來像系統呼叫不代表就是- 8|銀行家演算法:五個程序、三種資源,問「若某程序提出一個請求」之後,兩個後續請求能否批准、三條宣稱的安全序列是否成立
- 這是 Silberschatz 課本的三資源版原始範例,與 113 年第 6 題(四資源版)連兩年考
- Available 沒有直接給,要自己從「總量 − 已配置」算出來
- > 這題有解讀爭議:兩個選項明寫「If the request granted」而三條安全序列沒寫。把它們當成「批准之後」或「T0 原始狀態」來判斷,結果不同。作答時建議在答案卷上加註你的假設——這是「全對才給分」規則下唯一能自保的做法
- 9|21 個參考、3 個頁框,判斷選項給的 LRU/FIFO/OPT 頁錯誤數是否正確
- 要跑三遍,是全卷工作量最大的一題,卻只值 4 分
- 考場策略:先跑最快的 OPT,再用「OPT 與其他兩者的必然大小關係」去刪掉互相矛盾的選項,不要硬跑三遍
- 這條參考串與 113、114 年的某個反覆出現的觀念有關,跑完可以對照看看
- 10|虛擬記憶體中頁表的使用——涵蓋每個程序是否各有位址空間、Linux 的頁表由誰管理、PTE 是否一定指向實體頁框、未使用區域的頁表開銷、inverted page table 的「inverted」是什麼意思
- 要想清楚 valid/invalid 位元存在的目的,以及多層頁表怎麼處理未使用的區段
- 「inverted」的意思選項會拿字面義來騙,要回到反轉頁表的結構去想
- 11|選出正確的敘述——涵蓋 valid/invalid 位元的用途、置換時決定要不要寫回的是哪個位元、copy-on-write、TLB 的目的、虛擬記憶體與程序隔離
- 前兩個選項要分清 valid 與 dirty 兩個位元各自的功能
- 112 年第 6 題也考過 valid 位元(誰設定、誰查詢),中興很愛這個位元
第三大題:單選題(第 12–17 題,每題 5 分,答錯 −3)
- 12|虛擬化與檔案系統的綜合觀念——涵蓋虛擬機提供誰一份底層電腦的副本、Java 編譯器與直譯器的轉換方向、VFS 的作用、容器包不包含完整客體 OS、兩類 Hypervisor 的效能比較
- 要能分清:編譯器與直譯器各自的輸入與輸出;容器與 VM 在核心上的差別;兩類 Hypervisor 各跑在哪一層
- > 這題有瑕疵:「虛擬機提供每個 process 一份底層電腦的虛擬副本」是舊版 Silberschatz 的原句,現代版本用的是 guest。另一個選項在所有版本都成立——兩個選項都能在課本找到依據,作答時要判斷出題者依據的是哪一版
- 13|
fork()+execlp()的程序計數 - 三個陷阱疊在一起:迴圈條件要看清楚會跑幾輪、
else裡的fork()之後有哪些程序會繼續往下執行、execlp()成功後會發生什麼 - 一定要畫程序樹,而且要標出每個節點走的是
if還是else分支 - 與 112 年第 21 題同型——中興的
fork題一定會把exec塞進來 - 14|Round-Robin(q = 5)的等待時間總和,其中一個程序的 burst 序列中間夾了一段 I/O
- 兩個細節各能毀掉這題:時間量用完的程序與同期間新到達者誰先排進佇列、等待時間算不算 I/O 那段
- 這是本卷唯一需要畫完整甘特圖的選擇題,而且要處理 I/O 造成的中途離開與回歸
- 15|由虛擬位址空間、頁面大小與實體記憶體大小,反推頁數/實體位址位元數/頁框數
- > 這題問了三件事卻只給一個答案,是卷面瑕疵。 五個選項只對得上其中一小問——考場上要能快速判斷「這題其實只在問哪一問」並果斷作答,不要反覆重算
- 16|由目標有效存取時間反推 TLB 命中率下限
- 關鍵是 TLB 失誤時總共要付出哪幾段時間:查 TLB 那一次付不付、主記憶體要存取幾次
- > 嚴格說命中率取到臨界值時會「等於」而不是「小於」目標值——這種敘述瑕疵在中興卷子裡不只一次,遇到就選最接近的
- 17|需求分頁的有效存取時間(給無頁錯誤時的存取時間、頁錯誤服務時間、頁錯誤率)
- 唯一的陷阱是單位換算:ms 與 ns 差幾個數量級。換算錯一個數量級,選項裡剛好有那個答案在等
- 算完之後可以體會一下:頁錯誤率很低,存取時間卻被拉高了多少倍
第四大題:計算與問答題(每題 10 分)
- 問答 1(10%)|快取寫入政策:(a) 寫入命中的兩種標準政策、(b) 寫入失誤的兩種標準政策、(c) 哪個組合的資料一致性較強
- (a)(b) 每一種都要講到寫到哪幾層、寫入流量、記憶體內容會不會過期
- (c) 要想清楚「一致性」是由寫入命中還是寫入失誤的政策決定,並說明它在多處理器與 DMA 的場合為什麼重要
- 「常見的搭配組合」與「一致性最強的組合」不是同一件事,別把兩者混為一談
- 問答 2(10%)|4-issue 超純量的平均 IPC(給相依、load、分支三類指令的比例與各自的停頓週期)
- 要把理想發射與各類停頓一起算進平均週期數,再換算成 IPC
- 題目沒有明確定義停頓是否可重疊 ⇒ 把式子的結構寫清楚並註明假設即可,閱卷看的是式子不是小數點後兩位
- 算完之後跟名義上的發射寬度比一比,這個落差就是題目想讓你看到的東西
這份考卷的難點
- 第 1–6 題一開場就是全卷最硬的六題,每題 5 分、答錯 −3,單題分差 8 分。 而且題型全是「觀念比較」——沒有一題可以靠公式硬套,全部要理解。第一頁就決定了三分之一的分數。
- 第 9 題要對 21 個頁號跑三次完整模擬,而且不能用計算器。 這是全卷工作量最大的一題,卻只值四分。策略上要善用三種演算法之間的必然關係去刪選項,而不是硬跑三遍。
- 第 8 題的解讀爭議足以讓整題 0 分。 複選題「全對才給分」的規則把這個爭議放大到最嚴重——這是全卷最該在答案卷上加註假設的一題。
- 第 15 題問三件事只給一個答案,是卷面瑕疵。 考場上要能快速判斷並果斷作答。
- 第 14 題的 RR 排隊順序與「I/O 時間算不算等待」兩個細節,任何一個弄錯都會落到誘答上。
- 第三大題多題的 (E) 是「以上皆非」,讓刪去法失效。 搭配 −3 的倒扣,這 30 分是全卷風險最高的一段。
準備建議
- 心理準備:計組可能排在最前面。 115 年把計組搬到第一大題,如果你的習慣是「先寫有把握的 OS」,要練習在卷面順序被打亂時仍能先跳過去寫後面
- 銀行家演算法連兩年考,而且都是 Silberschatz 的原始範例(113 年是四資源版、115 年是三資源版)。課本 Chapter 8 那兩張 snapshot 表值得直接背起來
- FIFO 與 LRU 的比較三年考三次(113 第 5 題、114 問答 2、115 第 9 題)。判準是「該演算法是不是 stack algorithm」
fork()+exec()的程序計數是中興的固定班底(112 第 13、21 題、113 第 4 題、115 第 13 題)- MESI 連兩年考(114 問答 4 考四狀態定義、115 第 6 題考狀態轉移)。四個狀態之間的每一條轉移,以及觸發它的匯流排事件,都要能默畫
- AMAT 的階層式算法要分清楚 local 與 global 命中率(第 5 題)
- 單位換算不能錯(第 17 題)。中興的 EAT 題目一定會混用 ms 與 ns
- 倒扣規則八年八個樣:108 −3、109 全申論、110/111 無、112 −1、113 −3、114 三段 −1/−2/−3、115 −3(複選不倒扣)。進場先讀卷首,這是唯一有效的方法