B2.1 关于Arm内存模型
Arm架构是一种弱序内存架构(weakly ordered memory architecture),它允许内存访问的观察者(observation)、内存访问完成顺序( completion of memory accesses)与程序的编程顺序不同。本文以下部分提供了内存模型的完整定义。
通常,内存模型的基本原则是:
-
提供一种内存模型,该模型具有类似于C或Java等高级编程语言使用的内存模型中发现的类似弱点。例如,通过允许独立的内存访问被其他观察者重新排序。
-
避免在大多数内存类型中对多复制原子性的需求。
-
提供指令和内存屏障,弥补 multi-copy atomicity的需求。
-
在创建顺序时使用地址、数据和控制依赖关系,以避免在某些需要顺序的常见情况下过多使用屏障或其他显式指令。
-
如果实现了FEAT_MTE2,则适用于数据访问和数据分配标记访问的内存模型定义也适用于分配标记和分配标记。
本节内容包括:
-
地址空间。
-
内存类型概述。
-
SVE内存模型。
-
SME内存模型。