最小命令セットコンピュータ( MISC ) は、中央処理装置(CPU) アーキテクチャであり、通常はマイクロプロセッサの形式で、非常に少数の基本操作と対応するオペコードで構成され、命令セットを形成します。このようなセットは、オペランド指定子 のサイズを縮小するために、レジスタベースではなくスタックベースであることが一般的です。
このようなスタック マシンアーキテクチャは、すべての命令が最上位のスタック エントリで動作するため、本質的に単純です。
スタック アーキテクチャの 1 つの結果として、命令セット全体が小さくなり、命令デコード ユニットが小さくなり、個々の命令の操作が全体的に高速化されます。
特徴と設計哲学
MISC アーキテクチャのスタック定義とは別に、MISC アーキテクチャはサポートされる命令の数によって定義されます。
- 通常、最小命令セットコンピュータは32個以下の命令を持つものと見なされますが、[1] [2] [3]、NOP、RESET、CPUIDタイプの命令は、その基本的な性質上、通常はコンセンサスによってカウントされません。
- 32 命令は MISC の最大許容命令数と見なされますが、16 または 8 命令が「最小命令」の意味に近いです。
- MISC CPU はゼロ命令セットコンピュータであるため、ゼロ命令を持つことはできません。
- MISC CPUは1つの命令セットを持つことができないため、1つの命令しか持たない。[4]
- 実装された CPU 命令は、デフォルトでは幅広い入力セットをサポートしないため、通常は 8 ビットまたは 16 ビットの CPU を意味します。
- CPU にNX ビットがある場合、複合命令セット コンピュータ(CISC) または縮小命令セット コンピュータ(RISC)であると見なされる可能性が高くなります。
- MISC チップには、アプリケーション固有の理由によりその機能が必要でない限り、通常、いかなる種類のハードウェア メモリ保護も備わっていません。
- CPU にマイクロコードサブシステムがある場合、それは MISC には該当しません。
- MISC CPUに許容されると考えられる唯一のアドレッシング モードは、縮小命令セット コンピュータ(RISC) CPU の場合と同様に、ロード/ストアです。
- MISC CPU には通常、64 KB ~ 4 GB のアクセス可能なアドレス指定可能なメモリがありますが、ほとんどの MISC 設計は 1 MB 未満です。
また、MISC の命令パイプラインは、原則として非常に単純になる傾向があります。命令パイプライン、分岐予測、アウトオブオーダー実行、レジスタ名の変更、および投機的実行により、CPU は MISC アーキテクチャとして分類されることが広く排除されます。
1 ビットCPU は他の点では時代遅れですが(MISC でも OISC でもありません)、最初のカーボンナノチューブ コンピューターは 1 ビットの 1命令セット コンピューターであり、トランジスタの数は 178 個のみであるため、おそらくこれまでに製造された CPU の中で最も複雑性が低い (または次に複雑性が低い) ものと考えられます (トランジスタ数で)。
歴史
命令セットが実装された最初のデジタル コンピュータの一部は、現代の定義では最小命令セット コンピュータでした。
これらのさまざまなコンピュータのうち、互換性のある命令セットを備えていたのは ILLIAC と ORDVAC のみでした。
- マンチェスター ベイビー(マンチェスター大学、イギリス) は、1948 年 6 月 21 日に初めて保存プログラムの実行に成功しました。
- 電子遅延記憶自動計算機(EDSAC、ケンブリッジ大学、イギリス)は、最初の実用的なプログラム記憶型電子計算機でした(1949年5月)
- マンチェスター マーク 1 (マンチェスター ヴィクトリア大学、イギリス) ベビーから開発 (1949 年 6 月)
- 連邦科学産業研究自動コンピュータ ( CSIRAC、科学産業研究評議会) オーストラリア (1949 年 11 月)
- 電子式離散変数自動コンピュータ ( EDVAC、弾道研究研究所、アバディーン試験場の計算研究所、 1951 年)
- メリーランド州アバディーン性能試験場の兵器用離散変数自動計算機(ORDVAC、イリノイ大学アーバナ・シャンペーン校)(1951年11月完成) [5]
- プリンストン大学のIASマシン(1952年1月)
- ロスアラモス科学研究所のMANIAC I (1952 年 3 月)
- MESMは1950年11月6日にキエフで最初のテスト走行を実施した。
- イリノイ大学のイリノイ自動計算機 ( ILLIAC ) (1952 年 9 月)
初期のプログラム内蔵型コンピュータ
- IBM SSECは命令をデータとして扱う能力を持っており、1948年1月27日に公開されました。この機能は1953年4月28日に発行された米国特許で主張されました。[6]しかし、それは部分的に電気機械的なものであり、完全に電子的ではありませんでした。実際には、メモリが限られていたため、命令は紙テープから読み取られました。[7]
- マンチェスター・ビクトリア大学が開発したマンチェスター・ベイビーは、プログラム内蔵型を実行する初の完全電子式コンピュータであった。 1948年6月21日、簡単な割り算プログラムと2つの数が互いに素であることを示すプログラムを実行した後、因数分解プログラムを52分間実行した。
- 電子数値積分器およびコンピュータ ( ENIAC ) は、原始的な読み取り専用のプログラム内蔵コンピュータ (プログラム読み取り専用メモリ(ROM) に関数テーブルを使用) として動作するように改造され、1948 年 9 月 16 日に、フォン・ノイマンのAdele Goldstineによるプログラムを実行してそのようにデモンストレーションされました。
- バイナリ自動コンピュータ ( BINAC ) は、1949 年 2 月、3 月、4 月にいくつかのテスト プログラムを実行しましたが、1949 年 9 月まで完成しませんでした。
- マンチェスターマーク 1 は、ベイビー プロジェクトから開発されました。マーク 1 の中間バージョンは 1949 年 4 月にプログラムの実行に使用できましたが、完成したのは 1949 年 10 月でした。
- 電子遅延記憶自動計算機(EDSAC) は、1949 年 5 月 6 日に最初のプログラムを実行しました。
- 電子離散変数自動コンピュータ ( EDVAC ) は 1949 年 8 月に納品されましたが、問題があったため 1951 年まで通常運用されませんでした。
- 連邦科学産業研究自動コンピュータ ( CSIRAC、旧称 CSIR Mk I) は、1949 年 11 月に最初のプログラムを実行しました。
- 標準東部自動コンピュータ ( SEAC ) は 1950 年 4 月に実証されました。
- Pilot ACE は1950 年 5 月 10 日に最初のプログラムを実行し、1950 年 12 月にデモンストレーションされました。
- 標準西部自動コンピュータ ( SWAC ) は 1950 年 7 月に完成しました。
- ホワールウィンドは1950年12月に完成し、1951年4月から実際に使用されました。
- 最初のERA Atlas (後に商用 ERA 1101/UNIVAC 1101) は 1950 年 12 月に設置されました。
設計上の弱点
MISC の欠点は、命令の順次依存関係が多くなり、全体的な命令レベルの並列性が低下する傾向があることです。
MISC アーキテクチャは、 Forthのスタックの使用やJava 仮想マシンなどのプログラミング言語の一部の機能と多くの共通点があります。どちらも完全な命令レベルの並列性を提供するという点では弱点があります。ただし、一般的な命令フレーズを個別のステップとして実行する手段としてマクロ操作の融合を採用することは可能です(例: ADD、FETCH を使用して単一のインデックス付きメモリ読み取りを実行する)。
注目のCPU
おそらく最も商業的に成功した MISC は、浮動小数点ユニットを持たないオリジナルの INMOSトランスピュータアーキテクチャです。ただし、組み込みコンピュータ アプリケーション用の 多くの8 ビットマイクロコントローラは、MISC として適格です。
各STEREO宇宙船には2つのP24 MISC CPUと2つのCPU24 MISC CPUが搭載されています。[8] [9] [10] [11]
参照
参考文献
- ^ Ting, Chen-hanson; Moore, Charles H. (1995). 「MuP21: 高性能 MISC プロセッサ」. UltraTechnology . Offete Enterprises.
- ^ 米国特許 5481743A、バクスター、マイケル A.、「最小命令セットコンピュータアーキテクチャおよび複数命令発行方法」、1996 年 1 月 2 日公開、1996 年 1 月 2 日発行、Apple に譲渡
- ^ Halverson, Richard Jr.; Lew, Art (1995). FPGA ベースの最小命令セット コンピュータ (技術レポート)。ハワイ大学情報・コンピュータ科学部。p. 23。ICS-TR-94-28。
- ^ Kong, JH; Ang, L.-M.; Seng, KP (2010). 「ハーバードアーキテクチャを使用した最小命令セットAESプロセッサ」。2010年第3回国際コンピュータサイエンスおよび情報技術会議。pp. 65–69。doi : 10.1109 / ICCSIT.2010.5564522。ISBN 978-1-4244-5540-9。
- ^ Robertson, James E. (1955). Illiac Design Techniques: レポート番号 UIUCDCS-R-1955-146 (レポート).イリノイ州アーバナ・シャンペーン: イリノイ大学アーバナ・シャンペーン校デジタルコンピュータ研究所.
- ^ 米国特許 2636672、Hamilton, Francis E.、Hughes, Ernest S. Jr.、Rowley, Russell A. 他、「Selective Sequence Electronic Calculator」、1953-04-28 発行、IBM に譲渡
- ^ Grosch, Herbert RJ (1991)。『コンピュータ:人生のビットスライス』Third Millenium Books。ISBN 978-0-8873-3085-8。
- ^ Mewaldt, RA; Cohen, CMS; Cook, WR; Cummings, AC; 他「3.5.2 最小命令セットコンピュータ (MISC)」。STEREO ミッションのための低エネルギー望遠鏡 (LET) と SEP 中央電子機器(PDF) (レポート)。p. 20。
- ^ ラッセル、CT編(2008年)。STEREOミッション。シュプリンガー。ISBN 978-0-387-09649-0。
- ^ Ting, CH; Cook, WR (2001). P24 MISC マイクロプロセッサ ユーザーズ マニュアル (技術レポート). eMAST テクノロジー. STEREO-CIT-005.A.
- ^ CPU24 マイクロプロセッサ ユーザーズ マニュアル (技術レポート)。NASA。2003 年 10 月。ステレオ HET 用バージョン 5 Actel。
外部リンク
- Forth MISCチップ設計
- seaForth-24 – Charles H. Mooreによる最新のマルチコア プロセッサMISC 設計
- Green Arrays - Charles H. Mooreによる最新のマルチコア プロセッサMISC 設計
