【发布时间】:2017-05-08 13:30:16
【问题描述】:
在尝试追踪 performance issue 时,我最终寻找了有关哪些信息会对 x87 和 SSE 指令的性能产生影响的信息。我发现这些信息非常难以追踪,因为它往往隐藏在大型英特尔 PDF 中,或者有时在没有太多解释的情况下在 3rd 方网站上提及。
这个问题是关于控制字、位、模式、特定数据(例如非规范化)等等。它与内存带宽、缓存、页表、对齐或任何其他与内存相关的东西无关。我会用我目前找到的基本列表来回答,但请随时添加更多细节或我不知道的新状态。
【问题讨论】:
-
被操作的值怎么样,应该放在“这个问题的目的”列表中吗?这不是状态,但也不是其他任何东西。
-
@harold 是的。我将编辑问题。
-
不幸的是,在现代乱序处理器中存在大量隐式内部执行状态会影响性能,通常仅以一般术语记录。因此,例如,当浮点运算的 SSE 寄存器结果被传输到不同的执行端口以供整数指令处理时,您可能会遇到停顿。无论如何,我怀疑通过提供特定性能问题的详细信息来解决问题可能会更好。
-
Markus Wittmann、Thomas Zeiser、Georg Hager 和 Gerhard Wellein,“关于当前 x86-64 架构上的浮点运算成本的简短说明:反规范、上溢、下溢和除零”,ArXiv手稿,2015 年 6 月 (online)
-
Marc Andrysco、David Kohlbrenner、Keaton Mowery、Ranjit Jhala、Sorin Lerner 和 Hovav Shacham,“论次正常浮点和异常时序”,IEEE 安全和隐私研讨会,2015 年 5 月,第 623-639 页 (online)
标签: performance floating-point sse avx x87