【レポート】

Fall Processor Forum 2004 - Centaur、CN Architectureを発表

今年5月に開催されたEPF(Embedded Processor Forum)に続き、米国時間の10月4日から始まったFPF(Fall Processor Forum)。従来はMPF(MicroProcessor Forum)と呼ばれていたこのイベントだが、今回から名前をちょっと変えての開催である。もっとも会場こそ従来と同じだが、規模はやや縮小。従来は3枚あったスクリーン(2枚はプレゼンテーション、1枚はTVカメラの映像)はプレゼンテーション1枚に減り、プレスルームはなくなり……とやや規模が縮小気味(Photo01)。このままPlatform Conferenceみたいに無くなったりしなければいいのだが……。

さてそのFPFで、これで8回連続で登場のCentaurがCNアーキテクチャを発表した(Photo02)。

Photo01:以前はかなり後ろまで席が用意されていたのだが、今回は割と少な目。ただそれもあってか、前回のEPFよりは席の埋まり具合は高かった。

Photo02:おなじみGrenn Henry氏。今回は案外に機嫌が良かった。

色々派生型が……

前回のEPF2004ではC5JことEstherコアの発表を行ったCantaurであるが、今回の発表テーマは次世代のCNコアに関するもの。とはいいつつも、ちらっとだけロードマップが紹介された(Photo03)のでまずはこれからレポートしたい。前回の発表時、C5Jコア(こちらの製品名はC7に変わった)はまだテープアウトした状態であったが、現在は既にFirst Siliconが出ているそうである。もっとも量産は来年以降になる模様だ。このC7(というかC5J)続くコアとしてC5Wが用意されている。こちらはC5J同様にIBMの90nm SOIプロセスを使って生産される模様だ。またこれと並行して、従来のC5P(Nehemiah)コアの製品をブラッシュアップしたC5Qと、さらにこれを110nmにシュリンクしたC5Rという製品が来年に予定されている。つまり、来年はC3プロセッサとC7プロセッサという具合に、製品ラインナップが2つに分かれる訳だ。つまりローエンド向けにはC3を現在のCLE266やCN400と組み合わせて提供し、ハイエンドはC7に例えばPT800なんて組み合わせが登場する訳だろう。

さてそのC5Jのスペック、基本的には5月に発表された内容と同じだが(当時は"Just Taped out"だったのが、今回は"In silicon"に変わった)、FSBが"800MHz VIA bus"となっているのがちょっと目を引く。5月の発表では"Banias bus and new VIA "V4"bus"という表記で、後で「このVIA busって何?」と聞いたところ「Pentium 4のバスから不要なものを省いたバージョン」という返事が返ってきたわけだが、今回"Banias bus"の文字が落ちているのはひょっとするとPentium Mとの互換路線を捨てたのかもしれない。このあたりは"Not discuss today"とあるので、後でまたレポートしたいと思う。

Photo03:CNアーキテクチャの延長に"NB Integrated"なる話が出ているが、当然これにも触れず。一応突っ込んでみる予定だが。

Photo04:消費電力などは前回と変わりがない。つまり実シリコンでシミュレーションと同じ結果が得られたということだ。

遂にOut-of-OrderとSuperScalarが!

さて、話をCNアーキテクチャに戻す。CNコアでOut of Orderを搭載する目的は、コアを複雑化することなく、「実パフォーマンス」を上げつつ様々な機能を追加することだという(Photo05)。この結果、CNアーキテクチャは遂にOut-of-OrderとSuperScalarが実装されることになった。この動き、従来のCentaurの流れからすれば奇異に感じなくもないのだが、例えばNehamiahコアですらパイプラインは17段とかなり深く、さらに機能を増やす度に無駄にパイプラインが増えてゆくのが現状である。ここまで深いと、インオーダ実行といってもパイプラインストールやパイプラインハザードのペナルティは無視できない。であれば、むしろOut of OrderとSuperScalarを組み合わせて性能を確保する方が効率的という判断がなされても不思議ではないところだ。もっと正確に言えば、既存のアーキテクチャで性能を上げるには更に動作クロックを上げるしかなく、そのために更にパイプラインを増やすよりはいっそアーキテクチャを変えたほうが早いということだろう(Photo06)。

Photo05:機能の中には64bit対応も含まれるという。現時点ではデスクトップ向け64bitアプリケーションは事実上存在しないが、CNアーキテクチャが実際に製品で登場する頃にはこうしたものが存在する可能性があることを考慮して、の事かもしれない。

Photo06:ただ理由はどうあれ、アーキテクチャの方向性がIntelやAMDと似たところに向いてきたのは事実。異なる点は、コストパフォーマンスのバランスを取る点が、大幅に低コスト寄りというだけだろう。

実際のアーキテクチャを見てみると、まずフロントエンドのデコード能力は従来の1命令/clock(x86命令)から3命令/clock(同じくx86命令)に強化された。これに伴い、パイプラインが多少増えているのが判る(Photo07)。一方実行ユニットは、7-issueのものに変更された。issueの内訳は整数演算×2、ストア×2、ロード×1、Media(MMX/SSEの事と思われる)×2という構成になっている。ちなみに浮動小数点演算もMediaの方に含まれる(Photo08)。当初は回路の複雑化を避けてOut-of-Order発行、In-Order完了かとも思ったが、図にもあるとおり完全Out-of-Orderの構成になっており、かなり真面目にOut-of-Orderを実装していることが判る。

Photo07:CentaurもAMD同様にL1キャッシュとL2キャッシュを排他構成にしているので、パイプライン中でL1フェッチとL2フェッチが別々のステージに配されているのが判る。

Photo08:実行ユニットは7つになるが、命令の発行と完了は最大で3命令/clockとなっている。

さて、従来C3系では欠点といわれていた浮動小数点演算系に関しても、大幅に手が入った。内部を完全に128bit化(これはSSE3にあわせたものだろう)した上、単精度演算なら同時に4つ、倍精度演算なら2つを実施できるようになっている。もちろんこれはFPUの話だから、動作としてはMIMDになるわけで、IEEE754準拠の80bit浮動小数点を扱うのでない限り、(同一クロックなら)AMDのK7/K8をも凌ぐスピードが出る可能性がある。また加乗算の高速化や除算/平方根を非同期で行えるようにするなど、おそろしく強化されている事が判る(Photo09)。もっともこれは、SSE3の演算ユニットを新設するにあたり、FPUもこれを使って処理するようにしたというのが正確なところ(Photo10)で、巧妙なアイディアと言えよう。AMDやIntelの場合、FPUとSSEユニットは完全に独立しているので、どうしても回路の肥大化に繋がる訳だが、これは最初にFPUがあってSSEを後から足したため、という経緯があっての事。FPUを再設計するのであればこうした方法を取る必要は無いわけで、CNアーキテクチャではこのあたりがドラスティックに改善されそうだ。

Photo09:除算や平方根は値によって処理時間が変わるため、通常のパイプラインと非同期に処理できる仕組みを入れている。

 

Photo10:汎用のFP Adder/Multiplierを用意しておき、通常のFPU命令もSSE2/3のFP命令もこれでまとめて処理する仕組み。SSE2/3に対応して、128bitデータを32/64bitに分割して処理する仕組みがあるから、FPU命令だとMIMD式に動作するわけである。

ということで

とりあえずはここまでがCNアーキテクチャの発表に基づくレポートである。追ってCentaurとのミーティングがあるので、そこで判ったことをまた改めてレポートしたい。

人気記事

一覧

イチオシ記事

新着記事