(57)【要約】【課題】オンチップの不揮発性メモリそれ自体による電力消費を削減して全体としての低消費電力を実現することが容易なデータプロセッサを提供する。【解決手段】データプロセッサ（１）は、中央処理装置（２）、ＲＡＭ（８）及び書換え可能な不揮発性メモリ（７）を半導体チップに有し、パワーオンリセット中に不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を行ない、リセット解除後に、前記不揮発性メモリの動作を停止した状態で前記中央処理装置が前記ＲＡＭのプログラムを実行する低消費電力モードへの遷移が可能にされる。リセット中にプログラムの転送が行なわれるからユーザプログラムに依存せずに、マイクロコンピュータに固有の機能としてオンチップの不揮発性メモリによる電力消費を削減してマイクロコンピュータ全体としての低消費電力を実現することができる。【選択図】　　　　図１
2004070854.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、ＲＡＭと、書換え可能な不揮発性メモリとを半導体チップに有し、パワーオンリセット中に前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を行ない、リセット解除後に、前記不揮発性メモリの動作を停止した状態で前記中央処理装置が前記ＲＡＭのプログラムを実行する低消費電力モードへの遷移が可能にされることを特徴とするデータプロセッサ。
【請求項２】
前記パワーオンリセットは外部からのリセット信号のアサートにより指示されることを特徴とする請求項１記載のデータプロセッサ。
【請求項３】
前記リセット解除は前記リセット信号のネゲート後に内部のリセット指示の解除によって行われることを特徴とする請求項２記載のデータプロセッサ。
【請求項４】
リセット解除後のリセット例外処理を実行した後に前記低消費電力モードへの遷移が可能にされることを特徴とする請求項１記載のデータプロセッサ。
【請求項５】
リセット解除後のリセット例外処理自体が前記低消費電力モードとされることを特徴とする請求項１記載のデータプロセッサ。
【請求項６】
前記リセット解除後に実行される前記ＲＡＭのプログラムは例外処理及び割り込み処理のベクタとリセット例外処理プログラムを含むことを特徴とする請求項５記載のデータプロセッサ。
【請求項７】
前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を制御する転送制御回路を有することを特徴とする請求項４又は５記載のデータプロセッサ。
【請求項８】
前記中央処理装置に前記不揮発性メモリのプログラムを実行させる通常動作モードへの遷移が可能にされることを特徴とする請求項４又は５記載のデータプロセッサ。
【請求項９】
前記低消費電力モードにおいて前記中央処理装置は第１周波数のクロック信号に同期動作され、前記通常動作モードにおいて前記中央処理装置は前記第１周波数よりも周波数の高い第２周波数のロック信号に同期動作することを特徴とする請求項８記載のデータプロセッサ。
【請求項１０】
中央処理装置と、ＲＡＭと、書換え可能な不揮発性メモリとを半導体チップに有し、パワーオンリセット中に前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を行ない、リセット解除後に前記不揮発性メモリの動作を停止した状態で前記中央処理装置が前記ＲＡＭのプログラムを実行してリセット例外処理を行い、この後、前記中央処理装置が前記ＲＡＭのプログラムを実行する低消費電力モードと前記中央処理装置が前記不揮発性メモリのプログラムを実行する通常動作モードとの選択が可能にされることを特徴とするデータプロセッサ。
【請求項１１】
前記リセット例外処理及び低消費電力モードにおいて前記中央処理装置は第１周波数のクロック信号に同期動作され、前記通常動作モードにおいて前記中央処理装置は第１周波数よりも高速な第２周波数のクロック信号に同期動作されることを特徴とする請求項１０記載のデータプロセッサ。
【請求項１２】
中央処理装置と、ＲＡＭと、書換え可能な不揮発性メモリとを半導体チップに有し、パワーオンリセット中に前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を行ない、リセット解除後に前記不揮発性メモリの動作を停止した状態で前記中央処理装置が前記ＲＡＭのプログラムを実行してリセット例外処理を行なうことを特徴とするデータプロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、中央処理装置、ＲＡＭ及び書換え可能な不揮発性メモリを半導体チップに有するデータプロセッサにおける低消費電力化に関し、例えば、電池電源を動作電源とするデータ処理システムに組み込まれて動作されるマイクロコンピュータに適用して有効な技術に関する。
【０００２】
【従来の技術】
特開平１１−２８８４０９号公報には、フラッシュメモリ内に記憶されているプログラムをＲＡＭに転送し、クロックを高周波数から低周波数へ切替え、フラッシュメモリを停止させるようにしたマイクロコンピュータが記載される。
【０００３】
特開２００１−２４３２１１公報には電源投入時に不揮発性メモリ内のプログラムをＲＡＭに転送するようにしたマイクロコンピュータが記載される。
【０００４】
特開平４−２３９３４９号公報には電源投入時にＲＯＭ内のシステムプログラムをＲＡＭに転送するようにしたマイクロコンピュータが記載される。
【０００５】
【発明が解決しようとする課題】
本発明者は、電気的に書換え可能なフラッシュメモリをオンチップしたマイクロコンピュータの低消費電力について検討した。これによれば、フラッシュメモリは消去及び書き込みに高電圧を必要とするだけでなく、読み出し動作やベリファイ動作においても比較的レベルの高いワード線電圧を必要とする。したがって、タイミングジェネレータや内部昇圧のためのチャージポンプ回路等による電力消費が比較的大きいので、フラッシュメモリは動作可能に保たれるだけで比較的大きな電力を消費する。このような事情の下では、マイクロコンピュータの低消費電力モードにおいて、たとえマイクロコンピュータを時計用タイマ回路の３２ＫＨｚのような低速クロック周波数で動作させても、フラッシュメモリを動作可能な状態に置く限り比較的大きな電力が消費される。そこで本発明者は、マイクロコンピュータを時計用タイマ回路の３２ＫＨｚのような低速クロック周波数で動作させるとき、プログラムをフラッシュメモリからＲＡＭに転送し、ＲＡＭのプログラムをＣＰＵに実行させて、フラッシュメモリの動作を停止可能にすることを検討した。この検討を更に進めた結果、本発明者は、低消費電力の効果を最大限に発揮させるには、ユーザプログラムに依存せずに、マイクロコンピュータに固有の機能として、前記プログラムの転送やフラッシュメモリの動作停止を実現するのが有利であることを見出した。
【０００６】
本発明の目的は、オンチップの不揮発性メモリそれ自体による電力消費を削減して全体としての低消費電力を実現することが容易なデータプロセッサを提供することにある。
【０００７】
本発明の別の目的は、ユーザプログラムに依存せずに、マイクロコンピュータに固有の機能として、オンチップの不揮発性メモリによる電力消費を削減して全体としての低消費電力を実現することができるデータプロセッサを提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００９】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
〔１〕本発明に係るデータプロセッサは、中央処理装置と、ＲＡＭと、書換え可能な不揮発性メモリとを半導体チップに有し、パワーオンリセット中に前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を行ない、リセット解除後に、前記不揮発性メモリの動作を停止した状態で前記中央処理装置が前記ＲＡＭのプログラムを実行する低消費電力モードへの遷移が可能にされる。リセット中にプログラムの転送が行なわれるから、ユーザプログラムに依存せずに、マイクロコンピュータに固有の機能としてオンチップの不揮発性メモリによる電力消費を削減してマイクロコンピュータ全体としての低消費電力を実現することができる。
【００１１】
前記パワーオンリセットは例えば外部からのリセット信号のアサートにより指示される。前記リセット解除は例えば前記リセット信号のネゲート後に内部のリセット指示の解除によって行われる。
【００１２】
具体的な態様として、リセット解除後のリセット例外処理を実行した後に前記低消費電力モードへの遷移が可能にされる。この遷移はユーザプログラム或は外部からの指示に従って行われるが、マイクロコンピュータそれ自体は、その指示があれば即座に低消費電力モードに遷移できるように身構えることになる。
【００１３】
別の具体的な態様として、リセット解除後のリセット例外処理自体が前記低消費電力モードとされる。最初から低消費電力モードになり、低消費電力の効果を最大限に発揮させることができる。この場合には、前記リセット解除後に実行される前記ＲＡＭのプログラムは例外処理及び割り込み処理ベクタとリセット例外処理プログラムを含むことになる。
【００１４】
前記プログラム転送を容易化するには、前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を制御する転送制御回路を有することが望ましい。
【００１５】
マイクロコンピュータは前記中央処理装置に前記不揮発性メモリのプログラムを実行させる通常動作モードへの遷移が可能にされる。このとき、前記低消費電力モードにおいて前記中央処理装置は第１周波数のクロック信号に同期動作され、前記通常動作モードにおいて前記中央処理装置は前記第１周波数よりも周波数の高い第２周波数のロック信号に同期動作する。
【００１６】
〔２〕本発明の別の観点によるデータプロセッサは、中央処理装置と、ＲＡＭと、書換え可能な不揮発性メモリとを半導体チップに有し、パワーオンリセット中に前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を行ない、リセット解除後に前記不揮発性メモリの動作を停止した状態で前記中央処理装置が前記ＲＡＭのプログラムを実行してリセット例外処理を行い、この後、前記中央処理装置が前記ＲＡＭのプログラムを実行する低消費電力モードと前記中央処理装置が前記不揮発性メモリのプログラムを実行する通常動作モードとの選択が可能にされる。リセット中にプログラムの転送が行なわれるからユーザプログラムに依存せずに、マイクロコンピュータに固有の機能としてオンチップの不揮発性メモリによる電力消費を削減してマイクロコンピュータ全体としての低消費電力を実現することができる。リセット解除後のリセット例外処理からＲＡＭのプログラムを実行するので、最初から低消費電力モードになり、低消費電力の効果を最大限に発揮させることができる。
【００１７】
前記リセット例外処理及び低消費電力モードにおいて前記中央処理装置は第１周波数のクロック信号に同期動作され、前記通常動作モードにおいて前記中央処理装置は第１周波数よりも高速な第２周波数のクロック信号に同期動作される。中央処理装置のクロック周波数の点においても低消費電力が実現されている。
【００１８】
〔３〕本発明の更に別の観点によるデータプロセッサは、中央処理装置と、ＲＡＭと、書換え可能な不揮発性メモリとを半導体チップに有し、パワーオンリセット中に前記不揮発性メモリから前記ＲＡＭに所定のプログラムの転送を行ない、リセット解除後に前記不揮発性メモリの動作を停止した状態で前記中央処理装置が前記ＲＡＭのプログラムを実行してリセット例外処理を行なう。リセット中にプログラムの転送が行なわれるからユーザプログラムに依存せずに、マイクロコンピュータに固有の機能としてオンチップの不揮発性メモリによる電力消費を削減してマイクロコンピュータ全体としての低消費電力を実現することができる。リセット解除後のリセット例外処理からＲＡＭのプログラムを実行するので、最初から低消費電力モードになり、低消費電力の効果を最大限に発揮させることができる。
【００１９】
【発明の実施の形態】
図１には本発明に係るデータプロセッサの一例であるマイクロコンピュータが示される。同図に示されるマイクロコンピュータ１は、特に制限されないが、全体の制御を司る中央処理装置（ＣＰＵ）２、バスコントローラ３、データ転送制御回路４、割り込みコントローラ５、システムコントローラ６、書換え可能な不揮発性メモリとしてのフラッシュメモリ７、ＲＡＭ８、時計用タイマ９、及びその他周辺回路１０、発振制御回路１１、メイン発振器１２、サブ発振器１３、セレクタ１４、モジュール停止制御レジスタ１６及び内部バス１５を有し、公知のＣＭＯＳ集積回路製造技術により、単結晶シリコンのような１個の半導体基板（半導体チップ）に形成される。前記システムコントローラ６は電源電圧監視回路２０、発振安定カウンタ２１及びアンドゲート２２を有する。
【００２０】
前記ＣＰＵ２はバスコントローラ３を介してＲＡＭ８又はフラッシュメモリ７から命令をフェッチし、フェッチした命令を解読し、その解読結果にしたがってデータフェッチや演算制御を行なってその命令を実行する。前記ＲＡＭ８はＣＰＵ２のワーク領域及びプログラム領域として利用される。フラッシュメモリ７はＣＰＵ２のデータ領域及びプログラム領域として利用される。
【００２１】
フラッシュメモリ７は、特にその詳細について図示を省略するが、例えばソース・ドレインの間のチャネル領域の上に夫々ゲート絶縁膜を介してフローティングゲートとコントロールゲートを重ねたスタック構造、或はソース・ドレインの間のチャネル領域の上に選択ゲートとメモリゲートを左右に分離して配置した選択ゲートセパレート構造などがある。例えば後者のセパレート構造を持つフラッシュメモリセルはソースサイドからメモリゲートへのホットエレクトロン注入で書き込みを行ない、メモリゲートからチャネルへの電子のトンネル放出により消去を行なって、メモリゲートから見た閾値電圧を設定可能にされる。図においてメモリアレイＭＡＲＹには多数のフラッシュメモリセルがマトリクス配置される。フラッシュメモリセルに対する読み出し回路ＲＤＣと消去・書き込み回路ＥＰＣが設けられ、読み出し、消去、書込み動作のためのタイミング信号の生成と高電圧を生成する昇圧動作とを行なうための発振回路ＴＣＮＴが設けられる。フラッシュメモリ７は後述のモジュール停止制御レジスタ１６の設定状態に従って動作可能にされているとき、実際のメモリアクセス動作が行われなくても、前記発振回路ＴＣＮＴは昇圧動作のためのチャージポンプ動作やタイミング信号生成のための分周動作等を行ない、この動作によって比較的大きな電力を消費することになる。チャージポンプ動作によって得られる昇圧電圧は消去電圧、書き込み電圧、読み出しのワード線選択電圧等に利用される。そのような電力消費を完全に断つにはモジュール停止制御レジスタ１６を設定してフラッシュメモリ７を動作停止（動作不可能状態）に制御することを要する。
【００２２】
前記バスコントローラ３は、ＣＰＵ２等によるアクセス要求に応答してバス１５を介するアクセス対象へのバス制御を行なう。バスコントローラ３はバス制御レジスタ３０を有し、ＣＰＵ２のアドレス空間に対してフラッシュメモリ７やＲＡＭ８などの回路モジュールを配置するアドレス（マッピングアドレス）、アクセスデータサイズ、アクセスサイクル数などをアドレスエリア若しくは回路モジュール毎に指示するアクセス制御情報を保有する。このアクセス制御情報はＣＰＵ２によりプログラマブルに設定可能にされ、また、リセット動作により所定値に初期化される。前記バス１５はアドレスバス、データバスの他、リード信号、ライト信号、そしてバスサイズ信号等をエンコードしたバスコマンド等が伝達されるコントロールバスを含む。
【００２３】
割り込みコントローラ５は、時計用タイマ９やその他周辺回路１０等から割込み信号（図示せず）或はバスエラー信号などの例外信号を入力し、ＣＰＵ２に例外要求信号ＩＲＱと割り込み又は例外処理の要因コード（ベクタ番号）を与える。これにより、ＣＰＵ２は実行中の処理を中断し、状態保存を行なった後、前記ベクタ番号で示されるベクタから分岐先アドレスをリードして、所定の処理ルーチンに分岐し、所望の処理を行なう。所定の処理ルーチンの最後には、通常、復帰命令が置かれ、この命令を実行することによって前記中断した処理を再開する。
【００２４】
特に制限されないが、前記メイン発振器１２は１０ＭＨｚ、サブ発振器１３は３２ＫＨｚの発振周波数を有する。発振器１２，１３の出力はセレクタ１４で選択されてマイクロコンピュータの動作基準クロック信号φｓとされる。前記セレクタ１４の選択動作及び発振器１２，１３の発振動作は２ビット制御信号Ｓ１に基づいて発振制御回路１１が制御する。制御信号Ｓ１の００でサブ発振器１３を発振動作させその発振出力をセレクタ１４に選択させ、制御信号Ｓ１の０１でサブ発振器１３及びメイン発振器を発振動作させメイン発振器１２の発振出力をセレクタ１４に選択させ、制御信号Ｓ１の１０で双方の発振器１２，１３の発振動作を停止させる。リセット処理では、制御信号Ｓ１が００に初期化され、前記サブ発振器１３の発振動作が指定され、セレクタ１４にはサブ発振器１３の出力を選択することが指定され、リセット解除後の動作基準クロック信号φｓは３２ＫＨｚの低速周波数とされる。尚、時計用タイマ９にはサブ発振器１３からの３２ＫＨｚのクロック信号がタイマ動作の同期クロック信号として常時供給される。
【００２５】
モジュール停止制御レジスタ１６は前記フラッシュメモリ７、ＲＡＭ８、時計用タイマ９、その他周辺回路１０、及び発振制御回路１１に対する動作停止（動作不可能状態）と停止解除を制御する制御データが設定される。制御データの設定はバス１５を介してＣＰＵ２がプログラマブルに行なうことができる。スタンバイ信号ＳＴＢがアサートされてスタンバイモードが指示されると前記制御データは全ての回路モジュールの動作を停止させるように強制される。スタンバイ信号ＳＴＢがネゲートされてスタンバイモードの解除が指示されると、前記制御データは後述するリセット解除後と同じ低消費電力状態にされる。
【００２６】
システムコントローラ６は、マイクロコンピュータのリセット制御等を行なう。すなわち、マイクロコンピュータ１の内部リセット信号ｒｅｓ／（記号／はローイネーブル信号を意味する）は前記アンドゲート２２から出力される。内部リセット信号ｒｅｓ／は、マイクロコンピュータ１の内部回路に供給され、そのローレベルにより、レジスタ値や所定の回路ノードをリセット（初期化）する。内部リセット信号ｒｅｓ／のハイレベルによりリセットが解除される。アンドゲート２２にはリセット端子からの外部リセット信号ＲＥＳ／とデータ転送制御回路４からの転送終了信号Ｓ３が入力される。外部リセット信号ＲＥＳ／のローレベルによりリセット動作が指示されると内部リセット信号ｒｅｓ／がローレベルにされてリセット動作が開始され、外部リセット信号ＲＥＳ／のハイレベルによりリセット動作の解除が指示されたときは、データ転送制御回路４によるデータ転送の終了が転送終了信号Ｓ３によって通知されるのを待って、内部リセット動作が解除される。内部リセット動作が解除されると、ＣＰＵ２は、プログラムアドレスの０番地からリセットベクタをフェッチしてリセット例外処理の実行を開始する。リセット例外処理の処理内容は例えばユーザプログラムによって定義される。
【００２７】
電源電圧監視回路２０は電源端子に電源電圧ＶＣＣが投入されたとき投入電圧が動作可能電圧に到達したとき信号Ｓ４を活性化する。発振安定カウンタ２１は、前記外部リセット信号ＲＥＳ／がローレベルにされたときクロック端子ＣＫに入力されるクロック信号φｓの計数動作を開始し、計数動作は前記電源電圧監視回路２０からの制御信号Ｓ４の活性化により初期化され、計数値が所定値に達したとき、制御信号Ｓ５を活性化する。要するに、制御信号Ｓ５は、パワーオン時に電源電圧ＶＣＣが安定化し、クロック信号φｓの発振周波数が安定化してから、内部のリセット動作を完了するのに必要充分な時間がカウンタ２１による計数動作で経過するのを待って活性される。制御信号Ｓ５が活性化された後、マイクロコンピュータ１は電源電圧ＶＣＣを動作電源としてクロック信号φｓに同期して内部動作を正常に行なうことが可能になる。
【００２８】
前記データ転送制御回路４は前記制御信号Ｓ５の活性化を待ってデータ転送制御を行なう。すなわち、マイクロコンピュータ１が電源電圧ＶＣＣを動作電源としてクロック信号φｓに同期して内部動作を正常に行なうことが可能になってから、そのパワーオンリセット中に、前記フラッシュメモリ７から前記ＲＡＭ８に所定のプログラムの転送を行なう。転送方法は、特に制限されないが、ここではダイレクト・メモリ・アクセス転送と同様の転送制御とされ、転送元アドレス、転送先アドレス、及び転送語数などは、データ転送制御回路４のリセット動作によってハードウェアで一義的に決定される。リセットによるフラッシュメモリ７とＲＡＭ８に対するアドレスマッピングは、図２に例示されるように、フラッシュメモリ７はアドレスＨ’０００００〜Ｈ’３ＦＦＦＦとされ、ＲＡＭ８はアドレスＨ’ＦＤ０００〜Ｈ’ＦＦＦＦＦとされる。このアドレスマッピングはバスコントローラ３の空間制御レジスタ３０がリセットされることによりハードウェア的に設定される。データ転送制御回路４にリセット中に設定される転送元はフラッシュメモリ７のエリアＦＥ１に割当てられるアドレスＨ’０００００〜Ｈ’００ＦＦＦとされ、転送先はＲＡＭ８のエリアＲＥ１に割当てられるアドレスＨ’ＦＤ０００〜Ｈ’ＦＤＦＦＦとされる。エリアＦＥ１には例外処理及び割込み処理ベクタＶＥＣと、一部のプログラムＰＧＭ１が格納され、これがＲＡＭ８のエリアＲＥ１に転送される。一部のプログラムＰＧＭ１にはリセット例外処理プログラムが含まれている。エリアＦＥ１からエリアＲＥ１への転送を完了した後、データ転送制御回路４は、ＲＡＭ８の一部の領域ＲＥ１に、プログラム領域としてアドレスＨ’０００００〜Ｈ’００ＦＦＦを割当て、フラッシュメモリの一部の領域ＦＥ２に、それに続くプログラム領域としてアドレスＨ’０１０００〜Ｈ’３ＦＦＦＦを割当てる。フラッシュメモリ７のエリアＦＥ１はアドレスマッピングされず、非アクセス領域とされ、ＲＡＭ８のエリアＲＥ２はアドレスＨ’ＦＥ０００〜Ｈ’ＦＦＦＦＦに割当てられてＣＰＵ２の作業領域とされる。このアドレスマッピングはデータ転送制御回路４がバスコントローラ３の空間制御レジスタ３０に制御データを設定することで行われる。これによるフラッシュメモリ７とＲＡＭ８のアドレスマッピングは図３に例示されるようになる。更にデータ転送制御回路４は、モジュール停止制御レジスタ１６に対するデータ設定を変更して、フラッシュメモリ７を動作停止モジュールに変更し、フラッシュメモリ７による電力消費をゼロとする。データ転送制御回路４はここまでの処理を完了した後に、前記信号Ｓ３をアサートする。
【００２９】
外部リセット信号ＲＥＳ／によりリセット解除が指示され、前記信号Ｓ３がアサートされることにより、内部リセット信号ｒｅｓ／によりリセット動作が解除され、これによりＣＰＵ２は０番地（アドレスＨ’０００００）のリセットベクタをフェッチしてリセット例外処理を実行することになる。このとき、０番地は前述の通りＲＡＭ８の一部の領域ＲＥ１に割当てられており、ＲＡＭ８からリセットベクタをフェッチし、ＲＡＭ８からリセット例外処理プログラムをフェッチして実行する。この後も、ＣＰＵ２はＲＡＭ８からプログラムをフェッチして実行することができる。フラッシュメモリ７のプログラムを実行したい場合にはフラッシュメモリ７を動作可能にする。このときＲＡＭ８を全てＣＰＵ２の作業領域としたい場合にはアドレスマッピングを図２のように変更すればよい。更に命令実行を高速化したい場合にはメイン発振器１２を発振動作させ、その出力をセレクタ１４に選択させて、クロック信号φｓの周波数を高速化すればよい。
【００３０】
マイクロコンピュータ１の動作モードは、特に制限されないが、低消費電力モード、通常動作モード及びスタンバイモードとされる。
【００３１】
低消費電力モードは動作基準クロック信号φｓをサブ発振器１３の発振出力とし、メイン発振器１２の発振動作を停止させ、フラッシュメモリ７を動作不可能とし、ＲＡＭ８のエリアＲＥ１をＣＰＵ２のプログラム領域とする動作モードである。マイクロコンピュータ１は、上述の説明より明らかのように、リセット動作が解除されたとき低消費電力モードになっている。低消費電力モードにおいてＣＰＵ２によるＨ’０００００からのプログラムアクセスに対しては図４に例示されるようにＲＡＭがアクセスされる。
【００３２】
前記通常動作モードは動作基準クロック信号φｓをメイン発振器１２の発振出力とし、フラッシュメモリ７を動作可能とし、ＣＰＵ２のプログラム領域をフラッシュメモリ７とする動作モードである。低消費電力モードから前記通常動作モードへの遷移は、その他周辺回路１０又は外部から高速演算処理を行なうの所定の割り込み要求（高速動作要求）に応答する割り込み処理の一貫として、前記バス制御レジスタ３０及びモジュール停止制御レジスタ１６の設定変更により行われる。その高速動作要求に応答する割り込み処理が終了すると、マイクロコンピュータは割り込み前の状態に復帰され、低消費電力モードに戻される。通常動作モードにおいてＣＰＵ２によるＨ’０００００からのプログラムアクセスに対しては図５に例示されるようにフラッシュメモリ７がアクセスされる。
【００３３】
前記スタンバイモードの指示は前記スタンバイ信号ＳＴＢにより前記モジュール停止制御レジスタ１６に与えられ、全ての回路モジュールの動作を停止させるようにその制御データが強制される。これによって、発振器１２，１３の発振動作が停止され、ＣＰＵ２及びフラッシュメモリ７等の動作が停止される。スタンバイ信号ＳＴＢがネゲートされてスタンバイモードの解除が指示されると、前記モジュール停止制御レジスタ１６の前記制御データは前記低消費電力モードとのときと同じ状態にされる。尚、スタンバイモードは、ＣＰＵ２がスリープ命令を実行して、全ての回路モジュールの動作を停止させるように前記モジュール停止制御レジスタ１６の制御データを変更して設定するようにしてもよい。
【００３４】
図６にはマイクロコンピュータ１のパワーオンリセットスタートのタイミングチャートが例示される。図７及び図８にはその時の動作フローチャートが示される。
【００３５】
図６において▲１▼▲２▼▲３▼はリセット中の動作を示し、▲１▼では外部リセット信号ＲＥＳ／のアサートによって開始される内部リセット処理が行われ、電源電圧ＶＣＣ及びサブ発振器１３の発振安定待ちの期間とされる。すなわち図７において、電源電圧が動作可能電圧になったことを判別し（Ｓ１）、その後、発振安定時間の経過を待つ（Ｓ２）。上記内部リセット処理におけるマイクロコンピュータ１の内部状態の概略は図９に例示される。太い矩形で示される回路モジュールが動作可能な回路モジュールとされる。メインクロックはメイン発振器１２が出力するクロック信号、サブクロックはサブ発振器１３が出力するクロック信号である。
【００３６】
図６の▲２▼▲３▼はデータ転送制御回路４によるフラッシュメモリ７からＲＡＭ８へのベクタ及びプログラムの転送処理等の期間とされる。図７ではステップＳ３のデータ転送処理が行なわれる。特に▲３▼は外部からのリセット解除が指示されていても未だ前記プログラムの転送が終了されていない期間を意味する。前記プログラムなどの転送処理の後にフラッシュメモリ７はモジュール停止制御によって動作不可能にされる。上記プログラムなどの転送処理におけるマイクロコンピュータ１の内部状態の概略は図１０に例示される。
【００３７】
この後、マイクロコンピュータ１は図６の▲４▼の期間で示される低消費電力モードで動作される。先ず最初に、ＲＡＭ８からリセットベクタをフェッチしてリセット例外処理を実行し、その後、低消費電力モードで、外部からの高速動作要求の有無を監視する。例えばボタン操作の入力監視或はデータ受信の待ち受けを行なう。図７において、リセット例外処理などはステップＳ６の処理とされ、高速動作要求の有無監視はステップＳ７の処理とされる。上記低消費電力モードにおけるマイクロコンピュータ１の内部状態の概略は図１１に例示される。
【００３８】
図６の▲５▼では例えばボタン操作の入力を検出し、通常動作モードへの遷移制御を行なう。すなわち、メイン発振器１２を発振動作させて、フラッシュメモリ７のモジュール停止を解除して動作可能にする。発振クロック信号φｓの安定化と、フラッシュメモリ７の発振回路ＴＣＮＴの動作安定化を待て、クロック信号の切換えと、バス制御レジスタ３０によるアドレスマッピングの切換えを行なって、マイクロコンピュータ１を▲６▼の期間で示されるように通常動作モードで動作させる。図８において、通常動作モードへの遷移処理はステップＳ８〜Ｓ１１の処理とされ、通常動作モードでの処理はステップＳ１２〜Ｓ１３とされる。上記通常動作モードに遷移するときのマイクロコンピュータ１の内部状態の概略は図１２に例示される。また、上記通常動作モードにおけるマイクロコンピュータ１の内部状態の概略は図１３に例示される。
【００３９】
通常動作モードによる必要な動作を終了した後、▲７▼で示されるように動作モードを再び低消費電力モードに遷移させる。図８においてその遷移処理はステップＳ１４〜Ｓ１６で示される。
【００４０】
図６では、低消費電力モードにおいて、例えば一定期間動作要求が無いような場合に、▲８▼で示されるように外部からスタンバイモードが指示される。スタンバイモードの解除が指示されると、▲９▼のようにサブクロック発振器１３が発振動作を再開して低消費電力モードにされる。図１４には上記スタンバイモードにおけるマイクロコンピュータ１の内部状態が概略的に示される。
【００４１】
以上の説明ではマイクロコンピュータ１はリセット解除後に低消費電力モードとされ、そのままの動作モードでリセット例外処理を行なうものとして説明した。すなわち、リセット解除の直後に、前記フラッシュメモリ７の動作を停止した状態で前記ＣＰＵ２が前記ＲＡＭ８のプログラムを実行する低消費電力モードが設定されている。リセット中にプログラムの転送が行なわれるからユーザプログラムに依存せずに、マイクロコンピュータ１に固有の機能としてオンチップのフラッシュメモリ７による電力消費を削減してマイクロコンピュータ１全体としての低消費電力を実現することができる。マイクロコンピュータ１は低消費電力モードを主たる動作モードとして動作するから、優れた低消費電力性能を実現することができる。
【００４２】
本発明のマイクロコンピュータ１は、上記とは逆に、リセット解除後は通常動作モードとされ、この動作モードでリセット例外処理を行ない、必要に応じて低消費電力モードで動作するように構成することも可能である。以下、マイクロコンピュータ１にそのいような構成を採用する場合について説明する。すなわち、フラッシュメモリ７からＲＡＭ８へのプログラム及びベクタの転送処理を終えたとき、フラッシュメモリ７の動作を可能なままとし、ＣＰＵ２のアドレス空間に対するＲＡＭ８とフラッシュメモリ７のアドレスマッピングを図２の状態のままに維持する。リセット解除後、ＣＰＵ２は図５に例示される態様でフラッシュメモリ７のプログラムを実行してリセット例外処理等を行なう。割り込みなどにより必要に応じて動作モードを低消費電力モードに設定変更し、低消費電力モードによる動作終了後には、割り込み処理から復帰して通常動作モードによる命令実行が可能にされる。
【００４３】
図１５にはリセット直後に通常動作モードにされるマイクロコンピュータのパワーオンリセットスタートのタイミングチャートが例示される。図１６及び図１７にはその時の動作フローチャートが示される。
【００４４】
図１５において▲１▼▲２▼▲３▼はリセット中の動作を示し、▲１▼では外部リセット信号ＲＥＳ／のアサートによって開始される内部リセット処理が行われ、電源電圧ＶＣＣ及びサブ発振器１３の発振安定待ちの期間とされる。すなわち図１６において、電源電圧が動作可能電圧になったことを判別し（Ｓ１１）、その後、発振安定時間の経過を待つ（Ｓ１２）。
【００４５】
図１５の▲２▼▲３▼はデータ転送制御回路４によるフラッシュメモリ７からＲＡＭ８へのベクタ及びプログラムの転送処理等の期間とされる。図１６ではステップＳ１３のデータ転送処理が行なわれる。特に▲３▼は外部からのリセット解除が指示されていても未だ前記プログラムの転送が終了されていない期間を意味する。
【００４６】
この後、マイクロコンピュータ１は図１５の▲４▼の期間で示される通常動作モードで動作される。先ず最初に、フラッシュメモリ７からリセットベクタをフェッチしてリセット例外処理を実行し、その後、通常動作モードによる高速動作での動作の完了を監視する。図１６において、リセット例外処理などはステップＳ１５の処理とされ、高速動作完了の監視はステップＳ１６の処理とされる。
【００４７】
図１５の▲５▼では例えば低消費電力モードへのへの遷移制御を行なう。すなわち、図１７に例示されるように、バス制御レジスタ３０によるアドレスマッピングの切換えを行ない（Ｓ１７）、フラッシュメモリ７の動作を停止させ（Ｓ１８）、メイン発振器１２の発振を停止させ、動作基準クロック信号φｓをサブ発振器１３の発振出力に切換える（Ｓ１９）。これによってＣＰＵ２は図４のアドレスマッピングされたＲＡＭ８から命令をフェッチしてプログラムを実行する（Ｓ２０）。低消費電力モードによる必要な動作を終了した後、通常動作モードによる高速動作の要求が有るかを監視する（Ｓ２１）。
【００４８】
高速動作の要求を検出すると、図１５の▲６▼で通常動作モードへの遷移制御を行なう。すなわち、メイン発振器１２を発振動作させて、フラッシュメモリ７のモジュール停止を解除して動作可能にする。発振クロック信号φｓの安定化と、フラッシュメモリ７の発振回路ＴＣＮＴの動作安定化を待て、クロック信号の切換えと、バス制御レジスタ３０によるアドレスマッピングの切換えを行なって、マイクロコンピュータ１を▲７▼の期間で示されるように通常動作モードで動作させる。図１７において、通常動作モードへの遷移処理はステップＳ２２〜Ｓ２５の処理とされる。
【００４９】
図１５の例では、通常動作モードによる必要な動作を終了した後、▲８▼で示されるようなスタンバイモードを設定し、その後再び通常動作電力モードに遷移する。
【００５０】
図１５に例示されるようにリセット解除後のリセット例外処理を実行した後に前記低消費電力モードへの遷移が可能にされる構成においては、前記低消費電力モードへの遷移はユーザプログラム或は外部からの指示に従って行われるが、マイクロコンピュータそれ自体は、その指示があれば即座に低消費電力モードに遷移できるように身構えることができる。
【００５１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５２】
例えば、マイクロコンピュータの動作モードは低消費電力モード、通常動作モード、及びスタンバイモードに限定されない。ＣＰＵとフラッシュメモリの動作を停止させて所定の周辺回路を動作可能にするスリープモード、ＣＰＵとフラッシュメモリを動作可能とし周辺回路を動作停止させるモジュールスタンバイモード、ＣＰＵとフラッシュメモリと周辺回路とを時計用クロックに同期動作させるサブアクティブモード、ＣＰＵとフラッシュメモリを動作停止させ周辺回路を時計用クロックに同期動作可能にするサブスリープモード、ＣＰＵとフラッシュメモリの動作を停止させ時計用タイマだけ動作可能にするウオッチモードなどを備えてもよい。また、発振器はメイン発振器とサブ発振器の２個を別々に持つ構成に限定されないが、時計用などに用いられる高精度を要せず周波数の低い発振器を高精度且つ高周波数の発振器と別に持ち、低消費電力優先のクロック同期動作時には前者の発振器だけを動作させるようにすることが低消費電力には好適である。マイクロコンピュータが保有する回路モジュールは図１の例に限定されず適宜変更可能である。電気的に書換え可能な不揮発性メモリはフラッシュメモリに限定されず、ＥＥＰＲＯＭ、高誘電体メモリ等であってもよい。データ転送制御回路４はリセット処理の一貫として行われるプログラム転送処理専用回路として構成してもよいが、オンチップ回路モジュールとしてダイレクトメモリアクセスコントローラのような汎用利用可能な転送制御回路を有するときは、そのような転送制御回路を前記リセット処理におけるプログラムの転送制御に流用してもよい。
【００５３】
本発明のデータプロセッサはマイクロコンピュータの他、マイクロプロセッサ、シングルチップデータプロセッサなどと称される種々のデータ処理装置に広く適用することができる。
【００５４】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００５５】
すなわち、本発明に係るデータプロセッサによれば、リセット中に不揮発性メモリからＲＡＭにプログラムの転送を行なうから、指示があれば即座に低消費電力モードに遷移できるように身構えることができる。また、ユーザプログラムに依存せずに、マイクロコンピュータに固有の機能としてオンチップの不揮発性メモリによる電力消費を削減してマイクロコンピュータ全体としての低消費電力を実現することができる。
【図面の簡単な説明】
【図１】本発明の一例に係るマイクロコンピュータのブロック図である。
【図２】リセットによるフラッシュメモリとＲＡＭのアドレスマッピングを例示する説明図である。
【図３】低消費電力モードにおけるフラッシュメモリとＲＡＭのアドレスマッピングを例示する説明図である。
【図４】低消費電力モードにおいてＣＰＵによってアクセス可能なプログラム空間を例示する説明図である。
【図５】通常動作モードにおいてＣＰＵ２によってアクセス可能なプログラム空間を例示する説明図である。
【図６】マイクロコンピュータのパワーオンリセットスタートの状態を例示するタイミングチャートである。
【図７】図６のパワーオンリセットスタートにおける一部の動作制御手順を示す動作フローチャートである。
【図８】図６の続きを示す動作フローチャートである。
【図９】内部リセット処理におけるマイクロコンピュータの内部状態を概略的に例示する説明図である。
【図１０】プログラムなどの転送処理におけるマイクロコンピュータの内部状態を概略的に例示する説明図である。
【図１１】低消費電力モードにおけるマイクロコンピュータの内部状態を概略的に例示する説明図である。
【図１２】通常動作モードに遷移するときのマイクロコンピュータの内部状態を概略的に例示する説明図である。
【図１３】通常動作モードにおけるマイクロコンピュータの内部状態を概略的に例示する説明図である。
【図１４】スタンバイモードにおけるマイクロコンピュータの内部状態を概略的に例示する説明図である。
【図１５】リセット直後に通常動作モードにされるマイクロコンピュータのパワーオンリセットスタートの状態を例示するタイミングチャートである。
【図１６】図１５のパワーオンリセットスタートにおける一部の動作制御手順を示す動作フローチャートである。
【図１７】図１６の続きを示すフローチャートである。
【符号の説明】
１　マイクロコンピュータ
２　中央処理装置（ＣＰＵ）
３　バスコントローラ
４　データ転送制御回路
５　割り込みコントローラ
６　システムコントローラ
７　フラッシュメモリ
８　ＲＡＭ
ＲＥＳ／　外部リセット信号
ｒｅｓ／　内部リセット信号
【図１】
2004070854.tif 000003
【図２】
2004070854.tif 000004
【図３】
2004070854.tif 000005
【図４】
2004070854.tif 000006
【図５】
2004070854.tif 000007
【図６】
2004070854.tif 000008
【図７】
2004070854.tif 000009
【図８】
2004070854.tif 000010
【図９】
2004070854.tif 000011
【図１０】
2004070854.tif 000012
【図１１】
2004070854.tif 000013
【図１２】
2004070854.tif 000014
【図１３】
2004070854.tif 000015
【図１４】
2004070854.tif 000016
【図１５】
2004070854.tif 000017
【図１６】
2004070854.tif 000018
【図１７】
2004070854.tif 000019