MMXの弱点を独自に改良したAMD
MMXはインテルのみならず、AMDやCyrix、米RiSE Technology社などの競合ベンダーも当然採用した。命令セットに関するライセンスはまた複雑なのだが、最終的には『x86の互換チップを製造する権利を持つ製造事業者を使う限り問題ない』ということになったようだ。
一方AMDは、そこからさらに一歩踏み出した。AMDは1996年に、CPUメーカーの米NexGen社を買収。開発中だった「Nx686」を「AMD K6」として発売する。Nx686は当初からMMXのサポートを考慮していたこともあり、AMD K6もMMXをサポートしたが、次の「K6-2」では、MMXの弱点を補強する方向に走った。
例えば「EMMS」命令(MMXとFPUの切り替え)は12サイクルを要する(Complex Decoderを通るため)のだが、これを1サイクルで切り替えられる「FEMMS」(Fast EMMS)命令を用意した。また、MMX PentiumやPentium Proでは同時にひとつしかMMX命令を実行できないところを、2命令に拡張したりといった具合だ。こうした、言わばAMD拡張版のMMXを俗に「MMX+」と呼ぶが、もちろんこれは正式名称ではない(公式にはこの拡張は3DNow!に含まれている)。
これに加えて、AMDの拡張命令セット「3DNow!」のもうひとつの大きな特徴は、単精度浮動小数点演算の実装である。もともとNexGenは整数演算性能を重視した(=浮動小数点演算を軽視した)商品構成を取っていた。Nx586はFPUが外付け(Nx587)だし、Nx686では内蔵にはなったものの性能は低く、同一動作周波数のPentium IIなどと比較して、スペック上は同等ながら実際に使うと遅いという事が多かった。もちろん当時の製造技術でフルスペックのパイプラインFPUを製造すると、トランジスター数が大幅に増えてしまい実装不能になる、というのが主な理由であったが。
ところが、x86のFPUに求められる最大80bitの浮動小数点の扱いを放棄して32bitに限れば、必要とされるトランジスター数が大幅に減る。そこでMMXの枠組みを流用して、同時に2つの32bit浮動小数点演算ができるようにしたのが3DNow!、ということになる。倍精度浮動小数点は扱えないから科学技術計算にはまるで不向きだが、当時のゲームの物理計算程度にはお釣りが来る精度であったし、インテルのPentium IIを大幅に超える性能を叩き出せた(ただし単精度に限る)。
「少ないトランジスター数の増加で大幅な性能向上が得られる」ということもあり、米IDT社の「WinChip 2」やCyrixの「6x86MX」でも3DNow!が採用された(関連記事)。また、マイクロソフトがDirectX 6で3DNow!をサポートするといった事情もあって、この時点では有力な拡張命令として普及を始めていた。
ただしインテルも負けてはおらず、早くから「SSE」を「KNI」(Katmai New Instruction)という名前でそれとなくアナウンスしており、ソフトウェアベンダーなどは「KNIが登場してから、どちらのサポートをするか(もしくは両方サポートすべきか)を判断する」と、様子見を決め込むところが結構多かったものだ。
今回のまとめ
・現在のx86系CPUの基本となっているのは、Pentium Pro世代のP6の命令セット。これに加わる拡張命令は、インテルの「MMX」から始まる。
・インテルはセキュリティー機能向け拡張命令として「TXT」を開発したが、ソフトウェア側の対応が進まず有名無実と化した。たとえインテルでも1社独自の拡張命令は普及しにくい。
・MMXはパソコンでビデオ映像を手軽に扱いたいというニーズから生まれた。既存のCPU機能を利用しつつ、SIMD方式により1回の処理で複数のデータをまとめて処理できた。
・AMDはMMXをサポートしながら、その弱点を改良した「3DNow!」を開発。Cyrixなど互換CPUベンダーにも採用されたが、インテルの「SSE」の存在によって、普及は進まなかった。
この連載の記事
-
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第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史 - この連載の一覧へ