Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4370109B2 - Processor power control method - Google Patents
[go: Go Back, main page]

JP4370109B2 - Processor power control method - Google Patents

Processor power control method Download PDF

Info

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
Application number
JP2003059641A
Other languages
Japanese (ja)
Other versions
JP2003271267A5 (en
JP2003271267A (en
Inventor
丈暢 谷
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003059641A priority Critical patent/JP4370109B2/en
Publication of JP2003271267A publication Critical patent/JP2003271267A/en
Publication of JP2003271267A5 publication Critical patent/JP2003271267A5/ja
Application granted granted Critical
Publication of JP4370109B2 publication Critical patent/JP4370109B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 microprocessor 10 includes a power control device including a power table 20, a condition determination unit 30, and a voltage / clock controller 40 in addition to the program counter 11 and the plurality of circuit blocks 15.
[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 circuit blocks 15, information on the voltage of the control target block (voltage information), and a control target Information on the clock to be supplied to the block (clock information). In addition, any one of the plurality of power control registers 21 is selected by an index signal supplied from the condition determination unit 30.
[0010]
The voltage / clock controller 40 is a controller for controlling the power consumption of the control target circuit block according to the power control information in the power control register 21 selected by the index signal, and receives the block information and the voltage information. 41 and a clock controller 45 that receives block information and clock information.
[0011]
The condition determiner 30 includes an address table 31, a comparator 32, and a latch 33. The address table 31 includes a plurality of registers for storing each comparison address and the index number associated with the comparison address in a rewritable manner. The comparator 32 determines which of the plurality of comparison addresses in the address table 31 matches the address indicated by the program counter 11. The latch 33 holds an index number associated with the comparison address determined to match, and supplies a signal representing the index number to the power table 20 as the index signal.
[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 circuit blocks 15. For example, a bit value “1” indicates that the corresponding circuit block should be a target of power control. Information on the target block designation field is supplied to the voltage controller 41 and the clock controller 45 as block information (INFO_BLK). The first voltage designation field is a field for storing first voltage information (INFO_Vcc) indicating the magnitude of the power supply voltage Vcc to be supplied to the control target circuit block. The second voltage designation field is a field for storing second voltage information (INFO_Vt) for controlling the threshold voltage Vt of the transistors constituting the control target circuit block. The first clock designation field is a field for storing first clock information (INFO_FREQ) indicating the frequency of the clock to be supplied to the control target circuit block. The second clock designation field is a field for storing second clock information (INFO_TERM) indicating whether or not to stop the clock supply to the control target circuit block. The voltage information is supplied to the voltage controller 41, and the clock information is supplied to the clock controller 45.
[0013]
FIG. 3 shows a detailed configuration example of the voltage controller 41 in FIG. The voltage controller 41 in FIG. 3 includes a DC-DC converter 42, a zero determination unit 43, and a logical circuit 44 for each block. The DC-DC converter 42 converts the basic voltage into a voltage having a magnitude specified by the first voltage information (INFO_Vcc), and outputs the voltage obtained by this conversion as the power supply voltage Vcc. The zero determination unit 43 checks whether or not the first voltage information (INFO_Vcc) designates zero. The logic circuit 44 is composed of two AND gates, and includes a power-off signal based on block information (INFO_BLK) and the output of the zero determiner 43, block information (INFO_BLK), and second voltage information (INFO_Vt). And a Vt selection signal based on. The power cutoff signal is used to control the power supply voltage Vcc supply switch in the control target circuit block. The Vt selection signal is used, for example, for selection control of the back gate voltage of the MOS transistor so as to control the threshold voltage Vt of the transistors constituting the control target circuit block. The power consumption of each circuit block is proportional to the square of the power supply voltage Vcc. Therefore, the reduction of the power supply voltage Vcc greatly contributes to the reduction of power consumption of each circuit block. Further, the control of the transistor threshold voltage Vt can realize a high-speed operation mode of the transistor and a non-operation mode in which leakage current is reduced.
[0014]
FIG. 4 shows a detailed configuration example of the clock controller 45 in FIG. 4 includes a PLL 46, a frequency divider 47, and a logic circuit 48 for each block. The PLL 46 generates an internal clock for normal operation having a certain frequency from the basic clock. The frequency divider 47 divides the internal clock by a frequency dividing ratio corresponding to the clock frequency specified by the first clock information (INFO_FREQ). The logic circuit 48 includes one multiplexer and one AND gate. Block information (INFO_BLK) indicates either the internal clock supplied from the PLL 46 or the divided clock supplied from the frequency divider 47. And the supply / stop of the selected clock is controlled according to the second clock information (INFO_TERM). The power consumption of each circuit block is proportional to the clock frequency. Therefore, the reduction in clock frequency greatly contributes to the reduction in power consumption of circuit blocks that do not require high-speed operation.
[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 index numbers 0, 1, 2, and 3, respectively. The address table 31 includes a set of comparison address 1000 and index number 3, a set of comparison address 1400 and index number 2, a set of comparison address 4B00 and index number 0, a comparison address 7010 and index number 3. Assume that a set, a set of comparison address C6FF and index number 1, a set of comparison address D200 and index number 2, and a set of comparison address D770 and index number 1 are stored.
[0016]
According to FIG. 5, the following power control is realized according to the program flow of the microprocessor 10. First, execution of the program starts from address 0000. Thereafter, when the instruction at the address 1000 is executed, the address indicated by the program counter 11 matches the first comparison address in the address table 31. As a result, the index signal representing the number 3 is supplied to the power table 20. In response, the power table 20 supplies the power control information specified by the index number 3 to the voltage / clock controller 40, and the voltage / clock controller 40 executes voltage control and clock control according to the power control information. To do. Subsequently, when the execution of the program reaches the address 1400, the address indicated by the program counter 11 matches the second comparison address in the address table 31, and an index signal representing the number 2 is supplied to the power table 20. The In response to this, the power table 20 supplies the power control information specified by the index number 2 to the voltage / clock controller 40, and the voltage / clock controller 40 executes voltage control and clock control according to the power control information. To do. When a subroutine call instruction is executed to branch to the address C6FF, the address indicated by the program counter 11 matches the fifth comparison address in the address table 31, and the index signal indicating the number 1 is the power table. 20 is supplied. In response, the power table 20 supplies the power control information specified by the index number 1 to the voltage / clock controller 40, and the voltage / clock controller 40 executes voltage control and clock control according to the power control information. To do.
[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 microprocessor 10 by appropriately rewriting the power table 20 and the address table 31. For example, power control in units of subroutines and frequent power control in units of one instruction are possible. Also, power control during execution of an instruction in a specific address section and power control during execution of only a part of instructions in a multiple loop are possible. 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. 1, 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.
[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 program counter 11. The incrementer 12 receives the output address signal from the program counter 11 and increments the address. The selector 13 normally supplies the output address of the incrementer 12 to the program counter 11, but is configured to supply a branch address to the program counter 11 when a load signal is given. 6 includes an address discontinuity detector 34 for receiving a load signal and generating an enable signal in addition to an address table 31, a comparator 32, and a latch 33. The comparator 32 is controlled by this enable signal so as to execute the address match determination only when the address discontinuity indicated by the program counter 11 is detected. As a result, the power consumption inside the condition determiner 30 is reduced compared to the case of FIG.
[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 program counter 11 is defined by a plurality of comparison start addresses and a plurality of comparison end addresses It is determined which one of the plurality of address ranges belongs, and a signal indicating an index number associated with the comparison start address and comparison end address determined in this range is supplied to the power table 20 as an index signal. ing. For this purpose, the condition determiner 30 of FIG. 7 includes a first comparator 32 a, a second comparator 32 b, an AND gate 35, and a latch 33 in addition to the address table 31. Note that if the coincidence determination in the comparator 32 in FIG. 1 is limited to the upper address bits, a rougher range determination can be realized than in the case of FIG.
[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 external block 150 as an interrupt process based on a transmission start / end flag given from the external block 150. An event signal generator 111 for generating an event signal indicating an interrupt type (event type) according to a start / end flag or the like, a reception processing block 115 for receiving data, and a memory block for storing received data 116 and other functional blocks 117. Further, the microprocessor 110 in FIG. 8 includes a power table 120 similar to the power table 20 in FIG. 1, a condition determiner 130 for supplying an index signal to the power table 120 in response to an event signal, 1 and a voltage / clock controller 140 similar to the voltage / clock controller 40 in FIG. 1, and these constitute a power control device for controlling the power consumption of each circuit block 115, 116, 117.
[0021]
FIG. 9 shows a detailed configuration example of the condition determiner 130 in FIG. The condition determiner 130 of FIG. 9 includes an event table 131, a comparator 132, and a latch 133. The event table 131 includes a plurality of registers for storing each comparison event type and an index number associated with the comparison event type in a rewritable manner. The comparator 132 determines which of the plurality of comparison event types in the event table 131 matches the event type represented by the event signal generated by the event signal generator 111. The latch 133 holds an index number associated with the comparison event type determined to match, and supplies a signal representing this index number to the power table 120 as the index signal.
[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 index numbers 0, 1, 2, and 3, respectively. The event table 131 includes a set of comparison event type 1 and index number 3, a set of comparison event type 2 and index number 2, a set of comparison event type 3 and index number 0, a comparison event type 4 and an index. A set of number 3, a set of comparison event type 5 and index number 1, a set of comparison event type 6 and index number 2, and a set of comparison event type 7 and index number 1 are stored. . The external block 150 activates a transmission start / completion flag when starting data transmission to the microprocessor 110, and makes the flag negative when transmission is completed. In response to this, the event signal generator 111 generates a signal indicating the event type 4 when the transmission start / end flag becomes active, and generates a signal indicating the event type 5 when the flag becomes negative. It shall be.
[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 external block 150 to the microprocessor 110, the event signal generator 111 generates a signal indicating the event type 4. The fourth comparison event type in the event table 131 matches. As a result, the index signal representing the number 3 is supplied to the power table 120. In response to this, the power table 120 supplies the power control information specified by the index number 3 to the voltage / clock controller 140, and the voltage / clock controller 140 executes voltage control and clock control according to the power control information. To do. Here, for example, the power supply voltage Vcc supplied to the reception processing block 115 can be increased, and the frequency of the clock supplied to the block 115 can be increased. Subsequently, when the transmission start / completion flag becomes negative when the data transmission from the external block 150 to the microprocessor 110 is completed, the event signal generator 111 generates a signal indicating the event type 5, so that the generated event type The fifth comparison event type in the event table 131 matches. As a result, the index signal representing the number 1 is supplied to the power table 120. In response to this, the power table 120 supplies the power control information specified by the index number 1 to the voltage / clock controller 140, and the voltage / clock controller 140 executes voltage control and clock control according to the power control information. To do. Here, for example, the power supply voltage to the reception processing block 115 can be cut off and the supply of the clock to the block 115 can be stopped. As a result, the reception processing block 115 can be operated at a high speed only for a necessary period.
[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 external block 250 in a predetermined time zone, and includes a timer 211 for generating a time signal indicating time, and data reception Reception block 215 for data transmission, transmission block 216 for data transmission, and other functional blocks 217. Furthermore, the microprocessor 210 in FIG. 11 includes a power table 220 similar to the power table 20 in FIG. 1, a condition determiner 230 for supplying an index signal to the power table 220 in response to a time signal, 1 and a voltage / clock controller 240 similar to the voltage / clock controller 40 in FIG. 1, and these constitute a power control device for controlling the power consumption of each circuit block 215, 216, 217.
[0026]
FIG. 12 shows a detailed configuration example of the condition determiner 230 in FIG. The condition determiner 230 in FIG. 12 includes a time table 231, a comparator 232, and a latch 233. The time table 231 includes a plurality of registers for storing each comparison time and an index number associated with the comparison time in a rewritable manner. The comparator 232 determines which of the plurality of comparison times in the event table 231 matches the time represented by the time signal generated by the timer 211. The latch 233 holds an index number associated with the comparison time determined to match, and supplies a signal representing the index number to the power table 220 as the index signal.
[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 index numbers 0, 1, 2, and 3, respectively. The time table 231 stores many sets of comparison times and index numbers. T000, T020, T040, T050, T100, T120, T140, and T150 in FIG. 13 each represent time. Here, it is assumed that the microprocessor 210 performs a transmission operation in the time range from T040 to T050, and a reception operation in the time range from T100 to T120.
[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 timer 211 reaches T020, this time coincides with the comparison time T020 in the time table 231. As a result, the index signal representing the number 3 is supplied to the power table 220. In response, the power table 220 supplies the power control information specified by the index number 3 to the voltage / clock controller 240, and the voltage / clock controller 240 executes voltage control and clock control according to the power control information. To do. Here, for example, by stopping the supply of the power supply voltage and the clock to the reception block 215 and the transmission block 216 and lowering the overall operating frequency of the microprocessor 210, the power consumption of the entire processor can be reduced. Subsequently, when the time represented by the time signal of the timer 211 reaches T040, this time coincides with the comparison time T040 in the time table 231. As a result, the index signal representing the number 1 is supplied to the power table 220. In response, the power table 220 supplies the power control information specified by the index number 3 to the voltage / clock controller 240, and the voltage / clock controller 240 executes voltage control and clock control according to the power control information. To do. Here, for example, supply of power supply voltage and clock to the transmission block 216 is started while supply of power supply voltage and clock to the reception block 215 is stopped, and the overall operating frequency of the microprocessor 210 is increased to a medium level. be able to. Subsequently, when the time represented by the time signal of the timer 211 reaches T050, this time coincides with the comparison time T050 in the time table 231. As a result, the index signal representing the number 3 is supplied again to the power table 220 and returns to the same state as the time range from T020 to T040. Subsequently, when the time represented by the time signal of the timer 211 reaches T100, this time coincides with the comparison time T100 in the time table 231. As a result, the index signal representing the number 2 is supplied to the power table 220. In response, the power table 220 supplies the power control information specified by the index number 2 to the voltage / clock controller 240, and the voltage / clock controller 240 executes voltage control and clock control according to the power control information. To do. Here, for example, the supply of the power supply voltage and the clock to the reception block 215 is started while the supply of the power supply voltage and the clock to the transmission block 216 is stopped, and the entire operating frequency of the microprocessor 210 is maximized. Can do.
[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 timer 211 is configured to be periodically reset, the number of registers in the time table 231 can be reduced.
[0030]
FIG. 14 shows a modification of the condition determiner 230 in FIG. The condition determiner 230 in FIG. 14 stores the comparison start time, the comparison end time associated with the comparison start time, and the index numbers associated with the comparison start time and the comparison end time in a rewritable manner. A time table 231 having a plurality of registers to determine whether the time indicated by the time signal of the timer 211 belongs to a plurality of time ranges defined by a plurality of comparison start times and a plurality of comparison end times In addition, a signal representing an index number associated with the comparison start time and comparison end time determined as the range is supplied to the power table 220 as an index signal. For this purpose, the condition determiner 230 in FIG. 14 includes a first comparator 232 a, a second comparator 232 b, an AND gate 235, and a latch 233 in addition to the time table 231. Note that if the coincidence determination in the comparator 232 in FIG. 12 is limited to the upper bits of the time signal, a rougher range determination than in the case of FIG. 14 can be realized.
[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 .
前記実行しているプログラムの部分は、実行アドレスに応じて判別することを特徴とする請求項2記載の電力制御方法。  3. The power control method according to claim 2, wherein the portion of the program being executed is determined according to an execution address. 前記比較アドレスと前記インデックス番号とが一対となった前記情報は、書き換え可能なレジスタに格納されている情報であることを特徴とする請求項1〜3のいずれか1項に記載の電力制御方法。The power control method according to any one of claims 1 to 3, wherein the information in which the comparison address and the index number are paired is information stored in a rewritable register. . 前記電力制御情報は、電力制御の対象とすべき1以上の回路ブロックを指定するためのブロック情報と、制御対象回路ブロックへ供給すべきクロックの周波数を表すクロック情報とを含むことを特徴とする請求項4記載の電力制御方法。  The power control information includes block information for designating one or more circuit blocks to be subjected to power control, and clock information indicating a frequency of a clock to be supplied to the control target circuit block. The power control method according to claim 4. 前記電力制御情報は、電力制御の対象とすべき1以上の回路ブロックを指定するためのブロック情報と、制御対象回路ブロックへ供給すべき電源電圧の大きさを表す電圧情報とを含むことを特徴とする請求項4記載の電力制御方法。  The power control information includes block information for designating one or more circuit blocks to be subjected to power control, and voltage information representing the magnitude of a power supply voltage to be supplied to the control target circuit block. The power control method according to claim 4. 前記電力制御情報は、電力制御の対象とすべき1以上の回路ブロックを指定するためのブロック情報と、制御対象回路ブロックへ供給すべきクロックの周波数を表すクロック情報と、制御対象回路ブロックへ供給すべき電源電圧の大きさを表す電圧情報とを含むことを特徴とする請求項4記載の電力制御方法。The power control information includes block information for designating one or more circuit blocks to be subjected to power control, clock information indicating a frequency of a clock to be supplied to the control target circuit block, and supply to the control target circuit block. The power control method according to claim 4, further comprising voltage information indicating a magnitude of the power supply voltage to be generated.
JP2003059641A 2003-03-06 2003-03-06 Processor power control method Expired - Fee Related JP4370109B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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