NEC VR10000
R10000 は、MIPS IV 命令 めいれい セットアーキテクチャ (ISA) を実装 じっそう したRISC マイクロプロセッサ で、当時 とうじ シリコングラフィックス (SGI) の子会社 こがいしゃ となっていたミップス・テクノロジーズ (MTI) が開発 かいはつ した。開発 かいはつ コード名 めい は "T5"。チーフデザイナーは Chris Rowen と Kenneth C. Yeager。R10000のマイクロアーキテクチャ は ANDES(Architecture with Non-sequential Dynamic Execution Scheduling、非 ひ 逐次 ちくじ 的 てき 動的 どうてき 実行 じっこう スケジューリング・アーキテクチャ)と名付 なづ けられている[ 1] 。ハイエンドではR8000 、それ以外 いがい ではR4400 の後継 こうけい として、それらに取 と って代 か わった。MTIはファブレス企業 きぎょう であり、実際 じっさい の製造 せいぞう は日本電気 にほんでんき (NEC) と東芝 とうしば が行 おこな った。R4000/R4400以上 いじょう に設備 せつび 投資 とうし がかかるため、それまでMIPSアーキテクチャ のマイクロプロセッサを手 て がけていたIDT などの半導体 はんどうたい 企業 きぎょう はR10000を製造 せいぞう しなかった。
1996年 ねん 1月 がつ に150MHz版 ばん と200MHz版 ばん が登場 とうじょう したが、製造 せいぞう 工程 こうてい の問題 もんだい があり、大量 たいりょう 生産 せいさん が可能 かのう になったのは同年 どうねん 後半 こうはん である。200MHz版 ばん の供給 きょうきゅう 量 りょう は1996年 ねん 末 まつ まで少 すく ないままで、結果 けっか として価格 かかく は3,000ドルとなっていた[ 2] 。
1996年 ねん 9月 がつ 25日 にち SGIは、NECが同年 どうねん 3月 がつ から7月 がつ 末 まつ まで製造 せいぞう したR10000に電流 でんりゅう が流 なが れすぎるという問題 もんだい があり、動作 どうさ 中 ちゅう にシステムがダウンする虞 おそれ があると発表 はっぴょう 。SGIは出荷 しゅっか 済 ず みの1万 まん 個 こ のR10000のリコールを実施 じっし し、両社 りょうしゃ は多大 ただい な損失 そんしつ を蒙 こうむ った[ 3] [ 4] 。
1997年 ねん 、0.25μ みゅー mプロセスでの製造 せいぞう が始 はじ まり、250MHzでの動作 どうさ が可能 かのう となった。
R10000は4ウェイ・スーパースケーラ 設計 せっけい で、レジスタ・リネーミング とアウト・オブ・オーダー実行 じっこう 機能 きのう を実装 じっそう している。それまでのR4000などのMIPSマイクロプロセッサは単純 たんじゅん な設計 せっけい が多 おお かったが、R10000の設計 せっけい はそれらとは一線 いっせん を画 かく すものだった。
R10000は命令 めいれい キャッシュ から1サイクルに4命令 めいれい をフェッチする。命令 めいれい をデコード するとその種類 しゅるい によって、整数 せいすう 演算 えんざん 、浮動 ふどう 小数点 しょうすうてん 演算 えんざん 、ロード/ストアそれぞれの命令 めいれい キュー に入 い れる。デコード部 ぶ の補助 ほじょ として、命令 めいれい キャッシュに命令 めいれい を格納 かくのう する際 さい に事前 じぜん に一部 いちぶ デコードし、命令 めいれい 毎 ごと に4ビットの情報 じょうほう を付加 ふか しており、その命令 めいれい をどの演算 えんざん ユニットで実行 じっこう すればよいかがすぐわかるようになっている。また、命令 めいれい のフォーマットを再 さい 構成 こうせい してデコード処理 しょり を最適 さいてき 化 か している。
各 かく 命令 めいれい キューはデコーダから最大 さいだい 4命令 めいれい まで受 う け付 つ けることができ、ボトルネック にならないようにしている。命令 めいれい キューは、オペランド やリソースの動的 どうてき 依存 いぞん 関係 かんけい を考慮 こうりょ して、実行 じっこう できるものから対応 たいおう する演算 えんざん ユニットに命令 めいれい を発行 はっこう する。ロード/ストア命令 めいれい キュー以外 いがい は、1サイクルに最大 さいだい 2命令 めいれい を演算 えんざん ユニットに対 たい して発行 はっこう できる。ロード/ストア命令 めいれい キューは1サイクルに1命令 めいれい しか発行 はっこう できない。全体 ぜんたい として1サイクルに最大 さいだい 5命令 めいれい を発行 はっこう できる。
整数 せいすう 演算 えんざん ユニットには、整数 せいすう レジスタファイル 、3本 ほん のパイプライン (整数 せいすう 演算 えんざん 用 よう 2本 ほん 、ロード/ストア用 よう 1本 ほん )がある。整数 せいすう レジスタファイルには64ビット幅 はば のレジスタが64本 ほん あり、うち32本 ほん がアーキテクチャ上 じょう のレジスタで、残 のこ る32本 ほん はリネーミング用 よう である。レジスタファイルには読 よ み取 と りポートが7つ、書 か き込 こ みポートが3つある。2つの整数 せいすう 演算 えんざん パイプラインには加算 かさん 器 き と論理 ろんり 演算 えんざん 部 ぶ がある。ただし、バレルシフタ と分岐 ぶんき 予測 よそく 用 よう ハードウェアがあるのは1本 ほん 目 め のパイプラインだけで、2本 ほん 目 め は乗算 じょうざん 器 き と除算 じょざん 器 き へのアクセスに使用 しよう する。乗算 じょうざん 器 き はパイプライン化 か されていて、32ビットではレイテンシが6サイクル、64ビットでは10サイクルとなっている。除算 じょざん 器 き はパイプライン化 か されておらず、1ビットあたり1サイクルかかる引 び き放 はな し除算 じょざん を採用 さいよう しているので、32ビットでは35サイクル、64ビットでは67サイクルのレイテンシとなる。
FPU には、加算 かさん 器 き 、乗算 じょうざん 器 き 、除算 じょざん ユニット、平方根 へいほうこん 計算 けいさん ユニットの4つの演算 えんざん ユニットがある。加算 かさん 器 き と乗算 じょうざん 器 き はパイプライン化 か されているが、除算 じょざん ユニットと平方根 へいほうこん 計算 けいさん ユニットはパイプライン化 か されていない。加算 かさん 器 き と乗算 じょうざん 器 き はレイテンシが3サイクルだが、サイクル毎 ごと に新 あら たな命令 めいれい を受 う け付 つ けられる。除算 じょざん ユニットは、単精度 たんせいど ではレイテンシが12サイクル、倍精度 ばいせいど では19サイクルとなっている。
平方根 へいほうこん 計算 けいさん ユニットは、平方根 へいほうこん と平方根 へいほうこん の逆数 ぎゃくすう を求 もと める命令 めいれい を実行 じっこう する。平方根 へいほうこん 命令 めいれい のレイテンシは18サイクル(単精度 たんせいど )または33サイクル(倍精度 ばいせいど )である。平方根 へいほうこん 命令 めいれい は20サイクル(単精度 たんせいど )または35サイクル(倍精度 ばいせいど )に1回 かい の間隔 かんかく で発行 はっこう 可能 かのう 。平方根 へいほうこん の逆数 ぎゃくすう はさらにレイテンシが長 なが く、単精度 たんせいど では30サイクル、倍精度 ばいせいど では52サイクルとなる。
浮動 ふどう 小数点 しょうすうてん レジスタファイルには64ビット幅 はば のレジスタが64本 ほん あり、うち32本 ほん がアーキテクチャ上 じょう のレジスタ、残 のこ る32本 ほん がリネーミング用 よう レジスタである。加算 かさん 器 き には専用 せんよう の読 よ み取 と りポートと書 か き込 こ みポートがあるが、乗算 じょうざん 器 き と除算 じょざん ユニットと平方根 へいほうこん 計算 けいさん ユニットはポートを共有 きょうゆう する。
除算 じょざん ユニットと平方根 へいほうこん 計算 けいさん ユニットはSRT除算 じょざん アルゴリズムを採用 さいよう している。MIPS IV ISA には積 せき 和 わ 演算 えんざん 命令 めいれい がある。R10000では乗算 じょうざん 器 き から加算 かさん 器 き へのバイパスがあり、レジスタファイルを経由 けいゆ せずに乗算 じょうざん 結果 けっか を加算 かさん 器 き パイプラインに送 おく り込 こ める。したがって積 せき 和 わ 演算 えんざん 専用 せんよう ユニットは持 も たないが、レイテンシは4サイクルとなっている。
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側 がわ がアクセスするウェイを予測 よそく している。
MIPS IV は64ビット・アーキテクチャだが、コスト削減 さくげん のためR10000の仮想 かそう アドレス空間 くうかん も物理 ぶつり アドレス空間 くうかん も64ビット全部 ぜんぶ を実装 じっそう していない。それでも物理 ぶつり アドレスは40ビット、仮想 かそう アドレスは44ビットで、1TBまでの記憶 きおく 装置 そうち をアドレッシング可能 かのう で、仮想 かそう 記憶 きおく は16TBにもなる。
R10000のシステムバス は Avalanche bus と呼 よ ばれる64ビットバスで、最高 さいこう 100MHzで駆動 くどう 可能 かのう である。アドレスバスとデータバスを多重 たじゅう 化 か していてアドレスの転送 てんそう にサイクルを使用 しよう するため、理論 りろん 上 じょう の最大 さいだい 帯域 たいいき 幅 はば は800MB/sだが、実際 じっさい のピーク帯域 たいいき 幅 はば は640MB/sとなる。
システムインタフェース・コントローラは、最大 さいだい 4プロセッサまでの密 みつ 結合 けつごう ・対称 たいしょう 型 がた マルチプロセッシング (SMP) をサポートしている。外部 がいぶ にバス制御 せいぎょ ロジックを追加 ついか すれば、理論 りろん 上 じょう は数 すう 百 ひゃく のプロセッサでも結合 けつごう 可能 かのう である。例 たと えば、SGIの Origin 2000 は最大 さいだい 128プロセッサを搭載 とうさい 可能 かのう である(NUMA )。
R10000は約 やく 680万 まん 個 こ のトランジスタを集積 しゅうせき しており、そのうち約 やく 440万 まん 個 こ が一 いち 次 じ キャッシュの実装 じっそう に使 つか われている[ 5] 。チップ寸法 すんぽう は16.640mm×17.934mmで、面積 めんせき は298.422 mm2 。0.35μ みゅー mプロセスで製造 せいぞう され、599ピンのセラミックパッケージのものが 1994 Microprocessor Forum で公開 こうかい され、527ピンCPGAで製品 せいひん 化 か されると発表 はっぴょう された。また、1MBの二 に 次 じ キャッシュを含 ふく む339ピンのマルチチップモジュール (MCM) も検討 けんとう 中 ちゅう だとされていた[ 6] 。
R10000をベースとしてそれを拡張 かくちょう した派生 はせい 品 ひん が次々 つぎつぎ と登場 とうじょう した。SGIが高性能 こうせいのう 計算 けいさん (HPC) システムに多数 たすう 実装 じっそう することを考慮 こうりょ し、R12000以降 いこう のマイクロプロセッサは消費 しょうひ 電力 でんりょく が15Wから20W以下 いか になるよう動作 どうさ 周波数 しゅうはすう が低 ひく めに抑 おさ えられている。
R12000はミップスが設計 せっけい を開始 かいし し、SGIが完成 かんせい させた。NECと東芝 とうしば が製造 せいぞう 。NECではVR12000の名 な で販売 はんばい した。1998年 ねん 11月に登場 とうじょう し、270MHz版 ばん 、300MHz版 ばん 、360MHz版 ばん がある。R10000とは全 まった く異 こと なる設計 せっけい の "Beast" プロジェクトが中止 ちゅうし されたため、急遽 きゅうきょ R10000を改良 かいりょう したR12000が開発 かいはつ されることになった。R12000はSGI以外 いがい にNEC、Siemens-Nixdorf 、タンデムコンピューターズ が採用 さいよう した。
R12000はクロック周波数 しゅうはすう を上 あ げるため、クリティカルパスを解決 かいけつ すべくパイプラインの段数 だんすう を増 ふ やしている。また、分岐 ぶんき 履歴 りれき テーブルのエントリ数 すう を増 ふ やして分岐 ぶんき 予測 よそく 性能 せいのう を向上 こうじょう させている。また、命令 めいれい キューが入 い れられた命令 めいれい の古 ふる さを考慮 こうりょ するようにし、可能 かのう な限 かぎ り古 ふる い命令 めいれい を先 さき に実行 じっこう するようにした。
NECと東芝 とうしば は0.25μ みゅー mCMOSプロセスで製造 せいぞう 。しかし、単 たん にマイクロアーキテクチャを縮小 しゅくしょう したわけではなく、0.25μ みゅー mプロセスに最適 さいてき 化 か する設計 せっけい を行 おこな っている[ 7] [ 8] 。NEC製 せい のVR12000は約 やく 715万 まん 個 こ のトランジスタを15.7mm×14.6mm (229.22 mm2 ) のチップに集積 しゅうせき している。
R12000はSGIが開発 かいはつ したR12000の改良 かいりょう 版 ばん で、2000年 ねん 7月 がつ 、400MHz版 ばん が登場 とうじょう した。NECが0.18μ みゅー mプロセスで製造 せいぞう 。
R14000はR12000の後継 こうけい として2001年 ねん 7月 がつ に発表 はっぴょう された。500MHzで動作 どうさ し、0.13μ みゅー mCMOSプロセスで製造 せいぞう されている。マイクロアーキテクチャを改良 かいりょう し、二 に 次 じ キャッシュに DDR SDRAM を使 つか えるようにし、システムバスを200MHzまで高速 こうそく 化 か できるようにした[ 9] 。
R14000AはR14000の改良 かいりょう 版 ばん として2002年 ねん 2月 がつ に発表 はっぴょう された。600MHzで動作 どうさ し、消費 しょうひ 電力 でんりょく は約 やく 17Wである。NECが0.13μ みゅー mCMOSプロセスで製造 せいぞう した[ 9] 。
R16000はR10000の最後 さいご の派生 はせい 品 ひん で、開発 かいはつ コード名 めい は "N0" である。SGIが開発 かいはつ し、NECが0.11μ みゅー mプロセスで製造 せいぞう した。2003年 ねん 1月 がつ 9日 にち 、SGIのワークステーション Fuel で700MHz版 ばん が使 つか われたのが最初 さいしょ である[ 10] 。2003年 ねん 4月 がつ には600MHz版 ばん を搭載 とうさい した Origin 350 が登場 とうじょう した。従来 じゅうらい からの改良 かいりょう 点 てん は一 いち 次 じ キャッシュが命令 めいれい ・データ共 ども に64KBになった点 てん である。
R16000のうち、700MHzより高 たか い周波数 しゅうはすう で動作 どうさ するものをR16000Aと呼 よ ぶ(2008年 ねん 時点 じてん でNECからの800MHz動作 どうさ 品 ひん がVR16000と記載 きさい されていたことから必 かなら ずしもA を付 つ けることでの呼 よ び名 な の使 つか い分 わ けは統一 とういつ されていない可能 かのう 性 せい がある)。800MHz版 ばん が2004年 ねん 2月 がつ に登場 とうじょう した。その後 ご 、900MHz版 ばん が登場 とうじょう し、これがMIPSアーキテクチャでは最高 さいこう 速 そく だったが、SGIはさらに1.0GHz版 ばん を一部 いちぶ 顧客 こきゃく に提供 ていきょう した。R16000AはSGIの Fuel、Tezroといったワークステーション、サーバ/スーパーコンピュータの Origin 3000 で採用 さいよう されている。また、タンデムコンピューターズ をコンパック 経由 けいゆ で取得 しゅとく したヒューレット・パッカード がフォールトトレラントシステム NonStop Himalaya S-Series で採用 さいよう している。
R18000は、R10000マイクロアーキテクチャのさらなる改良 かいりょう としてSGIが2001年 ねん の Hot Chips シンポジウムで発表 はっぴょう したが、開発 かいはつ は中止 ちゅうし された。SGIのccNUMAサーバやスーパーコンピュータ向 む けに設計 せっけい されていた。それらのシステムは1ノードに2個 こ のR18000を密 みつ 結合 けつごう 型 がた で搭載 とうさい し、ノード間 あいだ をハイパーキューブ 型 かた ネットワークで相互 そうご 接続 せつぞく する構成 こうせい である。
R18000では浮動 ふどう 小数点 しょうすうてん 命令 めいれい キューを改善 かいぜん し、2つの積 せき 和 わ 演算 えんざん ユニットを追加 ついか してFLOPS 値 ね を4倍 ばい にすることを想定 そうてい していた。システムインタフェースとメモリ階層 かいそう も大幅 おおはば に見直 みなお される予定 よてい だった。仮想 かそう アドレスは52ビット、物理 ぶつり アドレスは48ビットとされている。システムバスを2つの一方 いっぽう 向 こう DDRリンクに置 お き換 か え、アドレスと書 か き込 こ みには64ビットのリンク、読 よ み取 と りには128ビットのリンクを使用 しよう する。一方向 いちほうこう ではあるが、それぞれもう一 ひと つの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とし、消費 しょうひ 電力 でんりょく と発熱 はつねつ を抑 おさ える予定 よてい だった。
^ "MIPS Claims Floating-Point Record With R10000, The Hottest Chip At The Microprocessor Forum" . (31 October 1994). Computer Business Review .[リンク切 き れ ]
^ Gwennap, Linley (27 January 1997). "Alpha Sails, PowerPC Flails". Microprocessor Report , pp. 1, 6–9., p. 8."
^ "Defects Revealed In SGI R10000 MIPS Systems, Revenues Hit" . (26 September 1996). Computer Business Review .
^ "SGI To Recall 10,000 R10000s" . (30 September 1996). Computer Business Review .
^ Yeager, Kenneth C. (April 1996). "The MIPS R10000 Superscalar Microprocessor" . IEEE Micro ., p. 28.
^ Gwennap, Linley (24 October 1994). "MIPS R10000 Uses Decoupled Architecture" . Microprocessor Report , Volume 8, Number 14., p. 4.
^ Gwennap, Linley (6 October 1997). "MIPS R12000 to Hit 300 MHz" . Microprocessor Report , Volume 11, Number 13.
^ Halfhill, Tom R. (January 1998). "RISC Fights Back with the Mips R12000". Byte Magazine .
^ a b ComputerWire (2 July 2002). "SGI to develop MIPS chips for Origin, Onyx" . The Register .
^ Silicon Graphics, Inc. (9 January 2003). SGI Boosts Price/Performance on Silicon Graphics Fuel Visual Workstation Family up to 25% . (Press release ).
Fu, Tim et al. (31 August 2001). "R18000: The Latest SGI Superscalar Microprocessor" . Hot Chips XIII .
Halfhill, Tom R. (November 1994). "T5: Brute Force". Byte Magazine .
Heinrich, Joe (29 January 1997). "MIPS R10000 Microprocessor User's Manual" .
Kanellos, Michael; Kawamoto, Dawn (9 April 1998). "Silicon Graphics scraps MIPS plans" . CNET News .
MIPS Technologies, Incorporated. (October 1994). "R10000 Microprocessor Product Review" .
Morgan, Timothy Prickett (16 April 2003). "SGI Announces Origin 350 Midrange HPC Server". IT Jungle .
NEC Corporation (24 November 1998). NEC Markets World's Highest Class Performance Microprocessor . (Press release ).
Shankland, Stephen (15 April 2003). "SGI updates midrange Unix server". CNet News .
Vasseghi, N. et al. (November 1996). "200-MHz superscalar RISC microprocessor" . IEEE Journal of Solid-State Circuits 31 (11): pp. 1675–1686.
Yeager, Kenneth C. (August 1995). "R10000 Superscalar Microprocessor" . Hot Chips VII .
インターフェース編集 へんしゅう 部 ぶ 「MIPSプロセッサ入門 にゅうもん 」『インターフェース増刊 ぞうかん テックアイ』、CQ出版 しゅっぱん 社 しゃ 、2008年 ねん 6月 がつ 。
MIPSマイクロプロセッサ
全般 ぜんぱん プロセッサー
MIPS64適合 てきごう
デスクトップ/産業 さんぎょう 機器 きき
LS3A1000/LS3A1000-I(LS3A1000-i)
LS3A2000/LS3A1500-I
LS3A3000/LS3A3000-I(LS3A3000-i)
LS3A4000/LS3A4000-I(LS3A4000-i)
サーバ
LS3B1000
LS3B1500
LS3B2000
LS3B3000
LS3B4000
応用 おうよう プロセッサー
マイクロコントローラ (組 く み込 こ み機器 きき )
ネットワーキング
4Kc/4KEc 5Kc 24Kc/24KEc 34Kc 74Kc 1004Kc 1074Kc MIPS32適合 てきごう MIPS64適合 てきごう
ゲーミング
スーパーコンピュータ
航空 こうくう 宇宙 うちゅう
クラシック プロセッサー