R3000
R3000 は、4つのコプロセッサをサポート可能なアーキテクチャとなっているが、実際に使っているのはふたつであり、CP0 としてメモリ管理ユニットと例外処理ユニットを内蔵し、CP1 として接続された FPU を制御する。後継アーキテクチャでは FPU の拡張命令を CP1X として従来 CP3用とされていたオペコード表に割り当てている。命令長は32ビット固定となっていて命令フェッチとデコードを単純化している。CPUのパイプラインは5段になっていて、実行ユニットとしてALU以外に、乗除算ユニットなどを持っている。CPUの汎用レジスタは32ビット×32本で、他に乗除算の結果を格納する専用レジスタ(32ビット×2本)とプログラムカウンタがある。
CP0 は、以下のような機能を持つ。
ユーザモード、カーネルモードの設定
例外発生時の原因情報を保持
メモリ管理機能。MIPSアーキテクチャでは仮想物理アドレス変換のためのTLBを直接ソフトウェアで制御するようになっており、そのための機能を実装している。TLBは64エントリのCAM(連想メモリ)であり、各エントリが4Kバイトのページをマップする。そのうち 8エントリは固定エントリと呼ばれ、OSが固定的に使用し、それ以外はランダムエントリとして無作為に入れ替えて使用する。OSのカーネルはTLBを操作する際に、TLBを使用しない空間(下記)で動作するか、固定TLBエントリでマップされた空間内で動作しなければならない。
R3000はMIPS I命令セットアーキテクチャ (ISA) のマイクロプロセッサで、ミップス社が開発し、1988年6月にリリースした。MIPSアーキテクチャとしては2つ目の実装であり、R2000の後継である。
オリジナルのR3000 はCPUと、メモリ管理および例外処理を担当するCP0と呼ばれる部分から構成される。またFPUはR3010という別チップであり、R3000と密に結合して使用される。キャッシュメモリは内蔵していないが、命令キャッシュとデータキャッシュのコントローラを内蔵し、それぞれ256KBまでの1次キャッシュを接続することができた。動作周波数は20MHzから最大で40MHzだが、主に30MHz、33MHzで使用されることが多い。1.2μmのCMOSプロセスで製造され、56 mm のチップサイズに11万5千個のトランジスタを集積している。
ミップス社は設計のみを行い、製造はメーカーに任せていた。R3000 を製造したメーカーとしては、IDT、LSIロジック、NEC、シーメンス、東芝などがある。SGIなどのワークステーションやサーバに使用された。また、派生品がPlayStationのプロセッサとしても使用され、組み込みシステムにも多く使われた。