3DNow!
3DNow!(スリーディー・ナウ)は、アドバンスト・マイクロ・デバイセズ (AMD) がドルビーデジタルのデコードや3D処理の高速化を目的に開発した、CPUのSIMD拡張命令、およびその拡張版の総称である。
概要
インテルの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! テクノロジ (Enhanced 3DNow! Technology) は、3DNow!に24個の命令を追加したものである[6][7]。Athlon (K7) から搭載され始めた。一部のK6-2やK6-IIIにも搭載されている。
Enhanced 3DNow!は、「3DNow!+」 と「MMX+」の2つから構成される。
3DNow! Professional
3DNow! プロフェッショナル・テクノロジ (3DNow! Professional Technology) は、エンハンスト3DNow!に52個の命令を追加し、インテルのSSEとの互換性を持たせた物である[9]。同社のAthlon XP、モバイルAthlon 4、Duron(Morganコア)から搭載され始めた。
SSEと同じく古いオペレーティングシステムでは使用することができず、オペレーティングシステムによって、CR4レジスタのOSFXSRビットを1にすることにより使用することができる。
脚注
- ^ 『AMD社、AMD-3D技術を"3DNOW!(TM)"と命名』(プレスリリース)日本AMD株式会社。オリジナルの1998年12月6日時点におけるアーカイブ。https://web.archive.org/web/19981206211751/http://www.amd.com/japan/news/prodpr/nr9843.html。2019年12月22日閲覧。
- ^ “3DNow!テクノロジの詳細”. AMD. 2001年12月21日時点のオリジナルよりアーカイブ。2019年12月23日閲覧。
- ^ “AMD、3DNow!対応のK6-2発売”. PC Watch (1998年5月28日). 2019年12月22日閲覧。
- ^ “IDTのWinChip 2販売開始、価格にバラつきあり”. PC Watch (1998年11月17日). 2019年12月22日閲覧。
- ^ “3DNow! Instructions are Being Deprecated” (英語). 2017年2月12日閲覧。
- ^ “AMD Athlonプロセッサ エンハンスト3DNow!テクノロジ”. AMD. 2001年12月21日時点のオリジナルよりアーカイブ。2019年12月23日閲覧。
- ^ 鈴木直美 (2000年2月24日). “第109回:2月14日~2月18日”. PC Watch. 鈴木直美の「PC Watch先週のキーワード」. 2019年12月22日閲覧。
- ^ SSEでは、XMMレジスタを操作する命令に加えて、MMXレジスタを操作する整数演算命令も追加している。
- ^ 鈴木直美 (2001年8月31日). “第179回:8月20日~8月24日”. PC Watch. 鈴木直美の「PC Watch先週のキーワード」. 2019年12月22日閲覧。
関連項目
- SIMD
- ストリーミングSIMD拡張命令 (SSE)
- AltiVec (Velocity Engine)
- PowerNow!