(57)【要約】【課題】複数のプロセッサエレメントから構成されるグループを動的に変更可能とし、単一の状態管理部によって各グループの動的再構成を行う動的再構成可能プロセッサ構造を提供する。【解決手段】動的再構成可能プロセッサにおいて、再構成情報によって機能を変更可能な複数のプロセッサエレメント６と、再構成情報によってプロセッサエレメント６間の信号の導通状態を変更可能なエレメント間配線と、再構成情報及び再構成用トリガー信号を各プロセッサエレメント６へ転送する状態管理部と、状態管理部と各プロセッサエレメント６を接続する再構成用配線とから構成され、再構成用トリガー信号をマスクするマスク情報を格納するマスクメモリ６０６を各プロセッサエレメント６内に設けた。【選択図】図４
2008165537.tif 000002
【特許請求の範囲】
【請求項１】
再構成情報によって機能を変更可能な複数のプロセッサエレメントと、
前記再構成情報によって前記プロセッサエレメント間の信号の導通状態を変更可能なエレメント間配線と、
前記再構成情報及び再構成用トリガー信号を各プロセッサエレメントへ転送する状態管理部と、
前記状態管理部と各プロセッサエレメントを接続する再構成用配線とから構成され、
前記再構成用トリガー信号をマスクするマスク情報を格納するマスクメモリを前記各プロセッサエレメント内に設けたことを特徴とする動的再構成可能プロセッサ。
【請求項２】
請求項１記載の動的再構成可能プロセッサにおいて、
前記マスクメモリは再構成を制御する複数のマスク情報を格納する領域を有し、
前記状態管理部と前記各プロセッサエレメントとを接続し、前記マスクメモリ内の前記複数のマスク情報のうちの１つを指定するマスクアドレスを指定するマスク情報アドレス指定配線を設けたことを特徴とする動的再構成可能プロセッサ。
【請求項３】
請求項１または２記載の動的再構成可能プロセッサにおいて、
前記状態管理部と前記各プロセッサエレメントとを接続し、前記マスク情報の反転、または演算を制御するマスク制御情報を転送するマスク制御配線を設けたことを特徴とする動的再構成可能プロセッサ。
【請求項４】
請求項２または３記載の動的再構成可能プロセッサにおいて、
前記マスク情報アドレス指定配線および前記マスク制御配線の一部または全部は、前記複数プロセッサエレメント間において前記再構成情報を指定する配線の一部または全部と共用されることを特徴とする動的再構成可能プロセッサ。
【請求項５】
再構成情報によって機能を変更可能な複数のプロセッサエレメントと、前記再構成情報によって前記プロセッサエレメント間の信号の導通状態を変更可能なエレメント間配線と、前記再構成情報及び再構成用トリガー信号を各プロセッサエレメントへ転送する状態管理部と、前記状態管理部と各プロセッサエレメントを接続する再構成用配線とから構成された動的再構成可能プロセッサに対する再構成指示を行う再構成指示方法であって、
前記状態管理部により、前記再構成指示の際に、再構成用トリガー信号をマスクするマスク情報、または、前記マスク情報及びマスク情報を制御するマスク制御情報がさらに指示されることを特徴とする再構成指示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成を動的に変更可能なプロセッサに関し、特に、複数のプロセッサエレメントと複数のエレメント間配線を構成要素とする動的再構成可能プロセッサの再構成指示に適用して有効な技術に関する。
【背景技術】
【０００２】
従来は、特開２００４−１３３７８０号公報「アレイ型プロセッサ」（特許文献１）に記載のように、動的再構成可能プロセッサにおいて部分再構成を行うために上記プロセッサ中のプロセッサエレメント群をいくつかのグループに分け、各グループに１つの状態管理部を設け、それによってグループごとに再構成を行っていた。
【０００３】
また、従来は、特許３６７４５１５号公報「アレイ型プロセッサ」（特許文献２）に記載のように、状態管理部は１つとし、各プロセッサエレメントまたは各グループに命令コードを指定するための有効または無効な、独立したアドレスを並列に与えていた。
【特許文献１】特開２００４−１３３７８０号公報
【特許文献２】特許３６７４５１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１は、グループが固定されることによって処理の柔軟性がなくなることに加え、複数の状態管理部が必要なので回路面積が増加する、という問題点がある。
【０００５】
さらにまた、特許文献１は、各プロセッサエレメントを１グループとすることにより柔軟性は確保されるが、状態管理部がプロセッサエレメントと同数だけ必要になるので状態管理部の回路面積が非常に大きくなるという問題点がある。
【０００６】
また、特許文献２は、各プロセッサエレメントまたは各グループに独立したアドレスを並列に与えるためにプロセッサエレメント数またはグループ数に等しいアドレス指定配線を必要とするので配線面積が増加する、という問題点がある。
【０００７】
そこで、本発明の第１の目的は、複数のプロセッサエレメントから構成されるグループを動的に変更可能とし、単一の状態管理部によって各グループの動的再構成を行う動的再構成可能プロセッサを提供することである。
【０００８】
また、本発明の第２の目的は、構成情報アドレスを指定するための少ない配線で高速な部分再構成を可能とする動的再構成可能プロセッサを提供することである。
【０００９】
また、本発明の第３の目的は、さらに少ない構成情報で部分再構成を可能とする動的再構成可能プロセッサを提供することである。
【００１０】
また、本発明の第４の目的は、少ない構成情報で部分再構成を可能とする再構成指示方法を提供することである。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１２】
前記第１の目的を達成するために、本発明は再構成用トリガー信号をマスクするマスク情報を格納するマスクメモリを各プロセッサエレメント内に設けたものである。
【００１３】
これによって、単一の状態管理部を備えながら、複数のプロセッサエレメントから構成されるグループをマスクメモリ中のマスク情報の値によって動的に変更可能となる。
【００１４】
さらに、動的再構成したいグループのみマスクメモリの値を有効な値にすることによって指定グループの動的再構成が可能となる。
【００１５】
また、前記第２の目的を達成するために、本発明は再構成を制御する複数のマスク情報を格納するマスクメモリを各プロセッサエレメント内に設け、上記複数のマスク情報のうちの１つを指定するマスク情報アドレスを指定する、状態管理部と各プロセッサエレメントとを接続するマスク情報アドレス指定配線を設けたものである。
【００１６】
これによって、全プロセッサエレメントに対して、１セットのアドレス指定配線のみを用いて、指定したグループのみを指定した方法で再構成することが可能である。
【００１７】
また、これによって、あらかじめ各プロセッサエレメント内に構成情報とマスク情報をダウンロードしておき、再構成の際に両者のアドレスを指定することによって、Ｎ個のグループをＭ個の異なる構成情報で再構成したい場合、Ｍステップの時間で再構成可能である。
【００１８】
従来は、状態管理部が１つでその状態管理部にマスクメモリがあっても、Ｍ個の構成情報、及び、バスのように共通化することができないＮ本の配線、が必要だった。
【００１９】
また、前記第３の目的を達成するために、本発明はマスク情報の反転、または演算を制御するマスク制御情報を転送する、状態管理部と各プロセッサエレメントとを接続するマスク制御配線を設けたものである。
【００２０】
これによって、１つの構成情報によって、マスクがされた構成、マスクのビットを反転させたマスクがなされた構成、いくつかのマスクの演算結果によって得られるマスク情報によってマスクがなされた構成を実現可能なので、より少ない構成情報で部分再構成を可能とする構造を提供することができる。
【００２１】
また、前記第４の目的を達成するために、動的再構成可能プロセッサに対する再構成指示方法において、再構成用トリガー信号をマスクするマスク情報、または、前記マスク情報及びマスク情報を制御するマスク制御情報をさらに指示したものである。
【００２２】
これによって、１つの構成情報によって、マスクがされた構成、マスクのビットを反転させた等のマスクを制御することによって得られる構成を実現可能なので、より少ない再構成情報で部分再構成を実現することができる。
【発明の効果】
【００２３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２４】
本発明によれば、プロセッサの再構成に先立って各プロセッサエレメントへ逐次的にマスク情報を配布することができ、しかも、各プロセッサエレメントに共通な配線を使ってマスク情報を配布できるので、マスク情報配布のための配線数を少なくすることができる。
【００２５】
また、本発明によれば、複数のマスク情報が格納されたマスクメモリとマスク情報指定用の、全プロセッサエレメントに共通のマスクアドレス配線を使って再構成を次々と行うことができるので、複数のプロセッサエレメントまたはプロセッサエレメントのグループに対して各々異なる再構成を少数の配線だけで行うことができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。尚、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２７】
（実施の形態１）
以下、本発明の実施の形態１に係る動的再構成可能プロセッサについて図１〜図８を用いて説明する。
【００２８】
まず、図１により、本発明の実施の形態１に係る動的再構成可能プロセッサとそれを含むシステム例のうち、データ処理に関連する部分について説明する。図１は本発明の実施の形態１に係る動的再構成可能プロセッサとそれを含むシステム例のうち、データ処理に関連する部分を示す図である。
【００２９】
図１において、動的再構成可能プロセッサ５は、ＣＰＵ１、メモリ２、データ転送を制御するダイレクトメモリアクセスコントローラ（ＤＭＡＣ）３がバス４を介して接続され、複数のプロセッサエレメント６及びプロセッサエレメント６間のデータ転送を行うエレメント間配線５０９から構成されるプロセッサアレイ部５０３、プロセッサエレメント６に演算データを供給するための演算データ用メモリ５０５、メモリ２と演算データ用メモリ５０５との間でデータを転送するデータ転送用配線５０４、プロセッサエレメント６とエレメント間配線５０９の再構成を制御する状態管理部５０２、プロセッサエレメント６とエレメント間配線５０９を再構成する情報を格納する構成情報バッファ５０７、メモリ２から構成情報バッファ５０７へ構成情報を転送するための構成情報転送用外側配線５０８から構成されている。
【００３０】
また、プロセッサエレメント６は、高速な再構成を実現するためにプロセッサエレメント６内で構成情報を保持するための構成情報メモリ６０１、演算を行うためのＡＬＵ６０２、構成情報メモリ６０１からＡＬＵ６０２へ構成情報を転送する構成情報転送用内側配線６０３などから構成されている。
【００３１】
ここで、本実施の形態での動的再構成可能プロセッサ５の演算動作について説明する。
【００３２】
まず、ＣＰＵ１がＤＭＡＣ３を使って、メモリ２上にある演算用入力データを演算データ用メモリ５０５へ転送する。
【００３３】
状態管理部５０２はプロセッサアレイ部５０３を起動し、プロセッサアレイ部５０３は演算データ用メモリ５０５からエレメント間配線５０９を通じてデータを入力し、プロセッサエレメント６で演算し、その演算結果をエレメント間配線５０９を通じて他のプロセッサエレメント６へ転送することで転送先のプロセッサエレメント６で再び演算すると言うプロセスを繰り返し、最終的な演算結果をエレメント間配線５０９を通じて演算データ用メモリ５０５へ戻す。
【００３４】
ＣＰＵ１は再びＤＭＡＣ３を使って、演算データ用メモリ５０５上にある演算結果をメモリ２へ転送する。
【００３５】
尚、ここでは省略したが、ＣＰＵ１と状態管理部５０２との間ではデータ転送の開始・終了などを制御するために同期処理が行われる。
【００３６】
次に、図２により、本発明の実施の形態１に係る動的再構成可能プロセッサとそれを含むシステム例のうち、再構成に関連する部分について説明する。図２は本発明の実施の形態１に係る動的再構成可能プロセッサとそれを含むシステム例のうち、再構成に関連する部分を示す図である。
【００３７】
図２において、動的再構成可能プロセッサ５は、状態管理部５０２がプロセッサエレメント６の再構成を制御するための再構成用配線５０１、再構成情報を構成情報バッファ５０７から構成情報メモリ６０１へ転送するための構成情報転送用配線５０６から構成されている。他の構成は図１の構成と同様である。
【００３８】
尚、再構成はエレメント間配線５０９に対しても行われるがプロセッサエレメント６の再構成と同様なのでここでは省略した。
【００３９】
ここで、本実施の形態での動的再構成可能プロセッサ５の再構成動作について説明する。
【００４０】
まず、ＣＰＵ１がＤＭＡＣ３を使って、メモリ２上にある構成情報を構成情報バッファ５０７へ転送する。
【００４１】
状態管理部５０２は再構成情報を構成情報バッファ５０７から構成情報転送用配線５０６を通じて構成情報メモリ６０１へ転送する。
【００４２】
次に、状態管理部５０２は再構成用配線５０１を通じてプロセッサエレメント６を制御し、プロセッサエレメント６内の構成情報メモリ６０１内の構成情報を構成情報転送用内側配線６０３を通じてＡＬＵ６０２へ転送し、ＡＬＵ６０２の再構成を行う。
【００４３】
尚、ここでは省略したが、ＣＰＵ１と状態管理部５０２との間では構成情報の転送の開始・終了などを制御するために同期処理が行われる。
【００４４】
次に、図３により、本発明の実施の形態１に係る動的再構成可能プロセッサにおけるプロセッサエレメントの比較例として、従来のプロセッサエレメントの構成の一例について説明する。図３は従来のプロセッサエレメントの構成の一例を示す図である。
【００４５】
図３において、従来のプロセッサエレメントは、構成情報メモリ６０１内に格納された構成情報のうちの１つを選択する構成情報選択スイッチ６０４、構成情報転送用配線５０６を通じて転送された構成情報を構成情報メモリ６０１のどのアドレスへ入力するかを選択する入力用スレッド情報選択スイッチ７０１から構成されている。
【００４６】
再構成用配線５０１は再構成を起動する再構成用トリガー信号線５０１１と構成情報メモリ６０１内に格納された再構成情報のアドレスを指定する構成情報アドレス指定配線５０１２の２つから構成される。
【００４７】
構成情報転送用配線５０６は構成情報を転送する入力構成情報転送用配線５０６１と構成情報を構成情報メモリ６０１のどのアドレスへ入力するかを指定する入力構成情報アドレス指定配線５０６２から構成される。
【００４８】
ここで、図３に示すプロセッサエレメントでの再構成動作について説明する。
【００４９】
まず、状態管理部５０２は構成情報バッファ５０７に対して構成情報バッファ５０７内の構成情報のアドレスを指定することによって、入力構成情報転送用配線５０６１に構成情報を転送する。
【００５０】
さらに、状態管理部５０２は入力構成情報アドレス指定配線５０６２に構成情報を構成情報メモリ６０１のどのアドレスへ入力するかを指定する。
【００５１】
入力用スレッド情報選択スイッチ７０１は入力構成情報アドレス指定配線５０６２上の指定されたアドレス情報に基づき、入力構成情報転送用配線５０６１上の構成情報を構成情報メモリ６０１の指定されたアドレスに格納する。
【００５２】
次に、状態管理部５０２は構成情報アドレス指定配線５０１２に次に再構成すべき再構成情報が格納された構成情報メモリ６０１内のアドレスを転送する。
【００５３】
さらに、状態管理部５０２は、あからじめプログラムされたタイミング、または、プロセッサアレイ部５０３の処理中の動作状態に基づいて、再構成を起動するための信号を再構成用トリガー信号線５０１１に送出する。
【００５４】
構成情報選択スイッチ６０４は構成情報アドレス指定配線５０１２によって指定されたアドレスにある構成情報メモリ６０１内の再構成を選択してＡＬＵ６０２に転送する。
【００５５】
ＡＬＵ６０２は構成情報選択スイッチ６０４が選択した構成情報に基づき、再構成用トリガー信号線５０１１を通じて送出された起動信号によってＡＬＵ６０２の再構成を行う。
【００５６】
次に、図４により、本発明の実施の形態１に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例について説明する。図４は本発明の実施の形態１に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【００５７】
図４において、プロセッサエレメント６は、再構成用トリガー信号線５０１１を通じて送出される再構成用トリガー信号をマスクするマスク情報を格納するマスクメモリ６０６、再構成用トリガー信号線５０１１を通じて送出される再構成用トリガー信号とマスクメモリ６０６に格納されたマスク情報を使って再構成用トリガー信号をマスクするか否かを決定するＡＮＤ演算器６０５を備えている。
【００５８】
入力用スレッド情報選択スイッチ７０１の出力は図３では構成情報メモリ６０１のみに接続されていたが、図４においては、マスクメモリ６０６にも接続される。
【００５９】
即ち、本実施の形態でのプロセッサエレメント６を動的再構成可能プロセッサに対する再構成指示手段という観点から見ると、再構成用トリガー信号をマスクするマスク情報を指示する手段が従来に対して追加された、と見ることができる。
【００６０】
ここで、図４に示すプロセッサエレメントでの再構成動作について説明する。
【００６１】
まず、状態管理部５０２はメモリ２に格納されたマスク情報を入力構成情報転送用配線５０６１に送出する。
【００６２】
さらに、状態管理部５０２はマスクメモリ６０６を指定するアドレスを入力構成情報アドレス指定配線５０６２に送出する。
【００６３】
入力用スレッド情報選択スイッチ７０１は入力構成情報アドレス指定配線５０６２上の指定されたアドレス情報に基づき、入力構成情報転送用配線５０６１上のマスク情報をマスクメモリ６０６に格納する。
【００６４】
次に、状態管理部５０２は構成情報アドレス指定配線５０１２に次に再構成すべき構成情報が格納された構成情報メモリ６０１内のアドレスを転送する。
【００６５】
さらに、状態管理部５０２は、あからじめプログラムされたタイミング、または、プロセッサアレイ部５０３の処理中の動作状態に基づいて、再構成を起動するための信号を再構成用トリガー信号線５０１１に送出する。
【００６６】
構成情報選択スイッチ６０４は構成情報アドレス指定配線５０１２によって指定されたアドレスにある構成情報メモリ６０１内の構成情報を選択してＡＬＵ６０２に転送する。
【００６７】
ＡＮＤ演算器６０５は再構成用トリガー信号線５０１１に送出された再構成用トリガー信号とマスクメモリ６０６との論理積を取り、その演算結果をＡＬＵ６０２に転送する。
【００６８】
この時、マスクメモリ６０６内のマスク情報が「１」で再構成用トリガー信号が「１」の場合のみ演算結果は「１」となり、それ以外の場合は演算結果は「０」となる。
【００６９】
ＡＬＵ６０２は構成情報選択スイッチ６０４が選択した構成情報に基づき、ＡＮＤ演算器６０５から転送された演算結果が「１」のタイミングでＡＬＵ６０２の再構成を行う。
【００７０】
これによりマスク情報が「１」のプロセッサエレメント６のみが再構成されるので、部分再構成が実現できる。
【００７１】
この実現において入力構成情報アドレス指定配線５０６２にプロセッサエレメント６の位置アドレスと入力用スレッド情報選択スイッチ７０１にプロセッサエレメント６の位置アドレス判定スイッチを追加することにより、入力構成情報アドレス指定配線５０６２を各プロセッサエレメント６に共通なバスとして構成できる。
【００７２】
これによりマスク情報をマスクメモリ６０６へ逐次的に送出することが可能になるので、配線資源を少なくすることができる。
【００７３】
また、マスクメモリ６０６内のアドレスを指定するために入力構成情報アドレス指定配線５０６２の配線数が数ビット分増加する可能性があるが、入力構成情報アドレス指定配線５０６２を各プロセッサエレメント６に共通なバスとして構成できるので、配線の増加を少なくすることができる。
【００７４】
また、入力構成情報転送用配線５０６１を構成情報とマスク情報で共用することにより、配線資源の増加をさらに抑えることができる。
【００７５】
ここで、図５により、本発明の実施の形態１に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報について説明する。図５は本発明の実施の形態１に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図であり、６×６のマトリクス状に配置されたマスク情報の例を示している。
【００７６】
例えば、図５の１００１は第３行４列にあるプロセッサエレメント６のマスクメモリ６０６に格納されたマスク情報が「１」であることを示し、図５の１００２は第３行５列にあるプロセッサエレメント６のマスクメモリ６０６に格納されたマスク情報が「０」であることを示す。
【００７７】
したがって、図５の１０１に示されたプロセッサエレメント群の各マスクメモリ６０６にはマスク情報「１」が、図５の１０２に示されたプロセッサエレメント群の各マスクメモリ６０６にはマスク情報「０」が格納されていることを表す。
【００７８】
この図５に示されるマスク情報により、プロセッサエレメント群１０１のみが部分再構成される。
【００７９】
以下、図６〜図８により、従来技術による部分再構成手段と本実施の形態による部分再構成手段の違いについて説明する。
【００８０】
まず、図６は従来の部分再構成可能な動的再構成可能プロセッサ５における、状態管理部５０２とプロセッサエレメント６の関係の一例を示す図である。これは、前述の特許文献１の「アレイ型プロセッサ」で開示されているものである。
【００８１】
図６において、状態管理部５０２は、構成情報メモリ６０１内の構成情報のアドレスを格納した構成情報アドレスメモリ５０２１を有している。
【００８２】
従来は、図６で示すように、動的再構成可能プロセッサ５において部分再構成を行うためにプロセッサ中のプロセッサエレメント群をいくつかのグループに分け、各グループに１つの状態管理部５０２と構成情報アドレスメモリ５０２１を設け、それによってグループごとに部分再構成を行っていた。
【００８３】
本従来技術は、グループが固定されることによって処理の柔軟性がなくなることに加え、複数の状態管理部５０２が必要なので回路面積が増加する、という問題点がある。
【００８４】
さらに、各プロセッサエレメント６を１グループとすることにより柔軟性は確保されるが、状態管理部５０２がプロセッサエレメントと同数だけ必要になるので状態管理部の回路面積が非常に大きくなるという問題点がある。
【００８５】
また、図７は従来の部分再構成可能な動的再構成可能プロセッサ５における、状態管理部５０２とプロセッサエレメント６の関係の別の一例を示す図である。これは、前述の特許文献２の「アレイ型プロセッサ」で開示されているものである。
【００８６】
図７において、状態管理部５０２は、構成情報アドレスメモリ５０２１のアドレスを各プロセッサエレメント６または各プロセッサエレメントグループへ送出するか否かを決定する、各プロセッサエレメント６または各プロセッサエレメントグループごとに用意されたマスク情報アドレスメモリ５０２２を有している。
【００８７】
従来は、各プロセッサエレメント６または各プロセッサエレメントグループに構成情報のアドレスを指定するための有効または無効な、独立したアドレスを並列に与えることにより、部分再構成を行っていた。
【００８８】
本従来技術は、各プロセッサエレメント６または各プロセッサエレメントグループに独立したアドレスを並列に与えるためにプロセッサエレメント数またはグループ数に等しいアドレス指定配線を必要とするので回路面積が増加する、という問題点がある。
【００８９】
また、図８は本発明の実施の形態１に係る動的再構成可能プロセッサの動的再構成可能プロセッサ５における、状態管理部５０２とプロセッサエレメント６の関係の一例を示す図である。
【００９０】
図８において、状態管理部５０２から再構成用トリガー信号線５０１１を通じて各プロセッサエレメント６に送出された再構成用トリガー信号の有効・無効がマスクメモリ６０６によって判定されることによって部分再構成が行われる。
【００９１】
再構成用トリガー信号線５０１１は各プロセッサエレメント６に独立な配線でなく各プロセッサエレメント６に共通なバスで良く、また、図４の説明で述べたようにマスクメモリ６０６へのマスク情報の格納に使う入力構成情報アドレス指定配線５０６２も各プロセッサエレメント６に共通なバスとして構成できるので配線の増加を少なくすることができる。
【００９２】
したがって、本実施の形態の動的再構成可能プロセッサ５では従来技術と比較してかなり少ない配線資源で部分再構成を実現することが可能である。
【００９３】
（実施の形態２）
以下、本発明の実施の形態２に係る動的再構成可能プロセッサについて図９及び図１０を用いて説明する。本実施の形態以降では、実施の形態１と同じ部分は省略し、異なる部分だけ説明する。
【００９４】
まず、図９により、本発明の実施の形態２に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例について説明する。図９は本発明の実施の形態２に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【００９５】
図９において、プロセッサエレメント６は、マスクメモリ６０６内のマスク情報を選択するマスク情報選択スイッチ６０７、複数のマスク情報を格納できるマスクメモリ６０６を備えている。
【００９６】
図９の５０１３はマスクメモリ６０６の複数のマスク情報のうちの１つを選択するためのマスク情報アドレス指定配線を示している。
【００９７】
本実施の形態でのプロセッサエレメント６を動的再構成可能プロセッサに対する再構成指示手段という観点から見ると、再構成用トリガー信号をマスクするマスク情報を指示する手段と、マスク情報から１つのマスク情報を選択する、即ち、マスク情報を制御するマスク制御情報を指示する手段が従来に対して追加された、と見ることができる。
【００９８】
尚、図９では構成情報バッファ５０７から構成情報メモリ６０１に構成情報を転送することに関連した、図１に見られるような入力用スレッド情報選択スイッチ７０１、入力構成情報転送用配線５０６１、入力構成情報アドレス指定配線５０６２の記載、及び、動作説明は省略する。
【００９９】
ここで、図９に示すプロセッサエレメントでの再構成動作について説明する。
【０１００】
まず、状態管理部５０２は構成情報アドレス指定配線５０１２に次に再構成すべき再構成情報が格納された構成情報メモリ６０１内のアドレスを転送する。
次に、状態管理部５０２はマスク情報アドレス指定配線５０１３に次にマスクすべきマスク情報が格納されたマスクメモリ６０６内のアドレスを転送する。
【０１０１】
さらに、状態管理部５０２は、あからじめプログラムされたタイミング、または、プロセッサアレイ部５０３の処理中の動作状態に基づいて、再構成を起動するための信号を再構成用トリガー信号線５０１１に送出する。
【０１０２】
構成情報選択スイッチ６０４は構成情報アドレス指定配線５０１２によって指定されたアドレスにある構成情報メモリ６０１内の構成情報を選択してＡＬＵ６０２に転送する。
【０１０３】
マスク情報選択スイッチ６０７はマスク情報アドレス指定配線５０１３によって指定されたアドレスにあるマスクメモリ６０６内のマスク情報を選択してＡＮＤ演算器６０５に転送する。
【０１０４】
ＡＮＤ演算器６０５は再構成用トリガー信号線５０１１に送出された再構成用トリガー信号とマスクメモリ６０６からマスク情報選択スイッチ６０７によって選択されたマスク情報との論理積を取り、その演算結果をＡＬＵ６０２に転送する。
【０１０５】
この時、マスク情報選択スイッチ６０７によって選択されたマスク情報が「１」で再構成用トリガー信号が「１」の場合のみ演算結果は「１」となり、それ以外の場合は演算結果は「０」となる。
【０１０６】
ＡＬＵ６０２は構成情報選択スイッチ６０４が選択した構成情報に基づき、ＡＮＤ演算器６０５から転送された演算結果が「１」のタイミングでＡＬＵ６０２の再構成を行う。
【０１０７】
これによりマスク情報選択スイッチ６０７によって選択されたマスク情報が「１」のプロセッサエレメント６のみが再構成されるので、部分再構成が実現できる。
【０１０８】
また、実施の形態１と同様にして少ない配線資源で構成することができる。
【０１０９】
さらに、マスクメモリ６０６に複数のマスク情報を格納することにより、異なる種類のマスク情報を使った部分再構成を高速に行うことができる。
【０１１０】
ここで、図１０により、本発明の実施の形態２に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報について説明する。図１０は本発明の実施の形態２に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図であり、６×６のマトリクス状に配置された複数のマスク情報を示し、図１０の１０３、１０４、１０５、１０６は各々、プロセッサエレメント群を表している。
【０１１１】
図１０（ａ）、図１０（ｂ）、図１０（ｃ）、図１０（ｄ）は、各々、プロセッサエレメント群１０３、１０４、１０５、１０６の各マスクメモリ６０６に格納されたマスク情報のみが「１」で他は「０」であることを示す。
【０１１２】
図１０で示されるマスク情報により、プロセッサエレメント群１０３、１０４、１０５、１０６のみを部分再構成することが可能になる。
【０１１３】
また、これらの部分再構成を順次、適用することにより、ある構成で処理を実行中に、処理が終了したプロセッサエレメント群から順に次の構成へ移ることが可能になる。
【０１１４】
例えば、プロセッサエレメント群１０３の処理が終了したが、プロセッサエレメント群１０４、１０５、１０６の処理が進行中の場合、プロセッサエレメント群１０３のみ再構成し、プロセッサエレメント群１０３のみ、次の構成での処理を開始する。
【０１１５】
次に、プロセッサエレメント群１０４の処理が終了すれば、プロセッサエレメント群１０４のみ再構成し、プロセッサエレメント群１０４のみ、次の構成での処理を開始する。
【０１１６】
これを続けて行うことにより、全プロセッサエレメントの処理の終了を待つことなく、次の構成での処理に移ることができるので、処理時間の短縮ができる。
【０１１７】
（実施の形態３）
以下、本発明の実施の形態３に係る動的再構成可能プロセッサについて図１１及び図１２を用いて説明する。本実施の形態以降では、実施の形態１と同じ部分は省略し、異なる部分だけ説明する。
【０１１８】
まず、図１１により、本発明の実施の形態３に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例について説明する。図１１は本発明の実施の形態３に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【０１１９】
図１１において、プロセッサエレメント６は、マスクメモリ６０６内のマスク情報をそのまま用いるか反転させて用いるかを決定するマスク反転用ＸＯＲ演算器６０８を備えている。図１１の５０１４は、マスク情報をそのまま用いるか反転させて用いるかを指定する信号を転送するマスク情報反転指定配線を示している。
【０１２０】
本実施の形態でのプロセッサエレメント６を動的再構成可能プロセッサに対する再構成指示手段という観点から見ると、再構成用トリガー信号をマスクするマスク情報を指示する手段と、マスク情報の反転を制御する、即ち、マスク情報を制御するマスク制御情報を指示する手段が従来に対して追加された、と見ることができる。
【０１２１】
尚、図１１では構成情報バッファ５０７から構成情報メモリ６０１に構成情報を転送することに関連した、図１に見られるような入力用スレッド情報選択スイッチ７０１、入力構成情報転送用配線５０６１、入力構成情報アドレス指定配線５０６２の記載、及び、動作説明は省略する。
【０１２２】
ここで、図１１に示すプロセッサエレメントでの再構成動作について説明する。
【０１２３】
まず、状態管理部５０２は構成情報アドレス指定配線５０１２に次に再構成すべき再構成情報が格納された構成情報メモリ６０１内のアドレスを転送する。
【０１２４】
次に、状態管理部５０２はマスク情報反転指定配線５０１４に次にマスクすべきマスクメモリ６０６内のマスク情報をそのまま用いるか反転させて用いるかを指定するマスク情報利用情報を転送する。
【０１２５】
さらに、状態管理部５０２は、あからじめプログラムされたタイミング、または、プロセッサアレイ部５０３の処理中の動作状態に基づいて、再構成を起動するための信号を再構成用トリガー信号線５０１１に送出する。
【０１２６】
構成情報選択スイッチ６０４は構成情報アドレス指定配線５０１２によって指定されたアドレスにある構成情報メモリ６０１内の構成情報を選択してＡＬＵ６０２に転送する。
【０１２７】
マスク反転用ＸＯＲ演算器６０８はマスク情報反転指定配線５０１４によって指定されたマスク情報利用情報とマスクメモリ６０６内のマスク情報の排他的論理和を計算してその演算結果をＡＮＤ演算器６０５に転送する。
【０１２８】
この時、マスク情報反転指定配線５０１４によって指定されたマスク情報利用情報が「０」の場合、マスクメモリ６０６内のマスク情報がそのまま演算結果となり、マスク情報反転指定配線５０１４によって指定されたマスク情報利用情報が「１」の場合、マスクメモリ６０６内のマスク情報を反転したものが演算結果となる。
【０１２９】
ＡＮＤ演算器６０５は再構成用トリガー信号線５０１１に送出された再構成用トリガー信号とマスク反転用ＸＯＲ演算器６０８から転送されたデータとの論理積を取り、その演算結果をＡＬＵ６０２に転送する。
【０１３０】
この時、マスク反転用ＸＯＲ演算器６０８の演算結果が「１」で再構成用トリガー信号が「１」の場合のみ演算結果は「１」となり、それ以外の場合は演算結果は「０」となる。
【０１３１】
ＡＬＵ６０２は構成情報選択スイッチ６０４が選択した構成情報に基づき、ＡＮＤ演算器６０５から転送された演算結果が「１」のタイミングでＡＬＵ６０２の再構成を行う。
【０１３２】
これによりマスク情報反転指定配線５０１４によって指定されたマスク情報利用情報が「０」の場合、マスクメモリ６０６内のマスク情報が「１」となるプロセッサエレメント６のみが、また、マスク情報反転指定配線５０１４によって指定されたマスク情報利用情報が「１」の場合、マスクメモリ６０６内のマスク情報が「０」となるプロセッサエレメント６のみが再構成されるので、部分再構成が実現できる。
【０１３３】
本実施の形態では、実施の形態１で説明した配線に加えて、マスク情報反転指定配線５０１４が必要となるが、この配線は各プロセッサエレメント６に共通なバスとして構成することができる。
【０１３４】
したがって、本実施の形態もまた、実施の形態１と同様にして少ない配線資源で構成することができる。
【０１３５】
さらに、マスク情報反転指定配線５０１４にマスク情報利用情報を送出することにより、マスク情報を反転させた部分再構成を高速に行うことができる。
【０１３６】
ここで、図１２により、本発明の実施の形態３に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報について説明する。図１２は本発明の実施の形態３に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図であり、６×６のマトリクス状に配置されたマスク情報を示しており、図１２（ａ）はプロセッサエレメント群の各マスクメモリに格納されたマスク情報、図１２（ｂ）はプロセッサエレメント群の各マスクメモリに格納されたマスク情報を反転させた結果を示している。
【０１３７】
マスク情報反転指定配線５０１４によって指定されたマスク情報利用情報が「０」の場合、（ａ）で示すプロセッサエレメント群１０１のみ再構成が行われる。
【０１３８】
一方、マスク情報反転指定配線５０１４によって指定されたマスク情報利用情報が「１」の場合、（ｂ）で示すプロセッサエレメント群１０２のみ再構成が行われる。
【０１３９】
また、これらの部分再構成を順次、適用することにより、ある構成で処理を実行中に、処理が終了したプロセッサエレメント群から順に次の構成へ移ることが可能になる。
【０１４０】
例えば、プロセッサエレメント群１０１の処理が終了したが、プロセッサエレメント群１０２の処理が進行中の場合、プロセッサエレメント群１０１のみ再構成し、プロセッサエレメント群１０１のみ、次の構成での処理を開始する。
【０１４１】
次に、プロセッサエレメント群１０２の処理が終了すれば、プロセッサエレメント群１０２のみ再構成し、プロセッサエレメント群１０２のみ、次の構成での処理を開始する。これを続けて行うことにより、全プロセッサエレメントの処理の終了を待つことなく、次の構成での処理に移ることができるので、処理時間の短縮ができる。
【０１４２】
（実施の形態４）
以下、本発明の実施の形態４に係る動的再構成可能プロセッサについて図１３及び図１４を用いて説明する。本実施の形態以降では、実施の形態１と同じ部分は省略し、異なる部分だけ説明する。
【０１４３】
まず、図１３により、本発明の実施の形態４に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例について説明する。図１３は本発明の実施の形態４に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【０１４４】
図１３において、プロセッサエレメント６は、マスク情報同士の演算を行うビット演算器６０９を備えている。
【０１４５】
ビット演算器６０９はマスク演算専用であってもＡＬＵ６０２の一部を利用してもどちらでも良い。
【０１４６】
また、ビット演算器６０９の演算種類は固定であっても再構成可能であってもどちらでも良い。
【０１４７】
本実施の形態では、ビット演算器６０９の演算種類が再構成可能である場合について説明する。
【０１４８】
図１３の５０１５はビット演算器６０９の再構成を起動するビット演算器再構成用トリガー配線を示している。
【０１４９】
本実施の形態でのプロセッサエレメント６を動的再構成可能プロセッサに対する再構成指示手段という観点から見ると、再構成用トリガー信号をマスクするマスク情報を指示する手段と、マスク情報同士の演算を制御する、即ち、マスク情報を制御するマスク制御情報を指示する手段が従来に対して追加された、と見ることができる。
【０１５０】
尚、図１３では構成情報バッファ５０７から構成情報メモリ６０１に構成情報を転送することに関連した、図１に見られるような入力用スレッド情報選択スイッチ７０１、入力構成情報転送用配線５０６１、入力構成情報アドレス指定配線５０６２の記載、及び、動作説明は省略する。
【０１５１】
ここで、図１３に示すプロセッサエレメントでの再構成動作について説明する。
【０１５２】
まず、状態管理部５０２は構成情報アドレス指定配線５０１２に次に再構成すべき再構成情報が格納された構成情報メモリ６０１内のアドレスを転送する。
【０１５３】
次に、状態管理部５０２は、あからじめプログラムされたタイミング、または、プロセッサアレイ部５０３の処理中の動作状態に基づいて、ビット演算器６０９の再構成を起動するための信号をビット演算器再構成用トリガー配線５０１５に送出する。
【０１５４】
構成情報選択スイッチ６０４は構成情報アドレス指定配線５０１２によって指定されたアドレスにある構成情報メモリ６０１内の構成情報を選択してＡＬＵ６０２、及び、ビット演算器６０９に転送する。
【０１５５】
ビット演算器６０９はビット演算器再構成用トリガー配線５０１５を通じたトリガー信号を入力したタイミングで構成情報選択スイッチ６０４から転送された構成情報に基づいて、ある演算に再構成される。
【０１５６】
次に、状態管理部５０２は、あからじめプログラムされたタイミング、または、プロセッサアレイ部５０３の処理中の動作状態に基づいて、ＡＬＵ６０２の再構成を起動するための信号を再構成用トリガー信号線５０１１に送出する。
【０１５７】
ビット演算器６０９は再構成用トリガー信号線５０１１を入力したタイミングで、２つのマスクメモリ６０６内のマスク情報の演算を行い、演算結果をＡＮＤ演算器６０５に転送する。
【０１５８】
ＡＮＤ演算器６０５は再構成用トリガー信号線５０１１に送出された再構成用トリガー信号とビット演算器６０９から転送されたデータとの論理積を取り、その演算結果をＡＬＵ６０２に転送する。
【０１５９】
この時、ビット演算器６０９の演算結果が「１」で再構成用トリガー信号が「１」の場合のみ演算結果は「１」となり、それ以外の場合は演算結果は「０」となる。
【０１６０】
ＡＬＵ６０２は構成情報選択スイッチ６０４が選択した構成情報に基づき、ＡＮＤ演算器６０５から転送された演算結果が「１」のタイミングでＡＬＵ６０２の再構成を行う。
【０１６１】
これにより２つのマスクメモリ６０６内のマスク情報の演算結果が「１」となるプロセッサエレメント６のみが再構成されるので、部分再構成が実現できる。
【０１６２】
本実施の形態では実施の形態１で説明した配線に加えて、ビット演算器再構成用トリガー配線５０１５が必要となるが、この配線は各プロセッサエレメント６に共通なバスとして構成することができる。
【０１６３】
したがって、本実施の形態もまた、実施の形態１と同様にして少ない配線資源で構成することができる。
【０１６４】
ここで、図１４により、本発明の実施の形態４に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報について説明する。図１４は本発明の実施の形態４に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図であり、６×６のマトリクス状に配置されたマスク情報を示している。
【０１６５】
また、図１４（ａ）は１０７で指定されたプロセッサエレメント群の第１のマスクメモリに「１」が指定され、それ以外の１０３と１０６で指定されたプロセッサエレメント群の第１のマスクメモリには「０」が指定されたことを表し、図１４（ａ）の図中の点線は図１０との対応を容易にするための線である。
【０１６６】
また、図１４（ｂ）は１０８で指定されたプロセッサエレメント群の第２のマスクメモリに「１」が指定され、それ以外のプロセッサエレメント群の第２のマスクメモリには「０」が指定されたことを表しており、図１４（ｂ）の図中の点線は図１０との対応を容易にするための線である。
【０１６７】
ビット演算器６０９を「ＮＯＲ」に構成した場合、図１４に示す、第１のマスク情報（ａ）と第２のマスク情報（ｂ）のビット演算器６０９の演算結果は図１０（ａ）となる。
【０１６８】
ビット演算器６０９を、図１４に示す、第２のマスク情報（ｂ）の第２のマスクメモリの値の「ＮＯＴ」と第１のマスク情報（ａ）の第１のマスクメモリの値との「ＡＮＤ」を取るように構成した場合、ビット演算器６０９の演算結果は図１０（ｂ）となる。
【０１６９】
ビット演算器６０９を「ＡＮＤ」に構成した場合、ビット演算器６０９の演算結果は図１０（ｃ）となる。
【０１７０】
ビット演算器６０９を、図１４に示す、第１のマスク情報（ａ）の第１のマスクメモリの値の「ＮＯＴ」と第２のマスク情報（ｂ）の第２のマスクメモリの値との「ＡＮＤ」を取るように構成した場合、ビット演算器６０９の演算結果は図１０（ｄ）となる。
【０１７１】
結局、本実施の形態では２つのマスクメモリを使ったが、４つのマスクメモリを使った場合と同様な結果を得ることが可能である。
【０１７２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１７３】
本発明は、構成を動的に変更可能なプロセッサに関し、複数のプロセッサエレメントと複数のエレメント間配線を構成要素とする動的再構成可能プロセッサの再構成指示を行うプロセッサに適用可能である。
【図面の簡単な説明】
【０１７４】
【図１】本発明の実施の形態１に係る動的再構成可能プロセッサとそれを含むシステム例のうち、データ処理に関連する部分を示す図である。
【図２】本発明の実施の形態１に係る動的再構成可能プロセッサとそれを含むシステム例のうち、再構成に関連する部分を示す図である。
【図３】従来のプロセッサエレメントの構成の一例を示す図である。
【図４】本発明の実施の形態１に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【図５】本発明の実施の形態１に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図である。
【図６】従来の部分再構成可能な動的再構成可能プロセッサ５における、状態管理部５０２とプロセッサエレメント６の関係の一例を示す図である。
【図７】従来の部分再構成可能な動的再構成可能プロセッサ５における、状態管理部５０２とプロセッサエレメント６の関係の別の一例を示す図である。
【図８】本発明の実施の形態１に係る動的再構成可能プロセッサの動的再構成可能プロセッサ５における、状態管理部５０２とプロセッサエレメント６の関係の一例を示す図である。
【図９】本発明の実施の形態２に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【図１０】本発明の実施の形態２に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図である。
【図１１】本発明の実施の形態３に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【図１２】本発明の実施の形態３に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図である。
【図１３】本発明の実施の形態４に係る動的再構成可能プロセッサにおけるプロセッサエレメントの構成の一例を示す図である。
【図１４】本発明の実施の形態４に係る動的再構成可能プロセッサのプロセッサエレメントで使用するマスク情報を示す図である。
【符号の説明】
【０１７５】
１…ＣＰＵ、２…メモリ、３…ＤＭＡＣ、４…バス、５…動的再構成可能プロセッサ、６…プロセッサエレメント、５０１…再構成用配線、５０１１…再構成用トリガー信号線、５０１２…構成情報アドレス指定配線、５０１３…マスク情報アドレス指定配線、５０１４…マスク情報反転指定配線、５０１５…ビット演算器再構成用トリガー配線、５０２…状態管理部、５０２１…構成情報アドレスメモリ、５０２２…マスク情報アドレスメモリ、５０３…プロセッサアレイ部、５０４…データ転送用配線、５０５…演算データ用メモリ、５０６…構成情報転送用配線、５０６１…入力構成情報転送用配線、５０６２…入力構成情報アドレス指定配線、５０７…構成情報バッファ、５０８…構成情報転送用外側配線、５０９…エレメント間配線、６０１…構成情報メモリ、６０２…ＡＬＵ、６０３…構成情報転送用内側配線、６０４…構成情報選択スイッチ、６０５…ＡＮＤ演算器、６０６…マスクメモリ、６０７…マスク情報選択スイッチ、６０８…ＸＯＲ演算器、６０９…ビット演算器、７０１…入力用スレッド情報選択スイッチ。
【図１】
2008165537.tif 000003
【図２】
2008165537.tif 000004
【図３】
2008165537.tif 000005
【図４】
2008165537.tif 000006
【図５】
2008165537.tif 000007
【図６】
2008165537.tif 000008
【図７】
2008165537.tif 000009
【図８】
2008165537.tif 000010
【図９】
2008165537.tif 000011
【図１０】
2008165537.tif 000012
【図１１】
2008165537.tif 000013
【図１２】
2008165537.tif 000014
【図１３】
2008165537.tif 000015
【図１４】
2008165537.tif 000016