今回からは趣向を変えて、x86の拡張命令の変遷を、ロードマップでひもといてみよう。「CPU、GPUと来たら、次はチップセットじゃないの?」と言われそうだが、担当編集が失念していたようだ。というわけでチップセットは今後のテーマとしたい。
そもそも拡張命令とはなんぞや?
拡張命令の話を始めると、実は長い。そもそも「拡張」を議論するには、「元になるのは何か」をきちんと決めないといけない。一般にx86命令というとき、それは「80386」の命令を指していると思われがちだが、これはあまり正しくない。結果から言えば、「Pentium Pro」から始まるP6アーキテクチャーの命令が、事実上の標準になっている。
命令セットを見てみると、以下のような命令が80386の命令に追加される形でx86命令として定義されており、これを拡張命令とみなすかどうかで、話がちょっと変わってくる。
- 80486で追加
- BSWAP・XADD・CMPXCHG・INVD・WBINVD・INVLPG
- Pentiumで追加
- CMPXCHG8B・CPUID・RDTSC・RDMSR・WRMSR
- Pentium Proで追加
- CMOVcc・FCOMI・RDPMC・UD2
現実問題として、LINUXやさまざまなUNIX系はともかく、現在のWindowsなどはいずれも「P6命令は標準的にサポートされている」という前提でシステムが構築されており、基準となるのはこのあたりとなるだろう。なお、P6以降もちょろちょろとx86命令そのものは各社で追加されていたりするが、これは後述したい。
MMXに始まった新たな拡張命令群
64bit拡張はAMDの技術が基本に
こうしたx86命令そのものの追加や変更とはまた別に、x86命令の枠組みを拡張するような命令セットが追加されていった。上の図は、こうした拡張命令の系譜を簡単にまとめたものである。
この種の拡張命令セットを最初に定義したのはインテルで、1997年の「MMX」(MultiMedia eXtension)である。そのMMXを独自に拡張したのがAMDで、「MMX+/3DNow!/Enhanced 3DNow!」といった命令セットを順次投入する。
ただし、インテルも「SSE」(Streaming SIMD Extension)を同時期に投入したため、しばらくはSSEとEnhanced 3DNow!という2種類の拡張命令が共存する形になった。最終的に、AMD独自の3DNow!系統はマーケットをつかみ切れず、このためAMDは「3DNow! Professional」としてSSE命令との互換性を取ることになる。
これに続きインテルは、SSEをさらに拡張した「SSE2」を投入する。対するAMDはすぐには追従せず、代わりにx86の64bit拡張である「AMD64」(コード名 x86-64)を実装する。最終的にAMDは、SSE2とこれに続くSSE3をサポートする一方で、インテルはAMD64とほとんど互換(ほんの一部だけ異なっている)の64bit拡張を「EM64T」(Extended Memory 64 Technology、最近はIntel 64と呼称)としてサポートを余儀なくされる。両社で互換性がきちんと取れているのは、このAMD64/EM64TとMMX/SSE/SSE2/SSE3までである。
この後、両社は相互の互換性をあまり取っていない。インテルはまず「SSSE3」(Supplemental SSE3)を、続いて「SSE 4.1/4.2」をリリース。2010年予定の「Sandy Bridge」世代のCPUでは、「AVX」(Advanced Vector eXtension)と呼ばれる新しい拡張命令を投入する予定だ。
これに対してAMDは、「SSE4a」と呼ばれる独自命令セットをすでに投入しており、これに続いて「SSE5」を、2011年以降と目される「Bulldozer」コア世代で投入の予定である。このAVX/SSE5は今後細かく説明するが、両社ではある程度互換性を取りつつも、完全互換とはならない模様だ。
この連載の記事
-
第772回
PC
スーパーコンピューターの系譜 本格稼働で大きく性能を伸ばしたAuroraだが世界一には届かなかった -
第771回
PC
277もの特許を使用して標準化した高速シリアルバスIEEE 1394 消え去ったI/F史 -
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第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史 - この連載の一覧へ