今回からは趣向を変えて、x86の拡張命令の変遷を、ロードマップでひもといてみよう。「CPU、GPUと来たら、次はチップセットじゃないの?」と言われそうだが、担当編集が失念していたようだ。というわけでチップセットは今後のテーマとしたい。
![]() |
|---|
| 拡張命令の変遷で見たCPUロードマップ |
そもそも拡張命令とはなんぞや?
拡張命令の話を始めると、実は長い。そもそも「拡張」を議論するには、「元になるのは何か」をきちんと決めないといけない。一般に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!」といった命令セットを順次投入する。
![]() | MMX Pentium |
|---|
ただし、インテルも「SSE」(Streaming SIMD Extension)を同時期に投入したため、しばらくはSSEとEnhanced 3DNow!という2種類の拡張命令が共存する形になった。最終的に、AMD独自の3DNow!系統はマーケットをつかみ切れず、このためAMDは「3DNow! Professional」としてSSE命令との互換性を取ることになる。
![]() | SSEを初めて実装したのは「Pentium III」の世代 |
|---|
これに続きインテルは、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までである。
![]() | x86命令を64bit対応に拡張した初のCPU「Athlon 64」 |
|---|
この後、両社は相互の互換性をあまり取っていない。インテルはまず「SSSE3」(Supplemental SSE3)を、続いて「SSE 4.1/4.2」をリリース。2010年予定の「Sandy Bridge」世代のCPUでは、「AVX」(Advanced Vector eXtension)と呼ばれる新しい拡張命令を投入する予定だ。
これに対してAMDは、「SSE4a」と呼ばれる独自命令セットをすでに投入しており、これに続いて「SSE5」を、2011年以降と目される「Bulldozer」コア世代で投入の予定である。このAVX/SSE5は今後細かく説明するが、両社ではある程度互換性を取りつつも、完全互換とはならない模様だ。
この連載の記事
- 第123回 CPU黒歴史 Athlonまでの中継ぎが四球で失点? K6-III
- 第122回 CPU黒歴史 対Pentiumのために放棄されたAm29000
- 第121回 CPU黒歴史 64bit CPU時代の主流になり損ねたMerced
- 第120回 謎のプラットフォームが加わったXeon最新ロードマップ
- 第119回 CPU黒歴史 駄作にあらずも切り捨てられ売却 XScale
- 第118回 CPU黒歴史 夢の5GHz CPUは燃費最悪 Prescott~Tejas
- 第117回 忘れ去られたCPU黒歴史 StrongARMの前に破れたi960
- 第116回 忘れ去られたCPU黒歴史 渾身のRISC CPUが駄作 i860
- 第115回 忘れ去られたCPU黒歴史 20年早すぎたCPU iAPX 432
- 第114回 忘れ去られたCPU黒歴史 幻の統合CPU Timna
- この連載の一覧へ


















