1. 程式人生 > >儲存器層次結構(《深入理解計算機系統》)

儲存器層次結構(《深入理解計算機系統》)

閱讀《深入理解計算機系統》的第6章,也還是有一些收穫的。

首先在腦海中需要對計算機系統的儲存器層次結構有個定性的認識,如下圖所示:


     從訪問速率最高(容量最小)的暫存器到訪問速率最低(容量最大)的分散式檔案系統,計算機將不同型別的儲存裝置劃分了多個層次。然後通過硬體和軟體的協作,最終實現高效能的程式開發。每個層次的儲存裝置都會儲存下一層次的裝置中的部分資料,依賴於區域性性原理,我們認為這種做法是可以提高程式效能的。

接下來就是,在寫一些簡單的程式的時候,需要思考如何更好的利用快取記憶體的原理來進行加速。書中給出了矩陣相乘運算的例子:


上圖中最後的f版本是效能最優的,因為它充分體現了空間區域性性原則,快取命中率最高。