5

よく知られているように、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 の製造元がマイクロコードの更新を取り入れているかどうかにも依存します。また、実際にパフォーマンスを測定していないため、まだ無効になっている可能性があることも除外できません。前の段落。

4

1 に答える 1

6

私の知る限り、2016-07-14 の最新の公開マイクロコード アップデート パックで修正されていると思われます。Skylake の場合、これは Skylake ベース マイクロコードのリビジョン 0x9d/0x9e になります (プロセッサ シグネチャ 0x406e3 および 0x506e3)。

この新しい TSX エラッタは、Broadwell にも存在するようです。新しい Skylake マイクロコードの更新と共に公開された Broadwell-* マイクロコード更新の新しいバッチによっても修正されたと思います。

ブートローダーから送信されたデータを介してマイクロコードを更新する Linux の場合、更新を適用するのは簡単で、ほとんどの (深刻な) ディストリビューションで既に利用可能です。Windows の場合、システム ベンダーに EFI/BIOS の更新をせがむ必要があります。

申し訳ありませんが、最新の Skylake/Broadwell マイクロコードで TSX をテストして、ロックを省略しているか、「常に失敗しているか」を確認する手段がありません。TSX を無効にすることに関しては、L3 の有効性 (無料ではありません!) と電力消費に実際の影響があることを理解する必要があります。より小さな L3 を持つものでは、BIOS によって TSX を無効にすることは非常に理にかなっています。

興味深いことに、TSX の「チキン ビット」に関する情報は公開されておらず、無効化 (または再有効化) する方法がわかりません。

于 2016-08-12T10:31:21.203 に答える