讲的比较好的博客在这。
我就是补充一下,在使用32位逻辑地址的前提下,把4GB的内存扩展成64GB的内存,其实就相当于一个三级页表,第一级占两位,第二级占9位,第三级占9位,页内偏移占12位,这样可以访问4GB内存;
但是最重要的是,操作系统可以通过修改CR3寄存器的值,然后同一个逻辑地址,却可以去访问不同的第一级页表,也就是访问不同的目录,这样就可以访问不同的4GB了。
就相当于在三级页表的基础上加了个顶级页表CR3(虽然CR3不是页表,这样说是为了易于理解),访存的时候可以根据CR3的不同取值去访问不同的4GB,这样,就实现了用32位逻辑访问64GB的内存
这块我也不是很懂,欢迎评论区指正