JP4370109B2 - Processor power control method - Google Patents
Processor power control method Download PDFInfo
- Publication number
- JP4370109B2 JP4370109B2 JP2003059641A JP2003059641A JP4370109B2 JP 4370109 B2 JP4370109 B2 JP 4370109B2 JP 2003059641 A JP2003059641 A JP 2003059641A JP 2003059641 A JP2003059641 A JP 2003059641A JP 4370109 B2 JP4370109 B2 JP 4370109B2
- Authority
- JP
- Japan
- Prior art keywords
- power control
- power
- information
- clock
- voltage
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Power Sources (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、プロセッサの内部で消費される電力を制御するための電力制御方法に関するものである。
【0002】
【従来の技術】
コンピュータ、マイクロプロセッサ、マイクロコントローラ、ディジタル信号処理プロセッサ(DSP)等が知られている。ここでは、これらストアード・プログラム方式の装置を総称して「プロセッサ」という。
【0003】
従来のプロセッサの中には、電力制御装置を備えたものがある。例えば、あるプロセッサの電力制御方法では、スタンバイモードにおいて当該プロセッサの内部クロックの周波数を特定の周波数まで下げることで、消費電力を削減する。
【0004】
【発明が解決しようとする課題】
上記従来のプロセッサの電力制御方法では、低減されたクロック周波数を当該プロセッサのユーザが決めることはできなかった。また、特別な命令を当該プロセッサが実行することでスタンバイモードへ入るようにしていたので、プログラムが大きくなる問題もあった。
【0005】
本発明の目的は、プロセッサの低消費電力動作をユーザがきめ細かく定義できるようにし、以てプログラミングの負担を軽減することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するために、本発明は、電力制御レジスタを有したプロセッサの内部で消費される電力を制御するための電力制御方法において、比較アドレスとインデックス番号とが一対となった情報を参照することにより、実行アドレスに応じたインデックス番号を決定する条件判定を行い、前記電力制御レジスタにはあらかじめ電力制御情報が格納されており、前記電力制御情報は前記インデックス番号に応じて選択され、選択される前記電力制御情報に従って、前記プロセッサの内部で消費される電力を制御することとしたものである。複数の部分からなるプログラムを実行する、電力制御レジスタを有したプロセッサでは、実行しているプログラムの部分に応じたインデックス番号を決定する条件判定を行い、前記電力制御レジスタにはあらかじめ電力制御情報が格納されており、前記電力制御情報は前記インデックス番号に応じて選択され、選択される前記電力制御情報に従って、前記プロセッサの内部で消費される電力を制御する。
【0007】
【発明の実施の形態】
以下、マイクロプロセッサへの本発明の適用例について、図面を参照しながら具体的に説明する。
【0008】
(第1の実施形態)
図1は、本発明の第1の実施形態に係るマイクロプロセッサの電力制御装置を示している。当該マイクロプロセッサ10は、プログラムカウンタ11と、複数の回路ブロック15とに加えて、パワーテーブル20と、条件判定器30と、電圧・クロックコントローラ40とで構成された電力制御装置を備えている。
【0009】
パワーテーブル20は、各々電力制御情報を書き換え可能に記憶するための複数の電力制御レジスタ21を備えている。電力制御情報の各々は、複数の回路ブロック15のうち電力制御の対象とすべき1以上の回路ブロックを指定するためのブロック情報と、制御対象ブロックの電圧に関する情報(電圧情報)と、制御対象ブロックへ供給すべきクロックに関する情報(クロック情報)とを含んでいる。また、複数の電力制御レジスタ21のうちのいずれか1つが、条件判定器30から供給されるインデックス信号により選択されるようになっている。
【0010】
電圧・クロックコントローラ40は、インデックス信号により選択された電力制御レジスタ21中の電力制御情報に従って制御対象回路ブロックの消費電力を制御するためのコントローラであって、ブロック情報と電圧情報とを受け取る電圧コントローラ41と、ブロック情報とクロック情報とを受け取るクロックコントローラ45とで構成されている。
【0011】
条件判定器30は、アドレステーブル31と、比較器32と、ラッチ33とを備えている。アドレステーブル31は、各々比較アドレスと、当該比較アドレスに対応付けられたインデックス番号とを書き換え可能に記憶するための複数のレジスタを備えている。比較器32は、プログラムカウンタ11が示すアドレスがアドレステーブル31の中の複数の比較アドレスのいずれに一致したかを判定する。ラッチ33は、一致判定された比較アドレスに対応付けられたインデックス番号を保持し、このインデックス番号を表す信号をパワーテーブル20へ前記インデックス信号として供給する。
【0012】
図2は、図1中のパワーテーブル20の詳細構成例を示している。各電力制御レジスタ21は、対象ブロック指定フィールドと、第1及び第2の電圧指定フィールドと、第1及び第2のクロック指定フィールドとを持つ。対象ブロック指定フィールドは、複数の回路ブロック15のそれぞれに対応した複数のビットを持ち、例えばビット値“1”が対応回路ブロックを電力制御の対象とすべき旨を表す。この対象ブロック指定フィールドの情報は、ブロック情報(INFO_BLK)として電圧コントローラ41及びクロックコントローラ45へ供給される。第1の電圧指定フィールドは、制御対象回路ブロックへ供給すべき電源電圧Vccの大きさを表す第1の電圧情報(INFO_Vcc)を記憶するためのフィールドである。第2の電圧指定フィールドは、制御対象回路ブロックを構成するトランジスタの閾値電圧Vtを制御するための第2の電圧情報(INFO_Vt)を記憶するためのフィールドである。第1のクロック指定フィールドは、制御対象回路ブロックへ供給すべきクロックの周波数を表す第1のクロック情報(INFO_FREQ)を記憶するためのフィールドである。第2のクロック指定フィールドは、制御対象回路ブロックへのクロック供給を停止するか否かを表す第2のクロック情報(INFO_TERM)を記憶するためのフィールドである。電圧情報は電圧コントローラ41へ、クロック情報はクロックコントローラ45へそれぞれ供給される。
【0013】
図3は、図1中の電圧コントローラ41の詳細構成例を示している。図3の電圧コントローラ41は、DC−DCコンバータ42と、ゼロ判定器43と、各ブロック用の論路回路44とで構成されている。DC−DCコンバータ42は、基本電圧を第1の電圧情報(INFO_Vcc)で指定された大きさの電圧に変換し、この変換により得た電圧を電源電圧Vccとして出力する。ゼロ判定器43は、第1の電圧情報(INFO_Vcc)がゼロを指定しているか否かを調べる。論理回路44は2個のANDゲートで構成されており、ブロック情報(INFO_BLK)とゼロ判定器43の出力とに基づく電源遮断信号と、ブロック情報(INFO_BLK)と第2の電圧情報(INFO_Vt)とに基づくVt選択信号とを出力する。電源遮断信号は、制御対象回路ブロックにおける電源電圧Vcc供給スイッチの制御に用いられる。Vt選択信号は、制御対象回路ブロックを構成するトランジスタの閾値電圧Vtを制御するように、例えばMOSトランジスタのバックゲート電圧の選択制御に用いられる。各回路ブロックの消費電力は電源電圧Vccの2乗に比例する。したがって、電源電圧Vccの低減は、各回路ブロックの消費電力削減に極めて大きく寄与する。また、トランジスタ閾値電圧Vtの制御は、当該トランジスタの高速動作モードと、漏れ電流が削減された非動作モードとを実現し得る。
【0014】
図4は、図1中のクロックコントローラ45の詳細構成例を示している。図4のクロックコントローラ45は、PLL46と、分周器47と、各ブロック用の論理回路48とで構成されている。PLL46は、ある周波数を持つ通常動作のための内部クロックを基本クロックから生成する。分周器47は、第1のクロック情報(INFO_FREQ)で指定されたクロック周波数に見合った分周比で、内部クロックを分周する。論理回路48は1個のマルチプレクサと1個のANDゲートとで構成されており、PLL46から供給された内部クロックと分周器47から供給された分周クロックとのいずれかをブロック情報(INFO_BLK)に基づいて選択し、かつ当該選択したクロックの供給・停止を第2のクロック情報(INFO_TERM)に応じて制御する。各回路ブロックの消費電力はクロック周波数に比例する。したがって、クロック周波数の低減は、高速動作が必要でない回路ブロックの消費電力削減に大きく寄与する。
【0015】
図5は、図1の電力制御装置の動作例を概念的に示している。図5において、パワーテーブル20は、各々インデックス番号0、1、2、3で識別される4個の電力制御レジスタを備えている。アドレステーブル31は、比較アドレス1000とインデックス番号3との組と、比較アドレス1400とインデックス番号2との組と、比較アドレス4B00とインデックス番号0との組と、比較アドレス7010とインデックス番号3との組と、比較アドレスC6FFとインデックス番号1との組と、比較アドレスD200とインデックス番号2との組と、比較アドレスD770とインデックス番号1との組とを記憶しているものとする。
【0016】
図5によれば、マイクロプロセッサ10のプログラムフローに応じて、次のような電力制御が実現する。まず、アドレス0000からプログラムの実行が開始する。その後、アドレス1000の命令実行時に、プログラムカウンタ11が示すアドレスと、アドレステーブル31の中の1番目の比較アドレスとが一致する。これにより、番号3を表すインデックス信号がパワーテーブル20へ供給される。これを受けて、パワーテーブル20はインデックス番号3で指定された電力制御情報を電圧・クロックコントローラ40へ供給し、電圧・クロックコントローラ40は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。続いて、プログラムの実行がアドレス1400に到達すると、プログラムカウンタ11が示すアドレスと、アドレステーブル31の中の2番目の比較アドレスとが一致し、番号2を表すインデックス信号がパワーテーブル20へ供給される。これを受けて、パワーテーブル20はインデックス番号2で指定された電力制御情報を電圧・クロックコントローラ40へ供給し、電圧・クロックコントローラ40は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。更に、アドレスC6FFへ分岐すべくサブルーチンコール命令が実行されると、プログラムカウンタ11が示すアドレスと、アドレステーブル31の中の5番目の比較アドレスとが一致し、番号1を表すインデックス信号がパワーテーブル20へ供給される。これを受けて、パワーテーブル20はインデックス番号1で指定された電力制御情報を電圧・クロックコントローラ40へ供給し、電圧・クロックコントローラ40は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。
【0017】
以上のとおり、図1の電力制御装置によれば、パワーテーブル20とアドレステーブル31とをユーザが適宜書き換えることで、当該マイクロプロセッサ10の低消費電力動作をユーザがきめ細かく定義できる。例えば、サブルーチン単位での電力制御や、1命令単位での頻繁な電力制御も可能である。また、特定アドレス区間の命令実行時の電力制御や、多重ループ内の一部命令のみの実行時の電力制御も可能である。しかも、これら電力制御のための特別な命令の実行は不要であるので、電力制御によりアプリケーションプログラム本体の処理効率が低下することはなく、命令メモリ容量の増加を招くこともない。更に、図1の電力制御装置によれば、アプリケーションプログラムの開発と電力制御設計とを独立に行い得る。したがって、プログラム開発の効率向上、保守性向上を図ることができる。また、既存のアプリケーションプログラムを修正することなく、詳細な電力制御を実現することができる。
【0018】
図6は、図1中の条件判定器30の変形例を示している。図6によれば、プログラムカウンタ11の更新のために、インクリメンタ12と、セレクタ13とが配置されている。インクリメンタ12は、プログラムカウンタ11の出力アドレス信号を受けて、アドレスをインクリメントする。セレクタ13は、通常はインクリメンタ12の出力アドレスをプログラムカウンタ11へ供給するが、ロード信号が与えられた場合には分岐アドレスをプログラムカウンタ11へ供給するように構成されている。図6の条件判定器30は、アドレステーブル31と、比較器32と、ラッチ33とに加えて、ロード信号を受けてイネーブル信号を生成するためのアドレス不連続検出器34を備えている。比較器32は、このイネーブル信号により、プログラムカウンタ11が示すアドレスの不連続変化が検出された場合にのみアドレス一致判定を実行するように制御される。その結果、条件判定器30の内部における消費電力が、図1の場合に比べて削減される。
【0019】
図7は、図1中の条件判定器30の他の変形例を示している。図7の条件判定器30は、例えばサブルーチン単位での電力制御に適したものであって、各々比較開始アドレスと、当該比較開始アドレスに対応付けられた比較終了アドレスと、当該比較開始アドレス及び比較終了アドレスに対応付けられたインデックス番号とを書き換え可能に記憶するための複数のレジスタを持つアドレステーブル31を備え、プログラムカウンタ11が示すアドレスが複数の比較開始アドレスと複数の比較終了アドレスとで定義される複数のアドレス範囲のいずれに属するかを判定し、この範囲判定された比較開始アドレス及び比較終了アドレスに対応付けられたインデックス番号を表す信号をパワーテーブル20へインデックス信号として供給するようになっている。そのために、図7の条件判定器30は、アドレステーブル31に加えて、第1の比較器32aと、第2の比較器32bと、ANDゲート35と、ラッチ33とを備えている。なお、図1中の比較器32における一致判定をアドレス上位ビットに限定すれば、図7の場合より大まかな範囲判定を実現できる。
【0020】
(第2の実施形態)
図8は、本発明の第2の実施形態に係る電力制御装置を備えたマイクロプロセッサを示している。図8のマイクロプロセッサ110は、外部ブロック150からのバースト的な大量データの受信を、当該外部ブロック150から与えられる送信開始/完了フラグに基づく割り込み処理として実行する機能を有するものであって、送信開始/完了フラグ等に応じた割り込み種別(イベント種別)を表すイベント信号を発生するためのイベント信号発生器111と、データ受信のための受信処理ブロック115と、受信データを格納するためのメモリブロック116と、その他の機能ブロック117とを備えている。更に、図8のマイクロプロセッサ110は、図1中のパワーテーブル20と同様のパワーテーブル120と、イベント信号に応答して当該パワーテーブル120へインデックス信号を供給するための条件判定器130と、図1中の電圧・クロックコントローラ40と同様の電圧・クロックコントローラ140とを備えており、これらが各回路ブロック115,116,117の消費電力を制御するための電力制御装置を構成している。
【0021】
図9は、図8中の条件判定器130の詳細構成例を示している。図9の条件判定器130は、イベントテーブル131と、比較器132と、ラッチ133とを備えている。イベントテーブル131は、各々比較イベント種別と、当該比較イベント種別に対応付けられたインデックス番号とを書き換え可能に記憶するための複数のレジスタを備えている。比較器132は、イベント信号発生器111が発生したイベント信号により表されたイベントの種別がイベントテーブル131の中の複数の比較イベント種別のいずれに一致したかを判定する。ラッチ133は、一致判定された比較イベント種別に対応付けられたインデックス番号を保持し、このインデックス番号を表す信号をパワーテーブル120へ前記インデックス信号として供給する。
【0022】
図10は、図8の電力制御装置の動作例を概念的に示している。図10において、パワーテーブル120は、各々インデックス番号0、1、2、3で識別される4個の電力制御レジスタを備えている。イベントテーブル131は、比較イベント種別1とインデックス番号3との組と、比較イベント種別2とインデックス番号2との組と、比較イベント種別3とインデックス番号0との組と、比較イベント種別4とインデックス番号3との組と、比較イベント種別5とインデックス番号1との組と、比較イベント種別6とインデックス番号2との組と、比較イベント種別7とインデックス番号1との組とを記憶している。外部ブロック150は、マイクロプロセッサ110へのデータ送信を開始する際に送信開始/完了フラグをアクティブにし、送信完了時に当該フラグをネガティブにする。これを受けて、イベント信号発生器111は、送信開始/完了フラグがアクティブになった時点でイベント種別4を表す信号を、当該フラグがネガティブになった時点でイベント種別5を表す信号をそれぞれ発生するものとする。
【0023】
図10によれば、マイクロプロセッサ110に生じたイベントの種別に応じて、次のような電力制御が実現する。まず、外部ブロック150からマイクロプロセッサ110へのデータ送信の開始時に送信開始/完了フラグがアクティブになると、イベント信号発生器111がイベント種別4を表す信号を発生するので、発生した当該イベント種別と、イベントテーブル131の中の4番目の比較イベント種別とが一致する。これにより、番号3を表すインデックス信号がパワーテーブル120へ供給される。これを受けて、パワーテーブル120はインデックス番号3で指定された電力制御情報を電圧・クロックコントローラ140へ供給し、電圧・クロックコントローラ140は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。ここで、例えば受信処理ブロック115へ供給する電源電圧Vccを高くし、かつ当該ブロック115へ供給するクロックの周波数を高くすることができる。続いて、外部ブロック150からマイクロプロセッサ110へのデータ送信の完了時に送信開始/完了フラグがネガティブになると、イベント信号発生器111がイベント種別5を表す信号を発生するので、発生した当該イベント種別と、イベントテーブル131の中の5番目の比較イベント種別とが一致する。これにより、番号1を表すインデックス信号がパワーテーブル120へ供給される。これを受けて、パワーテーブル120はインデックス番号1で指定された電力制御情報を電圧・クロックコントローラ140へ供給し、電圧・クロックコントローラ140は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。ここで、例えば受信処理ブロック115への電源電圧を遮断し、かつ当該ブロック115へのクロックの供給を停止することができる。これにより、受信処理ブロック115を必要な期間だけ高速動作させることができる。
【0024】
以上のとおり、図8の電力制御装置によれば、パワーテーブル120とイベントテーブル131とをユーザが適宜書き換えることで、アプリケーションプログラムと非同期に発生するイベント応じた当該マイクロプロセッサ110の低消費電力動作をユーザがきめ細かく定義できる。しかも、これら電力制御のための特別な命令の実行は不要であるので、電力制御によりアプリケーションプログラム本体の処理効率が低下することはなく、命令メモリ容量の増加を招くこともない。更に、図8の電力制御装置によれば、アプリケーションプログラムの開発と電力制御設計とを独立に行い得る。したがって、プログラム開発の効率向上、保守性向上を図ることができる。また、既存のアプリケーションプログラムを修正することなく、詳細な電力制御を実現することができる。
【0025】
(第3の実施形態)
図11は、本発明の第3の実施形態に係る電力制御装置を備えたマイクロプロセッサを示している。図11のマイクロプロセッサ210は、外部ブロック250との間のデータ送受信を定められた時間帯に実行する機能を有するものであって、時刻を表す時刻信号を発生するためのタイマ211と、データ受信のための受信ブロック215と、データ送信のための送信ブロック216と、その他の機能ブロック217とを備えている。更に、図11のマイクロプロセッサ210は、図1中のパワーテーブル20と同様のパワーテーブル220と、時刻信号に応答して当該パワーテーブル220へインデックス信号を供給するための条件判定器230と、図1中の電圧・クロックコントローラ40と同様の電圧・クロックコントローラ240とを備えており、これらが各回路ブロック215,216,217の消費電力を制御するための電力制御装置を構成している。
【0026】
図12は、図11中の条件判定器230の詳細構成例を示している。図12の条件判定器230は、タイムテーブル231と、比較器232と、ラッチ233とを備えている。タイムテーブル231は、各々比較時刻と、当該比較時刻に対応付けられたインデックス番号とを書き換え可能に記憶するための複数のレジスタを備えている。比較器232は、タイマ211が発生した時刻信号により表された時刻がイベントテーブル231の中の複数の比較時刻のいずれに一致したかを判定する。ラッチ233は、一致判定された比較時刻に対応付けられたインデックス番号を保持し、このインデックス番号を表す信号をパワーテーブル220へ前記インデックス信号として供給する。
【0027】
図13は、図11の電力制御装置の動作例を概念的に示している。図13において、パワーテーブル220は、各々インデックス番号0、1、2、3で識別される4個の電力制御レジスタを備えている。タイムテーブル231は、比較時刻とインデックス番号との多数の組を記憶している。図13中のT000、T020、T040、T050、T100、T120、T140、T150は各々時刻を表している。ここでは、当該マイクロプロセッサ210がT040からT050までの時間範囲では送信動作を、T100からT120までの時間範囲では受信動作をそれぞれ実行するものとする。
【0028】
図13によれば、時間の流れに応じて、次のような電力制御が実現する。まず、タイマ211の時刻信号により表された時刻がT020になると、この時刻と、タイムテーブル231の中の比較時刻T020とが一致する。これにより、番号3を表すインデックス信号がパワーテーブル220へ供給される。これを受けて、パワーテーブル220はインデックス番号3で指定された電力制御情報を電圧・クロックコントローラ240へ供給し、電圧・クロックコントローラ240は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。ここで、例えば受信ブロック215及び送信ブロック216への電源電圧及びクロックの供給を停止し、かつマイクロプロセッサ210の全体の動作周波数を低くすることで、プロセッサ全体として消費電力を削減できる。続いて、タイマ211の時刻信号により表された時刻がT040になると、この時刻と、タイムテーブル231の中の比較時刻T040とが一致する。これにより、番号1を表すインデックス信号がパワーテーブル220へ供給される。これを受けて、パワーテーブル220はインデックス番号3で指定された電力制御情報を電圧・クロックコントローラ240へ供給し、電圧・クロックコントローラ240は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。ここで、例えば受信ブロック215への電源電圧及びクロックの供給を停止したまま、送信ブロック216への電源電圧及びクロックの供給を開始し、かつマイクロプロセッサ210の全体の動作周波数を中程度にまで上げることができる。続いて、タイマ211の時刻信号により表された時刻がT050になると、この時刻と、タイムテーブル231の中の比較時刻T050とが一致する。これにより、番号3を表すインデックス信号がパワーテーブル220へ再び供給されることとなり、T020からT040までの時間範囲と同じ状態に戻る。続いて、タイマ211の時刻信号により表された時刻がT100になると、この時刻と、タイムテーブル231の中の比較時刻T100とが一致する。これにより、番号2を表すインデックス信号がパワーテーブル220へ供給される。これを受けて、パワーテーブル220はインデックス番号2で指定された電力制御情報を電圧・クロックコントローラ240へ供給し、電圧・クロックコントローラ240は当該電力制御情報に応じた電圧制御とクロック制御とを実行する。ここで、例えば送信ブロック216への電源電圧及びクロックの供給を停止したまま、受信ブロック215への電源電圧及びクロックの供給を開始し、かつマイクロプロセッサ210の全体の動作周波数を最大限に上げることができる。
【0029】
以上のとおり、図11の電力制御装置によれば、パワーテーブル220とタイムテーブル231とをユーザが適宜書き換えることで、時間の流れに沿った当該マイクロプロセッサ210の低消費電力動作をユーザがきめ細かく定義できる。しかも、これら電力制御のための特別な命令の実行は不要であるので、電力制御によりアプリケーションプログラム本体の処理効率が低下することはなく、命令メモリ容量の増加を招くこともない。更に、図11の電力制御装置によれば、アプリケーションプログラムの開発と電力制御設計とを独立に行い得る。したがって、プログラム開発の効率向上、保守性向上を図ることができる。また、既存のアプリケーションプログラムを修正することなく、詳細な電力制御を実現することができる。なお、タイマ211を周期的にリセットするように構成すれば、タイムテーブル231のレジスタ数を削減できる。
【0030】
図14は、図11中の条件判定器230の変形例を示している。図14の条件判定器230は、各々比較開始時刻と、当該比較開始時刻に対応付けられた比較終了時刻と、当該比較開始時刻及び比較終了時刻に対応付けられたインデックス番号とを書き換え可能に記憶するための複数のレジスタを持つタイムテーブル231を備え、タイマ211の時刻信号が示す時刻が複数の比較開始時刻と複数の比較終了時刻とで定義される複数の時間範囲のいずれに属するかを判定し、この範囲判定された比較開始時刻及び比較終了時刻に対応付けられたインデックス番号を表す信号をパワーテーブル220へインデックス信号として供給するようになっている。そのために、図14の条件判定器230は、タイムテーブル231に加えて、第1の比較器232aと、第2の比較器232bと、ANDゲート235と、ラッチ233とを備えている。なお、図12中の比較器232における一致判定を時刻信号の上位ビットに限定すれば、図14の場合より大まかな範囲判定を実現できる。
【0031】
なお、上記各実施形態において種々の変更が可能である。例えば図1の構成において、用途に応じてパワーテーブル20とアドレステーブル31とを一体化した1つの装置として実装してもよい。図2中の電力制御レジスタ21は5フィールドからなるが、必ずしもこれに限る必要はない。例えば、用途によっては各電力制御レジスタ21に電源電圧Vccのフィールドのみを実装した構成も可能である。
【0032】
上記各テーブルは、フリップフロップやラッチ構成に限らず、RAMやEEPROM構成、FPGA等のプログラマブルロジック構成等が可能である。各テーブルを命令実行により書き換えできるようにしてもよい。複数のパワーテーブルを備えた構成も可能である。
【0033】
上記各パワーテーブルへ供給すべきインデックス信号を命令実行により更新できるようにしてもよい。例えば、サブルーチンコール命令等の分岐命令のオペランド部でパワーテーブルのインデックス番号を指定する。
【0034】
条件判定器の入力として、命令コードや、当該マイクロプロセッサが扱うデータを採用してもよい。特定メモリ空間(例えばフラッシュメモリの空間)にデータが読み書きされることを条件判定器で検出して電源電圧制御を行うことも可能である。
【0035】
上記各実施形態の組み合わせによる電力制御も可能である。例えば、アドレス比較により特定のサブルーチン処理時の電源電圧を低くし、かつ外部イベントの発生時にクロック周波数を上げることも可能である。
【0036】
【発明の効果】
以上説明してきたとおり、本発明によれば、実行アドレスに応じてプロセッサ内部の消費電力を制御することとし、特に複数の部分からなるプログラムを実行するプロセッサでは、実行しているプログラムの部分に応じてプロセッサ内部の消費電力を制御することとしたので、当該プロセッサの低消費電力動作をユーザがきめ細かく定義でき、以てプログラミングの負担が軽減される。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るマイクロプロセッサの電力制御装置のブロック図である。
【図2】図1中のパワーテーブルの詳細構成例を示すブロック図である。
【図3】図1中の電圧コントローラの詳細構成例を示すブロック図である。
【図4】図1中のクロックコントローラの詳細構成例を示すブロック図である。
【図5】図1の電力制御装置の動作例を示す概念図である。
【図6】図1中の条件判定器の変形例を示すブロック図である。
【図7】図1中の条件判定器の他の変形例を示すブロック図である。
【図8】本発明の第2の実施形態に係る電力制御装置を備えたマイクロプロセッサのブロック図である。
【図9】図8中の条件判定器の詳細構成例を示すブロック図である。
【図10】図8の電力制御装置の動作例を示す概念図である。
【図11】本発明の第3の実施形態に係る電力制御装置を備えたマイクロプロセッサのブロック図である。
【図12】図11中の条件判定器の詳細構成例を示すブロック図である。
【図13】図11の電力制御装置の動作例を示す概念図である。
【図14】図11中の条件判定器の変形例を示すブロック図である。
【符号の説明】
10 マイクロプロセッサ
11 プログラムカウンタ
20 パワーテーブル
21 電力制御レジスタ
30 条件判定器
31 アドレステーブル
32,32a,32b 比較器
40 電圧・クロックコントローラ
110 マイクロプロセッサ
111 イベント信号発生器
120 パワーテーブル
130 条件判定器
131 イベントテーブル
132 比較器
140 電圧・クロックコントローラ
210 マイクロプロセッサ
211 タイマ
220 パワーテーブル
230 条件判定器
231 タイムテーブル
232,232a,232b 比較器
240 電圧・クロックコントローラ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a power control method for controlling power consumed in a processor.
[0002]
[Prior art]
Computers, microprocessors, microcontrollers, digital signal processors (DSPs) and the like are known. Here, these stored program type devices are collectively referred to as “processors”.
[0003]
Some conventional processors include a power control device. For example, in a power control method for a certain processor, power consumption is reduced by lowering the frequency of the internal clock of the processor to a specific frequency in the standby mode.
[0004]
[Problems to be solved by the invention]
In the above conventional processor power control method, the user of the processor cannot determine the reduced clock frequency. In addition, since the processor executes a special instruction to enter the standby mode, there is a problem that the program becomes large.
[0005]
An object of the present invention is to allow a user to finely define the low power consumption operation of a processor, thereby reducing the programming burden.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides:Had power control registerIn a power control method for controlling power consumed inside a processor,By referring to the information in which the comparison address and the index number are paired,Depending on execution addressThe power control information is stored in advance in the power control register, the power control information is selected according to the index number, and the selected power control information is determined according to the selected power control information. Control power consumed inside the processorThat's what it meant. Run a multi-part programHad a power control registerIn the processor, depending on the part of the program that is runningThe power control information is stored in advance in the power control register, the power control information is selected according to the index number, and the selected power control information is determined according to the selected power control information. Controls the power consumed inside the processor.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, application examples of the present invention to a microprocessor will be specifically described with reference to the drawings.
[0008]
(First embodiment)
FIG. 1 shows a power control apparatus for a microprocessor according to a first embodiment of the present invention. The
[0009]
The power table 20 includes a plurality of power control registers 21 for storing power control information in a rewritable manner. Each of the power control information includes block information for designating one or more circuit blocks to be subjected to power control among the plurality of
[0010]
The voltage /
[0011]
The condition determiner 30 includes an address table 31, a
[0012]
FIG. 2 shows a detailed configuration example of the power table 20 in FIG. Each power control register 21 has a target block designation field, first and second voltage designation fields, and first and second clock designation fields. The target block designation field has a plurality of bits corresponding to each of the plurality of
[0013]
FIG. 3 shows a detailed configuration example of the
[0014]
FIG. 4 shows a detailed configuration example of the
[0015]
FIG. 5 conceptually shows an operation example of the power control apparatus of FIG. In FIG. 5, the power table 20 includes four power control registers identified by
[0016]
According to FIG. 5, the following power control is realized according to the program flow of the
[0017]
As described above, according to the power control apparatus of FIG. 1, the user can finely define the low power consumption operation of the
[0018]
FIG. 6 shows a modification of the condition determiner 30 in FIG. According to FIG. 6, an incrementer 12 and a selector 13 are arranged for updating the
[0019]
FIG. 7 shows another modification of the condition determiner 30 in FIG. The condition determiner 30 of FIG. 7 is suitable for power control in, for example, a subroutine unit, and each includes a comparison start address, a comparison end address associated with the comparison start address, the comparison start address, and a comparison An address table 31 having a plurality of registers for rewritably storing an index number associated with an end address is provided, and an address indicated by the
[0020]
(Second Embodiment)
FIG. 8 shows a microprocessor including a power control apparatus according to the second embodiment of the present invention. The microprocessor 110 in FIG. 8 has a function of executing reception of a bursty large amount of data from the
[0021]
FIG. 9 shows a detailed configuration example of the
[0022]
FIG. 10 conceptually shows an operation example of the power control apparatus of FIG. In FIG. 10, the power table 120 includes four power control registers identified by
[0023]
According to FIG. 10, the following power control is realized according to the type of event that has occurred in the microprocessor 110. First, when the transmission start / completion flag becomes active at the start of data transmission from the
[0024]
As described above, according to the power control apparatus of FIG. 8, the user can rewrite the power table 120 and the event table 131 as appropriate so that the low power consumption operation of the microprocessor 110 according to the event generated asynchronously with the application program can be performed. User can define in detail. In addition, since execution of these special instructions for power control is unnecessary, the power control does not reduce the processing efficiency of the application program main body and does not increase the instruction memory capacity. Furthermore, according to the power control apparatus of FIG. 8, application program development and power control design can be performed independently. Therefore, it is possible to improve the efficiency of program development and improve maintainability. Further, detailed power control can be realized without modifying an existing application program.
[0025]
(Third embodiment)
FIG. 11 shows a microprocessor including a power control apparatus according to the third embodiment of the present invention. The microprocessor 210 in FIG. 11 has a function of executing data transmission / reception with the
[0026]
FIG. 12 shows a detailed configuration example of the
[0027]
FIG. 13 conceptually shows an operation example of the power control apparatus of FIG. In FIG. 13, the power table 220 includes four power control registers identified by
[0028]
According to FIG. 13, the following power control is realized according to the flow of time. First, when the time represented by the time signal of the
[0029]
As described above, according to the power control apparatus of FIG. 11, the user finely defines the low power consumption operation of the microprocessor 210 in accordance with the flow of time by appropriately rewriting the power table 220 and the time table 231. it can. In addition, since execution of these special instructions for power control is unnecessary, the power control does not reduce the processing efficiency of the application program main body and does not increase the instruction memory capacity. Furthermore, according to the power control apparatus of FIG. 11, application program development and power control design can be performed independently. Therefore, it is possible to improve the efficiency of program development and improve maintainability. Further, detailed power control can be realized without modifying an existing application program. Note that if the
[0030]
FIG. 14 shows a modification of the
[0031]
Various modifications can be made in the above embodiments. For example, in the configuration of FIG. 1, the power table 20 and the address table 31 may be integrated as one device depending on the application. The power control register 21 in FIG. 2 includes five fields, but is not necessarily limited thereto. For example, depending on the application, a configuration in which only the field of the power supply voltage Vcc is mounted in each power control register 21 is possible.
[0032]
Each of the tables is not limited to a flip-flop or a latch configuration, but can be a RAM, an EEPROM configuration, a programmable logic configuration such as an FPGA, or the like. Each table may be rewritten by instruction execution. A configuration with a plurality of power tables is also possible.
[0033]
The index signal to be supplied to each power table may be updated by executing an instruction. For example, the index number of the power table is specified in the operand part of a branch instruction such as a subroutine call instruction.
[0034]
An instruction code or data handled by the microprocessor may be employed as an input to the condition determiner. It is also possible to perform power supply voltage control by detecting with a condition determiner that data is read and written in a specific memory space (for example, a space of a flash memory).
[0035]
Power control by combination of the above embodiments is also possible. For example, it is possible to lower the power supply voltage during specific subroutine processing by address comparison and to increase the clock frequency when an external event occurs.
[0036]
【The invention's effect】
As described above, according to the present invention, the power consumption in the processor is controlled according to the execution address, and particularly in a processor that executes a program composed of a plurality of parts, the power consumption depends on the part of the program being executed. Thus, the power consumption in the processor is controlled, so that the user can finely define the low power consumption operation of the processor, thereby reducing the programming burden.
[Brief description of the drawings]
FIG. 1 is a block diagram of a power control apparatus for a microprocessor according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating a detailed configuration example of a power table in FIG. 1;
FIG. 3 is a block diagram illustrating a detailed configuration example of a voltage controller in FIG. 1;
4 is a block diagram illustrating a detailed configuration example of a clock controller in FIG. 1. FIG.
FIG. 5 is a conceptual diagram showing an operation example of the power control apparatus of FIG. 1;
6 is a block diagram showing a modification of the condition determiner in FIG. 1. FIG.
7 is a block diagram showing another modification of the condition determiner in FIG. 1. FIG.
FIG. 8 is a block diagram of a microprocessor including a power control device according to a second embodiment of the present invention.
9 is a block diagram illustrating a detailed configuration example of a condition determiner in FIG. 8. FIG.
10 is a conceptual diagram illustrating an operation example of the power control apparatus of FIG. 8;
FIG. 11 is a block diagram of a microprocessor including a power control device according to a third embodiment of the present invention.
12 is a block diagram illustrating a detailed configuration example of a condition determiner in FIG. 11. FIG.
13 is a conceptual diagram showing an operation example of the power control apparatus of FIG.
14 is a block diagram showing a modification of the condition determiner in FIG. 11. FIG.
[Explanation of symbols]
10 Microprocessor
11 Program counter
20 Power table
21 Power control register
30 Condition judging device
31 Address table
32, 32a, 32b comparator
40 Voltage / clock controller
110 Microprocessor
111 Event signal generator
120 power table
130 Condition determiner
131 Event table
132 Comparator
140 Voltage / Clock Controller
210 Microprocessor
211 timer
220 power table
230 Condition determiner
231 Timetable
232, 232a, 232b comparator
240 Voltage / Clock Controller
Claims (7)
比較アドレスとインデックス番号とが一対となった情報を参照することにより、実行アドレスに応じたインデックス番号を決定する条件判定を行い、
前記電力制御レジスタにはあらかじめ電力制御情報が格納されており、前記電力制御情報は、前記インデックス番号に応じて選択され、
選択される前記電力制御情報に従って、前記プロセッサの内部で消費される電力を制御することを特徴とする電力制御方法。A power control method for controlling power consumed inside a processor having a power control register ,
By referring to the information in which the comparison address and the index number are paired, the condition determination for determining the index number according to the execution address is performed,
Power control information is stored in advance in the power control register, the power control information is selected according to the index number,
A power control method for controlling power consumed in the processor according to the selected power control information .
比較アドレスの範囲とインデックス番号とが一対となった情報を参照することにより、実行しているプログラムの部分に応じたインデックス番号を決定する条件判定を行い、
前記電力制御レジスタにはあらかじめ電力制御情報が格納されており、前記電力制御情報は、前記インデックス番号に応じて選択され、
選択される前記電力制御情報に従って、前記プロセッサの内部で消費される電力を制御することを特徴とする電力制御方法。A power control method for controlling power consumed inside a processor having a power control register, which executes a program consisting of a plurality of parts,
By referring to the information in which the range of the comparison address and the index number are paired, the condition determination for determining the index number according to the part of the program being executed is performed,
Power control information is stored in advance in the power control register, the power control information is selected according to the index number,
A power control method for controlling power consumed in the processor according to the selected power control information .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003059641A JP4370109B2 (en) | 2003-03-06 | 2003-03-06 | Processor power control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003059641A JP4370109B2 (en) | 2003-03-06 | 2003-03-06 | Processor power control method |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000378752A Division JP3877518B2 (en) | 2000-12-13 | 2000-12-13 | Processor power control device |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009146814A Division JP4480787B2 (en) | 2009-06-19 | 2009-06-19 | Processor power control apparatus and power control method |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2003271267A JP2003271267A (en) | 2003-09-26 |
| JP2003271267A5 JP2003271267A5 (en) | 2006-12-28 |
| JP4370109B2 true JP4370109B2 (en) | 2009-11-25 |
Family
ID=29208500
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003059641A Expired - Fee Related JP4370109B2 (en) | 2003-03-06 | 2003-03-06 | Processor power control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4370109B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006059379A1 (en) * | 2004-12-01 | 2006-06-08 | Fujitsu Limited | Semiconductor device employing dynamic circuit |
| KR101254009B1 (en) | 2006-02-03 | 2013-04-12 | 삼성전자주식회사 | Method of dynamic voltage scaling of the CPU using workload estimator and computer readable medium storing the method |
| JP4994254B2 (en) * | 2007-03-08 | 2012-08-08 | ルネサスエレクトロニクス株式会社 | Data processor and control system |
| US7822899B2 (en) | 2007-03-08 | 2010-10-26 | Renesas Electronics Corporation | Data processor and control system |
| JP4649490B2 (en) * | 2008-03-28 | 2011-03-09 | 技嘉科技股▲ふん▼有限公司 | Power management method and system for main board |
| JP5228600B2 (en) | 2008-04-23 | 2013-07-03 | 日本電気株式会社 | Information communication device, low power consumption circuit, and power consumption reduction method used therefor |
-
2003
- 2003-03-06 JP JP2003059641A patent/JP4370109B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003271267A (en) | 2003-09-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3877518B2 (en) | Processor power control device | |
| US10969849B2 (en) | Method and apparatus for implementing power modes in microcontrollers using power profiles | |
| US6795781B2 (en) | Method and apparatus for compiler assisted power management | |
| US6202104B1 (en) | Processor having a clock driven CPU with static design | |
| JP4515093B2 (en) | CPU power-down method and apparatus therefor | |
| JP2000047872A (en) | Microprocessor with low power consumption operation function | |
| US9329666B2 (en) | Power throttling queue | |
| KR100260012B1 (en) | Programmable controller | |
| AU752641B2 (en) | Controller for a digital processor | |
| JP4370109B2 (en) | Processor power control method | |
| US6381705B1 (en) | Method and device for reducing current consumption of a microcontroller | |
| JPH07281782A (en) | Clock control circuit | |
| JPH10301659A (en) | Microprocessor | |
| JP4480787B2 (en) | Processor power control apparatus and power control method | |
| JP4800582B2 (en) | Arithmetic processing unit | |
| JP2002508562A (en) | Execution of jitter-free instructions | |
| CN100538623C (en) | A kind of 8 8-digit microcontrollers | |
| CN116339971A (en) | Dynamic asymmetric resources | |
| KR20040101344A (en) | Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile | |
| JPH0573349A (en) | Stand-by control circuit | |
| WO2019104479A1 (en) | Method for determining loading program and electronic system | |
| KR100434136B1 (en) | Plc system including a flash memory a cpu | |
| JPS6258018B2 (en) | ||
| US20080222399A1 (en) | Method for the handling of mode-setting instructions in a multithreaded computing environment | |
| KR20050023261A (en) | Method for the controlled shutdown of data processing units |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061110 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061110 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090415 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090619 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090804 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090831 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4370109 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |