[an error occurred while processing the directive]

Freescale Technology Forum Japan 2005レポート


PowerPCとPowerQUICC

9月8日 開催



 Freescale Technology Forum Japan 2005の基調講演に続き行なわれたTechnical Trackの中から、プロセッサに関係する話題を抜き出してご紹介したい。まず最初はFreescaleのPowerPC製品に関するものである。

●PowerPCのラインナップその1:MPC7447A

 MotorolaはAppleに68Kコアを提供していた関係で、MacintoshがPowerPCベースに移行する際にもIBMと提携して、PowerPCアーキテクチャのCPUを生産している。この提携は単にIBMの設計したコアを生産するというだけではなく、独自にコアを拡張したり強化したりする事も含み、昨今の組み込み向けプロセッサでいうところのアーキテクチャライセンスとでも呼ぶにふさわしいものである。

 例えば、PowerPC G4で搭載されたAltiVecはMotorolaが開発したものであるが、IBMはPowerPC G5でこのAltiVec完全互換の浮動小数点ユニットを搭載する形でこれを後追いサポートするという、ちょっと面白い構図になっていたりする。

 現在のFreescaleが持つCPUポートフォリオは、

・PowerPC:汎用とCommunication、Semi Custom向け
・ARM:携帯電話向け
・STARCORE:DSPアプリケーション向け
・ColdFire:携帯機器など向け

といった4つにまとめられる。このうちARMはWireless Solutionsグループが開発しており、PowerPCとSTARCORE、ColdFireはNetworking & Computing Systemグループが開発を行なっている。

 現在の主力製品はPowerPCコアで、MotorolaはG2(PowerPC 603e)とG3/G4プロセッサを現在生産/販売している。このうちG2にあたるものに関しては新製品の投入は行なわず、今後はSoC(System On Chip)用のコアという形で生き残っていくとしており、またG3についても特に新製品の投入は行なわない。その代わりG4の高速化と高性能化、マルチコア化により性能を上げていくほか、G5に相当する64bit PowerPC ISAを投入することを明らかにした。

ここに出てこないものとして、旧68Kコアも引き続き生産が行なわれているし、ほかにも「MCore」と呼ばれるCPUもあるのだが、これは黒歴史入りしつつあるので割愛 1番右のe300/e500/e600/e700というのは、SoCの際のCPUコア部の名称。それぞれPowerPC G2/G3/G4/G5相当となる

【写真3】MPG7448からは90nm SOIプロセスでの生産となる

 そのG4であるが、現在のラインナップは写真3のようになっている。現在のメインにあたるのが「MPC7447A」という、1.42GHz動作のG4コアであるが、これに続き「MPC7448」という1.7GHz動作の製品を間もなく投入、その後Dual Coreの「MPC8641/D」という製品を予定している。

 まずはMPC7448についてご紹介したいが、その前に簡単にPowerPC G4に触れておきたい。PowerPC G4は'98年に発表され、図1に示すような内部構成を採る。同時発行命令数は2で、AltiVecもSimple/Complex/FPはまとめて同時に1つしか命令が発行できないなど、実行ユニットが多い割には同時処理能力が高くないアーキテクチャであった。

【図1】最初のG4(MPC7400/7410)の内部ブロック構成

 またパイプラインも5段(ALUは4段)とかなり少なめであった。結果として動作速度はそれほど速くなく、最初のPowerPC G4(MPC7400)は350MHz~450MHz程度、0.18μmプロセスを使った「MPC7410」でも600MHz程度だった。

 これに対し、PowerPC G4の3製品目となる「MPC7540」では、内部構造を変更して同時発行命令数を増やすと共に、スーパーパイプラインを採用することで動作速度と性能を向上させた。「V'ger」(ボイジャー)というコード名で呼ばれたこの製品が登場したのが2001年の事で、以後、キャッシュ容量やプロセスの変更などを行なう事で、地道に改良していったのが写真3に示されるラインナップというわけだ。ちなみに写真3ではMPC744xとMPC745xという2系統の製品があるが、MPC754xがV'gerで、MPC744xはこの低消費電力版である。

MPF(Micro Processor Forum) '99のMotorolaの発表資料より こちらも同様 メモリコントローラは内蔵していないので、外部はG4バス(60xバスもしくはMPXバス)と接続する。60xバス/MPXバス共に64bit幅だが、昔のPowerPC G4の資料を読むとバス幅に64bitと128bitの両サポートみたいな話が出てくるのがちょっと謎だ

●PowerPCのラインナップその2:MPC7448

 前置きが長くなったが、MPC7448に話を戻したい。MPC7448はV'gerの延長にある製品で、キャッシュサイズや内部構造などに改良を加えると共に、90nm SOIプロセスを使ったものということになる。内部構造に関しては、

・AltiVec命令の順不同発行をサポート
・メモリサブシステムの強化

といったところで、パイプライン構造などは従来のV'gerのものを踏襲する。ただプロセスの微細化によって動作周波数を上げると共に、キャッシュ容量を増やす事で、EEMBCベンチマークの結果では動作周波数の比以上に性能が上がっている事が見て取れる。

MPC7447Aまでは、VIQ0から命令発行を行なう時のみVIQ1からも命令発行が可能だったが、MPC7448ではVIQ0の状態にかかわらずVIQ1から命令発行が可能である 要するにリクエストバッファの数を増やす事で、ディスパッチユニットのストールの可能性を減らしたということだ
最低周波数が600MHzになっているのは過去の製品との互換性を保つため。実際、完全ピン互換で、消費電力なども大差なく、旧来の製品で性能不足といったケースで簡単にアップグレードできるように配慮したそうである 周波数比ではほぼ1.2:1。従ってこれを超える性能向上は、キャッシュ増量やメモリサブシステムの強化などで成し遂げられたというわけだ(細かい話をすれば、バスが60xバスからMPXバスに変わっているので、これによる影響も無視はできないのだろうが) ちなみにEEMBCベンチマークとは、ここで提供される組み込み向けベンチマーク。組み込み向けらし、特定業界向けSuiteで、ソースの形で提供されるものを各ベンダーがインプリメントして実施する。ちなみにOTBはEEMBCが提供するものをそのまま実行した結果、AltiVecとはベンチマークをAltiVecを使うように書き換えて実施した結果だそうである

 ちなみにMPC7448には標準スペック(L-Spec)と低電圧スペック(N-Spec)の2種類があり、標準品でも30W以下、低電圧スペックでは(動作周波数も落ちるものの)平均11Wまで消費電力が下がる。またN-Specは、コア電圧と動作周波数を下げると更に消費電力を下げる事が可能というあたりは、さすが組み込み向けプロセッサであると言えよう。

N-SpecならそのままPowerBookあたりに使えそうな消費電力で、これだけ見ていればIntelに乗り換える理由など見当たらないほどだが、そういう理由で移行したわけではないということだろう。そもそもFreescaleは今のところPCマーケットに再参入するつもりはなさそうで、PowerMacのファンにはちょっと残念であろう ディレートコンディションでは6.6Wあたりまで消費電力が下がっており、これだとCPUクーラーにファンが不要なレベル。小型の組み込み系機器に採用を考える場合には、この消費電力は重要なファクターになりそうだ

●PowerQUICC

【写真14】「MC68302」の場合、3つのシリアル通信コントローラ(SCC:Serial Communications Controller)しか搭載していないため、厳密にはQUICCにあたらない。そのためICC(Integrated Communication Controller)、もしくはIMP(Integrated Multi-Protocol Processor)などとも呼ばれていたりする。名実共にQUICCが実現されるのは「MC68360」からである
単にCPUコアの周波数以外に暗号化アクセラレータなどサポートする通信回線の種類、そのほかのI/Oインターフェイスの有無などによるバリエーションがある

 次にQUICCシリーズについて紹介したいと思う。QUICCとはQuad Integrated Communication Controllerの略で、4回線分の通信コントローラを示す。ここで言う「通信」は色々である。写真14に主要な製品群を示すが、初期のQUICC(「MC68302」)の場合は、シリアル通信コントローラだった。このMC68302は、ISDN TAなどによく利用された製品で、当時はISDN回線のモデムをQUICCのポートに繋ぎ、一方のEthernetはPCIバス経由で接続するという構成が一般的だった。

 当初のQUICCはMC68000、つまり16bitプロセッサ(Motorolaはこれを32bitプロセッサと称していたが、一般には16bitと扱われる)を汎用プロセッサとして統合していた。これとは別にQUICC用の専用RISCも内蔵するというヘテロジニアスマルチプロセッサ構成だったが、流石にMC68000では処理能力がやや不足する感が否めなかった。

 特に通信回線が高速化するにつれ、上位プロトコルのハンドリングを行なうには明らかに性能不足であった。これを解決するために、汎用プロセッサのCPUコアをPowerPCに置き換えたのがPowerQUICCシリーズである。

 このPowerQUICCシリーズは、統合するコアやQUICC側の機能、アクセラレータの有無などで非常に多くのバリエーションがある。大きく分けるとPowerQUICC I/II/II Pro/IIIの4つに分類されるが、各々の中でかなり多くの製品展開が行なわれているためトータルのモデル数はかなりの数になる。

 ざっと各モデルの主要な製品を以下に示すが、基本的にはどの製品もMicroController、つまりCPUコアのみならずメモリコントローラやI/Oバス、通信ポートなどを集約した製品である。従ってPC用とは異なり、チップセットなどを必要とせずに直接DRAMやフラッシュメモリ、各種インターフェースのPHYチップなどを接続できるようになっているのが特徴だ。CPUを載せ換える必要がないため、これで十分というわけだ。


PowerPC G1を集約した「MPC885」。初期のブロードバンドルータやISDNルータなどで時折見かける PowerPC G2に載せかえ、通信能力も強化した「MPC8248」。業務用ルータ向け I/O能力を強化した「MPC8349E」。CPUコアは同じG2ベースながら動作速度が高くなっており、32bit PCI×2もしくは64bit PCI×1を利用できる
I/O能力をそのままに、QUICCエンジンを強化した「MPC8360E」。Gigabit EthernetもしくはOC-12(622MbpsのATM)を2ポートハンドリング可能。エッジルータや一部のコアルータで活躍 CPUをPowerPC G3ベースのe500コアに交換したのが「MPC8560」。通信性能は概ね「MPC8349E」に等しく、上位レイヤのルーティング処理能力を高めたバージョンといえる 現在開発中の「MPC8548E」。CPU性能、通信性能ともに一回り上のグレードになっている

 スペックを見ればわかる通り、QUICCエンジンの下の通信性能が異様に高いのが特徴で、PowerQUICC II Pro以降は家庭向けのルータには明らかにオーバースペックであり、当然メインターゲットは業務用ルータということになるが、このマーケットでは最近上位レイヤ(L4~L7)での処理性能の拡充が求められている。例えば、それはウィルススキャンだったり、スパムメールの除去であったり、帯域制御だったりと色々だが、こうした処理をルータ側で行なう事が求められるようになり、汎用プロセッサの性能をさらに上げることが必要になってきた。

 FreescaleはこうしたL4以上のルーティングに高いスキルを持ったSeawayを先日買収しており、上位レベルのルーティング向けにもPowerQUICCを積極的に売り出してゆく計画だが、現状では汎用CPUの能力が足りない。

 そこでFreescaleが投入するのが、MPC8641/Dである。上述のようにG5互換プロセッサを開発してはいるが、これでリニアに性能が上がるとは簡単に言い切れないし、登場までまだ時間がかかる。だが、上に示すような処理はマルチスレッド化が容易だから、マルチプロセッサ構成を取る事で性能を上げやすい。そこでG4コアをDualにして対応しよう、という方向性を明確に打ち出した。

PowerQUICCのロードマップ 4本のGigabit Ethernetコントローラを持ち、PCI ExpressやSerial RapidI/Oを搭載するなど、通信能力も非常に高い。従ってそれに見合うだけの汎用CPU性能も必要であるが、手持ちのCPUコアでは賄いきれないからDual構成にしよう、というアプローチだ

●MPC8641/D

 FreescaleはDual Coreを選択した理由として「電力効率の高いプロセッシングが必要」というのは、よく見かける議論である。MPC8641/Dではe600コア、つまりMPC7448相当のコア2つを集積し、これを(内部の)MPXバスで繋ぎ、その下にI/Oバスを別に設けるという形でコアを構成している。

この議論はPCの世界でもよく出てくる話であって、要するに周波数を2倍に増やすにはパイプラインを微細化したり電圧を上げたりといった対応が必要で、しかも90nm世代ではリークが馬鹿にならないため、動作周波数を上げるとそれをはるかに超える勢いで消費電力が増加してしまう、という議論 「MPC7447A」相当で無い理由は、L2キャッシュがECC付きの1MBな事。1.8GHzまでを狙うためには、MPC7447Aでは追いつかないという事情もある

 構成自体は非常にシンプルで、コアに何か拡張を設けているわけではないが、ちょっと面白いのはASMP(非対称型マルチプロセッサ)の構成をサポートすること。通常オンチップのDual CoreではSMP(対称型マルチプロセッサ)が普通である。というのはメモリバスを共用しているから、2種類のOSを動かすのは難しい(お互いのOS間でのメモリの排他利用メカニズムが無い)からだ。ところがMPC8641/Dでは、コアごとに別々のMMUを持つことで、ASMPの構成を取る事が可能になっている。

 メモリインターフェイスもまたちょっと面白い。2チャンネルのメモリバスで各々4バンクというのは普通だが、DDR/DDR2以外にFCRAM/FCRAM2をサポートするあたりが、いかにもネットワーク機器向け製品という感じである。

 まだ開発中でプレシリコンも無いためか、性能や消費電力に関しては今回は提示されなかったが、それでもこれを取り上げた理由は、FreescaleのDual Core製品はQUICC向けのみがアナウンスされ、汎用製品に関しては今のところ全くアナウンスが無い(計画があるかどうかもわからない)ため。間違いなくCPU性能が必要と見られるQUICCに重点的に高機能製品を投入するというアプローチは、もうFreescaleが汎用プロセッサベンダーでは無い事を明確に物語っているとも言えるだろう。

もちろんこの場合、SuperVisorにあたるものが各々のMMUの設定を行なう必要があると思われる FCRAMとは東芝と富士通が共同開発したもので、DRAMに比べてレイテンシが低いのが特徴的。FCRAMはDDRで、FCRAM2はQDRでデータ転送を行なう方式

□フリースケール・セミコンダクタ・ジャパンのホームページ
http://www.freescale.co.jp/
□関連記事
【9月9日】Freescale Technology Forum Japan 2005レポート
http://pc.watch.impress.co.jp/docs/2005/0909/ftf01.htm

(2005年9月12日)

[Reported by 大原雄介]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c) 2005 Impress Corporation, an Impress Group company.All rights reserved.