■後藤弘茂のWeekly海外ニュース■
Sandy Bridgeを発表するDavid Perlmutter(デビッド・パルムッター)氏(EVP & GM, Intel Architecture Group) |
Intelが、ついに次世代CPUアーキテクチャ「Sandy Bridge(サンディブリッジ)」についての情報を一気に公開し始めた。Sandy Bridgeは、Intelが来年(2011年)の頭から投入する次世代CPUアーキテクチャ。32nmプロセスで製造され、デスクトップからサーバー、ノートPCまで一気に来年(2011年)前半に投入される。
Sandy Bridgeを一言で表すと、SIMD(Single Instruction, Multiple Data)演算のパフォーマンスを倍増させ、GPUコアとCPUコアをワンチップにまとめたx86系CPUだ。しかし、それだけでなく、CPUコアのシングルスレッドの整数演算パフォーマンスの向上にも、かなり力を入れている。さらに、GPUコアにも、汎用コンピューティング的な使い方をしやすくする拡張を加えている。
つまり、Sandy Bridgeでは、シングルスレッド性能の向上を継続させつつ、データ並列やマルチスレッド性能を拡張するという、これまでのIntelの思想を堅持している。「Bulldozer(ブルドーザ)」でマルチスレッドに大きく振ったAMDのラディカルさと比べると、Intelの堅実な路線が目立つ。
しかし、その一方で、GPUコアの戦略は転換、GPUコア側にも汎用コンピューティング処理を分散するという方針に転じたように見える。これは、これまでの、x86命令セットのSIMD拡張でグラフィックスまでカバーするというLarrabee(ララビ)路線からの脱却とも言える。
Intelは、こうしたSandy Bridgeの概要を米サンフランシスコで開催している技術カンファレンス「Intel Developer Forum(IDF) 2010」で発表した。IDF初日は、午前中のキーノートスピーチでSandy Bridgeのデモを公開。午後の技術セッションでは、半日に渡ってアーキテクチャの解説を行なった。今回のIDFでは、Sandy Bridgeの製品の具体的な話は薄く、特長とアーキテクチャの説明に終始している。
Sandy Bridgeのダイレイアウト(PDF版はこちら) |
Sandy Bridgeのデモ |
●AVXとGPUコア以外にもアーキテクチャを大きく拡張
Sandy Bridgeアーキテクチャの基本は、現行のNehalem(ネヘイレム)アーキテクチャと同じで、Core Microarchitecture(Core MA)からの拡張。つまり、P6(Pentium Pro/II/III)→Pentium M(Merom)→Core MAの延長にあるマイクロアーキテクチャだ。P6からは遠く離れたとはいえ、パイプラインの基本は、今もP6を引きずっている。
しかし、Sandy Bridgeでは、従来アーキテクチャから大きく拡張された部分がある。目立つのは256-bit幅のSIMD命令拡張「AVX(Advanced Vector Extensions)」の実装と、GPUコアの内蔵。目立たないが重要なのは、内部パイプラインの改良によるシングルスレッドパフォーマンスの向上、GPUコアのリアーキテクトによる機能の大幅な拡張、多様なトリガーで周波数をブーストできるターボブーストの拡張、そしてコアと各ブロック間を結ぶリングバスの採用だ。
実際には、Sandy Bridgeの真価がわかるのは後者の部分で、CPUコアのフロントエンドでは実行トレースをベースにしたuOPsキャッシュなど、極めて重要な改良が含まれている。レジスタリネーミングでは物理レジスタファイルにマップする方式への変更など、AMDのBulldozerと共通する改良もある。GPUコアに至っては、GPUベンダーが備えるGPUコンピューティング向けの拡張機能を取りこんで、全く別物と言っていいほど拡張されている。
Intelは、IDFの基調講演では、目立つAVXと内蔵GPUコアのパフォーマンスの紹介にフォーカス。その後の技術セッションでは、目立たないが重要な機能の紹介に集中した。キーノートスピーチでは、わかりやすい部分だけを前面に出し、技術セッションでは、わかりにくいが重要な点を出すという戦略だ。前半がマーケティングメッセージ、後半が実質のテクニカル情報という棲み分けだ。そのため、IDFのどの部分を見るかによって、Sandy Bridgeの印象は大きく異なる。
IDFで公開されたSandy Bridgeの詳細 |
●わかりやすいAVXでのパフォーマンスアップ
Sandy Bridgeから実装されるAVXは、従来のSSEでは128-bit幅だったSIMD演算を256-bitに拡張する。単精度32-bit浮動小数点演算なら8-wayを並列に処理できる。SIMD演算で、物理的な演算ユニットの演算幅が2倍になれば、並列化できる処理の理論上のパフォーマンスは一気に2倍になる(他にボトルネックがなければ)。“Sandy Bridgeのパフォーマンスがいい”と言われる最大の理由はここにある。
IDFのキーノートスピーチでも、画像や動画の処理やナチュラルユーザーインターフェイスの認識処理でのAVXによる高速処理が紹介された。これらの処理は、デモでわかりやすく、一般ウケがする。
もっとも、紹介された処理のほとんどは、データ並列化が容易で、AVXで簡単に適用できるものばかり。SIMDでの並列化が容易な処理なら、SIMDの演算幅が2倍になればピークパフォーマンスが2倍になるのは当然の話だ。本当はAVXで並列化しにくい処理の方が多いが、もちろん、そうした点には触れられない。とはいえ、画像や動画のように、負荷が重い処理でパフォーマンスが一気にアップするため、AVXの効用は大きい。
データ並列で高速化するという点では、AVXはGPU上での汎用コンピューティングと競合する。Intelは、GPUとの比較は明確にはしなかったが、メッセージは明確だ。CPUと分離されたGPUに処理を分散するよりも、AVXでシングル命令ストリームの中でベクタ演算を行なった方がプログラムしやすい、というのがIntelが示しているポイントだ。
ただし、IntelはSandy BridgeでGPUコアにも汎用性を高める機能を入れた。そのため、AVXとGPUコアの2つの棲み分けをどう判断して行くのかが注目される。
もっとも、AVXにも微妙な点がある。ベクトル系の弱点であるコントロールフローの制御の部分とベクタ長だ。AVXはコントロールフローの制御がSSEより大幅に拡張されているが、最近のトレンドからは一歩遅れている。最新のGPUや消えたLarrabeeが備える「プレディケーション(Predication)」と比べると、AVXのマスクロード/ストア機能には弱い部分がある。一般にベクタ演算の幅が広がるにつれて、必ず同じ演算を行なうデータのセットを揃えることが難しくなる。汎用性を広げるためには、各データ要素に対しての分岐を制御する必要が出てくる。それによって、「SOA(structure of array)」型のデータ配列の処理を容易にする。AVXは、この部分は、まだ拡張の余地がある。
また、最近のデータ並列化の波のトレンドは、ベクタの制御の単位である論理ベクタ長を512-bit(単精度16-way)から1,024-bit(単精度32-way)にすることだが、AVXは256-bit(単精度8-way)と大人しい。Intelは以前からAVXの512-bit拡張の可能性を示唆しているが、IDFの初日のセッションでは、具体的なロードマップは示されなかった。
「SOA(structure of array)」配列と「AOS(array of structure)」の違いとプレディケーション |
各ベクタ演算の演算粒度(PDF版はこちら) |
●パフォーマンスを引き上げた内蔵グラフィックス
Sandy Bridge GPUコアの性能向上 |
Intelは2007年に、32nmのSandy BridgeのGPUコアのパフォーマンスが2006年の130nm版のIntel統合GPUコアの10倍のパフォーマンスになると予言した。今回のIDFでは、実際には25倍のパフォーマンスに達したと発表された。
GPUの場合、何をもってパフォーマンスと呼ぶかが難しいが、このパフォーマンス向上の背景は明瞭だ。1つはプロセス技術。もともとチップセットはプロセス技術がCPUより後れていたのが、CPUにGPUコアを取りこむことでプロセス技術が並び、それがGPUコアの性能アップの大きな要因となっている。もっとも、プロセスが4世代(130nm→90nm→65nm→45nm→32nm)ならトランジスタの集積度は16倍なので、Intelの宣言通りならムーアの法則以上のパフォーマンス向上を果たしたことになる。
もう1つの要因はGPUコアの動作周波数。公式には発表されていないがSandy BridgeのGPUコアはデスクトップで850~1,350MHz(ターボ時)、ノートPCでは650~1,300MHz(ターボ時)で動作する。Intelは、GPUコアの設計をスタンダードマクロからカスタム設計へと変えた可能性もある。NVIDIAはG80以降は、プロセッサコアの部分をカスタム設計にして高クロック化している。
Sandy BridgeのGPUコアは、ピークの動作周波数が上がったことでパフォーマンスは上がったはずだ。この他、CPUコアとのラストレベルキャッシュ(CPU側から見るとL3)共有化や、実行エンジン自体のリアーキテクトでもパフォーマンスは格段に向上したという。Sandy BridgeのGPUコアは、単純な性能よりも、再設計による機能の強化の方が目覚ましい。
Sandy Bridge GPUコアの最大の疑問は、機能を向上させたにも関わらず、まだDirectX 11(Direct3D 11)対応ではなく、テッセレータなどを備えていない点。GPUの場合、純パフォーマンス以上にフィーチャを揃えることが必要であるため、2011年のGPUコアでDirectX 11の対応が欠けていることは、Sandy Bridgeの弱点だ。
●浸透が急ピッチで進むSandy Bridge製品群
Intelは、ビジュアル系の処理でのSandy Bridgeの利点を表に出して、このCPUを猛烈にプッシュしている。わかりやすい部分での性能向上が大きいSandy Bridgeは、ベンダーにもユーザーにも受け容れられやすい。Intelもその点をよく理解しており、そのために、表のメッセージでは技術的なことは言わず、ひたすらビジュアル的な処理が高速になる点だけを打ち出している。
では、実際にSandy Bridgeはどのように浸透して行くのだろうか。IntelのデスクトップPC向けCPUのロードマップを整理すると、驚くほど急激にSandy Bridgeのラインナップが広がって行くことがわかる。製品ラインだけで見ると、来年後半までにはほとんどのセグメントがSandy Bridgeに塗り変わってしまう。これはノートPC向けCPUでも同じだ。
デスクトップのロードマップ(PDF版はこちら) |
Nehalem(ネヘイレム)は最初にハイエンドデスクトップに展開したが、Sandy Bridgeは100ドルから200ドル台のメインストリームPCから浸透する。Nehalemは、ゆっくりと段階を踏んで下の価格帯に展開したが、Sandy Bridgeは一気に下位のバリューCPUへも展開する。具体的には来年春には100ドル以下のPentiumブランドに、秋までにはローエンドのCeleronにも浸透する。
Nehalemアーキテクチャは、Pentiumブランドの下位製品とCeleronブランドまでは展開しなかった。そのため、それらの製品はCore Microarchitecture(Core MA)からSandy Bridgeへと移行する。現在、IntelのデスクトップCPUで、数量的に最も多く出ているのはPentiumブランドだ。そのため、Pentiumブランドの全価格帯にSandy Bridgeが提供される意味は大きい。
こうしたSandy Bridgeの急激な展開は、Core Microarchitecture(Core MA)の浸透の時とパターンがよく似ている。もちろん、Sandy Bridgeとオーバーラップする価格帯のNehalemやCore MA CPUが、すぐに生産を終了して置き換わるわけではない。かなり長期に渡って、同じ価格帯でSandy Bridgeと、それ以前のアーキテクチャが併存する。しかし、Sandy Bridgeの浸透のペースが急激であることは間違いない。Intelの移行プランでは、来年の中盤までに、デスクトップでのSandy Bridgeの比率を30%にまで引き上げることになっているという。
Sandy Bridgeのサーバーでのセグメント分け(PDF版はこちら) |