新聞中心

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

ARM存儲(chǔ)器之:存儲(chǔ)管理單元MMU

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

本文引用地址:http://www.2s4d.com/article/257009.htm

(4)段描述符及其地址變換過程

如果一級(jí)頁(yè)表頁(yè)表項(xiàng)的bits[1∶0]=0b10,說明此頁(yè)表項(xiàng)指向一個(gè)1MB的存儲(chǔ)段。頁(yè)表項(xiàng)的高12位代替虛擬地址的高12位來產(chǎn)生物理地址。該頁(yè)表項(xiàng)還包含域?qū)傩?、Cahche屬性、緩沖器屬性和訪問權(quán)限屬性。具體定義如表15.22所示。

表15.22 段頁(yè)表項(xiàng)中各字段含義

字段

含義

bits[1:0]

段頁(yè)表項(xiàng)標(biāo)識(shí)

bits[3:2]

定義段的Cache和寫緩存屬性

bit[4]

生產(chǎn)商定義

bits[8:5]

本段所在的域

bit[9]

當(dāng)前未被使用,設(shè)置成0

bits[11:10]

訪問權(quán)限控制AP位,見表15.23

bits[19:12]

當(dāng)前未被使用,設(shè)置成0

bits[31:20]

該段對(duì)應(yīng)的物理空間基地址的高12位

表15.23 訪問權(quán)限控制位的編碼及其含義

訪問權(quán)限控制AP

S

R

特權(quán)模式

用戶模式

0b00

0

0

不可訪問

不可訪問

0b00

1

0

只讀

不可訪問

0b00

0

1

只讀

只讀

0b00

1

1

不可預(yù)知

不可預(yù)知

0b01

X

X

讀/寫

無訪問

0b10

X

X

讀/寫

只讀

0b11

X

X

讀/寫

讀/寫

表中S和R位是CP15寄存器c1中的控制位,它們分別對(duì)應(yīng)系統(tǒng)(S)和ROM(R)位。這兩位用來在不同模式加速系統(tǒng)中訪問大的存儲(chǔ)塊。

設(shè)置S位使得所有頁(yè)具有不可訪問權(quán)限,從而允許特權(quán)模式任務(wù)對(duì)頁(yè)有讀訪問權(quán)限。因此通過改變CP15寄存器c1中的一位,所有標(biāo)識(shí)為不可訪問的空間一下子變?yōu)榭捎?,而不需要改變每個(gè)頁(yè)表項(xiàng)的AP位,節(jié)省了開銷。

改變R位使得所有頁(yè)具有不可訪問權(quán)限,因而特權(quán)模式任務(wù)和用戶模式任務(wù)對(duì)頁(yè)都有讀訪問權(quán)限。同樣,這一位可以加速對(duì)大塊存儲(chǔ)塊的訪問,而不需要修改許多頁(yè)表項(xiàng)的值。

注意

地址轉(zhuǎn)換過程中,在物理地址產(chǎn)生之前,將會(huì)按表2.22的編碼對(duì)訪問地址的權(quán)限進(jìn)行檢測(cè)。

基于段的地址變換過程如圖15.27所示。

圖15.27基于段的地址變換過程

(5)粗二級(jí)頁(yè)表描述符及其地址變換過程

如果一級(jí)頁(yè)表項(xiàng)的bits[1∶0]=0b01,說明此頁(yè)表項(xiàng)包含一個(gè)粗二級(jí)頁(yè)表首地址指針,同時(shí)還包含一級(jí)頁(yè)表項(xiàng)代表的1MB虛存段的域信息。粗頁(yè)表必須與1KB的倍數(shù)地址對(duì)齊。頁(yè)表項(xiàng)具體定義見表15.24。

表15.24 粗二級(jí)頁(yè)表項(xiàng)中各字段含義

字段

含義

bits[1:0]

粗二級(jí)頁(yè)表描述符標(biāo)識(shí)

bits[4:2]

生產(chǎn)商定義

bits[8:5]

域標(biāo)識(shí)符

bit[9]

當(dāng)前未被使用,設(shè)置成0

bits[31:10]

粗二級(jí)頁(yè)表基地址,該地址1KB對(duì)齊

基于粗二級(jí)頁(yè)表的地址變換過程如圖15.28所示。

(6)細(xì)二級(jí)頁(yè)表描述符及其地址變換過程

如果一級(jí)頁(yè)表項(xiàng)的bits[1:0]=0b11,說明此頁(yè)表項(xiàng)包含一個(gè)細(xì)二級(jí)頁(yè)表首地址指針,同時(shí)還包含一級(jí)頁(yè)表項(xiàng)代表的1MB虛存段的域信息。細(xì)頁(yè)表必須與4KB的倍數(shù)地址對(duì)齊。頁(yè)表項(xiàng)具體定義如表15.25所示。

圖15.28基于粗二級(jí)頁(yè)表的地址變換過程

表15.25 細(xì)二級(jí)頁(yè)表項(xiàng)中各字段含義

字段

含義

bits[1:0]

細(xì)二級(jí)頁(yè)表描述符標(biāo)識(shí)

bits[4:2]

生產(chǎn)商定義

bits[8:5]

域標(biāo)識(shí)符

bits[11:9]

當(dāng)前未被使用,設(shè)置成0

bits[31:12]

細(xì)二級(jí)頁(yè)表基地址,該地址4KB對(duì)齊

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




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

評(píng)論


相關(guān)推薦

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

關(guān)閉