ハイパースレッディング・テクノロジー
ハイパースレッディング・テクノロジー (Hyper-Threading Technology、HT、HTT) とは、インテルのハードウェアマルチスレッディング実装に対する同社の商標である。当初は、NetBurstマイクロアーキテクチャにおける同時マルチスレッディング (Simultaneous Multithreading; SMT) の実装に対して用いられていたが、その後、コードネーム Montecito の名で知られるプロセッサナンバー 90xx の Itanium に於ける Switch-on-Event Multi-threading (SoEMT) (ブロック型マルチスレッディングの一種)にも用いられ、LPIA (Low Power on Intel Architecture) 製品の1つであるインオーダプロセッサの Intel Atom の SMT 実装もハイパースレッディング・テクノロジーと称している。 これらの製品に共通しているのは、オペレーティングシステム (OS) は、ハイパースレッディングが有効なコアを、1つのコアではなく複数のコアとみなす点である。
目次 |
[編集] 詳細
ハイパースレッディングは、プロセッサの主要部分である実行リソースは二重化せずに、「アーキテクチャステート」と呼ばれる特定部分のみを二重化して処理を行う。これにより、ハイパースレッディングを備えたプロセッサがホスト OS へは「論理的に」2つのプロセッサのふりをすることが可能となり、OS が2つのスレッドやプロセスを同時にスケジューリングすることが可能となる。現在のタスクが、ハイパースレッディングが不可能なプロセッサにおける実行リソースを利用していない場合、および特にプロセッサの処理能力が低下している場合、ハイパースレッディングを備えたプロセッサは別のスケジュールされたタスクを実行することで、それらの実行リソースの利用を可能にする。 ただし、プロセッサはキャッシュミス、分岐予測の誤り、またはデータ依存のために処理能力が低下する可能性がある。
そのようなパフォーマンスの影響という点を除けば、この新機軸は OS やプログラムに対して透過である。論理的プロセッサは通常の独立したプロセッサとみなされるため、ハイパースレッディングを利用するために要求されることは、オペレーティングシステムの対称型マルチプロセッシングのサポートが全てである。
[編集] パフォーマンス
ハイパースレッディングの利点を以下に挙げる。
- マルチスレッドコードのサポートを改善する。
- 複数のスレッドが同時に動作することを可能にする。
- メモリアクセスレイテンシーを隠蔽しスループットを改善する。
インテルによると、NetBurst マイクロアーキテクチャにおける最初の実装は「通常の」プロセッサへ5%の領域のみを追加するだけで、15~30%のパフォーマンス向上をもたらしたとしている。
一部のアプリケーションでパフォーマンスが低下する事が指摘されているが、インテルは「ほとんどのベンチマークにおいて、ハイパースレッディング技術は良い結果を出している」と述べている[1]。
[編集] セキュリティ
2005年、Colin Percival は、制限された特権を伴う悪意あるスレッド操作により、別のスレッドの実行の監視を許可してしまうため、暗号鍵が盗まれる可能性があることを明らかにした、 Cache Missing for Fun and Profit(PDFファイル)という論文を発表した。
これは、攻撃者が対象となるコンピューター上で、アプリケーションを自由に実行できる環境が整わないと影響を受けないため、悪用する事は非常に困難である。現在のところ被害などは報告されていない。
[編集] 現在
ハイパースレッディングは NetBurstマイクロアーキテクチャで最初に実装されたが、それに続く Coreマイクロアーキテクチャでは採用されなかった。Core マイクロアーキテクチャのプロセッサであってもハイパースレッディング・テクノロジーを示すフラグは有り、1(有効)を示している。仮想プロセッサ個数が1であることを示し、ハイパースレッディング・テクノロジーが機能していないことを意味する。なお、2008年後半に発売した Intel Core i7 (コードネーム Nehalem)では SMT を採用し、ハイパースレッディング・テクノロジーの商標が復活した。
IA-64 の Montecito や、超低消費電力 CPU の Intel Atom でもマルチスレッド技術が採用されたが、前者はブロック型マルチスレッディングであり、後者はインオーダープロセッサにおける SMT 実装なので、従来の NetBurst マイクロアーキテクチャのものとは技術的な関連はない。
[編集] 脚注
[編集] 関連項目
[編集] 外部リンク
- インテル:ハイパースレッディング・テクノロジー
- HyperThreading Overview
- introductory article
- introductory article
- Hyper-Threading Technology Architecture and Microarchitecture, technical description of Hyper-Threading (1.2 MB PDF-file)
- Merom, Conroe, Woodcrest lose HyperThreading
- Hyper-threading on MSDN Magazine
[編集] 情報源
Replay: Unknown Features of the NetBurst Core [1]
|
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||