首页IT科技操作系统页表结构图(操作系统页表)

操作系统页表结构图(操作系统页表)

时间2025-07-17 04:52:01分类IT科技浏览5125
导读:虚拟内存 虚拟地址到物理地址的映射以实现隔离性 每个程序有独立的地址空间,不相互影响...

虚拟内存

虚拟地址到物理地址的映射以实现隔离性 每个程序有独立的地址空间               ,不相互影响

页表

地址操作简单流程

CPU向虚拟地址va加载或写入数据–>CPU将va交给内存管理单元MMU–>SATP寄存器存放着内存中存放虚拟地址到物理地址的表单–>MMU通过SATP查找表单获得va的物理地址–>完成物理地址的加载或写入               。

虚拟内存地址 为64bit                      ,高25bit不使用      ,只用39bit 中间27bit为index           ,可知物理page号(PPN)                       ,包含4096字节 低12bit为offset(

2

12

=

4096

2^{12} = 4096

212=4096
)         ,指向page中4096字节的某1个–>物理地址 = page + offset

物理地址

为56bit       ,44bit为PPN                        ,剩下12bit直接复制虚拟地址的offset

page table

内容:虚拟内存地址:物理地址的映射 多级结构

虚拟内存地址的index分成3个9bit             ,每个bit称作1个page directory   ,SATP寄存器实际指向第1个page directory的地址                      。每个page directory都有512大小                       ,它们指向一个PTE(Page Table Entry)                 ,因此共需要3*512个PTE(Page Table Entry)      。

PTE PTE可以看成从虚拟地址到物理地址的分级索引           。虚拟地址的3个数值表示在page directory中的偏移,此偏移加上当前page directory的首地址                   ,则可得到1个64bit的PTE的物理地址

                       。PTE中存放着PPN                     ,PPN表示1个物理页号   ,在此物理页号后补12个0               ,相当于offset为0                      ,则可得到真正的物理地址      ,以此进入下一个page directory的首地址           ,当然最后1个page directory加上va的offset就是查找的真正的物理地址;还有一些标志位                       ,比如V表示此地址翻译是否可用         。

TLB页表缓存

切换page table 会清空TLB

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
slam算法百度百科(一起自学SLAM算法:12.1 ros-navigation导航系统) 关键词挖掘是什么意思(解锁SEO秘籍!免费关键词挖掘工具助你轻松夺冠)