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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM存儲器之:存儲管理單元MMU

          ARM存儲器之:存儲管理單元MMU

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

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

          引起存儲訪問失效的存儲訪問類型如表15.32所示。

          表中,對齊失效的編碼可以為0b0001或0b0011。

          表15.32 存儲訪問失效的存儲訪問類型

          優(yōu)先級

          引起存儲訪問失效的原因

          失效狀態(tài)字段

          域字段

          失效地址寄存器c6

          最高

          極端異常(TerminalException)

          0b0010

          無效

          生產(chǎn)商定義

          中斷向量訪問異常(VectorException)

          0b0000

          無效

          有效

          地址對齊(Alignment)

          0b00x1

          無效

          有效

          擴(kuò)展地址變換失效(頁表訪問失效)

          一級頁表

          0b1100

          有效

          有效

          二級頁表

          0b1110

          無效

          有效

          地址變換失效

          段失效

          0b0101

          無效

          有效

          頁失效

          0b0111

          有效

          有效

          域控制失效

          段失效

          0b1001

          有效

          有效

          頁失效

          0b1011

          有效

          有效

          訪問權(quán)限控制失效

          段失效

          0b1101

          有效

          有效

          頁失效

          0b1111

          有效

          有效

          基于Cache的外部存儲訪問系統(tǒng)異常

          段失效

          0b0100

          有效

          有效

          頁失效

          0b0110

          有效

          有效

          最低

          非Cache預(yù)取時外部存儲訪問異常

          段失效

          0b1000

          有效

          有效

          頁失效

          0b1010

          有效

          有效

          在域控制字段(bits[3:0])中存在無效值,是因為無效發(fā)生在域訪問之前。

          當(dāng)不同的存儲訪問類型同時引起存儲訪問失效時,按照優(yōu)先級由高到低的次序,先保存優(yōu)先級高的存儲訪問失效相關(guān)信息,在表中各存儲訪問優(yōu)先級由上到下依次遞減。

          圖15.36顯示了判斷存儲訪問失效的全過程。

          下面分別介紹各種類型的存儲訪問失效方式。

          ①極端異常(terminalexception)

          極端異常指的是發(fā)生了不可恢復(fù)的存儲訪問失效。具體屬于哪種情況,有生產(chǎn)商定義。

          ②中斷向量訪問異常(vectorexception)

          在數(shù)據(jù)訪問周期,如果訪問異常中斷向量表(地址0x0到0x1f)時發(fā)生存儲訪問失效,這種存儲訪問失效稱為中斷向量訪問異常。當(dāng)被禁止時是否產(chǎn)生中斷向量訪問異常由生產(chǎn)商決定。

          ③地址對齊失效

          在數(shù)據(jù)訪問周期,如果訪問字單元地址時地址bits[1:0]位不是0b00,或者訪問半字單元時地址bits[0]位不是0b0,則產(chǎn)生的存儲訪問失效稱為地址對齊失效。在指令預(yù)取周期不會產(chǎn)生地址對齊失效。在數(shù)據(jù)訪問周期,如果訪問字節(jié)單位,不會產(chǎn)生地址訪問失效。

          ④地址變換失效

          有兩種類型的地址變換失效。一種是基于段的地址變換失效,它指當(dāng)一級頁表描述符的位bits[1:0]=0b00時,表示該一級描述符頁表項無效,這時產(chǎn)生基于段的地址變換失效。第二種是基于頁的地址變換失效。當(dāng)二級描述符的位bits[1:0]=0b00時,表示該二級描述符頁表項無效,這時產(chǎn)生基于頁的地址變換失效。

          圖15.36判斷存儲訪問失效的全過程。

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




          關(guān)鍵詞: ARM 存儲管理單元 MMU

          評論


          相關(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); })();