需要多少页表/PTE来处理xyz大小的内存?
原文英文,约200词,阅读约需1分钟。
📝
内容提要
对于m字节的虚拟内存(最多256T),需要1 + m/2M + m/1G + m/512G的页表,每个级别都占用4K的空间。页表大约占虚拟内存大小的1/512比例。假设有4K页,48位虚拟地址,4级分页。每个页表占用一个页面,并且页面对齐。每个页表项(或翻译表描述符)占用8字节。即每个页表有512个条目。我们将翻译短语从L0到L3命名。计算公式如上。
🎯
关键要点
-
对于m字节的虚拟内存(最多256T),需要1 + m/2M + m/1G + m/512G的页表。
-
每个页表占用4K的空间,页表大约占虚拟内存大小的1/512比例。
-
假设有4K页,48位虚拟地址,4级分页。
-
每个页表占用一个页面,并且页面对齐。
-
每个页表项占用8字节,每个页表有512个条目。
-
翻译短语从L0到L3命名。
-
虚拟地址结构为:| L0索引 | L1索引 | L2索引 | L3索引 | 页内索引 |。
-
计算公式包括L3条目、L3表、L2条目、L2表、L1条目、L1表、L0条目和L0表。
🏷️