ハイパースレッディングという用語を何度も聞いたことがあるでしょう。これは、プロセッサを有効にすると、プロセッサの速度を2倍にする魔法のテクノロジーであると考えられています。企業はそれをオンまたはオフにして、プレミアムのようにもっとたくさん請求することができます。
それはすべて完全にナンセンスであり、この記事はハイパースレッディングとは何かをよりよく理解するための教育を目的としていると言いたいです。この記事は非常に初心者に優しいでしょう。
序文
昔は、IntelまたはAMDがより高速なCPUを作成する必要がある場合、一般に、トランジスタを縮小して同じスペースに収め、周波数(MHz / GHzで測定)を増やすことで、トランジスタの潜在的な数を増やしていました。すべてのCPUには単一のコアしかありませんでした。 CPUは32ビットになり、最大4GBのRAMを処理できました。その後、4GBを超えるRAMの飛躍と限界を処理できる64ビットCPUに移行しました。次に、より効率的なコンピューティングのために、複数のコアを使用し、これらの複数のコアにワークロードを分散することが決定されました。すべてのコアは相互に通信して、タスクを分散します。このようなタスクは、マルチスレッドタスクと呼ばれます。
CPUの部品
CPUは、調和して機能する次の部分で構成されています。上で述べたように、これは過度に単純化されます。これは単なる短期集中コースであり、この情報を福音の言葉として受け取らないでください。これらの部品は、特定の順序でリストされていません。
- スケジューラー(実際にはOSレベル)
- フェッチャー
- デコーダ
- 芯
- 糸
- キャッシュ
- メモリとI / Oコントローラ
- FPU(浮動小数点ユニット)
- レジスター
これらの部品の機能は次のとおりです。
メモリとI / Oコントローラは、CPUとの間のデータの出入りを管理します。データはハードディスクまたはSSDからRAMに送られ、次に重要なデータがCPUのキャッシュに送られます。キャッシュには3つのレベルがあります。例えば。 Core i77700Kには8MBのL3キャッシュがあります。このキャッシュは、コアあたり2MBでCPU全体で共有されます。ここからのデータは、より高速なL2キャッシュによって取得されます。すべてのコアには、合計1 MB、コアあたり256KBの独自のL2キャッシュがあります。 Core i7の場合と同様に、ハイパースレッディングを備えています。各コアには2つのスレッドがあるため、このL2キャッシュは両方のスレッドで共有されます。 L1キャッシュの合計は256KBで、スレッドあたり32KBです。ここで、データは32ビットモードで合計8レジスタ、64ビットモードで16レジスタのレジスタに入ります。 OS(オペレーティングシステム)は、プロセスまたは命令を使用可能なスレッドにスケジュールします。 i7には8つのスレッドがあるため、コア内のスレッドとの間で切り替わります。 WindowsやLinuxのようなOSは、物理コアとは何か、論理コアとは何かを知るのに十分賢いです。
ハイパースレッディングはどのように機能しますか?
従来のマルチコアCPUでは、各物理コアには独自のリソースがあり、各コアはすべてのリソースに独立してアクセスできる単一のスレッドで構成されています。ハイパースレッディングには、同じリソースを共有する2つ(またはまれにそれ以上)のスレッドが含まれます。スケジューラは、これらのスレッド間でタスクとプロセスを切り替えることができます。
従来のマルチコアCPUでは、データやプロセスが割り当てられていない場合、コアは「パーク」またはアイドル状態のままになる可能性があります。この状態は飢餓と呼ばれ、SMTまたはハイパースレッディングによって正常に解決されます。
物理コアと論理コア(およびスレッドとは)
ほぼすべてのCorei5のスペックシートを読むと、4つの物理コアと4つの論理コアまたは4つのスレッドがあることがわかります(Coffee Lake i5には6つのコアと6つのスレッドがあります)。 7700Kまでのすべてのi7は、4コアと8スレッド/論理コアです。 IntelのCPUアーキテクチャのコンテキストでは、スレッドと論理コアは同じものです。彼らは、第1世代のネハレムから今日までCoffee Lakeを使用してアーキテクチャのレイアウトを変更していないため、この情報は保持されます。この情報は古いAMDCPUには十分ではありませんが、Ryzenも多くのレイアウトを変更しており、プロセッサの設計はIntelと同様になっています。
ハイパースレッディングの利点
- ハイパースレッディングは、「飢餓」の問題を解決します。コアまたはスレッドが空いている場合、スケジューラーは、コアがアイドル状態のままであるか、他の新しいデータが流れるのを待つ代わりに、データを渡すことができます。
- はるかに大規模で並列のワークロードをより効率的に実行できます。並列化するスレッドが増えると、複数のスレッドに大きく依存するアプリケーションは、作業を大幅に向上させることができます(ただし、2倍の速度ではありません)。
- ゲームをしていて、ある種の重要なタスクをバックグラウンドで実行している場合、CPUは適切なフレームを提供し、スレッド間でリソースを切り替えることができるため、そのタスクをスムーズに実行するのに苦労しません。
ハイパースレッディングのデメリット
以下はそれほど不利な点ではなく、むしろ不便です。
- ハイパースレッディングを利用するには、ソフトウェアレベルからの実装が必要です。複数のスレッドを利用するアプリケーションがますます開発されていますが、SMT(同時マルチスレッディング)テクノロジや複数の物理コアを利用しないアプリケーションは、まったく同じように実行されます。これらのアプリケーションのパフォーマンスは、CPUのクロック速度とIPCに大きく依存します。
- ハイパースレッディングにより、CPUがより多くの熱を発生する可能性があります。これが、i5sがi7sよりもはるかに高いクロックを使用していた理由です。これは、スレッド数が少ないほど加熱されないためです。
- 複数のスレッドがコア内で同じリソースを共有します。これが、パフォーマンスが2倍にならない理由です。代わりに、効率を最大化し、可能な限りパフォーマンスを向上させる非常に賢い方法です。
結論
ハイパースレッディングは古いテクノロジーですが、ここにとどまります。アプリケーションの要求がますます厳しくなり、ムーアの法則の死亡率が高まるにつれて、ワークロードを並列化する機能により、パフォーマンスが大幅に向上しました。部分的に並列のワークロードを実行できると、生産性が向上し、途切れることなく作業を高速化できます。また、第7世代i7プロセッサーに最適なマザーボードを購入したい場合は、こちらをご覧ください。 この 論文。
# | プレビュー | 名前 | NVIDIA SLI | AMD CrossFire | VRMフェーズ | RGB | 購入 |
---|---|---|---|---|---|---|---|
1 | ASUSフォーミュラ9 | 10 | 価格を確認する | ||||
2 | MSIアーセナルゲーミングIntelZ270 | 10 | 価格を確認する | ||||
3 | MSI Performance Gaming Intel Z270 | 十一 | 価格を確認する | ||||
4 | ASRockゲーミングK6Z270 | 10 + 2 | 価格を確認する | ||||
5 | GIGABYTE AORUSGA-Z270Xゲーミング8 | 十一 | 価格を確認する |
# | 1 |
プレビュー | |
名前 | ASUSフォーミュラ9 |
NVIDIA SLI | |
AMD CrossFire | |
VRMフェーズ | 10 |
RGB | |
購入 | 価格を確認する |
# | 2 |
プレビュー | |
名前 | MSIアーセナルゲーミングIntelZ270 |
NVIDIA SLI | |
AMD CrossFire | |
VRMフェーズ | 10 |
RGB | |
購入 | 価格を確認する |
# | 3 |
プレビュー | |
名前 | MSI Performance Gaming Intel Z270 |
NVIDIA SLI | |
AMD CrossFire | |
VRMフェーズ | 十一 |
RGB | |
購入 | 価格を確認する |
# | 4 |
プレビュー | |
名前 | ASRockゲーミングK6Z270 |
NVIDIA SLI | |
AMD CrossFire | |
VRMフェーズ | 10 + 2 |
RGB | |
購入 | 価格を確認する |
# | 5 |
プレビュー | |
名前 | GIGABYTE AORUSGA-Z270Xゲーミング8 |
NVIDIA SLI | |
AMD CrossFire | |
VRMフェーズ | 十一 |
RGB | |
購入 | 価格を確認する |
2021-01-05の22:02 /アフィリエイトリンク/ Amazon Product AdvertisingAPIからの画像の最終更新