(57)【要約】【課題】演算処理装置に最適な演算処理をさせることが可能な動的再構成デバイスを提供することを目的とする。【解決手段】本発明に係る動的再構成デバイスは、演算処理装置１０を動的に再構成する動的再構成デバイスであって、演算処理装置１０の構成要素である複数の演算処理ブロック１１各々に設けられ、対応する演算処理ブロック１１に所定の信号を選択的に入出力可能なクロスバースイッチ１を備える。そして、クロスバースイッチ１により、複数の演算処理ブロック１１の処理手順を動的に変更可能である。【選択図】図１
2009237874.tif 000002
【特許請求の範囲】
【請求項１】
演算処理装置を動的に再構成する動的再構成デバイスであって、
前記演算処理装置の構成要素である複数の演算処理ブロック各々に設けられ、対応する前記演算処理ブロックに所定の信号を選択的に入出力可能なクロスバースイッチを備え、
前記クロスバースイッチにより、前記複数の演算処理ブロックの処理手順を動的に変更可能な、
動的再構成デバイス。
【請求項２】
前記所定の信号は、データ信号と、前記複数の演算処理ブロックを制御する制御信号とを含む、
請求項１に記載の動的再構成デバイス。
【請求項３】
前記クロスバースイッチは、スイッチマトリックスを構成し、
前記スイッチマトリックスにより、前記クロスバースイッチを一括して管理するスイッチマトリックス制御部をさらに備える、
請求項１または請求項２に記載の動的再構成デバイス。
【請求項４】
一部の前記複数の演算処理ブロックは、プロセッサを含み、
前記プロセッサは、
対応する前記クロスバースイッチからの前記所定の信号に基づいて、残りの前記複数の演算処理ブロックの少なくとも一つの演算処理ブロックに対応するクロスバースイッチの制御を行う、
請求項１乃至請求項３のいずれかに記載の動的再構成デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロックレベルで演算処理装置を動的に再構成する動的再構成デバイスに関する発明である。
【背景技術】
【０００２】
従来のデジタル処理装置などの演算処理装置では、予め決められた手順に従って処理が行われるようにブロック同士の接続は固定されていた。そのため、従来の方法では、特定の入力データに対しては最適な処理手順であっても、他の入力データに対しては最適な処理手順とはいえない場合があるという問題があった。また、拡張機能が必要になった場合に対処できないという問題があった。
【０００３】
この改善策として、特許文献１に記載のデータ処理装置では、演算処理装置で構成される回路全体を動的に再構成することにより、処理手順を動的に変更することを可能にし、かつ、機能の拡張を可能にしている。
【０００４】
【特許文献１】特開２００１−５２０５９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、特許文献１に記載の発明では、回路全体を自由に再構成することができる。しかしながら、演算処理装置自身の構成が固定されているという制約があるため、演算処理装置それぞれは、演算処理を行うための最適な回路構成になっていないという問題があった。例えば、演算処置装置が１６ビット幅に固定されている場合に８ビットの演算を行うと、演算処理装置の半分の演算処理ブロックを無駄にすることになる。
【０００６】
本発明は、上記のような問題点を解決するためになされたものであり、演算処理装置に最適な演算処理をさせることが可能な動的再構成デバイスを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る動的再構成デバイスは、演算処理装置を動的に再構成する動的再構成デバイスであって、前記演算処理装置の構成要素である複数の演算処理ブロック各々に設けられ、対応する前記演算処理ブロックに所定の信号を選択的に入出力可能なクロスバースイッチを備える。そして、前記クロスバースイッチにより、前記複数の演算処理ブロックの処理手順を動的に変更可能である。
【発明の効果】
【０００８】
本発明の動的再構成デバイスによれば、演算処理装置の構成要素である複数の演算処理ブロックの処理手順を動的に変更可能であるため、演算処理装置に最適な演算処理をさせることができる。
【発明を実施するための最良の形態】
【０００９】
＜実施の形態１＞
本実施の形態に係る動的再構成デバイスは、演算処理装置を動的に再構成する。図１に本実施の形態に係る動的再構成デバイスの基本構成を示す。図１に示すように、本実施の形態に係る動的再構成デバイスは、クロスバースイッチ１と、スイッチマトリックス制御部２とを備える。クロスバースイッチ１は、スイッチマトリックス３を構成している。演算処理装置１０の構成要素である複数の演算処理ブロック１１同士は、スイッチマトリックス３を介して互いに配線接続される。
【００１０】
本実施の形態に係る動的再構成デバイスが備えるクロスバースイッチ１は、演算処理装置１０の構成要素である複数の演算処理ブロック１１各々に設けられ、対応する演算処理ブロック１１に所定の信号を選択的に入出力可能である。本実施の形態では、所定の信号は、データ信号と、複数の演算処理ブロック１１を制御する制御信号とを含む。動的再構成デバイスは、クロスバースイッチ１により、上述の所定の信号を所望の演算処理ブロック１１に任意に入出力可能であるため、上述の所定の信号の流れを自由に設定することができる。こうして、本実施の形態に係る動的再構成デバイスは、クロスバースイッチ１により、複数の演算処理ブロック１１の処理手順を動的に変更可能である。
【００１１】
本実施の形態に係る動的再構成デバイスが備えるスイッチマトリックス制御部２は、スイッチマトリックス３により、クロスバースイッチ１を一括して管理する。本実施の形態では、スイッチマトリックス３に入力された信号、または、その信号に基づく信号（以下、入力信号とも記す）が、スイッチマトリックス制御部２に入力される。スイッチマトリックス制御部２は、入力信号を参照して、クロスバースイッチ１が入出力する順序を決定する。こうして、本実施の形態に係る動的再構成デバイスは、スイッチマトリックス制御部２により、入力信号に応じて演算処理ブロック１１の処理手順を変更することができる。
【００１２】
図２に、クロスバースイッチ１の構成の一例を示す。図２に係るクロスバースイッチ１は、４つのＰＭＯＳトランジスタ４で構成されたスイッチ回路である。なお、クロスバースイッチ１の構成は、これに限ったものではなく、上述の所定の信号を選択的に入出力可能であれば、他の構成をとってもよい。
【００１３】
図３は、上述の基本構成からなる動的再構成デバイスを、Ethernet（登録商標）のブリッジ処理を行う演算処理装置に適用した場合の構成を示す図である。スイッチマトリックス３には、図３の一番下の配線を除いて、上述のデータ信号であるEthernet（登録商標）のフレームのデータの信号が外部から入力される。以下、このフレームのデータの信号を簡単のため、フレームデータまたはフレームと記すこともある。図３に係るクロスバースイッチ５，６は、上述のクロスバースイッチ１に相当する。また、ＤＡ（宛先アドレス）検索処理部１２，ＤＡ登録処理部１３，ＳＡ（送信元アドレス）登録処理部１４，ＤＡ登録削除処理部１５，ＶＬＡＮ（仮想ＬＡＮ情報）処理部１６，フレーム出力処理部１７は、上述の演算処理ブロック１１に相当する。なお、これら処理部を区別する必要がない場合には、以下、処理部１２〜１７と記すこともある。アドレスメモリ２０は、ＤＡ検索処理部１２，ＤＡ登録処理部１３，ＳＡ登録処理部１４，ＤＡ登録削除処理部１５と接続されている。
【００１４】
図４は、外部からスイッチマトリックス３に入力されるフレームデータのデータ構造を示す。図４に示すように、フレームデータは、プリアンブル３０と、ヘッダ３１と、パケットデータ３２と、トレイラ３３とからなる。ヘッダ３１は、ＤＡ（宛先アドレス）３６と、ＳＡ（送信元アドレス）３７と、ＶＬＡＮ（仮想ＬＡＮ情報）３８と、長さフィールド３９とからなる。ＶＬＡＮ３８は、オプションで追加される。
【００１５】
図３に示すように、ＤＡ検索処理部１２，ＤＡ登録処理部１３，ＳＡ登録処理部１４，ＤＡ登録削除処理部１５および入力データ解析処理部２１それぞれには、スイッチマトリックス３の一番下の配線を除く配線を介して、フレームデータが入力される。また、ＶＬＡＮ処理部１６、フレーム出力処理部１７それぞれには、スイッチマトリックス３の一番下の配線を除く配線、および、クロスバースイッチ６を介して、フレームデータが入力される。フレームデータの入力は、図４の左側のプリアンブル３０から右側のトレイラ３３の順に入力される。
【００１６】
入力データ解析処理部２１は、フレームのＤＡ３６，ＳＡ３７，ＶＬＡＮ３８のデータそれぞれの入力に合わせて、複数の処理部１２〜１７を制御する上述の制御信号に相当する制御信号ｃｎｔを、スイッチマトリックス３の一番下の配線に出力する。この制御信号ｃｎｔは、例えば、正パルスの信号である。また、入力データ解析処理部２１は、上述の入力信号に相当し、フレームのＤＡ３６，ＳＡ３７，ＶＬＡＮ３８に基づくスイッチ制御信号を、スイッチマトリックス制御部２に出力する。
【００１７】
図３に係るクロスバースイッチ５は、演算処理装置１０の構成要素である複数の処理部１２〜１７各々に設けられ、対応する処理部１２〜１７に、入力データ解析処理部２１からの制御信号ｃｎｔを選択的に出力可能である。また、図３に係るクロスバースイッチ６は、演算処理装置１０の構成要素であるＶＬＡＮ処理部１６，フレーム出力処理部１７各々に設けられ、対応するＶＬＡＮ処理部１６，フレーム出力処理部１７に、フレームデータを選択的に入出力可能である。
【００１８】
スイッチマトリックス制御部２は、スイッチ制御信号を参照して、クロスバースイッチ５，６の入出力順序を決定する。図５は、スイッチマトリックス制御部２の構成の一例を示す図である。図５に係るスイッチマトリックス制御部２は、複数のメモリ７と、セレクタ８とを備える。メモリ７には、例えば、ＳＲＡＭ（Static Random Access Memory）、もしくは、フラッシュメモリを用いる。複数のメモリ７各々には、スイッチマトリックス３のクロスバースイッチ５，６をＯＮ／ＯＦＦする順序に関するデータが格納されている。
【００１９】
セレクタ８は、入力データ解析処理部２１からのスイッチ制御信号を参照して、一のメモリ７を選択する。スイッチマトリックス制御部２は、セレクタ８により選択された一のメモリ７のデータに基づいて、スイッチマトリックス３のクロスバースイッチ５，６を順次にＯＮまたはＯＦＦする制御を行う。このように制御されるクロスバースイッチ５を介して、制御信号ｃｎｔが入力された処理部１２〜１７は、フレームデータの処理を開始する。以上により、本実施の形態に係る動的再構成デバイスは、これらクロスバースイッチ５，６により、複数の処理部１２〜１７の処理手順を動的に変更する。
【００２０】
図６は、演算処理装置１０の演算処理手順を示すフローチャートである。ここでは、ヘッダ３１の処理、および、フレームの出力または廃棄の処理を行うEthernet（登録商標）のブリッジ処理が示されている。演算処理装置１０が行うブリッジ処理は、本実施の形態に係る動的変更デバイスにより、フレームのＤＡ３６，ＳＡ３７，ＶＬＡＮ３８に基づいて図６（ａ）に示すフロー１、または、図６（ｂ）に示すフロー２のいずれかに変更される。
【００２１】
フロー１，フロー２では、ステップＳ１０１，Ｓ２０１においてＳＡとして登録がない場合に、ステップＳ１０２，Ｓ２０２でフレーム廃棄する。そして、ステップＳ１０５，Ｓ２０４においてＶＬＡＮがない場合に、ステップＳ１０６，Ｓ２０６でフレーム出力する。そして、ステップＳ１０８，Ｓ２０８において廃棄指定がある場合に、Ｓ１１０，Ｓ２０９でフレーム廃棄し、廃棄指定がない場合に、Ｓ１１１，Ｓ２１１でフレーム出力する。このように、最終的に得られる分岐ごとの処理は、フロー１とフロー２ともに同じである。
【００２２】
一方、フロー１とフロー２との間で異なる点は、ＤＡ登録（ステップＳ１０３，Ｓ２０５，Ｓ２１０）の処理順と、ＤＡ登録削除（ステップＳ１０９）の有無である。この差異により、フロー１とフロー２との間には、処理速度と処理消費において優劣が生じる。
【００２３】
このことを図７を用いて説明する。図７は、処理時刻に伴うフロー１およびフロー２の処理を模式的に示す図であり、時刻の経過とともに、図７の左側から右側に処理が行われるものとする。ＤＡ検索，ＳＡ登録，ＶＬＡＮ処理は、ＤＡ３６，ＳＡ３７，ＶＬＡＮ３８の読み込み終了（図の縦の破線）直後に行う。この図において、白抜き矢印はステップＳ１０１，Ｓ２０１、普通線の矢印はステップＳ１０５，Ｓ２０４、破線の矢印はステップＳ１０８，Ｓ２０８の分岐を示す。
【００２４】
図７に示すように、ＶＬＡＮ処理後にフレーム出力する場合、フロー１のフレーム出力終了時点Ａ１は、フロー２のフレーム出力終了時点Ａ２よりも左側にあり、フロー１の方が早く処理を終了している。そのため、ＶＬＡＮ処理後にフレーム出力する場合には、フロー１のほうが高速に処理することができる。
【００２５】
一方、ＶＬＡＮ処理後にフレーム廃棄する場合、フロー２のフレーム廃棄終了時点Ｂ２は、フロー１のフレーム廃棄終了時点Ｂ１よりも左側にあり、フロー２の方が早く処理を終了している。そのため、ＶＬＡＮ処理後にフレーム出力する場合には、フロー２のほうが高速に処理することができる。また、この場合、フロー２では、フロー１が行うＤＡ登録およびＤＡ登録削除を行わないため、低消費処理を実現できる。
【００２６】
以上のような本実施の形態に係る動的再構成デバイスによれば、演算処理装置１０を構成する複数の演算部１２〜１７の処理手順を動的に変更する。そのため、演算処理装置１０は、ＶＬＡＮ処理後にフレーム出力する場合には、フロー１に従って処理を行い、ＶＬＡＮ処理後にフレーム廃棄する場合には、フロー２に従って処理を行うことができる。こうして、本実施の形態に係る動的再構成デバイスは、演算処理装置１０に、高速処理、低消費処理の観点から最適な演算処理をさせることができる。
【００２７】
なお、ブリッジ処理では、フレーム内のパケットデータを加工しないで出力するため、フレームのデータ長が長い場合には、フロー１，フロー２のどちらのフローを用いても、パケットデータが流れている間にブリッジ処理を完了させることができる。その結果、ブリッジ処理が高速でなくても次のフレームのブリッジ処理を連続して行うことができるため、フロー１とフロー２との間に処理速度の差異は生じない。これに対して、フレームのデータ長が短い場合には、ブリッジ処理を高速にしなければ、次のフレームのブリッジ処理を待たせなければならなくなる。そのため、本実施の形態に係る動的再構成デバイスは、フレームのデータ長が短い場合に有効である。
【００２８】
しかしながら、フレームデータのデータ長は、図４に示すプリアンブル３０からトレイラ３３まで読み込まれて初めて判別可能な情報である。そのため、ＳＡ３７より前に参照することができず、本実施の形態に係る演算処理装置１０に、データ長が短いフレームのみを演算処理させることは難しい。しかし、同一種類のＤＡ３６のフレームが連続した場合には、前のフレームのデータ長と、後のフレームのデータ長がほぼ同じになる可能性が高い。
【００２９】
そこで、一つ前のフレームのＤＡ３６と、現在処理しているフレームのＤＡ３６とが同じである場合に、現在処理しているフレームのデータ長を、当該一つ前のフレームのデータ長と仮定する構成にしてもよい。もしくは、ブリッジ処理の前の処理、例えば、ＭＡＣ処理において、フレームのデータ長を先読みし、ブリッジ処理のＳＡ３７入力前にフレームのデータ長を検出する構成であってもよい。このようにすることにより、本実施の形態に係る演算処理装置１０に、データ長が短いフレームのみを演算処理させることができる。
【００３０】
＜実施の形態２＞
実施の形態１に係る動的再構成デバイスにおいて、機能追加、例えば、図４に示したフレームの長さフィールド３９の値が０９ｘ０００である場合に、フレーム廃棄する制御機能を追加しようとしても、入力データ解析処理部２１は、そのように設計されていない。そのため、このままでは、ハードウェアの改訂を行わずに新たに機能を追加することができない。
【００３１】
そこで、本実施の形態では、機能追加のたびにハードウェアの改訂を行わなくても、機能追加が可能な動的再構成デバイスを得ることを目的とする。図８に本実施の形態に係る動的再構成デバイスの構成を示す。以下、本実施の形態に係る動的再構成デバイスの構成のうち、実施の形態１に係る動的再構成デバイスと同一の構成については、同一符号を付すものとし、新たに説明しない構成については、実施の形態１と同じであるものとする。以下、ブリッジ処理に機能を追加、例えば、フレームの長さフィールド３９が、特定の値、例えば、０ｘ９０００のときに、フレーム廃棄するという機能を追加可能にする動的再構成デバイスについて説明する。
【００３２】
図８に示すように、本実施の形態では、上述の一部の複数の演算処理ブロック１１は、プロセッサ１８を含む。クロスバースイッチ９は、演算処理装置１０の構成要素であるプロセッサ１８に、フレームデータと制御信号ｃｎｔとを選択的に入出可能である。
【００３３】
機能追加が必要となった場合、本実施の形態に係る動的再構成デバイスは、スイッチマトリックス３を制御して、クロスバースイッチ９がフレームデータをプロセッサ１８に出力するようにする。プロセッサ１８は、クロスバースイッチ９からのフレームデータに基づいて、追加機能演算を行った後、演算結果をスイッチマトリックス３に出力する。
【００３４】
本実施の形態では、プロセッサ１８は、クロスバースイッチ９からのフレームデータの長さフィールド３９の値を読む。読み込んだ値が０ｘ９０００である場合に、プロセッサ１８は、演算結果としての制御信号ｃｎｔのパルスをスイッチマトリックス３の下側の配線に出力する。それとともに、本実施の形態に係るプロセッサ１８は、スイッチマトリックス制御部２を介して、ＤＡ登録削除処理部１５に対応するクロスバースイッチ５の制御を行い、当該制御信号ｃｎｔを、スイッチマトリックス３からＤＡ登録削除処理部１５のEnableに出力する。
【００３５】
こうして、本実施の形態に係るプロセッサ１８は、対応するクロスバースイッチ９からのフレームデータに基づいて、残りの複数の演算処理ブロック１１の一つの演算処理ブロックであるＤＡ登録削除処理部１５に対応するクロスバースイッチ５の制御を行う。これにより、演算処理装置１０は、図４に示すフレームの長さフィールド３９の値が０ｘ９０００である場合に、フレーム廃棄する。
【００３６】
このように、本実施の形態に係る動的再構成デバイスによれば、演算処理装置１０に新たな機能を追加することが必要になった場合に、ハードウェアの改訂を行わなくても、演算処理装置１０に追加機能の処理をさせることができる。その結果、演算処理装置１０がライフサイクルを終え、廃棄処分するときに、ハードウェアを廃棄することがなくなるため、環境に対する負荷を低減することができる。
【図面の簡単な説明】
【００３７】
【図１】実施の形態１に係る動的再構成デバイスの構成を示す図である。
【図２】実施の形態１に係る動的再構成デバイスのクロスバースイッチの構成を示す図である。
【図３】実施の形態１に係る動的再構成デバイスの構成を示す図である。
【図４】実施の形態１に係る動的再構成デバイスが処理するフレームデータのデータ構造を示す図である。
【図５】実施の形態１に係る動的再構成デバイスのスイッチマトリックス制御部の構成を示す図である。
【図６】実施の形態１に係る動的再構成デバイスの動作を示すフローチャートである。
【図７】実施の形態１に係る動的再構成デバイスの効果を示す図である。
【図８】実施の形態２に係る動的再構成デバイスの構成を示す図である。
【符号の説明】
【００３８】
１，５，６，９  クロスバースイッチ、２  スイッチマトリックス制御部、３  スイッチマトリックス、４  ＰＭＯＳトランジスタ、７  メモリ、８  セレクタ、１０  演算処理装置、１１  演算処理ブロック、１２  ＤＡ検索処理部、１３  ＤＡ登録処理部、１４  ＳＡ登録処理部、１５  ＤＡ登録削除処理部、１６  ＶＬＡＮ処理部、１７  フレーム出力処理部、１８  プロセッサ、２０  アドレスメモリ、２１  入力データ解析処理部、３０  プリアンブル、３１  ヘッダ、３２  パケットデータ、３３  トレイラ、３６  宛先アドレス、３７  送信元アドレス、３８  仮想ＬＡＮ情報、３９  長さフィールド。
【図１】
2009237874.tif 000003
【図２】
2009237874.tif 000004
【図３】
2009237874.tif 000005
【図４】
2009237874.tif 000006
【図５】
2009237874.tif 000007
【図６】
2009237874.tif 000008
【図７】
2009237874.tif 000009
【図８】
2009237874.tif 000010