今回からは趣向を変えて、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は今後細かく説明するが、両社ではある程度互換性を取りつつも、完全互換とはならない模様だ。
この連載の記事
-
第806回
PC
トランジスタ最先端! RibbonFETに最適なゲート長とフィン厚が判明 IEDM 2024レポート -
第805回
PC
1万5000以上のチップレットを数分で構築する新技法SLTは従来比で100倍以上早い! IEDM 2024レポート -
第804回
PC
AI向けシステムの課題は電力とメモリーの膨大な消費量 IEDM 2024レポート -
第803回
PC
トランジスタの当面の目標は電圧を0.3V未満に抑えつつ動作効率を5倍以上に引き上げること IEDM 2024レポート -
第802回
PC
16年間に渡り不可欠な存在であったISA Bus 消え去ったI/F史 -
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ