PowerPC G3

PowerPC G3（パワーピーシー・ジースリー）はPowerPCの第3世代マイクロプロセッサを呼ぶものとして、Apple Computerによって使われた名称である。主にAppleの製品に採用されていたPowerPC 75xシリーズを指すが、組み込み用途などに使われるPowerPC 74xを含むこともある。 当初はMacintosh互換機用として互換機メーカーに供給されたが、後にMacintoshコンピュータのCPUとしても、97年発売のPower Macintosh G3に採用された。PowerPC G3の名称が使われたのは、この時からである。引き続いて、PowerBook G3、iMac、iBookなどに広く採用され、2003年にiBook G4が発売されるまで6年間採用され続けた。 2006年のAppleの路線変更（MacintoshのCPUをPowerPC系からIntel系に変更）により、PowerPCは組込み用途専用の製品となった。IBMは2009年よりPowerPC G3シリーズをPowerPC 400系と統合し、PowerPC 476FPを発表した。 PowerPC G3はPowerPC 603e及びPowerPC 603evの発展系として開発された。開発はApple Computer、IBM、モトローラの共同で行われた。 CPUバスは60xバスで、パッケージはCBGAまたはPBGA。発展系であるため、既存のPowerPCと完全な互換性がある。 PowerPC G3ではベースとなるPowerPC 603eの2+1(1は分岐)命令実行のスーパースカラプロセッサコアをベースに、以下の様な改良を加えた。 バックサイド・キャッシュ・アーキテクチャーの採用（750/750Lのみ） これは、従来システムバス上に置かれていた外部のL2キャッシュを、専用の高速なバスによってCPUと直接繋げることにより、L2キャッシュへのアクセスを高速化させるというものである。また、G3ではL2キャッシュのタグもプロセッサに内蔵しており、高速なキャッシュヒットの検出が可能であった。この仕組みの採用により、PowerPC G3は従来型に比べ効率的な処理が可能となり、大幅な性能向上が見られた。 内蔵するL1キャッシュを64KBに倍増 603eではデータ16KB+命令16KBの合計32KBであったが、G3では倍増された。これは604eと同じ容量である。 一次命令キャッシュの帯域を16バイト/サイクルに倍増 603eではL1命令キャッシュの帯域が8バイト/サイクルで、コアには1サイクル当たり2命令しか供給できなかった。603eのコア自体は3-way (2命令+1分岐) のスーパースカラであったが、この制限によりコアの性能を生かしきれていなかった。 整数演算ユニットを2つに増加 乗除算等のレイテンシが長い命令以外を実行可能な演算器を新たに追加し、整数演算ユニットの数は2個になった。これによって多くの整数演算命令について2命令を同時に実行することが可能になり、大幅に性能が向上した。この改良により、整数演算命令同士を並べ替えてアウト・オブ・オーダー実行することも可能になったが、各整数演算ユニットに備えられているリザベーション・ステーションは1エントリであり、効果は限定的である。 動的分岐予測機構の採用 603eではPowerPC命令のヒントを利用した静的分岐予測機構のみ実装されていたが、G3では動的分岐予測 (2レベル予測) も行われる。G3の動的分岐予測は604のものとは異なり、604では分岐先の予測にBTAC (Branch Target Address Cache) と呼ばれる分岐先アドレスのキャッシュを用いていたのに対し、G3ではBTIC (Branch Target Instruction Cache) と呼ばれる分岐先の命令 (2命令分) を直接キャッシュする仕組みが用いられている。分岐命令がBTICにヒットすると、分岐先の命令を命令キャッシュからではなくこのBTICから直接供給することが可能であり、1サイクル早く命令キューに分岐先の命令を入れることができる。 ハードウェアによるTLBミスの処理 603シリーズではTLBミス時に例外が発生し、OSがTLBを更新する必要があったが、G3プロセッサでは604シリーズと同様にプロセッサが自動的にTLBを更新する。これによってTLBミス時のペナルティが減少している。 当初はハイエンドのPowerPC 604の後継として、"Mach5"の名で知られる、インラインキャッシュを搭載したPowerPC604evが開発されており、PowerPC 750/740は、互換機メーカー向けの安価なマイクロプロセッサとして供給されていた。PowerPC750の性能がMach5を上回ることが明らかになったため、Apple Computer自身も採用し、その際に新たにPowerPC G3と命名される。ほぼ同時期にAppleは互換機戦略を撤回している。 PowerPC G3は以下の様な優れた特徴を備えていた。 サイズは25mm角または27mm角と小型である 1クロックあたりの処理能力が高い 低消費電力 安価 特に低消費電力は大きな特徴で、例えば銅配線のPowerPC 750Lの場合、500MHzでの平均/最大消費電力は、6.0W/7.5Wであった。このためPowerPC G3はノートパソコンにも動作クロックをほとんど下げることなくそのまま搭載され、据え置き型と同等の処理能力を与えることに成功した。また、安価であったため、iMacなどの低価格なパソコンにも採用された。 一方で、L2キャッシュなどの影響を考慮しない、純粋な演算能力の比較ではPowerPC 604がG3を圧倒する。604シリーズを全面的に越えるのは、その強力な浮動小数点ユニットを採用したG3の後継のPowerPC G4が登場してからである。 2023年現在、「PowerPC 750シリーズ」は、IBM認定のもとロチェスターエレクトロニクスが再生産をサポートしている。 モトローラが180nm で製造、200〜300MHzで動作する。L2キャッシュは外部 IBMが製造した銅配線版、300〜500MHzで動作する。 IBMが180nm SOIで製造、 L2キャッシュ256KBを内蔵、CXは350〜550MHzで、CXeは500〜700MHz動作する。 IBMが180nm SOIで製造、ニンテンドーゲームキューブ用に開発されたもの（PowerPC 750CXeをベースに倍精度浮動小数点数演算対応SIMDを追加した設計） 2002年から出荷、IBMが130nm SOI, low-k誘導体で製造、L2キャッシュ512KB、消費電力は800MHz動作時で3.6W。 IBMが90nm SOIで製造、200MHz FSB対応、L2キャッシュ1MB、1.1GHzまで IBMが90nm SOIで製造、L2キャッシュ256KB、1GHzまで。消費電力は400MHzで1.7W、900MHzで5.6Wにまで省電力化されている。64ビットの倍精度浮動小数点レジスタを利用して単精度のSIMD演算を行う命令が追加されている等、いくつかの機能が追加されている。 IBMが90nm SOIで製造、任天堂のWii用に開発されたもの（Gekko互換であり、PowerPC 750CLがベースと思われるが詳細は非公開） IBMが45nm SOIで製造、任天堂のWii U用に開発されたもの（Broadway互換） 組み込み用途向け、L2キャッシュなし PowerPC 750をベースに、耐放射線仕様、 -55℃から125℃での動作保証を付加したマイクロコントローラ。宇宙での使用を想定しRAD6000の後継として開発され、マーズ・リコネッサンス・オービター、パーサヴィアランスをはじめとする宇宙探査機に搭載される。 PowerPC G4 PowerPC 970 IBM POWER [脚注の使い方] ^ “【製造中止品継続供給】IBMPowerPC750シリーズ | Rochester Electronics, Ltd. - Powered by イプロス”. Rochester Electronics, Ltd.. 2023年2月21日閲覧。 ^ “PowerBook 3400後継のKangaは Arthurチップ搭載で10月発表”. web.archive.org (1998年12月6日). 2022年2月12日閲覧。 ^ “IBM releases next PowerPC roadmap” (英語). Macworld. 2023年2月21日閲覧。 ^ “IBM、1GHz動作のPowerPC 750FXを2002年後半に発売”. pc.watch.impress.co.jp. 2023年2月21日閲覧。 ^ Hagedoorn, Hilbert. “NASA Perseverance rover 200 MHZ CPU costs $200K” (英語). Guru3D.com. 2021年3月3日閲覧。