ソフトウェア開発環境の貧弱さに
とどめを刺された3DNow!系列
だが、問題はソフトウェア開発の側にあった。インテルは自社でコンパイラーを提供しており、当然ながら自動でSSEやSSE2をサポートするコードを生成できた(その質にはいろいろ議論はあるのだが)。また当時、メジャーな開発ツール「GCC 2.9x」でSSE/SSE2のサポートが開始され、2001年にリリースされた「GCC 3」からは、正式にSSE/SSE2のスカラー命令が、2005年にリリースされた「GCC 4」ではSSE/SSE2のベクトル命令が、それぞれサポートされる。
これに対し3DNow!はと言うと、SDKこそAMDから提供されたものの、明確な形でのコンパイラーのサポートはついに提供されずに終わる。実は1999年当時、開発ツールメーカーのMetroworks社(現在はFreescale社に買収された)の「CodeWarrier」が3DNow!に対応するという話があり、β版までリリースされたものの、結局製品はリリースされなかった。
またマイクロソフトの「Visual Studio」が3DNow!対応になるという話もずっとあったが、こちらも最終的には形にならなかった。この当時、AMDの主催した開発者向けカンファレンスの資料の中には「Don't be afraid of looking at assembler output」(アセンブラ出力を見ることを恐れるな)なんて文字が平気で出てくるほどに、ソフトウェアのサポートが貧弱だった。
もちろん、真剣に最適化を図るとなると、3DNow!やSSE/SSE2に限らずx86の命令であってもアセンブラ出力の確認は必須であろうが、最適化を極めてゆく中で見る必要があるのと、最初からにらめっこする必要があるのでは、だいぶ話が変わってくる。つまるところ、こうしたソフトウェアサポートの貧弱さが3DNow!系列にとどめを刺した、と言えるかも知れない。結局AMDはAthlon XPの世代で、「3DNow! Professional」という名称でSSEに対応。3DNow!はごく限られたケースで利用されたに留まることになってしまった。
もっともこれに関しては、また別の見方もできる。AMDは2000年8月に開催された国際会議「Micro Processor Forum」で、x86の64bit拡張である「x86_64」を発表する。当然命令セットを拡張しただけでは誰も使ってくれないので、OSや開発ツールのサポートは当然必須だ。
AMDはLinuxコミュニティ向けに、シミュレーターや開発キットの提供、あるいはカーネルやGCCのパッチのリリースなどによってLinux系OSのサポートを行なうが、メインターゲットは当然Windowsであり、マイクロソフトの協力は欠かせない。ただ、そこで3DNow!とx86_64両方のサポートを求めるのは、開発リソースの観点で当然難しい。重要な方を残すとなると、必然的に3DNow!のサポートは諦めざるをえない。この時期AMDはx86_64にある意味社運を掛けており、3DNow!はそのため見捨てられた、と考えてもいいのかもしれない。
今回のまとめ
・インテルは1999年にPentium IIIで「SSE」を導入。将来を見越して専用128bitレジスターを増設するなど、大きな改良を図った。
・続く「SSE2」では扱えるデータ形式と命令セットも増え、SSE系列の大きな進化を実現した。
・AMDはMMXの進化形にあたる「3DNow!」「Enhanced 3DNow!」で対抗する。SSEとは方向性は異なるが、性能面では互角に渡り合えた。
・3DNow!系列最大の問題点は、ソフトウェア開発サポートの貧弱さにあった。アセンブラベースでの開発が必須で、対応コンパイラーが揃っていたSSE系列に比べると、開発者の負担は大きく、最後までメジャーになれなかった。
この連載の記事
-
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 -
第758回
PC
モデムをつなぐのに必要だったRS-232-CというシリアルI/F 消え去ったI/F史 -
第757回
PC
「RISC-VはArmに劣る」と主張し猛烈な批判にあうArm RISC-Vプロセッサー遍歴 - この連載の一覧へ