ARM存儲器之:存儲管理單元MMU
基于細二級頁(yè)表的地址變換過(guò)程如圖15.29所示。
(7)基于二級頁(yè)表的地址變換過(guò)程
二級頁(yè)表有4種可能的頁(yè)表項:
·定義64KB頁(yè)幀屬性的大(Large)頁(yè)表項;
·定義4KB頁(yè)幀屬性的?。⊿mall)頁(yè)表項;
·定義1KB頁(yè)幀屬性的微(tiny)頁(yè)表項;
·訪(fǎng)問(wèn)中止異常的錯誤項。
系統通過(guò)頁(yè)表項的最低位[1:0]來(lái)確定頁(yè)表項的類(lèi)型。二級頁(yè)表的頁(yè)表項格式如圖15.30所示。
當bits[1:0]=0b01時(shí),該頁(yè)表項為大頁(yè)表項,它包含了一個(gè)64KB物理存儲塊的基地址。如果頁(yè)表是細二級頁(yè)表,那么大頁(yè)表項將在表中重復64次;如果頁(yè)表是粗二級頁(yè)表,那么大頁(yè)表項將在表中重復16次。
圖15.29基于細二級頁(yè)表的地址變換過(guò)程
圖15.30二級頁(yè)表的頁(yè)表項格式
當bits[1:0]=0b10時(shí),該頁(yè)表項為小頁(yè)表項,它保存一個(gè)4KB物理存儲塊的基地址。如果頁(yè)表是細二級頁(yè)表,那么小頁(yè)表項將在表中重復4次;如果頁(yè)表是粗二級頁(yè)表,那么大頁(yè)表項只需在表中出現1次。
當bits[1:0]=0b11時(shí),該頁(yè)表項為微頁(yè)表項,它保存一個(gè)1KB物理存儲塊的基地址。如果頁(yè)表是細二級頁(yè)表,那么微頁(yè)表項只需在表中重復1次;微頁(yè)表項不會(huì )出現在粗二級頁(yè)表中,如果出現,那么訪(fǎng)問(wèn)結果不可預知。
當bits[1:0]=0b00時(shí),該頁(yè)表項產(chǎn)生存儲頁(yè)訪(fǎng)問(wèn)錯誤。錯誤條件會(huì )導致預取指中止或數據中止,這取決于具體的存儲器訪(fǎng)問(wèn)類(lèi)型。
(8)大頁(yè)表描述符及其地址變換過(guò)程
如果二級頁(yè)表項bits[1:0]=0b01,說(shuō)明該頁(yè)表項為大頁(yè)表項,它不僅包含了一個(gè)64KB物理存儲塊基地址,同時(shí)還含有4組權限位域以及頁(yè)的Cache和寫(xiě)緩存屬性。每一組訪(fǎng)問(wèn)權限域代表虛存頁(yè)的1/4,這些頁(yè)表項可以看成是16KB子頁(yè),以更好的控制64KB頁(yè)的訪(fǎng)問(wèn)權限。
具體定義如表15.26所示。
表15.26 大頁(yè)表項中各字段含義
字段 | 含義 |
bits[1:0] | 大頁(yè)表項類(lèi)型標識符 |
bits[3:2] | Cache和寫(xiě)緩存屬性 |
bits[11:4] | 訪(fǎng)問(wèn)權限控制位,具體編碼見(jiàn)表15.27。 一個(gè)大頁(yè)分為4個(gè)子頁(yè) AP0子頁(yè)0的訪(fǎng)問(wèn)權限 AP1子頁(yè)1的訪(fǎng)問(wèn)權限 AP2子頁(yè)2的訪(fǎng)問(wèn)權限 AP3子頁(yè)3的訪(fǎng)問(wèn)權限 |
bits[15:12] | 當前未使用,應為0 |
bits[31:16] | 該大頁(yè)對應的物理頁(yè)幀的基地址的高16位 |
圖15.31說(shuō)明了基于大頁(yè)表的地址變換過(guò)程。
圖15.31基于大頁(yè)表的地址變換過(guò)程
(9)小頁(yè)表描述符及其地址變換過(guò)程
如果二級頁(yè)表項bits[1∶0]=0b10,說(shuō)明該頁(yè)表項為小頁(yè)表項,它不僅包含了一個(gè)4KB物理存儲塊基地址,同時(shí)還含有4組權限位域以及頁(yè)的Cache和寫(xiě)緩存屬性。每一組訪(fǎng)問(wèn)權限域代表虛存頁(yè)的1/4,這些頁(yè)表項可以看成是1KB子頁(yè),以更好的控制4KB頁(yè)的訪(fǎng)問(wèn)權限。
頁(yè)表項的具體定義如表15.27所示。
表15.27 小頁(yè)表項中各字段含義
字段 | 含義 |
bits[1:0] | 小頁(yè)表項類(lèi)型標識符 |
bits[3:2] | Cache和寫(xiě)緩存屬性 |
bits[11:4] | 訪(fǎng)問(wèn)權限控制位,具體編碼見(jiàn)表15.22。 一個(gè)小頁(yè)分為4個(gè)子頁(yè) AP0子頁(yè)0的訪(fǎng)問(wèn)權限 AP1子頁(yè)1的訪(fǎng)問(wèn)權限 AP2子頁(yè)2的訪(fǎng)問(wèn)權限 AP3子頁(yè)3的訪(fǎng)問(wèn)權限 |
bits[15:12] | 當前未使用,應為0 |
bits[31:16] | 該小頁(yè)對應的物理頁(yè)幀的基地址的高20位 |
圖15.32說(shuō)明了基于小頁(yè)表的地址變換過(guò)程。
圖15.32基于小頁(yè)表的地址變換過(guò)程
(10)微頁(yè)表描述符及其地址變換過(guò)程
如果二級頁(yè)表項bits[1∶0]=0b11,該二級頁(yè)表項是微頁(yè)表項,它提供了一個(gè)1KB物理存儲塊的基地址,同時(shí)含有一個(gè)訪(fǎng)問(wèn)權限位域以及頁(yè)的Cache和寫(xiě)緩存屬性。微頁(yè)表項的具體含義如表15.28所示。
表15.28 微頁(yè)表項中各字段含義
字段 | 含義 |
bits[1:0] | 微頁(yè)表項類(lèi)型標識符 |
bits[3:2] | Cache和寫(xiě)緩存屬性 |
bits[5:4] | 訪(fǎng)問(wèn)權限控制位,具體編碼見(jiàn)表15.29 |
bits[9:6] | 當前未使用,應為0 |
bits[31:10] | 該微頁(yè)對應的物理頁(yè)幀的基地址的高22位 |
圖15.33說(shuō)明了基于微頁(yè)表的地址變換過(guò)程。
圖15.33基于微頁(yè)表的地址變換過(guò)程
存儲器相關(guān)文章:存儲器原理
評論