通信用語の基礎知識 IPv4
戻る
参加者募集中

3DNow!

辞書:科学用語の基礎知識 中央演算処理装置用語x86編 (IYCP86)
読み:スリーディーナウ
外語:3DNow! 英語 , AMD 3DNow! technology 英語
品詞:固有名詞
1999/02/08 作成
2013/06/07 更新

AMDが開発し1998(平成10)年に登場したAMD独自のSIMD命令セットで、MMX上位互換機能の名。

目的

MMXは整数演算のみに対応しており、浮動小数点演算には未対応だった。3DNow!は、MMXの弱点を克服するためにMMX命令に21個の新命令を追加したもので、特に浮動小数点演算処理に重点の置かれた拡張がなされている。

具体的には、64ビットのMMXレジスターに32ビット単精度浮動小数点数2個を格納し、この2個の数値に対して同時に演算を行なえるようにした。更に、3DNow!は2個のMMXユニットが完全に並列動作でき、実質で最大4個の新たな浮動小数点演算命令の実行が可能となる。

元々のMMXが同時に演算できるのは整数のみであり、浮動小数点演算を行なうには数値演算コプロセッサー(FPU)に切り替える必要があった。しかも切り替えるのには多くの時間がかかるという弱点もあった。3DNow!はその弱点を改善したものと言える。

共通仕様

発表当時は、AMD・CyrixIDTの三社が別々の仕様を発表していた。

しかしこれらはOSの対応が必要な機能であるため、Microsoftを納得させねば実質的に使うことができないが、メーカーごとバラバラではMicrosoftが首を縦に振ることはない。

そこでAMDは「3DNow!」に規格統一するよう働きかけ、AMD K6-2シリーズの他に、Cyrixは6x86MX、IDTはWinChip 2シリーズから採用を開始した。

機能の有無判別

機能の有無は、拡張CPUID対応のプロセッサーで、かつEAX=80000001HでCPUID命令を実行した結果EDXレジスターのビット31が1かどうかで確認できる。

性能

浮動小数点演算性能では、ピーク時で

  • AMD K6-2/300MHz: 1.2GFLOPS
  • AMD K6-2/333MHzで1.333GFLOPS

である。参考までに、IntelのMMX製品では、

  • Pentium Ⅱ 300MHz: 0.3GFLOPS
  • Pentium Ⅱ 333MHz: 0.333GFLOPS
  • Pentium Ⅱ 400MHz: 0.4GFLOPS

なので、同クロック比で優に4倍の3D処理性能を実現させた。

この拡張により3Dグラフィックス処理の高速化が期待され、MPEG-2動画再生やDVDなどで使われているDolby Digital(AC-3)のデコードも可能になる。

対応環境

しかし、当然ながらソフトウェアが対応しなければ全く意味がないので、Microsoft MASMや、専用に対応したDirectX/OpenGL APIの提供、更にこの機能のライセンス提供等で積極的に普及に努めた。

対抗規格であるIntelストリーミングSIMD拡張命令(SSE)とは違い、3DNow!はソフトウェアメーカー等が協力して策定したオープンな規格となっている。Microsoft Windowsでは、DirectX 6.0やOpenGL 1.2より対応されている。

拡張規格

その後

Bulldozer/Bobcat世代のCPUコアから、3DNow!シリーズのサポートを終了した。

AMD64アーキテクチャーからSSE/SSE2を標準搭載しており、3DNow!の機能はSSEの機能で代替可能である。その上、現実に3DNow!は殆ど使われていなかった。このため、一つの時代にピリオドが打たれることになった。

当時のIntelのSIMDコマンドは整数演算のMMXのみで、浮動小数点演算の性能を改善する3DNow!は先進的な試みではあった。CyrixやIDTといった他社にも導入されるなどし、「午後のこ〜だ」などのソフトウェアが対応するなどしたが、やはり独自実装のコマンドは使いにくいものだったようで、普及することは無かった。

段階的な収束として、SSE登場後にAMDは「3DNow! Professional」としてSSE命令との互換性を取り始め、AMD64アーキテクチャーにSSE2までを統合し、そして3DNow!を廃止することになった。

3DNow!がなくてもSSEがあれば現実問題として開発者は困らない。但し、3DNow!の機能はprefetchとprefetchw命令として残るため、3DNow!が跡形もなく消えるという訳でも無いようである。

ちなみに、prefetchとprefetchwのオペコードである0F 0D xxは、Intelの仕様書では「NOP Ev」となっており、NOP命令として定義されている。

用語の所属
マルチメディア命令
関連する用語
Enhanced 3DNow!
3DNow! Professional
AMD
MMX

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


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club