普考-資訊處理計算機概要106 年第 5 題單選題
電腦系統中快取記憶體可以增快電腦的速度,主要是因為:
A快取記憶體可以利用到程式的區域性(Locality)正確答案
B快取記憶體可以暫存 CPU 指令的執行結果
C快取記憶體可以利用到程式的平行性(Parallelism)
DCPU 可以運用快取記憶體快速抓取數個指令來同時執行
A正確答案
快取加速的核心原理是利用程式的「區域性原理」(Locality),包含時間區域性與空間區域性。
為什麼答案是 A
正解。快取有效的根本原因就是程式的區域性原理:時間區域性(最近用過的資料很快會再用)與空間區域性(鄰近位址的資料很快會被存取),因此把這些資料放入高速快取可大幅減少存取主記憶體的次數。
載入中…
完整詳解
Pro · 無限重點 快取加速的核心原理是利用程式的「區域性原理」(Locality),包含時間區域性與空間區域性。
看到快取(Cache)加速原因 → 直接鎖定「區域性 Locality」,這是計概必考定律。
逐選項分析
A✓ 正確
正解。快取有效的根本原因就是程式的區域性原理:時間區域性(最近用過的資料很快會再用)與空間區域性(鄰近位址的資料很快會被存取),因此把這些資料放入高速快取可大幅減少存取主記憶體的次數。
B✕ 陷阱
錯誤。暫存 CPU 指令執行結果的是暫存器(Register)或寫回機制,不是快取加速的「主要原因」。快取是用來縮短存取主記憶體的延遲,而非保存執行結果。
C✕ 陷阱
錯誤。平行性(Parallelism)是多核心、管線化(Pipeline)、SIMD 等技術的概念,與快取加速原理無關。題目把「區域性」偷換成「平行性」,是經典名詞陷阱。
D✕
錯誤。同時執行多個指令是管線化(Pipelining)或超純量(Superscalar)架構的功能,而非快取的作用。快取只是加速資料/指令的「取得」,不負責「同時執行」。
區域性原理 (Locality) 兩大類型
| 類型 | 定義 | 例子 | 快取如何利用 |
|---|
| 時間區域性 Temporal | 最近存取的資料不久後會再被存取 | 迴圈中的變數 i | 保留近期資料於快取 |
| 空間區域性 Spatial | 存取某位址後,鄰近位址也會被存取 | 陣列連續走訪 | 以 Cache Line 一次載入一塊 |
本題最大陷阱是把「Locality(區域性)」偷換成「Parallelism(平行性)」或多指令同時執行的敘述。兩者都是計概關鍵字,但前者講的是快取命中率的原理,後者講的是 CPU 執行架構,考生若混淆英文名詞就會掉坑。