本文我們展示一個(gè)只有一級(jí)頁(yè)表,虛擬地址轉(zhuǎn)換為物理地址的示例。
其中VA為32比特(共4GB地址空間),每個(gè)頁(yè)大小為1MB,所以一共4096個(gè)頁(yè)表項(xiàng)。
每個(gè)頁(yè)表項(xiàng)指向的都是1MB頁(yè)表大小的頁(yè)表項(xiàng),其中會(huì)給出物理地址的高位比特([31:20])。
上圖中的頁(yè)表基地址Translation Table Base Address(TTBA)是由軟件指定的。當(dāng)MMU執(zhí)行硬件頁(yè)表轉(zhuǎn)換時(shí),需要根據(jù)頁(yè)表的基地址和VA[31:20] index獲取VA-PA映射關(guān)系,以頁(yè)表粒度完成VA-PA的轉(zhuǎn)換,例如1MB粒度,那么
VA[19:0]=PA[19:0]
上圖中頁(yè)表的基地址為0x12300000,每個(gè)頁(yè)表項(xiàng)的大小為4Byte,VA為0x00100000,高12比特(0x001)作為頁(yè)表的索引index。所以這個(gè)VA-PA需要使用到的頁(yè)表項(xiàng)存儲(chǔ)地址為
Base addr + 0x001 * 4 bytes = 0x12300004
最后,根據(jù)拿到的VA-PA映射關(guān)系就可以拿到PA了,具體的頁(yè)表格式根據(jù)不同的實(shí)現(xiàn)而異。
上圖是個(gè)示例的32比特頁(yè)表格式,根據(jù)低2比特確定這個(gè)頁(yè)表項(xiàng)的類型。
2`b00:invalid 頁(yè)表,上報(bào)異常,由軟件處理。
2`b10:指向的是物理地址。
2`b01:指向的是下一級(jí)頁(yè)表的基地址。
假設(shè)低2比特為2’b10,那么這個(gè)頁(yè)表項(xiàng)中的內(nèi)容就是實(shí)際指向的物理地址。頁(yè)表項(xiàng)中除了指定了物理地址,還包含了頁(yè)的內(nèi)存屬性(訪問權(quán)限、cache屬性、buffer屬性等等)。
簡(jiǎn)單來說就是指定了訪問物理地址空間所需的全部信息。
審核編輯:劉清
-
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4525瀏覽量
87339 -
Cache
+關(guān)注
關(guān)注
0文章
130瀏覽量
29023 -
內(nèi)存交換
+關(guān)注
關(guān)注
0文章
2瀏覽量
6435
發(fā)布評(píng)論請(qǐng)先 登錄
TECS OpenStack資源池虛擬機(jī)網(wǎng)絡(luò)二層地址無法互通的問題處理

季豐推出SRAM錯(cuò)誤地址定位黑科技

請(qǐng)問如何在imx8qm上將PCIe和SMMU用于顯卡?
NAT網(wǎng)絡(luò)地址轉(zhuǎn)換的技術(shù)原理

MAC地址的作用范圍,MAC地址怎么申請(qǐng)?

怎么綁定IP地址和MAC地址
IP地址歸屬地離線庫(kù)——網(wǎng)絡(luò)安全行業(yè)的基石
如何獲取MAC地址?MAC地址的三個(gè)申請(qǐng)條件

RV32 和 RV64 特權(quán)架構(gòu):模塊化特性滿足系統(tǒng)需求
一文帶你了解IP地址別名
IP地址與NAT技術(shù)的結(jié)合與應(yīng)用
環(huán)回IP地址:原理、應(yīng)用

IP地址的分配
怎么申請(qǐng)MAC地址?MAC地址申請(qǐng)流程分享

評(píng)論