ハイパースレッディング・テクノロジーとは
最終更新日
2024年01月10日
ハイパースレッディングテクノロジーとは
基礎
ハイパースレッディングテクノロジーとは、1つのCPUを論理的に2つのCPUとして動作させる技術です。HTテクノロジーと呼ぶ場合もあります。略してハイパースレッディング、HTと呼ぶ場合もあります。以降ではHTと書く場合があります。CPUが1つの命令を実行している間に、空いている演算ユニットを使用し、もう1つの命令を実行することによって性能を向上させます。実際にはCPUが1つですが、これでOSから見れば2つのCPUが動作しているように見えます。
実際にCPUが2つ存在するわけではないため、性能が2倍になるわけではありません。1つのアプリケーションの性能をHTにより向上させるには、アプリケーションがマルチスレッドに対応の必要があります。マルチスレッド対応であれば、高くて約30%は性能が向上します。
Pentium 4 3.06GHzから実装
ハイパースレッディングテクノロジーは、Pentium 4 3.06GHzから実装が始まりました。コア、スレッドを使用したハイパースレッディングテクノロジーの解説
コア、スレッドとは
ハイパースレッディングテクノロジーに関してコアとスレッドが出てくる場合があります。以降ではコアとスレッドを使用して解説します。コアとは、CPU内部にあり処理を実行する部分です。スレッドとは、1つのプロセスを並列処理するために、プロセスを分割した処理単位です。プロセスとは、CPUが処理するプログラムの実行単位です。
HTなしでは1コア1スレッド
CPUがHTに非対応の場合、1つのコアでは1つのスレッドを実行できます。複数のコアがあれば、コアの数と同じスレッド数を同時に実行できます。あくまでも人間が計算する場合のイメージですが、1+1と2+2という足し算処理は、1+1の処理を行う1スレッドと2+2の処理を行う1スレッドの合計2スレッドです。人間が2人いれば、それぞれに処理を割り当て同時に2スレッド分の処理を行えます。HTありでは1コア2スレッド
CPUがHTに対応の場合、1つのコアで2つのスレッドを同時に実行できます。スレッドの処理内容によってはコア全体を使用しておらず、コアの一部を使用していません。スレッドを実行中に使用していないコアの一部を別のスレッドの実行に使用します。人間の脳は1つの処理だけで脳全体を使用するわけではなく、脳の各部分を使い複数の処理を同時にこなしますが、同じようにHTでもコアが2つのスレッドを同時に実行します。1コア2スレッドが続き1コア3スレッドにならない
HTにより1つのコアで同時に実行できるスレッド数は2です。将来では1コアで3スレッドを実行できるもしれませんが、1コア2スレッドでコアを効率高く使用しており、1コア3スレッドにしてもあまり性能向上は望めないでしょうから、1コア2スレッドが続くと思われます。コアを料理人に例えたハイパースレッディングの解説
1人の料理人がフライパン2個で料理を作るのがハイパースレッディング
コアを料理人に例えると、1人の料理人がフライパン1個で料理を作る、これがコアが1個かつハイパースレッディング非対応です。1人の料理人がフライパン2個で料理を作る、これがコアが1個かつハイパースレッディング対応です。2人の料理人がそれぞれ1個のフライパンで料理を作る、これがコアが2個かつハイパースレッディング非対応です。2人の料理人がそれぞれ2個のフライパンで料理を作る、これがコアが2個かつハイパースレッディング対応です。
ハイパースレッディング・テクノロジーに関わる物理コアと論理コアとは
別の言い方だと、ハイパースレッディング・テクノロジーは1つのコアを2つのコアがあるかのように見せかける機能とも言えます。実際にハイパースレッディング・テクノロジーを利用する場合は、アプリケーションから見ると1つのコアが2つのコアに見えます。
CPU にある1つのコアが実際に存在するコア、アプリケーションから見える2つのコアが仮想的に存在するコアですが、両者を区別するため前者を物理コア、後者を論理コアと呼びます。ハイパースレッディング・テクノロジーにより論理コア数は物理コア数の2倍になります。
CPU の仕様には2コア4スレッド等と書かれているのがよく見られますが、2コアが物理コア数、4スレッドが論理コア数です。もし CPU の仕様に2コア2スレッド等、物理コア数と論理コア数が同じと書かれていれば、ハイパースレッディング・テクノロジーに対応していない CPU です。
CPU にある1つのコアが実際に存在するコア、アプリケーションから見える2つのコアが仮想的に存在するコアですが、両者を区別するため前者を物理コア、後者を論理コアと呼びます。ハイパースレッディング・テクノロジーにより論理コア数は物理コア数の2倍になります。
CPU の仕様には2コア4スレッド等と書かれているのがよく見られますが、2コアが物理コア数、4スレッドが論理コア数です。もし CPU の仕様に2コア2スレッド等、物理コア数と論理コア数が同じと書かれていれば、ハイパースレッディング・テクノロジーに対応していない CPU です。
・ハイパースレッディング・テクノロジーだと論理コア数は物理コア数の2倍 |
---|
ハイパースレッディング・テクノロジーによりどれくらい性能が上がるのか
ハイパースレッディング・テクノロジーにより1つのコアで2つのスレッドを同時実行するとしても、実際にコアが増えるわけではありませんので性能は大きく上がりません。
また、ハイパースレッディング・テクノロジーにより1つのアプリケーションの処理速度が向上するには、そのアプリケーションがマルチスレッド処理に対応している、すなわち処理を複数のスレッドに分けるように作られていなければなりません。
マルチスレッドに対応しているアプリケーションでも、何でも処理を複数のスレッドに分割できるわけではありませんので、処理速度があまり変わらないことがあります。
複数のスレッドに分割しやすい処理が多いアプリケーションなら、体感できるほど性能が上がります。例えば、動画ファイル等のエンコードを行うアプリケーションの場合、エンコードの処理は複数のスレッドに分けやすいので、マルチスレッド対応なら2〜3割処理速度が速くなることがあります。
マルチスレッド非対応のアプリケーションだけ使うとしても複数のアプリケーションを使うなら、それぞれのアプリケーションのスレッドを同時に実行しますので、ハイパースレッディング・テクノロジーにより性能が上がります。
また、ハイパースレッディング・テクノロジーにより1つのアプリケーションの処理速度が向上するには、そのアプリケーションがマルチスレッド処理に対応している、すなわち処理を複数のスレッドに分けるように作られていなければなりません。
マルチスレッドに対応しているアプリケーションでも、何でも処理を複数のスレッドに分割できるわけではありませんので、処理速度があまり変わらないことがあります。
複数のスレッドに分割しやすい処理が多いアプリケーションなら、体感できるほど性能が上がります。例えば、動画ファイル等のエンコードを行うアプリケーションの場合、エンコードの処理は複数のスレッドに分けやすいので、マルチスレッド対応なら2〜3割処理速度が速くなることがあります。
マルチスレッド非対応のアプリケーションだけ使うとしても複数のアプリケーションを使うなら、それぞれのアプリケーションのスレッドを同時に実行しますので、ハイパースレッディング・テクノロジーにより性能が上がります。
出典
・ハイパースレッディングテクノロジー (HTテクノロジー) - 意味・説明・解説 : ASCII.jpデジタル用語辞典(2008/10/09更新記事)
・図解で納得!最新CPUはココがすごい(4ページ目) | 日経クロステック(xTECH)(2010/07/06公開記事)
・図解で納得!最新CPUはココがすごい(4ページ目) | 日経クロステック(xTECH)(2010/07/06公開記事)
キャンペーン情報(PR) |
---|
マウスコンピューター
・オータムセール 最大50,000円OFF (10月9日迄) DELL ・今週のおすすめ製品 対象製品が特別価格でお買い得 (キャンペーン実施中) パソコン工房 ・決算セール セール対象BTOパソコン最大55,000円OFF (10月1日迄) |