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レジスターの使いまわしだったものの、スループットや遅延が低めで性能をチューニングしやすかった。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第868回
PC
物理IPには真似できない4%の差はどこから生まれるか? RTL実装が解き放つDimensity 9500の真価 -
第867回
PC
計算が速いだけじゃない! 自分で電圧を操って実力を出し切る賢すぎるAIチップ「Spyre」がAI処理を25%も速くする -
第866回
PC
NVIDIAを射程に捉えた韓国の雄rebellionsの怪物AIチップ「REBEL-Quad」 -
第865回
PC
1400WのモンスターGPU「Instinct MI350」の正体、AMDが選んだ効率を捨ててでも1.9倍の性能向上を獲る戦略 -
第864回
PC
なぜAMDはチップレットで勝利したのか? 2万ドルのウェハーから逆算する経済的合理性 -
第863回
PC
銅配線はなぜ限界なのか? ルテニウムへの移行で変わる半導体製造の常識と課題 -
第862回
PC
「ビル100階建て相当」の超難工事! DRAM微細化が限界を超え前人未到の垂直化へ突入 -
第861回
PC
INT4量子化+高度な電圧管理で消費電力60%削減かつ90%性能アップ! Snapdragon X2 Eliteの最先端技術を解説 -
第860回
PC
NVIDIAのVeraとRubinはPCIe Gen6対応、176スレッドの新アーキテクチャー搭載! 最高クラスの性能でAI開発を革新 -
第859回
デジタル
組み込み向けのAMD Ryzen AI Embedded P100シリーズはZen 5を最大6コア搭載で、最大50TOPSのNPU性能を実現 -
第858回
デジタル
CES 2026で実機を披露! AMDが発表した最先端AIラックHeliosの最新仕様を独自解説 - この連載の一覧へ











