處理器中的MMU可以讓我們能夠構(gòu)建具有多個VA-PA映射表的數(shù)字系統(tǒng)。
不同程序操作同一個VA,這個VA被不同的頁表映射到不同的PA。
操作系統(tǒng)內(nèi)核將每個應(yīng)用程序的指令和數(shù)據(jù)放在物理內(nèi)存中,但是應(yīng)用程序并不是直接通過物理地址讀寫這些指令和數(shù)據(jù)。簡單來說,就是通過MMU進(jìn)行VA-PA轉(zhuǎn)換,這讓程序設(shè)計變得簡單很多。
所有的程序員都應(yīng)該了解和感謝虛擬地址,它讓你的工作沒那么dirty。因為這個dirty的工作被操作系統(tǒng)和硬件完成了。
頁表
在處理器中這種VA-PA的映射關(guān)系稱為頁表,頁表中的每一個頁表項都完成了某個VA-PA的映射對應(yīng)。頁表格式其實還比較復(fù)雜,除了VA-PA的映射關(guān)系,還有其他的一些內(nèi)存屬性和訪問權(quán)限定義。
處理器內(nèi)核生成的地址都是虛擬地址,然后在訪問實際物理內(nèi)存空間之前通過MMU映射成了物理地址。但是,基于不同的頁表粒度大小,比如說4KB,實際的VA-PA的映射只是將高比特做了替換。
在早期這個VA-PA的映射過程并不是由硬件完成的,后來才由硬件完成這個VA-PA轉(zhuǎn)換,形象點來說稱為translation table walking。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19890瀏覽量
235140 -
MMU
+關(guān)注
關(guān)注
0文章
92瀏覽量
18749
發(fā)布評論請先 登錄
大疆嵌入式筆試題及參考,處理器讀取內(nèi)存的過程
處理器在讀內(nèi)存的過程中,CPU核、cache、MMU如何協(xié)同工作?
通過處理器創(chuàng)建MC9S08DZ60芯片
ARM處理器有哪些性能呢
MMU存儲管理單元的工作原理是什么?如何實現(xiàn)其流程呢
求助,尋找支持MMU的處理器
ARM CoreLink MMU-400系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊
Arm CoreLink MMU?700系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊
ARM CORELINK?MMU-600AE系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊
S3C2410內(nèi)存管理單元MMU基礎(chǔ)實驗
鴻蒙輕內(nèi)核源碼分析:MMU 協(xié)處理器

評論