R4600は、MIPS III命令セットアーキテクチャ(ISA)を基にした
マイクロプロセッサであり、Quantum Effect Devices(QED)によって設計されました。その開発コード名は「Orion」であり、
IDT、
東芝、日本鋼管(NKK)などの半導体企業が製造を担当しました。
このプロセッサは、ローエンドのワークステーション市場と高性能な
組み込みシステムのニーズに応える形で開発されました。特に、
シリコングラフィックスのIndyワークステーションや、DeskStation TechnologyのWindows NTワークステーションに使用されたことで、その性能が広く認知されました。特にIndyは、低価格でありながら高い整数演算性能を備え、多くのユーザーに受け入れられました。また、
シスコシステムズがルーターに、
キヤノンがプリンターにR4600を採用するなど、多岐にわたる応用例が見られます。
歴史
R4600の開発は
IDTによって進められ、最初の試作品が1993年8月に完成しました。100MHz版は同年の10月に発表され、以降1994年3月には133MHz版も発表されました。これらのプロセッサは、0.65μm CMOSプロセスで製造され、電源電圧は5Vでした。その後、NKKからもNR4600として100MHz版が発表され、こちらは0.5μmプロセスの技術で製造され、電源電圧は3.3Vに変更されました。
技術的特性
R4600は、その設計が比較的単純であるため、1サイクルに最大1命令を整数パイプラインまたは浮動小数点演算ユニット(
FPU)に発行する機能を持っています。整数演算命令の多くは1サイクルで実行可能ですが、乗算や除算といった複雑な演算にはより多くのサイクルが必要です。例えば、乗算では32ビットでも64ビットでも8サイクルのレイテンシがあり、除算は32ビット版で32サイクル、64ビット版では61サイクルもの時間を要します。
FPUは非パイプライン化されているため、チップのサイズとコストは低減されていますが、その結果として浮動小数点演算性能は制約されました。それでも、ローエンドコンピュータや組み込み用途には十分な性能を持っていました。単精度と倍精度の加算では、それぞれ4サイクルで処理が行われますが、特に除算に関しては単精度が32サイクル、倍精度では61サイクルと時間がかかります。
キャッシュメモリについては、一次キャッシュが命令とデータそれぞれ16KBを持ち、2ウェイセットアソシアティブ方式で設計されています。二次キャッシュは外部接続可能ですが、R4600自体には制御に必要なハードウェアが含まれていないため、外部のカスタム
ASICなどが必要になります。これにより、SysADバスとCPUの間に二次キャッシュが配置される設計となります。SysADバスの幅は64ビットで、最大50MHzの動作が可能で、最大で400MB/sの帯域幅を実現しています。さらに、R4600は
マルチプロセッシングをサポートしていないため、各種クロック信号を外部から供給する必要があります。
派生品
1994年10月には、R4600の派生品であるR4650が発表され、
デジタル信号処理(DSP)向けの
固定小数点数演算用命令が追加されました。さらに1995年11月には、R4650の廉価版であるR4640が発表され、外部インタフェースが64ビットから32ビットに縮小されるなどコストダウンが図られました。
1997年にはそれぞれ150MHz、180MHz版が登場し、R4640が
WebTVの
WebTV Plusに、R4650がナムコのアーケードゲーム基板SYSTEM23に採用されるなど、実運用でも使用されました。さらに、R4700は0.5μmのCMOSプロセスに移行したバージョンとして、100MHzから200MHzの間で複数のバリエーションが提供されたことで、さらなる性能向上が図られました。
R4600はその設計と性能が多くのシステムで評価され、プロセッサの歴史に一つのマイルストーンを刻んだ存在となりました。