一级页表虚拟地址转换为物理地址示例

本文我们展示一个只有一级页表,虚拟地址转换为物理地址的示例。
其中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属性等等)。
简单来说就是指定了访问物理地址空间所需的全部信息。


智慧生活,创新未来—深圳消费电子展邀您参加
怎么样才能判断晶振的好坏?晶振的主要参数详解
电瓶修复——关于想制作快速充电的建议
kindle没电了充电一直显示感叹号
Arteris推出下一代FlexNoC 5物理感知片上网络IP
一级页表虚拟地址转换为物理地址示例
半导体何时复苏?分析师:无法预测!
德索共享HSD线束加工材料选择
简述游戏中常用的两种随机算法(上)
西门子发布Tessent RTL Pro加速下一代关键可测试性设计任务
Facebook将进军视频领域
宏图DVD几种常见故障的现象和解决方法
华为nova 13-16等多款5G新机通过蓝牙备案
蒲公英工业4G路由器助力共享停车突破瓶颈
2023年最好用的智能手表盘点:炫酷指南,探索佩戴的极致
凌力尔特公司推出电路保护控制器 LTC4368
高通发布骁龙675,成中高端手机标配
iPhone8什么时候上市:iPhone8因技术难题或难产,果粉们怎么看
59N6-TE机动型雷达受到国外客户的欢迎
基于管理和组合HDL电路单元IP库的HAD辅助设计软件研究