关于SPECTER,禁用分支预测对AMD Ryzen的影响

时间:2018-01-06 11:28:52

标签: branch intel amd prediction

AMD声明here不受Meltdown(即变体3)的影响,可能不是变体2,而是变体1(均为SPECTER)。因此AMD发布了FAM 17H (i.e. Ryzen)的微型更新,并关闭了branch prediction此处哪种分支预测已关闭?

可悲的是,我只拥有一个移动SandyBridge *和一个AMD Phenomen X4 905e(更新的微代码只适用于Ryzen)。有些人可以使用排序数组执行here等基准测试吗? SUSE提到的更新只是说分支预测,它可能意味着Variant 1(if / else)或Variant 2(分支跳转缓冲区)。此外,来自Google的人对变体1和变体2使用术语分支预测。因此实际上关闭它是不明确的。

为什么AMD要关闭Variant 2(分支跳转缓冲区),如果AMD可能不受影响,由于实现的不同。或者它是Variant 1(if / else),这可能会大大减慢很多工作案例。预排序数组是一种可能的用例,其中分支预测可提高性能。

谢谢

*在这里添加一些芬兰亵渎......

1 个答案:

答案 0 :(得分:1)

似乎AMD现在正在使用间接分支限制性推测(ibrs)限制但未完全关闭 off

AMD Defaults:
Due to the differences in underlying hardware implementation, AMD X86 systems are not vulnerable to variant #3. The correct default values will be set on AMD hardware based on dynamic checks during the boot sequence.

pti 0 ibrs 0 ibpb 2 -> fix variant #1 #2 if the microcode update is applied
pti 0 ibrs 2 ibpb 1 -> fix variant #1 #2 on older processors that can disable indirect branch prediction without microcode updates

https://access.redhat.com/articles/3311301

所以来自SUSE的通知并不正确。

相关问题