解説

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

2. HTテクノロジを有効にするための必要十分条件

元麻布春男
2002/11/19

解説タイトル


HTテクノロジ対応に必要なもの

 もちろんこれは使う側にとってもいい話だ。さっそく使いたくなるところだが、それには条件がある。すなわち、HTテクノロジをサポートしたハードウェアとソフトウェアが必要になる。

 まずハードウェアだが、対応したチップセットが欠かせない。IntelがHTテクノロジ対応としているチップセットは、以下の6種類となる。

チップセット名 対応メモリ グラフィックス機能(動作クロック)
Intel 845G DDR-266200PC133 内蔵(200MHz)
Intel 845E DDR-266/200 外付
Intel 850E PC8001066 外付
Intel 845GE DDR-266/333 内蔵(266MHz)
Intel 845PE DDR-266/333 外付
Intel 845GV DDR-266/200、PC133 内蔵(200MHz)
表区切り
HTテクノロジPentium 4対応のチップセット

 このうちIntel 845Gは、2003年に入ってから供給されるB1ステップからといわれている。HTテクノロジをサポートするチップセットに制限がある理由について、Intelは必ずしも明らかにしていないのだが、1つはSTPCLK#信号(クロックを止めるための信号)の扱いなど、パワー・マネジメント関連の問題だと思われる。STPCLK#信号の対応がどのように必要なのか詳細は不明だが、STPCLK#信号の処理が2つの論理プロセッサで処理され不整合が生じる可能性があることに対応した可能性が高い。チップセットは、パワー・マネジメント・イベントが発生するとPentium 4に対して、STPCLK#信号を使って低消費電力モードへの移行を知らせる。さらに、チップセットはシステム全体のパワー・マネジメントを実行する。HTテクノロジをサポートしたプロセッサの場合、STPCLK#信号に対する「Stop Grant Acknowledgeサイクル」と呼ばれる低消費電力モードへの移行処理で問題が生じる可能性がある。そこで、そうした問題を回避するための機能がHTテクノロジ対応チップセットには追加されていると思われる。従って、サードパーティ製のチップセットでも、こうした機能がない限り、HTテクノロジをサポートすることはできないだろう。

 チップセットの対応の次は、マザーボードの対応が必要になる。現時点でHTテクノロジをサポートしたプロセッサは、Pentium 4-3.06GHzしかない。過去最高の動作クロックを持つこのプロセッサは、当然のことながら消費電力が高い。しかも、HTテクノロジをサポートしたことにより、演算ユニットの利用効率が高まるため、必然的に消費電力も上がってしまう。マザーボード上の電源(レギュレータ)は、これをサポートしている必要がある。もちろん、マザーボード上のシステムBIOSもHTテクノロジ対応でなければならない。これはBIOSセットアップで、HTテクノロジの有効/無効の設定が可能かどうかで確認できる。

OSのHTテクノロジ対応とは

 一方、ソフトウェアで最も重要なのはOSの対応である。OSがHTテクノロジをサポートしていなければ、やはりHTテクノロジを有効に活用できない。HTテクノロジをサポートするためには、まずOSがマルチプロセッサをサポートしている必要がある。この点で、Windows 9x系のOSはすべて除外されるが、実際にIntelがHTテクノロジPentium 4で、対応OSとしてバリデーション(検証)を行っているのは、Windows XP Professional EditionとWindows XP Home Editionの2種類だけだ。マルチプロセッサをサポートしたWindows XP Professionalはともかく、マルチプロセッサをサポートしないハズのWindows XP HomeがHTテクノロジをサポートしているということは、相当前からHTテクノロジの開発が進められており、初期の段階からMicrosoftに技術情報が開示されていたことがうかがえる。

HTテクノロジPentium 4のWindows 2000 Server対応
 
すでにHTテクノロジを有効にしているサーバ向けIntel XeonXeon MPでは、Windows 2000 Serverでもバリデーション(検証)を行っている。しかし、Pentium 4ではWindows 2000 Serverのバリデーションは行わないという。すでに、多くのサーバ・ベンダがエントリ・サーバとして、Pentium 4の採用を始めている。当然、これらのサーバにもHTテクノロジPentium 4が搭載されていくことになるだろう。しかし、現在の主力のWindowsサーバOSがWindows 2000 Serverである以上、これらのサーバではHTテクノロジは無効の状態で出荷されることになりそうだ。

 Intel Xeon/Xeon MPでは、Windows 2000 Serverとの組み合わせにおいて、HTテクノロジにより性能向上を実現している。当然、HTテクノロジPentium 4でも効果があるはずだ。Windows 2000 ServerにおいてもHTテクノロジが有効であることが分かっている以上、ユーザーとしてはHTテクノロジを活かしたいところだ。もちろん、IntelがHTテクノロジPentium 4においてWindows 2000 Serverのバリデーションを行っていないことから、HTテクノロジを有効にするのはためらわれる。この点は、ユーザーの責任において判断が必要となるだろう。なお、HTテクノロジがBIOSで無効になっている場合、、HTテクノロジを有効にするには、BIOSを変更した上でOSの再インストールが必要になる点に注意したい。

(デジタルアドバンテージ)

 同じくマルチプロセッサをサポートしたOSでありながら、Windows 2000 Professionalがバリデーションの対象から外されているのは、恐らくHTテクノロジに対する最適化が十分ではないからだ。逆にいうとWindows XPでは、最適化がある程度行われていると推定できる。その主なものは、スレッド・ディスパッチャ(スレッドをプロセッサに振り分ける機構)の最適化とスピン・ウェイト・ループの最適化だといわれている。前者はいうまでもないが、後者については説明が必要かもしれない。

 スピン・ウェイト・ループというのは、スレッド間で同期をとる場合などに挿入される、タイミングを合わせるためのアイドル・ループのことだ。例えば、一定条件を満たすまでNOP命令を(no operation命令:何の処理も行わない命令)実行する、というようなアイドル・ループでは、片方の論理プロセッサから実行ユニットにNOP命令がどんどん送り込まれるため、処理効率がかえって下がってしまう。HTテクノロジ対応OSでは、NOP命令の代わりにPAUSE命令の使用が推奨されている。PAUSE命令は、論理プロセッサを一時的に停止させることで、プロセッサの実行ユニットを残る論理プロセッサに占有させ、処理効率の低下を防ぐことができる(PAUSEよりもっと長い期間論理プロセッサを停止させる命令としてHLTも用意されている)。スピン・ウェイト・ループの処理をOSにゆだねる限り、Windows XPならNOP命令を使わず、PAUSE命令で処理されるものと思われる。

 ただ注意しなければならないのは、HTテクノロジに最適化されたカーネルを利用するには、BIOSセットアップでHTテクノロジを有効にした状態でOSのインストールを行わなければならない、ということだ。つまり、OSがインストール済みの環境で単にプロセッサをHTテクノロジ対応のものに交換しても、効果は得られない。既存のマザーボードの電源がPentium 4-3.06GHzに対応可能かどうかも含めて、Pentium 4-3.06GHzは既存のシステムのアップグレードにはあまり向かないプロセッサかもしれない。

 OSの次はアプリケーションの最適化だが、HTテクノロジのメリットを引き出すには、アプリケーションそのものがマルチスレッド化されていなければならない。例えば、Photoshopなどはマルチスレッド化されており、HTテクノロジによって約20%の性能向上が期待できるという。またユーザーにとっては、1つ1つのアプリケーションがシングル・スレッドであっても、複数のアプリケーションを同時に利用するマルチタスキング環境であれば、HTテクノロジのメリットを引き出すことが可能だ。そういう意味では、HTテクノロジは即効性のある技術だといえるだろう。

 さて上述したように、HTテクノロジを有効にしたPentium 4には5%のトランジスタ追加が必要とされているにもかかわらず、トランジスタ数は以前のPentium 4と同じだと発表されている。また、マルチプロセッサに対応していないWindows XP Home EditionがHTテクノロジに対応しているということは、以前からPentium 4のダイ上に実装されていたHTテクノロジ関連回路を無効にしており、それが今回の出荷分から有効にされた、と推定される。恐らく周辺のハードウェアやソフトウェアの対応を待っていたのだろう。


 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 記事ランキング

本日 月間