JP5486368B2 - マイクロコンピュータ及びマイクロコンピュータの制御方法 - Google Patents

マイクロコンピュータ及びマイクロコンピュータの制御方法 Download PDF

Info

Publication number
JP5486368B2
JP5486368B2 JP2010068069A JP2010068069A JP5486368B2 JP 5486368 B2 JP5486368 B2 JP 5486368B2 JP 2010068069 A JP2010068069 A JP 2010068069A JP 2010068069 A JP2010068069 A JP 2010068069A JP 5486368 B2 JP5486368 B2 JP 5486368B2
Authority
JP
Japan
Prior art keywords
mode
cpu
clock
control circuit
interrupt
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.)
Active
Application number
JP2010068069A
Other languages
English (en)
Other versions
JP2011203804A (ja
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010068069A priority Critical patent/JP5486368B2/ja
Priority to US13/064,355 priority patent/US8677164B2/en
Publication of JP2011203804A publication Critical patent/JP2011203804A/ja
Application granted granted Critical
Publication of JP5486368B2 publication Critical patent/JP5486368B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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/3243Power saving in microcontroller unit
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)

Description

本発明は、マイクロコンピュータ及びマイクロコンピュータの制御方法に関し、特に、動作モードの遷移を行うマイクロコンピュータ及びマイクロコンピュータの制御方法に関する。
マイクロコンピュータは、一般的に、複数の動作モードを有している。動作モードとしては、例えば、通常の処理を実行するためのRUNモードや、RUNモードに比べて消費電流がより低いスタンバイモード等がある。RUNモードには、CPU(Central Processing Unit)に対する複数の異なる動作クロックに応じた動作モードがある。例えば、高速なクロックによりマイクロコンピュータに最大性能を発揮させるMAINRUNモードや、低速なクロックによりマイクロコンピュータに最低限の処理を実行させるSUBRUNモード等がある。また、スタンバイモードには、例えば、クロックの発生自体を停止して消費電流を最小限に抑えるSTOPモードや、CPUへのクロック供給を停止することで消費電流を抑え、RUNモードへの高速な復帰を可能とするHALTモード等がある。
例えば、マイクロコンピュータに対して所定時間、動作要求がない場合には、当該マイクロコンピュータは、CPUの命令によりRUNモードからHALTモードへ遷移する。また、通常の処理を実行可能に復帰する場合には、当該マイクロコンピュータは、割り込み等によりCPUへ電流を供給することにより、HALTモードからRUNモードへ遷移する。すなわち、マクロコンピュータは、スタンバイモードから復帰する。
特許文献1には、クロックソースの異なる複数のRUNモードの間で動作モードを遷移させるマイクロコンピュータに関する技術が開示されている。特許文献1にかかるマイクロコンピュータは、内部又は外部割り込みが発生した場合に割り込み要因に応じて複数のクロックソースの中から特定のクロックソースに切り換えてCPUへ供給する選択切換手段を有する。また、特定のクロックソースに切り換える際、つまり、動作モードを遷移させる場合に、直前の動作モードを退避しておき、割り込み処理からの復帰時に、当該退避した動作モードへ遷移させる。
ここで、特許文献1にかかるマイクロコンピュータの動作例を挙げる。まず、第1のRUNモードから割り込みにより第2のRUNモードへ遷移した場合、第1のRUNモードのクロックソースを退避する。そして、CPUは、第2のRUNモードにおけるクロックソースにより割り込みルーチンを実行する。CPUは、当該割り込みルーチンの最後に復帰命令を実行することにより、退避した第1のRUNモードのクロックソースへ戻す。これにより、第1のRUNモードでの実行を可能とするものである。
特開平1−260517号公報
マイクロコンピュータの分野においては、元々、汎用的なコンピュータに比べて、消費電流を抑える必要性が高い。そして、近年では、さらなる消費電流の抑制が要求されるようになった。そのため、上述したようなスタンバイモードへ遷移させることによる消費電流の抑制に留まらず、動作モードを遷移する処理自体における消費電流の抑制の必要性が高まっている。
しかしながら、上述した動作モードを遷移させる処理には、CPUの動作が必要である。つまり、メモリアクセスやSFR書き込みの命令実行により所望の動作モードに遷移する必要がある。そのため、動作モードの遷移に伴う消費電流の抑制が困難となる問題がある。
図12は、上述した課題の発生を説明するタイミングチャートである。図12では、スタンバイモードから他のスタンバイモードへの遷移を行う例として、HALTモードからSTOPモードへ遷移させる場合を示す。具体的には、SUBRUNモードからSUBHALTモード、そして、STOPモードへ遷移させる場合を示す。まず、SUBRUNモードにおいて、CPUからのHALT命令により、SUBHALTモードへ遷移する。そして、割り込み等によりSUBHALTモードから一旦、MAINRUNモードへ復帰する。その後、MAINRUNモードにおいてCPUからのSTOP命令によりSTOPモードへ遷移する。このとき、本来、消費電流を抑制するためにスタンバイモードから他のスタンバイモードへの遷移を行うにも関わらず、却って、動作モードの遷移のためにCPUの消費電流が必要となってしまう。
また、特許文献1では、CPUへのクロックを供給しないスタンバイモードからの復帰については、対象としていない。仮に、特許文献1にかかるマイクロコンピュータにおいて、RUNモードからスタンバイモードへ遷移し、割り込み信号によりスタンバイモードから復帰する場合、直前のRUNモードへ遷移する必要がある。つまり、スタンバイモードからの復帰時の動作モードは、一律に直前のRUNモードとなる。
本発明の第1の態様にかかるマイクロコンピュータは、少なくとも通常動作モードと、クロック供給が停止されるスタンバイモードとからなる複数のモードを有するCPU(Central Processing Unit)と、前記CPUへ供給するクロックを生成するクロック生成回路と、前記CPUのモードを監視し、当該CPUのモードと、前記CPUへの割り込み要求の種類に応じて前記CPUが遷移すべきモードを決定し、決定したモードに応じて前記クロック生成回路を制御する制御回路とを備える。
本発明の第2の態様にかかるマイクロコンピュータの制御方法は、少なくとも通常動作モードと、クロック供給が停止されるスタンバイモードとからなる複数のモードを有するCPU(Central Processing Unit)と、前記CPUへ供給するクロックを生成するクロック生成回路と、制御回路と、を備えるマイクロコンピュータの制御方法であって、前記制御回路において、前記CPUのモードを監視し、当該CPUのモードと、前記CPUへの割り込み要求の種類に応じて前記CPUが遷移すべきモードを決定し、決定したモードに応じて前記クロック生成回路を制御する。
上述した本発明の第1及び第2の態様では、例えば、CPUのモードがスタンバイモードである場合に、CPUへの割り込み要求の種類に応じて、都度、スタンバイモードから遷移すべきモードを決定するため、適切な動作モードへ遷移することが可能となる。また、CPUのモードが通常モードである場合も同様である。
本発明により、CPUのモードの遷移に伴う消費電流を抑えるマイクロコンピュータ及びマイクロコンピュータの制御方法を提供することができる。
本発明の実施の形態1にかかるマイクロコンピュータの構成を示すブロック図である。 本発明の実施の形態1にかかるクロック制御回路の処理の流れを示すフローチャートである。 本発明の実施の形態2にかかるマイクロコンピュータの構成を示すブロック図である。 本発明の実施の形態2にかかる割り込み制御回路24の構成の一例を示すブロック図である。 本発明の実施の形態2にかかる割り込み要因と動作モードの対応の例である。 本発明の実施の形態2にかかる動作モードごとのクロック制御回路の制御内容の組み合わせの例である。 本発明の実施の形態2にかかるクロック制御回路の処理の流れを示すフローチャートである。 本発明の実施の形態2にかかる動作モード遷移の例を示すタイミングチャートである。 関連技術における動作モード遷移の組み合わせを示す図である。 本発明の実施の形態2にかかる動作モード遷移の組み合わせを示す図である。 本発明の実施の形態3にかかるクロック制御回路の処理の流れを示すフローチャートである。 課題の発生を説明するためのタイミングチャートである。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかるマイクロコンピュータ100の構成を示すブロック図である。マイクロコンピュータ100は、複数の動作モードを切り替えて動作可能である。動作モードとしては、例えば、通常の処理を実行するための通常動作モードであるRUNモード、RUNモードに比べて消費電流がより低いスタンバイモードがあるものとする。また、スタンバイモードには、例えば、クロックの発生自体を停止して消費電流を最小限に抑えるSTOPモードや、CPU(Central Processing Unit)へのクロック供給を停止することで消費電流を抑え、RUNモードへの高速な復帰を可能とするHALTモードがあるものとする。すなわち、スタンバイモードにより、少なくともクロック供給が停止される。尚、マイクロコンピュータ100は、上述した動作モード以外の動作モードを有していても構わない。
マイクロコンピュータ100は、CPU11と、クロック制御回路12と、クロック発振回路13とを備える。CPU11は、マイクロコンピュータ100の他の装置(不図示)の制御やデータの計算及び加工等を行なう制御装置である。また、CPU11は、少なくともRUNモードと、スタンバイモードとを有する。CPU11は、マイクロコンピュータ100の消費電流を低減するためのスタンバイ要求161をクロック制御回路12に対して送信する。スタンバイ要求161は、スタンバイモードへの遷移を要求するものである。具体的には、スタンバイ要求161は、HALTモード又はSTOPモードへの遷移を要求するものである。また、CPU11は、クロック制御回路12から供給されるクロック信号164に応じて動作するものである。尚、本発明の実施の形態1にかかるCPU11のその他の機能は、公知なものを用いることが可能であるため、詳細な説明を省略する。
クロック発振回路13は、クロックパルスを発生させる電気回路である。つまり、クロック発振回路13は、CPU11へ供給するクロックを生成するクロック生成回路である。クロック発振回路13は、クロック制御回路12からのクロック発振制御信号162に応じて動作を行う。例えば、クロック発振回路13は、クロック発振制御信号162が動作開始の指示を示す場合に、クロックパルスの発生を開始する。また、クロック発振回路13は、クロック発振制御信号162が動作停止の指示を示す場合に、クロックパルスの発生を停止する。そして、クロック発振回路13は、発生させたクロックパルスをクロック信号163としてクロック制御回路12へ出力する。尚、本発明の実施の形態1にかかるクロック発振回路13のその他の機能は、公知なものを用いることが可能であるため、詳細な説明を省略する。
クロック制御回路12は、RUNモードにおいて、クロック発振回路13から入力されるクロック信号163をクロック信号164としてCPU11へ供給する。そして、クロック制御回路12は、CPU11からスタンバイ要求161を受け付けた場合に少なくともCPU11へのクロックの供給を停止して、マイクロコンピュータ100をスタンバイモードへ遷移させる。例えば、スタンバイ要求161がHALTモードへの遷移を要求するものである場合、クロック制御回路12は、CPU11へのクロック信号164の出力を停止する。これにより、CPU11は、動作を停止し、電流を消費しない。また、スタンバイ要求161がSTOPモードへの遷移を要求するものである場合、クロック制御回路12は、CPU11へのクロック信号164の出力を停止すると共に、動作停止の指示を示すクロック発振制御信号162をクロック発振回路13に対して出力する。これにより、クロック発振回路13がクロックパルスを発生させる処理自体を行わないために、CPU11等の消費電流を抑えることができる。
また、クロック制御回路12は、CPU11のモードを監視し、割り込み要求165が発生した場合にCPU11のモードと割り込み要求の種類である割り込み要因とに応じた動作モードを決定する。例えば、まず、マイクロコンピュータ100の内部又は外部の装置(不図示)において割り込み要求165が発生した場合、クロック制御回路12は、割り込み要求165に含まれる割り込み要因を抽出し、抽出した割り込み要因に応じて動作モードを決定する。例えば、割り込み要因毎に異なる動作モードを予め設定しておくとよい。
そして、クロック制御回路12は、決定した動作モードに基づきCPU11へのクロックの供給及びクロック発振回路13の動作を制御する。例えば、決定した動作モードがRUNモードである場合、クロック制御回路12は、クロック発振回路13から入力されるクロック信号163をクロック信号164としてCPU11へ供給する。また、決定した動作モードがHALTモードである場合、クロック制御回路12は、CPU11へのクロック信号164の出力を停止する。決定した動作モードがSTOPモードである場合、クロック制御回路12は、CPU11へのクロック信号164の出力を停止すると共に、動作停止の指示を示すクロック発振制御信号162をクロック発振回路13に対して出力する。つまり、クロック制御回路12は、CPU11のモードを監視し、CPU11のモードと、CPU11への割り込み要求165の種類に応じてCPU11が遷移すべきモードを決定し、決定したモードに応じてクロック発振回路13を制御する制御回路ということができる。
図2は、本発明の実施の形態1にかかるクロック制御回路12の処理の流れを示すフローチャートである。前提として、マイクロコンピュータ100は、RUNモードで動作しているものとする。つまり、クロック発振回路13は、クロックパルスを発生させており、CPU11は、クロック信号164により動作しているものとする。
まず、クロック制御回路12は、CPU11からスタンバイ要求161を受信する(S11)。例えば、クロック制御回路12は、スタンバイ要求161としてHALTモードへの遷移の要求を受信する。次に、クロック制御回路12は、CPU11へのクロックの供給を停止する(S12)。すなわち、上述したように、クロック制御回路12は、CPU11へのクロック信号164の出力を停止する。尚、この時点で、クロック発振回路13は動作しているが、CPU11へのクロックが供給されていないため、CPU11において電流が消費されない。これにより、マイクロコンピュータ100は、スタンバイモードの一つであるHALTモードへ遷移したこととなる。
その後、クロック制御回路12は、割り込み要求165を受信する(S13)。例えば、マイクロコンピュータ100の内部のタイマ(不図示)等から割り込み要求が発生したものとする。続いて、クロック制御回路12は、割り込み要因に応じた動作モードを決定する(S14)。例えば、クロック制御回路12は、割り込み要因がタイマ割り込みである場合に、STOPモードへ遷移すると設定されていた場合、STOPモードを動作モードとして決定する。そして、クロック制御回路12は、動作モードに基づきCPU等を制御する(S15)。ここでは、決定された動作モードがSTOPモードであるため、クロック制御回路12は、動作停止の指示を示すクロック発振制御信号162をクロック発振回路13に対して出力する。これにより、クロック発振回路13の動作が停止するため、マイクロコンピュータ100の内部の他の装置における消費電流を抑えることができる。
つまり、クロック制御回路12は、スタンバイ要求161を受け付けた場合に遷移したスタンバイモードであるHALTモードとは異なるスタンバイモードであるSTOPモードを動作モードとして決定することができる。これにより、RUNモードを介さず、スタンバイモードから直接他のスタンバイモードへ遷移できるため、消費電流を最小限に抑えることができる。
このように、本発明の実施の形態1により、CPUのモードの遷移に伴う消費電流を抑えることができる。特に、スタンバイモードからの復帰時にCPU11を介さず、所定の動作モードへ直接遷移させることができる。そのため、スタンバイモードからの動作モードの遷移に伴う消費電流を抑えることができる。また、スタンバイモードからの復帰時において、動作モードを遷移させるために一旦RUNモードへ遷移させる必要がないため、スタンバイモードからの動作モードの遷移の時間を短縮することができる。
<発明の実施の形態2>
図3は、本発明の実施の形態2にかかるマイクロコンピュータ200の構成を示すブロック図である。マイクロコンピュータ200は、CPU21と、スタンバイコントローラ22と、メインオシレータ23aとサブオシレータ23bと、割り込み制御回路24と、周辺マクロ25とを備える。また、マイクロコンピュータ200は、複数の動作モードを切り替えて動作可能である。動作モードとしては、例えば、MAINRUNモード、SUBRUNモード、MAINHALTモード、SUBHALTモード及びSTOPモードがあるものとする。
ここで、MAINRUNモードは、高速なクロック数を用いてCPU21を動作させることにより、マイクロコンピュータ200の最大性能を発揮させる動作モードである。SUBRUNモードは、MAINRUNモードに比べて低速なクロック数を用いてCPU21を動作させることにより、マイクロコンピュータ200の最低限の処理を実行させる動作モードである。MAINHALTモードは、CPU21へのクロックの供給を停止するが、クロック発振回路であるメインオシレータ23a及びサブオシレータ23bの動作を継続させる動作モードである。これにより、MAINRUNモードへ高速に復帰させるものである。SUBHALTモードは、MAINHALTモードと同様に、CPU21へのクロックの供給を停止すると共に、メインオシレータ23aの動作を停止する一方、サブオシレータ23bの動作を継続させる動作モードである。STOPモードは、CPU21へのクロックの供給を停止すると共に、メインオシレータ23a及びサブオシレータ23bの動作を停止する動作モードである。尚、マイクロコンピュータ200は、上述した動作モード以外の動作モードを有していても構わない。
CPU21は、外部からスタンバイ命令260を受信し、スタンバイ命令260の内容に応じてHALTステータス信号261a又はSTOPステータス信号261bのいずれかをスタンバイコントローラ22へ送信する。ここで、スタンバイ命令260は、HALTモードへの遷移を要求するHALT命令又はSTOPモードへの遷移を要求するSTOP命令のいずれかであるものとする。具体的には、受信したスタンバイ命令260がHALT命令である場合、CPU21は、HALTステータス信号261aをスタンバイコントローラ22へ送信する。また、受信したスタンバイ命令260がSTOP命令である場合、CPU21は、STOPステータス信号261bをスタンバイコントローラ22へ送信する。
また、CPU21は、スタンバイコントローラ22から供給されるクロック信号264に応じて動作するものである。さらに、CPU21は、割り込み制御回路24からスタンバイリリース信号267を受信することができる。スタンバイリリース信号267を受信した場合、CPU21は、クロック信号264が供給されているときには、所定の割り込み処理を行うことができる。尚、本発明の実施の形態2にかかるCPU21のその他の機能は、公知なものを用いることが可能であるため、詳細な説明を省略する。
メインオシレータ23aは、高速なクロックパルスを発生させる電気回路、つまり、クロック発振回路である。メインオシレータ23aは、スタンバイコントローラ22からのクロック発振制御信号262aに応じて動作を行う。例えば、メインオシレータ23aは、クロック発振制御信号262aが動作開始の指示である場合に、高速なクロックパルスの発生を開始する。また、メインオシレータ23aは、クロック発振制御信号262aが動作停止の指示である場合に、クロックパルスの発生を停止する。そして、メインオシレータ23aは、発生させたクロックパルスをクロック信号263aとしてスタンバイコントローラ22へ出力する。
サブオシレータ23bは、メインオシレータ23aに比べて低速なクロックパルスを発生させる電気回路、つまり、クロック発振回路である。サブオシレータ23bは、スタンバイコントローラ22からのクロック発振制御信号262bに応じて動作を行う。例えば、サブオシレータ23bは、クロック発振制御信号262bが動作開始の指示である場合に、低速なクロックパルスの発生を開始する。また、サブオシレータ23bは、クロック発振制御信号262bが動作停止の指示である場合に、クロックパルスの発生を停止する。そして、サブオシレータ23bは、発生させたクロックパルスをクロック信号263bとしてスタンバイコントローラ22へ出力する。
尚、本発明の実施の形態2にかかるメインオシレータ23a及びサブオシレータ23bのその他の機能は、公知なものを用いることが可能であるため、詳細な説明を省略する。
周辺マクロ25は、マイクロコンピュータ200におけるCPU21以外の消費電流を必要とする装置である。周辺マクロ25は、例えば、タイマ、RAM(Random Access Memory)、フラッシュメモリ等である。周辺マクロ25は、スタンバイコントローラ22から供給されるクロック信号265に応じて動作するものである。また、周辺マクロ25は、スタンバイコントローラ22から電流を消費するモードである電流消費モードを高くするか低くするか等の指示を受け付け、当該指示に応じて、電流の消費度合を変更するものである。また、周辺マクロ25は、タイマ等により割り込み要求266を発行し、割り込み制御回路24へ送信する。例えば、周辺マクロ25は、マイクロコンピュータ200がHALTモードである場合に、割り込み要求266を発行する。また、周辺マクロ25は、マイクロコンピュータ200の動作モードに関わらず、外部からの要求に基づき、割り込み要求266を発行することができる。尚、本発明の実施の形態2にかかる周辺マクロ25のその他の機能は、公知なものを用いることが可能であるため、詳細な説明を省略する。
割り込み制御回路24は、周辺マクロ25から入力される割り込み要求266に所定の処理を加えて、スタンバイリリース信号267としてCPU21及びスタンバイコントローラ22へ出力する。ここで、スタンバイリリース信号267は、スタンバイモードから復帰する旨を指示する信号である。但し、本発明の実施の形態2にかかるスタンバイリリース信号267は、割り込み要求266における割り込み要因を含む信号である。そのため、スタンバイモードから他の動作モードへ遷移させる指示を含むといえる。尚、本発明の実施の形態2にかかる割り込み制御回路24は、マイクロコンピュータ200がスタンバイモードでない場合であっても、スタンバイリリース信号267をCPU21及びスタンバイコントローラ22へ出力してもよい。
図4は、本発明の実施の形態2にかかる割り込み制御回路24の構成の一例を示すブロック図である。割り込み制御回路24は、内部バス240と、割り込み要求フラグレジスタ(IF)241と、割り込みマスクフラグレジスタ(MK)242と、論理積回路243と、割り込み許可フラグレジスタ(IE)244と、優先順位指定フラグレジスタ(PR)245と、インサービスプライオリティフラグレジスタ(ISP)246と、プライオリティコントロール回路247と、ベクタテーブルアドレス発生回路248とを備える。
内部バス240は、IF241、MK242、IE244、PR245、ISP246及びベクタテーブルアドレス発生回路248と接続するデータバスである。IF241は、周辺マクロ25から入力される割り込み要求266を格納するレジスタである。MK242は、IF241に格納された値をマスクするための値を格納するレジスタである。論理積回路243は、IF241に格納された値とMK242に格納された値の反転結果との論理積を行い、スタンバイリリース信号267として出力する。つまり、スタンバイリリース信号267は、割り込み要求266から所定の加工を行った信号である。そのため、スタンバイリリース信号267には、割り込み要求266における割り込み要因を含むものである。併せて、論理積回路243は、スタンバイリリース信号267をプライオリティコントロール回路247へ出力する。
IE244は、他の割り込み要求を禁止するか否かを示す値を格納するレジスタである。PR245は、優先順位を指定するためのフラグを格納するレジスタである。ISP246は、インサービスの優先順位を指定するためのフラグを格納するレジスタである。プライオリティコントロール回路247は論理積回路243から入力されるスタンバイリリース信号267について、IE244、PR245及びISP246を用いて処理を行い、処理結果をベクタテーブルアドレス発生回路248へ出力する。
ベクタテーブルアドレス発生回路248は、割り込み要因と、割り込み要因に基づく処理のアドレスとを対応付けたベクタテーブルであるメモリ領域を備える回路である。ベクタテーブルアドレス発生回路248は、プライオリティコントロール回路247から入力される処理結果、すなわち、割り込み要因に基づき、アドレスを選択し、内部バス240へ出力する。
尚、本発明の実施の形態2にかかる割り込み制御回路24の構成は、図4に示すものに限定されない。また、割り込み制御回路24のその他の機能は、公知なものを用いることが可能であるため、詳細な説明を省略する。
図3に戻り、スタンバイコントローラ22は、上述した本発明の実施の形態1にかかるクロック制御回路12の具体的な構成例である。スタンバイコントローラ22は、CPU21からのHALTステータス信号261a又はSTOPステータス信号261bに応じて、CPU21、メインオシレータ23a、サブオシレータ23b及び周辺マクロ25を制御し、マイクロコンピュータ200をスタンバイモードへ遷移させる制御回路である。また、スタンバイコントローラ22は、スタンバイモードにおいて、割り込み制御回路24から入力されるスタンバイリリース信号267に応じて動作モードを決定し、決定した動作モードに基づきCPU21、メインオシレータ23a、サブオシレータ23b及び周辺マクロ25を制御する。これにより、任意の動作モードへ遷移させることができる。
スタンバイコントローラ22は、クロック制御回路221と、動作モード設定レジスタ222とを備える。クロック制御回路221は、MAINRUNモードにおいて、メインオシレータ23aから入力されるクロック信号263aをクロック信号264としてCPU21へ供給する。また、クロック制御回路221は、SUBRUNモードにおいて、サブオシレータ23bから入力されるクロック信号263bをクロック信号264としてCPU21へ供給する。尚、いずれの場合においても、クロック制御回路221は、サブオシレータ23bから入力されるクロック信号263bをクロック信号265として周辺マクロ25へ供給する。
そして、クロック制御回路221は、CPU21からHALTステータス信号261aを受け付けた場合に、CPU21へのクロックの供給を停止して、マイクロコンピュータ200をスタンバイモードへ遷移させる。このとき、MAINRUNモードであれば、MAINHALTモードへ遷移させ、SUBRUNモードであれば、SUBHALTモードへ遷移させる。また、クロック制御回路221は、CPU21からSTOPステータス信号261bを受け付けた場合に、CPU21及び周辺マクロ25へのクロックの供給を停止すると共に、動作停止の指示を示すクロック発振制御信号262a及びクロック発振制御信号262bをメインオシレータ23a及びサブオシレータ23bに対して出力する。尚、いずれの場合においても、クロック制御回路221は、電流消費モードを低くする指示を周辺マクロ25に対して出力する。
ここで、動作モード設定レジスタ222は、割り込み要因と動作モードとを関連付けて予め記憶する記憶領域である。すなわち、スタンバイコントローラ22は、CPU21のモードと、割り込み要求の種類と、CPU21が遷移すべきモードとを対応付けた対応情報を保持している。図5は、本発明の実施の形態2にかかる割り込み要因と動作モードの対応の例である。図5では、割り込み要因の例として、INT0、INT1、・・・、及びINT6を挙げている。そして、例えば、INT0に関連付けられた動作モードは、MAINRUNモードであり、INT1に関連付けられた動作モードは、MAINHALTモード等となっていることを示す。これにより、任意のモードへの遷移を定義可能となり、運用変更に柔軟に対応できる。例えば、SUBHALTモードである場合に、割り込み要因が時計割り込みである場合、SUBRUNモードを関連付けて設定し、割り込み要因がLINUART受信による割り込みの場合、MAINRUNモードを関連付けて設定することが可能である。または、割り込み要因が時計やWDT(WatchDog Timer)による定期的な割り込みである場合と、電圧低下による割り込みの場合とで異なる動作モードへ遷移させることができる。すなわち、スタンバイコントローラ22は、割り込み要求の種類が、定期的に発生するか又は突発的に発生するかによって、CPU21が遷移すべき異なるモードを保持している。
そして、図3に戻り、クロック制御回路221は、割り込み制御回路24から入力されるスタンバイリリース信号267における割り込み要因に関連付けられた動作モードを、動作モード設定レジスタ222から選択する。すなわち、クロック制御回路221は、スタンバイリリース信号267を受け付けた場合に、動作モード設定レジスタ222を参照し、スタンバイリリース信号267に含まれる割り込み要因に応じた動作モードを決定する。そして、クロック制御回路221は、決定した動作モードに基づきCPU21及び周辺マクロ25へのクロックの供給、メインオシレータ23a及びサブオシレータ23bの動作、並びに、周辺マクロ25の電流消費モードを制御する。
図6は、本発明の実施の形態2にかかる動作モードごとのクロック制御回路の制御内容の組み合わせの例である。まず、決定した動作モードがMAINRUNモードの場合におけるクロック制御回路221の制御について説明する。このとき、クロック制御回路221は、メインオシレータ23aによるクロック発振を許可する。つまり、クロック制御回路221は、動作開始の指示であるクロック発振制御信号262aをメインオシレータ23aに対して出力する。また、このとき、クロック制御回路221は、サブオシレータ23bによるクロック発振を許可する。つまり、クロック制御回路221は、動作開始の指示であるクロック発振制御信号262bをサブオシレータ23bに対して出力する。また、このとき、クロック制御回路221は、CPU21へ高速なクロックを供給する。つまり、クロック制御回路221は、メインオシレータ23aから入力されるクロック信号263aをクロック信号264としてCPU21へ出力する。また、このとき、クロック制御回路221は、周辺マクロ25及び内蔵レギュレータ(不図示)の電流消費モードを高く設定する。つまり、クロック制御回路221は、電流消費モードを高くする指示を周辺マクロ25及び内蔵レギュレータに対して送信する。
次に、決定した動作モードがMAINHALTモードの場合におけるクロック制御回路221の制御について説明する。このとき、クロック制御回路221は、メインオシレータ23a及びサブオシレータ23bによるクロック発振を維持する。尚、メインオシレータ23a及びサブオシレータ23bのいずれか又は両方が動作していない場合、クロック制御回路221は、動作していない回路に対してクロック発振を許可する処理を行う。また、このとき、クロック制御回路221は、CPU21へのクロックの供給を停止する。つまり、クロック制御回路221は、クロック信号264としてCPU21への出力を行わない。また、このとき、クロック制御回路221は、周辺マクロ25及び内蔵レギュレータの電流消費モードを低く設定する。つまり、クロック制御回路221は、電流消費モードを低くする指示を周辺マクロ25及び内蔵レギュレータに対して送信する。
また、決定した動作モードがSUBRUNモードの場合におけるクロック制御回路221の制御について説明する。このとき、クロック制御回路221は、メインオシレータ23aによるクロック発振を停止する。つまり、クロック制御回路221は、動作停止の指示であるクロック発振制御信号262aをメインオシレータ23aに対して出力する。但し、クロック制御回路221は、サブオシレータ23bによるクロック発振を維持する。尚、サブオシレータ23bが動作していない場合、クロック制御回路221は、サブオシレータ23bに対してクロック発振を許可する処理を行う。また、このとき、クロック制御回路221は、CPU21へ低速なクロックを供給する。つまり、クロック制御回路221は、サブオシレータ23bから入力されるクロック信号263bをクロック信号264としてCPU21へ出力する。
続いて、決定した動作モードがSUBHALTモードの場合におけるクロック制御回路221の制御について説明する。このとき、クロック制御回路221は、上述したSUBRUNモードと同様に、メインオシレータ23a及びサブオシレータ23bのクロック発振を制御する。
さらに、決定した動作モードがSTOPモードの場合におけるクロック制御回路221の制御について説明する。このとき、クロック制御回路221は、メインオシレータ23a及びサブオシレータ23bによるクロック発振を停止する。つまり、クロック制御回路221は、動作停止の指示であるクロック発振制御信号262a及び262bをメインオシレータ23a及びサブオシレータ23bに対して出力する。但し、メインオシレータ23a及びサブオシレータ23bが動作していない場合、クロック制御回路221は、特に、停止する処理を行わなくても良い。
尚、決定した動作モードがSUBRUNモード、SUBHALTモード又はSTOPモードである場合、MAINHALTモードの場合と同様に、クロック制御回路221は、周辺マクロ25及び内蔵レギュレータの電流消費モードを低く設定する。また、決定した動作モードがSUBHALTモード又はSTOPモードである場合、MAINHALTモードの場合と同様に、クロック制御回路221は、CPU21へのクロックの供給を停止する。
本発明の実施の形態2にかかるスタンバイコントローラ22は、特に、決定した動作モードがスタンバイモードである場合、CPU21へのクロックの供給を停止し続けるといえる。これにより、スタンバイモードからからスタンバイモードへの遷移において、消費電流を抑えることができる。
さらに、本発明の実施の形態2にかかるスタンバイコントローラ22は、決定した動作モードがSTOPモードである場合に、メインオシレータ23a及びサブオシレータ23bの動作を停止させるものである。これにより、スタンバイモードである場合に、RUNモードを経由せず、直接、クロック発振回路の動作を停止することができる。そのため、冗長な動作モードの遷移を行う必要がなくなり、消費電流を抑えることができる。
図7は、本発明の実施の形態2にかかるクロック制御回路221の処理の流れを示すフローチャートである。まず、前提として、動作モード設定レジスタ222に予め、図5に示すような割り込み要因と動作モードとが関連付けられた情報が格納済みであるものとする。また、ここでは、MAINRUNモードであるものとする。
まず、クロック制御回路221は、スタンバイリリース信号267を受信する(S21)。すなわち、周辺マクロ25から割り込み要求266が出力され、割り込み制御回路24において、割り込み要求266について所定の加工がなされ、スタンバイリリース信号267が出力される。
次に、クロック制御回路221は、スタンバイリリース信号267に基づき、モード設定レジスタ222から動作モードを選択する(S22)。すなわち、クロック制御回路221は、スタンバイリリース信号267から割り込み要因を抽出する。そして、クロック制御回路221は、モード設定レジスタ222を参照し、抽出した割り込み要因に関連付けられた動作モードを示す情報を選択する。
その後、クロック制御回路221は、選択した動作モードに基づき、メインオシレータ23a及びサブオシレータ23bの動作、CPU21へのクロックの供給並びに周辺マクロ25等の電流消費モードを制御する(S23)。具体的には、クロック制御回路221は、選択した動作モードを判別し、判別した動作モードに応じて、図6に示した各種制御を行う。
図8は、本発明の実施の形態2にかかる動作モード遷移の例を示すタイミングチャートである。図8では、図12と同様に、SUBRUNモードからSUBHALTモード、そして、STOPモードへ遷移させる場合を示す。まず、SUBRUNモードにおいて、スタンバイコントローラ22は、CPU21からのHALTステータス信号261aにより、SUBHALTモードへ遷移する。そして、周辺マクロ25からINT6を割り込み要因とする割り込み要求266が発生し、割り込み制御回路24によりINT6の情報を含むスタンバイリリース信号267が出力される。このとき、クロック制御回路221は、スタンバイリリース信号267を受信し、スタンバイリリース信号267からINT6の情報を抽出し、動作モード設定レジスタ222からINT6に関連付けられたSTOPモードを示す情報を選択する。その後、クロック制御回路221は、図6に示した制御を行い、STOPモードへ遷移する。図12と比較してわかるように、図8では、MAINRUNモードへ遷移することがなくなり、不要な消費電流を削減することができる。また、MAINRUNモードへ遷移し、さらに、STOPモードへ遷移する処理時間が削減される。
尚、図4では、マイクロコンピュータ200の動作モードに関わらず、マスクされていない割り込み要求は、割り込み禁止状態であっても、スタンバイリリース信号として使用可能である。そのため、マイクロコンピュータ200は、スタンバイモードでなくとも、スタンバイリリース信号267を受信した場合に、動作モード設定レジスタ222により動作モードを決定してもよい。これにより、任意の動作モードに遷移させることができ、運用変更に柔軟に対応できる。
これを踏まえ、図9及び図10を用いて、本発明の実施の形態2の効果を説明する。図9は、関連技術における動作モード遷移の組み合わせを示す図である。図9では、図12に示したような関連技術において、任意の動作モード間の遷移を行うためには、MAINHALTモード、SUBRUNモード、SUBHALTモード又はSTOPモードから、一旦、MAINRUNモードへ復帰しなければならないことを示す。そして、MAINRUNモードへ復帰した後、MAINHALTモード、SUBRUNモード又はSTOPモードへ遷移する必要がある。また、任意の動作モードからSUBHALTモードへ遷移するには、SUBRUNモードからさらに遷移する必要がある。
一方、図10は、本発明の実施の形態2にかかる動作モード遷移の組み合わせを示す図である。図10では、本発明の実施の形態2にかかるマイクロコンピュータ200において、割り込み要因に応じて所望の動作モードを予め動作モード設定レジスタ222に設定しておくことにより、任意の動作モード間の遷移を行うことが可能であることを示す。すなわち、MAINRUNモード、MAINHALTモード、SUBRUNモード、SUBHALTモード又はSTOPモードのいずれからも、MAINRUNモード、MAINHALTモード、SUBRUNモード、SUBHALTモード又はSTOPモードへ遷移することができる。例えば、上述した図9では、MAINRUNモードからへSUBHALTモードへは、直接、遷移することができなかったが、図10では、直接、遷移することができる。
このように、本発明の実施の形態2では、ユーザが予め動作モード設定レジスタ222に割り込み要因毎に、スタンバイモードからの復帰時の処理時間が最少となるような動作モードに設定しておくことで、不要な動作モードの遷移を省くことができ、よりきめ細やかな電圧管理を実現することができる。
尚、図3において、スタンバイリリース信号267は、割り込み制御回路24からCPU21へ直接出力されず、スタンバイコントローラ22を介してCPU21へ出力される構成でもよい。その場合、クロック制御回路221は、CPU21のモードがスタンバイモードである場合に、CPU21をスタンバイモードに遷移させる割り込み要求を受信した場合は、メインオシレータ23a及びサブオシレータ23bを制御するとともに、CPU21への割り込み要求をCPU21へ出力しないものとする。
これにより、CPU21のモードが通常モードである場合は、CPU21に所定の割り込み処理をさせるために、クロック制御回路221は、CPU21に割り込み要求を出力し、CPU21の現在のモードがスタンバイモードである場合に、スタンバイモードに遷移させる割込み要求を受信した場合には、クロック制御回路221は、CPU21を起動することなく自身がメインオシレータ23a及びサブオシレータ23bを制御するので、CPU21に割り込み要求を出力する必要がなく、本発明の課題であるCPUの消費電流を低減することが可能となる。
<発明の実施の形態3>
上述した発明の実施の形態2では、スタンバイリリース信号267に応じて常に動作モード遷移を行っていた。本発明の実施の形態3では、遷移前と遷移後の動作モードが異なる場合のみ、動作モードの遷移を行うようにし、遷移前と遷移後の動作モードが同じ場合には、動作モードの遷移を行わないことで、スタンバイコントローラ22における動作を抑制し、さらなる消費電流を抑えるものである。尚、本発明の実施の形態3にかかるマイクロコンピュータの構成は、図3に示した発明の実施の形態2と同等であるため、図示及び説明を省略する。但し、図3のクロック制御回路221に以下に示す改良を加えたものである。
本発明の実施の形態3にかかるクロック制御回路221は、割り込み要求が発生した場合に現在の動作モードを判定し、かつ、割り込み要因に応じた動作モードを決定し、判定した現在の動作モードと決定した動作モードとが異なる場合のみ、決定した動作モードに基づきCPU21へのクロックの供給及びメインオシレータ23a及びサブオシレータ23bの動作を制御する。言い換えると、クロック制御回路221は、割り込み要求を受信した場合にCPU21のモードを判定し、かつ、割り込み要求の種類に応じたCPU21が遷移すべきモードを決定し、判定したCPU21のモードと決定したCPU21が遷移すべきモードとが異なる場合のみ、決定したCPU21が遷移すべきモードに基づきメインオシレータ23a及びサブオシレータ23bを制御する。これにより、割り込み要求があったとしてもモード遷移が不要な場合には、制御を変更しないことで、消費電流を抑えることができる。
図11は、本発明の実施の形態3にかかるクロック制御回路221の処理の流れを示すフローチャートである。ここでは、図7と同様の前提とする。まず、クロック制御回路221は、図7のステップS21と同様に、スタンバイリリース信号267を受信する(S31)。次に、クロック制御回路221は、図7のステップS22と同様に、スタンバイリリース信号267に基づき、モード設定レジスタ222から動作モードを選択する(S32)。
ここで、クロック制御回路221は、現在の動作モードを確認する(S33)。例えば、クロック制御回路221は、クロック信号264、クロック信号263a及び263bの入出力状態により、現在の動作モードを判定してもよい。
続いて、クロック制御回路221は、選択した動作モードと現在の動作モードとが異なるか否かを判定する(S34)。選択した動作モードと現在の動作モードとが同じと判定した場合、クロック制御回路221は、処理を終了する。すなわち、このとき、クロック制御回路221は、動作モードの遷移を行わない。例えば、現在の動作モードがMAINHALTモードである場合に、割り込み要因が図5に示すINT1であるときは、MAINHALTモードが決定されるため、動作モードの遷移が行われない。よって、クロック制御回路221の冗長な処理を抑えることができ、消費電流を抑えることができる。
ステップS34において、選択した動作モードと現在の動作モードとが異なると判定した場合、クロック制御回路221は、選択した動作モードと現在の動作モードとに基づき、メインオシレータ23a及びサブオシレータ23bの動作、CPU21へのクロックの供給並びに周辺マクロ25等の電流消費モードを制御する(S35)。具体的には、クロック制御回路221は、すでに制御済みの処理について実行しない。図6の例において、現在の動作モードがMAINHALTモードであり、選択した動作モードがSTOPモードである場合で説明する。クロック制御回路221は、MAINHALTモードへ遷移した時点で、CPU21へのクロックの供給を停止済みである。そのため、MAINHALTモードにおいて、STOPモードへ遷移する場合、クロック制御回路221は、再度、CPU21へのクロックの供給の停止を行わない。同様に、周辺マクロ25及び内蔵レギュレータの電流消費モードが低く設定済みであるため、クロック制御回路221は、再度、周辺マクロ25及び内蔵レギュレータの電流消費モードの設定変更を行わない。これにより、クロック制御回路221の冗長な処理を抑えることができ、消費電流を抑えることができる。
<その他の発明の実施の形態>
本発明の実施の形態2のスタンバイコントローラ22は、割り込み要求が発生した場合に現在の動作モードを判定し、現在の動作モードがスタンバイモードであると判定した場合に、動作モードを決定するようにしてもよい。言い換えると、スタンバイコントローラ22は、CPU21のモードがスタンバイモードである場合に、割り込み要求を受信した場合は、CPU21が遷移すべきモードを決定するようにしてもよい。これにより、スタンバイモードである場合にのみ、割り込み要因に基づく動作モードの遷移を行わせ、スタンバイモード以外の場合は、通常通りの動作モードの遷移を実行させることができる。つまり、関連技術にかかるマイクロコンピュータを改良するコストを抑えることができる。
この場合、例えば、図7のステップS21とS22の間に、クロック制御回路221がマイクロコンピュータ200における現在の動作モードを判定する処理を追加するとよい。例えば、クロック制御回路221は、クロック信号264、クロック信号263a及び263bの入出力状態により、現在の動作モードを判定してもよい。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
100 マイクロコンピュータ
11 CPU
12 クロック制御回路
13 クロック発振回路
161 スタンバイ要求
162 クロック発振制御信号
163 クロック信号
164 クロック信号
165 割り込み要求
200 マイクロコンピュータ
21 CPU
22 スタンバイコントローラ
221 クロック制御回路
222 動作モード設定レジスタ
23a メインオシレータ
23b サブオシレータ
24 割り込み制御回路
240 内部バス
241 IF
242 MK
243 論理積回路
244 IE
245 PR
246 ISP
247 プライオリティコントロール回路
248 ベクタテーブルアドレス発生回路
25 周辺マクロ
260 スタンバイ命令
261a HALTステータス信号
261b STOPステータス信号
262a クロック発振制御信号
262b クロック発振制御信号
263a クロック信号
263b クロック信号
264 クロック信号
265 クロック信号
266 割り込み要求
267 スタンバイリリース信号

Claims (12)

  1. 少なくとも通常動作モードと、クロック供給が停止されるスタンバイモードとからなる複数のモードを有するCPU(Central Processing Unit)と、
    前記CPUへ供給するクロックを生成するクロック生成回路と、
    複数の周辺回路からの割り込み要求に応じて、当該割り込み要求における割り込み要因を含む制御信号を出力する割り込み制御回路と、
    前記CPUからの指示又は前記割り込み制御回路からの制御信号に応じて前記CPUが遷移すべきモードを決定し、決定したモードに応じて前記クロック生成回路を制御し、かつ、前記CPUへの前記制御信号の出力を制御する制御回路と
    を備え
    前記スタンバイモードは、前記クロック生成回路によるクロックの生成を停止させるSTOPモードと、前記クロック生成回路によりクロックが生成され、前記CPU以外の前記複数の周辺回路に当該クロックを供給するHALTモードとを有し、
    前記制御回路は、前記CPUからの指示に応じて前記HALTモードへ遷移した後に前記割り込み制御回路から前記制御信号を受け付けた場合、前記決定の結果、前記割り込み要求が前記CPUを前記HALTモードから前記STOPモードへ遷移させる要求であると判定した場合は、前記クロック生成回路を制御するとともに前記制御信号を前記CPUへ出力しないことを特徴とするマイクロコンピュータ。
  2. 前記制御回路は、前記CPUの現在のモードと、前記割り込み要因と、前記CPUが遷移すべきモードとを対応付けた対応情報を更に保持していることを特徴する、請求項1に記載のマイクロコンピュータ。
  3. 前記制御回路は、前記割り込み要因が、定期的に発生する割り込み要求である場合における前記CPUが遷移すべきモードと、前記割り込み要因が、突発的に発生する割り込み要求である場合における前記CPUが遷移すべきモードとを、互いに異なるものに決定することを特徴とする請求項1又は2に記載のマイクロコンピュータ。
  4. 前記制御回路は、前記決定の結果、前記割り込み要求が前記CPUを前記HALTモードから前記STOPモードへ遷移させる要求であると判定した場合、前記CPUへのクロックの供給を停止し続けることを特徴とする請求項1乃至の何れか1つに記載のマイクロコンピュータ。
  5. 前記制御回路は、前記制御信号を受信した場合に前記CPUの現在のモードを判定し、かつ、前記割り込み要因に応じた前記CPUが遷移すべきモードを決定し、判定した前記CPUの現在のモードと決定した前記CPUが遷移すべきモードとが異なる場合のみ、決定した前記CPUが遷移すべきモードに基づき前記クロック生成回路を制御することを特徴とする請求項1乃至の何れか1つに記載のマイクロコンピュータ。
  6. 前記クロック生成回路は、互いに周波数の異なる第1のクロックと第2のクロックとを生成し、
    前記HALTモードは、前記クロック生成回路により前記第1のクロック及び前記第2のクロックがともに生成されるが前記CPUにはいずれのクロックも供給されない第1のHALTモードと、前記クロック生成回路による前記第1のクロックの生成が停止され、前記クロック生成回路により前記第2のクロックが生成されるが前記CPUには当該第2のクロックが供給されない第2のHALTモードとを有し、
    前記制御回路は、前記CPUからの指示で前記第1のHALTモード又は第2のHALTモードになった後に前記割り込み制御回路から前記制御信号を受け付けた場合、前記決定の結果、前記割り込み要求が前記CPUを前記STOPモードへ遷移させる要求であると判定した場合は、前記クロック生成回路による前記第1のクロック及び前記第2のクロックの生成を停止させるとともに前記制御信号を前記CPUへ出力しないことを特徴とする請求項1乃至5の何れか1つに記載のマイクロコンピュータ。
  7. 少なくとも通常動作モードと、クロック供給が停止されるスタンバイモードとからなる複数のモードを有するCPU(Central Processing Unit)と、前記CPUへ供給するクロックを生成するクロック生成回路と、複数の周辺回路からの割り込み要求に応じて当該割り込み要求における割り込み要因を含む制御信号を出力する割り込み制御回路と、前記CPUからの指示又は前記割り込み制御回路からの制御信号に応じて前記CPUが遷移すべきモードを決定し、決定したモードに応じて前記クロック生成回路を制御し、かつ、前記CPUへの前記制御信号の出力を制御する制御回路と、を備えるマイクロコンピュータの制御方法であって、
    前記スタンバイモードは、前記クロック生成回路によるクロックの生成を停止させるSTOPモードと、前記クロック生成回路によりクロックが生成され、前記CPU以外の前記複数の周辺回路に当該クロックを供給するHALTモードとを有し、
    前記CPUにより前記HALTモードに遷移させ、当該HALTモードに遷移後、
    前記制御回路において、
    前記割り込み制御回路からの前記制御信号に応じて前記CPUが遷移すべきモードを決定し、
    前記決定の結果、前記割り込み要求が前記CPUを前記HALTモードから前記STOPモードへ遷移させる要求であると判定した場合は、前記クロック生成回路を制御するとともに前記制御信号を前記CPUへ出力しない
    ことを特徴とするマイクロコンピュータの制御方法。
  8. 前記制御回路は、前記CPUの現在のモードと、前記割り込み要因と、前記CPUが遷移すべきモードとを対応付けた対応情報を更に保持していることを特徴とする請求項に記載のマイクロコンピュータの制御方法。
  9. 前記制御回路において、前記割り込み要因が、定期的に発生する割り込み要求である場合における前記CPUが遷移すべきモードと、前記割り込み要因が、突発的に発生する割り込み要求である場合における前記CPUが遷移すべきモードとを、互いに異なるものに決定することを特徴とする請求項7又は8に記載のマイクロコンピュータの制御方法。
  10. 前記制御回路において、前記決定の結果、前記割り込み要求が前記CPUを前記HALTモードから前記STOPモードへ遷移させる要求であると判定した場合、前記CPUへのクロックの供給を停止し続けることを特徴とする請求項乃至の何れか1つに記載のマイクロコンピュータの制御方法。
  11. 前記制御回路において、
    前記制御信号を受信した場合に前記CPUの現在のモードを判定し、かつ、前記割り込み要因に応じた前記CPUが遷移すべきモードを決定し、
    判定した前記CPUの現在のモードと決定した前記CPUが遷移すべきモードとが異なる場合のみ、決定した前記CPUが遷移すべきモードに基づき前記クロック生成回路を制御することを特徴とする請求項乃至10の何れか1つに記載のマイクロコンピュータの制御方法。
  12. 前記クロック生成回路は、互いに周波数の異なる第1のクロックと第2のクロックとを生成し、
    前記HALTモードは、前記クロック生成回路により前記第1のクロック及び前記第2のクロックがともに生成されるが前記CPUにはいずれのクロックも供給されない第1のHALTモードと、前記クロック生成回路による前記第1のクロックの生成が停止され、前記クロック生成回路により前記第2のクロックが生成されるが前記CPUには当該第2のクロックが供給されない第2のHALTモードとを有し、
    前記CPUにより前記第1のHALTモード又は前記第2のHALTモードに遷移させ、当該第1のHALTモード又は前記第2のHALTモードに遷移後、
    前記制御回路において、
    前記割り込み制御回路からの前記制御信号に応じて前記CPUが遷移すべきモードを決定し、
    前記決定の結果、前記割り込み要求が前記CPUを前記STOPモードへ遷移させる要求であると判定した場合は、前記クロック生成回路による前記第1のクロック及び前記第2のクロックの生成を停止させるとともに前記制御信号を前記CPUへ出力しないことを特徴とする請求項7乃至11の何れか1つに記載のマイクロコンピュータの制御方法。
JP2010068069A 2010-03-24 2010-03-24 マイクロコンピュータ及びマイクロコンピュータの制御方法 Active JP5486368B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010068069A JP5486368B2 (ja) 2010-03-24 2010-03-24 マイクロコンピュータ及びマイクロコンピュータの制御方法
US13/064,355 US8677164B2 (en) 2010-03-24 2011-03-21 Microcomputer and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010068069A JP5486368B2 (ja) 2010-03-24 2010-03-24 マイクロコンピュータ及びマイクロコンピュータの制御方法

Publications (2)

Publication Number Publication Date
JP2011203804A JP2011203804A (ja) 2011-10-13
JP5486368B2 true JP5486368B2 (ja) 2014-05-07

Family

ID=44657715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010068069A Active JP5486368B2 (ja) 2010-03-24 2010-03-24 マイクロコンピュータ及びマイクロコンピュータの制御方法

Country Status (2)

Country Link
US (1) US8677164B2 (ja)
JP (1) JP5486368B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9484893B1 (en) * 2015-04-20 2016-11-01 Telefonaktiebolaget Lm Ericsson (Publ) Clock generation circuit with fast-startup standby mode

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0786787B2 (ja) 1988-04-12 1995-09-20 日本電気株式会社 マイクロコンピュータ
JPH04245518A (ja) * 1991-01-31 1992-09-02 Nec Home Electron Ltd 情報処理装置
JPH05313778A (ja) * 1992-05-07 1993-11-26 Nec Corp マイクロコンピュータ
US6105142A (en) * 1997-02-11 2000-08-15 Vlsi Technology, Inc. Intelligent power management interface for computer system hardware
JP2005332245A (ja) * 2004-05-20 2005-12-02 Fujitsu Ltd 情報処理装置及び情報処理装置を利用した媒体記憶装置
US7739528B2 (en) * 2006-06-09 2010-06-15 Broadcom Corporation Method for managing and controlling the low power modes for an integrated circuit device
US8762759B2 (en) * 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state

Also Published As

Publication number Publication date
US20110239018A1 (en) 2011-09-29
JP2011203804A (ja) 2011-10-13
US8677164B2 (en) 2014-03-18

Similar Documents

Publication Publication Date Title
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
KR101770587B1 (ko) 멀티코어 프로세서의 핫 플러깅 방법 및 멀티코어 프로세서 시스템
CN110109527B (zh) 动态电压裕度恢复
JP5610566B2 (ja) 半導体装置及びデータ処理システム
JP2006004338A (ja) 半導体集積回路
JP2005285093A (ja) プロセッサ電力制御装置及びプロセッサ電力制御方法
KR20140029235A (ko) 처리 장치, 정보 처리 장치, 및 소비 전력 관리 방법
JP2013205905A (ja) 演算処理装置及び演算処理装置の制御方法
JP2009026199A (ja) クロック周波数制御方法及びコンピュータプログラム
JP5808097B2 (ja) 半導体装置及び半導体装置におけるリセット制御方法
US8972769B2 (en) Data processing apparatus and control method for controlling clock frequency based on calculated frequency-to-response-time ratios
JP2001202155A (ja) 低消費電力処理装置
JP2006004339A (ja) 半導体集積回路
JP5486368B2 (ja) マイクロコンピュータ及びマイクロコンピュータの制御方法
JPH11202968A (ja) マイクロコンピュータ
JP2007164672A (ja) プログラム、オペレーティング・システム、およびコンパイラ
JP2013012009A (ja) ホストコントローラ装置、情報処理装置及びイベント情報出力方法
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JP2019028651A (ja) 同期リセット回路とその制御方法
KR20180078558A (ko) 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
US20130305251A1 (en) Scheduling method and scheduling system
JP2017016219A (ja) 電子機器および給電制御プログラム
JP5561374B2 (ja) 情報処理システム
JP4868012B2 (ja) コンピュータシステム、コンピュータシステムの制御方法、及びプログラム
JP2008041106A (ja) 半導体集積回路装置、クロック制御方法及びデータ転送制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140107

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: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140221

R150 Certificate of patent or registration of utility model

Ref document number: 5486368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350