新聞中心

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

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

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

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

        (4)段描述符及其地址變換過程

        如果一級頁表頁表項的bits[1∶0]=0b10,說明此頁表項指向一個1MB的存儲段。頁表項的高12位代替虛擬地址的高12位來產生物理地址。該頁表項還包含域屬性、Cahche屬性、緩沖器屬性和訪問權限屬性。具體定義如表15.22所示。

        表15.22 段頁表項中各字段含義

        字段

        含義

        bits[1:0]

        段頁表項標識

        bits[3:2]

        定義段的Cache和寫緩存屬性

        bit[4]

        生產商定義

        bits[8:5]

        本段所在的域

        bit[9]

        當前未被使用,設置成0

        bits[11:10]

        訪問權限控制AP位,見表15.23

        bits[19:12]

        當前未被使用,設置成0

        bits[31:20]

        該段對應的物理空間基地址的高12位

        表15.23 訪問權限控制位的編碼及其含義

        訪問權限控制AP

        S

        R

        特權模式

        用戶模式

        0b00

        0

        0

        不可訪問

        不可訪問

        0b00

        1

        0

        只讀

        不可訪問

        0b00

        0

        1

        只讀

        只讀

        0b00

        1

        1

        不可預知

        不可預知

        0b01

        X

        X

        讀/寫

        無訪問

        0b10

        X

        X

        讀/寫

        只讀

        0b11

        X

        X

        讀/寫

        讀/寫

        表中S和R位是CP15寄存器c1中的控制位,它們分別對應系統(S)和ROM(R)位。這兩位用來在不同模式加速系統中訪問大的存儲塊。

        設置S位使得所有頁具有不可訪問權限,從而允許特權模式任務對頁有讀訪問權限。因此通過改變CP15寄存器c1中的一位,所有標識為不可訪問的空間一下子變為可用,而不需要改變每個頁表項的AP位,節省了開銷。

        改變R位使得所有頁具有不可訪問權限,因而特權模式任務和用戶模式任務對頁都有讀訪問權限。同樣,這一位可以加速對大塊存儲塊的訪問,而不需要修改許多頁表項的值。

        注意

        地址轉換過程中,在物理地址產生之前,將會按表2.22的編碼對訪問地址的權限進行檢測。

        基于段的地址變換過程如圖15.27所示。

        圖15.27基于段的地址變換過程

        (5)粗二級頁表描述符及其地址變換過程

        如果一級頁表項的bits[1∶0]=0b01,說明此頁表項包含一個粗二級頁表首地址指針,同時還包含一級頁表項代表的1MB虛存段的域信息。粗頁表必須與1KB的倍數地址對齊。頁表項具體定義見表15.24。

        表15.24 粗二級頁表項中各字段含義

        字段

        含義

        bits[1:0]

        粗二級頁表描述符標識

        bits[4:2]

        生產商定義

        bits[8:5]

        域標識符

        bit[9]

        當前未被使用,設置成0

        bits[31:10]

        粗二級頁表基地址,該地址1KB對齊

        基于粗二級頁表的地址變換過程如圖15.28所示。

        (6)細二級頁表描述符及其地址變換過程

        如果一級頁表項的bits[1:0]=0b11,說明此頁表項包含一個細二級頁表首地址指針,同時還包含一級頁表項代表的1MB虛存段的域信息。細頁表必須與4KB的倍數地址對齊。頁表項具體定義如表15.25所示。

        圖15.28基于粗二級頁表的地址變換過程

        表15.25 細二級頁表項中各字段含義

        字段

        含義

        bits[1:0]

        細二級頁表描述符標識

        bits[4:2]

        生產商定義

        bits[8:5]

        域標識符

        bits[11:9]

        當前未被使用,設置成0

        bits[31:12]

        細二級頁表基地址,該地址4KB對齊

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




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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西峡县| 西宁市| 新巴尔虎右旗| 澄迈县| 鹰潭市| 无棣县| 获嘉县| 浮山县| 辽阳市| 澄迈县| 县级市| 宾阳县| 共和县| 青海省| 祁门县| 永安市| 龙游县| 浙江省| 资兴市| 东平县| 麻阳| 洪雅县| 剑阁县| 岳西县| 沽源县| 宣威市| 大田县| 玉溪市| 虹口区| 浦北县| 沙湾县| 安达市| 罗田县| 华宁县| 北川| 三河市| 广灵县| 集贤县| 襄城县| 红安县| 明溪县|