(57)【要約】【課題】繰り返し演算処理を行うループ内に条件分岐が存在しても、再構成可能なハードウェアにより演算を実行することができ、条件分岐を含む処理負荷の重い演算の処理時間を短縮でき、処理速度を向上できる演算装置及びその演算方法を実現する。【解決手段】条件分岐付きの演算処理が条件分岐なしの第１の処理と条件分岐付きの第２の処理に分割され、条件分岐なしの第１の処理が再構成可能な演算手段に割り当てられ、当該第１の処理に基づいてハードウェアの構成情報が生成され、当該構成情報に基づき再構成された演算手段により実行され、条件分岐付きの第２の処理がＣＰＵなどの演算手段に割り当てられ、ＣＰＵによって割り当てられた条件分岐付きの第２の処理が実行される。当該処理の結果を用いて、上記第１の処理の結果を修正し、条件分岐付き演算処理の結果が得られる。【選択図】　　図１
2004070524.tif 000002
【特許請求の範囲】
【請求項１】
条件分岐付き演算処理を実行する演算装置であって、
上記条件分岐付き演算処理を条件分岐なしの第１処理と条件分岐付きの第２の処理に分割し、上記条件分岐なしの第１の処理に応じた構成情報を生成する構成情報生成手段と、
上記構成情報に基づいて再構成をし、演算データに基づいて、上記分割された条件分岐なしの第１の処理を実行する再構成可能な演算手段と、
上記分割された条件分岐付きの第２の処理を行い、当該処理の結果に応じて、上記再構成可能な演算手段の演算結果を修正する演算手段と
を有する演算装置。
【請求項２】
上記再構成可能な演算手段には、上記構成情報を保持する構成情報保持手段と、
外部から入力される上記演算データを保持する演算データ保持手段と、
上記構成情報に基づき、再構成される複数の演算素子と
を有する請求項１記載の演算装置。
【請求項３】
上記構成情報生成手段には、上記条件分岐なしの第１の処理の頻度が、上記条件分岐付きの第２の処理の頻度より高くなるように、上記演算処理を分割する分割手段を有する
請求項１記載の演算装置。
【請求項４】
条件分岐付き演算処理を行う演算方法であって、
上記条件分岐付き演算処理を条件分岐なしの第１処理と条件分岐付きの第２の処理に分割する分割ステップと、
上記分割された条件分岐なしの第１の処理に応じた構成情報を生成する構成情報生成ステップと、
上記構成情報に基づいて再構成し、演算データに基づいて上記分割された条件分岐なしの第１の処理を実行する第１の演算ステップと、
上記分割された条件分岐付きの第２の処理を行い、当該処理の結果に応じて、上記第１の演算ステップの演算結果を修正する第２の演算ステップと
を有する演算方法。
【請求項５】
上記分割ステップにおいて、上記条件分岐なしの第１処理の頻度が、上記条件分岐付きの第２の処理の頻度より高くなるように、上記演算処理を分割する
請求項４記載の演算方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、再構成可能なハードウェアを有する演算装置において、条件分岐処理に対して処理速度の向上をはかる演算装置及びその演算方法に関するものである。
【０００２】
【従来の技術】
音声や画像信号処理において、演算量の高い処理、例えば、積和演算の繰り返し処理などが多く含まれている。このような処理負荷の重い演算をＣＰＵに実行させると、ＣＰＵの処理負荷が重くなり、処理速度が低下してしまう。このため、ＣＰＵにとって処理負荷の重い演算を予め抽出し、この部分の演算を再構成可能なハードウェアに割り当てることによって、ＣＰＵの処理負担を低減させ、高速の処理を実現できる処理方法が提案されている。
【０００３】
図５は、再構成可能な演算装置の一構成例を示している。図示のように、再構成可能な演算装置３０は、構成情報記憶部３０１、データ記憶部３０２及び演算実行部３０３によって構成されている。また、図５には、当該再構成可能な演算装置３０に関連するホストＣＰＵ１０及び共有メモリ２０も示されている。
【０００４】
ホストＣＰＵ１０は、構成情報及び演算データを再構成可能な演算装置３０に提供し、また、再構成可能な演算装置の演算結果を受け取る。
共有メモリ２０は、ホストＣＰＵ１０によってアクセス可能であり、再構成可能な演算装置の構成情報、演算データ及び演算結果を保持するために用いられている。
【０００５】
再構成可能な演算装置３０において、構成情報記憶部３０１は、ホストＣＰＵから入力される構成情報を保持し、保持された構成情報を演算実行部３０３に提供する。
データ記憶部３０２は、ホストＣＰＵ１０から入力される演算データを保持し、保持された演算データを演算実行部３０３に提供する。また、データ記憶部３０２は、演算実行部３０３によって行われた演算結果を保持し、保持された演算結果を共有メモリ２０に出力する。
【０００６】
演算実行部３０３は、複数の演算器、例えば、加算器、乗算器などによって構成され、構成情報部３０１から入力される構成情報に基づき、これらの演算器を再構成することで、構成情報に対応した新しい演算機能を実現するための演算回路が構成される。なお、図５において、演算実行部は、演算器１、演算器２及び演算器３の三つの演算器のみを例示しているが、実行の演算実行部は、さらに複数の演算器によって構成される。また、これらの演算器のうち、構成情報に応じて、必要なものだけを用いて再構成することもできる。
【０００７】
図６は、上述した再構成可能な演算装置の演算処理を示すフローチャートである。以下、図５及び図６を参照しつつ、再構成可能な演算装置の動作について説明する。
まず、データ記憶部３０２が必要に応じて初期化される（ステップＳ３０１）、続いて、構成情報記憶部３０１が必要に応じて初期化される（ステップＳ３０２）。
次に、ホストＣＰＵ１０などからデータ記憶部３０２に演算データが読み込まれる（ステップＳ３０３）。そして、ホストＣＰＵ１０などから構成情報記憶部３０１に構成情報が転送される（ステップＳ３０４）。
【０００８】
演算実行部において、構成情報記憶部３０１から出力される構成情報に基づき、ハードウェアの再構成が行われる（ステップＳ３０５）。
次に、データ記憶部３０２から演算データが読み込み、それに基づき再構成されたハードウェアで演算が実行される（ステップＳ３０６）。
【０００９】
演算終了後、演算結果がデータ記憶部３０２に転送され、データ記憶部３０２に記憶される（ステップＳ３０７）。そして、データ記憶部３０２から共有メモリ２０に演算結果が転送される（ステップＳ３０８）。
【００１０】
上述した再構成可能演算装置によって、構成情報記憶部３０１の構成情報に基づき、演算実行部のハードウェアの組合せが再構成されるので、所望の演算をハードウェアによって高速に実行することができる。このため、ホストＣＰＵ１０は、処理負荷の重い演算を抽出し、その演算を実現するためのハードウェア構成をもとに構成情報を生成し、再構成可能な演算装置３０に提供すれば、再構成可能な演算装置３０において、演算実行部３０３は、構成情報に基づき再構成され、ホストＣＰＵ１０から提供される演算データに基づき、高速に演算を行ってその結果を共有メモリ２０に転送する。これによって、ホストＣＰＵ１０の処理負荷を大幅低減でき、処理時間を短縮でき、高速なデータ処理を容易に実現可能である。
【００１１】
また、再構成可能な演算実行部３０３において、ＦＰＧＡ（Ｆｉｅｌｄ　ｐｒｏｇｒａｍｍａｂｌｅ　ｇａｔｅ　ａｒｒａｙ）などに較べて構成変更の単位が大きく設定されており、構成情報情報を変更して加算器、乗算器などを組み合わせることで多種類の演算に対応可能な構成になっている。これによって、ホストＣＰＵ１０などでは処理の重い演算を再構成可能な演算装置に適応的に割り当てることによって、全体の処理時間を短縮できる。
【００１２】
【発明が解決しようとする課題】
ところで、上述した従来の再構成可能な演算装置では、条件分岐を含む処理を高速に演算することができない。
図７は、従来の再構成可能な演算装置を用いた条件分岐処理の割り当てを示すフローチャートである。図示のように、まず、ソフトウェアにおいて、プロファイラを用いて演算処理の重い箇所の抽出が行われる（ステップＳ４０１）。
次にプロファイルで抽出した処理の重い演算箇所を再構成可能な演算装置に処理の割り当てが可能かについて判断が行われる（ステップＳ４０２）。
【００１３】
上記判断の結果、処理の割り当てが可能な場合、構成情報を用意して演算の前にハードウェアを再構成して処理を割り当てる（ステップＳ４０３）。この状態で演算することによってソフトウェア処理と比較して非常に高速な演算を実行することができる。
一方、判断の結果、処理の割り当てが不可能な場合、ホストＣＰＵ１０等で演算処理を行わざるを得ないため、再構成可能な演算装置と比較して処理速度が低くなる。
【００１４】
なお、上述した再構成可能な演算装置に処理の割り当てが不可能な場合として、特にソフトウェアでの繰り返し演算の中に条件分岐が存在する場合などが挙げられる。この場合はプロファイルの段階で条件分岐を演算の外に出せるか否かを検討するが、アルゴリズム的に困難な場合が多い。
【００１５】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、繰り返し演算処理を行うループ内に条件分岐が存在しても、再構成可能なハードウェアにより演算を実行することができ、条件分岐を含む処理負荷の重い演算の処理時間を短縮でき、処理速度を向上できる演算装置及びその演算方法を提供することにある。
【００１６】
【課題を解決するための手段】
上記目的を達成するため、本発明の演算装置は、条件分岐付き演算処理を実行する演算装置であって、上記条件分岐付き演算処理を条件分岐なしの第１処理と条件分岐付きの第２の処理に分割し、上記条件分岐なしの第１の処理に応じた構成情報を生成する構成情報生成手段と、上記構成情報に基づいて再構成をし、演算データに基づいて、上記分割された条件分岐なしの第１の処理を実行する再構成可能な演算手段と、上記分割された条件分岐付きの第２の処理を行い、当該処理の結果に応じて、上記再構成可能な演算手段の演算結果を修正する演算手段とを有する。
【００１７】
また、本発明では、好適には、上記再構成可能な演算手段には、上記構成情報を保持する構成情報保持手段と、外部から入力される上記演算データを保持する演算データ保持手段と、上記構成情報に基づき、再構成される複数の演算素子とを有する。
【００１８】
また、本発明では、好適には、上記構成情報生成手段には、上記条件分岐なしの第１の処理の頻度が、上記条件分岐付きの第２の処理の頻度より高くなるように、上記演算処理を分割する分割手段を有する。
【００１９】
また、本発明の演算方法は、条件分岐付き演算処理を行う演算方法であって、上記条件分岐付き演算処理を条件分岐なしの第１処理と条件分岐付きの第２の処理に分割する分割ステップと、上記分割された条件分岐なしの第１の処理に応じた構成情報を生成する構成情報生成ステップと、上記構成情報に基づいて再構成し、演算データに基づいて上記分割された条件分岐なしの第１の処理を実行する第１の演算ステップと、上記分割された条件分岐付きの第２の処理を行い、当該処理の結果に応じて、上記第１の演算ステップの演算結果を修正する第２の演算ステップとを有する。
【００２０】
さらに、本発明では、好適には、上記分割ステップにおいて、上記条件分岐なしの第１処理の頻度が、上記条件分岐付きの第２の処理の頻度より高くなるように、上記演算処理を分割する。
【００２１】
本発明によれば、条件分岐付きの演算処理が条件分岐なしの第１の処理と条件分岐付きの第２の処理に分割され、条件分岐なしの第１の処理が再構成可能な演算手段に割り当てられ、当該第１の処理に基づいてハードウェアの構成情報が生成され、当該構成情報に基づき再構成可能な演算手段において演算素子が再構成され、演算データに基づき所望の演算が実行される。これによって条件分岐なしの第１の処理が、ハードウェアにより高速に実行することが可能となる。
条件分岐付きの第２の処理がＣＰＵなどの固定の演算手段に割り当てられ、ＣＰＵによって、分岐条件に基づいて割り当てられた条件分岐付きの第２の処理が実行される。当該第２の処理の結果を用いて、再構成可能な演算手段による第１の処理の結果を修正し、その結果、条件分岐付き演算処理の結果が得られる。
【００２２】
このように、本発明によれば、再構成可能なハードウェアを有する演算手段において、処理負荷の重い繰り返し演算処理などに条件分岐処理が含まれたとき、条件分岐なしの処理としてハードウェアを先行処理し、その演算結果に対して、さらに条件分岐付き処理の演算結果を用いて修正すれば、全体的に処理速度の向上を達成される。特に、条件分岐なしの処理が条件分岐付きの処理の実行頻度よりも高い場合、処理速度の改善効果がより顕著になる。
【００２３】
【発明の実施の形態】
図１は本発明に係る演算装置の一実施形態を示す回路図である。
図示のように、本実施形態の演算装置は、構成情報記憶部５０１、演算データ記憶部５０２、及び条件分岐なし演算実行部５０３を含む再構成可能な演算装置５０によって構成されている。また、再構成可能な演算装置５０に構成情報及び演算データを提供するホストＣＰＵ１０と共有メモリ２０が設けられている。
【００２４】
ホストＣＰＵ１０は、再構成可能な演算装置５０にハードウェアの構成情報及び演算データを提供する。構成情報が、再構成可能な演算装置の構成情報記憶部５０１に転送され、また、演算データが演算データ記憶部５０２に転送される。
【００２５】
共有メモリ２０は、再構成可能な演算装置５０のハードウェア構成情報及び演算データを記憶する。再構成可能な演算装置５０によって演算処理を行う前に、供給メモリ２０に記憶されているハードウェア構成情報及び演算データがホストＣＰＵ１０を介して、または直接に再構成可能な演算装置５０の構成情報記憶部５０１及び演算データ記憶部５０２に転送される。
【００２６】
再構成可能な演算装置５０において、構成情報記憶部５０１は、ホストＣＰＵ１０などから入力されるハードウェア構成情報を保持し、保持された構成情報を条件分岐なし演算実行部５０２に出力する。
演算データ記憶部５０２は、ホストＣＰＵ１０などから入力される演算データを保持し、保持された演算データを条件分岐なし演算実行部５０３に提供する。また、条件分岐なし演算実行部５０３による演算処理の結果が演算データ記憶部５０２に転送されるので、演算データ記憶部５０２は、条件分岐なし演算実行部５０３から入力された演算結果を記憶し、ホストＣＰＵ１０または共有メモリ２０に出力する。
【００２７】
本実施形態の再構成可能な演算装置５０において、繰り返し演算処理に条件分岐が含まれている場合、当該条件分岐を考慮せず、即ち、条件分岐なしとして演算を行う。まず、構成情報記憶部５０１に記憶されているハードウェアの構成情報が条件分岐なし演算実行部５０３に転送され、これに基づいて条件分岐なし演算実行部５０３にハードウェアの再構成が行われ、それぞれの演算器に所定の演算処理が割り当てられる。
【００２８】
そして、条件分岐なし演算実行部５０３において、条件分岐なしとして、演算データ記憶部５０２からの演算データに基づいて所望の演算処理が高速に実行される。演算終了後、演算結果が演算データ記憶部５０２に転送される。次いで、ホストＣＰＵ１０は、演算データ記憶部５０２から演算結果を受け取り、分岐条件に従って分岐処理を行い、処理の結果を用いて上記条件分岐なし演算実行部５０３の演算結果に対し修正を行う。すべての条件分岐に基づいて修正を行った結果、条件分岐を含む演算処理の結果が得られる。
【００２９】
図２は、本実施形態の演算装置における演算処理の割り当てを示すフローチャートである。
図示のように、まず、プロファイラを用いて、演算処理の重い箇所の抽出が行われる（ステップＳ４１１）。即ち、ソフトウェアの設計ツールなどによって、演算装置に割り当てられる演算処理のうち、処理負荷が重い演算が抽出される。なお、ここで、処理負荷の重さは、例えば、その処理をＣＰＵなどのプロセッサによって実行する場合に必要な処理ステップ数などによって判断することができる。
【００３０】
次に、抽出された処理負荷の重い演算に条件分岐付き演算が含まれているか否かが判断される（ステップＳ４１２）。当該判断の結果、条件分岐付き演算が含まれている場合、ステップＳ４１３に進み、逆に条件分岐付き演算が含まれていない場合、ステップＳ４１８に進む。ステップＳ４１８において、条件分岐がないため、演算処理が再構成可能演算装置に割り当てられ、さらに割り当てられた演算を実行させるためのハードウェアの構成情報も生成される（ステップＳ４１９）。
【００３１】
ステップＳ４１３において、条件分岐付き演算を条件分岐なしの処理と条件分岐付きの処理に分割可能か否かについて判断が行われる。当該判断の結果、分割可能な場合、ステップＳ４１４に進み、逆に分割できない場合、ステップＳ４１７に進み、ここで、条件分岐付きの処理が分割できないため、すべての処理がＣＰＵに割り当てられる。
【００３２】
ステップＳ４１４において、条件分岐付き処理が条件分岐なしの処理と条件分岐付きの処理に分割され、条件分岐なしの処理が再構成可能な演算装置に割り当てられる。そして、割り当てられた演算に応じたハードウェアの構成情報も生成される（ステップＳ４１５）。
一方、条件分岐付きの処理がＣＰＵなどに割り当てられる（ステップＳ４１６）。
【００３３】
上述した割り当て処理により、処理負荷の重い処理に条件分岐が含まれている場合、当該条件分岐処理が分割可能な場合、条件分岐なしの処理と条件分岐付きの処理に分割され、条件分岐なしの処理が再構成可能な演算装置に割り当てられ、条件分岐付きの処理がＣＰＵなどに割り当てられる。また、再構成可能な演算装置に割り当てられた処理を実行させるためのハードウェアの構成情報も生成される。このため、再構成可能な演算装置において、構成情報に基づきハードウェアが再構成され、再構成されたハードウェアにより割り当てられた条件分岐なしの処理を高速に実行できるので、ＣＰＵなどの処理負荷を軽減できる。特に、条件分岐なしの処理の頻度が条件分岐付きの処理の頻度よりも高い場合、高速化の効果がより顕著となる。
このため、上述した演算処理の割り当てにおいては、条件分岐なしの処理と条件分岐付きの処理のうち、実行頻度の高い処理が再構成可能な演算装置に割り当てられ、実行頻度の低い処理が、例えば、ＣＰＵなどに割り当てられる。これによって、再構成可能なハードウェアを用いて、処理速度の改善効果を高めることができる。
【００３４】
次に、上述した割り当て処理によって生成された構成情報などに従って、本実施形態の演算装置における演算処理を説明する。
図３は、本実施形態の演算装置における演算処理を示すフローチャートである。以下、図３を参照しつつ、本実施形態における演算処理について、順を追って説明する。
【００３５】
まず、演算データ記憶部が必要に応じて初期化される（ステップＳ５０１）、そして、構成情報記憶部が必要に応じて初期化される（ステップＳ５０２）。
次いで、ホストＣＰＵ１０などから演算データが転送され、当該演算データが演算データ記憶部５０２に記憶される（ステップＳ５０３）。
次いで、ホストＣＰＵ１０などから構成情報が転送され、当該構成情報が構成情報記憶部５０１に記憶される（ステップＳ５０４）。
【００３６】
条件分岐なし演算実行部５０３において、構成情報記憶部５０１から入力される構成情報に基づき、ハードウェアの再構成が行われる（ステップＳ５０５）。ハードウェアの再構成は、例えば、所定の繰り返し演算において、条件分岐をすべて無視して、所定の演算を与えられた回数だけ繰り返して実行するよう行われる。
【００３７】
演算データ記憶部５０２から、演算データが読み出され、当該演算データに基づき、条件分岐なし演算実行部５０３において、再構成されたハードウェアによって所定の演算処理が実行される（ステップＳ５０６）。
そして、演算処理の結果が演算データ記憶部５０２に書き込まれる（ステップＳ５０７）。
【００３８】
次に、演算データ記憶部５０２から演算結果が読み出される（ステップＳ５０８）。読み出された演算結果がホストＣＰＵ１０に転送される。
そして、ホストＣＰＵ１０などで、条件分岐付き演算処理が実行される（ステップＳ５０９）。
【００３９】
次いで、ホストＣＰＵ１０などによる条件分岐付き演算処理の結果が演算データ記憶部５０２に出力され、演算データ記憶部５０２によって記憶される。
そして、演算データ記憶部５０２に記憶されている最終の演算結果が共有メモリ２０に出力される。
【００４０】
上述したように、本実施形態の演算装置において、繰り返し演算の中の条件分岐をなしとして、再構成可能な演算装置において、再構成されたハードウェアにより、条件分岐せずに繰り返し演算のみが先行して実行される。そして、ホストＣＰＵ１０によって、条件分岐付きの演算が行われ、当該演算結果によって、上記条件分岐なしで行われた演算の結果に対して修正が行われる。このため、再構成可能なハードウェアによって分岐なし演算が高速に実行できるので、ホストＣＰＵ１０などの処理負荷を軽減し、処理の高速化を実現可能である。特に、先行実行のあと、ホストＣＰＵ１０などによる条件付きの演算において、データ書き換えの頻度が低いほど全体として処理量を抑制する効果が大きくなる。
【００４１】
次に、本実施形態の演算装置を用いた、条件付き分岐を含む繰り返し演算の一具体例について説明する。
図４は、条件付き分岐処理を含む繰り返し演算処理の一例を示している。なお、図４では、繰り返し処理は、例えば、通常のプログラム言語で「ｆｏｒ」文により表される。また、条件付き分岐処理は、プログラム言語で「ｉｆ」文によって表され、分岐の条件は、「ｉｆ」文に続く括弧の中で表記されている。
【００４２】
図４に示す条件付き分岐処理では、例えば、「分岐１」で示す分岐条件が満たされると、「処理１」が実行され、逆に、「分岐１」で示す分岐条件が満たされず、「分岐２」で示す分岐条件が満たされた場合、「処理２」が実行される。
なお、図４に示すように、分岐条件である「分岐１」を満たす頻度が分岐条件である「分岐２」を満たす頻度より高い。即ち、図４に示す繰り返しループの中、「処理１」が実行される頻度が「処理２」が実行される頻度より高い。
上述した条件付き分岐処理が、所定の繰り返し条件が満たされている間繰り返して実行される。
【００４３】
図４に示すように、本実施形態演算装置では、上述した条件付き分岐処理を含む繰り返し演算を条件分岐なし演算と、条件分岐付き演算の２つの演算に分割される。まず、処理頻度の高い「処理１」を含む繰り返し演算を条件分岐なしの繰り返し演算とし、そして、処理頻度の低い「処理２」を含む演算を条件分岐付きの繰り返し演算とする。
【００４４】
条件分岐なしとしての繰り返し演算「処理１」は、本実施形態の再構成可能な演算装置５０によって実行される。そして、頻度の低い「処理２」の演算がホストＣＰＵ１０によって実行される。
【００４５】
即ち、「処理１」の演算内容に応じて、ホストＣＰＵ１０により、再構成可能な演算装置５０の条件分岐なし演算実行部のハードウェアを再構成するための構成情報が生成される。当該構成情報は、ホストＣＰＵ１０から再構成可能な演算装置の構成情報記憶部５０１に転送され、これに基づいて条件分岐なし演算実行部５０３において、ハードウェアが再構成され、ホストＣＰＵ１０などから入力される演算データに基づき、「処理１」を条件分岐なしの処理として繰り返し、演算が高速に実行される。
【００４６】
そして、「処理１」の繰り返し演算が実行したあと、ホストＣＰＵ１０などによって、「処理２」の分岐条件である「分岐２」に従って、「処理２」を実行する。そして、分岐条件に従って、当該分岐条件付き「処理２」の演算結果を用いて、上述した条件分岐なしの「処理１」の繰り返し演算の結果を修正する。修正後の結果は、条件分岐付き繰り返し演算の結果となる。
【００４７】
上述した処理において、「処理１」の頻度が「処理２」より高い場合、本実施形態の演算装置を用いることにより、再構成可能な演算装置５０によって、ハードウェア上で「処理１」の演算を高速に実行することができる。そして、ホストＣＰＵ１０により、分岐条件に基づき、条件分岐付きで「処理２」を実行し、再構成可能な演算装置５０による演算結果を修正する。
【００４８】
以上説明したように、本実施形態の演算装置及びその演算方法によれば、条件分岐付きの繰り返し演算が、条件分岐なしの演算と条件分岐付きの演算の２つの部分に分割され、再構成可能な演算装置において、条件分岐なしの演算処理は、それに応じて生成された構成情報に基づき、再構成されたハードウェアによって実行され、そして、その演算結果に対して分岐条件に基づき、ホストＣＰＵなどによる条件分岐付き繰り返し演算の結果で修正するので、ホストＣＰＵ１０の処理負荷を軽減出来、処理時間の短縮及び処理速度の向上を実現できる。
【００４９】
【発明の効果】
以上説明したように、本発明の演算装置及びその演算方法によれば、繰り返し演算など処理負荷の重い演算処理部分を、構成情報に基づいて再構成されたハードウェアによって先行して実行し、そして、ホストＣＰＵによって条件付き分岐処理を実行し、ハードウェアによる演算結果を修正するので、ホストＣＰＵの処理負荷を軽減でき、処理時間の短縮及び処理速度の向上を実現できる。これによって、ハードウェアによる演算後の条件分岐付き処理の出現頻度が低い場合、特に処理速度の改善効果が大きい。
また、本発明によれば、ハードウェアによって、処理負荷の重い演算を高速に実行されるので、ＣＰＵによる演算に較べて、演算量を低減できるので、処理時間の短縮と消費電力の低減を実現できる。
さらに、本発明によれば、処理負荷の重い演算をハードウェアに割り当てることによって、ＣＰＵ側の処理負担が軽減し、ハードウェアの演算時間中に別の演算処理を実現できる利点がある。
【図面の簡単な説明】
【図１】本発明に係る演算装置の一実施形態を示す構成図である。
【図２】本実施形態の演算装置における演算の割り当てを示すフローチャートである。
【図３】本実施形態の演算装置における条件分岐付き処理を示すフローチャートである。
【図４】本実施形態の演算装置における条件分岐付き処理の一例を示す図である。
【図５】従来の再構成可能な演算装置の一例を示す構成図である。
【図６】従来の演算装置の処理を示すフローチャートである。
【図７】従来の演算装置における条件分岐付き処理のフローチャートである。
【符号の説明】
１０…ホストＣＰＵ、２０…共有メモリ、３０，５０…再構成可能な演算装置、３０１，５０１…構成情報記憶部、３０２，５０２…演算データ記憶部、３０３…再構成可能な演算実行部、５０３…再構成可能な条件分岐なし演算実行部。
【図１】
2004070524.tif 000003
【図２】
2004070524.tif 000004
【図３】
2004070524.tif 000005
【図４】
2004070524.tif 000006
【図５】
2004070524.tif 000007
【図６】
2004070524.tif 000008
【図７】
2004070524.tif 000009