新聞中心

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

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

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

本文引用地址:http://butianyuan.cn/article/257009.htm

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

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

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

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

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

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

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

系統(tǒng)通過頁表項的最低位[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ū)

關閉