以前あった差異
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/26 13:40 UTC 版)
AMD64には、元々はCMPXCHG16B命令はなかった。この命令は16バイト(128ビット)のメモリ領域を複数のCPUコアで排他的に共有することに使用される。この命令はWindowsで16TB以上の仮想メモリを使うために必要である。Socket AM2以降のAMD64で対応。 初期のAMD64, Intel 64は、64ビットモードでLAHF, SAHF命令をサポートしていない。この2つの命令はAHレジスタとフラグ間の転送命令で、元々は8ビットCPUである8080のプログラムを8086へ移植するのを容易にするために提供されていた。64ビットモードでは、使い道があまりない命令のように見える。しかし、PUSH/POP命令の組み合わせと比較して、メモリにアクセスせず高速にフラグをコピーできるため、VMwareなどの仮想化ソフトウェアがこの2つの命令に依存している。また、x87のステータスワードをフラグにコピーすることにも使用される。 初期のIntel 64には、PREFETCHW命令はなかった。この命令は、元々はAMDの3DNow!で導入されたキャッシュの最適化命令である。Pentium 4のCedarMillコアからIntel 64はこの命令を単にNOP(No Operation)として処理するようになった。NOPとして処理するIntel 64でもMicrosoft社のCoreinfoツールは、PREFETCHWに対応と表示する。2013年のSilvermont、2014年のBroadwellよりPREFETCHW命令に正式に対応している。(上記3つは、Windows 8.1、Windows 10の64ビット版が初期のAMD64、Intel 64CPUにインストールできない制約事項となる) 初期のIntel 64は、XDビット(AMD64におけるNXビット)をサポートしていない。したがってWindows 8(32ビット版、64ビット版とも)がインストールできない制約事項となる。
※この「以前あった差異」の解説は、「x64」の解説の一部です。
「以前あった差異」を含む「x64」の記事については、「x64」の概要を参照ください。
- 以前あった差異のページへのリンク