与TSX相关的Skylake勘误表SKL-105的状态如何?

时间:2016-08-10 08:38:42

标签: performance x86 hardware intel tsx

众所周知,英特尔不得不通过微代码更新来禁用Haswell系列处理器中的TSX。这是因为如果使用这些指令,TSX实现中的错误可能会产生错误的结果。

似乎鲜为人知的是,在新架构Skylake上,显然还有勘误影响TSX。特别是勘误表" SKL-105"这里提到:

http://www.intel.com/content/www/us/en/processors/core/desktop-6th-gen-core-family-spec-update.html

它明确指出使用TSX会导致不可预测的系统行为。但是,它还指出BIOS可以进行修复。然而,问题是这个修复需要什么。它是否像Haswell微码那样完全禁用TSX"修复"?谷歌搜索" SKL105"没有结果,所以社区似乎通常不知道它?

有些用户已经注意到TSX功能正在ste" sathily"残疾人(但似乎没有意识到上面的勘误表):

https://www.reddit.com/r/hardware/comments/44k218/intel_disables_tsx_transactional_memory_again_in/

如果只有某些CPU的变体受到影响,这很奇怪,因为人们会认为它们都会共享相同的微体系结构,因此同样会受到这个bug的影响。

顺便说一下这样的微码"修复"可能会运行,哪些可能更隐蔽:我认为有可能进行仍然暴露TSX存在的微代码更新(使其看起来仍然启用了该功能)但是会覆盖新TSX指令的实现"虚拟实现"实际上永远不会忽视锁定,并且本质上只是以老式的方式执行代码,从而避免了错误,但也提到了TSX可以提供的性能改进。确定是否发生这种情况的唯一方法是通过性能测量。

任何人都有关于Skylake TSX状态的更多信息?在任何情况下,奇怪的是,没有更多的信息发布,人们必须猜测受影响的是什么,什么不是。事实上,如果该功能可以安全使用。

我有6700K,功能仍在那里。但这也取决于BIOS制造商是否参与了微码更新,而且我还没有真正测量过性能,因此我无法排除它仍然可能已被禁用cf.上一段。

1 个答案:

答案 0 :(得分:5)

据我所知,它应该是2016-07-14最新的公共微代码更新包。对于Skylake,这将是Skylake基本微码的修订版0x9d / 0x9e(处理器签名0x406e3和0x506e3)。

这个新的TSX错误似乎也出现在Broadwell上。我认为它也通过随新Skylake微码更新发布的新一批Broadwell- *微码更新得以修复。

对于Linux,它通过引导加载程序发送的数据更新微码,应用更新是微不足道的,并且它已经在大多数(严重)发行版中可用。对于Windows,您需要纠缠系统供应商以进行EFI / BIOS更新。

对不起,我没有办法在最新的Skylake / Broadwell微码中测试TSX,以检查它是否已经锁定或者总是失败"。至于禁用TSX,你必须明白它对L3效率有真正的影响(免费提供!)和功耗,让BIOS禁用TSX会很有意义对任何L3较小的东西。

有趣的是,关于多伦多证券交易所"鸡肉的信息"不公开,我们不知道如何禁用(或重新启用)它。