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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > ARM存儲器之:存儲管理單元MMU

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

          作者: 時間:2013-09-30 來源:網絡 收藏

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

          基于細二級頁表的地址變換過程如圖15.29所示。

          (7)基于二級頁表的地址變換過程

          二級頁表有4種可能的頁表項:

          ·定義64KB頁幀屬性的大(Large)頁表項;

          ·定義4KB頁幀屬性的?。⊿mall)頁表項;

          ·定義1KB頁幀屬性的微(tiny)頁表項;

          ·訪問中止異常的錯誤項。

          系統通過頁表項的最低位[1:0]來確定頁表項的類型。二級頁表的頁表項格式如圖15.30所示。

          當bits[1:0]=0b01時,該頁表項為大頁表項,它包含了一個64KB物理存儲塊的基地址。如果頁表是細二級頁表,那么大頁表項將在表中重復64次;如果頁表是粗二級頁表,那么大頁表項將在表中重復16次。

          圖15.29基于細二級頁表的地址變換過程

          圖15.30二級頁表的頁表項格式

          當bits[1:0]=0b10時,該頁表項為小頁表項,它保存一個4KB物理存儲塊的基地址。如果頁表是細二級頁表,那么小頁表項將在表中重復4次;如果頁表是粗二級頁表,那么大頁表項只需在表中出現1次。

          當bits[1:0]=0b11時,該頁表項為微頁表項,它保存一個1KB物理存儲塊的基地址。如果頁表是細二級頁表,那么微頁表項只需在表中重復1次;微頁表項不會出現在粗二級頁表中,如果出現,那么訪問結果不可預知。

          當bits[1:0]=0b00時,該頁表項產生存儲頁訪問錯誤。錯誤條件會導致預取指中止或數據中止,這取決于具體的存儲器訪問類型。

          (8)大頁表描述符及其地址變換過程

          如果二級頁表項bits[1:0]=0b01,說明該頁表項為大頁表項,它不僅包含了一個64KB物理存儲塊基地址,同時還含有4組權限位域以及頁的Cache和寫緩存屬性。每一組訪問權限域代表虛存頁的1/4,這些頁表項可以看成是16KB子頁,以更好的控制64KB頁的訪問權限。

          具體定義如表15.26所示。

          表15.26 大頁表項中各字段含義

          字段

          含義

          bits[1:0]

          大頁表項類型標識符

          bits[3:2]

          Cache和寫緩存屬性

          bits[11:4]

          訪問權限控制位,具體編碼見表15.27。

          一個大頁分為4個子頁

          AP0子頁0的訪問權限

          AP1子頁1的訪問權限

          AP2子頁2的訪問權限

          AP3子頁3的訪問權限

          bits[15:12]

          當前未使用,應為0

          bits[31:16]

          該大頁對應的物理頁幀的基地址的高16位

          圖15.31說明了基于大頁表的地址變換過程。

          圖15.31基于大頁表的地址變換過程

          (9)小頁表描述符及其地址變換過程

          如果二級頁表項bits[1∶0]=0b10,說明該頁表項為小頁表項,它不僅包含了一個4KB物理存儲塊基地址,同時還含有4組權限位域以及頁的Cache和寫緩存屬性。每一組訪問權限域代表虛存頁的1/4,這些頁表項可以看成是1KB子頁,以更好的控制4KB頁的訪問權限。

          頁表項的具體定義如表15.27所示。

          表15.27 小頁表項中各字段含義

          字段

          含義

          bits[1:0]

          小頁表項類型標識符

          bits[3:2]

          Cache和寫緩存屬性

          bits[11:4]

          訪問權限控制位,具體編碼見表15.22。

          一個小頁分為4個子頁

          AP0子頁0的訪問權限

          AP1子頁1的訪問權限

          AP2子頁2的訪問權限

          AP3子頁3的訪問權限

          bits[15:12]

          當前未使用,應為0

          bits[31:16]

          該小頁對應的物理頁幀的基地址的高20位

          圖15.32說明了基于小頁表的地址變換過程。

          圖15.32基于小頁表的地址變換過程

          (10)微頁表描述符及其地址變換過程

          如果二級頁表項bits[1∶0]=0b11,該二級頁表項是微頁表項,它提供了一個1KB物理存儲塊的基地址,同時含有一個訪問權限位域以及頁的Cache和寫緩存屬性。微頁表項的具體含義如表15.28所示。

          表15.28 微頁表項中各字段含義

          字段

          含義

          bits[1:0]

          微頁表項類型標識符

          bits[3:2]

          Cache和寫緩存屬性

          bits[5:4]

          訪問權限控制位,具體編碼見表15.29

          bits[9:6]

          當前未使用,應為0

          bits[31:10]

          該微頁對應的物理頁幀的基地址的高22位

          圖15.33說明了基于微頁表的地址變換過程。

          圖15.33基于微頁表的地址變換過程

          存儲器相關文章:存儲器原理




          關鍵詞: ARM 存儲管理單元 MMU

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();