Cache的寫策略

2021-10-22 15:18:25 字數 1121 閱讀 4824

write-through(直寫模式)在資料更新時,同時寫入快取cache和後端儲存。此模式的優點是操作簡單;缺點是因為資料修改需要同時寫入儲存,資料寫入速度較慢。

write-back(回寫模式)在資料更新時只寫入快取cache。只在資料被替換出快取時,被修改的快取資料才會被寫到後端儲存。常見處理器大都支援write back 形式。

write-misses寫缺失的處理方式:

write allocate方式將寫入位置 先讀入快取,然後再採用write-hit(快取命中寫入)操作。寫缺失操作與讀缺失操作類似。

no-write allocate方式並不將寫入位置讀入快取,而是直接將資料寫入儲存。這種方式下,只有讀操作會被快取。

無論是write-through還是write-back都可以使用寫缺失的兩種方式之一。只是通常write-back採用write allocate方式,而write-through採用no-write allocate方式;因為多次寫入同一快取時,write allocate配合write-back可以提公升效能;而對於write-through則沒有幫助。

write back + write allocate方式,對同乙個cacheline,第一次寫時cache miss,需要先做一次read (invalid)操作,當memory資料load到cache中之後,再將dirty 資料寫入。第2次寫時,直接write hit。

write combine (寫合併),訪問同乙個cacheline的多筆寫操作(length <= cacheline size),dirty data直接 merge在一起。一般採用乙個write combine buffer  (wcb)來單獨實現,第1次寫時,不需要從memory load原始資料。 wcb 也需要參與cache coherence的維護。

參考 針對write-through 和write back 有以下兩個流程圖。

參考

Cache的替換策略

根據程式區域性性規律可知 程式在執行中,總是頻繁地使用那些最近被使用過的指令和資料。這就提供了替換策略的理論依據。綜合命中率 實現的難易及速度的快慢各種因素,替換策略可有隨機法 先進先出法 最近最少使用法等。1.隨機法 rand法 隨機法是隨機地確定替換的儲存塊。設定乙個隨機數產生器,依據所產生的隨...

Cache寫策略(Cache一致性問題與騷操作)

資訊會被同時寫到cache的塊和主存中。這樣做雖然比較慢,但缺少代價小,不需要把整個塊都寫回主存。也不會發生一致性問題。對於寫直達,多出來 10向主存寫入的儲存指令使得其比其單純向cache寫入的速度慢上將近10倍。這種速度不一致的問題,不管是在硬體結構還是軟體,有著一條 不管怎麼樣,先試試這樣行不...

Cache 替換策略

cache工作原理要求它盡量儲存最新資料,當從主存向cache傳送乙個新塊,而cache中可用位置已被佔滿時,就會產生cache替換的問題。替換問題與cache的組織方式緊密相關 對直接對映cache來說,只要把此可用位置上的主存塊換出cache即可 對全相聯和組相聯cache來說,要從若干個可用位...