精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MMU多級頁表映射過程

麥辣雞腿堡 ? 來源:TrustZone ? 作者:Hcoco ? 2023-11-26 16:28 ? 次閱讀

物理頁面大小一級地址總線寬度不同,頁表的級數也不同。以AArch64運行狀態,4KB大小物理頁面,48位地址寬度為例,頁表映射的查詢過程如圖:

圖片

對于多任務操作系統,每個用戶進程都擁有獨立的進程地址空間,也有相應的頁表負責虛擬地址到物理地址之間的轉換。MMU查詢的過程中,用戶進程的一級頁表的基址存放在TTBR0。操作系統的內核空間公用一塊地址空間,MMU查詢的過程中,內核空間的一級頁表基址存放在TTBR1。當TLB未命中時,處理器查詢頁表的過程如下:

? 處理器根據虛擬地址第63位,來選擇使用TTBR0或者TTBR1。當VA[63]為0時,選擇TTBR0,TTBR中存放著L0頁表的基址。

? 處理器以VA[47:39]作為L0的索引,在L0頁表中查找頁表項,L0頁表有512個頁表項。

?L0頁表的頁表項中存放著L1頁表的物理基址。處理器以VA[38:30]作為L1索引,在L1頁表中找到相應的頁表項,L1頁表中有512個頁表項。

?L1頁表的頁表項中存放著L2頁表的物理基址。處理器以VA[29:21]作為L2索引,在L2頁表中找到相應的頁表項,L2頁表中有512個頁表項。

?L2頁表的頁表項中存放著L3頁表的物理基址。處理器以VA[20:12]作為L1索引,在L3頁表中找到相應的頁表項,L3頁表中有512個頁表項。

?L3頁表的頁表項里,存放著4KB頁面的物理基址,然后加上VA[11:0],這樣就構成了物理地址,至此處理器完成了一次虛擬地址到物理地址的查詢與翻譯的工作。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19178

    瀏覽量

    229200
  • 操作系統
    +關注

    關注

    37

    文章

    6747

    瀏覽量

    123203
  • MMU
    MMU
    +關注

    關注

    0

    文章

    91

    瀏覽量

    18268
收藏 人收藏

    評論

    相關推薦

    關于MMU的一級為什么必須是16K對齊

    哪位仁兄知道:MMU的一級為什么必須是16K對齊,最好有計算公式~~~謝謝?。?!
    發表于 02-14 23:46

    關于MMU的問題

    剛開始學,好多東西都云里霧里的TT為什么在bootloader里要進行初始化然后開啟MMU,然后在進入內核后還要創建開啟
    發表于 05-06 17:25

    ARM MMU 理解(基于ARM 920T)

    被用戶應用程序所訪問的。通過MMU可以控制地址空間的訪問權限,從而保護這些代碼不被破壞。MMU的實現過程,實際上就是一個查表映射過程。建立
    發表于 08-29 11:10

    MMU映射的地址訪問會怎么處理?

    `訪問一個MMU表里沒有填寫映射描述符的虛擬地址,會發生什么?百度沒有找到明確的解答,求前輩指導。`
    發表于 06-25 09:40

    MMU的產生及MMU工作過程詳解

    號為2,框2的物理地址范圍是8192~12287,故MMU將虛擬地址1026映射為物理地址9218(框首地址+偏移量=8192+1026=9218)。以上就是
    發表于 07-03 08:19

    ARM11 S3C6410的地址

    映射方式為段映射,且映射粒度為16M時,映射圖如下: 虛擬地址到物理地址的映射過程如下: 虛擬地址的[31:24]位存放一級
    發表于 08-17 00:53

    裸機加強版MMU章節創建,地址映射相同

    ARM裸機1期加強版 024_mmu_cache_021\002_mmu_021_004\mmu.c 文件/* 2.3 for 64M sdram */創建
    發表于 04-18 07:45

    為什么我把MMU裸機程序修改成兩級后程序編譯時提示找不到‘memset’函數?

    在看完MMU例程之后,我在原來程序的基礎上把一級改成了兩級,用一個粗和一個小
    發表于 08-07 22:20

    映射過程映射到FPGA上的LUT時利用率都會達到0%是為什么?

    嗨,大家好,我遇到了Xilinx ISE映射過程的棘手問題。當我綜合我的設計時,我得到了一些FPGA資源的利用。雖然在映射過程映射到FPGA上的LUT時,所有利用率都會達到0%。他很可能是由于
    發表于 06-13 09:57

    ARM的內存管理(MMU)是如何實現的?

    是不希望被用戶應用程序所訪問的。通過 MMU 可以控制地址空間的訪問權限,從而保護這些代碼不被破壞。二 MMU 地址映射的實現MMU 的實現過程
    發表于 10-23 15:29

    鴻蒙內核源碼分析(內存映射篇):虛擬地址與物理地址之間是如何映射

    ));//釋放內存池}LOS_ArchMmuMap 生成L1,L2表項,實現映射過程mmu的map 就是生成L1,L2表項的
    發表于 11-19 10:52

    詳解ARMv8-A系列CPU的MMU隱射查找過程

    狀態,MMU的選取又能分為幾種方式。本文首先分析異常級別、執行狀態、MMU選取三者之間的
    發表于 08-09 17:18

    MMU表工作機制的簡單評析

    對于一個有MMU的CPU而言,MMU開啟后,CPU是這樣尋址的:CPU任何時候,一切時候,發出的地址都是虛擬地址,這個虛擬地址發給MMU后,MMU通過
    的頭像 發表于 02-02 14:08 ?1.1w次閱讀
    對<b class='flag-5'>MMU</b>和<b class='flag-5'>頁</b>表工作機制的簡單評析

    MMU如何知道在內存中的具體地址

    Translation and Protection) 基址寄存器存儲了第一級的基地址,通過訪問該寄存器,就能知道
    的頭像 發表于 10-08 11:52 ?1215次閱讀
    <b class='flag-5'>MMU</b>如何知道<b class='flag-5'>頁</b><b class='flag-5'>表</b>在內存中的具體地址

    MMU中的命中、缺頁介紹

    命中、缺頁 (1)命中 ? a) 處理器要對虛擬地址VA進行訪問。 ? b) MMU的TLB沒有命中,通過TWU遍歷主存中的PTEA
    的頭像 發表于 11-26 16:19 ?1029次閱讀
    <b class='flag-5'>MMU</b>中的<b class='flag-5'>頁</b>命中、缺頁介紹