Cache相關(guān)概念
3Outer&Inner R/W allocate
表示分配方式為外部和內(nèi)部都是讀寫分配。
讀/寫分配是一種內(nèi)存訪問策略,用于確定處理器在訪問內(nèi)存時是否需要將數(shù)據(jù)加載到高速緩存中。具體來說:
讀分配:當(dāng)處理器需要從內(nèi)存中讀取數(shù)據(jù)時,如果該數(shù)據(jù)不在高速緩存中,則會將相應(yīng)的數(shù)據(jù)塊加載到高速緩存中,以便處理器能夠更快地訪問和處理數(shù)據(jù)。
寫分配:當(dāng)處理器需要向內(nèi)存寫入數(shù)據(jù)時,如果寫入的數(shù)據(jù)不在高速緩存中,則會先將相應(yīng)的數(shù)據(jù)塊加載到高速緩存中,并在高速緩存中進(jìn)行寫操作,然后再將更新后的數(shù)據(jù)寫入到內(nèi)存中。讀/寫分配可以影響系統(tǒng)的性能表現(xiàn),合理選擇讀/寫分配策略可以提高數(shù)據(jù)訪問的效率和速度。
如果外部和內(nèi)部都是讀/寫分配,表示處理器在與外部存儲器和內(nèi)部緩存之間的數(shù)據(jù)交互時,都采用讀/寫分配的方式來管理數(shù)據(jù)的加載和寫入操作。這樣的設(shè)置可以根據(jù)具體場景提高數(shù)據(jù)訪問的效率和性能。
4Write-Back,Write-Through
Write-back寫回,和Write-Through寫透是兩種不同的緩存策略,它們在處理器訪問數(shù)據(jù)時的行為有所不同:在寫回策略下,當(dāng)處理器要寫入數(shù)據(jù)時,數(shù)據(jù)首先被寫入到緩存中,而不是直接寫入到內(nèi)存中。只有在緩存行被替換出去時,才會將被修改的數(shù)據(jù)寫回到內(nèi)存中。這樣可以減少對內(nèi)存的頻繁寫入操作,提高緩存的利用率和性能。
在寫透策略下,當(dāng)處理器要寫入數(shù)據(jù)時,數(shù)據(jù)會同時被寫入到緩存和內(nèi)存中。每次寫操作都會導(dǎo)致數(shù)據(jù)被同步寫入到內(nèi)存,確保內(nèi)存和緩存中的數(shù)據(jù)一致性。雖然可以保證數(shù)據(jù)的一致性,但可能會增加寫操作的延遲。
效率上來說,寫回策略通常比寫透策略效率更高。這是因為寫回策略減少了對內(nèi)存的頻繁寫入,利用了緩存的特性來減少內(nèi)存訪問次數(shù),提高了系統(tǒng)整體的性能。然而,寫回策略需要額外的控制邏輯來管理緩存中數(shù)據(jù)與內(nèi)存之間的一致性,因此需要更多的硬件支持。選擇哪種策略取決于系統(tǒng)的設(shè)計需求和性能優(yōu)化目標(biāo)。
5Outer&Inner non-allocate
外部和內(nèi)部都是非分配的意味著在存儲器屬性中指定了不進(jìn)行分配(non-allocate)的方式。這意味著處理器在訪問這種類型的內(nèi)存時,不會將數(shù)據(jù)加載到高速緩存中進(jìn)行緩存,而是直接在內(nèi)存中讀取或?qū)懭霐?shù)據(jù)。
當(dāng)外部和內(nèi)部都是非分配時,處理器在訪問這段內(nèi)存時不會將其內(nèi)容緩存起來,而是每次都直接從內(nèi)存讀取或?qū)懭霐?shù)據(jù)。這種方式可能會增加內(nèi)存訪問的延遲,但可以確保處理器訪問的數(shù)據(jù)是最新的,適用于對數(shù)據(jù)實時性要求較高的場景。
6Outer&Inner non-cacheable
表示外部和內(nèi)部都不開緩存
7Non-transient可以理解為非瞬態(tài)
"transient" 通常用來描述一種短暫存在或暫時性的狀態(tài)或?qū)傩?。?"non-transient" 則表示相反的情況,即不是短暫的或不是暫時的。
在代碼中提到的 "non-transient" 和 "transient" 可能用來描述內(nèi)存訪問屬性的持久性或持續(xù)性。例如,如果一個內(nèi)存區(qū)域被標(biāo)記為 "non-transient",可能意味著該區(qū)域的屬性在一段時間內(nèi)保持不變,而不是臨時性的或隨機(jī)變化的。
點(diǎn)擊可查看大圖
這里要注意的一點(diǎn)是:如上圖紅框所示CortexR52的內(nèi)核的write-back被當(dāng)成是write-through來對待。
System ram的MPU配置說明
點(diǎn)擊可查看大圖
這里的ATTRINDEX1對應(yīng)的就是Attr1的配置,其它的序號也是一一對應(yīng)的。
點(diǎn)擊可查看大圖
Attr1可以看出他的配置是正常存儲設(shè)備,內(nèi)外部讀寫分配,并且是寫透的cache策略,這面要注意的是,打開cache一定要是non_shareable。
我們再看一下下圖中System RAM mirror:的MPU配置策略與system ram正好相反,ATTRINDEX3對應(yīng)的Attr3是沒有使能cache,卻是“outer_shareable”的狀態(tài)。這個也好理解,因為開cache,又開共享的話會影響數(shù)據(jù)一致性的。
點(diǎn)擊可查看大圖
下個章節(jié)將介紹Cortex R52具體的緩存操作的實踐和性能測試。
-
處理器
+關(guān)注
關(guān)注
68文章
19278瀏覽量
229770 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1372瀏覽量
40288 -
Cortex
+關(guān)注
關(guān)注
2文章
202瀏覽量
46494
原文標(biāo)題:解密Cortex R52內(nèi)核Cache:操作實踐、性能測試與深度解析(2)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論