1
根據體系結構概述文檔,Aarch64支持4k和64k頁面。一些CPU也支持16k頁。查看地址翻譯方案的細節我得出這樣的結論:這種CPU 不支持同時存在不同大小的頁面(不同於x86_64允許)。我對嗎?Aarch64上同時存在不同大小的頁面
根據體系結構概述文檔,Aarch64支持4k和64k頁面。一些CPU也支持16k頁。查看地址翻譯方案的細節我得出這樣的結論:這種CPU 不支持同時存在不同大小的頁面(不同於x86_64允許)。我對嗎?Aarch64上同時存在不同大小的頁面
你在這裏混淆了兩個不同但相關的東西 - 頁面大小和粒度。
在AArch64,你有3個可能翻譯顆粒可供選擇,每一個產生一組不同的頁面大小:
翻譯顆粒定義一般的翻譯政權的各種屬性,所以它適用於整組表,你在,你不能在表格中混合和匹配顆粒的感覺是正確的,雖然它的完全可以同時使用不同粒度的不同的表(例如,在不同的例外水平)。
相比之下,X86總是有4KB的粒度,但頁面大小所提供的範圍取決於模式:
在這兩種情況下,大於基本顆粒的頁面大小都代表中間表級別的塊條目。換句話說,使用共同的4KB顆粒,3電平*,例如:
*根據實際的地址空間的大小,有可能高於這個第零級表,但既不架構允許在該水平塊條目(它們是不切實際的巨大反正)。對於AArch64,較大的顆粒只支持級別2和3的塊/頁面條目,而64KB顆粒根本不具有級別0。