AMDテクノロジ戦略記者発表会開催,今後のAMDプロセッサはどうなる?
AMD上級副社長兼CTO Phil Hester氏
|
AMDは,本日(6月8日)都内で「AMDテクノロジ戦略記者発表会」を開催し,今後のAMDの基本的な方向性を提示した。これは,6月1日に米国で投資家などに向けて発表した資料をもとに,日本で要約した内容を発表したものである。本日はAMDの上級副社長兼CTOであるPhil Hester(フィル・ヘスター)氏が来日し,プレゼンテーションを行った。
概略をまずまとめておこう。 CPU製造プロセスは65nmや45nmルールに順調に移行する模様。2008年には全世界のx86プロセッサの1/3を生産できるようになるという。 CPUは,マルチコア化が進み,4コア製品も,まずサーバー用から投入されてくる。次世代製品ではCPUの各要素がモジュール化され,コア数やキャッシュ,各種機能のカスタマイズが簡単に行えるようになっている。
次世代コアによる製品は,2007年中盤に登場の予定。60nmルールで製造され,消費電力1Wあたりの性能は現状のものより60%改善されるという。2008年に登場する製品では,現状より150%改善される見込みだ。昨今のCPU性能の伸び幅から考えると,非常に大きな数値となっている。「1Wあたりの性能」というのが微妙なところで,プロセスルールの縮小で全体的な消費電力は低下するなら,この数値は少し割り引いて見る必要がある。逆に,コア数アップやクロックアップで消費電力が上がっていくなら,性能の伸び幅もさらに大きくなる。
製造技術やパフォーマンスのロードマップ。45nmの次の32nmもすでに焦点に入っている
|
|
|
ゲーム用としては,2コアのCPU2個で,最大4つのGPU(Quad SLI)を制御する「4X4」の構成が発表された。 現状では,マルチコアCPUがゲームにもたらす恩恵はあまり大きくないものの,最近になってマルチスレッド対応のゲームも登場してきており,今後のゲームではマルチコアのメリットも大きくなっていくと期待される。
ゲームとは直接関係がないかもしれないが,ちょっと面白いのは,Torrenzaというテクノロジだ。これは,サードパーティの開発したハードウェアをシステムに加えるための方策を用意するもので,Torrenzaでは,いくつかの種類の実装形態が提案されている。 いちばん簡単なのは,PCI Expressなどの拡張スロットに取り付けるものだ。とはいえ,それでは現状の一般的な周辺機器となんら変わりない。 次に,内部バスであるHyperTransportを外部に引き出したHTXスロットに拡張カードを差し込むというタイプ。普通のPCI Expressもかなり高性能なバスなのだが,内部で使用しているHyperTransportとの変換などが必要ないこともあり,より高速でダイレクトな接続が可能になる。 さらに,専用のソケットにチップを取り付けたり,チップセットの内部に特定用途用の回路を埋め込んだり,最終的にはCPU内部に取り込んだりという形態が提案されている。
これをいつものIntelの考え方と対比すると面白い。Intelの基本は,「なんでもCPUでやる」である。かつて,DSP(Degital Signal Prosessor)が注目された時代には,MMXやSSEなどのDSP風処理ユニットをCPUに追加することで,CPUでソフトウェア的にDSPを実現する方向(NSP)で進化してきた。CPUでなんでもやってしまうのがコスト的にもリーズナブルだという考え方だ。Intelのシステムでは,頂点シェーディングもCPUでやっていたが,これはあまり成功しているとはいえない。CPU性能がもっともっと高くなっていれば別なのだろうが,ある程度大規模な演算になると,専用の演算器があったほうがよいのだろう。 外部に取り付ける専用ハードウェアというと,4Gamerの読者ではPhysX PPUを想像する人が多いと思う。例で挙がっているものは,Java,XML,実数ベクトル演算,メディアプロセッシングとなっている。PhysX PPUは,まさにベクトル演算器ではあるのだが,それ以外のものとはちょっと毛色が違う感じである。 Torrenzaに対する業界の反応を見ると,Sun Microsystems(Java VM),IBM(XMLなど?),Cray Research(High Performance Computing)のコメントが並んでいる。基本的には,こういった人達を相手にしたソリューションであるようだ。 例えば,ネットワーク社会といってよい現代でも,ネットワークの重要な部分はほとんどがJavaの上に成り立っている。Javaサーバーの性能向上は重要な課題である。そのJavaは,Java仮想マシンという架空のCPU用のコードを生成し,JVMというシミュレータでそれぞれのCPUが実行するというシステムとなっている。当然,実行速度はネイティブコードにはかなわない。Sun自身のPicoJavaをはじめ,Javaバイトコードを直接実行するハードウェアの開発は,過去にいくつも行われているが,結局のところ,実用には至っていない。理由としては,汎用のCPUが十分高速であること,Javaコードを実行時にコンパイルするJIT技術が進化したことなどである。Javaコードを実行するCPUを設計しても,それを何GHzものクロックで動作させることは簡単ではない。 すでにある数GHzで動作するCPU上でシミュレートしたほうが安価で高速になる場合もあるということだ。JIT技術も進化し,大きく性能を上げてきている。処理の90%がコード全体の10%の部分で行われていたりするというのは,実はプログラムではよくあることだ。その重要な部分を徹底的に最適化することで,最小の労力でネイティブバイナリとほとんど差がないくらいにまで実行速度を上げてきている。Javaコードのハードウェア実行は,何度となく試みられ,結局捨てられていた分野であるのだ。 それが,ここにきて注目を浴びているのはなぜだろうか?
AMDの次世代4コアCPUの構成
|
最近のCPUの風潮は,並列化である。1コアあたりの性能は頭打ちになってきている。コアの並列化で負荷分散はできてもピーク性能は上がらない。ピーク性能も求められる分野では,最上位CPU+αの性能が要求されるのであろう。CPUメーカーとしては,敗北宣言ともなりかねないのだが,数倍速いCPUを作るよりは,専用ハードウェアと協業したほうが低コストで高性能が期待できるのは確かだろう。Torrenzaはそういった方向でのPCシステム拡張を標準化しようとするものである。
さて,そこまでの性能が要求される分野というのは,実は一般人にはあまり縁がない。Torrenzaも基本的にはサーバーやハイエンドPC用に考えられているようだ。ただ,専用ハードウェアの追加による性能アップないし機能拡張という考え方自体は,一般PCでも有効となりうるものである。
CPUコアの一部(もしくは大部分)でJava VMやXMLのパーサが搭載されていても,それを使わない人とっては,資源の無駄でしかない。特定用途向け専用ハードウェアというのは,確実にハードウェアリソースを食うものの,万人が必要としているものとは限らない。性能を考えると,できるだけCPUに近いところに設置したいところだが,CPUに近ければ近いほど(CPUと同パッケージ内か同じダイ上),コストがかかり,リスクも大きくなる。 ということで,Torrenzaで,専用ハードウェアという考え方ではなくて,汎用ハードウェアという考え方でFPGAのようなものを搭載する方向性はないのかと尋ねてみた。FPGAとは,プログラマブルなハードウェアで,回路を自由に変更できる素子だ。やろうと思えばCPUを組むこともできる。 現状で,サードパーティが望んでいるものはカスタムASICの専用ハードウェアであり,FPGAの需要はないとのことだった。とはいうものの,すでにFPGAベンダーとの協議は行われているらしい。一般ユーザーとしては,CPUにあまり使うことのない特定用途のハードウェアが載っていても嬉しくないので,PCの可能性を広げるような仕様で登場してきてほしいものだと思う。
とりあえず,我々にとって重要な選択肢となりそうなAMDの次世代コアCPUが登場するのは来年の中盤となる。IntelのCore 2 Duoが登場したばかりで,そちらの評価や動向も気になるところだが,長期的なPCの買い換え計画の参考にしておこう。 (aueki)
左:本筋とはまったく関係ないが,現在のAMDの屋台骨を支えているサーバー分野での,Core 2ベース次期Xeon(Woodcrest)とOpteronの比較。Pentium 4ベースの旧Xeonの発熱がひどすぎたので,AMDはサーバー市場へ乗り込むことができたといっても過言ではないのだが,次期Xeonはかなりの低消費電力となっている。それでも,Full Buffered DRAMがかなり電力を食っているため,1Wあたりの性能はAMDが上回るという図
右:AMDのサーバーを使っていないために浪費されているエネルギーの総額らしい
|
|
|
|
|
Athlon 64 |
|
|
|
|
|
|
Copyright 2006 Advanced Micro Devices, Inc. |
|
|
|
|