需要多少页表/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表。
➡️