今天详细的思考了一下2-9-9-12分页,解决了自己心中的一些疑问,也加深了之前对10-10-12分页的一些理解(可能理解上还是有不对的地方,敬请留言!感谢!)
一.2-9-9-12的分页格式:
CR3还是4字节,32位大小的地址:0xFFFFFFFF
PDPTE,PDE,PTE,物理地址全部改为8字节大小,最大范围0xFFFFFFFFFFFFFFFF
二.2-9-9-12分页的物理地址空间的大小:
4GB(对,跟10-10-12一样,还是4GB)
4*512*512*4096=4GB,因此一个进程空间大小还是4GB,还是只能存放4GB个物理地址(那跟10-10-12分页,有什么区别呢?区别是在于物理地址的寻址范围)
三.2-9-9-12分页的 物理地址可寻址范围:
2^64
一个32位的地址0XFFFFFFFF,已经是地址的最大值(4GB),那想要突破寻址能力,地址的长度一定是要增加的,如果地址由32位,增加到36位(0xFFFFFFFFF),那可表示的最大地址就是64GB了.
为了兼容4字节对齐,因此地址直接增加到8字节,那最大值就变为了2^64,很大的一个数字.
因此分页方式的改变,目的不是为了增加进程空间的大小,而是为了增加物理地址的可寻址范围.