Armv8-A使用一个虚拟内存系统,其中代码使用的地址(虚拟地址)是
转换成物理地址,供存储系统使用。这个翻译是
由处理器中称为内存管理单元(MMU)的部分执行。mmu的
Arm架构使用存储在内存中的转换表来转换虚拟地址
物理地址。MMU将在必要时自动读取翻译表
这个过程被称为Table Walk。
MMU的一个重要功能是使系统能够独立运行多个任务
在自己的私有虚拟内存空间中运行的程序。他们不需要任何知识
系统的物理内存映射,即硬件使用的地址,或者
关于其他可能同时执行的程序。
您可以为每个程序使用相同的虚拟内存地址空间。你也可以用
连续的虚拟内存映射,即使物理内存是碎片化的。这个虚拟地址
空间与系统中内存的实际物理映射是分开的。你可以写,可以编译,
并链接在虚拟内存空间中运行的应用程序。不同的处理器和设备
单个系统可能有不同的虚拟和物理地址映射。