(57)【要約】【課題】            ビットスライス構造を持たせて任意のビット幅のプロセッサを動的に再構成する。【解決手段】        構成回路をビット単位で配線接続を設定できるビットスライス構造を有し、指定された任意のビット幅で信号処理するプロセッサを再構成するプロセッサエレメントと、プロセッサエレメントの外部でプロセッサエレメント間の入出力信号を接続する外部バスと、プロセッサエレメントの入出力信号線と外部バスの交差点の接続を動的に変更するクロスバースイッチとを備えた。【選択図】          図１
2008287582.tif 000002
【特許請求の範囲】
【請求項１】
ビットスライス構造を有し、任意ビット幅で信号処理するプロセッサを再構成するプロセッサエレメントと、
前記プロセッサエレメントの入出力信号線を前記プロセッサエレメント外部で接続する外部バスと、
前記プロセッサエレメントの入出力信号線と前記外部バスの交差点の接続を変更するクロスバースイッチと
を備えたことを特徴とする動的再構成デバイス。
【請求項２】
上記プロセッサエレメントから再構成された第１のプロセッサの出力と第２のプロセッサの入力を接続するプロセッサエレメント間接続バスを備えたことを特徴とする請求項１記載の動的再構成デバイス。
【請求項３】
上記プロセッサエレメント間接続バスは、プロセッサエレメント内の再構成用配線と共用することを特徴とする請求項２記載の動的再構成デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入出力データのビット幅可変構成の動的再構成デバイスに関するものである。
【背景技術】
【０００２】
従来、組み込み向けのデバイスなどに用いられている動的再構成デバイスは、多数の演算ユニットとその配線部分によって構成され、処理の実行中でも動的に回路を再構成できる。この動的再構成デバイスを構成する演算ユニットは、プロセッサエレメントPE（Processing Element）を単位としている。それぞれのプロセッサエレメントには、演算ユニットとして算術演算（加算・減算等）や論理演算（論理和・論理積等）を行う算術論理演算ユニットALU（Arithmetic Logic Unit）、シフトやマスクなどのビット操作・演算を行うデータ管理ユニットDMU（Data Management Unit）が搭載されて、プログラムされた命令により制御回路がALU/DMUの演算を動的に制御して回路を再構成する。
【０００３】
従来のプロセッサエレメントの入出力に入力レジスタや出力レジスタを配置してタイミングの管理を行う粗粒度構成の動的再構成デバイスでは、図６に示すように、プロセッサエレメント１１を８ビット、３２ビット等の固定ビット長で構成し、プロセッサエレメント１１の入出力配線１２と格子状に配置されたメインバス１３の交差点でクロスバースイッチ１４が配線接続のオン／オフを切り替えている（例えば、特許文献１）。
【０００４】
また、従来のビット幅拡張を可能にする動的再構成デバイスでは、プロセッサエレメント内部の固定ビット長(４ビット、８ビット等)の演算論理ユニットALUを組み合わせて再構成することによりｎ×固定ビット長、例えば二つの４ビット長のプロセッサエレメントで８ビット長のプロセッサエレメントを構成する方法（以下、ビット幅拡張型という）が開示されている（例えば、特許文献２）。
【０００５】
さらに、従来のビット幅分割を可能にする動的再構成デバイスでは、プロセッサエレメント内部の固定ビット長(３２ビット等)の演算論理ユニットALU/レジスタを分割することで少数ビット長のプロセッサエレメントを構成可能とする方法（以下、ビット幅分割型という）が提案されている(例えば、特許文献３)。
【０００６】
【特許文献１】特開２００４−１０２９８８号公報
【特許文献２】特開２００６−１６３８１５号公報
【特許文献３】特表２００５−５１５５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のビット幅を固定にした構成の動的再構成デバイスでは、処理の演算精度がプロセッサエレメントのビット長より大きい場合、複数のプロセッサエレメントを信号の流れに沿って２段以上接続し、各プロセッサエレメントで演算した後に桁合わせの演算をする必要があるため、接続段数に応じて信号の遅延が発生して実行速度が低下するという問題があった。一方、演算精度がプロセッサエレメントのビット長より小さい場合、プロセッサエレメントの一部のビット幅しか使わないため、実装する回路/面積を無駄にすることになり、コストが高くなるという問題があった。
【０００８】
また、従来のビット幅拡張型の動的再構成デバイスでは、基本構成の固定ビット長の倍数のプロセッサエレメントしか構成できないという問題があった。
【０００９】
さらに、従来のビット幅分割型の動的再構成デバイスでは、基本構成のプロセッサエレメント毎に分割した際に使用されずに余ったビット長分の演算ユニット/レジスタが分散することになるため、基本構成のビット長を有効に使えないという問題があった。
【００１０】
この発明は、上記のような課題を解決するためになされたもので、動的再構成デバイスにビットスライス構造を持たせたプロセッサエレメントを入出力データの演算精度に合わせるビット幅可変構成とすることで、任意のビット幅のプロセッサに動的に再構成して有効に利用する動的再構成デバイスを得ることを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係る動的再構成デバイスは、ビットスライス構造を有し、任意ビット幅で信号処理するプロセッサを再構成するプロセッサエレメントと、プロセッサエレメント外部でプロセッサエレメント間の入出力信号を接続する外部バスと、外部バスの接続を変更するクロスバースイッチとを備えたものである。
【発明の効果】
【００１２】
この発明によれば、動的再構成デバイスにビットスライス構造を持たせたプロセッサエレメントを入出力データの演算精度に合わせるビット幅可変構成とすることで、任意のビット幅のプロセッサに動的に再構成して有効に利用することができる。
【発明を実施するための最良の形態】
【００１３】
この発明に係る動的再構成デバイスの実施の形態について説明する。
【００１４】
実施の形態１．
この発明の実施の形態１では、ビットスライス構造を持たせたプロセッサエレメント（PE）を任意ビット長のプロセッサエレメント（プロセッサ）に再構成させる動的再構成デバイスの一例について説明する。
【００１５】
図１は、この発明の実施の形態１に係る動的再構成デバイスの構成の一例を示す図である。図において、プロセッサエレメント１は、ビットスライス構造を有し、任意ビット幅で信号処理するプロセッサを再構成する。入出力信号線２は、プロセッサエレメント１と外部を接続する配線である。メインバス（外部バス）３は、プロセッサエレメント１の入出力信号線２をプロセッサエレメント外部で接続する配線である。クロスバースイッチ４は、プロセッサエレメント１の入出力信号線２と外部バス３の交差点の接続を動的に変更してオン／オフするスイッチ回路である。
【００１６】
この実施の形態１では、従来のように格子状にプロセッサエレメントを配置するのではなく、粗粒度構成をとってプロセッサエレメントを一方向に配置してまとめ、すなわち、例えば、この図１（ａ）に示すように縦方向にまとめたプロセッサエレメントを構成する。このように、プロセッサエレメントが一連にまとめられることで、内部に例えば一連となった演算ユニット、シフタ、レジスタ等が構成される。このプロセッサエレメントは、任意ビット長を持つ複数のプロセッサに動的再構成することを可能にするビットスライス構造を備えている。
【００１７】
図１（ｂ）のプロセッサエレメントは、図１（ａ）のプロセッサエレメントのより詳細な一例を示し、任意のビット長のプロセッサ、例えば４ビット、３２ビット、８ビットの３つのプロセッサを再構成した例を示している。再構成された各プロセッサの入出力バスは、メインバスにクロスバースイッチを介して接続される。
【００１８】
図２は、プロセッサエレメントをビットスライス構造にすることより任意ビット長に再構成させる動的再構成デバイスの内部構成の一例を示す図である。この図２では、プロセッサエレメントの構成要素を入力レジスタ（左側のreg）、演算ユニット（ALU）、シフタ（Shift）、出力レジスタ（右側のreg）としている。なお、プロセッサエレメントの構成要素の接続構成は特に規定したものではなく、入力レジスタと出力レジスタの間に接続される機能回路(演算ユニット、シフタ等)の種類、接続関係は任意であり、機能回路およびレジスタはそれぞれビットスライス構造を備えるものとする。
【００１９】
図３は、図２におけるビットスライス構造を持った加算器を再構成する一例を示している。その内部で、図３（ａ）に示す１ビットの半加算器（HA）、全加算器（FA）からなる各加算器から、図３（ｂ）に示す複数ビット、すなわち２ビット、４ビットの加算器（ｂ）を再構成している。なお、ここでは演算ユニットを加算器として説明したが、演算ユニットの持つ演算機能は特に定めず、算術演算(加算、減算、乗算、除算、他)、論理演算（論理和、論理積、否定、他）によらず適用できる。
【００２０】
また、図２におけるシフタ、レジスタについても図３の加算器の例と同様にビットスライス構造を持たせることにより、任意のビット長に再構成可能となり、可変長ビット構成のプロセッサが実現される。
【００２１】
このように、この発明の実施の形態１における動的再構成デバイスでは、ビットスライス構造を持ったプロセッサエレメントを構成し、任意ビット長のプロセッサを複数個、自由に再構成することで、プロセッサエレメントを有効に活用したビット幅可変構成の動的再構成デバイスを実現することができる。結果として同一処理量に対して少ない面積で実装することが可能となる。
【００２２】
実施の形態２．
この発明の実施の形態２では、ビットスライス構造を持たせたプロセッサエレメント（PE）を任意ビット長のプロセッサエレメント（プロセッサ）に再構成させる実施の形態１の動的再構成デバイスにおいて、さらにプロセッサエレメント配置領域にプロセッサエレメント間接続バスを追加した動的再構成デバイスの一例について説明する。
【００２３】
先に示したこの発明の実施の形態１における図１の動的再構成デバイスの構成では、再構成された特定のプロセッサエレメントが演算した結果を縦方向同一列に再構成された別のプロセッサエレメントが入力して演算する場合、および、特定のプロセッサエレメントが演算した結果を縦方向前段(左側)に再構成されたプロセッサエレメントが入力して演算する場合においては、プロセッサエレメント出力から次のプロセッサエレメント入力までの配線がプロセッサエレメントの外側のメインバスを通るため、配線経路が長くなり全体の動作速度を遅くすることがある。
【００２４】
図４は、プロセッサエレメント間接続バスを追加した動的再構成デバイスの構成の一例を示す図である。図において、プロセッサエレメント１、入出力信号線２、メインバス３、クロスバースイッチ４は、この発明の実施の形態１における図１の動的再構成デバイスの構成の同一符号を付したものと同様に機能する。プロセッサエレメント間接続バス５は、プロセッサエレメントから再構成された第１のプロセッサの出力と第２のプロセッサの入力を接続する配線である。ここで、プロセッサエレメント間接続バス５は、プロセッサエレメント上、下あるいは横など特定の位置に限定して配置するものではなく、メインバスを経由するより、プロセッサエレメント間をより短距離で接続する経路で配線できるものとし、プロセッサへの接続には一部メインバスが介されてもよい。また、第１のプロセッサと第２のプロセッサは、同一プロセッサエレメントから再構成されたプロセッサでなくてもよい。
【００２５】
プロセッサエレメント間接続バス５は、例えば、プロセッサエレメントのビット構成のｎビット単位で、ｍビット幅を持たせて配置する。ここで、ｎ、ｍは１以上の値で特に定めない。また、均一に配置しなくても構わない。
【００２６】
このように、この発明の実施の形態２における動的再構成デバイスでは、プロセッサエレメント間接続バス５を設けることにより、再構成された各プロセッサが演算した結果を次段のプロセッサへ入力する配線経路を短くすることが可能となり、動作速度の低下を抑えて、全体の動作速度を高速に保つことが可能となる。
【００２７】
実施の形態３．
この発明の実施の形態３では、プロセッサエレメント間接続バスを設けてプロセッサエレメント間の接続経路を短くする実施の形態２の動的再構成デバイスにおいて、プロセッサエレメント間接続バスとプロセッサエレメント内配線を共用する動的再構成デバイスの一例について説明する。
【００２８】
先に示した実施の形態２における図４の動的再構成デバイスの構成では、プロセッサエレメント上を通るプロセッサエレメント間接続バスは必ずしも全て有効に使われるとは限らないため、無駄に配線領域を占めることがある。
【００２９】
図５は、プロセッサエレメント間接続バスとプロセッサエレメント内配線を共用した場合の動的再構成デバイスの構成の一例を示す図である。図において、プロセッサエレメント１、入出力信号線２、メインバス３、クロスバースイッチ４は、この発明の実施の形態２における図４の動的再構成デバイスの構成の同一符号を付したものと同様に機能する。ビットスライス回路１１は、プロセッサエレメント１内の１ビットの回路である。要素回路１２は、ビットスライス回路１１内に設けられたレジスタ、演算ユニット、シフタ等の１ビットの回路である。プロセッサエレメント内再構成用配線１３は、プロセッサエレメント１内で要素回路１２を通らずに入出力信号線２の間を配線する。ビットスライス間配線１４は、プロセッサエレメント１内で要素回路１２の入出力信号線と、他の要素回路１２、他のビットスライス回路１１の入出力信号線やプロセッサエレメント内再構成用配線１３とを交差点のクロスバースイッチを介して接続する。
【００３０】
この発明の実施の形態３においては、プロセッサエレメント内再構成用配線１３は、プロセッサエレメント１の内部に設けられた実施の形態２におけるプロセッサエレメント間接続バス５に相当し、プロセッサエレメント１内部の再構成用配線と共用する構成となっている。
【００３１】
ここで、プロセッサエレメント内に１ビット単位にプロセッサエレメント内再構成用配線を設ける際に、プロセッサエレメント内配線とビットスライス回路との割合は特に定めない。また、ビットスライス回路とプロセッサエレメント間接続バスの割合についても特には定めない。
【００３２】
このように、この発明の実施の形態３における動的再構成デバイスでは、プロセッサエレメント間接続バスをプロセッサエレメント内再構成のための配線に使用可能とする事により、配線領域を減らし、全体の面積を小さくすることが可能となる。
【００３３】
以上のように、この発明に係る動的再構成デバイスでは、動的再構成デバイスにビットスライス構造を持たせた可変長ビット幅のプロセッサエレメントにしたので、処理の演算精度に合わせた任意のビット幅のプロセッサに動的に再構成することができる。
【００３４】
また、この発明に係る動的再構成デバイスでは、可変長ビット幅のプロセッサエレメントを処理の演算精度に合わせた任意のビット幅に動的に再構成するようにしたので、ビット幅の少ない独立したプロセッサエレメントを複数接続して、より大きなビット幅の演算精度を確保する必要がないので、接続段数に応じた信号遅延をなくすことで高速に動作することができる。
【００３５】
さらに、この発明に係る動的再構成デバイスでは、可変長ビット幅のプロセッサエレメントを処理の演算精度に合わせた任意のビット幅に動的に再構成するようにしたので、プロセッサエレメント内の演算ユニット/レジスタを無駄が少なく有効に使うことが可能となり、小面積で多くの処理を行える動的再構成デバイスを配置することができる。
【００３６】
また、この発明に係る動的再構成デバイスでは、プロセッサエレメント間接続バスを設けることにより、再構成された各プロセッサが演算した結果を次段のプロセッサへ入力する配線経路を短くすることが可能となり、動作速度の低下を抑えて、全体の動作速度を高速に保つことが可能となる。
【００３７】
また、この発明に係る動的再構成デバイスでは、プロセッサエレメント間接続バスをプロセッサエレメント内再構成のための配線に使用可能とする事により、配線領域を減らし、全体の面積を小さくすることが可能となる。
【図面の簡単な説明】
【００３８】
【図１】この発明の実施の形態１に係る動的再構成デバイスの構成の一例を示す説明図である。
【図２】この発明の実施の形態１に係る動的再構成デバイスの内部構成の一例を示す説明図である。
【図３】この発明の実施の形態１に係るビットスライス構造を持った加算器を再構成する一例を示す説明図である。
【図４】この発明の実施の形態２に係るプロセッサエレメント間接続バスを追加した動的再構成デバイスの構成の一例を示す説明図である。
【図５】この発明の実施の形態３に係るプロセッサエレメント間接続バスとプロセッサエレメント内配線を共用する動的再構成デバイスの構成の一例を示す説明図である。
【図６】従来の動的再構成デバイスの構成を示す説明図である。
【符号の説明】
【００３９】
１  プロセッサエレメント
２  入出力信号線
３  メインバス
４  クロスバースイッチ
５  プロセッサエレメント間接続バス
１１  ビットスライス回路
１２  要素回路
１３  プロセッサエレメント内再構成用配線
１４  ビットスライス間配線
【図１】
2008287582.tif 000003
【図２】
2008287582.tif 000004
【図３】
2008287582.tif 000005
【図４】
2008287582.tif 000006
【図５】
2008287582.tif 000007
【図６】
2008287582.tif 000008