(57)【要約】【課題】  機能の変更が可能なリコンフィギュラブル回路を有する処理装置を提供する。【解決手段】  本発明の処理装置１０は、接続部５２ｂ、５２ｃに接続されて、リコンフィギュラブル回路１２の出力データを途中段のＡＬＵ列５３ｂ、５３ｃに入力可能な入力経路６０ｂ、６０ｃを備える。入力経路６０ｂ、６０ｃは、最終段のＡＬＵ列５３ｃの出力データを途中段に入力する。なお、入力経路６０ｂ、６０ｃより、第２フィードバック経路２９からの出力データがＡＬＵ列５３ｂ、５３ｃに供給されてもよく、また第１フィードバック経路２４からの出力データが供給されてもよい。【選択図】図７
2005276853.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備えたリコンフィギュラブル回路と、
前記接続部に接続され、前記リコンフィギュラブル回路の出力データを途中段の論理回路に入力可能な入力経路と、
を備えたことを特徴とする処理装置。
【請求項２】
前記入力経路は、最終段論理回路の出力データを途中段の論理回路に入力することを特徴とする請求項１に記載の処理装置。
【請求項３】
前記リコンフィギュラブル回路の出力データを遅延する遅延保持回路をさらに備え、
前記入力経路は、前記遅延保持回路の出力データを、途中段の論理回路に入力することを特徴とする請求項１または２に記載の処理装置。
【請求項４】
前記入力経路は、外部からの入力データを、途中段の論理回路に入力することを特徴とする請求項１から３のいずれかに記載の処理装置。
【請求項５】
前記入力経路は、前記遅延保持回路からの出力データを途中段の論理回路に入力し、
前記遅延保持回路を経由しない前記最終段論理回路からの出力データは、前記論理回路の第１段のみに入力されることを特徴とする請求項３に記載の処理装置。
【請求項６】
前記入力経路は、データを入力する段に含まれる論理回路の数よりも少ない数のデータを入力するように構成されていることを特徴とする請求項１から５のいずれかに記載の処理装置。
【請求項７】
前記接続部は、前記入力経路から入力された複数のデータをそれぞれ供給可能とする論理回路の数を制限することを特徴とする請求項１から６のいずれかに記載の処理装置。
【請求項８】
前記接続部は、前記入力経路から入力された複数のデータをそれぞれ供給可能とする論理回路の範囲を、入力するデータごとにそれぞれ異なるように設定していることを特徴とする請求項６または７に記載の処理装置。
【請求項９】
前記接続部は、前記入力経路から入力された複数のデータをそれぞれ供給可能とする論理回路の範囲を、１段に含まれる複数の論理回路のうち一方の端部に配置された論理回路から他方の端部に配置された論理回路にかけて徐々にずらして設定していることを特徴とする請求項６から８のいずれかに記載の処理装置。
【請求項１０】
前記リコンフィギュラブル回路の出力データの全てが前記リコンフィギュラブル回路に供給可能とされるように、最上段の論理回路に出力データを入力可能とする入力経路と協同して、途中段の論理回路に出力データを入力可能とする入力経路が構成されることを特徴とする請求項１から９のいずれかに記載の処理装置。
【請求項１１】
それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備えたリコンフィギュラブル回路と、
前記リコンフィギュラブル回路の出力データを前記リコンフィギュラブル回路に入力する第１フィードバック経路と、
前記リコンフィギュラブル回路の出力データを遅延して前記リコンフィギュラブル回路に入力する第２フィードバック経路と、
前記第１フィードバック経路または前記第２フィードバック経路のいずれか一方に設けられて、前記リコンフィギュラブル回路の複数の出力データを選択的に前記リコンフィギュラブル回路に入力する選択部と、
を備えることを特徴とする処理装置。
【請求項１２】
前記論理回路は、複数種類の多ビット演算を選択的に実行可能な算術論理回路であることを特徴とする請求項１から１１のいずれかに記載の処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、機能の変更が可能なリコンフィギュラブル回路に関し、特にリコンフィギュラブル回路に含まれる論理回路に対してデータを供給する技術に関する。
【背景技術】
【０００２】
近年、アプリケーションに応じてハードウェアの動作を変更可能なリコンフィギュラブルプロセッサの開発が進められている。リコンフィギュラブルプロセッサを実現するためのアーキテクチャとしては、ＤＳＰ(Digital Signal Processor)や、ＦＰＧＡ(Field Programmable Gate Array)を用いる方法が存在する。
【０００３】
ＦＰＧＡ（Field Programmable Gate Array）はＬＳＩ製造後に回路データを書き込んで比較的自由に回路構成を設計することが可能であり、専用ハードウエアの設計に利用されている。ＦＰＧＡは、論理回路の真理値表を格納するためのルックアップテーブル（ＬＵＴ）と出力用のフリップフロップからなる基本セルと、その基本セル間を結ぶプログラマブルな配線リソースとを含む。ＦＰＧＡでは、ＬＵＴに格納するデータと配線データを書き込むことで目的とする論理演算を実現できる。しかし、ＦＰＧＡでＬＳＩを設計した場合、ＡＳＩＣ（Application Specific IC）による設計と比べると、実装面積が非常に大きくなり、コスト高になる。そこで、ＦＰＧＡを動的に再構成することで、回路構成の再利用を図る方法が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平１０−２５６３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば衛星放送では、季節などにより、放送モードを切り替えて画質の調整などを行うこともある。受信機では、放送モードごとに複数の回路を予めハードウェア上に作り込んでおき、放送モードに合わせて選択器で回路を切り替えて受信している。したがって、受信機の他の放送モード用の回路はその間、遊んでいることになる。モード切り替えのように、複数の専用回路を切り替えて使用し、その切り替え間隔が比較的長い場合、複数の専用回路を作り込む代わりに、切り替え時にＬＳＩを瞬時に再構成することにすれば、回路構造をシンプルにして汎用性を高め、同時に実装コストを抑えることができる。このようなニーズに応えるべく、動的に再構成可能なＬＳＩに製造業界の関心が集まっている。特に、携帯電話やＰＤＡ（Personal Data Assistance）などのモバイル端末に搭載されるＬＳＩは小型化が必須であり、ＬＳＩを動的に再構成し、用途に合わせて適宜機能を切り替えることができれば、ＬＳＩの実装面積を抑えることができる。
【０００５】
ＦＰＧＡは回路構成の設計自由度が高く、汎用的である反面、全ての基本セル間の接続を可能とするため、多数のスイッチとスイッチのＯＮ／ＯＦＦを制御するための制御回路を含む必要があり、必然的に制御回路の実装面積が大きくなる。また、基本セル間の接続に複雑な配線パターンをとるため、配線が長くなる傾向があり、さらに１本の配線に多くのスイッチが接続される構造のため、遅延が大きくなる。そのため、ＦＰＧＡによるＬＳＩは、試作や実験のために利用されるにとどまることが多く、実装効率、性能、コストなどを考えると、量産には適していない。さらに、ＦＰＧＡでは、多数のＬＵＴ方式の基本セルに構成情報を送る必要があるため、回路のコンフィグレーションにはかなりの時間がかかる。そのため、瞬時に回路構成の切り替えが必要な用途にはＦＰＧＡは適していない。
【０００６】
それらの課題を解決するため、近年、ＡＬＵ(Arithmetic Logic Unit)と呼ばれる基本演算機能を複数持つ多機能素子を多段に並べたＡＬＵアレイの検討が行われるようになった。ＡＬＵアレイでは、処理が上段から下段の一方向に流れるので、水平方向のＡＬＵを結ぶ配線は基本的には不要である。そのため、ＦＰＧＡと比較して回路規模を小さくすることが可能となる。
【０００７】
一方で、ＡＬＵアレイにおいても、各ＡＬＵに対して各種データを供給して、効率的に演算処理を実行することが好ましい。そのためにはデータをＡＬＵに供給するための経路や結線、および経路や結線を選択するためのスイッチなどの構成が必要となる。回路において、結線やスイッチの占める面積の割合は無視できず、ＡＬＵアレイの処理の高速性を追求すると、ＡＬＵアレイ自体およびＡＬＵアレイ周辺の回路規模が大きくなる傾向がある。特に、モバイル端末にＡＬＵアレイを搭載する場合には、効率的な演算処理を実現しながら、回路規模を抑えることが好ましい。
【０００８】
本発明はこうした状況に鑑みてなされたもので、その目的は、回路規模を抑えつつ、ＡＬＵアレイなどから構成される処理装置の処理能力を向上することのできる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備えたリコンフィギュラブル回路と、接続部に接続され、リコンフィギュラブル回路の出力データを途中段の論理回路に入力可能な入力経路とを備えた処理装置を提供する。この態様の処理装置によると、リコンフィギュラブル回路の出力データを途中段の論理回路に入力可能とすることによって、リコンフィギュラブル回路における回路再構成速度を上げることが可能となる。
【００１０】
本発明の別の態様は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備えたリコンフィギュラブル回路と、リコンフィギュラブル回路の出力データをリコンフィギュラブル回路に入力する第１フィードバック経路と、リコンフィギュラブル回路の出力データを遅延してリコンフィギュラブル回路に入力する第２フィードバック経路と、第１フィードバック経路または第２フィードバック経路のいずれか一方に設けられて、リコンフィギュラブル回路の複数の出力データを選択的にリコンフィギュラブル回路に入力する選択部とを備える処理装置を提供する。この態様の処理装置によると、選択的に出力データを処理装置に供給することで、回路規模を削減できる。
論理回路は、複数種類の多ビット演算を選択的に実行可能な算術論理回路であってよい。
【００１１】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラムとして表現したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、回路規模を抑えながら、リコンフィギュラブル回路の処理能力を向上する技術を提供することができる。
【発明を実施するための最良の形態】
【００１３】
（実施の形態１）
図１は、実施の形態１に係る処理装置１０の構成図である。処理装置１０は、回路構成を再構成可能とする機能を有する集積回路装置２６を備える。集積回路装置２６は１チップとして構成され、リコンフィギュラブル回路１２、設定部１４、制御部１８、内部状態保持回路２０、出力回路２２、第１フィードバック経路２４、マルチプレクサ部２５、遅延保持回路２７および第２フィードバック経路２９を備える。リコンフィギュラブル回路１２は、設定を変更することにより、機能の変更を可能とする。リコンフィギュラブル回路１２は組合せ回路または順序回路等の論理回路として構成される。第１フィードバック経路２４または第２フィードバック経路２９を通ってリコンフィギュラブル回路１２の出力と入力を接続する経路を、リコンフィギュラブル回路１２の出力を論理回路に入力可能な入力経路と呼ぶ。
【００１４】
リコンフィギュラブル回路１２は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備える。構造的には、複数の論理回路列の間に、論理回路列間の接続用結線を設定する接続部が設けられる。リコンフィギュラブル回路１２は、複数段に配列された各論理回路の機能、および論理回路間の接続を任意に設定することで、機能の変更を可能とする。
【００１５】
設定部１４は、第１設定部１４ａ、第２設定部１４ｂ、第３設定部１４ｃ、第４設定部１４ｄおよび選択器１６を有し、リコンフィギュラブル回路１２に所期の回路を構成するための設定データ４０を供給する。設定部１４は、プログラムカウンタのカウント値に基づいて記憶したデータを出力するコマンドメモリとして構成されてもよい。この場合、制御部１８がプログラムカウンタの出力を制御する。この意味において、設定データ４０はコマンドメモリから出力されるコマンドデータであってよい。
【００１６】
第１フィードバック経路２４は、フィードバックパスとして機能し、リコンフィギュラブル回路１２の出力を、リコンフィギュラブル回路１２の入力に接続する。内部状態保持回路２０および出力回路２２は、例えばデータフリップフロップ（ＤＦＦ）などの順序回路として構成され、リコンフィギュラブル回路１２の出力を受ける。内部状態保持回路２０は第１フィードバック経路２４に接続されており、リコンフィギュラブル回路１２の出力を直接リコンフィギュラブル回路１２の入力にフィードバックさせる。
【００１７】
遅延保持回路２７はメモリであって、リコンフィギュラブル回路１２から出力される出力データを格納するための複数のＲＡＭにより構成される。遅延保持回路２７は、リコンフィギュラブル回路１２の出力データを任意の時間遅延させる機能をもつ。この例では、遅延保持回路２７が、内部状態保持回路２０から出力されるデータを格納しているが、リコンフィギュラブル回路１２から直接出力されるデータを格納してもよい。遅延保持回路２７は、制御部１８からのＷ／Ｒイネーブル信号およびアドレス信号に基づいて、データの書込／読出を行う。遅延保持回路２７は第２フィードバック経路２９に接続されており、制御部１８からの読出指示に基づいて、所期のタイミングでデータをリコンフィギュラブル回路１２の入力にフィードバックさせる。なお、設定部１４がコマンドメモリとして構成されている場合、コマンドメモリから供給されるコマンドデータで、遅延保持回路２７のデータの書込／読出を行ってもよい。
【００１８】
処理装置１０においては、リコンフィギュラブル回路１２の出力をリコンフィギュラブル回路１２の入力にフィードバックする経路が、第１フィードバック経路２４および第２フィードバック経路２９の２系統存在する。第１フィードバック経路２４は、遅延保持回路２７を介さないために、リコンフィギュラブル回路１２の出力データを高速にフィードバック処理することが可能である。一方、第２フィードバック経路２９は、制御部１８からの指示により所期のタイミングでデータ信号をリコンフィギュラブル回路１２に供給することができる。このように、第１フィードバック経路２４または第２フィードバック経路２９は、リコンフィギュラブル回路１２上に再構成する回路に応じて適宜使い分けられる。
【００１９】
第１フィードバック経路２４は、リコンフィギュラブル回路１２の出力データを、次に構成する回路に入力するときに使われる。リコンフィギュラブル回路１２の回路再構成が１クロックで実現できる場合、第１フィードバック経路２４を使用することで、連続したクロックでリコンフィギュラブル回路１２の出力を逐次フィードバックし、所望の回路演算を実行することができる。第２フィードバック経路２９は、遅延保持回路２７での最小読出遅延を１クロックとすると、２クロック後以降に構成する回路にデータを供給するときに使われる。これにより、リコンフィギュラブル回路１２上で回路の再構成を繰り返しながら、所定のタイミングで遅延保持回路２７からデータをリコンフィギュラブル回路１２の入力に供給することができる。
【００２０】
リコンフィギュラブル回路１２は、機能の変更が可能な論理回路を有して構成される。複数の論理回路は、マトリックス状に配置された構造をとってもよい。各論理回路の機能と、論理回路間の接続関係は、設定部１４により供給される設定データ４０に基づいて設定される。設定データ４０は、以下の手順で生成される。
【００２１】
集積回路装置２６により実現されるべきプログラム３６が、記憶部３４に保持されている。プログラム３６は、回路における処理の動作を記述した動作記述を示し、信号処理回路または信号処理アルゴリズムなどをＣ言語などの高級言語で記述したものである。コンパイル部３０は、記憶部３４に格納されたプログラム３６をコンパイルし、データフローグラフ（ＤＦＧ）３８に変換して記憶部３４に格納する。データフローグラフ３８は、回路における演算間の実行順序の依存関係を表現し、入力変数および定数の演算の流れをグラフ構造で示したものである。一般に、データフローグラフ３８は、上から下に向かって演算が進むように作成される。
【００２２】
設定データ生成部３２は、データフローグラフ３８から設定データ４０を生成する。設定データ４０は、データフローグラフ３８をリコンフィギュラブル回路１２にマッピングするためのデータであり、リコンフィギュラブル回路１２における論理回路の機能や論理回路間の接続関係を定める。設定データ生成部３２が、１つの生成すべき回路を分割してできる複数の回路の設定データ４０を生成してもよい。
【００２３】
図２は、１つの生成すべきターゲット回路４２を分割してできる複数の回路の設定データ４０について説明するための図である。１つのターゲット回路４２を分割して生成される回路を、「分割回路」と呼ぶ。この例では、１つのターゲット回路４２が、４つの分割回路、すなわち分割回路Ａ、分割回路Ｂ、分割回路Ｃ、分割回路Ｄに分割されている。ターゲット回路４２は、データフローグラフ３８における演算の流れにしたがって分割される。データフローグラフ３８において、上から下に向かう方向に演算の流れが表現される場合、そのデータフローグラフ３８を上から所定の間隔で切り取り、その切り取った部分を分割回路として設定する。流れにしたがって切り取る間隔は、リコンフィギュラブル回路１２における論理回路の段数以下に定められる。ターゲット回路４２は、データフローグラフ３８の横方向で分割されてもよい。横方向に分割する幅は、リコンフィギュラブル回路１２における論理回路の１段当たりの個数以下に定められる。
【００２４】
特に、生成すべきターゲット回路４２がリコンフィギュラブル回路１２よりも大きい場合に、設定データ生成部３２は、リコンフィギュラブル回路１２にマッピングできる大きさになるように、ターゲット回路４２を分割することが好ましい。設定データ生成部３２は、リコンフィギュラブル回路１２における論理回路の配列構造とデータフローグラフ３８によって、ターゲット回路４２の分割方法を定める。リコンフィギュラブル回路１２の配列構造は、制御部１８から設定データ生成部３２に伝えられてもよく、また予め記憶部３４に記録されていてもよい。また、制御部１８が、ターゲット回路４２の分割方法を設定データ生成部３２に指示してもよい。
【００２５】
以上の手順を実行することにより、記憶部３４は、リコンフィギュラブル回路１２を所期の回路として構成するための複数の設定データ４０を記憶する。複数の設定データ４０は、分割回路Ａを構成するための設定データ４０ａ、分割回路Ｂを構成するための設定データ４０ｂ、分割回路Ｃを構成するための設定データ４０ｃ、および分割回路Ｄを構成するための設定データ４０ｄである。既述のごとく、複数の設定データ４０は、１つのターゲット回路４２を分割した複数の分割回路をそれぞれ表現したものである。このように、リコンフィギュラブル回路１２の回路規模に応じて、生成すべきターゲット回路４２の設定データ４０を生成することにより、汎用性の高い処理装置１０を実現することが可能となる。別の視点からみると、実施の形態１の処理装置１０によれば、回路規模の小さいリコンフィギュラブル回路１２を用いて、所望の回路を再構成することが可能となる。
【００２６】
図１に戻って、本実施の形態において、第２フィードバック経路２９には、マルチプレクサ部（ＭＵＸ）２５が設けられている。マルチプレクサ部２５は、遅延保持回路２７の複数のＲＡＭからの出力データを選択的にリコンフィギュラブル回路１２の論理回路に供給する機能を有する。
【００２７】
リコンフィギュラブル回路１２の論理回路は、変数ないしは定数を用いた演算を行う。加算や乗算は、その典型的な例である。したがって、リコンフィギュラブル回路１２の出力データを、次回以降に再構成するリコンフィギュラブル回路１２における変数として使用する場面が度々発生する。図１に示す処理装置１０においては、リコンフィギュラブル回路１２の出力データが、第１フィードバック経路２４と第２フィードバック経路２９の２系統により供給されており、この２系統で供給される全てのデータをリコンフィギュラブル回路１２の各論理回路に入力することも可能である。これにより、論理回路はフィードバックされた演算に必要なデータを直接取得することができ、所期の演算処理を実行することができる。
【００２８】
しかしながら、全てのデータを、例えば第１段の全論理回路に入力すると、配線に必要な面積が非常に大きくなり、集積回路装置２６の回路規模の縮小化が図れないという問題がある。回路規模の縮小化は、実装面積の問題だけでなく、消費電力を削減にもつながることから、集積回路技術における重要な課題の一つであり、それは、本実施の形態で示す集積回路装置２６にとっても例外ではない。以上の理由から、本実施の形態の処理装置１０では、第１フィードバック経路２４による出力データ数を制限し、第２フィードバック経路２９にマルチプレクサ部２５を設けることで、回路規模の縮小化を図っている。
【００２９】
図３は、実施の形態１におけるリコンフィギュラブル回路１２およびその周辺回路を示す。リコンフィギュラブル回路１２は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を任意に設定可能な接続部５２とを備える。リコンフィギュラブル回路１２では、論理回路の多段配列構造により、上段から下段に向かって演算が進められる。なお、本明細書および特許請求の範囲において「多段」とは、複数の段を意味する。
【００３０】
リコンフィギュラブル回路１２は、論理回路としてＡＬＵ(Arithmetic Logic Unit)を有している。ＡＬＵは、複数種類の多ビット演算を選択的に実行可能な算術論理回路であって、論理和、論理積、ビットシフトなどの複数種類の多ビット演算を設定により選択的に実行できる。各ＡＬＵは、複数の演算機能を設定するためのセレクタを有して構成されている。
【００３１】
リコンフィギュラブル回路１２は、横方向にＹ個、縦方向にＸ個のＡＬＵが配置されたＸ段Ｙ列のＡＬＵアレイとして構成される。ここでは、縦方向に３個、横方向に６個のＡＬＵが配置された３段６列のＡＬＵアレイを示している。リコンフィギュラブル回路１２は、入力回路５１、接続部５２およびＡＬＵ列５３を備える。ＡＬＵ列５３は複数段に設けられ、接続部５２は前後段のＡＬＵ列５３の間に設けられて、前段のＡＬＵの出力と後段のＡＬＵの入力の接続関係を設定する。
【００３２】
図３に示す例では、第１段のＡＬＵ列５３ａと第２段のＡＬＵ列５３ｂの間に、第２段を構成する接続部５２ｂが設けられ、第２段のＡＬＵ列５３ｂと第３段のＡＬＵ列５３ｃの間に、第３段を構成する接続部５２ｃが設けられる。なお、第１段を構成する接続部５２ａは、前後段のＡＬＵ列５３の間に設けられるのではなく、前段の入力回路５１と第１段のＡＬＵ列５３ａとの間に設けられる。
【００３３】
第１段のＡＬＵ１１、ＡＬＵ１２、・・・、ＡＬＵ１６には、入力変数や定数が入力され、設定された所定の演算がなされる。演算結果の出力は、第２段の接続部５２ｂに設定された接続にしたがって、第２段のＡＬＵ２１、ＡＬＵ２２、・・・、ＡＬＵ２６に入力される。第２段の接続部５２ｂにおいては、第１段のＡＬＵ列５３ａの出力と第２段のＡＬＵ列５３ｂの入力の間で任意の接続関係、あるいは予め定められた接続関係の組合せの中から選択された接続関係を実現できるように接続用結線が構成されており、設定により所期の結線が有効となる。第２段のＡＬＵ２１、ＡＬＵ２２、・・・、ＡＬＵ２６には、ＡＬＵ列５３ａの出力が入力され、設定された所定の演算がなされる。演算結果の出力は、第３段の接続部５２ｃの接続用結線において設定された接続にしたがって、第３段のＡＬＵ３１、ＡＬＵ３２、・・・、ＡＬＵ３６に入力される。
【００３４】
最終段となる第３段のＡＬＵ列５３ｃからの出力データは、内部状態保持回路２０に出力される。内部状態保持回路２０は、出力データを入力回路５１および遅延保持回路２７に供給する。遅延保持回路２７は、内部状態保持回路２０から受け取った出力データを任意の時間遅延し、入力回路５１に供給する。既述したように、内部状態保持回路２０はＤＦＦを有して構成され、遅延保持回路２７はＲＡＭを有して構成される。
【００３５】
入力回路５１におけるＳＷ（スイッチ）１、接続部５２におけるＳＷ（スイッチ）２、内部状態保持回路２０におけるＤＦＦ、遅延保持回路２７におけるＲＡＭは、ＡＬＵ列５３の各列に対応して設けられ、したがってこの例では、それぞれが６個ずつ設けられる。
【００３６】
入力回路５１は、外部入力、第１フィードバック経路２４より供給される出力データ、第２フィードバック経路２９より供給される出力データを受け付け、所期のデータを選択して、接続部５２ａに供給する。ここで、第１フィードバック経路２４によりＡＬＵ列５３ａの各ＡＬＵに供給される出力データは、その数を制限することが好ましい。すなわち、各ＡＬＵに供給される出力データ数は、ＡＬＵ列５３ｃの全体の出力数（６個）よりも少ない数であることが好ましい。出力数を制限することで、ＳＷ１の規模を小さくできるとともに、第１フィードバック経路２４の配線面積を縮小することができる。
【００３７】
この場合、各ＳＷ１に供給される変数の数を限定することで、第１段の各ＡＬＵ５３ａに供給される変数の数が限定されることになる。第１段のいずれかのＡＬＵにおいて、外部入力、第１フィードバック経路２４の出力、第２フィードバック経路２９の３種類の出力の任意の組合せを可能とするために、第２フィードバック経路２９にマルチプレクサ部２５を設け、マルチプレクサ部２５が、遅延保持回路２７の出力を選択的に入力回路５１のＳＷ１に供給する。第１フィードバック経路２４の各ＡＬＵに対する出力に制限をかけることで、回路規模を縮小できるとともに、第２フィードバック経路２９にマルチプレクサ部２５を設けることで、回路規模を小さく維持しながら、定数および変数の任意の組合せを論理回路の入力に供給することが可能となる。
【００３８】
図４は、入力回路５１のＳＷ１に入力されるデータを示す。ＡＬＵは、ａ端子およびｂ端子の２入力を有して構成される。図３では、１つのＡＬＵに対して１つのＳＷ１およびＳＷ２を示しているが、ＡＬＵが２入力を有する場合には、ＡＬＵに対応するＳＷ１およびＳＷ２は、２つずつ存在する。したがってＳＷ１およびＳＷ２は、全体で１２個存在することになる。図４において、ＡＬＵ１１に関して例示するように、ＡＬＵ１１のａ端子に対してＳＷ１ａおよびＳＷ２ａが設けられ、ｂ端子に対してＳＷ１ｂおよびＳＷ２ｂが設けられる。マルチプレクサ部２５は、各ＳＷ１に対して設けられた複数のマルチプレクさを備える。マルチプレクサは、全体で１２個存在する。なお、第１段のＡＬＵ１１以外のＡＬＵに関しては図示を省略している。
【００３９】
ＳＷ１ａは、ＳＷ２ａに対して、外部入力、フィードバック経路２４の出力、フィードバック経路２９の出力のいずれかを出力する。同様に、ＳＷ１ｂは、ＳＷ２ｂに対して、外部入力、フィードバック経路２４の出力、フィードバック経路２９の出力のいずれかを出力する。ＲＡＭの出力データは、マルチプレクサ部２５により選択されて、ＡＬＵに対して設けられたＳＷ１に供給される。各マルチプレクサには６つのＲＡＭからの出力データが入力され、したがってマルチプレクサは、６：１マルチプレクサとして機能する。
【００４０】
この例では、ｎ番目のＤＦＦの出力が、ｎ番目のＡＬＵに供給されている。すなわち、ｎ番目のＡＬＵに対して設けられるＳＷ１に、ｎ番目のＤＦＦの出力しか入力させないことで、ＳＷ１に対して全てのＤＦＦ出力を入力させる場合と比較して、ＳＷ１の回路規模を小さくすることができる。また、各ＡＬＵに対しては、ＲＡＭからの出力を選択的に供給することができるため、ＤＦＦ出力とＲＡＭ出力の任意の組合せを実現することができる。これにより、回路規模を抑えつつ、ＡＬＵアレイの処理能力を向上することが可能となる。
【００４１】
（実施の形態２）
実施の形態１では、マルチプレクサを用いて回路規模を抑えつつ、ＡＬＵアレイの処理能力を向上する処理装置１０について説明した。実施の形態２においても、同一または同様の目的を達成する処理装置１０について説明する。なお、実施の形態２における処理装置１０に、実施の形態１で説明した出力データの制限とマルチプレクサとの組合せを利用することで、この目的を一層効果的に実現することができる。
【００４２】
実施の形態２における処理装置１０を説明する前に、データフローグラフ（ＤＦＧ）の処理に際して回路再構成の高速性が阻害される状況について説明する。
【００４３】
図５は、ＤＦＧの１例を示す。このＤＦＧは６段で構成されるため、３段６列のリコンフィギュラブル回路１２を使用した場合には、３段ずつ２クロックで処理されることが可能であることが好ましい。リコンフィギュラブル回路１２は、図３に示したものを想定する。図中、“＋”は加算を示し、“−”は減算を示し、“＞＞２”は２ビットの右シフトを示し、“ｎｏｐ”はスルー用のパスを示し、何の演算も行わない。
【００４４】
ここでＤＦＧにおいて、第２段１番右側の加算（ａｄｄ２_６とする）の１入力に、第２フィードバック経路２９からの出力データが必要な場合を想定する。リコンフィギュラブル回路１２では、第１段のＡＬＵに未使用のものがあれば、そのＡＬＵから第２フィードバック経路２９の出力データをａｄｄ２＿６に供給することができる。
【００４５】
しかしながら、１クロック目において、第１段のＡＬＵは全て演算に使用されているため、第１段のＡＬＵから第２フィードバック経路２９の出力データをａｄｄ２＿６に供給することができず、結果として１クロック目にａｄｄ２＿６をマッピングすることができない。
【００４６】
図６は、リコンフィギュラブル回路１２の構造に合わせて、図５に示すＤＦＧを再作成したものを示す。図示のように、ａｄｄ２＿６は、第２フィードバック経路２９の出力データを受け取るために、２クロック目の１段目のＡＬＵにマッピングされる。その結果、このＤＦＧのマッピング処理に３クロックが要されることになる。ＤＦＧは、１回あたりにリコンフィギュラブル回路１２で生成される回路規模に応じて切り分けられるため、結果として３つのＤＦＧが作成されることになる。そのため、図５に示す本来のＤＦＧと比較すると、ＤＦＧの作成処理に手間がかかり、処理時間も長くなることになる。
【００４７】
図７は、実施の形態２におけるリコンフィギュラブル回路１２およびその周辺回路を示す。リコンフィギュラブル回路１２は、ＡＬＵの多段配列と、ＡＬＵ列５３間の前後方向の接続関係を設定する接続部５２とを備える。リコンフィギュラブル回路１２は、図３に関連して説明したリコンフィギュラブル回路１２と同一または同様の構成および機能を有している。なお、図７に示すリコンフィギュラブル回路１２は入力回路５１を有しておらず、リコンフィギュラブル回路１２への入力は第１段の接続部５２ａに対して行われる。
【００４８】
図７に示すリコンフィギュラブル回路１２において、最上段のＡＬＵ列５３ａには、第１フィードバック経路２４を介して内部状態保持回路２０からリコンフィギュラブル回路１２の出力データが供給される。これに加えて、ＡＬＵ列５３ａには、接続部５２ａに接続された入力経路６０ａから、遅延保持回路２７に保持されたリコンフィギュラブル回路１２の出力データないしは外部入力が供給される。遅延保持回路２７の出力データは、第２フィードバック経路２９を介してマルチプレクサ部２５に供給され、第１マルチプレクサ群２５ａで選択されて、入力経路６０ａから接続部５２ａに与えられる。
【００４９】
第２段のＡＬＵ列５３ｂには、接続部５２ｂに接続された入力経路６０ｂから、遅延保持回路２７に保持されたリコンフィギュラブル回路１２の出力データないしは外部入力が供給される。遅延保持回路２７の出力データは、第２フィードバック経路２９を介してマルチプレクサ部２５に供給され、第２マルチプレクサ群２５ｂで選択されて、入力経路６０ｂから接続部５２ｂに与えられる。同様に、第３段のＡＬＵ列５３ｃには、接続部５２ｃに接続された入力経路６０ｃから、遅延保持回路２７に保持されたリコンフィギュラブル回路１２の出力データないしは外部入力が供給される。遅延保持回路２７の出力データは、第２フィードバック経路２９を介してマルチプレクサ部２５に供給され、第３マルチプレクサ群２５ｃで選択されて、入力経路６０ｃから接続部５２ｃに与えられる。既述したように、遅延保持回路２７の出力データは、最終段のＡＬＵ列５３ｃの出力データに対応する。ここで、第２フィードバック経路２９から入力経路６０により構成される経路の全体を、リコンフィギュラブル回路１２の出力をＡＬＵに入力可能な入力経路と呼んでもよい。
【００５０】
ＡＬＵ列５３へのデータの直接入力を可能とするために、接続部５２は、入力経路６０から供給されるデータを、ＡＬＵ列の所期のＡＬＵに与えるべく、入力経路６０とＡＬＵとを結線する機能をもつ。接続部５２は、ＡＬＵ間を接続する接続用結線とは別に、入力経路６０から供給されるデータをＡＬＵに入力可能な入力用結線を備えている。これにより、ＡＬＵは入力経路６０からデータを受け取ることができ、所期の演算処理を実行することが可能となる。
【００５１】
このように、実施の形態２における処理装置１０では、途中段すなわち第２段以降のＡＬＵ列５３に対して、リコンフィギュラブル回路１２の出力データを入力可能な入力経路６０が設けられる。図示の例では、途中段のＡＬＵ列は、第２段のＡＬＵ列５３ｂおよび第３段のＡＬＵ列５３ｃに相当し、これらのＡＬＵ列に対応する接続部５２ｂおよび５２ｃに入力経路６０ｂおよび６０ｃが接続される。これにより、第２フィードバック経路２９を通じて供給されるリコンフィギュラブル回路１２の出力データを、リコンフィギュラブル回路１２における途中段のＡＬＵ列に入力することが可能となる。
【００５２】
マルチプレクサ部２５は、３段のＡＬＵ列に対応する３つのマルチプレクサ群２５ａ、２５ｂ、２５ｃを有する。各マルチプレクサ群２５ａ、２５ｂ、２５ｃは、それぞれ４つのマルチプレクサを有し、したがってマルチプレクサ部２５は、１２個のマルチプレクサを有している。各マルチプレクサには、１つの外部入力データと、遅延保持回路２７の６つのＲＡＭからの出力データを供給される。各マルチプレクサは、計７つのデータから１つのデータを選択して出力する７：１マルチプレクサの機能を有している。
【００５３】
遅延保持回路２７を経由しない最終段ＡＬＵ列５３ｃからの出力データ、すなわち内部状態保持回路２０からの出力データは、第１フィードバック経路２４を介して第１段のＡＬＵ列５３ａのみに入力される。図４に関連して説明したように、各ＡＬＵに対して内部状態保持回路２０からの出力データは、その数を制限されることが好ましい。これにより、第１段の接続部５２ａにおけるスイッチの回路規模の縮小化を図ることができる。さらに、マルチプレクサによりＲＡＭ出力データを選択的にＡＬＵに供給することで、処理装置１０の処理能力を向上することができる。
【００５４】
途中段の入力について説明すると、各ＡＬＵ列５３ｂ、５３ｃは６つのＡＬＵを備えて構成されているが、各接続部５２ｂ、５２ｃに接続される入力経路６０ｂ、６０ｃの数は４つに制限される。途中入力に制限を設けない場合、マルチプレクサ部２５の回路規模が大きくなり、また接続部５２ｂ、５２ｃの回路規模も大きくなるため、途中入力の数を制限することによって、回路規模の縮小化を図っている。これは、同段に配置された６つのＡＬＵのうち、５つ以上のＡＬＵが遅延保持回路２７の出力データを必要とする確率が低いという発明者の知見に基づいている。
【００５５】
仮に、５つ以上のＡＬＵが遅延保持回路２７の出力データを必要とする場合には、入力経路６０を通じて１段のＡＬＵに４つの出力データを供給し、残りの出力データを、入力経路６０を通じて下段のＡＬＵに供給することで、処理を継続することができる。この場合、ＤＦＧが大きくなり、処理時間が増える可能性はあるが、その確率が大きくないことを鑑みると、処理高速性の厳密な追求よりも回路規模の削減を図る方が、全体としてのメリットが大きい。実施の形態２では、途中入力を可能とすることで処理高速性を実現しつつ、さらに途中入力の数を制限することで回路規模の縮小化を可能とする処理装置１０を提供する。なお、以上は途中入力についてのみ説明したが、最上段の接続部５２ａへの入力経路６０ａについても同様であり、入力数を制限することで、回路規模の削減を実現できる。
【００５６】
このように実施の形態２では、入力経路６０を、データを入力する段に含まれるＡＬＵの数よりも少ない数のデータを入力するように構成することで、処理高速性と回路規模の縮小化とを同時に実現できる処理装置１０を提供できる。
【００５７】
図８は、図５に示したＤＦＧを示す。実施の形態２における処理装置１０を用いてこのＤＦＧを処理すると、第２段第６列目のａｄｄ２＿６に対して、ＲＡＭ出力を途中入力することができる。これにより、１クロック目において、この加算処理を、ＡＬＵ２６で実行することができ、結果として、このＤＦＧを２クロックで処理することができる。
【００５８】
図６のＤＦＧと比較すると、図６のＤＦＧはマッピングに３クロック要するのに対し、図８のＤＦＧは、実施の形態２のリコンフィギュラブル回路１２へのマッピングに２クロックしか必要としない。図６のＤＦＧと図８のＤＦＧは、同一の回路を表現するものであるが、実施の形態２の処理装置１０を用いることにより、３クロックかかっていた処理を２クロックで処理することが可能となる。これは、単純に処理速度が１．５倍にアップしたことに相当し、処理の高速性が実現できていることを示す。また、ＤＦＧの数を削減することも可能であり、回路規模の削減および低消費電力化ができる。
【００５９】
図９は、実施の形態２におけるリコンフィギュラブル回路１２およびその周辺回路の別の例を示す。図７に示す処理装置１０と比較すると、図９に示す処理装置１０では、内部状態保持回路２０からの出力データが、第１フィードバック経路２４を介してマルチプレクサ部２５に供給されている。他の構成の動作および機能は、実質的に図７に示す処理装置１０と同様である。第１フィードバック経路２４から入力経路６０により構成される経路の全体を、リコンフィギュラブル回路１２の出力をＡＬＵに入力可能な入力経路と呼んでもよい。
【００６０】
マルチプレクサ部２５における各マルチプレクサは、１つの外部入力データ、遅延保持回路２７の６つのＲＡＭからの出力データ、内部状態保持回路２０からの１つのＤＦＦからの出力データを供給され、計８つのデータから１つのデータを選択して出力する。したがって、各マルチプレクサは、８：１マルチプレクサの機能を有している。このように、外部入力データ、ＲＡＭ出力データ、ＤＦＦ出力データとを選択的にＡＬＵに供給することで、単独でそれぞれ供給する場合と比べて、回路規模を削減することができる。
【００６１】
なお、各段への入力経路６０の数は４つに制限されているため、内部状態保持回路２０は、各段に対して最大で４つまでの出力データしか供給することができない。そのため、内部状態保持回路２０の６つの出力データの全てがリコンフィギュラブル回路１２に供給可能とされるように、第１フィードバック経路２４および入力経路６０が構成されるのが好ましい。
【００６２】
この例では、第１マルチプレクサ群２５ａに対して出力データ１〜４が、第２マルチプレクサ群２５ｂに対して出力データ２〜５が、第３マルチプレクサ群２５ｃに対して出力データ３〜６が供給される。これにより、出力データ１〜６がリコンフィギュラブル回路１２に供給可能となる。最上段への入力と、途中段への入力とを分けて考えると、リコンフィギュラブル回路１２の出力データの全てがリコンフィギュラブル回路１２に供給可能とされるように、最上段のＡＬＵ列５３ａに出力データを入力可能とする入力経路６０ａと協同して、途中段のＡＬＵ列５３ｂ、５３ｃに出力データを入力可能とする入力経路６０ｂ、６０ｃが構成されている。なお、ここでいう入力経路６０ａ、６０ｂ、６０ｃは、第１フィードバック経路２４までも含めた経路と考えてよい。
【００６３】
図１０は、４つの途中入力が各段のＡＬＵ列に入力される範囲を示す。入力経路６０＿１は１番目の入力経路を、入力経路６０＿２は２番目の入力経路を、入力経路６０＿３は３番目の入力経路を、入力経路６０＿４は４番目の入力経路を示す。
【００６４】
図示のように、接続部５２は、４つの入力経路６０から入力された複数のデータをそれぞれ供給可能とするＡＬＵの範囲を、入力するデータごとにそれぞれ異なるように設定している。これは、入力経路６０に対応付けて、接続部５２における入力用結線を形成することで実現される。接続部５２はこの範囲を、１段に含まれる複数のＡＬＵのうち一方の端部に配置されたＡＬＵ１から他方の端部に配置されたＡＬＵ６にかけて徐々にずらして設定している。すなわち、１番目の入力経路６０＿１のデータは、ＡＬＵ１〜ＡＬＵ３の範囲に存在するＡＬＵに供給可能とされる。同様に、２番目の入力経路６０＿２のデータは、ＡＬＵ２〜ＡＬＵ４の範囲に存在するＡＬＵに供給可能とされ、３番目の入力経路６０＿３のデータは、ＡＬＵ３〜ＡＬＵ５の範囲に存在するＡＬＵに供給可能とされ、４番目の入力経路６０＿４のデータは、ＡＬＵ４〜ＡＬＵ６の範囲に存在するＡＬＵに供給可能とされる。このように、ＡＬＵ１からＡＬＵ６までの間で、データを供給可能とする範囲を徐々にずらしていくことにより、入力用結線の回路規模を抑えつつ、各データをＡＬＵに万遍なく割り振ることができる。
【００６５】
図９に戻って、第１マルチプレクサ群２５ａでは、内部状態保持回路２０におけるＤＦＦ１、ＤＦＦ２、ＤＦＦ３、ＤＦＦ４からの出力データ１〜４が、それぞれ各マルチプレクサに供給される。図１０に示した割り当てに基づいて、ＤＦＦ１の出力データ１は、ＡＬＵ１１〜ＡＬＵ１３の範囲に供給可能である。同様に、ＤＦＦ２の出力データ２は、ＡＬＵ１２〜ＡＬＵ１４の範囲に供給可能であり、ＤＦＦ３の出力データ３は、ＡＬＵ１３〜ＡＬＵ１５の範囲に供給可能であり、ＤＦＦ４の出力データ４は、ＡＬＵ１４〜ＡＬＵ１６の範囲に供給可能である。
【００６６】
第２マルチプレクサ群２５ｂでは、内部状態保持回路２０におけるＤＦＦ２、ＤＦＦ３、ＤＦＦ４、ＦＤＦ５からの出力データ２〜５が、それぞれ各マルチプレクサに供給される。図１０に示した割り当てに基づいて、ＤＦＦ２の出力データ２は、ＡＬＵ２１〜ＡＬＵ２３の範囲に供給可能である。同様に、ＤＦＦ３の出力データ３は、ＡＬＵ２２〜ＡＬＵ２４の範囲に供給可能であり、ＤＦＦ４の出力データ４は、ＡＬＵ２３〜ＡＬＵ２５の範囲に供給可能であり、ＤＦＦ５の出力データ５は、ＡＬＵ２４〜ＡＬＵ２６の範囲に供給可能である。
【００６７】
第３マルチプレクサ群２５ｃでは、内部状態保持回路２０におけるＤＦＦ３、ＤＦＦ４、ＤＦＦ５、ＦＤＦ６からの出力データ３〜６が、それぞれ各マルチプレクサに供給される。図１０に示した割り当てに基づいて、ＤＦＦ３の出力データ３は、ＡＬＵ３１〜ＡＬＵ３３の範囲に供給可能である。同様に、ＤＦＦ４の出力データ４は、ＡＬＵ３２〜ＡＬＵ３４の範囲に供給可能であり、ＤＦＦ５の出力データ５は、ＡＬＵ３３〜ＡＬＵ３５の範囲に供給可能であり、ＤＦＦ６の出力データ６は、ＡＬＵ３４〜ＡＬＵ３６の範囲に供給可能である。
【００６８】
このように、ＤＦＦの出力データを供給可能なＡＬＵの範囲を制限することによって、接続部５２の入力用結線を単純化することができ、接続部５２の回路規模を削減できる。
【００６９】
なお、入力経路６０からデータを供給可能とするＡＬＵの範囲は、入力経路６０から供給されるデータに対応して設定されることが好ましい。各ＡＬＵの出力は、一般に同列に位置するＤＦＦまたはその近傍のＤＦＦに伝達されることが多く、したがって、各ＡＬＵは、ＤＦＧにしたがった演算処理の過程で、同列または同列近傍のＤＦＦからの出力を必要とする傾向がある。したがって、入力経路６０からデータを供給可能とするＡＬＵの範囲は、そのデータを出力したＤＦＦと同列または同列近傍の位置するＡＬＵの範囲に設定されることが好ましい。
【００７０】
なお、図１０の例では、データを供給する範囲を均等に徐々にずらしていくことにより、各ＡＬＵがデータを受け取れるようにしているが、ＡＬＵ列５３における一方の端部付近に位置するＡＬＵがデータを受け取りやすくしてもよい。ＤＦＧを作成すると、ＤＦＧにおける演算処理が、左右方向の一方、例えば左側に片寄って実行される傾向がある。したがって、ＡＬＵ列５３において左側に位置するＡＬＵがデータを受け取れる確率を高くすることで、ＤＦＧの構成に合わせたＡＬＵの範囲設定を実現できる。また、接続部５２における入力用結線の制限は、入力経路６０からの途中入力が制限されている場合に限らず、途中入力が制限されていない場合でも有効である。
【００７１】
図１１は、実施の形態２におけるリコンフィギュラブル回路１２およびその周辺回路の別の例を示す。図９に示す処理装置１０と比較すると、図１１に示す処理装置１０では、マルチプレクサ部２５に入力する内部状態保持回路２０のＤＦＦからのデータ量をさらに制限している。
【００７２】
各マルチプレクサ群２５ａ、２５ｂ、２５ｃにおいて、ＤＦＦ出力は、１番目と４番目のマルチプレクサに供給され、２番目と３番目のマルチプレクサには供給されない。これにより、２番目と３番目のマルチプレクサを、７：１マルチプレクサで構成することができ、マルチプレクサ部２５の回路規模をさらに縮小できる。
【００７３】
なお、図１０に示したＡＬＵ範囲の割り当て手法を、図１１の処理装置１０においても利用することができる。第１マルチプレクサ群２５ａでは、内部状態保持回路２０におけるＤＦＦ１、ＤＦＦ２からの出力データが、１番目と４番目のマルチプレクサに供給される。図１０に示した割り当て手法に基づいて、ＤＦＦ１の出力データは、ＡＬＵ１１〜ＡＬＵ１３の範囲に供給可能である。同様に、ＤＦＦ２の出力データは、ＡＬＵ１４〜ＡＬＵ１６の範囲に供給可能である。
【００７４】
第２マルチプレクサ群２５ｂでは、内部状態保持回路２０におけるＤＦＦ３、ＤＦＦ４からの出力データが、１番目と４番目のマルチプレクサに供給される。図１０に示した割り当て手法に基づいて、ＤＦＦ３の出力データは、ＡＬＵ２１〜ＡＬＵ２３の範囲に供給可能である。同様に、ＤＦＦ４の出力データは、ＡＬＵ２４〜ＡＬＵ２６の範囲に供給可能である。
【００７５】
第３マルチプレクサ群２５ｃでは、内部状態保持回路２０におけるＤＦＦ５、ＤＦＦ６からの出力データが、１番目と４番目のマルチプレクサに供給される。図１０に示した割り当て手法に基づいて、ＤＦＦ５の出力データは、ＡＬＵ３１〜ＡＬＵ３３の範囲に供給可能である。同様に、ＤＦＦ６の出力データは、ＡＬＵ３４〜ＡＬＵ３６の範囲に供給可能である。
【００７６】
このように、ＤＦＦの出力データを供給可能なＡＬＵの範囲を制限することによって、接続部５２の入力用結線を単純化することができ、回路規模を小さくできる。さらに、全てのＤＦＦの出力データを、いずれかの段のＡＬＵ列５３に供給することで、いずれかの段にてＤＦＦの出力データを使用することが可能となる。
【００７７】
図１２は、ＤＦＧの１例を示す。このＤＦＧは６段で構成されるため、３段６列のリコンフィギュラブル回路１２で使用した場合には、３段ずつ２クロックで処理することが可能であることが好ましい。１クロック目のＤＦＧの上３段は図５などで示したＤＦＧの上３段と同一である。第２段１番右側の加算は、既述したように第２フィードバック経路２９からの途中入力により対応できる。ここで２クロック目のＤＦＧにおいて、第３段４列目の出力データを、第５段５列目の加算で利用したい場合を想定する。第１フィードバック経路２４からの途中入力がない場合、第３段４列目から出力されるデータは、第４段における演算により使用されるため、第３段４列目の出力データを第５段に供給することはできない。
【００７８】
図１３は、図１２に示すＤＦＧを再構成したものを示す。図示のように、第４段４列目の２ビットシフトの演算を１段下にずらすことで、図１２に示すＤＦＧをリコンフィギュラブル回路１２にマッピングすることが可能となる。しかしながら、その結果、このＤＦＧのマッピング処理に３クロックが要されることになる。ＤＦＧは、１回あたりにリコンフィギュラブル回路１２で生成される回路規模に応じて切り分けられるため、結果として３つのＤＦＧが作成されることになる。そのため、図１２に示す本来のＤＦＧと比較すると、ＤＦＧの作成処理に手間がかかり、処理時間も長くなることになる。
【００７９】
図１４は、図１２に示したＤＦＧを示す。図９に示した処理装置１０を用いてこのＤＦＧを処理すると、第１フィードバック経路２４からの途中入力が可能であるため、第３段４列目から出力されるデータを第５段５列目の加算演算に途中入力することができる。これにより、２クロック目において、この加算処理は、ＡＬＵ２５で実行することができ、結果として、このＤＦＧを２クロックで処理することができる。
【００８０】
図１３のＤＦＧと比較すると、図１３のＤＦＧはマッピングに３クロック要するのに対し、図１４のＤＦＧは、マッピングに２クロックしか必要としない。図１３のＤＦＧと図１４のＤＦＧは、同一の回路を表現するものであるが、図９に示す処理装置１０を用いることにより、３クロックかかっていた処理を２クロックで処理することが可能となる。これは、単純に処理速度が１．５倍にアップしたことに相当し、処理の高速性が実現できていることを示す。このように、第１フィードバック経路２４と第２フィードバック経路２９の双方のデータの途中入力を可能とすることにより、処理装置１０の高機能化を実現することができる。また、ＤＦＧ数を減らすことにより、１つの回路で多くの処理ができ、回路規模削減および低消費電力化が可能となる。
【００８１】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８２】
実施の形態２において、リコンフィギュラブル回路１２の出力は最終段のＡＬＵ列５３ｃからなされているが、出力は、第１段のＡＬＵ列５３ａからなされてもよく、また第２段のＡＬＵ列５３ｂからなされてもよい。
【００８３】
また、図９および図１１に示す処理装置１０では、第１フィードバック経路２４のマルチプレクサ部２５への入力数を制限しているが、第２フィードバック経路２９の入力数を制限してもよい。
【００８４】
さらに、実施の形態では、マルチプレクサ部２５を第２フィードバック経路２９に配置しているが、第１フィードバック経路２４に配置してもよい。
【００８５】
例えば、リコンフィギュラブル回路１２におけるＡＬＵの配列は、縦方向にのみ接続を許した多段配列に限らず、横方向の接続も許した、メッシュ状の配列であってもよい。また、上記の説明では、段を飛ばして論理回路を接続する接続用結線は設けられていないが、このような段を飛ばす接続用結線を設ける構成としてもよい。
【００８６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００８７】
【図１】実施の形態１に係る処理装置の構成図である。
【図２】生成すべきターゲット回路を分割してできる複数の回路の設定データについて説明するための図である。
【図３】実施の形態１におけるリコンフィギュラブル回路１２およびその周辺回路を示す図である。
【図４】入力回路のＳＷ１に入力されるデータを示す図である。
【図５】ＤＦＧの１例を示す図である。
【図６】図５に示すＤＦＧを再構成したＤＦＧを示す図である。
【図７】実施の形態２におけるリコンフィギュラブル回路およびその周辺回路を示す図である。
【図８】図５に示したＤＦＧを示す図である。
【図９】実施の形態２におけるリコンフィギュラブル回路およびその周辺回路の別の例を示す図である。
【図１０】４つの途中入力が各段のＡＬＵ列に入力する範囲を示す図である。
【図１１】実施の形態２におけるリコンフィギュラブル回路およびその周辺回路の別の例を示す図である。
【図１２】ＤＦＧの１例を示す図である。
【図１３】図１２に示すＤＦＧを再構成したＤＦＧを示す図である。
【図１４】図１２に示したＤＦＧを示す図である。
【符号の説明】
【００８８】
１０・・・処理装置、１２・・・リコンフィギュラブル回路、１８・・・制御部、２０・・・内部状態保持回路、２４・・・第１フィードバック経路、２５・・・マルチプレクサ部、２６・・・集積回路装置、２７・・・遅延保持回路、２９・・・第２フィードバック経路、５１・・・入力回路、５２・・・接続部、５３・・・ＡＬＵ列、６０・・・入力経路。
【図１】
2005276853.tif 000003
【図２】
2005276853.tif 000004
【図３】
2005276853.tif 000005
【図４】
2005276853.tif 000006
【図５】
2005276853.tif 000007
【図６】
2005276853.tif 000008
【図７】
2005276853.tif 000009
【図８】
2005276853.tif 000010
【図９】
2005276853.tif 000011
【図１０】
2005276853.tif 000012
【図１１】
2005276853.tif 000013
【図１２】
2005276853.tif 000014
【図１３】
2005276853.tif 000015
【図１４】
2005276853.tif 000016