(57)【要約】【課題】マイクロコンピュータにおいて、低消費電力化を実現することができる技術を提供する。【解決手段】内部電源1で動作するCPU１０１と、内部電源2で動作する保持用RAM１０４とを具備する。内部電源1と内部電源2とを供給してCPU１０１のクロックが動作する通常動作モードと、内部電源1と内部電源2とを供給してCPU１０１のクロックが停止するスリープモード又はソフトウェアスタンバイモードと、内部電源1を遮断して内部電源2を供給してCPU１０１のクロックが停止するディープスタンバイモードとを有する。そして、ディープスタンバイモードから通常動作モードへの復帰時のブートアドレスを選択するアドレス切換器１０２を具備し、かつ選択されるブートアドレスの一方は外部に接続されたROM１１４であり、他方は保持用RAM１０４であることを特徴とする。【選択図】図１
2008059300.tif 000002
【特許請求の範囲】
【請求項１】
第１の内部電源で動作するCPUと、
第２の内部電源で動作するRAMとを具備して成り、
前記第１の内部電源と前記第２の内部電源とを供給し、前記CPUのクロックが動作する第１の動作モードと、
前記第１の内部電源と前記第２の内部電源とを供給し、前記CPUのクロックが停止する第２の動作モードと、
前記第１の内部電源を遮断し、前記第２の内部電源を供給し、前記CPUのクロックが停止する第３の動作モードとを有し、
前記第３の動作モードから前記第１の動作モードへの復帰時のブートアドレスを選択する手段を具備し、かつ選択されるブートアドレスの一方は外部に接続されたメモリであり、
他方は前記RAMであることを特徴とするマイクロコンピュータ。
【請求項２】
請求項１記載のマイクロコンピュータにおいて、
前記RAMは低速RAMであり、
さらに、前記低速RAMよりも高速で動作する高速RAMを具備することを特徴とするマイクロコンピュータ。
【請求項３】
請求項１記載のマイクロコンピュータにおいて、
さらに、前記第３の動作モードへ移行する直前の端子状態を保持する機能を持つ入出力端子を具備することを特徴とするマイクロコンピュータ。
【請求項４】
請求項１記載のマイクロコンピュータにおいて、
前記第２の内部電源は、さらに複数の内部電源に分割されていることを特徴とするマイクロコンピュータ。
【請求項５】
請求項１記載のマイクロコンピュータにおいて、
前記マイクロコンピュータは、１つの半導体チップ上に形成された半導体集積回路であることを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータ（以下、単に「マイコン」という）に関し、特に、低消費電力モードを有するマイコンに適用して有効な技術に関する。
【背景技術】
【０００２】
本発明者が検討した技術として、例えば、マイコンにおいては、以下の技術が考えられる。
【０００３】
従来は、ROM内蔵マイコンがシステムマイコンとして使われていた。システムマイコンは、電源ICなどの制御を行う。システムの電力を削減する場合、システムマイコンと電源ICを除く全ての部品への電源を遮断する。この時、システムマイコン自身も低電力モードとなる。つまり、クロックを停止させ、かつ最低限のブロック以外への電力供給を内部的に遮断する。システムを低電力状態から復帰する場合は、まずシステムマイコンを復帰させ、次にシステムマイコンのプログラム制御によってその他の部品への電源供給を開始させる。システムマイコンは、自分自身が内蔵するROMをアクセスするので、外部の部品に電源が供給されていなくても問題ない。
【０００４】
このようなシステムでは、システムマイコンの他に、ROMを内蔵しない代わりに高速で動作するマイコン（ROMレスマイコン）を備えている場合が多い。この時の処理分担は、ROM内蔵マイコン（システムマイコン）が電源ICの制御などを担当し、ROMレスマイコンがより高い処理性能を必要とする処理（例えばオーディオCODECなど）を担当する。
【０００５】
このようなマイコンに関する技術としては、例えば、特許文献１などが挙げられる。特許文献１の技術は、装着された外部記憶装置に対し、システムソフトウェアを介さずにアクセスすることができるようにするため、外部記憶装置内の外部プログラムとブート用ROM内の内部プログラムとから電源投入時に起動すべきプログラムを選択する選択手段を設け、メモリ領域切換手段が、メモリ領域を切り換えることにより、電源投入時にプロセッサから出力されるスタートアドレスのアクセス要求を、前記選択手段により選択されたプログラムに対して行わせる、というものである。
【特許文献１】特開平８−１７１４８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、前記のようなマイコンの技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００７】
近年は、ROMレスマイコンだけでシステムを構築しようという要求が増している。ROMレスマイコンの場合は外部ROMからプログラムを読み出す必要があるため、システムの低電力状態において外部ROMの電源が遮断されていると、マイコンを低電力状態から復帰させた際にプログラムを読み出すことができない。つまり、従来のROM内蔵マイコンと同様な手法で低消費電力化を図ることができない。システムの低電力状態において、電源ICとマイコンに加え、外部にも電源を供給しておけばこの問題は解決できるが、当然ながら電力の削減効果が低下する。
【０００８】
また多くの場合、ROMレスマイコンと外部ROM（FLASHメモリ等）を繋ぐバス上には、SDRAMや、ASICなどの部品も接続されている。マイコンを低電力状態から復帰させる際には、これらの部品への電力は遮断された状態である。外部ROMに電源を供給し、電源遮断状態にある部品が繋がるバスを動作させてデータを転送することは、信頼性などの観点からも好ましくない。
【０００９】
そこで、本発明の目的は、マイコンにおいて、低消費電力化を実現することができる技術を提供することにある。
【００１０】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１２】
本発明によるマイクロコンピュータは、第１の内部電源で動作するCPUと、第２の内部電源で動作するRAMとを具備している。このマイクロコンピュータは、前記第１の内部電源と前記第２の内部電源とを供給して前記CPUのクロックが動作する第１の動作モードと、前記第１の内部電源と前記第２の内部電源とを供給して前記CPUのクロックが停止する第２の動作モードと、前記第１の内部電源を遮断して前記第２の内部電源を供給して前記CPUのクロックが停止する第３の動作モードとを有する。そして、前記第３の動作モードから前記第１の動作モードへの復帰時のブートアドレスを選択する手段を具備し、かつ選択されるブートアドレスの一方は外部に接続されたメモリであり、他方は前記RAMであることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、マイコンにおいて、低消費電力化を実現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１５】
図１は本発明の一実施の形態によるマイコンの構成を示すブロック図である。
【００１６】
まず、図１により、本実施の形態によるマイコンの構成の一例を説明する。本実施の形態のマイコン１００は、例えば、低消費電力モードを備えたRAMブート機能付きマイコンとされ、周知の半導体製造技術によって１個の半導体チップ上に形成された半導体集積回路（LSI）である。マイコン１００は、例えば、CPU１０１と、アドレス切換器１０２と、高速RAM１０３と、保持用RAM１０４と、入出力装置＃0〜＃N（１０５ａ，１０５ｂ，…，１０５ｎ）と、外部バスコントローラ１０６と、電源回路１０７と、電力制御部１０８と、リセット/割込み制御部１０９と、IOバッファ１１０ａ，１１０ｂと、バスブリッジ１１１と、クロック生成器１１２などから構成されている。
【００１７】
CPU１０１は、 LSI（マイコン１００）や、LSI内部の高速RAM１０３及び保持用RAM１０４上に格納した命令を実行可能である。
【００１８】
アドレス切換器は１０２、 電力制御部１０８より保持用RAMブート信号が与えられている場合は、電源投入時やディープスタンバイモードからの復帰時に参照するアドレス（ブートアドレス）を切り換える。ブートアドレスには、CPU１０１が次に実行すべきプログラムとスタック領域の先頭アドレスが格納されている。
【００１９】
高速RAM１０３は、 CPU１０１と高速バスで接続され、CPU１０１が1サイクルでアクセス可能なメモリである。ただし、リーク電流が大きい。このためディープスタンバイモード時には電源が遮断され、記憶された内容は失われる。
【００２０】
バスブリッジ１１１は、高速バスとシステムバスを接続し、動作速度の差を吸収するためのバスブリッジである。
【００２１】
保持用RAM１０４は、低速でしか動作できないが、リーク電流が小さいメモリである。ディープスタンバイモード時にも電源が供給され、記憶された内容は失われない。本発明の主目的は、ディープスタンバイモードから復帰する際に、この保持用RAM１０４からブートすることである。その場合は、ディープスタンバイモードに移行する前に、ブート処理やその後の一連の処理に必要な情報を、この保持用RAM１０４に転送しておく必要がある。保持用RAM１０４には、低消費電力モードから通常動作モードへ復帰する際のブートプログラム等が記憶される。なお、前述の高速RAM１０３は、保持用RAM１０４よりも高速で動作する。
【００２２】
入出力装置＃0〜＃N（１０５ａ，１０５ｂ，…，１０５ｎ）は、LSI内部とLSI外部で情報をやりとりするための、シリアルインターフェイスやパラレルインターフェイスなどの入出力装置である。
【００２３】
外部バスコントローラ１０６は、 外部バスを介して外付けのRAM１１３、ROM１１４、ASIC１１５などとアクセスするためのインターフェイスブロックである。
【００２４】
電源回路１０７は、電力制御部１０８の指示に従って、LSI外部から供給される電源（マイコン用電源）を降圧して２種類の内部電源を生成し、LSI内部に供給する。内部電源1は、ディープスタンバイ時には電源が遮断される。内部電源2は、ディープスタンバイ時にも電源が供給される。
【００２５】
電力制御部１０８は、CPU１０１や、リセット/割込み制御部１０９の指示に従って、ディープスタンバイモードへの移行や復帰を制御する。また、内蔵する制御レジスタの設定に従って、CPU１０１のアドレス切換器へのブートアドレス指示信号や、ディープスタンバイ中とディープスタンバイ復帰直後の各IOバッファグループの端子状態を指示する。
【００２６】
リセット/割込み制御部１０９は、リセットやLSI外部からの割込み要求、LSI内部の各モジュールからの割込み要求（図示せず）を所定の優先度に従って受け付け、LSI内部の各モジュールに対して処理を指示する。
【００２７】
ディープスタンバイモード中にリセットや外部割込みを受け付けた場合は、電力制御部１０８に対してディープスタンバイモードからの復帰を示すウェイクアップ要求を出力し、ディープスタンバイからの復帰後に各モジュールに対する処理を要求する。
【００２８】
リセット/割込み制御部１０９は、LSI内部モジュールに対する内部リセット信号を生成する。内部リセット信号は、外部リセット信号が与えられた場合に加え、ディープスタンバイモード中に外部割込みを受け付けた場合にもアサートされる。
【００２９】
ただし、電力制御部１０８は、外部リセット信号によってのみリセットされる。つまり、ディープスタンバイモード中の外部割込みではリセットされない。
【００３０】
IOバッファ１１０ａ，１１０ｂは、 LSI内部の信号をLSI外部に出力したり、LSI外部からの入力信号をLSI内部に供給したりする。一般に、LSI外部とLSI内部では動作している電圧が異なるが、IOバッファ１１０ａ，１１０ｂがこの差を吸収する。IOバッファ１１０ａ，１１０ｂは複数のグループに分かれており、グループ毎にディープスタンバイ中とディープスタンバイからの復帰直後の端子状態を制御可能である。本例では、外部バス関連のIOバッファ１１０ｂと、それ以外の用途のIOバッファ１１０ａの２グループに分けている。
【００３１】
IOバッファ１１０ａ，１１０ｂにおけるディープスタンバイ中の端子状態は、「端子保持あり」の場合は直前の状態（入力/出力、出力値）を保持し、「端子保持なし」の場合はハイインピーダンス（HiZ）となる。IOバッファ１１０ａ，１１０ｂにおけるディープスタンバイから復帰時の状態は、「端子保持あり」の場合は所定の操作を行うまでは端子保持を継続し、「端子保持なし」の場合はリセット時の状態に移行する。
【００３２】
図２は、本実施の形態によるマイコンのクロック構成を示すブロック図である。本LSI（マイコン１００）は、CPUクロック、高速クロック及び低速クロックの３種類のクロックで動作する。これらのクロックは、クロック生成器１１２で生成される。
【００３３】
高い演算性能を実現するため、CPU１０１や高速RAM１０３は高速のクロック（CPUクロック、高速クロック）で動作する。それほどの高性能を要求されないその他のブロックは、消費電力を抑えるため、より低速のクロック（低速クロック）で動作する。
【００３４】
図３は、本実施の形態によるマイコンの低消費電力モードの概要を示す図である。本LSI（RAMブート機能付きマイコン１００）は、通常動作モードの他に、３種類の低消費電力モードを有する。以下に、各低消費電力モードの概要を示す。
【００３５】
図４は、低消費電力モードのうち、スリープモードの動作を示す波形図である。電力制御部１０８内に備えるスタンバイイネーブルビット（STBYビット）が"0"の状態で、CPUがSLEEP命令を実行すると、本LSIは通常モードからスリープモードに遷移する。スリープモードでは、CPUクロックのみが停止する。高速クロックや低速クロックは通常動作モードと同様に動作する。CPU１０１は、SLEEP命令実行後に停止するが、CPU１０１のレジスタ内容は保持される。
【００３６】
スリープモードは、LSI外部の割込み要求、LSI内部の各種入出力装置などの割込み要求によって解除される。割込み要求が発生すると、スリープモードから通常動作モードに復帰する。通常動作モード復帰後、CPU１０１は与えられた割込み要求に応じた処理を行う。
【００３７】
なお、当然ながら、リセットが与えられた場合もスリープモードは解除される。
【００３８】
図５は、低消費電力モードのうち、ソフトウェアスタンバイモードの動作を示す波形図である。STBYビットが"1"であり、かつ同じく電力制御部内に備えるディープスタンバイイネーブルビット（DSTBビット）が"0"の状態で、CPU１０１がSLEEP命令を実行すると、本LSIは通常モードからソフトウェアスタンバイモードに遷移する。ソフトウェアスタンバイモードでは、CPUクロックを含むLSI内部クロック全てに加え、クロック発信器が停止する。CPU１０１はSLEEP命令実行後に停止するが、CPU１０１内部のレジスタの内容は保持される。入出力装置＃0〜＃N（１０５ａ，１０５ｂ，…，１０５ｎ）のレジスタについては、内容が保持されるものや初期化されるものがある。
【００３９】
ソフトウェアスタンバイモードは、LSI外部からの割込み要求によって解除される。LSI外部の割込み要求が発生すると、ソフトウェアスタンバイモードから発振安定期間に移行する。発振安定期間に移行すると、クロック発振器が動作を開始するが、CPUクロック、高速クロック、低速クロックは動作を停止したままである。発振器の生成したクロックは発振安定期間計測カウンタにのみ供給され、ソフトウェアスタンバイ移行前に同カウンタに設定されたサイクル数を経過すると、発振安定期間を終了し、通常動作モードに復帰する。
【００４０】
通常動作モード復帰後、CPU１０１は与えられた割込み要求に応じた処理を行う。入出力装置＃0〜＃Nについては、各回路毎に定められた動作を行う。例えば、全てのレジスタの内容が保持された回路については、ソフトウェアスタンバイモード遷移前の動作を継続する。
【００４１】
なお、当然ながら、リセットが与えられた場合もソフトウェアスタンバイモードは解除される。
【００４２】
図６は、低消費電力モードのうち、ディープスタンバイモードの動作を示す波形図である。STBYビットとDSTBがともに"1"の状態で、CPU１０１がSLEEP命令を実行すると、本LSIは通常モードからディープスタンバイモードに遷移する。ディープスタンバイモードでは、全てのクロックやクロック発信器が停止するだけでなく、LSI内部電源の一部（内部電源1）が遮断される。なお、当然ながら、CPU１０１や入出力装置＃0〜＃Nのレジスタの内容は全て失われる。
【００４３】
ディープスタンバイモードは、LSI外部からの割込み要求によって解除される。LSI外部の割込み要求が発生すると、ディープスタンバイモードから発振安定期間に移行する。発振安定期間に移行すると、内部電源1の供給が再開され、クロック発振器が動作を開始する。これ以降の動作はソフトウェアスタンバイからの復帰と同様である。
【００４４】
ただし、通常動作モード復帰後の動作は、ソフトウェアスタンバイとは異なる。CPU１０１は与えられた割込み要求とは無関係に、リセットが与えられた場合と同じ処理を行う。
なお、入出力装置＃0〜＃Nも、CPU１０１と同様にリセット解除時と同様の動作となる。
【００４５】
なお、当然ながら、リセットが与えられた場合もソフトウェアスタンバイモードは解除される。
【００４６】
図７は、アドレス切換器１０２の構成を示す図である。外部リセットが与えられた場合やディープスタンバイからの復帰時に、一旦アサートされた内部リセット信号がネゲートされると、CPU１０１はブート処理を行う。ここでブート処理とは、特定のアドレス（ブートアドレス）からプログラムカウンタ（PC）とスタックポインタ（SP）の初期値を読み出し、PCとSPに設定（初期化）する処理を指している。最初にPCを設定し、次にSPを設定する。LSI内部にROMを内蔵しないROMレスマイコンの場合、ブートアドレスはLSI外部空間を示し、通常ここにはROMが接続される。
【００４７】
電力制御部１０８から保持用RAMブート信号が与えられている場合、アドレス切換器１０２は、上記ブートアドレスを別のアドレスに切り換える。具体的には、本来ならば外部ROM１１４を指していたアドレスを、保持用RAM１０４に切り換える。
【００４８】
ブート中指示レジスタ７０１は、内部リセット信号が与えられてからブート処理が完了するまで、ブート中信号を出力する。ブート中信号は、内部リセット信号によってセットされ、ブート終了信号によってリセット（クリア）される。ブート終了信号は、SPの初期値リードアクセスが高速バスで受け付けられたサイクルで出力される。この信号は、CPU１０１が出力するアドレスと、高速バス上のアクセス受付を示す信号（図示せず）を観測することで容易に生成できる。
【００４９】
ブート中信号の出力中に保持用RAMブート信号が与えられていた場合、ブートアドレスセレクタ７０２は、CPU１０１が出力したアドレスの上位ビットを切り換え用アドレスに置き換えて高速バスに出力する。切り換え用アドレスはアドレス切換器１０２内部に埋め込まれた固定値であり、保持用RAM１０４の領域を示す値である。
【００５０】
図８は、電力制御部１０８内のレジスタ構成を示す図である。電力制御部１０８におけるディープスタンバイ中の動作、およびディープスタンバイからの復帰時の動作に関わる処理を説明する。
【００５１】
電力制御部１０８は、ディープスタンバイコントロールレジスタと端子保持解除レジスタを備えている。これらのレジスタは、外部リセットによって"0"に初期化され、システムバスを介してCPU１０１がアクセス可能である。
【００５２】
ディープスタンバイコントロールレジスタ内のRAMBOOTビットは、ディープスタンバイからの復帰時に保持用RAM１０４からブートするか否かを示すビットであり、このビットが保持用RAMブート信号となる。RAMBOOTビットが“0”のとき、保持用RAM１０４からブートしないで、外部ROM１１４からブートする。RAMBOOTビットが“1”のとき、保持用RAM１０４からブートする。
【００５３】
ディープスタンバイコントロールレジスタ内のCS0KEEPビットは、ディープスタンバイモード時に、外部バスに関するIOバッファ１１０ｂの端子状態を保持するか否かを示すビットである。CS0KEEPビットが“0”のとき、ディープスタンバイ時に端子状態を保持しない（IOバッファ１１０ｂはハイインピーダンス状態となる）。CS0KEEPビットが“1”のとき、ディープスタンバイ時に端子状態を保持する。
【００５４】
ディープスタンバイコントロールレジスタ内のIOKEEPビットは、ディープスタンバイモード時に、外部バス関連以外のIOバッファ１１０ａの端子状態を保持するか否かを示すビットである。IOKEEPビットが“0”のとき、ディープスタンバイ時に端子状態を保持しないで、IOバッファ１１０ａはハイインピーダンス状態となる。IOKEEPビットが“1”のとき、ディープスタンバイ時に端子状態を保持する。
【００５５】
端子保持解除レジスタ内のKEEPCLRビットは、端子状態保持を解除するためのビットである。本ビットに"1"を書き込むことで端子保持状態は解除される。
【００５６】
図９は、端子保持機能付きIOバッファ１１０ａ，１１０ｂの構成を示す模式図である。
入力イネーブル1と入力イネーブル2の両方がHレベルの時、IOバッファ１１０ａ，１１０ｂは入力状態であり、LSI外部からPADに与えられた入力信号はLSI内入力端子に伝達される。
【００５７】
出力イネーブル1と出力イネーブル2の両方がHレベルの時、IOバッファ１１０ａ，１１０ｂは出力状態であり、LSI内出力端子に与えられた信号がPAD端子から出力される。つまり、LSI内出力端子にLレベルが与えられている場合はL出力状態、LSI内出力端子にHレベルが与えられている場合はH出力状態となる。
【００５８】
また、入力イネーブル1と入力イネーブル2の論理積と、出力イネーブル1と出力イネーブル2の論理積の両方が偽の時、IOバッファ１１０ａ，１１０ｂはハイインピーダンス状態である。この時、LSI内出力端子の信号はPADに伝達されることはなく、またLSI外部からPADに与えられた信号がLSI内入力に伝達されることもない。
【００５９】
図９において、LAT９０１ａ，９０１ｂはデータラッチであり、状態保持端子にLレベルが与えられている時は、昇圧回路から与えられる信号をそのまま右側に伝達する。状態保持端子にHレベルが与えられると、上記データラッチは直前の値を保持する。つまり、状態保持にHレベルが与えられている時は、LSI内出力や、出力イネーブル1、出力イネーブル2に与えられる信号変化は無視される。この状態では、L出力状態やH出力状態から他の状態に変わることや、または他の状態からL出力状態やH出力状態に変わることはない。つまりLSI外部から見た場合の端子状態は保持される。この状態を端子保持状態と称する。
【００６０】
降圧回路９０２と昇圧回路９０３ａ〜９０３ｄは、信号の電圧レベルを変換するための回路であるが、詳細は省略する。例えば、内部電源1は1.2V、IO電源は3.3Vである。
【００６１】
ここで、LSI内入力、入力イネーブル1、LSI内出力、出力イネーブル1は外部バスコントローラや入出力装置＃0など、本IOバッファを使ってLSI外部と信号入出力するブロックに接続される。入力イネーブル2、出力イネーブル2、状態保持は、電力制御部１０８に接続される。つまり、電力制御部１０８は、これらの端子に適当な値を与えることによって、IOバッファの状態を強制的にハイインピーダンス状態や端子保持状態にすることができる。
【００６２】
図１０及び図１１は、電力制御部１０８における端子保持に関する制御タイミングを示す波形図であり、図１０は端子保持なしの場合、図１１は端子保持ありの場合を示す。ここで、ディープスタンバイモード信号は電力制御部１０８が内部的に生成している信号であり、ディープスタンバイモードへの移行開始時にアサートされ、ディープスタンバイから復帰して内部リセット信号のアサート中にネゲートされる。
【００６３】
図１０に示すように、端子状態を保持しない場合、入力イネーブル2と出力イネーブル2は、ディープスタンバイモード信号と同じタイミングでネゲートされる。これによって、IOバッファ１１０ａ，１１０ｂはハイインピーダンス状態となる。
【００６４】
図１１に示すように、端子状態を保持する場合、状態保持信号は、ディープスタンバイモード信号の立ち上がりに同期してアサートされ、端子保持解除レジスタ内のKEEPCLRビットへの“1”書き込みに同期してネゲートされる。入力イネーブル2と出力イネーブル2の値はどんな値でも構わない。
【００６５】
図１２は、電力制御部１０８における端子保持に関する制御タイミングを示す波形図であり、ディープスタンバイコントロールレジスタ内のRAMBOOTビットが"0"でCS0KEEPビットが"1"の場合を示す。ディープスタンバイコントロールレジスタ内のRAMBOOTビットが"0"でCS0KEEPビットが"1"の場合、外部バス用IOバッファ１１０ｂの状態保持信号のネゲートタイミングは若干異なる。外部バス用の状態保持信号は、KEEPCLRへの”1”書き込みを待たずに、ディープスタンバイモード信号の立下りに同期してネゲートされる。RAMBOOTビットが"0"の場合は、内部リセットのネゲート直後に外部ROM１１４からブート処理を行う必要があるため、その前に端子保持状態を解除しておく必要があるためである。
【００６６】
図１３は、本発明の他の実施の形態によるマイコンの構成を示すブロック図である。図１の構成では、CPU１０１と高速バスとの間にアドレス切換器１０２があるが、アドレス切換器１０２は、図１３に示すようにバスブリッジ１１１とシステムバスとの間にあっても良い。すなわち、システムバスよりもCPU１０１寄りにあればよい。
【００６７】
図１４は、内部電源2をさらに細分化した例を示す図である。上記の例では、内部電源が２種類しかない場合を示してきたが、さらに細分化してもよい。
【００６８】
例えば、図１４に示すように、保持用RAM１０４を４分割し、それぞれに異なる電源を供給する。これらの電源は、電力制御部１０８に設けた電源遮断制御レジスタの設定に従って、ディープスタンバイモード時の電源供給の有無が決定される。VDD3OFFビットからVDD5OFFビットが内部電源3から内部電源5に対応しており、これらのビットに"1"が設定されている電源は、ディープスタンバイモード時に電源供給が遮断される。もちろん、これと別の分割方法もあり得る。このように、内部電源をさらに分割することにより、複数の内部電源を個別に制御することができ、効率的な低消費電力化ができる。
【００６９】
以上説明したように、本実施の形態によるマイコンは、内部電源の一部を遮断する低消費電力モードを備えた半導体集積回路であり、上記低消費電力モードから通常モードへの復帰時のブートアドレスが選択可能であり、かつ選択されるブートアドレスの一方は上記半導体集積回路の外部に接続されたデバイス（外部ROM）であり、他方は上記半導体集積回路内部の記憶素子（保持用RAM）であることを特徴とする。したがって、低消費電力モードから通常モードへ復帰する際、保持用RAMからブートすることができるので、低消費電力モードで外部ROMの電源を遮断することが可能となり、低消費電力化を実現することができる。
【００７０】
また、本実施の形態によるマイコンは、内部電源の一部を遮断する低消費電力モードにおいて、入出力端子の状態を選択可能であり、その一方の状態が低消費電力モードに移行する直前の端子状態の保持であることを特徴とする。したがって、低消費電力モードに移行する直前の端子状態を保持することができるので、低消費電力モード時における入出力端子の不定状態が回避され、誤動作を防止することができ、信頼性の向上を図ることができる。
【００７１】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００７２】
本発明は、半導体装置、電子機器等の製造業において利用可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明の一実施の形態によるマイコンの構成を示すブロック図である。
【図２】本発明の一実施の形態によるマイコンのクロック構成を示すブロック図である。
【図３】本発明の一実施の形態によるマイコンの低消費電力モードの概要を示す図である。
【図４】低消費電力モードのうち、スリープモードの動作を示す波形図である。
【図５】低消費電力モードのうち、ソフトウェアスタンバイモードの動作を示す波形図である。
【図６】低消費電力モードのうち、ディープスタンバイモードの動作を示す波形図である。
【図７】アドレス切換器の構成を示す図である。
【図８】電力制御部内のレジスタ構成を示す図である。
【図９】端子保持機能付きIOバッファの構成を示す模式図である。
【図１０】電力制御部における端子保持に関する制御タイミングを示す波形図である（端子保持なしの場合）。
【図１１】電力制御部における端子保持に関する制御タイミングを示す波形図である（端子保持ありの場合）。
【図１２】電力制御部における端子保持に関する制御タイミングを示す波形図である（RAMBOOTビットが"0"、CS0KEEPビットが"1"の場合）。
【図１３】本発明の他の実施の形態によるマイコンの構成を示すブロック図である。
【図１４】内部電源2をさらに細分化した例を示す図である。
【符号の説明】
【００７４】
１００  マイコン
１０１  CPU
１０２  アドレス切換器
１０３  高速RAM
１０４  保持用RAM
１０５  入出力装置
１０６  外部バスコントローラ
１０７  電源回路
１０８  電力制御部
１０９  リセット/割込み制御部
１１０  IOバッファ
１１１  バスブリッジ
１１２  クロック生成器
１１３  RAM
１１４  ROM
１１５  ASIC
７０１  ブート中指示レジスタ
７０２  ブートアドレスセレクタ
９０１  LAT
９０２  降圧回路
９０３  昇圧回路  
【図１】
2008059300.tif 000003
【図２】
2008059300.tif 000004
【図３】
2008059300.tif 000005
【図４】
2008059300.tif 000006
【図５】
2008059300.tif 000007
【図６】
2008059300.tif 000008
【図７】
2008059300.tif 000009
【図８】
2008059300.tif 000010
【図９】
2008059300.tif 000011
【図１０】
2008059300.tif 000012
【図１１】
2008059300.tif 000013
【図１２】
2008059300.tif 000014
【図１３】
2008059300.tif 000015
【図１４】
2008059300.tif 000016