新聞中心

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

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

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

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

注意

v6體系結(jié)構(gòu)不包含微頁(yè),如果打算創(chuàng)建一個(gè)很容易移植到以后體系結(jié)構(gòu)的系統(tǒng),則建議在該系統(tǒng)中避免使用1KB微頁(yè)。

15.5.6域(domain)和存儲(chǔ)器訪問(wèn)權(quán)限

域指的是一些段、大頁(yè)或者小頁(yè)的集合。編程的中,設(shè)計(jì)者最多可以使用16個(gè)域,每個(gè)域的訪問(wèn)控制特征由CP15中的c3中的兩位控制。

CP15中的寄存器c3的格式如圖15.34。

圖15.34CP15寄存器c3編碼格式

其中,每?jī)蓚€(gè)位控制一個(gè)域的訪問(wèn)控制特性,其編碼及對(duì)應(yīng)的含義如表15.29所示。

表15.29 域訪問(wèn)控制字段編碼及含義

控制位編碼

訪問(wèn)類型

含義

0b00

無(wú)訪問(wèn)權(quán)限

這時(shí)訪問(wèn)該域?qū)a(chǎn)生訪問(wèn)失效

0b01

客戶類型(client)

根據(jù)頁(yè)表中地址變換頁(yè)表項(xiàng)的域訪問(wèn)權(quán)限控制位決定是否允許特定的存儲(chǔ)訪問(wèn)

0b10

保留

使用該值會(huì)產(chǎn)生不可預(yù)知的結(jié)果

0b11

管理者權(quán)限(Manager)

不考慮頁(yè)表中頁(yè)表項(xiàng)內(nèi)的訪問(wèn)控制權(quán)限位,所以這種情況下不產(chǎn)生訪問(wèn)失效

綜上所述,有兩種不同的控制來(lái)管理一個(gè)任務(wù)的存儲(chǔ)器訪問(wèn)權(quán)限。

·管理者(manager)用于主控(primarycontrol),不考慮每個(gè)段、大頁(yè)和小頁(yè)的訪問(wèn)權(quán)限。

·客戶(client)使用頁(yè)表中的訪問(wèn)權(quán)限用于次控(secondarycontrol)。

當(dāng)多個(gè)段或者頁(yè)從屬于一個(gè)域時(shí),這些段或者頁(yè)的訪問(wèn)權(quán)限可以很容易的由域來(lái)統(tǒng)一控制。存儲(chǔ)器采用這種管理策略將不同的存儲(chǔ)單元“打包”。

注意

即使不使用提供的虛擬存儲(chǔ)功能,仍然可以把這些內(nèi)核用作簡(jiǎn)單的存儲(chǔ)保護(hù)單元。首先將虛擬存儲(chǔ)空間直接映射到物理存儲(chǔ)空間,然后為每個(gè)任務(wù)分配一個(gè)不同的域,最后使用這些域來(lái)保護(hù)睡眠任務(wù)(通過(guò)將它們的域訪問(wèn)設(shè)置成不可訪問(wèn))。

15.5.7與TLB相關(guān)的操作

(1)清除TLB

如果操作系統(tǒng)改變了頁(yè)表中的數(shù)據(jù),那么緩存在TLB中的轉(zhuǎn)換數(shù)據(jù)可能就不再有效了。存儲(chǔ)器核有一些CP15命令用于清除TLB,從而使TLB中的數(shù)據(jù)作廢。表15.30是一些可用的命令:清除所有TLB數(shù)據(jù),清除指令TLB,清除數(shù)據(jù)TLB,也可以一次只清除一行TLB數(shù)據(jù)。

表15.30 清除TLB的CP15命令

命令

MCR指令

Rd的值

支持的內(nèi)核

使所有TLB無(wú)效

MCRp15,0,Rd,c8,c7,0

0

720T、920T、ARM922T、ARM926EJ-S、ARM1022E、ARM1026EJ-S、StrongARM、Xscale

按行使TLB無(wú)效

MCRp15,0,Rd,c8,c7,1

要使之無(wú)效的虛擬地址

ARM720T

使指令TLB無(wú)效

MCRp15,0,Rd,c8,c5,0

要使之無(wú)效的虛擬地址

ARM920T、ARM922T、ARM926EJ-S、ARM1022E、ARM1026EJ-S、StrongARM、Xscale

按行使指令TLB無(wú)效

MCRp15,0,Rd,c8,c5,1

要使之無(wú)效的虛擬地址

ARM920T、ARM922T、ARM926EJ-S、ARM1022E、ARM1026EJ-S、StrongARM、Xscale

使數(shù)據(jù)TLB無(wú)效

MCRp15,0,Rd,c8,c6,0

要使之無(wú)效的虛擬地址

ARM920T、ARM922T、ARM926EJ-S、ARM1022E、ARM1026EJ-S、StrongARM、Xscale

按行使數(shù)據(jù)TLB無(wú)效

MCRp15,0,Rd,c8,c6,1

要使之無(wú)效的虛擬地址

ARM920T、ARM922T、ARM926EJ-S、ARM1022E、ARM1026EJ-S、StrongARM、Xscale

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




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

評(píng)論


相關(guān)推薦

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

關(guān)閉