R10000
一方向ではあるが、それぞれもう一つのR18000と共有可能である(ただし、2プロセッサの間で多重化して使用)。また、従来との互換性のために SysADバス(R4000)やAvalancheバス(R10000)も利用できる。
1MBの4ウェイ・セットアソシアティブの二次キャッシュをチップ上に搭載し、2MBから64MBの三次キャッシュ(SDR SSRAM、DDR SSRAM、DDR SDRAM)を外付け可能。また、三次キャッシュのタグはそれだけで400KBになるが、これをチップ上に搭載してレイテンシを小さくすることになっていた。三次キャッシュを接続するバスは144ビットで、128ビットはデータ用、8ビットはECC用である。三次キャッシュのクロックレートは変更可能。
NECが0.13μmCMOSプロセスで製造予定だった。電源電圧は1.2Vとし、消費電力と発熱を抑える予定だった。
SGI - ワークステーションの Indigo2 と O2、サーバの Challenge、スーパーコンピュータの Origin 2000 など。
NEC - ワークステーションのEWS4800、サーバのUP4800、Express5800、スーパーコンピュータの Cenju-4
Siemens Nixdorf - Unix系サーバ
タンデムコンピューターズ - フォールトトレラント・サーバ NonStop Himalaya
R10000をベースとしてそれを拡張した派生品が次々と登場した。SGIが高性能計算 (HPC) システムに多数実装することを考慮し、R12000以降のマイクロプロセッサは消費電力が15Wから20W以下になるよう動作周波数が低めに抑えられている。
整数演算ユニットには、整数レジスタファイル、3本のパイプライン(整数演算用2本、ロード/ストア用1本)がある。整数レジスタファイルには64ビット幅のレジスタが64本あり、うち32本がアーキテクチャ上のレジスタで、残る32本はリネーミング用である。レジスタファイルには読み取りポートが7つ、書き込みポートが3つある。2つの整数演算パイプラインには加算器と論理演算部がある。ただし、バレルシフタと分岐予測用ハードウェアがあるのは1本目のパイプラインだけで、2本目は乗算器と除算器へのアクセスに使用する。乗算器はパイプライン化されていて、32ビットではレイテンシが6サイクル、64ビットでは10サイクルとなっている。除算器はパイプライン化されておらず、1ビットあたり1サイクルかかる引き放し除算を採用しているので、32ビットでは35サイクル、64ビットでは67サイクルのレイテンシとなる。
R10000は当時としては大きなキャッシュをチップに搭載していた。命令キャッシュ32KBとデータキャッシュ32KBである。命令キャッシュは2ウェイ・セットアソシアティブで、ラインサイズは128バイトである。命令は部分的にデコードされて命令毎に4ビットの情報を付与されてキャッシュに格納される。
データキャッシュはデュアルポートの2ウェイ・インターリーブ式である。16KBのバンクが2つあり、それぞれが2ウェイ・セットアソシアティブ方式となっている。ラインサイズは64バイトで、書き込みに対してはライトバック・プロトコルを採用。仮想インデックス・物理タグ方式なので、同一サイクル中にCPUからキャッシュにアクセスしつつ、二次キャッシュとのキャッシュコヒーレンシを保つことができる。
外付けの二次キャッシュは命令・データ統合型で、512KBから16MBまでの容量を接続可能。一般的な同期SRAM (SSRAM) を使用する。専用の128ビットバスで接続し、9ビットのECCで誤りを訂正できる。このキャッシュとバスはR10000と同じクロックで駆動され、最大周波数は200MHzである。200MHzではバスのピーク帯域幅は3.2GB/sとなる。2ウェイ・セットアソシアティブ方式だが、ピン数を減らすためにR10000側がアクセスするウェイを予測している。