B2.3 Arm 内存模型定义
Arm 内存模型引入了以下几种关系:
-
内在关系 :例如,内在数据/控制/顺序依赖关系和内在翻译之前的关系,这些是源自指令语义的硬件要求。
-
之后关系 :例如,之后的连贯性和 TLB 之后的关系,这些关系在特定执行中发生这种方式,但在不同的执行中可以以其他方式进行。
-
观察关系 :例如,显式观察的关系和 TLB 观察的关系,基于之后关系来描述一个执行。
-
有序关系 :例如,有序之前的关系和 TLB 有序之前的关系,这些是硬件在所有执行中必须遵守的架构要求。
本节描述了 Arm 内存模型中的观察和排序。它包含以下小节:
-
基本定义
-
内在依赖关系
-
标记检查内在之前
-
翻译内在之前
-
获取内在之前
-
依赖关系
-
排序关系
-
观察关系
-
外部排序约束
关于内存访问的端点排序的更多信息,参见Reordering 。在 Arm 内存模型中,共享内存属性指示硬件必须确保在一组观察者之间的内存一致性的程度。参见Memory types and attributes 。
Arm 架构定义了额外的内存属性和相关行为,这些定义在本手册的系统级部分。参见: