繁体   English   中英

x86 CPU可以进行哪些重新排序优化?

[英]Which kinds of reordering optimizations do x86 CPUs do?

埃里克·利珀特(Eric Lippert)在他的博客文章中说:

我注意到,在基于x86的硬件上,实际上从未观察到这种特定的写入重新排序; 这些CPU不执行此优化。

这是否意味着x86 CPU在讨论易失性和读写的重新排序时没有讨论任何问题,还是仅在此示例中CPU不会重新排序?

x86_64 CPU可以在什么情况下发生什么类型的重新排序?

这是否意味着x86 CPU在讨论易失性和读写的重新排序时没有讨论任何问题,还是仅在此示例中CPU不会重新排序?

这意味着不会在x86 CPU中重新排列存储 负载仍然可以向后移动。 然后,重要的是要了解x86的含义。 在本文的上下文中,它仅表示x86,而不是其派生词。 与基本的x86实现相比,x86 oostore体系结构实现了更多的内存重新排序。 您可以在此处获取所有详细信息: http : //en.wikipedia.org/wiki/Memory_ordering

此用例周围有很多示例,如下所示:

同样,重新排序不能跨越此体系结构上的方法调用边界。

除了重新排序之外,几乎所有CPU架构都可以缓存值,这是一个更为明显的优化。 这是此优化的一个好用例:

http://www.codeproject.com/Articles/389730/The-unsung-hero-Volatile-keyword-Csharp-threading

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM