インテルとAMDの拡張命令の乖離が一層進む
拡張命令の乖離は、その後さらにひどくなる。SSSE3に続き、インテルは「Penryn」コアのCore 2 Duoで「SSE 4.1」、Nehalemで「SSE 4.2」という形でSSE4をリリースする。
このSSE4シリーズには、もはやSIMD命令はほとんどなく、大半が特定処理を高速に行なうというアクセラレーター命令に近いものになっている。追加された命令を表にまとめてみた。
SSE 4.1 | SSE 4.2 | |
---|---|---|
整数乗算(2命令) | 内積(2命令) | 文字列検索(4命令) |
Streaming Load(1命令) | 条件付コピー(6命令) | 条件判断(1命令) |
最大/最小(6命令) | 丸め(4命令) | CRC32(1命令) |
レジスター操作(9命令) | フォーマット変換(12命令) | POPCNT(1命令) |
SAD計算(1命令) | 水平検索(1命令) | |
条件判断(1命令) | 数値比較(1命令) | |
型変換(1命令) |
SSE4.1はまだ多少SIMDっぽさを残しているが、例えばSADの計算(MPEGのエンコードで動きベクトルの算出に使うもの)などは、一見便利そうに見えて、よく考えると「誰が使うんだ?」的なものだし、SSE4.2はほとんどがアクセラレーター命令と化している(CRC32を一発で計算できる、なんてのはアクセラレーター命令以外の何者でもないだろう)。
こうした命令との互換性を保つ必要はもはやないと判断したためか、AMDは独自に「SSE4a」を「Phenom」で搭載する。もっとも、このSSE4aはわずか4命令だけ。具体的には以下のようになる。
- データ移動(2命令)
- Bitフィールド操作付コピー(2命令)
これらは、SSSE3/SSE4.1/SSE4.2とは互換性のない独自仕様である。面白いのは、これとは別にPhenomの世代では、「ABM」(Advanced Bit Manipulation)命令としてLZCNT/POPCNTという命令を定義しているのだが、このPOPCNTはSSE 4.2のPOPCNTと完全互換なのだ。
「役に立つ命令については取り込むが、それがSSEレジスターの操作をともなわないのであればSSE命令と見なさない」、という姿勢が明確に出ていて面白い。そんなわけで、現在はAMDとインテルの間で拡張命令の非互換性が生じているわけだ。この非互換は、当面解消される様子はない。
今回のまとめ
・2002年にAMDは、x86との互換性を重視した64bit拡張「x86-64」(現AMD64)を投入した。弱点の汎用レジスターを大幅拡張しつつ、命令セットは従来の32bit命令も支障なく扱えた。
・当時のインテルは、x86との互換性が低い独自の64bit拡張を模索していた。しかしx86との互換を強く重視するマイクロソフトがAMDを支持するなど圧力を強め、結局AMD64と互換性のある「EM64T」(現Intel 64)を導入する。
・SSE系の拡張命令は、「SSE3」まではインテル・AMD両者で互換性があった。しかし、インテルがSSE3以降、特定処理向けのアクセラレーター命令導入に方向性を変えたため、AMDはSSSE3以降をサポートしなくなった。そのためSSE 4シリーズはほぼ、両者のCPUで互換性がない。
この連載の記事
-
第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史 - この連載の一覧へ