3DNow!
From Wikipedia, the free encyclopedia
概要
インテルのMMXでは整数演算のみをサポートし、浮動小数点演算には未対応であった。3DNow!は、MMXに21個の命令を追加することで浮動小数点演算の高速化を図ったものである[1][2]。
具体的には64ビットMMXレジスタに32ビットの浮動小数点演算データを2個格納し、それぞれを独立して演算出来るようにしている。3DNow!ではさらに2個のMMXユニットが並列動作可能であるため、最大4個の浮動小数点演算が可能となる。
3DNow!は同社のCPU・K6-2[3]、IDTのWinChip 2[4]から搭載され始めた。開発当初はAMD、サイリックス、IDT共に各社別々の仕様を発表していたが、AMDの働きかけにより、三社とも3DNow!を採用することとなった。
しかし競合製品であるインテル製CPUがサポートするSSE命令に対して、登場は約1年早かったものの普及で後れを取ったため、Enhanced 3DNow!、3DNow! Professionalと世代が進むごとにSSEと互換性のある命令が追加されることとなった。
2010年8月、AMDはBobcat以降の世代のプロセッサーでは「3DNow!」と「3DNow!+」は2つの命令 (PREFETCH, PREFETCHW) を除いてサポートされないと発表[5]。3DNow!の展開は終了した。
Enhanced 3DNow!
3DNow! Professional
3DNow! プロフェッショナル・テクノロジ (3DNow! Professional Technology) は、エンハンスト3DNow!に52個の命令を追加し、インテルのSSEとの互換性を持たせた物である[9]。同社のAthlon XP、モバイルAthlon 4、Duron(Morganコア)から搭載され始めた。
SSEと同じく古いオペレーティングシステムでは使用することができず、オペレーティングシステムによって、CR4レジスタのOSFXSRビットを1にすることにより使用することができる。