技術ノート ハードウェア CPU の基本: コア、ハイパースレッディング、およびマルチ CPU とは何ですか?

CPU の基本: コア、ハイパースレッディング、およびマルチ CPU とは何ですか?

CPU の基本: コア、ハイパースレッディング、およびマルチ CPU とは何ですか?

重要なポイント

通常、最新の 1 つの CPU には複数のコアがあります。各コアは独自のプロセッサーです。 Intel ではハイパー スレッディングと呼ばれる同時マルチスレッディングは、各物理コアを 2 つの論理プロセッサに分割します。各論理プロセッサにより、オペレーティング システムは 2 つの別個のタスクを実行できます。たとえば、8 コア CPU は、8 コアと 16 個の論理プロセッサを備えた単一の CPU として表示されます。

コンピュータの 中央処理装置 (CPU) は、 基本的に計算作業、つまりプログラムの実行を行います。しかし、最新の CPU はマルチコアやハイパースレッディングなどの機能を提供します。 PC によっては複数の CPU を使用する場合もあります。違いとその仕組みについて説明します。

ハイパースレッディングと同時マルチスレッディングとは何ですか?

同時マルチスレッド (Intel ではハイパー スレッディングと呼ばれます) により、単一の CPU で複数のタスクを順番ではなく同時に実行できるため、ほとんどの状況でパフォーマンスが向上します。

ハイパースレッディングは、2002 年に消費者向け PC に並列計算を導入しようとする Intel の最初の試みでした。当時の Pentium 4 は 1 つの CPU コアしか搭載していなかったので、一度に 1 つのタスクしか実行できませんでした。マルチタスクのように見えるほど素早くタスクを切り替えます。ハイパースレッディング — AMD およびその他の非 Intel プロセッサでは同時マルチスレッディング (SMT) と呼ばれる — は、それを補おうとしました。

厳密に言えば、ハイパースレッディングを備えているのは Intel プロセッサだけですが、この用語は、あらゆる種類の同時マルチスレッディングを指す口語的に使用されることがあります。

「 CPU の基本: コア、ハイパースレッディング、およびマルチ CPU とは何ですか?」に関するベスト動画選定!

CPUのコア数が増えると性能も向上するのか?(ゆっくり解説)
Intel Core i シリーズCPUの型番の見方とスペックの違い【ざっくり解説】

ハイパースレッディングまたは同時マルチスレッディングを備えた単一の物理 CPU コアは、オペレーティング システムにとって 2 つの論理 CPU として認識されます。 CPUはまだシングルCPUなのでちょっとしたチートです。オペレーティング システムではコアごとに 2 つの CPU が認識されますが、実際の CPU ハードウェアにはコアごとに 1 セットの実行リソースしかありません。 CPU は実際よりも多くのコアがあるように見せかけ、独自のロジックを使用してプログラムの実行を高速化します。言い換えれば、オペレーティング システムは、実際の CPU コアごとに 2 つの CPU を認識するように騙されます。

ハイパースレッディングにより、2 つの論理 CPU コアが物理的な実行リソースを共有できるようになります。これにより、処理が多少高速化されます。1 つの仮想 CPU が停止して待機している場合、もう 1 つの仮想 CPU はその実行リソースを借用できます。ハイパースレッディングによってシステムの速度は向上しますが、実際に追加のコアを使用することには及びません。

ありがたいことに、ハイパースレッディングは今では単なるおまけです。ハイパー スレッディングを備えた元のコンシューマ プロセッサには、マルチ コアを装った単一のコアしかありませんでしたが、最新の CPU にはマルチ コアとハイパー スレッディングまたは SMT テクノロジの両方が搭載されています。ハイパー スレッディングを備えたヘキサコア CPU はオペレーティング システムでは 12 コアとして認識されますが、ハイパー スレッディングを備えたオクタコア CPU は 16 コアとして認識されます。ハイパー スレッディングは追加コアの代わりにはなりませんが、ハイパー スレッディングを備えたデュアルコア CPU は、ハイパー スレッディングを備えないデュアルコア CPU よりもパフォーマンスが向上します。

CPU の基本: コア、ハイパースレッディング、およびマルチ CPU とは何ですか?

CPUコアとは何ですか?

もともと、CPU には単一のコアがありました。つまり、物理 CPU には単一の中央処理装置が搭載されていました。パフォーマンスを向上させるために、メーカーは追加の「コア」、つまり中央処理装置を追加しました。デュアルコア CPU には 2 つの中央処理装置があるため、オペレーティング システムには 2 つの CPU として認識されます。たとえば、2 つのコアを備えた CPU は、2 つの異なるプロセスを同時に実行できます。コンピュータは一度に複数の処理を実行できるため、システムの速度が向上します。

ハイパー スレッディングとは異なり、ここにはトリックはありません。デュアルコア CPU は文字通り、CPU チップ上に 2 つの中央処理装置を備えています。クアッドコア CPU には 4 つの中央処理装置があり、オクタコア CPU には 8 つの中央処理装置があります。

これにより、物理 CPU ユニットを 1 つのソケットに収まるほど小型に保ちながら、パフォーマンスが大幅に向上します。必要なのは、単一の CPU ユニットを挿入した単一の CPU ソケットのみです。4 つの異なる CPU を備えた 4 つの異なる CPU ソケットは必要なく、それぞれに独自の電源、冷却、およびその他のハードウェアが必要です。コアはすべて同じチップ上にあるため、より高速に通信できるため、遅延が少なくなります。

Windows タスク マネージャーでは、これがよくわかります。たとえば、このシステムには 1 つの実際の CPU (ソケット) と 8 つのコアがあることがわかります。同時マルチスレッド処理により、オペレーティング システムからは各コアが 2 つの CPU のように見えるため、16 個の論理プロセッサとして表示されます。

CPU の基本: コア、ハイパースレッディング、およびマルチ CPU とは何ですか?

マルチコア CPU 構成はすべて同じですか?

いいえ、すべてのマルチコア CPU 構成が同じというわけではありません。マルチコア CPU を検討するときに遭遇する 2 つの異なる設計哲学があります。

構成の 1 つのタイプは、消費者向け PC で長年にわたって一般的であり、複数の同一のコアを使用します。これらのセットアップでは、オクタコア システムを使用している場合、これらの 8 つのプロセッサーすべてが高性能 CPU であり、すべて同じ方法で最適化されます。

もう 1 つは、異なるコアを混合して使用します (異種コア アーキテクチャと呼ばれることもあります)。通常、これらのセットアップでは、 パフォーマンス コアと効率コアという 2 つの異なるタイプが使用されます。

正確な命名スキームは企業やアプリケーションによって若干異なりますが、基本的な考え方は同じです。効率コアは、バックグラウンドおよび低要求のタスクのために予約されています。これらのコアは消費電力が少なくなります。パフォーマンスコアはその逆です。消費電力は大幅に増加しますが、 ゲームなどの要求の厳しいタスクでははるかに優れたパフォーマンスを 提供します。この組み合わせにより、必要なときにパフォーマンスが得られますが、バックグラウンド エネルギーの使用量は低くなります。

このヘテロジニアス マルチコア セットアップ ( ARM では big.LITTLE と呼ばれます) は、省電力効果が得られるため 、携帯電話やその他のモバイル デバイス で最初に普及しました。スマートフォンを 1 日中使用し続ける必要がある場合、高電力コアを常に実行して不必要にバッテリーを消耗するのは意味がありません。 Intel は、Alder Lake プロセッサを皮切りに、このアイデアを主流のデスクトップ CPU にも導入しました。

CPU の基本: コア、ハイパースレッディング、およびマルチ CPU とは何ですか?

複数の CPU についてはどうですか?

ほとんどのコンピューターには CPU が 1 つしかありません。その 1 つの CPU には複数のコアやハイパー スレッディング テクノロジが搭載されている可能性がありますが、それでもマザーボード上の 1 つの CPU ソケットに挿入されている物理的な CPU ユニットは 1 つだけです。

ハイパー スレッディングやマルチコア CPU が登場する前は、CPU を追加することでコンピュータの処理能力をさらに高めようとしていました。これには、複数の CPU ソケットを備えたマザーボードが必要です。マザーボードには、これらの CPU ソケットを RAM やその他のリソースに接続するための追加のハードウェアも必要です。この種の設定では多くのオーバーヘッドが発生します。 CPU が相互に通信する必要がある場合、複数の CPU を備えたシステムはより多くの電力を消費し、マザーボードにはより多くの ソケット とハードウェアが必要になる場合、追加の遅延が発生します。

現在、ホーム ユーザーの PC では、複数の CPU を搭載したシステムはあまり一般的ではありません。複数のグラフィックス カードを備えた高性能のゲーム デスクトップであっても、通常は CPU が 1 つしかありません。スーパーコンピューター、サーバー、一部のワークステーション、および同様のハイエンド システムには、可能な限り多くの計算処理能力を必要とする複数の CPU システムが存在します。

コンピューターに搭載されている CPU またはコアが多いほど、一度に実行できる処理が増え、ほとんどのタスクのパフォーマンスが向上します。現在、ほとんどのコンピューターには複数のコアを備えた CPU が搭載されています。これは、これまで説明してきた最も効率的なオプションです。最近のスマートフォンやタブレットには複数のコアを備えた CPU も搭載されています。

以前 は、CPU のクロック速度 とその IPC (サイクルごとの命令数) でパフォーマンスを比較するのに十分でした。物事はもうそれほど単純ではありません。複数のコアとハイパースレッディングを備えた CPU は、ハイパースレッディングを備えていない同じ速度の CPU よりもパフォーマンスが大幅に向上する可能性があります。また、複数の CPU を搭載した PC にはさらに大きな利点があります。これらの機能はすべて、PC が複数のプロセスをより簡単に同時に実行できるように設計されており、マルチタスク時や、ビデオ エンコーダや最新のゲームなどの強力なアプリの要求下でのパフォーマンスが向上します。

もちろん、コア数が多いことがあらゆる状況でそれほど重要というわけではありません。最新のオペレーティング システムは、複数のコア間でタスクをかなり賢く分割していますが、すべてのプログラムがそれほど適切に最適化されているわけではありません。多くの場合 (特にゲーム)、パフォーマンスは主に、合計コア数ではなく、個々のコアの最大速度によって制限されます。したがって、Call of Duty で 10 億 FPS を実現できると考えて、 急いで購入しないでください。実際はそうではありません。