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

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

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

通過處理器中的MMU進行VA-PA轉(zhuǎn)換

冬至配餃子 ? 來源:芯片驗證工程師 ? 作者:驗證哥布林 ? 2022-07-28 18:06 ? 次閱讀

處理器中的MMU可以讓我們能夠構建具有多個VA-PA映射表的數(shù)字系統(tǒng)。

不同程序操作同一個VA,這個VA被不同的頁表映射到不同的PA。

操作系統(tǒng)內(nèi)核將每個應用程序的指令和數(shù)據(jù)放在物理內(nèi)存中,但是應用程序并不是直接通過物理地址讀寫這些指令和數(shù)據(jù)。簡單來說,就是通過MMU進行VA-PA轉(zhuǎn)換,這讓程序設計變得簡單很多。

所有的程序員都應該了解和感謝虛擬地址,它讓你的工作沒那么dirty。因為這個dirty的工作被操作系統(tǒng)硬件完成了。

頁表

在處理器中這種VA-PA的映射關系稱為頁表,頁表中的每一個頁表項都完成了某個VA-PA的映射對應。頁表格式其實還比較復雜,除了VA-PA的映射關系,還有其他的一些內(nèi)存屬性和訪問權限定義。

pYYBAGLiXziAciU2AABGGCIASkc804.png

處理器內(nèi)核生成的地址都是虛擬地址,然后在訪問實際物理內(nèi)存空間之前通過MMU映射成了物理地址。但是,基于不同的頁表粒度大小,比如說4KB,實際的VA-PA的映射只是將高比特做了替換。

在早期這個VA-PA的映射過程并不是由硬件完成的,后來才由硬件完成這個VA-PA轉(zhuǎn)換,形象點來說稱為translation table walking。


審核編輯:劉清

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

    關注

    68

    文章

    19052

    瀏覽量

    228573
  • MMU
    MMU
    +關注

    關注

    0

    文章

    91

    瀏覽量

    18240
收藏 人收藏

    評論

    相關推薦

    大疆嵌入式筆試題及參考,處理器讀取內(nèi)存的過程

    簡述處理器在讀取內(nèi)存過程,CPU核,Cache,MMU是如何協(xié)同工作的?(用自己熟悉的處理解釋)不明覺厲啊,捯飭了一段時間有點明白了,就寫下來記錄一下。首先不得不說大疆是個“心機婊”
    發(fā)表于 11-21 15:36

    處理器在讀內(nèi)存的過程,CPU核、cache、MMU如何協(xié)同工作?

    處理器中斷處理的過程是怎樣的?處理器在讀內(nèi)存的過程,CPU核、cache、MMU如何協(xié)同工作?
    發(fā)表于 10-18 08:57

    通過處理器創(chuàng)建MC9S08DZ60芯片

    說明:通過處理器專家創(chuàng)建芯片為MC9S08DZ60的工程,按鍵控制LED一、CW11.1軟件界面布局1、雙擊桌面圖標,打開軟件,設置工作空間軟件主界面調(diào)試界面處理器專家界面有時經(jīng)常調(diào)整(刪除)面板
    發(fā)表于 11-01 07:11

    ARM處理器有哪些性能呢

    。ARM復位后PC無條件的指向0x00000000處。MMU是ARM處理器的內(nèi)存管理單元,CPU管理虛擬存儲、物理存儲的控制線路,同時負責虛擬地址映射為物理地址,以及提供硬件機制的
    發(fā)表于 12-21 07:16

    MMU存儲管理單元的工作原理是什么?如何實現(xiàn)其流程呢

    包含:寄存讀寫和中斷;地址為寄存地址;圖中#3過程除了#1所述數(shù)據(jù)之外,還有GPU產(chǎn)生的中間數(shù)據(jù),比如:染色后的頂點、片段數(shù)據(jù)等;地址為虛擬地址。GPU若要正確的讀寫DDR,必須通過
    發(fā)表于 05-13 09:56

    求助,尋找支持MMU處理器

    我目前正在評估 iMXRT1062 處理器,現(xiàn)在正在尋找具有接近相同 I/O 和內(nèi)存特性但還支持 MMU處理器。也許有人可以就此提出建議。
    發(fā)表于 03-27 07:57

    ARM CoreLink MMU-400系統(tǒng)內(nèi)存管理單元技術參考手冊

    ARM?CoreLink? MMU-400為系統(tǒng)處理器之外的總線主機提供ARM v7虛擬化擴展。MMU-400在硬件中轉(zhuǎn)換地址,以加速多
    發(fā)表于 08-02 09:21

    Arm CoreLink MMU?700系統(tǒng)內(nèi)存管理單元技術參考手冊

    MMU?700是一個系統(tǒng)級內(nèi)存管理單元(SMMU),用于將輸入地址轉(zhuǎn)換為輸出地址。此轉(zhuǎn)換基于MMU?700內(nèi)部寄存
    發(fā)表于 08-08 07:44

    ARM CORELINK?MMU-600AE系統(tǒng)內(nèi)存管理單元技術參考手冊

    翻譯,將輸入VA轉(zhuǎn)換為IPA,然后將該IPA轉(zhuǎn)換為輸出PA。MMU-600AE執(zhí)行翻譯的每個階段的翻譯臺步。 除了將輸入地址
    發(fā)表于 08-09 06:28

    什么是PA-RISC處理器

    什么是PA-RISC處理器  PA-RISC處理
    發(fā)表于 12-17 10:42 ?1850次閱讀

    S3C2410內(nèi)存管理單元MMU基礎實驗

    (11)實驗十一:MMU 在理論上概括或解釋MMU,這不是我能勝任的。我僅基于為了理解本實驗操作MMU的代碼而對MMU做些說明,現(xiàn)在先簡單
    發(fā)表于 01-01 02:29 ?17次下載

    沒有MMU處理器可否安裝操作系統(tǒng)呢?

    MMUVAPA映射的最小單位稱為頁(Page),映射的最低粒度是單個虛擬頁到物理頁,頁大小通常是4K,即一次最少要把4K大小的VA頁塊整
    的頭像 發(fā)表于 04-21 10:45 ?7333次閱讀
    沒有<b class='flag-5'>MMU</b>的<b class='flag-5'>處理器</b>可否安裝操作系統(tǒng)呢?

    一文解讀內(nèi)存管理單元 (MMU)

    一般MMU會有一種disable的模式,即不使能MMU,所有虛擬地址都直接映射到相應的物理地址,VA=PA
    的頭像 發(fā)表于 07-28 18:09 ?4490次閱讀
    一文解讀內(nèi)存管理單元 (<b class='flag-5'>MMU</b>)

    MMU的頁命中、缺頁介紹

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

    鴻蒙輕內(nèi)核源碼分析:MMU 協(xié)處理器

    1、 ARM C15 協(xié)處理器 在 ARM 嵌入式應用系統(tǒng), 很多系統(tǒng)控制由 ARM CP15 協(xié)處理器來完成的。CP15 協(xié)處理器包含編號 0-15 的 16 個 32 位的寄存
    的頭像 發(fā)表于 02-20 14:28 ?479次閱讀
    鴻蒙輕內(nèi)核源碼分析:<b class='flag-5'>MMU</b> 協(xié)<b class='flag-5'>處理器</b>