【发布时间】:2022-01-18 11:32:43
【问题描述】:
在我的理解中,CPU为了优化而改变了写在机器码上的操作顺序,称为乱序执行。
在术语“内存顺序”中,它定义了访问内存的顺序。例如,在宽松的顺序中,它定义了非常弱的排序规则,很容易发生执行重排序。
x86 中有一些内存排序模型,例如 TSO。在这样的内存排序模型中,定义了处理器对内存访问顺序的语义。
我不明白的是他们之间的关系。
内存顺序是一种乱序执行吗,OoOe还有其他方法吗?
或者,是内存顺序是乱序执行的实现,处理器的所有重新排序都是基于语义的?
【问题讨论】:
标签: memory cpu cpu-architecture memory-barriers