(57)【要約】【課題】余分なアドレス生成装置を動かす必要がなく、余分なエネルギーを消費を抑制でき、また、ハードウェアの設計完了時に対応関係を柔軟に変更可能な演算システムを提供する。【解決手段】第２の構成情報格納メモリ２０に格納されている構成情報の内容に従って決まる第１の選択制御信号ｃｔｒｌ０に応じて第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０と、第２のアドレス生成装置１２によるａｇ＿ｃｔｒｌ１のうちのいずれかを第１の演算装置１７の演算制御信号ｅｘ＿ｃｔｒｌ０および第２の演算装置１８の演算制御信号ｅｘ＿ｃｔｒｌ１として選択し、演算制御信号ｅｘ＿ｃｔｒｌ０を第１の演算装置１７に出力し、演算制御信号ｅｘ＿ｃｔｒｌ１を第２の演算装置１８に出力する制御信号選択装置１５を設ける。【選択図】　　　図１
2004102578.tif 000002
【特許請求の範囲】
【請求項１】
供給される構成情報に基づいて再構成し、供給される演算制御信号およびデータに基づいて所定の演算を行う複数の演算装置と、
上記複数の演算装置の演算に用いるデータを記憶し、読み出しアドレスで指定されたアドレスのデータを読み出しデータとして出力する複数のデータメモリと、
上記複数のデータメモリに対応して設けられ、それぞれ対応するデータメモリの読み出しアドレスを生成し、かつ、演算制御信号を生成する複数のアドレス生成装置と、
第１の選択制御信号に応じて、上記少なくとも一つのアドレス生成装置が生成する演算制御信号から上記複数の演算装置のための所望の演算制御信号を選択して上記複数の演算装置に供給する制御信号選択装置と、
第２の選択制御信号に応じて、上記複数のデータメモリから読み出されたデータの複数の演算装置への経路を選択するデータ経路選択装置と
を有する演算システム。
【請求項２】
構成情報を記憶可能で、制御信号に応じて記憶した構成情報を上記演算装置に出力する構成情報格納メモリを有する
請求項１記載の演算システム。
【請求項３】
上記複数のアドレス生成装置は、供給される構成情報に基づいて読み出しアドレスおよび演算制御信号を生成し、
構成情報を記憶し、所定の指示に従って記憶した構成情報を所望の上記アドレス生成装置に供給する構成情報格納メモリを有する
請求項１記載の演算システム。
【請求項４】
構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第１の選択制御信号を生成して上記制御信号選択装置に出力する構成情報格納メモリを有する
請求項１記載の演算システム。
【請求項５】
構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第２の選択制御信号を生成して上記データ経路選択装置に出力する構成情報格納メモリを有する
請求項１記載の演算システム。
【請求項６】
上記複数のアドレス生成装置は、供給される構成情報に基づいて読み出しアドレスおよび演算制御信号を生成し、
構成情報を記憶し、所定の指示に従って記憶した構成情報を所望の上記アドレス生成装置に供給する第１の構成情報格納メモリと、
構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第１の選択制御信号を生成して上記制御信号選択装置に出力する第２の構成情報格納メモリと、
構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第２の選択制御信号を生成して上記データ経路選択装置に出力する第３の構成情報格納メモリと、
構成情報を記憶可能で、制御信号に応じて記憶した構成情報を上記演算装置に出力する第４の構成情報格納メモリと
を有する請求項１記載の演算システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、再構成可能な演算装置を含む演算システムに係り、特に、演算器の配列や、演算実行時の係数パラメータ等を、構成情報に基づいて再構成可能な演算装置を含む演算システムに関するものである。
【０００２】
【従来の技術】
従来の演算システムは、たとえばＣＰＵと、アドレス生成装置と、構成情報メモリと、再構成可能な演算装置とにより構成される。
この演算システムにおいては、たとえばＣＰＵ等の上位装置を用いて、構成情報メモリの構成情報を書き換えることにより、演算装置の演算器の配列や、演算実行時の係数パラメータ等を任意に設定し、演算装置を再構成して所望の演算結果を得るように構成される。
【０００３】
【発明が解決しようとする課題】
ところで、従来の再構成可能な演算システムでは、アドレス生成装置の制御信号を演算装置で利用する場合、ハードウェア設計時に、特定の演算装置と特定のアドレス生成装置を関連付けて、アドレス生成装置が出力する制御信号を演算装置に直接接続する必要がある。
【０００４】
しかしながら、接続関係を限定してしまうと、たとえば一つのアドレス生成装置が生成するメモリアドレスの示すデータを複数の演算装置で同時に使用する場合、制御信号は一つの演算装置のみにしか供給されず、別の演算装置の制御信号はその演算装置に対応したアドレス生成装置を動かして、制御信号のみを別途生成する必要がある。
そのため、従来の演算システムにおいては、余分なアドレス生成装置を動かす必要が生じ、余分なエネルギーを消費するという不利益がある。
また、対応関係をあとで柔軟に変更しようとしてもその手段が準備されていないため、ハードウェアの設計完了時には、対応関係を完全に決めておく必要があるという不利益もある。
【０００５】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、余分なアドレス生成装置を動かす必要がなく、余分なエネルギーを消費を抑制でき、また、ハードウェアの設計完了時に対応関係を柔軟に変更可能な演算システムを提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明の演算システムは、供給される構成情報に基づいて再構成し、供給される演算制御信号およびデータに基づいて所定の演算を行う複数の演算装置と、上記複数の演算装置の演算に用いるデータを記憶し、読み出しアドレスで指定されたアドレスのデータを読み出しデータとして出力する複数のデータメモリと、上記複数のデータメモリに対応して設けられ、それぞれ対応するデータメモリの読み出しアドレスを生成し、かつ、演算制御信号を生成する複数のアドレス生成装置と、第１の選択制御信号に応じて、上記少なくとも一つのアドレス生成装置が生成する演算制御信号から上記複数の演算装置のための所望の演算制御信号を選択して上記複数の演算装置に供給する制御信号選択装置と、第２の選択制御信号に応じて、上記複数のデータメモリから読み出されたデータの複数の演算装置への経路を選択するデータ経路選択装置とを有する。
【０００７】
好適には、構成情報を記憶可能で、制御信号に応じて記憶した構成情報を上記演算装置に出力する構成情報格納メモリを有する。
【０００８】
好適には、上記複数のアドレス生成装置は、供給される構成情報に基づいて読み出しアドレスおよび演算制御信号を生成し、構成情報を記憶し、所定の指示に従って記憶した構成情報を所望の上記アドレス生成装置に供給する構成情報格納メモリを有する。
【０００９】
好適には、構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第１の選択制御信号を生成して上記制御信号選択装置に出力する構成情報格納メモリを有する。
【００１０】
好適には、構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第２の選択制御信号を生成して上記データ経路選択装置に出力する構成情報格納メモリを有する。
【００１１】
また、本発明では、上記複数のアドレス生成装置は、供給される構成情報に基づいて読み出しアドレスおよび演算制御信号を生成し、構成情報を記憶し、所定の指示に従って記憶した構成情報を所望の上記アドレス生成装置に供給する第１の構成情報格納メモリと、構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第１の選択制御信号を生成して上記制御信号選択装置に出力する第２の構成情報格納メモリと、構成情報を記憶可能で、所定の指示に従って記憶した構成情報に基づいて上記第２の選択制御信号を生成して上記データ経路選択装置に出力する第３の構成情報格納メモリと、構成情報を記憶可能で、制御信号に応じて記憶した構成情報を上記演算装置に出力する第４の構成情報格納メモリとを有する。
【００１２】
本発明によれば、たとえば一つのアドレス生成装置で生成されたアドレスで指定されるデータを複数の演算装置で使用する場合、たとえば第１の構成情報格納メモリに格納された構成情報が一つのアドレス生成装置に供給される。
これにより、一つのアドレス生成装置において、読み出しアドレスが生成され対応するデータメモリから、データが読み出されてデータ経路選択装置に入力される。
また、一つのアドレス生成装置において、演算制御信号が生成され、制御信号選択装置に出力される。
制御信号選択装置には、第２の構成情報格納メモリにおいて所定の指示に従った構成情報に基づき生成された第１の選択制御信号が供給される。
制御信号選択装置においては、第１の選択制御信号を受けて、複数の演算装置に対する制御信号として、上記一つのアドレス生成装置において生成された同じ演算制御信号が選択され割り当てられる。これにより、複数の演算装置に対して同じ演算制御信号が入力される。
また、データ経路選択装置には、第３の構成情報格納メモリにおいて所定の指示に従った構成情報に基づき生成された第２の選択制御信号が供給される。
データ経路選択装置においては、第２の選択制御信号を受けて、複数の演算装置に対する入力データとして、上記一つのデータメモリから読み出された同じデータが選択され割り当てられる。これにより、複数の演算装置に対して同じデータが入力される。
また、複数の演算装置においては、第４の構成情報格納メモリから供給される構成情報に基づいてハードウェアの再構成が行われる。
そして、演算装置において、入力した演算制御信号およびデータに基づいて所定の演算処理が行われる。
【００１３】
【発明の実施の形態】
図１は、本発明に係る演算システムの一実施形態を示すブロック構成図である。
【００１４】
本演算システム１０は、図１に示すように、第１のアドレス生成装置（ＡＤＲＧ１）１１、第２のアドレス生成装置（ＡＤＲＧ２）１２、第１のデータメモリ（ＭＥＭ１）１３、第２のデータメモリ（ＭＥＭ２）１４、制御信号選択装置（ＣＴＬＳＥＬ）１５、データ経路選択装置（ＤＴＰＳＥＬ）１６、第１の演算装置（ＯＰＥ１）１７、第２の演算装置（ＯＰＥ２）１８、第１の構成情報格納メモリ（ＣＤＭ１）１９、第２の構成情報格納メモリ（ＣＤＭ２）２０、第３の構成情報格納メモリ（ＣＤＭ３）２１、および第４の構成情報格納メモリ（ＣＤＭ４）２２を有している。
第１の演算装置１７および第２の演算装置１８は、後述するように、第４の構成情報格納メモリ２２の構成情報に基づいて動的に再構成可能であり、制御信号選択装置１５により選択された演算制御信号ｅｘ　ｃｔｒｌ０，ｅｘ　ｃｔｒｌ１に基づいて、データ経路選択装置１６による読み出しデータｅｘ　ｄａｔ０，ｅｘ　ｄａｔ１に対する演算を行う。
【００１５】
第１のアドレス生成装置１１は、第１の構成情報格納メモリ１９に格納されている構成情報に基づいて、第１のデータメモリ１３に格納されている所望のデータを読み出すための読み出しアドレスａｄｒ０を生成して第１のデータメモリ１３に出力する。
また、第１のアドレス生成装置１１は、第１の構成情報格納メモリ１９に格納されている構成情報に基づいて、第１の演算装置１７および／または第２の演算装置１８の演算処理を制御するための演算制御信号ａｇ＿ｃｔｒｌ０を生成して制御信号選択装置１５に出力する。
【００１６】
第２のアドレス生成装置１２は、第１の構成情報格納メモリ１９に格納されている構成情報に基づいて、第２のデータメモリ１４に格納されている所望のデータを読み出すための読み出しアドレスａｄｒ１を生成して第２のデータメモリ１４に出力する。
また、第２のアドレス生成装置１２は、第１の構成情報格納メモリ１９に格納されている構成情報に基づいて、第１の演算装置１７および／または第２の演算装置１８の演算処理を制御するための演算制御信号ａｇ＿ｃｔｒｌ１を生成して制御信号選択装置１５に出力する。
【００１７】
第１のデータメモリ１３は、第１のアドレス生成装置１１で生成された読み出しアドレスａｄｒ０で指定されるアドレスのデータを読み出しデータｍ　ｄａｔ０としてデータ経路選択装置１６に出力する。
【００１８】
第２のデータメモリ１４は、第２のアドレス生成装置１２で生成された読み出しアドレスａｄｒ１で指定されるアドレスのデータを読み出しデータｍ　ｄａｔ１としてデータ経路選択装置１６に出力する。
【００１９】
制御信号選択装置１５は、第２の構成情報格納メモリ２０に格納されている構成情報の内容に従って決まる第１の選択制御信号ｃｔｒｌ０に応じて、入力端子Ｉ１に入力された第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０と、入力端子Ｉ２に入力された第２のアドレス生成装置１２によるａｇ＿ｃｔｒｌ１のうちのいずれかを第１の演算装置１７の演算制御信号ｅｘ＿ｃｔｒｌ０および第２の演算装置１８の演算制御信号ｅｘ＿ｃｔｒｌ１として選択し、演算制御信号ｅｘ＿ｃｔｒｌ０を出力端子Ｏ１から第１の演算装置１７に出力し、演算制御信号ｅｘ＿ｃｔｒｌ１を出力端子Ｏ２から第２の演算装置１８に出力する。
【００２０】
たとえば第１の選択制御信号ｃｔｒｌ０が２ビットの信号であるとすると、制御信号選択装置１５は、入力端子Ｉ１に入力された第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０と、入力端子Ｉ２に入力された第２のアドレス生成装置１２によるａｇ＿ｃｔｒｌ１を、図２に示すような関係をもって演算制御信号ｅｘ＿ｃｔｒｌ０および演算制御信号ｅｘ＿ｃｔｒｌ１として選択する。
【００２１】
具体的には、第２の構成情報格納メモリ２０による第１の選択制御信号ｃｔｒｌ０が「００」の場合、第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０を演算制御信号ｅｘ＿ｃｔｒｌ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、同様に、第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０を演算制御信号ｅｘ＿ｃｔｒｌ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
第２の構成情報格納メモリ２０による第１の選択制御信号ｃｔｒｌ０が「０１」の場合、第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０を演算制御信号ｅｘ＿ｃｔｒｌ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、第２のアドレス生成装置１２による演算制御信号ａｇ＿ｃｔｒｌ１を演算制御信号ｅｘ＿ｃｔｒｌ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
第２の構成情報格納メモリ２０による第１の選択制御信号ｃｔｒｌ０が「１０」の場合、第２のアドレス生成装置１２による演算制御信号ａｇ＿ｃｔｒｌ１を演算制御信号ｅｘ＿ｃｔｒｌ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０を演算制御信号ｅｘ＿ｃｔｒｌ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
第２の構成情報格納メモリ２０による第１の選択制御信号ｃｔｒｌ０が「１１」の場合、第２のアドレス生成装置１２による演算制御信号ａｇ＿ｃｔｒｌ１を演算制御信号ｅｘ＿ｃｔｒｌ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、同様に、第２のアドレス生成装置１２による演算制御信号ａｇ＿ｃｔｒｌ１を演算制御信号ｅｘ＿ｃｔｒｌ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
【００２２】
データ経路選択装置１６は、第３の構成情報格納メモリ２１に格納されている構成情報の内容に従って決まる第２の選択制御信号ｃｔｒｌ１に応じて、入力端子Ｉ１に入力された第１のデータメモリ１３の読み出しデータｍ＿ｄａｔ０と、入力端子Ｉ２に入力された第２のデータメモリ１４の読み出しデータｍ＿ｄａｔ１のうちのいずれかを第１の演算装置１７の入力データｅｘ＿ｄａｔ０および第２の演算装置１８の入力データｅｘ＿ｄａｔ１として選択し、データｅｘ＿ｄａｔ０を出力端子Ｏ１から第１の演算装置１７に出力し、データｅｘ＿ｄａｔ１を出力端子Ｏ２から第２の演算装置１８に出力する。
【００２３】
たとえば第２の選択制御信号ｃｔｒｌ１が２ビットの信号であるとすると、データ経路選択装置１６は、入力端子Ｉ１に入力された第１のデータメモリ１３の読み出しデータｍ＿ｄａｔ０と、入力端子Ｉ２に入力された第２のデータメモリ１４の読み出しデータｍ＿ｄａｔ１を、図３に示すような関係をもってデータｅｘ＿ｄａｔ０およびデータｅｘ＿ｄａｔ１として選択する。
【００２４】
具体的には、第３の構成情報格納メモリ２１による第２の選択制御信号ｃｔｒｌ１が「００」の場合、第１のデータメモリ１３の読み出しデータｍ＿ｄａｔ０をデータｅｘ＿ｄａｔ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、同様に、第１のデータメモリ１３の読み出しデータｍ＿ｄａｔ０をデータｅｘ＿ｄａｔ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
第３の構成情報格納メモリ２１による第２の選択制御信号ｃｔｒｌ０が「０１」の場合、第１のデータメモリ１３の読み出しデータｍ＿ｄａｔ０をデータｅｘ＿ｄａｔ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、第２のデータメモリ１４の読み出しデータｍ＿ｄａｔ１をデータｅｘ＿ｄａｔ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
第３の構成情報格納メモリ２１による第２の選択制御信号ｃｔｒｌ０が「１０」の場合、第２のデータメモリ１４の読み出しデータｍ＿ｄａｔ１をデータｅｘ＿ｄａｔ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、第１のデータメモリ１３の読み出しデータｍ＿ｄａｔ０をデータｅｘ＿ｄａｔ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
第３の構成情報格納メモリ２１による第２の選択制御信号ｃｔｒｌ１が「１１」の場合、第２のデータメモリ１４の読み出しデータｍ＿ｄａｔ１をデータｅｘ＿ｄａｔ０として選択して出力端子Ｏ１から第１の演算装置１７に供給し、同様に、第２のデータメモリ１４の読み出しデータｍ＿ｄａｔ１をデータｅｘ＿ｄａｔ１として選択して出力端子Ｏ２から第１の演算装置１８に供給する。
【００２５】
第１の演算装置１７は、たとえば図４に示すように、第４の構成情報格納メモリ２２による構成情報ＣＤに基づいて係数、データ等の経路を選択するための選択装置（ＳＥＬ）１７１−０〜１７１−２、構成情報格納メモリ２２による構成情報（演算内容を指示するための制御信号）に基づいて算術理演算を行うＡＬＵ１７２、構成情報格納メモリ２２による構成情報（演算内容を指示するための制御信号）に基づいて積和演算を行うＭＡＣ構造の演算器１７３を有し、構成情報格納メモリ２２による構成情報に基づいて、演算器の配列や、演算実行時の係数パラメータ等を再構成して、制御信号選択装置１５による演算制御信号ｅｘ　ｃｔｒｌ０に基づき、データ経路選択装置１６による読み出しデータｅｘ　ｄａｔ０に対して指定の演算を行い、この演算結果をたとえば図示しないデータメモリ等に出力する。
【００２６】
第２の演算装置１８は、たとえば図４に示すような第１の演算装置１７と同様の構成を有する。すなわち、第２の演算装置１８は、第４の構成情報格納メモリ２２による構成情報ＣＤに基づいて係数、データ等の経路を選択するための選択装置（ＳＥＬ）１７１−０〜１７１−２、構成情報格納メモリ２２による構成情報（演算内容を指示するための制御信号）に基づいて算術理演算を行うＡＬＵ１７２、構成情報格納メモリ２２による構成情報（演算内容を指示するための制御信号）に基づいて積和演算を行うＭＡＣ構造の演算器１７３を有し、構成情報格納メモリ２２による構成情報に基づいて、演算器の配列や、演算実行時の係数パラメータ等を再構成して、制御信号選択装置１５による演算制御信号ｅｘ　ｃｔｒｌ１に基づき、データ経路選択装置１６による読み出しデータｅｘ　ｄａｔ１に対して指定の演算を行い、この演算結果をたとえば図示しないデータメモリ等に出力する。
【００２７】
第１の構成情報格納メモリ１９は、第１および第２のアドレス生成装置１１，１２のアドレスａｄｒ０，ａｄｒ１および演算制御信号ａｇ　ｃｔｒｌ０，ａｇｃｔｒｌ１を生成するに必要な構成情報が格納されており、たとえば図示しない制御系の指示に従って必要な構成情報を第１および第２のアドレス生成装置１１，１２に供給する。
【００２８】
第２の構成情報格納メモリ２０は、制御信号選択装置１５が選択する演算制御信号を指示するための制御構成情報が格納されており、たとえば図示しない制御系の指示に従った第１の選択制御信号ｃｔｒｌ０を生成し、制御信号選択装置１５に供給する。
【００２９】
第３の構成情報格納メモリ２１は、データ経路選択装置１５が選択するデータを指示するための制御構成情報が格納されており、たとえば図示しない制御系の指示に従った第２の選択制御信号ｃｔｒｌ１を生成し、制御信号選択装置１５に供給する。
【００３０】
第４の構成情報格納メモリ２２は、たとえば再構成制御装置２３を用い第１および第２の演算装置１７，１８の構成情報の書き換えにおいて、複数の構成情報を記憶するためにリング状に構成された記憶部を持ち、演算実行時に使用する構成情報格納メモリと、書き換えを行うための構成情報格納メモリとを分離し、構成情報の書き換えに伴うオーバーヘッドを低減し、または、高速に複数の構成を切り換えることができるように構成される。
【００３１】
再構成制御装置２３は、たとえばバスを介して構成情報格納メモリ２２に対してアクセスすることが可能になっており、再構成制御装置２３は、演算装置１７，１８の再構成のための構成情報ＣＤを、書き込み信号ＣＷＲを用いて構成情報格納メモリ２２に書き込む。
また、再構成制御装置２３は、シフト信号ＣＥＸを用いて演算装置１７，１８の再構成のための構成情報を既に記憶されている他の情報に変更させる。
【００３２】
構成情報格納メモリ２２は、再構成制御装置２３からバスを介して構成情報が書き込まれ、書き込まれた構成情報を演算装置１７，１８に出力する。
構成情報格納メモリ２２は、図４に示すように、たとえば「ＣＤ（構成情報）−１」、「ＣＤ（構成情報）−２」、…という各構成情報の記憶部が、それぞれ複数の構成情報を保持できるようにしている。
その中の１つは、たとえば演算実行時の構成情報を記憶するため、別の１つは外部からの構成情報の書き込みを行うための記憶領域となる。
さらに、これらの構成情報の内容は一斉に瞬時に入れ替えが可能になっている。
これにより、演算装置１７，１８が演算を行っている間に、別のページの内容を同時に書き換えることができ、従来、図５（Ａ）に示すように、構成情報ＣＤの書き換えに必要な時間的オーバーヘッドが大きかったという問題が、図５（Ｂ）に示すように、構成情報の書き換えに必要な時間的オーバーヘッドを、演算の実行時間の裏側に隠蔽することができる。
【００３３】
図６は、４つの構成情報を保持することができる構成情報記憶部の構成例を示す図である。
【００３４】
この構成情報格納メモリ２２は、図６に示すように、レジスタ２２１〜２２４、選択装置２２５、およびＯＲゲート２２６を有している。
また、図６において、ＴＣＤは構成情報ＣＤの入力端子、ＴＣＷＲ　は書き込み信号ＣＷＲの入力端子、ＴＣＥＸ　はシフト信号ＣＥＸの入力端子、ＴＣＣＬＫはクロック入力端子、ＴＯＵＴ　は記憶した構成情報の演算装置１７（１８）への出力端子をそれぞれ示している。
【００３５】
レジスタ２２１〜２２４（ＣＤ１〜ＣＤ４）は、構成情報を記憶するためのレジスタであり、これらのレジスタ２２１〜２２４はリング状に接続されている。
具体的には、レジスタ２２１の出力がレジスタ２２４の入力、および構成情報の出力端子ＴＯＵＴ　に接続され、レジスタ２２４の出力がレジスタ２２３の入力に接続され、レジスタ２２３の出力が選択装置２２５の第１の入力端子「０」を介してレジスタ２２２の入力に接続され、レジスタ２２２の出力がレジスタ２２１の入力に接続されている。
【００３６】
また、選択装置２２５の第２の入力端子「１」が構成情報ＣＤの入力端子ＴＣＤに接続されている。選択装置２２５の制御端子が書き込み信号ＣＷＲの入力端子ＴＣＷＲ　に接続されている。
選択装置２２５は、書き込み信号ＣＷＲが論理「１」で制御端子に供給されると入力端子ＴＣＤに入力される構成情報ＣＤを選択して、レジスタ２２２に入力させる。
一方、選択装置２２５は、書き込み信号ＣＷＲが論理「０」で制御端子に供給されるとレジスタ２２３の出力情報を選択して、レジスタ２２２に入力させる。
【００３７】
２入力ＯＲゲート２２６は、第１の入力端子が書き込み信号ＣＷＲの入力端子ＴＣＷＲ　に接続され、第２の入力端子がシフト信号ＣＥＸの入力端子ＴＣＥＸ　に接続され、出力端子がレジスタ２２２の制御端子に接続されている。
【００３８】
また、レジスタ２２１，２２３，２２４の制御端子はシフト信号ＣＥＸの入力端子ＴＣＥＸ　に接続されており、また、各レジスタ２２１〜２２４のクロック端子がクロック入力端子ＴＣＣＬＫに接続されている。
【００３９】
そして、これらのレジスタ２２１〜２２４は、その先に接続される「被再構成部」が必要とする構成情報のビット数を記憶できる。
これらの中で、演算装置１７（１８）の構成情報として、レジスタ２２１（ＣＤ１）の内容が使用される。
レジスタ２２１の出力は、演算装置１７（１８）の構成変更回路に直結されているため、この値が書き換えられると演算装置１７（１８）のハードウェア構成に即座に反映される。
このため、演算装置１７（１８）の動作中に外部からレジスタ２２１に対して書き込みを行うと実行中の演算結果に影響を与えることになる。
これを避けるために、外部からの構成情報ＣＤの書き込みはレジスタ２２２（ＣＤ２）に対して行われる。
【００４０】
構成情報ＣＤの書き換えは、入力端子ＴＣＤに構成情報ＣＤを入力し、書き込み信号ＣＷＲを１にすることで行われる。
この書き込み操作では、レジスタ２２１（ＣＤ１）の内容は変化しない。
【００４１】
新たに書き込んだ構成情報ＣＤを演算装置１７（１８）の構成に反映するためには、書き込み信号「ＣＷＲ」を０、シフト信号「ＣＥＸ」を１にしてレジスタ２２２（ＣＤ２）の内容をレジスタ２２１（ＣＤ１）に転送する。
この時同時に、レジスタ２２１（ＣＤ１）→レジスタ２２４（ＣＤ４）→レジスタ２２３（ＣＤ３）→レジスタ２２２（ＣＤ２）というように構成情報がリングの中でローテーションして保持される。
【００４２】
構成情報ＣＤの入れ替えは、すべての構成情報格納メモリ２２に対して同時に行われるので、クロック「ＣＣＬＫ」１サイクル分で完了する。
また、新しい構成情報を書き込まずに上記の入れ替え操作だけを行えば、リングを構成するレジスタ数分の過去の構成情報を高速に切り替えて再使用することができる。
【００４３】
なお、複数の構成情報を記憶できる記憶部を用意する場合、任意の構成情報を順番に関係なく自由に入れ替え可能にしたいという欲求が生じる場合がある。
しかしそのためには、記憶部の構成情報入れ替え制御手段が複雑になり、システム全体の構成情報の情報量が増えてくると、記憶部が占める面積や消費電力といったオーバーヘッドが無視できなくなってくる。
【００４４】
本実施形態に係るリング状の構成情報の入れ替え手段は、記憶している任意の構成情報ＣＤをすぐに呼び出すことはできないが、記憶部の回路構成と入れ替えのための制御信号を単純化できるという特徴を備える。
記憶している構成情報ＣＤの入れ替えの自由度が制限されるという制約は、１つの信号処理アプリケーション等に含まれる複数の演算処理を、構成を切り替えながら実行するようなケースを考えた場合、再構成がアプリケーションのアルゴリズムにしたがって、決まったパターンで繰り返し行われると考えられ、その限りにおいては間題にならない。
【００４５】
次に、上記構成による動作について、図７のタイミングチャートに関連付けて説明する。
【００４６】
なお、ここでは、第１のアドレス生成装置１１のみを動作させ、第１のデータメモリ１３からの読み出しデータｍ　ｄａｔ０を第１の演算装置１７と第２の演算装置１８の両方で使用し、演算制御信号もａｇ　ｃｔｒｌ０を第１の演算装置１７と第２の演算装置で使用する場合の例について説明する。
【００４７】
この場合、第１のアドレス生成装置１１において、第１の構成情報格納メモリ１９に格納されている構成情報に基づいて、第１のデータメモリ１３に格納されている所望のデータを読み出すための読み出しアドレスａｄｒ０が生成され第１のデータメモリ１３に出力される。
第１のアドレス生成装置１１では、たとえば図７（Ｃ）に示すように、アドレスａｄｒ０として、ｒａｄｒ０，　ｒａｄｒ１，　ｒａｄｒ２，　ｒａｄｒ１０，　ｒａｄｒ１１，　ｒａｄｒ１２，　ｒａｄｒ２０，　ｒａｄｒ２１，　ｒａｄｒ２２が順に生成される。
また、第１のアドレス生成装置１１においては、図７（Ａ）に示すように、期間Ｖ，期間Ｘ，期間Ｚで演算制御信号ａｇ＿ｃｔｒｌ０がアクティブのハイレベル（有効）に設定されて、制御信号選択装置１５に出力される。
なお、本例では、第１のアドレス生成装置１１だけを動作させるため、図７（Ｂ），（Ｄ）に示すように、第２のアドレス生成装置１２ではアドレス生成も制御信号の生成も行われない。
【００４８】
第１のデータメモリ１３においては、第１のアドレス生成装置１１１からのアドレスａｄｒ０を受けて、図７（Ｅ）に示すように、該当するデータｒｄａｔ０，　ｒｄａｔ１，　ｒｄａｔ２，　ｒｄａｔ１０，　ｒｄａｔ１１，　ｒｄａｔ１２，　ｒｄａｔ２０，　ｒｄａｔ２１，　ｒｄａｔ２２がデータｍ＿ｄａｔ０として順次データ経路選択装置１６に出力される。
第２のデータメモリ１４では、第２のアドレス生成装置１２がアドレスを生成しないため、図７（Ｆ）に示すように、有効なデータは出力されない。
【００４９】
ここで、第２の構成情報格納メモリ２０により、図示しない制御系の指示に従って、図７（Ｋ）に示すように、格納された構成情報に基づく第１の選択制御信号ｃｔｒｌ０が、たとえば「００」に設定されて、第１のアドレス生成装置１１による演算制御信号ａｇ　ｃｔｒｌ０を第１および第２の演算装置の制御信号として選択するように制御信号選択装置１５に供給される。
これにより、制御信号選択装置１５においては、図７（Ａ），（Ｇ），（Ｈ）に示すように、第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０が演算制御信号ｅｘ＿ｃｔｒｌ０および演算制御信号ｅｘ＿ｃｔｒｌ１として選択されて、出力端子Ｏ１から第１の演算装置１７に供給されるとともに、出力端子Ｏ２から第１の演算装置１８に供給される。
すなわち、図７（Ａ），（Ｇ）に示すように、第１のアドレス選択装置１１で生成されたａｇ＿ｃｔｒｌ０が、第１の演算装置１７の演算制御信号ｅｘ＿ｃｔｒｌ０として期間Ｖ，期間Ｘ，期間Ｚで有効な値が設定され、同じく第１のアドレス選択装置１１で生成されたａｇ＿ｃｔｒｌ０が、図７（Ａ），（Ｈ）に示すように、第２の演算装置１８の演算制御信号ｅｘ＿ｃｔｒｌ１として期間Ｖ，期間Ｘ，期間Ｚで有効な値が設定される。
【００５０】
また、第３の構成情報格納メモリ２１により、図示しない制御系の指示に従って、図７（Ｌ）に示すように、格納された構成情報に基づく第２の選択制御信号ｃｔｒｌ１が、たとえば「００」に設定されて、第１のデータメモリ１３による読み出しデータｍ　ｄａｔ０を第１および第２の演算装置の入力データとして選択するようにデータ経路選択装置１６に供給される。
これにより、データ経路選択装置１６においては、図７（Ｉ），（Ｊ）に示すように、第１のデータメモリ１３に読み出しデータｍ＿ｄａｔ０が第１の演算装置１７のデータｅｘ＿ｄａｔ０および第２の演算装置１８のデータｅｘ＿ｄａｔ１としてとして選択されて、期間Ｖ，期間Ｘ，期間Ｚで有効な値（ハイレベル）に設定され、出力端子Ｏ１から第１の演算装置１７に供給されるとともに、出力端子Ｏ２から第１の演算装置１８に供給される。
したがって、第１の演算装置１７の入力データｅｘ＿ｄａｔ０は、図７（Ｉ）に示すように、第１のデータメモリ１３の読み出しデータｍ　ｄａｔ０と同様に、ｒｄａｔ０，　ｒｄａｔ１，　ｒｄａｔ２，　ｒｄａｔ１０，　ｒｄａｔ１１，　ｒｄａｔ１２，　ｒｄａｔ２０，　ｒｄａｔ２１，　ｒｄａｔ２２となる。
同様に、第２の演算装置１８の入力データｅｘ＿ｄａｔ１は、図７（Ｊ）に示すように、第１のデータメモリ１３の読み出しデータｍ　ｄａｔ０と同様に、ｒｄａｔ０，　ｒｄａｔ１，　ｒｄａｔ２，　ｒｄａｔ１０，　ｒｄａｔ１１，　ｒｄａｔ１２，　ｒｄａｔ２０，　ｒｄａｔ２１，　ｒｄａｔ２２となる。
【００５１】
なお、第１および第２の演算装置１７，１８は、第４の構成情報格納メモリ２２の構成情報に基づいた演算回路に再構成される。
【００５２】
具体的には、たとえば再構成制御装置２３において、演算装置１７，１８のハードウェアを再構成する必要が生じた場合には、ハードウェア再構成命令がシステムバスを介して構成情報格納メモリ２２に対して発行される。
たとえば、構成情報格納メモリ２２の４つのレジスタ２２１〜２２４にはそれぞれ構成情報ＣＤが保持されているものとすると、演算装置１７，１８の構成情報として、構成情報格納メモリ２２のレジスタ２２１（ＣＤ１）の内容が使用される。
レジスタ２２１の出力は、演算装置１７，１８の構成変更回路に直結されている。このため、演算装置１７，１８においては、構成情報格納メモリ２２による構成情報に基づいて、演算器の配列や、演算実行時の係数パラメータ等が再構成される。
ここで、演算装置１７，１８に供給する構成情報ＣＤの値を書き換える場合には、演算装置１７，１８の動作中に外部からレジスタ２２１に対して書き込みを行うと実行中の演算結果に影響を与えることになる。
これを避けるために、外部からの構成情報ＣＤの書き込みはレジスタ２２２（ＣＤ２）に対して行われる。
【００５３】
構成情報ＣＤの書き換えは、再構成制御装置２３から入力端子ＴＣＤに構成情報ＣＤが入力され、書き込み信号ＣＷＲが「１」に設定される。これにより、レジスタ２２２に対して再構成制御装置２３から供給された構成情報ＣＤが書き込まれる。
なお、この書き込み操作では、レジスタ２２１（ＣＤ１）の内容は変化しない。
【００５４】
次に、新たに書き込んだ構成情報ＣＤを演算装置１７，１８の構成に反映するために、再構成制御装置２３により書き込み信号ＣＷＲが「０」、シフト信号ＣＥＸが「１」に設定される。これにより、レジスタ２２２（ＣＤ２）の内容がレジスタ２２１（ＣＤ１）に転送される。
この時同時に、レジスタ２２１（ＣＤ１）→レジスタ２２４（ＣＤ４）→レジスタ２２３（ＣＤ３）→レジスタ２２２（ＣＤ２）というように構成情報がリングの中でローテーションして保持される。
【００５５】
構成情報ＣＤの入れ替えは、すべての構成情報格納メモリ２２に対して同時に行われるので、クロック「ＣＣＬＫ」１サイクル分で完了する。
【００５６】
さらに、たとえば再構成制御装置２３において、構成情報格納メモリ２２に書き込まれた新しい構成情報を有効にするように制御信号が生成され、さらにその後動的再構成可能ハードウェアである演算装置１７，１８に対して演算の実行を開始する制御信号が出力される。
【００５７】
上述したように、このようにして構成された第１の演算装置１７の受け取る演算制御信号ｅｘ＿ｃｔｒｌ０は期間Ｖ，期間Ｘ，期間Ｚで有効になり、入力データｅｘ　　＿ｄａｔ０はｒｄａｔ０，　ｒｄａｔ１，　ｒｄａｔ２，　ｒｄａｔ１０，　ｒｄａｔ１１，　ｒｄａｔ１２，　ｒｄａｔ２０，　ｒｄａｔ２１，　ｒｄａｔ２２であり、第１の演算装置１７では、これらの制御信号と入力データを用いて演算が実行される。
また、第２の演算装置１８の受け取る演算制御信号ｅｘ＿ｃｔｒｌ１は期間Ｖ，期間Ｘ，期間Ｚで有効になり、入力データｅｘ　　＿ｄａｔ０はｒｄａｔ０，　ｒｄａｔ１，　ｒｄａｔ２，　ｒｄａｔ１０，　ｒｄａｔ１１，　ｒｄａｔ１２，　ｒｄａｔ２０，　ｒｄａｔ２１，　ｒｄａｔ２２であり、第２の演算装置１８では、これらの制御信号と入力データを用いて演算が実行される。
【００５８】
以上説明したように、本実施形態によれば、第１の構成情報格納メモリ１９に格納されている構成情報に基づいて、読み出しアドレスａｄｒ０を生成して第１のデータメモリ１３に出力し、第１の演算装置１７および／または第２の演算装置１８の演算処理を制御するための演算制御信号ａｇ＿ｃｔｒｌ０を生成する第１のアドレス生成装置１１と、第１の構成情報格納メモリ１９に格納されている構成情報に基づいて、読み出しアドレスａｄｒ１を生成して第２のデータメモリ１４に出力し、第１の演算装置１７および／または第２の演算装置１８の演算処理を制御するための演算制御信号ａｇ＿ｃｔｒｌ１を生成する第２のアドレス生成装置１２と、第１の選択制御信号ｃｔｒｌ０に応じて、入力端子Ｉ１に入力された第１のアドレス生成装置１１による演算制御信号ａｇ＿ｃｔｒｌ０と、入力端子Ｉ２に入力された第２のアドレス生成装置１２によるａｇ＿ｃｔｒｌ１のうちのいずれかを第１の演算装置１７の演算制御信号ｅｘ＿ｃｔｒｌ０および第２の演算装置１８の演算制御信号ｅｘ＿ｃｔｒｌ１として選択し、演算制御信号ｅｘ＿ｃｔｒｌ０を出力端子Ｏ１から第１の演算装置１７に出力し、演算制御信号ｅｘ＿ｃｔｒｌ１を出力端子Ｏ２から第２の演算装置１８に出力する制御信号選択装置１５と、第２の選択制御信号ｃｔｒｌ１に応じて、入力端子Ｉ１に入力された第１のデータメモリ１３の読み出しデータｍ＿ｄａｔ０と、入力端子Ｉ２に入力された第２のデータメモリ１４の読み出しデータｍ＿ｄａｔ１のうちのいずれかを第１の演算装置１７の入力データｅｘ＿ｄａｔ０および第２の演算装置１８の入力データｅｘ＿ｄａｔ１として選択し、データｅｘ＿ｄａｔ０を出力端子Ｏ１から第１の演算装置１７に出力し、データｅｘ＿ｄａｔ１を出力端子Ｏ２から第２の演算装置１８に出力するデータ経路選択装置１６とを設けたので、以下の効果を得ることができる。
【００５９】
たとえば上述したように、第１のデータメモリ１３の読み出しデータを第１および第２の演算装置１７，１８で共通に使用する場合に、第１の演算装置１７で必要な演算制御信号ｅｘ＿ｃｔｒｌ０と、第２の演算装置１８で必要な演算制御信号ｅｘ＿ｃｔｒｌ１を第１のアドレス生成装置１１が生成する演算制御信号ａｇ＿ｃｔｒｌ０だけから制御信号選択装置１５を介して生成することができる。すなわち、本実施形態によれば、たとえば一つのアドレス生成装置が生成するメモリアドレスの示すデータを複数の演算装置で同時に使用する場合、制御信号を複数の演算装置に供給することができる。
そのため余計な一つのアドレス生成装置を動かすだけでよく、余分なエネルギーを消費することがない。
また、対応関係をあとで柔軟に変更しようとする場合にも、構成情報を変更するだけで可能なので、ハードウェアの設計完了時に、対応関係を完全に決めておく必要がなくなるという利点がある。
【００６０】
なお、上記の説明はアドレス生成装置が２、演算装置が２であり、メモリからのデータを読み出す場合の例についてであるが、アドレス生成装置が任意の数、演算装置が任意の数、メモリへのアクセスが読み出し・書き込みの任意の場合についても同様の動作が可能なことは明らかである。
【００６１】
また、演算器の配列等のハードウェア構成を再構成可能な演算装置を有する演算システムにおいて、構成情報を保持する構成情報格納メモリ２２を、リング状に結合した複数のレジスタ２２１〜２２４で構成し、その中の一つの構成情報を用いて演算処理を行っている間に、別の構成情報記憶部の内容を書き換えることができるように構成情報書き換え部、および再構成可能な演算装置１７，１８と接続し、また、各レジスタ２２１〜２２４に記憶された構成情報は、リング内をローテーションすることによって切り替えが可能としたことから、以下の効果を得られる。
すなわち、演算器が演算処理を実行中であっても、同時に次に使用する構成情報を設定することが可能とし、また、新たな構成情報を書き込まずに、構成の切り替えのみを行うことによって過去に使用した構成情報を再利用可能となる利点がある。
【００６２】
すなわち、ハードウェアの再構成を演算実行と同時に行えるようになり、このオーバーヘッドを、演算の実行時間の裏側に隠蔽できるようになる。
また、複数の構成情報を同時に保持でき、それらを瞬時に切り替えることができる特性により、繰り返し使用される構成情報を同時に記憶しておき、それらを切り替えて使用することで、再構成のためのオーバーヘッドをほぼ「ゼロ」にすることも可能となる利点がある。
【００６３】
なお、本実施形態においては、４つの構成情報を保持できる構成を示しているが、必要に応じて２以上の任意の数の構成情報を保持できるようにしてもよい。
【００６４】
【発明の効果】
以上説明したように、本発明によれば、たとえば一つのアドレス生成装置が生成するメモリアドレスの示すデータを複数の演算装置で同時に使用する場合、制御信号を複数の演算装置に供給することができる。
そのため余計な一つのアドレス生成装置を動かすだけでよく、余分なエネルギーを消費することがない。
また、対応関係をあとで柔軟に変更しようとする場合にも、構成情報を変更するだけで可能なので、ハードウェアの設計完了時に、対応関係を完全に決めておく必要がなくなるという利点がある。
【図面の簡単な説明】
【図１】本発明に係る演算システムの一実施形態を示すブロック構成図である。
【図２】本実施形態に係る制御信号選択装置の信号選択処理を説明するための図である。
【図３】本実施形態に係るデータ経路選択装置のデータ選択処理を説明するための図である。
【図４】本実施形態に係る演算システムの好適な構成を説明するための図である。
【図５】本実施形態に係る構成情報格納メモリを設けることによる効果を説明するための図である。
【図６】本実施形態に係る構成情報格納メモリの具体的な構成例を示す図である。
【図７】本実施形態に係る動作を説明するためのタイミングチャートである。
【符号の説明】
１０…演算システム、１１…第１のアドレス生成装置（ＡＤＲＧ１）、１２…第２のアドレス生成装置（ＡＤＲＧ２）、１３…第１のデータメモリ（ＭＥＭ１）、１４…第２のデータメモリ（ＭＥＭ２）、１５…制御信号選択装置（ＣＴＬＳＥＬ）、１６…データ経路選択装置（ＤＴＰＳＥＬ）、１７…第１の演算装置（ＯＰＥ１）、１７１−０〜１７１−２…選択装置、１７２…ＡＬＵ、１７３…ＭＡＣ構造の演算器、１８…第２の演算装置（ＯＰＥ２）、１９…第１の構成情報格納メモリ（ＣＤＭ１）、２０…第２の構成情報格納メモリ（ＣＤＭ２）、２１…第３の構成情報格納メモリ（ＣＤＭ３）、２２…第４の構成情報格納メモリ（ＣＤＭ４）、２２１〜２２４（ＣＤ１〜ＣＤ４）…レジスタ、２２５…選択装置、２２６…ＯＲゲート、２３…再構成制御装置。
【図１】
2004102578.tif 000003
【図２】
2004102578.tif 000004
【図３】
2004102578.tif 000005
【図４】
2004102578.tif 000006
【図５】
2004102578.tif 000007
【図６】
2004102578.tif 000008
【図７】
2004102578.tif 000009