拡張命令から見るx86 CPUの最終回は、拡張命令の今後について語ろう。とは言っても、ここで述べるのはあくまで現時点で見えているだけの話である。
Sandy Bridgeで新命令「AVX」が追加
Larrabee命令のx86導入はまだ先?
![]() | インテルのCPUアーキテクチャーと命令セットのロードマップ。IDF Shanghai 2008でのAVXに関するプレゼンテーションより抜粋 |
|---|
まず、本筋とあまり関係ない話を片付けておこう。インテルが現在「Larrabee」と呼ばれるGPU(というかStream Processor)を開発中なのは、すでに周知の事実だ。このLarrabeeでは、「LRBni」(Larrabee New Instructions)と呼ばれる新しい拡張命令が搭載されることがすでに明らかにされている。
LRBniに合わせて、32個の新しい512bitベクタレジスター「v0~v31」と、8つの16bitマスクレジスター「k0~k7」が追加され、(少なくとも)Vector Arithmetic/Logical/Shiftの命令が用意されることが明らかにされている。もっとも公開されているのはここまでで(詳細な命令セット情報やエミュレーション環境などは、機密保持契約を結ばないと入手できない)、また、短期的にはLRBniを実装するのはLarrabee(とその後継製品)のみとされているから、直接x86 CPUとどうこうという話ではない。
ただし、インテル社のCTO(最高技術責任者)であるジャスティン・ラトナー(Justin R.Rattner)氏は、長期的にはLRBniかその将来バージョンが、将来のIAコアの一般的な拡張命令として搭載される「可能性はある」としており、将来的にはこうしたものも入ってくるかもしれない。
では本筋に入ろう。インテルは現在、NehalemコアCPUを45nmで製造中だが、これを32nmプロセスに移行させた「Westmere」を2010年に導入する。このWestmereでは、命令セットについては暗号化アクセラレーションが若干拡張される程度だ。だが、これに続く同じ32nmで製造される次世代アーキテクチャーの「Sandy Bridge」に、「AVX」(Intel Advanced Vector eXtentions)と呼ばれる新しい拡張命令が搭載されることが明らかにされたのは、2008年3月に上海で開催されたIDF Shanghai 2008のことだ(関連記事)。冒頭のスライド画像はその時のものだ。
この発表時は概略程度で、あまり突っ込んだ中身は公開されなかったが、その後次々とドキュメントなどが提供されており、現在AVXのページでは仕様だけでなく、さまざまな応用事例をまとめたアプリケーションノートやAVXのソフトウェアエミュレーター、コードアナライザーなどが入手できるようになっている。
![]() | AVXのウェブページ。開発者向けの情報が充実している |
|---|
余談だが、このあたりは、AMDがx86-64を公開した時に非常によく似ている。やはり仕様書のみならず、ソフトウェアエミュレーターやコードアナライザー、アプリケーションノートなどが、実際のプロセッサーが提供されるはるかに前から提供されていた。
この連載の記事
- 第111回 アーキテクチャーから予測するBulldozerコアの性能
- 第110回 バスの歴史を振り返る PCI Expressと関連規格を総ざらえ
- 第109回 バスの歴史を振り返る PCIからAGP、PCI-X編
- 第108回 LlanoからTrinityへ 2011~2012年のAMD CPU
- 第107回 バスの歴史を振り返る EISA~VL Bus編
- 第106回 バスの歴史を振り返る XT Bus~ISA Bus編
- 第105回 IBM PC BusからPCI Expressまで PC用拡張バスの歴史
- 第104回 Mobile RAMからWideIOへ モバイル向けメモリーの進化
- 第103回 PS3で初採用 次世代GPU用メモリーも狙うXDR DRAM
- 第102回 グラフィック専用メモリーの進化と不透明な今後
- この連載の一覧へ

















