Arm Aarch64上同时存在不同大小的页面
根据架构概述文档,Aarch64支持4k和64k页面。一些CPU还支持16k页。通过查看地址转换方案的详细信息,我得出结论,此类CPU不支持同时存在不同大小的页面(与x86_64不同,x86_64允许同时存在不同大小的页面)。我说得对吗?你把两个不同但相关的东西混为一谈了——页面大小和粒度 在AArch64中,您有3种可能的翻译颗粒可供选择,每种颗粒都会产生一组不同的页面大小:Arm Aarch64上同时存在不同大小的页面,arm,paging,virtual-memory,arm64,osdev,Arm,Paging,Virtual Memory,Arm64,Osdev,根据架构概述文档,Aarch64支持4k和64k页面。一些CPU还支持16k页。通过查看地址转换方案的详细信息,我得出结论,此类CPU不支持同时存在不同大小的页面(与x86_64不同,x86_64允许同时存在不同大小的页面)。我说得对吗?你把两个不同但相关的东西混为一谈了——页面大小和粒度 在AArch64中,您有3种可能的翻译颗粒可供选择,每种颗粒都会产生一组不同的页面大小: 4KB颗粒:4KB、2MB和1GB页面 16KB颗粒:16KB和32MB页面 64KB颗粒:64KB和512MB页面
- 4KB颗粒:4KB、2MB和1GB页面
- 16KB颗粒:16KB和32MB页面
- 64KB颗粒:64KB和512MB页面
- 32位:4KB和4MB页面
- PAE:4KB和2MB页面
- 64位:4KB、2MB和(如果支持)1GB页面
- 第一级表中的每个有效项都指向自然对齐的1GB内存区域,或者指向描述1GB地址空间的第二级表
- 第二级表中的每个有效项都指向自然对齐的2MB内存区域,或者指向描述2MB地址空间的第三级表
- 第三级表中的每个有效项都指向自然对齐的4KB内存区域