(Translated by https://www.hiragana.jp/)
R10000 - Wikipedia コンテンツにスキップ

R10000

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
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での動作どうさ可能かのうとなった。

採用さいようれい

[編集へんしゅう]
  • SGI - ワークステーションの Indigo2 と O2、サーバの Challenge、スーパーコンピュータの Origin 2000 など。
  • NEC - ワークステーションのEWS4800、サーバのUP4800Express5800、スーパーコンピュータの Cenju-4
  • Siemens Nixdorf - Unixけいサーバ
  • タンデムコンピューターズ - フォールトトレラント・サーバ NonStop Himalaya

詳細しょうさい

[編集へんしゅう]

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にもなる。

システムバス: Avalanche bus

[編集へんしゅう]

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と記載きさいされていた[11]ことからかならずしも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とし、消費しょうひ電力でんりょく発熱はつねつおさえる予定よていだった。

脚注きゃくちゅう出典しゅってん

[編集へんしゅう]
  1. ^ "MIPS Claims Floating-Point Record With R10000, The Hottest Chip At The Microprocessor Forum". (31 October 1994). Computer Business Review.[リンク]
  2. ^ Gwennap, Linley (27 January 1997). "Alpha Sails, PowerPC Flails". Microprocessor Report, pp. 1, 6–9., p. 8."
  3. ^ "Defects Revealed In SGI R10000 MIPS Systems, Revenues Hit". (26 September 1996). Computer Business Review.
  4. ^ "SGI To Recall 10,000 R10000s". (30 September 1996). Computer Business Review.
  5. ^ Yeager, Kenneth C. (April 1996). "The MIPS R10000 Superscalar Microprocessor". IEEE Micro., p. 28.
  6. ^ Gwennap, Linley (24 October 1994). "MIPS R10000 Uses Decoupled Architecture". Microprocessor Report, Volume 8, Number 14., p. 4.
  7. ^ Gwennap, Linley (6 October 1997). "MIPS R12000 to Hit 300 MHz". Microprocessor Report, Volume 11, Number 13.
  8. ^ Halfhill, Tom R. (January 1998). "RISC Fights Back with the Mips R12000". Byte Magazine.
  9. ^ a b ComputerWire (2 July 2002). "SGI to develop MIPS chips for Origin, Onyx". The Register.
  10. ^ Silicon Graphics, Inc. (9 January 2003). SGI Boosts Price/Performance on Silicon Graphics Fuel Visual Workstation Family up to 25%. (Press release).
  11. ^ MIPSプロセッサ入門にゅうもん, p. 191.

参考さんこう文献ぶんけん

[編集へんしゅう]