(57)【要約】【課題】本発明は、内部動作電圧供給を遮断したスタンバイ状態或いは内部動作電圧を下げた状態等を実現する際に、各種レジスタ値を簡便かつ高速な方法で退避・復帰する半導体集積回路を提供することを目的とする。【解決手段】半導体集積回路は、ＣＰＵコア部と、ＣＰＵコア部に接続されるオンチップバスと、オンチップバスに直接に接続されるチップ内部のメモリと、ＣＰＵコア部が動作する電源電圧を制御すると共にブート切替信号を出力する電圧制御部を含み、ＣＰＵコア部がブートアドレスからブートプログラム命令をフェッチする際にブート切替信号の状態に応じてオンチップバスがブートアドレスをメモリとメモリ以外のデバイスとの間で切り替える。【選択図】  図１
2006004339.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵコア部と、
該ＣＰＵコア部に接続されるオンチップバス部と、
該オンチップバス部に直接に接続されるチップ内部のメモリと、
該ＣＰＵコア部が動作する電源電圧を制御すると共にブート切替信号を出力する電圧制御部
を含み、該ＣＰＵコア部がブートアドレスからブートプログラム命令をフェッチする際に該ブート切替信号の状態に応じて該オンチップバス部が該ブートアドレスを該メモリと該メモリ以外のデバイスとの間で切り替えることを特徴とする半導体集積回路。
【請求項２】
該電源電圧を制御して第１の電源電圧状態から第２の電源電圧状態に遷移しその後該第１の電源電圧状態に復帰する際に該電圧制御部は該ブート切替信号をアサートし、該ブート切替信号の該アサート状態に応答して該オンチップバス部が該ブートアドレスを該メモリに割当てることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
該ＣＰＵコア部は内部レジスタを含み、該第２の電源電圧状態に遷移する際に該内部レジスタのレジスタ値を該メモリに退避させ、該第１の電源電圧状態に復帰する際に該メモリからフェッチしたブートプログラム命令に基づいて該レジスタ値を該メモリから該内部レジスタに復元することを特徴とする請求項２記載の半導体集積回路。
【請求項４】
該メモリは該ＣＰＵコア部とは独立して電源供給される構成であることを特徴とする請求項１記載の半導体集積回路。
【請求項５】
該電源電圧を制御して第１の電源電圧状態から第２の電源電圧状態に遷移しその後該第１の電源電圧状態に復帰する場合に、該電源電圧が該第２の電源電圧状態である期間において該電圧制御部は該メモリの電源電圧を低下させることを特徴とする請求項１記載の半導体集積回路。
【請求項６】
該ＣＰＵコア部が該オンチップバス部を介してアクセス可能なモジュールを更に含み、該ＣＰＵコア部は該モジュールのレジスタにアクセスすることで該電圧制御部の内部に設けられた制御レジスタの設定及び読み出しが可能であり、該電圧制御部は該制御レジスタの設定に応じて該ブート切替信号の状態を決定することを特徴とする請求項１記載の半導体集積回路。
【請求項７】
該電源電圧を制御して第１の電源電圧状態から第２の電源電圧状態に遷移しその後該第１の電源電圧状態に復帰する時点で内部リセット信号を所定の期間生成するリセット制御部を更に含むことを特徴とする請求項１記載の半導体集積回路。
【請求項８】
該ＣＰＵコア部のハングアップを検出するＣＰＵモニタ回路を更に含み、該リセット制御部は該ＣＰＵモニタ回路によるハングアップ検出に応答して該内部リセット信号を所定の期間生成することを特徴とする請求項７記載の半導体集積回路。
【請求項９】
計時用のタイマカウンタを更に含み、該リセット制御部は該タイマカウンタによる所定のカウント値に応答して該内部リセット信号を所定の期間生成することを特徴とする請求項７記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に半導体集積回路に関し、詳しくは消費電力削減のために電源電圧を制御する半導体集積回路に関する。
【背景技術】
【０００２】
半導体集積回路、特にバッテリを使用する携帯端末においては、消費電力を低減することが要求される。従来消費電力を削減するためには、ゲーテッド・クロック化によりクロック信号を停止することが行われている。しかし半導体プロセス技術の発展に伴い、0.13μm以下の微細なテクノロジでプロセッサ等を製造する場合には、従来は誤差として扱われてきたリーク電流が無視できない比率を占めるようになる。このリーク電流は、プロセッサの動作・非動作に関わらず常時流れ続けるものであり、上記のようにゲーテッド・クロックでクロックを停止するという方法では抑制することができない。特に、プロセッサ等がスタンバイ状態のときは、クロック信号を停止しても、チップの内部電圧をカットしない限りリーク電流が流れ続ける。
【０００３】
このリーク電流の影響を考慮して、プロセッサ等のスタンバイ状態の時に、チップ内部の一部の電源制御回路等を除いて内部動作電圧供給を遮断する方式が採用されてきている。例えば特許文献１には、データ処理装置の待機時のリーク電流を削減し消費電力を下げるために、ＣＰＵとコア内の複数の順序回路をスキャン可能な複数のフリップフロップと複数の組み合わせ回路とにより構成し、通常状態から待機状態に遷移する前に、制御回路の制御により、これらのフリップフロップのデータを順次スキャンアウトし、強誘電体メモリに退避する構成が示される。また特許文献２には、マイクロコンピュータ装置のレジスタを構成する記憶素子を、重ね書き可能な不揮発性メモリで構成し、レジスタのデータの退避処理をせずに電源電圧供給を停止する技術が開示されている。
【０００４】
なお電源制御はしていないがブート方式に関する関連技術として、特許文献３には、不揮発性メモリの内容を参照してブートすることが可能な構成において、リセットシーケンスを経ることなく、不揮発性メモリの内容に応じたプログラムの任意の実行状態から所望のプログラム状態に復帰する技術が開示されている。また特許文献４には、マイクロコンピュータのオンチップ不揮発性メモリの領域を分けることで、暴走してもユーザ専用通信プロトコルコードが破壊されない構成が開示されている。
【特許文献１】特開平１０−７８８３６号公報
【特許文献２】特開２００４−７８７７２号公報
【特許文献３】特開２００２−２９７５６３号公報
【特許文献４】特開２００２−２９７５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１記載の技術では、レジスタ退避専用にスキャンチェーンでレジスタを退避・復帰させる特別な構成が必要となり、既に開発済みのＣＰＵコア等の回路をそのまま流用することができないという問題点がある。また外部ＳＤＲＡＭや不揮発性メモリ等にレジスタ値を退避する方法もあるが、チップ内部のメモリへのアクセスに比べてチップ外部のメモリデバイスへのアクセスは時間がかかるために、レジスタ内容の退避・復帰処理には大きな処理時間が必要となってしまう。
【０００６】
またリーク電流の影響を最小限に抑えるために、プロセッサ等において高速動作を必要としない期間には内部動作電圧を下げてリーク電流を抑え、高速動作を必要とする期間には内部電圧を上げるという手法が採用されてきている。この場合、内部電圧の降下によりプロセッサ自身が命令実行不可能となりハングアップしてしまう危険性があるために、予め必要なレジスタ値等を外部メモリに退避しておいて、ハングアップした場合にはＣＰＵコア部等を初期化すると共に退避してあるレジスタ値等を復帰させて継続動作させる必要がある。このような場合にも、チップ内部のメモリへのアクセスに比べてチップ外部のメモリデバイスへのアクセスは時間がかかるために、レジスタ内容の退避・復帰処理に大きな処理時間が必要となってしまう。
【０００７】
以上を鑑みて、本発明は、内部動作電圧供給を遮断したスタンバイ状態或いは内部動作電圧を下げた状態等を実現する際に、各種レジスタ値を簡便かつ高速な方法で退避・復帰する半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による半導体集積回路は、ＣＰＵコア部と、該ＣＰＵコア部に接続されるオンチップバス部と、該オンチップバス部に直接に接続されるチップ内部のメモリと、該ＣＰＵコア部が動作する電源電圧を制御すると共にブート切替信号を出力する電圧制御部を含み、該ＣＰＵコア部がブートアドレスからブートプログラム命令をフェッチする際に該ブート切替信号の状態に応じて該オンチップバス部が該ブートアドレスを該メモリと該メモリ以外のデバイスとの間で切り替えることを特徴とする。
【０００９】
また本発明のある側面によれば、該ＣＰＵコア部は内部レジスタを含み、第１の電源電圧状態から第２の電源電圧状態に遷移する際に該内部レジスタのレジスタ値を該メモリに退避させ、該第１の電源電圧状態に復帰する際に該メモリからフェッチしたブートプログラム命令に基づいて該レジスタ値を該メモリから該内部レジスタに復元することを特徴とする。
【発明の効果】
【００１０】
本発明による少なくとも１つの実施例によれば、通常のブートＲＯＭをアクセスする経路ではなく、オンチップバスに接続された内部ＲＡＭ等のメモリに直接ブート命令をフェッチしにいく。従って、非常に低速なブートＲＯＭをアクセスする必要がなく、大幅な処理ステップ数の短縮が可能となり、高速なレジスタ退避・復帰を簡便且つ効率的に実現することができる。
【００１１】
またプロセッサのＣＰＵコア部に大きな論理的変更を加えることなく、オンチップバスを介してアクセスできるメモリと、オンチップバスのアクセス先を変更する手段とを設けるだけで、簡便かつ高速なレジスタ値の退避・復帰を実現することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１３】
図１は、本発明による半導体集積回路の実施例の構成の一例を示す図である。図１の半導体集積回路（プロセッサ）１００は、電圧制御部１、クロック生成部２、ＣＰＵコア部３、ＳＤＲＡＭ制御部４、オンチップバス５、バスブリッジ６、内部周辺バス７、モジュール８、電圧制御レジスタ９、クロック制御レジスタ１０、ＰＬＬ回路１１、ＣＰＵモニタ回路１２、外部バス制御部１３、及び内部ＲＡＭ１４を含む。プロセッサ１００は外部可変電圧供給源１０１から電圧を供給される。またプロセッサ１００のＳＤＲＡＭ制御部４は、外部ＳＤＲＡＭ１０２に接続されている。またプロセッサ１００の外部バス制御部１３は、外部のブートＲＯＭ１０３及びＳＲＡＭ１０４に接続されている。
【００１４】
ＳＤＲＡＭ制御部４は、外部ＳＤＲＡＭ１０２とのインターフェースを提供する。バスブリッジ６は、オンチップバス５と内部周辺バス７とのインターフェースを提供する。外部バス制御部１３は、ブートＲＯＭ１０３及びＳＲＡＭ１０４とのインターフェースを提供する。モジュール８において、電圧制御レジスタ９は電圧制御部１の動作をソフトウェア的に制御する設定値を格納し、クロック制御レジスタ１０はクロック生成部２のクロック速度やクロック供給／停止等をソフトウェア的に制御するための設定値を格納する。これらのレジスタは、ＣＰＵコア部３からバスを介してアクセス可能であり、ＣＰＵコア部３で実行されるプログラム命令により制御することができる。ＰＬＬ回路１１は、外部から供給されるクロック信号ＣＬＫＩＮに同期した逓倍クロック信号を生成し、クロック生成部２に供給する。
【００１５】
プロセッサ１００自体の動作電圧は外部可変電圧供給源１０１から供給される。プロセッサ１００内部の電圧制御部１から出力される制御信号により外部可変電圧供給源１０１を制御することで、プロセッサ１００への動作電圧の供給を停止したり動作電圧を降下させたりすることができる。プロセッサ１００内部のクロック生成部２においては、ＰＬＬ回路１１からの逓倍クロック信号を基にして、ＣＰＵコア部３等の各モジュールへの動作クロック信号を生成・供給する。ＣＰＵモニタ回路１２は、ＣＰＵコア部３の動作をモニタしており、ハングアップ等の異常がある場合にはこれを検出する。
【００１６】
ブートＲＯＭ１０３にはブートプログラムが格納されており、完全な電源遮断状態からの電源立上げ動作においては、ＣＰＵコア部３がこのブートＲＯＭ１０３のブートプログラムを読みに行く。本発明においては、消費電力削減のために部分的に電源を遮断したスタンバイ状態或いは内部動作電圧を降下させた電圧降下状態に移行する場合には、ブートプログラムを内部ＲＡＭ１４に格納しておくと共に、動作再開に必要なレジスタ値を内部ＲＡＭ１４に退避しておく。
【００１７】
具体的には、スタンバイ状態或いは電圧降下状態への遷移時に、内部ＲＡＭ１４の特定の領域、例えば最上位のアドレス番地から一定のアドレス範囲に、スタンバイ状態等から復帰するブート処理プログラムコードを格納する。またその他の特定のアドレス領域に、退避させるレジスタ値を格納しておく。この内部ＲＡＭ１４の電源はスタンバイ状態においても保持しておく。
【００１８】
スタンバイ状態から復帰する場合、或いは電圧降下状態で発生したＣＰＵコア部３のハングアップ状態から復帰する場合には、ＣＰＵコア部３のブートプログラム読込先を、オンチップバス５の制御により内部ＲＡＭ１４に切り替える。これによりＣＰＵコア部３は、内部ＲＡＭ１４からブートプログラムを読み込んでブート命令を実行し、更に退避してあったレジスタ値を内部ＲＡＭ１４から各レジスタに復帰させる。
【００１９】
オンチップバス５が、スタンバイ状態或いは電圧降下状態からの復帰であることを認識するためには、制御レジスタ１５を例えば電圧制御部１に設けておけばよい。この制御レジスタ１５に、スタンバイ状態を示す値、ハングアップ発生を示す値、或いは内部ＲＡＭ１４にブートコード（ブートプログラム命令）及び退避されたレジスタデータが格納されていることを示す値等を設定する。制御レジスタ１５が係る値に設定されている場合、電圧制御部１はブート切替信号をアサートする。オンチップバス５は、電圧制御部１からのブート切替信号がアサートされている場合には、スタンバイ状態或いは電圧降下状態からの復帰でありレジスタ復帰動作が必要であると判断し、ＣＰＵコア部３によるブートプログラム命令のフェッチ先を内部ＲＡＭ１４に切り替える。
【００２０】
以上の構成によれば、ブートＲＯＭ１０３の動作周波数に比較してオンチップバス５及び内部ＲＡＭ１４の動作周波数は高いので、ブート動作及びレジスタ復帰を高速に実行することが可能になる。
【００２１】
なおＣＰＵモニタ回路１２が無い場合には、ＣＰＵコア部３が完全にハングアップしてしまうと、ボード上のパワーオンリセットでシステム全体を初期化するしか回復の手立てはない。図１のようにＣＰＵモニタ回路１２が設けられている場合には、ハングアップ検出に応じて、所定の復帰動作を実行することができる。
【００２２】
即ち動作電圧を降下させた電圧降下状態に移行する際に、必要なレジスタ値を内部ＲＡＭ１４に退避させておく。ＣＰＵモニタ回路１２が電圧降下によるハングアップを検出した場合には、例えば電圧制御部１がハングアップ検出を示す信号を受け取り、ＣＰＵコア部３等の内部各モジュールを初期化する。オンチップバス５は、レジスタ復帰動作が必要であるとブート切替信号に基づいて判断すると、ＣＰＵコア部３がブートプログラム命令をフェッチするためのバスアクセス要求を、ブートＲＯＭ１０３ではなく内部ＲＡＭ１４に切り替える。これによりＣＰＵコア部３は内部ＲＡＭ１４からのブート動作を実行し、更に内部ＲＡＭ１４に退避してあったレジスタ値等を各レジスタに復帰させる。その後、ＣＰＵコア部３は、ハングアップ前の動作を継続して実行する。
【００２３】
このように本発明では、通常のブートＲＯＭ１０３をアクセスする経路ではなく、オンチップバス５に接続された内部ＲＡＭ１４に直接ブート命令をフェッチしにいく。従って、非常に低速なブートＲＯＭ１０３をアクセスする必要がなく、大幅な処理ステップ数の短縮が可能となり、高速なレジスタ退避・復帰を簡便且つ効率的に実現することができる。
【００２４】
なおレジスタ退避等に使用している内部ＲＡＭ１４は、通常動作時はワーク領域として使用できる。逆に言えば、オンチップバス５に接続されたＲＡＭが既存であれば、制御レジスタ１５を設けると共にオンチップバス５の回路構成を若干変更することにより、高速なレジスタ退避・復元動作を容易に実現することが可能となる。
【００２５】
図２は、オンチップバス５の構成の一例を示す構成図である。図２のオンチップバス５は、１つのバスマスターであるＣＰＵコア部３と、３つのバススレーブであるテスト回路２０、ＳＤＲＡＭ制御部４、及びバスブリッジ６とに接続される。オンチップバス５は、バス制御回路部２１、セレクタ２２、及び各種バス信号線を含む。
【００２６】
バスマスターであるＣＰＵコア部３から出力されるアドレス信号、書き込みデータ信号、及びコントロール信号は、各バススレーブに供給される。またアドレス信号はバス制御回路部２１にも供給される。バス制御回路部２１は、ＣＰＵコア部３からのアドレス信号に基づいて、スレーブ選択信号slave1_select乃至slave3_selectの何れかを選択的にアサートすることで、ＣＰＵコア部３のアクセス先を選択する。この際、制御レジスタ１５に基づいたブート切替信号がアサートされている場合には、ブート命令フェッチのアクセス先として内部ＲＡＭ１４を選択する。各バススレーブからの読み出しデータは、セレクタ２２により選択されてバスマスターであるＣＰＵコア部３に伝送される。
【００２７】
図３は、バス制御回路部２１の論理構成の一例を示す図である。図３において、バス制御回路部２１の内部に示される論理に基づいて、ブート切替信号及びアドレス信号に応じたアクセス先のバススレーブを選択する。アドレス信号がブートアドレスＢｏｏｔ＿ａｄｄｒである場合に、ブート切替信号がアサート（“１”）であれば、内部ＲＡＭ１４を選択して内部ＲＡＭ１４からブートする。 アドレス信号がブートアドレスＢｏｏｔ＿ａｄｄｒであってもブート切替信号がデアサート（“０”）であれば、バスブリッジ６が選択されるので、バスブリッジ６、内部周辺バス７、及び外部バス制御部１３を介して、ブートＲＯＭ１０３からブートすることになる。またブート切替信号がデアサート（“０”）であり、アドレス信号がＳＤＲＡＭであれば、ＳＤＲＡＭ制御部４が選択される。それ以外の場合には、バスブリッジ６が選択される。
【００２８】
図４は、図１のプロセッサ１００の電源ブロック構成を示す図である。図４において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００２９】
図４のプロセッサ１００は、図１に示すものと同一の回路構成であるが、電源供給を３つのブロックに分けている。電源ブロック３１には内部ＲＡＭ１４が設けられ、電源ブロック３３には電圧制御部１が設けられる。それ以外のプロセッサ１００の構成要素は電源ブロック３２に設けられる。電源ブロック３１乃至３３は、それぞれ独立に外部可変電圧供給源１０１から電源を供給され、それぞれ独立に供給電源を制御することが可能な構成となっている。スタンバイ状態においては、ＣＰＵコア部３を含む大多数の回路が含まれる電源ブロック３２のみについて電源供給を遮断し、電源ブロック３１及び電源ブロック３３については内部電圧を遮断しない。このような構成により、退避したレジスタ値を格納する内部ＲＡＭ１４及び電圧制御に必要な電圧制御部１については動作を可能としながらも、スタンバイ時のリーク電流を削減することができる。
【００３０】
また電圧値制御動作の場合には、電源ブロック３２についてのみ動作電圧を降下させてリーク電流を削減しながらも、内部ＲＡＭ１４の電源ブロック３１については元の動作電圧を保持することにより、退避したレジスタ値等が消失しないことを確実にすることができる。この場合、内部ＲＡＭ１４にアクセスする際に使用する各種信号線（アドレス信号、書き込みデータ、ライトイネーブル、読み出しデータ等）に一定のレベルコンバータセルを接続しておくことが有効である。
【００３１】
図５は、図４のプロセッサ１００の変形例の構成を示す構成図である。図５において、図４と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００３２】
図５においては、図４と同様に電源供給が電源ブロック３１乃至３３の３つのブロックに分割され、独立に制御可能となっている。スタンバイ時においては、電源ブロック３２の電源供給を停止させることにより、リーク電流を削減することができる。また退避したレジスタ値を格納する内部ＲＡＭ１４及び電圧制御に必要な電圧制御部１については電源供給を継続し、スタンバイ状態からの復帰時に高速にブート処理及びレジスタ復帰処理を実行することができる。このような構成において、スタンバイ時に電源供給を継続する電圧制御部１にはリーク電流が流れ続けるため、電圧制御部１の回路規模を最小限にすることが望ましい。
【００３３】
そのために、電圧制御部１に設ける工夫の１つとして、スタンバイ時に保持しなければならない特定のビットのみを保持するクロック制御レジスタ５１及びモード制御レジスタ５２を電圧制御部１に設ける。図４に示される制御レジスタ１５は、例えばモード制御レジスタ５２の一部とすればよい。クロック制御レジスタ５１へのアクセスは、内部周辺バス７に接続されたクロック制御設定レジスタ４１及びクロック制御読出レジスタ４２を介して実行する。またモード制御レジスタ５２へのアクセスは、モード設定レジスタ４３及びモード読出レジスタ４４を介して実行する。
【００３４】
このような構成とすることにより、ＣＰＵコア部３からクロック制御レジスタ５１及びモード制御レジスタ５２にアクセスするためのバスインターフェイス回路等を電圧制御部１に含める必要がなくなる。従って、スタンバイ時には最低限必要なレジスタにのみ電源供給をすることが可能となる。なおクロック制御設定レジスタ４１及びクロック制御読出レジスタ４２を１つの同一のレジスタとし、モード設定レジスタ４３及びモード読出レジスタ４４を１つの同一のレジスタとしてもよい。またこれらのレジスタは実際にデータを格納可能なレジスタとして構成してよいし、或いはモジュール８から電圧制御部１に延びる信号線として構成してもよい。
【００３５】
また更にリーク電流を削減するために、内部ＲＡＭ１４の電源ブロック３１についてはスタンバイ時において電圧値を降下するよう制御してもよい。またスタンバイ状態からの復帰時には、電源ブロック３１の電圧値を上げるように構成してよい。リーク電流は電圧値が高くなるほど大きくなるので、供給電圧値を下げることにより、内部ＲＡＭ１４におけるリーク電流も削減することができる。
【００３６】
また更にリーク電流を削減するために、スタンバイ時に電圧供給を継続する電源ブロック３３に設けられる電圧制御部１については、回路を構成する回路素子として低リーク（Vthが高い）トランジスタを用いてもよい。電圧制御部１には、通常、高速な処理速度が必要とされないので、低リークトランジスタを用いても特に問題はない。
【００３７】
図５の構成では、電圧制御部１には低速クロックで動作するタイマカウンタ５３が設けられている。これにより、外部からの割り込み信号ＩＮＴだけでなく、タイマカウンタ５３からの定期的な割り込み信号をトリガとして電圧供給制御回路５４を起動して、スタンバイ状態から復帰することができる。またスタンバイ状態等から復帰する際にＣＰＵコア部３等の各モジュールを初期化するためのリセット制御部５５が更に設けられている。
【００３８】
また動作電圧変更時等において、ＣＰＵモニタ回路１２がＣＰＵコア部３のハングアップを検出した場合に、ハングアップ検出信号を電圧供給制御回路５４またはリセット制御部５５が受け取ると、内部リセット信号をアサートする。これと同時に電圧供給制御回路５４が外部電源供給源１０１に指示を出して、内部動作電圧を上げてから内部リセット信号を解除する。このような構成により、安全な電圧に戻してから、高速にレジスタ復帰させて動作を再開することが可能となる。
【００３９】
図６は、本発明におけるスタンバイ状態への移行時の処理を示すフローチャートである。
【００４０】
図６のステップＳ１において、まず現在実行中のアプリケーションを停止する。ステップＳ２において、退避したいレジスタの内容等を復帰用のブートプログラムと共に内部ＲＡＭ１４に格納する。ステップＳ３において、レジスタ値等を退避した内部ＲＡＭ１４へのアクセスを禁止し、内部ＲＡＭ１４のスタンバイ時のリーク電流を抑えるために内部ＲＡＭ１４の電圧値を低い電圧値に変更して固定する。ステップＳ４において、退避レジスタ値の復帰が必要である旨を示す情報等の復帰動作時に用いる情報をモード設定レジスタ等に設定すると共に、スタンバイ状態に遷移するための所定の電源制御シーケンスを実行する。ステップＳ５において、電圧制御部１からの指示によりクロック生成部２にクロックを停止させると共に、電圧制御部１及び内部ＲＡＭ１４の電源を除いて内部電源電圧の供給を停止するように電圧制御部１から外部可変電圧供給源１０１に対して指示を出す。ステップＳ６において、外部可変電圧供給源１０１がその指示に応じて電圧供給を停止する。
【００４１】
図７は、本発明におけるスタンバイ状態からの復帰時の処理を示すフローチャートである。
【００４２】
図７のステップＳ１において、外部割込みやタイマ割り込み等のＷａｋｅ−ｕｐ割り込みが発生したことを電圧制御部１が認識する。ステップＳ２において、電圧制御部１が外部可変電圧供給源１０１へ制御コマンドを供給し、これに応じて外部可変電圧供給源１０１がＣＰＵコア部３等への電圧供給を再開する。ステップＳ３において、内部リセット信号をアサートしながらＰＬＬ回路１１の発振が安定するまで待ち、ＰＬＬ回路１１の発振が安定した後に内部リセットを解除する。ステップＳ４で、ＣＰＵコア部３がブート命令をフェッチするバスアクセスを開始するが、ブート切替信号がアサートされている場合には、外部ブートＲＯＭ１０３ではなくてオンチップバス５に接続された内部ＲＡＭ１４からブートが行なわれる。ステップＳ５で、内部ＲＡＭ１４のブートプログラムにより内部ＲＡＭ１４の別領域に退避してあるレジスタ値等の復元を行なう。ステップＳ６で、復元したレジスタ情報に基づいてアプリケーションプログラムの実行を継続的に再開する。
【００４３】
図８は、スタンバイ状態への移行及びスタンバイ状態からの復帰の動作を示すタイミング図である。図８に示されるように、通常の動作からスタンバイシーケンスを介してスタンバイ状態に移行する（（ａ）参照）。この際、スタンバイシーケンスにおいて、内部レジスタ値のメモリへの退避が行われる（（ｃ）参照）。スタンバイ状態においては、外部可変電圧供給源１０１の外部電源出力が停止され（（ｅ）参照）、内部モジュール電源が遮断される（（ｆ）参照）。但しこの場合であっても、内部ＲＡＭ１４については降下電圧値が供給され続け（（ｇ）参照）、データ保持動作を継続する（（ｂ）参照）。また電圧制御部１については電源が保持される（（ｈ）参照）。スタンバイ状態において、内部レジスタ状態は不定となる（（ｃ）参照）。またＰＬＬ回路１１の出力クロックは停止される（（ｊ）参照）。
【００４４】
その後Ｗａｋｅ−ｕｐ割り込みが発生すると（（ｄ）参照）、各電源が通常電圧値に復帰する（（ｅ）（ｆ）（ｇ）参照）。その後ＰＬＬ安定待ち状態（（ａ）参照）において、内部リセット信号がアサートされ（（ｋ）参照）、その間にＰＬＬ回路１１の発振が安定する（（ｊ）参照）。ＰＬＬが安定するとブート動作が実行され（（ａ）参照）、退避していたレジスタ値が復元される（（ｃ）参照）。
【００４５】
以上の動作により、プロセッサ１００はスタンバイ状態から通常動作に復帰することができる。
【００４６】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００４７】
【図１】本発明による半導体集積回路の実施例の構成の一例を示す図である。
【図２】オンチップバスの構成の一例を示す構成図である。
【図３】バス制御回路部の論理構成の一例を示す図である。
【図４】図１のプロセッサの電源ブロック構成を示す図である。
【図５】図４のプロセッサの変形例の構成を示す構成図である。
【図６】本発明におけるスタンバイ状態への移行時の処理を示すフローチャートである。
【図７】本発明におけるスタンバイ状態からの復帰時の処理を示すフローチャートである。
【図８】スタンバイ状態への移行及びスタンバイ状態からの復帰の動作を示すタイミング図である。
【符号の説明】
【００４８】
１  電圧制御部
２  クロック生成部
３  ＣＰＵコア部
４  ＳＤＲＡＭ制御部
５  オンチップバス
６  バスブリッジ
７  内部周辺バス
８  モジュール
９  電圧制御レジスタ
１０  クロック制御レジスタ
１１  ＰＬＬ回路
１２  ＣＰＵモニタ回路
１３  外部バス制御部
１４  内部ＲＡＭ
１００  プロセッサ
１０１  外部可変電圧供給源
１０２  外部ＳＤＲＡＭ
１０３  ブートＲＯＭ
１０４  ＳＲＡＭ
【図１】
2006004339.tif 000003
【図２】
2006004339.tif 000004
【図３】
2006004339.tif 000005
【図４】
2006004339.tif 000006
【図５】
2006004339.tif 000007
【図６】
2006004339.tif 000008
【図７】
2006004339.tif 000009
【図８】
2006004339.tif 000010