パソコン工房
パソコン工房ビジュアライズノート
パソコン工房










上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

10/13 FXシリーズの感想

スレで長々と書くのもあれなのでブログで。
まずベンチ結果が悪かったのは事実ですが、それ以上に不明な点が多いかなと

マルチスレッド性能が思ったほど上がってないこと
OCしやすいけどOCするほどワットパフォーマンスが悪くなること
大きなダイ、多くのトランジスタ数の割りにパフォーマンスが劇的に上がってないこと

ぶっちゃけて言ってしまえば、あまり頭は良くない方なので
色々知識不足ですが、自分なりに考えてみました


http://pc.watch.impress.co.jp/img/pcw/docs/478/013/1.jpg
http://pc.watch.impress.co.jp/img/pcw/docs/437/481/5.jpg
まずSandyのダイです。
一部、デッドスペースがありますがこれはリンクバスでコア数を増減しやすくした結果かと思われます
特筆すべきなのはアンコアの効率の良さという印象を受けます
これはノースブリッジを1つのブロックにまとめたことで、
GPU、CPU、ノースブリッジとリンクバスで繋ぎ、更にコア数の増減をしやすくした結果と言えるでしょう。

http://pc.watch.impress.co.jp/img/pcw/docs/430/044/9.jpg
次にLlanoとBulldozerのCPUコア比較
同じ32nmでありながらK10の1コアとBulldozerの1モジュール(2コア)
で大幅にダイサイズが変わってないので、効率的と言えるでしょう。

http://pc.watch.impress.co.jp/img/pcw/docs/473/823/16.jpg
最後にBulldozerの4モジュール8コアとSandy-Eの8コア比較
Sandy-Eはハイエンドなのでキャッシュ増加、アンコアの強化などされてるので、
ダイはSandyと比べて大きくなってはいるんですが、
デッドスペースがほとんど無く、非常に効率的なダイという印象です。

一方で、Bulldozerの方はアンコアが非効率と言う風に見えます
これはCPUコア間をリンクバスではなく、従来のクロスバーによって接続しているからなんですが
これではCPUコアの効率が良くても、ダイ全体の効率で言えばそれほどでは無いのかもしれません。


次に実行パイプラインの流れ
http://pc.watch.impress.co.jp/img/pcw/docs/430/801/6.jpg
http://pc.watch.impress.co.jp/img/pcw/docs/395/394/11.jpg
パッと見ではIntelに近くなったような印象がありますが、実際は大きく異なります
Intelでは4MicroOPs→6uOPsに分解し実行ブロックと、ロード/ストアブロックに振り分けます
Sandyではロード/ストアブロックのロードを強化しロード/ストアの両対応のパイプに変更されてます
また、トレースキャッシュの採用などフロントエンドの強化がされているので性能が向上しています

Bulldozerは1サイクル4MicroOPsを交互に発行し、それを交互に整数ユニットに振り分けてます
2個のALUと2個のAGUと言う構成なので、実行は1サイクルで4uOPs。
しかし、4MicroOPsを8uOPsに分解することで1サイクル分の余裕が出来るので、
その間にもう一方の整数ユニットへ4MicroOPsを発行する形になります
整数ユニットとFPUにくっつくような形になり、128bit*2基の構成にすることでFPUをSMTのように扱うことが出来るようです。

SandyはFPUが256bit*1基なので、Bulldozerは8コアと言っても256bitだと4基と言う見方もできます
また、Sandyはトレースキャッシュの追加などフロントエンドが強化されているので、
Bulldozerもフロントエンドを強化したとはいえ、それは1モジュールでの話なのでSandyと比較すると不利なのかもしれません。
他にも分岐予測などがBulldozerでは上手くいってない可能性もあります。
フロントエンドに何かしらの問題・修正点があるので、マルチスレッド性能などに影響が出てるのかもしれません
他にもキャッシュレイテンシが大きい、スケジューラがIntelよりも性能が劣るなど様々な要因は考えられます

結論で言えばSandyはロード/ストアパイプを強化&分岐予測の精度、
トレースキャッシュなどフロントエンドの強化がとても上手く機能してる一方で、
Bulldozerは改善されたとはいえ、依然としてレイテンシが大きいことや
分岐予測の精度があまり向上してないことやスケジューラに難があるのかなと。
構造そのものの方向性はともかく、実際に実行する際に重要な箇所が
Sandyほどの性能ではないことが原因なのかもしれませんね


ざっくりと色んな記事を読んだだけなので、間違ってる点は多いかと思いますので
全然違うって箇所があればコメントの方でご指摘お願いします
もうちょっとCPUについて勉強しなくちゃですかねぇ・・・
マイコミジャーナルのコラムがいい感じなので、時間がある際に読んでみようかと思います
関連記事
[ 2011/10/13 09:55 ] 雑記 | TB(0) | CM(0)

コメントの投稿













管理者にだけ表示を許可する

トラックバック:

この記事のトラックバック URL
http://pcniigata.blog.fc2.com/tb.php/14-b72a8f0d










上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。