程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> ARM9的MMU,ARM9MMU

ARM9的MMU,ARM9MMU

編輯:關於C語言

ARM9的MMU,ARM9MMU


一 頁表

  1. 頁表是放置在RAM(一般為DRAM)中的一個數據段。

  2. ARM的地址空間為2^32字節,即4G字節。

  3. 一級頁表總共有4096條記錄,每條記錄對應的地址塊為1M,一級頁表中的記錄將虛擬的連續4G尋址空間等分。

  4. 一級頁表中的每條記錄的內容就是虛擬的4G尋址空間的物理地址,舉例如下:

    a. 將一級頁表基址設置為:0x31000000,則從基址開始,之後的4096 * 4字節對應一級頁表。

    b. 一級頁表的第0條記錄對應著虛擬地址的0x0000,0000~0x000F,FFFF,第1條記錄對應著虛擬地址的0x0010,0000~0x001F,FFFF,依次類推。

    c. 相應的,一級頁表的第0條記錄(高12位)的內容對應虛擬地址0x0000,0000~0x000F,FFFF的物理地址(基地址),第1條記錄(高12位)對應虛擬地址  0x0010,0000~0x001F,FFFF的物理地址(基地址),每條記錄中的低位中都包含著權限訪問控制位。

二 TLB(Translation Lockaside buffer):快表

  快表可理解為頁表的cache,頁表是存在於RAM中的一段數據,訪問延遲較高,將相鄰的頁表加載到快表中可極大的加速MMU合成地址。

三 Cache

  未完待續...

 

 

 

 

 

N 關於MMU的啟動

  若將頁表設置為虛擬地址 = 物理地址,則開啟MMU後代碼的運行、數據的存儲於讀取、堆棧等不受影響,代碼將繼續地正確運行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved