微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么StoreLoad比其他障碍类型贵?

如何解决为什么StoreLoad比其他障碍类型贵?

已经有question关于为什么StoreLoad屏障昂贵的原因,answer解释说这很昂贵,因为StoreLoad屏障阻塞了负载,直到(可能很昂贵的)Store操作完成为止。

但是,这对我而言并不完全有意义,因为其他屏障类型(例如LoadStore,LoadLoad,StoreStore)似乎具有与屏障之后的操作相同的属性,该屏障将始终被阻塞,直到完成之前。我想知道是否/为什么总是认为StoreLoad与perf各自的其他障碍在本质上有所不同?

我确实了解到,在具有强大内存模型的特定平台上(例如X86),从cpu的角度来看,其他三种屏障类型不受限制,因此仅需要编译器屏障。但是其他没有强大内存模型保证的平台呢?例如ARM,PowerPC? StoreLoad仍然更昂贵吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。