(57)【要約】【課題】低速クロック動作時における消費電流を低減することが可能な不揮発性メモリ内蔵マイクロコンピュータを提供する。【解決手段】高速動作モードから低速動作モードへ移行する際、低速クロック動作用プログラムをＦｌａｓｈメモリ１１からＲＡＭ１２に転送し、動作クロックを高速クロックから低速クロックに切り替え、Ｆｌａｓｈメモリ１１の動作を停止させる。そして、ＲＡＭ１２から低速クロック動作用プログラムを読み出してＣＰＵ２の動作を行うようにする。【選択図】　　　　図１
2004013337.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、該ＣＰＵの動作クロックを低速クロックする場合にセットされ、高速クロックにする場合にリセットされる低速動作フラグと、該低速動作フラグの設定内容に応じて動作クロックを出力する選択回路と、前記動作クロックが低速クロックであるときに前記ＣＰＵを動作させるための低速動作用プログラムを少なくとも格納する不揮発性メモリと、ＲＡＭとを備えた不揮発性メモリ内蔵マイクロコンピュータにおいて、
高速動作モードから低速動作モードへ移行する命令を受けると、前記低速クロック動作用プログラムを前記不揮発性メモリから前記ＲＡＭに転送し、前記低速動作フラグをセットして動作クロックを低速クロックに切り替え、前記不揮発性メモリの動作を停止させる制御手段を備え、前記ＣＰＵは、前記制御手段により前記低速クロック動作用プログラムが前記ＲＡＭに転送され、動作クロックが低速クロックに切り替えられた後、前記ＲＡＭからの前記低速クロック動作用プログラムにより動作を行うことを特徴とする不揮発性メモリ内蔵マイクロコンピュータ。
【請求項２】
前記制御手段は、高速動作モードから低速動作モードへ移行する命令を受けると、前記ＲＡＭを前記低速動作対応の低速動作モードにし、該低速動作モードで、前記ＣＰＵによる前記ＲＡＭからの前記低速クロック動作用プログラムによる動作が行われるようにしたことを特徴とする請求項１記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項３】
前記不揮発性メモリの状態を停止状態とする場合にセットされる不揮発性メモリ状態指定フラグと、次に読み出すべき命令のアドレスが指定されるプログラムカウンタと、該プログラムカウンタに指定されるアドレスを監視し、該アドレスが前記低速クロック動作用プログラムが転送された前記ＲＡＭのメモリ領域を指すことを検出する検出回路と、前記不揮発性メモリ状態指定フラグの設定内容及び前記検出回路の出力信号に基づいて前記不揮発性メモリの状態を指定するための信号を前記不揮発性メモリに出力する第１の論理回路と、前記第１の論理回路の出力信号と前記低速動作フラグの設定内容とに基づいて前記ＲＡＭの動作モードを指定するための信号を前記ＲＡＭに出力する第２の論理回路とを備え、
前記制御手段は、高速動作モードから低速動作モードへ移行する命令を受けた際、前記不揮発性メモリ状態指定フラグをセットし、前記ＲＡＭに転送された前記低速クロック動作用プログラムによる命令開始アドレスを前記プログラムカウンタに設定することにより、前記第１の論理回路及び前記第２の論理回路の出力信号を変化させて前記不揮発性メモリを停止状態にし、前記ＲＡＭの動作モードを低速動作モードにすることを特徴とする請求項２記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項４】
ＣＰＵと、該ＣＰＵの動作クロックを低速クロックする場合にセットされ、高速クロックにする場合にリセットされる低速動作フラグと、該低速動作フラグの設定内容に応じて動作クロックを出力する選択回路と、ＣＰＵを動作させるためのプログラムを格納する不揮発性メモリと、ＲＡＭとを備えた不揮発性メモリ内蔵マイクロコンピュータにおいて、
前記ＲＡＭを、前記動作クロックが低速クロックであるときに前記ＣＰＵを動作させるための低速動作用プログラムを格納する第１のＲＡＭと、その他のデータを格納する第２のＲＡＭとに分けて構成し、高速動作モードから低速動作モードへ移行する命令を受けると、前記低速動作フラグをセットして動作クロックを低速クロックに切り替え、前記不揮発性メモリの動作を停止させる制御手段を備え、前記ＣＰＵは、前記制御手段により動作クロックが低速クロックに切り替えられた後、前記第１のＲＡＭからの前記低速クロック動作用プログラムにより動作を行うことを特徴とする不揮発性メモリ内蔵マイクロコンピュータ。
【請求項５】
前記制御手段は、高速動作モードから低速動作モードへ移行する命令を受けると、前記第１のＲＡＭを前記低速動作対応の低速動作モードにし、該低速動作モードで、前記ＣＰＵによる前記第１のＲＡＭからの前記低速クロック動作用プログラムによる動作が行われるようにしたことを特徴とする請求項４記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項６】
前記不揮発性メモリの状態を停止状態とする場合にセットされる不揮発性メモリ状態指定フラグと、次に読み出すべき命令のアドレスが指定されるプログラムカウンタと、該プログラムカウンタに指定されるアドレスを監視し、該アドレスが前記低速動作用プログラムが格納された前記第１のＲＡＭのメモリ領域を指すことを検出する検出回路と、前記不揮発性メモリ状態指定フラグの設定内容及び前記検出回路の出力信号に基づいて前記不揮発性メモリの状態を指定するための信号を前記不揮発性メモリに出力する第１の論理回路と、前記第１の論理回路の出力信号と前記低速動作フラグの設定内容とに基づいて前記第１のＲＡＭの動作モードを指定するための信号を前記第１のＲＡＭに出力する第２の論理回路とを備え、
前記制御手段は、高速動作モードから低速動作モードへ移行する命令を受けた際、前記不揮発性メモリ状態指定フラグをセットし、前記第１のＲＡＭに格納された前記低速クロック動作用プログラムによる命令開始アドレスを前記プログラムカウンタに設定することにより、前記第１の論理回路及び前記第２の論理回路の出力信号を変化させて前記不揮発性メモリを停止状態にし、前記第１のＲＡＭの動作モードを低速動作モードにすることを特徴とする請求項５記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項７】
制御手段は、前記ＣＰＵと前記不揮発性メモリに格納されたプログラムとで構成されることを特徴とする請求項１乃至請求項６の何れかに記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項８】
前記不揮発性メモリはＦｌａｓｈメモリであることを特徴とする請求項１乃至請求項７の何れかに記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項９】
ＣＰＵと、該ＣＰＵの動作クロックを低速クロックする場合にセットされ、高速クロックにする場合にリセットされる低速動作フラグと、該低速動作フラグの設定内容に応じて動作クロックを出力する選択回路と、ＣＰＵを動作させるためのプログラムを格納する不揮発性メモリと、ＲＡＭとを備えた不揮発性メモリ内蔵マイクロコンピュータにおいて、
前記不揮発性メモリを、前記動作クロックが低速クロックであるときに前記ＣＰＵを動作させるための低速動作用プログラムを格納する第１の不揮発性メモリと、前記動作クロックが高速クロックであるときに前記ＣＰＵを動作させるための高速動作用プログラムを格納する第２の不揮発性メモリとに分けて構成し、高速動作モードから低速動作モードへ移行する命令を受けると、前記低速動作フラグをセットして動作クロックを低速クロックに切り替え、前記第２の不揮発性メモリの動作を停止させる制御手段を備え、前記ＣＰＵは、前記制御手段により動作クロックが低速クロックに切り替えられた後、前記第１の不揮発性メモリからの前記低速クロック動作用プログラムにより動作を行うことを特徴とする不揮発性メモリ内蔵マイクロコンピュータ。
【請求項１０】
前記制御手段は、前記ＣＰＵが、前記第２の不揮発性メモリからの前記高速クロック動作用プログラムにより動作を行っている期間中、前記第１の不揮発性メモリの動作を停止させることを特徴とする請求項９記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項１１】
前記第２の不揮発性メモリの状態を停止状態とする場合にセットされる不揮発性メモリ状態指定フラグと、次に読み出すべき命令のアドレスが指定されるプログラムカウンタと、該プログラムカウンタに指定されるアドレスを監視し、該アドレスが前記低速動作用プログラムが格納された前記第１の不揮発性メモリのメモリ領域を指すことを検出する検出回路と、前記不揮発性メモリ状態指定フラグの設定内容及び前記検出回路の出力信号に基づいて前記第２の不揮発性メモリの状態を指定するための信号を前記第２の不揮発性メモリに出力する第１の論理回路と、前記第１の論理回路の出力信号を反転させた信号を前記第１の不揮発性メモリの状態を指定するための信号として前記第１の不揮発性メモリに出力する第２の論理回路とを備え、
前記制御手段は、高速動作モードから低速動作モードへ移行する命令を受けた際、前記不揮発性メモリ状態指定フラグをセットし、前記第１の不揮発性メモリに格納された前記低速クロック動作用プログラムによる命令開始アドレスを前記プログラムカウンタに設定することにより、前記第１の論理回路及び前記第２の論理回路の出力信号を変化させて前記第２の不揮発性メモリの状態を停止状態とする一方、前記第１の不揮発性メモリの状態を動作状態とすることを特徴とする請求項１０記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項１２】
制御手段は、前記ＣＰＵと前記第２の不揮発性メモリに格納されたプログラムとで構成されることを特徴とする請求項９乃至請求項１１の何れかに記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項１３】
前記第１の不揮発性メモリと前記第２の不揮発性メモリはＦｌａｓｈメモリであることを特徴とする請求項９乃至請求項１２の何れかに記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項１４】
前記第１の不揮発性メモリと前記第２の不揮発性メモリのセンスアンプを共用して合体した第３の不揮発性メモリと、前記第２の不揮発性メモリの状態を停止状態とする場合にセットされる不揮発性メモリ状態指定フラグと、次に読み出すべき命令のアドレスが指定されるプログラムカウンタと、該プログラムカウンタに指定されるアドレスを監視し、該アドレスが前記低速動作用プログラムが格納された前記第１の不揮発性メモリのメモリ領域を指すことを検出する検出回路と、前記不揮発性メモリ状態指定フラグの設定内容及び前記検出回路の出力信号に基づいて前記第３の不揮発性メモリのセンスアンプを低速動作モードに設定するための信号を出力する第１の論理回路と、前記第１の論理回路の出力信号を反転させた信号を出力する第２の論理回路と、該第２の論理回路の出力に基づいて前記第２の不揮発性メモリのデータ線を前記第１の不揮発性メモリのデータ線から電気的に切り離すか否かを切り替えるスイッチ回路とを備え、
前記制御手段は、高速動作モードから低速動作モードへ移行する命令を受けた際、前記不揮発性メモリ状態指定フラグをセットし、前記第１の不揮発性メモリに格納された前記低速クロック動作用プログラムによる命令開始アドレスを前記プログラムカウンタに設定することにより、前記第１の論理回路および第２の論理回路を変化させて前記スイッチ回路により前記第１の不揮発性メモリのデータ線を前記第２の不揮発性メモリから電気的に切り離して前記センスアンプに対するデコード負荷を減らし、かつ前記センスアンプを低速動作モードに設定することを特徴とする請求項９記載の不揮発性メモリ内蔵マイクロコンピュータ。
【請求項１５】
第１の動作速度及び該第１の動作速度よりも遅い第２の動作速度で動作するマイクロコンピュータであって、
プログラムを格納する不揮発性メモリと、
前記不揮発性メモリに格納されているプログラムを転送されることにより格納する第１のメモリと、
前記第１の動作速度のときは前記不揮発性メモリに格納されているプログラムを実行し、前記第２の動作速度のときは前記第１のメモリに格納されているプログラムを実行するＣＰＵとを有することを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性メモリを内蔵するマイクロコンピュータの低速動作時の消費電流を低減する技術に関するものである。
【０００２】
【従来の技術】
カメラや携帯オーディオなどに代表されるポータブルな機器に内蔵されるマイクロコンピュータにおいては、その電流を電池などのバッテリー類に頼っているため、機器の使用可能時間を確保するために消費電流をなるべく少なくすることが求められている。
【０００３】
そのようなポータブル機器は、市場における製品価値の維持・向上を図るため、製品仕様の小刻な改良が行われている。このような改良に伴うアプリケーションプログラムの変更を容易とするために、マイクロコンピュータのプログラムを格納する主メモリには、電気的に内容を書き換え可能なＦｌａｓｈメモリが使用されている。
【０００４】
Ｆｌａｓｈメモリは、一般に量産時に用いられるマスクＲＯＭ版マイクロコンピュータに比べて高価ではあるが、マスクＲＯＭ版マイクロコンピュータがＬＳＩに予めプログラムを組み込んで製造しなければならないという性質上、製造に至るまでにそれ相当の期間を要するに対し、電気的に書き換え可能であることから製造時期を早めに設定することが可能である、このため、マスクＲＯＭ版マイクロコンピュータの量産開始のスピード確保と、市場クレームの早期発見とそのフィードバックを目的として、マスクＲＯＭ版マイクロコンピュータの量産開始に先立ってＦｌａｓｈメモリ内蔵のマイクロコンピュータによる製品を先行出荷することがしばしば行われている。
【０００５】
【発明が解決しようとする課題】
ところで、ポータブル機器に組み込まれることを目的とするマイクロコンピュータには、消費電流低減のため、低速クロック動作モードやクロック停止モードが用意されているものがある。しかしながら、Ｆｌａｓｈメモリ内蔵マイクロコンピュータには以下の問題点があった。
【０００６】
マイクロコンピュータでは、その仕様上、プログラムを格納するＦｌａｓｈメモリやマスクＲＯＭ等の不揮発性メモリの容量は、データを格納するスタティックＲＡＭ（以下、ＲＡＭと略す）の１０〜２０倍程度の容量を持つのが一般的である。Ｆｌａｓｈメモリは、マスクＲＯＭに比べてアクセス時の消費電流が多く、また、メモリ容量の違い（１０〜２０倍）に起因してデータ格納用ＲＡＭに比べてアクセス時の消費電流が多い場合が多い。
【０００７】
そのため、Ｆｌａｓｈメモリの消費電流の低減を図ることは、機器の使用可能時間を確保する上で重要な事項とされている。この点に関し、Ｆｌａｓｈメモリ内蔵マイクロコンピュータが通常動作の場合は、Ｆｌａｓｈメモリ内蔵マイクロコンピュータ全体の消費電流が多いため、Ｆｌａｓｈメモリの消費電流は目立たずあまり問題とならない。また、クロック停止モードでＦｌａｓｈメモリをアクセスする必要が無いような場合も問題ないが、低速クロック（例えば時計用の３２．７６８ＫＨｚなど）でマイクロコンピュータ全体を動作させる場合、そのときのマイクロコンピュータロジック部（メモリ以外の部分）がクロックの周波数に比例して消費電流が少なくなるのに比べ、Ｆｌａｓｈメモリの消費電流は僅かに低減される程度であるため、Ｆｌａｓｈメモリが消費する電流の割合が上昇して無視できない程度となる。このことは、Ｆｌａｓｈメモリに限られず、他のＥＰＲＯＭなどの不揮発性メモリについても同様のことが問題となっており、実使用の大半が低速クロックモードであるようなマイクロコンピュータの応用例では、その影響が更に顕著となる。
【０００８】
このようなことから、低速クロック動作時における消費電流を低減することが可能な不揮発性メモリ内蔵マイクロコンピュータの開発が望まれていた。
【０００９】
【課題を解決するための手段】
本発明に係る不揮発メモリ内蔵マイクロコンピュータは、ＣＰＵと、ＣＰＵの動作クロックを低速クロックする場合にセットされ、高速クロックにする場合にリセットされる低速動作フラグと、低速動作フラグの設定内容に応じて動作クロックを出力する選択回路と、動作クロックが低速クロックであるときにＣＰＵを動作させるための低速動作用プログラムを少なくとも格納する不揮発性メモリと、ＲＡＭとを備えた不揮発性メモリ内蔵マイクロコンピュータにおいて、
高速動作モードから低速動作モードへ移行する命令を受けると、低速クロック動作用プログラムを不揮発性メモリからＲＡＭに転送し、低速動作フラグをセットして動作クロックを低速クロックに切り替え、不揮発性メモリの動作を停止させる制御手段を備え、ＣＰＵは、制御手段により低速クロック動作用プログラムがＲＡＭに転送され、動作クロックが低速クロックに切り替えられた後、ＲＡＭからの低速クロック動作用プログラムにより動作を行うものである。
【００１０】
本発明においては、低速クロック動作用プログラムを不揮発性メモリからＲＡＭに転送し、動作クロックを高速クロックから低速クロックに切り替え、不揮発性メモリの動作を停止させる。そして、ＲＡＭから低速クロック動作用プログラムによるＣＰＵ動作を行うようにして低速クロック動作時の消費電流の低減を図る。
【００１１】
【発明の実施の形態】
実施の形態１．
図１は、本発明の実施の形態１の不揮発性メモリ内蔵マイクロコンピュータ１の構成を示すブロック図である。
図１において、ＣＰＵ２は、プログラム格納用の不揮発性メモリとしてのＦｌａｓｈメモリ１１に格納されたプログラムを、データ格納用のＲＡＭ１２をワーキングエリアとして利用しながら実行するもので、プログラムカウンタ３と、低速動作フラグ４と、セレクタ５と、Ｆｌａｓｈメモリ状態指定フラグ６とを備えている。
【００１２】
低速動作フラグ４は、動作クロックの周波数を、低速クロック動作モードにする場合にセットされ、通常の高速クロック動作モードにする場合にリセットされるもので、１ビットのレジスタで構成されている。セレクタ５は、低速動作フラグ４の出力信号を選択信号ＳＥＬとして入力し、該選択信号ＳＥＬに応じて低速クロック生成回路（図示せず）から供給される低速クロック信号ＣＬＫと、高速クロック生成回路（図示せず）から供給される高速クロック信号ＣＬＫとの何れか一方を選択してＣＰＵ２へ動作クロックＣＰＵ＿ＣＬＫとして供給するものである。
【００１３】
Ｆｌａｓｈメモリ状態指定フラグ６は、Ｆｌａｓｈメモリ１１を動作状態から停止状態に変更する際にセットされ、Ｆｌａｓｈメモリ１１の停止状態を解除する際にリセットされるもので、１ビットのレジスタで構成されている。
【００１４】
Ｆｌａｓｈメモリ１１及びＲＡＭ１２は、この実施の形態１では、それぞれ６０ＫＢｙｔｅと４ＫＢｙｔｅの容量を有しており、次の図にそのメモリマップを示す。
【００１５】
図２はＦｌａｓｈメモリ及びＲＡＭのメモリマップを示す図である。
Ｆｌａｓｈメモリ１１は、００００Ｈ〜ＥＦＦＦＨまでのメモリ空間を有し、ＲＡＭ１２はＦ０００Ｈ〜ＦＦＦＦＨまでのメモリ空間を有している。Ｆｌａｓｈメモリ１１は、ここでは５８ＫＢｙｔｅのＦｌａｓｈメモリ領域Ａと２ＫＢｙｔｅのＦｌａｓｈメモリ領域Ｂで構成されており、Ｆｌａｓｈメモリ領域Ａには高速クロック動作用のプログラムが格納されており、ＦｌａｓｈメモリＢには低速クロック動作用のプログラムが格納されている。また、ＲＡＭ１２は、データ格納用として使用される以外に、以下に詳述するが、低速クロック動作用プログラムを格納するメモリ領域としても使用され、本実施の形態では２ＫＢずつのＲＡＭ領域ＣとＲＡＭ領域Ｄのうち、ＲＡＭ領域Ｄがその格納領域として使用されるようになっている。
【００１６】
ここで図１の説明に戻る。Ｆｌａｓｈメモリ１１は、通常のＦｌａｓｈアドレス端子、ＷｒｉｔｅＤａｔａ端子、ＲｅａｄＤａｔａ端子に加え、ＳＴＤＢＹ端子を有し、該ＳＴＤＢＹ端子に「１」が入力されると動作を停止して停止状態となり（すなわちセンスアンプ動作を停止する）、「０」が入力されると動作を再開して動作状態となる。また、ＲＡＭ１２も同様に、通常のＲＡＭアドレス端子、ＷｒｉｔｅＤａｔａ端子、ＲｅａｄＤａｔａ端子に加え、低速動作モード端子を有し、該低速動作モード端子に「１」が入力されると、センスアンプに供給する電流を低速動作が可能な程度に低減する低速動作モードとなり、「０」が入力されると通常モードとなる。
【００１７】
また、図１において２１、２２、２３、３１、３２はＣＰＵ２とＦｌａｓｈメモリ１１及びＲＡＭ１２とを接続するバスで、特に２１はデータ書き込み及び読み出しを行うアドレスを指定するために用いられるアドレスバス、２２、３２はデータの書込に用いられるライトデータバス、２３、３１はデータの読み出しに用いられるリードデータバスである。また、図示省略したが、ＣＰＵ２とＦｌａｓｈメモリ１１及びＲＡＭ１２との間には、それぞれ制御信号を伝達する制御バスが設けられており、制御バスにリード信号又はライト信号を送出するとともに、アドレスバスを介してアドレスを指定することにより、指定されたアドレスにデータをライトデータバスを介して書き込む動作と、指定されたアドレスからデータをリードデータバスを介して読み出す動作とが行なわれるようになっている。
【００１８】
４１は、プログラムカウンタ（以下、ＰＣと略す）３を監視し、ＰＣ３が指定するアドレスがＲＡＭ領域Ｄを指すことを検出するＲＡＭ領域Ｄ検出回路で、ＰＣ３が指定するアドレスがＲＡＭ領域Ｄを指していれば、「１」を、指していなければ「０」を出力する。このＰＣ３にＲＡＭ領域Ｄ内のアドレスが指定されることを検出することの意味については以下の説明で明らかにすることにする。
【００１９】
４２は、ＲＡＭ領域Ｄ検出回路４１の出力信号を選択信号ＳＥＬとして入力し、該選択信号ＳＥＬが「１」であればＲＡＭ１２に格納された命令コードをＣＰＵ２に入力させ、選択信号ＳＥＬが「０」であればＦｌａｓｈメモリ１１に格納された命令コードをＣＰＵ２に入力させるセレクタである。
【００２０】
４３は、ＲＡＭ領域Ｄ検出回路４１の出力信号とＦｌａｓｈメモリ状態指定フラグ６から読み出した信号との論理積を取り、Ｆｌａｓｈメモリ状態選択信号をＦｌａｓｈメモリ１１のＳＴＤＢＹ端子に出力するＡＮＤ回路である。
【００２１】
４４は、ＡＮＤ回路４３の出力と、低速動作フラグ４出力との論理積を取り、低速動作モード設定信号をＲＡＭ１２の低速動作モード端子に出力するＡＮＤ回路である。
【００２２】
図３は、本発明の実施の形態１の不揮発性メモリ内蔵マイクロコンピュータ１の動作を説明するためのフローチャートである。ここでは、高速クロック動作モードから低速クロック動作モードに移行して、低速クロック動作用プログラムによる動作を行いたい場合について考える。
まず、ＣＰＵ２は、Ｆｌａｓｈメモリ領域Ｂに格納されている低速クロック動作用プログラムをＲＡＭ領域Ｄに転送するために、ＲＡＭ領域Ｄに現在格納されているデータを、ＲＡＭ領域Ｃの空きスペースあるいはＦｌａｓｈメモリ領域Ａの空きスペースへ退避する。
【００２３】
そして、ＣＰＵ２は、低速クロック動作用プログラムをＦｌａｓｈメモリ１１からＲＡＭ領域Ｄに転送する（Ｓ１）。なお、低速クロック動作用プログラムが２ＫＢｙｔｅに未満で、ＲＡＭ領域Ｄに余ったメモリ領域がある場合には、そのメモリ領域に、高速クロック動作用プログラムから低速クロック動作用プログラムに引き渡すデータを用意するように構成しても良い。
【００２４】
ついで、ＣＰＵ２は、低速動作フラグ４をセットし（Ｓ２）、動作クロックＣＰＵ＿ＣＬＫを高速クロックから低速クロックに変更して低速動作を開始する（Ｓ３）。そして、Ｆｌａｓｈメモリ状態指定フラグ６をセットし（Ｓ４）、低速クロック動作用プログラムの命令動作の開始アドレスをＰＣ３にセットする（Ｓ５）。ここでは、開始アドレスを低速クロック動作用プログラムが格納されたＲＡＭ領域Ｄの先頭番地とすると、Ｆ８００Ｈ番地がＰＣ３にセットされることになる。その後、ＣＰＵ２はＲＡＭ領域Ｄから低速クロック動作用プログラムによる処理を実行する（Ｓ６）。
【００２５】
一方、ＲＡＭ領域Ｄ検出回路４１はＰＣ３を監視しており、ステップＳ５でＰＣ３にＦ８００Ｈ番地がセットされるとＲＡＭ領域Ｄであることから「１」を出力する。その結果、ＡＮＤ回路４３からＦｌａｓｈメモリ１１のＳＴＤＢＹ端子に「１」が出力され、Ｆｌａｓｈメモリ１１はセンスアンプ動作を停止し、これにより不揮発性メモリ内蔵マイクロコンピュータ１は低消費電流状態Ｘ１となる。
【００２６】
この低消費電流状態Ｘ１にあるとき、ＡＮＤ回路４３の出力と低速動作フラグ出力とは共に「１」であることから、ＡＮＤ回路４４の出力は「１」となり、ＲＡＭ１２の低速動作モード端子に「１」が供給される。その結果、ＲＡＭ１２は、センスアンプに供給する電流を低速動作が可能な低速動作モード用の電流となるように切り替える。これにより不揮発性メモリ内蔵マイクロコンピュータ１は低消費電流状態Ｘ１よりも更に消費電流が低減された低消費電流状態Ｘ２となる。
【００２７】
そして、割り込み（ハードウェア要因）あるいはＦｌａｓｈメモリ領域Ａ、Ｂへのアクセス（ソフトウェア要因）等が発生すると、ＣＰＵ２はその発生要因に対応する処理プログラム（高速クロック動作用プログラムの１つである）の命令動作の開始アドレスをＰＣ３にセットする。ここでＰＣ３にセットされるアドレスは、Ｆｌａｓｈメモリ領域Ａ内にあることからＲＡＭ領域Ｄ検出回路４１の出力信号は「０」となり、したがって、セレクタ４２は命令コードの供給元をＲＡＭ１２からＦｌａｓｈメモリ１１に切り替え、Ｆｌａｓｈメモリ領域ＡにおいてＰＣ３で指定されたアドレスに格納された命令コードがＣＰＵ２に入力される。
【００２８】
一方、ＲＡＭ領域Ｄ検出回路４１の出力信号が「０」となることにより、ＡＮＤ回路４３の出力信号が「０」となってＦｌａｓｈメモリ１１のセンスアンプ動作が再開される。そして、ＣＰＵ２は、Ｆｌａｓｈメモリ状態指定フラグ６をリセットする。なお、ＰＣ３の値がＲＡＭ領域Ｄ（Ｆ０００Ｈ〜ＦＦＦＦＨ）ではなくなることでＦｌａｓｈメモリ状態指定フラグ６をリセットする回路構成としてもよい。
【００２９】
そして、低速動作フラグ４をリセットし、動作クロックＣＰＵ＿ＣＬＫを低速クロックから高速クロックに変更して高速動作を再開する。なお、Ｆｌａｓｈメモリ１１が停止状態からの復帰に時間を要する場合は、その間、命令の実行再開を保留する回路が必要である。
【００３０】
このように本実施の形態１によれば、低速クロック動作用プログラムをＦｌａｓｈメモリ１１からＲＡＭ１２に転送し、ＲＡＭ１２から低速クロック動作用プログラムの命令コードを取り出して実行するようにしたので、低速クロック動作時にセンスアンプの消費電流が比較的大きい大容量Ｆｌａｓｈメモリ１１を停止することができ、消費電流を低減することができる。
【００３１】
また、このように低速クロック動作時にＦｌａｓｈメモリ１１を停止するようにしたことに加え、ＲＡＭ１２から低速クロック動作用プログラムの命令コードを取り出して実行している間、ＲＡＭ１２を低速動作モードに切り替えるようにしたので、更に消費電流を低減することが可能となる。
【００３２】
ところで、上述したように、製品製造に際しては量産開始時にＦｌａｓｈメモリなどの不揮発性メモリを内蔵したマイクロコンピュータを用い、その後の大量生産時にマスクＲＯＭ版マイクロコンピュータを用いるということが行われている。この際、これらのマイクロコンピュータが組み込まれるポータブル製品のスペックとして、低速クロック動作時における、ポータブル製品のバッテリによる使用可能な時間（例えば携帯電話の待ち受け時間等）の最大時間は、Ｆｌａｓｈマイクロコンピュータ側のスペックに合わせて提示されている。これは、Ｆｌａｓｈマイクロコンピュータによる最大使用時間の方が、マスクＲＯＭ版マイクロコンピュータに比べてセンスアンプの消費電流が多く、短くなるためで、最大使用時間が短くなる方に合わせる必要があるからである。
【００３３】
この点に関し、上述したように不揮発性メモリを内蔵したマイクロコンピュータにおいて上記構成を採用することにより、Ｆｌａｓｈメモリなどの不揮発性メモリを用いた場合とマスクＲＯＭを用いた場合との低速クロック動作時の消費電流の差が無くなるので、バッテリによる最大使用時間を、量産開始前に一時的に出荷される不揮発性メモリ内蔵マイクロコンピュータ版に合わせて本来のマスクＲＯＭ版マイクロコンピュータによる製品スペックよりも短く提示する必要が無くなるというメリットがある。
【００３４】
実施の形態２．
図４は本発明の実施の形態２の不揮発性メモリ内蔵マイクロコンピュータ１００の構成を示すブロック図である。
実施の形態２の不揮発性メモリ内蔵マイクロコンピュータ１００は、図１に示した実施の形態１の不揮発性メモリ内蔵マイクロコンピュータ１において、４ＫＢｙｔｅの容量を有するＲＡＭ１２に変えて、２ＫＢｙｔｅの容量を有する２つのＲＡＭで構成するようにしたものである。なお、その他の構成は図１に示した実施の形態１と同様であるため同一符号を付して説明は省略する。
【００３５】
ＲＡＭ５１は図２のＲＡＭ領域Ｃに対応するメモリ空間を有し、また、ＲＡＭ５２は図２のＲＡＭ領域Ｄに対応するメモリ空間を有している。また、実施の形態１のＲＡＭ１２に設けられた低速動作モード端子はＲＡＭ５２側に設けられている。
【００３６】
図５は本発明の実施の形態２の不揮発性メモリ内蔵マイクロコンピュータ１００の動作を説明するためのフローチャートである。本実施の形態２の動作は図２に示した実施の形態１とほぼ同様であるため、ここでは図５のフローチャートによって簡単に説明する。
ＣＰＵ２は、まず、Ｆｌａｓｈメモリ領域Ｂに格納された低速クロック動作プログラムをＲＡＭ５２に転送する（Ｓ１１）。そして、低速動作フラグ４をセットして（Ｓ１２）低速動作を開始し（Ｓ１３）、Ｆｌａｓｈメモリ状態指定フラグ６をセットする（Ｓ１４）。そして、低速クロック動作用プログラムの命令動作の開始アドレスをＰＣ３にセットする（Ｓ１５）。これによりＦｌａｓｈメモリ１１のセンスアンプ動作が停止し、ＲＡＭ５２から低速クロック動作プログラムによる処理が開始される（Ｓ１６）。
【００３７】
ここで、ＲＡＭ５２は、実施の形態１のＲＡＭ１２に比べ容量が小さいことから、ＲＡＭ５２から命令コードを読み出して低速クロック動作プログラムの処理を実行する際の負荷が軽い。このため、消費電流も低減されて不揮発性メモリ内蔵マイクロコンピュータ１００は低消費電流状態Ｘ１よりも更に低消費電流化が図られた低消費電流状態Ｘ３となる。また、実施の形態１と同様に、Ｆｌａｓｈメモリ状態指定フラグ６がセットされた後、ＲＡＭ５２は低速動作モードに切り替わる。その結果、不揮発性メモリ内蔵マイクロコンピュータ１００は低消費電流状態Ｘ３よりも更に消費電流が低減された低消費電流状態Ｘ４となる。
【００３８】
このように、本実施の形態２によれば、低速クロック動作用プログラムを転送するためのＲＡＭ領域と、データ格納用として必要なＲＡＭ領域とをハードウェア的に分けて構成し、低速クロック動作用プログラム実行時に、命令コード読み出しのためにアクセスされるメモリ（ここではＲＡＭ５２）の小容量化を図り、消費電流の低減を可能としたため、更なる低消費電流化を実現できる。
【００３９】
実施の形態３．
図６は本発明の実施の形態３の不揮発性メモリ内蔵マイクロコンピュータ１１０の構成を示すブロック図である。
実施の形態３の不揮発性メモリ内蔵マイクロコンピュータ１１０は、図１に示した実施の形態１の不揮発性メモリ内蔵マイクロコンピュータ１において、６０ＫＢｙｔｅの容量を有するＦｌａｓｈメモリ１１に替えて、２つのＦｌａｓｈメモリ６１、６２を備えるようにしたものである。
【００４０】
Ｆｌａｓｈメモリ６１は、図２のＦｌａｓｈメモリ領域Ａに対応するメモリ空間を有し、高速クロック動作用プログラムが格納され高速動作（通常動作）用のメモリとして機能する。また、Ｆｌａｓｈメモリ６２は図２のＦｌａｓｈメモリ領域Ｂに対応するメモリ空間を有し、低速クロック動作用プログラムが格納されて低速動作用のメモリとして機能するもので、該Ｆｌａｓｈメモリ６２は、低速動作用としてセンスアンプの能力が最適化されたものである。
【００４１】
また、図６において、６３はＰＣ３を監視し、ＰＣ３が指定するアドレスが低速クロック動作用プログラムが格納されたＦｌａｓｈメモリ領域Ｂを指すことを検出するＦｌａｓｈメモリ領域Ｂ検出回路で、ＰＣ３が指定するアドレスが前記Ｆｌａｓｈメモリ領域Ｂを指していれば「１」を、指していなければ「０」を出力する。６４はＡＮＤ回路４３の出力信号が入力されるインバータで、該インバータ６４により、Ｆｌａｓｈメモリ６１とＦｌａｓｈメモリ６２の何れか一方が通常状態にあるとき、他方はセンスアンプ動作を停止した状態になることになる。６５はＲＡＭデータポインタである。なお、その他の構成は図１に示した実施の形態１と同様であるため同一符号を付して説明は省略する。
【００４２】
図７は本発明の実施の形態３の不揮発性メモリ内蔵マイクロコンピュータ１１０の動作を説明するためのフローチャートである。本実施の形態３の動作は図２に示した実施の形態１とほぼ同様であるため、ここでは図５のフローチャートによって簡単に説明する。
ＣＰＵ２は、低速動作フラグ４をセットし（Ｓ２１）、動作クロックＣＰＵ＿ＣＬＫを高速クロックから低速クロックに変更して低速動作を開始する（Ｓ２２）。そして、Ｆｌａｓｈメモリ状態指定フラグ６をセットし（Ｓ２３）、低速クロック動作用プログラムの命令動作の開始アドレスをＰＣ３にセットする（Ｓ２４）。ここでは、開始アドレスを、低速クロック動作用プログラムが格納された低速動作用のＦｌａｓｈメモリ領域Ｄの先頭番地とすると、Ｅ８００ＨがＰＣ３にセットされることになる。その後、ＣＰＵ２は低速クロック動作用プログラムによる処理を実行する（Ｓ２５）。
【００４３】
一方、Ｆｌａｓｈメモリ領域Ｂ検出回路６３はＰＣ３を監視しており、ステップＳ２４においてＰＣ３にＥ８００ＨがセットされるとＦｌａｓｈメモリ領域Ｂ内であることから「１」を出力する。その結果、ＡＮＤ回路４３から「１」が出力されＦｌａｓｈメモリ６１のＳＴＤＢＹ端子に入力され、Ｆｌａｓｈメモリ６１はセンスアンプ動作を停止する。これにより不揮発性メモリ内蔵マイクロコンピュータ１１０は低消費電流状態Ｘ５となる。一方、インバータ６４の出力は「０」となってＦｌａｓｈメモリ６２のＳＴＤＢＹ端子に「０」が供給され、これによりＦｌａｓｈメモリ６２はセンスアンプ動作を再開する。
【００４４】
そして、割り込み（ハードウェア要因）あるいはＦｌａｓｈメモリ６１へのアクセス（ソフトウェア要因）等が発生すると、ＣＰＵ２はその発生要因に対応する処理プログラム（高速クロック動作用プログラムの１つである）の命令動作の開始アドレスをＰＣ３にセットする。ここでＰＣ３にセットされるアドレスは、Ｆｌａｓｈメモリ領域Ｂ内にあることからＦｌａｓｈメモリ領域Ｂ検出回路６３の出力信号は「０」となる。これにより、ＡＮＤ回路４３の出力信号が「０」となってＦｌａｓｈメモリ６１のセンスアンプ動作が再開され、逆にＦｌａｓｈメモリ６２のセンスアンプ動作が停止される。これにより、通常動作時の消費電流をＦｌａｓｈメモリ６２の分だけ低減することが可能となる。
【００４５】
一方、Ｆｌａｓｈメモリ領域Ｂ検出回路６３の出力信号が「０」となることにより、セレクタ４２は命令コードの供給元をＦｌａｓｈメモリ６２からＦｌａｓｈメモリ６１に切り替え、Ｆｌａｓｈメモリ領域ＡにおいてＰＣ３で指定されたアドレスに格納された命令コードがＣＰＵ２に入力される。
【００４６】
そして、ＣＰＵ２は、Ｆｌａｓｈメモリ状態指定フラグ６をリセットする。なお、ＰＣ３の値がＦｌａｓｈメモリ領域ＢではなくなることでＦｌａｓｈメモリ状態指定フラグ６をリセットする回路構成としてもよい。
【００４７】
そして、低速動作フラグ４をリセットし、動作クロックＣＰＵ＿ＣＬＫを低速クロックから高速クロックに変更して高速動作を再開する。なお、各Ｆｌａｓｈメモリ６１、６２が停止状態からの復帰に時間を要する場合は、その間、命令の実行再開を保留する回路が必要である。
【００４８】
このように、本実施の形態３によれば、低速動作用にセンスアンプを最適化したＦｌａｓｈメモリ６２から低速クロック動作用プログラムを実行するようにし、また、低速クロック動作用プログラムを実行している間、Ｆｌａｓｈメモリ６１を停止するようにしたので、消費電流を低減することが可能となる。
【００４９】
実施の形態４．
図８は本発明の実施の形態４の不揮発性メモリ内蔵マイクロコンピュータ１２０の構成を示すブロック図である。
実施の形態４の不揮発性メモリ内蔵マイクロコンピュータ１２０は、図６に示した実施の形態３の不揮発性メモリ内蔵マイクロコンピュータ１１０において、独立していた２つのＦｌａｓｈメモリ６１，６２のセンスアンプを共有のセンスアンプ６６とし、それぞれのデータ線を電気的スイッチ６７を介して接続した構成にしたＦｌａｓｈメモリ６８を有するものである。
【００５０】
Ｆｌａｓｈメモリ６８のうち、電気的スイッチ６７を挟んでセンスアンプ６６から遠い方に位置する領域は、図２のＦｌａｓｈメモリ領域Ａに対応するメモリ空間である。また、センスアンプ６６と電気的スイッチ６７との間に位置するのが図２のＦｌａｓｈメモリ領域Ｂに対応するメモリ空間である。Ｆｌａｓｈメモリ領域Ａは、インバータ６４から出力された信号が「０」であるとき、Ｆｌａｓｈメモリ領域Ｂのデータ線から電気的に切り離され、「１」であるとき、Ｆｌａｓｈメモリ領域Ｂのデータ線に電気的に接続されるようになっている。
【００５１】
センスアンプ６６はＡＮＤ回路４３の出力により、高速な読み出しが可能だが消費電流大のモードと、低速な読み出ししかできないが消費電流小のモード（低速動作モード）を切り替える事ができる。なお、その他の構成は図６に示した実施の形態１１０と同様であるため同一符号を付して説明は省略する。
【００５２】
このように構成された不揮発性メモリ内蔵マイクロコンピュータ１２０では、低速動作フラグ４およびＦｌａｓｈメモリ状態指定フラグ６がセットされ、且つＰＣ３にＦｌａｓｈメモリ領域Ｂに対応するメモリ空間のアドレスがセットされた場合、ＡＮＤ回路４３から「１」が、インバータ６４から「０」が出力される。その結果、電気的スイッチ６７によってＦｌａｓｈメモリ領域Ａは切り離され、当該Ｆｌａｓｈメモリ領域Ａのセンスアンプ動作およびプリチャージ動作が実施されなくなり（センスアンプ６６に対するデコード負荷が低減される）、また、センスアンプ６６が低速動作モードとなり、これにより消費電流を低減することが可能となる。
【００５３】
【発明の効果】
以上詳述したように本発明によれば、低速クロック用動作プログラムを不揮発性メモリからＲＡＭに転送した後、不揮発性メモリの動作を停止し、低速クロック動作時に、ＲＡＭから低速クロック用動作プログラムによるＣＰＵ動作を行うようにしたので、低速クロック動作時の消費電流を低減することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１の不揮発性メモリ内蔵マイクロコンピュータ１の構成を示すブロック図である。
【図２】Ｆｌａｓｈメモリ及びＲＡＭのメモリマップを示す図である。
【図３】本発明の実施の形態１の不揮発性メモリ内蔵マイクロコンピュータ１の動作を説明するためのフローチャートである。
【図４】本発明の実施の形態２の不揮発性メモリ内蔵マイクロコンピュータ１００の構成を示すブロック図である。
【図５】本発明の実施の形態２の不揮発性メモリ内蔵マイクロコンピュータ１００の動作を説明するためのフローチャートである
【図６】本発明の実施の形態３の不揮発性メモリ内蔵マイクロコンピュータ１１０の構成を示すブロック図である。
【図７】本発明の実施の形態３の不揮発性メモリ内蔵マイクロコンピュータ１１０の動作を説明するためのフローチャートである。
【図８】本発明の実施の形態４の不揮発性メモリ内蔵マイクロコンピュータ１２０の構成を示すブロック図である。
【符号の説明】
１　不揮発性メモリ内蔵マイクロコンピュータ
３　プログラムカウンタ
４　低速動作フラグ
５　セレクタ（選択回路）
６　Ｆｌａｓｈメモリ状態指定フラグ
１１　Ｆｌａｓｈメモリ
１２　ＲＡＭ
４１　ＲＡＭ領域Ｄ検出回路（検出回路）
４３　ＡＮＤ回路（第１の論理回路）
４４　ＡＮＤ回路（第２の論理回路）
５１　ＲＡＭ（第２のＲＡＭ）
５２　ＲＡＭ（第１のＲＡＭ）
６１　Ｆｌａｓｈメモリ（第２の不揮発性メモリ）
６２　Ｆｌａｓｈメモリ（第１の不揮発性メモリ）
６３　Ｆｌａｓｈメモリ領域Ｂ検出回路（検出回路）
６４　インバータ（第２の論理回路）
６６　センスアンプ
６７　電気的スイッチ（スイッチ回路）
６８　Ｆｌａｓｈメモリ（第３の不揮発性メモリ）
【図１】
2004013337.tif 000003
【図２】
2004013337.tif 000004
【図３】
2004013337.tif 000005
【図４】
2004013337.tif 000006
【図５】
2004013337.tif 000007
【図６】
2004013337.tif 000008
【図７】
2004013337.tif 000009
【図８】
2004013337.tif 000010