4.11.9. DBG、DMB、DSB 和 ISB
调试指令、数据内存屏障指令、数据同步屏障指令和指令同步屏障指令。
语法
DBG{cond} {#option}
DMB{cond} {option}
DSB{cond} {option}
ISB{cond} {option}
其中:
cond
是一个可选的条件代码(请参阅条件执行)。
option
对提示操作的可选限制。
用法
这些是提示指令。 是否实现这些指令是可选的。 只要其中任何一个指令未实现,则与 NOP 效果相同。
DBG
调试提示可向调试系统及其相关系统发送提示。 有关这些系统如何使用此指令的信息,请参这些系统的文档。
DMB
数据内存屏障可作为内存屏障使用。 它可确保会先检测到程序中位于 DMB 指令前的所有显式内存访问指令,然后再检测到程序中位于 DMB 指令后的显式内存访问指令。它不影响其他指令在处理器上的执行顺序。
option 的允许值为:
SY
完整的系统DMB 操作。 这是缺省情况,可以省略。
DSB
数据同步屏障是一种特殊类型的内存屏障。 只有当此指令执行完毕后,才会执行程序中位于此指令后的指令。 当满足以下条件时,此指令才会完成:
位于此指令前的所有显式内存访问均完成。
位于此指令前的所有缓存、跳转预测和 TLB 维护操作全部完成。
允许的值为:
SY
完整的系统 DSB 操作。 这是缺省情况,可以省略。
UN
只可完成于统一点的DSB 操作。