Skylake以降のCore iシリーズに新たなバグが見つかったとのことです。以降ということでKaby Lakeや多数のコアを積んだCore Xシリーズも対象です。
動作上は問題無いように見えるのですがデータが壊れるとのことです。
SkyLakeに新たなバグ、Kaby Lakeも
Intelの第6世代Core iプロセッサーであるSkylakeシリーズと第7世代Core iプロセッサーであるKaby Lakeシリーズにバグが発見されたそうです。
- IntelのSkylake&Kaby Lake世代のCPUにはハイパースレッディング有効でデータ欠損やプログラムエラーにつながる重大なバグがあると判明(GigaZiNE)
- Skylake/Kaby Lakeでシステムクラッシュを引き起こすエラッタが発見。BIOS更新が必要(PC Watch)
Intelのプロセッサーには1個のCPUコアのうち同時に使われない演算ユニットを並列で別の命令を実行させることで仮想的に2個の論理CPUと見せるHyper Threadingという機能が一部のCPUに搭載されています。
これらのCPUでHyper Threadingが有効な状態で特定の命令を実行するとデータ破損、データ消失などが発生する可能性があるとのことです。
対象となるパソコンの見分け方
今回のバグの影響を受けるCPUは多いので、自分の使っているパソコンのCPUを調べます。
Windows 10で説明します。
まず、次のどちらかの方法でタスクマネージャーを起動します。
- タスクバーを「右クリック」して表示されたメニューから「タスクマネージャー」をクリック
- スタートメニューの「Windowsシステムツール」グループの「タスクマネージャー」をクリック
タスクマネージャーを起動したら「パフォーマンス」タブに切り替えて「CPU」をクリックします。
右下の部分で「コア」と「論理プロセッサ数」の数値が同じなら対象外ですので問題ありません。
この例ですと「コア:4」「論理プロセッサ数:8」となっているのでHyper Threadingが搭載されています。
Hyper Threadingを搭載していることが分かったら、次にCPU名を確認します。
右上の部分にCPU名と動作周波数が表示されていますので、こちらの2つのリストにCPU名が載っているかを確認します。
- Products formerly Skylake(Intel)
- Products formerly Kaby Lake(Intel)
記載があればそのパソコンのCPUにはバグがあることになります。
バグの回避方法
バグを回避するには、Hyper Threadingを無効にします。
これはWindowsからは行えずBIOSで行います。
使っているパソコンやマザーボードの取扱説明書でBIOSまたはUEFI、EFIの起動方法を探して、その中でハイパースレッディングまたはHyper Threading、HTを無効にする方法を探して実施してください。
ただし、動画エンコードなどCPUをフルに利用するアプリではパフォーマンスが最大で約55%程度まで低下します。
CPUコア単体で使う場合に対してHyper Threadingを有効にした場合の改善は最大約80%ですので、無効にした場合の低下は、1/1.8で約55%となります。
昨日まで問題無く使っていたパソコンを「バグがあるから機能制限をかけろ」と言われても納得できないでしょう。
動画などの場合は、エンコードが終わったファイルを後で見たら壊れていて再生できなかったということが起こるかもしれません。
Hyper Threadingを有効のまま使うか、無効にするか、よく考えて決めてください。
いつまでHyper Threadingを無効にしておけばよいのか
今のCPUはマイクロコードを書き換えることでバグを修正できます。
Skylakeには以前、バグが見つかりサポートの良いメーカーのパソコンについては最新のBIOSに更新することで、CPUのマイクロコードを更新してくれました。
ただし、すべてのパソコンが直るわけではなくサポートのよいメーカーのみです。
また、Skylakeについては既に旧世代のため、インテル100シリーズのチップセットを搭載したパソコンやマザーボードでは新しいマイクロコードに修正されたBIOSが提供されない可能性はあります。
修正されたかどうかはBIOSの変更履歴を確認します。
例えばこれはGIGABYTEのGA-Z170X-UD5 THというマザーボードのBIOSの履歴ですが、Version F3に部分に「Update CPU Microcode」とあります。
これはSkylakeの以前のバグに対処したものですが、新しいバグに対処すればこのような記述が載るはずです。
そのようなBIOSに更新すればHyper Threadingを有効に戻して構いません。
まとめ
また、最新CPUでバグが発見されてしまいました。
今回のバグはシステムが動作しなくなるようなものではないので知らなければ気付きません。
しかし、バグの影響が見え難いため、納期ぎりぎりで納品したデータが壊れていたとか目も当てられない状況にもなりかねません。
作業内容の重要性とパフォーマンスを天秤にかけてどうするか検討してみてください。
なお、更新されたBIOSが提供されないようならパソコンは買い換えた方がよいでしょう。
コメント