| デザイナー | IBM |
|---|---|
| ビット | 32ビット |
| 紹介された | 商業的に 1986年1月 |
| デザイン | RISC |
| タイプ | ロード-ストア |
| エンコーディング | 変数(2バイトまたは4バイト長) |
| 分岐 | 条件コード |
| ページサイズ | 4KB |
| 開ける | いいえ |
| レジスター | |
| 汎用 | 16×32ビット |

ROMPは、1970年代後半にIBMが設計したRISC (縮小命令セットコンピュータ)マイクロプロセッサです。リサーチOPDミニプロセッサ(共同で開発したIBMの2つの部門、IBMリサーチとオフィス製品部門(OPD)にちなんで)や032としても知られています。[1] ROMPはもともとオフィス機器や小型コンピュータ向けに開発され、[2] 1970年代半ばのIBM OPDミニプロセッサマイクロプロセッサ[要出典]の後継として意図されていました。このマイクロプロセッサは、 IBM Office System/6ワードプロセッサで使用されていました。最初の例は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 Researchの801 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 Researchは、1985年に初めて詳細が発表された、最大512個のプロセッサをサポートする初期の実験的なスケーラブルな共有メモリマルチプロセッサであるResearch Parallel Processor Prototype (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 個の 256 MB セグメントで構成されるセグメント化された40 ビット (1 TB) のアドレス空間があります。40 ビットの仮想アドレスは、12 ビットのセグメント識別子と 32 ビットの ROMP 計算仮想アドレスの下位 28 ビットを連結することによって MMU で形成されます。セグメント識別子は、MMU に格納されている 16 個のセグメント識別子のセットから取得され、32 ビットの ROMP 計算仮想アドレスの上位 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.65mm (58.52mm2 )ですが、Rosettaは61,500個のトランジスタで構成され、サイズは9.02 × 9.02mm ( 81.36mm2 )です。どちらも135ピンのセラミックピングリッドアレイにパッケージ化されています。[4]その後、ROMPとRosettaのCMOSバージョン(ROMP-CとRosetta-Cと呼ばれる)が開発されました。
参考文献
- ^ Heberlein, Larry (1986 年 10 月)。「PC RT チップに対するプログラマーの視点」。Computer Language、第 3 巻、第 10 号、41 ~ 46 ページ。
- ^ Hester, PD; Simpson, Richard O.; Chang, Albert. 「IBM RT PC ROMP およびメモリ管理ユニット アーキテクチャ」。Waters, Frank (編) 『IBM RT パーソナル コンピュータ テクノロジー』、フォーム番号 SA23-1057 (PDF)。p. 48。
- ^ Waldecker, DE; Woon, PY「ROMP/MMU テクノロジー入門」Waters, Frank (編)『IBM RT パーソナル コンピュータ テクノロジー』フォーム番号 SA23-1057 (PDF)。p. 44。
- ^ abcd Bambrick, Richard (1986 年 1 月 27 日). 「IBM の新しい RISC プロセッサは 10 年プロジェクトに基づく」. Electronic News .
- ^ Lerman, G.; Rudolph, L. (1993).並列プロセッサの並列進化. Springer Science & Business Media. p. 146. ISBN 9781461528562。
- ^ Dewar, Robert BK; Smosna, Matthew.マイクロプロセッサ: プログラマの視点. McGraw-Hill. p. 378.
- ^ abcde ファーバー、スティーブン(1989)。VLSI RISCアーキテクチャと組織。CRCプレス。pp.106-109。ISBN 9780824781514。
- ^ Tabak, Daniel (1987). RISCアーキテクチャ. Research Studies Press. pp. 102–103.
- ^ Seymour, Jim (1986 年 6 月 10 日). 「RISC アーキテクチャ」. PC Magazine . p. 113.
- ^ Chandler, David (1986)。「ROMP は単なるおふざけではない」。UNIX Review。
- ^ ウォーターズ、フランク(編)IBM RTパーソナルコンピュータテクノロジー。p.8。
外部リンク
- IBM RT PC ROMPプロセッサとメモリ管理ユニットのアーキテクチャ
