IBM ROMP

ROMP
デザイナーIBM
ビット32ビット
発売1986年1月発売 (1986年1月
デザインRISC
タイプロード・ストア
エンコーディング変数(2バイトまたは4バイト長)
分岐条件コード
ページサイズ4KB
開くいいえ
レジスタ
汎用16×32ビット
ROMP

ROMPは 1970年代後半にIBMによって設計された縮小命令セットコンピュータ(RISC)マイクロプロセッサです。IBMリサーチとオフィス製品部門(OPD)という2つのIBM部門にちなんで、リサーチOPDミニプロセッサや032とも呼ばれています。[ 1 ] ROMPはもともとオフィス機器や小型コンピュータ向けに開発され、[ 2 ] 1970年代半ばのIBM Office System/6ワードプロセッシングシステムで使用されていたIBM OPDミニプロセッサマイクロプロセッサの後継として開発されました。最初の製品は1981年に発売され、1986年1月に発表されたIBM RT PCで初めて商用化されました。RT PCは一時期、パーソナルコンピュータとして計画されており、ROMPはIBMパーソナルコンピュータに搭載されていたIntel 8088に取って代わりましたしかし、RT PCは後にエンジニアリングおよび科学研究用ワークステーションコンピュータとして再位置付けられました。ROMPのCMOSバージョンは、1988年に発表されたIBM 6152 Academic Systemのコプロセッサボードで初めて使用され、後にRT PCの一部モデルにも搭載されました。

歴史

ROMPのアーキテクチャ作業は、 IBM Research801 RISCプロセッサ(頭字語の「Research」の由来)のスピンオフとして、1977年の晩春に開始されました。アーキテクチャの変更のほとんどは、バイト効率を高めるための16ビット命令の追加など、コスト削減を目的としていました。オリジナルのROMPは24ビットアーキテクチャでしたが、開発開始から数年後に命令セットが32ビットに変更されました。[ 3 ]

最初のチップは1981年初めに完成し、ROMPは初の産業用RISCとなった。このプロセッサは1984年の国際固体回路会議で発表された[ 4 ]。ROMPは、1986年に発表されたIBM RT PCワークステーションのプロセッサとして初めて商用製品に登場した。RT PCの生産例を示すために、ROMPとそのMMUの量産は1985年に開始された。[ 4 ] ROMPの設計完了からRT PCの導入までの遅れは、RT PCとそのオペレーティングシステム(OS)のソフトウェア計画が野心的すぎたために生じた。このOSはハードウェアを仮想化し、複数の他のオペレーティングシステムをホストできた。仮想化と呼ばれるこの技術は、メインフレームシステムでは一般的であるが、21世紀になってようやく小規模なシステムで普及し始めた。ROMPの改良されたCMOSバージョンは、IBM 6152 Academic Systemワークステーションで初めて使用され、その後、RT PCの一部のモデルでも使用された。

IBMリサーチは、1985年に初めて詳細が発表された、最大512個のプロセッサをサポートする初期の実験的なスケーラブルな共有メモリ型マルチプロセッサであるリサーチパラレルプロセッサプロトタイプ(RP3)にROMPを採用しました。また、1988年に運用が開始された実験的なNUMA型マルチプロセッサであるACEにCMOSバージョンを採用しました。[ 5 ]

アーキテクチャ

ROMPのアーキテクチャは、IBM Research 801ミニコンピュータのオリジナルバージョンに基づいています。主な違いは、ワードサイズが大きい(24ビットではなく32ビット)ことと、仮想メモリが含まれていることです。[ 6 ]このアーキテクチャは、8ビット、16ビット、32ビットの整数、32ビットのアドレッシング、40ビットの仮想アドレス空間をサポートしていました。命令ポインタレジスタと16個の32ビット汎用レジスタを備えていました。マイクロプロセッサは、118個の単純な16ビットおよび32ビット命令によって制御されていました。[ 7 ]

ROMPの仮想メモリは、4,096個の256MBセグメントからなる40ビット( 1TB)のセグメント化されたアドレス空間を持つ。40ビットの仮想アドレスは、MMU内で12ビットのセグメント識別子と、ROMPによって計算された32ビットの仮想アドレスの下位28ビットを連結することによって形成される。セグメント識別子は、MMUに格納された16個のセグメント識別子のセットから取得され、ROMPによって計算された32ビットの仮想アドレスの上位4ビットによってアドレス指定される。[ 8 ]  

実装

ROMP は3 ステージのパイプラインを備えたスカラー プロセッサです。 [ 7 ]第 1 ステージでは、16 バイトの命令プリフェッチ バッファに命令がある場合、命令がフェッチされ、デコードされ、汎用レジスタ ファイルからオペランドが読み取られます。命令プリフェッチ バッファは、ROMP がアクセスしていないときはいつでも、メモリから 32 ビットのワードを読み取ります。[ 7 ]命令は第 2 ステージで実行され、第 3 ステージで汎用レジスタ ファイルに書き戻されます。ROMP はバイパス ネットワークを使用し、レジスタ ファイルの読み取りと書き込みを適切にスケジュールして、依存する命令の連続実行をサポートします。[ 7 ]レジスタ間命令のほとんどは 1 サイクルで実行され、118 の命令のうち 84 は 1 サイクルのレイテンシでした。[ 9 ] ROMP には、開発中にコード名 Rosetta と呼ばれたIBM 開発のコンパニオン集積回路がありました。 [ 10 ]ロゼッタはメモリ管理ユニット(MMU)であり、ROMPにアドレス変換機能、変換ルックアサイドバッファ、ストアバッファを提供しました。[ 7 ]

ROMPとRosettaは当初、2層のメタル相互接続を備えたIBM 2  μmシリコンゲートNMOSテクノロジで実装されました。 [ 11 ] [ 4 ] ROMPは45,000個のトランジスタで構成され、サイズは7.65  ×  7.65  mm(58.52  mm 2)です。一方、Rosettaは61,500個のトランジスタで構成され、サイズは9.02  ×  9.02  mm(81.36  mm 2)です。どちらも135ピンのセラミックピングリッドアレイにパッケージされています。[ 4 ]その後、ROMPとRosettaのCMOSバージョン(ROMP-CとRosetta-Cと呼ばれる)が開発されました。

参考文献

  1. ^ラリー・ヘバーライン(1986年10月)「PC RTチップに関するプログラマの視点」『コンピュータ言語』第3巻第10号、 41~ 46ページ 
  2. ^ Hester, PD; Simpson, Richard O.; Chang, Albert. 「IBM RT PC ROMPおよびメモリ管理ユニット・アーキテクチャ」Waters, Frank (編)『IBM RTパーソナルコンピュータ・テクノロジー』フォーム番号SA23-1057 (PDF) 48ページ。
  3. ^ Waldecker, DE; Woon, PY「ROMP/MMUテクノロジー入門」Waters, Frank(編)『IBM RTパーソナルコンピュータテクノロジー』フォーム番号SA23-1057(PDF) p. 44。
  4. ^ a b c d Bambrick, Richard (1986年1月27日). 「IBMの新しいRISCプロセッサは10年計画に基づいている」. Electronic News .
  5. ^ Lerman , G.; Rudolph, L. (1993).並列プロセッサの並列進化. Springer Science & Business Media. p.  146. ISBN 9781461528562
  6. ^ロバート・BK・デュワー著、マシュー・スモスナ著『マイクロプロセッサ:プログラマの視点』マグロウヒル社、378ページ
  7. ^ a b c d eファーバー、スティーブン (1989). VLSI RISCアーキテクチャと組織. CRCプレス. pp.  106– 109. ISBN 9780824781514
  8. ^タバック、ダニエル (1987). RISCアーキテクチャ. リサーチ・スタディーズ・プレス. pp.  102– 103
  9. ^シーモア、ジム(1986年6月10日)「RISCアーキテクチャ」PCマガジン、113ページ。
  10. ^チャンドラー、デイビッド (1986). 「ROMPは単なるお遊びではない」. UNIX Review .
  11. ^ウォーターズ、フランク(編)『IBM RTパーソナルコンピュータテクノロジー』p.8。