R10000は、MIPS IV命令セットアーキテクチャを基にした
RISCマイクロプロセッサで、1996年に
ミップス・テクノロジーズ(MTI)によって開発されました。開発コード名は「T5」で、主にChris RowenとKenneth C. Yeagerがデザインを手掛けました。このプロセッサは、ハイエンド市場では
R8000の後継として、またR4400の後継として位置づけられました。MTIはファブレス企業であったため、製造は
日本電気(NEC)や
東芝が担当しました。
歴史
R10000は1996年1月に150MHzと200MHzのバージョンが登場しましたが、製造上の課題により、大量生産が始まったのは同年後半となりました。ただし、200MHz版は供給量が少なく、価格は高騰し、3,000ドルに達しました。また、同年9月にSGIはNECが製造したR10000に電流過多の問題があることを発表し、約1万個がリコールされる事態に至りました。1997年には0.25μmプロセスでの製造が開始され、250MHz動作に対応した新しいバージョンが提供されました。
採用例
R10000は様々なシステムで採用されました。SGIのワークステーションであるIndigo2やO2、サーバのChallenge、さらには
スーパーコンピュータのOrigin 2000などがその代表です。NECでは、EWS4800ワークステーションや
UP4800、
Express5800サーバ、さらにはCenju-4
スーパーコンピュータに搭載されました。他にも、Siemens NixdorfのUnix系サーバや、タンデムコンピューターズのフォールトトレラントサーバであるNonStop Himalayaでも使用されました。
詳細
R10000は4ウェイ・スーパースケーラ設計を採用し、
レジスタ・リネーミングと
アウト・オブ・オーダー実行機能を実装しています。これにより、命令キャッシュから1サイクルあたり最大4命令を同時にフェッチし、特定の演算ユニットに適切に振り分けることが可能です。命令キューは動的依存関係に基づいて命令を発行し、全体で1サイクルに最大5命令を同時に処理できます。
整数演算のための整数演算ユニットには、多数のパイプラインとレジスタが含まれています。
加算器や論理演算部に加えて、異なる用途に応じたハードウェアが配置されています。浮動小数点演算に関しても高いパフォーマンスを発揮し、複雑な計算が要求されるアプリケーションに対して十分です。
また、R10000は大容量のキャッシュを搭載しており、命令キャッシュとデータキャッシュ共に32KBを装備しています。キャッシュは効率的に設計されており、システム全体のパフォーマンス向上に寄与しています。物理アドレス空間は最大40ビット、仮想アドレス空間は44ビットの範囲で、1TBの
記憶装置をアドレッシング可能です。
システムバスと製造
R10000のシステムバス「Avalanche bus」は64ビット構成で、最大帯域幅は800MB/sですが、実績としては640MB/sにとどまっています。このプロセッサは最大4プロセッサによる多重処理をサポートし、より大規模なシステム構築に対応できます。製造には680万個のトランジスタが使用され、チップには0.35μmプロセスや599ピンのセラミックパッケージが採用されています。
派生品
R10000を基にした派生品としては、R12000、R14000、R16000などが存在し、それぞれ設計や処理能力が向上しています。特にR16000は、キャッシュサイズの増加や動作周波数の向上が実施され、ハイパフォーマンスのニーズに応える形で進化しました。
R10000は、MIPSアーキテクチャにおける重要な
マイクロプロセッサの一つであり、その性能と設計は多くのコンピュータシステムの基盤として利用されました。