ハイパースレッディングとは?
ハイパースレッディングは、計算の並列化を強化することでCPU性能を向上させるIntelの技術であり、より多くの作業を並列に実行できるため、CPUがより多くのタスクを同時に実行できるようになります。Intelの最新CPUの多くは、Intelハイパースレッディング技術を搭載しています。例えば、Intel Coreプロセッサ、Intel Core vProプロセッサ、Intel Xeonプロセッサ、Intel Core MプロセッサはすべてIntelハイパースレッディング技術をサポートしています。Intelハイパースレッディング技術は、対応するシステムではデフォルトで有効になっているため、利用するために何もする必要はありません。
ハイパースレッディングは、物理的なCPUコアをそれぞれ2つの論理コア(スレッドと呼ばれる)に分割することで機能し、CPUの効率を向上させます。ハイパースレッディングは、複数の命令が異なるデータを並列に処理することを可能にするため、CPUの効率が向上します。ハイパースレッディングが有効なCPUは、CPUが持つ物理コアごとに2つの論理コアを表示し、システムが各論理プロセッサに他の論理プロセッサとは独立して特定のタスクを実行させることを可能にします。例えば、10コアのIntel 10900Kは合計20個のCPUスレッドを表示し、システムの性能を向上させます。ただし、コンピューターシステムがハイパースレッディングを利用するためには、オペレーティングシステムとBIOSの両方が同時マルチスレッディングをサポートしている必要があり、ハイパースレッディングが有効になっている必要があります。ハイパースレッディングは通常デフォルトで有効になっているため、この技術を利用するために何もする必要はありません。
ハイパースレッディング対応CPUは、シリコンチップ上に複数の物理プロセッサを持つマルチコアプロセッサとは異なります。これは、ハイパースレッディング対応CPUコア上の論理プロセッサが、キャッシュ、実行エンジン、システムBUSインターフェースなどの同じ実行リソースを共有しているためです。リソースの共有は、ある論理プロセッサがデータ待ちなどで停止している場合、他の論理プロセッサが残りのリソースを利用できるため有益であり、システムが各物理CPUコアを最大限に活用できるようになります。これにより、プロセッサのスループットが向上し、システム全体の性能が向上します。Intelは、ハイパースレッディング対応CPUが、ハイパースレッディングを無効にした同じCPUよりも最大30%性能が向上すると主張しています。
Intelのハイパースレッディング技術のメリットには、システム上で複雑で要求の厳しいアプリケーションを同時に実行できること、システムの応答性と効率を向上させること、ユーザーがタスクをより迅速に完了できること、アプリケーションの応答時間を短縮すること、将来のビジネス成長のための余地を提供することなどが含まれます。もちろん、ハイパースレッディングを有効にすることで得られる性能向上は、オペレーティングシステムとソフトウェアがハイパースレッディング技術を利用するためにどれだけ最適化されているかに大きく依存します。最適化されていないアプリケーションは恩恵を受けず、Intelハイパースレッディング技術を利用するために最適化されたアプリケーションも同様です。
ハイパースレッディングを有効にするには?
ハイパースレッディングを有効にするには、その機能を備えたCPUが必要であり、マザーボードもそれをサポートしている必要があります。マザーボードとCPUの両方がハイパースレッディングをサポートしている場合、この機能はデフォルトで有効になります。ただし、何らかの理由でこの機能が無効になっている場合は、BIOSにアクセスして機能を有効に設定することで有効にできます。同様に、ハイパースレッディングをオフにしたい場合は、システムのBIOS設定から機能を無効モードに切り替えることでオフにできます。ハイパースレッディングが無効になっている場合、各コアはOS上で単一のスレッドしか持たないと表示されます。
ハイパースレッディングが重要な理由
ハイパースレッディングが重要なのは、特定の条件下でユーザーがCPUを最大限に活用できるためです。これは、CPUがメモリからデータやプログラミング命令を取得する必要があることが多く、コンピューターがこの情報を取得するのにかかる数百万分の1秒という時間は、CPUが数十の命令を実行するのに十分な時間であるためです。したがって、ハイパースレッディングは、この短い時間間隔を利用して別のスレッドからの命令を実行し、時間を無駄にすることなくCPUの計算能力を完全に利用することで、パフォーマンスを向上させます。
ハイパースレッディング対応CPUと非対応CPU
ハイパースレッディング対応CPUは、各コアで複数のスレッドを実行できます。スレッド数が増えるほど、CPUはより多くの作業を並列に完了できます。一方、ハイパースレッディング非対応CPUは、単一のソフトウェアスレッドを処理できる1つの実行コンテキストしか持ちません。例えば、ハイパースレッディングが有効なCPUは、システム上で物理コアごとに2つの論理コアを持つと表示され、各物理コアが複数のソフトウェアスレッドを並列に処理できるようになります。2つの論理コアは、CPUがコアが他のタスクの完了を待機しているアイドル時間を利用できるため、単一スレッドコアよりも効率的にタスクを処理できます。Intelは、ハイパースレッディングを有効にすることで、CPU性能が最大30%向上するとも主張しています。
シングルスレッドアプリケーションとマルチスレッドアプリケーションの違いとは?

シングルスレッドアプリケーションでは、命令の実行が単一のシーケンスにまとめられ、一度に1つのコマンドが処理されます。しかし、マルチスレッドアプリケーションでは、命令の実行が複数のシーケンスで行われ、システムがプログラムの複数の部分を同時に実行できます。簡単に言えば、マルチスレッディングは並列処理のために作業を分割することを可能にする並列化の一形態です。したがって、単一のコアに大きなワークロードを提供するのではなく、マルチスレッドアプリケーションのワークロードは複数のソフトウェアスレッドに分割され、複数のCPUコアがスレッドを並列に処理できます。ただし、マルチスレッディングを利用するためには、実行しているソフトウェアまたはアプリケーションがマルチスレッド対応である必要があります。
ハイパースレッディングの利点とは?
ハイパースレッディングをサポートするCPUを搭載したシステムを使用している場合、ハイパースレッディングを無効にした場合よりも、コンピューターがより多くの情報を短時間で処理できることに気づくでしょう。さらに、ハイパースレッディングを有効にすると、システムはワークフローを中断することなく、より多くのバックグラウンドタスクを実行できます。これは、ハイパースレッディングが各CPUの物理コアに2つのタスクを同時に実行させることを可能にするためです。これは、マルチタスクユーザーや、負荷の高いスレッドアプリケーションを実行する専門家にとって大きなメリットとなります。
すべてのIntelプロセッサにハイパースレッディングが搭載されていますか?

いいえ、すべてのIntelプロセッサにハイパースレッディングが搭載されているわけではありません。例えば、新しいIntel Xeonプロセッサにはハイパースレッディング技術が搭載されています。Intel Atomプロセッサにはハイパースレッディングが搭載されているものと搭載されていないものがあります。Intel Coreプロセッサの場合、ハイパースレッディングが搭載されているものと搭載されていないものがあります。通常、ハイパースレッディングはi7およびi9プロセッサに搭載されており、一部のi3およびi5プロセッサには搭載されていません。
Intelハイパースレッディングを有効にすべきですか?
ハイパースレッディングをサポートするCPUとマザーボードをお持ちであれば、間違いなく有効にすべきです。Intelは、シングルソケットシステムではハイパースレッディングが最大30%の性能向上をもたらすと主張しており、この技術を有効にするのに費用はかかりません。実際、Intelハイパースレッディング技術をサポートするCPUを搭載したシステムを販売するほとんどのメーカーは、ベストプラクティスの一環としてハイパースレッディングを有効にしておくことを推奨しています。これは、この技術がシステムに性能向上をもたらすためです。システムがハイパースレッディング技術をサポートしているかどうかを確認したい場合は、BIOSにアクセスして「Intel Hyperthreading Technology」という用語を探してください。この機能が無効に設定されている場合は、有効に切り替えることで、この技術が提供するメリットを享受し始めることができるでしょう。
Microsoft Windowsはハイパースレッディングをサポートしていますか?
はい、Microsoft Windowsはハイパースレッディングに対応しており、システムに物理コアよりもアクティブなスレッドが多い場合にのみ、物理プロセッサコアの2番目のアーキテクチャ状態を使用します。Windowsパフォーマンス監視ツールを使用してシステムのパフォーマンスを確認すると、システムが各物理コアを2つの論理コアとして認識していることがわかります。例えば、Intel i9 10900Kは10個の物理プロセッサコアを持ち、Windows上では10コア20スレッドとして表示されます。ただし、ハイパースレッディングを有効にしても、システムで利用可能な論理プロセッサの数が2倍になるからといって、パフォーマンスが2倍になるわけではありません。これは、各論理プロセッサがマイクロアーキテクチャコンポーネントを他の論理プロセッサと共有する必要があるため、システムのパフォーマンスは2倍にならないためです。実際、Intelはハイパースレッディングを有効にしても、シングルソケットシステムのパフォーマンスは最大30%しか向上しないと主張しており、これは控えめなパフォーマンス向上です。
よくある質問 (FAQs)
- Intelハイパースレッディングはいつ初めて使用されましたか?
Intelハイパースレッディングは、2002年にIntel Pentium 4の登場とともにデスクトップCPUで初めて使用されました。Intel Pentium 4が登場したとき、それは1つのハイパースレッディングコアを持ち、オペレーティングシステムには2つの論理コアとして認識されていました。
- スレッドはコアと同じくらい良いですか?
いいえ、スレッドはコアと同じくらい良くありません。なぜなら、スレッドは同じリソースを利用するからです。各CPUコアは独自のリソースを持つ別個のプロセッサのようなものであるため、より多くのコアを持つことは、常に多くのスレッドを持つことよりも優れています。
- すべてのi7プロセッサにハイパースレッディングが搭載されていますか?
いいえ、すべてのi7プロセッサにハイパースレッディングが搭載されているわけではありません。例えば、Intel i7-9700Kプロセッサにはハイパースレッディングがありません。8コア8スレッドで、各コアは単一のスレッドを特徴としています。
- ハイパースレッディングはなぜパフォーマンスを向上させるのですか?
ハイパースレッディングは、各物理コアで複数のスレッドを実行できるようにすることで、CPUがリソースをより効率的に使用することを可能にするため、パフォーマンスを向上させます。これにより、プロセッサのスループットが向上し、実行しているソフトウェア全体のパフォーマンスが向上します。
- AMDはIntelのハイパースレッディングと同様の技術を持っていますか?
はい、AMDは同時マルチスレッディングと呼ばれる同様の技術を持っています。AMDの技術もまた、マルチスレッディングによって複数のタスクのより良い分散と処理を可能にします。