1【特許請求の範囲】【請求項１】供給データに対応するマッピングデータをマッピングメモリ（２）から読出してプログラムメモリ（４）に供給することにより供給データに対応するインストラクションを読出し、読出しインストラクションに基づく処理を行なうコンピュータにおいて、プログラムメモリ（４）が外部媒体からプログラムメモリに存在していないインストラクションを取込んで少なくとも一部の領域に格納し得るものであるとともに、マッピングメモリ（２）が上記取込まれる各インストラクションに対 10応するマッピングデータを取込んで少なくとも一部の領域に格納し得るものであることを特徴とするコンピュー
タ。
【請求項２】少なくとも一部の領域が、インストラクション、マッピングデータが予め格納されていない余剰領2域である上記特許請求の範囲第１項記載のコンピュー
タ。
【請求項３】プログラムメモリ（４）が、外部媒体からインストラクションを取込んでプログラムメモリ（４）の余剰領域に格納するとともに、プログラム格納アドレスに対応するマッピングデータをマッピングメモリ（２）に格納するロードインストラクションELを有しており、マッピングメモリ（２）が上記ロードインストラクションに対応するマッピングデータを有している上記
特許請求の範囲第１項または第２項に記載のコンピュー
タ。
【請求項４】供給データに対応するマッピングデータをマッピングメモリ（２）から読出してプログラムメモリ（４）に供給することにより供給データに対応するインストラクションを読出し、読出しインストラクションに(2)3基づく処理を行なうコンピュータにおいて、プログラムメモリ（４）が初期化時に外部媒体からインストラクシ
ョンを取込んで格納するものであるとともに、マッピングメモリ（２）が各プログラム格納アドレスに対応するマッピングデータを格納するものであることを特徴とするコンピュータ。
【発明の詳細な説明】＜産業上の利用分野＞
この発明はコンピュータに関し、さらに詳細にいえば、プログラムメモリに格納されている命令セットの変更追加を行ない得るようにした新規なコンピュータに関する。
＜従来の技術、および発明が解決しようとする課題＞
従来から提供されているコンピュータは、複雑な命令セットを実行することができるCISC（Compliment Instruction Set Computer）と単純な命令セットのみを実行することができるようにしたRISC（Reduced InstructionSet Computer）とに大別されている。
このうち、CISCにおいては、１インストラクション当りの実行時間がやや長くかかるものの、複雑な命令セットであっても実行可能であるから、仮想記憶等種々の機能を簡単に実現することができる。しかし、プロセッサ自体が複雑化するために、開発所要時間が著しく長くなってしまい、一般的には、使用者の要求に合致するCISCを製造することが殆ど不可能になってしまうので、専門メーカーが提供しているCISCを使用せざるを得ないという問題がある。そして、CISCを使用すれば、専門メーカーが提供する関連デバイスおよびアセンブラ、コンパイラ、デバッガ、エミュレータ等の開発ツールを用いてシステム設計を行なうことができるので、システム開発を簡素化できるとともに開発所要期間を短くできるという利点を有しているが、システム全体としての処理能力が制限されてしまい、処理能力を大きくすることができないという問題がある。
逆に、RISCにおいては、プロセッサ自体が比較的簡単な構成であるため新規なコンピュータを開発する場合の労力が比較的少なくてよく、しかも所要時間が短くなり、また、１インストラクション当りの実行時間が短くなるという利点を有している。しかし、上記の利点を達成するために、単純な命令セットのみを実行可能としているのであるから、ある程度複雑な処理を遂行させようとすれば、複数個のインストラクションを順次フェッチし、フェッチされたインストラクションを順次遂行させることが必要になるため、全体として処理を遂行するための所要時間が長くなり、この結果、処理能力が低下してしまうという問題がある。
さらに詳細に説明すると、汎用コンピュータを用いて外部データメモリをアクセスし、グラフィック処理用のハードウェアを制御する場合についてみれば、目的とする処理に適合するインストラクションが存在しない可能性

1020304050

特公平７−３１５９８4が高く、この結果、第４図（Ａ）に示すように、インストラクションのフェッチと外部データメモリのアクセスとを多数回交互に実行しなければならない可能性が高くなる。したがって、上記インストラクションフェッチ所要時間および外部データメモリアクセス所要時間が増加し、所望の処理を遂行するための速度が低下してしまうという問題がある。そして、この問題は、実行可能なインストラクションが簡単なインストラクションのみに限定されているRISCにおいて顕著である。
しかしながら、上記汎用コンピュータにおいては、汎用コンピュータのために開発された開発ツール、アプリケーション、オペレーティングシステム（以下、OSと略称する）等のソフトウェア資産と、ペリフェラルデバイス、デバッグ用エミュレータ等のハードウェア資産とを有効活用できるという利点を有しており、しかも特にRISCにおいては、複雑な機能使用のシステムを安価に、かつ短時間で実現できるという利点を有している。
したがって、これらの利点を損なうことなく処理速度を高めることができるコンピュータを得ることができれば理想的であるが、特定の処理を効率よく行なうためのコンピュータを開発すれば汎用性がなくなってしまい、上記の利点が損なわれてしまうことになる。
また、RISCの一種であるビット・スライス・プロセッサについてみれば、十分な処理能力を有するコンピュータを実現することが可能であるが、高機能なシステムを開発しようとすれば、ソフトウェア開発ツールが一般的に不備であるから、ソフトウェアの開発工数が著しく増加し、開発所要時間が著しく長くなってしまうという問題がある。さらに、長大なインストラクションを実行させようとすれば、インストラクションの１ワードのビット幅が大きくなるため基板面積が大きくなってしまい、コストアップを招いてしまう。
＜発明の目的＞
この発明は上記の問題点に鑑みてなされたものであり、汎用コンピュータが有している利点を損なうことなく特定の処理を遂行するための所要時間を著しく短縮することができ、また、所期の機能仕様を満足させるコンピュータを短時間で開発することができ、また、インストラクションおよびマッピングデータを取込ませるために特別の処理を行なう必要がなくなるとともに、外部媒体を変更するだけで、コンピュータ自体を任意の基本命令セットを有する状態にすることができる新規なコンピュータを提供することを目的としている。
＜課題を解決するための手段＞
上記の目的を達成するための、この発明のコンピュータ
は、プログラムメモリが外部媒体からプログラムメモリに存在してインストラクションを取込んで少なくとも一部の領域に格納し得るものであるとともに、マッピングメモリが上記取込まれた各インストラクションに対応するマッピングデータを取込んで少なくとも一部の領域に(3)5格納し得るものである。
但し、少なくとも一部の領域としては、インストラクション、マッピングデータが予め格納されていない余剰領域であればよい。
そして、プログラムメモリが、外部媒体からインストラクションを取込んでプログラムメモリの余剰領域に格納するとともに、プログラム格納アドレスに対応するマッピングデータをマッピングメモリに格納するロードインストラクションを有しており、マッピングメモリが上記ロードインストラクションに対応するマッピングデータを有していてもよい。
また、プログラムメモリが初期化時に外部媒体からインストラクションを取込んで格納するものであるとともに、マッピングメモリが各プログラム格納アドレスに対応するマッピングデータを格納するものであってもよい。
＜作用＞以上の構成のコンピュータであれば、プログラムメモリが外部媒体からプログラムメモリに存在していないインストラクションを取込んで少なくとも一部の領域に格納し得るものであるとともに、マッピングメモリが上記取込まれた各インストラクションに対応するマッピングデータを取込んで少なくとも一部の領域に格納し得るものであるから、外部媒体からインストラクション、マッピングデータを取込むことにより、開発された状態において遂行可能なインストラクションのみならず、新たに取込まれたインストラクションをも遂行することができる。また、新たに取込まれたインストラクションが使用頻度が高いインストラクションの組合せである場合には、一連のインストラクションを１回のインストラクションフェッチのみにより遂行させることができ、処理速度を高速化することができる。したがって、一連のインストラクション数が多い場合には処理速度を著しく高速化することができる。
また、残余の領域には開発当初のインストラクション、マッピングデータが格納されているので、開発当初のインストラクションに基く処理をも遂行することができるのみならず、関連デバイス、開発ツールを使用することもできる。
そして、少なくとも一部の領域が、インストラクション、マッピングデータが予め格納されていない余剰領域である場合には、開発当初のインストラクション、マッピングデータがそのまま保存されることになるので、コンピュータのために開発されたソフトウェア資産およびハードウェア資産、即ち、基本命令セットにより制御可能なソフトウェア、周辺機器等を有効利用することができ、しかも余剰領域に格納された新たなインストラクシ
ョン、マッピングデータに基く処理をも遂行することができる。
また、プログラムメモリが、外部媒体からインストラク

1020304050

特公平７−３１５９８6ションを取込んでプログラムメモリの余剰領域に格納するとともに、プログラム格納アドレスに対応するマッピングデータをマッピングメモリに格納するロードインストラクションを有しており、マッピングデータが上記ロードインストラクションに対応するマッピングデータを有している場合には、マッピングデータに基いてロードインストラクションを指定し、プログラムメモリから読出して実行することにより、外部媒体からインストラクションおよびマッピングデータを取込むことができ、その後は、取込まれたインストラクションを指定することにより所望の処理を遂行させることができる。
さらに、プログラムメモリが初期化時に外部媒体からインストラクションを取込んで格納するものであるとともに、マッピングメモリが各プログラム格納アドレスに対応するマッピングデータを格納するものである場合には、初期化時に自動的に外部媒体からインストラクションおよびマッピングデータが取込まれるので、インストラクションおよびマッピングデータを取込ませるために特別の処理を行なう必要がなくなるとともに、外部媒体を変更するだけで、コンピュータ自体を任意の基本命令セットを有する状態にすることができる。したがって、システムに組込まれた周辺機器の種類等に最適な基本命令セットを有するコンピュータが簡単に得られることになる。
＜実施例＞
以下、実施例を示す添付図面によって詳細に説明する。
第１図はこの発明のコンピュータの一実施例を示すブロ
ック図であり、外部から供給されるコマンドデータを保持するインストラクションレジスタ（１）と、インストラクションレジスタ（１）の内容が読出しアドレスデータとして供給される、データの書込みが可能なマッピングメモリ（２）と、マッピングメモリ（２）から出力されるアドレスデータ、後述するパイプラインレジスタ（５）から出力されるアドレスデータ、または他の構成要素から供給されるアドレスデータが供給されるとともに、後述するコントロールロジック（６）から出力されるシーケンサ制御データに基づいて出力データが選択されるシーケンサ（３）と、シーケンサ（３）からの出力データが読出しアドレスとして供給される、データの書込みが可能なマイクロプログラムメモリ（４）と、マイクロプログラムメモリ（４）から読出されたインストラクションが供給されるパイプラインレジスタ（５）と、パイプラインレジスタ（５）からの出力データおよび後述するステータスレジスタ（９）から出力されるステータスデータに基づいてシーケンサ制御データを生成するコントロールロジック（６）と、パイプラインレジスタ（５）から出力されるインストラクションおよびデータレジスタ（８）から出力されるデータに基づいて必要な処理を行なう中央演算処理装置（以下、CPUと略称する）（７）とを有している。そして、上記パイプライン

(4)7
レジスタ（５）からの出力データをマッピングメモリ（２）およびマイクロプログラムメモリ（４）に供給しているとともに、外部プログラムメモリ（11）、外部データメモリ（12）に格納されているインストラクションをマイクロプログラムメモリ（４）に供給している。また、他の構成要素から供給されるアドレスデータはシーケンサ（３）のみならずマッピングメモリ（２）にも供給されている。さらに、上記CPU（７）から出力されるステータスデータがステータスレジスタ（９）に供給されている。このステータスレジスタ（９）に供給されるステータスデータは、CPU（７）において現在実行しているマイクロインストラクションに含まれているステータスビットであり、このステータスビットがステータスレジスタ（９）に一時的に保持され、ステータスレジスタ（９）からは直前に実行されたマイクロインストラクションに含まれていたステータスビットがステータスデータとして出力される。
尚、（10）はCPU（７）からの出力データに基いてアドレスデータを出力するアドレスレジスタであり、（13）は入出力インターフェースであり、上記インストラクションレジスタ（１）、マッピングメモリ（２）、シーケンサ（３）、マイクロプログラムメモリ（４）、パイプラインレジスタ（５）、コントロールロジック（６）、CPU（７）、データレジスタ（８）、ステータスレジス
タ（９）およびアドレスレジスタ（10）でコンピュータ（Ｃ）が構成されている。そして、上記コンピュータ（Ｃ）は少なくとも汎用コンピュータと同一の外部インターフェースを有しているとともに、汎用コンピュータと同一のインストラクションに従って動作するように設計されている。
さらに詳細に説明すると、上記マッピングメモリ（２）は、インストラクションレジスタ（１）の内容が読出しアドレスとして供給され、パイプラインレジスタ（５）からの出力データが書込みアドレスとして供給されるものであり、しかも外部プログラムメモリ（11）または外部データメモリ（12）から供給されるアドレスデータがアドレス未使用領域（第２図中領域Ａ参照）に格納されるようにしている。上記マイクロプログラムメモリ（４）はシーケンサ（３）からの出力データが読出しアドレスとして供給され、パイプラインレジスタ（５）からの出力データが書込みアドレスとして供給されるものであり、しかも外部プログラムメモリ（11）または外部データメモリ（12）から供給されるインストラクションがプログラム未使用領域（第３図中領域Ａ参照）に格納されるようにしている。
尚、上記マイクロプログラムメモリ（４）の残余の領域
Ｂには予め設定されている基本命令に対応するインストラクションが格納されており、上記マッピングメモリ（２）の残余の領域Ｂには上記各インストラクションの格納アドレスを示すアドレスデータが格納されている。

1020304050

特公平７−３１５９８8
上記の構成のコンピュータの動作は次のとおりである。
予め設定されている基本命令に基く処理を行なわせる場
合には、インストラクションレジスタ（１）に保持されている制御コマンドをマッピングメモリ（２）に供給することにより制御コマンドに対応するアドレスデータを読出し、シーケンサ（３）に供給するので、シーケンサ（３）から出力されるアドレスデータに基づいてマイクロプログラムメモリ（４）から該当するインストラクシ
ョンを読出し、パイプラインレジスタ（５）を通してCPU（７）に供給することにより、データレジスタ（８）から出力されるデータに対して所定の処理を施すことができる。また、基本命令に基づく処理を行なうことができるので、基本命令に適用可能な周辺機器はそのまま使用することができる。
したがって、インストラクションE1,E2,E3,E4に基づく処理をこの順に実行する場合には、第４図Ａに示すように、第１回目のインストラクションフェッチF1によりインストラクションE1をフェッチして実行し、第２回目のインストラクションフェッチF2によりインストラクションE2をフェッチして実行し、第３回目のインストラクションフェッチF3によりインストラクションE3をフェッチして実行し、第４回目のインストラクションフェッチF4
によりインストラクションE4をフェッチして実行しなければならず、全体としての処理所要時間中に占めるインストラクションフェッチ時間の割合いが大きくなるので、処理能力が低下してしまう。特に上記一連のインストラクションE1,E2,E3,E4の実行頻度が高い場合には、処理能力の低下が著しくなってしまう。
しかし、上記の構成のコンピュータ（Ｃ）においては、マイクロプログラムメモリ（４）の領域Ａに新たなインストラクションを設定することができるのであるから、予め外部プログラムメモリ（11）または外部データメモ
リ（12）に新たな１つのインストラクションE1 E2 E3 E
4を格納しておいて、パイプラインレジスタ（５）からの出力データを書込みアドレスとしてマイクロプログラ
ムメモリ（４）に供給することにより上記インストラク
ションE1 E2 E3 E4を領域Ａに格納することができる。
そして、パイプラインレジスタ（５）からの出力データを書込みアドレスとしてマッピングメモリ（２）に供給することにより外部プログラムメモリ（11）または外部データメモリ（12）からアドレスデータを取込んで格納することができる。
したがって、以上のようにして新たなインストラクショ
ンおよびアドレスデータがそれぞれマイクロプログラムメモリ（４）の領域Ａ、マッピングメモリ（２）の領域Ａに格納された後は、インストラクションE1 E2 E3 E4に対応する制御コマンドをインストラクションレジスタ（１）を通してマッピングメモリ（２）に供給するだけでよく、第４図Ｂに示すように、シーケンサ（３）から出力される読出しアドレスに基づいて１回のインストラ

(5)9クションフェッチFMを行なうだけで、第４図Ａに示す処理と同じ処理を行なうことができるインストラクション
E1 E2 E3 E4をフェッチすることができる。この結果、全体としての処理所要時間中に占めるインストラクションフェッチ時間の割合いを著しく小さくすることができ、処理能力を著しく向上させることができる。特に新たに格納されたインストラクションの実行頻度が高い場合には、処理能力を一層向上させることができる。
第５図はマイクロプログラムメモリ（４）の他の構成を示す概略図であり、上記実施例と異なる点は、領域Ａに外部プログラムメモリ（11）または外部データメモリ（12）からマイクロインストラクションを取込んでマイクロプログラムメモリ（４）に格納するためのマイクロインストラクションELが予め格納されている点のみであり、他の部分の構成は同一である。
したがって、この場合には、マッピングメモリ（２）に格納される、取込みのためのハッシュジャンプアドレス
FMO,取込まれるマイクロインストラクションのためのハッシュジャンプアドレスFMnおよびマイクロインストラ
クション格納アドレスをマイクロインストラクションELとしてあらかじめ設定しておくだけでよく、シーケンサ（３）により上記マイクロインストラクションELを指定して読出し、パイプラインレジスタ（５）を通してCPU（７）に供給して所望のマイクロインストラクションをマイクロプログラムメモリ（４）に格納することができる。尚、上記ハッシュジャンプアドレスFMnおよびマイクロインストラクション格納アドレスについては、マイクロインストラクションが格納される毎に自動的に更新されるようにしてある。
上記何れの実施例のコンピュータにおいても、ソフトウェア開発の機能仕様を実現する場合において汎用コンピュータのために予め開発されているソフトウェア資産、デバッグツール等を利用することができるので、短時間で目標とする機能仕様を達成することができる。そして、ハードウェア設計においても、汎用コンピュータのために開発された周辺機器、例えば、CRTコントロー
ラ、ディスクコントローラ、DMA、MMU、PIO等を利用することができる。さらに予め設定されている基本命令により利用可能な開発環境が利用可能であるとともに、追加または修正されるインストラクションにより複数の汎用コンピュータに対するアプリケーションソフトウェアを実行することも可能である。
尚、この発明は上記の実施例に限定されるものではなく、例えば、マッピングメモリ（２）およびマイクロプログラムメモリ（４）が、イニシャル・プログラム・ローディング用マイクロプログラムメモリから初期化時にロードされるものであってもよく、この場合には、イニシャル・プログラム・ローディング用マイクロプログラムメモリを交換することにより基本命令を変更することが可能になる。

1020304050

特公平７−３１５９８10また、上記コンピュータ（Ｃ）の外部機器との接続端子の配列、規格は汎用コンピュータと同一に設定されていれば、コンピュータ（Ｃ）のみを交換するだけで、著しく処理能率が高いシステムを構築することができる。
さらに、上記コンピュータ（Ｃ）としては、ビット・スライス・プロセッサであることが最も好ましいが、マイクロプログラム制御されるコンピュータであれば適用可能である。但し、固定語長プロセッサの場合には、複数のインストラクションを１インストラクション化することはできないが、予め設定されているインストラクション以外のインストラクションを設定することができる。
＜発明の効果＞
以上のように第１の発明は、所期の機能仕様を満足させるコンピュータを短期間で開発することができるとともに、既存のソフトウェア資産、ハードウェア資産、開発環境の有効活用を達成することができ、しかも汎用性を損なうことなく、インストラクションフェッチ回数削減に起因する処理能力を向上させることができるという特有の効果を奏する。
第２の発明は、開発当初のインストラクション、マッピングデータがそのまま保存されることになるので、コンピュータのために開発されたソフトウェア資産およびハードウェア資産、即ち、基本命令セットにより制御可能なソフトウェア、周辺機器等を全て有効利用することができ、しかも余剰領域に格納された新たなインストラクション、マッピングデータに基く処理をも遂行することに伴なう処理能力の向上をも達成することができるという特有の効果を奏する。
第３の発明は、マッピングデータに基づいてロードインストラクションを指定するだけで簡単に所期の機能仕様を達成するコンピュータを得ることができるという特有の効果を奏する。
第４の発明は、インストラクションおよびマッピングデータを取込ませるために特別の処理を行なう必要がなくなるとともに、外部媒体を変更するだけで、コンピュータ自体を任意の基本命令セットを有する状態にすることができるという特有の効果を奏する。
【図面の簡単な説明】
第１図はこの発明のコンピュータの一実施例を示すブロック図、第２図はマイクロプログラムメモリの構成を概略的に示す図、第３図はマッピングメモリの構成を概略的に示す図、第４図はインストラクションフェッチとインストラクシ
ョン実行との関係を示す概略図、第５図はマイクロプログラムメモリの他の構成を示す概略図。
（２）……マッピングメモリ、（４）……マイクロプログラムメモリ

(6)

【第１図】

特公平７−３１５９８

(7)

【第２図】

【第５図】

【第３図】

特公平７−３１５９８【第４図】