gpt4 book ai didi

linux - 读内存屏障是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 12:03:56 25 4
gpt4 key购买 nike

我看过一些关于 Linux 内存屏障的文档。它提到有读取内存屏障和写入内存屏障。我很容易理解write memory barrier的含义,我看不出read memory barrier的必要性!

难道只是为了保持内存区的读取顺序?如果顺序是相反的,我认为该值仍然应该是正确的,不是吗?

那么读内存屏障到底是读操作屏障读操作还是写操作屏障读操作?

这让我很困惑!

最佳答案

读取内存屏障强制在它之前的读取在它之后的读取之前完成。这很有用,例如,对于内存映射 I/O,从内存读取实际上是从连接到系统的某些设备读取。

MMIO 读取需要按程序顺序执行,因为它们可能会对您正在读取的设备产生副作用。例如,如果设备正在流式传输数据,读取值可能会导致设备用新值替换它。它还可能导致一个 Action ,该 Action 可能会触发不同 MMIO 位置的更改。因此,必须对这两个位置的读取进行排序,因为结果取决于它们的执行顺序。

关于linux - 读内存屏障是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22204839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com