相关疑难解决方法(0)

GCC对读/写指令的重新排序

Linux的同步原语(自旋锁,互斥锁,RCU)使用内存屏障指令强制重新排序内存访问指令.这种重新排序可以由CPU本身或编译器完成.

有人可以展示一些GCC生成的代码示例吗?我主要对x86感兴趣.我之所以问这个问题,是为了理解GCC如何决定可以重新排序的指令.不同的x86 mirco架构(例如:沙桥与常春藤桥)使用不同的缓存架构.因此,我想知道GCC如何进行有效的重新排序,无论缓存架构如何,都有助于执行性能.一些示例C代码和重新排序的GCC生成的代码将非常有用.谢谢!

memory cpu gcc linux-kernel compiler-optimization

13
推荐指数
2
解决办法
5830
查看次数

标签 统计

compiler-optimization ×1

cpu ×1

gcc ×1

linux-kernel ×1

memory ×1