cache是一種高速緩衝暫存器,是為解決cpu和主存之間速度不匹配而採用的一項重要技術。
主存與cache的位址對映方式有全相聯方式、直接方式和組相聯方式三種。
多對一的對映關係,但乙個主存塊只能拷貝到cache的乙個特定行位置上去。
cache的行號i和主存的塊號j有如下函式關係:i=j mod m (m為cache中的總行數)
優點:硬體簡單,容易實現
缺點:命中率低, cache的儲存空間利用率低
直接對映的cache檢索過程
在直接對映方式中,首先用r位行號找到cache中的對應行,然後用位址中的s-r位標記部分與此行的標記在比較器中做比較。若符合命中,在cache中找到了對應的塊,然後用位址中最低位w讀取所需的字。若未命中,按記憶體位址從主存中讀取這個字。
主存的乙個塊直接拷貝到cache中的任意一行上
優點:命中率較高,cache的儲存空間利用率高
缺點:線路複雜,成本高,速度低
全相聯對映方式檢索過程
在全相聯對映方式中,將記憶體位址的s位塊號與cache中所有行的標記同時在比較器中做比較。若塊號命中,按w位字位址從cache中讀取乙個字;若未命中,則按記憶體位址從主存中讀取這個字。
將cache分成u組,每組v行,主存塊存放到哪個組是固定的,至於存到該組哪一行是靈活的,即有如下函式關係:cache總行數m=u×v 組號q=j mod u
組間採用直接對映,組內為全相聯
硬體較簡單,速度較快,命中率較高
組相聯cache的檢索過程
在組相聯對映方式中,首先用給定s位塊號的低d位找到cache的相應組,然後將塊號的高s-d位與該組v(=2d)行中的所有標記同時比較,哪一行的標記相符即該行命中。再以記憶體位址的低w位檢索此行對應的字。
主存cache的位址對映
cpu對儲存器的訪問,通常是一次讀寫乙個字單元。當 cpu訪 cache 不命中時,需將儲存在主存中的字單元連同其後若干個字一同調入 cache 中,之所以這樣做,是為了使其後的訪存能在 cache 中命中。因此,主存和 cache 之間一次交換的資料單位應該是乙個資料塊。資料塊的大小是固定的,由若...
Cache和主存位址對映關係
cache的位址映像方式中,發生塊衝突次數最小的是 a 全相聯映像 b 組相聯映像 c 直接映像 d 無法確定的 全相聯映像塊衝突最小,其次為組相聯映像,直接映像塊衝突最大。容量為64塊的cache採用組相聯方式映像,字塊大小為128位元組,每4塊為一組,若主容量為4096塊,且以字編址,那麼主存位...
主存與cache的位址對映
1.cache是一種高速緩衝儲存器,是為了解決cpu和主存之間速度不匹配而採用的一項重要技術。其原理基於程式執行中具有空間區域性性和時間區域性性特徵。cache是介於cpu和主存之間的小容量儲存器,由高速的sram組成。2.個人感覺需要在這裡提一下的知識。1 儲存單元的編址方式 字編址方式 位元組編...