一、存儲器分層結構
寄存器<cache<主存<磁盤,光盤<磁帶
二、局部性原理
處理器對存儲器中的指令和數據訪問呈現出空間局部性和時間局部性。
三、cache
1. 概念
cache是容量較小的高速存儲器,位於CPU和主存之間。
2. cache讀操作
CPU產生要訪問的內存地址,檢查是否在cache中,若有,直接訪問,若無,從主存中讀取相應的塊到cache中。
3. cache映射算法
將主存的塊映射到cache的行的算法
(1)直接映射
i=j mod m(i:cache行號,j:主存塊號,m:cache行數)
優點:簡單成本低
缺點:映射位置固定,如果程序頻繁訪問兩個映射到同一cache行的主存塊,cache命中率顯著下降
(2)全關聯映射
一個塊可以裝載到任意一個cache行。
全關聯映射的查詢電路很複雜。
(3)組關聯映射
cache被劃分成多個組。
主存塊可以映射到對應的cache組內的任意一行。
4. cache替換算法
最近最少使用LRU,先進先出FIFO,最不經常使用LFU等等
5. 寫策略
(1)寫直達
所有的寫操作都對主存和cache進行
(2)回寫
當cache被替換時,纔將數據寫回主存。
6. 行的大小
隨着行大小的增大,命中率先上升,再下降。