并发程序的乱序之一:编译器指令重排

1、编译器想作什么 编译器的优化,但愿将整个函数用最少的时钟周期来实现。多线程 对于编译器看到的,没有直接关系的不一样变量(无volatile),能够进行乱序的指令调度,而对于相同变量或者有别名或者传播关系的变量,须要按照编译器静态分析的依赖分析结果进行合理调度[注1]。架构 假设有以下场景:假设该架构下,读取指令从发出到实际读取到数据须要等待2个时钟周期,计算c = b * 3须要一个时钟周期。
相关文章
相关标签/搜索