2013年12月10日火曜日

e-Machines J4509でK10stat設定(パート2、TLBキャッシュ有効)

J4509に搭載されているPhenom X3 8400というマイクロプロセッサには、重篤なエラッタ(バグ)が存在している。

簡単に言うと、L2,L3キャッシュをコントロールするTLBキャッシュという仕組みがあるのだが、この制御にバグが有り、タイミングによってはL2キャッシュとL3キャッシュで整合性が取れていない状況になる場合があるらしい。

(参考1)Phenom徹底分析(中):B2ステッピングのエラッタで何が起こるのか
http://www.4gamer.net/games/039/G003983/20071223002/

キャッシュの整合性が取れていない状況になって、そのデータをプロセッサが読み取れば、データが壊れたりシステムがクラッシュしたりするなど、深刻な障害状況になる可能性がある。

こういった重篤なバグなため、Vista SP1ではこのバグを抱えているPhenomの場合はこのTLBという仕組みを無効にするパッチが含まれているとの事だ。

(参考2)Vista SP1でCPUの速度低下についてAMDがコメント
http://pc.nikkeibp.co.jp/article/news/20080428/1001503/

SP1によりこのバグを回避できるのはありがたいのだが、このパッチによりメモリ性能がかなり下がるため、アプリケーションの動作速度が5~10%程度低下してしまうらしい。

性能がこんなに低下してしまうのは残念なのだが、AMDが言うには、
「一般的なクライアントPCの用途だとエラッタによる問題が発生する確率は低い。自作PCなどでは修正コードを適用しなくても問題ない」

との事。

ということで、AMDの言うことを信じてTLBキャッシュを有効にして使ってみることにした。

--
TLBを有効にするには、参考2のリンクに書かれているように、「AMD OverDrive」というツールを使って行うこともできるし、実はK10statでも行うことが出来る。

新たなツールを導入するのは面倒なので、K10statで行う事にした。
やり方は簡単で、K10statを起動する際に、「-EnableTLBCache」という引数を付けて起動するだけ。
(無効にする場合は「-disableTLBCache」)

しかしこの引数を付けてK10statを起動しても表面上違いが無いので本当に有効になっているかわからない。なのでDQ10ベンチマークを使って試してみる事にした。

◆テスト結果
1)K10statを起動せずにベンチ実行(つまりTLBキャッシュ無効)    3177
2)K10statで「-EnableTLBCache」をつけて起動              4329
3)K10statで「-disableTLBCache」をつけて起動              3172


驚いたな、全然違うじゃん!
仕方ない、リスクに目をつぶってTLBキャッシュ有効で常用するか。

0 件のコメント:

コメントを投稿