|
Freescale Technology Forum Japan 2005レポート
|
ここに出てこないものとして、旧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は、コア電圧と動作周波数を下げると更に消費電力を下げる事が可能というあたりは、さすが組み込み向けプロセッサであると言えよう。
●PowerQUICC
次に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を載せ換える必要がないため、これで十分というわけだ。
スペックを見ればわかる通り、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バスを別に設けるという形でコアを構成している。
構成自体は非常にシンプルで、コアに何か拡張を設けているわけではないが、ちょっと面白いのは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 大原雄介]