那曲檬骨新材料有限公司

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

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

3天內不再提示

MMU虛擬地址空間布局

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

當然虛擬地址空間劃分不只是如此。因為目前應用程序沒有那么大的內存需求,所以ARM64處理器不支持完全的64位虛擬地址,實際支持情況如下。

(1)-虛擬地址位寬

虛擬地址的最大寬度是48位 內核虛擬地址在64位地址空間的頂部,高16位是全1,范圍是[0xFFFF 0000 0000 0000,0xFFFF FFFF FFFF FFFF];

用戶虛擬地址在64位地址空間的底部,高16位是全0,范圍是[0x00000000 0000 0000,0x0000 FFFF FFFF FFFF];

高16位是全1或全0的地址稱為規范的地址,兩者之間是不規范的地址,不允許使用。

如果處理器實現了ARMv8.2標準的大虛擬地址(Large Virtual Address,LVA)支持,并且頁長度是64KB,那么虛擬地址的最大寬度是52位。這個也就是大頁表,可以提升內存與訪問速度。

可以為虛擬地址配置比最大寬度小的寬度,并且可以為內核虛擬地址和用戶虛擬地址配置不同的寬度。

轉換控制寄存器(Translation Control Register)TCR_EL1的字段T0SZ定義了必須是全0的最高位的數量,字段T1SZ定義了必須是全1的最高位的數量,用戶虛擬地址的寬度是(64-TCR_EL1.T0SZ),內核虛擬地址的寬度是(64-TCR_EL1.T1SZ)。(全是0是代表的用戶,全是1代表的是內核。)

(2)編譯ARM64架構的Linux內核時,可以選擇虛擬地址寬度

? (1)如果選擇頁長度4KB,默認的虛擬地址寬度是39位。

? (2)如果選擇頁長度16KB,默認的虛擬地址寬度是47位。

? (3)如果選擇頁長度64KB,默認的虛擬地址寬度是42位。

? (4)可以選擇48位虛擬地址。

在ARM64架構的Linux內核中,內核虛擬地址和用戶虛擬地址的寬度相同。

? 所有進程共享內核虛擬地址空間,

? 每個進程有獨立的用戶虛擬地址空間,

? 同一個線程組的用戶線程共享用戶虛擬地址空間,內核線程沒有用戶虛擬地址空間。

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

    關注

    68

    文章

    19407

    瀏覽量

    231172
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9165

    瀏覽量

    369168
  • 內存
    +關注

    關注

    8

    文章

    3055

    瀏覽量

    74326
  • MMU
    MMU
    +關注

    關注

    0

    文章

    91

    瀏覽量

    18364
收藏 人收藏

    評論

    相關推薦

    請問ARM的虛擬地址映射有“擴大”內存范圍的作用嗎

    我最開始看關于MMU的知識的時候,是在http://blog.chinaunix.net/uid-20698426-id-136197.html里面說了因為物理內存不夠,裝不下程序。可以用虛擬地址
    發表于 01-19 23:02

    請問ARM虛擬地址 物理地址 加載地址 運行地址的聯系是什么?

    簡單的理解:ARM的加載地址即程序在Flash的存儲位置。運行地址即內存中運行時的位置。虛擬地址和物理地址MMU中映射,那么這四者之間的聯
    發表于 04-25 03:16

    【HarmonyOS】虛擬地址<->物理地址是如何映射的

    MMU的本質虛擬地址(VA): 就是線性地址, 鴻蒙內存部分全是VA的身影, 是由編譯器和鏈接器在定位程序時分配的,每個應用程序都使用相同的虛擬內存地址
    發表于 11-03 16:20

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

    MMU的本質虛擬地址(VA): 就是線性地址, 鴻蒙內存部分全是VA的身影, 是由編譯器和鏈接器在定位程序時分配的,每個應用程序都使用相同的虛擬內存地址
    發表于 11-19 10:52

    物理地址虛擬地址的轉換步驟

    上是不行的,在Linux上,如果想要操作硬件,需要先把物理地址轉換成虛擬地址,因為Linux使能了MMU,所以我們在Linux上不能直接操作物理地址。
    發表于 12-24 07:42

    探討一下ARM中的MMU虛擬地址

    提到MMU就要提到一個概念,虛擬地址(Virtual Address)。前面的文章中反復提到過虛擬地址的概念。使用虛擬地址的好處是它允許管理軟件,例如操作系統(OS)來控制呈現給軟件的
    發表于 04-08 17:17

    linux kernel實現物理地址虛擬地址空間的切換方法

    1、arm linux 臨時頁表的建立linux kernel的主要特點之一就是運行在虛擬地址空間上,但是怎么才能實現物理地址虛擬地址空間
    發表于 05-13 10:21

    鴻蒙內核中虛擬地址與物理地址之間是如何映射的

    內存空間上。CPU只知道虛擬地址,向虛擬地址要數據,但在其保護模式下很悲催地址信號在路上被MMU攔截了,
    發表于 11-19 14:45 ?9次下載
    鴻蒙內核中<b class='flag-5'>虛擬地址</b>與物理<b class='flag-5'>地址</b>之間是如何映射的

    內核邏輯地址和內核虛擬地址到底有什么區別

    了( 這跟用戶態的0-3G的用戶虛擬地址相對應) ,在3G-4G這段范圍內,有段子集3G -3G+main_memory_size,這段主存大小的虛擬地址空間,由于在MMU頁表映射時是
    發表于 03-11 10:10 ?6次下載

    虛擬地址和邏輯地址的區別是什么?

    先解釋下一個困擾了我很久的問題:虛擬地址(vitural address)和邏輯地址(logical address)的區別。 大部分操作系統的書籍要么寫的是虛擬地址,要么寫的是邏輯地址
    的頭像 發表于 06-17 14:08 ?2.4w次閱讀
    <b class='flag-5'>虛擬地址</b>和邏輯<b class='flag-5'>地址</b>的區別是什么?

    虛擬地址物理地址等眾多地址MMU相關知識

    虛擬地址物理地址等眾多地址MMU相關知識先聊聊存儲器STM32單片機存儲器關于編譯器生成的文件數據在存儲器上的存儲結構物理地址、
    發表于 12-08 12:36 ?12次下載
    <b class='flag-5'>虛擬地址</b>物理<b class='flag-5'>地址</b>等眾多<b class='flag-5'>地址</b>及<b class='flag-5'>MMU</b>相關知識

    為什么要用MMU?為什么要用虛擬地址?

    既然MMU開啟后,硬件會自動的將虛擬地址轉換成物理地址,那么還需要我們軟件做什么事情呢?即創建一個頁表翻譯都需要做哪些事情呢?或者說啟用一個MMU需要軟件做什么事情呢?
    的頭像 發表于 04-26 14:37 ?5041次閱讀

    Linux系統為什么需要引入虛擬地址

    ,這 4GB 的內存空間按照 3:1 的比例進行分配,其中用戶進程享有 3G 的空間,而內核獨自享有剩下的1G 空間,如下所示: 虛擬地址會通過硬件
    的頭像 發表于 10-07 17:28 ?1020次閱讀
    Linux系統為什么需要引入<b class='flag-5'>虛擬地址</b>

    Linux虛擬地址空間和物理地址空間的關系

    過程,這其實也是MMU的工作原理。 我們知道,在Linux中,每個進程都有自己獨立的地址空間,且互不干擾。每個進程的地址空間又分為用戶
    的頭像 發表于 10-08 11:40 ?1257次閱讀
    Linux<b class='flag-5'>虛擬地址</b><b class='flag-5'>空間</b>和物理<b class='flag-5'>地址</b><b class='flag-5'>空間</b>的關系

    Linux虛擬地址到物理地址轉換過程

    虛擬地址到物理地址轉換過程 虛擬地址和物理地址都被劃分了兩部分: 虛擬地址虛擬頁面號VPN和
    的頭像 發表于 10-08 11:45 ?2052次閱讀
    Linux<b class='flag-5'>虛擬地址</b>到物理<b class='flag-5'>地址</b>轉換過程
    qq德州扑克怎么玩| 沙龙网上娱乐| 百家乐投注法则| 百家乐官网棋牌官网| 灵武市| 威尼斯人娱乐场网站| 百家乐隔一数打投注法| 百家乐官网计算法| 沙巴百家乐官网现金网| 棋牌游戏评测网| 千亿娱百家乐的玩法技巧和规则 | 属蛇和属猪做生意吗| 蓝盾百家乐官网代理| 百家乐官网最新的投注方法| 赌场风云国语| 威尼斯人娱乐城极好| 万龙百家乐的玩法技巧和规则| 定制百家乐官网桌子| 百家乐官网庄6点| 百家乐官网软件骗人吗| 皇冠娱乐场| 大发888娱乐城充值lm0| 百家乐园云鼎娱乐平台| 百家乐会骗人吗| 百家乐官网网上真钱娱乐场开户注册 | 百家乐赚钱项目| 百家乐官网制胜秘| 宝博百家乐官网娱乐城| 百家乐官网作弊工具| 利博国际娱乐| ,博彩通| 六合彩开奖现场| 大发888 安装包的微博| 威尼斯人娱乐城 老品牌| 洛克百家乐的玩法技巧和规则| 澳门百家乐走势图| 百家乐技巧娱乐博彩| 真人百家乐现金游戏| 百家乐斗地主在哪玩| 太阳城百家乐作弊| 百家乐发牌铲|