von_yosukeyanの日記: PowerPC 970 1
大ハズレしたコンシューマー向けPowerの予測(Power5ベースになる?)だが、Yosukeさん日記からMPF2002でPeter Sandon氏の発表に用いられたPDF資料があるので読んでみた
4ページ目の説明で、いきなり970はPower4の技術の継承したことを強調しているが、変更点はSIMDユニットとL3キャッシュを内蔵しながら、大幅な低消費電力化とダイサイズの縮小化を達成できた点のようだ。特に後者は、次のページにそのものの比較写真があるが、Power4がデュアルコアであることを考えても(970はシングルコア)チップ1個あたり1万ドルを越える生産コストから、ハイエンドワークステーションに搭載可能な価格帯まで値段を下げられる可能性が高い。
アーキテクチャーを見てみると(6ページから7ページ目)かなり複雑な演算回路を搭載していることがわかる。まず、Power4では複数のコアが共有していたL2キャッシュがダイに内蔵されている点が異なる(Power4のL2はMCM内に外付け)。容量は512kbで8ページ目のダイ写真ではおそらく下方向に広大な面積を要している部分であると思われる。なお、L1は命令とデータでそれぞれ32kbずつだ
演算部は、整数部と浮動小数点部でそれぞれ2つずつの演算ユニットがある点ではPower4と同じだが、新たにSIMDユニットが二つ追加されている。SIMD部は対称的なユニットではなく、片方はSIMD実行部、片方はベクトル実行部だ。L/S部はPower4の1に対して2となっている。実行ユニットはトータルで12と750時代と比べてかなり多くなっている。
さて、注目すべきは9ページ目のパイプライン構造についての説明だが、驚くべきことに970はかなり深いパイプラインを採用している。フェッチとデコードに9段と長いのは、おそらくPower3からぼちぼち導入されはじめた単純なマイクロインストラクションへの変換と、グルーピングに費やされていると思われる。
命令実行部のパイプラインも最短5段(整数演算)、最長13段(ベクトル演算)と長くフェッチから数えると15段から24段のパイプラインが存在する。これはPower4の9段、PowerPC750の4段と比べてかなり長い(いずれも整数演算)。分岐予測ミスのペナルティーがどれくらい影響を与えるのかこれだけではわからないが、かなりパフォーマンスは落ちるのではないかと思われるが、ドライストーンMIPSで1.8Ghz動作時で5220MIPSと、概ね1クロックあたり3命令を処理できていることから、分岐予測の精度はかなり高いと考えられる(MOTのPowerPC8500はクロックあたり2命令実行できるかできないかである)
FSBは900Mhz@6.4Gb/secと一昔前のハイエンドRISCプロセッサ並みの速度だ。対応するメモリーも、おそらくこれまでのDDRよりも高速なものが必要になると思われる
ドライストーンMIPSはキャッシュにプログラムが入ってしまうくらいコンパクトなベンチマークなのであまりあてにならないが、SPEC int 2000でのベンチマークはピーク時で1.8Ghz@937と、
富士通SPARC64 V@1.3Ghzの847
AlphaChip 21264C(EV67)@1.2Ghzの833
Sunmicrosystems UltraSPARC lll@1Ghzの576
PA-8700@870Mhzの676
NEC R14000@600Mhzの483
Intel Pentium4@2.8Ghzの1040
AMD Atheon2700+@2.1Ghzの913
Power4@1Ghzの639
と比べてもかなり早い部類に入ると思える。
それにしても、根拠レスだがかなり製造コストの高そうな石だなぁという印象には変わりない。深いパイプラインという点ではIntel、デコードのあたりはAMDに似てるような気がしなくもないが、ある程度刷ける製品ならまだしも、RS/6000系のWSで使われる数なんてたかが知れてるし、Macintoshに採用されたとしても、そんなに大量に使われるのか疑問に思ったりする。
ここは、はやりハイエンド通信系組み込みチップに使われる可能性もあるが(MOTのMPC8500は最初に通信系向けにチップが出たり)、どんなもんだろう?
細かいところ (スコア:1)
(2) 消費電力減ったのは、発表では強調していたようだけど、元々 2CPU の Power4 は 125W で 1.8um プロセス。一つ進んだプロセスで 1 CPU の 1.8GHz プロセッサが消費電力 42W というのはプロセス屋の頑張りの方が大きいような…
(3) チップサイズは Intel の現行 Xeon よりちょっと小さいぐらい (118mm2)。この辺だと歩留まりはいいはずです。少なくとも Willamette P4 よりは三割近く小さい。パッケージは、まぁ高いでしょうね。
(4) SPEC Int は L2 が 512KB 位あると、かなりオンキャッシュに近くなります(元々ワーキングセットサイズは 1.5MB 位で、fp より1.5 桁小さい)。それと分岐はプロファイルを使ってギンギンにコンパイラから与えるやりかたのベンチマークなので、分岐予測の効果、という点でも評価には余り向かない。IBM が業界でもコンパイラ技術では最高水準な事も考慮に入れる必要がある (数年前同じプロセッサを作っていた頃、Motorola より二割ぐらい上の性能公表値を出してました)。