<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM存儲器之:高速緩沖存儲器Cache

ARM存儲器之:高速緩沖存儲器Cache

作者: 時(shí)間:2013-09-30 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/257011.htm

以上3點(diǎn)對實(shí)時(shí)系統來(lái)說(shuō),影響更為明顯。

為了減少這種不利的影響,在系統中引入了Cache內容鎖定技術(shù)。這種技術(shù)允許編程人員人為地將一些關(guān)鍵代碼或數據預取到Cache中后,通過(guò)寄存器操作對其設定一定的屬性,這樣當有Cache未命中發(fā)生,需要進(jìn)行Cache替換時(shí),將這些數據保護起來(lái),使這些關(guān)鍵代碼或數據不會(huì )被換出。

這種策略在很大程度上保證了處理器對關(guān)鍵代碼或數據訪(fǎng)問(wèn)時(shí)的性能。

Cache的鎖定操作是分組塊(block)為單位進(jìn)行的,它的分塊方法如下。

為了敘述方便,作下述假設。

L(LengthoftheLine):Cache的基本存儲單元行的大小。

A(Associativity):表示每個(gè)Cache組中的行數。

N(NumberofSets):Cache中的組數。

M表示Cache中的鎖定塊。

每個(gè)鎖定塊(lockdownblock)包括Cache每組中的一行。這樣Cache中共有A個(gè)鎖定塊,其編號為從0到A-1。其中編號為0的鎖定塊中包含Cache組0中的0#行,組1中的0#行,直到組A-1中的0#行。依此類(lèi)推,鎖定塊1包含Cache組0中的1#行,組1中的1#行,直到組A-1中的1#行。這樣每個(gè)鎖定塊中包含了N個(gè)Cache行。

當編號為0~M的鎖定塊被鎖定在Cache中,編號為M+1~A的鎖定塊可以用于正常的Cache替換操作。

注意

編程中不能將全部Cache鎖定,至少要留出一個(gè)未鎖定的塊來(lái)支持存儲器的正常操作。

每一個(gè)鎖定塊都包含有N個(gè)不同組中的Cache行。建議程序在使用Cache鎖定時(shí),使每個(gè)Cache塊中的N個(gè)Cache行映射的為存儲器中的連續地址。也就是說(shuō),存儲器中N×L大小的聯(lián)系區域被映射到Cache中鎖定,這塊區域是Cache行邊界對齊的(如果一個(gè)Cache行包含4字節,那么被鎖定的區域要是4字節對齊的,如果一個(gè)Cache行包含8字節,那么被鎖定的Cache行就是8字節對齊的)。

的存儲管理體系中,主要依靠系統協(xié)處理器和協(xié)處理器的寄存器c9來(lái)實(shí)現和管理Cache鎖定。如果系統中使用的是數據和指令分離的Cache,那么就依靠協(xié)處理器指令MCR和MRC中的opcode>2來(lái)區分:

·opcode>=0使用數據Cache鎖定寄存器;

·opcode>=1使用指令Cache鎖定寄存器。

如果系統使用的是數據和指令統一的Cache,那么opcode2>要設置成0。

另外,無(wú)論是MCR指令還是MCR指令,指令中的CRm>通常設為c0。

寄存器c9有兩種主要的格式:格式A和格式B。

格式A的編碼如圖15.14所示。

圖15.14格式A編碼

存儲器相關(guān)文章:存儲器原理




關(guān)鍵詞: ARM 高速緩沖存儲器 cache

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>