簡體   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