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內核的記憶體分布圖如下:

如圖所示,ARM64架構處理器的Linux內核記憶體布局圖,ARM64架構處理器的Linux內核記憶體布局如下:

(1)用戶空間:0x0000_0000_0000_0000到0x0000_ffff_ffff_ffff,一共有256TB,
(2)非規范區域
(3)內核空間:0xffff_0000_0000_0000到0xffff_ffff_ffff_ffff,一共有256TB,
內核空間又做了如下細分:
- vmalloc區域:0xffff_0000_0000_0000到0xffff_7bff_bfff_0000,大小為126974GB,
- vmemmap區域:0xffff_7bff_c000_0000到0xffff_7fff_c000_0000,大小為4096GB,
- PCI I/O區域:0xffff_7fff_ae00_0000到0xffff_7fff_be00_0000,大小為16MB,
- Modules區域:0xffff_7fff_c000_0000到0xffff_8000_0000_0000,大小為64MB,
- normal memory線性映射區:0xffff_8000_0000_0000到0xffff_ffff_ffff_ffff,大小為128TB,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/3571.html
標籤:嵌入式
上一篇:QML設計飄散效果
