Tech Inside

ハイパースレッディング(Hyper-Threading) テクノロジー

ハイパースレッディングとは?

Intelが発表したハイパースレッディング・テクノロジーはマルチスレッドソフトウェア・アプリケーションの複数のスレッドを1つのプロセッサ上で並列に実行し、プロセッサの実行リソースの利用効率を高めようという画期的な新技術です。この結果、CPU リソースの利用率は平均で最大40%も向上し、プロセッサ内部のスループットが大幅に上がります。

ハイパースレッディングの仕組み

ハイパースレッディング・テクノロジーは、ソフトウェアアプリケーションの複数のスレッドを1つのプロセッサ上で同時に実行できるため、一種のSMT (Simultaneous Multi-Threading) テクノロジーと位置づけることができます。これを実現するため、ハイパースレッディング・テクノロジでは1つのプロセッサ内部に2つのアーキテクチャ・ステートを備え、これら2つの論理プロセッサが物理プロセッサの実行リソースを共有するしくみになっています。右図に示したのはハイパースレッディング対応プロセッサと従来のマルチプロセッサとの相違です。左は2つの物理プロセッサによる従来のマルチプロセッサシステムの仕組みで、各プロセッサには独自の実行リソースとアーキテクチャ・ステートを備えています。右はIntelのハイパースレッディング・テクノロジー対応プロセッサで、1つのプロセッサ内部に2つのアーキテクチャ・ステートを備え、実行リソースを共有するしくみになっていることが分かります。

マルチプロセッサ対応ソフトウェア・アプリケーションの場合、ハイパースレッディング対応プロセッサはソフトウェアやアプリケーションを別々に実行する2つの独立した理論プロセッサとして認識されます。また、各理論プロセッサが要求の中断に別々に対応します。2つの理論プロセッサが同時にソフトウェアスレッドを実行することができます。これは2つのスレッドが同じ実行リソースを共有し、1つのスレッドしか実行していない時に2番目のスレッドがアイドル状態にある実行リソースを利用で きるからです。その結果、物理プロセッサ内部の実行リソースの利用効率を向上します。

下図はハイパースレッディング・テクノロジーがいかに実行時間を短縮するかを示します。一つの物理プロセッサを2つの理論プロセッサに見せかけることにより、マルチスレッド・アプリケーションが1つの物理プロセッサ上でスレッド・レベルの並列化 (TLP) を実現し、性能を高めます。ソフトウェアやアプリケーションをプロセッサの並列化を活用するように最適化し続けるにつれて、ハイパースレッディング・テクノロジーで将来的な性能向上やユーザーの高まるニーズに余裕で対応できるヘッドルームが実現します。

<目次へ戻る>

Copyright ©2003, AOpen Japan Inc., All rights reserved.