1GHzのPentium IIIをデモしてから18ヵ月、Intelは、今度は2GHzの壁を破った。現在開催中のIntelの技術カンファレンス「Intel Developer Forum(IDF)」で、アルバート・ユー上級副社長兼ジェネラルマネージャ(Intel Architecture Group)がPentium 4で2GHzのデモを実演したのだ。
しかし、Pentium 4なら2GHz程度で驚いてはいけない。クロックの向上に最適化されたPentium 4(コードネーム、Willamette:ウイラメット)なら、「同じプロセステクノロジならPentium IIIより動作周波数はずっと上がる」(ユー上級副社長)からだ。おそらく来年の末までに2GHzは製品として出荷しているだろう。また、半年後のIDFでは、うまく行けば0.13μm版Pentium 4(Northwood:ノースウッド)のサンプルで2.4GHzを、そして、1年後のIDFでは3GHzをデモしているだろう。
今回のIDFでは、Pentium 4の詳細に関する技術セッションは3日目に予定されているため、まだPentium 4のアーキテクチャに関するアップデイト情報は少ない。しかし、ユー上級副社長により、Pentium 4のダイ写真と、トランジスタ数は明かされた。トランジスタ数は4,200万だ。Pentium 4は256KBのL2キャッシュを搭載するため、単純計算では、Pentium 4のCPUコア(L2キャッシュを除いた部分)のトランジスタ数は2,350万個になる。
IntelのCPUは、どうやらSRAMの1セル当たりの構成トランジスタ数が多いようで、L2キャッシュのトランジスタ数が非常に多い。例えば、0.18μm版Pentium III(Coppermine:カッパーマイン)のトランジスタ数は2,800万個で、0.25μm版Pentium III(Katmai:カトマイ)の950万個より1,850万個多い。単純計算では、この1,850万個が、Coppermineの搭載する256KBのL2キャッシュ(とTagRAM)の分だ。
ちなみに、IntelのL2キャッシュのトランジスタ数が多いのは、歩留まり向上のために冗長なSRAMを搭載しているからでもあると言われている。詳細はわからないが、Intelは必要量以上のSRAMを搭載して、製造過程でSRAMのセルブロックに欠陥が出た場合、冗長ブロックに振り替える仕組みを取っているようだ。
●トランジスタ数を比較
もし、Pentium 4のSRAMセルのトランジスタ構成がCoppermineと同じだとすると、L2キャッシュが1,850万個トランジスタで、4,200万-1,850万=2,350万トランジスタになる。これを、他のCPUのコア(L2を含まない)と比較してみよう。
・Pentium 4 | 2,350万 |
・Athlon/Duron | 2,200万 |
・Pentium III | 950万 |
・K6 | 930万 |
・EmotionEngine | 1,050万 |
もしPentium 4のCPUコアのトランジスタ数が計算通りなら、CPUの複雑度では、Pentium 4はAthlonとほぼ同程度ということになる。しかし、Athlonの場合は128KBの巨大なL1キャッシュを含んだ数字で、Pentium 4のL1キャッシュサイズはこれより小さいと思われるため単純には比較できない。また、ダイ写真を見る限り、Pentium 4ロジック部のダイはAthlonよりかなり大きそうで、上の予測数字よりもトランジスタ数が多い可能性がある。
●大きなトレースキャッシュの面積
ダイのブロック図 |
また、このブロック図で、面白いのは、ロジック部に占める整数演算ユニットの比率がますます小さくなっていることだ。ちなみに、Pentium 4の整数演算ユニットは「Rapid Execution Engine」と呼ばれている。これは、単純なオペレーションなら0.5クロックレイテンシで実行が可能だからだ。つまり、Willametteはピークでは、1クロックで2命令づつ、2個の整数演算ユニットで合計4命令を1クロックで実行できる。ただし、トレースキャッシュからのμopのフェッチは3命令づつなので、トータルのスループットは3命令/サイクル以上には上がらない。
整数演算ユニットが小さい反面、浮動小数点演算/マルチメディアユニットは、Pentium IIIより比率が大きくなっているように見える。これは、Pentium 4では浮動小数点演算性能/マルチメディア性能が上がることを示唆している。ただし、従来のx87命令を使った浮動小数点演算の性能は上がらないかもしれない。というのは、Intelは「Pentium 4 Processor Software Developers Guide」のコード最適化の手引きで、「可能なら、x87浮動小数点演算命令の代わりにSSE2浮動小数点演算命令を使うように」と指示しているからだ。SSE2の浮動小数点演算の方が、x87よりもレイテンシが小さいという。
Pentium 4の新命令であるSSE2の浮動小数点演算では、XMMレジスタの最下位の1個の倍精度/単精度データだけを使ったスカラー(Scalar)演算も可能になっている。この場合は、x87命令とほぼ同じようにSSE2命令を使うことができる。Intelは、x87命令からSSE2命令への移行を推奨している。つまり、SSE2命令を使わないと、Pentium 4の浮動小数点演算の真価は発揮されない可能性もある。
そして、Pentium 4のロジック部のダイでいちばん大きな面積を取っているのは、スケジューリングに関連する機構のようだ。実行ユニットやL1キャッシュよりも、Hyper Pipelined TechnologyとAdvanced Dynamic Executionと呼ばれるいまひとつ内容がわからないエリアが巨大な面積を取っている。これは、Pentium 4では、もはや実行ユニットもキャッシュも、主役ではないことを明確に物語っている。
こうしたPentium 4のダイを見ていると、x86命令をハードウェアでデコード/スケジューリングするのは、もうここまでで限界ではないかという気がしてくる。スケジューリングをソフトウェアで行ない、ハードウェアをシンプルにしようというIA-64プロセッサやCrusoeの方向の妥当性もよくわかる。とはいえ、Pentium 4は限界に挑戦して、高クロック駆動という目標は見事に達成している。
●会場であまり目立たないPentium 4
こうしてレポートしていると、今回のIDFではPentium 4の話題が中心のように見えるが、じつはそうではない。それどころか、Pentium 4は展示会場でもそれほど派手にデモされておらず、あまり目立たない。これは、Pentium III 立ち上げ直前の昨年春のIDFで、Pentium IIIをガンガン華やかに押し出したのとは対照的だ。もちろん、技術トラックではPentium 4システムの設計などに関する説明があるので、マスコミ受けするような派手な打ち出しはしていないというだけだ。しかし、IntelがPentium 4に関して、Pentium IIIの時のような派手な展開をしないというのは、なかなか興味深い。
Pentium 4システムのマザーボード | チップセット回りのパターン |
写真は、展示会場にあったPentium 4システムのマザーボードだ。ここで面白いのは、右の写真のチップセット回りのパターンで、上のCPUと右のRDRAMへは配線が複雑に蛇行している。これは、システムレベルでの伝搬遅延の調整のためだと思われる。このあたりを見ていると、Pentium 4ではシステム設計のハードルがまたひとつ上がったとつくづく実感させられる。
□関連記事
【8月23日】Intel Developer Forum Fall 2000基調講演レポート
Intelが前人未踏の2GHz動作Pentium 4を公開
http://pc.watch.impress.co.jp/docs/article/20000823/idf03.htm
(2000年8月23日)
[Reported by 後藤 弘茂]