LONGEPASS
Q140.

一個有效能的記憶體管理系統通常會受制於程式執行時其區域性 (Locality)的效果,下列哪一項運算屬於空間區域性 (Spatial Locality)?

電腦軟體設計共同科目 · 乙級 · Q140

難易度分析

2 / 5

本題要求考生能準確區分記憶體存取中時間與空間兩種不同類型的區域性定義,並將其應用於具體的程式運算情境中進行辨識。

正確答案:④矩陣

④ 矩陣:矩陣運算是空間區域性(Spatial Locality)的典型範例,因為矩陣元素在記憶體中連續儲存,當依序存取矩陣元素(如列優先順序)時,相鄰的記憶體位址會被依序存取,符合分頁(Paging)與快取(Cache)預取機制。

錯誤選項解析

  • ① 迴路:迴路(迴圈)主要體現的是時間區域性(Temporal Locality),因為迴圈內的指令會被反覆執行,同一記憶體位置會在短時間內被多次存取,而非空間區域性。
  • ② 副程式:副程式呼叫同樣屬於時間區域性的表現,因為副程式被呼叫時,其指令會被重複存取;此外,副程式的呼叫與返回涉及堆疊操作,與空間區域性無關。
  • ③ 堆疊:堆疊的操作(如 push/pop)主要在相鄰的記憶體位址進行,但其存取模式是由演算法邏輯驅動而非資料本身的空間連續性,堆疊本身是一種資料結構,不代表空間區域性的典型運算。
Learning Tip

"本題核心考點為記憶體區域性原理的區分。時間區域性指同一記憶體位置在短時間內被重複存取(如迴圈、副程式呼叫);空間區域性指相鄰記憶體位置在短時間內被依序存取(如矩陣運算、陣列遍歷)。實務上,撰寫程式時應盡量保持資料存取的連續性(如 C 語言使用列優先、Fortran 使用行優先),以發揮 Cache 預取機制的最大效益,避免因存取模式不當導致 Cache Miss 而降低效能。"

學員答題分佈

①迴路0%
②副程式0%
③堆疊0%
④矩陣0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目