よく知られているように、Intel は、マイクロコードの更新により、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 機能が「着実に」無効になっていることに気付きました (ただし、上記の正誤表に気づいていないようです)。
https://www.reddit.com/r/hardware/comments/44k218/intel_disables_tsx_transactional_memory_again_in/
CPU の特定のバリアントのみが影響を受けるのは奇妙です。なぜなら、それらはすべて同じマイクロアーキテクチャを共有しているため、このバグによって等しく影響を受けると推測されるからです。
ちなみに、そのようなマイクロコードの「修正」が機能し、さらにステルスになる可能性がある別の方法: TSX の存在を公開するマイクロコードの更新を行うことは可能だと思います (機能がまだ有効にされているように見せます)。しかし、新しい TSX 命令の実装を、実際には決してロックを回避せず、基本的に昔ながらの方法でコードを実行するだけの「ダミーの実装」でオーバーライドすることで、バグを回避するだけでなく、TSX が提供できるパフォーマンスの向上も実現できません。これが発生したかどうかを判断する唯一の方法は、パフォーマンスの測定です。
Skylake での TSX のステータスについて詳しい情報を持っている人はいますか? いずれにせよ、それ以上の情報が公開されておらず、何が影響を受け、何が影響を受けていないかを推測しなければならないのは奇妙です。実際、その機能が安全に使用できるかどうか。
私は 6700K を持っていますが、その機能はまだあります。ただし、これは、BIOS の製造元がマイクロコードの更新を取り入れているかどうかにも依存します。また、実際にパフォーマンスを測定していないため、まだ無効になっている可能性があることも除外できません。前の段落。