本文我们展示一个只有一级页表,虚拟地址转换为物理地址的示例。
其中VA为32比特(共4GB地址空间),每个页大小为1MB,所以一共4096个页表项。
每个页表项指向的都是1MB页表大小的页表项,其中会给出物理地址的高位比特([31:20])。
上图中的页表基地址Translation Table Base Address(TTBA)是由软件指定的。当MMU执行硬件页表转换时,需要根据页表的基地址和VA[31:20] index获取VA-PA映射关系,以页表粒度完成VA-PA的转换,例如1MB粒度,那么
VA[19:0]=PA[19:0]
上图中页表的基地址为0x12300000,每个页表项的大小为4Byte,VA为0x00100000,高12比特(0x001)作为页表的索引index。所以这个VA-PA需要使用到的页表项存储地址为
Base addr + 0x001 * 4 bytes = 0x12300004
最后,根据拿到的VA-PA映射关系就可以拿到PA了,具体的页表格式根据不同的实现而异。
上图是个示例的32比特页表格式,根据低2比特确定这个页表项的类型。
2`b00:invalid 页表,上报异常,由软件处理。
2`b10:指向的是物理地址。
2`b01:指向的是下一级页表的基地址。
假设低2比特为2’b10,那么这个页表项中的内容就是实际指向的物理地址。页表项中除了指定了物理地址,还包含了页的内存属性(访问权限、cache属性、buffer属性等等)。
简单来说就是指定了访问物理地址空间所需的全部信息。
审核编辑:刘清
-
存储
+关注
关注
13文章
4388浏览量
86340 -
Cache
+关注
关注
0文章
129浏览量
28512 -
内存交换
+关注
关注
0文章
2浏览量
6401
发布评论请先 登录
相关推荐
NAT网络地址转换的技术原理

MAC地址的作用范围,MAC地址怎么申请?

怎么绑定IP地址和MAC地址
IP地址归属地离线库——网络安全行业的基石
如何获取MAC地址?MAC地址的三个申请条件

RV32 和 RV64 特权架构:模块化特性满足系统需求
IP地址与NAT技术的结合与应用

IP地址的分配
怎么申请MAC地址?MAC地址申请流程分享

NAT网络地址转换和DMZ隔离是什么意思
如何注册星闪Sparklink设备媒体接入层标识、地址码?

评论