解説

Hyper-ThreadingテクノロジはPCに革命を起こすか?

1. HTテクノロジの仕組みと効果

元麻布春男
2002/11/19

解説タイトル


 
HTテクノロジPentium 4のロゴ
このロゴは、HTテクノロジが有効なプラットフォーム(マザーボード、BIOS、OSなど)にのみ付けられるという。つまり、HTテクノロジPentium 4-3.06GHzが搭載されていても、OSが対応していなければ、このロゴは付けられない。

 デスクトップPCに使われるプロセッサの動作クロックが1GHzを超えたのは、2000年春のことだ。あれから2年半、プロセッサの動作クロックがついに3GHzを突破した。2002年11月14日にIntelが発表した新しいPentium 4の動作クロックは3.06GHzという、数年前までは想像もつかなかった周波数となった。30カ月で3倍という速度は、1年半で2倍になるというムーアの法則を下回るが、Intel初の1GHzのプロセッサが特別選別品のような限定製品だったことを考えれば、Intelはほぼ忠実にムーアの法則を守り続けているといえるだろう。ちなみにIntelは、今後10年間ムーアの法則を継続していく技術的メドが立ったと開発者向けのカンファレンス「Intel Developer Forum(IDF)」などで発言している。

 今回発表されたPentium 4-3.06GHzは、これまでの最高動作クロックであった2.8GHzの延長線上にある。製造プロセス(0.13μm)、トランジスタ数(5500万個)、FSBクロック(533MHz)、内蔵するキャッシュ・メモリの容量(1次キャッシュはデータ8Kbytes+12Kbytes uOPs、2次キャッシュは512Kbytes)、使用するソケット(mPGA 478)など、すべて同じだ。しかし、1つだけ大きな違いがある。それはPentium 4-3.06GHzでは、Hyper-Threadingテクノロジ(HTテクノロジ)と呼ばれる機能が利用可能になったことだ(HTテクノロジについては「頭脳放談:第16回 x86を延命させる「Hyper-Threading Technology」、その魅惑の技術 」を参照のこと)。HTテクノロジによって、PCの使い方が大きく変わる可能性がある。そこで、今回はHTテクノロジ対応のPentium 4(以下、HTテクノロジPentium 4)を取り上げ、その性能を検証してみることにする。

 

HTテクノロジPentium 4に低動作クロック版は登場するのか?

Intelの副社長兼デスクトップ製品事業本部長のウィリアム・スー氏
記者発表会では、HTテクノロジをPentium 4-3.06GHzよりも下の動作クロックにもラインアップすることに含みを持たせた発言を行った。

 今回発表されたHTテクノロジPentium 4プロセッサは、これまでで最高の動作クロックを誇るプロセッサだ。では、今後はどうなるのだろう。IntelはHTテクノロジの今後のサポートについて、IDF Fall 2002におけるNDA(秘密保持契約)ベースのセッションなどで、低い動作クロックの製品をリリースする予定はないと述べていた。また、プロセッサの正式名称も「Intel Pentium 4 Processor with HT Technology」といった調子で、まるでMMX Pentiumのときを彷彿とさせるようなアプローチだった。

 ところが、日本での正式発表会に出席したIntelの副社長兼デスクトップ製品事業本部長のウィリアム・スー(William Siu)氏は、同様の質問に明確な回答を避けた。得られた答えは「2003年には複数のプライス・ポイントでHTテクノロジをサポートしたプロセッサが入手可能になるだろう」というものだ。極めて含みのある答えである。Intelの重役のこうした回答に対するこれまでの例から考えて、3.06GHzより低い動作クロックでHTテクノロジをサポートしたPentium 4が登場してくる可能性はかなり高そうだ。

Hyper-Threadingテクノロジとは?

 HTテクノロジをひと言で表せば、1つの物理的なプロセッサをソフトウェアからは2つの論理プロセッサに見せるための技術である。HTテクノロジ対応のプロセッサを搭載したシステムは、OSからはマルチプロセッサ・システムに見える。HTテクノロジがマルチプロセッサと異なるのは、実際の処理を行う実行ユニットが1組しかない点だ。HTテクノロジでは、レジスタやAPIC(Advanced Programmable Interrupt Controller:マルチプロセッサ用の割り込みコントローラ)、バッファなどのリソース(アーキテクチャ・ステートと呼ばれる)のみを追加することで、仮想的に2つのプロセッサに見せかけている。OSから2つのプロセッサに見えるということは、OSはHTテクノロジをサポートしたプロセッサが同時に2つのスレッドを処理可能だとみなしてスレッドの発行を行う、ということである*1。となると気になるのは、実際に1つの実行ユニットしか持っていないプロセッサが、発行された複数のスレッドを同時に処理できるのかという点だ。ここにHTテクノロジの秘密がある。

*1 マルチタスクOSは、ごく短い時間で複数スレッドの処理を高速に切り替えることで、シングル・プロセッサ・システムにおいても複数スレッドを見かけ上同時実行できる。しかしマルチプロセッサ・システムでは、見かけ上ではなく、完全に複数のスレッドが同時実行される。以下本稿で「スレッドの同時実行」と表現した場合には、後者を指すものとする。
 
HTテクノロジPentium 4を搭載したPCの[デバイス マネージャ]
HTテクノロジが有効であれば、画面の赤枠内を見ると分かるようにWindows XP Professional上では、Pentium 4-3.06GHzが2個搭載されているように認識されていることが分かる。

 現代のマイクロプロセッサの多くは、1クロック・サイクルに複数の命令(インストラクション)を処理可能なスーパースカラー型のアーキテクチャを採用している。逆にいえば、スーパースカラー型マイクロプロセッサの実行ユニットは、同時に複数の命令処理が可能なように複数の演算器を内蔵しているのだ。通常は、1つのスレッドの中で、命令同士の依存関係の有無や分岐予測に従って、複数の命令を並列に処理する。つまり、インストラクション・レベルでの並列処理が行われる。

 しかし実際には、依存関係により並列処理ができなかったり、メモリからのデータの読み出し/書き込みを行う時間待ちがあったりするため、実行ユニットに内蔵される演算ユニットがフル稼働することは珍しい。Intelのホワイトペーパー(Introduction to Hyper-Threading Technology:Intel文書番号250008-002PDF)によると、Pentium 4プロセッサの実行ユニットの使用率は35%に過ぎないという。一見すると35%という数字は低いように思えるが、一般的なスーパースカラー型マイクロプロセッサにおけるインストラクション・レベルの並列処理による効率としては、かなり高いもののようだ。つまり、既存の手法を用いたインストラクション・レベルの並列処理による計算機資源の有効活用は、限界に近付きつつあり、これをさらに高めるには何か新しいアイデアが必要なのである。

 HTテクノロジの狙いは、もう1つ別のスレッドを処理させることにより、実行ユニットの使用率を引き上げようということにある。つまり、これまでのインストラクション・レベルから、スレッド・レベルの並列処理に変更するということでもある。これがHTテクノロジPentium 4に盛り込まれた新しいアイデアの正体だ。実行ユニットが1組しかない以上、2つのスレッドの並列処理は、マルチプロセッサ・システム(物理的なプロセッサが2つあるデュアルプロセッサ・システム)に比べれば制限が多くなる。いい換えれば、HTテクノロジによる性能向上はデュアルプロセッサ・システムを必ず下回るが、それでも性能向上が見込める。Intelによると、HTテクノロジによる性能向上は約35%とされているが、HTテクノロジで追加されるアーキテクチャ・ステートがダイに占める割合は5%程度に過ぎないという。つまり単純計算すると、5%分のトランジスタ追加(若干のコスト・アップ)で、35%という大幅な性能向上が見込めるのであれば、Intelとユーザーの双方にとって悪くない話ということになる。

  関連記事
第16回 x86を延命させる「Hyper-Threading Technology
 
  関連リンク 
Introduction to Hyper-Threading Technology PDF
 
 

 INDEX
  Hyper-ThreadingテクノロジはPCに革命を起こすか?
  1.HTテクノロジの仕組みと効果
    2.HTテクノロジを有効にするための必要十分条件
    3. HTテクノロジは本当に有効なのか?
    4. ベンチマーク・テストの結果
 
目次ページへ  「System Insiderの解説」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間