(57)【要約】【課題】処理装置の一部のブロックを低消費電力で動作させることにより消費電力を削減し、その間は、消費電力が小さい他のブロックが予め設定された制御手順に従い所定の装置を制御する制御システムを提供する。【解決手段】第１の処理部１０は、第1の動作状態又はそれよりも低消費電力である第２の動作状態に設定可能である。第１の処理部が第２の動作状態にあるとき、予め設定された第２の処理部制御手順に従い、第１の処理部に代わって、第２の処理部制御部が第２の処理部を制御する。第２の処理部制御部が第２の処理部を制御するときの消費電力は、第１の処理部が第２の処理部を制御するときの消費電力よりも小さいので、システム全体の消費電力が削減できる。【選択図】      図１
2008191840.tif 000002
【特許請求の範囲】
【請求項１】
第1の動作状態又は前記第1の動作状態よりも低消費電力である第２の動作状態に設定可能な第１の処理部と、
前記第１の処理部が前記第２の動作状態にあるとき、予め設定された第２の処理部制御手順に従い、前記第１の処理部に代わって第２の処理部を制御する第２の処理部制御部
を備える制御システムであって、
前記第２の処理部制御部が前記第２の処理部を制御するときの消費電力は、前記第１の処理部が前記第２の処理部を制御するときの消費電力よりも小さいことを特徴とする制御システム。
【請求項２】
前記第２の処理部制御部が前記第２の処理部を制御するときに動作する回路の規模は、前記第１の処理部が前記第２の処理部を制御するときに動作する回路の規模よりも小さいことを特徴とする請求項１記載の制御システム。
【請求項３】
前記第２の処理部制御部が前記第２の処理部を制御するときの動作周波数は、前記第１の処理部が前記第２の処理部を制御するときの動作周波数よりも小さいことを特徴とする請求項１又は２のいずれかに記載の制御システム。
【請求項４】
前記第１の処理部は、前記第２の動作状態にないとき、前記第２の処理部を制御することを特徴とする請求項１乃至３のいずれかに記載の制御システム。
【請求項５】
前記第１の処理部は、前記第２の動作状態にないとき、前記第２の処理部制御部に前記第２の処理部制御手順を設定することを特徴とする請求項１乃至４のいずれかに記載の制御システム。
【請求項６】
前記第１の処理部は第１の指示信号を出力し、
前記第２の処理部及び前記第２の処理部制御部の少なくとも一方は第２の指示信号を出力し、
前記第１の指示信号に基づき前記第２の動作状態に設定し、前記第２の指示信号に基づき所定の前記第１の動作状態に設定する第１の処理部制御部
を備えることを特徴とする請求項１乃至５のいずれかに記載の制御システム。
【請求項７】
前記第１の処理部は、前記第２の動作状態に設定される前に、前記第２の処理部制御部に起動信号を出力し、
前記第２の処理部制御部は、前記起動信号を検出すると、前記第２の処理部を動作可能状態に設定した後、前記第２の処理部制御手順に従い前記第２の処理部の制御を開始する
ことを特徴とする請求項６記載の制御システム。
【請求項８】
前記第１の処理部は、前記第１の動作状態に設定されたとき、前記第２の処理部制御部に停止信号を出力し、
前記第２の処理部制御部は、前記停止信号を検出すると、前記第２の処理部制御手順に従い前記第２の処理部を制御した後、前記第２の処理部を動作停止状態に設定する
ことを特徴とする請求項６又は７のいずれかに記載の制御システム。
【請求項９】
前記第１の処理部は、前記第２の動作状態に設定される前に、前記第１の処理部制御部に第１の処理部制御手順を設定し、
前記第１の処理部制御部は、前記第１の処理部制御手順に従い、前記第１の動作状態への設定及び前記第２の動作状態への設定の少なくとも一方を行う
ことを特徴とする請求項６乃至８のいずれかに記載の制御システム。
【請求項１０】
前記第２の動作状態は、前記第１の動作状態よりも、前記第１の処理部が低速度で動作する状態であることを特徴とする請求項１乃至９のいずれかに記載の制御システム。
【請求項１１】
前記第２の動作状態は前記第１の処理部への電源供給が停止した状態で、前記第１の動作状態は前記第１の処理部へ電源が供給された状態であることを特徴とする請求項１乃至９のいずれかに記載の制御システム。
【請求項１２】
第２の処理部制御手順を記憶し、第１の処理部が通常動作状態よりも低消費電力で動作する低消費電力動作状態にあるとき、前記第２の処理部制御手順に従い、前記第１の処理部に代わり前記第２の処理部を制御することを特徴とする制御回路。
【請求項１３】
第１の指示信号を発生し、第1の動作状態又は前記第1の動作状態よりも低消費電力である第２の動作状態に設定変更可能なＣＰＵと、
第２の指示信号を発生するＣＰＵ周辺部と、
前記第１の指示信号に基づき前記ＣＰＵを前記第２の動作状態に設定し、前記第２の指示信号に基づき前記ＣＰＵを前記第１の動作状態に設定するＣＰＵ制御部と、
前記ＣＰＵが前記第２の動作状態にあるとき、予め設定されたＣＰＵ周辺制御手順に従い、前記ＣＰＵに代わって前記ＣＰＵ周辺部を制御するＣＰＵ周辺制御部
を備えることを特徴とするコンピュータ・システム。
【請求項１４】
請求項１３記載のコンピュータ・システムを備える電子機器。
【請求項１５】
ＣＰＵ周辺部制御手順を記憶し、第1の動作状態又は前記第1の動作状態よりも低消費電力である第２の動作状態に設定なＣＰＵが前記第２の動作状態にあるとき、前記ＣＰＵ周辺制御手順に従い、前記ＣＰＵに代わり前記ＣＰＵ周辺部を制御することを特徴とするＣＰＵ周辺制御回路。
【請求項１６】
第1の動作状態又は前記第1の動作状態よりも低消費電力である第２の動作状態に設定な第１の処理部が前記第２の動作状態にあるとき、予め設定された第２の処理部制御手順に従い、前記第１の処理部に代わって第２の処理部制御部を用いて前記第２の処理部を制御する工程を備えるシステムの制御方法であって、
前記第２の処理部制御部を用いて前記第２の処理部を制御するときの消費電力は、前記第１の処理部を用いて前記第２の処理部を制御するときの消費電力よりも小さいことを特徴とするシステムの制御方法。
【請求項１７】
前記第２の処理部制御部が前記第２の処理部を制御するときに動作する回路の規模は、前記第１の処理部が前記第２の処理部を制御するときに動作する回路の規模よりも小さいことを特徴とする請求項１６記載のシステムの制御方法。
【請求項１８】
前記第２の処理部制御部が前記第２の処理部を制御するときの動作周波数は、前記第１の処理部が前記第２の処理部を制御するときの動作周波数よりも小さいことを特徴とする請求項１６又は１７のいずれかに記載のシステムの制御方法。
【請求項１９】
前記第１の処理部が前記第２の動作状態にないとき、前記第１の処理部によって前記第２の処理部を制御する工程を備えることを特徴とする請求項１６乃至１８のいずれかに記載のシステムの制御方法。
【請求項２０】
前記第１の処理部が前記第２の動作状態にないとき、前記第２の処理部制御手順を設定する工程を備えることを特徴とする請求項１６乃至１８のいずれかに記載のシステムの制御方法。
【請求項２１】
前記第１の処理部から、前記第１の処理部を前記第２の動作状態へ変更するための第１の指示信号を出力する工程と、
前記第２の処理部及び前記第２の処理部制御部の少なくとも一方から、前記第１の処理部を前記第１の動作状態へ変更するための第２の指示信号を出力する工程と、
前記第１の指示信号に基づき前記第１の処理部を前記第２の動作状態に設定する工程と、
前記第２の指示信号に基づき前記第１の処理部を前記第１の動作状態に設定する工程
を備えることを特徴とする請求項１６乃至２０のいずれかに記載のシステムの制御方法。
【請求項２２】
前記第１の処理部が前記第２の動作状態に設定される前に、起動信号を出力する工程と、
前記起動信号を検出すると、前記第２の処理部を動作可能状態に設定する工程と、
前記第２の処理部制御手順に従い前記第２の処理部の制御を開始する工程
を備えることを特徴とする請求項２１記載のシステムの制御方法。
【請求項２３】
前記第１の処理部が前記第１の動作状態に設定されたとき、停止信号を出力する工程と、
前記停止信号を検出すると、前記第２の処理部制御手順に従い前記第２の処理部を制御する工程と、
前記第２の処理部を動作停止状態に設定する工程
を備えることを特徴とする請求項２１又は２２のいずれかに記載のシステムの制御方法。
【請求項２４】
前記第１の処理部が前記第２の動作状態に設定される前に、第１の処理部制御手順を設定する工程と、
前記第１の処理部制御手順に従い、前記第１の動作状態への設定を行う工程及び前記第２の動作状態への設定を行う工程の少なくとも一方の工程
を備えることを特徴とする請求項２１乃至２３のいずれかに記載のシステムの制御方法。
【請求項２５】
前記第２の動作状態は、前記第１の動作状態よりも、前記第１の処理部が低速度で動作する状態であることを特徴とする請求項１６乃至２４のいずれかに記載のシステムの制御方法。
【請求項２６】
前記第２の動作状態は前記第１の処理部への電源供給が停止した状態で、前記第１の動作状態は前記第１の処理部へ電源が供給された状態であることを特徴とする請求項１６乃至２４のいずれかに記載のシステムの制御方法。
【請求項２７】
第２の処理部制御手順を記憶する工程と、
第１の処理部が通常動作状態よりも低消費電力で動作する低消費電力動作状態にあるとき、前記第２の処理部制御手順に従い、前記第１の処理部に代わって前記第２処理部を制御する工程を備えることを特徴とする処理部の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムに関し、特にある装置が所定の状態にあるとき、他の装置がそれに代わって、設定された制御手順に従い動作状態を制御する制御システムに関する。
【背景技術】
【０００２】
パーソナル・コンピュータやその周辺機器、携帯電話など最近の電子機器の多くは、ＣＰＵを用いて制御されるコンピュータ・システムである。一般的に、コンピュータ・システムは、ＣＰＵの他に、ＣＰＵに制御され動作するＣＰＵ周辺回路（以降、単に「周辺回路」という。）と呼ばれる、固有の機能を持った回路も備えている。周辺回路の例としては、タイマ、入出力ポート、割り込みコントローラなどの汎用周辺回路や、特定の外部機器の制御や外部との通信を行うための特殊機能を持つ専用周辺回路がある。従来のコンピュータ・システムは、ソフトウェアを用いて周辺回路の制御を行い、所望の機能・性能を実現している。コンピュータ・システムは、ＣＰＵや周辺回路の性能を最大限に発揮させることにより、システムの高機能化・高性能化を実現している。
【０００３】
ところが、昨今のＣＰＵ、周辺回路は、処理性能の向上、多機能化のために、回路規模、動作周波数が飛躍的に大きくなり、それに伴って消費電力が大幅に増加している。そのため、コンピュータ・システム全体の消費電力は増加する一方となっている。
【０００４】
ところで、現在のＣＰＵや周辺回路のＬＳＩは、通常、ＣＭＯＳプロセスを用いて製造されている。ＣＭＯＳ回路の消費電力は、動作クロックの周波数にほぼ比例し、動作クロックを停止させたときに最小となる。そこで、コンピュータ・システムの機能・性能を保持したまま、システム全体の消費電力を削減するためには、動作させる必要がない回路へのクロックの供給を停止することが有効である。あるいは、クロックの周波数を、システムの動作維持に必要最小限の周波数まで低下させてもよい。
【０００５】
また、消費電力は動作している回路の規模にも比例するので、消費電力を削減するには、動作している回路の規模を小さくすることも有効である。そこで、動作させない回路への、クロックの供給の停止や、電源供給の停止が有効である。
【０００６】
あるいは、動作する回路の規模を削減する方法として、大規模な回路を動作させるのではなく、大規模な回路に代わり、機能を限定した小規模な回路を動作させる方法もある。例えば、大規模な回路から成るＣＰＵでなくても実現可能な処理を、決められた手順で処理を実行する、いわゆる「シーケンサ」と呼ばれる回路を用いて行う方法がある。シーケンサは処理内容が限定されているため、回路規模を小さくすることができる。さらに、処理に使用するためのクロック数の最適化により消費電力を削減することもできる。シーケンサの動作中は、大規模な回路を持つＣＰＵの動作を停止させることができる。そのため、システム全体の消費電力を大幅に削減することができる。
【０００７】
シーケンサを用いず、通常のようにＣＰＵを用いて処理を行うと、その処理の内容が単純であっても、ＣＰＵの回路全体を動作させることなり、消費電力を無駄に消費してしまうこととなる。
【０００８】
従来の技術では、周辺回路の動作自体をシーケンサを用いて実現するコンピュータ・システムがある。このコンピュータ・システムは、所定のデバイスとホスト・コンピュータ間のデータ転送を、シーケンサを用いて行うというものである。（例えば、特許文献１参照。）。
【０００９】
【特許文献１】特許第３１８８８４０号公報  （第９−１１頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
特許文献１の技術には課題がある。特許文献１のシーケンサは、デバイスとバッファ間のデータ転送、及びバッファとホスト・コンピュータ間のデータ転送という単純な処理を用っているのみである。前述のように、ＣＰＵ周辺回路の機能は、通常、単なるデータ転送のみでなく、タイマ、シリアル・インタフェースなどの汎用機能の他に、特定の処理を行うための専用機能がある。それら一般的なＣＰＵ周辺回路自体の機能は単なるデータ転送ではないため、特許文献１の方法では実現不可能である。
【００１１】
従って、ＣＰＵ周辺回路の機能を利用するためにはＣＰＵ周辺回路を実際に動作させる必要があり、さらにそれらへの動作指示やデータのリード／ライトをＣＰＵを用いて行う必要がある。ところが、ＣＰＵを動作させると消費電力が増大する。そこで、極力ＣＰＵを動作させずに、必要なＣＰＵ周辺回路を制御する仕組みが必要となるが、特許文献１の技術ではその要求に応えることができない。
【００１２】
また、特許文献１の技術では、シーケンサがＭＰＵに代わって処理を行い、その間ＭＰＵは供給クロックが遮断され、動作を停止している。シーケンサが処理を終了すると、ＭＰＵは起動する。ＭＰＵが動作を停止するとき、及びＭＰＵが起動するときには、単にクロックの供給の遮断、再開を制御するのみであり、それ以上の複雑な制御は不可能である。すなわち、ＭＰＵの停止時、あるいは起動時のシーケンスを制御することができない。
（発明の目的）
本発明は上記のような技術的課題に鑑みて行われたもので、処理装置の一部のブロックを低消費電力で動作させることにより消費電力を削減し、その間は、消費電力が小さい他のブロックが予め設定された制御手順に従い所定の装置を制御する制御システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の制御システムは、第1の動作状態又は第1の動作状態よりも低消費電力である第２の動作状態に設定可能な第１の処理部と、第１の処理部が第２の動作状態にあるとき、予め設定された第２の処理部制御手順に従い、第１の処理部に代わって第２の処理部を制御する第２の処理部制御部を備え、第２の処理部制御部が第２の処理部を制御するときの消費電力は、第１の処理部が第２の処理部を制御するときの消費電力よりも小さいことを特徴とする。
【００１４】
そして、第２の処理部制御部が第２の処理部を制御するときに動作する回路の規模は、第１の処理部が第２の処理部を制御するときに動作する回路の規模よりも小さくてもよい。あるいは、第２の処理部制御部が第２の処理部を制御するときの動作周波数は、第１の処理部が第２の処理部を制御するときの動作周波数よりも小さくてもよい。
【００１５】
また、第１の処理部は、第２の動作状態にないとき、第２の処理部を制御してもよい。そして、第１の処理部は、第２の動作状態にないとき、第２の処理部制御部に第２の処理部制御手順を設定してもよい。
【００１６】
本発明の制御システムは、第１の処理部は第１の指示信号を出力し、第２の処理部及び第２の処理部制御部の少なくとも一方は第２の指示信号を出力し、第１の指示信号に基づき第２の動作状態に設定し、第２の指示信号に基づき所定の第１の動作状態に設定する第１の処理部制御部を備えることを特徴とする。
【００１７】
第１の処理部は、第２の動作状態に設定される前に、第２の処理部制御部に起動信号を出力し、第２の処理部制御部は、起動信号を検出すると、第２の処理部を動作可能状態に設定した後、第２の処理部制御手順に従い第２の処理部の制御を開始してもよい。また、第１の処理部は、第１の動作状態に設定されたとき、第２の処理部制御部に停止信号を出力し、第２の処理部制御部は、停止信号を検出すると、第２の処理部制御手順に従い第２の処理部を制御した後、第２の処理部を動作停止状態に設定してもよい。
【００１８】
第１の処理部は、第２の動作状態に設定される前に、第１の処理部制御部に第１の処理部制御手順を設定し、第１の処理部制御部は、第１の処理部制御手順に従い、第１の動作状態への設定及び第２の動作状態への設定の少なくとも一方を行ってもよい。
【００１９】
第２の動作状態は、第１の動作状態よりも、第１の処理部が低速度で動作する状態であってもよい。あるいは、第２の動作状態は第１の処理部への電源供給が停止した状態で、第１の動作状態は第１の処理部へ電源が供給された状態であってもよい。
【００２０】
本発明の制御回路は、第２の処理部制御手順を記憶し、第１の処理部が通常動作状態よりも低消費電力で動作する低消費電力動作状態にあるとき、第２の処理部制御手順に従い、第１の処理部に代わり第２の処理部を制御することを特徴とする。
【００２１】
本発明の制御システムは、第１の指示信号を発生し、第1の動作状態又は第1の動作状態よりも低消費電力である第２の動作状態に設定変更可能なＣＰＵと、第２の指示信号を発生するＣＰＵ周辺部と、第１の指示信号に基づきＣＰＵを第２の動作状態に設定し、第２の指示信号に基づきＣＰＵを第１の動作状態に設定するＣＰＵ制御部と、ＣＰＵが第２の動作状態にあるとき、予め設定されたＣＰＵ周辺制御手順に従い、ＣＰＵに代わってＣＰＵ周辺部を制御するＣＰＵ周辺制御部を備えるコンピュータ・システムであってもよい。
【００２２】
本発明の制御部は、ＣＰＵ周辺部制御手順を記憶し、第1の動作状態又は第1の動作状態よりも低消費電力である第２の動作状態に設定なＣＰＵが第２の動作状態にあるとき、ＣＰＵ周辺制御手順に従い、ＣＰＵに代わりＣＰＵ周辺部を制御するＣＰＵ周辺制御回路であってもよい。
【００２３】
本発明のシステムの制御方法は、第1の動作状態又は第1の動作状態よりも低消費電力である第２の動作状態に設定な第１の処理部が第２の動作状態にあるとき、予め設定された第２の処理部制御手順に従い、第１の処理部に代わって第２の処理部制御部を用いて第２の処理部を制御する工程を備え、第２の処理部制御部を用いて第２の処理部を制御するときの消費電力は、第１の処理部を用いて第２の処理部を制御するときの消費電力よりも小さいことを特徴とする。
【００２４】
そして、第２の処理部制御部が第２の処理部を制御するときに動作する回路の規模は、第１の処理部が第２の処理部を制御するときに動作する回路の規模よりも小さくてもよい。あるいは、第２の処理部制御部が第２の処理部を制御するときの動作周波数は、第１の処理部が第２の処理部を制御するときの動作周波数よりも小さくてもよい。
【００２５】
また、第１の処理部が第２の動作状態にないとき、第１の処理部によって第２の処理部を制御する工程を備えてもよい。そして、第１の処理部が第２の動作状態にないとき、第２の処理部制御手順を設定する工程を備えてもよい。
【００２６】
本発明のシステムの制御方法は、第１の処理部から、第１の処理部を第２の動作状態へ変更するための第１の指示信号を出力する工程と、第２の処理部及び第２の処理部制御部の少なくとも一方から、第１の処理部を第１の動作状態へ変更するための第２の指示信号を出力する工程と、第１の指示信号に基づき第１の処理部を第２の動作状態に設定する工程と、第２の指示信号に基づき第１の処理部を第１の動作状態に設定する工程を備えることを特徴とする。
【００２７】
そして、第１の処理部が第２の動作状態に設定される前に、起動信号を出力する工程と、起動信号を検出すると、第２の処理部を動作可能状態に設定する工程と、第２の処理部制御手順に従い第２の処理部の制御を開始する工程を備えてもよい。第１の処理部が第１の動作状態に設定されたとき、停止信号を出力する工程と、停止信号を検出すると、第２の処理部制御手順に従い第２の処理部を制御する工程と、第２の処理部を動作停止状態に設定する工程を備えてもよい。
【００２８】
第１の処理部が第２の動作状態に設定される前に、第１の処理部制御手順を設定する工程と、第１の処理部制御手順に従い、第１の動作状態への設定を行う工程及び第２の動作状態への設定を行う工程の少なくとも一方の工程を備えてもよい。
【００２９】
第２の動作状態は、第１の動作状態よりも、第１の処理部が低速度で動作する状態であってもよい。あるいは、第２の動作状態は第１の処理部への電源供給が停止した状態で、第１の動作状態は第１の処理部へ電源が供給された状態であってもよい。
【００３０】
本発明の処理部の制御方法は、第２の処理部制御手順を記憶する工程と、第１の処理部が通常動作状態よりも低消費電力で動作する低消費電力動作状態にあるとき、第２の処理部制御手順に従い、第１の処理部に代わって第２処理部を制御する工程を備えることを特徴とする。
【発明の効果】
【００３１】
本発明の制御システムは、第１の処理部が通常動作状態よりも低消費電力な動作状態にある間、第２の処理部を制御するときの消費電力が第１の処理部よりも小さい第２の処理部制御部が、予め設定された第２の処理部制御手順に従い、第１の処理部に代わって、第２の処理部を制御する。従って、システム全体の消費電力を最小限にすることができるという効果がある。
【発明を実施するための最良の形態】
【００３２】
次に、本発明の最良の実施の形態について、図面を参照して詳細に説明する。図１は、コンピュータ・システム全体のブロック図である。図２は、図１のコンピュータ・システムの動作シーケンスを示すシーケンス・チャートである。
【００３３】
コンピュータ・システム１は、ＣＰＵ１０は、ＲＯＭ２、ＲＡＭ３を備え、それらは内部バス４に接続されている。また、ＣＰＵ１は、ＣＰＵクロック制御部（以降、「ＣＣＬＫＣＮＴ」という。）２０、ＣＰＵ制御シーケンサ（以降、「ＣＳＥＱ」という。）３０を備える。ＣＳＥＱ３０は内部バス４に接続されている。
【００３４】
また、コンピュータ・システム１は、周辺回路（以降、「ＰＨ」という。）１１、ＰＨ１２、ＰＨ１３を備える。そして、ＰＨ１１は、ＰＨクロック制御部（以降、「ＰＣＬＫＣＮＴ」という。）２１、ＰＨ制御シーケンサ（以降、「ＰＳＥＱ」という。）３１を備える。同様に、ＰＨ１２はＰＣＬＫＣＮＴ２２、ＰＳＥＱ３２を、ＰＨ１３はＰＣＬＫＣＮＴ２３、ＰＳＥＱ３３を備える。ＰＨ１１、１２、１３、及びＰＳＥＱ３１、３２、３３は、内部バス４に接続されている。
【００３５】
ＣＰＵ１０は、ＲＯＭ２に格納されたプログラムを内部バス４を介して読み出して実行し、各種アプリケーション機能の処理を行う。そして、ＣＰＵ１０は、必要なデータをＲＡＭ３へ格納する。また、ＣＰＵ１０は、内部バス４を介してＰＨ１１、１２、１３にアクセスし、これらを制御する。
【００３６】
ＣＣＬＫＣＮＴ２０は、ＣＳＥＱ３０からのＣＣＬＫ制御信号４０により、ＣＰＵへのクロック（以降、「ＣＣＬＫ」という。）５０の供給、停止、周波数変更を行う。
【００３７】
ＣＳＥＱ３０は、ＣＰＵ１０の動作状態を制御する。本実施の形態では、「動作状態」とは、動作を停止している状態を含め、動作中の速度の高低を表す。例えば、ＣＰＵ１０の場合には、プログラムを実行している「通常動作状態」、プログラム実行を停止している「停止状態」、あるいは、プログラムを実行しているが通常状態よりも低速度で動作している「低速動作状態」のいずれかを指す。つまり、ＣＳＥＱ３０は、ＣＣＬＫ５０の周波数を変更することにより、ＣＰＵ１０を「通常動作状態」、「低速動作状態」、「停止状態」に設定する。
【００３８】
また、ＣＳＥＱ３０には、ＣＰＵ１０から、内部バス４を介してＣＣＬＫＣＮＴ２０の制御手順が設定される。ＣＳＥＱ３０はその制御手順に従い、ＣＣＬＫＣＮＴ２０をシーケンス制御し、ＣＣＬＫ５０の周波数を変更し、ＣＰＵ１０の動作状態を変更する。
【００３９】
ＣＳＥＱ３０は、ＣＰＵ１０から、ＣＰＵ１０の動作状態の変更を指示する状態変更信号６０よって起動され、シーケンス動作を開始する。ＣＳＥＱ３０は、ＣＰＵ１０が状態変更信号６０を出力したときは、ＣＰＵ１０が動作状態を変更できる状態にあるものと判断する。クロックの周波数の変更を指示するためにＣＰＵ１０が状態変更信号６０を出力するとき、例えば、ＣＰＵ１０が「低速動作状態」への変更を指示するとき等は、ＣＰＵ１０の動作状態は任意である。
【００４０】
しかし、ＣＰＵ１０が「停止状態」への変更を指示するために状態変更信号６０を出力するときは、ＣＰＵ１０は処理を停止した状態にある必要がある。つまり、ＣＳＥＱ３０がＣＰＵ１０を「停止状態」へ設定するための状態変更信号６０を認識したときには、ＣＰＵ１０は、例えば、割り込み待ち状態や同じ番地の命令を繰り返し実行する等、処理を実質的に停止している必要がある。なぜなら、ＣＰＵ１０が何らかの処理中に非同期にＣＣＬＫ５０を停止させると誤動作の可能性があるためである。ＣＰＵ１０の状態に対して非同期にクロックを停止しても誤動作を生じないことが確実であれば、特に配慮は必要ない。
【００４１】
ＰＨ１１、１２、１３は、汎用周辺回路、あるいは外部との通信、外部機器の制御等の特殊機能を備えた回路である。ＰＨ１１、１２、１３は、それぞれ動作を制御するためのモード・レジスタ、入出力するデータを保持するデータ・レジスタ等を備える。そして、ＣＰＵ１０が内部バス４を経由して、それらのレジスタにアクセスし、ＰＨ１１、１２、１３の動作を制御する。
【００４２】
ＰＣＬＫＣＮＴ２１は、ＰＳＥＱ３１からのＰＣＬＫ制御信号４１により、ＰＨ１１へのクロック（以降、「ＰＣＬＫ」という。）５１の供給、停止、周波数変更を行う。同様に、ＰＣＬＫＣＮＴ２２は、ＰＳＥＱ３２からのＰＣＬＫ制御信号４２により、ＰＣＬＫ５２の供給、停止、周波数変更を行い、ＰＣＬＫＣＮＴ２３は、ＰＳＥＱ３３からのＰＣＬＫ制御信号４３により、ＰＣＬＫ５３の供給、停止、周波数変更を行う。
【００４３】
ＰＳＥＱ３１は、ＰＨ１１の動作状態を制御する。「動作状態」とは、ＣＰＵ１０の場合と同様であり、動作を停止している状態を含め、動作中の速度の高低を表す。例えば、通常の動作速度で動作している「通常動作状態」、動作を停止している「停止状態」、あるいは、通常動作状態よりも低速度で動作している「低速動作状態」のいずれかを指す。ＰＳＥＱ３１は、ＰＣＬＫ５１の周波数を変更することにより、ＰＨ１１を「通常動作状態」、「低速動作状態」、「停止状態」に設定する。ＰＳＥＱ３２、３３についても同様なので、説明は省略する。
【００４４】
ＰＳＥＱ３１には、ＣＰＵ１０から、内部バス４を介してＰＣＬＫＣＮＴ２１の制御手順が設定される。ＰＳＥＱ３１はその制御手順に従い、ＰＣＬＫＣＮＴ２１をシーケンス制御し、ＰＣＬＫ５１の周波数を変更し、ＰＨ１１の動作状態を変更する。ＰＳＥＱ３２、３３についても同様なので、説明は省略する。
【００４５】
以上のように、ＰＨ１１、１２、１３は、ＣＰＵ１０による直接制御の他、ＰＳＥＱ３１、３２、３３によるシーケンス制御も可能となっている。ＰＳＥＱ３１、３２、３３によるシーケンス処理は、ＣＰＵ１が「低速動作状態」あるいは「停止状態」にあるとき、ＣＰＵ１に代わりＰＨ１１、１２、１３を制御するためのものである。すなわち、ＣＰＵ１を「低速動作状態」あるいは「停止状態」に設定することにより消費電力を削減し、その間、ＰＳＥＱ３１、３２、３３がＰＨ１１、１２、１３を制御する。
【００４６】
ただし、ＰＳＥＱ３１がＰＨ１１を制御するときの消費電力は、ＣＰＵ１０が直接ＰＨ１１を制御するときの消費電力よりも小さいことを前提としている。この前提を実現することは容易である。なぜなら、ＰＳＥＱ３１はＰＨ１１を制御するためだけに機能を限定されたシーケンサであるから、多機能なＣＰＵ１０よりも回路規模を極めて小さく設計できるためである。ここでいう「回路規模」とは、素子数やゲート数、あるいは同じ製造プロセスの場合にはチップ面積（同一チップであれば各ブロックの面積）などで比較されるものである。
【００４７】
ＰＳＥＱ３１の機能が限定されていることは、ＰＳＥＱ３１の動作周波数を最低限に低くすることができる余地があることも意味する。あるいは、処理に必要なクロック数を最小限にしてもよい。ＣＰＵ１０がＰＨ１１にデータを設定する場合には、プログラムをＲＯＭ２から読み出し、命令をデコードし、必要データを生成し、ＰＨ１１へ書き込むという手順を踏むこととなる。しかし、シーケンサの場合にはそのような手順は不要なので、クロック周波数の低下又は処理に使用するクロック数の削減が容易である。このことは、ＰＳＥＱ３１が処理するシーケンスがＣＰＵ１０から設定できるように、プログラマブル化したときも同じである。ＣＰＵ１０が実行可能な命令と比較すれば、ＰＳＥＱ３１が実行する命令の数は限定できるし、各命令の処理も単純化できるためである。以上のＰＳＥＱ３１に関する説明は、ＰＳＥＱ３２、３３についても同様である。
【００４８】
ここで、ＰＳＥＱ３１、３２、３３の機能について補足する。ＰＳＥＱ３１、３２、３３は、ＰＨ１１、１２、１３の周辺回路としての動作そのものを実現するのではなく、あくまでＣＰＵ１０に代わり、ＰＨ１１、１２、１３を制御することに注意が必要である。例えば、ＰＨ１１が外部とのデータ転送を行う周辺回路であったならば、ＰＳＥＱ３１はデータ転送自体を行うのではなく、ＰＨ１１の制御を行う。つまり、通常はＣＰＵ１０が行う、モード・レジスタへのデータ設定、データ・レジスタへのリード／ライトを、ＰＳＥＱ３１が行うのである。
【００４９】
ＰＨ１１は、ＰＳＥＱ３１からの制御により動作し、イベントが発生すると、ＣＰＵ起動信号６１をＣＳＥＱ３０へ出力する。ＣＰＵ起動信号６１は、ＰＨ１１がＣＰＵ１０から直接制御されて動作しているときの、割り込み信号に相当するものであり、割り込み信号自体をＣＰＵ起動信号６１としてＣＳＥＱ３０へ出力してもよい。ＰＨ１２、１３も同様に、ＣＳＥＱ３０へ、ＣＰＵ起動信号６２、６３を出力する。
【００５０】
ＣＰＵ起動信号６１、６２、又は６３を入力すると、ＣＳＥＱ３０は、ＣＣＬＫ制御信号を出力し、ＣＣＬＫ５０の周波数を変更する。ＣＰＵ起動信号６１、６２、６３のそれぞれと、変更後のＣＣＬＫ５０の周波数の対応関係は、ＣＰＵ１０からＣＳＥＱ３０に設定された制御手順に従う。そして、ＣＰＵ起動信号７０をＣＰＵに出力し、状態が変更されたことを知らせる。
【００５１】
ここで、ＣＣＬＫＣＮＴ２０、ＣＳＥＱ３０の実現方法について説明する。まず、ＣＣＬＫＣＮＴ２０の機能を実現するには、例えば、内部に分周器を備え、分周率をＣＣＬＫ制御信号４０によって変更できるようにすればよい。ＣＣＬＫ５０を停止するときは、クロックの出力をマスクすればよい。ＰＣＬＫＣＮＴ２１、２２、２３についても同様である。
【００５２】
ＣＳＥＱ３０の機能を実現するには、まず、ＣＳＥＱ３０への４本の入力信号、すなわち、状態変更信号６０、ＣＰＵ起動信号６１、６２、６３に対応した４つのレジスタを備える。その４つのレジスタには、状態変更信号６０、ＣＰＵ起動信号６１、６２、６３に対応したＣＣＬＫ制御信号４０の出力状態を、ＣＰＵ１０から内部バス４を経由して設定する。そして、状態変更信号６０、ＣＰＵ起動信号６１、６２、６３が入力されると、それぞれに対応したレジスタの設定に従い、ＣＣＬＫ制御信号４０の出力状態を制御する。ここで、ＣＳＥＱ３０に状態変更信号６０が入力されたときは、ＣＰＵ起動信号６１、６２、６３の入力待ち状態に遷移し、ＣＰＵ起動信号６１、６２、６３が入力されたときは、状態変更信号６０の入力待ち状態に遷移すればよい。
【００５３】
ＣＳＥＱ３０の最も基本的な制御シーケンスは、ＣＰＵ１０からの状態変更信号６０を受けてＣＣＬＫ５０を停止させ、その後、ＣＰＵ起動信号６１、６２、６３を検出し、ＣＣＬＫ５０の供給を再開するというものである。
【００５４】
そこへ、上記のように、状態変更信号６０、ＣＰＵ起動信号６１、６２、６３のそれぞれに対応したＣＣＬＫ制御信号４０の出力状態を規定するレジスタを設けると、ＣＳＥＱ３０はさらに複雑なシーケンス制御が可能となる。例えば、ＰＨ１１がＣＰＵ起動信号６１を出力したときに、ＣＰＵ１０を停止させるのではなく、ＣＣＬＫ５０を最高周波数の１／２で供給を開始し、ＣＰＵ１０を１／２の動作速度の「低速動作状態」に設定してもよい。ＰＨ１１が状態変更信号６１を出力することは、ＰＨ１１がＣＰＵ１０に対して処理を要求することを意味する。しかし、必ずしも最高速度でＣＰＵ１０を動作させる必要はなく、ＣＰＵ１０の負荷が軽い場合には、低速で起動すれば十分だからである。
【００５５】
逆に、ＰＨ１２はＣＰＵ１０に極力高速に処理させたいならば、ＰＨ１２からの起動指示信号６２を受けたときには、ＣＣＬＫ５０を最高速で供給開始するようにすればよい。そして、起動指示信号６１、６２、さらに起動指示信号６３をも組み合わせて所定の優先順位に従い、ＣＣＬＫ５０の周波数を順に変更してもよい。
【００５６】
上記のＣＳＥＱ３０、ＰＳＥＱ３１、３２、３３の機能は一例であり、本発明ではシーケンサの機能は特に限定しない。
【００５７】
ＰＳＥＱ３１、３２、３３については、ＰＨ１１、１２、１３が持つ複雑な機能に対応したシーケンス処理を行うための機能を備えることができる。その例については、実施例２で説明する。
（最良の実施の形態の動作）
次に図１、図２を用いて、本発明の動作について説明する。図２は、ＣＰＵ１０がＰＨ１１を制御して所望の機能を実現する場合の動作シーケンスの例である。ここでは、ＣＰＵ１０の動作状態は「通常動作状態」と「停止状態」のみとする。周波数を変更する場合でもまったく同様のシーケンスを用いることができる。
【００５８】
ＰＳＥＱ３１へは、予めＣＰＵ１０からＰＨ１１を起動するとき及び停止するときの「起動シーケンス」及び「停止シーケンス」が設定されているものとする。ここでの「起動シーケンス」とは、例えばＰＨ１１が備えるモード・レジスタの初期設定、動作開始のためのトリガ送信などである。「停止シーケンス」とは、例えばＰＨ１１の動作を停止する前に行う、他の回路への制御や実際に動作を停止させるためのモード・レジスタの設定などである。
【００５９】
また、ＣＳＥＱ３０へは、予めＣＰＵ１０からＣＰＵ１０の動作状態を変更するときの「動作状態変更シーケンス」が設定されているものとする。「動作状態変更シーケンス」とは、状態変更信号６０、及びＣＰＵ起動信号６１を受けたときの、ＣＣＬＫＣＮＴ２０の制御手順を規定するものである。本実施の形態では、状態変更信号６０を受けるとＣＣＬＫ５０を停止させ、ＣＰＵ起動信号６１を受けると、ＣＣＬＫ５０の供給を開始するものとする。
【００６０】
まず、ＣＰＵ１０は、ＰＨ１１の起動処理を開始すると（ステップＳ０），ＰＳＥＱ３１に対して内部バス４を介してアクセスし、指示する（ステップＳ１）。次に、ＣＰＵ１０は、ＣＳＥＱ３０に対して状態変更信号６０を出力し、ＣＣＬＫ５０を停止させるよう指示し（ステップＳ２）、割り込み待ちなどで停止する（ステップＳ３）。ＣＳＥＱ３０は、ＣＣＬＫＣＮＴ２０に対して、ＣＣＬＫ５０の停止を指示する（ステップＳ４）。ＣＣＬＫ５０が停止するため（ステップＳ５）、ＣＰＵ１０は「停止状態」となり（ステップＳ６）、消費電力も０となる。
【００６１】
一方、ＰＳＥＱ３１は、ステップＳ１でＣＰＵ１０からＰＨ１１の起動処理の指示を受けると、ＰＣＬＫ５１の供給開始をＰＣＬＫＣＮＴ２１へ指示する（ステップＳ７）。ＰＣＬＫ５１の供給が開始し（ステップＳ８）、ＰＨ１１は「動作可能状態」となる（ステップＳ９）。この段階では、起動シーケンスが終了していないので、ＰＨ１１は動作を開始していない。次に、ＰＳＥＱ３１は、ＰＨ１１の起動シーケンスを順に実行し（ステップＳ１０）、ＰＨ１１は「起動状態」となる（ステップＳ１１）。
【００６２】
「起動状態」にあるＰＨ１１は、イベントが発生するとＣＳＥＱ３０へ通知する（ステップＳ１２）。イベントの通知は、ＣＳＥＱ３０へのＣＰＵ起動信号６１の出力により行う。ここでの「イベント」とは、ＣＰＵ１０を起動させる必要があるイベントである。ＣＰＵ１０を起動させる必要がないイベントが発生したときは、ＰＨ１１により処理の継続が可能であるから、ＣＳＥＱ３０にイベント発生は通知しない。
【００６３】
ＣＳＥＱ３０は、ＣＰＵ起動信号６１によりＰＨ１１でのイベント発生を検出するとＣＰＵ１０起動シーケンスを実行し、ＣＣＬＫ５０の供給開始を指示し（ステップＳ１３）する。そして、ＣＣＬＫＣＮＴ２０はＣＣＬＫ５０の供給を開始する（ステップＳ１４）。ＣＣＬＫ５０の供給を受け、ＣＰＵ１０は通常動作状態に復帰する（ステップＳ１５）。次に、ＣＳＥＱ３１は、起動信号７０をＣＰＵ１０へ出力する（ステップＳ１６）。ＣＰＵ１０は起動信号７０により起動された後、ＰＨ１１でのイベント発生に対応した処理を割り込み処理として実行する（ステップＳ１７）。
【００６４】
ＣＰＵ１０による割り込み処理の完了後、ＰＨ１１を停止させるために、ＣＰＵ１０はＰＳＥＱ３１に対してＰＨ１１の停止処理を開始し（ステップＳ１８）、ＰＳＥＱ３１へ指示する（ステップＳ１９）。そして、ＣＰＵ１０はＣＳＥＱ３０に対して再び停止指示を行い（ステップＳ２０）、割り込み待ちなどで停止する（ステップＳ２１）。CＳＥＱ３０は、ＣＣＬＫＣＮＴ２０へＣＣＬＫ５０の停止を指示し（ステップＳ２２）、ＣＣＬＫ５０は停止し（ステップＳ２３）、ＣＰＵ１０は動作を停止する（ステップＳ２４）。
【００６５】
ＰＳＥＱ３１は、ＣＰＵ１０からのＰＨ１１の停止処理の指示を受け、ＰＨ１１の停止シーケンスを実施し（ステップＳ２５）、ＰＨ１１を停止状態にした後、ＰＣＬＫ５１の停止をＰＣＬＫＣＮＴ２１へ指示し（ステップＳ２６）、ＰＣＬＫ５１は停止し（ステップＳ２７）、ＰＨ１１は停止状態となる（ステップＳ２８）。
【００６６】
ＰＳＥＱ３２、ＰＳＥＱ３３についても全く同様の制御を行う。ＰＳＥＱ３１、３２、３３の起動シーケンス、停止シーケンスはプログラマブルであるため、それぞれに適したシーケンスを設定することが可能である。また、ＰＨ１１の起動中も、ＰＳＥＱ３１からＰＨ１１へアクセスすることができるので、ＰＨ１１が起動中のシーケンス制御も可能である。ＰＨ１１が起動中のシーケンス制御の例は、実施例２で説明する。
【００６７】
なお、ＣＳＥＱ３０、ＰＳＥＱ３１、３２、３３に設定する制御手順は、システム起動時に毎回設定すればよい。あるいは、ＣＳＥＱ３０についてはＣＳＥＱ３０が停止している状態、すなわち、状態変更信号６０の出力前に制御手順を設定しても良い。ＰＳＥＱ３１、３２、３３については、ＣＰＵ１０からそれぞれＰＨ１１、１２、１３が停止状態にあるときに設定すればよい。
【００６８】
また、制御手順の固定が可能であれば、制御手順を含めてシーケンサを完全にハードウェア化することで回路規模を削減することが可能なので、さらに消費電力を削減することができる。
（最良の実施の形態の効果）
以上説明したように、本発明によると、ＣＰＵが、周辺回路制御シーケンサに予めシーケンスを設定し、処理を指示した後、停止状態となる。ＣＰＵが停止状態にある間、周辺回路制御シーケンサはＣＰＵが設定したシーケンスに従い、周辺回路を制御する。そのため、大規模な回路であるＣＰＵを停止させ、小規模な回路であるシーケンサが代わりに周辺回路を制御することができる。従って、システム全体の消費電力を削減することができる。
【００６９】
また、ＣＰＵが周辺回路制御シーケンサに設定するシーケンスはプログラマブルなので、シーケンサには各周辺回路に合わせて柔軟に制御させることができる。従って、ＣＰＵ自体を停止させることができる機会を最大限に拡張することができる。そのため、システム全体の消費電力の削減効果が大きいという効果がある。
【実施例１】
【００７０】
ＣＰＵ１０の動作状態を変更する方法としては、最良の実施の形態のように、外部から供給するクロックの周波数を変更する以外の方法も適用できる。例えば、ＣＰＵ１０が「スタンバイ・モード」を備える場合には、「スタンバイ・モード」に設定する方法もある。「スタンバイ・モード」とはＣＰＵの動作状態の一つであり、ＣＰＵが特定の命令（スタンバイ命令）の実行や外部信号によりＣＰＵ内部のクロックを停止させ、動作を停止した状態である。従って、ＣＳＥＱ３０からＣＰＵ１０へ状態変更信号（図示しない）を送ることにより、直接ＣＰＵ１０をスタンバイ・モードに設定したり、あるいはスタンバイ命令の実行を指示しＣＰＵ１０をスタンバイ・モードに設定させたりすることができる。
【００７１】
あるいは、ＣＰＵ１０、ＰＨ１１、１２、１３を「停止状態」に設定するために、それらへの電源の供給を遮断する方法もある。ただし、電源の供給を停止されたＣＰＵ１０やＰＨ１１、１２、１３の出力信号は不定となるため、それらの出力信号が接続されている回路に電源が供給されているときは入力信号が不定となる。そのため、それらの回路では、入力信号を無視する、あるいは強制的にある入力信号レベルに固定するなどの対策が必要である。このような対策方法は本発明の趣旨にとって重要ではなく、また当業者には周知のため、詳細な説明は省略する。
（実施例１の効果）
実施例１によると、ＣＰＵの動作状態を変更する方法として、スタンバイ・モードへの設定、電源の遮断など種々の方法を適用することができる。従って、実際のシステムに適したＣＰＵの各種の動作状態を定義し、それに設定することができる。
【実施例２】
【００７２】
次に、周辺回路の起動、停止ではなく、実際の動作を周辺回路シーケンサを用いて行う方法について、入出力ポートの制御を例として用いて説明する。携帯電話やＰＤＡのような情報機器では、情報の入力用に多数のスイッチを備えている。スイッチが数個以上になると、各スイッチの状態を入力するために、各スイッチに入力ポートを割り当てるのではなく、いわゆる「キー・スキャン」を行うことが一般的である。「キー・スキャン」とは、各スイッチをマトリクス状に接続し（物理的な配置は任意である）、スキャン出力信号を順にアクティブにしていく。そして、スキャン入力信号を読み込んだときに、アクティブになっているスキャン出力信号との関係で、押下されているスイッチを判断するというものである。
【００７３】
キー・スキャンは、上記のように、ポートの入出力制御であるから、ＣＰＵによるソフトウェア制御で行うことが可能である。しかし、常にＣＰＵがキー・スキャンを行うことは、ＣＰＵの処理性能と実際のスキャン制御の容易さから考えて非常に非効率である。アプリケーションがキー入力待ちのときは、消費電力の観点からは、ＣＰＵは停止していることが望ましい。
【００７４】
このような課題に対応するため、本実施例では、ＣＰＵを停止させた状態で、シーケンサを用いてキー・スキャンの制御を行う方法を示す。なお、本実施例は、シーケンサを用いた入出力ポートの制御の例を示すことが目的であるので、キー・スキャンは最も単純な原理的動作のみを示し、同時の複数スイッチの押下等、キー・スキャン特有の問題については説明しない。
【００７５】
実施例２は、図１における周辺回路（ＰＨ）１１が入出力ポートである場合の例である。図３は、本発明の実施例２の入出力ポート及び入出力ポート制御シーケンサのブロック図である。図４は、キー・マトリクスを構成するスイッチの接続形態を示す回路図である。図５は、本発明の実施例２の入出力ポート及び入出力ポート制御シーケンサの動作を示すタイミング・チャートである。
【００７６】
ＰＨ１１は、出力ポート１１１、入力ポート１１２を備える。出力ポート１１１、入力ポート１１２は、内部バス４を介してＣＰＵ１０から直接アクセスすることも可能であるが、実施例２ではＣＰＵ１０は停止状態であること前提とするため、出力ポート１１１、入力ポート１１２と内部バス４間の接続線は省略している。
【００７７】
出力ポート１１１の４本の出力信号ＯＵＴ０、１、２、３、及び入力ポート１１２の４本の入力信号ＩＮ０、１、２、３には、キー・マトリクスが接続されている。各交点には、図４のようにスイッチが接続されており、アクティブとなっている出力信号（実施例２では、”１”をアクティブ・レベルとする。）に接続されたスイッチが押下されると、”１”が入力ポート１１２に入力される仕組みになっている。
【００７８】
ＰＳＥＱ３１は、出力データ・レジスタ３１１、入力データ・レジスタ３１２、及びＰＳＥＱ制御部３１３を備える。ここでは、出力データ・レジスタ３１１、入力データ・レジスタ３１２は４ビット構成で、それぞれＡ、Ｂ、Ｃ、Ｄの４ワード備えるものとする。
【００７９】
シーケンス制御部３１３は、レジスタ指定信号３１４を順次変更し、出力データ・レジスタ３１１のデータをＡ、Ｂ、Ｃ、Ｄの順に出力ポート１１１へ出力する。また、同時に入力ポート１１２からの入力データを、入力データ・レジスタ３１２のＡ、Ｂ、Ｃ、Ｄに順に保持する。
【００８０】
出力データ・レジスタ３１１には、ＡからＤまで順に、０００１、００１０、０１００、１０００が設定されている。従って、ＡからＤまで順に出力ポート１１１から出力されると、４ビットの出力信号ＯＵＴ０、１、２、３は、図５のように変化する。
【００８１】
今、タイミングＴ３以降に、図３のキー・マトリクスの矢印で示した交点のスイッチＳが押下されたとすると、図５のタイミングＴ６でＩｎ２が”１”になる。Ｔ６でＩｎ２が１になったことから、押下されたスイッチがＳであることが特定できる。
【００８２】
さらに、ＰＳＥＱ３１には、入力ポート１１２から入力データが入力されているので、入力データに”１”のビットが存在することを検出すると、ＣＰＵ起動信号６１を出力する。なお、図１では、ＣＰＵ起動信号６１はＰＨ１１から出力することとしたが、実施例２のように、ＰＳＥＱ３１から出力することも可能である。
【００８３】
ＣＰＵ起動信号６１が出力されると、最良の実施の形態のように、ＣＰＵ１０が起動し、内部バス４を介して入力データ・レジスタ３１２を読み出し、押下されたスイッチを判断する。当然ながら、ＰＳＥＱ３１に押下されたキー位置の判別機能を設け、キーの位置情報をＣＰＵ１０が読み出せるようにしてもよい。
【００８４】
なお、ＣＰＵが制御手順を指定できるシーケンサを用いてキー・スキャンを行うと、特殊なキー・スキャンが容易に実現可能であり、装置の動作状態によって、スキャン内容を変更することもできる。
【００８５】
例えば、出力データ・テーブル  のデータを００１０、０１００、００１０、０１００のように書き変えると、ビット２、３に対応するスイッチのみをスキャンすることができる。この方法を用いると、スキャン範囲の限定、あるいは特定キーの押下の検出が可能となる。従って、電源オフ状態にある携帯電話において、電源をオンすることができるキーを「電源キー」など特定のキーに制限するといった制御が容易に実現できる。通常の動作状態のときは全部のキーをスキャンすればよいし、あるアプリケーションの実行中では、入力が有効なキーを限定するなどしてもよい。
【００８６】
さらに、シーケンサにデータのチェック機能を備えれば、ある特定のキーが押下されたときのみ、ＣＰＵ起動信号を発生させることもできる。
（実施例２の効果）
実施例２によれば、ＣＰＵを停止させた状態で、シーケンサを用いて入出力ポートを制御しキー・スキャンを行うことができる。すなわち、大規模な回路を備えるＣＰＵの動作を停止させ、小規模な回路であるシーケンサでキー・スキャン動作を継続することが可能である。従って、システム全体の消費電力を最小限にすることができるという効果がある。
【００８７】
また、入出力ポートが備えるレジスタのデータを書き換えることにより、スキャン方法を変更することができるという効果がある。
【実施例３】
【００８８】
周辺回路の制御は、一般的には、ＣＰＵから、内部バスを経由して、モード・レジスタ、データ・レジスタへアクセスすることにより行う。従って、実施例２で示したポートの入出力以外にも、各種周辺回路のシーケンス制御が可能である。
【００８９】
例えば、シリアル・インタフェースでは、ＲＡＭ５のある領域のデータをシーケンサで順に読み出し送信し、受信したデータをＲＡＭ５に格納する等の機能が容易に実現できる。そして、所定のデータ数の送受信が完了したときに、ＣＰＵ起動信号を出力するようにすれば、ＣＰＵを停止したまま、外部との通信が可能である。以上の機能は、シーケンサが、ＲＡＭと、シリアル・インタフェースの送信バッファ・レジスタ、受信バッファ・レジスタへアクセスするのみで実現可能である。
【００９０】
タイマのシーケンス制御の場合には、タイマがオーバーフローし、所定の時間の経過を知らせるような場合、その時間間隔を自動的に変更することができる。つまり、シーケンサでタイマのオーバーフローを検出し、オーバーフローするごとにタイマの設定値を変更すればよい。この機能も、タイマの時間設定レジスタへのアクセスの他には、シーケンサがタイマのオーバーフローを検出する機能を備えるのみで実現できる。
【００９１】
以上のように、本発明によると、ＣＰＵを使用する必要がない、単純な処理については、周辺回路に処理させることができる。
【００９２】
なお、周辺回路自体を動作させるシーケンス制御は、周辺回路が「起動状態」にあるときに行うことは言うまでもない。その間、ＣＰＵ１０は停止状態となっているので、システム全体の消費電力は最小となる。
【００９３】
最良の実施の形態及び実施例１、２、３で説明したコンピュータ・システムは、ＣＰＵ及びＣＰＵ周辺回路から成る一般的な電子機器の構成に、ＣＰＵ制御用シーケンサ、ＣＰＵ周辺制御用シーケンサを追加したものである。従って、本発明を適用したコンピュータ・システムは、一般的な電子機器の制御用として用いることができる。
【００９４】
なお、最良の実施の形態及び実施例１、２、３で示したコンピュータ・システムは本発明の制御システムの実施の形態の一例であり、ＣＰＵを備えることは必須ではない。ＣＰＵではなく、ランダム・ロジックによって構成された、他の回路を制御する機能を備えた所定の論理回路であってもよいことは言うまでもない。また、本発明は、デジタル・システムのみでなく、アナログ回路を含んだシステムにも適用可能である。
（実施例３の効果）
以上のように、本発明によると、ＣＰＵが停止状態のときに、周辺回路制御シーケンサを用いて周辺回路を制御することにより、周辺回路に対して種々の制御が可能である。従って、大規模な回路を備えるＣＰＵの消費電力を最小限とし、小規模なシーケンサで制御可能なので、システム全体の消費電力を最小限にすることができるという効果がある。
【図面の簡単な説明】
【００９５】
【図１】本発明の最良の実施の形態のコンピュータ・システムのブロック図である。
【図２】本発明の最良の実施の形態のコンピュータ・システムの動作シーケンスを示すシーケンス・チャートである。
【図３】本発明の実施例２の入出力ポート及び入出力ポート制御シーケンサのブロック図である。
【図４】キー・マトリクスを構成するスイッチの接続形態を示す回路図である。
【図５】本発明の実施例２の入出力ポート及び入出力ポート制御シーケンサの動作を示すタイミング・チャートである。
【符号の説明】
【００９６】
１    コンピュータ・システム
２    ＲＯＭ
３    ＲＡＭ
４    内部バス
１０    ＣＰＵ
１１、１２、１３    周辺回路（ＰＨ）
２０    ＣＰＵクロック制御部（ＣＣＬＫＣＮＴ）
２１、２２、２３    周辺回路クロック制御部（ＰＣＬＫＣＮＴ）
３０    ＣＰＵ制御シーケンサ（ＣＳＥＱ）
３１、３２、３３    周辺回路制御シーケンサ（ＰＳＥＱ）
１１１    出力ポート
１１２    入力ポート
３１１    出力データ・レジスタ
３１２    入力データ・レジスタ
３１３    周辺回路制御シーケンサ制御部（ＰＳＥＱ制御部）
【図１】
2008191840.tif 000003
【図２】
2008191840.tif 000004
【図３】
2008191840.tif 000005
【図４】
2008191840.tif 000006
【図５】
2008191840.tif 000007