原住民族考試四等考試-電子工程類科計算機概要114 年第 1 題單選題
一般而言,處理器遇到下列何種情況,不會引起例外(exception)處理?
A處理器執行到未定義的指令(undefined instruction)
B處理器要抓取的資料不在快取記憶體(cache)中,產生快取失誤(cache miss)正確答案
C處理器要抓取的某一指令,該指令所在的頁面(page)不在主記憶體中,而在硬碟中
D處理器要抓取的某一資料,該資料所在的頁面(page)不在主記憶體中,而在硬碟中
B正確答案
Cache miss 由硬體自動處理不需 OS 介入,不產生例外;其他三者都需 CPU 丟出 exception。
為什麼答案是 B
Cache miss 僅是資料不在快取,由記憶體階層硬體(MMU/Cache Controller)自動從下層記憶體搬資料上來,CPU 只是多等幾個 cycle,不需作業系統介入,不產生例外。
載入中…
完整詳解
Pro · 無限重點 Cache miss 由硬體自動處理不需 OS 介入,不產生例外;其他三者都需 CPU 丟出 exception。
記口訣:「快取失誤硬體搞定,頁面失誤要叫 OS」→ cache miss 無 exception。
逐選項分析
A✕
執行到未定義指令會觸發 illegal instruction exception(非法指令例外),CPU 必須中止並交由作業系統處理,屬典型同步例外。
B✓ 正確
Cache miss 僅是資料不在快取,由記憶體階層硬體(MMU/Cache Controller)自動從下層記憶體搬資料上來,CPU 只是多等幾個 cycle,不需作業系統介入,不產生例外。
C✕
指令所在頁面不在主記憶體 → 產生 page fault(分頁錯誤例外),必須由作業系統從硬碟載入該頁到主記憶體,屬於例外處理。
D✕
資料頁面不在主記憶體同樣會 page fault,CPU 中斷執行,OS 負責將該頁從硬碟換入,處理完再重新執行該指令。
記憶體階層事件 vs 例外處理
| 事件 | 發生層級 | 處理者 | 是否例外 |
|---|
| Cache miss | Cache ↔ 主記憶體 | 硬體自動 | 否 |
| Page fault | 主記憶體 ↔ 硬碟 | 作業系統 | 是 |
| Undefined instr. | CPU 解碼階段 | 作業系統 | 是 |
| Divide by zero | CPU 執行階段 | 作業系統 | 是 |
考生常誤以為「找不到資料」就是例外,但關鍵在誰處理:cache miss 純硬體搞定、對軟體透明;page fault 要 OS 接手才算 exception。層級混淆是本題最大陷阱。