2011年11月18日金曜日

X79とLGA2011とAMD FXな話

タイトルを見て一体何事と思うかもしれませんが、後々その意味を書くとして。

つい最近出たCPUといえば、両者ハイエンドクラスに位置付けする(?)CPUでした。

なんで(?)かというと両者とも少しばかり問題をかかえているCPUばかりなのです。


[ アーキテクチャの開発が遅れに遅れたAMD FX(Bulldozerアーキテクチャ) ]
上位モデルが11月4日、通常モデルと下位クラスが11月11日に発売になったAMD FX。

まず第一印象はとにかく高クロック。その上マルチコア8スレッド動作で聞こえは非常にいい。

だがしかし、元々このアーキテクチャーは開発が遅れに遅れたアーキテクチャー。本来は2年前ぐらいにリリースする予定だったはずのアーキテクチャーが何故こういう結果になったのか。


・思うように伸びなかった整数演算の性能
まずはアーキテクチャーの本質がどのようなものかを知る必要があるが、このアーキテクチャーは今までの前例にはない変則的な構成をとっている。

このBulldozerアーキテクチャのコアは2コア1モジュール単位で動作している。つまり2の倍数でこのコアは構成される。本来は1コア1コアが独立し、それを増やす事でマルチコアとしてきた。だがしかし、そのまま行くと整数演算ユニット、浮動小数点演算ユニット、L1、L2をそれぞれに設ける必要があるためダイ面積は非常に大きくなる。

そこで、AMDは考えたのが浮動小数点演算ユニットを2コアで出来る限り共通化し、整数演算ユニットを2スレッドに分割しそれぞれにパイプラインを設ける。しかし1スレッドに設けるパイプライン数は減らす。あとは高クロック化でIPC低下分の性能低下をカバーするという仕組みを考えた。いわゆる高クロックで低いIPCをカバーしようとするPentium4的(speed deamon)な考え方だ。(IPC=Instruction-per-Clock クロック当たりの命令実行数 おおよそは演算パイプライン数で決まるが正確な計測方法はないため実計算ではMIPS=Million Instructions Per Secondで比較される

英語版Wikipediaによれば整数演算のベンチマーク結果をクロックサイクルとコア数で割った結果は以下の通り

intel Core i7 2600K→9.43(128,300MIPS)
intel Core i7 3960X→8.89(177,730MIPS)
intel Core i7 875K→7.85(92,100MIPS)
intel Core i7 920→7.7(82,300MIPS)
intel Core i7 980X→7.46(147,600MIPS)

上位がほぼインテルなので以下略

AMD PhenomIIx6 1100T→3.9(78,440MIPS)
AMD FX-8150 →3.78(108,890MIPS)

参考までにゲーム機
XBOX360→2.0(19,200MIPS)
PS3 Cell BE(PPE only)→3.2(10,240MIPS)

ゲーム機は基本的にグラフィックエンジンの方に性能を割り振っているため整数演算で見るとかなり低い数値になる。

また、これだけでCPUの性能を全て測れるわけではなくあくまで参考値になるが、Intelが優勢である事は間違いない。実際ベンチマーク結果を見ていても似た結果が出てくる事からこの結果は正しいといえる。大きな理由としてはHyperThreadingが1コアで2スレッドを用意し、1つの数の多いパイプラインに2つの命令を同時に詰め込み動作させているためでそうする事で1コア当たりで見れば当然数値は高くなる。また、そのパイプラインを休ませることなくデータを処理させる事で常に100%の処理を可能とする。それがHyperThreadingの考え方だ。なのでもし仮にコア数ではなくスレッド数で割るとどうなるか。

2600Kの場合、9.43から更に2を割る。するとおおよそ4.72ぐらい。それでも十分高い数字を出せているのはHyperThreadingの能力向上と巨大なパイプラインとトランジスタ数のおかげだろう。


話をもとに戻すと、ダイの縮小方法が整数演算に響いてしまっているのも事実でこの結果を見てもお世辞にも性能がいいとは言い難い、あくまでコア数分の向上をしただけでAMDの同コア数で比較すれば劣勢に近い。

MIPSの総合値で見ればFX-8150の立ち位置は875K以上2600K以下あくまでインテルのメインストリームの最上位であるCore i7には及ばない。

さらに言えばダイの大きさと消費電力を考えるとやはりintel優勢となる。intelは4コア8スレッドに対してAMDは8コア4モジュールである。ダイの大きさは8コア4モジュールの方が大きくなりやすく、また高クロック化で消費電力も増大する。

総合的にみるとやはり残念なコアと言わざるおえない・・・。ただし、それは現状のコアの話であり今後の進化次第ではおおいに伸びる可能性もある。少なくともOS側がマルチコアを効率よく動かせるようになれば非常に優秀なアーキテクチャーになる可能性を秘めている。更にいえば、これを1モジュールを1コアという単位で見た場合、これは恐ろしい計算能力を持つことになる。つまり8モジュール16コアを同じ大きさに詰め込める事が出来れば凄い事になる。(Opteronがそれにあたる。)

結論としては、現状は苦しい。また2年前に何故実現出来なかったのかといわれれば、確実にそれは高クロック化と消費電力の増大が問題となったためだとわかる。製造プロセスの微細化によりやっと製品化出来るレベルにまで辿り着いたといえるだろう。

また、AMDの考え方はクラスタードアーキテクチャーとしては非常に賢い作りをしているが、本来クラスタードアーキテクチャーはマルチスレッドへの最適化が進みやすいサーバー向きな傾向にあり、上位のサーバー向けにあたるOpteronへの採用を見越しての選択といえる。

以上からしてAMD的にはサーバー向けに効率化させたアーキテクチャーであるといえる。

だがしかし、インテルもサーバー向けにアドバンテージを持たせるべくメニーコアプロセッサを用意しようとしている。

どちらにしてもAMDはアーキテクチャーの改良を早急に行う必要があるだろう。また、一番の問題点は製造上の問題(生産の遅れ、歩留まりの悪さ)がかなり響いている。これを打開しなければ、もともこうもない。


お次はSandyBridgeE。

対してintelの最上位にあたるLGA2011。

intel4004から40周年を記念してなのか年号と同じピン数を採用してきたSandyBridgeE。

そもそも2011もピン数が必要なのはどういう事なのか。

実際にX79のマザーボードを見た時にやはり感じたのはそのプロセッサの占める割合の大きいこと。とても6コア12スレッド納めるだけのソケットには見えない大きさ。それこそ12コア24スレッドぐらい乗るんじゃないかと思うほどである。それぐらいに体感上の大きさがある。

・メインストリームが優秀すぎて現状ではその価値を見いだせないLGA2011
先ほどのAMD FXの比較の時にSandyBridgeEとSandyBridgeも比較にありましたが、それを見る限りSandyBridgeに負けてしまっているのがわかります。果たしてこれの意味はどこにあるのか。


そもそもSandyBridgeEとSandyBridgeの役割を考えるとそれはおのずとわかるのだが、

SandyBridgeE
メインストリームからの差別化を図るためSandyBridgeを拡張する必要がある。ここでの拡張はメモリ周りやPCIe3.0のダイレクト接続などが挙げられる。そのため、試験的な動きを取る事が多い。

SandyBridge
メインストリームとして安定性をとる。SandyBridgeEに対して保守的な動きをとる。

そのためCPUとしての性能だけでは測れない部分がSandyBridgeEにはあるという事になる。

また将来の拡張を見越していることがダイを見てもわかる。

そもそもこのSandyBridgeEはダイを見るかぎり8コア分のダイ面積を持つ。もちろん空いてる2コア分には何もない。いや、正確にはあるのだが無効化されている。

つまり、本当の最上位モデルは8コア16スレッドになる可能性が高い。

またQuadChannelへの対応もコア数が増えればそれ相応に効いてくる可能性は高い。今考えるとLGA1366では6コアでTripleChannelであったことから。8コアでQuadChannelの流れは不思議ではない。

それを考えるとやはりハイエンドである事は間違いないといえる。またPCIe3.0もグラフィックボード2枚挿しでも十分まかなえるレーン数を確保している事からしてもやはりそれ相応といえる。

以上を踏まえるとLGA2011というのはあながち不思議ではない。

ただし、それ以上のピン数を増やした場合、問題となるのはやはりボード面積になる。チップセットが1チップとなったとはいえ、メモリのChannel数の増加でどのみち取れる面積は狭くなる。となると12コア24スレッド6Channelアクセスは難しい。少なくとも1Channelあたり1DIMMに制限される可能性は高そうだ。

実際4Channelでも2DIMMの場合は片面実装メモリでないと動作しないようである。つまりは両面実装であれば1DIMMとなるので実質1Channel1DIMMという事になる。

この辺りはメモリコントローラーの改良が必要となるだろうし、ダイ面積をいかに増やさずにコントロールするかというのも肝となりそうだ。


このあたりはXeonブランド向けにあたるSandyBridgeEPに向けて改良が行われると思われる。


またMICというメニーコアチップも用意されている
Knights Corner accelerator has over 50 cores and delivers 1TFLOPS
このCPUだけで1TFLOPSの演算能力を実現させる。GPGPUよりな50コア以上のx86CPUユニット群という特殊な系統のCPUだ。いわゆるマルチスレッド処理を行うのには有効なので研究用途やサーバーユニットではこれを合わせて使う事が出来る。

ようはこれでAMDのクラスタードアーキタクチャーよりな部分をカバーするという事になる。比較的バランスの取れた構成が作れるということだろう。intelが以前行なっていたメニーコアテストはこれの基礎を作るためだったと推測できる。

というわけでこちらもまだハイエンドとつく割には(?)を付けざる負えない内容となっている。これはAMDの動きを見てというのもあるのだろう。


隠し玉は最後までとっておくintel。それを必死で追うAMD。全てはintelの舞台の上で踊らされているということらしい。


そしてX79、LGA2011とAMD FXの真の意味は「どうしてこうなった」。

X79は開発途中でトラブルをかかえ、ズレ込んだ→どうしてこうなった

LGA2011はそもそもピン数自体が→どうしてこうなった

AMD FXは新たなブランド名を出しいよいよかと期待してた以上に残念な結果→どうしてこうなった

更に言えばintel 3xxx自体もどうしてこうなったなのだが・・・


0 件のコメント: