JP2008504615A - プログラム/命令の実行を駆動するl駆動方法及びそのシステムアーキテクチュア、並びにプロセッサ - Google Patents

プログラム/命令の実行を駆動するl駆動方法及びそのシステムアーキテクチュア、並びにプロセッサ Download PDF

Info

Publication number
JP2008504615A
JP2008504615A JP2007518438A JP2007518438A JP2008504615A JP 2008504615 A JP2008504615 A JP 2008504615A JP 2007518438 A JP2007518438 A JP 2007518438A JP 2007518438 A JP2007518438 A JP 2007518438A JP 2008504615 A JP2008504615 A JP 2008504615A
Authority
JP
Japan
Prior art keywords
program
program execution
unit
queue
execution drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007518438A
Other languages
English (en)
Other versions
JP5336076B2 (ja
Inventor
曉波 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2008504615A publication Critical patent/JP2008504615A/ja
Application granted granted Critical
Publication of JP5336076B2 publication Critical patent/JP5336076B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Programmable Controllers (AREA)

Abstract

本発明はコンピュータ技術分野におけるコンピュータシステムアーキテクチュア技術に関する。具体的には、コンピュータプログラムの実行を駆動する駆動方法、及びこのような方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサである。本発明は、割込み動作を使用しない状態で、1つのタイプのコンピュータプロセッサにて同一の時刻に複数のプログラムを並行して実行可能とすることを1つの特徴とする。ここでの単一プロセッサとは、1群の命令制御部材と、1群の操作制御部材と、1つのプログラム及び1群のデータ記憶部材と、1群のコミュニケーション部材とからなる単一なプロセッサをいう。本発明は、プログラム毎にプログラム実行駆動装置を引き込むことで、複数のプログラムを同一の時刻に並行して実行することを、複数のプログラムが同一の該タイプのコンピュータプロセッサにて互いに独立したり又は互いに協調したりして管理・制御することをもう1つの特徴とする。本発明は、SCM、DSP、CPUなどのコンピュータプロセッサを設計することに用いられる。
【選択図】図1

Description

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

簡潔化した命令システム
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 プログラムが終了する。
本発明の一実施形態のシステムアーキテクチュアの原理的な模式ブロック図である。 本発明の上述実施形態におけるプログラム実行駆動装置の配送部材の構造ブロック図である。 本発明の上述実施形態における配送部材のコミュニケーションネットワーク装置のクロス相互連絡方式の構造ブロック図である。 本発明の上述実施形態における配送部材のコミュニケーションネットワーク装置のマルチバス相互連絡方式の構造ブロック図である。 本発明の上述実施形態の動作フローチャートである。

Claims (11)

  1. 割込み動作を使用しない状態で、1つの該タイプのコンピュータプロセッサに、同一の時刻に複数のプログラムを並行して実行することが可能となることを特徴とするプログラム/命令の実行を駆動するL駆動方法と呼ばれる駆動コンピュータプログラムを実行する駆動方法、及びこのような方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサ。
  2. プログラム毎のためにプログラム実行駆動装置を引入することで、複数のプログラムが同一な時刻に並行して実行されるのを、複数のプログラムが同一な該タイプのコンピュータプロセッサにて互いに独立したり互いに協調したりして管理・制御することを特徴とする請求項1に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
  3. 各プログラムは実行可能コードを生成すると共に、該プログラムのプログラム実行駆動装置を生成し、
    プログラム実行駆動装置は少なくとも該プログラムの属性特徴を説明・定義し、該プログラムの実行を管理・制御するための相関情報全体を含んでおり、
    1つのプログラムを構成する複数のルーチンやサブルーチンはそれぞれのプログラム実行駆動装置を有していることを特徴とする請求項1又は2に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
  4. プログラム/命令の実行を駆動するL駆動方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサであって、
    該タイプのコンピュータプロセッサの基本的な構成は、
    1)システムのハードウェア部分は、1つ又は複数の並行に動作できる記憶部材と、1つ又は複数の並行に動作できる操作制御部材と、1つ又は複数の並行に動作できる、部材同士で接続作用を発揮するコミュニケーション部材とからなり、
    2)システムのソフトウェア部分は、1つの現代コンピュータシステムにおける操作システムと類似するシステム管理プログラムからなり、該システム管理プログラムはプログラムスケジュール機能を有すべきであり、そのために1枚のプログラムスケジュールテーブルを維持し、システムは初期化の場合は、システム管理プログラムのプログラム実行駆動装置がシステムのある操作制御部材にロードされ、該プログラム実行駆動装置をアクティブ又は活性化するものと呼ばれ、該プログラム実行駆動装置はシステム管理プログラムを駆動し、複数のユーザプログラムのプログラム実行駆動装置を一つずつアクティブさせ、その後、各ユーザプログラムのプログラム実行駆動装置は互いに独立したり協調したりして同一時刻にそれぞれのユーザプログラムを駆動して同一な前記コンピュータプロセッサにて同時に並行実行する、
    ものであることを特徴とするプログラム/命令の実行を駆動するL駆動方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサ。
  5. 該タイプのコンピュータプロセッサの動作方法は、
    1)1つのプログラムが実行可能コードを生成すると、システム管理プログラムは該プログラムの実行を駆動する相関駆動情報をそのプログラムスケジュールテーブルの相関欄に書き込み、この時、該プログラムがある記憶部材に格納されて実行待機状態にあり、
    2)該プログラムが、呼出して実行する各条件を満足すると、システム管理プログラムは該プログラムのプログラム実行駆動装置を創設/生成し、その後、該プログラムは実行状態に入って、そのプログラム実行駆動装置の管理及び制御で独立に実行され、
    3)プログラム実行駆動装置は、保存された該プログラムの常駐情報、例えばプログラム記憶部材番号や、部材内アドレスPC等に従って、対応する記憶部材へ現在実行しようとする命令を取り出すように制御し、
    4)命令を取り出した後、該プログラム実行駆動装置は、ある操作制御部材が取り出された命令を復号化するように制御し、これによって対応する記憶部材へ操作数を取り、対応する操作制御部材が指定の処理を完成し、処理結果を対応する記憶部材に書き返すように制御し、取り出された命令、命令の“復号化”結果、取り出された操作数及び操作の結果が共に該プログラム実行駆動装置のあるユニットに一時保存しており、
    5)最終、該プログラム実行駆動装置は、保存されている、プログラム常駐情報類に属するPCアイテムを、現在の命令に規定された方式に基づいて補正した後、ステップ3に移行して本プログラムの次の命令を制御・実行し、
    6)少なくとも、プログラムの終了命令まで実行する場合に、システム管理プログラムは、あるプログラムのプログラム実行駆動装置をアンロードし、これによって、PMを対応な終了フラグとし、システム管理プログラムをアクティブして該プログラムを対応な終了処理し、システム管理プログラムを始動して該プログラムを適当な終了処理する、
    ものであることを特徴とする請求項1、2又は3に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
  6. 該タイプのコンピュータプロセッサハードウェアの基本的な構成部材は、少なくとも、
    1)1つ又は複数の並行に動作できる記憶部材であって、以下の部材を含む記憶部材と、
    ●プログラム記憶部材MP:プログラム記憶部材の読み出し/書き込みに係るサービスを提供するために用いられ、独立で並行に動作できるMP部材が複数設けられ、
    ●データ記憶部材MD:データ記憶部材の読み出し/書き込みに係るサービスを提供するために用いられ、独立で並行に動作できるMD部材が複数設けられ、
    2)1つ又は複数の並行に動作できる操作制御部材であって、少なくとも以下の部材を含む操作制御部材と、
    ●プログラム管理部材PM:プログラム実行駆動装置の実行を管理するサービスを提供するために用いられ、独立で並行に動作できるPM部材が複数設けられ、
    ●命令フォーマット変換部材IT:命令復号及び命令フォーマット変換に係るサービスを提供するために用いられ、独立で並行に動作できるIT部材が複数設けられ、
    ●算術/論理演算部材ALU:算術/論理演算に係るサービスを提供するために用いられ、独立で並行に動作できるALU部材が複数設けられ、
    ●外部機器管理部材PD:外部機器の管理や制御に用いられ、
    3)1つ又は複数の並行に動作できる、部材同士で接続作用を発揮するコミュニケーション部材、すなわちプログラム実行駆動装置の配送部材DU:プログラム実行駆動装置を1つの部材の出力キューからもう1つの部材の入力キューへ配送する転送及び配送サービスを提供するために用いられ、独立で並行に動作できるDU部材が複数設けられる配送部材DUと、
    を備え、
    前記各部材は一般に1つの入力バッファ装置と1つの出力バッファ装置とを有し、要求/サービスの方式に従って動作可能であり、請求を受信した後、すなわち入力バッファが非エンプティーである場合に、指定されたサービスを始動させて完成し、その結果を出力バッファに格納している、
    ことを特徴とする請求項4に記載のプログラム/命令の実行を駆動するL駆動方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサ。
  7. プログラム実行駆動装置は、1群情報ユニットからなる情報ブロックに設計され、
    システムハードウェアの支持で、これらの特殊な情報ブロック、すなわちプログラム実行駆動装置は、現在対応している命令の操作コードの要求に従って、相応的な各機能部材を順次にアクセスし、命令に対して相応的な機能操作、即ち読み出し操作や、演算操作や、書き込み操作等を行い、
    プログラム実行駆動装置の構成は以下の通りであり、
    Figure 2008504615
    1つのプログラム実行駆動装置は29個のユニットからなり、各構成ユニットの定義及び説明は以下の通りであり、
    ユニット0―ユニット6:実行時の動作ユニットである、すなわち本プログラムが実行する過程に一時/中間結果を格納するためのユニットであり、ユニット0は、NEXTユニットと呼ばれ、本プログラム実行駆動装置の現在アクセスする、サービス要求がある機能部材の番号であり、ユニット1−6は、現在駆動する命令によって違い、その具体的な方法は各部材の機能を述べる場合に詳細的に説明し、ユニット1はΔPCユニットとして用いられる場合があり、ΔPC=0の時に現在の命令がEND命令であることを示し、ΔPC=1の時に現在の命令が非ジャンプ型命令であることを示し、ΔPC>1又はΔPC<0の時に現在の命令がジャンプ型命令であることを示す;
    ユニット7:プログラム記憶部材の部材番号MPnoであり、本プログラムが常駐されているプログラム記憶部材の部材番号を格納するためのものである;
    ユニット8:プログラム記憶部材の部材個数MPnuであり、本プログラムの所要の連続なプログラム記憶部材の個数を格納することに用いられ、MPnuの値は1より大きいであれば、MPnoの値は1番目のプログラム記憶部材の部材番号である;
    ユニット9:プログラム記憶部材の部材内アドレスPCであり、本プログラムの現在実行している命令のプログラム記憶部材の部材内アドレスを格納するためのものである;
    ユニット10:データ記憶部材の部材番号MDnoであり、本プログラムの所要のデータ記憶部材の部材番号を格納するためのものである;
    ユニット11:データ記憶部材の部材個数MDnuであり、本プログラムの所要の連続なデータ記憶部材の個数を格納することに用いられ、MDnuの値は1より大きいであれば、MDnoの値は1番目のデータ記憶部材の部材番号である;
    ユニット12:プログラム番号PrNoであり、二つ以上の実行しているプログラムが共通に同一なプログラム記憶部材に格納されている場合に、本パラメータで各プログラムを識別する;
    ユニット13−ユニット28:16個の汎用レジスターR0-R15である;
    ことを特徴とする請求項1、2、3又は5に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
  8. 汎用レジスタ群は、1つのハードウェア装置に設けられてもよいし、1群の流れの情報ユニット、すなわちプログラム実行駆動装置の1つの構成部分に設けられてもよい、
    ことを特徴とする請求項4又は6に記載のプログラム/命令の実行を駆動するL駆動方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサ。
  9. システムの各主要なハードウェア機能部材の機能及びその入力/出力のプログラム実行駆動装置の構成は、以下のようになる:
    1.記憶機能部材
    1)部材1:プログラム記憶部材MPと呼ばれ、プログラム記憶部材の読み出し/書き込みに係るサービスを提供するために用いられ、独立で並行に動作できるMP部材が複数設けられ、各MP部材の主な機能は以下の通りである;
    ●MPは1つの入力キューを維持しており、本MP処理を請求する全てのプログラム実行駆動装置は該キューに待ち、MPは1つの出力キューも維持しており、全ての処理されたプログラム実行駆動装置は該キューに待って、DU部材の配送サービスを待つ;
    ●読み出し要求:現在のキューヘッダにあるプログラム実行駆動装置が要求するのは読み出し操作であれば、該プログラム実行駆動装置から該プログラムの部材内アドレスPCを取り出してMPのアドレスレジスターに送り、MPの読み出し操作を始動させて該プログラムの現在の命令を読み取り、読み取った命令を現在のプログラム実行駆動装置の該当するユニットに書き込み、プログラム実行駆動装置のNEXTユニットをITとし、それをMPの出力キューに書き込む;
    ●書き込み要求:現在のキューヘッダにあるプログラム実行駆動装置が要求するのは書き込み操作であれば、完成する必要がある操作はデータ記憶部材の書き込み操作と類似しているので、ここで省略する;
    ●上述処理過程を繰返す:本MPの入力キューがエンプティー又は出力キューがフルであれば、空操作を一回行う;
    ●MP部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は以下のように示す;
    Figure 2008504615
    ユニット0におけるMPrは、行先部材がMPであり且つ「読み出し」操作を要求して実行することを示し、現在係らないプログラム実行駆動装置の構成ユニット、例えばユニット1−6を共に省略し、以下で同じである;
    ●MP部材の出力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は以下のように示し、ユニット1におけるIは読み出した現在の命令、例えばLDI R0,Cである;
    Figure 2008504615
    2)部材2:データ記憶部材MDと呼ばれ、データ記憶部材の読み出し/書き込みに係るサービスを提供するために用いられ、独立で並行に動作できるMD部材が複数設けられ、各MD部材の主な機能は以下の通りである;
    ●MDは1つの入力キューを維持しており、本MD処理を請求する全てのプログラム実行駆動装置は該キューに待ち、MDは1つの出力キューも維持しており、全ての処理されたプログラム実行駆動装置は該キューに待って、DU部材の配送サービスを待つ;
    ●読み出し操作:現在のキューヘッダにあるプログラム実行駆動装置が要求するのは読み出し操作であれば、該プログラム実行駆動装置から該読み出し操作の部材内アドレスを取り出してMDのアドレスレジスターに送り、MDの読み出し操作を始動させて該当する記憶ユニットの内容を読み取り、読み取ったデータを現在のプログラム実行駆動装置のあるユニットに書き込み、NEXTユニットをPM、ΔPCユニットを1とし、それらをMDの出力キューに書き込む;
    ●書き込み操作:現在のキューヘッダにあるプログラム実行駆動装置が要求するのは書き込み操作であれば、該プログラム実行駆動装置から該書き込み操作のデータ及び部材内アドレスを取り出し、それぞれMDのデータレジスター及びアドレスレジスターに送り、MDの書き込み操作を始動させてデータを該当する記憶部材に書き込み、NEXTユニットをPM、ΔPCユニットを1とし、それらをMDの出力キューに書き込む;
    ●上述処理過程を繰返す:本MDの入力キューがエンプティー又は出力キューがフルであれば、空操作を一回行う;
    ●MD部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は、IT部材の出力キューにおけるMDへ発信するプログアム実行駆動装置及びその構成ユニットの内容を参照できる;
    ●MD部材の出力キューにおけるPMへ発信するプログアム実行駆動装置及びその構成ユニットの内容は以下のように示す;
    Figure 2008504615
    ここで、ユニット1はΔPCであり、現在の命令の現在値は1である;
    2.操作機能部材
    1)部材3:プログラム管理部材PMと呼ばれ、プログラム実行駆動装置の実行を管理するサービスを提供するために用いられ、独立で並行に動作できるPM部材が複数設けられ、各PM部材の主な機能は以下の通りである;
    ●PMは1つの入力キューを維持しており、本PM処理を請求する全てのプログラム実行駆動装置は該キューに待ち、PMは1つの出力キューも維持しており、全ての処理されたプログラム実行駆動装置は該キューに待って、DU部材の配送サービスを待つ;
    ●1つのプログラムを始動させて実行駆動装置を実行する:システム管理プログラムが一プログラムのプログラム実行駆動装置をアクティブにするのは、実際に該プログラムのプログラム実行駆動装置をPMの入力キューに書き込むことであり、PMが該プログラム実行駆動装置まで処理する場合に、そのNEXTユニットをMPとし、それをPMの出力キューへ書き込む;
    ●1つのプログラム実行駆動装置の実行を継続する:各プログラム実行駆動装置が1つのプログラムを駆動する現在の命令の実行最終のステップは、PMへ復帰することであり、現在の命令は終了命令ではなければ、PMは該ドライバが引き続き実行するように制御され、ユニット9←ユニット9+ユニット1を行う、即ちPC←PC+ΔPCであって、NEXTユニットをMPとし、それをPMの出力キューへ書き込む;
    ●1つのプログラム実行駆動装置の実行を終了する:あるプログラムが1つの終了命令まで実行する場合に、PMは該プログラムのプログラム実行駆動装置を削除する方式を採用することで、該プログラムの実行を終了し、該プログラムは終了命令を実行する前に、1つ又は複数の資源解放型命令を実行しなければならない;
    ●上述処理過程を繰返す:本PMの入力キューがエンプティー又は出力キューがフルであれば、空操作を一回行う;
    ●PM部材の入力キューにおいて受信されたプログラム実行駆動装置及びその構成ユニットの内容は以下のように示す;
    Figure 2008504615
    ここで、ユニット1はΔPCであり、その値は0、1、又はジャンプのオフセットである;
    ●PM部材の出力キューにおけるMP部材へ発信するプログアム実行駆動装置及びその構成ユニットの内容は以下のように示す;
    Figure 2008504615
    ここで、ユニット1におけるMPrは、行先部材がMPであり且つ「読み出し」操作を要求して実行することを示す;
    2)部材4:命令フォーマット変換部材ITと呼ばれ、命令復号及び命令フォーマット変換に係るサービスを提供するために用いられ、独立で並行に動作できるIT部材が複数設けられ、各ITの主な機能は以下の通りである;
    ●ITは1つの入力キューを維持しており、本IT処理を請求する全てのプログラム実行駆動装置は該キューに待ち、ITは1つの出力キューも維持しており、全ての処理されたプログラム実行駆動装置は該キューに待って、DU部材の配送サービスを待つ;
    ●命令フォーマット変換を要求するプログラム実行駆動装置について、ITは該プログラム実行駆動装置に格納されている現在の命令をフォーマット変換し、これによってNEXT等のユニットを設置し、それをITの出力キューに書き込む;
    ●上述処理過程を繰返す:本ITの入力キューがエンプティー又は出力キューがフルであれば、空操作を一回行う;
    ●IT部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は以下のように示し、ここで、ユニット1におけるIは読み出した現在の命令、例えばLDI R0,Cである;
    Figure 2008504615
    ●以下に示すように、IT部材の出力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は現在の命令Iによって異なる;
    ・ITからPMへ発信するプログラム実行駆動装置及び構成ユニットの内容:
    LDI Rd,C
    Figure 2008504615
    ここでユニット1はΔPCであり、現在の命令の現在値は1である;
    MV Rd,Rs
    Figure 2008504615
    ここでユニット1はΔPCであり、現在の命令の現在値は1である;
    ・ITからMDへ発信するプログラム実行駆動装置及び構成ユニットの内容は、以下の通りである;
    LD Rd,Rs
    Figure 2008504615
    ここで、ユニット0におけるMDrは行先部材がMDであり且つ「読み出し」操作を要求して実行することを示し、ユニット2,3における[Rd]及び[Rs]はレジスターRd及びレジスターRs中の内容を示す;
    STI Rd,C
    Figure 2008504615
    ここで、ユニット0におけるMDIwは行先部材がMDであり且つ「即時値の書き込み」操作を要求して実行することを示し、ユニット2における[Rd]はレジスターRd中の内容を示す;
    ST Rd,Rs
    Figure 2008504615
    ここで、ユニット0におけるMDwは行先部材がMDであり且つ「書き込み」操作を要求して実行することを示し、ユニット2,3における[Rd]及び[Rs]はレジスターRd及びレジスターRs中の内容を示す;
    ・ITからALUへ発信するプログラム実行駆動装置及び構成ユニットの内容は、以下の通りである;
    ADDI Rd,C
    Figure 2008504615
    ここで、ユニット0におけるALUI+は行先部材がALUであり且つ「即時値の加算」操作を要求して実行することを示し、SUBI、MULI、DIVI等の命令について、その該当するプログラム実行駆動装置及び構成ユニットの内容はこれと類似し、ユニット0だけをそれぞれALUI−、ALUI*、ALUI÷とする;
    ADD Rd,Rs1,Rs2
    Figure 2008504615
    ここで、ユニット0におけるALU+は行先部材がALUであり且つ「加算」操作を要求して実行することを示し、SUB、MUL、DIV等はこれと類似している;
    JEQI Rs,C
    Figure 2008504615
    ここで、ユニット0におけるALUIjは行先部材がALUであり且つ「即時値のジャンプ判断」操作を要求して実行することを示し、JNEI等はこれと類似している;
    JEQ Rs1,Rs2
    Figure 2008504615
    ここで、ユニット0におけるALUjは行先部材がALUであり且つ「ジャンプ判断」操作を要求して実行することを示し、JNE等はこれと類似している;
    SLT Rd,Rs1,Rs2
    Figure 2008504615
    ここで、ユニット0におけるALUsltは行先部材がALUであり且つ「設置不満」操作を要求して実行することを示し、SLE、SGT、SGE、SEQ、SNE等はこれと類似している;
    3)部材5:算術/論理演算部材ALUと呼ばれ、算術/論理演算に係るサービスを提供するために用いられ、独立で並行に動作できるALU部材が複数設けられ、各ALU部材の主な機能は以下の通りである;
    ●ALUは1つの入力キューを維持しており、本ALU処理を請求する全てのプログラム実行駆動装置は該キューに待ち、ALUは1つの出力キューも維持しており、全ての処理されたプログラム実行駆動装置は該キューに待って、DU部材の配送サービスを待つ;
    ●ALUに算術/論理演算のサービスを要求する前に、プログラム実行駆動装置は該命令の所要の演算数を用意し且つプログラム実行駆動装置の該当するユニットに格納するように制御し、ALUは、プログラム実行駆動装置に格納されている該当する演算数に対し、要求される算術/論理演算を行い、結果がプログラム実行駆動装置の該当するユニットに格納され、NEXTユニットをPMとし、命令の規定に従って1ユニット、すなわちΔPCユニットをとし、それをALUの出力キューへ書き込む;
    ●上述処理過程を繰返す:本ALUの入力キューがエンプティー又は出力キューがフルであれば、空操作を一回行う;
    ●ALU部材の入力キューにおけるプログラム実行駆動装置及びその構成ユニットの内容は、IT部材の出力キューにおける、ALUへ発信するプログアム実行駆動装置及びその構成ユニットの内容を参照できる;
    ●ALU部材の出力キューにおけるプログアム実行駆動装置及びその構成ユニットの内容は以下のように示す;
    Figure 2008504615
    ここで、ユニット1はΔPCであり、その値は1又はジャンプのオフセットである;
    4)部材6:外部機器管理部材PDと呼ばれ、外部機器、例えばディスプレイ、キーボード、マウス、プリンタ、通信機器などの機器を管理し、ホストとデータ入力/出力のサービスを提供するために用いられる;
    5)部材7:プログラム実行駆動装置配送部材DUと呼ばれ、プログラム実行駆動装置を1つの部材の出力キューからもう1つの部材の入力キューへ配送する転送及び配送サービスを提供するために用いられ、独立で並行に動作できるDU部材が複数設けられ、各DU部材の主な機能は以下の通りである;
    ●DUは、予定の順に各部材群の各部材の出力キューが非エンプティーであるかどうかを1つ1つチェックし、ある非エンプティーである出力キューについて、DUはキューから1つのプログラム実行駆動装置を取り出し、該プログラム実行駆動装置のNEXTユニットに指示された行先部材群番号及び行先部材番号に従って、該行先部材群の行先部材の入力キューが非フルであるかどうかをチェックし、非フルであれば、該プログラム実行駆動装置を該行先部材群の行先部材の入力キューへ配送し、以上の処理方式はPM、MP及びMDに対するものであり、IT及びALUについて、該部材からいずれかの入力キューが非フルである部材を選択すればよい;
    ●上述の処理過程を繰返す:すべての部材群のすべての部材の出力キューは共にエンプティーであり、或いは出力キューは非エンプティーであるが、該当する入力キューは共にフルであれば、空操作を一回行う、
    ことを特徴とする請求項4、6又は8に記載のプログラム/命令の実行を駆動するL駆動方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサ。
  10. 1)部材同士の接続関係は、部材1乃至6がそれぞれの1や2組の信号線を介してそれぞれの入力キューの終わり及び出力キューの始めを部材7に接続させ;
    2)部材7は、少なくとも複数のデータ入力ポートと、複数のデータ出力ポートと、コミュニケーションネットワーク装置と、制御管理装置とからなり、部材7の制御管理装置はストローブの制御及び管理、例えば各ポートの忙しさの検出や、プライオリティの確定や、ルートの選択などに用いられ、部材7のコミュニケーションネットワーク装置は、複数のデータ入力ポートを複数のデータ出力ポートに接続するために用いられ;
    3)部材7のコミュニケーションネットワーク装置はクロス相互連絡の設計方式を採用し、いずれかの入力ポートは共にすべてまたは部分の出力ポートと互いに接続され;
    4)部材7のコミュニケーションネットワーク装置はマルチバスの設計方式を採用し、すべての入力ポートと出力ポートは幾つの組に分けられ、それぞれが1つのバスに接続され、バスとバスとの間が更にクロス相互連絡されている、
    ことを特徴とする請求項4、6、8又は9に記載のプログラム/命令の実行を駆動するL駆動方法を利用したコンピュータプロセッサシステムアーキテクチュア並びにコンピュータプロセッサ。
  11. 前記駆動方法の動作フロー、即ち新規なコンピュータプロセッサにおけるプログラム実行駆動装置の動作フローの具体的なステップは以下のようになる:
    ステップS1:システムの初期化の場合に、少なくとも1つのプログラム、例えばシステム管理プログラムのプログラム実行駆動装置が、あるプログラム管理部材PMの出力キューに格納され、ステップS2に移行する;
    ステップS2:あるDU部材は、あるPM部材の出力キューが非エンプティーであり且つキューヘッダにあるプログラム実行駆動装置のNEXTユニットに指示された特定の行先MP部材の入力キューが非フルであることを検出した場合に、該PM部材の出力キューヘッダのプログラム実行駆動装置を該当するMP部材の入力キューに配送して該部材の処理を待ち、ステップS3に移行する;
    ステップS3:あるMP部材はその入力キューが非エンプティーであることを検出した場合に、入力キューヘッダのプログラム実行駆動装置におけるPCユニットに指定されたPCアドレスに従って、それに管理されたプログラム記憶部材から命令を読み取り、読み取った命令が該プログラム実行駆動装置のユニット1に格納され、この時に該MP部材の出力キューがフル状態にすれば、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、DUの配送処理を待ち、ステップS4に移行する;
    ステップS4:あるDU部材は、あるMP部材の出力キューが非エンプティーであり、且つ現在のヘッダにあるプログラム実行駆動装置のNEXTユニットに指示されている行先部材がITであり、少なくとも1つのIT部材の入力キューが非フルであることを検出した場合に、該MP部材の出力キューヘッダのプログラム実行駆動装置を該当するIT部材の入力キューに配送して該部材の処理を待ち、ステップS5に移行する;
    ステップS5:あるIT部材は入力キューが非エンプティーであることを検出した場合に、入力キューヘッダにあるプログラム実行駆動装置による命令に対して命令のフォーマット変換を行い、変換した結果が該プログラム実行駆動装置の該当するユニットに格納され、この時に該IT部材の出力キューがフル状態であれば、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、DUの配送処理を待ち、ステップS6に移行する;
    ステップS6:あるDU部材は、ある部材の出力キューが非エンプティーであり且つ現在のヘッダにあるプログラム実行駆動装置のNEXTユニットに指示された行先部材の入力キューが非フルであることを検出した場合に、該部材の出力キューヘッダのプログラム実行駆動装置を該当する行先部材の入力キューに配送して該部材の処理を待ち、ここでのある部材とは、IT、ALU及びMD中のいずれかであり、この時の行先部材は3種類があり、一つはある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の部材は入力キューが非エンプティーであることを検出した場合に、入力キューヘッダにあるプログラム実行駆動装置における命令要求に従って該当する操作を行い、1)非END命令:この時にΔPCは非0値であり、PMは要求に基づいてそのPC等のユニットの値を補正し、補正した結果が該プログラム実行駆動装置の該当するユニットに格納され、この時該PM部材の出力キューがフル状態であれば、それがエンプティーになることを待ち、エンプティーになった時に、処理終了のプログラム実行駆動装置をその出力キューに書き込み、DUの配送処理を待ち、2)END命令:この時にΔPCユニットは0であり、PMを該当する終了フラグとし、入力キューから該プログラム実行駆動装置を削除し、システム管理プログラムをアクティブさせて次のプログラムをスケジュールして実行する、
    ことを特徴とする請求項1、2、3、5又は7に記載のコンピュータプログラム/命令の実行を駆動する駆動方法。
JP2007518438A 2004-06-28 2005-06-09 プログラム/命令の実行を駆動する駆動方法及びそのシステムアーキテクチュア、並びにプロセッサ Expired - Fee Related JP5336076B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNB2004100497595A CN100489783C (zh) 2004-06-28 2004-06-28 在单计算机上可在同一时刻执行多道程序的方法及系统
CN200410049759.5 2004-06-28
PCT/CN2005/000826 WO2006000145A1 (en) 2004-06-28 2005-06-09 A 'l' driving method for driving program/instruction and architecture and processor thereof

Publications (2)

Publication Number Publication Date
JP2008504615A true JP2008504615A (ja) 2008-02-14
JP5336076B2 JP5336076B2 (ja) 2013-11-06

Family

ID=34665825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007518438A Expired - Fee Related JP5336076B2 (ja) 2004-06-28 2005-06-09 プログラム/命令の実行を駆動する駆動方法及びそのシステムアーキテクチュア、並びにプロセッサ

Country Status (8)

Country Link
US (1) US7761877B2 (ja)
EP (1) EP1770516A4 (ja)
JP (1) JP5336076B2 (ja)
KR (1) KR100834180B1 (ja)
CN (1) CN100489783C (ja)
BR (1) BRPI0512670A (ja)
RU (1) RU2007101465A (ja)
WO (1) WO2006000145A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100514301C (zh) * 2005-03-30 2009-07-15 李晓波 一种程序缓时执行的方法及其装置
CN102236724B (zh) * 2010-04-23 2015-04-01 中山市云创知识产权服务有限公司 最佳均衡器参数计算系统及方法
US20120159341A1 (en) * 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US9483324B2 (en) * 2012-06-26 2016-11-01 Nec Corporation Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme
US9183399B2 (en) * 2013-02-14 2015-11-10 International Business Machines Corporation Instruction set architecture with secure clear instructions for protecting processing unit architected state information
CN103885365B (zh) * 2014-03-24 2018-07-06 三和智控(北京)系统集成有限公司 一种动态管理控制逻辑集的方法
US10740105B2 (en) * 2014-04-04 2020-08-11 Texas Instruments Incorporated Processor subroutine cache
TWI574158B (zh) * 2014-12-01 2017-03-11 旺宏電子股份有限公司 具應用程式資訊感知的資料處理方法以及系統
CN105808338A (zh) * 2016-03-17 2016-07-27 李晓波 一种在处理中实现中断响应核可配置的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04360234A (ja) * 1991-06-06 1992-12-14 Matsushita Electric Ind Co Ltd 情報処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522082A (en) 1986-01-23 1996-05-28 Texas Instruments Incorporated Graphics display processor, a graphics display system and a method of processing graphics data with control signals connected to a central processing unit and graphics circuits
US5638525A (en) * 1995-02-10 1997-06-10 Intel Corporation Processor capable of executing programs that contain RISC and CISC instructions
US5857103A (en) * 1996-06-14 1999-01-05 Sun Microsystems, Inc. Method and apparatus for addressing extended registers on a processor in a computer system
DE19817024A1 (de) * 1998-04-17 1999-10-21 Alcatel Sa Integrierte Schaltung
DE10000960C1 (de) * 2000-01-12 2001-12-20 Infineon Technologies Ag Datenverarbeitungsvorrichtung
US6640322B1 (en) * 2000-03-22 2003-10-28 Sun Microsystems, Inc. Integrated circuit having distributed control and status registers and associated signal routing means
US6658551B1 (en) * 2000-03-30 2003-12-02 Agere Systems Inc. Method and apparatus for identifying splittable packets in a multithreaded VLIW processor
US7096343B1 (en) * 2000-03-30 2006-08-22 Agere Systems Inc. Method and apparatus for splitting packets in multithreaded VLIW processor
US9032404B2 (en) * 2003-08-28 2015-05-12 Mips Technologies, Inc. Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
US7734833B2 (en) * 2005-09-08 2010-06-08 International Business Machines Corporation Method for scheduling operations called by a task on a real-time or non-real time processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04360234A (ja) * 1991-06-06 1992-12-14 Matsushita Electric Ind Co Ltd 情報処理装置

Also Published As

Publication number Publication date
BRPI0512670A (pt) 2008-04-01
EP1770516A1 (en) 2007-04-04
CN100489783C (zh) 2009-05-20
WO2006000145A1 (en) 2006-01-05
EP1770516A4 (en) 2008-12-10
RU2007101465A (ru) 2008-08-10
KR100834180B1 (ko) 2008-05-30
KR20070036083A (ko) 2007-04-02
CN1595359A (zh) 2005-03-16
US7761877B2 (en) 2010-07-20
US20080072023A1 (en) 2008-03-20
JP5336076B2 (ja) 2013-11-06

Similar Documents

Publication Publication Date Title
JP2008504615A (ja) プログラム/命令の実行を駆動するl駆動方法及びそのシステムアーキテクチュア、並びにプロセッサ
US8149854B2 (en) Multi-threaded transmit transport engine for storage devices
US10114652B2 (en) Processor with hybrid pipeline capable of operating in out-of-order and in-order modes
US6938253B2 (en) Multiprocessor communication system and method
JP3587259B2 (ja) 命令処理制御システム
KR101366075B1 (ko) 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치
JP4678623B2 (ja) 非対称型異種混合マルチプロセッサ環境(asymmetric heterogeneous multiprocessor environment)におけるメモリバリア要素(Primitive)
JP2001318874A (ja) システム・オペレーションの間にデバイス・ドライバを置き換えるシステム,方法及びそのコンピュータ・プログラム製品
JP3531167B2 (ja) 命令実行を制御するため命令にタグを割り当てるシステム及び方法
JP5244160B2 (ja) 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム
JP2008047116A (ja) 入力/出力装置とメモリ間のデータ転送の融通性のある制御
JP2001350638A (ja) 多重スレッド使用方法、多重スレッド処理システム、スレッド実行コントローラおよびバッファ使用方法
JP2002117002A (ja) 共用型ペリフェラルアーキテクチャ
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
EP2523099A2 (en) Selective routing of local memory accesses and device thereof
US7203821B2 (en) Method and apparatus to handle window management instructions without post serialization in an out of order multi-issue processor supporting multiple strands
JP2018180768A (ja) 半導体装置
US20060031602A1 (en) Scalable architecture for context execution
JPS63191253A (ja) キャッシュ記憶の優先順位指定装置
JPH06119297A (ja) データ処理システムにおける命令の実行順序を決定する方法および装置
JP2001142700A (ja) パイプラインプロセッサにおける電力有効処理メカニズム
JP4631442B2 (ja) プロセッサ
JP2003005987A (ja) エミュレーション装置
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム
JP2933560B2 (ja) 多重パイプラインを有する情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110518

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110613

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130801

R150 Certificate of patent or registration of utility model

Ref document number: 5336076

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees