Cache學習小結

2021-08-24 17:37:08 字數 986 閱讀 3609

轉至

今天在做axi4匯流排傳輸協議的時候,遇到awcache和arcache訊號需要給賦值,發現有write-through、write-back和no-allocate、read-allocate、write-allocate、read and write-allocate分別排列組合等8種模式(還有4種別的模式這裡先不提了),突然想起cache學習了很久了也沒進行過總結,這裡總結一下。

cache架構

這裡先留出位置,這次先總結cache讀寫機制,以後再補充

cache讀寫機制

首先是write-through和write-back的區別:(這部分參考:

而allocate是針對cache miss時的處理方式,下面是我的理解:

read-allocate:讀操作,cache miss時,在cache中分配乙個空間,從下一級儲存讀取該資料到cache分配的這個空間,最後讀取該值。注意:對於write-back模式,如果分配的這個位置原資料是dirty的,需要將該資料先寫回下一級儲存。

write-allocate:寫操作,cache miss時,在cache中分配乙個空間,將資料先寫入該位置,根據write-back還是write-through決定是否再寫入下一級儲存。注意:對於write-back模式,如果分配的這個位置原資料是dirty的,需要將該資料先寫回下一級儲存。

下面為參考**給出的2個示例圖,第乙個是write-through read-allocate,第二個是write-back read and write-allocate

簡單總結一下該部分:write-through和write-back為寫入cache的模式,區別是在寫cache時是否還同時寫下一級memory;allocate那堆只在cache miss時生效,負責分配cache空間給讀和寫中轉用;另外,dirty只發生在write-back模式,需要額外進行一步回寫。

Cache學習小結

今天在做axi4匯流排傳輸協議的時候,遇到awcache和arcache訊號需要給賦值,發現有write through write back和no allocate read allocate write allocate read and write allocate分別排列組合等8種模式 還有...

Cache用法小結

把最近接觸到的cache有關的資訊總結到這裡,供日後檢視 一.cache基本概念 what is cache?cache是用來對記憶體資料的快取。cpu要訪問的資料在cache中有快取,稱為 命中 hit 反之則稱為 缺失 miss cpu訪問它的速度介於暫存器與記憶體之間 數量級的差別 實現cac...

spring 3 1中的cache小結

spring 3.1中有cache了,下面結合目前網上的一些資料和手冊的歸納總結下 1 cache註解 在3.1中,都是用註解的了,cacheable註解可以用在方法或者類級別。當他應用於方法級別的時候,就是如上所說的快取返回值了。當應用在類級別的時候,這個類的所有方法的返回值都將被快取。cache...