DBG、DMB、DSB 和 ISB

调试指令、数据内存屏障指令、数据同步屏障指令和指令同步屏障指令。

DBG

调试提示可向调试系统及其相关系统发送提示。 有关这些系统如何使用此指令的信息,请参这些系统的文档。

DMB

数据内存屏障可作为内存屏障使用。 它可确保会先检测到程序中位于 DMB 指令前的所有显式内存访问指令,然后再检测到程序中位于DMB 指令后的显式内存访问指令。它不影响其他指令在处理器上的执行顺序。

option 的允许值为:

SY

完整的系统DMB 操作。 这是缺省情况,可以省略。

DSB

数据同步屏障是一种特殊类型的内存屏障。 只有当此指令执行完毕后,才会执行程序中位于此指令后的指令。 当满足以下条件时,此指令才会完成:

  • 位于此指令前的所有显式内存访问均完成。

  • 位于此指令前的所有缓存、跳转预测和 TLB 维护操作全部完成。

允许的值为:

SY

完整的系统 DSB 操作。 这是缺省情况,可以省略。

UN

只可完成于统一点的DSB 操作。

ST

存储完成后才可执行的DSB 操作。

UNST

只有当存储完成后才可执行的DSB 操作,并且只会完成于统一点。

ISB

指令同步屏障可刷新处理器中的管道,因此可确保在 ISB 指令完成后,才从高速缓存或内存中提取位于该指令后的其他所有指令。这可确保提取时间晚于ISB 指令的指令能够检测到 ISB 指令执行前就已经执行的上下文更改操作的执行效果,例如更改ASID 或已完成的 TLB 维护操作,跳转预测维护操作以及对 CP15 寄存器所做的所有更改。

此外,ISB 指令可确保程序中位于其后的所有跳转指令总会被写入跳转预测逻辑,其写入上下文可确保 ISB 指令后的指令均可检测到这些跳转指令。这是指令流能够正确执行的前提条件。

option 的允许值为:

SY

完整的系统DMB 操作。 这是缺省情况,可以省略。

体系结构

这些 ARM 和 32 位 Thumb 指令可用于 ARMv7。

这些指令均无 16 位 Thumb 版本。


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值