在開始閱讀本系列文章之前,請(qǐng)先參閱《有關(guān)CR52 MPU配置說(shuō)明》。因?yàn)檫@篇文章講述了,cache配置所涉及到的寄存器的設(shè)置和MPU的一些基本概念。如果讀者都已經(jīng)理解了上述內(nèi)容,可以跳過(guò)。本章內(nèi)容主要講述cache屬性的具體含意、注意事項(xiàng)、以及在RZ/T2M的性能測(cè)試。
RZ/T2M cache的相關(guān)說(shuō)明
RZ/T2M用的Cortex-r52內(nèi)核芯片做了一級(jí)Cache支持,Cache又分?jǐn)?shù)據(jù)緩存D-Cache和指令緩存I-Cache,RZ/T2M cpu0的數(shù)據(jù)緩存和指令緩存大小都是16KB,cpu1的數(shù)據(jù)緩存和指令緩存大小都是32KB。對(duì)于指令緩存,用戶不必過(guò)于關(guān)注,對(duì)于有執(zhí)行效率要求的代碼,盡量放在TCM或者使能cache的SRAM區(qū)域。這里主要說(shuō)的是數(shù)據(jù)緩存D-Cache。如果Rzt2m主頻是400MHz,TCM和Cache都以400MHz工作,但是如果主頻是800MHz,那么TCM必須有一個(gè)指令周期的等待。也就是說(shuō)TCM的工作頻最高就是400MHz,而cache的工作頻與CPU主頻一致。
這就是為什么當(dāng)用戶代碼比較小的時(shí)候,如果代碼放在SRAM,但是代碼又大部分被cache緩存了,在CPU的主頻是800MHz的情況下,此時(shí)代碼的執(zhí)行效率高于TCM的原因。因?yàn)閏ache可以達(dá)到800MHz的主頻,而TCM只能達(dá)到400MHz。如果CPU主頻是400MHz,在代碼很小的情況下,TCM的性能與SRAM的性能幾乎相當(dāng)。但是用戶代碼很大又比較復(fù)雜的時(shí)候,遠(yuǎn)超過(guò)16KB的緩存大小時(shí),這就要看具體情況另當(dāng)別論了。
TCM不是本章內(nèi)容的重點(diǎn),本章內(nèi)容重點(diǎn)是SRAM的cache的說(shuō)明。T2/N2 SRAM的總線頻是200MHz。數(shù)據(jù)緩存D-Cache就是為了CPU加速訪問SRAM。如果每次CPU要讀寫SRAM區(qū)的數(shù)據(jù),都能夠在Cache里面進(jìn)行,自然是最好的,實(shí)現(xiàn)了200MHz到400MHz的飛躍,實(shí)際是做不到的,因?yàn)閿?shù)據(jù)Cache大小是有限的,總有用完的時(shí)候。
RZ/T2M系統(tǒng)框圖
Cache相關(guān)概念
對(duì)際cache的操作主要分讀寫兩種情況:
1Read操作
如果CPU要讀取的SRAM區(qū)域的數(shù)據(jù)在Cache中已經(jīng)加載好了,這就叫讀命中(Cache hit)。讀命中的情況下,自然效率是高的。但是如果cache里面沒有,這就是所謂的cache miss,那么就要從SRAM里面加載,然后再讀取。
2Write操作
如果CPU要寫的SRAM區(qū)域數(shù)據(jù)在cache中已經(jīng)開辟了對(duì)應(yīng)的區(qū)域,這就叫寫命中,如果Cache里面沒有開辟對(duì)應(yīng)的區(qū)域,這就是寫cache miss了。
Cache的配置是通過(guò)MPU來(lái)設(shè)置的,通常用到以下幾種方式:
左右滑動(dòng)查看完整內(nèi)容
長(zhǎng)按可保存查看大圖
對(duì)上述的幾種方式說(shuō)明一下:
1Normal Memory
通常我們用的塊存儲(chǔ)設(shè)備,可讀,可寫或者只讀。
2Device
這通常用于外圍設(shè)備,這些外圍設(shè)備可能對(duì)讀敏感或?qū)懨舾?。這個(gè)Arm體系結(jié)構(gòu)限制了對(duì)設(shè)備內(nèi)存的訪問的排序、合并或推測(cè)。比如FPGA,這里的排序,合并和推測(cè)請(qǐng)看下表的解釋。內(nèi)容不在本章展開說(shuō)明。下表對(duì)GRE,nGRE,nGnRE…等概念都有具體說(shuō)明,相關(guān)的GRE的屬性也都有說(shuō)明。
點(diǎn)擊可查看大圖
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1372瀏覽量
40276 -
瑞薩
+關(guān)注
關(guān)注
35文章
22308瀏覽量
86238 -
Cortex
+關(guān)注
關(guān)注
2文章
202瀏覽量
46482
原文標(biāo)題:解密Cortex R52內(nèi)核Cache:操作實(shí)踐、性能測(cè)試與深度解析(1)
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論