• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > ARM存儲器之:存儲管理單元MMU

    ARM存儲器之:存儲管理單元MMU

    作者: 時間:2013-09-30 來源:網絡 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/257009.htm

    一級頁表和二級頁表的特征如表15.21所示。

    表15.21 一級頁表和二級頁表特征

    類型

    頁表占用的存儲空間

    (單位:KB)

    支持的頁大小

    (單位:KB)

    頁表項數目

    一級頁表

    16

    1024

    4096

    粗二級頁表

    1

    1,4,64

    1024

    細二級頁表

    4

    1,4,64

    256

    (2)傳輸表基地址

    當處理器發出地址請求信號,而其要求的虛擬地址沒有包含在TLB中時,將會初始化一個產生過程。傳輸過程需要的地址轉換表——傳輸表的基地址存放在協處理器寄存器c2中,通過此基地址找到傳輸表,準備一次地址傳輸過程。

    (3)基于一級頁表的地址變換過程

    基于一級頁表的地址變換過程是指從虛擬地址到物理地址的轉換只需要一級頁表就能完成的地址轉換。一級頁表地址轉換過程如圖15.25所示。

    圖15.25一級頁表地址轉換過程

    圖15.25中,CP15寄存器c2中存放的是內存中一級頁表的基地址。因為一級頁表大小為16KB,也就是說,一級頁表是16KB地址對齊的,所以c2中bits[13∶0]=0,bits[31∶14]為內存中頁表基地址。

    CP15的寄存器c2的bits[31∶14]和虛擬地址的bits[31∶20]結合作為一個31位數的高30位值,忽略32位值的最后兩位,可以使用該值從頁表中查到一個4字節的地址頁表項。

    一級頁表支持以下4種類型的頁表項。

    ·1MB段轉換項;

    ·指向細二級頁表的目錄項;

    ·指向粗二級頁表的目錄項;

    ·產生中止異常的錯誤項。

    系統通過頁表項的低兩位bits[1:0]來確定頁表項的類型。頁表項的格式要求二級頁表的地址必須與其頁大小的倍數對齊。一級頁表的各種頁表項的格式如圖15.26所示。

    圖15.26一級頁表項

    如果bits[1:0]=0b10時,該頁表項為段描述符(SectionDescriptor),段描述符定義了對應的1MB的虛擬存儲空間的地址映射關系。

    如果bits[1:0]=0b01時,該頁表項包含了粗二級頁表的物理地址。該粗二級頁表定義了對應的1MB虛擬存儲空間的地址映射關系。它可以實現以大頁和小頁為單位的地址映射。

    如果bits[1:0]=0b11時,該頁表項包含了細二級頁表的物理地址。該細二級頁表定義了對應的1MB虛擬存儲空間的地址映射關系。它可以實現以大頁、小頁和極小頁為單位的地址映射。

    如果bits[1:0]=0b00時,說明此頁表項是一個錯誤頁表項。它將產生一個存儲頁錯誤。錯誤條件會導致預取指令中止或數據中止,這取決于具體的存儲器訪問類型。

    存儲器相關文章:存儲器原理




    關鍵詞: ARM 存儲管理單元 MMU

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 张家口市| 上高县| 石阡县| 克什克腾旗| 丁青县| 年辖:市辖区| 汕头市| 荔浦县| 包头市| 阜宁县| 望江县| 华安县| 修水县| 上虞市| 灵宝市| 天柱县| 泉州市| 平泉县| 繁昌县| 金沙县| 彩票| 清徐县| 灵宝市| 沾益县| 西吉县| 湘阴县| 巴塘县| 济阳县| 武川县| 电白县| 永泰县| 嘉黎县| 张家口市| 新和县| 温州市| 新兴县| 高安市| 韶山市| 宜州市| 隆回县| 浠水县|