ARM內(nèi)存管理單元學(xué)習(xí)ppt課件_第1頁
ARM內(nèi)存管理單元學(xué)習(xí)ppt課件_第2頁
ARM內(nèi)存管理單元學(xué)習(xí)ppt課件_第3頁
ARM內(nèi)存管理單元學(xué)習(xí)ppt課件_第4頁
ARM內(nèi)存管理單元學(xué)習(xí)ppt課件_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、;of14地址范圍:由CPU的位數(shù)決定,例如一個32位的CPU,它的地址范圍是00 xFFFFFFFF (4G)1相關(guān)概念分頁機(jī)制:虛擬地址空間劃分成稱為頁page的單位,而相應(yīng)的物理地址空間也被進(jìn)行劃分,單位是頁幀(frame).頁和頁幀的大小必須相同。;of14TLB和地址轉(zhuǎn)換表2相關(guān)概念1. TLB(translation lookaside buffer) 轉(zhuǎn)換遍歷緩存。 TLB是MMU的核心部件,它存儲少量的虛擬地址與物理地址的轉(zhuǎn)換關(guān)系,它其實(shí)是物理內(nèi)存區(qū)的一小段內(nèi)存。TLB是位于內(nèi)存中的頁表的cache,如果沒有TLB,則每次取數(shù)據(jù)都需要兩次訪問內(nèi)存,即查頁表獲得物理地址和取數(shù)據(jù).

2、 2. 地址轉(zhuǎn)換表。 當(dāng)TLB中沒有緩沖對應(yīng)的地址轉(zhuǎn)換關(guān)系時,需要查找這個地址轉(zhuǎn)換表,找到虛擬地址與物理地址的對應(yīng)關(guān)系。在大多數(shù)處理器中,這個轉(zhuǎn)換表為多級頁表,比如386里面的頁目錄表和頁表;of14將線性地址映射為物理地址2功能說明現(xiàn)代的多用戶多進(jìn)程操作系統(tǒng),需要MMU,才能達(dá)到每個用戶進(jìn)程都擁有自己獨(dú)立的地址空間的目標(biāo)。使用MMU,操作系統(tǒng)劃分出一段地址區(qū)域,在這塊地址區(qū)域中,每個進(jìn)程看到的內(nèi)容都不一定一樣。例如 WINDOWS操作系統(tǒng)將地址范圍4M-2G劃分為用戶地址空間,進(jìn)程A在地址0X4000004M映射了可執(zhí)行文件,進(jìn)程B同樣在地址0X4000004M映射了可執(zhí)行文件,如果A進(jìn)程讀

3、地址0X400000,讀到的是A的可執(zhí)行文件映射到RAM的內(nèi)容,而進(jìn)程B讀取地址0X400000時,則讀到的是B的可執(zhí)行文件映射到RAM的內(nèi)容。;of14將線性地址映射為物理地址2功能說明;of14CP15的C8寄存器用來控制清除TLB的內(nèi)容,是只寫寄存器,讀操作將產(chǎn)生不可預(yù)知的后果。CP15的C10寄存器用于控制TLB內(nèi)容鎖定。如果系統(tǒng)中包含獨(dú)立的指令TLB和數(shù)據(jù)TLB,那么對應(yīng)于數(shù)據(jù)TLB和指令TLB分別有一個獨(dú)立的TLB內(nèi)容鎖定寄存器,用來選擇其中的某個寄存器;of14;of14ARMMMU硬件采用2級頁表結(jié)構(gòu):一級頁表L1和二級頁表L2)3MMU的頁表一級頁表支持4種類型的頁表項(xiàng)-由b

4、it1:0決定:1.1MB段轉(zhuǎn)換項(xiàng);(指向一個1MB的存儲段)2.指向L2細(xì)頁表的目錄項(xiàng);(包含一個L2細(xì)頁表首地址的指針,同時包含L1表項(xiàng)代 表的1MB虛存段的域信息。細(xì)頁表必須與4KB的倍數(shù)地址對齊)3.指向L2粗頁表的目錄項(xiàng);(粗頁表必須與1KB的倍數(shù)地址對齊)4.產(chǎn)生中止異常的錯誤項(xiàng)一級頁表兩大類:1.指向第一級頁表L2頁表的基地址 2.直接指向1MB的物理內(nèi)存L1主頁表既可作為L2頁表的頁目錄,也可作為用于轉(zhuǎn)換1MB虛擬頁稱為一段的普通頁表L1頁表中每個表項(xiàng)可以覆蓋1MB的內(nèi)存,由于有4096K個選項(xiàng)item),所以總計(jì)可以覆蓋4096K*1MB=4GB的內(nèi)存空間。;of143MMU

5、的頁表L1每種頁表的結(jié)構(gòu);of14ARMMMU硬件采用2級頁表結(jié)構(gòu):一級頁表L1和二級頁表L2)3MMU的頁表二級頁表有4種類型的頁表項(xiàng))-由bit1:0決定:1.定義64KB頁幀屬性的大large頁表項(xiàng);(包含一個64KB物理存儲塊的基地址,同時還包含4組權(quán)限位域,以及頁的cache和寫緩沖器屬性。每一組訪問權(quán)限位域代表虛存頁的1/4,這些頁表項(xiàng)可以看成是16KB子頁,以更好的控制64KB頁的訪問權(quán)限)。2.定義4KB頁幀屬性的小small頁表項(xiàng);3.定義1KB頁幀屬性的微tiny頁表項(xiàng);4.訪問時產(chǎn)生頁錯中止異常的錯誤頁表項(xiàng)。(注意區(qū)別大頁,小頁,微頁和粗頁表,細(xì)頁表)一個L2粗頁表有25

6、61MB/4KB個頁表項(xiàng),占用1KB的主存空間,每個頁表項(xiàng)將一個4KB的虛擬存儲塊轉(zhuǎn)換成一個4KB的物理存儲塊。粗頁表支持4KB或64KB的頁,頁表項(xiàng)包含的是4KB或64KB的頁幀的首地址。如果轉(zhuǎn)換的是一個64KB的頁,對于每個64KB的頁,同一個頁表必須在頁表中重復(fù)16次。一個L2細(xì)頁表有10241MB/1KB個頁表項(xiàng),占用4KB的主存空間,每個頁表項(xiàng)將一個1KB的虛擬存儲塊轉(zhuǎn)換成一個4KB的物理存儲塊。細(xì)頁表支持1KB,4KB或64KB的頁,頁表項(xiàng)包含的是1KB,4KB或64KB的頁幀的首地址。;of143MMU的頁表L2每種頁表的結(jié)構(gòu);of14頁表:存在內(nèi)存中的地址轉(zhuǎn)換表,頁表由一個個條

7、目(描述符)組成條目:每個條目存儲了一段虛擬地址對應(yīng)的物理地址及其訪問權(quán)限,或者下一級頁表地頁號:從頁表基址開始,每頁的索引號頁內(nèi)偏移:某一頁的內(nèi)部偏移地址 條目也稱為“描述符”(Descriptor): 段描述符,大頁描述符,小頁描述符,極小頁描述符-它們保存段、大頁、小頁或極小頁的起始物地址; 粗頁表描述符、細(xì)頁表描述符-他們保存二級頁表的物理地址轉(zhuǎn)換過程如下: (1) 根據(jù)給定的虛擬地址找到一級頁表中的條目 (2)如果此條目是段描述符,則返回物理地址,轉(zhuǎn)換結(jié)束 (3)如果此條目是二級頁表描述符,繼續(xù)利用虛擬地址在二級頁表中找到下一個條目; (4)如果這第二個條目是頁描述符,則返回物理地址

8、,轉(zhuǎn)換結(jié)束; (5)其他情況出錯5轉(zhuǎn)換過程;of145轉(zhuǎn)換過程;of143轉(zhuǎn)換過程單步搜索-當(dāng)L1頁表用于轉(zhuǎn)換一個1MB的段時搜索1MB的頁),其頁表項(xiàng)PTE包含的就是物理存儲器中1MB頁幀page frame的首地址。;of143轉(zhuǎn)換過程兩步搜索-搜索大小為1KB、4KB、16KB、64KB的頁。一級頁表存放的是二級頁表的目錄,二級頁表才是存放轉(zhuǎn)換表的。L1頁表作為頁目錄時,其頁表項(xiàng)PTE包含的就是1MB虛擬空間的L2粗coarse頁表或L2細(xì)fine頁表的指針;of14;of143轉(zhuǎn)換過程只有一級頁表的情況:第一個MVA 第二個是頁表基址寄存器c2);of143轉(zhuǎn)換過程保存在粗頁表中的大頁

9、地址轉(zhuǎn)換過程:;of143轉(zhuǎn)換過程保存在粗頁表中的小頁地址轉(zhuǎn)換過程:;of143轉(zhuǎn)換過程保存在粗頁表中的極小頁地址轉(zhuǎn)換過程:;of14地址轉(zhuǎn)換失敗時產(chǎn)生的異常和處理4MMU異常處理1) TLB異常:如果試圖訪問沒有在 MMU的 TLB中映射的內(nèi)存地址,會觸發(fā)這個異常。在支持虛擬內(nèi)存的操作系統(tǒng)中,這一般會觸發(fā)內(nèi)存的頁面倒換,系統(tǒng)的 Exception Handler會將所需要的內(nèi)存頁從虛擬內(nèi)存中調(diào)入物理內(nèi)存,并更新相應(yīng)的 TLB表項(xiàng)。2地址對齊異常:如果試圖訪問一個非對齊的地址,例如 lw/sw指令的地址非 4字節(jié)對齊,或 lh/sh的地址非 2字節(jié)對齊,就會觸發(fā)這個異常。一般地,操作系統(tǒng)在 Exception Handler中對這個異常的處理,是分兩次讀取 /寫入這個地址。雖然一般的操作系統(tǒng)內(nèi)核都處理了這個異常,最后能夠完成期待的操作,但是由于會引起用戶態(tài)到內(nèi)核態(tài)的切換,以及異常的退出,當(dāng)這樣非對齊操作較多時會嚴(yán)重影響

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論