(57)【要約】【課題】  再構成可能布線論理素子を使用して、自らの素子が動的にシステム構成出来るようにする。【解決手段】  それぞれが同一構成の複数の情報処理部１０１，１０２‥を備えた場合に、複数の情報処理部に対して情報の処理を入力部３から指定して、その入力部３から入力した情報の処理を実行する第１の情報処理部１０１と、第１の情報処理部１０１での情報処理で、新たな情報処理が必要となった場合に、第１の情報処理部１０１から他の情報処理部に対して、新たな情報処理の実行の要求を伝える伝送路と、伝送路を介した要求の受信で、第１の情報処理部１０１と接続させて、新たな情報処理を行い、その情報処理結果を第１の情報処理部に戻す処理を行う第２の情報処理部１０２とを備えた。【選択図】      図１
2007026209.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが同一構成の複数の情報処理部を備えたハードウェアシステムにおいて、
前記複数の情報処理部に対して、情報の処理を指定する入力部と、
前記入力部から入力した情報の処理を実行する、前記複数の情報処理部の中から選定された、第１の情報処理部と、
前記第１の情報処理部での情報処理で、新たな情報処理が必要となった場合に、前記第１の情報処理部から他の情報処理部に対して、前記新たな情報処理の実行の要求を伝える伝送路と、
前記伝送路を介した要求の受信で、前記第１の情報処理部と接続させて、前記新たな情報処理を行い、その情報処理結果を前記第１の情報処理部に戻す処理を行う、前記複数の情報処理部の中から選ばれた、第２の情報処理部とを備えたことを特徴とするハードウェアシステム。
【請求項２】
請求項１記載のハードウェアシステムにおいて、
前記第２の情報処理部での情報処理で、さらに新たな情報処理が必要となった場合に、前記第２の情報処理部から前記伝送路を介してさらに他の情報処理部に対して新たな情報処理の実行を伝え、
前記伝送路を介した要求の受信で、前記第２の情報処理部と接続させて、前記新たな情報処理を行い、その情報処理結果を前記第２の情報処理部に戻す処理を行う、前記複数の情報処理部の中から選ばれた、第３の情報処理部を備えたことを特徴とするハードウェアシステム。
【請求項３】
請求項１記載のハードウェアシステムにおいて、
前記第１の情報処理部と前記第２の情報処理部とを接続する接続路は、前記伝送路とは別に用意したことを特徴とするハードウェアシステム。
【請求項４】
請求項１記載のハードウェアシステムにおいて、
前記第２の情報処理部は、前記新たな情報処理が終了したとき、前記第１の情報処理部との接続を開放することを特徴とするハードウェアシステム。
【請求項５】
請求項１記載のハードウェアシステムにおいて、
前記第１の情報処理部での処理結果を外部に出力させる出力部を備えたことを特徴とするハードウェアシステム。
【請求項６】
それぞれが同一構成の複数の情報処理部を備えたハードウェアシステムでの情報処理方法において、
前記複数の情報処理部に対して、情報の処理を指定する入力ステップと、
前記入力ステップで入力した情報の処理を、前記複数の情報処理部の中の第１の情報処理部で実行する第１の処理ステップと、
前記第１の処理ステップによる前記第１の情報処理部での情報処理で、新たな情報処理が必要となった場合に、前記第１の情報処理部から他の情報処理部に対して、前記新たな情報処理の実行の要求を伝える要求伝達ステップと、
前記要求伝達ステップによる要求の受信で、前記第１の情報処理部を第２の情報処理部と接続させて、前記新たな情報処理を行い、その情報処理結果を前記第１の情報処理部に戻す処理を行う第２の処理ステップとを備えたことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ハードウェアシステム及び情報処理方法に関し、特に、再構成可能布線論理素子を組み合わせて動的な論理回路を任意に構成することが可能なハードウェアシステム及びその情報処理方法に関する。
【背景技術】
【０００２】
従来より、再構成可能布線論理素子（ＦＰＧＡ：ＦｉｅｌｄＰｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）が知られている。この再構成可能布線論理素子は、例えば、１単位の布線論理素子として、記憶と演算を行える構成としたものを多数用意してプロセッサを構成させ、外部から演算要求がある場合に、ランドオフィサーと称される制御手段が、いくつの布線論理素子で必要な演算を実行するのかを判断し、その判断に基づいて、多数用意された布線論理素子の中で演算や記憶に使用する布線論理素子を設定するようにしていた。
【０００３】
特許文献１には、従来の再構成可能布線論理素子を使用したシステム例についての開示がある。
【特許文献１】特開平１１−１６７５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、再構成可能布線論理素子を使用した処理を、ランドオフィサーの制御の下で行う構成とすると、用意された各布線論理素子とランドオフィサーとの間を、通信できる状態に接続して、ランドオフィサーからの指令を伝える必要があり、システム構成や管理が非常に複雑化する問題がある。特に、布線論理素子の数が多くなればなる程、問題になる。
【０００５】
また、ランドオフィサーのような制御手段を設けて、その制御で設定を行う構成では、結局は制御手段が集中的に演算を管理するシステムとなってしまい、多数用意された布線論理素子の使用状態の柔軟性に欠ける問題がある。ランドオフィサーを必要とする場合には、結局はランドオフィサーを作動させるプログラムの出来・不出来により、多数の布線論理素子を使用した処理が効率的に行われるか、非効率的に行われるかが決まる要素があり、多数用意された布線論理素子が、自ら効率的にシステムを組むことは不可能であった。
【０００６】
本発明の目的は、再構成可能布線論理素子を使用して、自らの素子が動的にシステム構成出来るようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、それぞれが同一構成の複数の情報処理部を備えた場合に、複数の情報処理部に対して情報の処理を入力部から指定して、その入力部から入力した情報の処理を実行する第１の情報処理部と、第１の情報処理部での情報処理で、新たな情報処理が必要となった場合に、第１の情報処理部から他の情報処理部に対して、新たな情報処理の実行の要求を伝える伝送路と、伝送路を介した要求の受信で、第１の情報処理部と接続させて、新たな情報処理を行い、その情報処理結果を第１の情報処理部に戻す処理を行う第２の情報処理部とを備えたものである。
【発明の効果】
【０００８】
本発明によると、外部から入力した情報が、特定の情報処理部に入力されると、その情報処理部で直ちに処理が行われるが、その情報処理部での処理に不足がある場合に、その情報処理部から直接的に他の情報処理部に処理の実行の要求が行われて、その要求を受信した情報処理部で処理が行われ、各情報処理部での自らの判断で、処理状態や処理能力が自己増殖するようになり、外部からの制御を必要とせずに、最適な処理状態が設定されるという効果を有する。
【０００９】
この場合、各情報処理部間を接続する接続路は、新たな情報処理の実行の要求を伝える伝送路とは別に用意したことで、各種要求を伝える伝送路での伝送処理とは無関係に、各情報処理部間で情報処理用のデータのやり取りが可能であり、それぞれの伝送が確実かつ効率良く行える。
【００１０】
また、第２の情報処理部で新たな情報処理が終了したとき、第１の情報処理部との接続を開放して、第２の情報処理部を元の状態とすることで、必要な場合にだけ情報処理部が接続されて処理が実行されるようになり、情報の処理要求に応じて、情報処理部の使用数が増えるだけでなく、処理が終了することで使用数が減少し、そのときの処理要求に応じて増減する柔軟なシステム構成となる。
【００１１】
さらにまた、第１の情報処理部での処理結果を外部に出力させる出力部を備えたことで、使用される情報処理部の数が増えた場合でも、出力結果は常に共通の出力部から出力され、出力構成が簡単になる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施の形態を、添付図面を参照して説明する。
【００１３】
図１は、再構成可能布線論理素子を使用して構成される、本例の演算処理装置の全体構成例を示した図である。図１に示すように、データ発生源１と処理結果受信部２とが、入出力処理部３に接続してあり、入出力処理部３に、複数のセルをマトリクス状に縦横に配置した情報処理装置を接続してある。
【００１４】
各セル１０１〜１０６，１１１〜１１６，１２１〜１２６，１３１〜１３６，１４１〜１４６は、共通の構成であり、それぞれが組込機能処理部１０と可変部２０とを備える。それぞれの組込機能処理部１０は、組込機能用通信路で縦横に他のセルの組込機能処理部１０と相互に通信可能に接続させてある。末端の列及び末端の行のセルは、入出力処理部３とも接続させてあり、入出力処理部３からコマンドなどの情報をセルに送ることができる。
【００１５】
各可変部２０についても、一般情報用通信路を介して、他のセルの可変部２０と相互に通信可能に接続させてある。末端の列及び末端の行のセルは、一般情報用通信路を入出力処理部３とも接続させてあり、実際の情報などを入出力処理部３からセルに送り、セルでの処理結果を入出力処理部３に出力させることができる。
【００１６】
このような構成とした上で、データ発生源１から入出力処理部３に供給された情報の処理を行う際には、入出力処理部３からの指令で、いずれかのセルの可変部２０が、その情報処理用の所定の機能の回路として組まれ、その機能の回路が組まれたセルに、データ発生源１から入出力処理部３に供給された情報が送られる。セルの可変部２０を、所定の機能の回路として組ませるための情報は、入出力処理部３から、組込機能用通信路を介してセルの組込機能処理部１０に送られる。組込機能処理部１０では、その送られた情報に基づいて、可変部２０を所定の機能用の回路となるように構成させ、一般情報用通信路を介して可変部２０に入力した情報を、その構成された回路で処理させる。処理が１つのセルで完結する場合には、処理された結果を、入出力処理部３に送り、入出力処理部３から処理結果受信部２に供給する。１つのセルで処理された結果を、他のセルに供給して、さらに処理させることも可能である。また、後述するように、１つのセルで処理能力が不足する場合には、そのセル自身の要求で、隣接した他のセルに別の回路を組ませて、その別の回路で一部の処理を実行させて、その実行された結果を自らのセルに戻すことも可能である。
【００１７】
このように構成される、複数のセルをマトリクス状に縦横に配置した情報処理装置は、プラスティックセルアーキテクチャ（ＰＣＡ：Plastic Cell Architecture）と称される。ここでのプラスティックとは可塑性を有することを意味し、後述するようにハードウェアをプログラムできることを示している。なお、本例においては、入出力処理部３と各セルとの間の情報伝送や、各セル間の情報伝送については、非同期回路として情報の伝送を行うようにしてあり、各セルで共通のシステムクロックは存在しないシステムとしてある。非同期回路としての伝送としては、例えば、各セルで、そのセルに接続された通信路の信号状態を検出して、その通信路の信号状態に変化があるとき、信号の入力を受け付ける処理などがある。
【００１８】
次に、図２を参照して、それぞれのセルの構成について説明する。図２に示すように各セルは、組込機能処理部１０と可変部２０とを備える。組込機能処理部１０は、周囲のセルなどと通信を行うための組込機能処理部用通信路４１，４２，４３，４４，４５，４６，４７，４８が、上下左右の方向に双方向通信可能に設置してある。各組込機能処理部用通信路４１〜４８は、組込機能処理部１０に設けたスイッチ１１に接続してあり、スイッチ１１で別の方向の通信路への接続、組込機能処理部１０に接続された可変部２０側への接続、組込機能処理部１０内の制御部１６への接続などの切換えが行われる。スイッチ１１での切換えは、制御部１６により制御される。この切換えの制御としては、例えばそのときの自セルの動作状態や、受信したコマンドに基づいて行われる。
【００１９】
各方向の通信路とスイッチ１１との間には、ポート制御部１２〜１５が配置してあり、通信路を介した入力や出力が制御部１６により制御される。具体的には、上方向の組込機能処理部用通信路４１，４２は、ポート制御部１２を介してスイッチ１１に接続してあり、右方向の組込機能処理部用通信路４３，４４は、ポート制御部１３を介してスイッチ１１に接続してあり、下方向の組込機能処理部用通信路４５，４６は、ポート制御部１４を介してスイッチ１１に接続してあり、左方向の組込機能処理部用通信路４７，４８は、ポート制御部１５を介してスイッチ１１に接続してある。さらに、内部通信路４９，５０を介して、組込機能処理部１０側のスイッチ１１と可変部２０とが接続してある。
【００２０】
可変部２０は、記憶／機能部２１を備える。記憶／機能部２１は、可変部２０からの指示で、任意の機能の実行（又は記憶）を行う回路として組込まれる機能部で、ハードウェアをプログラムできる回路部に相当する。可変部２０は、上下左右に一般情報用通信路５１〜５４が用意されて、外部や他のセルとの間で情報の入力や出力を行う構成としてある。
【００２１】
一般情報用通信路５１〜５４は、スイッチ２２〜２５を介して可変部２０に接続してあり、可変部２０内の記憶／機能部２１で処理する情報の入力や、記憶／機能部２１で処理された情報の各方向の一般情報用通信路５１〜５４への出力などが、これらのスイッチ２２〜２５で制御される。他のセルとの間で、処理する情報（処理した情報）のやり取りを行う場合にも、この一般情報用通信路５１〜５４が使用される。
【００２２】
次に、このように構成される情報処理装置を使用して行われる処理例について説明する。まず、初期ロードなどにより、複数のセル１０１，１０２…の内の任意のセルに、所定の機能の回路を存在させて、その回路で情報処理を開始させたとする。所定の機能の回路を存在させるための情報については、入出力処理部３からセルに送られ、まだ回路が組まれていない空きセルでその情報を受信することで、該当した機能の回路が組まれる。
【００２３】
図３は、特定のセルの記憶／機能部２１に組まれる回路の例である。この例では、階乗を計算する機能の回路が組まれた例である。この回路について説明すると、入力端子８１と出力端子８２とを備え、一般情報用通信路（図２）を介して情報の入力及び出力が行われる。また、回路の追加の要求の出力と完了待ち信号が入力される制御端子８３を備える。この制御端子８３は、内部通信路４９、５０（図２）を介して組込機能処理部１０側と接続された端子である。制御端子８３に得られる信号の入力及び出力は、判定部８４で処理される。
【００２４】
入力端子８１に得られる信号は、スイッチ８５を介して処理部９０に供給される。この例では、処理部９０として、まずデクリメンタ９１に供給されて、入力値よりも「１」少ない値を発生させる処理が行われ、そのデクリメンタ９１の出力が、回路種（ここでは回路種名を「ｆａｃｔ」としてある）９２に供給される。この回路種９２は、別のセルで構成される回路であり、必要によりその回路種９２内（即ち別のセル）で処理が行われる。別のセルでの処理が必要ない場合には、デクリメンタ９１の出力をそのまま出力させる。
【００２５】
回路種９２の出力を、乗算器９３に供給し、スイッチ８５の出力と乗算する。乗算器９３の出力は、スイッチ８６を介して出力端子８２に供給する。スイッチ８５，８６は、デクリメンタ９１から乗算器９３を経由する経路と、これらを経由しない経路８７とを切換えるスイッチであり、判定部８４により切換えが制御される。このセルでの処理が必要ない場合には、経路８７が選択され、処理が必要な場合には、デクリメンタ９１から乗算器９３を経由する経路が選択される。
【００２６】
判定部８４では、入力端子８１に得られた値が「１」か否かを判定し、「１」でない場合（１以上の値である場合）には、回路の追加要求を端子８３から出力する。その追加要求を出力した後、その完了の入力を判定部８４が判定すると、回路種９２の入力と出力を、追加された別のセルに接続させるように、セル間の接続が行われる。この接続には、例えば図２に示したスイッチ２２〜２５が使用される。
【００２７】
図４は、追加要求により別の回路が追加された例を示した図である。図４に示すように、回路種９２として、別のセルの記憶／機能部２１′に組まれた回路が接続させてある。ここでは、記憶／機能部２１に組まれる回路と同じ回路が、記憶／機能部２１′に組まれるようにしてあり、その記憶／機能部２１′に組まれた回路の入力端子８１及び出力端子８２が、記憶／機能部２１の回路種９２に接続される。
【００２８】
追加された記憶／機能部２１′に組まれた回路についても、回路種９２を有し、別のセルに組まれた回路が接続できるようにしてある。
【００２９】
このように構成される回路を使用して、階乗を計算する場合の例について説明すると、例えば、最初のセルの入力端子８１に入力した値が「３」である場合、その回路内の判別部８４の判断で回路種（ｆａｃｔ）９２の追加が行われ、その追加されたセルでも入力値が「２」であるので、さらに回路種９２の追加が行われて、結局、回路の追加が２回行われて、３×２×１の計算が行われ、３の階乗計算が行われる。図４に示すように複数のセルで回路種が用意された状態であっても、その回路種内のスイッチ８５，８６が経路８７側を選択して、その回路種をスルーする状態とすることで、その回路種を使用しない処理が簡単に選択でき、一旦組まれた回路を、そのときの入力に応じて使用するか否かの選択が、回路自身の判断で行える。
【００３０】
このように、本例の場合には、各セルに組まれる構成として、（１）外部からの指示で最初から存在する部分、（２）他のセルからの指示で新たに追加する部分、（３）追加を判断する部分、（４）追加の要求を外部へ伝えてその完了を待つ部分、（５）追加部分へ接続を切換えるスイッチを有することになる。（１）の外部からの指示で最初から存在する部分と、（２）の他のセルからの指示で新たに追加する部分は、何れかの回路が組まれることになる。（３）の追加を判断する部分と、（４）の追加の要求を外部へ伝えてその完了を待つ部分は、図３、図４に示した判定部８４に相当する。
【００３１】
なお、図４に示した構成では、回路種（ｆａｃｔ）が別のセルの回路種を含む構成となっているが、回路種が他のものを含んで、それが回路種を含む構成となる場合もあり得る。また、１つの回路種が複数個の回路種を含む構成もあり得る。また、図４を参照した説明では、回路種が増加する処理を説明したが、増加させた回路種が不要となった場合には、その増加させたセルで回路が組まれた状態を解放して、いわゆる空きセルに戻すようにすればよい。
【００３２】
次に、このような各セル自身での判断で、他のセルの回路の追加や解放が行われる処理状態の例を、図５のフローチャートを参照して説明する。まず、それぞれのセルでは、組込機能処理部１０側で組込機能処理部用通信路を介して受信した指令により、機能の設定要求があるか否か判断する（ステップＳ１１）。ここで、自セルでその要求に応じることが可能である場合には、可変部１０を該当する機能の回路に設定する（ステップＳ１２）。そして、その設定した回路の入力と出力を、一般情報用通信路を使用して設定する（ステップＳ１３）。
【００３３】
このようにして回路が設定された状態で、一般情報用通信路を介して処理する情報が入力したか否か判断する（ステップＳ１４）。ここで、入力した場合には、入力した情報について、ステップＳ１２で設定された機能の処理（演算）が実行される（ステップＳ１５）。ここで、機能追加の必要性が判断され（ステップＳ１６）、機能の追加が必要ない場合にはステップＳ１５の処理が繰り返される。
【００３４】
そして、ステップＳ１６で機能追加が必要であると判断した場合には、可変部に機能が組み込まれていない空きセルの探索が、組込機能処理部１０側で必要なコマンドの伝送で行われる（ステップＳ１７）。空きセルが探索されると、その空きセルを機能追加するセルであると決定し、そのセルに追加要求を行い、その要求したセルに追加機能を実行させる回路を組ませる（ステップＳ１８）。そして、自セルの出力及び入力と、追加したセルの入力及び出力とを、一般情報用通信路を使用して接続する（ステップＳ１９）。この状態で、設定された機能を実行させる（ステップＳ２０）。
【００３５】
そして、追加した機能の追加が不要になったか否か判断し（ステップＳ２１）、追加した機能が必要である場合には、ステップＳ２０での処理が繰り返される。追加した機能が不要になった場合には、追加したセルとの接続を解放させる要求を行い（ステップＳ２２）、その追加したセルとの接続を解放させ（ステップＳ２３）、例えばステップＳ１５の処理に戻る。このようにして、セルの追加及び解放が、セル自身の判断で繰り返される。
【００３６】
図５のフローチャートでは、１つのセルを追加させる処理を行うことを想定したが、実際には図４の例で説明したように、複数のセルが同時又は順に追加される場合もあり、そのような場合には、ステップＳ１８、Ｓ１９での追加処理で複数のセルの追加処理が行われる。
【００３７】
以上説明したように、本発明によると、複数のセル（情報処理部）を備えた処理構成とした場合に、それぞれのセルでの自立的な判断で、新しい要素を追加する機能が備わり、柔軟な回路構成となる。このようなハードウェアでの機能の追加は、従来の一般的なコンピュータ装置が備えるプロセッサとソフトウェアによる機能の実現に比べて、高性能かつ低消費電力で実現できる。特に、各セルが自立的に追加や削減を行うので、複数のセルに状態を統括的に管理するランドオフィサーに相当する手段が必要なく、システム構成が非常に簡単になる。また、各セル間のデータ伝送として、非同期伝送を行う構成としたので、各セルに共通のシステムクロックを供給する必要がなく、その点からも構成が簡単になる。但し、非同期伝送そのものは、本発明の処理を行う上での必須の処理構成ではない。また、上述した実施の形態では、セルに組まれる回路構成例として、図３、図４に示した階乗の計算を行う例について説明したが、この演算回路は簡単な一例を示したまでであり、様々な回路構成に適用が可能である。演算回路ではなく、各セルの可変部を記憶部として構成させる場合にも、その記憶部での記憶が不足する場合に、自立的に他のセルの可変部を記憶部として構成させて、その記憶部を追加使用するようにしてもよい。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施の形態によるシステム構成例を示したブロック図である。
【図２】本発明の一実施の形態による１単位のセル構成例を示したブロック図である。
【図３】本発明の一実施の形態による可変部の機能設定例を示した説明図である。
【図４】本発明の一実施の形態による複数セルの可変部の機能設定例を示した説明図である。
【図５】本発明の一実施の形態によるセルの機能設定処理例を示したフローチャートである。
【符号の説明】
【００３９】
１…データ発生源、２…処理結果受信部、３…入出力処理部、１０…組込機能処理部、１１…スイッチ、１２〜１５…ボート制御部、１６…制御部、２０…可変部、２１…記憶／機能部、２２〜２５…スイッチ、４１〜４８…組込機能処理部用通信路、４９，５０…内部通信路、５１〜５４…一般情報用通信路、８１…入力端子、８２…出力端子、８３…制御端子、８４…判定部、８５，８６…スイッチ、８７…伝送路、９０…処理部、９１…デクリメンタ、９２…回路種、９３…乗算器、１０１〜１０６，１１１〜１１６，１２１〜１２６，１３１〜１３６，１４１〜１４６…セル
【図１】
2007026209.tif 000003
【図２】
2007026209.tif 000004
【図３】
2007026209.tif 000005
【図４】
2007026209.tif 000006
【図５】
2007026209.tif 000007