ロックされたCMPXCHG8Bインストラクションでの不正なオペランド

読み:ロックされたコンペアエクスチェンジはちビーインストラクションでのふせいなオペランド
外語:Invalid Operand with Locked CMPXCHG8B Instruction 英語
品詞:名詞

Overdrive Processorを含むPentiumMMX Pentiumに存在するエラッタ(設計上の欠陥等によるエラー)の一つ。

次の4バイトの命令列が実行されると、プロセッサがハングアップする。

F0h、0Fh、C7h、C8h〜CFh

最初のF0hがLOCK命令で、次の命令を実行中にバスをロックする。全ての命令に対して使えるものではなく、使えない命令に対して使用された場合は無効命令例外を発行する。

次の命令(0Fh C7h)はcmpxchg8b命令で、この命令の最初のパラメーターにはレジスタを与えることが出来無いので、そのような命令に対しては無効命令例外を発行するはずだが、例外が発行されずにCPUがハングアップする。

LOCK命令のバグは、ごく普通のアプリケーションを使う範囲ではまず遭遇することは無い。

またソフトウェアの回避法も無い訳ではないが、これは当然ソフトウェア側でバグを考慮していないと回避できない。cmpxchg8b命令に不都合があるわけではなく、あくまでも無効命令例外の不都合である。ゆえに普通の(バグの無い)ソフトでは、まず起こり得ない。

Windows NTではNT 4.0 SP4以降で標準対応し、NT 3.51では修正モジュールが配布された。

MS-DOS/Windows 3.1以前/Windows 95では対応しない。

Windows 98ではシステム設定→全般→詳細設定で、設定変更が必要である。

Linuxではカーネル2.0.32および2.1.64以降、FreeBSDでは2.2.6-RELEASE以降のリリースで対策が取られている。

関連するリンク

Pentium F0 バグ外部リンク

関連する用語

関連語SCIPentium
関連語SCIMMX Pentium

コメントなどを投稿するフォームは、日本語対応時のみ表示されます

Mozilla Firefox 3の場合、ツール(T)→オプション(O)→コンテンツ→言語設定(O)で、日本語を追加して下さい。他のブラウザでも、日本語対応のものであれば、設定変更で追加可能と思われます。


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 6.02c (21-Aug-2010)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club