mmu = memory management unit
1、把虛擬位址轉化成實體地址,防止位址衝突
2、訪問許可權管理
mmu把乙個虛擬位址的20位到31位作為取出來,建立
一張表,叫做translation table base,也叫做一級
頁表索引,
根據每個
位址的最後兩位進行分類,在進行段式
轉換、粗葉位址
轉換和細葉位址轉換。
段式轉換是將最後兩位是10的虛擬位址的高12位作為基
位址,剩餘20位作為偏移位址
細葉位址轉換是將最後兩位是11的虛擬位址的高12位作為
一級頁表,第10到第19位作為二級頁表,0到11位作為偏移
位址。
#define gpbcon (volatile unsigned long *)0xa0000010#define gpbdat (volatile unsigned long *)0xa0000014
#define mmu_full_access (3<<10) //
訪問許可權
#define mmu_domain (0<<5) //
屬於哪個域
#define mmu_special (1<<4) //
必須是1
#define mmu_cacheenable (1<<3) //
cacheable
#define mmu_bufferable (1<<2) //
bufferable
#define mmu_section (2<<0) //
表示這是段描述符
#define secdesc (mmu_section|mmu_special|mmu_special|mmu_full_access)
#define secdesc_wb (mmu_section|mmu_special|mmu_special|mmu_full_access|mmu_cacheenable|mmu_bufferable)
void
creat_page_table()
}void
mmu_init()
intgboot_main()
國嵌攻略 047 MMU功能解析
mmu功能解析 1.memory management unit 儲存器管理單元 2.兩個程序讀取同乙個位址能讀到不同的值。因為程序訪問的是虛擬位址,通過mmu轉換成不同的實體地址。不同的程序通過mmu有不同的對映規則 3.如果mmu沒有工作,那麼在程式中使用的是實體地址。為避免程式實體地址衝突,在...
zt EMF edit功能解析
from 1.emf.edit a 說明 emf.edit 位於emf.editor 和emf.ecore 之間,他起了乙個中介者的作用。他負責把來自 emf.editor的ui 相關的請求轉換成符合 emf.ecore的ui 無關的呼叫。他需要提供以下四個功能 實現用於支援 viewer 顯示的c...
T BOX功能解析
在 車聯網系統的組成概述 一文中,我們已經簡單介紹了t box的功能結構。今天,我們來進一步挖掘,t box在整個車聯網系統中,究竟承擔了哪些具體服務?1事件資訊上報類服務 總體來說,這類服務就是在車端滿足特定事件上報條件後,向tsp平台上報訊息 tsp平台在收到車端上報的訊息後,向車端傳送確認資訊...