aba*_*abo 3 paging arm osdev virtual-memory arm64
根据架构概述文档,Aarch64支持4k和64k页面.一些CPU也支持16k页.查看地址转换方案的详细信息,我得出的结论是,这些CPU 不支持同时存在不同大小的页面(与允许的x86_64不同).我对吗?
你在这里混淆了两个不同的,虽然相关的东西 - 页面大小与粒度.
在AArch64中,您有3种可供选择的翻译粒度,每种粒度都会产生不同的页面大小:
翻译颗粒通常定义了翻译方案的各种属性,因此它适用于整组表格,并且您在表格中不能混合和匹配颗粒的意义上是正确的,尽管使用不同的颗粒是完全正确的.同时用于不同的表(例如,在不同的异常级别).
相比之下,x86总是具有4KB粒度,但提供的页面大小范围取决于模式:
在这两种情况下,大于基本粒度的页面大小表示中间表级别的块条目.换句话说,使用常见的4KB颗粒,3级*,例如:
*根据实际的地址空间大小,在此之上可能存在零级表,但这两种架构都不允许在该级别进行块条目(无论如何它们都是不切实际的).对于AArch64,较大的颗粒仅支持2级和3级的块/页面条目,而64KB的颗粒根本不支持0级.
| 归档时间: |
|
| 查看次数: |
978 次 |
| 最近记录: |