(57)【特許請求の範囲】
【請求項１】
プログラムおよびデータを記憶するサービスを提供する１つ又は複数の他の部材と並行に動作できる記憶部材と、
プログラムの運行を管理・制御し、プログラムの命令を復号化して指定された処理を実行するサービスを提供する１つ又は複数の他の部材と並行に動作できる操作制御部材と、
前記記憶部材に駐在しているプログラムのアドレス情報と占用するデータ領域情報が記録される情報ユニットと、前記記憶部材および前記操作制御部材による一時的な中間処理結果が記録される情報ユニットとからなるプログラム実行駆動装置を、１つの部材から他の部材に配送するサービスを提供する１つ又は複数の他の部材と並行に動作できる配送部材と、
をそれぞれ独立に備えた単一のコンピュータプロセッサが、同一の時刻に複数のプログラムを並行して実行することを可能としたコンピュータプログラム／命令の実行を駆動する駆動方法であって、
実行するプログラムのそれぞれについて、
前記記憶部材に駐在している該プログラムのアドレス情報と占用するデータ領域情報が記録されたプログラム実行駆動装置を生成する段階と、
少なくとも、
前記記憶部材が、前記プログラム実行駆動装置に記録されたアドレス情報に基づいて該プログラムの命令を取り出し、前記取り出された命令を該プログラム実行駆動装置に記録するとともに、該プログラム実行駆動装置を次に配送する行先部材情報として、前記操作制御部材を該プログラム実行駆動装置に記録し、
前記操作制御部材が、前記プログラム実行駆動装置に記録された命令を復号化して指定された処理を実行し、前記実行された結果を該プログラム実行駆動装置に記録するとともに、該プログラム実行駆動装置を次に配送する行先部材情報として、前記復号化された命令により決定される配送先の部材を該プログラム実行駆動装置に記録し、
前記配送部材が、前記記憶部材および前記操作制御部材のそれぞれから、前記プログラム実行駆動装置に記録された前記行先部材情報に基づいて該プログラム実行駆動装置を指定された部材に配送することを、
前記操作制御部材が、該プログラム実行駆動装置に終了命令が記録されるまで、繰り返し実行する段階と、
前記操作制御部材が、該プログラム実行駆動装置に記録された命令が終了命令である場合に、該プログラム実行駆動装置を削除し、該プログラムの実行を終了させる段階と、
を含むことを特徴とする、コンピュータプログラム/命令の実行を駆動する駆動方法。
【請求項２】
前記記憶部材は、
プログラムの読み出し/書き込みに係るサービスを提供するプログラム記憶部材MPと、
データの読み出し/書き込みに係るサービスを提供するデータ記憶部材MDと、
を含み、
前記操作制御部材は、
前記プログラム実行駆動装置に記録されたプログラムの命令に基づいて、プログラムの運行を継続させる、または、プログラムの運行を終了させるために前記プログラム実行駆動装置を削除するなどのプログラムの運行を管理・制御するサービスを提供するプログラム管理部材PMと、
命令を復号化し、指定された処理を実行するために前記プログラム実行駆動装置の行先部材情報を設定するサービスを提供する命令復号化部材ITと、
算術/論理演算に係るサービスを提供する算術/論理演算部材ALUと、
外部機器を管理・制御するサービスを提供する外部機器管理部材PDと、
を少なくとも含む、
請求項１に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
【請求項３】
前記各部材（配送部材DUを除く）は、それぞれ入力キューと出力キューとを有し、入力キューが非エンプティーである場合に、該入力キューの先頭にあるプログラム実行駆動装置を取り出して指定されたサービスを実行し、一時的な中間処理結果を該プログラム実行駆動装置に書き込んで、サービス完了の該プログラム実行駆動装置を出力キューに格納することを特徴とする、請求項２に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
【請求項４】
前記プログラム実行駆動装置を生成する段階は、前記生成されたプログラム実行駆動装置を前記プログラム管理部材PMの出力キューに格納するようにしたことを特徴とする、請求項３に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
【請求項５】
前記プログラム実行駆動装置の構成は、
0005336076.tif 000020
ユニット０―ユニット６：実行時の動作ユニットである、すなわち本プログラムが実行する過程に一時的な中間処理結果を格納するためのユニットであり、０番目のユニットは、NEXTユニットと呼ばれ、本プログラム実行駆動装置が次にアクセスする機能部材の番号である；
ユニット７：プログラム記憶部材の部材番号（MPno）であり、本プログラムが常駐されているプログラム記憶部材の部材番号を格納するためのものである；
ユニット８：プログラム記憶部材の部材個数（MPnu）であり、本プログラムの占用する連続なプログラム記憶部材の個数を格納することに用いられるものである；
ユニット９：プログラム記憶部材の部材内アドレス（PC）であり、本プログラムの現在実行している命令のプログラム記憶部材の部材内アドレスを格納するためのものである；
ユニット１０：データ記憶部材の部材番号（MDno）であり、本プログラムの所要のデータ記憶部材の部材番号を格納するためのものである；
ユニット１１：データ記憶部材の部材個数（MDnu）であり、本プログラムの占用する連続なデータ記憶部材の個数を格納することに用いられるものである；
ユニット１２：プログラム番号（PrNo）であり、各プログラムを識別するためのものである；
ユニット１３−ユニット２８：１６個の汎用レジスター（R0-R15）である；
を有することを特徴とする、請求項１に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
【請求項６】
前記配送部材DUは、前記プログラム管理部材PMの出力キューが非エンプティーであり、且つ該出力キューのヘッダにあるプログラム実行駆動装置のNEXTユニットに指示されたプログラム記憶部材MPの入力キューが非フルであることを検出した場合に、前記プログラム管理部材PMの出力キューのヘッダのプログラム実行駆動装置を該当するプログラム記憶部材MPの入力キューに配送し、
前記プログラム記憶部材MPは、その入力キューが非エンプティーであることを検出した場合に、該入力キューのヘッダにあるプログラム実行駆動装置において指定されたPCアドレスに従って、該当するプログラム記憶部材から命令を読み取り、読み取った命令を該プログラム実行駆動装置のPCアドレスの差分を指示するユニットに格納し、
この時に該プログラム記憶部材MPの出力キューがフル状態である場合に、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、
前記配送部材DUは、前記プログラム記憶部材MPの出力キューが非エンプティーであり、且つ少なくとも１つの命令復号化部材ITの入力キューが非フルであることを検出した場合に、該プログラム記憶部材MPの出力キューのヘッダのプログラム実行駆動装置を該当する命令復号化部材ITの入力キューに配送し、
前記命令復号化部材ITは、その入力キューが非エンプティーであることを検出した場合に、該入力キューのヘッダにあるプログラム実行駆動装置に格納された命令に対して命令の復号化を行い、復号化した結果を該プログラム実行駆動装置の該当するユニットに格納し、
この時に該命令復号化部材ITの出力キューがフル状態である場合に、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、
前記配送部材DUは、前記命令復号化部材IT、前記算術/論理演算部材ALU及び前記データ記憶部材MDの何れか１つの出力キューが非エンプティーであり、且つ現在の出力キューのヘッダにあるプログラム実行駆動装置のNEXTユニットに指示された行先部材の入力キューが非フルであることを検出した場合に、該出力キューのヘッダのプログラム実行駆動装置を該行先部材の入力キューに配送し、
前記算術/論理演算部材ALUは、その入力キューが非エンプティーであることを検出した場合に、該入力キューのヘッダにあるプログラム実行駆動装置に指定された命令要求に従って算術/論理演算を実行し、演算した結果を該プログラム実行駆動装置の該当するユニットに格納し、
この時に該算術/論理演算部材ALUの出力キューがフル状態である場合に、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、
この時の行先部材が前記プログラム管理部材PMであり、
前記データ記憶部材MDは、その入力キューが非エンプティーであることを検出した場合に、該入力キューのヘッダにあるプログラム実行駆動装置において指定された部材内アドレスに従って該当するデータ記憶部材に対して読み出し/書き込み操作を行い、
読み出し操作であれば、読み出されたデータを該プログラム実行駆動装置の該当するユニットに格納し、
この時に該データ記憶部材MDの出力キューがフル状態である場合に、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、
この時の行先部材が前記プログラム管理部材PMであり、
前記プログラム管理部材PMは、その入力キューが非エンプティーであることを検出した場合に、該入力キューのヘッダにあるプログラム実行駆動装置において指定された命令要求に従って該当する操作を行い、
非END命令である場合に、前記プログラム実行駆動装置のPCアドレスの差分を指示するユニットは非０であり、該プログラム管理部材PMは、指定された命令要求に基づいて前記プログラム実行駆動装置のPCアドレスの値を補正し、補正した結果を該プログラム実行駆動装置の該当するユニットに格納し、この時に該プログラム管理部材PMの出力キューがフル状態である場合に、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、
END命令である場合に、前記プログラム実行駆動装置のPCアドレスの差分を指示するユニットは０であり、該プログラム管理部材PMの入力キューから該プログラム実行駆動装置を削除することを特徴とする、請求項５に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
【請求項７】
プログラムの読み出し/書き込みに係るサービスを提供するプログラム記憶部材MPと、
データの読み出し/書き込みに係るサービスを提供するデータ記憶部材MDと、
を有する、１つ又は複数の他の部材と並行に動作できる記憶部材と、
プログラムの運行を継続させるまたはプログラムの運行を終了させるなどのプログラムの運行を管理・制御するサービスを提供するプログラム管理部材PMと、
命令の復号化に係るサービスを提供する命令復号化部材ITと、
算術/論理演算に係るサービスを提供する算術/論理演算部材ALUと、
外部機器の管理や制御に係るサービスを提供する外部機器管理部材PDと、
を少なくとも含む、１つ又は複数の他の部材と並行に動作できる操作制御部材と、
前記プログラム記憶部材MPに駐在しているプログラムのアドレス情報と前記データ記憶部材MDの占用するデータ領域情報が記録される情報ユニットと、前記記憶部材および前記操作制御部材による一時的な中間処理結果が記録される情報ユニットとからなるプログラム実行駆動装置を、１つの部材から他の部材に配送するサービスを提供する１つ又は複数の他の部材と並行に動作できる配送部材DUと、
をそれぞれ独立に備えたコンピュータプロセッサであって、
実行するプログラムのそれぞれについて、
前記プログラム記憶部材MPに駐在している該プログラムのアドレス情報と前記データ記憶部材MDの占用するデータ領域情報が記録されたプログラム実行駆動装置を生成する機能と、
少なくとも、
前記プログラム記憶部材MPが、前記プログラム実行駆動装置に記録されたアドレス情報に基づいて該プログラムの命令を取り出し、前記取り出された命令を該プログラム実行駆動装置に記録するとともに、該プログラム実行駆動装置を次に配送する行先部材情報として、前記命令復号化部材ITを該プログラム実行駆動装置に記録し、
前記命令復号化部材ITが、前記プログラム実行駆動装置に記録された命令を復号化し、該プログラム実行駆動装置を次に配送する行先部材情報として、前記復号化された命令により決定される配送先の部材を該プログラム実行駆動装置に記録し、
前記算術／論理演算処理部材ALUが、前記プログラム実行駆動装置に指定された算術／論理演算を実行し、前記実行された結果を該プログラム実行駆動装置に記録するとともに、該プログラム実行駆動装置を次に配送する行先部材情報として、前記プログラム管理部材PMを該プログラム実行駆動装置に記録し、
前記配送部材DUが、前記記憶部材および前記操作制御部材のそれぞれから、前記プログラム実行駆動装置に記録された前記行先部材情報に基づいて該プログラム実行駆動装置を指定された部材に配送することを、
前記プログラム管理部材PMが、該プログラム実行駆動装置に終了命令が記録されるまで、繰り返す機能と、
前記プログラム管理部材PMが、該プログラム実行駆動装置に終了命令が記録されている場合に、該プログラム実行駆動装置を削除し、該プログラムの実行を終了させる機能と、
を有することを特徴とする、コンピュータプロセッサ。
【請求項８】
レジスターを前記プログラム実行駆動装置の構成部分として備えることを特徴とする、請求項７に記載のコンピュータプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ技術分野におけるコンピュータシステムアーキテクチュア技術領域に関する。具体的には、プログラム/命令の実行を駆動する駆動方法、及びこのような方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサであって、割込み動作を使用しない状態で、複数のプログラムを単一のコンピュータプロセッサで同時並行的に実行することを特徴とする。
【背景技術】
【０００２】
従来のコンピュータのシステムアーキテクチュアにおける最も重要な特徴は、プログラムに対して実行されるシステムアーキテクチュアは単一であり、すなわちいかなる時刻においてもただ１つのプログラムが１つのコンピュータプロセッサで実行されるということである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現代のコンピュータの実際の応用においては、１人のユーザが１つのコンピュータ（PC）上で複数のアプリケーションを呼び出し、複数のプログラムを実行する場合が普通である。エディタにて、ある文書を作成すると共に、ネットワークから１つ、甚だしくは同時に複数のピクチャをダウンロードし、更に１小節の音楽を再生し、アンチウィルスプログラムによってリアルタイムに監視し、キーボードを叩き、マウスマークを移動させるかもしれない。このユーザの要求を満足させるためには、１つのPCでは、すべてのプログラムを頻繁に切り替えるため、多くの時間を浪費せざるを得ないので、システムの全体性能が大きく低下する。これらは全て、従来のコンピュータ原理に基づいて設けられた従来のコンピュータプロセッサが同一の時刻に同一のコンピュータプロセッサで同時に複数のプログラムを並行して実行できないことによる。
【課題を解決するための手段】
【０００４】
これに鑑みて、本発明は、割込み動作を使用しない条件下、単一のコンピュータプロセッサ上で、同一の時刻に複数のプログラムを並行して実行可能とすることを特徴とする、プログラム/命令の実行を駆動する駆動方法（以下、「Ｌ駆動方法」という）、及びこのような方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサを提供するものである。ここで、１つのタイプのコンピュータプロセッサとは、１群の記憶部材と、１群の操作制御部材と、１群の配送部材とからなる単一のプロセッサをいう。
【０００５】
以上のようなプログラム/命令の実行を駆動するＬ駆動方法、及びこのような方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサは、プログラム毎にプログラムの実行を管理・制御する情報が記述されたプログラム実行駆動装置を生成し、生成されたプログラム実行駆動装置を処理内容に応じて対応する部材に配送して各部材が独立に動作することによって、複数のプログラムを同一の時刻に並行して実行できるようにしたものであって、複数のプログラムが単一のコンピュータプロセッサにて、互いに独立に又は互いに協調して管理・制御されることを特徴とする。ここで、１つのプログラムを構成する複数のルーチンやサブルーチンは、それぞれのプログラム実行駆動装置を有している。
【０００６】
各プログラムについて、実行可能なコードが生成されると、該プログラムのプログラム実行駆動装置が生成され、プログラム実行駆動装置は、少なくとも該プログラムの記憶部材上のアドレス情報と占用するデータ領域情報を定義したものであって、該プログラムの実行を管理・制御するための情報全体を含む。
上述のプログラム/命令の実行を駆動するＬ駆動方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサの基本的な構成は、以下の通りである。
１.システムのハードウェア部分は、以下の部材から構成される。
・プログラム記憶部材、データ記憶部材などのような、１つ又は複数の他の部材と並行に動作できる記憶部材；
・プログラム管理部材、命令復号化部材、算術/論理演算部材、外部機器管理部材などのような、１つ又は複数の他の部材と並行に動作できる操作制御部材；
・バス及びその制御部材などのような、部材同士の接続作用を発揮する、１つ又は複数の他の部材と並行に動作できる配送部材
前記各部材（配送部材を除く）は、一般に１つの入力キューと１つの出力キューとを有している。
システム中の全ての部材は、要求を受けた後、すなわち入力キューが非エンプティーである時に、指定のサービスを始動させ、その結果を出力キューに格納する。
あるサービスを要求された部材は、複数設置されると、いずれかの暇なものを選択できる。全部が忙しければ、暇になるものを待つ。
システムにおける部材は、独占型と非独占型に分けられる。独占型部材については、システムに予め設定されたり、又は一回目のサービスが要求された時に申請したりする。予め設定された結果や申請した結果は、該プログラムに対応するプログラム実行駆動装置のあるユニット中に保存される。
２.システムのソフトウェア部分は、１つの現代のコンピュータシステムにおける操作システムと類似するシステム管理プログラムからなる。該システム管理プログラムは、ある記憶部材に格納され、少なくともプログラムスケジュール機能を有すべきであり、少なくとも１つのプログラムスケジュールテーブルと呼ばれるデータ構造を有している。システムの初期起動の際に、システム管理プログラムのプログラム実行駆動装置がシステムのある操作制御部材に生成され、それは該プログラム実行駆動装置をアクティブにする、或は活性化することと呼ばれる。該システム管理プログラムのプログラム実行駆動装置は、システム管理プログラムを駆動し、複数のユーザプログラムのプログラム実行駆動装置を一つずつ生成する。その後、各ユーザプログラムのプログラム実行駆動装置は、互いに独立して又は協調して、同一の時刻にそれぞれのユーザプログラムを駆動し、同一のコンピュータプロセッサにて同時並行的に実行される。
【０００７】
上述のプログラム/命令の実行を駆動するＬ駆動方法、及びこのような方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサであって、該新規なコンピュータプロセッサの動作方法、すなわちプログラム実行駆動装置がプログラムを実行する方法は、以下の通りである。
１）１つのプログラムについて実行可能なコードが生成されると、システム管理プログラムは該プログラムの実行を駆動する駆動情報をプログラムスケジュールテーブルの関係する欄に書き込む。この時、該プログラムは、ある記憶部材に格納されて実行待機状態にある。
２）該プログラムについて、呼出して実行する条件が満足されると、システム管理プログラムは、該プログラムの常駐情報として、記憶部材に駐在している該プログラムのアドレス情報と占用するデータ領域情報が記録されたプログラム実行駆動装置を生成する。それにより、該プログラムは実行状態に入り、そのプログラム実行駆動装置が各部材において独立に管理及び制御され、該プログラムが独立に実行される。
３）生成されたプログラム実行駆動装置は、保存された該プログラムの常駐情報（例えばプログラム記憶部材番号、部材内アドレスPC等）に従って、対応する記憶部材から現在実行しようとしている命令を取り出すように制御する。
４）命令を取り出した後、該プログラム実行駆動装置は、ある操作制御部材が取り出された命令を復号化するように制御する。これによって対応する記憶部材から取り出された命令に従って、適当な操作制御部材が指定の処理を完成し、処理結果を対応する記憶部材に書き返すように制御する。
ここでの“復号化”は従来の復号化と多少の区別があり、詳細は後の部分で参照する。
取り出された命令の“復号化”の結果、得られた命令コード及び処理結果が共に該プログラム実行駆動装置のあるユニットに一時保存される。
５）最終的に、該プログラム実行駆動装置は、保存されているプログラム常駐情報に属するPCアイテムを、現在の命令に規定された方式に基づいて補正した後、ステップ３に移行して本プログラムの次の命令を実行するように制御する。
６）少なくとも、該プログラムの終了命令まで実行された場合には、終了フラグがセットされ、該プログラムのプログラム実行駆動装置は削除される。これによって、システム管理プログラムがアクティブになり、システム管理プログラムは、該プログラムについて適当な終了処理を施し、最終的にプログラムスケジュールテーブルから該プログラムの駆動情報を削除する。
【発明の効果】
【０００８】
上述したように、本発明のプログラム/命令の実行を駆動するＬ駆動方法によって設計された新規なコンピュータプロセッサは、命令レベルの並行処理を実現できる。実際に、複数のプログラムを同じ時刻に並行に実行することが、複数のプログラム実行駆動装置が同一の該タイプのコンピュータプロセッサにて互いに独立して又は互いに協調して管理・制御することによって実現される。
【０００９】
本発明のプログラム/命令の実行を駆動するＬ駆動方法によって設計された新規なコンピュータプロセッサは、命令レベルの資源共用を実現できる。システムの任意の部材は、現在所要されていなければ、いずれかのプログラムのプログラム実行駆動装置が実行する現在の命令に使用される。
【００１０】
本発明のプログラム/命令の実行を駆動するＬ駆動方法によって設計された新規なコンピュータプロセッサでは、生成されるプログラム実行駆動装置の個数は、システムに提供される資源の合計に比例している。システム資源が十分である場合は、生成されるプログラム実行駆動装置の数量は十分に多い。すなわち、システムは十分に多くのプログラムを同一時刻に同一のコンピュータプロセッサにて同時並行的に実行することを支持できる。
【００１１】
本発明のプログラム/命令の実行を駆動するＬ駆動方法によって設計された新規なコンピュータプロセッサは、従来のマルチコンピュータシステム、マルチプロセシングシステム及びマルチプロセッサシステムなどと本質的な違いがあり、他の並行処理技術（例えばオーバレイ技術、先行制御技術、マルチ操作部材技術、パイプライン技術、スーパーパイプライン技術、超長命令ワード技術、スーパレシオ技術、マルチスレッド技術など）を採用したコンピュータシステムとも本質的な違いがある。特に、本発明のコンピュータプロセッサ動作方法によって設計された新規なコンピュータプロセッサが、従来のマルチコンピュータシステムと区別されるのは、複数のプログラムが１台のコンピュータだけで実行され、複数のコンピュータに割当て実行されないことである。
【００１２】
例えば、マウス、キーボード、ディスプレイ等のシステムプログラム、ウイルスモニタ等のプログラム、及び該コンピュータを使用したユーザプログラムは、複数のコンピュータに割当て実行がなされず、１台のコンピュータ上だけで実行される。この場合に、従来のマルチコンピュータシステムでは、割込み切替方式にて複数のプログラムを１つの“マクロ”プログラムに変換して１台のコンピュータにて実行せざるを得ない。
【００１３】
本発明のプログラム/命令の実行を駆動するＬ駆動方法によって設計された新規なコンピュータプロセッサにおいては、割込み動作を使用しない状態で、単一コンピュータプロセッサにて、同一の時刻に上述の各プログラムを並行して実行できる。
【発明を実施するための最良の形態】
【００１４】
本発明によるコンピュータプログラム/命令の実行を駆動するＬ駆動方法に従って、１種類の新規な構造のコンピュータシステムアーキテクチュア及びコンピュータプロセッサ（以下、それぞれ「Ｌコンピュータシステムアーキテクチュア」及び「Ｌ構造プロセッサ」という）を作成できる。図１はその中の一実施形態のＬコンピュータシステムアーキテクチュアの原理的な模式ブロック図である。本願の目的は、１台の実用Ｌ構造プロセッサを設計することではなく、コンピュータプログラム/命令の実行を駆動するＬ駆動方法及びそのＬコンピュータシステムアーキテクチュア並びにＬ構造プロセッサの技術原理を述べて明らかにすることにあるので、原理的なシステムアーキテクチュア模式ブロック図について多くの簡略化を行っており、例えばクロック部、バス部等を省略し、I/Oインタフェース及び外部機器部について、ただ簡単に説明していることを理解されたい。
【００１５】
プログラム/命令の実行を駆動するＬ駆動方法及びこのような方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサの１つの最も重要な特徴は、プログラム毎にプログラム実行駆動装置を生成してプログラムを実行することである。ここに示す例において、プログラム実行駆動装置は、１群の情報ユニットからなる情報ブロックとして設計されている。システムハードウェアは、これらの情報ユニット群、すなわちプログラム実行駆動装置に定義された情報に基づいて、現在対応している命令の操作コードの要求に従って、対応する機能部材に順次アクセスし、指定された機能操作、即ち読み出し操作、演算操作、書込み操作等を行う。プログラム実行駆動装置の構成は以下の通りである。
0005336076.tif 000002
ここに示した例において、１つのプログラム実行駆動装置は２９個のユニットからなり、各構成ユニットの定義及び説明は以下の通りである。
ユニット０―ユニット６：実行時の動作ユニットである。すなわち本プログラムを実行する過程において一時的な中間処理結果を格納するためのユニットである。なお、０番目のユニット（NEXTユニットという）は本プログラム実行駆動装置に定義された情報に基づいて次にアクセスする機能部材の番号であり、ユニット１−６は現在駆動する命令によって異なり、その具体的な方法は各部材の機能を述べる時に詳細に説明する。特に、ユニット１はΔPCユニットとして用いられる場合がある。ΔPC＝０の時、現在の命令がEND命令であることを示し、ΔPC＝１の時、現在の命令が非ジャンプ型命令であることを示し、ΔPC＞１又はΔPC＜０の時、現在の命令がジャンプ型命令であることを示す。
ユニット７：プログラム記憶部材の部材番号（MPno）であり、本プログラムが駐在しているプログラム記憶部材の部材番号を格納するためのものである。
ユニット８：プログラム記憶部材の部材個数（MPnu）であり、１つのプログラムの占用プログラムスペースが１つのプログラム記憶部材の容量より大きい場合には、順次隣接する複数の連続するプログラム記憶部材に格納できる。プログラム記憶部材個数ユニットはプログラムの所要の連続するプログラム記憶部材の個数を格納することに用いられる。MPnuの値が１より大であれば、MPnoの値は第１番のプログラム記憶部材の部材番号である。
ユニット９：プログラム記憶部材の部材内アドレス（PC）であり、本プログラムが現在実行している命令のプログラム記憶部材の部材内アドレスを格納するためのものである。
ユニット１０：データ記憶部材の部材番号（MDno）であり、本プログラムが占用しているデータ記憶部材の部材番号を格納するためのものである。
ユニット１１：データ記憶部材の部材個数（MDnu）であり、１つのプログラムが必要とする占用データスペースが１つのデータ記憶部材の容量より大きい場合に、順次隣接する複数の連続するデータ記憶部材に格納できる。データ記憶部材個数ユニットは本プログラムの所要の連続なデータ記憶部材の個数を格納することに用いられる。MDnuの値が１より大であれば、MDnoの値は第１番のデータ記憶部材の部材番号である。
ユニット１２：プログラム番号（PrNo）であり、二つ以上の実行しているプログラムが共通に同一のプログラム記憶部材に格納されている場合に、本パラメータで各プログラムを識別する。
ユニット１３−ユニット２８：１６個の汎用レジスター（R0-R15）であり、本実施例では、１６個の汎用レジスター（R0-R15）がプログラム実行駆動装置の構成部分をなすように設計される。
【００１６】
従来のコンピュータプロセッサにおいては、一般的にレジスター群がハードウェア部材として設計されており、ハードウェアである電気記憶手段と読み出し/書き込み電気手段とから構成されている。区別するために、このようなレジスター群設計方式は、固定型レジスター群設計方式と呼ばれる。Ｌ構造プロセッサについては、固定型ハードウェア方式でレジスター群を設計してもよい。しかしながら、本実施例では、レジスター群はプログラム実行駆動装置の１つの構成部分として設計されており、且つプログラム実行駆動装置に従って各部材にアクセスされる。このようなレジスター群設計方式は、ダイナミック型レジスター群設計方式と呼ばれる。このように設計する利点は、読み出し/書き込みレジスターの伝送時間をなくすことだけではなく、各プログラムが同時にレジスター群にアクセスすることによるウェイト時間遅延をなくしたことである。欠点は資源の使用量が大きいことである。
【００１７】
図１は本発明の上述実施例に係るシステムの各ハードウェア機能部材を示す。これらの機能部材の主な機能及びその入力/出力であるプログラム実行駆動装置の内容は以下の通りである。
【００１８】
１.記憶部材
１）部材１：プログラム記憶部材MPと呼ばれ、プログラムの読み出し/書き込みに係るサービスを提供するために用いられる。独立して並行に動作できるMP部材が複数設けられる。各MP部材の主な機能は以下の通りである。
●MPは１つの入力キュー（queue）を有しており、本MP処理を請求する全てのプログラム実行駆動装置は該キュー中で待機している。MPは１つの出力キューも有しており、全ての処理されたプログラム実行駆動装置は該キュー中で待機し、DU部材の配送サービスを待つ。
●読み出し要求：現在のMPの入力キューヘッダにあるプログラム実行駆動装置が要求するものが読み出し操作であれば、該プログラム実行駆動装置から該プログラムの部材内アドレスPCを取り出してMPのアドレスレジスターに送り、MPの読み出し操作を始動させて該プログラムの現在の命令を読み取る。該MPの入力キューヘッダから取り出したプログラム実行駆動装置の該当するユニットに読み取った命令を書き込み、NEXTユニットをITとし、それを該MPの出力キューに移送する。
●書き込み要求：現在のMPの入力キューヘッダにあるプログラム実行駆動装置が要求するものが書き込み操作であれば、完成する必要がある操作はデータ記憶部材の書き込み操作と類似しているので、ここでは省略する。
●上述の処理過程を繰返す。現在のMPの入力キューがエンプティー又は出力キューがフルであれば、空操作を一回行う。
●MP部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容を示すと以下の通りである。
0005336076.tif 000003
ユニット０におけるMPrは、行先部材がMPであり、且つ「読み出し」操作を要求して実行することを示す。
ここで注意すべきことは、簡潔をはかるため、現在関わりのないプログラム実行駆動装置の構成ユニット、例えばユニット１−６を共に省略して居る、ということである。以下同様。
●MP部材の出力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容を示せば以下の通りである。ユニット１におけるIは読み出した現在の命令、例えばLDI R0,Cである。
0005336076.tif 000004
ここで注意すべきことは、本実施例においては、どのようにプログラム自身をプログラム記憶部材に書き込むのかという過程を省略しているので、関係するプログラム実行駆動装置の構成ユニットの内容も省略した、ということである。実際に、該過程は、データを該当するデータ記憶部材に書き込む過程と類似している。
２）部材２：データ記憶部材MDと呼ばれ、データ記憶部材の読み出し/書き込みに係るサービスを提供するために用いられる。独立して並行に動作できるMD部材が複数設けられる。各MD部材の主な機能は以下の通りである。
●MDは１つの入力キューを有しており、本MD処理を請求する全てのプログラム実行駆動装置は該キュー中で待機している。MDは１つの出力キューも有しており、全ての処理されたプログラム実行駆動装置は該キュー中で待機し、DU部材の配送サービスを待つ。
●読み出し操作：現在のMDの入力キューヘッダにあるプログラム実行駆動装置が要求するものが読み出し操作であれば、該プログラム実行駆動装置から該読み出し操作の部材内アドレスを取り出してMDのアドレスレジスターに送り、MDの読み出し操作を始動させて該当する記憶ユニットの内容を読み取る。前記プログラム実行駆動装置のあるユニットに読み取ったデータを書き込み、前記プログラム実行駆動装置に格納された現在の命令の規定に従って、前記プログラム実行駆動装置のNEXTユニット及びΔPCユニットを設定し、それを該MDの出力キューに移送する。
●書き込み操作：現在のMDの入力キューヘッダにあるプログラム実行駆動装置が要求するものが書き込み操作であれば、該プログラム実行駆動装置から該書き込み操作のデータ及び部材内アドレスを取り出し、それぞれMDのデータレジスター及びアドレスレジスターに送り、MDの書き込み操作を始動させてデータを該当する記憶部材に書き込む。前記プログラム実行駆動装置に格納された現在の命令の規定に従って、前記プログラム実行駆動装置のNEXTユニット及びΔPCユニットを設定し、それを該MDの出力キューに移送する。
●上述の処理過程を繰返す。現在のMDの入力キューがエンプティー又は出力キューがフルであれば、空操作を１回行う。
●MD部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は、IT部材の出力キューにおけるMDへ発信するプログラム実行駆動装置及びその構成ユニットの内容を参照できる。
●MD部材の出力キューにおけるPMへ発信するプログラム実行駆動装置及びその構成ユニットの内容を示せば以下の通りである。
0005336076.tif 000005
ここで、ユニット１はΔPCであり、現在の命令の現在値は１である。
【００１９】
２.操作制御部材
１）部材３：プログラム管理部材PMと呼ばれ、プログラム実行駆動装置の運行を管理・制御するサービスを提供するために用いられる。独立して並行に動作できるPM部材が複数設けられる。各PM部材の主な機能は以下の通りである。
●PMは１つの入力キューを有しており、本PM処理を請求する全てのプログラム実行駆動装置は該キュー中で待機している。PMは１つの出力キューも有しており、全ての処理されたプログラム実行駆動装置は該キュー中で待機し、DU部材の配送サービスを待つ。
●１つのプログラムのプログラム実行駆動装置の運行を始動する。システム管理プログラムが１つのプログラムのプログラム実行駆動装置の運行を始動することは、実際には該プログラムのプログラム実行駆動装置をPMの入力キューに書き込むことである。PMが該プログラム実行駆動装置の実行を開始させるには、NEXTユニットをMP（読み出し指令）としたプログラム実行駆動装置を該PMの出力キューへ書き込む。
●１つのプログラム実行駆動装置の運行を継続する。各プログラム実行駆動装置が１つのプログラムを駆動する現在の命令の実行の最終ステップは、PMへ復帰することである。現在の命令が終了命令でなければ、PMはプログラム実行駆動装置が引き続き運行されるように、PMの入力キューヘッダから取り出したプログラム実行駆動装置のユニット９←ユニット９＋ユニット１を行い、即ちPC←PC＋ΔPCとし、NEXTユニットをMPとし、それを該PMの出力キューへ書き込む。
●１つのプログラム実行駆動装置の運行を終了する。あるプログラムが１つの終了命令まで実行する場合に、PMは該プログラムのプログラム実行駆動装置を削除する、即ちPMの入力キューヘッダから該プログラムのプログラム実行駆動装置を取り出した後、該PMの出力キューへ書き込むことなく廃棄することで、該プログラムの実行を終了する。
ここで注意すべきことは、該プログラムは終了命令を実行する前に、１つ又は複数の資源解放型（resource-release-type）命令を実行しなければならないということである。
●上述の処理過程を繰返す。現在のPMの入力キューがエンプティー又は出力キューがフルであれば、空操作を１回行う。
●PM部材の入力キュー中に受け入れられたプログラム実行駆動装置及びその構成ユニットの内容を示せば以下の通りである。
0005336076.tif 000006
ここで、ユニット１はΔPCであり、その値は０、１、又はジャンプのオフセットである。
●PM部材の出力キュー中のMP部材へ発するプログラム実行駆動装置及びその構成ユニットの内容を示せば以下の通りである。
0005336076.tif 000007
ここで、ユニット０におけるMPrは、行先部材がMPであり且つ「読み出し」操作を要求して実行することを示す。
２）部材４：命令復号化部材ITと呼ばれ、命令の復号化に係るサービスを提供するために用いられる。独立して並行に動作できるIT部材が複数設けられる。各ITの主な機能は以下の通りである。
●ITは１つの入力キューを有しており、本IT処理を請求する全てのプログラム実行駆動装置は該キュー中で待機している。ITは１つの出力キューも有しており、全ての処理されたプログラム実行駆動装置は該キュー中で待機し、DU部材の配送サービスを待つ。
●命令の復号化を要求するプログラム実行駆動装置については、ITは、該ITの入力キューヘッダから取り出したプログラム実行駆動装置に格納されている現在の命令を復号化し、これによってNEXT等のユニットを設定し、それを該ITの出力キューに移送する。
●上述の処理過程を繰返す。現在のITの入力キューがエンプティー又は出力キューがフルであれば、空操作を１回行う。
●IT部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容を示せば以下の通りである。ここで、ユニット１におけるIは読み出した現在の命令、例えばLDI R0, Cである。
0005336076.tif 000008
●以下に示すように、IT部材の出力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は現在の命令Iによって異なる。
・ITからPMへ発するプログラム実行駆動装置及び構成ユニットの内容：
LDI Rd, C
0005336076.tif 000009
ここで、ユニット１はΔPCであり、現在の命令の現在値は１である。
MV Rd, Rs
0005336076.tif 000010
ここで、ユニット１はΔPCであり、現在の命令の現在値は１である。
・ITからMDへ発信するプログラム実行駆動装置及び構成ユニットの内容は、以下の通りである。
LD Rd, Rs
0005336076.tif 000011
ここで、ユニット０におけるMDrは行先部材がMDであり、且つ「読み出し」操作を要求して実行することを示し、ユニット２，３における[Rd]及び[Rs]はレジスターRd及びレジスターRs中の内容を示す。
STI Rd, C
0005336076.tif 000012
ここで、ユニット０におけるMDIwは行先部材がMDであり、且つ「即時値の書き込み」操作を要求して実行することを示し、ユニット２における[Rd]はレジスターRd中の内容を示す。
ST Rd, Rs
0005336076.tif 000013
ここで、ユニット０におけるMDwは行先部材がMDであり、且つ「書き込み」操作を要求して実行することを示し、ユニット２，３における[Rd]及び[Rs]はレジスターRd及びレジスターRs中の内容を示す。
・ITからALUへ発するプログラム実行駆動装置及び構成ユニットの内容は、以下の通りである。
ADDI Rd, C
0005336076.tif 000014
ここで、ユニット０におけるALUI+は行先部材がALUであり、且つ「即時値の加算」操作を要求して実行することを示す。SUBI、MULI、DIVI等の命令について、その該当するプログラム実行駆動装置及び構成ユニットの内容はこれと類似し、ユニット０だけをそれぞれALUI−、ALUI*、ALUI÷とする。
ADD Rd, Rs1, Rs2
0005336076.tif 000015
ここで、ユニット０におけるALU+は行先部材がALUであり、且つ「加算」操作を要求して実行することを示し、SUB、MUL、DIV等はこれと類似している。
JEQI Rs, C
0005336076.tif 000016
ここで、ユニット０におけるALUIjは行先部材がALUであり、且つ「即時値のジャンプ判断」操作を要求して実行することを示し、JNEI等はこれと類似している。
JEQ Rs1, Rs2
0005336076.tif 000017
ここで、ユニット０におけるALUjは行先部材がALUであり、且つ「ジャンプ判断」操作を要求して実行することを示し、JNE等はこれと類似している。
SLT Rd, Rs1, Rs2
0005336076.tif 000018
ここで、ユニット０におけるALUsltは行先部材がALUであり、且つ「設置不満」操作を要求して実行することを示し、SLE、SGT、SGE、SEQ、SNE等はこれと類似している。
３）部材５：算術/論理演算部材ALUと呼ばれ、算術/論理演算に係るサービスを提供するために用いられる。独立して並行に動作できるALU部材が複数設けられる。各ALU部材の主な機能は以下の通りである。
●ALUは１つの入力キューを有しており、本ALU処理を請求する全てのプログラム実行駆動装置は該キューで待機している。ALUは１つの出力キューも有しており、全ての処理されたプログラム実行駆動装置は該キューで待機し、DU部材の配送サービスを待つ。
●ALUに算術/論理演算のサービスを要求する前に、プログラム実行駆動装置は該命令が要求する演算コードを用意し、且つプログラム実行駆動装置の該当するユニットに格納するように制御する。ALUは、該ALUの入力キューヘッダから取り出したプログラム実行駆動装置に格納されている該当する演算コードに対し、要求される算術/論理演算を行い、結果を該プログラム実行駆動装置の該当するユニットに格納し、前記プログラム実行駆動装置に格納された現在の命令の規定に従って、前記プログラム実行駆動装置のNEXTユニット及びΔPCユニットを設定し、それを該ALUの出力キューに移送する。
●上述の処理過程を繰返す。現在のALUの入力キューがエンプティー又は出力キューがフルであれば、空操作を１回行う。
●ALU部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は、IT部材の出力キューにおける、ALUへ発信するプログラム実行駆動装置及びその構成ユニットの内容を参照できる。
●ALU部材の出力キューにおけるプログアム実行駆動装置及びその構成ユニットの内容を示せば以下の通りである。
0005336076.tif 000019
ここで、ユニット１はΔPCであり、その値は１又はジャンプのオフセットである。
４）部材６：外部機器管理部材PDと呼ばれ、外部機器、例えばディスプレイ、キーボード、マウス、プリンタ、通信機器などの機器を管理し、ホストとデータ入力/出力のサービスを提供するために用いられる。
３．配送部材
１）部材７：配送部材DUと呼ばれ、プログラム実行駆動装置を１つの部材の出力キューからもう１つの部材の入力キューへ配送する転送及び配送サービスを提供するために用いられる。独立して並行に動作できるDU部材が複数設けられる。各DU部材の主な機能は以下の通りである。
●DUは、予定された順序に従って各部材群の各部材の出力キューが非エンプティーであるかどうかを１つ１つチェックする。ある非エンプティーである出力キューについて、DUは、該出力キューヘッダにあるプログラム実行駆動装置を取り出し、該プログラム実行駆動装置のNEXTユニットに指示された行先部材群番号及び行先部材番号に従って、該行先部材群の行先部材の入力キューが非フルであるかどうかをチェックし、非フルであれば、該プログラム実行駆動装置を該行先部材群の行先部材の入力キューへ配送する。
ここで注意すべきことは、以上の処理方式はPM、MP及びMDに対するものである、ということである。IT及びALUについて、該部材からいずれかの入力キューが非フルである部材を選択すればよい。
●上述の処理過程を繰返す。すべての部材群のすべての部材の出力キューが共にエンプティーである、或いは出力キューは非エンプティーであるが、該当する入力キューが共にフルであれば、空操作を１回行う。
図１は又本発明の上述の実施例におけるシステムの各部材の接続関係も示しており、部材１乃至６は、それぞれの１又は２組の信号線を介してそれぞれの入力キューの終わり及び出力キューの始めを部材７に接続している。
【００２０】
図２は本発明の上述の実施例の部材７の構造ブロック図である。部材７は複数のデータ入力ポート、複数のデータ出力ポート、コミュニケーションネットワーク装置及び制御管理装置などからなる。部材７の制御管理装置は、ストローブの制御及び管理、例えば各ポートの繁閑の検出、プライオリティの確定、ルートの選択などに用いられる。部材７のコミュニケーションネットワーク装置は、複数のデータ入力ポートを複数のデータ出力ポートに接続するために用いられる。該コミュニケーションネットワーク装置の設計は多くの方法を採用でき、以下にその中の代表的な２種類を挙げる。
【００２１】
図３は、本発明の上述の実施例における配送部材のコミュニケーションネットワーク装置のクロス相互連絡方式の構造ブロック図である。部材７のコミュニケーションネットワーク装置はクロス相互連絡構造を採用し、いずれかの入力ポートは共に全ての又は一部の出力ポートに互いに接続されている。
【００２２】
図４は、本発明の上述の実施例における配送部材のマルチバス相互連絡方式の構造ブロック図である。部材７のコミュニケーションネットワーク装置はマルチバス構造を採用し、すべての入力ポートと出力ポートとは、幾つかの組に分けられて、それぞれが１つのバスに接続され、バス間は更にクロス相互連絡されている。
【００２３】
図５は、本発明の上述の実施例の動作フローチャートであり、新規なコンピュータプロセッサにおけるプログラム実行駆動装置の動作フローチャートである。その具体的なステップは以下の通りである。
ステップS1：システムの初期起動（RESET）の際に、少なくとも１つのプログラム、例えばシステム管理プログラムのプログラム実行駆動装置を、あるプログラム管理部材PMの出力キュー中に格納する。次に、ステップS2に移行する。
ステップS2：DU部材は、あるPM部材の出力キューが非エンプティーであり、且つキューヘッダにあるプログラム実行駆動装置のNEXTユニットに指示されている行先部材MPの入力キューが非フルであることを検出した場合に、該PM部材の出力キューヘッダのプログラム実行駆動装置を該当するMP部材の入力キューに配送して該部材の処理を待つ。次に、ステップS3に移行する。
ステップS3：MP部材は、その入力キューが非エンプティーであることを検出した場合に、入力キューヘッダのプログラム実行駆動装置を取り出し、PCユニットに指定されたPCアドレスに従って、対応するプログラム記憶部材から命令を読み取り、読み取った命令を該プログラム実行駆動装置のユニット１に格納する。この時に該MP部材の出力キューがフル状態であれば、それがエンプティーになるのを待つ。エンプティーになった時には、処理が終了したプログラム実行駆動装置をその出力キュー中に移送し、DUの配送処理を待つ。次に、ステップS4に移行する。
ステップS4：DU部材は、あるMP部材の出力キューが非エンプティーであり、且つキューヘッダにあるプログラム実行駆動装置のNEXTユニットに指示されている行先部材がITであり、少なくとも１つのIT部材の入力キューが非フルであることを検出した場合に、該MP部材の出力キューヘッダのプログラム実行駆動装置を該当するIT部材の入力キューに配送して該部材の処理を待つ。次に、ステップS5に移行する。
ステップS5：IT部材は、その入力キューが非エンプティーであることを検出した場合に、入力キューヘッダにあるプログラム実行駆動装置を取り出し、格納された命令に対して命令の復号化を行い、該復号化された結果を該プログラム実行駆動装置の該当するユニット中に格納する。この時に該IT部材の出力キューがフル状態であれば、それがエンプティーになるのを待つ。エンプティーになった時には、処理が終了したプログラム実行駆動装置をその出力キュー中に移送し、DUの配送処理を待つ。次に、ステップS6に移行する。
ステップS6：DU部材は、ある部材、すなわちIT、ALU及びMDのいずれか一つの部材の出力キューが非エンプティーであり、且つ現在のキューヘッダにあるプログラム実行駆動装置のNEXTユニットに指示された行先部材の入力キューが非フルであることを検出した場合に、該部材の出力キューヘッダのプログラム実行駆動装置を該当する行先部材の入力キューに配送して該部材の処理を待つ。この時の行先部材には３種類があり、一つ目はあるALU部材であり、この時の行先ALU部材はいずれかの出力キューがエンプティーになったALU部材であってもよい。次に、ステップS7に移行する。二つ目はあるMD部材であり、この時の行先部材MDは該プログラム実行駆動装置のNEXTユニットに特定されたMD部材でなければならない。次に、ステップS8に移行する。三つ目はあるPM部材であり、この時の行先部材PMは該プログラム実行駆動装置のNEXTユニットに特定されたPM部材でなければならない。次に、ステップS9に移行する。
ステップS7：ALU部材は、その入力キューが非エンプティーであることを検出した場合に、入力キューヘッダにあるプログラム実行駆動装置を取り出し、NEXTユニットの命令に従って、該プログラム実行駆動装置中の該当するユニットに保存されている操作コードに対し、指定された算術/論理演算を実行し、演算結果を該プログラム実行駆動装置の該当するユニットに格納する。この時に該ALU部材の出力キューがフル状態であれば、それがエンプティーになるのを待つ。エンプティーになった時に、処理が終了したプログラム実行駆動装置をその出力キュー中に移送し、DUの配送処理を待つ。次に、ステップS6に移行する。
ステップS8：MD部材は、その入力キューが非エンプティーであることを検出した場合に、入力キューヘッダにあるプログラム実行駆動装置を取り出し、NEXTユニットの読み出しや書き込み命令、及び該プログラム実行駆動装置のあるユニットに指定された部材内アドレスに従って、対応するデータ記憶部材について該プログラム実行駆動装置のあるユニットのデータに対して読み出し/書き込み操作を行う。読み出し操作であれば、読み出されたデータは該プログラム実行駆動装置のあるユニットに格納する。この時該MD部材の出力キューがフル状態であれば、それがエンプティーになるのを待つ。エンプティーになった時に、処理が終了したプログラム実行駆動装置をその出力キュー中に移送し、DUの配送処理を待つ。次に、ステップS6に移行する。
ステップS9：PM部材は、その入力キューが非エンプティーであることを検出した場合に、入力キューヘッダにあるプログラム実行駆動装置における命令要求に従って該当する操作を行う。１）非END命令：この時にΔPCは非０であり、PMは要求に基づいてそのPC等のユニットの値を補正し、補正した結果を該プログラム実行駆動装置の該当するユニットに格納する。この時、該PM部材の出力キューがフル状態であれば、それがエンプティーになることを待つ。エンプティーになった時に、処理が終了したプログラム実行駆動装置をその出力キュー中に移送し、DUの配送処理を待つ。２）END命令：この時にΔPCユニットは０であり、PMを該当する終了フラグとし、入力キュー中から該プログラム実行駆動装置を削除し、システム管理プログラムをアクティブにして他のプログラムをスケジューリングして実行する。
【００２４】
システムのソフトウェア部分は１つの簡潔化されたシステム管理プログラムからなる。主に本発明の技術原理を説明するために、該システム管理プログラムは簡潔化されたプログラムスケジュール機能だけを備えており、そのために１つのプログラムスケジュールテーブルを有している。システムの初期起動の場合は、該システム管理プログラムのプログラム実行駆動装置をシステムのPM部材中にロードする。該プログラム実行駆動装置はシステム管理プログラムを駆動し、ユーザプログラムのプログラム実行駆動装置を一つずつアクティブにする。
【００２５】
上述の内容は本発明の技術思想の一部、基本的な説明だけである。本発明中に提出された駆動コンピュータプログラム/命令を実行するＬ駆動方法に基づくコンピュータプロセッサを設計する方式及び方法には多くの種類があり、プログラム実行駆動装置を実現する方式及び方法、並びにプログラム実行駆動装置でプログラムの実行を管理制御する方式及び方法には、多くの種類がある。当業者が本発明に示唆された技術範囲内の容易に想到可能な変換や置換も、すべて本発明の保護範囲に含まれるべきである。
簡潔化した命令システム
MOVE命令：    MOV   Rd,Rs          Rd←Rs
LOAD命令：    LD    Rd,Rs          Rd←DM[Rs]
LDI   Rd，C          Rd←C
STORE命令：   ST    Rd,Rs          DM[Rd]←Rs
STI   Rd,C           DM[Rd]←C
ジャンプ命令：JEQ   Rs1,Rs2        IF(Rs1=0) PC←PC+Rs2 ELSE PC←PC+1
JNE   Rs1,Rs2        IF(Rs1≠0) PC←PC+Rs2 ELSE PC←PC+1
JEQI  Rs1,C          IF(Rs1=0) PC←PC+C   ELSE PC←PC+1
JNEI  Rs1,C          IF(Rs1≠0) PC←PC+C  ELSE PC←PC+1
演算命令：    ADD   Rd,Rs1,Rs2     Rd←Rs1+Rs2
SUB   Rd,Rs1,Rs2     Rd←Rs1-Rs2
MUL   Rd,Rs1,Rs2     Rd←Rs1*Rs2
ADDI  Rs,C           Rs←Rs+C
SUBI  Rs,C           Rs←Rs-C
MULI  Rs,C           Rs←Rs*C
論理命令：    OR    Rd,Rs1,Rs2     Rd←Rs1 OR  Rs2
AND   Rd,Rs1,Rs2     Rs←Rs1 AND Rs2
ORI   Rs,C           Rs←Rs  OR  C
ANDI  Rs,C           Rs←Rs  AND C
セット命令：  SLT   Rd,Rs1,Rs2     IF(Rs1< Rs2) Rd←1 ELSE Rd←0
SLE   Rd,Rs1,Rs2     IF(Rs1<=Rs2) Rd←1 ELSE Rd←0
SGT   Rd,Rs1,Rs2     IF(Rs1> Rs2) Rd←1 ELSE Rd←0
SGE   Rd,Rs1,Rs2     IF(Rs1>=Rs2) Rd←1 ELSE Rd←0
SEQ   Rd,Rs1,Rs2     IF(Rs1= Rs2) Rd←1 ELSE Rd←0
SNE   Rd,Rs1,Rs2     IF(Rs1≠Rs2) Rd←1 ELSE Rd←0
資源管理命令：GETMD Rd,Rs          [Rs]個の連続なMD部材を占用することを申請し、
Rd←許可されたMD部材番号。
GETMDI Rd,C          C個の連続なMD部材を占用することを申請する。
Rd←許可されたMD部材番号。
RETMD  Rs1,Rs2       [RS1]からの[Rs2]個の連続なMD部材を解放する
ことを申請する。
GETMDI Rs,C          [RS1]からの C個の連続なMD部材を解放する
ことを申請する。
終了命令：    END                  プログラムが終了する。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態のシステムアーキテクチュアの原理的な模式ブロック図である。
【図２】本発明の上述実施形態におけるプログラム実行駆動装置の配送部材の構造ブロック図である。
【図３】本発明の上述実施形態における配送部材のコミュニケーションネットワーク装置のクロス相互連絡方式の構造ブロック図である。
【図４】本発明の上述実施形態における配送部材のコミュニケーションネットワーク装置のマルチバス相互連絡方式の構造ブロック図である。
【図５】本発明の上述実施形態の動作フローチャートである。
【図１】
0005336076.tif 000021
【図２】
0005336076.tif 000022
【図３】
0005336076.tif 000023
【図４】
0005336076.tif 000024
【図５】
0005336076.tif 000025