後藤弘茂のWeekly海外ニュース

0.13μm版Pentium 4にもHyper-Threadingテクノロジを搭載!?


●Hyper-Threading CPUでもOSライセンスは変わらず

 Pentium 4コアには、おそらくHyper-Threading(Jackson Technology:ジャクソン)テクノロジがインプリメントされている。少なくとも「0.13μm版Pentium 4(Northwood:ノースウッド)」にはほぼ確実にインプリメントされているし、もしかすると現行の「0.18μm版Pentium 4(Willamette:ウイラメット)」にもインプリメントされているかもしれない。つまり、Pentium 4アーキテクチャ自体が、そもそもHyper-Threadingのインプリメントを前提として開発された可能性まであるということだ。

 また、Hyper-Threading版CPUへのOSのライセンスは、CPUの数でカウントされる。Intelのマイケル・J・フィスター(Michael J. Fister)副社長兼ゼネラル・マネージャー(Enterprise Platforms Group)によると「MicrosoftのOSのライセンスは、物理的なCPU数で数えられるようになるだろう。例えば、Hyper-Threadingを搭載したXeonをデュアルで搭載していれば、4CPU相当になるわけだが、OSのライセンスは2CPUライセンスで済む」という。

 もう少し詳しく説明すると、Hyper-Threading版CPUの場合、ソフトウェア側からは1つのCPUが2つのCPUに見える。だから、Hyper-Threading CPUのデュアルプロセッサ構成では、バーチャルに4CPU構成になる。しかし、それに対してWindowsの高額な4CPUライセンスは必要なく、2CPU用のライセンスでOKだという。これは、Hyper-Threadingでの、ライセンス料アップがないことを意味する。

 これは、他のOSライセンスについても同様の話が進んでおり、ほぼ物理CPU数のライセンスで落ち着きそうだという。また、CPU数でライセンスが変わるアプリケーション、例えば、データベースソフトなどについても、同様の交渉が進んでいるとIntel関係者は伝える。

●Northwoodと同コアのPrestoniaにもHyper-Threading

 Pentium 4コアに、Hyper-Threadingがインプリメントされていると考えるのは、Pentium 4とほぼ同じコアを使う通常キャッシュ版のXeonに、Hyper-Threadingテクノロジがインプリメントされているからだ。Intelのフィスター氏は、「マルチプロセッサ版のXeon MPだけでなく、デュアルプロセッサ版のXeonにもHyper-Threadingがインプリメントされているのか?」という質問に対して、「イエス。全てのXeonにHyper-Threadingが入る」と答えた。つまり、大容量L3キャッシュを搭載するXeon MP系だけでなく、Pentium 4と同じ容量のキャッシュしか搭載しないXeon系にもHyper-Threadingは入るわけだ。

 Intelは、今年8月のIDFで、大容量キャッシュ版Xeon系列にHyper-Threadingがインプリメントされることを明らかにした。つまり、「0.18μm版Xeon MP(Foster MP:フォスタMP)」や「0.13μm版Xeon MP(Gallatin:ガラティン)」にはHyper-Threadingが搭載されることが明確になった。しかし、L3キャッシュを搭載しない「0.13μm版Xeon(Prestonia:プレストニア)」には、Hyper-Threadingが入るとは説明していなかった。だが、今回の説明で、PrestoniaにもHyper-Threadingはインプリメントされることがわかった。

 実際、サーバー&ワークステーション系OEMメーカーも、Intelから今秋、こうした説明を受けている。つまり、XeonとXeon MPのどちらにもHyper-Threadingが入ると、Intelは直接話したという。このことからも、PrestoniaにHyper-Threadingがインプリメントされていることは裏付けられる。

 Prestoniaは、Northwoodと同容量のL2キャッシュを搭載する。主な違いは、デュアルCPU対応になっていることと、パッケージングくらい。通常、こうした場合、Intelは、CPUのダイ(半導体本体)は、同じダイを選別して使う。CPUのダイの設計を統一した方が、生産上は都合がいい(前工程はほぼ共通)し、高速化のためのクリティカルパスつぶしも容易になるからだ。とすると、NorthwoodにもHyper-Threadingが搭載されている可能性は極めて高い。もしNorthwoodにHyper-Threadingがインプリメントされていなかったとしても、IntelはいつでもPentium 4をPrestoniaと同じコアに替えることができるのだから、話は同じことだ。

 また、1カ月ほど前のコラム「IntelのSpringdaleとICH5とPrescottの正体」でもレポートしたように、複数の業界関係者がIntelからNorthwoodにHyper-Threadingが入っていると伝えられている。「Northwoodと、Prestonia、Gallatinは、いずれも同じCPUコアを使っており、違いはキャッシュサイズとマルチプロセッサインターフェイスだけ。いずれもHyper-Threadingが搭載されている」と説明を受けたという。

 それから、現在のHyper-Threadingのトランジスタコスト、ロジックトランジスタ数の増加は5~10%程度とそれほど大きくない。実際のCPUは大面積のキャッシュも搭載するため、ダイ面積に占めるHyper-Threading関連回路の比率はそれほど高くない。そう考えると、NorthwoodにHyper-Threadingを入れ込んでも、それほどコストアップにならない。

●NorthwoodではHyper-Threadingは隠されたまま?

 もっとも、ダイの上にインプリメントされていることと、機能として使えることは別な話だ。Northwoodには、Hyper-Threadingがインプリメントされていたとしても、イネーブル(使用可能)にされている可能性は低い。そもそも、PC系OEMメーカーにはPrestoniaにHyper-Threadingが搭載されていることすら伝えられていない。もちろん、そのための準備もしていない。だから、少なくともNorthwoodの立ち上げ時期に、Hyper-Threadingがイネーブルされる可能性はない。

 それどころか、Northwoodは最後まで(2003年中盤の次期CPU「Prescott」登場まで)、Hyper-Threadingが殺されたままの可能性が高い。その理由は、(1)NorthwoodでHyper-Threadingを使えるようにするにはそれなりのマーケティング戦略が必要となる。(2)Hyper-ThreadingをXeonのプレミア機能とした方が収益の面でプラスになる、の2点だと推測される。

 Intelによると、Hyper-Threadingを使うと、マルチスレッド環境で、CPUのパフォーマンスが最大30%上がるという。しかし、CPUのクロック自体は同じで、しかも、環境によってはあまり恩恵を感じられない場合もある。そうすると、Hyper-Threadingを付加価値にして売り込むことが難しい。つまり、これまでのPentium 4の2.6GHzと、Hyper-Threading版Pentium 4の2GHzが同じ価格だよとは言いにくい。同じPentium 4だと、Hyper-Threadingをイネーブルにしても、CPUを高く売ることが難しいわけだ。だったら、コアが変わるPrescottの時点で、Hyper-Threadingが入っているから高性能とやった方が、やりやすい。

 同じ理由で、Hyper-ThreadingをXeonのプレミアにした方が、当面はやりやすい。今のXeonのデュアルプロセッサ版は、サーバー&ワークステーション用と言いながらも、価格はそんなにデスクトップ用のPentium 4と変わらない。アーキテクチャが同じなので、急降下したPentium 4価格に引きずられてしまったのだ。だが、XeonだけはHyper-Threadingが使えて、1CPUでデュアルCPU相当になると言うなら話は別だ。Intelは、Xeonに、それなりの価格プレミアをつけることができるようになる。そうすると、IntelはCPU製品全体のASP(平均販売価格)を、現在より高くすることができる。

 ただし、もしIntelがライバルメーカーにパフォーマンスで追い込まれたりすると、当然話は違ってくる。例えば、AMDの「Hammer(ハマー)」がすんなり離陸して、しかも性能でPentium 4を凌駕するようなケースだ。そうした場合、IntelはPentium 4でもHyper-Threadingをイネーブルにしてくるかもしれない。言い換えると、Intelは、Hyper-Threadingを切り札として持っていることになる。

●Pentium 4のアーキテクチャはもともとHyper-Threadingか?

 しかし、NorthwoodにHyper-Threadingが搭載されているということは、多くのことを示唆している。まず、1つ推測できるのは、じつはPentium 4アーキテクチャそのものがもともとHyper-Threadingを前提に開発されたという可能性だ。そう考えるとつじつまのあう話はいろいろある。

 まず、AMDが指摘するPentium 4のIPC(instruction per cycle:1サイクルで実行できる命令数)の低さがある。Pentium 4のIPCは、Pentium IIIよりかなり低く、性能向上はクロック向上に頼っている。そのため、Pentium 4の実行ユニットの利用効率は非常に低い。Intelによると、実際には35%程度しか稼働していないという。つまり、Pentium 4の実行パイプラインはスカスカな状態だ。

 しかし、これがHyper-Threadingを前提として設計されたとすると話は違ってくる。Hyper-Threadingを使うと、2つのスレッドを同時に走らせることが可能になるため、実行ユニットは空いていてくれた方が好都合だ。というか、Hyper-Threadingを使って、初めてPentium 4の実行ユニットはまともな稼働率になると言った方がいい。つまり、IntelがPentium 4開発に当たって、初めから2スレッドでの効率を考えたとするなら、このアーキテクチャがリーズナブルということになる。

 それから、過去の情報を整理しても、やはりPentium 4が最初からHyper-Threadingを考えていた兆候がある。例えば、2000年3月に「Jackson Technology(Hyper-Threading)」という話を最初に聞いた時、業界筋の情報ではWillametteやFosterにJackson Technologyが入っているといっていた。そう、Northwoodではなく、Willamette/Fosterに。これは、その時点で台湾では広く知られていた話で、複数の筋から入っていた。

 また、Hyper-Threading CPUでは、ソフトウェア側が「spin-wait loop」を使うと、最悪の場合、完全にスタックしてしまうという問題がある。そのため、ソフト開発者にspin-wait loopの使用を避けさせないとならないが、その注意を促す技術ドキュメントも、昨年の2月にすでに公開されている。

 こうしたことを考えると、これは完全に推測だが、Willametteコアから、すでにHyper-Threadingがインプリメントされていた可能性がある。では、そうだとしたら、なぜ1年間もIntelは黙っていたのだろう。考えられるのは、パテントの問題とソフトウェア環境の問題だ。

●パテント問題がHyper-Threadingを遅らせた可能性も

 Intelは、2000年春頃に台湾などのOEMにJackson Technologyの話を伝える。ところが、以前のコラム「2003年までが明らかになったIntelのサーバー&ワークステーションCPU」でも伝えた通り、そのあとはパタリとJackson Technologyについての情報が止まってしまう。また、昨春の情報も、話だけで、Jackson Technologyに関するドキュメントというのは、見たことがなかった。つまり、IntelはJackson Technologyに関しては、ひた隠しにしていた。

 それが、急にその存在を明らかにし始めたのは、今年の夏からだ。そして、その直前の6月、Intelは、Compaqと戦略的な提携を結んでいる。その中には、Compaqが持っているAlphaプロセッサ&コンパイラ技術とリソースのIntelへの提供が含まれていた。そして、Alphaの次々世代CPU「Alpha EV8」は、当時発表されているCPUの中でもっとも進んだTLP技術を取り込んだアーキテクチャだった。

 ここで考えられるのは、IntelのHyper-Threadingが、Alphaの知的所有権のどれかに抵触してしまう可能性があり、Alpha問題を片づけるまでHyper-Threadingの発表ができなかったということだ。それで、Pentium 4の立ち上げ時には、Hyper-Threading機能を活かせなかった可能性がある。

 それから、Hyper-ThreadingにはOSとアプリケーション側の対応が欠かせない。まず、OSカーネルが2CPU対応でないとならないわけで、Windows XPまでは少なくともコンシューマレベルには持って行けない。それから、ソフトのほとんどがマルチスレッド対応のサーバーと違って、PCでHyper-Threadingが性能を出すには、ソフトがマルチスレッド対応になってこないとならない。そうした準備も、IntelがHyper-Threadingを公開するまで始められなかったわけだ。

 いずれにせよ、IntelはHyper-Threadingというカードを2002年には持っている。それを、いつどこでどう使ってくるかが、次の注目点になる。

□関連記事
【11月16日】【海外】IntelのSpringdaleとICH5とPrescottの正体
http://pc.watch.impress.co.jp/docs/article/20011116/kaigai02.htm
【10月22日】【海外】2003年までが明らかになったIntelのサーバー&ワークステーションCPU--その1
http://pc.watch.impress.co.jp/docs/article/20011022/kaigai01.htm
【10月25日】【海外】2003年までが明らかになったIntelのサーバー&ワークステーションCPU--その2
http://pc.watch.impress.co.jp/docs/article/20011025/kaigai01.htm
【8月30日】【海外】Intelがデスクトップ&モバイル向けのHyper-Threading版Pentium 4を計画
http://pc.watch.impress.co.jp/docs/article/20010830/kaigai01.htm
【7月18日】【海外】Intelが欲しかったのはCompaqの持つAlpha EV8のテクノロジ
http://pc.watch.impress.co.jp/docs/article/20010718/kaigai01.htm
【6月26日】Compaq、64bitプラットフォームをIntelに統一
~AlphaはIntelへ移転、2004年で中止?
http://pc.watch.impress.co.jp/docs/article/20010626/compaq.htm


バックナンバー

(2001年12月14日)

[Reported by 後藤 弘茂]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp

Copyright (c) 2001 impress corporation All rights reserved.