AMD Phenom 系プロセッサ“ K10 ”の TLB 不具合について

はじめに

米 AMD が昨年発表したプロセッサ AMD Phenom は errata(エラッタ) を持っていることが広く知られています。同一のシリコンを用いる予定であった AMD Opteron 計画は延期を余儀なくされ、発売された AMD Phenom も多くの疑念を抱く結果を招いています。

これは初期の段階において、不具合の内容が公式に公開されないままに報道が先行したことが大きく寄与していると思います。それと同時に、AMD から適切な発表が行われるのが遅かったということを指摘しないわけにはいかないでしょう。

この不具合について書かれたドキュメントを AMD は 2008 年 2 月 25 日付け(米国時間)で発表しましたが、同内容についてはあまり取り上げられていないように思います(特に日本国内の日本語の報道において)。

そこで、このドキュメント(Revision Guide for AMD Family 10h Prosessors : Publication #41322 / Revision 3.16 / Issue Date 02/25/08)に記載されている該当 errata #298 の内容を日本語にて解説したいと思います。

不具合の内容について

本メモの内容は該当ドキュメントの英文を元に、私 さかきけい の解釈で翻訳したものです。

AMD などの関係者から見て不適切であったり、許諾内容および法的範囲を逸脱していると考えられる場合には、その内容をフッターのメール・アドレスにお知らせください。私個人の見解としては、日本国著作権法の引用の範囲を逸脱していないと考えております。

概要

L2 キャッシュのフラッシュを行っている間に、プロセッサによる操作が発生してアクセスおよびダーティ・ビットが変更されることがある。

※さかき注:アクセス・ビットとはリードおよびライトが発生した際にセットされるビットで、使用頻度を割り出すために使用します。ダーティ・ビットとはライトが発生した際にセットされるビットで、内容が変更されてフラッシュする必要があるか否かを示すために使用します。

詳細

L2 キャッシュのページ変換テーブル・エントリのダーティおよびアクセス・ビットを 0b また 1b へ変更するためのプロセッサ操作がアトミック(不可分)ではないことがあります。変更されたコピーを L2 キャッシュに戻す前に、以前の古いページ変換テーブル・エントリを L3 キャッシュへ格納してしまうことがあります。

加えて、このキャッシュ・ラインのためのプローブ(走査)を、この間にこのウィンドウに対して行うなら、プロセッサはアクセスおよびダーティ・ビットを設定することなく、無関係のキャッシュされた操作のためのデータを破壊することがあります。

システムに対する影響の可能性

以下に示す1つ以上の事象をもたらすことがあります:

  • L3 プロトコル・エラーのためのマシン・チェック(MC)について。MC4 ステータス・レジスタ(MSR 0000_0410)は B2000000_000B0C0F または BA000000_000B0C0F と等しくなります。MC4 アドレス・レジスタ(MSR 0000_0412)は 26h と等しくなります。
  • ページ変換テーブル・エントリを含む、キャッシュ・ラインにおけるコヒーレンシ(一貫性)を失います。
  • データの破壊が起こります。

勧告する回避方法

BIOS は、MSR C001_0015h[3](HWCR[TlbCacheDis])1b ならびに MSR C001_1023h[1]1b を設定すべきです。

マルチプロセッサ・プラットフォーム中に影響を受けるプロセッサが存在するなら、上記の設定はシリコン・リビジョンを問わず、全てのプロセッサに対して適用しなければなりません。

修正計画

修正を実施する予定です(さかき注:実施されたリビジョンが発表されました)。

まとめ

このように、ある特定の状況において L2 キャッシュのページ変換テーブル・エントリのアクセスおよびダーティ・ビットの古い情報が L3 キャッシュに格納されるため、不正確な制御が行われるという不具合です。最悪の結果ではデータが壊れるというものであり、致命的と言っていいでしょう。

また、マルチプロセッサ(マルチシリコンといった方がわかりやすいでしょうか)環境においては、1つでもこの問題のあるプロセッサが存在するならば全てに対して影響があるということが、あまり知られていない情報であるかもしれません。

しかしながら、この状況が発生する具体的な条件が一切書かれていないことも事実であり、どのような使い方をすると危険なのか不明な状態が現在も続いています。そして同時に、この状況がどの程度の頻度で発生するのかも不明であり、「クライアント用途であれば問題ない」「仮想マシン支援関連機能を使用しなければ問題ない」といった噂(説)に対して何も回答するものではないことも確かです。

今後、更なる情報公開がなされることが望まれているといえるでしょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です