chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MMU虛擬地址空間布局

麥辣雞腿堡 ? 來源:TrustZone ? 作者:Hcoco ? 2023-11-26 16:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)然虛擬地址空間劃分不只是如此。因?yàn)槟壳皯?yīng)用程序沒有那么大的內(nèi)存需求,所以ARM64處理器不支持完全的64位虛擬地址,實(shí)際支持情況如下。

(1)-虛擬地址位寬

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

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

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

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

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

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

(2)編譯ARM64架構(gòu)的Linux內(nèi)核時(shí),可以選擇虛擬地址寬度

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

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

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

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

在ARM64架構(gòu)的Linux內(nèi)核中,內(nèi)核虛擬地址和用戶虛擬地址的寬度相同。

? 所有進(jìn)程共享內(nèi)核虛擬地址空間,

? 每個(gè)進(jìn)程有獨(dú)立的用戶虛擬地址空間,

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19896

    瀏覽量

    235298
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9353

    瀏覽量

    377637
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3125

    瀏覽量

    75274
  • MMU
    MMU
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    18754
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    請問ARM的虛擬地址映射有“擴(kuò)大”內(nèi)存范圍的作用嗎

    我最開始看關(guān)于MMU的知識(shí)的時(shí)候,是在http://blog.chinaunix.net/uid-20698426-id-136197.html里面說了因?yàn)槲锢韮?nèi)存不夠,裝不下程序??梢杂?b class='flag-5'>虛擬地址
    發(fā)表于 01-19 23:02

    請問ARM虛擬地址 物理地址 加載地址 運(yùn)行地址的聯(lián)系是什么?

    簡單的理解:ARM的加載地址即程序在Flash的存儲(chǔ)位置。運(yùn)行地址即內(nèi)存中運(yùn)行時(shí)的位置。虛擬地址和物理地址MMU中映射,那么這四者之間的聯(lián)
    發(fā)表于 04-25 03:16

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

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

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

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

    物理地址虛擬地址的轉(zhuǎn)換步驟

    上是不行的,在Linux上,如果想要操作硬件,需要先把物理地址轉(zhuǎn)換成虛擬地址,因?yàn)長inux使能了MMU,所以我們在Linux上不能直接操作物理地址。
    發(fā)表于 12-24 07:42

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

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

    linux kernel實(shí)現(xiàn)物理地址虛擬地址空間的切換方法

    1、arm linux 臨時(shí)頁表的建立linux kernel的主要特點(diǎn)之一就是運(yùn)行在虛擬地址空間上,但是怎么才能實(shí)現(xiàn)物理地址虛擬地址空間
    發(fā)表于 05-13 10:21

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

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

    內(nèi)核邏輯地址和內(nèi)核虛擬地址到底有什么區(qū)別

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

    虛擬地址和邏輯地址的區(qū)別是什么?

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

    虛擬地址物理地址等眾多地址MMU相關(guān)知識(shí)

    虛擬地址物理地址等眾多地址MMU相關(guān)知識(shí)先聊聊存儲(chǔ)器STM32單片機(jī)存儲(chǔ)器關(guān)于編譯器生成的文件數(shù)據(jù)在存儲(chǔ)器上的存儲(chǔ)結(jié)構(gòu)物理地址、
    發(fā)表于 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>相關(guān)知識(shí)

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

    既然MMU開啟后,硬件會(huì)自動(dòng)的將虛擬地址轉(zhuǎn)換成物理地址,那么還需要我們軟件做什么事情呢?即創(chuàng)建一個(gè)頁表翻譯都需要做哪些事情呢?或者說啟用一個(gè)MMU需要軟件做什么事情呢?
    的頭像 發(fā)表于 04-26 14:37 ?5467次閱讀

    Linux系統(tǒng)為什么需要引入虛擬地址

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

    Linux虛擬地址空間和物理地址空間的關(guān)系

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

    Linux虛擬地址到物理地址轉(zhuǎn)換過程

    虛擬地址到物理地址轉(zhuǎn)換過程 虛擬地址和物理地址都被劃分了兩部分: 虛擬地址虛擬頁面號VPN和
    的頭像 發(fā)表于 10-08 11:45 ?2574次閱讀
    Linux<b class='flag-5'>虛擬地址</b>到物理<b class='flag-5'>地址</b>轉(zhuǎn)換過程