技術ノート コンピューターハードウェア ハイパースレッディングとは何ですか?

ハイパースレッディングとは何ですか?

ハイパースレッディングとは何ですか?

ハイパースレッディングは、かつては のみに搭載されていた機能でした。ただし、ハイパースレッディングは現在、主流のコンシューマ CPU にも搭載されています。では、ハイパースレッディングとは正確には何ですか?次の CPU でそれを探す必要がありますか?

ソフトウェア スレッドとは何ですか?

ハイパースレッディングとは何ですか?

ソフトウェア スレッドは、CPU によって処理される一連の命令です。これは、スケジューラによって管理されるプログラムされた命令の基本単位です。スケジューラは、コンピュータ上で実行されるさまざまな種類のソフトウェアにハードウェア リソースを割り当てるオペレーティング システムのコンポーネントです。

ハイパースレッディングとは何ですか?

コンピュータ上で実行されているすべてのアプリケーションは、1 つ以上のプロセスとして存在します。スレッドは事実上、実行のために CPU に送信されるこれらのプロセスのセグメントです。スケジューラは、実行中のさまざまなプログラムからスレッドを迅速に割り当て、各プログラムがリアルタイムで実行するために必要なリソースを確実に取得できるようにします。

これにより、コンピュータは「マルチタスク」を実行し、(たとえば) バックグラウンドで音楽を再生したりビデオ ゲームをダウンロードしながらワード プロセッサを実行したりすることができます。技術的には、CPU コアは実際にはこれらすべてのジョブを同時に実行しているわけではありません。

したがって、システムにシングルコア CPU が搭載されているだけの場合、複数の命令セットを高速で処理し、それらの間で非常に高速に切り替えるため、遅い人間の脳にはすべてが並行して行われているように見えます。

ハイパースレッディングとは何ですか?

家庭用コンピュータにおける真の並列処理

パーソナル コンピューティングの歴史のほとんどにおいて、コンピューターには CPU コアが 1 つしかありませんでした。まあ、当時は「コア」については話しませんでした。コアは 1 つしかなく、それが CPU 全体だったからです。しかし、2000 年代半ばに CPU メーカーは、2 つの完成した CPU を 1 つの CPU パッケージに詰め込むという素晴らしいアイデアを思いつきました。これらのデュアルコア CPU は、実際には 2 つの命令スレッドを同時に処理できます。これは、たとえば、ビデオ ゲームが 100% のコアを持ち、オペレーティング システムが他のコアをすべて独占できることを意味します。

現在、CPU コア数は急速に増加しています。 6、8、さらには 10 コア を備えたメインストリーム CPU が一般的です。ハイエンド CPU には数十のコアがあり、AMD Threadripper 3990X のような CPU には 64 個ものコアが詰め込まれています。

ソフトウェア開発も、このすべての並列 CPU パワーをより有効に活用するために変更されました。最新のゲーム機にも 8 個の CPU コアが搭載されており、その数のコアを利用できるビデオゲームが急速に普及しています。

AMD Ryzen Threadripper 3990X 64 コア、128 スレッド ロック解除済みデスクトップ プロセッサ
$2350 $3990 $1640 節約

スティックを振るよりも多くのコアがあり、一日中ハードに働き、時間外にハードにプレイするユーザーに最適です。

ハイパースレッディングとは何ですか?

ハイパースレッディングによる CPU コアのオーバードライブ化

従来の CPU は 1 つのスレッドしか処理できませんが、システム内に多数の異なる CPU コアがある場合は、コアの数と同じ数のスレッドを処理できます。これは問題ないようですが、大きな問題が 1 つあります。

すべてのスレッドが同じ量の処理能力を必要とするわけではありません。たとえば、ビデオをレンダリングするスレッドは CPU コアの利用可能な容量を 100% 使用しますが、ワード プロセッサやソーシャル メディア Web ページを実行するスレッドは、最新の CPU コアが提供する電力のほんの一部しか必要としません。

同様に、ビデオ ゲームには、物理​​学を処理するスレッドとキャラクターの人工知能を処理するスレッドなど、並行して実行される複数のスレッドがある場合があります。これらは重要なジョブですが、正常に実行するために単一コアのすべてが必要なわけではありません。

これにより、すべての CPU コアがスレッドでビジー状態になる可能性がありますが、その能力のすべての処理能力が提供されないという状況が発生します。そこで登場するのがハイパースレッディングです。

ハイパースレッディングの正式な一般名は、同時マルチスレッディングです。 「ハイパースレッディング」は実際にはインテルが使用する独自のマーケティング名ですが、「フーバー」と同様に、テクノロジー全体を指す一般的な用語になっています。

ハイパースレッディングを有効にする適切な内部回路を備えた CPU は、2 つの別個のスレッドを同時に実行できます。従来のシングルコアのマルチタスクのように、それらを切り替えることはありません。それぞれを並行して実行しています。

オペレーティング システムにとって、各物理 CPU コアは実際には 2 つのコアであるように見え、スケジューラはそれぞれに 2 つのスレッドを割り当てます。ただし、コアあたりの処理能力の合計はまったく同じです。

ハイパースレッディングとは何ですか?

ハイパースレッディングが必要な理由

上で述べたように、ハイパースレッディングの主な目的は、処理能力を無駄にしないようにすることです。各コアが 2 つのスレッドを処理できるようにすると、オペレーティング システムがハードウェアを最大限に活用しやすくなり、すべてのコアがフルキャパシティに近いかフルキャパシティで実行されない状況を回避できます。

以前は、実際にハイパースレッディングを必要とするのは、ビデオ編集ソフトや科学データ処理ジョブなどのプロフェッショナル ソフトウェアだけでした。主流ユーザーは、それほど多くのスレッドを必要とするほど十分なアプリを実行していませんでした。ビデオ ゲームもマルチスレッドの使用を採用するまでに長い時間がかかりましたが、現在は 8 コアのゲーム システムが主流であり、スレッド数は今後も増加し続けるでしょう。

そのため、新しいメインストリーム CPU にはハイパースレッディング機能が搭載されており、これはほとんどのユーザーが望む機能です。ただし、ハイパースレッディングを備えていない古い CPU をお買い得に購入できたとしても、それを手放すわけにはいかないほど重要なものではありません。

「ハイパースレッディングとは何ですか?」に関するベスト動画選定!

【A試験_ハードウェア】02. CPUと命令実行手順 | 基本情報技術者試験
【ゆっくり解説】CPUのコア数が増えても処理が速くならない?マルチコアCPU対応の課題