(57)【要約】【課題】柔軟に命令の処理内容を変更でき、高速に命令を転送できるデータ処理装置を提供する。【解決手段】変換器１２は、モジュール実行命令（ＭＩＮＳ）の内容に応じて、回路で所定の処理を行なう一連のプロセッサ命令（ＰＩＮＳ）の列を生成し、または、予め記憶されたモジュールから実行すべきモジュールを呼出してプロセッサ命令列を生成し、実行ユニット１３に出力する。プロセッサ命令列を生成する回路の構成を変更することによって、または、処理内容の異なるモジュールは複数記憶することによって、使用状況に応じて、入力されたモジュール実行命令を処理内容可変に変換できる。【選択図】図１
2004220188.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ命令、または、少なくとも１つのプロセッサ命令を含むプロセッサ命令列を呼び出すモジュール実行命令が格納された記憶装置と、前記記憶装置に格納された前記プロセッサ命令、または、前記モジュール実行命令を読込み、実行するプロセッサとを備えたデータ処理装置であって、
前記プロセッサは、
前記記憶装置から読込まれた前記モジュール実行命令を、処理内容の異なる、少なくとも１つのプロセッサ命令を含むプロセッサ命令列に変換する変換手段と、
前記記憶装置から読込まれた前記プロセッサ命令、または、前記変換手段に変換された前記プロセッサ命令列に含まれる前記少なくとも１つのプロセッサ命令を実行する実行手段と
を有する
データ処理装置。
【請求項２】
前記変換手段は、前記記憶装置から読込まれた前記モジュール実行命令を、処理内容の異なる、少なくとも１つのプロセッサ命令を含むプロセッサ命令列に変換する、異なる変換回路を少なくとも１つ含む
請求項１に記載のデータ処理装置。
【請求項３】
前記変換手段は、前記記憶装置から読み込まれた前記モジュール実行命令を解読するモジュール実行命令デコーダを有する
請求項２に記載のデータ処理装置。
【請求項４】
前記変換手段は、処理内容の異なる、少なくとも１つのプロセッサ命令を含むプロセッサ命令列を複数記憶した記憶部を有し、
前記変換手段は、前記記憶装置から前記読み込まれた前記モジュール実行命令を、前記記憶部に記憶された前記複数のプロセッサ命令列のいずれかに変換する
請求項１に記載のデータ処理装置。
【請求項５】
前記変換手段は、前記記憶装置から読み込まれた前記モジュール実行命令を解読するモジュール実行命令デコーダを有する
請求項３に記載のデータ処理装置。
【請求項６】
前記プロセッサは、キャッシュメモリを内蔵しており、
前記変換手段の記憶部は、前記キャッシュメモリの少なくとも一部を含む
請求項４に記載のデータ処理装置。
【請求項７】
前記プロセッサは、プロセッサ命令を解読する命令デコーダを有し、
前記命令デコーダは、前記読み込まれたプロセッサ命令、または、前記読み込まれたモジュール実行命令から前記変換手段により変換された少なくとも１つのプロセッサ命令を解読し、前記実行手段へ出力する
請求項１に記載のデータ処理装置。
【請求項８】
前記プロセッサは、プロセッサ命令を解読する命令デコーダを有し、
前記命令デコーダは、前記読み込まれたプロセッサ命令を解読し、前記実行手段へ出力し、
前記命令デコーダは、前記読み込まれたモジュール実行命令を解読し、前記変換手段へ出力する
請求項１に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロプロセッサを含むデータ処理装置に関し、特に柔軟な高速処理を可能とするデータ処理装置に関する。
【０００２】
【従来の技術】
通常のコンピュータシステムにおいて、プロセッサが実行するプログラムはメモリに格納されて、実行すべき命令のアドレスはプログラム・カウンタに格納される。プロセッサは、プログラム・カウンタの値に従って、メモリから命令を読み出して、命令デコーダに送る（命令フェッチと言う）。
また、命令の供給源としてはネットワーク技術の広帯域化につれて、プロセッサが実行する命令をネットワークを経由して供給することも可能となりつつあるが、それでもなお、高速なプロセッサへのリアルタイムな命令供給は困難である。
【０００３】
図１６に、通常のコンピュータシステムの構成を例示する。
図１６において、コンピュータシステム１０５は、例えば、ネットワーク１０２に接続し、他のコンピュータシステムと連結されている。
コンピュータシステム１０５は、ネットワーク１０２に接続され外部と通信する通信インターフェイス（Ｉ／Ｆ）１０６と、実行中のプログラム（コード）及び必要なデータなどを格納しているメモリ１０７と、演算並びに制御を行なうプロセッサ（ＣＰＵ）１１０とを含む。
インターフェイス１０６と、メモリ１０７と、プロセッサ１１０とは、システムバス１０８によって接続されている。
メモリ１０７に対する書き込み及び読出しは、通常プロセッサ１１０が行なうが、インターフェイス１０６からバッファとして直接にメモリ１０７にアクセスしてＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送される場合もある。図１６のインターフェイス１０６とメモリ１０７の間の破線は、インターフェイス１０６からのＤＭＡ転送を表わしている。
【０００４】
一般的に、プロセッサ１１０は、システムバス１０８に接続し、プロセッサ１１０の外部からの命令（ＩＮＳ）を取り込み、または、相互にデータを転送する内部バス１１１と、取り込まれた命令の機能を解読する命令デコーダ１１６（ＩＮＳＤＥＣ）と、命令デコーダ１１６での解読結果をもとに、適切なタイミングを作りだし、プロセッサ１１０の各部に必要な信号を送り出す制御部１１７（ＣＮＴ）と、制御部１１７からの制御信号を受け、演算を行なう演算部１１３（ＡＬＵ：Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃ  Ｕｎｉｔ）と、メモリ１０７に格納された命令のうち次に実行すべき命令のアドレスを示すプログラム・カウンタ１１９（ＰＣ：ｐｒｏｇｒａｍ  ｃｏｕｎｔｅｒ）とを有する。
【０００５】
図１６において、例えば、コンピュータシステム１０５でプログラムが実行され、そのプログラムがメモリ１０７に読み込まれたとする。又は、ネットワーク１０２からインターフェイス１０６を介して、コンピュータシステム１０５に命令が送られてきてメモリ１０７に格納されたとする。
プロセッサ１１０はメモリ１０７にある命令を、システムバス１０８を介して取り込む。命令デコーダ１１６は、内部バス１１１を経由してその命令を受け、その命令の機能を解読し、解読の結果を制御部１１７に出力する。制御部１１７は、解読結果をもとに、適切なタイミングを作りだし、プロセッサ１１０の各部に必要な信号を送り出す。演算部１１３は、制御部１１７からの制御信号に応じて動作し、演算を行ない、その命令の機能を実行する。
演算部１１３においてメモリ１０７から読込んだ命令を実行終了後、プログラム・カウンタ１１９の値を更新し、メモリ１０７から次の命令を取り込み、以上の動作を繰り返す。
【０００６】
【発明が解決しようとする課題】
ネットワーク１０２を通じてコンピュータシステム１０５に動作を行なわせる場合がある。その１つの方法としては、例えば、ネットワーク１０２を経由してコンピュータシステム１０５に実行したいプログラムに含まれる命令を順次供給し、逐次実行することが考えられる。
ネットワーク１０２を経由して処理命令を供給することにより、ネットワーク上から様々なプログラムを何時でも供給することができるため、実行内容が異なる様々なアプリケーションを実行することが可能であり、ネットワーク資源を生かした柔軟かつ多様な処理ができる。
【０００７】
ネットワーク１０２を通じてコンピュータシステム１０５に動作を行なわせる他の方法として、実行する可能性のあるプログラムを予めコンピュータシステム１０５のハードディスクなどの記憶装置に記憶し、プログラムを実行する命令をネットワーク１０２を通じてコンピュータシステム１０５に送り、コンピュータシステム１０５に実行させる方法も知られている。
いずれの構成でも、コンピュータシステム１０５の通常の性能でプログラムを実行することができる。
【０００８】
しかし、例えばネットワークを介して処理命令を順次供給する場合は、転送速度による制限がある。
例えば、ネットワークのデータ転送速度が１Ｇｂｐｓ（１０９ビット／秒）を実現するとしても、３２ビットのプロセッサの場合、命令転送速度は約３０ＭＩＰＳ（ｍｉｌｌｉｏｎ  ｉｎｓｔｒｕｃｔｉｏｎ  ｐｅｒ  ｓｅｃｏｎｄ）になる。一方、プロセッサの動作周波数は１ＧＨｚを超えるものが既に多く存在し、必要とされるデータ転送速度は３０Ｇｂｐｓを超える。
従って、ネットワークを介して処理命令を順次供給する場合は、ネットワークのデータ転送速度がコンピュータシステム１０５内部の通常のデータ転送速度、例えば、プロセッサ１１０とメモリ１０７の命令の転送速度より遅いため、単位時間内に十分な命令を供給できない。
【０００９】
一方、実行するプログラムを予めコンピュータシステム１０５に記憶する場合は、ネットワークからのプログラムの置き換え時間が必要となり、また、プログラムを実行する命令の定義が固定されているので、リアルタイムに処理内容を変更することができず、ネットワーク資源を十分に生かせない。
【００１０】
また、ネットワークからプログラムをリアルタイムにダウンロードし実行する場合でも、通常想定される手段は主にアプリケーションレベルを想定したものであり、個々のシステムプログラムレベルまでの全ての機能をオーバーヘッドを最小限にとどめながらフルに利用することを想定した手段ではない。
【００１１】
以上、ネットワークを通じてコンピュータシステムに動作させる場合に、処理命令の転送速度及び処理内容の柔軟性に問題が生じる点を述べたが、コンピュータシステム内部においても、例えば、データ転送速度の遅いバスを介して命令を転送する時にも、同様に命令の転送速度と処理内容の柔軟性の問題が存在する。
【００１２】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、高速に命令を転送することができ、かつ命令を処理内容柔軟に変更することができるデータ処理装置を提供することにある。
【００１３】
【課題を解決するための手段】
本発明のデータ処理装置は、プロセッサ命令、または、少なくとも１つのプロセッサ命令を含むプロセッサ命令列を呼び出すモジュール実行命令が格納された記憶装置と、前記記憶装置に格納された前記プロセッサ命令、または、前記モジュール実行命令を読込み、実行するプロセッサとを備えたデータ処理装置であって、前記プロセッサは、前記記憶装置から読込まれた前記モジュール実行命令を、処理内容の異なる、少なくとも１つのプロセッサ命令を含むプロセッサ命令列に変換する変換手段と、前記記憶装置から読込まれた前記プロセッサ命令、または、前記変換手段に変換された前記プロセッサ命令列に含まれる前記少なくとも１つのプロセッサ命令を実行する実行手段とを有する。
【００１４】
前記変換手段は、前記記憶装置から前記読み込まれた前記モジュール実行命令を解読するモジュール実行命令デコーダを有する。
また、前記変換手段は、前記記憶装置から読込まれた前記モジュール実行命令を、処理内容の異なる、少なくとも１つのプロセッサ命令を含むプロセッサ命令列に変換する、異なる変換回路を少なくともひとつ含む。
【００１５】
或は、前記変換手段は、処理内容の異なる、少なくとも１つのプロセッサ命令を含むプロセッサ命令列を複数記憶した記憶部を有し、前記変換手段は、前記記憶装置から前記読み込まれた前記モジュール実行命令を、前記記憶部に記憶された前記複数のプロセッサ命令列のいずれかに変換する。
前記プロセッサが、キャッシュメモリを内蔵している場合は、前記変換手段の前記記憶部は、前記キャッシュメモリの少なくとも一部を含む。
【００１６】
また、前記プロセッサは、プロセッサ命令を解読する命令デコーダを有する。
前記命令デコーダは、前記読み込まれたプロセッサ命令、または、前記読み込まれたモジュール実行命令から前記変換手段により変換された少なくとも１つのプロセッサ命令を解読し、前記実行手段へ出力する。
或は、前記命令デコーダは、前記読み込まれたプロセッサ命令を解読し、前記実行手段へ出力し、前記読み込まれたモジュール実行命令を解読し、前記変換手段へ出力する。
或いは、前記の両方の手段を用いた構成である場合も考えられる。
【００１７】
本発明のデータ処理装置におけるプロセッサにおいて、取り込まれたモジュール実行命令は変換手段によって処理命令定義が可変なプロセッサ命令列に変換される。そのプロセッサ命令が実行手段に入力され、実行手段において実行される。
取り込まれた命令が変更する処理内容は可変のため、本発明のプロセッサにおいて、同じ命令が取り込まれても、その命令に対応する処理内容が高い自由度で変更可能で、状況に応じた内容の処理が行なわれるので、柔軟性が高い。
【００１８】
また、取り込まれたモジュール実行命令が、変換回路によってプロセッサ命令列に変換され、又は予め記憶された命令列に変換されるので、ネットワークを介して命令を供給し、または、バスで命令を転送する場合に、実行したいプロセッサ命令列を直接に転送せずに、モジュール実行命令のみを転送すれば良く、ネットワーク上に転送する命令のデータ量が減り、転送速度の遅いネットワークでも、高速に命令を転送することができる。
【００１９】
【発明の実施の形態】
次に、本発明のデータ処理装置の実施の形態について、添付した図面を参照して説明する。
第１の実施の形態
図１は、本実施形態に係るデータ処理装置の一例となるコンピュータシステム５の構成を示す。
図１において、コンピュータシステム５はネットワーク２に接続し、他のコンピュータシステムと連結されている。
コンピュータシステム５は、外部と通信するインターフェイス（Ｉ／Ｆ）６と、実行中のプログラム（コード）及び必要なデータを格納しているメモリ７と、演算と制御を行なうプロセッサ（ＣＰＵ）１０と、インターフェイス６、メモリ７、プロセッサ１０を接続するシステムバス８とを含む。
【００２０】
コンピュータシステム５において、ネットワーク２からインターフェイス６を介して命令が送られ、メモリ７に格納される。または、コンピュータシステム５に記憶されているプログラムが実行され、メモリ７に読み込まれる。メモリ７の指定されたアドレスから命令が逐次プロッセサ１０に取り込まれ、プロセッサ１０で、その命令を解読し実行する。また、プロセッサ１０の各部に制御信号を送り出す。
【００２１】
図１に示すように、プロセッサ１０は、内部バス１１と、取り込まれた命令を変換する変換器１２と、入力されたプロセッサ命令を解読し、演算などの処理を行なう実行ユニット１３とを有する。
内部バス１１は、システムバス８に接続し、プロセッサ１０の外部から命令（ＩＮＳ）をプロセッサ１０内に取り込み、または、プロセッサ１０から外部にデータを転送する。
変換器１２は、入力された命令（ＩＮＳ）のうちの後述するモジュール実行命令（ＭＩＮＳ）を、プロセッサ１０の命令セットに属する、実行ユニット１３が直接に実行できる命令（以下プロセッサ命令と呼び、ＰＩＮＳと記す）に変換する。
【００２２】
実行ユニット１３は、内部バス１１から転送されたプロセッサ命令、又は、変換器１２に変換されて出力されたプロセッサ命令を解読し、その命令の内容に応じた演算を行なう。
実行ユニット１３は、命令フェッチアドレスを内部バスに出力し、メモリ７に格納されているコードから次に実行する命令を読み込む。また、実行ユニット１３は演算を行なう前後に必要に応じて演算のデータアドレスを出力する場合がある。
【００２３】
本実施形態において、プロセッサ１０外部から取り込まれる命令（ＩＮＳ）は、実行ユニット１３が直接に実行できるプロセッサ命令（ＰＩＮＳ）と、プロセッサ命令若しくは複数のプロセッサ命令からなる命令列で定義されているモジュールを呼び出すための、実行ユニット１３が直接に実行できないモジュール実行命令（ＭＩＮＳ）とを含む。
モジュール実行命令（ＭＩＮＳ）は、例えば、コンピュータシステム５で実行されているプログラム内に定義され、メモリ７からプロセッサ１０に読み込まれる。或は、モジュール実行命令（ＭＩＮＳ）は、コンピュータシステム５と接続している他のコンピュータシステムで定義され、ネットワーク２を介してコンピュータシステム５に転送される。
【００２４】
図２は、変換器１２の構成の一例を示す。
変換器１２には、例えば、モジュール実行命令デコーダ（ＭＩＮＳＤＥＣ）１４と、所定の処理を行ない、１つのプロセッサ命令（ＰＩＮＳ）又は一連のプロセッサ命令を出力する回路１５ａ、１５ｂ、１５ｃ、…とが配置されている。
モジュール実行命令デコーダ１４は、入力されるモジュール実行命令ＭＩＮＳを解読する。回路１５ａ、１５ｂ、１５ｃ、１５ｄは、解読の結果に応じて選択され、モジュール実行命令（ＭＩＮＳ）をプロセッサ命令あるいはプロセッサ命令列（ＰＩＮＳ）に変換する。
【００２５】
例えば、モジュール実行命令（ＭＩＮＳ）の実行内容がプロセッサ命令での乗算演算「ＭＵＬ  Ｒ１，  Ｒ２」に変える命令であると解読される場合に、入力されたモジュール実行命令（ＭＩＮＳ）は、回路１５ａによって乗算演算を行なうプロセッサ命令（ＰＩＮＳ）に置き換えて、１つのプロセッサ命令（ＰＩＮＳ）として出力される。
同じように、モジュール実行命令デコーダ１４の解読の結果に応じて、入力されたモジュール実行命令（ＭＩＮＳ）は、回路１５ｂによってプロセッサの加算命令である「ＡＤＤ  Ｒ１，Ｒ２」に変換され、または、回路１５ｃによって、一連のプロセッサ命令（命令列１）に変換され、または、回路１５ｄによって、命令列２に変換される。
回路１５ａ、１５ｂにおいて、Ｒ１，Ｒ２はプロセッサ１０内のレジスタを表わし、命令回路１５ａが出力するプロセッサ命令（ＭＵＬ命令）はレジスタＲ１とレジスタＲ２の値を乗算する処理を行い、命令回路１５ｂが出力するプロセッサ命令（ＡＤＤ命令）は、レジスタＲ１とレジスタＲ２の値を加算する処理を行なう。
【００２６】
図３（ａ）と（ｂ）は、所定の処理を行なうアセンブリコードと変換器１２を用い出力された命令列を例示している。
図３（ａ）に示すアセンブリコード１５ｘは、例えば、レジスタＲ４の値をアドレスとするメモリの値をレジスタＲ５の値をアドレスとするメモリの値に加えた上で、元の処理に戻る、という処理を行なう。
具体的に、アセンブリコード１５ｘでは、モジュール命令の番地にジャンプ命令（ＪＰ  Ａ）を配置し、このジャンプ命令を実行することでＡ番地に移る。続いて、ＬＤ命令で、レジスタＲ４の値をアドレスとするメモリの値をレジスタＲ１へ、レジスタＲ５の値をアドレスとするメモリの値をレジスタＲ２にロードする。次に、ＡＤＤ命令で、レジスタＲ１とレジスタＲ２の値を加算し、加算結果をレジスタＲ１に入れる。そして、ＳＴＲ命令で、レジスタＲ１の値をレジスタＲ４の値をアドレスとするメモリに入れる。最後に、ジャンプ命令（ＪＰ  Ｍ＋１）によってＭ＋１番地に移り、Ｍ＋１番地の命令を実行する。即ち、モジュール実行命令ＭＩＮＳの次の命令をフェッチする。
【００２７】
この１５ｘのアセンブリコードに対応する命令列は、モジュール実行命令デコーダ１４において入力されたモジュール実行命令ＭＩＮＳの解読結果に応じて、例えば回路１５ｃによって、図３（ｂ）に示す命令列１５ｙのように一連のプロセッサ命令からなるプロセッサ命令列を順次出力される。該命令列は実行ユニット１３に入力される。
【００２８】
このように、モジュール実行命令（ＭＩＮＳ）が取り込まれた時に、変換器１２は、モジュール実行命令の内容に応じて、変換器１２に設けられた回路で１つのプロセッサ命令、又は１つのプロセッサ命令列に変換する。変換器１２の各モジュール実効命令の変換内容は、設定変更により異なる処理内容のモジュールに設定できる。言いかえれば、モジュール実行命令の処理内容を可変にすることができる。
従って、処理回路１５ａ、１５ｂ、１５ｃ、１５ｄの処理内容は、固定されたものでなく、回路の設定を変更することによって、回路の処理内容を変更することもできる。
【００２９】
図４は、実行ユニット１３の構成の一例である。
実行ユニット１３は、例えば、命令デコーダ１６（ＩＮＳＤＥＣ）と、制御部１７（ＣＮＴ）と、演算部１３（ＡＬＵ）と、プログラム・カウンタ１９（ＰＣ）とを有する。
命令デコーダ１６は、取り込まれたプロセッサ命令ＰＩＮＳの機能を解読する。
制御部１７は、命令デコーダ１６より送られた解読結果をもとに、適切なタイミングを作りだし、プロセッサ１０の各部に制御信号を送り出す。
演算部１８は、制御部１７からの制御信号を受け、プロセッサ命令ＰＩＮＳの内容に応じて演算を行ない、また、演算を終了後に、演算のデータを出力する。プログラム・カウンタ１９には、メモリ７に格納されたコードに次に実行する命令のアドレスが格納されている。プログラム・カウンタ１９は、命令フェッチアドレスを内部バスに出力し、メモリ７から次に実行する命令を読み込む。
【００３０】
図５は、本実施形態のデータ処理装置５の動作を示すフローチャートである。
ステップＳ１：
例えば、プロセッサ１０は、プログラム・カウンタ１９が示すメモリ７のアドレスにある命令をシステムバス８を介して取り込む。
ステップＳ２：
取り込まれた命令ＩＮＳがプロセッサ命令ＰＩＮＳである場合は、その命令を直接に実行ユニット１３に入力される。取り込まれた命令ＩＮＳはモジュール実行命令ＭＩＮＳである場合は、そのモジュール実行命令ＭＩＮＳは変換器１２に入力される。
【００３１】
ステップＳ３：
モジュール実行命令ＭＩＮＳの内容に応じて、変換器１２における処理回路のうち適切なものは、モジュール実行命令ＭＩＮＳをプロセッサ命令、またはプロセッサ命令列に変換し、実行ユニット１３に出力する。
ステップＳ４：
実行ユニット１３において、入力されたプロセッサ命令は解読されて実行される。
実行ユニット１３で入力された１つのプロセッサ命令が実行された後に、プログラム・カウンタ１９の値が更新される。そして、取り込まれた命令ＩＮＳがプロセッサ命令ＰＩＮＳである場合は、プロセッサ１０は次の命令を取り込み、ステップＳ１〜Ｓ４の動作を繰り返す。取り込まれた命令ＩＮＳがモジュール実行命令ＭＩＮＳである場合は、変換器１２から変換された命令列の中の次のプロセッサ命令が実行ユニット１３に入力され、実行される。このように繰り返して、変換された命令列に含む全部プロセッサ命令を入力、実行する。そして、プロセッサ１０は次の命令を取り込み、ステップＳ１〜Ｓ４の動作を繰り返す。
【００３２】
本実施形態によれば、モジュール実行命令を定義し、本実施形態のデータ処理装置となるコンピュータシステム５に送る。コンピュータシステム５において、変換器１２に複数の処理回路が配置されている。変換器１２は、モジュール実行命令の内容に応じて、適切な処理回路を用いモジュール実行命令をプロセッサ命令またはプロセッサ命令列に変換して出力する。処理内容の異なる回路が複数配置されているので、使用状況に応じて、入力された１つのモジュール実行命令をプロセッサ命令レベルで変換内容を可変にすることができ、データ処理装置の処理柔軟性を改善できる。
【００３３】
また、モジュール機能を利用することによって、１つのモジュール実行命令が一連のプロセッサ命令に変換される。ネットワークを介して命令を供給する場合、または、コンピュータシステムにおいてデータ転送速度が遅いバスを介して命令を転送する場合は、実行したい一連のプロセッサ命令を直接に転送する必要がなく、それを呼び出すモジュール実行命令のみを転送すれば良いので、ネットワーク上またはバス上に転送するデータ量が減り、転送速度の遅いネットワーク又はバスであっても、高速に命令を転送できる。
【００３４】
また、１つのモジュール実行命令を一つのプロセッサ命令に変換する場合にも、データ転送を高速化する効果がある。例えば、特に大きいサイズのプログラムに１命令を変更し、再度実行する場合に適用すると、プログラム全体をもう一度転送する必要がなくなり、その変更を行なうモジュール実行命令のみを転送すれば良いので、ネットワーク上に転送するデータ量を減らし、高速に命令を転送することに有利である。
【００３５】
第２の実施の形態
本実施形態に係るデータ処理装置２０は、第１の実施形態のデータ処理装置５と同じ基本構成を有する、ただし、モジュール実行命令をプロセッサ命令に変換する変換器の構成が異なる。
図６は、本実施形態に係るデータ処理装置２０の構成を示す図である。データ処理装置２０の基本構成は、第１の実施形態のデータ処理装置５と同じであるので、詳細な説明を適宜省略する。
【００３６】
即ち、本実施形態においても、プロセッサ１０ｂに取り込まれる命令（ＩＮＳ）は、プロセッサ命令（ＰＩＮＳ）と、モジュール実行命令（ＭＩＮＳ）とを含む。モジュール実行命令（ＭＩＮＳ）は、例えば、コンピュータシステム２０で実行されているプログラム内に定義され、メモリ７からプロセッサ１０ｂに読み込まれ、或は、コンピュータシステム２０と接続している他のコンピュータシステムで定義され、ネットワーク２を介してコンピュータシステム２０に転送される。
変換器２１は入力されたモジュール実行命令を、関数やサブルーチンなど複数のプロセッサ命令を含む命令列に変換し、一連のプロセッサ命令を出力する。
【００３７】
ただし、本実施形態においては、変換器２１には、予め一連のプロセッサ命令からなる命令列がデータとして複数記憶されている。これらの命令列データ（以降、命令リストと呼ぶ）は変換器２１に入力されるモジュール実行命令（ＭＩＮＳ）を用いて呼び出されて、プロセッサ命令列に変換され実行される。
プロセッサ１０ｂにモジュール実行命令が取り込まれると、変換器２１は、モジュール実行命令の内容に応じて、予め記憶された命令列リストから実行すべき命令列リストを呼び出して、該命令リストに含まれる一連のプロセッサ命令を順次出力し、プロセッサ命令列となる。
このように、本実施形態においても、処理内容の異なる命令列に設定変更可能であるので、使用状況に応じて、入力された１つのモジュール実行命令の変換内容を可変にすることができる。
【００３８】
図７は、変換器２１の構成の一例を示す。
変換器２１には、例えば、モジュール実行命令デコーダ（ＭＩＮＳＤＥＣ）２２と、命令列アドレスカウンタ（ＡＣ）２３と、複数の命令列が記憶された記憶部（ＭＥＭ）２４とを有する。
モジュール実行命令（ＭＩＮ）で呼び出す複数の命令列は記憶部２４に記憶されており、これらの命令列を書き換え可能にすることで、モジュール実行命令から変換される命令列の処理内容を随時変更することが可能である。
プロセッサ１０ｂの内部から、あるいはネットワークから記憶部２４に直接アクセスできるように、例えば記憶部２４をシステムバス８に接続する。また、キャッシュメモリを内蔵するプロセッサの場合はキャッシュメモリ上に命令列を記憶する領域を配置し、プロセッサ１０ｂにキャッシュからプロセッサ命令列を供給することも可能である。
【００３９】
モジュール実行命令デコーダ２２は、モジュール実行命令をデコードし、記憶部２４に記憶された複数の命令列のうち実行すべき命令列のアドレスを指定する。
命令列アドレスカウンタ２３は、指定された命令列に記述された各プロセッサ命令のアドレスを示すカウント値を生成し、命令列内のアドレスとして使用し各プロセッサ命令を呼び出して順次出力する。
【００４０】
記憶部２４には、例えば、図８に示すような命令列リストが複数記憶されている。次に、図８に示す命令列リストの処理内容を説明する。
図８における命令リスト２５ａは、オペコード、第一オペランド、第二オペランドの３つの領域で表示されるプロセッサ命令からなる１つの命令リスト（命令リスト０）を例示しており、オペランドに使用されるレジスタとしてはＲ１からＲ６までの６つを定義している。
オペコードとしては、この例では、第一オペランドの示すレジスタに第二オペランドの示すレジスタの内容をアドレスとするメモリのデータを読み込むＬＤ命令、第一オペランドと第二オペランドのレジスタの和を加算し結果を第一オペランドが示すレジスタに格納するＡＤＤ命令、第一オペランドの示すレジスタの内容を第二オペランドの示すレジスタの内容をアドレスとするメモリに格納するＳＴＲ命令、第一オペランドのレジスタから第二オペランドの値を減算して第一オペランドのレジスタに結果を格納するＳＵＢ命令、第一オペランドの示すレジスタの値がゼロであったら第二オペランドの示す命令列アドレス番地に分岐するＢＥＱＺ命令、命令列の実行を終了し、命令列アドレスカウンタ２３の値をゼロに戻して終了する命令であるＲＥＴ命令が記述されている。
【００４１】
ＲＥＴ命令が読み出されると、変換器３２は出力されずに、動作を停止し、命令列アドレスカウンタ２３をリセットした上で、次のモジュール実行命令あるいは通常のプロセッサ命令を読み込む。図１１に示された命令列中の命令は、プロセッサの命令セットに定義されたプロセッサ命令と同一の定義であり、個々のプロセッサ命令は、実行ユニット３３で実行される。命令列を終了する命令であるＲＥＴとしては、プロセッサ命令を用いる場合以外に変換器独自の復帰機構を定義する場合も考えられる。
【００４２】
図９は、以上の命令リスト２５ａの処理内容を示すフローチャートである。
ステップＳ２１：
命令列を実行する前に、メモリ７に記憶されている３つのデータのアドレスがプロセッサのレジスタＲ４、レジスタＲ５、レジスタＲ６に設定されているものとする。また、レジスタＲ３にも演算データ長を設定してあるものとする。
ステップＳ２２：
ロード命令（ＬＤ）により、レジスタＲ４の内容をアドレスとするメモリのデータをレジスタＲ１に読み込み、また、レジスタＲ５の内容をアドレスとするメモリのデータをレジスタＲ２に読み込み、加算値Ｒ２、被加算値Ｒ１を設定する。
【００４３】
ステップＳ２３：
ＡＤＤ命令により、レジスタＲ１の内容とレジスタＲ２の内容を加算し、加算の結果をレジスタＲ１に格納する。
ステップＳ２４：
ＳＴＲ命令により、レジスタＲ１の内容をレジスタＲ６の内容をアドレスとするメモリに格納する。
ステップＳ２５：
ＳＵＢ命令により、レジスタＲ３の内容から１を減算し、減算の結果をレジスタＲ３に格納する。
ＡＤＤ命令により、レジスタＲ４の内容に１を加算し、加算の結果をレジスタＲ４に格納する。また、レジスタＲ５の内容に１を加算し、加算の結果をレジスタＲ５に格納する。
【００４４】
ステップＳ２６：
ＢＥＱＺ命令では、レジスタＲ３の値がゼロでない場合は、ＢＥＱＺ命令の第二オペランドの値で示す命令列アドレスに分岐する。ここで、第二オペランドの値がゼロであるので、レジスタＲ３の値がゼロでない時に、命令列アドレスがゼロとなる命令、即ち、最初の命令“ＬＤ  Ｒ１、（Ｒ４）”に分岐する。
ステップＳ２７：
ＲＥＴ命令が読み出されると、命令列アドレスカウンタ２３をリセットし、変換器３２は出力されずに、動作を停止し、次のモジュール実行命令あるいは通常のプロセッサ命令を読み込む。
【００４５】
図１０は、記憶部２４に記憶された複数の命令列から実行すべき命令列を選択する方法を示す。例として記憶部２４が１つの記憶領域だけで構成されている場合を示す。
図１０の例では、入力されたモジュール実行命令を解読した結果によって実行すべき命令列を選択する。また、モジュール実行命令の変更内容は可変にできる。
命令列の変換は、システムバス８或は内部バス１１を介して、プロセッサ１０ｂ、若しくは、ネットワーク２に接続された他のコンピュータシステムからモジュール実行命令を定義して実行される。
例えば、記憶部２４には、図１０に示されたように、命令列１、命令列２、命令列３が記憶されている。各命令列の記憶部２４におけるアドレスを特定するインデックスアドレス１、インデックスアドレス２、インデックスアドレス３は、プロセッサ１０ｂ、若しくは、ネットワーク２に接続された他のコンピュータシステムがソフトウェア的あるいはハードウェア的に管理し、モジュール実行命令によって選択する。インデックスアドレスとして、例えば、各命令列の先頭アドレスなどを用いることができる。
例えば、モジュール実行命令にインデックスアドレス１が定義されている場合、モジュール実行命令を命令列１に変換する。
【００４６】
さらに、記憶部２４に随時新たな命令列を加えまたは内容の異なる命令列に変更し、モジュール実行命令の可変範囲を拡大することもできる。
図１１は、記憶部２４における命令列を変更する方法を示す。
命令列の変更は、システムバス８或は内部バス１１を介して、プロセッサ１０ｂ、若しくは、ネットワーク２に接続された他のコンピュータシステムから命令列のデータを転送して実行される。
例えば、記憶部２４には、図１０と同じように、インデックスアドレス１、インデックスアドレス２、インデックスアドレス３に新たな命令列１〜３を配置する。プロセッサ１０ｂ、若しくは、ネットワーク２に接続された他のコンピュータシステムから命令列を特定するインデックスアドレスを含んで命令列のデータが送られる。インデックスアドレスとして、例えば、各命令列の先頭アドレスなどを用いる。例えば、命令列１を変更或は新たに追加する場合は、インデックスアドレス１対して計算された命令列のアドレスに命令列データを書き込むことで、命令列の変更或は追加を行なう。
【００４７】
データ処理装置２０は、図５に示すフローチャートと同じように動作する。
即ち、プロセッサ１０ｂは命令ＩＮＳを取り込み、取り込まれた命令ＩＮＳはプロセッサ命令ＰＩＮＳである場合は、その命令を直接に実行ユニット１３に入力される。取り込まれた命令ＩＮＳはモジュール実行命令ＭＩＮＳである場合は、そのモジュール実行命令ＭＩＮＳは変換器２１に入力される。
変換器２１において、モジュール実行命令ＭＩＮＳの内容に応じた一連の命令からなる命令列に変換され、一連のプロセッサ命令を順次実行ユニット１３に出力される。
実行ユニット１３において、入力された一連のプロセッサ命令は順次解読されて実行される。
取り込まれたモジュール命令が実行された後に、即ち、一連のプロセッサ命令が実行された後に、プログラム・カウンタ１９の値が更新され、プロセッサ１０ｂは次の命令を取り込み、以上の動作を繰り返す。
【００４８】
なお、本実施形態において、第１の実施形態のように、モジュール実行命令をプロセッサ命令に変換するための回路を変換器２１に複数設けても良い。また、各リストが独立した記憶領域を持ち、そのセレクタで命令列を選択させる場合も考えられる。或は、記憶部２４に記憶された命令リストとして１命令を記憶しても良い。
【００４９】
本実施形態によれば、変換器２１に複数の命令リストが配置されており、定義されたモジュール実行命令により、呼び出すことができる。データ処理装置２０において、変換器２１は、モジュール実行命令の内容に応じて、複数の命令リストから実行すべき命令を呼び出して一連のプロセッサ命令からなる命令列を出力する。処理内容の異なる命令リストを設定することにより、使用状況に応じて、入力されたモジュール実行命令のプロセッサ命令レベルでの変換内容を可変にすることができ、本実施形態のデータ処理装置となるコンピュータシステムの処理内容の柔軟性を持たせることができる。
【００５０】
また、モジュール機能を利用することによって、１つのモジュール実行命令が一連のプロセッサ命令に変換される。ネットワークを介して命令を供給する場合、または、コンピュータシステムにおいてデータ転送速度が遅いバスを介して命令を転送する場合は、実行したい一連のプロセッサ命令を直接に転送することなく、モジュール実行命令のみを転送すれば良いので、ネットワーク上またはバス上に転送するデータ量が減り、転送速度の遅いネットワーク又はバスであっても、高速に命令を転送できる。
例えば、１００ＭＨｚで動作するプロセッサがフルに動作するためには、３２ビットプロセッサの場合でシリアル通信の時に、３．２ＧＨｚの命令データ転送速度を要求するが、４０命令をモジュールにまとめた場合で８０ＭＨｚ、４００命令をモジュールにまとめた場合で８ＭＨｚの転送速度で、ネットワークを介してプロセッサをフルに動作させることが可能となる。
【００５１】
第３の実施の形態
図１２は、本実施形態に係るデータ処理装置２９の構成を示す。第１と第２の実施形態のデータ処理装置において、命令デコーダが組み込また既存の実行ユニットが用いられていた。これに対し、本実施形態に係るデータ処理装置２９において、実行ユニットと独立して命令デコーダが配置されて、また、変換器はプログラム・カウンタに接続し、プログラム・カウンタの値を変更できるように構成される。
なお、本実施形態において、第１と第２の実施形態と同じ構成の説明を適宜省略する。
【００５２】
図１２に示すように、データ処理装置２９において、プロセッサ３０は、内部バス１１と、取り込まれた命令を処理内容可変に変換する変換器３２と、入力されたプロセッサ命令を解読する命令デコーダ３６、実行ユニット３３と、プログラム・カウンタ３９とを有する。
変換器３２は、入力されたモジュール実行命令を１つのプロセッサ命令、或は一連のプロセッサ命令からなる命令列に変換して出力する。
命令デコーダ３６は、内部バス１１を経由して入力されたプロセッサ命令、または、変換器３２から出力されたプロセッサ命令を解読し、解読の結果を実行ユニット３３に出力する。
実行ユニット３３は、命令デコーダ３６による命令解読の結果に応じて演算、制御を行なう。実行ユニット３３は、演算を行なった後に、演算データを内部バス１１に出力する。
プログラム・カウンタ３９はメモリ７に格納された命令に次に実行する命令のアドレスを格納している。実行ユニット３３において、プログラム・カウンタ３９が示すアドレスでメモリ７から命令が実行された後に、プログラム・カウンタ３９の値が更新され、次の命令のアドレスを示す。
【００５３】
プロセッサ３０に取り込まれる命令（ＩＮＳ）は、プロセッサ命令（ＰＩＮＳ）と、モジュール実行命令（ＭＩＮＳ）とを含む。モジュール実行命令（ＭＩＮＳ）は、例えば、実行プログラム内に定義され、メモリ７から読み込まれ、或は、ネットワーク２に接続している他のコンピュータシステムで定義され、ネットワーク２を介して転送される。
変換器３２は入力されたモジュール実行命令（ＭＩＮＳ）を、１つのプロセッサ命令、或は、複数のプロセッサ命令を含む命令列に変換して出力する。即ち、プロセッサ３０にモジュール実行命令が取り込まれた時は、変換器３２は、モジュール実行命令の内容に応じて、実行すべき命令列に変換し出力する。
【００５４】
実行ユニット３３に独立して命令デコーダ３６を配置する場合、変換器３２から出力される一連のプロセッサ命令は、内部バス１１から直接入力されるプロセッサ命令と同様に命令デコーダ３６に供給され、解読される。
また、本実施形態において、変換器３２はプログラム・カウンタ３９に直接接続され、プログラム・カウンタ３９にアクセスできるようになっている。これによって、変換器３２はプログラム・カウンタの値を更新することが可能である。例えば、変換器３２はモジュール実行命令をプロセッサ命令列に変換し、出力した後に、変換器３２はプログラム・カウンタ３９の値を１命令分更新し、メモリ７において次の命令のアドレスを示すようにする。
この形態では、１つのモジュール実行命令は、プロセッサ３０の命令セットに組み込まれた１命令のように処理される。すなわち、１つのモジュール実行命令を取り込むだけで、一連のプロセッサ命令は１つの複合命令として実行される。このモジュール実行命令を実行した後に、プログラム・カウンタ３９の値は１命令分インクリメントされるようにすることも別の値に設定することも可能である。以下、１命令分インクリメントされる例を想定する。
【００５５】
図１３は、本実施形態のデータ処理装置の動作を示すフローチャートである。
ステップＳ３１：
例えば、実行プログラムがメモリ７に読み込まれ、又は、ネットワーク２からデータ処理装置２９に命令が送られメモリ７に格納され、プロセッサ３０は、プログラム・カウンタ３９が示すメモリ７のアドレスにある命令を、システムバス８を介して取り込む。
ステップＳ３２：
取り込まれた命令ＩＮＳがプロセッサ命令ＰＩＮＳである場合は、その命令を直接命令デコーダ３６に入力される。取り込まれた命令ＩＮＳがモジュール実行命令ＭＩＮＳである場合は、変換器３２に入力される。
【００５６】
ステップＳ３３：
変換器３２において、モジュール実行命令ＭＩＮＳの内容に応じて、モジュール実行命令ＭＩＮＳは実行すべき一連のプロセッサ命令からなる命令列、或は、単独のプロセッサ命令に変換され、命令デコーダ３６に入力される。
変換器３２は１つのモジュール実行命令を変換し出力した後に、変換器３２はプログラム・カウンタ３９の値を１命令分更新し、メモリ７においてモジュール実行命令の次の命令のアドレスを示すようにする。
ステップＳ３４：
内部バス１１から直接入力された単独のプロセッサ命令、或は、変換器３２から出力される一連のプロセッサ命令は、命令デコーダ３６に供給され、解読される。
【００５７】
ステップＳ３５：
実行ユニット３３において、命令デコーダ３６の解読結果に応じて、入力された１つのプロセッサ命令、又は、モジュール実行命令が呼び出した単独のプロセッサ命令、もしくは一連のプロセッサ命令を１複合命令として実行する。
取り込まれた１つのモジュール実行命令あるいは単独のプロセッサ命令を実行した後に、プロセッサ３０は更新されたプログラム・カウンタ３９の値で次の命令を取り込み、以上の動作を繰り返す。
【００５８】
本実施形態によれば、取り込まれたモジュール実行命令をプロセッサ命令レベルで処理内容可変に変換でき、データ処理装置の処理柔軟性を改善できる。また、モジュール機能を利用することによって、ネットワーク上に転送する命令のデータ量が減り、転送速度の遅いネットワークでも、高速に命令を転送できる。また、コンピュータにおいて、転送速度が低いバスを介して高速に命令を転送できる。
【００５９】
第４の実施の形態
図１４は、本実施形態に係るデータ処理装置４１の構成を示す。
第３の実施形態のデータ処理装置と同じように、本実施形態のデータ処理装置４１において、実行ユニットと独立して命令デコーダが配置され、また、変換器はプログラム・カウンタに接続し、プログラム・カウンタの値を変更できるように構成される。ただし、第３の実施形態のデータ処理装置と異なって、本実施形態のデータ処理装置４１において、命令デコーダが変換器の前に設けられる。
なお、本実施形態において、前述した実施形態と同じ構成の説明を適宜省略する。
【００６０】
図１４に示すように、プロセッサ４０は、内部バス１１と、取り込まれた命令を解読する命令デコーダ４６、命令デコーダ４６の出力信号のうちのモジュール実行命令を処理内容可変にモジュールに変換する変換器４２と、実行ユニット３３と、プログラム・カウンタ３９とを有する。
命令デコーダ４６は、内部バス１１を経由して入力されたプロセッサ命令、または、モジュール実行命令を解読し、プロセッサ命令の解読結果を実行ユニット３３に出力し、モジュール実行命令の解読結果を変換器４２に出力する。
変換器４２は、命令デコーダ４６によって解読されたモジュール実行命令の内容に応じて、１サイクルの制御信号を生成し、または、複数サイクルにわたって一連の制御信号を順次生成し、実行ユニット３３に供給する。
実行ユニット３３は、命令デコーダ４６からの出力信号、または、変換器４２の出力信号に応じて演算、制御を行ない、演算を行なった後に演算データを内部バス１１に出力する。
プログラム・カウンタ３９はメモリ７に格納されたプログラムにおいて、次に実行する命令のアドレスを格納している。実行ユニット３３において、プログラム・カウンタ３９が示すアドレスでメモリ７から命令が実行された後に、プログラム・カウンタ３９の値が更新され、次の命令のアドレスを示す。
【００６１】
第２と第３の実施形態と同じように、プロセッサ４０に取り込まれる命令（ＩＮＳ）は、プロセッサ命令（ＰＩＮＳ）と、モジュール実行命令（ＭＩＮＳ）とを含む。モジュール実行命令（ＭＩＮＳ）は、例えば、実行プログラム内に定義され、メモリ７から読み込まれ、或は、ネットワーク２に接続している他のコンピュータシステムで定義され、ネットワーク２を介して転送される。
変換器４２は入力されたモジュール実行命令を、モジュール実行命令の内容に応じて１つのプロセッサ命令、或は、一連のプロセッサ命令を含む命令列に変換し実行ユニット３３に制御信号を出力する。
【００６２】
変換器４２はプログラム・カウンタ３９に接続されているので、変換器４２はプログラム・カウンタの値を変更できる。具体的に、変換器４２はモジュール実行命令を処理内容可変に命令列に変換し、制御信号を出力した後に、変換器４２はプログラム・カウンタ３９の値を１命令分更新し、メモリ７において次の命令のアドレスを示すようにする。これによって、１つのモジュール実行命令はプロセッサ４０の命令セットに組み込まれた１つの複合命令のように実行される。
【００６３】
命令デコーダ４６は変換器４２の前に配置されているので、モジュール実行命令のデコードは命令デコーダ４６のみで完全には、あるいはまったく行なわれていない。命令デコーダ４６と変換器４２が、それぞれ部分的にデコードする場合の例を以下に示す。
変換器４２には、例えば、第３の実施形態と同じような構成を有し、複数の命令列が記憶されており、これらの命令列を書き換え可能である。
【００６４】
図１５は、本実施形態のデータ処理装置の動作を示すフローチャートである。
ステップＳ４１：
例えば、実行プログラムがメモリ７に読み込まれ、又は、ネットワーク２からデータ処理装置２９に命令が送られメモリ７に格納され、プロセッサ４０は、プログラム・カウンタ３９が示すメモリ７のアドレスにある命令をシステムバス８を介してプロセッサ４０内部に取り込む。
ステップＳ４２：
取り込まれた命令が命令デコーダ４６に入力されて、デコードされ、出力される。
ステップＳ４３：
命令デコーダ４６に入力された命令は通常のプロセッサ命令ＰＩＮＳである場合は、命令デコーダ４６の出力信号が制御信号として直接に実行ユニット３３に入力される。
命令デコーダ４６に入力された命令はモジュールを呼び出すためのモジュール実行命令ＭＩＮＳである場合は、命令デコーダ４６の出力信号が変換器４２に入力される。
【００６５】
ステップＳ４４：
変換器４２において、モジュール実行命令ＭＩＮＳは、その内容に応じて実行すべき一連のプロセッサ命令からなる命令列に変換され、複数のサイクルにわたって、一連の制御信号を生成し、もしくは、単独のプロセッサ命令に変換され、１サイクルの制御信号を生成し、実行ユニット３３に入力される。
変換器４２は１つのモジュール実行命令を変換し出力した後にプログラム・カウンタ３９の値を１命令分更新し、メモリ７に対してモジュール実行命令の次の命令のアドレスを出力するようにする。
【００６６】
ステップＳ４５：
実行ユニット３３において、入力された制御信号に応じて、演算及び制御を実行する。
１つの命令を実行した後に、プロセッサ４０は更新されたプログラム・カウンタ３９の値で次の命令を取り込み、以上の動作を繰り返す。
【００６７】
本実施形態は、第３の実施形態と同じ効果を有する。
【００６８】
【発明の効果】
本発明によれば、変換手段は使用状況に応じて、入力されたモジュール実行命令を処理内容の異なる命令列（実行可能なモジュール）に変換するので、プロセッサ命令レベルで処理内容が可変な変換を行なうことができ、データ処理装置の処理柔軟性を改善できる。
また、モジュール機能を利用することによって、取り込まれたモジュール実行命令が一連のプロセッサ命令に変換されるので、ネットワークを介して命令を供給して実行させる場合に、実行すべき該一連のプロセッサ命令を直接に転送せず、モジュール実行命令のみを転送すれば良くなり、ネットワーク上に転送する命令のデータ量が減るため、ある程度転送速度の遅いネットワークでも、高速に命令を転送できる。コンピュータシステムにおいてデータ転送速度が遅いバスを介して命令を転送する場合にも、同じ効果が得られる。
また、ネットワークを介して供給されたモジュール実行命令を単独のプロセッサ命令に変換する場合にも、モジュール実効命令の定義を変更するだけでプログラムの実行内容を変更可能で、プログラム全体もう一度転送する必要はなくなり、ネットワーク上に転送するデータ量を減らし、速度の遅いネットワークで高速に命令を転送する場合に効果がある。
【００６９】
また、通常の命令セットが利用できることで、既存プロセッサのシステムプログラム、あるいは、ＯＳと組み合わせて動作させることが可能となる。従って、既存システムからでも本発明を使用することで、実行モジュールを容易に実行させることができる。さらに、実行モジュール命令の定義自体をリアルタイムに変更することによって、高速に動作する柔軟で可変なモジュールを実現できる。
これらの機構を用いるとソースレベルでのプログラミング言語をダイレクトに送ることも可能となり、さらにその定義を可変にすることも可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るデータ処理装置の構成を例示する図である。
【図２】本発明の第１の実施形態に係るデータ処理装置における変換器の構成を例示する図である。
【図３】本発明の第１の実施形態に係るデータ処理装置において、変換器によって変換された命令列を例示する図である。
【図４】本発明の第１の実施形態に係るデータ処理装置における実行ユニットの構成を例示する図である。
【図５】本発明の第１の実施形態に係るデータ処理装置の動作を説明するフローチャートである。
【図６】本発明の第２の実施形態に係るデータ処理装置の構成を例示する図である。
【図７】本発明の第２の実施形態に係るデータ処理装置における変換器の構成を例示する図である。
【図８】本発明の第２の実施形態に係るデータ処理装置における変換器において、記憶された命令リストを例示する図である。
【図９】本発明の第２の実施形態に係るデータ処理装置における変換器において、例示された命令リストの処理内容を示すフローチャートである。
【図１０】本発明の第２の実施形態に係るデータ処理装置における変換器において、モジュール実行命令を命令列に可変に変換する方法を示す。
【図１１】本発明の第２の実施形態に係るデータ処理装置における変換器において、命令列を変更する方法を示す。
【図１２】本発明の第３の実施形態に係るデータ処理装置の構成を例示する図である。
【図１３】本発明の第３の実施形態に係るデータ処理装置の動作を説明するフローチャートである。
【図１４】本発明の第４の実施形態に係るデータ処理装置の構成を例示する図である。
【図１５】本発明の第４の実施形態に係るデータ処理装置の動作を説明するフローチャートである。
【図１６】従来のデータ処理装置の構成を示す図である。
【符号の説明】
２…ネットワーク、５…データ処理装置、６…通信インターフェイス、７…メモリ、８…システムバス、１０，１０ｂ…プロセッサ、１１…内部バス、１２…変換器、１３…実行ユニット、１４…モジュール実行命令デコーダ、１５ａ，１５ｂ，１５ｃ…演算回路、１５ｘ…アセンブリコード、１５ｙ…命令列、１６…命令デコーダ、１７…制御部、１８…演算部、１９…プログラム・カウンタ、２０…データ処理装置、２１…変換器、２２…モジュール実行命令デコーダ、２３…命令列アドレスカウンタ、２４…記憶部、２５ａ，２５ｂ，２５ｃ，２５ｄ…命令リスト、２９…データ処理装置、３０…プロセッサ、３２…変換器、３３…実行ユニット、３６…命令デコーダ、３９…プログラム・カウンタ、４０…プロセッサ、４１…データ処理装置、４２…変換器、４６…命令デコーダ、１０２…ネットワーク、１０５…データ処理装置、１０６…通信インターフェイス、１０７…メモリ、１０８…システムバス、１１０…プロセッサ、１１１…内部バス、１１６…命令デコーダ、１１７…制御部、１１３…演算部、１１９…プログラム・カウンタ、ＭＩＮＳ…モジュール実行命令、ＰＩＮＳ…プロセッサ命令。
【図１】
2004220188.tif 000003
【図２】
2004220188.tif 000004
【図３】
2004220188.tif 000005
【図４】
2004220188.tif 000006
【図５】
2004220188.tif 000007
【図６】
2004220188.tif 000008
【図７】
2004220188.tif 000009
【図８】
2004220188.tif 000010
【図９】
2004220188.tif 000011
【図１０】
2004220188.tif 000012
【図１１】
2004220188.tif 000013
【図１２】
2004220188.tif 000014
【図１３】
2004220188.tif 000015
【図１４】
2004220188.tif 000016
【図１５】
2004220188.tif 000017
【図１６】
2004220188.tif 000018