问题描述
DSB是DMB的超集吗?
Is DSB the superset of DMB ?
如果不考虑性能,可以用DSB代替DMB
If performnace is not a consideration can DMB be replaced by a DSB
推荐答案
DSB
是DMB
的超集,因此如果不考虑性能,可以将其替换为DSB
.
DSB
is superset of DMB
so it can be replaced by a DSB
if performance is not a concern.
来自 Cortex-A系列程序员指南:
此指令强制核心 等待所有未决的显式数据访问完成,然后再进行任何操作 可以执行其他指令阶段.对...没有影响 预取指令.
This instruction forces the core to wait for all pending explicit data accesses to complete before any additional instructions stages can be executed. There is no effect on pre-fetching of instructions.
数据存储屏障(DMB)
这 指令确保在执行之前按程序顺序访问所有内存 在任何显式内存出现之前,先在系统中观察到障碍 在障碍后按程序顺序显示的访问.它不是 影响在内核上执行的任何其他指令的顺序, 或获取指令.
This instruction ensures that all memory accesses in program order before the barrier are observed in the system before any explicit memory accesses that appear in program order after the barrier. It does not affect the ordering of any other instructions executing on the core, or of instruction fetches.
这篇关于如果我们使用DSB,是否需要DMB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!