3DNow!

3DNow!(スリーディー・ナウ)は、アドバンスト・マイクロ・デバイセズ (AMD) がドルビーデジタルデコード3D処理の高速化を目的に開発した、CPUSIMD拡張命令、およびその拡張版の総称である。

概要

インテルMMXでは整数演算のみをサポートし、浮動小数点演算には未対応であった。3DNow!は、MMXに21個の命令を追加することで浮動小数点演算の高速化を図ったものである[1][2]

具体的には64ビットMMXレジスタ32ビットの浮動小数点演算データを2個格納し、それぞれを独立して演算出来るようにしている。3DNow!ではさらに2個のMMXユニットが並列動作可能であるため、最大4個の浮動小数点演算が可能となる。

3DNow!は同社のCPU・K6-2[3]IDTWinChip 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! テクノロジ (Enhanced 3DNow! Technology) は、3DNow!に24個の命令を追加したものである[6][7]Athlon (K7) から搭載され始めた。一部のK6-2K6-IIIにも搭載されている。

Enhanced 3DNow!は、「3DNow!+」 と「MMX+」の2つから構成される。

  • 「3DNow!+」は、サウンドモデム制御用DSP命令5個である。
  • 「MMX+」の実体は、SSE(初代)で追加されたMMX命令19個である[8]

3DNow! Professional

3DNow! プロフェッショナル・テクノロジ (3DNow! Professional Technology) は、エンハンスト3DNow!に52個の命令を追加し、インテルのSSEとの互換性を持たせた物である[9]。同社のAthlon XPモバイルAthlon 4Duron(Morganコア)から搭載され始めた。

SSEと同じく古いオペレーティングシステムでは使用することができず、オペレーティングシステムによって、CR4レジスタのOSFXSRビットを1にすることにより使用することができる。

脚注

関連項目