ARM64架構處理器採用48位物理尋址機制,最大能夠尋找到256TB的物理地址空間。對於目前的應用來講已經足夠了,不須要擴展到64位的物理地址尋址。虛擬地址也一樣最大支持48位支持,因此在處理器的架構設計上,把虛擬地址空間劃分爲兩個空間,每一個空間最大支持256TB。Linux內核在大多數體系結構中都把兩個地址空間劃分爲用戶空間和內核空間。架構
用戶空間:0x0000_0000_0000_0000到0x0000_ffff_ffff_ffff佈局
內核空間:0xffff_0000_0000_0000到0xffff_ffff_ffff_ffff架構設計
64位的Linux內核已經沒有高端內存的概念了,由於48位的尋址空間已經足夠大了設計
在QEMU實驗平臺上,ARM64架構的LInux內核的內存分佈圖以下:orm
如圖所示,ARM64架構處理器的Linux內核內存佈局圖。ARM64架構處理器的Linux內核內存佈局以下:blog
(1)用戶空間:0x0000_0000_0000_0000到0x0000_ffff_ffff_ffff,一共有256TB。內存
(2)非規範區域擴展
(3)內核空間:0xffff_0000_0000_0000到0xffff_ffff_ffff_ffff。一共有256TB。map
內核空間又作了以下細分:im