(57)【要約】【課題】回路構成情報を効率的に保持、転送する再構成可能電子回路装置を提供する。【解決手段】複数のＰＥ１０と、複数のＰＥ１０のそれぞれに電子回路を実現させるための回路構成情報を複数記憶するＤＲＡＭ５０、複数のＰＥ１０のいずれかにロードされた回路構成情報をキャッシュする二次キャッシュ６０、複数のＰＥ１０のそれぞれにロードすべき回路構成情報を選択し、選択された回路構成情報が二次キャッシュ６０に記憶されていなければＤＲＡＭ５０から二次キャッシュ６０に読み出し、選択された回路構成情報を二次キャッシュ６０からＰＥ１０にロードするキャッシュ制御部７０、を備える。【選択図】図２
2010002986.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッシングエレメントと、
前記複数のプロセッシングエレメントのそれぞれに電子回路を実現させるための回路構成情報を複数記憶する主記憶部、
前記複数のプロセッシングエレメントのいずれかにロードされた回路構成情報をキャッシュするキャッシュ部、
前記複数のプロセッシングエレメントのそれぞれにロードすべき回路構成情報を選択し、当該選択された回路構成情報が前記キャッシュ部に記憶されていなければ前記主記憶部から前記キャッシュ部に読み出し、当該選択された回路構成情報を当該キャッシュ部から当該プロセッシングエレメントにロードするキャッシュ制御部、
を備える、ことを特徴とする再構成可能電子回路装置。
【請求項２】
請求項１に記載の再構成可能電子回路装置であって、
前記キャッシュ部にキャッシュされる回路構成情報には、当該プロセッシングエレメントにおけるアドレス範囲と当該アドレス範囲に配置されるコード列とが対応付けて指定され、当該コード列には所定の無効コードは含まれず、
前記キャッシュ制御部は、当該プロセッシングエレメントにおける各アドレスを当該所定の無効コードでクリアしてから、当該回路構成情報に指定されるアドレス範囲のそれぞれについてこれに対応付けられるコード列を書き込むことにより、当該回路構成情報をロードする、
ことを特徴とする再構成可能電子回路装置。
【請求項３】
請求項１又は２に記載の再構成可能電子回路装置であって、
前記キャッシュ部を複数備え、
前記複数のプロセッシングエレメントのそれぞれは、前記複数のキャッシュ部のいずれかに対応付けられて、当該対応付けられたキャッシュ部にキャッシュされる回路構成情報がロードされる、
ことを特徴とする再構成可能電子回路装置。
【請求項４】
請求項３に記載の再構成可能電子回路装置であって、
前記複数のプロセッシングエレメントは、格子状に配置され、
当該格子は、同じ大きさの長方形に分割され、
前記複数のプロセッシングエレメントのうち、同じ長方形に配置されるプロセッシングエレメントは同じキャッシュ部に対応付けられる、
ことを特徴とする再構成可能電子回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路構成情報を効率的に保持、転送する再構成可能電子回路装置に関する。
【背景技術】
【０００２】
近年、専用論理回路並の性能を実現しつつ、回路動作の変更が容易に可能であるデバイスとしてＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＤＲＰ（Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）が注目されている。例えば、特許文献１と特許文献２とに、ＤＲＰのアーキテクチャの一例が開示されている。
【０００３】
ＦＰＧＡやＤＲＰは、あらかじめデバイス内のコンフィギュレーションメモリに記憶された回路構成情報（以下、「コンフィギュレーションコード」という。）に応じた回路動作を実行する。従って、これらのデバイスで大規模な回路を実現させる場合、多くのコンフィギュレーションコードを保持する必要がある。特に、ＤＲＰのようにコンフィギュレーションの構成を複数持ち、この構成を時間軸上で動的に切り替える場合、より多くのコンフィギュレーションコードを保持する必要がある。
【特許文献１】特許第３９８７７８２号公報
【特許文献２】特許第３９８７７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、各演算器内に用意するコンフィギュレーションメモリのサイズを大きくすると、デバイス全体に対してこのコンフィギュレーションメモリが占める割合が大きくなり、逆に演算回路が占める割合は小さくなるので、演算器同士の距離が遠くなり、配線遅延が増大してしまうことがある。
【０００５】
この配線遅延の増大を抑制する方法として、例えば、高速で動作するトランジスタを用いる方法が考えられる。しかし、高速で動作するトランジスタは一般的にリーク電流が大きいため消費電力が増大してしまう。
【０００６】
このほか、回路構成情報の参照には偏りがあるため、この偏りを利用して効率よく回路構成情報を保持、転送できるようにしたいという要望がある。さらに、回路構成情報に含まれるコードにも偏りがあるため、回路構成情報を効率よく保持したいという要望も強い。
【０００７】
本発明は、上記問題に鑑みてなされたものであり、回路構成情報を効率的に保持、転送する再構成可能電子回路装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の観点に係る再構成可能電子回路装置は、複数のプロセッシングエレメント、主記憶部、キャッシュ部、キャッシュ制御部を備え、以下のように構成する。
まず、主記憶部は、複数のプロセッシングエレメントのそれぞれに電子回路を実現させるための回路構成情報を複数記憶する。
次に、キャッシュ部は、複数のプロセッシングエレメントのいずれかにロードされた回路構成情報をキャッシュする。
そして、キャッシュ制御部は、複数のプロセッシングエレメントのそれぞれにロードすべき回路構成情報を選択する。ここで、キャッシュ制御部は、当該選択された回路構成情報がキャッシュ部に記憶されていなければ主記憶部からキャッシュ部に読み出し、当該選択された回路構成情報をキャッシュ部からプロセッシングエレメントにロードする。
【発明の効果】
【０００９】
本発明によれば、回路構成情報を効率的に保持、転送する再構成可能電子回路装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本実施形態に係る再構成可能電子回路装置について説明する。なお、本実施形態に係る再構成可能電子回路装置は、ＤＲＰ（Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）であるが、再構成可能電子回路装置はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）であってもよい。
【００１１】
まず、図１を参照して、本実施形態に係る再構成可能電子回路装置が備えるプロセッシングエレメント（以下、「ＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ）」とする。）１０について説明する。なお、再構成可能電子回路装置の内部には、多数のＰＥ１０が格子状に配置され、各ＰＥ１０は、データ配線及びフラグ配線により他のＰＥ１０と接続される。ここでは、理解を容易にするため、図１には１つのＰＥ１０のみを示し、１つのＰＥの構成と動作とを説明する。
【００１２】
図１に示すように、ＰＥ１０は、コンフィギュレーションメモリ（一次キャッシュ）１１と、演算ユニット１２と、レジスタ１３と、を備える。ＰＥ１０が備える各要素は、ＰＥ１０内において、図示しないデータ配線を介してデータの受け渡しを行い、図示しないフラグ配線を介してフラグの受け渡しを行う。
【００１３】
ＰＥ１０は、データ配線を介して他のＰＥ１０から供給されたデータに対して所定の演算を施し、演算により得られたデータをデータ配線を介して別のＰＥ１０に供給する。また、ＰＥ１０は、フラグ配線を介して他のＰＥ１０からフラグを供給される。さらにＰＥ１０は、フラグをフラグ配線を介して別のＰＥ１０に供給する。
【００１４】
コンフィギュレーションメモリ１１は、演算ユニット１２の命令の内容（以下、「演算情報」という。）と、配線接続スイッチ２１、２２、２５、３１、３２の配線接続情報とをコンフィギュレーションコード（以下、「回路構成情報」という。）として記憶する。なお、コンフィギュレーションメモリ１１は、各ＰＥ１０毎に時間軸上で動的に切り替える構成面（以下、「コンテキスト」という。）の個数分用意されることとなるが、ＰＥ１０同士で共通する場合もあり得る。図１に示す例では、コンフィギュレーションメモリ１１は、コンテキスト１〜コンテキストＮにそれぞれ対応したＮ個分の回路構成情報（コード１〜コードＮ）を記憶している。
【００１５】
また、演算ユニット１２は、供給されたデータに対し所定の演算を施す。なお、演算ユニット１２が施す演算内容は、コンフィギュレーションメモリ１１に記憶された演算情報のうち、対応するコンテキストの演算情報により決定される。
【００１６】
レジスタ１３は、演算ユニット１２が出力した演算結果のデータや演算中の中間データなどを一時記憶する。
【００１７】
配線接続スイッチ２１、２２、２５は、それぞれの配線接続情報に従って、対応するＰＥ１０（当該配線接続情報を記憶するコンフィギュレーションメモリ１１を備えるＰＥ１０）と、他のＰＥ１０（例えば、隣接するＰＥ１０）とをデータ配線で接続する。
【００１８】
配線接続スイッチ３１、３２、２５は、それぞれの配線接続情報に従って、対応するＰＥ１０（当該配線接続情報を記憶するコンフィギュレーションメモリ１１を備えるＰＥ１０）と、他のＰＥ１０（例えば、隣接するＰＥ１０）とをフラグ配線で接続する。
【００１９】
配線接続スイッチ２１、２２、２５、３１、３２は、コンフィギュレーションメモリ１１に記憶された配線接続情報のうち、対応するコンテキストの配線接続情報に従って配線を接続する。なお、配線接続スイッチ２５は、データ配線やフラグ配線の交差部に配置される。
【００２０】
次に、図２を参照して、本実施形態に係る再構成可能電子回路装置１００の基本構成について説明する。
【００２１】
図２に示すように、再構成可能電子回路装置１００は、複数のＰＥ１０と、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０と、二次キャッシュメモリ（以下、「二次キャッシュ」という。）６０と、キャッシュ制御部７０と、を備える。
【００２２】
ＰＥ１０、再構成可能電子回路装置１００内部に複数配置される。
【００２３】
ＤＲＡＭ５０は、複数のＰＥ１０のそれぞれに電子回路を実現させるための回路構成情報を複数記憶する。ＤＲＡＭ５０は、大容量のメモリであり、主記憶部として機能する。
【００２４】
二次キャッシュ６０は、複数のＰＥ１０のいずれかにロードされた回路構成情報をキャッシュする。二次キャッシュ６０は、キャッシュ部として機能する。
【００２５】
キャッシュ制御部７０は、複数のＰＥ１０のそれぞれにロードすべき回路構成情報を選択する。そして、キャッシュ制御部７０は、当該選択された回路構成情報が二次キャッシュ６０に記憶されていなければＤＲＡＭ５０から二次キャッシュ６０に読み出す。そして、キャッシュ制御部７０は、当該選択された回路構成情報を当該二次キャッシュ６０から当該ＰＥ１０にロードする。
【００２６】
ロードすべき回路構成情報は、番号や名前、ＤＲＡＭ５０内でのアドレスなどの識別名が割り当てられており、回路構成情報をキャッシュする際には、当該識別名をキーとしてキャッシュするのが典型的である。
【００２７】
次に、図３〜５を参照して、再構成可能電子回路装置１００において、二次キャッシュ６０がどのように配置され、どのようにＰＥ１０（厳密には、ＰＥ１０内にあるコンフィギュレーションメモリ１１）と接続されるかを説明する。
【００２８】
図３に、ＰＥ１０の列毎に二次キャッシュ６０を設け、二次キャッシュ６０を、対応する列に属するＰＥ１０のそれぞれと接続する例を示す。かかる構成では、二次キャッシュ６０から、対応する列に属するＰＥ１０がそれぞれの備えるコンフィギュレーションメモリ１１に回路構成情報を転送することが可能となる。
【００２９】
図４に、ＰＥ１０の行毎に二次キャッシュ６０を設け、二次キャッシュ６０を、対応する行に属するＰＥ１０のそれぞれと接続する例を示す。かかる構成では、二次キャッシュ６０から、対応する行に属するＰＥ１０がそれぞれの備えるコンフィギュレーションメモリ１１に回路構成情報を転送することが可能となる。
【００３０】
図５に、任意の数のＰＥ１０の行と任意の数のＰＥ１０の列とから構成されるＰＥ１０のブロック毎に二次キャッシュ６０を設け、二次キャッシュ６０を、対応するブロックに属するＰＥ１０のそれぞれと接続する例を示す。かかる構成では、二次キャッシュ６０から、対応するブロックに属するＰＥ１０がそれぞれの備えるコンフィギュレーションメモリ１１に回路構成情報を転送することが可能となる。なお、図５に示す例では、１ブロックは、８個（４行×２列）のＰＥ１０から構成されている。
【００３１】
次に、図６〜１０を参照して、本実施形態に係る再構成可能電子回路装置１００の動作について説明する。
【００３２】
まず、再構成可能電子回路装置１００の動作の説明の前に、図６に示す再構成可能電子回路装置１００の構成について簡単に説明する。なお、図６には、ＰＥ１０の行毎に二次キャッシュ６０を配置する例を示す。図６には、理解を容易にするため、１行分のＰＥ１０と二次キャッシュ６０とのみを示す。
【００３３】
図６に示すように、再構成可能電子回路装置１００は、複数のＰＥ１０と、ＤＲＡＭ５０と、二次キャッシュ６０と、キャッシュ制御部７０と、を備える。なお、ＰＥ１０とＤＲＡＭ５０とについては、図２を参照して説明した基本構成と同様であるため説明を省略する。
【００３４】
二次キャッシュ６０は、ＤＲＡＭ５０よりも高速で動作する記憶装置であって、例えば、デュアルポートＲＡＭにより構成される。二次キャッシュ６０をデュアルポートＲＡＭにより構成した場合、ＤＲＡＭ５０から回路構成情報を読み込みながら、コンフィギュレーションメモリ１１に回路構成情報を転送することが可能となる。
【００３５】
キャッシュ制御部７０は、キャッシュコントローラ７１と、状態遷移コントローラ７２と、から構成される。
【００３６】
キャッシュコントローラ７１は、コンフィギュレーションメモリ１１と二次キャッシュ６０とから構成される階層キャッシュを制御する。キャッシュコントローラ７１は、主に以下の（ａ）〜（ｄ）の事項について制御する。（ａ）二次キャッシュ６０からＰＥ１０の備えるコンフィギュレーションメモリ１１へどの回路構成情報をどのタイミングでロードするか。（ｂ）コンフィギュレーションメモリ１１に保持している複数の回路構成情報のうち、どの回路構成情報をどのタイミングで破棄するか。（ｃ）ＤＲＡＭ５０から二次キャッシュ６０へどの回路構成情報をどのタイミングでロードするか。（ｄ）二次キャッシュ６０に保持している複数の回路構成情報のうち、どの回路構成情報をどのタイミングで破棄するか。なお、キャッシュコントローラ７１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で代用してもよい。
【００３７】
状態遷移コントローラ７２は、再構成可能電子回路装置１００のとりうる状態を制御する。特に、状態遷移コントローラ７２は、図７に示すように、コンテキストを切り替えることにより、再構成可能電子回路装置１００のとりうる状態を制御する。状態遷移コントローラ７２は、コンテキストの切り替えのタイミング等を示す信号を制御情報としてキャッシュコントローラ７１に供給する。
【００３８】
キャッシュコントローラ７１は、その信号に基づいて、いずれの回路構成情報をいずれのＰＥ１０にロードするかを決定し、ロードすべき回路構成情報が二次キャッシュ６０に記憶されていればそれを用いてＰＥ１０へロードし、記憶されなければ、二次キャッシュ６０に記憶させる処理とＰＥ１０へのロード処理とを行う。
【００３９】
まず、状態遷移コントローラ７２は、例えば、各ＰＥ１０の入出力の状態やクロック信号などに基づいて、各ＰＥ１０の回路構成情報の更新タイミング（コンテキストの切り替えのタイミング）を検出する。状態遷移コントローラ７２は、回路構成情報の更新タイミングを検出すると、更新タイミングを示す情報を制御情報としてキャッシュコントローラ７１に供給する。
【００４０】
キャッシュコントローラ７１は、制御情報を状態遷移コントローラ７２から供給されると、制御情報に基づいて、回路構成情報を更新する。
【００４１】
具体的には、例えば、キャッシュコントローラ７１は、１つのＰＥ１０のコンフィギュレーションメモリ１１に書き込むべき回路構成情報を特定（ＤＲＡＭ５０に記憶された回路構成情報から選択）する。そして、キャッシュコントローラ７１は、当該特定した回路構成情報が、当該ＰＥ１０に接続された二次キャッシュ６０に記憶されているか否かを判別する。回路構成情報の特定には、上記のように、番号、名前、ＤＲＡＭ５０内でのアドレスなどの識別名が用いられ、二次キャッシュ６０では、これらの識別名をキーとしたキャッシュを行う。
【００４２】
キャッシュコントローラ７１は、当該特定した回路構成情報が当該二次キャッシュ６０に記憶されていると判別したときは、二次キャッシュ６０から当該回路構成情報を読み出し当該ＰＥ１０に供給する。一方、キャッシュコントローラ７１は、当該特定した回路構成情報が当該二次キャッシュ６０に記憶されていないと判別したときは、ＤＲＡＭ５０から当該特定した回路構成情報を二次キャッシュ６０に読み出すとともに、当該ＰＥ１０に供給する。
【００４３】
なお、ＰＥ１０は、供給された回路構成情報をコンフィギュレーションメモリ１１に書き込む。キャッシュコントローラ７１は、全てのＰＥ１０に回路構成情報を供給すると、回路構成情報の更新を終了する。
【００４４】
図６には、キャッシュ制御部７０が状態遷移コントローラ７２を備える例を示したが、図８に示すように、キャッシュ制御部７０が状態遷移コントローラ７２備えない構成でもよい。
【００４５】
かかる構成の場合、図８に示すように、キャッシュコントローラ７１は、各ＰＥ１０の状態などを監視して、直接ＰＥ１０と制御情報の受け渡しを行い、回路構成情報の特定やロードなどを行う。演算要素がＰＥではなく、ＦＰＧＡのようにＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）である場合も同様である。
【００４６】
次に、図９を参照して、二次キャッシュ６０に記憶される回路構成情報について説明する。
【００４７】
図９に示すように、二次キャッシュ６０には、１０パターンの回路構成情報が記憶されるものとする。また、各回路構成情報は、「０ｘ００」〜「０ｘ０Ｆ」の各アドレスに対応付けられた１バイトのコード列、すなわち、全体で１６バイトのコード列から構成されるものとする。なお、コード列が特定のコード、例えば「ＮＯＰ」を示すコード（例えば、１６進数で「０ｘ００」）である場合、当該コード列を記憶しない。この「ＮＯＰ」コードは、ＰＥ１０の動作を指定する命令として考えるときには「何もしない」ことを意味し、電子回路を構成する命令として考えるときには「何も配線しない」ことを意味するものである。
【００４８】
図９に示す例では、パターン１は、アドレス「０ｘ００」、「０ｘ０１」、「０ｘ０４」及び「０ｘ０Ｆ」に対応付けられたコード列は「０ｘ００」ではないため二次キャッシュ６０に記憶するが、他のアドレスのコード列は全て「０ｘ００」であるため記憶しない。同様に、パターン２では、アドレス「０ｘ００」及び「０ｘ０１」以外のアドレスに対応付けられたコード列は全て「０ｘ００」であるため、記憶しない。
【００４９】
ＤＲＰにおいては、演算ユニット１２のうち何も命令を実行しない演算ユニット１２が数多く存在することが予想される。演算ユニット１２に何も命令を実行しないように指定する演算情報としてＮＯＰを示すコード列、例えば「０ｘ００」を用いることが考えられ、コンフィギュレーションメモリ１１には演算情報として多くの「０ｘ００」が記憶されることが予想される。
【００５０】
また、配線接続スイッチ２１、２２、２５、３１、３２のうちどの配線も接続しない配線接続スイッチ２１、２２、２５、３１、３２が数多く存在することも予想される。この場合も、配線接続情報として多くの「０ｘ００」が記憶されることが予想される。
【００５１】
このため、二次キャッシュ６０において、コード列が「０ｘ００」である場合に、そのコード列部分を圧縮することで、当該コード列を記憶しないことにより、二次キャッシュ６０に記憶されるデータ量を大幅に減らすことが可能となる。
【００５２】
次に、図１０を参照して、キャッシュコントローラ７１がＰＥ１０のコンフィギュレーションメモリ１１に回路構成情報を書き込む手順について説明する。図６に示すように、二次キャッシュ６０には４つのＰＥ１０（図１０において、ＰＥ（Ａ）、ＰＥ（Ｂ）、ＰＥ（Ｃ）、ＰＥ（Ｄ））が接続されている。このときの転送は、転送する信号経路の幅によって制限され、一回に一つのＰＥ１０の内容しか転送できないと仮定して説明する。
【００５３】
キャッシュコントローラ７１は、接続された全てのＰＥ１０のコンフィギュレーションメモリ１１に記憶されたコードを全てクリアする。これは、コンフィギュレーションメモリ１１にＮＯＰ以外のコードが残っていると、ＰＥ１０が無用な演算を実行することによって消費電力が増加したり、配線接続スイッチが予期せぬ接続を行うことによって回路素子を破壊する可能性があるためである。
【００５４】
なお、ＮＯＰに相当する回路構成情報を転送すると転送に時間がかかる。そこで一度、消去してから必要に応じて新しい回路構成情報を転送する。すなわち、転送がなければ消去されるだけとなる。
【００５５】
キャッシュコントローラ７１は、接続された全てのＰＥ１０のコンフィギュレーションメモリ１１の全てのアドレスを「０ｘ００」でクリアした後に、各ＰＥ１０のコンフィギュレーションメモリ１１に対して「０ｘ００」以外のコード列から構成される回路構成情報を書き込む。このように、最低限必要なコード列のみを逐一書き込むことで、書き込みにかかる時間を減らすことが可能となる。
【００５６】
なお、コンフィギュレーションメモリ１１の全てのアドレスを「０ｘ００」でクリアする手法として、コンフィギュレーションメモリ１１に、全てのアドレスについて「０ｘ００」でクリアする機構を設けても良いし、ＤＭＡ転送などにより全てのアドレスについて自動的に「０ｘ００」を書き込むようにしてもよい。
【００５７】
また、１つの二次キャッシュ６０と接続されるＰＥ１０にロードされる回路構成情報は、同じパターンである可能性が高い。すなわち、図３〜５に波線で示したＰＥ群のように、同一の列、同一の行、或いは同一のグループ、に属するＰＥ１０は同じ演算処理を実行する可能性が高い。理由を以下に示す。
【００５８】
ＤＲＰにより実現される回路に実行させる処理は、同一の演算を並列処理やパイプライン処理することにより実現される場合が多いと予想される。そして、並列処理やパイプライン処理を実行する場合、同一の列又は同一の行に属するＰＥ１０の演算処理は同一となり、回路構成情報も同一になることが予想される。さらに、これらの処理を実行する場合、あるＰＥ１０が実行した処理と同一の処理を、次のタイミングで当該ＰＥ１０に隣接するＰＥ１０で実行する可能性も高くなり、同一の回路構成情報を次のタイミングで隣接するＰＥ１０にロードする可能性が高くなる。
【００５９】
このように、本実施形態に係る再構成可能電子回路装置１００では、二次キャッシュ６０におけるキャッシュのヒット率が高くなることが予想され、結果として再構成可能電子回路装置１００の動作速度の向上が期待できる。
【００６０】
また、コンテキスト数を増やしたい場合、二次キャッシュ６０の容量を増やすだけでよい。すなわち、ＰＥ１０毎に用意されている容量の少ないコンフィギュレーションメモリ１１の容量をそれぞれ増やすことに比べると、複数のＰＥ１０のコンフィギュレーションをまとめて記憶する二次キャッシュ６０の容量を増やす方が面積の増加が少なくてすむ。そして、コンフィギュレーションメモリの面積を小さくすることができると、ＰＥ１０間の距離も短くなるため遅延を短縮することができる。
【００６１】
また、二次キャッシュ６０は一次キャッシュ（コンフィギュレーションメモリ１１）とは異なり、遅延短縮の要求は少ないため低速であるがリーク電流が少ないトランジスタで構成することができる。このため、消費電力を減らすことができる。
【００６２】
上記実施形態では、コンフィギュレーションメモリ１１が記憶する回路構成情報は、演算ユニット１２の演算情報に加え、ＰＥ１０近傍の配線接続スイッチ２１、２２、２５、３１、３２の配線接続情報を含むものとして説明した。しかし、演算情報と、配線接続情報とは別のメモリに記憶するようにしてもよい。この場合、演算情報用の二次キャッシュと配線接続情報用の二次キャッシュを別々に設け、キャッシュ制御部がこれらの二次キャッシュを別々に制御するようにすればよい。
【００６３】
上記実施形態では、再構成可能電子回路装置が演算器がベースのＤＲＰから構成されるものとして説明した。しかし、再構成可能電子回路装置は、ＬＵＴで実現されるＦＰＧＡ、プロダクトタームがベースのＰＬＤ等から構成されてもよい。
【００６４】
上述のように、本発明によれば、回路構成情報を効率的に保持、転送する再構成可能電子回路装置を提供することができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態に係る再構成可能電子回路装置が備えるプロセッシングエレメントの構成を示す図である。
【図２】本発明の実施形態に係る再構成可能電子回路装置の基本構成を示すブロック図である。
【図３】二次キャッシュとプロセッシングエレメントとの第１の配置及び接続例を示すブロック図である。
【図４】二次キャッシュとプロセッシングエレメントとの第２の配置及び接続例を示すブロック図である。
【図５】二次キャッシュとプロセッシングエレメントとの第３の配置及び接続例を示すブロック図である。
【図６】再構成可能電子回路装置の動作を説明するためのブロック図である。
【図７】状態遷移コントローラが実行するコンテキストの切り替え動作を説明するための図である。
【図８】キャッシュ制御部が状態遷移コントローラを備えない場合のキャッシュコントローラの動作を説明するためのブロック図である。
【図９】二次キャッシュに記憶される回路構成情報を説明するための図である。
【図１０】回路構成情報を書き込む手順を説明するための図である。
【符号の説明】
【００６６】
１０  ＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ）
１１  コンフィギュレーションメモリ
１２  演算ユニット
１３  レジスタ
２１、２２、２５、３１、３２  配線接続スイッチ
５０  ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
６０  二次キャッシュ
７０  キャッシュ制御部
７１  キャッシュコントローラ
７２  状態遷移コントローラ
１００  再構成可能電子回路装置
【図１】
2010002986.tif 000003
【図２】
2010002986.tif 000004
【図３】
2010002986.tif 000005
【図４】
2010002986.tif 000006
【図５】
2010002986.tif 000007
【図６】
2010002986.tif 000008
【図７】
2010002986.tif 000009
【図８】
2010002986.tif 000010
【図９】
2010002986.tif 000011
【図１０】
2010002986.tif 000012