(57)【特許請求の範囲】
【請求項１】
ｎ個の被制御対象夫々の動作を制御するための制御情報を、各被制御対象に対し並列に且つ所定の供給タイミング毎に次々と、供給する制御情報供給装置において（ｎは２以上の整数）、
第ｉ番目から第ｊ番目（ｉ、ｊは０＜ｉ＜ｊを満たす整数）の複数の供給タイミングにおいて前記各被制御対象に供給される制御情報を、合成することによって得られるｎ個の制御情報から成る合成制御情報群を含んだ圧縮制御情報列を記憶する第１記憶手段と、
前記各被制御対象に、前記圧縮制御情報列に含まれる制御情報を供給する供給制御手段と、を備え、
前記供給制御手段は、前記複数の供給タイミングにおいて、共通して、前記合成制御情報群を前記ｎ個の被制御対象に供給することを特徴とする制御情報供給装置。
【請求項２】
当該制御情報供給装置は、各供給タイミングに各被制御対象に供給されるべき制御情報を前記圧縮制御情報列の中から特定するための特定データを記憶する第２記憶手段を更に備え、
前記供給制御手段は、前記特定データに基づいて、前記複数の供給タイミングにおいて、共通して、前記合成制御情報群を前記ｎ個の被制御対象に供給することを特徴とする請求項１に記載の制御情報供給装置。
【請求項３】
前記圧縮制御情報列は、各供給タイミングに各被制御対象に対して供給されるべき制御情報を表す元制御情報列を基に生成され、
前記元制御情報列内の各制御情報は、動作が不要であることを示す無効制御情報または動作を指示する有効制御情報とに分類され、
前記複数の供給タイミングに含まれる各供給タイミングにおいて、個々の被制御対象に供給される制御情報を、第１、第２、・・・、第ｋ制御情報とした場合、第１〜第ｋ制御情報は、同一の内容の有効制御情報及び無効制御情報の少なくとも一方のみを含む（ｋは２以上の整数）ことを特徴とする請求項１または請求項２に記載の制御情報供給装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列処理を行う複数の被制御対象に対してコマンドやアドレス等の制御情報を供給するための制御情報供給装置に関する。
【背景技術】
【０００２】
近年、複数のＡＬＵ（Arithmetic and Logic Unit）を並列動作させる並列処理回路が注目されている。並列処理回路は、例えば、リコンフィギャラブル回路にて実現される。
この種の回路では、並列動作に係る全てのＡＬＵに対して、コマンドを同一のタイミング（同一の時刻）に供給する必要がある。また、各ＡＬＵに供給すべきコマンドは時々刻々と変化する。
【０００３】
ところで、この種の回路においては、全てのＡＬＵが同時に動くケースは比較的少なく、同一のタイミングにおいて一部のＡＬＵのみが動作をしていることが多い。例えば、３つのＡＬＵ、即ち、ＡＬＵ１、ＡＬＵ２及びＡＬＵ３にコマンドを並列供給する場合を考える。例えば、図１８に示されるようなコマンド列を考えた場合、タイミングｔ１において、ＡＬＵ１、ＡＬＵ２及びＡＬＵ３に、夫々、コマンドｄ１、ＮＯＰ及びＮＯＰが並列供給される。タイミングｔ２以降も同様にコマンドが並列供給される。
【０００４】
ＮＯＰ（no-operation）が供給されるＡＬＵは、そのタイミングにおいて動作が不要である。複数のＡＬＵを並列動作させるリコンフィギャラブル回路等の並列処理回路に対するプログラムには、このようなＮＯＰ（無効コマンド）が多数存在する。
【０００５】
リコンフィギャラブル回路等の並列処理回路において、図１８のようなコマンド列は、コマンドＲＡＭ（Random Access Memory）に格納されることになるが、上記のようなＮＯＰ部分の存在は、コマンドＲＡＭの必要メモリ領域を増大させ、これに伴って回路の消費電力も増大させる。
【０００６】
これを考慮した方式が下記特許文献１に開示されている。この方式では、無効コマンドを除き有効コマンドのみを詰めて記載したデータを形成すると共に、各コマンドの有効／無効を示すインデックスのようなデータを形成する。
【０００７】
【特許文献１】特開平７−１７５６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１に記載されている手法は、コマンドＲＡＭの必要メモリ領域の削減に貢献するものであり、或る局面においては、有効に機能しうる。しかし、インデックスを格納するためのメモリが必要であることから、元のコマンドのビット数が少ない場合は、全データに対するインデックスのデータ量の割合が大きくなり、圧縮効果が下がってしまう。また、デコードの際、詰めて記載したデータを伸張する必要があり、伸張回路が大きくなって消費電力が増大してしまう。
【０００９】
また、並列演算を行う場合に着目して従来の問題点を説明したが、並列データ読み出し処理及び並列データ書き込み処理など、演算以外の処理を並列に行う場合においても、同様の問題は存在する。
【００１０】
そこで本発明は、並列処理に係る被制御対象に必要な動作を行わせるために記憶しておくべきデータの量の削減に寄与する制御情報供給装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る制御情報供給装置は、ｎ個の被制御対象の夫々に前記被制御対象の動作を制御するための制御情報を、並列に且つ次々と、供給する制御情報供給装置において（ｎは２以上の整数）、複数のタイミング用の制御情報を合成することによって得られる、ｎ個の制御情報から成る合成制御情報群を含んだ圧縮制御情報列を記憶する第１記憶手段と、各被制御対象に、前記圧縮制御情報列に含まれる制御情報を供給する供給制御手段と、を備え、前記供給制御手段は、前記複数のタイミングにおいて、共通して、前記合成制御情報群を前記ｎ個の被制御対象に供給することを特徴とする。
【００１２】
圧縮制御情報列は、複数の供給タイミング用の制御情報を合成した合成制御情報群を含んでおり、複数の供給タイミングにおいて、共通して、この合成制御情報群をｎ個の被制御対象に供給する。つまり、１つの合成制御情報群にて複数の供給タイミング用の制御情報がまかなえる。これにより、並列処理に係る被制御対象に必要な動作を行わせるために記憶しておくべきデータの量の削減が図られる。この結果、例えば、本発明を利用して集積回路を形成した場合は、チップ面積の小型化及び低消費電力化が期待できる。
【００１３】
また例えば、当該制御情報供給装置は、各供給タイミングに各被制御対象に供給されるべき制御情報を前記圧縮制御情報列の中から特定するための特定データを記憶する第２記憶手段を更に備え、前記供給制御手段は、前記特定データに基づいて、前記複数の供給タイミングにおいて、共通して、前記合成制御情報群を前記ｎ個の被制御対象に供給する。
【００１４】
また具体的には例えば、前記圧縮制御情報列は、各供給タイミングに各被制御対象に対して供給されるべき制御情報を表す元制御情報列を基に生成され、前記元制御情報列内の各制御情報は、動作が不要であることを示す無効制御情報または動作を指示する有効制御情報とに分類され、前記複数の供給タイミングに含まれる各供給タイミングにおいて、個々の被制御対象に供給される制御情報を、第１、第２、・・・、第ｋ制御情報とした場合、第１〜第ｋ制御情報は、同一の内容の有効制御情報及び無効制御情報の少なくとも一方のみを含む（ｋは２以上の整数）。
【００１５】
複数の供給タイミングに係る第１〜第ｋ制御情報が、同一の内容の有効制御情報のみ、或いは、無効制御情報のみ、或いは、同一の内容の有効制御情報と無効制御情報のみ、を含むものであるのなら、それらを１つにまとめて合成制御情報群を形成し、それを前記複数の供給タイミングに共通して被制御対象に供給するようにしても差し支えない。
【発明の効果】
【００２３】
本発明によれば、並列処理に係る被制御対象に必要な動作を行わせるために記憶しておくべきデータの量の削減が期待できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付す。
【００２５】
＜＜第１実施形態＞＞
本発明の第１実施形態について説明する。まず、本実施形態に係るコマンド圧縮手法及びコマンド供給手法の基本的な考え方について説明する。図１に示す並列処理回路１１に含まれる３つのＡＬＵ（Arithmetic and Logic Unit）、即ち、ＡＬＵ［１］、ＡＬＵ［２］及びＡＬＵ［３］に対して、並列にコマンドを供給する場合を例に挙げる。
【００２６】
図２の符号６１は、順次訪れるタイミングＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、・・・において、図１のＡＬＵ［１］〜ＡＬＵ［３］の夫々に対して本来供給されるべきコマンドの内容を列挙したコマンド列を表している。以下、これを、元コマンド列６１と呼ぶ。タイミングＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、・・・の順番で時間が進行する。以下、説明の具体化のため、元コマンド列６１の記述内容を例に挙げつつ実施形態の説明を行う。
【００２７】
元コマンド列６１は、
“タイミングＴ１において、ＡＬＵ［１］、ＡＬＵ［２］、ＡＬＵ［３］に供給すべきコマンドが、夫々、コマンドＤ１、ＮＯＰ、ＮＯＰであること”、
“タイミングＴ２において、ＡＬＵ［１］、ＡＬＵ［２］、ＡＬＵ［３］に供給すべきコマンドが、夫々、コマンドＮＯＰ、Ｄ２、ＮＯＰであること”、
“タイミングＴ３において、ＡＬＵ［１］、ＡＬＵ［２］、ＡＬＵ［３］に供給すべきコマンドが、夫々、コマンドＮＯＰ、ＮＯＰ、Ｄ３であること”、
“タイミングＴ４において、ＡＬＵ［１］、ＡＬＵ［２］、ＡＬＵ［３］に供給すべきコマンド、夫々、コマンドＮＯＰ、Ｄ４、Ｄ５であること”、及び
“タイミングＴ５において、ＡＬＵ［１］、ＡＬＵ［２］、ＡＬＵ［３］に供給すべきコマンド、夫々、コマンドＤ６、ＮＯＰ、ＮＯＰであること”、
を規定している。
【００２８】
コマンドＮＯＰ（no-operation）は、そのタイミングにおけるＡＬＵの動作が不要であることを示す無効コマンド（無効制御情報）である。全てのＡＬＵが同時に動作する必要があるケースは比較的少なく、同一タイミングにおいては、一部のＡＬＵのみが動作することが多い。このため、並列処理を行うためのプログラムには、元コマンド列６１のように、ＮＯＰが多く含まれる。
【００２９】
コマンドＤ１〜Ｄ６は、ＡＬＵ（ＡＬＵ［１］〜ＡＬＵ［３］の何れか）が実行すべき演算内容を指定するものであり、例えば、それらは、加算に対応するＡＤＤ、減算に対応するＳＵＢ、乗算に対応するＭＵＬ、論理和に対応するＯＲ、論理積に対応するＡＮＤ、などである。ＮＯＰ以外のこれらのコマンドは、上記無効コマンドと対比して、ＡＬＵの演算動作を指示する有効コマンド（有効制御情報）と呼ぶことができる。
【００３０】
尚、コマンドＤ０〜Ｄ６の内容は、互いに異なっていても良いし、全部又は一部が同じであってもよい（コマンドの内容は、コマンドの種類と換言することもできる）。
【００３１】
或るＡＬＵに関し、或るタイミングにおいてコマンドＮＯＰが定義されているということは、該タイミングにおいて該ＡＬＵの動作は不要であり、また、それ故に、該ＡＬＵの出力は何れの回路にも必要とされていないことを意味する。つまり、該タイミングにおいて該ＡＬＵの出力は何れの回路にも利用されない（換言すれば、何れの回路にも接続されない）。従って、そのタイミングにおいてＮＯＰ以外のコマンドを供給し、そのコマンドに従った演算をＡＬＵに実行させても、並列処理回路１１（及びそれを含む装置）の全体の動作に問題は生じない。
【００３２】
これを考慮すると、上述のタイミングＴ１〜Ｔ３における各コマンドを１つにまとめることができ、また、タイミングＴ４及びＴ５における各コマンドを１つにまとめることができる。このまとめた結果を、図３に示す。
【００３３】
複数のタイミングにおける各コマンドを１つにまとめたものを合成コマンド群（合成制御情報群）と呼ぶ。１つの合成コマンド群は、コマンドを並列供給すべきＡＬＵの数と同数のコマンドから構成される。本実施形態の例の場合、ＡＬＵの数は３であるから、１つの合成コマンド群は、３つのコマンドから構成される。
【００３４】
図３において、符号６５は、タイミングＴ１〜Ｔ３における各コマンドを１つにまとめた合成コマンド群を表し、符号６６は、タイミングＴ４及びＴ５における各コマンドを１つにまとめた合成コマンド群を表す。
【００３５】
合成コマンド群６５は、ＡＬＵ［１］に供給すべきコマンドとしてのコマンドＤ１と、ＡＬＵ［２］に供給すべきコマンドとしてのコマンドＤ２と、ＡＬＵ［３］に供給すべきコマンドとしてのコマンドＤ３と、の３つのコマンドから成る。合成コマンド群６６は、ＡＬＵ［１］に供給すべきコマンドとしてのコマンドＤ６と、ＡＬＵ［２］に供給すべきコマンドとしてのコマンドＤ４と、ＡＬＵ［３］に供給すべきコマンドとしてのコマンドＤ５と、の３つのコマンドから成る。
【００３６】
合成コマンド群６５及び６６、並びに、図示されない他の合成コマンド群を併せたものを、圧縮コマンド列６２と呼ぶ。但し、圧縮コマンド列６２には、合成コマンド群以外のコマンド群（非合成コマンド群）も含まれうる。圧縮コマンド列の生成手法に関しては、後に更なる説明を加える。
【００３７】
圧縮コマンド列６２は、後述する図６のコマンドＲＡＭ（Random Access Memory）１２に格納される。そのコマンドＲＡＭ１２におけるアドレスＡ０に合成コマンド群６５が格納され、それの下位アドレス側のアドレスＡ１に合成コマンド群６６が格納される。
【００３８】
コマンドＲＡＭ１２において、アドレスＡ０の上位アドレス側から順にコマンドＤ１、Ｄ２及びＤ３が格納され、アドレスＡ１の上位アドレス側から順にコマンドＤ６、Ｄ４及びＤ５が格納される。各アドレス（例えばＡ０又はＡ１）において、上位アドレス側のコマンドから順にＡＬＵ［１］、ＡＬＵ［２］、ＡＬＵ［３］が割り当てられる。つまり、コマンドＤ１及びＤ６はＡＬＵ［１］に供給されるべきコマンドとして割り当てられつつ、コマンドＤ２及びＤ４はＡＬＵ［２］に供給されるべきコマンドとして割り当てられつつ、コマンドＤ３及びＤ５はＡＬＵ［３］に供給されるべきコマンドとして割り当てられつつ、コマンドＲＡＭ１２に格納される。
【００３９】
そして、実際には図４の符号６４にて示されるような供給コマンド列を各ＡＬＵ［ｍ］に供給する（ｍは、１〜３の間の各整数をとる）。即ち、タイミングＴ１〜Ｔ３の夫々において、コマンドＲＡＭ１２内のアドレスＡ０に格納されているコマンド（即ち、圧縮コマンド群６５）を各ＡＬＵ［ｍ］に供給し、タイミングＴ４及びＴ５の夫々において、コマンドＲＡＭ１２内のアドレスＡ１に格納されているコマンド（即ち、圧縮コマンド群６６）を各ＡＬＵ［ｍ］に供給する。
【００４０】
これにより、タイミングＴ１〜Ｔ３の夫々において、ＡＬＵ［１］にはコマンドＤ１が供給され、ＡＬＵ［２］にはコマンドＤ２が供給され、ＡＬＵ［３］にはコマンドＤ３が供給される。また、タイミングＴ４及びＴ５の夫々において、ＡＬＵ［１］にはコマンドＤ６が供給され、ＡＬＵ［２］にはコマンドＤ４が供給され、ＡＬＵ［３］にはコマンドＤ５が供給される。尚、図４における符号６３については後述する。
【００４１】
元コマンド列６１には、例えば、タイミングＴ１のＡＬＵ［２］へのコマンドとしてＮＯＰが定義されていたのであるが、これに代えてコマンドＤ２を供給するようにしても、上述の如く問題は生じない。他のタイミング、他のＡＬＵに関しても同様である。
【００４２】
元コマンド列６１を、コマンド供給用のコマンドＲＡＭにそのまま格納するとコマンドＲＡＭの必要メモリ領域が非常に大きくなってしまうのであるが、元コマンド列６１を圧縮して圧縮コマンド列６２を生成し、圧縮コマンド列６２をコマンドＲＡＭ１２に格納するようにすれば、コマンドＲＡＭ１２の必要メモリ領域が縮小化される。この結果、コマンドＲＡＭ１２を含む集積回路（後述する図５の集積回路２）のチップ面積の小型化及び低消費電力化が図られる。
【００４３】
［並列処理システムの構成］
次に、上述の考え方に基づいて構成された並列処理システムを説明する。図５は、第１実施形態に係る並列処理システム１の全体構成ブロック図である。並列処理システム１は、集積回路２と、元プログラム３と、圧縮部４と、を有して構成される。
【００４４】
図６に、集積回路２の内部ブロック図を示す。集積回路２は、並列処理回路１１、コマンドＲＡＭ１２、アドレステーブル１３及びシーケンサ１４を有して構成される。集積回路２における並列処理回路１１は、図１におけるそれと同じものである。
【００４５】
並列処理回路１１は、例えば、論理回路の再構成を可能とする機能を備えたリコンフィギャラブル回路であり、内部に四則演算や論理演算などを行う、被制御対象としてのＡＬＵを複数個、備えている。説明の具体化及び簡略化のため、上述の如く、並列処理回路１１に含まれる３つのＡＬＵ、即ち、ＡＬＵ［１］、ＡＬＵ［２］及びＡＬＵ［３］に着目する。尚、実際には、例えば、並列処理を行う数１０〜数１００個程度のＡＬＵ（不図示）が並列処理回路１１に組み込まれ、そのＡＬＵの数に対応してコマンドＲＡＭ１２及びアドレステーブル１３は構成される。
【００４６】
３つのＡＬＵ［１］〜ＡＬＵ［３］は、並列処理を行うための並列処理回路１１に組み込まれおり、３つのＡＬＵ［１］〜ＡＬＵ［３］には同時にコマンドが供給される必要がある。ここにおける「同時」とは、並列処理回路１１の動作に支障がない程度の多少の時間的ずれを含む概念である。
【００４７】
図５の元プログラム３内には、ＡＬＵ［１］〜ＡＬＵ［３］に本来供給されるべきコマンドを列挙した元コマンド列が表現されている。説明の具体化のため、この元コマンド列が、図２の元コマンド列６１であるとして説明を行う。
【００４８】
圧縮部４は、元コマンド列６１を、圧縮しつつ集積回路２に供給可能なデータ形式に変換するコンパイラとして機能する。圧縮部４は、例えば、圧縮プログラムとして構成されており、その圧縮プログラムと図５の元プログラム３は、ハードディスク等の記録媒体に格納される。そして、圧縮部４（圧縮プログラム）は、該記録媒体の記憶内容を読み出し可能なコンピュータ（不図示）上で動作し、元コマンド列６１を圧縮して図３に示すような圧縮コマンド列６２を生成する。
【００４９】
尚、上記のコンピュータは、圧縮部４の機能を実現するための装置（制御情報圧縮装置）として機能し、上記のコンピュータを、本実施形態（及び後述する第２実施形態）に係る並列処理システムの構成要素と捉えることも可能である。また、本実施形態（及び後述する第２実施形態）に係る並列処理システム全体を、１つの装置に搭載することも可能である。また、圧縮部４を、ハードウェアによって構成するようにしても構わない。
【００５０】
また、圧縮部４は、図４の符号６３にて指し示される内容を特定するテーブルデータ（特定データ）も生成する。図６のコマンドＲＡＭ１２は、上述の如く、図３の圧縮コマンド列６２を指定されたアドレス（アドレスＡ０、Ａ１・・・）に格納するが、上記テーブルデータは、「ＡＬＵ［ｍ］に対して、どのタイミングにコマンドＲＡＭ１２内のどのアドレスの格納データ（ＡＬＵ［ｍ］用のコマンド）を供給するのか」を特定する。上述してきた例の場合、例えば、テーブルの先頭から順にアドレスＡ０、Ａ０、Ａ０、Ａ１、Ａ１、・・・を列挙したテーブルデータを生成する。この生成されたテーブルデータを、以下、テーブルデータ６３と呼ぶことにする。
【００５１】
圧縮部４によって生成された圧縮コマンド列６２及びテーブルデータ６３の内容は、夫々、図６の集積回路２の入力端子（不図示）を介して、コマンドＲＡＭ１２及びアドレステーブル１３に伝達される。コマンドＲＡＭ１２は圧縮コマンド列６２を記憶し、アドレステーブル１３はテーブルデータ６３を記憶する。
【００５２】
図６において、シーケンサ１４は、生成した或いは投入されたデータクロックに従い、実際にＡＬＵ［１］〜ＡＬＵ［３］にコマンドを投入するタイミングを決定する。上述してきたタイミングＴ１、Ｔ２、・・・は、実際にはシーケンサ１４によって定められる。シーケンサ１４の後段にアドレステーブル１３が設けられ、シーケンサ１４の指示に従ってアドレステーブル１３からテーブルデータ６３内のアドレスが順次、コマンドＲＡＭ１２に供給される。コマンドＲＡＭ１２は、アドレステーブル１３から指定されたアドレスに格納されたデータ（即ち、コマンド）を、順次、ＡＬＵ［１］〜ＡＬＵ［３］に供給する。
【００５３】
具体的には、タイミングＴ１において、シーケンサ１４は、テーブルデータ６３の先頭データ、即ち、アドレスＡ０をアドレステーブル１３に出力させる。この出力されたアドレスＡ０を受け、コマンドＲＡＭ１２は、自身のアドレスＡ０に格納されたコマンドをＡＬＵ［１］〜ＡＬＵ［３］に供給する。今の例の場合、図３の合成コマンド群６５をＡＬＵ［１］〜ＡＬＵ［３］に供給する。
【００５４】
タイミングＴ１の次のタイミングＴ２には、シーケンサ１４は、テーブルデータ６３の先頭データの次のデータ、即ち、アドレスＡ０をアドレステーブル１３に出力させ、これを受けてコマンドＲＡＭ１２は、自身のアドレスＡ０に格納されたコマンドをＡＬＵ［１］〜ＡＬＵ［３］に供給する。タイミングＴ３以降も同様であり、タイミングＴ３、Ｔ４、Ｔ５、・・・において、アドレステーブル１３は、夫々、アドレスＡ０、Ａ１、Ａ１、・・・をコマンドＲＡＭ１２に指定する。
【００５５】
これにより、上述の如く、タイミングＴ１〜Ｔ３の夫々において、ＡＬＵ［１］にはコマンドＤ１が供給され、ＡＬＵ［２］にはコマンドＤ２が供給され、ＡＬＵ［３］にはコマンドＤ３が供給される。また、タイミングＴ４及びＴ５の夫々において、ＡＬＵ［１］にはコマンドＤ６が供給され、ＡＬＵ［２］にはコマンドＤ４が供給され、ＡＬＵ［３］にはコマンドＤ５が供給される。
【００５６】
［圧縮コマンド列の生成手法］
図２の元コマンド列６１から生成される図３の圧縮コマンド列６２を圧縮コマンド列の例として挙げ、これを参照して本実施形態に係る並列処理システム１の動作の説明を行ったが、ここで、図５の圧縮部４による圧縮コマンド列の生成手法について更なる説明を加える。
【００５７】
圧縮コマンド列は、図３の合成コマンド群６５及び６６のような合成コマンド群を含んで構成されるが、この合成コマンド群の合成パターンには、大別して、３つの合成パターンがある。これを、以下に、第１、第２及び第３合成パターンとして説明する。
【００５８】
今、ＮＯＰ以外のコマンド（有効コマンド）として、コマンドα及びβを定義する。コマンドαとβは、互いに内容（種類）の異なるコマンドである。例えば、コマンドαとβは、夫々、ＡＮＤ及びＳＵＢである。但し、コマンドαとβは同じであっても構わない。
【００５９】
また、ＡＬＵ［１］〜ＡＬＵ［３］に対するコマンドを記述したコマンド群として、図７に示すような、第１及び第２の合成対象コマンド群を定義する。本実施形態において、コマンド群とは、ＡＬＵ［１］〜ＡＬＵ［３］に対応する３つ分のコマンドを総称したものを意味する。
【００６０】
第１の合成対象コマンド群は、コマンド［ｉ，１］、［ｉ，２］及び［ｉ，３］から成り、第２の合成対象コマンド群は、コマンド［ｊ，１］、［ｊ，２］及び［ｊ，３］から成る。元プログラム３内に表された元コマンド列が合計Ｎ個のタイミングについてのコマンドから構成されているとすると、ｉ及びｊは、１〜Ｎの間の各整数をとる。但し、ｉ≠ｊである。例えば、第１及び第２の合成対象コマンド群は、夫々、図２のコマンド列６１に含まれるタイミングＴ１及びＴ２に対応するコマンド群であって、元コマンド列６１に内包される。
【００６１】
コマンド［ｉ，１］、［ｉ，２］及び［ｉ，３］は、夫々、ＡＬＵ［１］、ＡＬＵ［２］及びＡＬＵ［３］に対応するコマンドであり、コマンド［ｊ，１］、［ｊ，２］及び［ｊ，３］は、夫々、ＡＬＵ［１］、ＡＬＵ［２］及びＡＬＵ［３］に対応するコマンドである。
【００６２】
―――第１合成パターン（図８）―――
図８は、第１合成パターンを説明するための図である。図８において、第１の合成対象コマンド群８１におけるコマンド［ｉ，１］、［ｉ，２］及び［ｉ，３］は、夫々、コマンドα、ＮＯＰ及びＮＯＰであり、第２の合成対象コマンド群８２におけるコマンド［ｊ，１］、［ｊ，２］及び［ｊ，３］は、夫々、コマンドＮＯＰ、β及びＮＯＰである。
【００６３】
圧縮部４は、「ｍ＝１、２及び３の夫々に関し、第１の合成対象コマンド群８１内のコマンド［ｉ，ｍ］と第２の合成対象コマンド群８２内のコマンド［ｊ，ｍ］の２つのコマンドを参照し、その２つのコマンドの少なくとも一方がＮＯＰであるか」を判定する。
【００６４】
そして、その判定の結果、「ｍ＝１、２及び３の全てについて、上記２つのコマンドの少なくとも一方がＮＯＰである」という条件（この条件を、「第１合成条件」という）が満たされた場合、第１及び第２の合成対象コマンド群８１及び８２を合成して、合成コマンド群８３を生成する。
【００６５】
図８の例の場合、
ｍ＝１に関し、コマンド［ｉ，１］とコマンド［ｊ，１］に対応する２つのコマンドは、α及びＮＯＰであり、ＮＯＰを含んでいる。加えて、
ｍ＝２に関し、コマンド［ｉ，２］とコマンド［ｊ，２］に対応する２つのコマンドは、ＮＯＰ及びβであり、ＮＯＰを含んでいる。加えて、
ｍ＝３に関し、コマンド［ｉ，３］とコマンド［ｊ，３］に対応する２つのコマンドは、ＮＯＰ及びＮＯＰであり、ＮＯＰを含んでいる。
このため、第１合成条件は満たされ、合成コマンド群８３が生成される。
【００６６】
合成コマンド群８３は、第１及び第２の合成対象コマンド群８１及び８２内の同一のＡＬＵ［ｍ］に対応するコマンド同士を合成することにより生成される。この際、ｍ＝１、２及び３の夫々に関し、合成される２つのコマンドの中にＮＯＰ以外の有効コマンドが含まれる場合は、その有効コマンドを合成後のコマンドとし、合成される２つのコマンドの双方がＮＯＰである場合は、ＮＯＰを合成後のコマンドとする。
【００６７】
この結果、合成コマンド群８３は、ＡＬＵ［１］、ＡＬＵ［２］及びＡＬＵ［３］に対応するコマンドが、夫々、コマンドα、β及びＮＯＰであることを示すコマンド群となる。
【００６８】
この合成コマンド群８３を、例えば、そのまま、圧縮コマンド列に格納することも可能である。実際には、この合成コマンド群８３を新たに第１の合成対象コマンド群と取り扱って、更に合成を試みる。例えば、合成コマンド群８３を図９に示す如く第１の合成対象コマンド群として取り扱い、それと、コマンド［ｊ，１］、［ｊ，２］及び［ｊ，３］が、夫々、ＮＯＰ、ＮＯＰ及びγの第２の合成対象コマンド群との合成を試みる。これらは、上記の第１合成条件を満たすため合成される。
【００６９】
―――第２合成パターン（図１０）―――
図１０は、第２合成パターンを説明するための図である。図１０において、第１の合成対象コマンド群８４におけるコマンド［ｉ，１］、［ｉ，２］及び［ｉ，３］は、夫々、コマンドα、β及びＮＯＰであり、第２の合成対象コマンド群８５におけるコマンド［ｊ，１］、［ｊ，２］及び［ｊ，３］も、夫々、コマンドα、β及びＮＯＰである。
【００７０】
圧縮部４は、「ｍ＝１、２及び３の夫々に関し、第１の合成対象コマンド群８４内のコマンド［ｉ，ｍ］と第２の合成対象コマンド群８５内のコマンド［ｊ，ｍ］の２つのコマンドを参照し、その２つのコマンドが同じ内容（種類）のコマンドであるか」を判定する。
【００７１】
そして、その判定の結果、「ｍ＝１、２及び３の全てについて、上記２つのコマンドが同じ内容（種類）のコマンドである」という条件（この条件を、「第２合成条件」という）が満たされた場合、第１及び第２の合成対象コマンド群８４及び８５を合成して、合成コマンド群８６を生成する。
【００７２】
図１０の例の場合、
ｍ＝１に関し、コマンド［ｉ，１］とコマンド［ｊ，１］に対応する２つのコマンドは、共にコマンドαである。加えて、
ｍ＝２に関し、コマンド［ｉ，２］とコマンド［ｊ，２］に対応する２つのコマンドは、共にコマンドβである。加えて、
ｍ＝３に関し、コマンド［ｉ，３］とコマンド［ｊ，３］に対応する２つのコマンドは、共にＮＯＰである。
このため、第２パターン合成条件は満たされ、合成コマンド群８６が生成される。
【００７３】
合成コマンド群８６は、上述の第１合成パターンと同様、第１及び第２の合成対象コマンド群８４及び８５内の同一のＡＬＵ［ｍ］に対応するコマンド同士を合成することにより生成される。第２合成条件を満たしているのであるから、単に、第１及び第２の合成対象コマンド群８４及び８５の何れか一方を、そのまま、合成コマンド群８６として取り扱えばよい。今の例の場合、結果的に、合成コマンド群８６は、図８の合成コマンド群８３と同じものとなる。
【００７４】
この合成コマンド群８６を、例えば、そのまま、圧縮コマンド列に格納することも可能である。実際には、上述の第１合成パターンで説明したように、この合成コマンド群８６を新たに第１の合成対象コマンド群と取り扱って、更に、他のコマンド群との合成を試みる。
【００７５】
―――第３合成パターン（図１１）―――
図１１は、第３合成パターンを説明するための図である。図１１において、第１の合成対象コマンド群８７におけるコマンド［ｉ，１］、［ｉ，２］及び［ｉ，３］は、夫々、コマンドα、β及びＮＯＰであり、第２の合成対象コマンド群８８におけるコマンド［ｊ，１］、［ｊ，２］及び［ｊ，３］は、夫々、コマンドＮＯＰ、β及びＮＯＰである。第３合成パターンは、上述の第１及び第２合成パターンを組み合わせたものに相当する。
【００７６】
圧縮部４は、「ｍ＝１、２及び３の夫々に関し、第１の合成対象コマンド群８７内のコマンド［ｉ，ｍ］と第２の合成対象コマンド群８８内のコマンド［ｊ，ｍ］の２つのコマンドを参照し、その２つのコマンドの少なくとも一方がＮＯＰであるか、或いは、その２つのコマンドが同じ内容（種類）のコマンドであるか」を判定する。
【００７７】
そして、その判定の結果、「ｍ＝１、２及び３の全てについて、上記２つのコマンドの少なくとも一方がＮＯＰである、或いは、上記２つのコマンドが同じ内容（種類）のコマンドである」という条件（この条件を、「第３合成条件」という）が満たされた場合、第１及び第２の合成対象コマンド群８７及び８８を合成して、合成コマンド群８９を生成する。
【００７８】
図１１の例の場合、
ｍ＝１に関し、コマンド［ｉ，１］とコマンド［ｊ，１］に対応する２つのコマンドは、α及びＮＯＰであり、ＮＯＰを含んでいる。加えて、
ｍ＝２に関し、コマンド［ｉ，２］とコマンド［ｊ，２］に対応する２つのコマンドは、共にコマンドβである。加えて、
ｍ＝３に関し、コマンド［ｉ，３］とコマンド［ｊ，３］に対応する２つのコマンドは、共にＮＯＰである。
このため、第３パターン合成条件は満たされ、合成コマンド群８９が生成される。
【００７９】
合成コマンド群８９は、上述の第１合成パターンと同様、第１及び第２の合成対象コマンド群８７及び８８内の同一のＡＬＵ［ｍ］に対応するコマンド同士を合成することにより生成される。この際、ｍ＝１、２及び３の夫々に関し、合成される２つのコマンドの中にＮＯＰ以外の有効コマンドが含まれる場合は、その有効コマンドを合成後のコマンドとし、合成される２つのコマンドの双方がＮＯＰである場合は、ＮＯＰを合成後のコマンドとし、合成される２つのコマンドの双方が同じ内容の有効コマンドである場合は、その有効コマンドを合成後のコマンドとする。今の例の場合、結果的に、合成コマンド群８９は、図８の合成コマンド群８３と同じものとなる。
【００８０】
この合成コマンド群８９を、例えば、そのまま、圧縮コマンド列に格納することも可能である。実際には、上述の第１合成パターンで説明したように、この合成コマンド群８９を新たに第１の合成対象コマンド群と取り扱って、更に、他のコマンド群との合成を試みる。
【００８１】
［圧縮コマンド列の生成フロー］
次に、図５の圧縮部４による元コマンド列の圧縮手順について説明する。図１２は、その圧縮手順を表すフローチャートである。
【００８２】
まず、ステップＳ１において、図２の元コマンド列６１のような元コマンド列内の、タイミングＴ１に対応するコマンド群（３つのコマンド）を第１の合成対象コマンド群とし、タイミングＴ２に対応するコマンド群（３つのコマンド）を第２の合成対象コマンド群とする。ステップＳ１の処理を終えるとステップＳ２に移行する。
【００８３】
ステップＳ２では、第１及び第２の合成対象コマンド群に関し、上述の第１、第２及び第３合成条件の何れかを満たすかを判断する。第１、第２及び第３合成条件の何れかを満たす場合はステップＳ３に移行し（ステップＳ２のＹ）、満たさない場合はステップＳ５に移行する（ステップＳ２のＮ）。尚、第１合成条件を満たす場合にのみ、或いは、第２合成条件を満たす場合にのみ、或いは、第３合成条件を満たす場合にのみ、ステップＳ３に移行するように変形することも可能である。但し、圧縮効率を考えると、この変形を行わない方が望ましい。
【００８４】
ステップＳ３では、上述の説明に従って第１及び第２の合成対象コマンド群を合成する。ステップＳ３を終えるとステップＳ４に移行する。
【００８５】
ステップＳ４において、この合成によって得られる合成コマンド群を、新たに第１の合成対象コマンド群として設定する。ステップＳ４を終えるとステップＳ５に移行する。
【００８６】
ステップＳ５では、現在の第１の合成対象コマンド群に対して、第２の合成対象コマンド群を設定することができるかが判断され、設定できる場合はステップＳ６に移行し（ステップＳ５のＹ）、設定できない場合はステップＳ７に移行する（ステップＳ５のＮ）。既に他のコマンド群と合成されているコマンド群は、第２の合成対象コマンド群として設定されない。また、現在の第１の合成対象コマンド群又はそれの基となるコマンド群との間で既にステップＳ２の判断処理がなされているコマンド群は、現在の第１の合成対象コマンド群との関係において、第２の合成対象コマンド群とはならない。
【００８７】
ステップＳ６では、現在の第１の合成対象コマンド群との関係において、第２の合成対象コマンド群が設定され、ステップＳ２に戻る。この後、ステップＳ２以降の処理が繰り返される。
【００８８】
ステップＳ７では、「元コマンド列の中にステップＳ３における合成処理を経ていない２以上のコマンド群が存在しており、且つ、その２以上のコマンド群の内、ステップＳ２による合成条件成立／不成立の判断がなされていないコマンド群の組み合わせがあるか」が判断される。そのような組み合わせがある場合は（ステップＳ７のＹ）ステップＳ８に移行して、その組み合わせを形成する２つのコマンド群を第１及び第２の合成対象コマンド群として設定し、ステップＳ２に戻る。一方、そのような組み合わせがない場合は（ステップＳ７のＮ）、図１２に示す処理を終了する。
【００８９】
例えば、図１３に示すような元コマンド列に対応する圧縮コマンド列を生成する場合を考える。この元コマンド列は、６つのタイミング分のコマンドを格納している。図１３における元コマンド列内のタイミングＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５及びＴ６に対応するコマンド群を、夫々、コマンド群９１、９２、９３、９４、９５及び９６と呼ぶ。
【００９０】
この場合、まず、コマンド群９１と９２がステップＳ３にて合成され、その後、ステップＳ６においてコマンド群９３が新たに第２の合成コマンド群として設定される。しかし、コマンド群９１と９２の合成コマンド群とコマンド群９３とは合成できないため、２回目のステップＳ２の判断はＮｏとなり、その後、ステップＳ６においてコマンド群９４が新たに第２の合成コマンド群として設定される。そして、ステップＳ２及びＳ３を経てコマンド群９１、９２及び９４は合成され、更なるステップＳ２〜Ｓ６のループ処理を経てステップＳ７に移行する。
【００９１】
そして、ステップＳ７及びＳ８の処理を経た後に、コマンド群９３と９６が合成され、コマンド群９５がそのまま残存して、図１２の処理は終了する。
【００９２】
図１４に、図１３に示す元コマンド列を圧縮することによって生成された圧縮コマンド列を示す。このように、圧縮コマンド列には、合成コマンド群以外のコマンド群（非合成コマンド群；コマンド群９５）も含まれうる。
【００９３】
尚、図１２のフローチャート中に特に設けていないが、ステップＳ３の合成処理過程などにおいて、図６のアドレステーブル１３に格納されるべきテーブルデータも生成されていく。
【００９４】
＜＜第２実施形態＞＞
上述の第１実施形態では、被制御対象としてＡＬＵを取り扱い、その被制御対象の動作を制御するための制御情報としてコマンドを取り扱った。第１実施形態に記載の構成及び手法は、並列に演算処理を行うＡＬＵに対してだけでなく、並列にデータ読み出し又はデータ書き込みを行う記憶手段などに対しても適用可能である。この記憶手段は、例えば、ＲＡＭ及びＲＯＭ（Read Only Memory）などの半導体メモリ、光ディスクなどの記録媒体である。
【００９５】
被制御対象がＲＡＭである場合の実施形態を、第２実施形態として例示する。図１５は、第２実施形態に係る集積回路２ａの内部ブロック図である。集積回路２ａは、図６の集積回路２に対応するものである。第２実施形態に係る並列処理システム（不図示）の全体的構成は、集積回路２を集積回路２ａに置換した点で第１実施形態に係る並列処理システム１のそれと相違するが、他の点において両者は同様である。
【００９６】
図６と図１５の比較からも分かるように、集積回路２ａは、図６の集積回路２における並列処理回路１１及びコマンドＲＡＭ１２を夫々並列処理回路１１ａ及びアドレスＲＡＭ１２ａに置換した構成となっており、その他の点において、集積回路２及び２ａは同様である。
【００９７】
並列処理回路１１ａは、被制御対象としてのＲＡＭを複数個備えている。具体的には、図１５に示す如く、並列処理回路１１ａは、ＲＡＭ［１］、ＲＡＭ［２］及びＲＡＭ［３］を備えている。順次訪れる各タイミングにおいて、３つのＲＡＭ［１］〜ＲＡＭ［３］に対し、同時に（即ち、並列に）アドレスを供給する必要がある。
【００９８】
ＲＡＭ［ｍ］は、供給されたアドレスに従い、そのアドレスに対応する自身のメモリ領域内の記憶データを読み出して出力する、或いは、そのアドレスに対応する自身のメモリ領域内に指示されたデータを書き込む（ｍは、１〜３の範囲内の各整数をとる）。従って、ＲＡＭ［ｍ］に供給されるアドレスは、データ読み出し又はデータ書き込みというＲＡＭ［ｍ］の動作を制御するための制御情報と呼べる。
【００９９】
第２実施形態は、基本的に、第１実施形態における「ＡＬＵ」及び「コマンド」を、「ＲＡＭ」及び「アドレス」に読み替えたものに相当し、第１実施形態にて述べた内容と同様の内容を全て第２実施形態に適用可能である。
【０１００】
即ち、第２実施形態では、例えば、元プログラム３内に、ＲＡＭ［１］〜ＲＡＭ［３］に本来供給されるべきアドレスを列挙した図１６のような元アドレス列７１が表されている。元アドレス列７１には、順次訪れるタイミングＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、・・・においてＲＡＭ［１］〜ＲＡＭ［３］に供給すべきアドレスが記述されている。
【０１０１】
元アドレス列７１は、
“タイミングＴ１において、ＲＡＭ［１］、ＲＡＭ［２］、ＲＡＭ［３］に供給すべきアドレスが、夫々、アドレスＲ１、ＸＸ、ＸＸであること”、
“タイミングＴ２において、ＲＡＭ［１］、ＲＡＭ［２］、ＲＡＭ［３］に供給すべきアドレスが、夫々、アドレスＸＸ、Ｒ２、ＸＸであること”、
“タイミングＴ３において、ＲＡＭ［１］、ＲＡＭ［２］、ＲＡＭ［３］に供給すべきアドレスが、夫々、アドレスＸＸ、ＸＸ、Ｒ３であること”、
“タイミングＴ４において、ＲＡＭ［１］、ＲＡＭ［２］、ＲＡＭ［３］に供給すべきアドレスが、夫々、アドレスＸＸ、Ｒ４、Ｒ５であること”、及び
“タイミングＴ５において、ＲＡＭ［１］、ＲＡＭ［２］、ＲＡＭ［３］に供給すべきアドレスが、夫々、アドレスＲ６、ＸＸ、ＸＸであること”
を規定している。
【０１０２】
アドレスＲ１〜Ｒ６は、ＲＡＭ（ＲＡＭ［１］〜ＲＡＭ［３］の何れか）に供給されるべきアドレスを指定するものである。アドレスＸＸは、そのタイミングにおけるＲＡＭの動作が不要であることを示す、いわば無効アドレスである。全てのＲＡＭが同時に動作する必要があるケースは比較的少なく、同一タイミングにおいては、一部のＲＡＭのみが動作することが多い。このため、並列処理を行うためのプログラムには、元アドレス列７１のように、無効アドレスに対応するアドレスＸＸが多く含まれる。
【０１０３】
第２実施形態において、圧縮部４は、アドレスＸＸ（無効アドレス）を第１実施形態におけるＮＯＰ（無効コマンド）と同様に取り扱い、第１実施形態と同様、図１６に示す元アドレス列７１を圧縮して図１７に示す圧縮アドレス列７２を生成する。また、圧縮アドレス列７２に対応したテーブルデータ（特定データ）も生成する。
【０１０４】
圧縮アドレス列７２は、タイミングＴ１〜Ｔ３における各アドレスを１つにまとめた合成アドレス群７５と、タイミングＴ４及びＴ５における各アドレスを１つにまとめた合成アドレス群７６と、を含んで構成される。上記テーブルデータは、「ＲＡＭ［ｍ］に対して、どのタイミングにアドレスＲＡＭ１２ａ内のどのアドレスの格納データ（ＲＡＭ［ｍ］用のアドレス）を供給するのか」を特定する。
【０１０５】
圧縮アドレス列７２はアドレスＲＡＭ１２ａに格納され、そのテーブルデータはアドレステーブル１３に格納される。アドレスＲＡＭ１２ａは、記憶する内容がコマンドでなくアドレスになっただけで、図６のコマンドＲＡＭ１２と同様のものである。
【０１０６】
そして、アドレスＲＡＭ１２ａは、シーケンサ１４の制御の下、アドレステーブル１３からの出力値に従い、タイミングＴ１〜Ｔ３の夫々において、ＲＡＭ［１］にアドレスＲ１を供給し、ＲＡＭ［２］にアドレスＲ２を供給し、ＲＡＭ［３］にアドレスＲ３を供給する。また、タイミングＴ４及びＴ５の夫々において、ＲＡＭ［１］にアドレスＲ６を供給し、ＲＡＭ［２］にアドレスＲ４を供給し、ＲＡＭ［３］にアドレスＲ５を供給する。
【０１０７】
或るＲＡＭに関し、或るタイミングにおいて無効アドレス（アドレスＸＸ）が定義されているということは、該タイミングにおいて該ＲＡＭの動作は不要であり、また、それ故に、該ＲＡＭの出力は何れの回路にも必要とされていないことを意味する。つまり、該タイミングにおいて該ＲＡＭの出力は何れの回路にも利用されない（換言すれば、何れの回路にも接続されない）。
【０１０８】
従って、ＲＡＭ［ｍ］からデータを読み出す場合においては、そのタイミングにおいて該ＲＡＭに他の任意のアドレス（有効アドレス）を供給し、そのアドレスに対応するデータを出力させるようにしても集積回路２ａ（及びそれを含む装置）の全体の動作に問題は生じない。また、ＲＡＭ［ｍ］にデータを書き込む制御を実行している場合においても、ＲＡＭ［ｍ］にデータ書き込みを許可するライトイネーブル信号を与えなければ、実際のデータ書き込みは行われない。故に、そのような場合においても、任意のアドレスを供給するようにしても問題は生じない。
【０１０９】
尚、第１実施形態における“ＮＯＰ”は、第２実施形態において、“ＸＸ”に読み替えられる。また、第１実施形態において第２及び第３合成条件を考える場合、上述したように、コマンドの内容の同一性が考慮される。第２実施形態において、上述の第２及び第３合成条件を考える場合は、同様にアドレスの内容の同一性が考慮される。“アドレスの内容”は、アドレスの値を意味する。仮に、アドレスＲ１とＲ６の内容が同じであり、且つ、アドレスＲ２とＲ４の内容が同じであり、且つ、アドレスＲ３とＲ５の内容が同じであるならば、第２合成条件が成立し、図１７の合成アドレス群７５と７６を、１つにまとめることが可能である。
【０１１０】
元アドレス列７１を、アドレス供給用のアドレスＲＡＭにそのまま格納するとアドレスＲＡＭの必要メモリ領域が非常に大きくなってしまうのであるが、元アドレス列７１を圧縮して圧縮アドレス列７２を生成し、圧縮アドレス列７２をアドレスＲＡＭ１２ａに格納するようにすれば、アドレスＲＡＭ１２ａの必要メモリ領域が縮小化される。この結果、アドレスＲＡＭ１２ａを含む集積回路２ａのチップ面積の小型化及び低消費電力化が図られる。
【０１１１】
＜＜変形等＞＞
上述した各実施形態における並列処理システムの機能は、ハードウェアによって、ソフトウェアによって、或いは、それらの組み合わせによって、実現することが可能である。
【０１１２】
尚、図６（又は図１５）において、コマンドＲＡＭ１２（又はアドレスＲＡＭ１２ａ）、アドレステーブル１３及びシーケンサ１４は、被制御対象としてのＡＬＵ［ｍ］（又はＲＡＭ［ｍ］）に制御情報としてのコマンド（又はアドレス）を供給する制御情報供給装置（制御情報伸張装置）として機能する。
【０１１３】
また、この制御情報供給装置（制御情報伸張装置）によって実行される機能を伸張プログラムとして記述し、該伸張プログラムをコンピュータ上で実行することによって、ＡＬＵ［ｍ］（又はＲＡＭ［ｍ］）に、上述してきたコマンド（またはアドレス）を供給するようにしてもよい。
【０１１４】
また、第１実施形態において、コマンドＮＯＰ（無効コマンド）、元コマンド列６１及び圧縮コマンド列６２は、夫々、無効制御情報、元制御情報列及び圧縮制御情報列として機能する。また、コマンドＮＯＰ以外のコマンド（有効コマンド；図２のＤ１等）は、有効制御情報として機能する。
【０１１５】
また、第２実施形態において、アドレスＸＸ（無効アドレス）、元アドレス列７１及び圧縮アドレス列７２は、夫々、無効制御情報、元制御情報列及び圧縮制御情報列として機能する。また、アドレスＸＸ以外のアドレス（有効アドレス；図１６のＲ１等）は、有効制御情報として機能する。
【０１１６】
また、第１及び第２実施形態において、供給制御手段は、主として、シーケンサ１４にて形成される。
【図面の簡単な説明】
【０１１７】
【図１】本発明の第１実施形態に係る並列処理回路の内部ブロック図である。
【図２】図１の各ＡＬＵに本来供給すべきコマンドを記述した元コマンド列を表す図である。
【図３】図２の元コマンド列から圧縮生成される圧縮コマンド列を表す図である。
【図４】図１の各ＡＬＵに実際に供給されるコマンドを表す図である。
【図５】本発明の第１実施形態に係る並列処理システムの全体構成ブロック図である。
【図６】図５の集積回路の内部ブロック図である。
【図７】図５の圧縮部によるコマンドの合成手法を説明するための図である。
【図８】図５の圧縮部に適用される第１合成パターンを説明するための図である。
【図９】図５の圧縮部に適用される第１合成パターンを説明するための図である。
【図１０】図５の圧縮部に適用される第２合成パターンを説明するための図である。
【図１１】図５の圧縮部に適用される第３合成パターンを説明するための図である。
【図１２】図５の圧縮部による元コマンド列の圧縮手順を表すフローチャートである。
【図１３】図１２のフローチャートの処理を具体的に説明するための図である。
【図１４】図１２のフローチャートの処理を具体的に説明するための図である。
【図１５】本発明の第２実施形態に係る集積回路の内部ブロック図である。
【図１６】図１５の各ＲＡＭに本来供給すべきアドレスを記述した元アドレス列を表す図である。
【図１７】図１６の元アドレス列から圧縮生成される圧縮アドレス列を表す図である。
【図１８】従来の並列処理回路に対して供給されるコマンドを表す図である。
【符号の説明】
【０１１８】
１  並列処理システム
２、２ａ  集積回路
３  元プログラム
４  圧縮部
１１、１１ａ  並列処理回路
１２  コマンドＲＡＭ
１３  アドレステーブル
１４  シーケンサ
１２ａ  アドレスＲＡＭ
【図１】
0004646853.tif 000002
【図２】
0004646853.tif 000003
【図３】
0004646853.tif 000004
【図４】
0004646853.tif 000005
【図５】
0004646853.tif 000006
【図６】
0004646853.tif 000007
【図７】
0004646853.tif 000008
【図８】
0004646853.tif 000009
【図９】
0004646853.tif 000010
【図１０】
0004646853.tif 000011
【図１１】
0004646853.tif 000012
【図１２】
0004646853.tif 000013
【図１３】
0004646853.tif 000014
【図１４】
0004646853.tif 000015
【図１５】
0004646853.tif 000016
【図１６】
0004646853.tif 000017
【図１７】
0004646853.tif 000018
【図１８】
0004646853.tif 000019