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