JP2008097463A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2008097463A JP2008097463A JP2006280589A JP2006280589A JP2008097463A JP 2008097463 A JP2008097463 A JP 2008097463A JP 2006280589 A JP2006280589 A JP 2006280589A JP 2006280589 A JP2006280589 A JP 2006280589A JP 2008097463 A JP2008097463 A JP 2008097463A
- Authority
- JP
- Japan
- Prior art keywords
- configuration information
- power
- unit
- processing
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】各処理エレメントの再構成に係る構成情報の書き換え時のウェイクアップ時間に起因する処理のストールを抑止し、パフォーマンスの低下の防止を実現する。
【解決手段】データ処理部101における複数の処理エレメントの再構成に係る複数の構成情報を記憶する構成情報記憶部102と、構成情報記憶部102からデータ処理部101に読み込む構成情報を予測する構成情報予測部105と、当該予測に基づいて構成情報記憶部102から構成情報を読み出す構成情報読み出し部103と、当該読み出された構成情報に基づいて前記各処理エレメントにおける電源の制御を行う電源制御部107と、構成情報読み出し部103により読み出された構成情報に基づいて、電源制御部107による制御により活性化された処理エレメントに対して接続関係を指示する接続情報指示部104を備えるようにする。
【選択図】図1
【解決手段】データ処理部101における複数の処理エレメントの再構成に係る複数の構成情報を記憶する構成情報記憶部102と、構成情報記憶部102からデータ処理部101に読み込む構成情報を予測する構成情報予測部105と、当該予測に基づいて構成情報記憶部102から構成情報を読み出す構成情報読み出し部103と、当該読み出された構成情報に基づいて前記各処理エレメントにおける電源の制御を行う電源制御部107と、構成情報読み出し部103により読み出された構成情報に基づいて、電源制御部107による制御により活性化された処理エレメントに対して接続関係を指示する接続情報指示部104を備えるようにする。
【選択図】図1
Description
本発明は、複数の処理エレメントを具備し、当該複数の処理エレメントを再構成して入力されたデータの処理を行うデータ処理部を備えたデータ処理装置に関する。
近年、CMOS型半導体装置からなる半導体集積回路の微細化に伴い、CMOS型半導体装置のゲート電極から生じるリーク電流の増加が設計・製造の両面で大きな問題となっている。
特に、100nm以下の微細なプロセスでは、半導体集積回路の総消費電力においてリーク電流の占める割合が増加の一途を辿り、今後、この電力消費を抑止していくことが製造後に確実に動作する半導体集積回路を設計していく上で重要な課題となっている。
例えば、半導体装置の微細化に従ってゲート酸化膜の薄膜化が進む中、リーク電流を減らすためには電源電圧を低電圧化していく必要があるが、半導体集積回路の高速性を確保するためにゲート電極に掛ける電圧の低電圧化が進まない。この結果、電源電圧の低電圧化よりも、電源電圧に対応するリーク電流の急激な増加傾向が顕著になってきている。また、更に、この微細化につれてスケーリングしてきた電源電圧が受ける電源電圧の降下の要因も大きな問題になりつつある。
このようなリーク電流の増加に対し、半導体集積回路のプロセス開発面では、ポリシリコン(ゲート電極)とゲートチャネルを遮断する誘電物質の素材として、シリコン酸化膜の代わりに、高誘電率で膜厚を厚くすることが可能な別の素材を開発しようとしている。しかし、まだまだ、広く一般に利用されるほど実用化には至っていない。
一方、半導体集積回路の設計面では、100nm以下のプロセスで起こる消費電力削減の課題に応えられるように、従来から幾つかの新規技術を導入して対応してきた。例えば、リーク電流を削減する直接的な代表的な方法として、130nmプロセスの世代から比較的よく使われるようになってきた技術で、マルチVthセルを利用したレイアウト手法がある。このマルチVthセルを利用したレイアウト手法とは、スピードは遅いがリーク電流の少ないゲート電圧閾値の高いセルと、スピードは速いがリーク電流の多いゲート電圧閾値の低いセルを半導体集積回路を構成する同一チップ内に混在させるというものである。
すなわち、タイミングに余裕のあるパスのセルを高い閾値の低速セルへマッピングし、クリティカルパスのセルを低い閾値の高速セルへマッピングさせることにより、タイミングを満たしつつ、チップ全体での消費電力の削減を達成するものである。なお、同じ設計面での消費電力削減の施策として、クロックゲーティングや回路量の削減などの方法が実施されている。
これらの方法は、動作時に消費する電力を削減するための方法であり、ここでは、マルチVthセルを利用したレイアウト方法とは異なるものとして議論する。
確かに、消費電力削減のためにクロックゲーティングや回路量の削減などの方法も、設計面での消費電力削減の施策として考慮されていなければならない方法論ではある。しかし、問題をトランジスタ(半導体装置)の更なる微細化に起因するリーク電流増加の傾向に絞った場合、これらの方法は、リーク電流削減の直接的な効果を期待できる施策とはならない。
一方、設計面でのリーク電流削減の直接的な施策の1つとして、微細化の進展に伴い注目されているのがマルチ電源電圧や、電源の遮断である。半導体装置のゲート酸化膜に高い電圧が掛かった状態では、常に、リーク電流が多く流れる。しかしながら、回路スピードを犠牲にして低いゲート電圧でトランジスタ(半導体装置)を動作させたり、使っていない回路の電源を遮断したりすることにより、リーク電流を劇的に削減できることが分かっている。このマルチ電源電圧ドメインや、電源遮断の設計手法自体は、携帯機器向けの半導体集積回路等で既に広く用いられている方法である。
これらの実装方法は、レベルコンバータやMTCMOS、セレクティブMTCMOSなどの電源電圧を変更することのできる特殊な回路を利用して実施されている。また、マルチ電源電圧ドメインに関連して、ドメイン内の電圧を動作スピードにあわせて変更するバリアブル電圧の技術も実施されている。但し、意図的にバリアブル電圧を複数設けた状態では、動作保障が難しいために、ASICやゲートアレイの設計形態でこのような設計手法がとられることは少ない。
そして、リーク電流対策の観点から、ASICやゲートアレイの設計形態では、マルチ電源電圧ドメインと電源遮断が採用されることが多い。このマルチ電源電圧ドメインの設計手法は、周辺モジュールと比較して低速動作でよいが、定常的に動作させたい部分を実装するのに適している。
また、電源遮断の設計手法は、動作させるときは高速で動作させたいが、定常的には動作していなくても良い部分を実装するのに適している。
このマルチ電源電圧ドメインの設計手法や電源遮断の設計手法に関連する従来技術として、電源遮断時の保持データの消滅を防止し、また電源復帰時の貫通電流を防止し、急峻に電源を立ち上げることで高速化と低消費電力化を図る方法(特許文献1参照)がある。また、論理回路部のグランド側にスイッチ回路を設け、論理回路部とスイッチ回路の接続する電源ラインの電位が、他の論理セルの動作による影響を受け難くすることにより、論理セルごとに正確な遅延特性を見積もる方法(特許文献2参照)がある。
次に、電源遮断に焦点を絞ると、リーク電流削減の効果が高い反面、電源遮断状態から安定動作可能な状態に復帰するまでの時間が、回路の動作スピードと比較して長いという利用上の難しさがある。
例えば、定常的には動作しないが、通常動作には高速で動作させたい機能モジュールを電源遮断により実装したと仮定する。ここで、電源遮断を行った機能モジュールが他の機能単位で処理を行う場合のデータの依存関係を持っていたり、実行順序があらかじめ規定されていたりするような場合を考える。このような場合、電源遮断を行ったブロックでは、電源遮断を行ったブロックでの処理が必要だと判定した時点で電源投入を行うと、電源遮断状態から回路が安定動作可能な状態に復帰するまでのウェイクアップ時間がパイプラインストールを引き起こす原因となる。
このパイプラインストールの影響による処理時間ペナルティは、以下のように現れる。
今日の半導体集積回路のマイクロプロセッサが1サイクル数ナノ秒で動作する一方、電源遮断したブロックのウェイクアップ時間には数マイクロ秒程度掛かる。すなわち、数ナノ秒のオーダーでパイプライン動作するマイクロプロセッサが、電源遮断された機能を呼び出して必要なデータを取得するためには、まず、機能が動作し始めるまでの段階で既に数マイクロ秒の処理待ちする時間が生じることになる。
今日の半導体集積回路のマイクロプロセッサが1サイクル数ナノ秒で動作する一方、電源遮断したブロックのウェイクアップ時間には数マイクロ秒程度掛かる。すなわち、数ナノ秒のオーダーでパイプライン動作するマイクロプロセッサが、電源遮断された機能を呼び出して必要なデータを取得するためには、まず、機能が動作し始めるまでの段階で既に数マイクロ秒の処理待ちする時間が生じることになる。
このウェイクアップ動作と通常処理の時間スケールのギャップは解消することが難しいため、従来の手法では、ウェイクアップ動作を行うブロックと定常的に動作させる部位との間で可能な限り処理の依存性を排除してハードウェア化することが行われていた。例えば、ハードディスクドライブにおけるコントローラなどのような装置の電源遮断に関する従来技術として、ハードディスクのアクセスシーケンスなどを用いて比較的制御を分離する方法(特許文献3参照)がある。
また、より複雑な制御については、定常的に動作させる部分でのソフトウェア制御により電源制御が行われていた。反応速度としては、ウェイクアップ動作と同等の処理速度で電源分離箇所にアクセスするのが一般的であり、リーク電流が問題にならない場合の設計手法としては、十分確立された方法論であった。
しかしながら、90nm以下のプロセスでのリーク電流による消費電力を考慮に入れた場合、従来通りの設計手法により作製された半導体集積回路では、総消費電力においてリーク電流の占める割合がついに4割を超え、更なる微細化では5割以上がリーク電流のために消費されるということが分かってきた。この観点から、今後の微細化プロセスでの設計面でのリーク電流の削減を視野に入れると、動作スピードと同等の時間スケールで電源投入スイッチのオン、オフを制御できることが望ましい。
以上のことから、パフォーマンスを維持したままリーク電流削減のために電源制御を行う状況は、従来取られていた方法とは全く別のウェイクアップの制御を要する。すなわち、ウェイクアップ動作を行うブロックを別の処理系へ分離してソフトウェアで制御する方法とは全く別の解決策が必要となる。
また、近年、一連の処理を実行しながら回路構成を処理に最適化した形式に組み替える動的再構成可能型プロセッサが開発されるようになってきた。この動的再構成可能型プロセッサは、処理の多くの部分をステップ数の短い専用の処理や一連のパイプライン処理をハードウェア処理で実現することができるため、汎用プロセッサに比べて、消費電力低下や、実行時間を向上の効果がある。
また、製造の観点から、微細化が進むに従い、組み替えることのできる動的再構成可能型プロセッサやFPGA(フィールドプログラマブルゲートアレイ)などの再構成可能型のデバイスが微細化プロセスで作られることが多くなってきている。ASIC等では、配置配線の状態により露光や製造が困難なマスクパターンを扱うことになるが、再構成可能型のデバイスは、回路構造に規則性があり、露光、製造が容易なマスクパターンを設計し易いという背景がある。
しかしながら、動的再構成可能型プロセッサやFPGAなどのデバイスでは、その構成情報の書き込みを行う際には、通常、デバイス全体に電力が供給されている状態で回路構成情報による処理エレメント間の接続を指定する必要がある。もし、回路構成情報の書き換えの段階でデバイスの該当する部位に電力が供給されていなかった場合は、改めて当該デバイスに電力を供給し、トランジスタの動作の安定化を待って回路構成情報による処理エレメント間の接続を行うことになる。
ここで、動的再構成可能型プロセッサやFPGAがパイプライン処理を実行する場合を考えると、回路構成書き換えのパイプラインストールの影響を最小限にするには、再構成可能型の処理エレメント全てに電力を供給しつづけなければならない。しかしながら、微細化、大規模化の進展の観点から、このような制御方法を取った場合、使用していない処理エレメントでのリーク電流が増大することになる。
また、逆に未使用処理エレメントを単純に電源遮断して動作させると、回路の再構成する場合に、電源投入からデバイス安定化までのウェイクアップ時間のストールを許容しなければならない。従来、再構成可能型のデバイスにおいて、リーク電流を削減する目的で実施する電源遮断、電源投入に起因するパイプライン処理のストールを、プロセッサのクロック動作と同等の時間スケールで直接改善するような技術はまだない。
従来の技術では、半導体集積回路内で再構成可能型のデバイスのうち電源遮断された処理エレメントを電源投入する場合、電源投入された回路動作が安定化するのを待ってから処理を開始するのが一般的であった。このため、依存関係のある命令や処理によりウェイクアップが行われるとパイプラインストールを起こす可能性があり、機能の組み合わせごとに電源制御の手順を最適化することは自動化が難しい。
また、例え自動化がなされていたとしても、回路動作安定化のウェイト時間を顕に持つ特別な制御シーケンスで構成されていることが多く、多くの処理エレメントを組合せで実施する電源遮断と電源投入を繰り返す等の制御では、多くの待ち時間が発生してしまう。また、特別な制御シーケンスを利用することで処理の柔軟な組合せが阻害され、ソフトウェアで記述された汎用性、移植性を阻害する可能性がある。
また、微細化プロセスで設計された半導体集積回路では、電源遮断と電源投入により、リーク電流削減の効果を得ることが目的である。そのため多くの場合、半導体集積回路内の特定の電源ドメインで電源分離された処理エレメントに対して電源遮断と電源投入を実施するため、頻繁に電源遮断と電源投入を繰り返すような制御が前提となる。
しかしながら、回路動作安定化のウェイト時間を顕に持つような従来の制御シーケンスで電源遮断と電源投入の繰り返しを制御すると、パイプラインストールの発生によりパフォーマンスのボトルネックとなる。
本発明は上述の問題点に鑑みてなされたものであり、各処理エレメントの再構成に係る構成情報の書き換え時のウェイクアップ時間に起因する処理のストールを抑止し、パフォーマンスの低下の防止を実現するデータ処理装置を提供することを目的とする。
上述した課題を解決するために本発明は、複数の処理エレメントを具備し、当該複数の処理エレメントを再構成して入力されたデータの処理を行うデータ処理部と、前記データ処理部における前記複数の処理エレメントの再構成に係る複数の構成情報を記憶する構成情報記憶部と、前記構成情報記憶部から前記データ処理部に読み込む構成情報を予測する構成情報予測部と、前記構成情報予測部による予測に基づいて前記構成情報記憶部から構成情報を読み出す構成情報読み出し部と、前記構成情報読み出し部により読み出された構成情報に基づいて前記複数の処理エレメントにおける電源の先行投入を指示する電源投入情報指示部と、前記電源投入情報指示部の指示に基づいて前記複数の処理エレメントにおける電源の制御を行う電源制御部と、前記構成情報読み出し部により読み出された構成情報に基づいて、前記電源制御部による制御により活性化された処理エレメントに対して接続関係を指示する接続情報指示部とを有することを特徴とするデータ処理装置等を提供する。
本発明によれば、データ処理部における各処理エレメントの再構成に係る構成情報の予測の基づいて、各処理エレメントあるいは各処理エレメントのグループに対して独立に先行電源投入、先行電源遮断を行うことが可能となる。これにより、リーク電流の削減と共に、構成情報の書き換え時のウェイクアップ時間に起因する処理のストールを抑止し、パフォーマンスの低下を防止することができる。
また、本発明によれば、各構成情報における処理の継続時間がウェイクアップ時間と比較して短い場合にも、構成情報の書き換え時のウェイクアップ時間に起因する処理のストールを抑止することが可能になる。また、過去の構成情報の書き換え発生の履歴から、実行中の各構成情報の処理の継続時間とウェイクアップ時間との関係から、ストール発生を抑止し、かつ、リーク電流を抑えた制御状態を探査し、リークによる電力消費と処理効率の最適化を実施することができる。また、本発明によれば、パイプライン処理の継続時間の不均一さにも対応できるよう電源投入タイミングを最適化することが可能である。
次に、本発明の実施形態について、添付図面を参照しながら説明する。
図1は、本発明の実施形態に係るデータ処理装置100のブロック構成図である。
図1に示すデータ処理装置100は、本発明の最も基本的な構成を示しており、構成情報の予測により、各処理エレメントの電源先行投入、遮断を行う再構成可能型デバイスを示している。
図1に示すデータ処理装置100は、本発明の最も基本的な構成を示しており、構成情報の予測により、各処理エレメントの電源先行投入、遮断を行う再構成可能型デバイスを示している。
一般に、再構成可能型デバイスは、データを処理する再構成可能型データ処理部と当該再構成可能型データ処理部101の構成情報を制御する制御部に機能を分割することができる。図1に示すデータ処理装置(再構成可能型デバイス)100でも、データを入力して当該データの処理結果を出力する再構成可能型データ処理部101と、当該再構成可能型データ処理部101を制御する制御部(102〜107)に分けることができる。
再構成可能型データ処理部101における複数の処理エレメント201の再構成に係る構成情報は、構成情報記憶部102に記録されており、構成情報読み出し部103の指示に従って読み出される。構成情報読み出し部103により読み出された構成情報は、接続情報指示部104により、再構成可能型データ処理部101の各処理エレメント間の接続情報として、再構成可能型データ処理部101へと伝えられる。すなわち、情報指示部104は、構成情報読み出し部103により読み出された構成情報に基づいて、電源制御部107による制御により活性化された処理エレメントに対して接続関係を指示する。ここまでは、通常の再構成可能型デバイスで行われている一般的な構成指示の方法である。
本発明では、これらの構成指示に加えて、構成情報の予測に基づいて各処理エレメントでの電源制御を行う。すなわち、図1に示すデータ処理装置(再構成可能型デバイス)100において、構成情報予測部105により、構成情報読み出し部103に対して、構成情報記憶部102からの複数の構成情報の先行読み出しを指示する。
この構成情報読み出し部103に読み出された予測構成情報は、電源投入情報指示部106へと転送され、そこで個々の処理エレメントの電源投入、電源遮断の情報として解釈され、更に、電源制御部107へと伝達される。電源制御部107は、再構成可能型データ処理部101の各処理エレメントの電源投入、遮断を制御する。
図2は、再構成可能型データ処理部101の内部構成の一例を示す模式図である。
再構成可能型データ処理部101は、複数の処理エレメント201からなり、個々の処理エレメント201は、接続情報指示部104からの接続情報と電源制御部107からの電源制御情報によって制御される。
再構成可能型データ処理部101は、複数の処理エレメント201からなり、個々の処理エレメント201は、接続情報指示部104からの接続情報と電源制御部107からの電源制御情報によって制御される。
図3は、電源制御部107が個々の処理エレメント201に対して、電源投入、電源遮断の制御を行う様子を示す模式図である。
図3に示すように、処理エレメント201内には、データ処理部301と、トランジスタ307と、駆動電源308を具備している。データ処理部301は、トランジスタ307を介して、電源制御部107と繋がる構成になっている。
図3に示すように、処理エレメント201内には、データ処理部301と、トランジスタ307と、駆動電源308を具備している。データ処理部301は、トランジスタ307を介して、電源制御部107と繋がる構成になっている。
処理エレメント201は、デバイスの種類によってその出力が異なる。ここでは、一例として、制御コード302とデータイン303を入力し、コンディションコード304や、データアウト305等のデータに対する直接の処理結果と、データ処理部301自体の状態を示す処理状態306等の信号を出力するものと考える。
以下に、電源先行投入のパターン特定の方法を示す。
図4は、再構成可能型データ処理部101の時刻T0における構成状態を示す模式図である。図4では、各処理エレメント201のうち、時刻T0で使用中の処理エレメントを灰色の塗りつぶしで示している。ここで、時刻T0から時刻T1に移り、図5に示す構成状態へ再構成可能型データ処理部101が組み替えられるとする。
図4は、再構成可能型データ処理部101の時刻T0における構成状態を示す模式図である。図4では、各処理エレメント201のうち、時刻T0で使用中の処理エレメントを灰色の塗りつぶしで示している。ここで、時刻T0から時刻T1に移り、図5に示す構成状態へ再構成可能型データ処理部101が組み替えられるとする。
図5は、再構成可能型データ処理部101の時刻T1における構成状態を示す模式図である。図5では、各処理エレメント201のうち、時刻T1で使用中の処理エレメントを右下がりの斜線の塗りつぶしで示している。
図4の時刻T0において使用中ではない処理エレメントが電源遮断されていた場合、時刻T1になってから、ウェイクアップ処理を行っていたのでは、ウェイクアップ処理がデータ処理をストールさせてしまう。このストールを回避させるために、後の時刻T1で利用することが予測できる処理エレメントに対して、時刻T0での構成情報処理中に先行して電源投入を行う。
すなわち、本実施形態では、図6に示す再構成可能型データ処理部101の全てのタイプの塗りつぶしが示す先行電源投入パターンの通りに処理エレメントに対して、事前にウェイクアップ処理を行う。これにより、電源遮断に起因する構成情報の書き換えに伴うストールの発生を回避することができる。
次に、使わなくなった処理エレメントの電源遮断の方法を示す。
図4、図5に示す構成情報の遷移を辿り、時刻T0で図6に示す電源投入状態に至ったとする。また、予測構成情報に従い時刻T2における構成情報を取得すると、再構成可能型データ処理部101における処理エレメントの使用予測が図7に示す右下がりの斜線で塗りつぶされたパターンであったとする。
図4、図5に示す構成情報の遷移を辿り、時刻T0で図6に示す電源投入状態に至ったとする。また、予測構成情報に従い時刻T2における構成情報を取得すると、再構成可能型データ処理部101における処理エレメントの使用予測が図7に示す右下がりの斜線で塗りつぶされたパターンであったとする。
このとき、時刻T1になり、図5に示す時刻T1で使用する構成情報で示される処理エレメント、及び図6に示す時刻T2の構成情報により活性化が予測される処理エレメント以外は、電源を遮断する。特に、時刻T0の構成情報で利用された処理エレメントは、時刻T1あるいは時刻T2で電源投入指示が無ければ、電源遮断を行う。
図8は、再構成可能型データ処理部101において、時刻T1を実行中に時刻T2の構成情報をもとに、先行電源投入、先行電源遮断した状態を示す模式図である。図9は、再構成可能型データ処理部101の時刻T1の構成状態が指示されるまでの先行電源投入状態を示す模式図である。ここで、図4に示す時刻T0での構成情報により、データ処理を実行中、図5に示す時刻T1での構成情報が予測できていたとする。そして、このとき、時刻T1から始まる処理は実行される時間間隔が短く、次の図7に示す構成状態にウェイクアップするには不十分であったとする。
このとき、本実施形態では、時刻T0の段階で図5に示す時刻T1での構成情報、及び、図7に示す時刻T2での構成情報を共に先行電源投入し、図9に塗りつぶしで示される全ての処理エレメントに対して先行電源投入を行う。これにより、時刻T1の処理時間の短さに起因する処理のストールを回避できる。
すなわち、図5に示す時刻T1での構成情報、及び、図7に示す時刻T2での構成情報など、複数の構成情報から論理和を作り、予測構成情報における処理時間間隔依存性を排除して、より長い先行電源投入時間の確保を可能とするものである。
図10は、図1に示したデータ処理装置100の各構成部の内部構成を示す図である。ここで、図10には、図1に示したデータ処理装置100の各構成部のうち、構成情報記憶部102、構成情報読み出し部103、構成情報予測部105、電源投入情報指示部106及び電源制御部107の内部構成が示されている。
構成情報予測部105は、構成情報履歴テーブル1051と、構成情報ポインタ1052と、先行電源投入領域ポインタ1053と、ストール発生又はタイマー等のイベント検出を伝えるイベントトリガー1004を有して構成されている。構成情報履歴テーブル1051は、ローカルメモリにおけるアドレス等のインデックス1055によってアクセスできるものとする。また、各エントリには、インデックス1055で示される自構成情報履歴による電源投入ポイント1056と構成情報オフセット1057を記憶する領域が存在する。
構成情報読み出し部103では、構成情報オフセット1057に格納されたオフセット情報をもとに、アドレス生成部1035で生成されたアドレスにより、構成情報記憶部102内部の複数個の構成情報1021〜1024にアクセスする。構成情報記憶部102から読み出された構成情報1021〜1024の全部あるいは一部が、構成情報読み出し部103内の構成情報バッファ1031〜1034に格納される。
各構成情報バッファ1031〜1034に格納されている各構成情報から、再構成可能型データ処理部101内の各処理エレメント201に対応する各構成状態での使用状況の予測を元に、電源投入情報指示部106は、電源投入状態を指示する。この電源の投入指示の際には、論理和演算処理部1061における現在使用中の構成情報1022と予測による構成情報1023及び1024との論理和演算処理を用いる。
図10の構成では、予測による電源投入管理を2つ先の構成情報まで予測可能としているため、論理和演算処理部1061による入力幅を3としている。もし、より先の予測による電源先行投入を行うとするならば、この論理和演算処理部1061の入力幅を増やすことで対応が可能である。また、論理和演算処理部1061の入力幅の増加に応じて、構成情報読み出し部103内の構成情報バッファ1031〜1034の数も増やすことになる。
電源の遮断指示には、先に述べた電源の投入指示の論理和演算処理部1061の反転結果と前の構成状態で使用していた構成情報の論理積演算処理部1062の処理結果により、電源遮断指示情報を生成する。そして、電源投入情報指示部106により生成された電源投入指示情報及び電源遮断指示情報は、電源制御部107から、再構成可能型データ処理部101に伝達される。図10の構成では、電源制御部107の例として、構成情報バッファ1031〜1034の読み出しから随時処理される電源投入情報指示部106の動作を意図して、電源制御部107内に、先行電源投入指示情報及び先行電源遮断指示情報を記憶する記憶領域1071を具備するようにした。
以下、更に、上記の機能構成を実際の動作に則して説明する。
図10に示す構成情報履歴テーブル1051のエントリには、自エントリをストールすることなく実行させるための電源投入ポイント1056を構成情報履歴テーブル1051のインデックスとして記憶する領域と、自エントリが利用する構成情報オフセット1057のアドレスを記憶する領域がある。
図10に示す構成情報履歴テーブル1051のエントリには、自エントリをストールすることなく実行させるための電源投入ポイント1056を構成情報履歴テーブル1051のインデックスとして記憶する領域と、自エントリが利用する構成情報オフセット1057のアドレスを記憶する領域がある。
ここで、一例として、構成情報ポインタ1052が構成情報履歴テーブル1051のインデックスがiのエントリを指している場合の動作を説明する。
構成情報ポインタ1052が指すインデックスiをもとに、構成情報読み出し部103内のアドレス生成部1035により、構成情報記憶部102における、構成情報記憶領域1022内のアドレスへと変換される。構成情報記憶領域1022より読み出された構成情報のデータは、構成情報バッファ1032に格納され、接続情報指示部104へと転送される。
ここで、構成情報履歴テーブル1051による電源投入ポイント1056領域を見ると、インデックスiを処理するタイミングでの先行電源投入ポイントとして、インデックスがi+2のエントリまで選択可能なことを検知することができる。
このような状況では、インデックスi+1,i+2で示されるエントリから、構成情報オフセットi+1,i+2の2つの構成情報オフセットを、アドレス生成部1035も、構成情報オフセットiと同様に送信する。
2つの構成情報オフセットi+1,i+2から生成されたアドレスにより、構成情報記憶部102の構成情報記憶領域1023及び1024から、構成情報をそれぞれ構成情報バッファ1033及び1034へ読み出す。構成情報バッファ1032の現在使用中の構成情報、及び、構成情報バッファ1033及び1034に先行読み出し構成情報の各処理エレメントの利用指示を対応付け、論理和演算処理部1061で処理し、電源投入指示パターンとして電源制御部107に登録する。
また、インデックスi−1により指定された構成情報は、過去の処理で利用された構成情報を示しており、構成情報記憶領域1021から、構成情報バッファ1031へと読み出されているか、又は、読み出されていない場合には再読み出しを行う。
ここで、前述の論理和演算処理部1061の演算結果である電源投入指示の否定と、構成情報バッファ1031での各処理エレメントの利用指示の論理積演算処理部1062により、以降の処理での電源遮断指示パターンとして電源制御部107に登録する。なお、ここで説明した装置構成は一例であり、構成情報バッファ1031〜1034へのデータの読み出し方法、構成情報バッファの個数、論理和演算処理部1061の入力数、論理積演算処理部1062の入力数などは、自由に組み替えることが可能である。
次に、図10で示した各構成において、如何に先行電源投入の最適化を達成していくかの例として、ストール検出による最適化方法と、タイマーカウンタを用いた最適化方法の2つについて、構成情報履歴テーブル1051と処理の切り換えに照らして説明する。
以下に、まず、電源先行投入の最適化の1つ目の方法として、ストール検出による最適化方法に係る電源投入ポイントの更新方法、及び、最適化方法について説明する。
図11は、構成情報の切り替えの処理状態の一例を示すタイムチャートである。
ここで、初期値として先行電源投入のデフォルト値として、自インデックスよりも2つ前のインデックス値とした。このとき、処理C、処理Dによる処理時間が短く、処理Eの構成情報に変更を行う場合に、処理Dが終了した時点で、処理のストールが発生してしまう場合を示している。
ここで、初期値として先行電源投入のデフォルト値として、自インデックスよりも2つ前のインデックス値とした。このとき、処理C、処理Dによる処理時間が短く、処理Eの構成情報に変更を行う場合に、処理Dが終了した時点で、処理のストールが発生してしまう場合を示している。
図12は、初期の構成情報履歴テーブル1051の一例を示す模式図である。この図12には、図10に示した構成情報履歴テーブル1051に対して、ストールの履歴情報1201、及び、電源投入ポイントのインデックスのインクリメントを禁止するインデックスインクリメント禁止情報1202を追加情報として用いている。
また、図12は、図11の状態になるときの構成情報履歴テーブル1051の内容を示しており、2つ前の構成情報インデックスを電源投入開始とする状態で初期化されているものとする。
ここで、図11の処理Cの電源投入タイミングを見てみると、処理Bがウェイクアップ時間と比べて十分長いため、構成情報Cの電源投入のタイミングは、処理Bが始まってからで良い。このとき、まず電源投入ポイントのインデックスのインクリメントをするインデックスインクリメント禁止情報1202を参照する。
ここで、インクリメント禁止のフラグが立っていないので、投入タイミングのインデックスを1つ進めて、構成情報Bのインデックスを指すように、処理Cに対応する構成情報を事前に読み込み、インデックス1056を次回の先行電源投入を行うまでに更新する。
また、図11の処理Eでストールが発生したことを検知した際には、構成情報履歴テーブル1051のストール履歴情報1201の処理Eの構成情報履歴に対応するエントリに、ストール発生の履歴を残すフラグを立てる。
また、図11の処理Eでストールが発生したことを検知した際には、構成情報履歴テーブル1051のストール履歴情報1201の処理Eの構成情報履歴に対応するエントリに、ストール発生の履歴を残すフラグを立てる。
このストール発生フラグが0から1へと変化した状態を見て、インデックスインクリメント禁止情報1202にインクリメント禁止フラグを示す1を記憶する。この情報をもとに、次回の先行電源投入を行うまでに構成情報を事前に読み込み、インデックス1056の処理Eのエントリに対応するインデックス情報をデクリメントし、処理Bのエントリに対応するインデックスに書き換える。
結果として、図12に示す構成情報履歴テーブル1051は、図11で示した処理を一度実行した後の段階で、図13に示す内容に書き換わっている。また、図13に示した構成情報履歴テーブル1051により、図11と同様の処理系が実行された場合、図14に示すような処理となる。
すなわち、処理Cの構成情報の書き込みの先行電源投入時間は、最適化され、かつ、処理Eで発生していたストールは解消される。しかしながら、処理Eのストール解消の影響を受けて、その後の処理Fの手前で、別のストールが発生する場合がある。
この様な場合は、図15に示すように、処理Eでの構成情報を事前に読み込み、インデックス1056のインデックス書き換えに連動して、電源投入区間を自動シフトさせる方法が考えられる。この方法の実施例としては、図16に示す通り、処理Eでの構成情報を事前に読み込み、インデックス1056のエントリの更新に連動して、それ以降の処理のエントリに対する構成情報を事前に読み込み、インデックス1056の更新を自動的に実施すればよい。
次いで、以下に、先行電源投入の最適化の2つ目の方法として、タイマーカウンタ(以下、単に「タイマー」と記す)を用いた最適化方法に係る電源投入ポイントの更新方法、及び、最適化方法について説明する。
図17は、タイマーリソース管理を行う構成情報予測部105の内部構成を示すブロック図である。図17に示す通り、図10に示す構成情報予測部105の構成に対して、タイマーリソース管理テーブル1700と複数のタイマー1701〜1705を具備するものを考える。
このタイマーリソース管理テーブル1700と複数のタイマー1701〜1705により、構成情報履歴テーブル1051を更新する方法を取る。ここで、仮に、最初は全部の処理エレメントの電源が投入されている状態で設定しておくものとする。
続いて、最初の処理系の実行時に、各処理開始と同時に各処理にタイマーリソースを割り当ててウェイクアップ時間をカウントさせ、各処理開始と先行電源投入ポイントの候補との相関を調べる。この動作の一例を図18に示す。図18では、処理Aの開始とともにスタートするタイマー1(1701)は、処理Dの実行中にそのカウントを終了する。
また、処理Bの開始とともにスタートするタイマー2(1702)は、処理Dの実行中にはカウントを終了していない。従って、処理Eが適切なウェイクアップ時間を確保することのできる先行電源投入の最適なタイミングとして、タイマー1(1701)がカウントを終了した状態をもとに、処理Dの先行電源投入開始のイベントとして、処理Aの開始点が設定される。このとき、図17に示すタイマーリソース管理テーブル1700により、タイマーリソースは管理される。
タイマーリソース管理テーブル1700は、図19に示す通り、タイマーID1901、カウント終了フラグ1902、スタンバイフラグ1903、割り当てインデックス1904、及び、ネクストタイマーID1905の各情報を格納する。
カウント終了フラグ1902は、各々のタイマーのカウント終了状況を示すものである。スタンバイフラグ1903は、動作状況を示すものである。割り当てインデックス1904は、タイマーリソースの割り当て状況を示すものである。ネクストタイマーID1905は、次に動き出したタイマーIDを記録するものである。
現在実行中の処理に対する先行電源投入のタイミングを推定するには、カウント終了フラグ1902の終了状態に遷移するタイマーがあり、かつ、次に動き出したネクストタイマーID1905でポイントされたタイマーが動作を継続しているような状態を見つけ出すことにより行う。すなわち、図19で、カウント終了フラグ1902のエントリが1で、かつ、ネクストタイマーID1905でポイントされたタイマーのカウント終了フラグ1902、及び、スタンバイフラグ1903が共に0であったとき、割り当てインデックス1904の処理の開始点を現在実行中の処理のウェイクアップ開始点と推定する。
なお、図19では、処理Eの実行開始時点のタイマーリソース管理テーブル1700の状態を表している。
また、カウントが終了したタイマーは、また別の処理の開始と同時に動作を開始するタイマーとして割り当てられる。この様子を、図20に示す。図19で、カウント終了フラグ1902と、スタンバイフラグ1903が共に1となっているタイマーリソースを開放し、再度インデックスEを記録し、動作を開始する。
このとき、カウント終了フラグ1902と、スタンバイフラグ1903が共にクリアされて、図20に示すような内容に書き換えられる。
図17に示す構成情報履歴テーブル1051は、図18の処理を実行し、順次、先行電源投入タイミングを推定していき、処理Iまで進んだ時点では、図21に示すような内容を記録している。
次回の同様の構成情報の切き換えを行う処理では、図21の先行電源投入タイミングを使って、電源投入、電源遮断の制御を行う。また、処理の種類が増えても実行したい並列度にあわせてタイマーの数を決めれば、構成情報の切り換えに対してウェイクアップ時間が長い場合も対応することが可能である。
前述した本実施形態に係るデータ処理装置を構成する図1の各手段、並びに当該データ処理装置の制御方法を示す各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
また、コンピュータが供給されたプログラムを実行することにより本実施形態に係るデータ処理装置の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して本実施形態に係るデータ処理装置の機能が実現される場合や、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係るデータ処理装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。
100:データ処理装置(再構成可能型デバイス)
101:再構成可能型データ処理部
102:構成情報記憶部
103:構成情報読み出し部
104:接続情報指示部
105:構成情報予測部
106:電源投入情報指示部
107:電源制御部
201:処理エレメント
301:データ処理部
302:制御コード
303:データイン
304:コンディションコード等
305:データアウト
306:処理状態
307:トランジスタ
308:駆動電源
1021:構成情報履歴テーブルのインデックスi+2が指定する構成情報領域
1022:構成情報履歴テーブルのインデックスi+1が指定する構成情報領域
1023:構成情報履歴テーブルのインデックスiが指定する構成情報領域
1024:構成情報履歴テーブルのインデックスi−1が指定する構成情報領域
1031〜1034:構成情報バッファ
1035:アドレス生成部
1051:構成情報履歴テーブル
1052:構成情報ポインタ
1053:先行電源投入領域ポインタ
1054:イベントトリガー
1055:構成情報履歴テーブルのインデックスまたはアドレス
1056:構成情報履歴による電源投入ポイント
1057:構成情報オフセット
1061:論理和演算処理部
1062:論理積演算処理部
1071:電源制御情報を格納する記憶領域
1201:ストール履歴情報
1202:インデックスインクリメント禁止情報
1700:タイマーリソース管理テーブル
1701:タイマー1
1702:タイマー2
1703:タイマー3
1704:タイマー4
1705:タイマー5
1901:タイマーID
1902:カウント終了フラグ
1903:スタンバイフラグ
1904:割り当てインデックス
1905:ネクストタイマーID
101:再構成可能型データ処理部
102:構成情報記憶部
103:構成情報読み出し部
104:接続情報指示部
105:構成情報予測部
106:電源投入情報指示部
107:電源制御部
201:処理エレメント
301:データ処理部
302:制御コード
303:データイン
304:コンディションコード等
305:データアウト
306:処理状態
307:トランジスタ
308:駆動電源
1021:構成情報履歴テーブルのインデックスi+2が指定する構成情報領域
1022:構成情報履歴テーブルのインデックスi+1が指定する構成情報領域
1023:構成情報履歴テーブルのインデックスiが指定する構成情報領域
1024:構成情報履歴テーブルのインデックスi−1が指定する構成情報領域
1031〜1034:構成情報バッファ
1035:アドレス生成部
1051:構成情報履歴テーブル
1052:構成情報ポインタ
1053:先行電源投入領域ポインタ
1054:イベントトリガー
1055:構成情報履歴テーブルのインデックスまたはアドレス
1056:構成情報履歴による電源投入ポイント
1057:構成情報オフセット
1061:論理和演算処理部
1062:論理積演算処理部
1071:電源制御情報を格納する記憶領域
1201:ストール履歴情報
1202:インデックスインクリメント禁止情報
1700:タイマーリソース管理テーブル
1701:タイマー1
1702:タイマー2
1703:タイマー3
1704:タイマー4
1705:タイマー5
1901:タイマーID
1902:カウント終了フラグ
1903:スタンバイフラグ
1904:割り当てインデックス
1905:ネクストタイマーID
Claims (3)
- 複数の処理エレメントを具備し、当該複数の処理エレメントを再構成して入力されたデータの処理を行うデータ処理部と、
前記データ処理部における前記複数の処理エレメントの再構成に係る複数の構成情報を記憶する構成情報記憶部と、
前記構成情報記憶部から前記データ処理部に読み込む構成情報を予測する構成情報予測部と、
前記構成情報予測部による予測に基づいて前記構成情報記憶部から構成情報を読み出す構成情報読み出し部と、
前記構成情報読み出し部により読み出された構成情報に基づいて前記複数の処理エレメントにおける電源の先行投入を指示する電源投入情報指示部と、
前記電源投入情報指示部の指示に基づいて前記複数の処理エレメントにおける電源の制御を行う電源制御部と、
前記構成情報読み出し部により読み出された構成情報に基づいて、前記電源制御部による制御により活性化された処理エレメントに対して接続関係を指示する接続情報指示部と
を有することを特徴とするデータ処理装置。 - 前記構成情報予測部は、前記構成情報の書き換え発生の履歴に基づいて、前記複数の構成情報を同時に前記電源の投入に反映させた予測を行うことを特徴とする請求項1に記載のデータ処理装置。
- 前記構成情報予測部は、前記電源の投入、遮断に伴うストール発生の履歴に応じて、電源投入、遮断のタイミングを自動的に調節する予測を行うことを特徴とする請求項1に記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006280589A JP2008097463A (ja) | 2006-10-13 | 2006-10-13 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006280589A JP2008097463A (ja) | 2006-10-13 | 2006-10-13 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008097463A true JP2008097463A (ja) | 2008-04-24 |
Family
ID=39380224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006280589A Pending JP2008097463A (ja) | 2006-10-13 | 2006-10-13 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008097463A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014029638A (ja) * | 2012-07-31 | 2014-02-13 | Canon Inc | 情報処理装置およびその制御方法 |
JP2014137797A (ja) * | 2013-01-18 | 2014-07-28 | Canon Inc | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP2014157508A (ja) * | 2013-02-15 | 2014-08-28 | Canon Inc | 演算装置、アレイ型演算装置およびその制御方法、情報処理システム |
JP2015014833A (ja) * | 2013-07-03 | 2015-01-22 | スパンション エルエルシー | 再構築可能なlsi |
JP2017195611A (ja) * | 2012-05-01 | 2017-10-26 | 株式会社半導体エネルギー研究所 | 半導体装置 |
-
2006
- 2006-10-13 JP JP2006280589A patent/JP2008097463A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017195611A (ja) * | 2012-05-01 | 2017-10-26 | 株式会社半導体エネルギー研究所 | 半導体装置 |
JP2014029638A (ja) * | 2012-07-31 | 2014-02-13 | Canon Inc | 情報処理装置およびその制御方法 |
US9389914B2 (en) | 2012-07-31 | 2016-07-12 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
JP2014137797A (ja) * | 2013-01-18 | 2014-07-28 | Canon Inc | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP2014157508A (ja) * | 2013-02-15 | 2014-08-28 | Canon Inc | 演算装置、アレイ型演算装置およびその制御方法、情報処理システム |
US9916166B2 (en) | 2013-02-15 | 2018-03-13 | Canon Kabushiki Kaisha | Power supply control for a processing device, array-type processing device,and information processing system, and control method thereof |
JP2015014833A (ja) * | 2013-07-03 | 2015-01-22 | スパンション エルエルシー | 再構築可能なlsi |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10620686B2 (en) | Semiconductor integrated circuit | |
KR100958044B1 (ko) | Cpu 파워 다운 방법 및 그 장치 | |
US7058834B2 (en) | Scan-based state save and restore method and system for inactive state power reduction | |
JP4974202B2 (ja) | 半導体集積回路 | |
EP1677175B1 (en) | Dynamic power management in system on chips (SOC) | |
JP3923715B2 (ja) | メモリカード | |
JP4621113B2 (ja) | 半導体集積回路装置 | |
EP2003534A2 (en) | Method of and apparatus for reducing power consumption within an integrated circuit. | |
US7617407B2 (en) | Method and system for power consumption management, and corresponding computer program product | |
US8347132B2 (en) | System and method for reducing processor power consumption | |
US20100077233A1 (en) | Systems and methods for control of integrated circuits comprising body biasing systems | |
US7685444B2 (en) | Power saving in circuit functions through multiple power buses | |
JP2006107127A (ja) | 半導体集積回路装置 | |
JP2005011166A (ja) | 情報処理装置 | |
JP2008097463A (ja) | データ処理装置 | |
US8127167B2 (en) | Methods for reducing power consumption and devices using the same | |
US6907534B2 (en) | Minimizing power consumption in pipelined circuit by shutting down pipelined circuit in response to predetermined period of time having expired | |
JP4820632B2 (ja) | 半導体集積回路装置及び情報システム | |
JP2003323417A (ja) | 半導体集積回路装置 | |
JP2003114742A (ja) | 電源遮断制御装置 | |
JP5645158B2 (ja) | 集積回路 | |
JP2005267255A (ja) | クロックオートストップ制御装置およびこの制御装置を有する電子機器又は画像処理装置 | |
JP2008186854A (ja) | 半導体集積回路 | |
JP2017084305A (ja) | メモリを制御する制御装置及びメモリの省電力制御方法 | |
JP2005321938A (ja) | 半導体装置及びその制御方法 |