cache 寫回策略

2021-08-25 14:41:49 字數 2351 閱讀 9051

主要分兩種: 

寫回(write back )和 寫通(write through)

1. write back

只有在乙個cache行被選中替換回主存時,如果cache 行的資料是修改過的(dirty),才將它寫回主存。

這種策略,要在cache中設定乙個髒位(dirty bit),用來表示快取中的cache 行是否被修改過。

如果 乙個記憶體塊在載入到cache後未被修改過,cache直接把該cache行設定為無效。不需要把資料寫回主存,這樣可以有效降低從cache到主存的寫次數。

2.write through

寫通是指,每當cache收到寫資料(store)指令時,若寫命中,則cpu會同時將資料寫到cache和主存。

如果寫不命中:

比較:現在系統中,寫回策略設定了寫緩衝器,減少了訪問主存的次數,但是寫通方式設計比較容易,維護資料的一致性跟簡單。

若存在快取,即cpu先訪問快取, 

1.當請求是讀請求時,若命中,直接返回其資料;當未命中時,先再快取中分配乙個快取快,判斷當前快取塊是不是髒資料(被修改過的資料),如果是,將之前的資料寫回下一級儲存中,如果不是髒資料,直接從下一級儲存中讀到cache塊中,修改dirty位為,clean(未被修改);返回資料。

2.當請求是寫請求時,若命中,直接將新資料寫入快取,並且標記dirt位為,dirty(被修改);若未命中,分配一塊快取塊,,判斷當前快取塊是不是髒資料,如果是,將之前的資料寫回下一級儲存中,如果不是髒資料,直接從下一級儲存中讀到cache塊中,將新資料寫入快取塊,並標記為dirty。

完成訪問。done
wt(write through )+wn(write no allocation) 

1.解釋與wb類似

主要分兩種: 

寫回(write back )和 寫通(write through)

1. write back

只有在乙個cache行被選中替換回主存時,如果cache 行的資料是修改過的(dirty),才將它寫回主存。

這種策略,要在cache中設定乙個髒位(dirty bit),用來表示快取中的cache 行是否被修改過。

如果 乙個記憶體塊在載入到cache後未被修改過,cache直接把該cache行設定為無效。不需要把資料寫回主存,這樣可以有效降低從cache到主存的寫次數。

2.write through

寫通是指,每當cache收到寫資料(store)指令時,若寫命中,則cpu會同時將資料寫到cache和主存。

如果寫不命中:

寫分配,只在資料寫不命中產生作用,即,給資料分配乙個cache line 。先在主存塊中更新到主存中,然後分配乙個cache行,將資料寫到cache中。

這種方式充分利用了空間區域性性,但每次寫不命中都要從主存讀乙個塊到cache中,增加了 讀主存 的開銷。

非寫分配: 

直接把資料寫回主存而不載入資料到快取。 

這種方式可以減少 讀主存的時間,沒有利用好空間區域性性。

現在系統中,寫回策略設定了寫緩衝器,減少了訪問主存的次數,但是寫通方式設計比較容易,維護資料的一致性跟簡單。

若存在快取,即cpu先訪問快取, 

1.當請求是讀請求時,若命中,直接返回其資料;當未命中時,先再快取中分配乙個快取快,判斷當前快取塊是不是髒資料(被修改過的資料),如果是,將之前的資料寫回下一級儲存中,如果不是髒資料,直接從下一級儲存中讀到cache塊中,修改dirty位為,clean(未被修改);返回資料。

2.當請求是寫請求時,若命中,直接將新資料寫入快取,並且標記dirt位為,dirty(被修改);若未命中,分配一塊快取塊,,判斷當前快取塊是不是髒資料,如果是,將之前的資料寫回下一級儲存中,如果不是髒資料,直接從下一級儲存中讀到cache塊中,將新資料寫入快取塊,並標記為dirty。

完成訪問。done
wt(write through )+wn(write no allocation) 

1.解釋與wb類似

比較:

Cache 替換策略

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

Cache的替換策略

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

Cache的寫策略

write through 直寫模式 在資料更新時,同時寫入快取cache和後端儲存。此模式的優點是操作簡單 缺點是因為資料修改需要同時寫入儲存,資料寫入速度較慢。write back 回寫模式 在資料更新時只寫入快取cache。只在資料被替換出快取時,被修改的快取資料才會被寫到後端儲存。常見處理器...