CPU緩存

在計算機系統中 ， CPU高速緩存 ( 在本文中簡稱緩存 ） 是用於減少處理器訪問內存所需平均時間的部件 。 在金字塔式存儲體系中它位於自頂向下的第二層 ， 僅次於CPU寄存器 。 其容量遠小於內存 ， 但速度卻可以接近處理器的頻率 。 當處理器發出內存訪問請求時 ， 會先查看緩存內是否有請求數據 。 如果存在 （ 命中 ） ， 則不經訪問內存直接返回該數據 ； 如果不存在 （ 失效 ） ， 則要先把內存中的相應數據載入緩存 ， 再將其返回處理器 。 緩存之所以有效 ， 主要是因爲程序運行時對內存的訪問呈現局部性 （ Locality ） 特徵 。 這種局部性既包括空間局部性 （ Spatial Locality ） ， 也包括時間局部性 （ Temporal Locality ） 。 有效利用這種局部性 ， 緩存可以達到極高的命中率 。 在處理器看來 ， 緩存是一個透明部件 。 因此 ， 程序員通常無法直接干預對緩存的操作 。 但是 ， 確實可以根據緩存的特點對程序代碼實施特定優化 ， 從而更好地利用緩存 。