Pentium 4のSSE2で、SSEレジスターは真価を発揮
インテルはこれに続き、初代の「Pentium 4」で「SSE2」を導入する。Pentium 4のコード名をとり、「WNI」(Willamette New Instruction)と呼ばれたこの命令セットが導入されたことで、初めてSSEレジスターはその本領を発揮するようになったと言ってよい。
SSEを端的に言えば、「単精度浮動小数点値×4」のみを扱う拡張命令だったが、SSE2では以下のデータ型も扱えるようになった。
- 倍精度浮動小数点値×2
- 64bit整数値×2
- 32bit整数値×4
- 16bit整数値×8
- 8bit整数値×16
これにより、完全にMMXとの決別をはたしたわけだ。
また、SSE2からは演算のパターンも複雑化する。もともとSSEというかSIMD命令は、「ひとつの命令で複数のデータをまとめて処理する」方式なので、処理としては例えば図1の様な構図になる。「X0/X1」「Y0/Y1」がデータ、「Op」は処理だ。だから加算なら「X0+Y0」と「X1+Y1」が同時に行なわれるわけで、この場合Opは「+」(加算)となり、その結果がまとめて「DEST」に入る。
図1はデータが2つの例だが、MMXならば8/4/2つ、SSEならば常に4つ、SSE2ならば16/8/4/2つ、3DNow!ならば常に2つのデータが入るから、演算もこの数だけ同時に行なわれることになる。ただし、X1とY0とかX0とY1といった演算は、原則としてサポートしていない。
確かに単純な演算であれば、これで問題ない。ところがSSEを幅広い用途に使ってゆこうとすると、もうすこしデータの自由度がほしい場合がある。そこで、いくつかのデータ置換(Shuffle)命令はMMXやSSEの時代から用意されてきたが、SSE2ではより積極的な命令がいくつか追加されている。その一例が「SHUFPD」(SHUffle packed double-precision Floating-Point values)だ。倍精度浮動小数点の値を入れ替えるという命令だが、ここでどの要素を選択するかを選べるようになっている。
またMMX/SSEに比べて、はるかに多くの種類のデータ形式を扱うようになったため、データの型変換命令も大量に追加する必要が出てきた。型変換命令はMMXが3種類、SSEでは4種類が用意されるが、SSE2では18種類もの命令が“追加”されている。
性能では互角に渡り合えたEnhanced 3DNow!
ではこの時期AMDはどうだったか? まず初代「Athlon」であるAMDのK7コアで、3DNow!を強化した「Enhanced 3DNow!」を投入する。これは3DNow!に24の命令を追加するものだが、実際はMMXの命令拡張が19命令、3DNow!のDSP拡張が5命令といった割合になっている。
DSP拡張というのは、端的に言えばCPUでドルビー・サラウンドのサラウンド音源再生を可能とする命令というのがわかりやすいだろう。ドルビーのデコードは結構複雑な処理なので、従来のFPUでは速度が足りず、またMMXや3DNow!ではうまくこれを扱えなかった。そこでドルビーのデコードを高速化できるような命令を、DSP拡張という名前で追加したのである。一方残りの19命令は、MMX命令で不足していた整数演算命令を追加したというもので、逆に言えば浮動小数点演算系には一切手を加えていない。まだこの時期、浮動小数点演算を高速化するニーズはそれほど多くなく、3DNow!で十分カバーできたということだろう。
実際、性能に関して言えば、3DNow!やEnhanced 3DNow!は十分SSE/SSE2に対抗できた。SSE/SSE2は、性能こそ豊富だしレジスターも専用のものが用意されたが、相変わらず命令のスループットや遅延が大きく、フルに性能を生かそうとすると結構面倒な最適化が必要だった。対して3DNow!系は、命令数こそ少なかったしMMXレジスターの使いまわしだったものの、スループットや遅延が低めで性能をチューニングしやすかった。
この連載の記事
-
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第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史 - この連載の一覧へ