處理器中的MMU可以讓我們能夠構建具有多個VA-PA映射表的數字系統。
不同程序操作同一個VA,這個VA被不同的頁表映射到不同的PA。
操作系統內核將每個應用程序的指令和數據放在物理內存中,但是應用程序并不是直接通過物理地址讀寫這些指令和數據。簡單來說,就是通過MMU進行VA-PA轉換,這讓程序設計變得簡單很多。
所有的程序員都應該了解和感謝虛擬地址,它讓你的工作沒那么dirty。因為這個dirty的工作被操作系統和硬件完成了。
頁表
在處理器中這種VA-PA的映射關系稱為頁表,頁表中的每一個頁表項都完成了某個VA-PA的映射對應。頁表格式其實還比較復雜,除了VA-PA的映射關系,還有其他的一些內存屬性和訪問權限定義。
處理器內核生成的地址都是虛擬地址,然后在訪問實際物理內存空間之前通過MMU映射成了物理地址。但是,基于不同的頁表粒度大小,比如說4KB,實際的VA-PA的映射只是將高比特做了替換。
在早期這個VA-PA的映射過程并不是由硬件完成的,后來才由硬件完成這個VA-PA轉換,形象點來說稱為translation table walking。
審核編輯:劉清
-
處理器
+關注
關注
68文章
19409瀏覽量
231201 -
MMU
+關注
關注
0文章
91瀏覽量
18370
發布評論請先 登錄
相關推薦
大疆嵌入式筆試題及參考,處理器讀取內存的過程
通過處理器創建MC9S08DZ60芯片
ARM處理器有哪些性能呢
MMU存儲管理單元的工作原理是什么?如何實現其流程呢
求助,尋找支持MMU的處理器
ARM CoreLink MMU-400系統內存管理單元技術參考手冊
Arm CoreLink MMU?700系統內存管理單元技術參考手冊
ARM CORELINK?MMU-600AE系統內存管理單元技術參考手冊
S3C2410內存管理單元MMU基礎實驗
鴻蒙輕內核源碼分析:MMU 協處理器
![鴻蒙輕內核源碼分析:<b class='flag-5'>MMU</b> 協<b class='flag-5'>處理器</b>](https://file1.elecfans.com/web2/M00/C0/48/wKgZomXURhaAGcYoAAMU1aaKtPg526.png)
評論