2011年11月29日

CPU Architecture 2011

Last Update 12/1

LGA2011.JPG 

 Sandybridge-Eが出ました。まずは、石を手に入れてみました。

手持ちのCPUで世代別に並べてみました。この石は大きいですね。

Socet604時代のCPU並みのモジュール面積です。LGA771の時は

コンパクトなイメージだったですが、1366、2011と巨大化が進んでいます。

今後のPC製作にあたり、自分のまとめとして、何が変わったかをまとめました。

 常時フル負荷のOCマシンとして、前世代はGulftown 980X、990X、

Westmere-EP Xeon X5680と回してみた経験から、

演算パワーの視点でSandybride世代の何処に期待できるかです。

 CPU_architecture_2011.jpg 

図は、公開されたアーキテクチャを自分の説明用に描き直したものです。

パワーアップの内容を追ってみます。

コア自体は若干の改良が加えられていますが、コア単体の演算パワーだけ見ると、

Core 2世代から格段のアップは無いです。ほぼ、Core2と同等です。

しかし、多くのベンチや、実際の運用で、格段のパワーアップが確認されるのは何故か?

★Core 2⇒Core i7 

1.2 Coreのダイをワンパッケージ⇒全てのコアを一つのダイへ集約

2.拡張命令の追加

  Xeon 5400:MMX, SSE(1,2,3,3,3S,4.1), VT-x, EM64T

  ⇒ Xeon X5680 MMX,SSE(1,2,3,3,4.1, 4.2), VT-x, EM64T, AES

  SSE4.2、AESが増えた。

3.キャッシュ構成が変わりました。比較:Xeon X5470 4C ⇒Xeon X5680 6C12T

(コンシュマー向けでは、Core 2 Quad ⇒Core i7と相当)

L1 :Xeon X5470 命令 4x 32KB 8way 、データ 4 x 32KB 8way

   ⇒ Xeon X5680 命令 4x 32KB 4way 、データ 4 x 32KB 8way

L2:Xeon X5470 2x 6MB 24way  ⇒ Xeon X5680 256KB 8way

L3:Xeon X5470 無し ⇒ Xeon X5680 12MB 16way

 全コア共有キャッシュの実現で、データ共有効率の大幅改善

4.メモリコントローラの内蔵によるメモリ帯域の改善

Xeon 5400x2  : MCH内に4CH FB-DIMM DDR2-800 25.4GB/s、CPU毎にFSB接続12.8GB/s

Xeon 5600x2  : 3CH DDR3-1333内蔵 各CPUで31.8GB/s

 帯域が大幅に向上した。

5.45nm⇒32nmにプロセスが縮小されたことにより、コア数が増え、クロックも伸びた。

これにより、Core i7 980Xの6C12Tは、Xeon 5470x2 の4x2Cの演算パワーを超えました。

Core2 の45nm世代で4GHz程度、Gulfの32nm世代で4.5GHz程度が一つの目安です。

(100%負荷常時稼働の利用の目安で、ベンチセッティングのことではないです。念のため。)

6.ハイパースレッドにより寝ているリソースを使えるようになった。

Prestnia時代のHTは、コアが増えるけど、演算パワーが向上したようには、

思えませんでした。(今でも使ってますが、もはや、めちゃめちゃ遅いです。。。。)

Core i7世代のHTは、明らかに演算パワーが上がっているしトラブルも無く優秀です。

Core i7 975EEの4C8T@5.3GHzより、Xeon 5470x2@3.84GHz の4x2Cの方が速いです。

HTを切ると、トータル演算能力は下がりますが、コア辺りの処理能力は、

メモリコントローラが内蔵され、メモリ帯域が大幅改善されたことと、

全コアで共有できるL3キャッシュのため速いです。

HTを入れることで、見た目コアが倍になるが、リソースは一つということです。

7.QPIの新設

FSB接続から、QPIによるCPU間接続になり、データの共有効率も上がり、

Xeon X5680x2@4.6GHz,BCLK200MHzは、Xeon X5470x2@3.84GHz,FSB1616MHzの2倍

を超える性能を実現できています。

 こうしてみると、Nehalem、Westmere-EP(コンシュマーのBloom、Gulf)は、

飛躍的に進歩しました。パワー倍増でした。

 

★Gulftown(Westmere-EP)⇒Sandybridge

私は、トータル処理能力が低いSandybridge(2600K,2700K)は、パスしました。

ベンチマークデータの比較で明らかに言えることは、コア単体の処理速度が

かなり上がっていることが解っています。Sandybridgeで変わったことは以下です。

1.コアのアーキテクチャの改良

フロントエンドの改良により、 μOPキャッシュの拡張と分岐予測の効率化が図られた。

Sandybridge_frontend.jpg

Core 時代からNehalemまで、ほぼ共通のCPUコアでしたが、Sandybridgeで、

改修されました。これは、大きな改善で、消費電力の低下と処理速度の高速化が図られます。

Nehalemでは、L1キャッシュ内のx86命令コードをμOPへデコードして、これを

実行エンジンへ渡すという過程を、x86命令コードの実行毎に行われます。

Sandybridgeでは、一度デコードされたμOPは、1500個収容できるμOP用のキャッシュに

保存されます。Branch Predetectionユニットは、x86命令コードをデコードする前に

μOPキャッシュの中に、デコード済みのμOPが在るか検索しヒットした場合は、

デコードせずに、デコード済のμOPが実行エンジンへ送られることになります。

つまり、x86命令コードのデコーダは、停止させるか、次のx86命令コードのデコードに

使えるから、電力が抑えられ、デコードしなくて済む分高速化が図られます。

Sandybridgeのアイドル時の消費電力の低さの要因は、アイドル時のように、決まったコードが

繰り返されるだけの動作時は、μOPキャッシュでヒットする確率が高く、悪くても、

L2キャッシュや、リングバスで強化されたL3キャッシュでヒットしてしまうでしょうから、

電気を食うメモリへのアクセスも抑えられ、トータルで省消費電力化が実現できたと言えます。

夏のWin7杯省消費電力スペシャルで、モバイルSandybridgeを使ってみましたが

その高速性と省消費電力性に驚きました。機能的には地味ですが、電気回路的には、

大胆な改善により実現された効果と思います。

 2.拡張命令AVXの追加

Gulftwon : MMX,SSE(1,2,3,3,4.1, 4.2), VT-x, EM64T, AES

Sandybridge : MMX,SSE(1,2,3,3,4.1, 4.2), VT-x, EM64T, AES, AVX

AVXが増えた。従来のSSEは128bitレジスタであるが、AVXでは256bitレジスタとなり

処理速度は最大2倍。アプリで並列化可能な演算がありこの命令を使えば優位。

3.キャッシュの改善

L3キャッシュ内にリングバスを設け、データの共有効率を上げることで、

データ速度の遅いメインメモリへのにアクセスを減らし、処理の高速化を図ろうというものである。

また、L3キャッシュがコアと等速になり、レイテンシの短縮化が図られている。

 

★Sandybridge ⇒ Sandybridge-E

1.拡張命令VT-dの追加

Sandybridge-EはXeon向け前提で仮想化機能の強化が図られていますが、

ご存知の通り、Sandybridge-Eの初代のコンシュマー向けは、ここにはバグがあり

機能しません。次のステッピングでXeon-E5が出るタイミングで改善予定。

2.リングバスの経路が1本⇒2本へ拡張

Sandybridgeでは、リングバスが一本搭載されている。Sandybridge-Eでは、巡方向と

逆方向のバスが独立して一本づつの構成になり、帯域が倍になっている。

しかし、コア数が倍になっているので、結果的にはバーターと思われる。

コア辺りの処理速度を見ても両者で大幅改善が見られないことからも、システムの大型化

への対応と見て良いと考えられる。

3.メモリコントローラが2CH⇒4CH

Sandybridge:2CH DDR3-1333 21.2GB/s

⇒ Sandybridge-E:2 x 2CH DDR3-1600 50.8GB/s

コア数が増えたことにより、メモリの帯域も倍増されなければ、トータルで効率よく

処理できないので、当然の措置と考えられる。

Gulftownの31.8GB/sに比べて大幅にメモリ帯域が改善されているが、

本来このSandybridge-Eは、8Coreを前提に設計されているので、

最初にリリースされた6Coreモデルで見るより、8Coreモデルでどうかと見ると、

ちょうど良いの評価になるのではないかと思われます。

他のアーキテクチャと比べてどうかですが、スパコン「京」の互換機に搭載されている

SPARC64 IXfx 16Coreの85GB/s(8CH DDR-1333)に比べても、8Coreで50.8GB/sの

帯域が使えることは、かなり贅沢な仕様と言えるのではないでしょうか。

 

ここまでのお話は、アーキテクチャのお話で、OCしたら、また、化けるでしょう。

どうなるか楽しみであります。

このブログ記事と同じカテゴリのブログ記事

トラックバックURL

このエントリーのトラックバックURL:
http://www.myme.mine.nu/cgi-bin/mt/mt-tb.cgi/432

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)