インテル ハイパースレッディング・テクノロジー
読み:インテル-ハイパー-スレッディング-テクノロジー
外語:HTT: Hyper-Threading Technology
Intel
のCPU高速化技術の一つで、
SMT
技術を用いたもの。
IDF
Fall 2001で発表された。
目次
概要
特徴
機能
論理プロセッサー
対応環境
実現される性能
技術
機能の有無判別
概要
Pentium 4
ベースのサーバー向けXeon(130nm(0.13μm)プロセス版)から搭載された。通常のPentium 4は3.06GHz版(
Northwood
)から搭載されている。
当初、和名は「ハイパー・スレッディング・テクノロジ」であったが、現在はカナ表記が見直され「ハイパースレッディング・テクノロジー」と表記されている。
特徴
機能
スーパースケーラー
を採用しているIntelプロセッサーは、1クロックあたり1個以上の命令を同時に実行できる。
しかし実際に効率が倍になることはなく、良くて3割程度効率が向上するのみである。
そこで考えられたのがハイパースレッディング・テクノロジーで、1個の物理プロセッサーを2個の論理プロセッサーに見せかけることで、同時に2個のスレッドを実行する。
論理プロセッサー
この方法により
OS
は、
プロセス
や
スレッド
があたかも2個の物理プロセッサーで動作しているかのようにスケジューリングでき、一方、CPU側からみると2個の論理プロセッサーに渡された命令は1個の物理プロセッサーでリソースを共有しながら、同時に実行される。
実際の効率で
デュアルプロセッサー
システムに勝るわけはない。しかし、この技術を使いCPUの利用効率を向上させれば、シングルプロセッサーであってもパイプラインを極力無駄なく使うことができ、全体のパフォーマンスを向上させることができる。
この技術がない場合、全てのパイプラインやキャッシュは一つのスレッドで利用される(但し、命令の依存でパイプラインがアイドル状態にもなる)が、この技術があれば、空きライプラインで他プロセスを動かすため、CPUの資源を複数スレッドで分け合うことができる。このため、この技術を利用するためには、
マルチスレッド
化されたアプリケーションと、マルチスレッド対応のOSが必要である。
対応環境
Windows XP
以降の
Microsoft Windows
環境はマルチスレッド対応であるため、OSとしての性能は満たしている。また、製品未発表時点で発売された
Windows 2000
も、この機能に既に対応している。
あとは性能を生かせるアプリケーションがあれば良いことになるが、幸いなことに現在の多くの
Win32
対応製品はマルチスレッド化されている。従って、この条件を満たす多くの条件において、CPU内部の実行ユニットの処理効率が高まり、プラットフォーム全体のパフォーマンスが向上することが期待できる。
実現される性能
この技術は、特定のスレッドの実行速度が肝要なプログラム(ゲームやベンチマークテスト)などでは逆にスコアが落ち、マルチスレッド前提で設計されたアプリケーションの場合はパイプラインが効率的に利用されて処理能率が向上することになる。
ハイパースレッディング・テクノロジーは、トータルとしてパフォーマンスを向上させるための技術である。
技術
機能の有無判別
機能の有無は、EAXレジスターに1を代入して
CPUID命令
を実行し、EDXレジスターに得られたフラグのビット28が1かどうかで確認できる。
再検索