问题描述
我一直试图了解aarch64上的内存加载/存储顺序,并且一直想知道在这种代码中是否需要内存屏障:
ldr x0,=0x9000
ldr x1,[x0]
orr x1,x1,#1
/* is memory barrier (dmb) necessary here? */
str x1,[x0]
据我了解,CPU可以对此进行重新排序,以便可以在ldr完成之前执行str。假设我们只有一个CPU内核,所以没有SMP。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)