プロセッサーのマイクロコードを更新する

現代のプロセッサーは、バグを抱える可能性のある複雑なデバイスです。その上、x86 命令を直接実行する代わりに、現代の x86 プロセッサーには x86 命令セットのサポートを実装する内部コードが含まれています。この内部コードはマイクロコードと呼ばれています。マイクロコードは、CPU のバグに対処するため更新されることがあります。

このような CPU バグが Firefox をクラッシュさせる可能性があります。例えば、Firefox 57 以降には、古いマイクロコードを持つ Broadwell-U CPU で時折クラッシュが起こるバグあることが知られています。これは、新しいバージョンの Broadwell-U マイクロコードでは起こりません。

マイクロコードの更新データは、ファームウェア (技術的に古いスタイルの BIOS ではなく UEFI ファームウェアを持つコンピューターでも、通常は BIOS と呼ばれます) またはオペレーティングシステムによって CPU に読み込まれます。マイクロコードの更新は再起動しても保持されないため、デュアルブートシステムの場合は、マイクロコードの更新が BIOS 経由で配信されなくても、オペレーティングシステムも更新を提供しなければなりません。

Mac でシステムを最新の状態にするには、すべての OS X システムの更新および Apple ファームウェアの更新が App Store アプリの更新ペインで提供されます。

更新されたマイクロコードを CPU に読み込ませることを Windows に許可するには、Windows Update が有効になっており、更新をインストールするように設定しておいてください。

プロセッサーのマイクロアーキテクチャーと使用されているマイクロコードのバージョンを知るには、次のコマンドを Windows コマンドプロンプトで実行してください (コマンドプロンプトを開くには、Windows + R キーを押し、cmd と入力して Return キーを押します:

reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 

"VendorIdentifier" の行には、CPU ベンダーが表示されます (GenuineIntel は Intel 社製、AuthenticAMD は AMD 社製です)。"Identifier" の行には、"Family", "Model" および "Stepping" の 3 個の番号で表されるマイクロアーキテクチャーの情報が表示されます。これらの番号は、コンピューターに搭載された CPU が特定の CPU のバグに関係あるかどうかを特定するときに用います。"Update Revision" の行には、現在のマイクロコードの (特にマイクロアーキテクチャーの) リビジョンが表示され、前後が 0 詰めされてます。例えば、Update Revision REG_BINARY 000000001E000000 は、リビジョン 1E (16 進数) を意味します。"Previous Update Revision" の行には、BIOS から読み込まれたマイクロコードのバージョンが表示されます。

ベンダーが GenuineIntel、family が 6, model が 61、stepping が 4 の場合に Firefox 57 以降のバージョンでクラッシュを避けるには、マイクロコードのリビジョンが 1A より高い必要があります。

マイクロコードの更新が既定で行われているかどうかは、Linux ディストリビューションに依存し、Intel と AMD の CPU でも異なります。

  • Ubuntu を含む Debian ベースのディストリビューションでは、Intel プロセッサーのマイクロコードの更新は intel-microcode パッケージにより提供され、AMD プロセッサーのマイクロコードの更新は amd64-microcode パッケージにより提供されます。
  • Arch では、AMD マイクロコードの更新は既定でインストールされますが、Intel のマイクロコード更新には 特別な手順が必要です
  • Fedora では、マイクロコードの更新が既定でインストールされます。

プロセッサーのマイクロアーキテクチャーと使用されているマイクロコードのバージョンを知るには、次のコマンドをターミナルで実行してください: less /proc/cpuinfo

"vendor_id" の行には、 CPU ベンダーが表示されます (GenuineIntel は Intel 社製、AuthenticAMD は AMD 社製です)。マイクロアーキテクチャーは、"cpu family", "model" および "stepping" の行の 3 個の番号で表されます。これらの番号は、コンピューターに搭載された CPU が特定の CPU のバグに関係あるかどうかを特定するときに用います。"microcode" の行には、マイクロコードの (特にマイクロアーキテクチャーの) リビジョン番号が 16 進数で表示されます。

ベンダーが GenuineIntel、family が 6, model が 61、stepping が 4 の場合に Firefox 57 以降のバージョンでクラッシュを避けるには、マイクロコードのリビジョンが 1A より高い必要があります。

この記事は役に立ちましたか?

しばらくお待ちください...

以下の人々がこの記事の執筆を手伝ってくれました:

Illustration of hands

ボランティア

あなたの専門知識を成長させ、他の人と共有してください。質問に答えたり、ナレッジベースを改善したりしてください。

詳しく学ぶ