(57)【要約】  消費電力を低減しつつ高速に動作することができるプログラマブルデバイスを提供する。  プログラマブルデバイス２は、構成メモリ２１とコアロジック２２を含む複数のプロセッシングタイル１１と、それらをプログラミングする構成制御手段１３と、それらの動作状態に応じて電力供給を遮断する電力制御手段１２とを備え、コアロジック２２の内部状態を構成メモリ１１に退避してからコアロジック２２の電源を遮断し、またコアロジック２２の電源を再度供給し、前記内部状態を構成メモリ２１からコアロジック２２へ復帰することで、内部状態を維持しつつ省電力化される。
2009063584.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルデバイスであって、
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルと、
コアロジック部と構成メモリとに電力を供給する電力供給手段と、
１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段と
を備えることを特徴とするプログラマブルデバイス。
【請求項２】
前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しない
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項３】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断する
ことを特徴とする請求項２記載のプログラマブルデバイス。
【請求項４】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断する
ことを特徴とする請求項２記載のプログラマブルデバイス。
【請求項５】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定する
ことを特徴とする請求項４記載のプログラマブルデバイス。
【請求項６】
前記制御手段は、前記コアロジック部への電力供給路を遮断する場合には、遮断前に前記構成メモリを用いて前記コアロジック部の内部状態を待避させ、前記電力供給路を接続する場合には、接続後に前記内部状態を前記コアロジック部に復帰させる
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項７】
前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させる
ことを特徴とする請求項６記載のプログラマブルデバイス。
【請求項８】
前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定する
ことを特徴とする請求項７記載のプログラマブルデバイス。
【請求項９】
前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させる
ことを特徴とする請求項６記載のプログラマブルデバイス。
【請求項１０】
前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成される
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項１１】
前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成される
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項１２】
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、
コアロジック部と構成メモリとに電力を供給する電力供給ステップと、
１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御ステップと
を含むことを特徴とするデバイス制御方法。
【請求項１３】
情報処理システムであって、
プログラマブルデバイスと、
前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、
前記プログラマブルデバイスを駆動する外部電源手段とを備え、
前記プログラマブルデバイスは、
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルと、
前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、
１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段と
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルデバイスの省電力化に関する。
【背景技術】
【０００２】
近年、動作中であっても数マイクロ秒から数ナノ秒という短時間に構成変更できる動的再構成デバイスが開発されている（非特許文献１参照）。【０００３】
前記デバイスをより高速化、微細化する場合、チップの総消費電力の５０％程度をも占めることがあるリーク電力が問題となる。【０００４】
上記問題への対策として、パワーゲーティング（Ｐｏｗｅｒ  Ｇａｔｉｎｇ）技術を適用し、機能割り当てが無く未使用であるか、待機状態である回路ブロックへの電源供給を遮断する技術が特許文献１に開示されている。
【特許文献１】米国特許第７０９８６８９号
【非特許文献１】Ｍａｓａｔｏ  Ｍｏｔｏｍｕｒａ，  “Ａ  Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ”,  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  Ｆｏｒｕｍ，  Ｏｃｔ．  ２００２
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、動作を一時停止し待機状態である回路ブロックの電源を省電力化のために遮断すると、回路ブロックの動作を定義している構成情報までもがＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）から消失し、次に電源を供給する際に当該構成情報を再度設定する必要があるため、待機前の状態から即座に動作を再開することが出来ないという課題がある。【０００６】
上記課題に鑑み、本発明は、電源遮断時に内部状態を消失させずに高速な電源遮断制御を行って省電力化することができるプログラマブルデバイスを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、プログラマブルデバイスであって、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルと、コアロジック部と構成メモリとに電力を供給する電力供給手段と、１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。
【発明の効果】
【０００８】
本発明のプログラマブルデバイスは、上述の構成を備えることにより、使用されていないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。【０００９】
ここで、コアロジック部は、通常、構成メモリ部に比べ消費電力が２桁程度大きく、コアロジック部のみ電力供給を遮断すれば消費電力は１００分の１以下程度に低減し得る。【００１０】
また、コアロジック部及び構成メモリの双方への電力供給を一旦遮断すると、再度電力供給を行って動作させる場合に、外部記憶装置等から初期設定等を構成メモリに順次読み出す必要があり、読み出しに時間がかかる。本願発明のように、構成メモリに電力供給を行っておけば、前述したような外部記憶装置等から構成メモリへの初期設定等の読み出し時間は必要なく、迅速に電源遮断、復帰ができ、デバイス全体として処理に要する時間を低減することができる。【００１１】
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しないこととしてもよい。【００１２】
この構成によれば、構成メモリへ給電しつつ、構成メモリとは別個独立に消費電力が構成メモリに比べ大きいコアロジック部への電力供給を停止できるので、低消費電力化を図ることができる。【００１３】
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断することとしてもよい。【００１４】
この構成によれば、機能が割り当てられてはいるものの動作中でないコアロジックの消費電力を低減でき、コアロジックの電源遮断時にも構成メモリの内容を維持できるため、動作再開に要する時間を短縮できる。【００１５】
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断することとしてもよい。【００１６】
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定することとしてもよい。【００１７】
この構成によれば、動作していないコアロジックを電源遮断する一方で、構成メモリについては機能割当が無い状態か、待機状態かに応じて電源遮断させることで、効果的な期間と範囲で電源遮断が適用できる。【００１８】
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合には、遮断前に前記構成メモリを用いて前記コアロジック部の内部状態を待避させ、前記電力供給路を接続する場合には、接続後に前記内部状態を前記コアロジック部に復帰させることとしてもよい。【００１９】
この構成によれば、電源遮断されることにより揮発するコアロジックの内部状態を、外部の記憶手段を用いること無く各プロセッシングタイル内で同時並列的に退避・復帰でき、電源遮断制御の高速化を図ることができる。【００２０】
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させることとしてもよい。【００２１】
また、前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定することとしてもよい。【００２２】
この構成によれば、構成メモリの既存領域にコアロジックの内部状態を退避させることで、構成メモリの領域を拡張する必要が無く面積コストの増大を抑制できる。【００２３】
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させることとしてもよい。【００２４】
この構成によれば、構成変更時に、構成メモリにおける変更後の構成情報が書き込まれることになる領域には退避できない場合に、構成メモリに新たに拡張領域を持たせることで構成変更時の内部状態を退避可能になる。【００２５】
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成されることとしてもよい。【００２６】
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成されることとしてもよい。【００２７】
この構成によれば、一般的に動作速度向上への要求が厳しいコアロジックではなく、構成変更後は基本的に静止状態となる構成メモリを低リークとすることができ、コアロジックのみを電源遮断した場合にも全体のリーク電力を低減できる。【００２８】
本発明のデバイス制御方法は、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、コアロジック部と構成メモリとに電力を供給する電力供給ステップと、１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御ステップとを含む。【００２９】
本発明の情報処理システムは、プログラマブルデバイスと、前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、前記プログラマブルデバイスを駆動する外部電源手段とを備え、前記プログラマブルデバイスは、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルと、前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。【００３０】
この構成によれば、動作していないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。
【図面の簡単な説明】
【００３１】
【図１】実施の形態１に係るプログラマブルデバイスの構成を示すブロック図である。
【図２】実施の形態１に係るプログラマブルデバイスを詳細に説明するためのブロック図である。
【図３】実施の形態１に係るプロセッシングユニットの構造を示す図である。
【図４】実施の形態１に係るパワーゲーティングスイッチの例を示す図である。
【図５】実施の形態１に係るプログラマブルデバイスの全体制御フローチャートである。
【図６】実施の形態１に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。
【図７】（ａ）実施の形態１に係るプロセッシングタイルに割り当てたユーザ回路のステートマシンの例を示す図である。(ｂ）ユーザ回路の機能モジュール割り当て例を示す図である。(ｃ）機能モジュール毎の待機ステータス信号の例を示す図である。
【図８】実施の形態２に係るプログラマブルデバイスのブロック図である。
【図９】実施の形態２に係るプログラマブルデバイスを詳細に説明するためのブロック図である。
【図１０】実施の形態２に係るプログラマブルデバイスの全体制御フローチャートである。
【図１１】実施の形態２に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。
【図１２】実施の形態３に係る動的再構成デバイスへの機能モジュール割り当ておよびそれらの待機ステータス信号の例を示す図本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図である。
【図１３】実施の形態３に係るプロセッシングユニットの構造を示す図である。
【図１４】本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図の一例である。
【符号の説明】
【００３２】
２      プログラマブルデバイス
１１      各プロセッシングタイル
１２      電源制御手段
１４〜１６  電源配線
２１      構成メモリ
２２      コアロジック
２３、２５      パワーゲーティングスイッチ
３２      メモリセル
４１      プロセッシングロジック
５１      シフトレジスタ
５２      構成シーケンサ
１００      プログラマブルデバイス
１０１      ロジックブロック
１０３      ロジックセル
１０５      構成メモリ
１０６      コアロジック
１２１      各スイッチ要素
１２３      メモリセル
３０１      パワーゲーティングスイッチ
５０１      構成メモリ
５０３      電力制御手段
５０７      コアロジック
【発明を実施するための最良の形態】
【００３３】
以下、本発明の一実施形態に係るプログラマブルデバイスについて、図面を用いて説明する。
１．実施の形態１
１．１．構成
図１は、本発明の一実施の形態に係るプロセッシングシステム１のブロック図である。【００３４】
プロセッシングシステム１は、プログラマブルデバイス２、プログラマブルデバイス２における回路の構成情報（Ｃｏｎｆｉｇ）を記憶する外部記憶手段３、及び電源手段４を含んで構成される。【００３５】
プログラマブルデバイス２は、それぞれが論理的な処理単位でありプログラム可能な複数のプロセッシングタイル１１（１１ａ、１１ｂ・・・・１１ｉ）と、前記構成情報を各プロセッシングタイル１１に配送しプログラミングする構成制御手段１３と、電源手段４が出力する電力を制御する電力制御手段１２と、電源配線１４〜１６とを含んで構成される。【００３６】
また、プロセッシングタイル１１ａ〜１１ｉは、前記構成情報を保持する構成メモリ２１と、前記構成メモリ２１の記憶内容に従って演算処理を行うコアロジック２２と、コアロジック２２への電源供給のオン／オフを制御するためのパワーゲーティングスイッチ２３とを含んで構成される。【００３７】
構成制御手段１３は、パワーゲーティングスイッチ２５と、プロセッシングタイル１１へのデータ入出力を制御するデータ制御部２４とを含む。【００３８】
プログラマブルデバイス２は、機能を割り当てない又はアクティブにしないコアロジック２２について電源供給を遮断することで省電力化を図っている。電源制御においては、コアロジック２２の内部状態を構成メモリ１１に退避してからコアロジック２２の電源を遮断し、またコアロジック２２の電源を再度供給し、前記内部状態を構成メモリ１１からコアロジック２２へ復帰することで、コアロジック２２の内部状態が消失してしまうことなく維持しつつ省電力化を行っている。【００３９】
以下、構成についてより詳細に説明する。
１．１．１．プログラマブルデバイス２
プログラマブルデバイス２は、上述のように、複数のプロセッシングタイル１１（１１ａ、１１ｂ・・・・１１ｉ）と、構成制御手段１３と、電力制御手段１２と、電源配線１４〜１６とを含んで構成される。【００４０】
ここで、プロセッシングタイル１１ｂ〜１１ｉの構成はプロセッシングタイル１１ａの構成と同じであるので、プログラマブルデバイス２の構成については、図１の破線で囲まれた部分、即ち、プロセッシングタイル１１ａと、構成制御手段１３と、電力制御手段１２と、電源配線１４〜１６の構成について主に説明する。【００４１】
図１における破線で囲んだ部分を詳細化したものが図２である。
１．１．１．１．プロセッシングタイル１１
プロセッシングタイル１１ａは、構成制御手段１３から取得する構成情報（Ｃｏｎｆｉｇ）を記憶する構成メモリ２１と、その内容に応じて算術および論理演算機能や内外の相互接続機能を実現するコアロジック２２と、コアロジックへ電源供給を行うか否かを制御するパワーゲーティングスイッチ７２とを含んで構成されている。
（１）コアロジック２２
コアロジック２２は、複数のプロセッシングロジック４１（４１ａ、４１ｂ・・・）を含んで構成される。【００４２】
図３は、プロセッシングロジック４１ａの構造を示す図である。【００４３】
なお、プロセッシングロジック４１ｂ・・・の構造は、プロセッシングロジック４１ａと同様であるので説明は省略する。【００４４】
プロセッシングロジック４１ａは、算術・論理演算を行うロジックブロック１０１と、他のプロセッシングタイルとロジックブロックとの間でデータの入出力を行うインターコネクト１０２とを含む。【００４５】
ロジックブロック１０１には、算術・論理演算機能を有するロジックセル１０３が多数集積されている（ロジックセル１０３ａ、１０３ｂ・・・）。【００４６】
ロジックセル１０３は、基本演算要素であるＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）１１１、ＬＵＴ１１１による演算結果データを保持するＤ−フリップフロップ（Ｄ−ＦＦ）１１３、及び出力を選択するマルチプレクサ１１７を含んで構成される。【００４７】
ＬＵＴ１１１は、ｎビットの入力に対し１ビットの演算結果を出力する基本演算要素であり、メモリセル１１４と、セレクタ１１５とを含んで構成される。【００４８】
メモリセル１１４は、２のｎ乗ビットの構成情報を格納するメモリであり、一例として、２のｎ乗ビットのＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成される。【００４９】
セレクタ１１５は、メモリセル１１４に記憶された２のｎ乗ビットのデータから、ｎビットの入力値（１１８）に対応する１ビットのデータを選択し、選択した１ビットのデータを出力する。【００５０】
Ｄ−ＦＦ１１３は、ＬＵＴ１１４による演算結果などの内部状態を保持するためのレジスタである。【００５１】
マルチプレクサ１１２は、２入力１出力のセレクタ１１６と、メモリセル１１７とから成る。【００５２】
セレクタ１１６は、メモリセル１１７に記録されているデータに従い、２入力のうちの１つを出力する。【００５３】
インターコネクト１０２は、データを伝送する配線要素と、配線要素毎の接続を切り替えるスイッチボックス１０４とを含む。【００５４】
前記配線要素は、他のプロセッシングユニットにおける配線要素と接続されている。【００５５】
スイッチボックス１０４は、図３に示すように一例として６つのスイッチ要素１２１を含む。【００５６】
各スイッチ要素１２１は、パストランジスタ１２２と、メモリセル１２３とを含み、メモリセル１２３に記録されているデータが１の場合にパストランジスタ１２２がオンし、データが０の場合にパストランジスタ１２２がオフする。【００５７】
即ち、各メモリセル１２３に記録されているデータを変更することにより、上下左右に位置する他のプロセッシングタイルとの接続を自由に切替えることができる。【００５８】
以上のように、プロセッシングロジック４１ａ、４１ｂ・・・は、それぞれ２のｎ乗ビットのメモリセル２１０と、１ビットのメモリセル２１１とを多数要し、また６組の１ビットメモリセル２１２を多数要する。【００５９】
以上説明したように、多数のプロセッシングロジック４１を有するコアロジック２２内には、多数のメモリセルが集積される。
（２）  構成メモリ２１
構成メモリ２１は、多数のメモリセル３２（３２ａ、３２ｂ、・・・３２ｉ）から成るアレーと、一のメモリセル３２を指定するグローバルアドレス（ＡＤＤＲ）を復号して、前記一のメモリセル３２を特定するアドレスＡ１〜Ａ３を出力するアドレス復号手段３１とを含んで構成される。【００６０】
アドレス復号手段３１は、構成制御手段１３から入力されるグローバルアドレス（ＡＤＤＲ）を復号し、ＡＤＤＲにより指定されているメモリセル３２（メモリセル３２ａ、３２ｂ・・・３２ｉのいずれか）を特定し、特定したメモリセル３２が属する列を選択するアドレス（Ａ１、Ａ２、Ａ３のいずれか）を出力する。【００６１】
ここで、図２におけるメモリセル３２は、一例として３×３の２次元アレー構造としているが、実際にはコアロジックをプログラミングするために必要な数百〜数千のメモリセルのアレーを有する。【００６２】
メモリセル３２は、構成制御手段１３から出力されるデータ（Ｄ１、Ｄ２、Ｄ３）を保持するメモリである。【００６３】
メモリセル３２ａ・・・３２ｉのうち、自メモリセルが属する列を指定するアドレスがアドレス復号手段３１により出力されており、自メモリセルが属する行に対してデータが出力されている場合に、当該メモリセルは、データを受信して保持する。【００６４】
例えば、アドレス復号手段３１により、アドレス線５１５がドライブされてアドレスＡ３が指定され、構成制御手段１３からデータ線７７ｃにデータＤ３が出力されている場合、メモリセル３２ｉに、データＤ３が書き込まれることになる。【００６５】
メモリセル３２は、構成制御手段１３により信号線７６を介してクリア信号（ＣＬＲ）が入力されることにより記憶内容がリセットされる。【００６６】
パワーゲーティングスイッチ２３は、当該スイッチのオン／オフによりコアロジック２２の電源配線１６を接続／切断し、コアロジック２２への電源供給のオン／オフを切り替える。【００６７】
当該スイッチのオン／オフは、電力制御手段１２により出力される信号ＳＬＰ＿ｌ＃によって切り替えられる。【００６８】
パワーゲーティングスイッチ２３は、図４に示すように、ヘッダスイッチとしてｐ−ＭＯＳトランジスタを電源遮断の対象となる論理回路の電源電圧Ｖｄｄ側に挿入し、フッタスイッチとしてｎ−ＭＯＳトランジスタを接地Ｖｓｓ側に挿入する場合がある。【００６９】
従来技術（特許文献１）と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にｎ−ＭＯＳトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。これらパワーゲーティングスイッチを制御するためのスリープ信号ＳＬＰ（あるいは負論理のＳＬＰ＃）については、構成制御手段１３やプロセッシングタイル１１の動作状態に応じて電力制御手段１２内で生成される。【００７０】
また、本実施の形態では、一例として、それらパワーゲーティングスイッチをプロセッシングタイル１１ａの内部に有する構成としたが、これに限らない。例えば、電力制御手段１２内に有する構成でも良く、この場合、複数のプロセッシングタイル１１ａへの電源配線にスイッチを挿入し、それらを一斉に電源遮断する構成でも良い。【００７１】
ここで、一般に、コアロジック２２は、多量のデータを瞬時に演算することを要求されるため、しきい値電圧の低い高速なトランジスタで構成されることが多く、その分リーク電流が大きい。一方、構成メモリ２１は、基本的に構成情報のロードが完了すると静止状態となるため、リーク電流がコアロジック２２に比べて１００分の１以下と極めて小さい低速なトランジスタで構成することが出来る。【００７２】
本発明における構成メモリ２１についても、しきい値電圧が高いトランジスタを採用し、また、ゲート絶縁膜についても厚膜化や誘電率の高いｈｉｇｈ−ｋ材料を適用するなどして更なる低リーク化を図り、高リークのコアロジック２２の内部状態を電源遮断してリークをほぼゼロとし、その内部状態を低リークの構成メモリ２１に保持することが出来るため、発明の効果をさらに高めることができる。
１．１．１．２．構成制御手段１３
構成制御手段１３は、プロセッシングタイル１１ａに含まれる構成メモリ２１の初期化や構成情報の設定手順を制御する構成シーケンサ５２と、外部記憶手段３から入力される構成情報（Ｃｏｎｆｉｇ）を逐次シフトしながら格納するシフトレジスタ５１を含んで構成される。
（１）構成シーケンサ５２
構成シーケンサ５２は、メモリセル３２のアレーにデータを書き込む場合、アドレス出力するアドレス線８１ａ〜８１ｃのうち１つを選択することによりアレーにおける列を指定し、データ出力するデータ線７７ａ〜７７ｃの１つを選択することでアレーにおける行を指定して、書き込むべきメモリセル３２の行と列を特定し、特定したメモリセルにデータを書き込む。【００７３】
また、構成シーケンサ５２は、構成メモリ２１の初期化を行う場合には、信号線７６を介してクリア信号ＣＬＲを出力する。【００７４】
信号線７６は、メモリセル３２のアレーにおける同列のメモリアレー全てに繋がっており、クリアは列単位で行うことになっているが、上述したメモリセル３２へのデータの書き込みの例のように、個別のメモリセルを指定してクリア信号を送ることができるように構成してもよい。【００７５】
具体的には、構成シーケンサ５２は、電力供給が開始されると構成メモリのクリア信号ＣＬＲをアサートしてその初期化を行い、全てのプロセッシングタイル１１における構成メモリ２１について、上述したようにグローバルアドレスＡＤＤＲを順次変更させながらそのメモリセル３２の列単位で構成情報（Ｃｏｎｆｉｇ）７８を設定していく。
（２）シフトレジスタ５１
また、シフトレジスタ５１は、構成情報７８をシリアル受信する。【００７６】
そして、入力された構成情報を、書き込むべきメモリセル５１３が属する行に対し、出力データ（Ｄ１、Ｄ２、Ｄ３）５１８として出力する。【００７７】
また、アドレス復号手段５１６は全てのプロセッシングタイル５００の構成メモリ５０１毎に有する必要は無く、その出力するアドレス線（Ａ１、Ａ２、Ａ３）５１５を列方向の複数のプロセッシングタイルにおけるメモリセルに接続し、それらを列単位で一斉にプログラミングすることも考えられ、その場合アドレス復号手段５１６はプロセッシングタイルの列毎に有する構成であればよい。
（３）パワーゲーティングスイッチ２５
パワーゲーティングスイッチ２５は、当該スイッチのオン／オフによりデータ制御部２４の電源配線１４を接続／切断したりし、コアロジック２２への電源供給のオン／オフを切り替える。【００７８】
ここでは、一例として、それらパワーゲーティングスイッチ２５を構成制御手段１３の内部に有する構成としたが、その外部に有してもよい。例えば、電力制御手段１２内に有する構成でも良いし、他の電源配線にスイッチを挿入してもよい。【００７９】
パワーゲーティングスイッチ２５は、図４に示すように、ヘッダスイッチとしてｐ−ＭＯＳトランジスタを電源遮断の対象となる論理回路の電源電圧Ｖｄｄ側に挿入し、フッタスイッチとしてｎ−ＭＯＳトランジスタを接地Ｖｓｓ側に挿入する場合がある。従来技術（特許文献１）と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にｎ−ＭＯＳトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。【００８０】
これらパワーゲーティングスイッチを制御するためのスリープ信号ＳＬＰ（あるいは負論理のＳＬＰ＃）については、構成制御手段１３の動作状態に応じて電力制御手段１２内で生成される。
１．１．１．３．電力制御手段１２
電力制御手段１２は、電源手段４が出力する電源電圧Ｖｄｄ、Ｖｓｓを、電源配線１４〜１６を介して構成制御手段１３並びにプロセッシングタイル１１内の構成メモリ２１やコアロジック２２に対し供給する。【００８１】
なお、それらに供給する電源電圧Ｖｄｄは必ずしも同一である必要は無く、電力制御手段１２又は電源手段４に実装したスイッチングレギュレータなどを用いて、それぞれ異電圧を供給しても良い。【００８２】
電力制御手段１２は、電力シーケンサ６１を含む。【００８３】
電力シーケンサ６１は、構成制御手段１３やプロセッシングタイル１１内のコアロジック２２の動作状態を監視し、パワーゲーティングスイッチ２３、２５をそれぞれ制御するスリープ制御信号（それぞれＳＬＰ＿ｃ＃、ＳＬＰ＿ｌ＃）７１、７２を生成して電力供給手順を制御する。【００８４】
コアロジック２２の内部状態（即ちプロセッシングロジック４１のレジスタ値など）は電源遮断によって揮発するため、電力シーケンサ６１は、電源遮断前にそれらレジスタの値を対応するメモリセル３２に書き戻させるための状態退避信号（Ｂａｃｋｕｐ）７３と、電源遮断からの復旧時に再びメモリセル３２からレジスタに値を設定させるための状態復帰信号（Ｒｅｓｔｏｒｅ）７４をプロセッシングタイル１１ａに出力する。【００８５】
このようにして、電源遮断の前後でコアロジック２２の内部状態を消失させず、電源復旧時に遮断前の内部状態で動作再開することができる。
１．２．動作
図５は、プログラマブルデバイス１の全体制御を示すフローチャートである。【００８６】
まず、ユーザがプロセッシングシステム１をブートする。【００８７】
このとき、電力制御手段１２は、スリープ制御信号ＳＬＰ＿ｃ＃をネゲート（ここでは負論理のため“０”から“１”に変化）させてパワーゲーティングスイッチ２５をオン状態とし、構成制御手段１３への電力供給を開始する（ステップＳ１）。【００８８】
構成制御手段１３内の構成シーケンサ５２は、電力供給が開始されると構成メモリのクリア信号ＣＬＲをアサートしてその初期化を行う（ステップＳ２）。【００８９】
そして、全てのプロセッシングタイル１１における構成メモリ２１について、上述したようにグローバルアドレスＡＤＤＲを順次変更させながらそのメモリセル３２の列単位で構成情報（Ｃｏｎｆｉｇ）を設定していく（ステップＳ３）。【００９０】
ステップＳ３が完了すると、電力制御手段１２は、構成制御手段１３への電力供給を遮断するスリープ制御信号（ＳＬＰ＿ｃ＃）をアサート（“１”から“０”に変化）させ、パワーゲーティングスイッチ２５をオフにする（ステップＳ４）。【００９１】
以降は、電力制御手段１２が、全てのプロセッシングタイル１１に割り当てられた処理を完了するまで、それらプロセッシングタイル１１毎の動作状態を監視する。動作が終了したプロセッシングタイル１１については、そのコアロジック２２への電力供給を遮断する制御を行う（ステップＳ５）。【００９２】
図６は、ステップＳ５、即ちプロセッシングタイル５００毎の個別電力制御の詳細を示すフローチャートである。【００９３】
電力制御手段１２は、制御対象となるプロセッシングタイル１１が待機状態（非活性状態）か活性状態かを示す待機ステータス信号を確認し、それが活性状態を示す場合は処理を開始する（ステップＳ１１）。【００９４】
この待機ステータス信号は、一例として、ユーザが設計した論理回路（ユーザ回路）により生成させる。【００９５】
このユーザ回路について、図７を用いて説明を補足する。【００９６】
例えば、図７（ａ）に示すような、アイドルステート（２００）から起動後にタスクＡ（２０１）、タスクＢ（２０２）、タスクＣ（２０３）を逐次実行した後、再びアイドルステート（２００）に遷移するステートマシンで制御されるユーザ回路を、図７（ｂ）に示すプログラマブルデバイス２０４に割り当てて実行させる場合を考える。【００９７】
この場合、それらタスクＡ、Ｂ、Ｃをそれぞれ実行する回路モジュールＡ（２０５）、Ｂ（２０６）、Ｃ（２０７）をプログラマブルデバイス２０４内の複数のプロセッシングタイル２０８に割り当てる場合（図７（ｂ））、モジュールＡ（２０５）、Ｂ（２０６）、Ｃ（２０７）の待機ステータス信号が、自らに割り当てられたタスクの実行中でのみ活性状態を示し、それ以外は非活性の待機状態を示すように生成される（図７（ｃ））。【００９８】
また、機能割り当ての無い未使用領域２０９のプロセッシングタイルにおける待機ステータス信号は、常に待機状態を示すよう生成される。【００９９】
なお、待機ステータス信号はユーザ回路で明示的に設計するだけでなく、その設計データ（ＲＴＬ：Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）からＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツールによって上記のようなステート情報を検出し、自動生成することも考えられる。【０１００】
同一モジュール内の複数のプロセッシングタイルにおける待機ステータス信号は共通であり、電力制御手段１２は、そのような待機ステータス信号によって各プロセッシングタイルの動作状態を監視可能にする。【０１０１】
以上、ユーザ回路についての説明を終え、フローチャートの説明に戻る。【０１０２】
電力制御手段１２は、プロセッシングタイル１１が活性状態であることを検出すると、スリープ制御信号（ＳＬＰ＿ｌ＃）をネゲート（“０”から“１”に変化）させて、パワーゲーティングスイッチ２３をオン状態とし、コアロジック２２に電力供給を開始させる（ステップＳ１２）。【０１０３】
次に、状態復帰信号（Ｒｅｓｔｏｒｅ）をアサートしてコアロジック２２内のプロセッシングロジック４１における内部状態レジスタの内容を内部状態レジスタを対応するメモリセル３２からロードさせる（ステップＳ１３）。【０１０４】
そして、内部状態の復帰が完了するとプロセッシングタイル１１は動作状態となるため、電力制御手段１２はプロセッシングタイル１１の待機ステータス信号が待機状態を示すまで監視する（ステップＳ１４）。【０１０５】
待機状態となったことを検出すると、電力制御手段１２は、状態退避信号（Ｂａｃｋｕｐ）をアサートし、コアロジック２２のプロセッシングロジック４１における内部状態レジスタの内容を対応するメモリセル３２に書き戻させる（ステップＳ１５）。【０１０６】
そして、内部状態退避（ステップＳ１５）が完了するとスリープ制御信号（ＳＬＰ＿ｌ＃）をアサート（“１”から“０”に変化）させてパワーゲーティングスイッチ２３をオフ状態とし、コアロジック２２への電力供給を遮断する（ステップＳ１６）。【０１０７】
そして、そのプロセッシングタイル１１に割り当てられた処理が完了していなければ、再び待機ステータス信号を監視して活性状態となるまで待ち（ステップＳ１１）、完了した場合はそのプロセッシングタイル５００毎の個別電力制御を終える（ステップＳ１７）。
２．実施の形態２
実施の形態１において、図７（ｂ）に示したように、ユーザ回路をプログラマブルデバイスに割り当てる際には、必ずしも全てのプロセッシングタイルを使用するわけではなく、割り当て方によっては一部のプロセッシングタイルが未使用領域２０９となる。【０１０８】
未使用領域２０９であるプロセッシングタイルへは電力供給する必要はないが、実施の形態１におけるプロセッシングシステムの構成では、構成メモリへの電力供給を遮断できない。【０１０９】
また、構成メモリは、低リークのトランジスタで構成可能だが、その容量が大きくなると全体としてのリーク電力は無視できない場合がある。【０１１０】
そこで、本実施の形態２では、上述の未使用のプロセッシングタイルにおける構成メモリについても電源遮断可能にプログラマブルデバイスを構成し、更なる省電力化を図っている。【０１１１】
以下、実施の形態１との相違点を中心に説明する。
２．１．構成
図８は、実施の形態２に係るプロセッシングシステムを示す図である。【０１１２】
実施の形態２に係るプロセッシングシステムは、構成メモリ２１と電力制御手段１２との間にパワーゲーティングスイッチ３０１を設けている点が実施の形態１に係るプロセッシングシステムと異なる。【０１１３】
図８において破線で囲んだ部分を、詳細化したものが図９である。【０１１４】
図９に示すように、構成メモリ２１と電力制御手段１２とを結ぶ電源配線１５にパワーゲーティングスイッチ３０１が挿入されている。【０１１５】
そして、電力制御手段１２中の電力シーケンサ６１が、実施の形態１で説明した信号に加え、パワーゲーティングスイッチ３０１を制御するスリープ制御信号（それぞれＳＬＰ＿ｍ＃）３０２を生成し、パワーゲーティングスイッチ３０１に供給し、構成メモリへの電力供給のオン／オフを制御する。【０１１６】
ここで、図７（ｂ）を用いて上述したように、ユーザ回路をプログラマブルデバイスに割り当てる際には機能割り当てが無い未使用領域２０９が生じることが有るため、本実施の形態では、未使用領域２０９に係るプロセッシングタイル中のメモリセルに係る構成情報は、機能割り当ての有無を示す割当フラグを含め構成されている。【０１１７】
電力制御手段１２は、プロセッシングタイルに含まれるメモリセルに係る構成情報中の割当フラグが機能割り当て無しを示す場合、そのプロセッシングタイルについては電力供給オフを示すＳＬＰ＿ｍ＃を、そのメモリセルに係るパワーゲーティングスイッチ３０１に供給する。【０１１８】
パワーゲーティングスイッチ３０１は、プロセッシングタイル毎に設けているが、メモリセル毎に設けることとしてもよいし、他の単位、例えば３個のメモリセルごとに設けるなどしてもよい。
２．２．動作
図１０は、本実施の形態に係るプログラマブルデバイス１の全体制御を示すフローチャートである。【０１１９】
図１０は、実施の形態１における図５と、ステップＳ３１、ステップＳ３２において異なり、その他のステップは同じものである。【０１２０】
ステップＳ３１では、実施の形態２に係るプログラマブルデバイス２においては、プロセッシングタイル１１ａ内の構成メモリ１２についてもデフォルトで電源遮断状態のため、起動直後に、構成制御手段１３に加え各構成メモリ２１への電力供給も行う（ステップＳ３１）。【０１２１】
ステップＳ３２を詳細化したものが図１１である。【０１２２】
図１１は、実施の形態１における図６に相当し、図６とはステップＳ４１とステップＳ４２において異なる。【０１２３】
ステップＳ４１では、電力制御手段１２が、機能割り当ての有無を示す割当フラグを判定し、制御対象のプロセッシングタイル１１ａへの機能割り当ての有無を判断し（Ｓ４１）、機能割り当てが有る場合（ステップＳ４１：Ｙ）、ステップＳ１１〜Ｓ１７として既に説明した動作を行う。【０１２４】
機能割り当てが無い場合（ステップＳ４１：Ｎ）、スリープ制御信号（ＳＬＰ＿ｍ＃）をアサート（“１”から“０”に変化）させ、パワーゲーティングスイッチ３０１をオフ状態とし構成メモリ１２への電力供給を遮断して（ステップＳ４２）、その個別電力制御を完了する。【０１２５】
以上説明したように、待機状態のコアロジック２２のみならず、機能割り当ての無いプロセッシングタイル１１ａについても電源遮断し、上記実施の形態１に比べ、更なる省電力効果を得る。
３．実施の形態３
実施の形態２では、ユーザ回路に対し、図７（ｂ）に示すような機能割り当てを行い、図７（ｃ）のように同時に１つのモジュールのみが活性状態となるように動作させていた。この場合、デバイスの大部分が非活性の待機状態となっており、回路資源の利用効率が低い。【０１２６】
実施の形態３に係るプログラマブルデバイスは、動作中に構成変更が可能な動的再構成デバイスである。【０１２７】
具体的には、図１２に示すように、１つのデバイス４００に対し、モジュールＡ（４０１）、モジュールＢ（４０２）、モジュールＣ（４０３）を動的に時分割で割り当てながら処理を進める。【０１２８】
ここで、モジュールＡ（４０１）からモジュールＢ（４０２）に構成変更する際、上述の実施の形態と同様にモジュールＡ（４０１）に属するプロセッシングタイルの内部状態を対応する（それを初期化する構成情報を格納した）メモリセルに退避させるとしても、そのメモリセルには次のモジュールＢ（４０２）における構成情報が上書きされてしまうため、ステートマシンが一周して再びモジュールＡ（４０１）に構成変更する場合に前回の処理結果は破壊されてしまい引き継ぐことができない。【０１２９】
また、このようなデータの退避を外部の記憶手段を用いて行うと、構成変更時に要する時間が大きくなり動的再構成の利点を活かせない。【０１３０】
本実施の形態３に係るプログラマブルデバイスは、上述のような構成変更時にも内部状態を退避可能になるよう構成されている。
３．１．構成
図１３に示す実施の形態３におけるプロセッシングタイル１１ａは、図９に示す実施の形態１におけるものと比べ、構成メモリ２１内に拡張記憶領域５００を設けている点が異なる。【０１３１】
拡張記憶領域５００には、コアロジック２２におけるプロセッシングロジック４１ａ等の内部状態が退避される。
３．２．動作
実施の形態３におけるプログラマブルデバイスの全体制御フローチャートは既に説明した図６で表される。【０１３２】
電力制御手段におけるプロセッシングタイル毎の個別制御のフローチャートは図７で表される。【０１３３】
しかし、図７において、内部状態復帰Ｓ１３と内部状態退避Ｓ１５の詳細動作は、実施の形態１とは異なる。【０１３４】
本実施の形態の内部状態復帰Ｓ１３において、コアロジック２２のプロセッシングロジック４１ａ等の内部状態について、起動直後の最初の復帰時には対応するメモリセル３２に格納した構成情報の値で初期化する。【０１３５】
また、本実施の形態の内部状態退避Ｓ１５においては、拡張記憶領域５００に退避した値を復帰させる。【０１３６】
このように、本実施の形態では、拡張記憶領域５００を用いて、プロセッシングロジック４１の内部状態の退避・復帰をすることで、コアロジック２２の電源遮断時だけでなく、構成変更時にもその内部状態をプロセッシングタイル１１内でローカルに保持することができ、電源遮断からの復旧や構成変更時の内部状態の復帰を高速化できる。
４．変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
（１）プロセッシングタイルについて、図２に示すように、構成メモリ２１、コアロジック２２、パワーゲーティングスイッチ２３とを含む構成について説明したが、本構成は一例でありこれに限るものではない。【０１３７】
また、プロセッシングロジックについても、図３に示すように、ロジックブロック１０１、インターコネクト１０２を１つずつ含む構成について説明したが、本構成は一例でありこれに限るものではない。【０１３８】
各構成要素の数、構成要素間の相互の接続を変更してもよいし、各構成要素を他の構成としてもよい。【０１３９】
例えば、ロジックブロック、インターコネクトの数、これらの相互の接続を変更してもよいし、ロジックブロックをＬＵＴを用いずに構成してもよい。
（２）  本願発明におけるプログラマブルデバイスは、図１４に示すようにＣＰＵ、メインメモリ、ペリフェラルやそれらに電力を供給する電源装置等を備えた情報処理システムにおいて、ＣＰＵ内でレジスタファイルやメモリ内のデータ処理を行うプログラマブルデータパスや、そのＣＰＵの外部で、演算処理をオフロードするプログラマブルコプロセッサのような形で搭載することができる。
（３）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。【０１４０】
ここで、各装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
（４）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。【０１４１】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０１４２】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。【０１４３】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（５）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、などから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
（６）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。【０１４４】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。【０１４５】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。【０１４６】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（７）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１４７】
本願発明に係るプログラマブルデバイスは、省電力や、電源遮断状態からの高速な起動を要する情報処理装置等に搭載され、当該情報処理機器の製造業者等により製造、譲渡等される。
【図１】
2009063584.tif 000003
【図２】
2009063584.tif 000004
【図３】
2009063584.tif 000005
【図４】
2009063584.tif 000006
【図５】
2009063584.tif 000007
【図６】
2009063584.tif 000008
【図７】
2009063584.tif 000009
【図８】
2009063584.tif 000010
【図９】
2009063584.tif 000011
【図１０】
2009063584.tif 000012
【図１１】
2009063584.tif 000013
【図１２】
2009063584.tif 000014
【図１３】
2009063584.tif 000015
【図１４】
2009063584.tif 000016
【手続補正書】
【提出日】平成21年2月6日(2009.2.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラマブルデバイスであって、
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む複数のプロセッシングタイルと、
コアロジック部と構成メモリとに電力を供給する電力供給手段と、
前記複数のプロセッシングタイル各々について、当該プロセッシングタイルを待機状態にする場合には、当該プロセッシングタイルに含まれる構成メモリを用いて当該プロセッシングタイルに含まれるコアロジック部の内部状態を待避し、前記構成メモリへの電力供給路とは別に前記コアロジック部への電力供給路を遮断し、当該プロセッシングタイルを使用する場合には、前記電力供給路を接続した後に前記内部状態を前記コアロジック部に復帰させる制御手段と
を備えることを特徴とするプログラマブルデバイス。
【請求項２】
前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しない
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項３】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断する
ことを特徴とする請求項２記載のプログラマブルデバイス。
【請求項４】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断する
ことを特徴とする請求項２記載のプログラマブルデバイス。
【請求項５】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定する
ことを特徴とする請求項４記載のプログラマブルデバイス。
【請求項６】
前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させる
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項７】
前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定する
ことを特徴とする請求項６記載のプログラマブルデバイス。
【請求項８】
前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させる
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項９】
前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成される
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項１０】
前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成される
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項１１】
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む複数のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、
コアロジック部と構成メモリとに電力を供給する電力供給ステップと、
前記複数のプロセッシングタイル各々について、当該プロセッシングタイルを待機状態にする場合には、当該プロセッシングタイルに含まれる構成メモリを用いて当該プロセッシングタイルに含まれるコアロジック部の内部状態を待避し、前記構成メモリへの電力供給路とは別に前記コアロジック部への電力供給路を遮断し、当該プロセッシングタイルを使用する場合には、前記電力供給路を接続した後に前記内部状態を前記コアロジック部に復帰させる制御ステップと
を含むことを特徴とするデバイス制御方法。
【請求項１２】
情報処理システムであって、
プログラマブルデバイスと、
前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、
前記プログラマブルデバイスを駆動する外部電源手段とを備え、
前記プログラマブルデバイスは、
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む複数のプロセッシングタイルと、
前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、
前記複数のプロセッシングタイル各々について、当該プロセッシングタイルを待機状態にする場合には、当該プロセッシングタイルに含まれる構成メモリを用いて当該プロセッシングタイルに含まれるコアロジック部の内部状態を待避し、前記構成メモリへの電力供給路とは別に前記コアロジック部への電力供給路を遮断し、当該プロセッシングタイルを使用する場合には、前記電力供給路を接続した後に前記内部状態を前記コアロジック部に復帰させる制御手段と
を備えることを特徴とする情報処理システム。
【手続補正書】
【提出日】平成21年7月31日(2009.7.31)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルデバイスの省電力化に関する。
【背景技術】
【０００２】
近年、動作中であっても数マイクロ秒から数ナノ秒という短時間に構成変更できる動的再構成デバイスが開発されている（非特許文献１参照）。
前記デバイスをより高速化、微細化する場合、チップの総消費電力の５０％程度をも占めることがあるリーク電力が問題となる。
上記問題への対策として、パワーゲーティング（Ｐｏｗｅｒ  Ｇａｔｉｎｇ）技術を適用し、機能割り当てが無く未使用であるか、待機状態である回路ブロックへの電源供給を遮断する技術が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７０９８６８９号
【非特許文献】
【０００４】
【非特許文献１】Ｍａｓａｔｏ  Ｍｏｔｏｍｕｒａ，  “Ａ  Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ”,  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  Ｆｏｒｕｍ，  Ｏｃｔ．  ２００２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、動作を一時停止し待機状態である回路ブロックの電源を省電力化のために遮断すると、回路ブロックの動作を定義している構成情報までもがＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）から消失し、次に電源を供給する際に当該構成情報を再度設定する必要があるため、待機前の状態から即座に動作を再開することが出来ないという課題がある。
【０００６】
上記課題に鑑み、本発明は、電源遮断時に内部状態を消失させずに高速な電源遮断制御を行って省電力化することができるプログラマブルデバイスを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、プログラマブルデバイスであって、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルと、コアロジック部と構成メモリとに電力を供給する電力供給手段と、１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。
【発明の効果】
【０００８】
本発明のプログラマブルデバイスは、上述の構成を備えることにより、使用されていないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。
ここで、コアロジック部は、通常、構成メモリ部に比べ消費電力が２桁程度大きく、コアロジック部のみ電力供給を遮断すれば消費電力は１００分の１以下程度に低減し得る。
【０００９】
また、コアロジック部及び構成メモリの双方への電力供給を一旦遮断すると、再度電力供給を行って動作させる場合に、外部記憶装置等から初期設定等を構成メモリに順次読み出す必要があり、読み出しに時間がかかる。本願発明のように、構成メモリに電力供給を行っておけば、前述したような外部記憶装置等から構成メモリへの初期設定等の読み出し時間は必要なく、迅速に電源遮断、復帰ができ、デバイス全体として処理に要する時間を低減することができる。
【００１０】
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しないこととしてもよい。
この構成によれば、構成メモリへ給電しつつ、構成メモリとは別個独立に消費電力が構成メモリに比べ大きいコアロジック部への電力供給を停止できるので、低消費電力化を図ることができる。
【００１１】
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断することとしてもよい。
この構成によれば、機能が割り当てられてはいるものの動作中でないコアロジックの消費電力を低減でき、コアロジックの電源遮断時にも構成メモリの内容を維持できるため、動作再開に要する時間を短縮できる。
【００１２】
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断することとしてもよい。
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定することとしてもよい。
【００１３】
この構成によれば、動作していないコアロジックを電源遮断する一方で、構成メモリについては機能割当が無い状態か、待機状態かに応じて電源遮断させることで、効果的な期間と範囲で電源遮断が適用できる。
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合には、遮断前に前記構成メモリを用いて前記コアロジック部の内部状態を待避させ、前記電力供給路を接続する場合には、接続後に前記内部状態を前記コアロジック部に復帰させることとしてもよい。
【００１４】
この構成によれば、電源遮断されることにより揮発するコアロジックの内部状態を、外部の記憶手段を用いること無く各プロセッシングタイル内で同時並列的に退避・復帰でき、電源遮断制御の高速化を図ることができる。
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させることとしてもよい。
【００１５】
また、前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定することとしてもよい。
この構成によれば、構成メモリの既存領域にコアロジックの内部状態を退避させることで、構成メモリの領域を拡張する必要が無く面積コストの増大を抑制できる。
【００１６】
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させることとしてもよい。
この構成によれば、構成変更時に、構成メモリにおける変更後の構成情報が書き込まれることになる領域には退避できない場合に、構成メモリに新たに拡張領域を持たせることで構成変更時の内部状態を退避可能になる。
【００１７】
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成されることとしてもよい。
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成されることとしてもよい。
この構成によれば、一般的に動作速度向上への要求が厳しいコアロジックではなく、構成変更後は基本的に静止状態となる構成メモリを低リークとすることができ、コアロジックのみを電源遮断した場合にも全体のリーク電力を低減できる。
【００１８】
本発明のデバイス制御方法は、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、コアロジック部と構成メモリとに電力を供給する電力供給ステップと、１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御ステップとを含む。
【００１９】
本発明の情報処理システムは、プログラマブルデバイスと、前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、前記プログラマブルデバイスを駆動する外部電源手段とを備え、前記プログラマブルデバイスは、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む１以上のプロセッシングタイルと、前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、１以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。
【００２０】
この構成によれば、動作していないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１に係るプログラマブルデバイスの構成を示すブロック図である。
【図２】実施の形態１に係るプログラマブルデバイスを詳細に説明するためのブロック図である。
【図３】実施の形態１に係るプロセッシングユニットの構造を示す図である。
【図４】実施の形態１に係るパワーゲーティングスイッチの例を示す図である。
【図５】実施の形態１に係るプログラマブルデバイスの全体制御フローチャートである。
【図６】実施の形態１に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。
【図７】（ａ）実施の形態１に係るプロセッシングタイルに割り当てたユーザ回路のステートマシンの例を示す図である。
【図７】（ｂ）ユーザ回路の機能モジュール割り当て例を示す図である。
【図７】（ｃ）機能モジュール毎の待機ステータス信号の例を示す図である。
【図８】実施の形態２に係るプログラマブルデバイスのブロック図である。
【図９】実施の形態２に係るプログラマブルデバイスを詳細に説明するためのブロック図である。
【図１０】実施の形態２に係るプログラマブルデバイスの全体制御フローチャートである。
【図１１】実施の形態２に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。
【図１２】実施の形態３に係る動的再構成デバイスへの機能モジュール割り当ておよびそれらの待機ステータス信号の例を示す図本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図である。
【図１３】実施の形態３に係るプロセッシングユニットの構造を示す図である。
【図１４】本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図の一例である。
【発明を実施するための形態】
【００２２】
以下、本発明の一実施形態に係るプログラマブルデバイスについて、図面を用いて説明する。
１．実施の形態１
１．１．構成
図１は、本発明の一実施の形態に係るプロセッシングシステム１のブロック図である。
【００２３】
プロセッシングシステム１は、プログラマブルデバイス２、プログラマブルデバイス２における回路の構成情報（Ｃｏｎｆｉｇ）を記憶する外部記憶手段３、及び電源手段４を含んで構成される。
プログラマブルデバイス２は、それぞれが論理的な処理単位でありプログラム可能な複数のプロセッシングタイル１１（１１ａ、１１ｂ・・・・１１ｉ）と、前記構成情報を各プロセッシングタイル１１に配送しプログラミングする構成制御手段１３と、電源手段４が出力する電力を制御する電力制御手段１２と、電源配線１４〜１６とを含んで構成される。
【００２４】
また、プロセッシングタイル１１ａ〜１１ｉは、前記構成情報を保持する構成メモリ２１と、前記構成メモリ２１の記憶内容に従って演算処理を行うコアロジック２２と、コアロジック２２への電源供給のオン／オフを制御するためのパワーゲーティングスイッチ２３とを含んで構成される。
構成制御手段１３は、パワーゲーティングスイッチ２５と、プロセッシングタイル１１へのデータ入出力を制御するデータ制御部２４とを含む。
【００２５】
プログラマブルデバイス２は、機能を割り当てない又はアクティブにしないコアロジック２２について電源供給を遮断することで省電力化を図っている。電源制御においては、コアロジック２２の内部状態を構成メモリ１１に退避してからコアロジック２２の電源を遮断し、またコアロジック２２の電源を再度供給し、前記内部状態を構成メモリ１１からコアロジック２２へ復帰することで、コアロジック２２の内部状態が消失してしまうことなく維持しつつ省電力化を行っている。
【００２６】
以下、構成についてより詳細に説明する。
１．１．１．プログラマブルデバイス２
プログラマブルデバイス２は、上述のように、複数のプロセッシングタイル１１（１１ａ、１１ｂ・・・・１１ｉ）と、構成制御手段１３と、電力制御手段１２と、電源配線１４〜１６とを含んで構成される。
【００２７】
ここで、プロセッシングタイル１１ｂ〜１１ｉの構成はプロセッシングタイル１１ａの構成と同じであるので、プログラマブルデバイス２の構成については、図１の破線で囲まれた部分、即ち、プロセッシングタイル１１ａと、構成制御手段１３と、電力制御手段１２と、電源配線１４〜１６の構成について主に説明する。
図１における破線で囲んだ部分を詳細化したものが図２である。
【００２８】
１．１．１．１．プロセッシングタイル１１
プロセッシングタイル１１ａは、構成制御手段１３から取得する構成情報（Ｃｏｎｆｉｇ）を記憶する構成メモリ２１と、その内容に応じて算術および論理演算機能や内外の相互接続機能を実現するコアロジック２２と、コアロジックへ電源供給を行うか否かを制御するパワーゲーティングスイッチ７２とを含んで構成されている。
（１）コアロジック２２
コアロジック２２は、複数のプロセッシングロジック４１（４１ａ、４１ｂ・・・）を含んで構成される。
【００２９】
図３は、プロセッシングロジック４１ａの構造を示す図である。
なお、プロセッシングロジック４１ｂ・・・の構造は、プロセッシングロジック４１ａと同様であるので説明は省略する。
プロセッシングロジック４１ａは、算術・論理演算を行うロジックブロック１０１と、他のプロセッシングタイルとロジックブロックとの間でデータの入出力を行うインターコネクト１０２とを含む。
【００３０】
ロジックブロック１０１には、算術・論理演算機能を有するロジックセル１０３が多数集積されている（ロジックセル１０３ａ、１０３ｂ・・・）。
ロジックセル１０３は、基本演算要素であるＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）１１１、ＬＵＴ１１１による演算結果データを保持するＤ−フリップフロップ（Ｄ−ＦＦ）１１３、及び出力を選択するマルチプレクサ１１７を含んで構成される。
【００３１】
ＬＵＴ１１１は、ｎビットの入力に対し１ビットの演算結果を出力する基本演算要素であり、メモリセル１１４と、セレクタ１１５とを含んで構成される。
メモリセル１１４は、２のｎ乗ビットの構成情報を格納するメモリであり、一例として、２のｎ乗ビットのＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成される。
【００３２】
セレクタ１１５は、メモリセル１１４に記憶された２のｎ乗ビットのデータから、ｎビットの入力値（１１８）に対応する１ビットのデータを選択し、選択した１ビットのデータを出力する。
Ｄ−ＦＦ１１３は、ＬＵＴ１１４による演算結果などの内部状態を保持するためのレジスタである。
【００３３】
マルチプレクサ１１２は、２入力１出力のセレクタ１１６と、メモリセル１１７とから成る。
セレクタ１１６は、メモリセル１１７に記録されているデータに従い、２入力のうちの１つを出力する。
インターコネクト１０２は、データを伝送する配線要素と、配線要素毎の接続を切り替えるスイッチボックス１０４とを含む。
【００３４】
前記配線要素は、他のプロセッシングユニットにおける配線要素と接続されている。
スイッチボックス１０４は、図３に示すように一例として６つのスイッチ要素１２１を含む。
各スイッチ要素１２１は、パストランジスタ１２２と、メモリセル１２３とを含み、メモリセル１２３に記録されているデータが１の場合にパストランジスタ１２２がオンし、データが０の場合にパストランジスタ１２２がオフする。
【００３５】
即ち、各メモリセル１２３に記録されているデータを変更することにより、上下左右に位置する他のプロセッシングタイルとの接続を自由に切替えることができる。
以上のように、プロセッシングロジック４１ａ、４１ｂ・・・は、それぞれ２のｎ乗ビットのメモリセル２１０と、１ビットのメモリセル２１１とを多数要し、また６組の１ビットメモリセル２１２を多数要する。
【００３６】
以上説明したように、多数のプロセッシングロジック４１を有するコアロジック２２内には、多数のメモリセルが集積される。
（２）  構成メモリ２１
構成メモリ２１は、多数のメモリセル３２（３２ａ、３２ｂ、・・・３２ｉ）から成るアレーと、一のメモリセル３２を指定するグローバルアドレス（ＡＤＤＲ）を復号して、前記一のメモリセル３２を特定するアドレスＡ１〜Ａ３を出力するアドレス復号手段３１とを含んで構成される。
【００３７】
アドレス復号手段３１は、構成制御手段１３から入力されるグローバルアドレス（ＡＤＤＲ）を復号し、ＡＤＤＲにより指定されているメモリセル３２（メモリセル３２ａ、３２ｂ・・・３２ｉのいずれか）を特定し、特定したメモリセル３２が属する列を選択するアドレス（Ａ１、Ａ２、Ａ３のいずれか）を出力する。
ここで、図２におけるメモリセル３２は、一例として３×３の２次元アレー構造としているが、実際にはコアロジックをプログラミングするために必要な数百〜数千のメモリセルのアレーを有する。
【００３８】
メモリセル３２は、構成制御手段１３から出力されるデータ（Ｄ１、Ｄ２、Ｄ３）を保持するメモリである。
メモリセル３２ａ・・・３２ｉのうち、自メモリセルが属する列を指定するアドレスがアドレス復号手段３１により出力されており、自メモリセルが属する行に対してデータが出力されている場合に、当該メモリセルは、データを受信して保持する。
【００３９】
例えば、アドレス復号手段３１により、アドレス線５１５がドライブされてアドレスＡ３が指定され、構成制御手段１３からデータ線７７ｃにデータＤ３が出力されている場合、メモリセル３２ｉに、データＤ３が書き込まれることになる。
メモリセル３２は、構成制御手段１３により信号線７６を介してクリア信号（ＣＬＲ）が入力されることにより記憶内容がリセットされる。
【００４０】
パワーゲーティングスイッチ２３は、当該スイッチのオン／オフによりコアロジック２２の電源配線１６を接続／切断し、コアロジック２２への電源供給のオン／オフを切り替える。
当該スイッチのオン／オフは、電力制御手段１２により出力される信号ＳＬＰ＿ｌ＃によって切り替えられる。
【００４１】
パワーゲーティングスイッチ２３は、図４に示すように、ヘッダスイッチとしてｐ−ＭＯＳトランジスタを電源遮断の対象となる論理回路の電源電圧Ｖｄｄ側に挿入し、フッタスイッチとしてｎ−ＭＯＳトランジスタを接地Ｖｓｓ側に挿入する場合がある。
従来技術（特許文献１）と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にｎ−ＭＯＳトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。これらパワーゲーティングスイッチを制御するためのスリープ信号ＳＬＰ（あるいは負論理のＳＬＰ＃）については、構成制御手段１３やプロセッシングタイル１１の動作状態に応じて電力制御手段１２内で生成される。
【００４２】
また、本実施の形態では、一例として、それらパワーゲーティングスイッチをプロセッシングタイル１１ａの内部に有する構成としたが、これに限らない。例えば、電力制御手段１２内に有する構成でも良く、この場合、複数のプロセッシングタイル１１ａへの電源配線にスイッチを挿入し、それらを一斉に電源遮断する構成でも良い。
ここで、一般に、コアロジック２２は、多量のデータを瞬時に演算することを要求されるため、しきい値電圧の低い高速なトランジスタで構成されることが多く、その分リーク電流が大きい。一方、構成メモリ２１は、基本的に構成情報のロードが完了すると静止状態となるため、リーク電流がコアロジック２２に比べて１００分の１以下と極めて小さい低速なトランジスタで構成することが出来る。
【００４３】
本発明における構成メモリ２１についても、しきい値電圧が高いトランジスタを採用し、また、ゲート絶縁膜についても厚膜化や誘電率の高いｈｉｇｈ−ｋ材料を適用するなどして更なる低リーク化を図り、高リークのコアロジック２２の内部状態を電源遮断してリークをほぼゼロとし、その内部状態を低リークの構成メモリ２１に保持することが出来るため、発明の効果をさらに高めることができる。
【００４４】
１．１．１．２．構成制御手段１３
構成制御手段１３は、プロセッシングタイル１１ａに含まれる構成メモリ２１の初期化や構成情報の設定手順を制御する構成シーケンサ５２と、外部記憶手段３から入力される構成情報（Ｃｏｎｆｉｇ）を逐次シフトしながら格納するシフトレジスタ５１を含んで構成される。
（１）構成シーケンサ５２
構成シーケンサ５２は、メモリセル３２のアレーにデータを書き込む場合、アドレス出力するアドレス線８１ａ〜８１ｃのうち１つを選択することによりアレーにおける列を指定し、データ出力するデータ線７７ａ〜７７ｃの１つを選択することでアレーにおける行を指定して、書き込むべきメモリセル３２の行と列を特定し、特定したメモリセルにデータを書き込む。
【００４５】
また、構成シーケンサ５２は、構成メモリ２１の初期化を行う場合には、信号線７６を介してクリア信号ＣＬＲを出力する。
信号線７６は、メモリセル３２のアレーにおける同列のメモリアレー全てに繋がっており、クリアは列単位で行うことになっているが、上述したメモリセル３２へのデータの書き込みの例のように、個別のメモリセルを指定してクリア信号を送ることができるように構成してもよい。
【００４６】
具体的には、構成シーケンサ５２は、電力供給が開始されると構成メモリのクリア信号ＣＬＲをアサートしてその初期化を行い、全てのプロセッシングタイル１１における構成メモリ２１について、上述したようにグローバルアドレスＡＤＤＲを順次変更させながらそのメモリセル３２の列単位で構成情報（Ｃｏｎｆｉｇ）７８を設定していく。
（２）シフトレジスタ５１
また、シフトレジスタ５１は、構成情報７８をシリアル受信する。
【００４７】
そして、入力された構成情報を、書き込むべきメモリセル５１３が属する行に対し、出力データ（Ｄ１、Ｄ２、Ｄ３）５１８として出力する。
また、アドレス復号手段５１６は全てのプロセッシングタイル５００の構成メモリ５０１毎に有する必要は無く、その出力するアドレス線（Ａ１、Ａ２、Ａ３）５１５を列方向の複数のプロセッシングタイルにおけるメモリセルに接続し、それらを列単位で一斉にプログラミングすることも考えられ、その場合アドレス復号手段５１６はプロセッシングタイルの列毎に有する構成であればよい。
（３）パワーゲーティングスイッチ２５
パワーゲーティングスイッチ２５は、当該スイッチのオン／オフによりデータ制御部２４の電源配線１４を接続／切断したりし、コアロジック２２への電源供給のオン／オフを切り替える。
【００４８】
ここでは、一例として、それらパワーゲーティングスイッチ２５を構成制御手段１３の内部に有する構成としたが、その外部に有してもよい。例えば、電力制御手段１２内に有する構成でも良いし、他の電源配線にスイッチを挿入してもよい。
パワーゲーティングスイッチ２５は、図４に示すように、ヘッダスイッチとしてｐ−ＭＯＳトランジスタを電源遮断の対象となる論理回路の電源電圧Ｖｄｄ側に挿入し、フッタスイッチとしてｎ−ＭＯＳトランジスタを接地Ｖｓｓ側に挿入する場合がある。従来技術（特許文献１）と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にｎ−ＭＯＳトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。
【００４９】
これらパワーゲーティングスイッチを制御するためのスリープ信号ＳＬＰ（あるいは負論理のＳＬＰ＃）については、構成制御手段１３の動作状態に応じて電力制御手段１２内で生成される。
１．１．１．３．電力制御手段１２
電力制御手段１２は、電源手段４が出力する電源電圧Ｖｄｄ、Ｖｓｓを、電源配線１４〜１６を介して構成制御手段１３並びにプロセッシングタイル１１内の構成メモリ２１やコアロジック２２に対し供給する。
【００５０】
なお、それらに供給する電源電圧Ｖｄｄは必ずしも同一である必要は無く、電力制御手段１２又は電源手段４に実装したスイッチングレギュレータなどを用いて、それぞれ異電圧を供給しても良い。
電力制御手段１２は、電力シーケンサ６１を含む。
電力シーケンサ６１は、構成制御手段１３やプロセッシングタイル１１内のコアロジック２２の動作状態を監視し、パワーゲーティングスイッチ２３、２５をそれぞれ制御するスリープ制御信号（それぞれＳＬＰ＿ｃ＃、ＳＬＰ＿ｌ＃）７１、７２を生成して電力供給手順を制御する。
【００５１】
コアロジック２２の内部状態（即ちプロセッシングロジック４１のレジスタ値など）は電源遮断によって揮発するため、電力シーケンサ６１は、電源遮断前にそれらレジスタの値を対応するメモリセル３２に書き戻させるための状態退避信号（Ｂａｃｋｕｐ）７３と、電源遮断からの復旧時に再びメモリセル３２からレジスタに値を設定させるための状態復帰信号（Ｒｅｓｔｏｒｅ）７４をプロセッシングタイル１１ａに出力する。
【００５２】
このようにして、電源遮断の前後でコアロジック２２の内部状態を消失させず、電源復旧時に遮断前の内部状態で動作再開することができる。
１．２．動作
図５は、プログラマブルデバイス１の全体制御を示すフローチャートである。
【００５３】
まず、ユーザがプロセッシングシステム１をブートする。
このとき、電力制御手段１２は、スリープ制御信号ＳＬＰ＿ｃ＃をネゲート（ここでは負論理のため“０”から“１”に変化）させてパワーゲーティングスイッチ２５をオン状態とし、構成制御手段１３への電力供給を開始する（ステップＳ１）。
構成制御手段１３内の構成シーケンサ５２は、電力供給が開始されると構成メモリのクリア信号ＣＬＲをアサートしてその初期化を行う（ステップＳ２）。
【００５４】
そして、全てのプロセッシングタイル１１における構成メモリ２１について、上述したようにグローバルアドレスＡＤＤＲを順次変更させながらそのメモリセル３２の列単位で構成情報（Ｃｏｎｆｉｇ）を設定していく（ステップＳ３）。
ステップＳ３が完了すると、電力制御手段１２は、構成制御手段１３への電力供給を遮断するスリープ制御信号（ＳＬＰ＿ｃ＃）をアサート（“１”から“０”に変化）させ、パワーゲーティングスイッチ２５をオフにする（ステップＳ４）。
【００５５】
以降は、電力制御手段１２が、全てのプロセッシングタイル１１に割り当てられた処理を完了するまで、それらプロセッシングタイル１１毎の動作状態を監視する。動作が終了したプロセッシングタイル１１については、そのコアロジック２２への電力供給を遮断する制御を行う（ステップＳ５）。
図６は、ステップＳ５、即ちプロセッシングタイル５００毎の個別電力制御の詳細を示すフローチャートである。
【００５６】
電力制御手段１２は、制御対象となるプロセッシングタイル１１が待機状態（非活性状態）か活性状態かを示す待機ステータス信号を確認し、それが活性状態を示す場合は処理を開始する（ステップＳ１１）。
この待機ステータス信号は、一例として、ユーザが設計した論理回路（ユーザ回路）により生成させる。
【００５７】
このユーザ回路について、図７を用いて説明を補足する。
例えば、図７（ａ）に示すような、アイドルステート（２００）から起動後にタスクＡ（２０１）、タスクＢ（２０２）、タスクＣ（２０３）を逐次実行した後、再びアイドルステート（２００）に遷移するステートマシンで制御されるユーザ回路を、図７（ｂ）に示すプログラマブルデバイス２０４に割り当てて実行させる場合を考える。
【００５８】
この場合、それらタスクＡ、Ｂ、Ｃをそれぞれ実行する回路モジュールＡ（２０５）、Ｂ（２０６）、Ｃ（２０７）をプログラマブルデバイス２０４内の複数のプロセッシングタイル２０８に割り当てる場合（図７（ｂ））、モジュールＡ（２０５）、Ｂ（２０６）、Ｃ（２０７）の待機ステータス信号が、自らに割り当てられたタスクの実行中でのみ活性状態を示し、それ以外は非活性の待機状態を示すように生成される（図７（ｃ））。
【００５９】
また、機能割り当ての無い未使用領域２０９のプロセッシングタイルにおける待機ステータス信号は、常に待機状態を示すよう生成される。
なお、待機ステータス信号はユーザ回路で明示的に設計するだけでなく、その設計データ（ＲＴＬ：Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）からＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツールによって上記のようなステート情報を検出し、自動生成することも考えられる。
【００６０】
同一モジュール内の複数のプロセッシングタイルにおける待機ステータス信号は共通であり、電力制御手段１２は、そのような待機ステータス信号によって各プロセッシングタイルの動作状態を監視可能にする。
以上、ユーザ回路についての説明を終え、フローチャートの説明に戻る。
電力制御手段１２は、プロセッシングタイル１１が活性状態であることを検出すると、スリープ制御信号（ＳＬＰ＿ｌ＃）をネゲート（“０”から“１”に変化）させて、パワーゲーティングスイッチ２３をオン状態とし、コアロジック２２に電力供給を開始させる（ステップＳ１２）。
【００６１】
次に、状態復帰信号（Ｒｅｓｔｏｒｅ）をアサートしてコアロジック２２内のプロセッシングロジック４１における内部状態レジスタの内容を内部状態レジスタを対応するメモリセル３２からロードさせる（ステップＳ１３）。
そして、内部状態の復帰が完了するとプロセッシングタイル１１は動作状態となるため、電力制御手段１２はプロセッシングタイル１１の待機ステータス信号が待機状態を示すまで監視する（ステップＳ１４）。
【００６２】
待機状態となったことを検出すると、電力制御手段１２は、状態退避信号（Ｂａｃｋｕｐ）をアサートし、コアロジック２２のプロセッシングロジック４１における内部状態レジスタの内容を対応するメモリセル３２に書き戻させる（ステップＳ１５）。
そして、内部状態退避（ステップＳ１５）が完了するとスリープ制御信号（ＳＬＰ＿ｌ＃）をアサート（“１”から“０”に変化）させてパワーゲーティングスイッチ２３をオフ状態とし、コアロジック２２への電力供給を遮断する（ステップＳ１６）。
【００６３】
そして、そのプロセッシングタイル１１に割り当てられた処理が完了していなければ、再び待機ステータス信号を監視して活性状態となるまで待ち（ステップＳ１１）、完了した場合はそのプロセッシングタイル５００毎の個別電力制御を終える（ステップＳ１７）。
２．実施の形態２
実施の形態１において、図７（ｂ）に示したように、ユーザ回路をプログラマブルデバイスに割り当てる際には、必ずしも全てのプロセッシングタイルを使用するわけではなく、割り当て方によっては一部のプロセッシングタイルが未使用領域２０９となる。
【００６４】
未使用領域２０９であるプロセッシングタイルへは電力供給する必要はないが、実施の形態１におけるプロセッシングシステムの構成では、構成メモリへの電力供給を遮断できない。
また、構成メモリは、低リークのトランジスタで構成可能だが、その容量が大きくなると全体としてのリーク電力は無視できない場合がある。
【００６５】
そこで、本実施の形態２では、上述の未使用のプロセッシングタイルにおける構成メモリについても電源遮断可能にプログラマブルデバイスを構成し、更なる省電力化を図っている。
以下、実施の形態１との相違点を中心に説明する。
２．１．構成
図８は、実施の形態２に係るプロセッシングシステムを示す図である。
【００６６】
実施の形態２に係るプロセッシングシステムは、構成メモリ２１と電力制御手段１２との間にパワーゲーティングスイッチ３０１を設けている点が実施の形態１に係るプロセッシングシステムと異なる。
図８において破線で囲んだ部分を、詳細化したものが図９である。
図９に示すように、構成メモリ２１と電力制御手段１２とを結ぶ電源配線１５にパワーゲーティングスイッチ３０１が挿入されている。
【００６７】
そして、電力制御手段１２中の電力シーケンサ６１が、実施の形態１で説明した信号に加え、パワーゲーティングスイッチ３０１を制御するスリープ制御信号（それぞれＳＬＰ＿ｍ＃）３０２を生成し、パワーゲーティングスイッチ３０１に供給し、構成メモリへの電力供給のオン／オフを制御する。
ここで、図７（ｂ）を用いて上述したように、ユーザ回路をプログラマブルデバイスに割り当てる際には機能割り当てが無い未使用領域２０９が生じることが有るため、本実施の形態では、未使用領域２０９に係るプロセッシングタイル中のメモリセルに係る構成情報は、機能割り当ての有無を示す割当フラグを含め構成されている。
【００６８】
電力制御手段１２は、プロセッシングタイルに含まれるメモリセルに係る構成情報中の割当フラグが機能割り当て無しを示す場合、そのプロセッシングタイルについては電力供給オフを示すＳＬＰ＿ｍ＃を、そのメモリセルに係るパワーゲーティングスイッチ３０１に供給する。
パワーゲーティングスイッチ３０１は、プロセッシングタイル毎に設けているが、メモリセル毎に設けることとしてもよいし、他の単位、例えば３個のメモリセルごとに設けるなどしてもよい。
２．２．動作
図１０は、本実施の形態に係るプログラマブルデバイス１の全体制御を示すフローチャートである。
【００６９】
図１０は、実施の形態１における図５と、ステップＳ３１、ステップＳ３２において異なり、その他のステップは同じものである。
ステップＳ３１では、実施の形態２に係るプログラマブルデバイス２においては、プロセッシングタイル１１ａ内の構成メモリ１２についてもデフォルトで電源遮断状態のため、起動直後に、構成制御手段１３に加え各構成メモリ２１への電力供給も行う（ステップＳ３１）。
【００７０】
ステップＳ３２を詳細化したものが図１１である。
図１１は、実施の形態１における図６に相当し、図６とはステップＳ４１とステップＳ４２において異なる。
ステップＳ４１では、電力制御手段１２が、機能割り当ての有無を示す割当フラグを判定し、制御対象のプロセッシングタイル１１ａへの機能割り当ての有無を判断し（Ｓ４１）、機能割り当てが有る場合（ステップＳ４１：Ｙ）、ステップＳ１１〜Ｓ１７として既に説明した動作を行う。
【００７１】
機能割り当てが無い場合（ステップＳ４１：Ｎ）、スリープ制御信号（ＳＬＰ＿ｍ＃）をアサート（“１”から“０”に変化）させ、パワーゲーティングスイッチ３０１をオフ状態とし構成メモリ１２への電力供給を遮断して（ステップＳ４２）、その個別電力制御を完了する。
以上説明したように、待機状態のコアロジック２２のみならず、機能割り当ての無いプロセッシングタイル１１ａについても電源遮断し、上記実施の形態１に比べ、更なる省電力効果を得る。
【００７２】
３．実施の形態３
実施の形態２では、ユーザ回路に対し、図７（ｂ）に示すような機能割り当てを行い、図７（ｃ）のように同時に１つのモジュールのみが活性状態となるように動作させていた。この場合、デバイスの大部分が非活性の待機状態となっており、回路資源の利用効率が低い。
【００７３】
実施の形態３に係るプログラマブルデバイスは、動作中に構成変更が可能な動的再構成デバイスである。
具体的には、図１２に示すように、１つのデバイス４００に対し、モジュールＡ（４０１）、モジュールＢ（４０２）、モジュールＣ（４０３）を動的に時分割で割り当てながら処理を進める。
【００７４】
ここで、モジュールＡ（４０１）からモジュールＢ（４０２）に構成変更する際、上述の実施の形態と同様にモジュールＡ（４０１）に属するプロセッシングタイルの内部状態を対応する（それを初期化する構成情報を格納した）メモリセルに退避させるとしても、そのメモリセルには次のモジュールＢ（４０２）における構成情報が上書きされてしまうため、ステートマシンが一周して再びモジュールＡ（４０１）に構成変更する場合に前回の処理結果は破壊されてしまい引き継ぐことができない。
【００７５】
また、このようなデータの退避を外部の記憶手段を用いて行うと、構成変更時に要する時間が大きくなり動的再構成の利点を活かせない。
本実施の形態３に係るプログラマブルデバイスは、上述のような構成変更時にも内部状態を退避可能になるよう構成されている。
３．１．構成
図１３に示す実施の形態３におけるプロセッシングタイル１１ａは、図９に示す実施の形態１におけるものと比べ、構成メモリ２１内に拡張記憶領域５００を設けている点が異なる。
【００７６】
拡張記憶領域５００には、コアロジック２２におけるプロセッシングロジック４１ａ等の内部状態が退避される。
３．２．動作
実施の形態３におけるプログラマブルデバイスの全体制御フローチャートは既に説明した図６で表される。
【００７７】
電力制御手段におけるプロセッシングタイル毎の個別制御のフローチャートは図７で表される。
しかし、図７において、内部状態復帰Ｓ１３と内部状態退避Ｓ１５の詳細動作は、実施の形態１とは異なる。
本実施の形態の内部状態復帰Ｓ１３において、コアロジック２２のプロセッシングロジック４１ａ等の内部状態について、起動直後の最初の復帰時には対応するメモリセル３２に格納した構成情報の値で初期化する。
【００７８】
また、本実施の形態の内部状態退避Ｓ１５においては、拡張記憶領域５００に退避した値を復帰させる。
このように、本実施の形態では、拡張記憶領域５００を用いて、プロセッシングロジック４１の内部状態の退避・復帰をすることで、コアロジック２２の電源遮断時だけでなく、構成変更時にもその内部状態をプロセッシングタイル１１内でローカルに保持することができ、電源遮断からの復旧や構成変更時の内部状態の復帰を高速化できる。
【００７９】
４．変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
（１）プロセッシングタイルについて、図２に示すように、構成メモリ２１、コアロジック２２、パワーゲーティングスイッチ２３とを含む構成について説明したが、本構成は一例でありこれに限るものではない。
【００８０】
また、プロセッシングロジックについても、図３に示すように、ロジックブロック１０１、インターコネクト１０２を１つずつ含む構成について説明したが、本構成は一例でありこれに限るものではない。
各構成要素の数、構成要素間の相互の接続を変更してもよいし、各構成要素を他の構成としてもよい。
【００８１】
例えば、ロジックブロック、インターコネクトの数、これらの相互の接続を変更してもよいし、ロジックブロックをＬＵＴを用いずに構成してもよい。
（２）  本願発明におけるプログラマブルデバイスは、図１４に示すようにＣＰＵ、メインメモリ、ペリフェラルやそれらに電力を供給する電源装置等を備えた情報処理システムにおいて、ＣＰＵ内でレジスタファイルやメモリ内のデータ処理を行うプログラマブルデータパスや、そのＣＰＵの外部で、演算処理をオフロードするプログラマブルコプロセッサのような形で搭載することができる。
（３）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【００８２】
ここで、各装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
（４）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【００８３】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００８４】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（５）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、などから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
（６）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【００８５】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【００８６】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（７）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【００８７】
本願発明に係るプログラマブルデバイスは、省電力や、電源遮断状態からの高速な起動を要する情報処理装置等に搭載され、当該情報処理機器の製造業者等により製造、譲渡等される。
【符号の説明】
【００８８】
２      プログラマブルデバイス
１１      各プロセッシングタイル
１２      電源制御手段
１４〜１６  電源配線
２１      構成メモリ
２２      コアロジック
２３、２５      パワーゲーティングスイッチ
３２      メモリセル
４１      プロセッシングロジック
５１      シフトレジスタ
５２      構成シーケンサ
１００      プログラマブルデバイス
１０１      ロジックブロック
１０３      ロジックセル
１０５      構成メモリ
１０６      コアロジック
１２１      各スイッチ要素
１２３      メモリセル
３０１      パワーゲーティングスイッチ
５０１      構成メモリ
５０３      電力制御手段
５０７      コアロジック
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラマブルデバイスであって、
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む複数のプロセッシングタイルと、
コアロジック部と構成メモリとに電力を供給する電力供給手段と、
前記複数のプロセッシングタイル各々について、当該プロセッシングタイルを待機状態にする場合には、当該プロセッシングタイルに含まれる構成メモリを用いて当該プロセッシングタイルに含まれるコアロジック部の内部状態を待避し、前記構成メモリへの電力供給路とは別に前記コアロジック部への電力供給路を遮断し、当該プロセッシングタイルを使用する場合には、前記電力供給路を接続した後に前記内部状態を前記コアロジック部に復帰させる制御手段と
を備えることを特徴とするプログラマブルデバイス。
【請求項２】
前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しない
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項３】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断する
ことを特徴とする請求項２記載のプログラマブルデバイス。
【請求項４】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断する
ことを特徴とする請求項２記載のプログラマブルデバイス。
【請求項５】
前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定する
ことを特徴とする請求項４記載のプログラマブルデバイス。
【請求項６】
前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させる
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項７】
前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定する
ことを特徴とする請求項６記載のプログラマブルデバイス。
【請求項８】
前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させる
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項９】
前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成される
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項１０】
前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成される
ことを特徴とする請求項１記載のプログラマブルデバイス。
【請求項１１】
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む複数のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、
コアロジック部と構成メモリとに電力を供給する電力供給ステップと、
前記複数のプロセッシングタイル各々について、当該プロセッシングタイルを待機状態にする場合には、当該プロセッシングタイルに含まれる構成メモリを用いて当該プロセッシングタイルに含まれるコアロジック部の内部状態を待避し、前記構成メモリへの電力供給路とは別に前記コアロジック部への電力供給路を遮断し、当該プロセッシングタイルを使用する場合には、前記電力供給路を接続した後に前記内部状態を前記コアロジック部に復帰させる制御ステップと
を含むことを特徴とするデバイス制御方法。
【請求項１２】
情報処理システムであって、
プログラマブルデバイスと、
前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、
前記プログラマブルデバイスを駆動する外部電源手段とを備え、
前記プログラマブルデバイスは、
回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む複数のプロセッシングタイルと、
前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、
前記複数のプロセッシングタイル各々について、当該プロセッシングタイルを待機状態にする場合には、当該プロセッシングタイルに含まれる構成メモリを用いて当該プロセッシングタイルに含まれるコアロジック部の内部状態を待避し、前記構成メモリへの電力供給路とは別に前記コアロジック部への電力供給路を遮断し、当該プロセッシングタイルを使用する場合には、前記電力供給路を接続した後に前記内部状態を前記コアロジック部に復帰させる制御手段と
を備えることを特徴とする情報処理システム。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009063584.tif 000017
【図２】
2009063584.tif 000018
【図３】
2009063584.tif 000019
【図４】
2009063584.tif 000020
【図５】
2009063584.tif 000021
【図６】
2009063584.tif 000022
【図７】
2009063584.tif 000023
【図８】
2009063584.tif 000024
【図９】
2009063584.tif 000025
【図１０】
2009063584.tif 000026
【図１１】
2009063584.tif 000027
【図１２】
2009063584.tif 000028
【図１３】
2009063584.tif 000029
【図１４】
2009063584.tif 000030
【国際調査報告】
2009063584.tif 000031
2009063584.tif 000032