ホーム > ハードウェア > CPUのコア数に関すること

CPUのコア数に関すること

2008 年 11 月 16 日 コメントをどうぞ コメント

今日は、CPUのコアの個数に関することを書きたいと思います。

-何でコアが複数個あるのか-

この大きな理由は、1つのコアでの周波数等の性能が限界に近づいたからです。

一応Pentium 4で3.8GHzになりましたが、それ以降はこれより高い周波数のCPUは出ていません。
(でも、周波数あたりの性能は向上しています)

そのため、最近は1つのCPUにコアを複数個搭載されたものが発売されています。

しかし、コアが複数個あるとひとつ問題が発生します。

それは、基本的に1つのソフトで複数個のコアを使うことができないということです。

とりあえずSuper PI Modを使った例出したいと思います。

シングルコアのCeleron D 335(2.80GHz)で計測

シングルコアなのでCPU使用率が100%になります

1000000桁計算時間は1分12秒

2つ同時に計測

CPU使用率は同じく100%です。

1000000桁計算時間は2分24秒でした。
2つ同時に計測しているので時間が倍になっています。

次にデュアルコアのCore 2 Duo E6750 (2.66GHz)で測定

見て分かると思いますが、1つしか起動していないとCPU使用率が50%になっています

つまり、コア1つ分しか使えていません

1000000桁の計算時間は21秒

次に、2つ同時に計測してみます

これで、2つのプログラムがコアを1つずつ使っているのでCPU使用率100%になりました。

計算時間も少し長くなっただけです

このように、コアが複数個ある場合は、ソフトを複数個同時に使わないと100%の性能が出ません。

つまり、同時に複数個の作業をしない場合はCore 2 Quadを買うより、同じくらいの値段のCore 2 duoを買ったほうがいいということになります。

ちなみに、今日発売したCore i7ではこの問題を解消するためにIntel Turbo Boost Technologyという機能が搭載され、使ったいないコアがあった場合にそのコアを停止させ、余った電力で使っているコアをオーバークロックさせる機能が付きました。

また、ソフト側も複数のコアに対応しているものがあります。

エンコーダーや重いゲーム等に多いのですが、作業を複数個に分けて、それぞれのコアに処理をさせるため同時に複数のコアを使うことができます

しかし、このようなことがでるソフトはあまり多くないので、注意が必要です。
(これから増えていくとは思いますが)

カテゴリー: ハードウェア タグ: ,

  1. 2008 年 11 月 16 日 18:53 | #1

    確かに、50%しか使われないのはもったいないですね。
    つまり、Dual=2倍、Quad=4倍、Oct=8倍というわけではありませんね。
    i7の登場により、マザー等を交換する手間やコストがかかりますが、そういった問題を少しでも解消できるのであれば試してみたいものです。

  2. 2008 年 11 月 16 日 20:30 | #2

    最近のベンチマークはマルチコアに対応しているのでQuadは良い数値が出ますが、ソフトによっては早くならないのは残念ですね。
    でも、Core i7マルチスレッドでもシングルスレッドでも処理が速くなるので便利ですね。
    Core i7は920ならそこまで高くないので、LGA1366のマザーボードとDDR3のメモリの値段が下がってくれれば、安く作れそうです

  3. 2008 年 11 月 19 日 00:55 | #3

    最近は、マルチスレッドで動くアプリケーションも多くなってきましたが、というか最近の処理速度が大きくかかわってくるようなソフトはほとんどマルチコア向けに最適化されているぐらいになってきましたが。
    なんでマルチで動くソフトを作らないんだ!!と思うかもしれませんが、開発する側としてはマルチコア向けに最適化したプログラムを作る場合、開発がいろいり面倒になります。
    とまあ、これを語ると長くなるので省略。
    しかし、実際に普段使用しているときに動いているプロセスは1つだけではないわけで、たとえばマルチコア向けに最適化されていないアプリケーションでも、OSが使うものとか、まあその辺が出てきますから、デュアルコアぐらいは普通に使っていても、効果は実感できると思います。
    ちなみに、i7は4コア+HTですが、HTの効果はなかなか微妙って噂もありますね。

  4. 2008 年 11 月 19 日 18:32 | #4

    >開発する側としてはマルチコア向けに最適化したプログラムを作る場合、開発がいろいり面倒になります。

    同時に2つのファイルを処理することによってマルチコアに対応しているソフトの場合は簡単かもしれませんが、ゲームとかは難しそうですね。

    >デュアルコアぐらいは普通に使っていても、効果は実感できると思います。

    デュアルコアなら一つのコアが使われているも、もう一つのコアである程度の作業ができるので使いきれてる気がしますが、クアッドコアの場合はマルチコアに対応してソフトを使うかサーバーなどで複数のサービスや仮想マシンを起動していないと使いきるのは難しい気がします。
    シングルコアだとエンコーダーとかの優先度を下げておかないとほかの作業ができないので不便です…

    >HTの効果はなかなか微妙って噂もありますね。

    そうなんですか
    Intelは最大30%と言っていましたが,本当に30%ならCore 2にも採用されてそうですね。

  1. トラックバックはまだありません。