Cache 三種的映射方法(簡單通俗)

ache是一種高速緩衝寄存器,是爲解決CPU和主存之間速度不匹配而採用的一項重要技術。

主存與cache的地址映射方式有全相聯方式、直接方式和組相聯方式三種。

直接映射(directmapping)

將一個主存塊存儲到唯一的一個Cache行。

在這裏插入圖片描述
全相聯映射(fullyassociative mapping)

可以將一個主存塊存儲到任意一個Cache行。

組相聯映射(setassociative mapping)

可以將一個主存塊存儲到唯一的一個Cache組中任意一個行。

直接映射

多對一的映射關係,但一個主存塊只能拷貝到cache的一個特定行位置上去。

cache的行號i和主存的塊號j有如下函數關係:i=j mod m  (m爲cache中的總行數)

優點:硬件簡單,容易實現

缺點:命中率低, Cache的存儲空間利用率低
在這裏插入圖片描述

全相聯映射

主存的一個塊直接拷貝到cache中的任意一行上

優點:命中率較高,Cache的存儲空間利用率高

缺點:線路複雜,成本高,速度低

組相聯映射

將cache分成u組,每組v行,主存塊存放到哪個組是固定的,至於存到該組哪一行是靈活的,即有如下函數關係:cache總行數m=u×v 組號q=j mod u

組間採用直接映射,組內爲全相聯

硬件較簡單,速度較快,命中率較高

在這裏插入圖片描述

關於Cache的命中率問題:

影響Cache命中率的因素很多,如Cache的容量,塊的大小,映象方式,替換策略以及程序執行中地址流的分佈情況等等。一般地說, Cache容量越大則命中率越高, 當容量達到一定程度後,容量的增加命中率的改善並不大;Cache塊容量加大, 命中率也明顯增加,但增加到一定值之後反而出現命中率下降的現象;直接映象法命中率比較低,全相聯方式命中率比較高,在組相聯方式中,組數分得多,則命中率下降。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章