2009年3月3日火曜日

【CPU】クロック周波数と性能の関係

CPUについてです。
自分もちゃんとは知らなかったのですが、周波数だけでは性能を測れないんですね。
以前は周波数=性能だったのですが。。。
無知でした。
 
非常に分かりやすい記事がありました。
 
 
【質問】
 
> TDP35Wが魅力でceleron 440 Conroe-LにCPUを交換しようと思う
> のですがなぜクロック周波数は2Ghzなのに
> ペンティアム4換算でいくと3Ghz以上の性能になるのでしょうか?
 
これです。僕の疑問もこれです。
 
> 分かりやすく言えば基本設計が違うからです。
> Pentium 4は1クロックあたりの性能は低いけどクロックを
> 高くして性能を稼いでいます。
> ところが、Celeron 440などのCore 2世代の設計は
> 1クロックあたりの性能を大幅に向上させて
> 低いクロックでも高性能になっているんです。
 
なるほど。そういうことか。分かりやすい。
 
> Pentium 4で使われていたNetBurstマイクロアーキテクチャ、
> Core 2シリーズで使われているCoreマイクロアーキテクチャ、
> 両者は色々な部分で違いがありますけど大きな変化は
> パイプライン数の縮小です。
> パイプラインとは並列処理のことで、数が多ければ動作クロックを
> 上げやすくなります。
> 普通に考えると数を減らしたら性能が落ちそうですけど
> Pentium 4→Core 2の場合は逆になりました。
> これは、CPUの処理するデータは一定ではないからです。
>
> 例えば、車の生産ラインは常に同じ作業をするため
> ライン数を増やせば効率が上がります。
> ところが、CPUの場合は同時に行っている処理の結果がないと
> 進められない処理というものが発生します。
> 例えば、ラインAとラインBで作業を行っている場合に
> ラインAでは設計図の作成、ラインBでは部品の製作を行なう
> ようなものです。
> CPUの場合は設計図が無くても予測して部品を作ってしまうんです。
> 当然、予測なので外れることもあり、その場合は再生産ということで
> 無駄な時間が発生します。
> CPUが処理するデータは全て2進数(0か1)なので予測精度は
> そこそこありますが、パイプライン数が増えると失敗率が上がって
> 効率がどんどん落ちるんです。
>
> もちろん、Coreマイクロアーキテクチャの場合も予測ミスは
> 発生しています。
> ですが、パイプライン数が少ない分だけ予測の成功率が
> 上がっているので、再処理の頻度は少なくなっています。
> Pentium 4の性能がクロックの割りに低いのは予測の失敗率が
> クロック上昇による性能向上を打ち消してしまっているからなんです。
> 結局、CPUの性能はパイプライン数とクロックの兼ね合いって
> ことみたいですね。
 
ちょっと難しいが、うむ。なるほど。
 
> 単純作業を2つのチームで行うとします。
>
> celeron 440チームは・・・
> 1時間に2つ(周波数)の仕事を出来る人が5人(CPU処理効率)います。
> Pentium4チームは・・・
> 1時間に3つ(周波数)の仕事を出来る人が2人(CPU処理効率)います。
> 同じ仕事を行った場合、早く終わるのはもちろんceleron 440チームです。
>
> 周波数は、1秒間に何回処理を出来るかを表します。
> 2GHzなら2*1024*1024*1024回です。
> これはPentium4の方が高いですね。
> しかし、設計の違いで1回で多くの事を処理出来るのがceleron 440です。
> これがCPU処理効率の違いです。
>
> 少ない人数で労働基準法オーバーくらい働かせて仕事をしていたのが、
> Pentium4
> 余裕のある人数で仕事をゆったりやっているのが
> celeron 440
> でもいいかもしれません(笑)
 
これまた分かりやすい。ほんとこの回答してくれる方、いい仕事しますな。
 
しかし、性能比較が単純ではなくなった分、結局頼るところはベンチマークというところでしょうか。
それもめんどくさい人は、ようするに、新しいのにしろってこと!


免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

0 件のコメント:

コメントを投稿