R3000
R3000 は、MIPS Computer Systems が1988年(昭和63年)6月に発表した32ビットRISCマイクロプロセッサである。前身R2000 の後継として、ワークステーションから組み込み機器まで幅広く採用され、とくにソニーの「NEWS」や家庭用ゲーム機「PlayStation」のCPUとして広く知られる。
目次
MIPSの開発経緯
R3000のダイ写真
スタンフォード大学 のジョン・ヘネシー は1981年(昭和56年)、後にRISCの潮流を作る「MIPS」プロジェクトを開始した。1984年(昭和59年)にはMIPS Computer Systems を設立し、1986年(昭和61年)に最初の製品R2000 を出荷。1988年(昭和63年)6月にはその後継となるR3000 を発表した。
R3000 は1.2μmのCMOSプロセスで製造され、チップ面積56mm2に約11万5千個のトランジスタを集積した。動作周波数は20~40MHzで、実際には30MHzや33MHzでの使用が多かった。浮動小数点演算ユニット(FPU)はR3010 という別チップで用意され、密結合して使用された。
MIPS Computer Systemsは自社工場を持たないファブレス 企業であり、設計に専念してR3000の量産はIDT、LSI Logic、NEC、東芝 など複数の半導体メーカーに委託した。各社が独自の改良を加えたため、同じ「R3000」でも製造元によって細部の仕様が異なった。
アーキテクチャの特徴
R3000のレジスタ構成
R3000 は32ビット汎用レジスタを32本備え、演算はすべてレジスタ間で行い、メモリとのやり取りをロード・ストア命令に限定する「ロード・ストア型アーキテクチャ」を採用した。命令長は32ビット固定で、フェッチとデコードが単純化されている。
R3000 のパイプラインは、命令フェッチ(IF)→レジスタ読み出し(RD)→ALU演算・アドレス計算(ALU)→メモリアクセス(MEM)→レジスタ書き込み(WB)の5段で構成される。5個の命令が同時に異なる段階で処理されるため、理想的には1クロックにつき1命令が完了する。
32本の汎用レジスタの役割は、ハードウェアが強制するものではなく、MIPS社が提供するコンパイラ やアセンブラなどのソフトウェアツール群が呼出規約として定めたものである。ほとんどの開発者がこの規約に従ったため、事実上の標準として扱われた。
汎用レジスタの用途
| 名称 | 番号 | 用途 |
|---|---|---|
| $zero | $0 | 常に0(読み出し専用) |
| $at | $1 | アセンブラが一時的に使用 |
| $v0~$v1 | $2~$3 | 関数の戻り値 |
| $a0~$a3 | $4~$7 | 関数への引数 |
| $t0~$t7 | $8~$15 | 一時変数(呼び出し先が保存不要) |
| $s0~$s7 | $16~$23 | 一時変数(呼び出し先が保存必須) |
| $t8~$t9 | $24~$25 | 一時変数(呼び出し先が保存不要) |
| $k0~$k1 | $26~$27 | OSカーネル専用 |
| $gp | $28 | グローバルポインタ |
| $sp | $29 | スタックポインタ |
| $fp | $30 | フレームポインタ |
| $ra | $31 | リターンアドレス |
メモリ管理ユニット(MMU)と例外処理を担うコプロセッサCP0を内蔵し、64エントリのTLBで仮想アドレス変換を行った。コプロセッサは最大4基まで接続可能で、CP1にはFPUR3010 を割り当てた。この空きコプロセッサ領域が、後にPlayStationのGTE実装に活用されることになる。
RISCとCISCの違い
対してRISC(Reduced Instruction Set Computer)は、命令を単純化・固定長化し、演算をレジスタ間に限定することでパイプライン処理を効率化する設計思想である。R3000 はこの思想を徹底し、1命令1サイクルに近い実行効率を実現した点が高く評価された。
性能面でも差は明白だった。同時期のインテル製80386 は25MHz動作時で約7MIPSにとどまり、1命令の実行に平均4.4クロックを要した。一方、同じ25MHzのR3000 は約20MIPSを記録し、クロックあたりの処理効率でおよそ3倍の差があった。
ソニーNEWSワークステーションへの採用
ソニー NEWSワークステーション
ソニーのUNIXワークステーション「NEWS」は、当初モトローラの68020・68030を2基搭載していたが、1990年代に入るとMIPSアーキテクチャへ移行した。1991年(平成3年)発売のNWS-3860は R3000 を、可搬型のNWS-3250はR3000とFPU R3010 を組み合わせて搭載した。

ワークステーション市場では、サン・マイクロシステムズのSPARC やヒューレット・パッカードのPA-RISC などRISC陣営との競争が激しかった。ソニーは複数の半導体メーカーがセカンドソース生産するR3000 を採用することで、供給の安定と価格競争力を確保した。NEWSはその後、R4000系へと移行していく。
ワークステーション市場では、サン・マイクロシステムズのSPARC やヒューレット・パッカードのPA-RISC などRISC陣営との競争が激しかった。ソニーは複数の半導体メーカーがセカンドソース生産するR3000 を採用することで、供給の安定と価格競争力を確保した。NEWSはその後、R4000系へと移行していく。
PlayStationへの採用とソニーとの関係
PlayStation
1994年(平成6年)12月3日、ソニー・コンピュータエンタテインメントは家庭用ゲーム機「PlayStation」を発売した。CPUにはLSI Logic 社が製造したR3000A ベースのカスタムチップ(33.8688MHz)を採用し、リアルタイム3D描画を実現した。

設計上は未使用だったコプロセッサ領域CP2には、ベクトル演算ユニット「ジオメトリエンジン(GTE)」を割り当て、3D座標変換を高速化した。ワークステーション向けNEWSで培われたMIPSアーキテクチャの知見が、家庭用ゲーム機にも生かされた形である。
設計上は未使用だったコプロセッサ領域CP2には、ベクトル演算ユニット「ジオメトリエンジン(GTE)」を割り当て、3D座標変換を高速化した。ワークステーション向けNEWSで培われたMIPSアーキテクチャの知見が、家庭用ゲーム機にも生かされた形である。
PlayStationのメイン基板
① CD-ROMコントローラ/SONY CXD2516Q
② CD DSP/SONY CDX1199BQ
③ SPU(Sound Processing Unit)/SONY CXD2922Q
④ 4Mbit DRAMサウンドメモリ/TOSHIBA TC51V4260BJ-80
⑤ Audio DAC/旭化成 AK4309AVM
⑥ 4Mbit BIOS ROM/Ricoh RS534340F
⑦ Video DAC/SONY CXD2923AR
⑧ 4Mb SGRAM/Samsung KM4216V256G-60×2
② CD DSP/SONY CDX1199BQ
③ SPU(Sound Processing Unit)/SONY CXD2922Q
④ 4Mbit DRAMサウンドメモリ/TOSHIBA TC51V4260BJ-80
⑤ Audio DAC/旭化成 AK4309AVM
⑥ 4Mbit BIOS ROM/Ricoh RS534340F
⑦ Video DAC/SONY CXD2923AR
⑧ 4Mb SGRAM/Samsung KM4216V256G-60×2
⑨ GPU/SONY CXD8514Q
⑩ CPU/SONY CXD8530AQ
⑪ 4Mb EDO DRAM/Samsung KM48V5148J-6×4
⑩ CPU/SONY CXD8530AQ
⑪ 4Mb EDO DRAM/Samsung KM48V5148J-6×4
1994年(平成6年)末から始まった家庭用ゲーム機の32ビット戦争では、ARM 系CPUを採用した3DO や、日立製SH-2 を2基搭載したセガサターン が競合した。R3000A とGTEを組み合わせた実効ポリゴン描画性能は、サターンの公称約90万ポリゴン/秒に対しPlayStationは約150万ポリゴン/秒とされ、優位に立った。3DOはテクスチャマッピングにも難があり、性能面で見劣りした。

仕事で NEWS を使っており、その後に PlayStation を購入したのだが、互換チップとはいえ、こんなに早いタイミングでワークステーション用CPUが自宅に来るとは思わなかった。

1996年(平成8年)発売のNINTENDO64 は、理論値でR3000Aの約4倍にあたるR4300i(93.75MHz、64ビット)を採用し、単純な演算性能ではPlayStationを大きく上回った。しかし、メモリバス幅の狭さとテクスチャキャッシュの小ささが足かせとなり、実際のゲーム画面ではその性能を十分に発揮できなかった。

CD-ROMによる低コストなソフト供給と、実用上十分な3D性能を両立させたPlayStationは、1996年度時点で国内出荷台数がセガサターンを約180万台上回るなど、次世代ゲーム機戦争における最終的な勝者となった。

2000年(平成12年)発売の後継機PlayStation 2でも、R3000A は初代機との互換性を保つための入出力プロセッサ(IOP)として引き続き採用された。メインCPUは新開発の「Emotion Engine」に置き換わったが、R3000 系の設計はソニーのゲーム機の中に長く残ることになった。
仕事で NEWS を使っており、その後に PlayStation を購入したのだが、互換チップとはいえ、こんなに早いタイミングでワークステーション用CPUが自宅に来るとは思わなかった。
1996年(平成8年)発売のNINTENDO64 は、理論値でR3000Aの約4倍にあたるR4300i(93.75MHz、64ビット)を採用し、単純な演算性能ではPlayStationを大きく上回った。しかし、メモリバス幅の狭さとテクスチャキャッシュの小ささが足かせとなり、実際のゲーム画面ではその性能を十分に発揮できなかった。
CD-ROMによる低コストなソフト供給と、実用上十分な3D性能を両立させたPlayStationは、1996年度時点で国内出荷台数がセガサターンを約180万台上回るなど、次世代ゲーム機戦争における最終的な勝者となった。
2000年(平成12年)発売の後継機PlayStation 2でも、R3000A は初代機との互換性を保つための入出力プロセッサ(IOP)として引き続き採用された。メインCPUは新開発の「Emotion Engine」に置き換わったが、R3000 系の設計はソニーのゲーム機の中に長く残ることになった。
海外ワークステーションへの採用
シリコングラフィックス Indigo
R3000 は、シリコングラフィックス のProfessional IRIS・Personal IRIS・Indigoをはじめ、DEC のDECstation・DECsystem、日本電気 のEWS4800・UP4800、タンデムコンピューターズのCyclone/Rなど、内外の主要ワークステーション・サーバーに広く採用された。
R3000 搭載機の一部では、マイクロソフトのWindows NT も動作した。Windows NT 3.1の初期ビルドはMIPS Magnum R3000上での動作が確認されており、後継のR4000 世代では正式にサポートされた。ただし、MIPSアーキテクチャへの対応はWindows NT 4.0を最後に打ち切られている。
アーケード・組み込みでの採用
コナミ System 573基板
アーケード分野では、コナミの音楽ゲーム基板「System 573」がR3000A を採用した。組み込み分野でも、東芝のマイクロコントローラTX3900 やIDTの「RISController」シリーズなど、低コスト機器向けの派生品が数多く開発された。

宇宙用途にも派生品が使われ、放射線耐性を高めたMongoose-V(12MHz)は、冥王星探査機「ニュー・ホライズンズ」の制御用CPUに採用された。ワークステーションからゲーム機、探査機まで、R3000 の設計は幅広い分野に浸透した。
宇宙用途にも派生品が使われ、放射線耐性を高めたMongoose-V(12MHz)は、冥王星探査機「ニュー・ホライズンズ」の制御用CPUに採用された。ワークステーションからゲーム機、探査機まで、R3000 の設計は幅広い分野に浸透した。
後継・派生
MIPS R4000
1989年(昭和64年)には改良版のR3000A が登場し、20~40MHzで動作した。1991年(平成3年)、MIPSは64ビット化したR4000(MIPS III)を発表し、シリコングラフィックス のワークステーションなどに採用が進んだ。以降もR4400・R4600・R10000とMIPSアーキテクチャは進化を続けた。
現在のMIPS
開発元のMIPS Computer Systemsは1992年(平成4年)にシリコングラフィックス に買収され、1998年(平成10年)にMIPS Technologies として独立した。2013年(平成25年)には英Imagination Technologies の傘下に入り、その後Tallwood Venture Capitalやウェーブ・コンピューティングへと所有者が変遷した。
2020年(令和2年)、経営破綻したウェーブ・コンピューティングの技術を継承する形でMIPS社が再出発したが、この際MIPSアーキテクチャ自体の開発は終了し、RISC-V ベースの製品開発へ方針転換した。そして2025年(令和7年)8月、半導体受託製造大手のGlobalFoundries がMIPSを買収し、傘下の一事業として設計・ライセンス事業を続けている。
主要スペック
| 項目 | 仕様 |
|---|---|
| メーカー | MIPS Computer Systems |
| 発表 | 1988年6月 |
| 製造プロセス | 1.2μm CMOS |
| トランジスタ数 | 約115,000 |
| チップ面積 | 56mm2 |
| データ幅 | 32ビット |
| 汎用レジスタ | 32ビット×32本 |
| パイプライン | 5段 |
| 外部キャッシュ | 命令・データ各最大256KB |
| CPUクロック | 20~40MHz(主に30/33MHz) |
| コプロセッサ | 最大4基(MMU/FPUなど) |
| 動作電圧 | 5V単一 |
CPUの歴史
| 発表年 | メーカー | CPU名 | ビット数 | 最大クロック |
|---|---|---|---|---|
| 1970年 | Garrett AiResearch | MP944 (軍用) | 20bit | 375KHz |
| 1971年 | インテル | 4004 | 4bit | 750KHz |
| 1974年 | インテル | 8080 | 8bit | 3.125MHz |
| 1975年 | モステクノロジー | MOS 6502 | 8bit | 3MHz |
| 1976年 | ザイログ | Z80 | 8bit | 20MHz |
| 1978年 | インテル | 8086 | 16bit | 10MHz |
| 1979年 | モトローラ | MC6809 | 8bit | 2MHz |
| 1979年 | ザイログ | Z8000 | 16bit | 10MHz |
| 1980年 | モトローラ | MC68000 | 16bit | 20MHz |
| 1983年 | NEC | V30 | 16bit | 16MHz |
| 1984年 | インテル | 80286 | 16bit | 12MHz |
| 1985年 | インテル | 80386 | 32bit | 40MHz |
| 1985年 | インテル | i960 | 32bit | 100MHz |
| 1985年 | サン・マイクロシステムズ | SPARC | 32bit | 150MHz |
| 1985年 | エイコーン | ARM1 | 32bit | 6MHz |
| 1986年 | MIPS | R2000 | 32bit | 15MHz |
| 1987年 | ザイログ | Z280 | 16bit | 12MHz |
| 1987年 | モトローラ | MC68030 | 32bit | 50MHz |
| 1988年 | MIPS | R3000 | 32bit | 40MHz |
| 1989年 | インテル | 80486 | 32bit | 100MHz |
| 1989年 | インテル | i860 | 32bit | 50MHz |
| 1990年 | モトローラ | MC68040 | 32bit | 40MHz |
| 1991年 | MIPS | R4000 | 64bit | 200MHz |
| 1992年 | DEC | Alpha 21064 | 64bit | 200MHz |
| 1993年 | IBM, モトローラ, Apple | PowerPC 601 | 32bit | 120MHz |
| 1993年 | インテル | Pentium | 32bit | 300MHz |
| 1994年 | IBM, モトローラ, Apple | PowerPC 603 | 32bit | 300MHz |
| 1995年 | サイリックス | Cyrix Cx5x86 | 32bit | 133MHz |
| 1995年 | AMD | Am5x86 | 32bit | 160MHz |
| 1995年 | サン・マイクロシステムズ | UltraSPARC | 64bit | 200MHz |
| 1999年 | IBM, モトローラ | PowerPC G4 | 32bit | 1.67GHz |
| 1999年 | AMD | Athlon | 32bit | 2.33GHz |
| 2000年 | インテル | Pentium 4 | 32bit | 3.8GHz |
| 2001年 | インテル | Itanium | 64bit | 800MHz |
| 2003年 | AMD | Opteron | 64bit | 3.5GHz |
| 2003年 | インテル | Pentium M | 32bit | 2.26GHz |
| 2006年 | SCE,ソニー,IBM,東芝 | Cell | 64bit | 3.2GHz |
| 2006年 | インテル | Core Duo | 32bit | 2.33GHz |
| 2006年 | インテル | Core 2 Duo | 64bit | 3.33GHz |
| 2008年 | インテル | Core i9/i7/i5/i3 | 64bit | 5.8GHz |
| 2017年 | AMD | Ryzen | 64bit | 5.7GHz |
| 2020年 | Apple | M1/M2/M3/M4/M5 | 64bit | 3.49GHz |
| 2023年 | インテル | Core Ultra 9 / 7 / 5 | 64bit | 5.1GHz |
参考サイト
- PlayStation発売:ぱふぅ家のホームページ
- GlobalFoundries Completes Acquisition of MIPS:MIPS
(この項おわり)
