複数のコアプロセッサ:いつもより良い?

複数のコアプロセッサは、10年以上前からパーソナルコンピュータで利用されてきました。 その理由は、 プロセッサがクロック速度の面で物理的な限界にぶつかっており、いかに効果的に冷却して精度を維持できるかということです。 シングルプロセッサチップ上の余分なコアに移行することで、メーカーはCPUで処理可能なデータ量を効果的に増やすことでクロック速度の問題を回避しました。 彼らが最初にリリースされたとき、それは単一のCPUの中にちょうど2つのコアでしたが、現在は4つ、6つ、さらに8つのオプションがあります。 これに加えて、 オペレーティングシステムに見られるコアを事実上2倍にするインテルのハイパースレッディング技術があります。 1つのプロセッサに2つのコアを搭載することは、現代のオペレーティングシステムのマルチタスク性のおかげで、常に有益なメリットをもたらしました。 結局のところ、アンチウィルスプログラムがバックグラウンドで実行されている間に、Webをブラウズしたり、レポートを入力することができます。 多くの人にとって本当の問題は、2つ以上のものを持つことが本当に有益なのか、そうであれば何くらいのものなのでしょうか?

スレッディング

スレッド化の概念を理解するには、複数のプロセッサコアの利点と欠点に入る前に重要です。 スレッドとは、プログラムからPC上のプロセッサまでの単なるデータストリームのことです。 各アプリケーションは、実行方法に応じて独自のスレッドまたは複数のスレッドを生成します。 マルチタスキングでは、1つのコアプロセッサが一度に1つのスレッドしか処理できないため、システムはスレッド間を素早く切り替えて、一見並行してデータを処理します。

複数のコアを持つ利点は、システムが複数のスレッドを処理できることです。 各コアは別々のデータストリームを処理できます。 これにより、並行アプリケーションを実行しているシステムのパフォーマンスが大幅に向上します。 サーバは特定の時間に複数のアプリケーションを実行する傾向があるため、最初はそこで開発されましたが、パーソナルコンピュータが複雑になりマルチタスクが増加するにつれて、余分なコアを手に入れても恩恵を受けました。

ソフトウェア依存

マルチコアプロセッサのコンセプトは非常に魅力的ですが、この能力には大きな注意点があります。 マルチプロセッサの真の利点を理解するためには、コンピュータ上で実行されているソフトウェアがマルチスレッドをサポートするように記述されている必要があります。 このような機能をサポートするソフトウェアがなければ、スレッドは主に単一のコアを介して実行されるため、効率が低下します。 結局のところ、 クアッドコアプロセッサのシングルコアでしか実行できない場合はより高いベースクロック速度のデュアルコアプロセッサで実行するほうが実際には高速かもしれません。

ありがたいことに、主要な現在のオペレーティングシステムはすべてマルチスレッド機能を備えています。 しかし、マルチスレッドもアプリケーションソフトウェアに書き込まなければなりません。 ありがたいことに、コンシューマーソフトウェアでのマルチスレッドのサポートは大幅に改善されていますが、多くの単純なプログラムでは、複雑さのためにマルチスレッドサポートがまだ実装されていません。 例えば、メールプログラムやウェブブラウザは、複雑な計算がコンピュータによって行われているグラフィックスやビデオ編集プログラムのように、マルチスレッドに大きな利益をもたらす可能性は低い。

これを説明する良い例は、典型的なPCゲームを見ることです。 ほとんどのゲームでは、ゲーム内で何が起こっているかを表示するために何らかの形式のレンダリングエンジンが必要です。 これに加えて、ゲーム内のイベントやキャラクターを制御するための何らかの人工知能があります。 単一のコアでは、これらの両方を切り替えて機能させる必要があります。 これは必ずしも効率的ではありません。 システムに複数のプロセッサがある場合、レンダリングとAIはそれぞれ別のコアで実行できます。 これは、複数のコアプロセッサにとって理想的な状況に見えます。

これは、複数のスレッドがプログラムにどのように役立つかを示す優れた例です。 しかし、同じ例では、4つのプロセッサコアが2つよりも優れていますか? これは、ソフトウェアに大きく依存するため、答えは非常に難しい質問です。 例えば、多くのゲームでは、2つのコアと4つのコアの間にパフォーマンスの差はほとんどありません。 基本的に、4つのプロセッサコアを超える目に見えるメリットが見られるゲームはありません。 電子メールやWebブラウジングの例に戻っても、クアッドコアでさえ本当のメリットはありません。 一方、ビデオをトランスコードするビデオエンコードプログラムでは、個々のフレームレンダリングを異なるコアに渡し、ソフトウェアによって1つのストリームに照合できるため、大きな利点が得られます。 従って、8つのコアを有することは、4つのコアよりもさらに有益である。

クロック速度

簡単に言えば、クロック速度です。 ほとんどの人は、クロック速度が高いほどプロセッサが高速になるという事実にまだ精通しています。 複数のコアも扱っている場合、クロックスピードはより曖昧になります。 これは、余分なコアによってプロセッサが複数のデータスレッドを処理できるようになりましたが、各コアは温度制限のため低速で実行されることになります。

例えば、 デュアルコアプロセッサは、プロセッサごとに3.5GHzの基本クロック速度を有するが、クアッドコアプロセッサは3.0GHzでしか動作しないことがある。 それぞれのシングルコアを見るだけで、デュアルコアプロセッサはクアッドコアよりも約14%高速になります。 したがって、シングルスレッドのみのプログラムをお持ちの場合は、実際にはデュアルコアプロセッサが優れています。 また、ビデオトランスコードなどの4つのプロセッサすべてを使用できるものがあれば、クアッドコアプロセッサは実際にはデュアルコアプロセッサより約70%高速です。

では、これはどういう意味ですか? さて、全体的にどのように機能するかを知るには、プロセッサーとソフトウェアをよく見なければなりません。 一般的には、複数のコアプロセッサが良い選択肢ですが、必ずしも全体的なパフォーマンスが向上するとは限りません。

結論

ほとんどの場合、コア・カウント・プロセッサーを高くするのは一般的には良いことですが、それは非常に複雑な問題です。 大部分の場合、デュアルコアまたはクアッドコアプロセッサは、基本的なコンピュータユーザーに十分な電力以上になるでしょう。 大多数の消費者は、現在のところ、4つのプロセッサコアを超えて、それを利用できるソフトウェアがほとんどないため、目に見えるメリットは見られません。 そのような高いコア数のプロセッサを考慮する必要がある唯一の人々は、デスクトップビデオ編集や複雑な科学や数学プログラムのような行く作業です。 このため、私たちは、読者がどのくらい速いPCの必要性をチェックすることを強くお勧めしますか? どのコンピューティングのニーズに最も適したプロセッサのタイプが良いかを知るための記事です。