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

ポラックの法則に破れてキャンセルされた「Tejas」




●ダイサイズがほぼ同じTejasとSmithfield

2004 Intel Fall Analyst Meetingで公開されたスライド

 Intelが2005年のCPUとして開発していた「Tejas(テハス)」がキャンセルされた原因は、ポラックの法則だった。Intelが、12月始めに開催した「2004 Intel Fall Analyst Meeting」で公開された情報から、なぜ、Intelがデュアルコアへと舵を切ったかの、具体的な事情が見え始めた。

 Intelは、Analyst MeetingでTejasのダイサイズ(半導体本体の面積)を明らかにした。それによると、90nmプロセスで設計されていたTejasのダイは213平方mmだという。これは、0.18μmで製造されていた初代Pentium 4(Willamette:ウイラメット)とほぼ同じだ。現行の90nm版Pentium 4(Prescott:プレスコット)は112平方mmなので、約1.9倍のダイサイズということになる。

 そして、IntelによるとデュアルコアのデスクトップCPU「Smithfield(スミスフィールド)」のダイサイズも、Willametteと同程度だという。つまり、Intelは、シングルコアのままでマイクロアーキテクチャを拡張してダイを1.9倍にしたTejasを、マイクロアーキテクチャはそのままでデュアルコア化することでダイを1.9倍にしたSmithfieldに置き換えたことになる。そして、このことは、パフォーマンスの観点からすると、利にかなっている。それは、ポラックの法則があるからだ。

 ポラックの法則は、CPUのマイクロアーキテクチャを拡張してダイ(トランジスタ数)を2倍に増やしても、性能は2の平方根の約1.4倍程度にしか伸びないという経験則だ。IntelのMicroprocessor Research Labs(MRL)のディレクタを務めていたフレッド・ポラック(Fred Pollack)氏が発見したもので、そのため、Intelの研究開発部門を率いるPatrick P. Gelsinger(パット・P・ゲルシンガー)CTO兼上級副社長(CTO & Senior Vice President)氏は「ポラックの法則」と呼んでいる。

 では、これをTejasに当てはめるとどうなるのか。ポラックの法則が効いてしまうのなら、Tejasは同クロックのPrescottに対して約1.38倍しか性能が伸びないことになる。つまり、同プロセス世代でダイを1.9倍にまでしても、性能はわずか1.38倍のゲインしか得られないわけだ。これは効率の悪いアプローチだ。

ポラックの法則によるTejasとSmithfieldの性能理論値
PDF版はこちら

●ポラックの法則を破るSmithfield

 ところが、デュアルコアの場合には、ポラックの法則を破ることができる。“Prescott+”のコアを2個搭載するSmithfieldでは、同クロックのPrescottに対して最高2倍の性能を得ることができる。もちろん、実際には、バスネックやソフトウェア側のスレッド並列性、TDP枠の問題で、そこまでは得られないが、理論上は2倍近い性能が得られる。ポラック氏自身も、'99年のMicro32カンファレンスでのプレゼンテーションの中で、マルチコアならダイサイズにほぼ比例した性能が得られ、ポラックの法則を破ることができると示唆している。

 こうしてみると、ポラックの法則から言えば、Smithfieldの方が、Tejasより、ずっと効率のよい性能向上のアプローチということになる。これは、Tejasがキャンセルになるのも当たり前と見える。というか、ポラックの法則が分かっているのなら、なぜTejasの世代でシングルコアアーキテクチャの拡張を図ったのか、その意図の方が疑問になってしまう。K7からK8へのアーキテクチャ移行で、CPUコア自体のサイズは微増しかさせず、マルチコアに備えたAMDの方が、先見の明があったように見える。

 もっとも、Intelの意図もわかる。Smithfieldでは、マルチスレッド/マルチタスク性能こそ伸びるものの、シングルスレッド性能は理論上はPrescottと同じになってしまうからだ。もちろん、実際にはシングルスレッドアプリケーションの使用時にも、マルチタスク性能が上がるため、総合的な性能は上がる。しかし、純粋な意味でのシングルスレッド性能は変わらない。

 それに対してTejasでは、マルチスレッド性能もシングルスレッド性能も同様に上がる。Tejasが、Hyper-Threadingの強化にフォーカスしたアーキテクチャで、マルチスレッド性能を向上させる方向へと向いていたとしても、Smithfieldよりはシングルスレッド性能は高くなったはずだ。

 こうしてみると、Intelにとって「TejasかSmithfieldか」という選択は、同じコストのCPUでシングルスレッド性能とマルチスレッド性能のどちらを重視するかという選択だったことになる。そして、Intelが、最後に下した決断が、どうせ同じコストをかけるのなら、マルチスレッド性能にフォーカスしようという、判断だったことになる。

●なぜTejasもSmithfieldも200平方mm前後のダイなのか

 興味深いのは、200平方mm前後のダイサイズは、Intelにとって一種のマジックナンバーであることだ。歴史的に見ると、IntelのデスクトップCPUのダイサイズには一定の法則がある。下の図を見ると分かる通り、どのアーキテクチャ世代でも200平方mm前後に一連のダイがあり、次にその下、140平方mm前後から下のラインに一連のダイがある。

ダイサイズ移行図(Tejas存在時)
PDF版はこちら
ダイサイズ移行図(現在)
PDF版はこちら

 このIntelのダイサイズ戦略は、非常に明瞭だ。Intelは、PC向けCPUについては、まず200平方mm前後のダイサイズでパフォーマンス/メインストリーム市場に浸透させる。そして、140平方mm前後以下のダイサイズでバリュー市場にも本格的に浸透させる。この2段階のアプローチを採る。

 そのため、パフォーマンス/メインストリーム向けCPUは、200平方mm前後のダイになるように設計する。次に、同アーキテクチャを1プロセス世代微細化することで、140平方mm以下のダイを作り出す。

 Pentium 4ではWillamette(0.18μm、217平方mm)→Northwood(0.13μm、136平方mm)、Pentium IIではKlamath(0.35μm、203平方mm)→Deschutes(0.25μm、130平方mm)がこのパターンに当たる。場合によっては、先行する300平方mm前後のダイを作ることもあるが、こちらはサーバーやワークステーションなど一部に止め、ほとんど浸透させない。300平方mmから1プロセス世代微細化して、200平方mmへと持ってきてからPC市場へと本格的に浸透させる。

 Intelは、以前は2年に1度づつ新アーキテクチャCPUを投入していた。そのため、このパターンで次々とカスケード式に新しいアーキテクチャのCPUを低価格帯へと下ろしてくることができた。ところが、P6(Pentium Pro/II/III)以降は、Pentium 4まで1世代抜けてしまった。そのため、P6世代は拡張を重ねてダイを大きくし、最終的には0.13μm世代まで延命した。

 今回、NetBurst(Pentium 4系)アーキテクチャも2年後に後続のアーキテクチャが登場しなかったことから、Tejasで大きくアーキテクチャを拡張するものと予想されていた。しかし、当初、このコーナーでは、Tejasのダイサイズを140平方mm前後と予想していた。それは、90nm世代で200平方mm前後のダイサイズでNetBurstの次の「Nehalem(ネハーレ)」が登場すると想定していたからだ。NehalemはTejasの前、おそらく2003年中にキャンセルになっており、完全に新しいアーキテクチャで、その分ダイサイズが増えるはずだった。

 だが、今回のTejasのダイが200平方mmクラスだったことが明らかになったことで、Nehalemは、おそらく65nmで200平方mmクラスのダイだったと想定される。つまり、IntelはWillametteからNehalemまで、3プロセス世代のギャップが開いてしまっていたわけだ。そのため、Intelは、90nm世代で140平方mmのダイではなく、200平方mmのダイが必要になった。そして、そこにはまるのがTejasからSmithfieldへと変わったのが、現在のロードマップというわけだ。

 Smithfieldのダイが200平方mm台に抑えられたということは、Intelは、少なくともダイサイズ(=コスト&生産性)の観点からは、65nmプロセスでは本格的にデュアルコアの浸透を図ることができることを意味している。もちろん、TDPとシングルスレッド性能の問題を考慮しなければの話だが。

 65nmのNetBurst系デュアルコア(コードネームはPreslerだと言われている)では、140平方mm以下のダイサイズにできるはずだ。そうなると、IntelはNorthwoodの最初のダイ(136平方mm)と同様に、65nm版デュアルコアを浸透させることができる。逆を言えば、200平方mm前後のダイに抑えられるというメドがついたからSmithfieldの計画をスタートしたと推定される。

●SMTを大きく拡張していた? Tejas

 Tejasのダイが200平方mmクラスだったことは、Tejasのアーキテクチャが大きく拡張されていたことも意味する。Tejasについて情報ソースから明らかになっているのは、拡張版(Enhance) Hyper-Threadingの実装や、L2キャッシュの2MBへの拡張、L1データ/トレースキャッシュ(L1命令キャッシュ)の拡張、より高クロック化を可能にする設計などだ。

 Tejasでは、キャッシュ量が増やされる予定だったことから、ダイ増加のある程度のパーセンテージはキャッシュSRAM部分だったと推定される。しかし、Prescottの1.9倍のダイは、SRAMの増加だけでは埋まらない。K8のように、周辺機構を取り込む予定もなかったことから、TejasではCPUコアも大幅に拡張されていたことになる。

 ひとつ明確なのはTejasのポイントがHyper-Threadingの拡張であったことだ。Tejasのアーキテクチャ開発が行なわれていた2002年当時、Gelsinger氏は次のようにCPUの将来を説明していた。

 「将来、我々はIPC(Instruction per Cycle:1サイクルで実行できる命令数)ではなく『TPC(Threads per Cycle)』、つまり、1サイクルで何スレッドを処理できるかで、CPUの効率を測るようになるだろう。これまでのPC用CPUは、1スレッドパーサイクルでしか実行できなかったが、Hyper-Threadingでは2スレッドを並列に実行できるようになる。さらに、将来はもっと多くのスレッドを同時実行できるようになるだろう。これはちょうど、CPUの実行ユニットのこれまでの変化と似ている。486の時には1本の命令実行パイプしかなかったのが、Pentiumで2本になって、Pentium Proで7つになったのと同じような進化だ」

 文脈は明瞭で、Intelはこの時点では「Simultaneous Multithreading(SMT)」であるHyper-Threadingを拡張してマルチスレッド性能を高めることを第一に考えていたように見える。だとすれば、Tejasは、当然、4スレッド/サイクル程度のスレッド並列性を持っていたと考えるのが自然だろう。そして、SMTでスレッド並列性を高めることで、IntelはおそらくCPUコア内部の命令発行数も拡張しようとしていたと推測される。

 現在のシングルコアCPUは、いずれも3命令/クロックの命令帯域しか持っていない。NetBurstもK8も、x86命令換算で最大3命令/クロックしかスケジューラに通せない。これは、x86命令で3命令以上を同時に発行できるような命令スケジューリングが難しいためだ。しかし、SMTで依存性の薄いスレッドからの命令同士を組み合わせられるようになると、3命令/クロック以上に帯域を広げられる可能性がある。

 もしそうだとすれば、Tejasでは実行ユニットも拡張されていたはずだ。そもそも、IntelはWillametteを開発する際に、整数演算ユニットを増やすつもりだったのが、トランジスタバジェット(使えるトランジスタ数の制約)のために、ユニット数を削ったという事情がある。発行できる命令数が増えることも考えると、IntelがTejasでは演算ユニットを増やす方向でいたと推測される。

 だが、結局、これもデュアルコアにした方が効率が高くなる。デュアルコアなら3命令/サイクルの帯域を持つCPUコアが2つで、最大6命令/サイクルをフェッチしてスケジューラに通すことができる。TejasがいくらSMTを拡張しても、追いつかないことになる。ただし、Tejas的なアプローチなら、実行リソースやスケジューリングの帯域が広がる分、性能が向上するシングルスレッドプログラムが出てくる。結局、この部分もトレードオフだったというわけだ。

SMTとデュアルコアの比較
PDF版はこちら

□関連記事
【6月9日】【海外】AMDが2005年にデュアルコアCPUを投入
http://pc.watch.impress.co.jp/docs/2004/0609/kaigai095.htm
【5月12日】【海外】Intel、将来のNetBurst系CPUをすべてキャンセル
http://pc.watch.impress.co.jp/docs/2004/0512/kaigai089.htm
【5月9日】【海外】Intelが次世代デスクトップCPU「Tejas」をキャンセル
http://pc.watch.impress.co.jp/docs/2004/0509/kaigai088.htm

バックナンバー

(2004年12月24日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright ©2004 Impress Corporation, an Impress Group company. All rights reserved.