JP2010282585A - 電力管理回路、電力管理方法及び電力管理プログラム - Google Patents

電力管理回路、電力管理方法及び電力管理プログラム Download PDF

Info

Publication number
JP2010282585A
JP2010282585A JP2009137658A JP2009137658A JP2010282585A JP 2010282585 A JP2010282585 A JP 2010282585A JP 2009137658 A JP2009137658 A JP 2009137658A JP 2009137658 A JP2009137658 A JP 2009137658A JP 2010282585 A JP2010282585 A JP 2010282585A
Authority
JP
Japan
Prior art keywords
management unit
power control
power
functional block
domain
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
Application number
JP2009137658A
Other languages
English (en)
Inventor
Takahisa Suzuki
貴久 鈴木
Hideo Miyake
英雄 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Semiconductor Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Semiconductor Ltd filed Critical Fujitsu Ltd
Priority to JP2009137658A priority Critical patent/JP2010282585A/ja
Priority to US12/795,402 priority patent/US8407507B2/en
Publication of JP2010282585A publication Critical patent/JP2010282585A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

【課題】集積回路内における機能ブロックをドメイン毎に電力制御を行う電力管理回路で動作するアプリケーションについて、開発工数の増大や再利用性の低下を防ぐことを目的とする。
【解決手段】集積回路内における機能ブロックの利用管理を行う資源管理部と、電力制御要求を、ドメイン毎に機能ブロックの電力制御を行う電力制御機構に対して送信する電力管理部とを有する。電力制御要求では、ドメインと当該ドメインに対する電力制御内容とが指定されている。電力管理部は、電力制御機構に対し電力制御要求を送信する前に、ドメインに所属する機能ブロックの種別と電力制御内容とに応じて、資源管理部を用いて、ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行う。
【選択図】図3

Description

本発明は、ハードウェアにおける機能ブロックに供給される電力を制御する電力管理回路、電力管理方法及び電力管理プログラムに関する。
近年、微細化技術の進歩により、プロセッサコアやメモリ、DMA(Direct Memory Access)といった複数の機能ブロックを1チップ上に搭載する集積回路が登場している。このような集積回路では、回路規模の増大により消費電力が増大するという問題がある。
このような集積回路における消費電力の増大を抑える方法としては、利用されていない機能ブロックに供給される電力を制限する方法が挙げられる。この方法の一例として、メモリの利用範囲を管理し、利用されていないメモリブロックの電力を落とす技術が提案されている。
特開2005−196545号公報 特開平9−212416号公報
ところで、機能ブロック毎に電力供給を制御するとなると、電源系統や電源の制御回路を機能ブロック毎に分けて設けるために、チップ面積が増大してしまう。そこで、チップ面積の増大を抑えるため、機能ブロック毎に電力制御するのではなく、複数の機能ブロックをまとめた「ドメイン」という単位毎に電力制御する方法が考えられる。
このようにドメイン単位で電力制御が行われる場合には、電力制御中のドメイン内の機能ブロックに対して他の機能ブロックからアクセスが行われないようにするための制御プログラムがアプリケーションに組み込まれる。この場合、アプリケーションでは制御対象のドメインに所属するすべての機能ブロックに対して他のブロックからのアクセスが行われないような制御を行う必要がある。しかし、この制御操作は、対象となる機能ブロックの種類及び電力制御操作の内容によって異なるため、ドメイン内に多くの機能ブロックが存在すると複雑になる。また、この制御操作は、ドメイン内の機能ブロックの構成により異なる。そのため、機能ブロックの構成が同じでもドメインの分け方が異なったり、将来的に新たに機能ブロックの追加もしくは変更を行ったりすると、アプリケーションに組み込んだ電力制御プログラムを大幅に変更する必要があり、アプリケーションの開発工数の増大や再利用性の低下といった問題が生じる。
開示の装置は、集積回路内における機能ブロックの利用管理を行う資源管理部と、電力制御要求を、ドメイン毎に機能ブロックの電力制御を行う電力制御機構に対して送信する電力管理部とを有する。電力制御要求では、ドメインと当該ドメインに対する電力制御内容とが指定されている。電力管理部は、電力制御機構に対し電力制御要求を送信する前に、ドメインに所属する機能ブロックの種別と電力制御内容とに応じて、資源管理部を用いて、ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行う。
開示の装置によれば、利用禁止処理を行うための制御プログラムを外部のアプリケーションに組み込まずに済ますことが可能となる。
実施形態に係る集積回路の構成の一例を示すブロック図である。 ドメイン、ドメインに対する可能な操作、及びドメインに所属する機能ブロックの関係をまとめて示す図である。 電力管理回路における電力管理部の処理を示す模式図である。 電力制御内容の制御種別と制御処理との関係を示す図である。 電力制御の実行の前後における制御処理を示すフローチャートである。 バスアクセス制御種別と電力制御内容とに対応した状態保存操作種別を示す図である。 状態保存操作種別についての特性を示す図である。 機能ブロックのバスアクセス制御種別と状態保存操作種別とに対応した動作タイプを示す図である。 動作タイプが動作MA−T1に決定された場合の制御方法を示す図である。 動作タイプが動作MA−T2に決定された場合の制御方法を示す図である。 動作タイプが動作MBに決定された場合の制御方法を示す図である。 動作タイプが動作S−T1に決定された場合の制御方法を示す図である。 動作タイプが動作S−T3に決定された場合の制御方法を示す図である。 動作タイプが動作MAS−T1に決定された場合の制御方法を示す図である。 動作タイプが動作MAS−T2に決定された場合の制御方法を示す図である。 動作タイプが動作MBS−T1に決定された場合の制御方法を示す図である。 動作タイプが動作MBS−T3に決定された場合の制御方法を示す図である。 利用許可処理及び利用禁止処理を示すフローチャートである。
以下では、実施形態の一例について図面を参照しつつ説明する。
[装置構成]
まず、実施形態に係る集積回路の構成について図1を参照して説明する。
図1は、実施形態に係る集積回路の構成の一例を示すブロック図である。
図1に示す集積回路100は、複数の機能ブロックがバス41、42、43に接続された構成を有している。バス41、42、43は互いに接続されている。集積回路100は、機能ブロックとして、Central Processing Unit(CPU)10、11と、メモリ21、22、23とを有している。また、集積回路100は、機能ブロックとして、Direct Memory Access Controller(DMAC)31と、アクセラレータ(ACC)32と、Digital Signal Processor(DSP)33とを有している。
バス42には、CPU10とメモリ21とが接続されている。バス43には、CPU11とメモリ22とDSP33とが接続されている。バス42、43はバス41と接続されている。バス41には、DMAC31とメモリ23とACC32とが接続されている。
集積回路100の機能ブロックにはそれぞれ、クロックジェネレータよりクロック信号が供給され、電源回路より電源電力が供給される。図1において、一点鎖線はクロック線を示し、破線は電力線を示している。また、電力制御機構51より延びている細実線は制御線を示している。ここで、実施形態に係る集積回路100では、ドメイン単位で電力制御が行われる。各ドメインには、少なくとも1つ以上の機能ブロックが所属する。図1に示す例では、ドメイン0、ドメイン1、及びドメイン2の3つのドメインが集積回路100において定義され、電力制御機構51は、各ドメイン毎にまとめて機能ブロックの電力制御を行う。
ドメイン0には、CPU10、11、メモリ21、22、DMAC31、ACC32、及びDSP33が所属している。また、ドメイン1には、CPU11、メモリ22、及びDSP33が所属している。ドメイン2には、ACC32が所属している。
ドメイン0に所属するすべての機能ブロックには、クロックジェネレータ54aよりクロック信号が供給され、電源回路55aより電源電力が供給される。また、ドメイン0に所属していないメモリ23には、クロックジェネレータ54bよりクロック信号が供給され、電源回路55bより電源電力が供給される。クロックジェネレータ54a及び電源回路55aは、電力制御機構51により制御される。
ドメイン1に所属するすべての機能ブロックに通じるクロック線及び電力線にはスイッチ52が設けられている。ドメイン2に所属するすべての機能ブロックに通じるクロック線及び電力線にはスイッチ53が設けられている。スイッチ52は、ドメイン1に所属するすべての機能ブロックに対し、クロック信号又は電源電力の供給を停止又は再開するための装置である。スイッチ53は、ドメイン2に所属するすべての機能ブロックに対し、クロック信号又は電源電力の供給を停止又は再開するための装置である。スイッチ52、53のそれぞれは、電力制御機構51により制御される。
図2は、ドメイン、ドメインに対する可能な操作、及びドメインに所属する機能ブロックの関係をまとめて示した図である。
前述したように、ドメイン0には、CPU10、11、メモリ21、22、DMAC31、ACC32、及びDSP33が所属している。また、ドメイン0に所属しているこれらの機能ブロックには、クロックジェネレータ54aよりクロック信号が供給され、電源回路55aより電源電力が供給される。クロックジェネレータ54a及び電源回路55aは、電力制御機構51により制御される。電力制御機構51は、クロックジェネレータ54aを制御することにより、ドメイン0に所属する全機能ブロックに供給されるクロック信号の周波数を変更することができる。また、電力制御機構51は、電源回路55aを制御することにより、ドメイン0に所属する全機能ブロックに供給される電源電力の電圧を変更することができる。従って、ドメイン0に対する可能な操作としては、クロック信号の周波数変更又は電源電力の電圧変更(以下、「クロック信号又は電源電圧の変更」と称する)が挙げられる。
ドメイン1には、CPU11、メモリ22、及びDSP33が所属しており、ドメイン2にはACC32が所属している。ドメイン1に所属するすべての機能ブロックに通じるクロック線及び電力線には、スイッチ52が設けられており、ドメイン2に所属するすべての機能ブロックに通じるクロック線及び電力線には、スイッチ53が設けられている。先にも述べたように、スイッチ52、53のそれぞれは、電力制御機構51により制御される。電力制御機構51は、スイッチ52を制御することにより、ドメイン1に所属する全機能ブロックに対しまとめて、クロック信号又は電源電力の供給を停止又は再開することができる。また、電力制御機構51は、スイッチ53を制御することにより、ドメイン2に所属する全機能ブロックに対しまとめて、クロック信号又は電源電力の供給を停止又は再開することができる。従って、図2に示すように、ドメイン1、2のそれぞれに対する可能な操作としては、クロック信号又は電源電力の供給停止(又は再開)が挙げられる。
電力制御機構51は、電力制御内容と当該電力制御の対象となるドメイン(電力制御対象ドメイン)とを指定する電力制御要求をCPU10から受信する。電力制御機構51は、CPU10より受信した電力制御要求に基づいて、電力制御対象ドメインに所属する機能ブロックに対して前述した電力制御を行う。
実施形態に係る集積回路100では、CPU10は、電力制御機構51に対し電力制御要求を送信する前に、電力制御対象ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行い、当該機能ブロックを電力制御可能な状態にする。従って、CPU10は、電力管理回路として機能する。以下では、CPU10の機能について具体的に説明する。
CPU10では、アプリケーション61、電力管理部62、資源管理部64、及び通信部63が動作している。アプリケーション61は、例えば、CPU10上において、アプリケーションソフトウェアなどのプログラムが実行されることにより動作するプロセスである。電力管理部62、資源管理部64、及び通信部63は、例えば、CPU10上において、プログラムが実行されることにより動作するプロセスである。
図3は、CPU10における電力管理部62の処理を示す模式図である。
アプリケーション61は、必要に応じて、電力制御内容と電力制御対象ドメインとを指定する電力制御要求を電力管理部62に送信する。
電力管理部62は、電力制御対象ドメインに所属する機能ブロックの状態を管理する。電力管理部62は、電力制御対象ドメインに所属する機能ブロックについてのジョブの割り当ての可否に関する要求や他の機能ブロックによる利用の可否に関する要求を資源管理部64に送信する。また、電力管理部62は、電力制御対象ドメインに所属する機能ブロックについて、他の機能ブロックによる利用状況を資源管理部64から取得する。さらに、電力管理部62は、電力制御対象ドメインに所属する機能ブロックに対して、既に割り当てられたジョブの実行に関する要求や機能ブロックの状態保存に関する要求を、通信部63を介して送信する。
通信部63は、電力管理部62が機能ブロックへ要求を送信するためのインターフェースである。資源管理部64は、集積回路100における機能ブロックの利用管理を行う。例えば、資源管理部64は、集積回路100におけるすべての機能ブロックの利用状況及び利用の可否を管理する。集積回路100において、機能ブロックはそれぞれ、他の機能ブロックを利用しようとする場合には、資源管理部64に問い合わせを行い、許可を得たときにのみ、当該他の機能ブロックにアクセスすることができる。また、資源管理部64は、ジョブを割り当てることが可能なCPUなどの機能ブロックに対してジョブを割り当てる。
なお、電力管理部62は、Operating System(OS)が通常有している資源管理機構、通信機構のそれぞれを、資源管理部64、通信部63として用いることができる。さらには、電力管理部62、資源管理部64、通信部63についてはそれぞれ、ソフトウェアのプロセスとして動作するのには限られず、代わりに、ハードウェアの回路として動作するとしても良いのは言うまでもない。
電力管理部62は、電力制御内容と電力制御対象ドメインとを指定した電力制御要求をアプリケーション61より受信すると、電力制御内容に応じて、行うべき制御処理を決定する。例えば、電力制御内容がクロック信号又は電源電圧の変更や、クロック信号又は電源電力の供給停止である場合には、電力管理部62は、電力制御要求の送信前に、電力制御対象ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行う。
利用禁止処理での制御は、電力制御対象ドメインに所属する機能ブロックの種別と電力制御内容とに基づいて決定される。電力管理部62は、電力制御対象ドメインに所属する機能ブロックの種別と電力制御内容とを基に当該機能ブロックについての動作タイプを決定し、決定された動作タイプに従って当該機能ブロックの利用を禁止する利用禁止処理を行う。
以上に述べたことから分かるように、本実施形態に係る集積回路では、電力制御対象ドメインに所属する機能ブロックについての利用禁止処理は電力管理部62によって行われるので、アプリケーション61が当該利用禁止処理を自ら行わなくて済む。言い換えると、アプリケーション61は、電力制御内容と電力制御対象ドメインとを指定した電力制御要求を電力管理部62に送信しさえすれば、電力制御内容と電力制御対象ドメインとに応じた利用禁止処理が電力管理部62により自動的に行われる。このようにすることで、本実施形態では、利用禁止処理を行うための制御プログラムをアプリケーション61に組み込まずに済ますことが可能となる。
[制御処理]
次に、電力管理部62による制御処理について具体的に説明する。
図4は、電力制御内容の制御種別と制御処理との関係を示す図である。
電力管理部62は、アプリケーション61より電力制御要求を受信すると、電力制御内容をパターン1、パターン2−1、パターン2−2のいずれかの制御種別に分類して、それぞれの制御種別に応じた制御処理を行う。パターン1に分類される電力制御内容としては、例えば、クロック信号又は電源電圧の変更が挙げられる。パターン2−1に分類される電力制御内容としては、例えば、クロック信号又は電源電力の供給停止が挙げられる。パターン2−2に分類される電力制御内容としては、例えば、クロック信号又は電源電力の供給再開が挙げられる。
まず、電力制御内容がパターン1に分類された場合(電力制御内容がクロック信号又は電源電圧の変更である場合)の電力管理部62による制御処理について説明する。
電力管理部62は、パターン1に分類される電力制御内容を含む電力制御要求をアプリケーション61より受信すると、電力制御対象ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行う。パターン1に係る利用禁止処理では、電力管理部62は、電力制御対象ドメインに所属する機能ブロックの種別と電力制御内容とを基に当該機能ブロックについての動作タイプを決定し、決定された動作タイプに従って当該機能ブロックの利用を禁止する利用禁止処理を行う。例えば、電力管理部62は、資源管理部64を用いて、電力制御対象ドメインに所属する機能ブロックについて、新たなジョブを割り当てることを禁止したり、他の機能ブロックによる新たな利用を禁止したりする。
電力管理部62は、電力制御対象ドメインに所属する機能ブロックについての利用禁止処理を行ってから、電力制御要求を電力制御機構51に送信する。電力制御機構51は、電力管理部62より送信された電力制御要求を基に、電力制御対象ドメインに所属する機能ブロックの電力制御を行う。電力制御機構51は、電力制御対象ドメインに所属する機能ブロックの電力制御を行った後、電力制御を終了した旨を示す電力制御終了通知を電力管理部62に送信する。これにより、電力管理部62は、送信した電力制御要求に応じた電力制御機構51による電力制御が終了したことを知ることができる。
ここで、パターン1に分類される電力制御内容としては、前述したように、クロック信号又は電源電圧の変更である場合が挙げられる。従って、電力制御対象ドメインに所属する機能ブロックは、電力制御機構51による電力制御が行われた後で、他の機能ブロックや資源管理部64により利用される可能性がある。そこで、電力管理部62は、電力制御機構51より電力制御終了通知を受信した後、電力制御対象ドメインに所属する機能ブロックの利用を許可する利用許可処理を行う。パターン1に係る利用許可処理では、電力管理部62は、利用禁止処理の場合と同様にして電力制御対象ドメインに所属する機能ブロックについての動作タイプを決定し、決定された動作タイプに従って当該機能ブロックの利用を許可する利用許可処理を行う。例えば、電力管理部62は、資源管理部64を用いて、電力制御対象ドメインに所属する機能ブロックについて、新たなジョブを割り当てることを許可したり、他の機能ブロックによる新たな利用を許可したりする。これにより、電力制御機構51による電力制御が行われた後に、電力制御対象ドメインに所属する機能ブロックを他の機能ブロックや資源管理部64が利用することが可能となる。
以上に述べたことから分かるように、電力制御内容がクロック信号又は電源電圧の変更である場合には、電力制御機構51による電力制御が行われた後、アプリケーション61からの要求がなくとも、電力管理部62による利用許可処理が行われることとなる。つまり、アプリケーション61は、電力制御機構51による電力制御の終了を認識して電力管理部62に対して利用許可処理を行う要求を新たに送信しなくて済む。そのため、アプリケーション61による制御を簡素化することができる。
次に、電力制御内容がパターン2−1に分類された場合(電力制御内容がクロック信号又は電源電力の供給停止である場合)の電力管理部62による制御処理について説明する。
電力管理部62は、パターン2−1に分類される電力制御内容を含む電力制御要求をアプリケーション61より受信すると、パターン1に係る制御処理と同様にして、電力制御対象ドメインに所属する機能ブロックについての利用禁止処理を行う。電力管理部62は、電力制御対象ドメインに所属する機能ブロックについての利用禁止処理を行ってから、電力制御要求を電力制御機構51に送信する。
電力制御機構51は、電力管理部62より送信された電力制御要求を基に、電力制御対象ドメインに所属する機能ブロックの電力制御を行う。なお、パターン2−1に分類される電力制御内容としては、前述したように、クロック信号又は電源電力の供給停止が挙げられる。そのため、電力制御対象ドメインに所属する機能ブロックは、電力制御機構51による電力制御が行われた後、クロック信号又は電源電力の供給が再開されない限り、他の機能ブロックにより利用される可能性はない。従って、パターン1に係る制御処理とは異なり、パターン2−1に係る制御処理では、電力制御機構51による電力制御が行われた後、電力管理部62は、電力制御対象ドメインに所属する機能ブロックについての利用許可処理を行わない。
次に、電力制御内容がパターン2−2に分類された場合(電力制御内容がクロック信号又は電源電力の供給再開である場合)の電力管理部62による制御処理について説明する。パターン2−2に分類される電力制御は、電力制御対象ドメインに所属する機能ブロックに対して、パターン2−1に分類された電力制御が実施された後に行われる。従って、電力管理部62が、パターン2−2に分類される電力制御内容を含む電力制御要求を受信した段階では、電力制御対象ドメインに所属する機能ブロックは、クロック信号又は電源電力の供給が停止した状態となっている。
電力管理部62は、パターン2−2に分類される電力制御内容を含む電力制御要求をアプリケーション61より受信すると、当該電力制御要求を電力制御機構51に送信する。電力制御機構51は、電力管理部62より送信された電力制御要求を基に、電力制御対象ドメインに所属する機能ブロックの電力制御を行う。即ち、電力制御機構51は、電力制御対象ドメインに所属する機能ブロックに対し、クロック信号又は電源電力の供給を再開する。電力制御機構51は、電力制御対象ドメインに所属する機能ブロックの電力制御を行った後、電力制御を終了した旨を示す電力制御終了通知を電力管理部62に送信する。
電力管理部62は、電力制御機構51より電力制御終了通知を受信した後、パターン1に係る制御処理と同様にして、電力制御対象ドメインに所属する機能ブロックについての利用許可処理を行う。
前述の制御処理について、図5のフローチャートを用いて説明する。図5は、電力制御対象ドメインに対する電力制御の実行の前後における制御処理の流れを示すフローチャートである。
まず、電力管理部62は、ステップS101において、アプリケーション61より電力制御要求を受信すると、続くステップS102において、電力制御内容を基に制御種別を判定する。電力管理部62は、例えば電力制御内容がクロック信号又は電源電圧の変更である場合には、制御種別をパターン1に分類する。また、電力管理部62は、例えば電力制御内容がクロック信号又は電源電力の供給停止である場合には、制御種別をパターン2−1に分類し、例えば電力制御内容がクロック信号又は電源電力の供給再開である場合には、制御種別をパターン2−2に分類する。
ステップS102において、電力管理部62は、制御種別がパターン1に分類されると判定した場合にはステップS103へ進む。ステップS103において、電力管理部62は、電力制御対象ドメインに所属するすべての機能ブロックについての利用禁止処理を行う。その後、ステップS104において、電力管理部62は、電力制御要求を電力制御機構51に送信する。電力制御機構51は、電力管理部62より電力制御要求を受信すると、電力制御対象ドメインに所属するすべての機能ブロックの電力制御を行い、当該電力制御を行った後、電力制御終了通知を電力管理部62に送信する。続くステップS105において、電力管理部62は、電力制御終了通知を受信すると、電力制御対象ドメインに所属するすべての機能ブロックについての利用許可処理を行う。この後、電力管理部62は、本制御処理を終了する。このようにすることで、アプリケーション61は、電力制御機構51による電力制御の終了を認識して電力管理部62に対して利用許可処理を行う要求を新たに送信しなくて済み、アプリケーション61による制御を簡素化することができる。
ステップS102において、電力管理部62は、制御種別がパターン2−1に分類されると判定した場合には、ステップS106へ進む。ステップS106において、電力管理部62は、電力制御対象ドメインに所属するすべての機能ブロックについての利用禁止処理を行う。その後、ステップS107において、電力管理部62は、電力制御要求を電力制御機構51に送信する。電力制御機構51は、電力管理部62より電力制御要求を受信すると、電力制御対象ドメインに所属するすべての機能ブロックの電力制御を行う。この後、電力管理部62は、本制御処理を終了する。
ステップS102において、電力管理部62は、制御種別がパターン2−2に分類されると判定した場合には、ステップS108へ進む。ステップS108において、電力管理部62は、電力制御要求を電力制御機構51に送信する。電力制御機構51は、電力管理部62より電力制御要求を受信すると、電力制御対象ドメインに所属するすべての機能ブロックの電力制御を行い、当該電力制御を行った後、電力制御終了通知を電力管理部62に送信する。続くステップS109において、電力管理部62は、電力制御終了通知を受信すると、電力制御対象ドメインに所属するすべての機能ブロックについての利用許可処理を行う。この後、電力管理部62は、本制御処理を終了する。
[利用禁止処理及び利用許可処理]
次に、電力制御対象ドメインに所属する各機能ブロックについての利用禁止処理及び利用許可処理について具体的に説明する。
ここで、あるドメインが電力制御可能であるためには、そのドメインに属するすべての機能ブロックが外部に対してバスのアクセスを行うことも、外部からのバスアクセスを受けることもなく、かつ、電力制御操作後も正しく操作前の状態を保持し続けられる必要がある。従って、制御対象のドメイン内のすべての機能ブロックに対して前記の状態になるように操作を行うことが利用禁止処理であり、これを解除する操作を行うことが利用許可処理となる。
本実施形態では、制御対象のドメイン内の機能ブロックに対してどのようなバスアクセスの制御が可能であるかと、制御対象のドメイン内の機能ブロックに対して要求されている電力制御操作を行った場合に、どのような操作を行えば状態を保持できるかという2つの要素の組み合わせで、制御対象のドメイン内の機能ブロックに対して行う操作を決定する。
このため、電力管理部62は、利用禁止処理及び利用許可処理のどちらの場合においても、電力制御対象ドメインに所属するすべての機能ブロックについて、それぞれの機能ブロックの種別と電力制御内容とを基に動作タイプを決定する。電力管理部62は、決定された動作タイプに応じて、資源管理部64、場合によっては通信部63も用いて、電力制御対象ドメインに所属するすべての機能ブロックに対して利用禁止処理又は利用許可処理を行う。
具体的には、電力管理部62は、電力制御対象ドメインに所属する機能ブロックの種別として、当該機能ブロックのバスアクセス制御の種別を決定する。電力管理部62は、バスアクセス制御種別と電力制御内容の制御種別とに基づいて、機能ブロックの状態を保存するか否かを示す操作種別である状態保存操作種別を求める。そして、電力管理部62は、バスアクセス制御種別と状態保存操作種別とに基づいて、動作タイプを決定する。
まず、電力制御対象ドメインに所属する機能ブロックについての状態保存操作種別を求める方法について図6、図7を用いて説明する。図6は、機能ブロックのバスアクセス制御種別と電力制御内容とに対応した状態保存操作種別を示す図である。図7は、状態保存操作種別についての特性を示す図である。
電力管理部62は、電力制御対象ドメインに所属する機能ブロックについて、バスアクセス制御の種別を判定し、判定したバスアクセス制御種別と電力制御内容とを基に、図6に示す関係を用いて状態保存操作種別を求める。
バスアクセス制御の種別を判定する方法について説明する。バスアクセス制御の種別としては、機能ブロックの動作の特徴から、バスマスタ1、バスマスタ2、バススレーブ、バスマスタ1+バススレーブ、バスマスタ2+バススレーブに分類できる。
バスマスタは、資源管理部64よりジョブが割り当てられ、バス上において能動的にデータ転送を開始できる機能を有する機能ブロックである。従って、例えばCPUやDSPなどのプロセッサは、バスマスタの機能を有するので、バスアクセス制御の種別としてはバスマスタに分類される。一方、バススレーブは、バス上において受動的にデータを転送する機能を有する機能ブロックである。従って、例えばメモリは、バススレーブの機能を有するので、バスアクセス制御の種別としてはバススレーブに分類される。
ここで、バスマスタ1は、外部からの制御要求を受け付ける機能を有するバスマスタである。バスマスタ1は、例えば、資源管理部64より既に割り当てられたジョブの実行を、電力管理部62からの要求により中止する機能を有する。つまり、バスマスタ1は、資源管理部64よりジョブが割り当てられた後であっても、ジョブ実行停止要求を電力管理部62より受信するとジョブの実行を停止する。また、バスマスタ1は、例えば、外部からの要求により状態を保存する機能を有する。つまり、バスマスタ1は、例えば、電力管理部62より状態保存要求を受信すると、レジスタなどに記憶されたデータを不揮発性のメモリなどに保存する。バスマスタ1の例としてはCPUが挙げられる。
一方、バスマスタ2は、外部からの制御要求を受け付ける機能を有さないバスマスタである。例えば、バスマスタ2は、一旦、資源管理部64よりジョブが割り当てられると、電力管理部62からの要求によってはジョブの実行を止めることができない。バスマスタ2の例としてはDSPが挙げられる。
また、バスマスタ及びバススレーブの両方の機能をもつものとして、DMACやACCが挙げられる。なぜなら、例えば、DMACは、メモリなどのバススレーブにデータ転送を行うジョブが割り当てられる点ではバスマスタとしての機能を有し、1つ以上のCPUから命令やアドレスを受信する点ではバススレーブとしての機能を有するからである。バスマスタ1とバススレーブとの両方の機能をもつ機能ブロックの例としてはACCが挙げられる。バスマスタ2とバススレーブとの両方の機能をもつ機能ブロックの例としてはDMACが挙げられる。
なお、前述の説明では、バスマスタ1の例としてCPUを挙げ、バスマスタ2の例としてDSPを挙げたが、これに限られるものではない。バスマスタ1とバスマスタ2との違いは、外部からの制御要求を受け付ける機能を有するか否かに依る。従って、例えば、CPUであっても、外部からの制御要求を受け付ける機能を有しないのであれば、バスマスタ2に分類される。また、DSPであっても、外部からの制御要求を受け付ける機能を有するのであれば、バスマスタ1に分類される。このことは、バスマスタ1、バスマスタ2のそれぞれの機能を有する機能ブロックとして例示したACC、DMACについても同様に言える。
状態保存操作種別については、機能ブロックの特徴と電力制御内容の種別から図7に示すように3つのタイプに分類できる。
タイプ1とは、何も操作することなく状態を保持し続けることが可能であることを示している。電力制御内容が、クロック信号又は電源電圧の変更や、クロック信号の供給停止(又は再開)である場合には、機能ブロックに対して電源電力は供給される。従って、何ら特別な操作を行うことなく、機能ブロックの状態は保持される。即ち、機能ブロックのレジスタなどに記憶されたデータは保持される。このような理由から、電力制御内容が、クロック信号又は電源電圧の変更や、クロック信号の供給停止(又は再開)である場合には、バスマスタ1、バスマスタ2、バススレーブの状態保存操作種別はタイプ1であると求められる。
電力制御内容が電源電力の供給停止(又は再開)である場合には、バスマスタ1の状態保存操作種別はタイプ2であると求められる。
タイプ2とは、電力管理部62が通信部63を介して機能ブロックに対し指示を行うことにより、当該機能ブロックの状態の保存や復元が可能であることを示している。電力制御内容が電源電力の供給停止である場合には、機能ブロックに対して電源電力が供給されなくなる。しかしながら、機能ブロックがバスマスタ1となっている場合には、電力管理部62は、当該機能ブロックのレジスタに記憶されているデータを不揮発性のメモリなどに保存する状態保存処理を行うことができ、当該機能ブロックの状態を保存することができる。また、機能ブロックに対して電源電力の供給が再開された場合には、電力管理部62は、不揮発性のメモリなどに保存されたデータを機能ブロックのレジスタに書き込む状態復元処理を行うことで、当該機能ブロックの状態を復元することができる。このような理由から、電力制御内容が電源電力の供給停止(又は再開)である場合には、バスマスタ1の状態保存操作種別はタイプ2であると求められる。
電力制御内容が電源電力の供給停止(又は再開)である場合には、バスマスタ2、バススレーブの状態保存操作種別はタイプ3であると求められる。
タイプ3とは、資源管理部64において、機能ブロックについて、新たなジョブの割り当て禁止、又は、他の機能ブロックによる新たな利用の禁止を行うことにより、状態の保存のための特別な操作が不要になることを示している。例えば、バススレーブについて、資源管理部64において他の機能ブロックによる新たな利用が禁止され、かつ、当該バススレーブを利用中の機能ブロックによるアクセスが終了すれば、当該バススレーブの記憶しているデータは保持しなくても済むデータである。また、バスマスタ2について、資源管理部64において新たなジョブの割り当てが禁止され、既に割り当てられたジョブの実行が終了した状態になれば、電源電力の供給が停止されてもかまわない状態となる。このような理由から、電力制御内容が電源電力の供給停止(又は再開)である場合には、バスマスタ2、バススレーブの状態保存操作種別はタイプ3であると求められる。
電力管理部62は、機能ブロック種別及び電力制御内容からバスアクセス制御種別及び状態保存操作種別を求めるための図6に示したものに相当する情報を、集積回路の設計段階で与えられている。電力管理部62は、その情報に基づいて制御対象のドメイン内の機能ブロックに対して利用禁止処理もしくは利用許可処理を行うための動作タイプを決定する。
図8は、機能ブロックのバスアクセス制御種別と状態保存操作種別とに対応した動作タイプを示す図である。
電力管理部62は、バスアクセス制御種別と、前述のように求められた状態保存操作種別とを基に、図8に示す関係を用いて、電力制御対象ドメインに所属する機能ブロックの動作タイプを決定する。電力管理部62は、例えば、バスアクセス制御種別がバスマスタ1で、状態保存操作種別がタイプ1となる場合には、動作タイプを動作MA−T1と決定する。電力管理部62は、決定された動作タイプに従って利用禁止処理又は利用許可処理を行う。
以下では、各動作タイプにおける利用禁止処理又は利用許可処理の制御方法について、図9〜図18を用いて具体的に説明する。
図9は、機能ブロックの動作タイプが動作MA−T1に決定された場合の制御方法を示すシーケンス図である。図9(a)は、動作MA−T1における利用禁止処理の制御方法を示すシーケンス図であり、図9(b)は、動作MA−T1における利用許可処理の制御方法を示すシーケンス図である。図9(a)、(b)において、機能ブロック71は、電力制御対象ドメインに所属する本制御対象の機能ブロックを示している(以下、図10〜図17において同じ)。
機能ブロック71の動作タイプが動作MA−T1に決定される場合とは、機能ブロック71のバスアクセス制御種別がバスマスタ1であり、かつ、状態保存操作種別がタイプ1となるときである。即ち、電力制御内容が、クロック信号又は電源電圧の変更や、クロック信号の供給停止(又は供給再開)となるときである。
動作MA−T1における利用禁止処理の制御方法について、図9(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、機能ブロック71に対して新たなジョブを割り当てることを禁止する割当禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該割当禁止要求を受信すると、機能ブロック71に対して新たなジョブを割り当てない設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71のバスアクセス制御種別はバスマスタ1であるので、機能ブロック71は、資源管理部64により既に割り当てられているジョブの実行を外部からの制御要求により停止することが可能である。そこで、電力管理部62は、資源管理部64より設定変更終了通知を受けると、通信部63を介して機能ブロック71に対し、ジョブの実行の停止を要求するジョブ実行停止要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止要求を受信すると、資源管理部64により既に割り当てられているジョブの実行を停止するジョブ実行停止処理を行う。このように、機能ブロック71がジョブの実行を停止することにより、機能ブロック71から他の機能ブロックへのアクセスは遮断される。機能ブロック71は、ジョブ実行停止処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。これにより、動作MA−T1における利用禁止処理は完了する。
次に、動作MA−T1における利用許可処理の制御方法について、図9(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、通信部63を介して機能ブロック71に対し、ジョブの実行の停止を解除するジョブ実行停止解除要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止解除要求を受信すると、資源管理部64により割り当てられるジョブの実行を可能にするジョブ実行停止解除処理を行う。これにより、機能ブロック71は、資源管理部64により割り当てられるジョブを実行することが可能となり、当該ジョブの実行により他の機能ブロックへアクセスを行うこととなる。機能ブロック71は、ジョブ実行停止解除処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、機能ブロック71より処理終了通知を受信すると、機能ブロック71に対して新たなジョブを割り当てることを許可する割当許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該割当許可要求を受信すると、機能ブロック71に対して新たなジョブを割り当てることを可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作MA−T1における利用許可処理は完了する。
図10は、機能ブロックの動作タイプが動作MA−T2に決定された場合の制御方法を示すシーケンス図である。図10(a)は、動作MA−T2における利用禁止処理の制御方法を示すシーケンス図であり、図10(b)は、動作MA−T2における利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作MA−T2に決定される場合とは、機能ブロック71のバスアクセス制御種別がバスマスタ1であり、かつ、状態保存操作種別がタイプ2となるときである。即ち、電力制御内容が、電源電力の供給停止(又は供給再開)となるときである。このときには、機能ブロック71の状態の保存(又は復元)のための操作が行われる。
動作MA−T2における利用禁止処理の制御方法について、図10(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、機能ブロック71に対して新たなジョブを割り当てることを禁止する割当禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該割当禁止要求を受信すると、機能ブロック71に対して新たなジョブを割り当てない設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
電力管理部62は、資源管理部64より設定変更終了通知を受信すると、通信部63を介して機能ブロック71に対し、機能ブロック71の状態を保存する状態保存要求を送信する。機能ブロック71は、電力管理部62より状態保存要求を受信すると、機能ブロック71のレジスタなどに記憶されているデータを不揮発性のメモリなどに保存する状態保存処理を行う。これにより、機能ブロック71の状態が保存され、後に述べる動作MA−T2における利用許可処理において、機能ブロック71の状態を復元することが可能となる。機能ブロック71は、状態保存処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、状態保存要求に対する応答としての処理終了通知を機能ブロック71より受けると、通信部63を介して機能ブロック71に対し、ジョブの実行の停止を要求するジョブ実行停止要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止要求を受信すると、資源管理部64により既に割り当てられているジョブの実行を停止するジョブ実行停止処理を行う。これにより、機能ブロック71から他の機能ブロックへのアクセスは遮断される。機能ブロック71は、ジョブ実行停止処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。これにより、動作MA−T2における利用禁止処理は完了する。
次に、動作MA−T2における利用許可処理の制御方法について、図10(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、通信部63を介して機能ブロック71に対し、ジョブの実行の停止を解除するジョブ実行停止解除要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止解除要求を受信すると、資源管理部64により割り当てられるジョブの実行を可能にするジョブ実行停止解除処理を行う。これにより、機能ブロック71は、資源管理部64により割り当てられるジョブを実行することが可能となり、当該ジョブの実行により他の機能ブロックへアクセスを行うこととなる。機能ブロック71は、ジョブ実行停止解除処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、ジョブ実行停止解除要求に対する応答としての処理終了通知を機能ブロック71より受信すると、通信部63を介して機能ブロック71に対し、機能ブロック71の状態を復元する状態復元要求を送信する。機能ブロック71は、電力管理部62より状態復元要求を受信すると、不揮発性のメモリなどに保存されているデータを機能ブロック71のレジスタなどに書き込む状態復元処理を行う。これにより、動作MA−T2における利用禁止処理が行われる前の状態に機能ブロック71の状態が復元される。機能ブロック71は、状態復元処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、状態復元要求に対する応答としての処理終了通知を機能ブロック71より受信すると、機能ブロック71に対して新たなジョブを割り当てることを許可する割当許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該割当許可要求を受信すると、機能ブロック71に対して新たなジョブを割り当てることを可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作MA−T2における利用許可処理は完了する。
図11は、機能ブロックの動作タイプが動作MBに決定された場合の制御方法を示すシーケンス図である。図11(a)は、動作MBにおける利用禁止処理の制御方法を示すシーケンス図であり、図11(b)は、動作MBにおける利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作MBに決定される場合とは、機能ブロック71のバスアクセス制御種別がバスマスタ2であり、かつ、状態保存操作種別がタイプ1又はタイプ3となるときである。即ち、電力制御内容が、クロック信号又は電源電圧の変更や、クロック信号又は電源電力の供給停止(又は供給再開)となるときである。
動作MBにおける利用禁止処理の制御方法について、図11(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、機能ブロック71に対して新たなジョブを割り当てることを禁止する割当禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該割当禁止要求を受信すると、機能ブロック71に対して新たなジョブを割り当てない設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71のバスアクセス制御種別はバスマスタ2であるので、機能ブロック71は、資源管理部64により既に割り当てられているジョブの実行を停止することはできず、他の機能ブロックへのアクセスを自身で遮断することができない。そこで、電力管理部62は、資源管理部64より設定変更終了通知を受信すると、機能ブロック71に対して既に割り当てられているジョブの実行が終了するまで利用禁止処理の終了を待つ。具体的には、電力管理部62は、機能ブロック71による他の機能ブロックの利用状況を取得し、機能ブロック71による他の機能ブロックの利用が終了したか否かを確認する。機能ブロック71による他のブロックの利用が終了したことを電力管理部62が確認したときに、動作MBにおける利用禁止処理は終了する。このようにすることで、機能ブロック71が他の機能ブロックへアクセスしている最中に、当該機能ブロック71に対して電力制御が行われるのを防ぐことができる。
次に、動作MBにおける利用許可処理の制御方法について、図11(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、機能ブロック71に対して新たなジョブを割り当てることを許可する割当許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該割当許可要求を受信すると、機能ブロック71に対して新たなジョブを割り当てることを可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作MBにおける利用許可処理は終了する。
図12は、機能ブロックの動作タイプが動作S−T1に決定された場合の制御方法を示すシーケンス図である。図12(a)は、動作S−T1における利用禁止処理の制御方法を示すシーケンス図であり、図12(b)は、動作S−T1における利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作S−T1に決定される場合とは、機能ブロック71のバスアクセス制御種別がバススレーブであり、かつ、状態保存操作種別がタイプ1となるときである。即ち、電力制御内容が、クロック信号又は電源電圧の変更や、クロック信号の供給停止(又は供給再開)となるときである。
動作S−T1における利用禁止処理の制御方法について、図12(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を禁止する禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該禁止要求を受信すると、機能ブロック71について他の機能ブロックによる新たな利用を禁止する設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71のバスアクセス制御種別はバススレーブであるので、機能ブロック71は、資源管理部64により既に利用が許可された他の機能ブロックによるアクセスについては遮断することができない。従って、この場合、電力管理部62は、資源管理部64により既に利用が許可された他の機能ブロックによる機能ブロック71の利用の終了を待つこととする。
電力管理部62は、資源管理部64より設定変更終了通知を受信すると、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了するまで利用禁止処理の終了を待つ。具体的には、電力管理部62は、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用状況を取得し、当該他の機能ブロックによる機能ブロック71の利用が終了したか否かを確認する。電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了したことを電力管理部62が確認したときに、動作S−T1における利用禁止処理は終了する。このようにすることで、他の機能ブロックが機能ブロック71にアクセスしている最中に、当該機能ブロック71に対して電力制御が行われるのを防ぐことができる。
なお、ここで、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用の終了確認を行い、電力制御対象ドメイン内の他の機能ブロックによる機能ブロック71の利用の終了確認を行わない理由については次の通りである。即ち、電力制御対象ドメイン内のバスマスタ1やバスマスタ2が機能ブロック71を利用している場合であっても、当該バスマスタ1やバスマスタ2についてもそれぞれ、動作MA−T1、MB1における利用禁止処理が行われるからである。言い換えると、電力制御要求が電力制御機構51に送信される前に、動作MA−T1、MB1の利用禁止処理によって、電力制御対象ドメイン内のバスマスタ1やバスマスタ2による機能ブロック71の利用は終了するからである。
次に、動作S−T1における利用許可処理の制御方法について、図12(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を許可する許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該許可要求を受信すると、他の機能ブロックによる機能ブロック71の新たな利用を可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作S−T1における利用許可処理は終了する。
図13は、機能ブロックの動作タイプが動作S−T3に決定された場合の制御方法を示すシーケンス図である。図13(a)は、動作S−T3における利用禁止処理の制御方法を示すシーケンス図であり、図13(b)は、動作S−T3における利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作S−T3に決定される場合とは、機能ブロック71のバスアクセス制御種別がバススレーブであり、かつ、状態保存操作種別がタイプ3となるときである。即ち、電力制御内容が、電源電力の供給停止(又は供給再開)となるときである。
動作S−T3における利用禁止処理の制御方法について、図13(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を禁止する禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該禁止要求を受信すると、機能ブロック71について他の機能ブロックによる新たな利用を禁止する設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71のバスアクセス制御種別はバススレーブであるので、機能ブロック71の利用を資源管理部64により既に許可された他の機能ブロックによるアクセスを当該機能ブロック71自身は遮断することができない。従って、電力管理部62は、資源管理部64より設定変更終了通知を受信すると、他の機能ブロックによる機能ブロック71の利用が終了するまで利用禁止処理の終了を待つ。具体的には、電力管理部62は、他の機能ブロックによる機能ブロック71の利用状況を取得し、他の機能ブロックによる機能ブロック71の利用が終了したか否かを確認する。他の機能ブロックによる機能ブロック71の利用が終了したことを電力管理部62が確認したときに、動作S−T3における利用禁止処理は終了する。このようにすることで、他の機能ブロックが機能ブロック71にアクセスしている最中に、当該機能ブロック71に対して電力制御が行われるのを防ぐことができる。
なお、前述した動作S−T1における利用禁止処理では、「電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了するまで利用禁止処理の終了を待つ」となっていた。それに対し、動作S−T3における利用禁止処理では、「他の機能ブロックによる機能ブロック71の利用が終了するまで利用禁止処理の終了を待つ」となっている。この理由について以下に述べる。
後に詳しく述べるが、電力制御内容が電源電力の供給停止となる場合には、電力管理部62は、電力制御対象ドメインに所属する機能ブロックすべてのバススレーブ機能についての利用禁止処理を実行した後で、バスマスタ機能の利用禁止処理を実行する。ここで、電力管理部62は、バススレーブ機能についての利用禁止処理を実行する際に、前述したように電力制御対象ドメイン内の機能ブロックを含む他の機能ブロックによる利用が終了するまで利用禁止処理の終了を待つこととする。なぜならば、クロック信号又は電源電圧の変更や、クロック信号の供給停止の場合とは異なり、電源電力の供給停止の場合には、機能ブロック71に記憶されているデータが消去されるためである。詳しくは、データが消去される前に、電力制御対象ドメイン内のバスマスタ1による機能ブロック71とのアクセスを遮断せずに終了させることで、当該バスマスタ1にとって有用なデータを機能ブロック71に残さないようにするためである。
次に、動作S−T3における利用許可処理の制御方法について、図13(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を許可する許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62より当該許可要求を受信すると、他の機能ブロックによる機能ブロック71の新たな利用を可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作S−T3における利用許可処理は終了する。
図14は、機能ブロックの動作タイプが動作MAS−T1に決定された場合の制御方法を示すシーケンス図である。図14(a)は、動作MAS−T1における利用禁止処理の制御方法を示すシーケンス図であり、図14(b)は、動作MAS−T1における利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作MAS−T1に決定される場合とは、機能ブロック71のバスアクセス制御種別がバスマスタ1+バススレーブであり、かつ、状態保存操作種別がタイプ1となるときである。即ち、電力制御内容が、クロック信号又は電源電圧の変更や、クロック信号の供給停止(又は供給再開)となるときである。
動作MAS−T1における利用禁止処理の制御方法について、図14(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を禁止する禁止要求、及び、機能ブロック71に対して新たなジョブを割り当てることを禁止する割当禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの禁止要求を受信すると、機能ブロック71について他の機能ブロックによる新たな利用を禁止する設定を行うとともに、機能ブロック71に対して新たなジョブを割り当てない設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71はバススレーブの機能を有しているので、電力管理部62は、資源管理部64より設定変更終了通知を受信すると、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了するのを待つ。具体的には、電力管理部62は、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用状況を取得し、当該ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了したか否かを確認する。電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了したことを電力管理部62が確認すると、機能ブロック71におけるバススレーブ機能に対する利用禁止処理は完了する。
また、機能ブロック71は、バスマスタ1の機能も有しているので、資源管理部64により既に割り当てられているジョブの実行を外部からの制御要求により停止することが可能である。そこで、電力管理部62は、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了したことを確認すると、通信部63を介して機能ブロック71に対し、ジョブ実行停止要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止要求を受信すると、資源管理部64により既に割り当てられているジョブの実行を停止するジョブ実行停止処理を行い、他の機能ブロックへのアクセスを遮断する。機能ブロック71は、ジョブ実行停止処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。これにより、機能ブロック71におけるバスマスタ1の機能に対する利用禁止処理は完了し、動作MAS−T1における利用禁止処理は完了する。
次に、動作MAS−T1における利用許可処理の制御方法について、図14(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、通信部63を介して機能ブロック71に対し、ジョブ実行停止解除要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止解除要求を受信すると、資源管理部64により割り当てられるジョブの実行を可能にするジョブ実行停止解除処理を行う。機能ブロック71は、ジョブ実行停止解除処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、機能ブロック71より処理終了通知を受信すると、機能ブロック71に対して新たなジョブを割り当てることを許可する割当許可要求、及び、他の機能ブロックによる機能ブロック71の新たな利用を許可する許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの許可要求を受信すると、機能ブロック71に対して新たなジョブを割り当てることを可能にする設定を行うとともに、他の機能ブロックによる機能ブロック71の新たな利用を可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作MAS−T1における利用許可処理は完了する。
図15は、機能ブロックの動作タイプが動作MAS−T2に決定された場合の制御方法を示すシーケンス図である。図15(a)は、動作MAS−T2における利用禁止処理の制御方法を示すシーケンス図であり、図15(b)は、動作MAS−T2における利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作MAS−T2に決定される場合とは、機能ブロック71のバスアクセス制御種別がバスマスタ1+バススレーブであり、かつ、状態保存操作種別がタイプ2となるときである。即ち、電力制御内容が、電源電力の供給停止(又は供給再開)となるときである。このときには、機能ブロック71の状態の保存(又は復元)のための操作が行われる。
動作MAS−T2における利用禁止処理の制御方法について、図15(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を禁止する禁止要求、及び、機能ブロック71に対して新たなジョブを割り当てることを禁止する割当禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの禁止要求を受信すると、機能ブロック71について他の機能ブロックによる新たな利用を禁止する設定を行うとともに、機能ブロック71に対して新たなジョブを割り当てない設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71はバススレーブの機能を有しているので、電力管理部62は、資源管理部64より設定変更終了通知を受信すると、他の機能ブロックによる機能ブロック71の利用が終了するのを待つ。具体的には、電力管理部62は、他の機能ブロックによる機能ブロック71の利用状況を取得し、他の機能ブロックによる機能ブロック71の利用が終了したか否かを確認する。他の機能ブロックによる機能ブロック71の利用が終了したことを電力管理部62が確認すると、機能ブロック71におけるバススレーブ機能に対する利用禁止処理は完了する。
また、機能ブロック71は、バスマスタ1の機能も有している。従って、電力管理部62は、電力制御対象ドメインに所属する機能ブロックすべてにおけるバススレーブ機能について利用禁止処理を実行した後、通信部63を介して機能ブロック71に対し、機能ブロック71の状態を保存する状態保存要求を送信する。機能ブロック71は、電力管理部62より状態保存要求を受信すると、機能ブロック71のレジスタなどに記憶されているデータを不揮発性のメモリなどに保存する状態保存処理を行う。これにより、機能ブロック71の状態が保存される。機能ブロック71は、状態保存処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、状態保存要求に対する応答としての処理終了通知を機能ブロック71より受けると、通信部63を介して機能ブロック71に対し、ジョブ実行停止要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止要求を受信すると、資源管理部64により既に割り当てられているジョブの実行を停止するジョブ実行停止処理を行う。これにより、機能ブロック71から他の機能ブロックへのアクセスは遮断される。機能ブロック71は、ジョブ実行停止処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。これにより、機能ブロック71におけるバスマスタ1の機能に対する利用禁止処理は完了し、動作MAS−T2における利用禁止処理は完了する。
次に、動作MAS−T2における利用許可処理の制御方法について、図15(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、通信部63を介して機能ブロック71に対し、ジョブの実行の停止を解除するジョブ実行停止解除要求を送信する。機能ブロック71は、電力管理部62よりジョブ実行停止解除要求を受信すると、資源管理部64により割り当てられるジョブの実行を可能にするジョブ実行停止解除処理を行う。機能ブロック71は、ジョブ実行停止解除処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、ジョブ実行停止解除要求に対する応答としての処理終了通知を機能ブロック71より受信すると、通信部63を介して機能ブロック71に対し、機能ブロック71の状態を復元する状態復元要求を送信する。機能ブロック71は、電力管理部62より状態復元要求を受信すると、不揮発性のメモリなどに保存されているデータを機能ブロック71のレジスタなどに書き込む状態復元処理を行う。機能ブロック71は、状態復元処理が終了すると、通信部63を介して電力管理部62に対し、処理終了通知を送信する。
電力管理部62は、状態復元要求に対する応答としての処理終了通知を機能ブロック71より受信すると、機能ブロック71に対して新たなジョブを割り当てることを許可する割当許可要求、及び、他の機能ブロックによる機能ブロック71の新たな利用を許可する許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの許可要求を受信すると、機能ブロック71に対する新たなジョブを割り当てることを可能にする設定を行うとともに、他の機能ブロックによる機能ブロック71の新たな利用を可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作MAS−T2における利用許可処理は完了する。
図16は、機能ブロックの動作タイプが動作MBS−T1に決定された場合の制御方法を示すシーケンス図である。図16(a)は、動作MBS−T1における利用禁止処理の制御方法を示すシーケンス図であり、図16(b)は、動作MBS−T1における利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作MBS−T1に決定される場合とは、機能ブロック71のバスアクセス制御種別がバスマスタ2+バススレーブであり、かつ、状態保存操作種別がタイプ1となるときである。即ち、電力制御内容が、クロック信号又は電源電圧の変更や、クロック信号の供給停止(又は供給再開)となるときである。
動作MBS−T1における利用禁止処理の制御方法について、図16(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を禁止する禁止要求、及び、機能ブロック71に対して新たなジョブを割り当てることを禁止する割当禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの禁止要求を受信すると、機能ブロック71について他の機能ブロックによる新たな利用を禁止する設定を行うとともに、機能ブロック71に対して新たなジョブを割り当てない設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71はバススレーブの機能を有しているので、電力管理部62は、資源管理部64より設定変更終了通知を受信すると、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了するのを待つ。具体的には、電力管理部62は、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用状況を取得し、当該ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了したか否かを確認する。電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了したことを電力管理部62が確認すると、機能ブロック71におけるバススレーブ機能に対する利用禁止処理は完了する。
また、機能ブロック71は、バスマスタ2の機能を有している。そこで、電力管理部62は、電力制御対象ドメイン外の他の機能ブロックによる機能ブロック71の利用が終了したことを確認すると、さらに、機能ブロック71に対して既に割り当てられているジョブの実行が終了するのを待つ。具体的には、電力管理部62は、機能ブロック71による他の機能ブロックの利用状況を取得し、機能ブロック71による他の機能ブロックの利用が終了したか否かを確認する。機能ブロック71による他のブロックの利用が終了したことを電力管理部62が確認したときに、機能ブロック71におけるバスマスタ2の機能に対する利用禁止処理は完了し、動作MBS−T1における利用禁止処理は完了する。
次に、動作MBS−T1における利用許可処理の制御方法について、図16(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、機能ブロック71に対して新たなジョブを割り当てることを許可する割当許可要求、及び、他の機能ブロックによる機能ブロック71の新たな利用を許可する許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの許可要求を受信すると、機能ブロック71に対する新たなジョブを割り当てることを可能にする設定を行うとともに、他の機能ブロックによる機能ブロック71の新たな利用を可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作MBS−T1における利用許可処理は完了する。
図17は、機能ブロックの動作タイプが動作MBS−T3に決定された場合の制御方法を示すシーケンス図である。図17(a)は、動作MBS−T3における利用禁止処理の制御方法を示すシーケンス図であり、図17(b)は、動作MBS−T3における利用許可処理の制御方法を示すシーケンス図である。
機能ブロック71の動作タイプが動作MBS−T3に決定される場合とは、機能ブロック71のバスアクセス制御種別がバスマスタ2+バススレーブであり、かつ、状態保存操作種別がタイプ3となるときである。即ち、電力制御内容が、電源電力の供給停止(又は供給再開)となるときである。
動作MBS−T3における利用禁止処理の制御方法について、図17(a)を用いて説明する。
電力管理部62は、利用禁止処理を行う場合、他の機能ブロックによる機能ブロック71の新たな利用を禁止する禁止要求、及び、機能ブロック71に対して新たなジョブを割り当てることを禁止する割当禁止要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの禁止要求を受信すると、機能ブロック71について他の機能ブロックによる新たな利用を禁止する設定を行うとともに、機能ブロック71に対して新たなジョブを割り当てない設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。
ここで、機能ブロック71はバススレーブの機能を有しているので、電力管理部62は、資源管理部64より設定変更終了通知を受信すると、他の機能ブロックによる機能ブロック71の利用が終了するのを待つ。具体的には、電力管理部62は、他の機能ブロックによる機能ブロック71の利用状況を取得し、他の機能ブロックによる機能ブロック71の利用が終了したか否かを確認する。他の機能ブロックによる機能ブロック71の利用が終了したことを電力管理部62が確認すると、機能ブロック71におけるバススレーブ機能に対する利用禁止処理は完了する。
また、機能ブロック71は、バスマスタ2の機能も有している。そこで、電力管理部62は、電力制御対象ドメインに所属する機能ブロックすべてにおけるバススレーブ機能について利用禁止処理を実行した後、機能ブロック71に対して既に割り当てられているジョブの実行が終了するのを待つ。具体的には、電力管理部62は、機能ブロック71による他の機能ブロックの利用状況を取得し、機能ブロック71による他の機能ブロックの利用が終了したか否かを確認する。機能ブロック71による他のブロックの利用が終了したことを電力管理部62が確認したときに、機能ブロック71におけるバスマスタ2の機能に対する利用禁止処理は完了し、動作MBS−T3における利用禁止処理は完了する。
次に、動作MBS−T3における利用許可処理の制御方法について、図17(b)を用いて説明する。
電力管理部62は、利用許可処理を行う場合、機能ブロック71に対して新たなジョブを割り当てることを許可する割当許可要求、及び、他の機能ブロックによる機能ブロック71の新たな利用を許可する許可要求を資源管理部64に送信する。資源管理部64は、電力管理部62よりこれらの許可要求を受信すると、機能ブロック71に対する新たなジョブを割り当てることを可能にする設定を行うとともに、他の機能ブロックによる機能ブロック71の新たな利用を可能にする設定を行う。資源管理部64は、設定を完了すると、設定変更終了通知を電力管理部62に送信する。これにより、動作MBS−T3における利用許可処理は完了する。
次に、実施形態に係る利用許可処理及び利用禁止処理について、図18のフローチャートを用いて説明する。図18は、実施形態に係る利用許可処理及び利用禁止処理の流れを示すフローチャートである。以下では、電力制御内容がクロック信号又は電源電圧の変更で、電力制御対象ドメインがドメイン1である場合を一例として説明する。
電力管理部62は、図5に示したフローチャートで述べた利用許可処理又は利用禁止処理を行う場合には、まず、ステップS201において、電力制御対象ドメインに所属する機能ブロックを検出する。例えば、電力制御対象ドメインがドメイン1となる場合、検出される機能ブロックは、CPU11、メモリ22、及びDSP33となる(図2参照)。
ステップS202において、電力管理部62は、電力制御対象ドメインに所属する機能ブロックのバスアクセス制御種別と状態保存操作種別とを取得する(図6参照)。前述の例では、CPU11のバスアクセス制御種別はバスマスタ1となり、メモリ22のバスアクセス制御種別はバススレーブとなり、DSP33のバスアクセス制御はバスマスタ2となる。また、電力制御内容はクロック信号又は電源電圧の変更となっているので、CPU11、メモリ22、DSP33のいずれの状態保存操作種別もタイプ1となる。
ステップS203において、電力管理部62は、電力制御対象ドメインに所属する機能ブロックのバスアクセス制御種別と状態保存操作種別とを基に、当該機能ブロックの動作タイプを決定する(図8参照)。前述の例では、CPU11の動作タイプは動作MA−T1となり、メモリ22の動作タイプは動作S−T1となり、DSP33の動作タイプは動作MBとなる。
ステップS204において、電力管理部62は、ステップS203で決定された動作タイプにおける利用禁止処理又は利用許可処理を行う。前述の例において、電力管理部62は、利用禁止処理を行う場合には、動作MA−T1、S−T1、MBのそれぞれにおける利用禁止処理の制御方法に沿って、CPU11、メモリ22、DSP33の利用禁止処理を行う。これにより、ドメイン1に所属する機能ブロックを電力制御可能な状態にすることができる。また、利用許可処理を行う場合には、電力管理部62は、動作MA−T1、S−T1、MBのそれぞれにおける利用許可処理の制御方法に沿って、CPU11、メモリ22、DSP33の利用許可処理をそれぞれ行う。電力管理部62は、電力制御対象ドメインに所属する機能ブロックに対し利用禁止処理又は利用許可処理を終えると本制御処理を終了する。
なお、前述したように、電力制御内容が電源電力の供給停止となる場合には、電力管理部62は、電力制御対象ドメインに所属する機能ブロックすべてにおけるバススレーブ機能の利用禁止処理を実行した後で、バスマスタ機能に対する利用禁止処理を実行する。例えば、電力制御内容が電源電力の供給停止で、電力制御対象ドメインがドメイン1となる場合には、ステップS203において、CPU11の動作タイプは動作MA−T2となり、メモリ22の動作タイプは動作S−T3となり、DSP33の動作タイプは動作MBとなる。従って、この場合、ステップS204において、電力管理部62は、まず、動作S−T3の利用禁止処理の制御方法に沿ってメモリ22の利用禁止処理を行う。その後、電力管理部62は、動作MA−T2、MBの利用禁止処理の制御方法に従ってCPU11、DSP33の利用禁止処理をそれぞれ行う。これにより、ドメイン1内のバスマスタ1たるCPU11にとって有用なデータをメモリ22に残したまま、電源電力の供給が停止されることを避けることができる。
なお、前述の実施形態では、機能ブロックとして、CPU、DSP、メモリ、DMAC、ACCを例として挙げたが、前述の実施形態で述べた方法を適用可能な機能ブロックとしてはこれに限られないのは言うまでもない。また、集積回路におけるドメインの分け方についても前述の実施形態で述べた分け方に限られないのは言うまでもない。
さらに、実施形態は、前述した実施形態の例に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨あるいは思想に反しない範囲で適宜変更可能である。
以上説明した実施形態に関して、更に以下の付記を開示する。
(付記1)
集積回路内における機能ブロックの利用管理を行う資源管理部と、
少なくとも1つ以上の前記機能ブロックを所属させたドメインと当該ドメインに対する電力制御内容とを指定した電力制御要求を、前記ドメイン毎に前記機能ブロックの電力制御を行う電力制御機構に対して送信する電力管理部と、を備え、
前記電力管理部は、前記電力制御機構に対し前記電力制御要求を送信する前に、前記ドメインに所属する機能ブロックの種別と前記電力制御内容とに応じて、前記資源管理部を用いて、前記ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行うことを特徴とする電力管理回路。
(付記2)
前記ドメインに所属する機能ブロックがバスマスタの機能を有する場合には、
前記電力管理部は、前記利用禁止処理として、前記資源管理部を用いて、新たなジョブを前記機能ブロックに割り当てることを禁止することを特徴とする付記1に記載の電力管理回路。
(付記3)
前記ドメインに所属する機能ブロックが、既に割り当てられたジョブの実行を要求により停止可能なバスマスタの機能を有する場合には、
前記電力管理部は、前記利用禁止処理として、前記機能ブロックに対し、既に割り当てられたジョブの実行の停止要求を送信することを特徴とする付記2に記載の電力管理回路。
(付記4)
前記ドメインに所属する機能ブロックが、当該機能ブロックの状態の保存を外部からの要求により実行可能なバスマスタの機能を有し、かつ、前記電力制御内容が前記ドメインに対する電源電力の供給停止となる場合には、
前記電力管理部は、前記利用禁止処理として、前記機能ブロックに対し、前記機能ブロックの状態の保存要求を送信することを特徴とする付記3に記載の電力管理回路。
(付記5)
前記ドメインに所属する機能ブロックが、既に割り当てられたジョブの実行を停止することができないバスマスタの機能を有する場合には、
前記電力管理部は、既に割り当てられたジョブの実行が終了するまで前記利用禁止処理の終了を待つことを特徴とする付記2に記載の電力管理回路。
(付記6)
前記ドメインに所属する機能ブロックがバススレーブの機能を有する場合には、
前記電力管理部は、前記利用禁止処理として、前記資源管理部を用いて、前記機能ブロックの他の機能ブロックによる新たな利用を禁止することを特徴とする付記1〜5の何れか1項に記載の電力管理回路。
(付記7)
前記電力管理部は、前記利用禁止処理として、前記機能ブロックの利用が既に許可された他の機能ブロックによる利用が終了するまで前記利用禁止処理の終了を待つことを特徴とする付記6に記載の電力管理回路。
(付記8)
前記電力制御内容がクロック信号の周波数変更又は電源電力の電圧変更となる場合には、
前記電力管理部は、前記利用禁止処理を行うとともに、前記ドメインに対する前記電力制御が終了した場合には、前記資源管理部を用いて、前記ドメインに所属する機能ブロックの利用を許可する利用許可処理を行うことを特徴とする付記1〜7の何れか1項に記載の電力管理回路。
(付記9)
集積回路内における少なくとも1つ以上の機能ブロックを所属させたドメインと当該ドメインに対する電力制御内容とを指定した電力制御要求を取得する工程と、
前記ドメインに所属する機能ブロックの種別と前記電力制御内容とに応じて、前記ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行う工程と、
前記利用禁止処理の実行後、前記ドメイン毎に前記機能ブロックの電力制御を行う電力制御機構に対し前記電力制御要求を送信する工程と、を備えることを特徴とする電力管理方法。
(付記10)
コンピュータにより実行されるプログラムであって、
集積回路内における機能ブロックの利用管理を行う資源管理部、
及び、少なくとも1つ以上の前記機能ブロックを所属させたドメインと当該ドメインに対する電力制御内容とを指定した電力制御要求を、前記ドメイン毎に前記機能ブロックの電力制御を行う電力制御機構に対して送信する電力管理部、として前記コンピュータを機能させ、
前記電力管理部は、前記電力制御機構に対し前記電力制御要求を送信する前に、前記ドメインに所属する機能ブロックの種別と前記電力制御内容とに応じて、前記資源管理部を用いて、前記ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行うことを特徴とする電力管理プログラム。
10、11 CPU
21、22、23 メモリ
31 DMAC
32 ACC
33 DSP
51 電力制御機構
61 アプリケーション
62 電力管理部
63 通信部
64 資源管理部

Claims (10)

  1. 集積回路内における機能ブロックの利用管理を行う資源管理部と、
    少なくとも1つ以上の前記機能ブロックを所属させたドメインと当該ドメインに対する電力制御内容とを指定した電力制御要求を、前記ドメイン毎に前記機能ブロックの電力制御を行う電力制御機構に対して送信する電力管理部と、を備え、
    前記電力管理部は、前記電力制御機構に対し前記電力制御要求を送信する前に、前記ドメインに所属する機能ブロックの種別と前記電力制御内容とに応じて、前記資源管理部を用いて、前記ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行うことを特徴とする電力管理回路。
  2. 前記ドメインに所属する機能ブロックがバスマスタの機能を有する場合には、
    前記電力管理部は、前記利用禁止処理として、前記資源管理部を用いて、新たなジョブを前記機能ブロックに割り当てることを禁止することを特徴とする請求項1に記載の電力管理回路。
  3. 前記ドメインに所属する機能ブロックが、既に割り当てられたジョブの実行を要求により停止可能なバスマスタの機能を有する場合には、
    前記電力管理部は、前記利用禁止処理として、前記機能ブロックに対し、既に割り当てられたジョブの実行の停止要求を送信することを特徴とする請求項2に記載の電力管理回路。
  4. 前記ドメインに所属する機能ブロックが、当該機能ブロックの状態の保存を外部からの要求により実行可能なバスマスタの機能を有し、かつ、前記電力制御内容が前記ドメインに対する電源電力の供給停止となる場合には、
    前記電力管理部は、前記利用禁止処理として、前記機能ブロックに対し、前記機能ブロックの状態の保存要求を送信することを特徴とする請求項3に記載の電力管理回路。
  5. 前記ドメインに所属する機能ブロックが、既に割り当てられたジョブの実行を停止することができないバスマスタの機能を有する場合には、
    前記電力管理部は、既に割り当てられたジョブの実行が終了するまで前記利用禁止処理の終了を待つことを特徴とする請求項2に記載の電力管理回路。
  6. 前記ドメインに所属する機能ブロックがバススレーブの機能を有する場合には、
    前記電力管理部は、前記利用禁止処理として、前記資源管理部を用いて、前記機能ブロックの他の機能ブロックによる新たな利用を禁止することを特徴とする請求項1〜5の何れか1項に記載の電力管理回路。
  7. 前記電力管理部は、前記利用禁止処理として、前記機能ブロックの利用が既に許可された他の機能ブロックによる利用が終了するまで前記利用禁止処理の終了を待つことを特徴とする請求項6に記載の電力管理回路。
  8. 前記電力制御内容がクロック信号の周波数変更又は電源電力の電圧変更となる場合には、
    前記電力管理部は、前記利用禁止処理を行うとともに、前記ドメインに対する前記電力制御が終了した場合には、前記資源管理部を用いて、前記ドメインに所属する機能ブロックの利用を許可する利用許可処理を行うことを特徴とする請求項1〜7の何れか1項に記載の電力管理回路。
  9. 集積回路内における少なくとも1つ以上の機能ブロックを所属させたドメインと当該ドメインに対する電力制御内容とを指定した電力制御要求を取得する工程と、
    前記ドメインに所属する機能ブロックの種別と前記電力制御内容とに応じて、前記ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行う工程と、
    前記利用禁止処理の実行後、前記ドメイン毎に前記機能ブロックの電力制御を行う電力制御機構に対し前記電力制御要求を送信する工程と、を備えることを特徴とする電力管理方法。
  10. コンピュータにより実行されるプログラムであって、
    集積回路内における機能ブロックの利用管理を行う資源管理部、
    及び、少なくとも1つ以上の前記機能ブロックを所属させたドメインと当該ドメインに対する電力制御内容とを指定した電力制御要求を、前記ドメイン毎に前記機能ブロックの電力制御を行う電力制御機構に対して送信する電力管理部、として前記コンピュータを機能させ、
    前記電力管理部は、前記電力制御機構に対し前記電力制御要求を送信する前に、前記ドメインに所属する機能ブロックの種別と前記電力制御内容とに応じて、前記資源管理部を用いて、前記ドメインに所属する機能ブロックの利用を禁止する利用禁止処理を行うことを特徴とする電力管理プログラム。
JP2009137658A 2009-06-08 2009-06-08 電力管理回路、電力管理方法及び電力管理プログラム Pending JP2010282585A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009137658A JP2010282585A (ja) 2009-06-08 2009-06-08 電力管理回路、電力管理方法及び電力管理プログラム
US12/795,402 US8407507B2 (en) 2009-06-08 2010-06-07 Power management circuit, power management method and power management program for controlling power supplied to functional blocks in integrated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009137658A JP2010282585A (ja) 2009-06-08 2009-06-08 電力管理回路、電力管理方法及び電力管理プログラム

Publications (1)

Publication Number Publication Date
JP2010282585A true JP2010282585A (ja) 2010-12-16

Family

ID=43301605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009137658A Pending JP2010282585A (ja) 2009-06-08 2009-06-08 電力管理回路、電力管理方法及び電力管理プログラム

Country Status (2)

Country Link
US (1) US8407507B2 (ja)
JP (1) JP2010282585A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013538386A (ja) * 2010-07-13 2013-10-10 アルゴトゥチップ コーポレーション 駆動電力ゲーティングの応用
JP2014503097A (ja) * 2011-01-04 2014-02-06 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム
JP2020161155A (ja) * 2012-01-23 2020-10-01 株式会社半導体エネルギー研究所 半導体装置
US20220214738A1 (en) * 2011-12-30 2022-07-07 Intel Corporation Multi-level cpu high current protection
WO2024024000A1 (ja) * 2022-07-27 2024-02-01 日本電信電話株式会社 電源制御装置、電源制御システム、電源制御方法、および、電源制御プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615647B2 (en) 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
JP5775398B2 (ja) * 2011-08-25 2015-09-09 ルネサスエレクトロニクス株式会社 半導体集積回路装置
GB201211340D0 (en) * 2012-06-26 2012-08-08 Nordic Semiconductor Asa Control of semiconductor devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (ja) * 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH11288334A (ja) * 1997-12-01 1999-10-19 Toshiba Corp コンピュータ・システムのパワーダウン方法及び装置
JP2002132397A (ja) * 2000-10-27 2002-05-10 Matsushita Electric Ind Co Ltd 半導体集積回路装置
JP2006004339A (ja) * 2004-06-21 2006-01-05 Fujitsu Ltd 半導体集積回路
JP2006072991A (ja) * 2004-08-05 2006-03-16 Matsushita Electric Ind Co Ltd 省電力処理装置、省電力処理方法、及び省電力処理プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212416A (ja) 1995-11-30 1997-08-15 Toshiba Corp 計算機システムおよび計算機システムの電力管理方法
US5928365A (en) 1995-11-30 1999-07-27 Kabushiki Kaisha Toshiba Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
US6625740B1 (en) * 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US20030196126A1 (en) * 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
JP2005196545A (ja) 2004-01-08 2005-07-21 Matsushita Electric Ind Co Ltd 省電力制御装置
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US20070220293A1 (en) * 2006-03-16 2007-09-20 Toshiba America Electronic Components Systems and methods for managing power consumption in data processors using execution mode selection
US7882379B2 (en) * 2006-09-22 2011-02-01 Sony Computer Entertainment Inc. Power consumption reduction in a multiprocessor system
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7853808B2 (en) * 2007-01-18 2010-12-14 International Business Machines Corporation Independent processor voltage supply
US7900069B2 (en) * 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
US20090204837A1 (en) * 2008-02-11 2009-08-13 Udaykumar Raval Power control system and method
US20110213998A1 (en) * 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (ja) * 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH11288334A (ja) * 1997-12-01 1999-10-19 Toshiba Corp コンピュータ・システムのパワーダウン方法及び装置
JP2002132397A (ja) * 2000-10-27 2002-05-10 Matsushita Electric Ind Co Ltd 半導体集積回路装置
JP2006004339A (ja) * 2004-06-21 2006-01-05 Fujitsu Ltd 半導体集積回路
JP2006072991A (ja) * 2004-08-05 2006-03-16 Matsushita Electric Ind Co Ltd 省電力処理装置、省電力処理方法、及び省電力処理プログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013538386A (ja) * 2010-07-13 2013-10-10 アルゴトゥチップ コーポレーション 駆動電力ゲーティングの応用
JP2014503097A (ja) * 2011-01-04 2014-02-06 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム
US20220214738A1 (en) * 2011-12-30 2022-07-07 Intel Corporation Multi-level cpu high current protection
US11687139B2 (en) * 2011-12-30 2023-06-27 Intel Corporation Multi-level CPU high current protection
JP2020161155A (ja) * 2012-01-23 2020-10-01 株式会社半導体エネルギー研究所 半導体装置
KR20210111327A (ko) * 2012-01-23 2021-09-10 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
US11209880B2 (en) 2012-01-23 2021-12-28 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
KR102433736B1 (ko) * 2012-01-23 2022-08-19 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
US11934243B2 (en) 2012-01-23 2024-03-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
WO2024024000A1 (ja) * 2022-07-27 2024-02-01 日本電信電話株式会社 電源制御装置、電源制御システム、電源制御方法、および、電源制御プログラム

Also Published As

Publication number Publication date
US8407507B2 (en) 2013-03-26
US20100313041A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
JP2010282585A (ja) 電力管理回路、電力管理方法及び電力管理プログラム
JP5884578B2 (ja) アクセラレータ管理装置、アクセラレータ管理方法および入出力装置
US20140215233A1 (en) Power Management System Using Blocker Modules Coupled to a Bus
JP5790007B2 (ja) 情報処理装置および情報処理装置の制御方法、ならびに、プログラム
JP2008123157A (ja) プロセッサ及び割込み制御方法
JP2008119833A (ja) 画像形成装置
US20230359372A1 (en) Mirrored Memory Configuration Method and Apparatus, and Computer Storage Medium
JP2006099331A (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
JP2018022345A (ja) 情報処理システム
JP2009206987A (ja) 情報処理装置、情報処理システム及び情報処理方法
JP2009265687A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20130254446A1 (en) Memory Management Method and Device for Distributed Computer System
WO2013076913A1 (ja) 仮想計算機システム、仮想計算機システム制御方法、及び仮想計算機システム制御プログラム
JP2009020555A (ja) スワップ処理装置
US7111131B2 (en) Control apparatus of storage unit, and method of controlling the control apparatus of storage unit
US20130246729A1 (en) Method for Managing a Memory of a Computer System, Memory Management Unit and Computer System
JP2010009454A (ja) 情報処理装置
US10269194B2 (en) Multiprocessor system and vehicle control system
JP5996110B2 (ja) 計算機システム及び制御方法
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
US20130247065A1 (en) Apparatus and method for executing multi-operating systems
CN113711195A (zh) 传输装置、信息处理装置以及数据传输方法
JP2015014962A (ja) 演算装置、演算方法、及びプログラム
JP5414305B2 (ja) 情報処理装置、仮想記憶管理方法及びプログラム
JP4727480B2 (ja) 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131203