4
:二級描述符
每個二級粗表項對應
4kb虛擬位址的對映,而二級細表項對應
1kb虛擬位址對映。每一項都是乙個頁描述符,分別可以描述一塊大於
4kb或
1kb大小的頁,此時同乙個描述符會被多次使用,以確保不同虛擬位址都訪問相同的物理頁。根據二級描述符的最低兩位:l位
[1:0]=0b00
:此時所關聯的虛擬位址不對映l位
[1:0]=0b01
:此時該項為大頁描述符,描述
64kb
的虛擬位址。
在乙個二級細表中,大頁描述符必須重複
64次,而在二級粗表中,大頁描述符要重複
16次,以此確保其所關聯的所有虛擬位址都被描述。l位
[1:0]=0b10
:此時該項為小頁描述符,描述
4kb的虛擬位址。
在乙個二級細表中,小頁描述符必須重複
4次,而在二級粗表中,小頁描述符只要乙個。l位
[1:0]=0b11
:此時該項為微頁描述符,描述
1kb的虛擬位址。
4.1
大
/小
/微頁描述符
l位[1:0]
頁型別標誌位l位
[3:2]cachable
與bufferable
標誌位l
位[11:4]/[11:4]/[5:4]
訪問允許。l位
[15:12]/[ ]/[9:6]
未定義,為0
l位[31:16]/[31:12]/[31:10]
對應的實體地址
4.1.1
訪問允許
ap0—ap3
用於對相應的子頁進行訪問允許的編碼。從上表可以看出:
大頁64kb
位址,可以對四個子頁進行保護,所以可以管理
16kb
單位的空間。
小頁4kb
,四個子頁,以
1kb為單位。
微頁1kb
,沒有子頁。
注意:到此可以看出,粗
/細的描述是針對一級頁表的,而大/小
/微的描述針對二級頁表,二者的組合構成不同的訪問方式,如:粗表大頁訪問指一級頁表為粗表,二級為大頁表。
五:大頁訪問
粗表大頁訪問與細表大頁訪問類似,需要注意的是:由於線性位址中,頁內索引部分的前四位與二級頁表索引的後四位相互重疊,因而乙個大頁需要重複
16次訪問粗表。
(粗表維護
4kb空間,而大頁有
64kb,
所以很顯然需要
16個粗表組成乙個大頁描述塊)
六:訪問允許
描述符中的訪問允許位控制對相應位址空間的訪問,
cp15
暫存器1
的(s)
位和(r)
位與描述符的
ap位一同進行訪問允許管理。
七:域
乙個域是許多段,大小頁的集合,
arm支援
16個域,域訪問控制暫存器(cp15
的暫存器
3)每兩位控制對乙個域的訪問。這種機制可以快速允許或禁止對整個域的訪問,使其相應的記憶體空間可以高效的被交換出虛擬記憶體。有兩種型別的域訪問:
clients:
使用者訪問(執行的程式和訪問的資料),由每個段或頁的訪問允許所保護。
managers
:域的維護(域所包含段、頁與訪問方式),不由每個段或頁的訪問允許所保護。
乙個程式可以是一些域的使用者,和另一些域的管理者,並且不允許訪問其餘的域。這種機制使得記憶體保護和資料訪問可以具有高度伸縮性。下表是
cp15
暫存器3
的控制位。
ARM儲存管理
本文對arm儲存管理進行簡要歸納,不涉及具體對映和暫存器設定。一 mmu 記憶體管理部件使用記憶體對映技術實現虛擬空間到物理空間的對映。嵌入式系統中通常把異常中斷向量表存放在ram中。當系統加電時,將rom flash對映為位址0,這樣可以進行一些初始化處理 當這些初始化處理完成後將sdram對映為...
二 儲存器管理
作業系統的功能包括 處理器管理 儲存器管理 檔案管理 裝置管理等。記憶體管理的功能有 1.記憶體空間的分配與 包括記憶體的管理和共享。2.位址轉換,把邏輯位址轉換成相應的實體地址。3.記憶體空間的擴充,利用虛擬儲存技術或自動覆蓋技術,從邏輯上擴充記憶體。4.儲存保護,保證各道作業在各自的儲存空間內執...
arm電源管理
由於arm系統中沒有bios裝置,所以只能為arm系統建立乙個虛擬的字元裝置與使用者空間進行通訊.這就是 arch arm kernel amp.c 1.工作原理 這個apm中實現乙個misc裝置,實質上也是乙個字元裝置,misc裝置的主裝置號是10,而apm bios作為一 個misc裝置,次裝置...