<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM存儲(chǔ)器之:高速緩沖存儲(chǔ)器Cache

          ARM存儲(chǔ)器之:高速緩沖存儲(chǔ)器Cache

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

          本文引用地址:http://www.ex-cimer.com/article/257011.htm

          (2)寄存器c7

          CP15中的寄存器c7主要用于控制Cache和寫(xiě)緩存。

          注意

          c7有時(shí)也用于其他相似的功能,如果系統(tǒng)中存在預(yù)測(cè)緩存(prefetchbuffers)和分支目標(biāo)(branchtarget)Cache,c7也將負(fù)責(zé)對(duì)它們進(jìn)行控制。

          c7是一個(gè)只寫(xiě)存儲(chǔ)器,可以使用協(xié)處理器指令MCR對(duì)其進(jìn)行操作。如果程序中包含讀c7的操作,那么指令的結(jié)果不可預(yù)知。

          使用MCR指令寫(xiě)該寄存器的命令格式如下所示。

          MCRP15,0,Rd>,c7>,CRm>,opcode2>

          其中,CRm和opcode2的不同組合,決定指令執(zhí)行的不同操作。具體組合與操作的對(duì)應(yīng)關(guān)系見(jiàn)表15.15。

          表15.15 CRm與opcode2不同組合與操作的應(yīng)用關(guān)系

          CRm

          Opcode2

          含義

          數(shù)據(jù)

          c0

          4

          等待中斷

          0(SBZ,shouldbezero)

          c5

          0

          使整個(gè)指令Cache無(wú)效

          0

          c5

          1

          使指令Cache中某行無(wú)效

          虛擬地址

          c5

          2

          使指令Cache中某行無(wú)效

          組號(hào)/索引

          c5

          4

          清空預(yù)取緩存區(qū)

          0

          c5

          6

          清空整個(gè)分支目標(biāo)Cache

          0

          c5

          7

          清空分支目標(biāo)Cache中的某入口項(xiàng)

          生產(chǎn)商定義

          c6

          0

          使整個(gè)數(shù)據(jù)Cache無(wú)效

          0

          續(xù)表

          CRm

          Opcode2

          含義

          數(shù)據(jù)

          c6

          1

          使數(shù)據(jù)Cache中的某行無(wú)效

          虛擬地址

          c6

          2

          使數(shù)據(jù)Cache中的某行無(wú)效

          組號(hào)/索引

          c7

          0

          使整個(gè)統(tǒng)一Cache無(wú)效

          哈佛結(jié)構(gòu)中,使整個(gè)數(shù)據(jù)Cache和指令Cache無(wú)效

          0

          c7

          1

          使統(tǒng)一Cache中某行無(wú)效

          虛擬地址

          c7

          2

          使統(tǒng)一Cache中某行無(wú)效

          組號(hào)/索引

          c8

          2

          等待中斷

          0

          c10

          1

          清理數(shù)據(jù)Cache行

          虛擬地址

          c10

          2

          清理數(shù)據(jù)Cache行

          組號(hào)/索引

          c10

          4

          清除寫(xiě)緩存區(qū)

          0

          c11

          1

          清理統(tǒng)一Cache行

          虛擬地址

          c11

          2

          清理統(tǒng)一Cache行

          組號(hào)/索引

          c13

          1

          預(yù)取指令Cache中的某行

          虛擬地址

          c14

          1

          清理并使數(shù)據(jù)Cache中的某行無(wú)效

          虛擬地址

          c14

          2

          清理并使數(shù)據(jù)Cache中的某行無(wú)效

          組號(hào)/索引

          c15

          1

          清理并使統(tǒng)一Cache中的某行無(wú)效

          虛擬地址

          c15

          2

          清理并使統(tǒng)一Cache中的某行無(wú)效

          組號(hào)/索引

          (3)寄存器c9

          將Cache進(jìn)入存儲(chǔ)系統(tǒng)的注意目的是要提高系統(tǒng)的平均訪問(wèn)速度。但Cache是一把雙刃劍,在某些情況下,可能使系統(tǒng)的性能更遭。下面列出了3種使Cache性能明顯下降的原因。

          ①Cache訪問(wèn)未命中,處理器轉(zhuǎn)向主存尋址數(shù)據(jù),這期間的延時(shí)對(duì)系統(tǒng)性能影響很大。

          ②在回寫(xiě)型Cache中,如果Cache中的數(shù)據(jù)所在地址被存儲(chǔ)管理單元重新定位(即Cache中存儲(chǔ)的為虛地址數(shù)據(jù)),那么數(shù)據(jù)回寫(xiě)的操作延時(shí)很大。

          ③當(dāng)處理器需要一個(gè)字節(jié)數(shù)據(jù),而此數(shù)據(jù)恰好不在Cache中,那么Cache的替換策略就會(huì)將整個(gè)Cache行換進(jìn),增加了系統(tǒng)不必要的開(kāi)銷。

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




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();