新聞中心

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

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

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

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

一級頁表和二級頁表的特征如表15.21所示。

表15.21 一級頁表和二級頁表特征

類型

頁表占用的存儲空間

(單位:KB)

支持的頁大小

(單位:KB)

頁表項數(shù)目

一級頁表

16

1024

4096

粗二級頁表

1

1,4,64

1024

細二級頁表

4

1,4,64

256

(2)傳輸表基地址

當處理器發(fā)出地址請求信號,而其要求的虛擬地址沒有包含在TLB中時,將會初始化一個產(chǎn)生過程。傳輸過程需要的地址轉(zhuǎn)換表——傳輸表的基地址存放在協(xié)處理器寄存器c2中,通過此基地址找到傳輸表,準備一次地址傳輸過程。

(3)基于一級頁表的地址變換過程

基于一級頁表的地址變換過程是指從虛擬地址到物理地址的轉(zhuǎn)換只需要一級頁表就能完成的地址轉(zhuǎn)換。一級頁表地址轉(zhuǎn)換過程如圖15.25所示。

圖15.25一級頁表地址轉(zhuǎn)換過程

圖15.25中,CP15寄存器c2中存放的是內(nèi)存中一級頁表的基地址。因為一級頁表大小為16KB,也就是說,一級頁表是16KB地址對齊的,所以c2中bits[13∶0]=0,bits[31∶14]為內(nèi)存中頁表基地址。

CP15的寄存器c2的bits[31∶14]和虛擬地址的bits[31∶20]結(jié)合作為一個31位數(shù)的高30位值,忽略32位值的最后兩位,可以使用該值從頁表中查到一個4字節(jié)的地址頁表項。

一級頁表支持以下4種類型的頁表項。

·1MB段轉(zhuǎn)換項;

·指向細二級頁表的目錄項;

·指向粗二級頁表的目錄項;

·產(chǎn)生中止異常的錯誤項。

系統(tǒng)通過頁表項的低兩位bits[1:0]來確定頁表項的類型。頁表項的格式要求二級頁表的地址必須與其頁大小的倍數(shù)對齊。一級頁表的各種頁表項的格式如圖15.26所示。

圖15.26一級頁表項

如果bits[1:0]=0b10時,該頁表項為段描述符(SectionDescriptor),段描述符定義了對應(yīng)的1MB的虛擬存儲空間的地址映射關(guān)系。

如果bits[1:0]=0b01時,該頁表項包含了粗二級頁表的物理地址。該粗二級頁表定義了對應(yīng)的1MB虛擬存儲空間的地址映射關(guān)系。它可以實現(xiàn)以大頁和小頁為單位的地址映射。

如果bits[1:0]=0b11時,該頁表項包含了細二級頁表的物理地址。該細二級頁表定義了對應(yīng)的1MB虛擬存儲空間的地址映射關(guān)系。它可以實現(xiàn)以大頁、小頁和極小頁為單位的地址映射。

如果bits[1:0]=0b00時,說明此頁表項是一個錯誤頁表項。它將產(chǎn)生一個存儲頁錯誤。錯誤條件會導致預(yù)取指令中止或數(shù)據(jù)中止,這取決于具體的存儲器訪問類型。

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




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

評論


相關(guān)推薦

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

關(guān)閉