PowerPCを核に多彩な製品を開発

 IBM社とは別に,PowerPCの製品展開を進めてきたのがFreescale Semiconductor社である。1995年にPowerPC 603をベースとした「MPC603e」を開発。同プロセサは,PowerPCの第2世代品と位置付けられ,「PowerPC G2」とも呼ばれ,Apple社のパーソナル・コンピュータに採用された。同社は,同プロセサのコアを利用したSoC「PowerQUICCファミリ」を提供しているほか,同コアを「e300」という名前でIP化してASICやSoC向けにも展開している。

 続いて同社は,PowerPC 750をベースに,ベクトル演算ユニット「AltiVec」を搭載するなどの改良を図った「MPC7400」を開発。同プロセサは第4世代品に当たる「PowerPC G4」として1999年にApple社のパーソナル・コンピュータに採用された。さらにMPC7400は,「MPC7410」「MPC7447」「MPC7448」と進化を続けた。2004年には,MPC7400コアは,「e600コア」としてIP化されSoC向けにも展開されるようになった。

 これとは別に,機能的にはほぼPowerPC 401と同等のコアが,2003年に「e200コア」として市場に投入している。こちらは「MPC500シリーズ」や「MPC5000シリーズ」といったSoC向けで,CPU単体としては発売されていない。これに続きe300とe600の中間に位置する「e500コア」も2005年に製品ラインアップに加わっている。さらに現在,PowerPC 970と同等のスペックを持つ「e700」の開発が進んでいる。


(画像のクリックで拡大)

普及に向けて標準化の動きも

 このように複数の半導体メーカーがPowerPCの製品展開を進めているが,実は開発メーカーによってアーキテクチャの仕様が一部異なる。PowerPC 601~PowerPC 970あたりまでの時代は,「PowerPC Book 1/2/3」と呼ばれるPowerPCの共通仕様(「PowerPC Classic」と呼ばれる)があったが,これは1999年に「PowerPC Book E」と「PowerPC APUs」に集約された。ところが,これとは別にIBM社は独自に「Power AS」や「PowerPC 2.02 Book1~3」と呼ばれる仕様を定めており,この差異が設計者の間で問題になっていた。

 そこで2004年に,こうした問題を解決し,PowerPCの普及を図るための業界団体「Power.org」が設立され,ここで共通仕様である「POWER Instruction Set Architecture Version 2.03(Power ISA 2.03)」が制定された。今回紹介した中では,IBMのPowerPC 460とPowerPC 970の一部製品,Freescale Semiconductor社のe200,e500,e700,それとAMCCの「Titan」がPowerISA 2.03対応となっており,この他の製品は旧来の仕様に従ったものとなっている。どちらの場合でも,PowerPC命令そのものは,ほとんど互換性がある。ところが,メモリ管理などOSが関係する部分は,ほぼ非互換であることから,アプリケーションの互換性を尊重すると最新プロセサが使えないというちょっと困った事態になっている。