(57)【特許請求の範囲】
【請求項１】
少なくとも一つの第１のクロック信号に基づいて動作する少なくとも一つの第１の半導体回路と、
前記第１のクロック信号と独立した少なくとも一つの第２のクロック信号と、前記第１の半導体回路からの要求と、に基づいて動作し、前記第１の半導体回路を補助する少なくとも一つの第２の半導体回路と、
を有し、
前記第２の半導体回路は、前記第２のクロック信号を停止させる停止手段を有することを特徴とする半導体集積回路。
【請求項２】
請求項１において、
前記停止手段は、
前記第２のクロック信号の停止、非停止を制御する少なくとも一つのクロック制御信号を生成する制御信号生成手段と、
前記クロック制御信号に基づいて、前記第２のクロック信号の動作を停止制御する動作制御手段と、
を有することを特徴とする半導体集積回路。
【請求項３】
請求項２において、
前記停止手段は、
前記第１の半導体回路からの要求に基づいて、前記第２のクロック信号の停止時間が設定される設定手段と、
前記第２のクロック信号の動作時間をカウントして、カウントされた当該カウンタ値を前記動作制御手段に向けて出力する計数手段と、
をさらに有し、
前記動作制御手段は、前記カウンタ値が前記停止時間に至った時に、前記制御信号生成手段の前記クロック制御信号を出力させて、前記第２のクロック信号を停止させることを特徴とする半導体集積回路。
【請求項４】
請求項３において、
前記動作制御手段、前記計数手段、及び前記制御信号生成手段は、各々第１導電型のトランジスタと、前記第１導電型と逆の導電性を有する第２導電型のトランジスタと、をそれぞれ有し、
前記計数手段の第１導電型のトランジスタと、前記動作制御手段及び前記制御信号生成手段の第１導電型のトランジスタとが電気的に分離し、かつ、前記計数手段の第２導電型のトランジスタと、前記動作制御手段及び前記制御信号生成手段の第２導電型のトランジスタとが電気的に接続するように形成することを特徴とする半導体集積回路。
【請求項５】
請求項３において、
前記設定手段は、
前記第２のクロック信号の停止時間を記憶する記憶手段と、
前記第１の半導体回路からの要求に基づいて、少なくとも前記記憶手段に前記停止時間を書き込むデータ書込手段と、
を含むことを特徴とする半導体集積回路。
【請求項６】
請求項３において、
前記第２の半導体回路は、該第２の半導体回路に電位を供給するための電源回路と、前記電源回路を制御する制御回路と、を有し、
前記制御信号生成手段は、前記制御回路を制御する制御信号を前記制御回路に向けて出力することを特徴とする半導体集積回路。
【請求項７】
請求項６において、
前記第２の半導体回路の計数手段と、前記動作制御手段及び前記制御信号生成手段とは、各々前記電源回路を供給源として動作することを特徴とする半導体集積回路。
【請求項８】
請求項７において、
前記第２の半導体回路は、時間計測回路であることを特徴とする半導体集積回路。
【請求項９】
請求項１において、
前記第２の半導体回路と前記第１の半導体回路との間でデータの入出力を行なうための入出力手段をさらに有することを特徴とする半導体集積回路。
【請求項１０】
請求項３において、
前記第２の半導体回路は、前記データ保持手段と、前記動作制御手段及び前記制御信号生成手段と、の間でデータの入出力を行なうための入出力手段をさらに有することを特徴とする半導体集積回路。
【請求項１１】
請求項１において、
前記第１の半導体回路は、
該第１の半導体回路に電位を供給するための主電源回路と、
前記第１のクロック信号に基づいて前記主電源回路を停止させる電源停止信号を出力することで、前記主電源回路を制御する主電源制御回路と、
を有することを特徴とする半導体集積回路。
【請求項１２】
請求項１に記載の半導体集積回路と、
前記半導体集積回路の前記第１の半導体回路への供給電圧を形成する第１の電源回路と、
前記半導体集積回路の前記第２の半導体回路への供給電圧を形成する第２の電源回路と、
を同一基板上に形成したことを特徴とする半導体装置。
【請求項１３】
請求項１に記載の半導体集積回路と、
前記第１のクロック信号を生成するための第１の発振回路と、
前記第２のクロック信号を生成するための第２の発振回路と、
前記半導体集積回路、前記第１、第２の発振回路を同一基板上に形成すると共に、前記基板上の各回路に電力を供給するための基板用電源と、
を有することを特徴とする半導体装置。
【請求項１４】
請求項１２に記載の半導体装置を含む電子機器。
【請求項１５】
請求項１３に記載の半導体装置を含む電子機器。
【発明の詳細な説明】
技術分野
本発明は、半導体集積回路、半導体装置及びそれを含む電子機器に関し、特に時間計測回路での計時用クロック信号を停止するものに関するものである。
背景技術
この種の時間計測回路として例えば図１２に示すものが挙げられる。図９には、一般的な時間計測回路の一例が示されている。図１２に、従来の補助クロック信号で動作する時間計測回路を含む半導体集積回路のブロック図を示す。
半導体集積回路は、システムメインクロック信号７６０に基づいて駆動するメイン回路７１０と、計時等を目的とした補助クロック信号７７０に基づいて駆動する補助回路７３０と、前記補助回路７３０とメイン回路７１０とをブロック間信号７８１、７８２、７８３により電気的に接続するインタフェース回路７２０と、を含み構成される。ここで、システムメインクロック信号は、メイン回路を動作させるためのクロックであり、補助クロック信号は、例えば時計等の計時を行なうような補助のクロックである。
さらに、半導体集積回路は、メイン回路７１０に電気的に接続されて、メイン回路７１０に電位を供給する主電源回路７５０と、補助回路７３０と電気的に接続されて、補助回路７３０に電位を供給する補助用電源回路７４０と、を有する。
メイン回路７１０内には、システムメインクロック信号７６０を入力とし、該システムメインクロック信号７６０で動作する第１の制御回路７１２と、前記第１の制御回路７１２とブロック間信号７６２により電気的に接続され、主電源回路７５０とブロック間信号７６４により電気的に接続される第２の制御回路７１４と、を含み構成される。
補助回路７３０内には、補助クロック信号７７０を入力とし、該補助クロック信号７７０で動作する第１の制御回路７３２と、第１の制御回路７３２とブロック間信号７７２により電気的に接続される第２の制御回路７３４及びその他の回路７３６と、を含み構成される。
上記のような構成の半導体集積回路では、補助回路７３０とは独立して、メイン回路７１０のシステムメインクロック信号７６０を停止させる場合、ブロック間信号７６４により該システムメインクロック信号７６０を停止することで行なう。
しかしながら、前記補助回路７３０では、メイン回路７１０に関係なく動作を継続したり、該補助クロック信号７７０を停止したりすることはできなかった。このため、メイン回路の消費電力は、必要に応じて抑えることが可能であったが、補助回路、及び補助用電源を停止することができないため、補助回路において電力が常時消費されるために、半導体集積回路全体としての消費電力を抑えることができないという問題点があった。
また、補助クロック信号７７０を停止できないため、該クロック信号７７０により動作する回路は、必要・不必要に関係なく動作を継続し消費電力が増加することになる。特に、補助回路７３０が例えば時間計測回路等にて形成される場合には、一定時間の計測を行なうために、その一定時間以上の計測は必要ないような場合でも前記補助回路７３０を停止できないため、一定時間以外の計測されない時間分に消費される電力を抑えることができず、低消費電力化に寄与できないという問題点があった。
さらに、半導体装置においては、低消費電力化の観点から、低電圧仕様のものが主流となりつつあるため、時間計測回路と共に使用されるこれらを搭載した半導体装置においても、時間計測回路の動作が消費電力に大きな影響を与えることになるため、低消費電力が要求されるようになってきた。
本発明は、上記した技術の課題を解決するためになされたものであり、その目的とするところは、必要のない場合は補助回路を停止し、前記補助回路で消費される消費電力を抑えると共に、半導体集積回路全体としての低消費電力化をも図ることのできる半導体集積回路、半導体装置及びそれを含む電子機器を提供することにある。
発明の開示
本発明に係る半導体集積回路は、少なくとも一つの第１のクロック信号に基づいて動作する少なくとも一つの第１の半導体回路を有する。さらに、少なくとも、前記第１のクロック信号と独立した少なくとも一つの第２のクロック信号と、前記第１の半導体回路からの要求と、に基づいて動作し、前記第１の半導体回路を補助する少なくとも一つの第２の半導体回路を有する。前記第２の半導体回路は、必要に応じて前記第２のクロック信号を停止させる停止手段を有する。
本発明によれば、第１の半導体回路と、第２の半導体回路とを有するものの場合、第１の半導体回路は、第１のクロック信号を停止させることで、第１の半導体回路の動作を停止することができる。一方、第２の半導体回路を停止させる場合、第２のクロック信号を停止させることで、第２の半導体回路の動作を停止することができる。これにより、従来は、第２の半導体回路を停止できなかったのに対して、本発明では、第２のクロック信号を所望の期間停止させることで、第２の半導体回路を使用期間中のみ動作させれば良く、動作されない分の第２の半導体回路にて消費される消費電力の低減を図ることが可能となる。
また、本発明では、前記停止手段は、前記第２のクロック信号の停止、非停止を制御する少なくとも一つのクロック制御信号を生成する制御信号生成手段を有する。さらに、前記クロック制御信号に基づいて、前記第２のクロック信号の動作を停止制御する動作制御手段を有する。
本発明によれば、クロック制御信号に基づいて動作制御される動作制御手段により、前記第２のクロック信号の停止、非停止を制御できる。これにより、所望の期間のみ第２のクロック信号を停止できる。
また、本発明では、前記停止手段は、前記第１の半導体回路からの要求に基づいて、前記第２のクロック信号の停止時間が設定される設定手段を有する。さらに、前記第２のクロック信号の動作時間をカウントして、当該カウンタ値を前記動作制御手段に向けて出力する計数手段を有する。前記動作制御手段は、前記カウンタ値が前記停止時間に至った時に、前記制御信号生成手段の前記クロック制御信号を出力させて、前記第２のクロック信号を停止させることが好ましい。
本発明によれば、第２のクロック信号の停止時間が設定される設定手段により、第２の半導体回路が停止される停止開始時刻、停止終了時刻を所望に設定できる。これにより、第２の半導体回路を制御できる。
また、本発明では、前記動作制御手段、前記計数手段、及び前記制御信号生成手段は、各々第１導電型のトランジスタと、前記第１導電型と逆の導電性を有する第２導電型のトランジスタと、をそれぞれ有する。前記計数手段の第１導電型のトランジスタと、前記動作制御手段及び前記制御信号生成手段の第１導電型のトランジスタとが電気的に分離する。前記計数手段の第２導電型のトランジスタと、前記動作制御手段及び前記制御信号生成手段の第２導電型のトランジスタとが電気的に接続することが好ましい。
本発明によれば、第１導電型のトランジスタと、第２導電型のトランジスタとを形成し、計数手段と、動作制御手段及び制御信号発生手段とを電気的に分離することで、電位供給を各々独立して行なうことができる。
また、本発明では、前記設定手段は、前記第２のクロック信号の停止時間を記憶する記憶手段を有する。さらに、前記第１の半導体回路からの要求に基づいて、少なくとも前記記憶手段に前記停止時間を書き込むデータ書込手段を有する。
本発明によれば、記憶手段に、第２のクロック信号を停止させる前記停止時間を予め記憶可能に形成しておくことで、所定の時間まで、第２のクロック信号を動作させ、その後停止させるという時間設定を、必要に応じて容易に可変できる。
また、本発明では、前記第２の半導体回路は、該第２の半導体回路自体の回路動作を行なうための電源回路と、前記電源回路を制御する制御回路と、を有する。前記制御信号生成手段は、前記制御回路を制御する制御信号を前記制御回路に向けて出力することが好ましい。
本発明によれば、第２の半導体回路に電位を供給するための電源回路と、電源回路を制御する制御手段とを有することで、制御信号生成手段により電源回路自体をも停止することができる。即ち、この種の第２の半導体回路においては、第２の半導体回路内に流れるのはトランジスタ等のリーク電流のみであり、電源回路を停止しなくても、第２の半導体回路を駆動させている第２のクロック信号を停止状態（スリープ状態）とすることで、消費電力を低減することもできる。しかし、電源回路自体を停止させていないため、リーク電流分の若干の電力は消費される。そこで、本発明においては、上述の第２のクロック信号の停止に加えて、電源回路をも停止するような構成とすることで、このような電力消費をも削減でき、さらなる低消費電力化を図ることができる。
また、本発明では、前記第２の半導体回路の計数手段と、前記動作制御手段及び前記制御信号生成手段とは、各々前記電源回路を供給源として動作することが好ましい。
本発明によれば、制御信号生成手段、計数手段、動作制御手段を、上記の電源回路を供給源として動作させることで、電源回路を停止させることで、各々の手段を構成する回路の停止をも図ることができる。
また、本発明では、前記第２の半導体回路は、時間計測回路であることが好ましい。
本発明によれば、時間計測回路である場合には、所定の計測時間のみ第２の半導体回路を動作させ、前記計測時間以外の時間は第２の半導体回路を停止させることができる。これにより、時間計測回路を半導体回路に備えた場合にも、消費電力を抑えることのできる回路を形成できる。
また、本発明では、前記第２の半導体回路と前記第１の半導体回路との間でデータの入出力を行なうための入出力手段をさらに有する。
本発明によれば、第１の半導体回路と第２の半導体回路とで、互いに異なる電圧で回路が駆動するような場合には、この入出力手段により例えば電圧変換等を行い、第１の半導体回路と第２の半導体回路との間でデータの入出力を行なうことができる。
また、本発明では、前記第２の半導体回路は、前記データ保持手段と、前記動作制御手段及び前記制御信号生成手段と、の間でデータの入出力を行なうための入出力手段をさらに有することが好ましい。
本発明によれば、前記データ保持手段と、前記動作制御手段及び前記制御信号生成手段と、で互いに異なる電圧で駆動するような回路を形成できる。このような場合には、この入出力手段により例えば電圧変換等を行い、前記データ保持手段と、前記動作制御手段及び前記制御信号生成手段と、との間でデータの入出力を行なうことができる。
また、本発明では、前記第１の半導体回路は、第１の半導体回路に電位を供給するための主電源回路を有する。さらに、前記第１のクロック信号に基づいて前記主電源回路を停止させる電源停止信号を出力することで、前記主電源回路を制御する主電源制御回路を有する。
本発明によれば、第１の半導体回路においては、主電源回路を停止することで、第１の半導体回路における動作電力の消費を低減することができる。従って、第２の半導体回路での低消費電力に加えて、第１の半導体回路での低消費電力化が図れるので、半導体装置全体としての低消費電力化を図ることができる。
本発明に係る半導体装置は、上述の半導体集積回路を有する。さらに、前記半導体集積回路の前記第１の半導体回路への供給電圧を形成する第１の電源回路を有する。さらに、前記半導体集積回路の前記第２の半導体回路への供給電圧を形成する第２の電源回路を有する。そして、半導体集積回路、第１の電源回路、第２の電源回路を同一基板上に形成することが好ましい。
本発明によれば、第１の電源回路、半導体集積回路、第２の電源回路を同一基板上に形成することで、第１の半導体回路を停止する場合は、第１の電源回路を停止することで実行でき、第２の半導体回路を停止する場合は、第２の電源回路を停止することで実行できる。
本発明に係る半導体装置は、上述の半導体集積回路を有する。さらに、前記第１のクロック信号を生成するための第１の発振回路を有する。さらに、前記第２のクロック信号を生成するための第２の発振回路を有する。さらに、前記半導体集積回路、前記第１、第２の発振回路を同一基板上に形成すると共に、前記基板上の各回路に電力を供給するための基板用電源を有する。
本発明によれば、第１、第２のクロック信号を生成する第１、第２の発振回路を有することで、第１、第２の発振回路を発振停止することで、第１、第２の半導体回路を停止できる。また、基板用電源を形成することで、この基板用電源の停止により、第１の半導体回路を停止することができる。
本発明に係る電子機器は、上述の半導体装置を含む。この電子機器によれば、第２の半導体回路を第１の半導体回路とは独立して停止することで、第２の半導体回路が動作中以外は第２の半導体回路を停止することができ、第２の半導体回路内で消費される消費電力を低減することができる。これにより、電子機器全体としても無駄な電力を削減することができ、最適な低消費電力の電子機器を実現できる。
【図面の簡単な説明】
第１図は、本発明に係る半導体集積回路の実施の形態の一例を示すブロック図である。
第２図は、第１図の半導体集積回路の補助ブロックの詳細を示すブロック図である。
第３図は、第１図の半導体集積回路のメイン回路の詳細を示すブロック図である。
第４図は、第１図の半導体集積回路の概略動作を示すフローチャートである。
第５図は、第１図の半導体集積回路のメイン回路と補助回路との動作タイミングを示すタイミングチャートである。
第６図は、第１図の半導体集積回路のメイン回路のＣＰＵの詳細を示す機能ブロック図である。
第７図は、本発明に係る半導体集積回路の他の実施の形態の一例を示すブロック図である。
第８図は、本発明に係る半導体集積回路の他の実施の形態の一例を示す断面図である。
第９図は、本発明に係る半導体集積回路を用いた装置の実施の形態の一例の全体構成を示すブロック図である。
第１０図は、本発明に係る半導体集積回路を含む電子機器の内部ブロック図の例である。
第１１図は、第１０図に示したの電子機器の一例の外観を示す斜視図である。
第１２図は、従来の補助用クロック信号での半導体回路を有する半導体集積回路の全体を示すブロック図である。
発明を実施するための最良の形態
以下、本発明の半導体集積回路を時間計測回路に適用した実施の形態について、図面を参照して具体的に説明する。
［実施の形態１］
（全体構成）
図１は、半導体集積回路１の全体構成を示すブロック図である。この半導体集積回路１は、例えばプリンタ等の電子機器において使用されるものである。より詳細には、電源投入前の電源停止期間に基づいて、電源投入時（再起動時）にクリーニング動作等を行なうか否かを判断する場合に、上記電源停止期間を計測する時間計測回路を内蔵したものである。尚、この電子機器の全体の概要については、後述の実施の形態４にて詳述する。
本例の半導体集積回路１は、図１に示すように、システムメインクロック信号２０（第１のクロック信号）に基づいて動作するメイン回路１０（第１の半導体回路）を有する。さらに、システムメインクロック信号と独立した補助クロック信号９２（第２のクロック信号）に基づいて動作し、メイン回路１０を補助する補助回路５０（第２の半導体回路）を有する。この補助回路５０が上述の時間計測回路に該当する。また、メイン回路１０と補助回路５０との間には、メイン回路１０と補助回路５０との間でデータの入出力を行なうための入出力手段としてのインターフェース回路３０を有する。
さらに、メイン回路１０には、メイン回路１０に電位を供給してメイン回路１０自体の回路動作を行なうための外部の主電源回路２が接続される。補助回路５０には、補助回路５０に電位を供給するための半導体集積回路１の外部の補助用電源回路３が接続される。このようにして、補助用電源回路３と主電源回路２とが半導体集積回路１の外部を構成している。従って、本例においては、メイン回路１０、インターフェイス回路３０、補助回路５０とで半導体集積回路１、即ち１チップのＣＰＵを構成している。
メイン回路１０は、システムメインクロック信号２０に基づいて、信号２２を出力する第１の制御回路１２と、システムメインクロック信号２０に基づいて主電源回路２を停止させる電源停止信号２４を出力することで、主電源回路２を制御する主電源制御回路としての第２の制御回路１４と、を有する。尚、第２の制御回路１４からは、第１の制御回路１２に向けて入力されるフィードバック信号２６が出力される。
補助回路５０は、例えば時間を計測するための時間計測回路等にて構成され、当該補助回路５０を使用しない時に、補助クロック信号９２（計時クロック）を自動停止させる停止手段５１を有する。即ち、補助回路５０は、補助用電源回路３のオン、オフにより停止するのではなく、補助クロック信号９２で動作する内部の回路を止めるよう機能する。この理由は、補助回路５０は、動作中では回路の動作電流により電力は消費されるが、動作停止中ではスタティック状態になるので、回路内を流れるのはトランジスタの無視できる範囲のリーク電流のみであり、特別電源を外す処理を行なわなくても問題ないからである。尚、停止させるタイミングの設定は、プリンタ側の仕様に基づき、後述するレジスタ８２ａ〜８２ｃ（図２参照）にて設定できる。
停止手段５１は、補助クロック信号９２の停止、非停止を制御する少なくとも一つの補助クロック制御信号９５（クロック制御信号）を生成する制御信号生成手段としての制御信号発生回路７０と、補助クロック制御信号９５に基づいて、補助クロック信号９２の動作を停止制御する動作制御手段としての動作制御回路６０と、メイン回路１０からの要求に基づいて、補助クロック信号９２の停止時間が設定される設定手段を含むその他の回路８０と、補助クロック信号９２の動作時間をカウントして、当該カウンタ値を動作制御回路６０に向けて出力する計数手段、データ保持手段としてのデータ保持レジスタ５２と、を有する。
ここで、動作制御回路６０は、カウンタ値が停止時間に至った時に、制御信号発生回路７０の補助クロック制御信号９５を出力させて、補助クロック信号９２を停止させる。
また、補助回路５０内には、補助クロック信号９２を元信号として動作するその他の回路８０と動作制御回路６０との間が電気的に接続されることにより伝達される信号９８、制御信号発生回路７０と動作制御回路６０との間が電気的に接続されることにより伝達される信号９７、データ保持レジスタ５２から動作制御回路６０に向けて出力される条件判断信号９４、動作制御回路６０からデータ保持レジスタ５２に向けて出力される信号９３、制御信号発生回路７０から動作制御回路６０に向けて出力される補助クロック制御信号９５、制御信号発生回路７０からデータ保持レジスタ５２に向けて出力する信号９６、を有する。
さらに、補助回路５０からインターフェース回路３０を介してメイン回路１０に向けて出力される信号４０、４２、メイン回路１０からインターフェース回路３０を介して補助回路５０に向けて出力される信号４４、４６を有する。
尚、信号４４、４６は、主電源回路２をオフするという信号、所定期間後に補助回路５０を停止させる計時データを補助回路５０内に書込むため信号等であり、これらを転送するための各種配線にて形成されている。また、信号４０、４２では、補助回路５０からメイン回路１０に、補助回路５０が所定期間例えば１週間停止したかを見るためのデータ保持レジスタ５２のカウンタ値の読出を行なうための転送をも行われる。さらに、インターフェース回路３０の内部には、異なる電流源例えば５Ｖ系のメイン回路１０と、３Ｖ系の補助回路５０と、の間で、各々の電源電圧を合わせるためのレベルシフタ（電圧変換手段）を設けている。
上記のような構成の半導体集積回路１の動作を、図１及び図４を用いて説明する。図４は、図１の半導体集積回路の概略動作を示すフローチャートである。
メイン回路１０では、システムメインクロック信号２０は常に動作し、第１、第２の制御回路１２、１４を用いて主電源回路２を制御することで、主電源回路２をオン、オフする。
そして、メイン回路１０の動作中に、後述するメインスイッチ（電源スイッチ）のオフ操作（ステップ「以下、ｓと記す」１０１）により、メイン回路１０を退避状態にし、主電源回路２をオフする。即ち、メインスイッチのオフにより電源を停止させるような指令が図示しない配線を介してメイン回路１０に供給されると、メイン回路１０は退避処理を行なう。メイン回路１０の動作が全て終了すると、第２の制御回路１４は、主電源回路２に向けて、主電源回路２のオフを許可する電源停止許可信号２４を送信する。このように、主電源回路２をオフすることで、メイン回路１０は動作停止する。なお、退避処理期間は、本例においては、図５のタイミングチャートにて示すように、メインスイッチがオフしてからメイン回路１０がオフとなるまでの期間Ｔ1を意味する。
ここで、メイン回路１０の退避処理の期間を利用して、本例では以下のような処理が行われる。即ち、主電源回路２をオフする前に、補助クロック信号を動作させて、この補助クロック信号９２に基づいて、データ保持レジスタ５２は、カウント動作（計時動作）を開始する（ｓ１０２）。また、補助クロック信号９２を一定条件（主電源回路２の停止後の所定期間経過後）で停止させるように、当該期間（図５に示すＴ3）を示す計時データを、補助回路５０内の後述するレジスタ８２ａ〜８２ｃ（図２参照）に書き込む書込処理等を行なう（ｓ１０３）。
なお、レジスタ８２ａ〜８２ｃ等を構成する記憶手段は、例えば不揮発性ＲＯＭ等にて形成されるこが好ましく、このような場合には、補助回路５０の電源オフにより内部のデータ（計時データ）が消去されない。従って、電源オン時にレジスタ８２ａ〜８２ｃに計時データを書込んでおくことで、電源オフ後、再度電源をオンした時に、当該計時データを読出すことができる。
このように、メイン回路１０においては、メインスイッチのオフ操作後、退避処理を行い、その後、最終的に主電源回路２をオフする。
一方、補助回路５０内においては、主電源回路２がオフする直前には、補助クロック信号９２に基づいて、データ保持レジスタ５２は、カウント動作を開始し、主電源回路２がオフした後も、継続してカウント動作を続行する。このように、図５に示すように、メイン回路１０がオフとなっている直前の時刻ｔ2に補助回路５０は動作を開始し、計測期間Ｔ3の間動作を続行する。
そして、所定期間経過後、制御信号発生回路７０は、設定された計時データの内容値と、計時されたカウンタ値とが一致した場合に出力される（条件一致を示す）補助クロック制御信号（停止信号）９５を発生し、動作制御回路６０に向けて出力する。
動作制御回路６０は、補助クロック制御信号９５が入力されると共に、データ保持レジスタ５２の補助クロック制御信号９５出力時（現在）のカウンタ値が条件判断信号９４として入力される。動作制御回路６０は、条件判断信号９４に従って必要な場合、補助クロック信号９２を停止し一定レベルの電位の信号を発生する。従って、補助クロック信号９２による回路動作が必要ない場合、自動的に補助クロック信号９２を停止でき、消費電力を抑えることができる。計測期間中に主電源回路がオンしない時は、１週間経った時点で、補助クロック信号を停止させる（ｓ１０４）。
この後、さらに時間が経過し、再度、メインスイッチのオン操作（図５のｔ4）に基づいて、メイン回路１０の主電源回路２がオン（図５のｔ5）されると（ｓ１０５）、補助クロック信号９２に基づいて補助回路５０は動作し、補助クロック信号が１週間以上停止していたか否かを確認するために、上記カウンタ値の読出動作が行われる（図５のｔ5）（ｓ１０６）。
尚、主電源回路２は、１００Ｖ電源から作った５Ｖ用電源を用いても、５Ｖ用の電源をボード上で切り離しできる回路構成にしても良い。また、上記例では、主電源回路２、補助用電源回路３を除く半導体集積回路１を１チップとしたが、主電源回路２、補助用電源回路３を各々、電源用ＩＣを用いて半導体集積回路１に含める構成としても良い。
ここで、電源投入時に、クリーニング動作が必要かどうかを判断するには、補助回路内のカウント値と当該内容値との比較により行なう（ｓ１０７）。そして、１週間以上メイン回路の主電源回路がオンされない場合は、クリーニング動作を行なう（ｓ１０８）。また、補助クロック信号は、クリーニングする一定期間動作させ、後は停止させる。従って、１週間以内に主電源回路がオンとなった場合には、クリーニング動作は行わない。
このように、メイン回路のシステムメインクロック信号が停止し、補助回路の補助クロック信号も所望の期間停止できるので、従来に比べて、大幅に回路内の消費電力を削減できる。
（補助用クロックについて）
次に、補助回路５０の詳細について、図２を用いて説明する。図２に示すように、データ保持レジスタ５２は、補助クロック信号９２を制御する信号制御手段としても機能し、並列配置された秒カウンタ５４ａ、分カウンタ５４ｂ、時間カウンタ５４ｃ、日カウンタ５４ｄを有する。また、データ保持レジスタ５２を構成するカウンター５４ａ〜５４ｄは、様々な用途にてカウントアップできるよう調整可能に形成される。通常は、リアルタイムクロックで使う場合は、オン状態として、オフ状態としない。
尚、データ保持レジスタ５２において、カウンターでカウントアップしない時でも、発振回路６６からのクロックを基準信号として動作させることで、レジスタ８６からの入力に基づいて、データ読出／書込回路８４は、レベルシフタ３４を介して、メイン回路１０に向けて信号４０、４２を送ることができる。
動作制御回路６０は、時間をカウントして当該カウンタ値と一致すると割込信号を発生する割込用のコンベア回路６２と、必要に応じて制御信号発生回路７０からの補助クロック制御信号９５を停止させるための制御用のレジスタ６４と、水晶発振器Ｘｔａｌに基づいて基準信号を発振する発振インバータを含む発振回路６６、分周回路６７、分周回路６８、を有する。なお、レジスタ６４は、補助クロック制御信号９５を停止するためのものであり、計時オートオフビットが１で割込処理を停止し、０で割込処理を行なうように制御する。
発振回路６６内には、水晶振動子Ｘ’ｔａｌが接続されたインバータ及びＮＡＮＤ回路を含み、フィードバックで当該インバータをオフすることで、発振回路６６を停止させる。メイン回路１０にも、補助回路５０の発振回路６６と同様の発振回路が構成される。
発振回路６６、分周回路６７、分周回路６８は、消費電力を落として作業したいような場合、又はスリープ状態で使うような場合は、低速の周波数で動作するように形成される。また、周期カウンタ５４ａ〜５４ｄは、高速でも低速でも動作可能に形成される。さらに、メイン回路１０でも、高速動作が必要でなくて、例えば処理待ち時間とかに入った場合、自動的に低速動作の方に切り換えることもできるよう構成しても良い。
制御信号発生回路７０は、データ保持レジスタ５２のカウンタ値とレジスタ８２ａ〜８２ｃの計時データとを比較する比較手段として機能し、例えばＡＮＤゲート等にて形成される。
その他の回路８０には、記憶手段としての並列配置されたタイマーカウンタ即ち、分コンベアレジスタ８２ａ、時間コンベアレジスタ８２ｂ、日コンベアレジスタ８２ｃ、データ書込手段、データ読出手段としてのデータ読出／書込回路８４、レジスタ８６を含み構成される。
コンベアレジスタ８２ａ〜８２ｃは、通常のＲＴＣ（リアルタイムクロック）として使用した場合に、コンベアレジスタ８２ａ〜８２ｃをオン状態とし、例えば８時に信号を出力するように設定する場合、コンベアレジスタ８２ａには「０」、コンベアレジスタ８２ｂには「８」、コンベアレジスタ８２ｃには「０」が設定される。この場合には、時間コンベアレジスタ８２ｂと分コンベアレジスタ８２ａだけで割込処理を行ない、設定時刻にコンベア回路６２に向けて信号が出力される。但し、コンベアレジスタ８２ａ〜８２ｃをオフ状態として、ＲＴＣとして使う信号を、カウンタにて生成することもできる。
インターフェース回路３０は、メイン回路１０は例えば５Ｖ駆動で、補助回路５０は例えば３Ｖ駆動で形成するように、電源電圧が異なる場合に、メイン回路１０と補助回路５０との間で電圧を変換する電圧変換手段としてのレベルシフタ３４、３６と、ＮＡＮＤ回路３２と、を含み構成される。このＮＡＮＤ回路３２は、プルアップトランジスタ又はプルダウントランジスタを付加した回路であることが好ましい。
尚、補助回路５０を構成するトランジスタを、５Ｖでも動作するトランジスタを３Ｖで使用するような構成としている場合には、５Ｖから３Ｖに電圧変換するためのレベルシフタを設ける必要はない。さらに、補助回路５０の低い電源系から、メイン回路１０の高い電源系に入ってくる信号４０、４２にはレベルシフタ３４を設け、メイン回路１０の高い電源系から補助回路５０の低い電源系に入る信号４４、４６にはレベルシフタ３６を設けない構成としても良い。また、インターフェース回路３０を、補助回路５０の中に組込む構成としても良い。
また、発振回路６６から外部に接続されるテスト用の外部接続回路に接続される配線途中においても、同様な理由によりレベルシフタ９０を設けても良い。
次に、上記のような構成の補助回路５０の動作を説明する。
設定期間を例えば７日とすると、コンベアレジスタ８２ａ・８２ｂ・８２ｃには、補助回路５０を停止させる所定の設定時間例えば７日が設定される。即ち、メイン回路１０からの要求（信号４４、４６）に基づいて、データ読出／書込回路８４は、当該時間に関するデータ例えば７日であれば、分コンベアレジスタ８２ａ・時間コンベアレジスタ８２ｂ・日コンベアレジスタ８２ｃの順に「０」、「０」、「７」と各コンベアレジスタ８２ａ・８２ｂ・８２ｃに書き込む。
一方、データ保持レジスタ５２は、分周回路６８からの信号９３に基づいて、各カウンタ５４ａ、５４ｂ、５４ｃ、５４ｄにてカウンタ値をカウントアップしていく。
このカウントアップの開始、即ち、データ保持レジスタ５２をオン状態とするのは、メイン回路１０の主電源回路２をオフする直前のタイミングで行なう。これにより、データ保持レジスタ５２がオン状態となる前に、レジスタ８６をリセット状態とすることで、レジスタ値をリセットすることができる。
また、このカウントアップの開始並びにリセット操作は、メインスイッチのオフ操作から主電源回路２がオフとなるまでの、いわゆるメイン回路１０の退避処理時間を利用して行われる。この退避処理時間では、主電源回路２の停止前の若干の時間（内蔵されている充電コンデンサの放電作用時間）内に、メイン回路１０側から信号４４、４６を介して電源の停止を知らせる電源停止信号等が補助回路５０に入力され、データ読出／書込回路８４及びレジスタ８６により、データ保持レジスタ５２をオン状態として、カウントアップが開始される。また、リセットも同時に行われる。その後、データ読出／書込回路８４は、レジスタ８６のオン状態への切り換えによりカウントアップが開始されるのを確認すると、信号４０、４２を介してメイン回路１０側へ、カウントアップ確認信号等の確認用の信号が伝達される。そして、メイン回路１０では、上記確認用の信号が入力されると、第２の制御回路１４が電源停止信号２４を主電源回路２に出力して、メイン回路１０を完全に停止させる。
ここで、タイマーとして機能する発振回路６６、分周回路６７、分周回路６８、データ保持レジスタ５２において、データ保持レジスタ５２をオン状態、オフ状態に切換え制御するのは、タイマー制御手段としてのレジスタ８６の内容により制御される。即ち、通常、計時用に動作継続して使用されるクロックを用いて、レジスタ８６をオフすることで、データ保持レジスタ５２をオフ状態し、レジスタ８６をオンすることでデータ保持レジスタ５２をオン状態とする。
尚、補助回路５０がオフした時点でのカウンタ値は、カウンタ５４ａ〜５４ｄに入り、しかも、外部の補助用電源回路３からの電力が供給されているので、補助回路５０はスタティック状態であり、データ保持レジスタ５２をオフ状態としても、カウントアップされたカウント値は消えない。従って、消去する場合には、レジスタ８６をリセット状態とすることで、データ保持レジスタ５２のカウント値を消去できる。
ここで、コンベア回路６２では、データ保持レジスタ５２にてカウントされたカウンタ値と、レジスタ８２ａ・８２ｂ・８２ｃ書込まれた内容値とを比較して、当該内容値とカウンタ値とが一致すると（７日経つと）、割込信号９７を出力する。そして、制御信号発生回路７０では、割込信号９７と、レジスタ６４からのデジタルデータとを比較する。
レジスタ６４は、補助クロック制御信号９５を停止するためのものであり、計時オートオフビット（モード）が０の時、割込信号９７を補助クロック制御信号９５として出力させ、割込処理を開始する。
そして、データ保持レジスタ５２がオフ状態に設定されていれば、制御信号発生回路７０は、補助クロック制御信号９５を出力することで、発振回路６６及び分周回路６８を停止させる。ここで、制御信号発生回路７０は、例えばＡＮＤゲートにて構成されるので、上記動作を可能としている。
発振回路６６の停止時には、発振回路６６のインバータ発振部と、分周回路６８との動作をストップさせると共に、補助クロック制御信号９５がレジスタ８６に入力されることにより、レジスタ８６はデータ保持レジスタ５２をオフ状態として、カウントアップ動作を自動的に停止させる。
尚、メイン回路１０の主電源回路２のオンにより、再度データ保持レジスタ５２をオン状態とした時には、データ保持レジスタ５２のカウンタ値が出力されるので、当該経過期間が解る。
補助回路５０が停止状態となり、所定の時間経過後に、再度メインスイッチのオン操作により主電源回路２の電源が投入されると、メイン回路１０は再び動作状態となる。
ここで、電源投入時に、例えば７日以上経った場合は、所望の動作例えばクリーニング動作を行い、７日未満である場合には、クリーニング動作を行なわないような設定をした場合には、クリーニング動作するか否かを決める時の信号は、データ読出／書込回路８４からメイン回路１０に向かう信号４０にて出力される。
このように、再度の電源投入時のカウンタ５４ａ〜５４ｄの内容を読み出してみることで、クリーニング動作の判断を行うことができる。
以上のように、本実施の形態によれば、補助回路５０の停止を、メイン回路１０のインターフェース回路３０、インターフェース信号４０、４２、４４、４６に関係無く実現することが可能である。また、メイン回路を停止した後、所定期間計測できれば後は計測できなくても良く、必要とする期間だけ計時されるので、消費電力の低減が図れる。
（メイン回路について）
次に、メイン回路の詳細例について説明する。図３には、メイン回路の具体的な機能ブロック図が示されている。図３に示すように、マイクロコンピュータ１０は、３２ビットマイクロコンピュータであり、ＣＰＵ（制御回路、積和演算回路、ＡＬＵ）１００、ＲＯＭ１５１、ＲＡＭ１５０、高周波発振回路１８０、低周波発振回路１８１、リセット回路１８２、プリスケーラ１７０、１６ビットプログラマブルタイマ１８３や８ビットプログラマブルタイマ１８４やクロックタイマ１８５等のタイマ回路、インテリジェントＤＭＡ１６９や高速ＤＭＡ１６８等のデータ転送制御回路、割り込みコントローラ１１２、シリアルインターフェース１６１、ＢＣＵ（バスコントロールユニット）１６０、Ａ／Ｄ変換器１６３やＤ／Ａ変換器１６４等のアナログインターフェース回路、入力ポート１６５や出力ポート１６６やＩ／Ｏポート１６７などのＩ／Ｏ回路、及びそれらを接続する各種バス１７２、１７３、各種ピン１７１を含む。
１チップの半導体基板上に形成されるこのマイクロコンピュータは、３２ビットのデータを処理できるＲＩＳＣ方式のマイクロコンピュータである。そしてパイプライン方式及びロード・ストア方式のアーキテクチャーを採用し、ほとんど全ての命令を１クロックの期間で実行する。全ての命令は１６ビットの固定長で記述されており、これにより極めて小さい命令コードサイズを実現している。
ＣＰＵは、スタックポインタ専用レジスタであるＳＰを有し、各種のスタックポインタ専用命令の解読、実行を行う。該ＣＰＵは、前述した構成を有しており、命令解読手段、命令読出手段、及び各種命令の実行手段として機能する。
このように、ＣＰＵの外部の回路、具体的にはバスコントロールユニット内に設けられた拡張部を用い、ＲＡＭから読み出された処理データを３２ビットにゼロ拡張またはサイン拡張できるばかりでなく、ＣＰＵ内のレジスタに記憶された８ビットまたは１６ビットの処理データを、必要に応じて３２ビットにゼロ拡張またはサイン拡張して所望のレジスタに格納することができる。
特に、このような処理データの拡張を、１命令サイクルで実行することにより、あたかも拡張部をＣＰＵ内に設けた場合と同様な処理スピードで、前述したデータの読み出しと拡張処理とを実行することができる。さらに、従来よりコードサイズを縮小できるので、例えばオンチップ上のＲＯＭを有効に使うことができる。また、レジスタ退避やレジスタ復旧の処理を効率よく記憶し、割り込み処理及びサブルーチンコール・リターンの処理を高速に行うことができる。
本例は、積和演算命令に含まれる実行回数情報に基づき特定される回数だけ積和演算回路に積和演算を実行させる例である。
図６に、積和演算回路１１０を内蔵するマイクロコンピュータのブロック図を示す。図６では、マイクロコンピュータは３２ビットのデータを処理する。また積和演算回路１１０は、各々が１６ビットの第１、第２の積和入力データＭＤＡ、ＭＤＢを乗算し、その乗算結果である３２ビットのデータを６４ビットのＭＡＣレジスタ１１３に加算する。
図６のマイクロコンピュータは、３２ビットのデータを処理する制御回路１００−１と、マイクロコンピュータとメモリ１５０とを接続するバスを制御するバスコントロールユニットＢＣＵ１６０と、積和演算を実行する積和演算回路１１０と、マイクロコンピュータの内部や外部からの種々の割り込みを受け付け制御回路１００−１に割り込み要求を出す割り込みコントローラ１６２と、データの加減演算などの算術演算及び論理和、論理積、論理シフトなどの論理演算を行うＡＬＵ（算術論理演算ユニット）１０８を含む。
ここで、制御回路１００−１は、積和演算命令を含む命令を受け、受け付けた命令を解析し、解析した命令を実行するための制御を行うものであり、１６ビット長の命令を使用している。また、制御回路１００−１は、Ｒ０からＲ１５までの１６本の３２ビットのレジスタから成る汎用レジスタ１０１と、ＰＣ（プログラムカウンタ）１０２とを含む。この制御回路１００−１の制御の下で、積和演算回路１１０は積和演算を実行し、ＡＬＵ１０８は算術演算、論理演算を実行する。そしてこれらの制御回路１００−１、積和演算回路１１０及びＡＬＵ１０８が、マイクロコンピュータ１００の中央処理ユニット（ＣＰＵ）として機能する。
制御回路１００−１、ＢＣＵ１６０及び積和演算回路１１０は、内部データバスを介してデータ転送を行う。ＢＣＵ１６０は、外部アドレスバスと外部データバスを用いて、メモリ１５０から第１、第２の積和入力データＭＤＡ、ＭＤＢを読み込む。
積和演算回路１１０は、第１、第２の積和入力データＭＤＡ、ＭＤＢを一時的に保持するＴＥＭＰｍレジスタ１３１及びＴＥＭＰｎレジスタ１３２と、一時的に保持されたＭＤＡ、ＭＤＢを乗算する乗算器１１１と、この乗算結果を用いて加算処理を行う加算器１１２−１と、加算結果を保持する６４ビットのＭＡＣレジスタ（積和結果用レジスタ）１１３を含む。積和演算回路１１０は、１６ビットのＭＤＡ、ＭＤＢを入力として、その乗算結果とＭＡＣレジスタ１１３の内容とを加算し、その加算結果をＭＡＣレジスタ１１３に格納する動作を行う。
次に、上述の回路の動作について説明する。積和演算命令実行前に、メモリ上の第１の領域に第１の積和入力データＭＤＡ0〜ＭＤＡLを格納し、第２のメモリ領域に第２の積和入力データＭＤＢ0〜ＭＤＢLを格納しておく。また、汎用レジスタ１０１が含むレジスタＲｍ、Ｒｎに第１、第２の領域の先頭アドレスをロードしておき、第１、第２の積和入力データの先頭データＭＤＡ0、ＭＤＢ0をＲｍ、Ｒｎが指すようにしておく。また、汎用レジスタ１０１が含むレジスタＲｃに、積和演算の実行回数をロードしておくと共に、ＭＡＣレジスタ１１３を初期化しておく。この状態で制御回路１００−１が積和演算命令を受け付けると、この積和演算命令を解析する制御回路１００−１の制御の下で、積和演算命令実行のための種々の処理が行われる。
以上のような処理が行われるように制御回路１００−１が、積和演算回路１１０、ＢＣＵ１６０、ＡＬＵ１０８等を制御することで、１つの命令で所望の回数だけ積和演算を実行することが可能となる。
このように本例では、実行回数分だけ積和演算命令を並べるプログラムや、実行回数をデクリメントし実行回数が零か否かを判断するプログラムを作成する必要がないため、コードサイズの効率化、命令を格納するメモリの小規模化、処理の高速化を図りながら、１つの積和演算命令で所望の回数だけ積和演算命令を実行することが可能となる。また本例では、積和演算を実行中に積和演算命令を毎回フェッチする必要がない。従って、積和入力データの読み込みと積和演算命令のフェッチが競合することで発生する積和演算命令実行の遅延を回避できると供に、無駄なフェッチによる電力消費を節減できる。
尚、積和演算の実行回路を特定させる積和演算命令の実施形態としては種々のものが考えられる。例えば積和演算命令に、複数の命令の中から積和演算命令を指定するための６ビットのオペレーションコードと、レジスタＲｃを１６個の汎用レジスタの中から指定する４ビットのオペランドとを含ませて形成しても良い。このようにすることで、命令長を１６ビット以内に抑えることが可能となり、コードサイズの効率化、命令を格納するメモリの小規模化を図れる。
（制御回路の詳細）
図６は、図３の制御回路１００−１、積和演算回路１１０、ＡＬＵ１０８の詳細例を示すブロック図である。
本例のＣＰＵはパイプラインとロード・ストア型のアーキテクチュアによって、殆ど全ての命令を１サイクルで実行する。全ての命令は１６ビットの固定長で記述されており、本例のＣＰＵの処理する命令は極めて小さいオブジェクトコードサイズを実現している。
特に、本例のＣＰＵは、スタックポインタを取り扱う処理を効率よく記述し実行するためにスタックポインタ専用のレジスタを有し、該スタックポインタ専用レジスタを暗黙のオペランドとするオブジェクトコードを有するスタックポインタ専用命令群の命令セットを解読、実行出来るよう構成されている。
図６は、本例のＣＰＵの回路構成の概略を説明するための図である。本ＣＰＵ１００は、汎用レジスタ１０１、プログラムカウンタが格納されているＰＣ１０２、プロセッサーステータスレジスタ（ＰＳＲ）１０３、スタックポインタ専用のレジスタであるＳＰ１０４を含むレジスタセットと、命令デコーダ１０５、即値生成器１０６、アドレス加算器１０７、ＡＬＵ１０８、ＰＣインクリメンタ１０９及び各種内部バス、各種内部信号線等を含む。
図６において、Ｉ＿ＡＤＤＲ＿ＢＵＳは命令アドレスバスであり、Ｉ＿ＤＡＴＡ＿ＢＵＳは命令データバスである。これらのバスを用いて命令メモリ１５０-１から積和演算命令などの命令が読み出される。またＤ＿ＡＤＤＲ＿ＢＵＳはデータアドレスバス、Ｄ＿ＤＡＴＡ＿ＢＵＳはデータバスであり、これらのバスを用いてデータメモリ１５０-2から第１、第２の積和入力データＭＤＡ、ＭＤＢなどのデータが読み出される。このように本例ではいわゆるハーバードアーキテクチャのバス構成を採用している。
ＰＡ＿ＢＵＳ、ＰＢ＿ＢＵＳ、ＷＷ＿ＢＵＳ、ＸＡ＿ＢＵＳは内部バスであり、ＡＵＸ＿ＢＵＳは制御回路１００−１と積和演算回路１１０との間でデータのやり取りを行うためのバスである。ＩＡ、ＤＡは、各々、制御回路１００−１（ＣＰＵ）からＩ＿ＡＤＤＲ＿ＢＵＳ、Ｄ＿ＡＤＤＲ＿ＢＵＳにアドレスを出力するためのものである。ＤＩＮは、Ｄ＿ＤＡＴＡ＿ＢＵＳからのデータを制御回路１００−１に入力するためのものであり、ＤＯＵＴは、制御回路１００−１からのデータをＤ＿ＤＡＴＡ＿ＢＵＳに出力するためのものである。
命令デコーダ１０５は、Ｉ＿ＤＡＴＡ＿ＢＵＳから入力された命令を受け付けると共に解析し、命令の実行に必要な種々の制御信号を出力する。例えば命令に応じた種々の指示を、即値生成器１０６を介して制御回路１００−１の各部に与える。また、割り込みコントローラ１６２（図３参照）からの割り込みを受け付けた場合には、割り込みハンドラを起動するＴＲＡＰ  ＶＥＣＴＯＲをＤ＿ＡＤＤＲ＿ＢＵＳに出力すると共に、ＴＲＡＰ信号をアクティブ（＝１）にして割り込みが発生したことを積和演算回路１１０に伝える。また積和演算命令を受け付けた場合には、ｍａｃ信号をアクティブにして積和演算命令が発行されたことを積和演算回路１１０に伝える。
即値生成器１０６は、命令に含まれる即値に基づき、命令の実行時に使用する３２ビットの即値データを生成したり、各命令の実行に必要な０、±１、±２、±４のconstantデータを生成したりする。ＰＣインクリメンタ１０９は、１つの命令を実行する毎にＰＣ１０２の値をインクリメントする処理を行う。アドレス加算器１０７は、各種レジスタに格納されている情報や即値生成器１０６で生成される即値データを用いて加算処理を行い、メモリ１５０からの読み出し処理に必要なアドレスを生成する。
汎用レジスタ１０１は１６本の３２ビットのレジスタＲ０〜Ｒ１５を含んでいる。ＳＰ１０４は、スタックポインタ専用の３２ビットのレジスタであり、スタックの先頭番地を指すスタックポインタを格納する。ＰＳＲ（プロセッサステータスレジスタ）１０３は、各種のフラグを格納する３２ビットのレジスタである。
ＡＬＵ１０８は、算術演算や論理演算を行うものであり、本例では実行回数のデクリメント処理も行う。ゼロディテクタ１３３は、ＡＬＵ１０８の演算結果が零の場合にＡＬＵ＿ｚｅｒｏをアクティブ（＝１）にする。これによりＰＳＲ１０３にゼロフラグがセットされると共に、実行回数が零になったことが積和演算回路１１０に伝えられる。バスマルチプレクサ１３０は、ＰＡ＿ＢＵＳ、ＰＢ＿ＢＵＳ、ＷＷ＿ＢＵＳのいずれか１つを選択してＡＵＸ＿ＢＵＳに接続するためのものである。バスマルチプレクサ１３０はＴＥＭＰｍレジスタ１３１、ＴＥＭＰｎレジスタ１３２を含み、第１、第２の積和入力データＭＤＡ、ＭＤＢが両方とも揃った時にこれらのデータを積和演算回路１１０に出力する。
積和演算回路１１０は、ステートマシーン１１４を含んでいる。このステートマシーン１１４は、ＡＬＵ＿ｚｅｒｏ、ｔｒａｐ、ｍａｃなどの各種の信号に基づいて積和演算回路１１０の状態を制御する。
さて、ＭＡＣステート（ＭＡＣ０〜ＭＡＣ８）は積和演算回路１１０（ステートマシーン１１４）の状態は、以下の各状態に遷移する。
▲１▼ｍａｃ：積和演算命令を命令デコーダ１０５が受け付けた時に１（アクティブ）になる信号である。
▲２▼ｍａｃ＿ｅｎｄ：積和演算命令の終了条件が成立すると１になる信号であり、具体的にはｍａｃ＿ｚｅｒｏ又はｍａｃ＿ｔｒａｐが１になると１になる信号である。
▲３▼ｍａｃ＿ｚｅｒｏ：積和演算の実行回数が零になった時に１になる信号である。ここで、ｍａｃ＿ｚｅｒｏは、マイクロコンピュータがリセットされた場合或いはＭＡＣステートがＭＡＣ８又はＭＡＣ９になった場合に０になる。またＭＡＣステートがＭＡＣ３、ＭＡＣ５又はＭＡＣ７の時にゼロディテクタ１３３からのＡＬＵ＿ｚｅｒｏ信号が１になると１になる。
▲４▼ｍａｃ＿ｔｒａｐ：積和演算命令の実行中に割り込みが発生した場合に１になる信号である。ここで、ｍａｃ＿ｔｒａｐは、マイクロコンピュータがリセットされた場合或いはＭＡＣステートがＭＡＣ８又はＭＡＣ９になった場合に０になる。またＭＡＣステートがＭＡＣ５又はＭＡＣ７の時に命令デコーダ１０５からのｔｒａｐ信号が１になると１になる。
積和演算命令が発行されずｍａｃ＝０の場合には、ＭＡＣステートはＭＡＣ０にとどまる。一方、ｍａｃ＝１になるとＭＡＣ１に移行する。ＭＡＣ１からＭＡＣ２、ＭＡＣ２からＭＡＣ３へはクロックに同期して無条件（ＵＣＴ）に移行する。
ＭＡＣ３で、ｍａｃ＿ｅｎｄが１の場合にはＭＡＣ９に移行すると共に、ｍａｃ＿ｅｎｄが０にリセットされる。ＭＡＣ９に移行した後、ｍａｃ＝１ならＭＡＣ１に戻り、ｍａｃ＝０ならＭＡＣ０に戻る。一方、ｍａｃ＿ｅｎｄが０の場合にはＭＡＣ３からＭＡＣ４に移行する。
ＭＡＣ４からＭＡＣ５へはクロックに同期して無条件に移行する。この際、実行回数がデクリメントされるため、ｍａｃ＿ｚｅｒｏが１になる可能性がある。そこでＭＡＣ５で、ｍａｃ＿ｅｎｄが１か否かを判断し、１の場合にはＭＡＣ８に移行し、ＭＡＣ８からＭＡＣ０又はＭＡＣ１に戻る。一方、ｍａｃ＿ｅｎｄが０の場合は、ＭＡＣ５からＭＡＣ６に移行する。
ＭＡＣ６からＭＡＣ７へはクロックに同期して無条件に移行する。この際、実行回数がデクリメントされるため、ｍａｃ＿ｚｅｒｏが１になる可能性がある。そこでＭＡＣ７で、ｍａｃ＿ｅｎｄが１か否かを判断し、１の場合にはＭＡＣ８に移行し、０の場合はＭＡＣ６に戻る。
例えば積和演算の実行回数が０に設定されていた場合には、ＭＡＣステートは、まずＭＡＣ０、ＭＡＣ１、ＭＡＣ２、ＭＡＣ３と変化する。そしてｍａｃ＿ｅｎｄ＝１（ｍａｃ＿ｚｅｒｏ＝１）となっているため、ＭＡＣ３からＭＡＣ９、ＭＡＣ０（又はＭＡＣ１）と変化する。
実行回数が１に設定された場合には、ＭＡＣステートは、ＭＡＣ０、ＭＡＣ１、ＭＡＣ２、ＭＡＣ３、ＭＡＣ４と変化する。そしてＭＡＣ４からＭＡＣ５への移行の際に実行回数がデクリメントされるためｍａｃ＿ｅｎｄ＝１になる。この結果、ＭＡＣステートはＭＡＣ４からＭＡＣ５、ＭＡＣ８、ＭＡＣ０（又はＭＡＣ１）と変化することになる。
実行回数が２に設定された場合には、ＭＡＣステートは、ＭＡＣ０、ＭＡＣ１、ＭＡＣ２、ＭＡＣ３、ＭＡＣ４、ＭＡＣ５、ＭＡＣ６、ＭＡＣ７、ＭＡＣ８、ＭＡＣ０（又はＭＡＣ１）と変化する。即ちこの場合には、ＭＡＣ４からＭＡＣ５、ＭＡＣ６からＭＡＣ７の間で実行回数がデクリメントされて零になる。なお実行回数が３以上の場合には、ＭＡＣ６からＭＡＣ７に移行しＭＡＣ６に戻る動作を実行回数が零になるまで繰り返すことになる。
割り込み要求がなされた場合には、ＭＡＣ５又はＭＡＣ７まで状態が進んだ所で初めてｍａｃ＿ｔｒａｐ＝１（ｍａｃ＿ｅｎｄ＝１）か否かが判断され、ＭＡＣ８に移行することになる。
本例のステートマシーン１１４の１つの特徴は、所望の回数の積和演算を完了した場合（ｍａｃ＿ｚｅｒｏ＝１）又は割り込み要求がなされた場合（ｍａｃ＿ｔｒａｐ＝１）にアクティブになるｍａｃ＿ｅｎｄ信号に基づいて、ＭＡＣステートを初期ステートＭＡＣ０（又はＭＡＣ１）に戻す点にある。このようにすることで、所望の回数の積和演算を完了した場合に用いる状態遷移を利用して、割り込み要求がなされた場合に行う状態遷移も実行することが可能となる。これによりステートマシーン１１４の構成の簡素化を図ることができる。
このように、本例では、レジスタＲ１４、Ｒ１５の内容が、割り込み処理終了後の積和演算の継続実行の際に使用される内容に変化した後に（Ｆ３、Ｆ４、Ｆ５、Ｆ６）、ＭＡＣステートが初期ステートＭＡＣ０（又はＭＡＣ１）に戻る。このようにすることで、割り込み処理の終了後に、１１２ｈ、２３２ｈのアドレスにある積和入力データＭＤＡ、ＭＤＢに基づいて積和演算を適切に継続実行することが可能となる。
また本例では、積和演算の実行回数がデクリメントした後に（Ｆ７）、ＭＡＣステートが初期ステートに戻る。従って、Ｒ１３には、デクリメント後の実行回数２が格納されることになり（Ｆ８、Ｆ９）、割り込み処理の終了後に、残りの２回の積和演算を継続実行することが可能となる。
そして、上記したように、ＣＰＵ１１０は、１つの積和演算命令で複数回の積和演算を実行できるようになっている。このため、このマイクロコンピュータは、これまでＤＳＰ、画像処理専用ＩＣ、音処理専用ＩＣなどが行っていた処理を代行することができ、このマイクロコンピュータが組み込まれる電子機器の低コスト化、小型化を図ることが可能となる。
［実施の形態２］
図７には、データ保持レジスタが分離可能な本発明の半導体集積回路のブロック図を示す。尚、メイン回路については、上記実施の形態１と同様の構成であるので図７では省略する。
半導体集積回路２００は、図示しないメイン回路と、第１の補助回路２１０と、上述した実施の形態１と同様の計時等を目的とした補助クロック信号２６０が入力される第２の補助回路２３０と、第１、第２の補助回路２１０、２３０間に介在される入出力手段としてのインターフェース回路２２０と、を有する。即ち、本例においては、上述した実施の形態１での補助回路を、第１の補助回路２１０と第２の補助回路２３０とに電気的に分離した構成としている。
第１の補助回路２１０は、補助クロック信号２６０の動作時間をカウントして、当該カウンタ値を動作制御回路２３２に向けて出力するデータ保持レジスタ２１２を形成している。
第２の補助回路２３０は、上述した実施の形態１と同様の補助クロック制御信号２６５に基づいて、補助クロック信号２６０の動作を停止制御する動作制御回路２３２と、補助クロック信号２６０の停止、非停止を制御する補助クロック制御信号２６５を生成する制御信号発生回路２３４と、メイン回路からの要求に基づいて、補助クロック信号２６０の停止時間が設定される設定手段を含むその他の回路２３６と、を含み構成される。
ここで、動作制御回路２３２は、カウンタ値が停止時間に至った時に、制御信号発生回路２３４の補助クロック制御信号２６５を出力させて、補助クロック信号２６０を停止させる。
また、第２の補助回路２３０内には、その他の回路２３６と動作制御回路２３２との間が電気的に接続されることにより伝達される信号２６８、制御信号発生回路２３４と動作制御回路２３２との間が電気的に接続されることにより伝達される信号２６７、制御信号発生回路２３４から動作制御回路２３２に向けて出力される補助クロック制御信号２６５、を有する。
さらに、第１の補助回路２１０のデータ保持レジスタ２１２からインターフェース回路２２０を介して動作制御回路２３２に向けて出力される条件判断信号２６３、２６４、動作制御回路２３２からインターフェース回路２２０を介してデータ保持レジスタ２１２に向けて出力される信号２６１、２６２、制御信号発生回路２３４からインターフェース回路２２０を介してデータ保持レジスタ２１２に向けて出力する信号２６６、２６９を有する。
さらに、半導体集積回路２００は、第１、第２のの補助回路２１０、２３０に電圧を供給することで各回路の動作を行なうための半導体集積回路の外部の補助用電源回路２５０と、第２の補助回路２３０に接続されて補助用電源回路２５０を制御する制御回路２４０と、を有する。制御信号発生回路２３４は、制御回路２４０を制御する制御信号２７０を制御回路２４０に向けてさらに出力する。そして、この制御回路２４０は、第２の補助回路２３０への電位供給を停止する機能を有する。
インターフェース回路２２０は、データ保持レジスタ２１２と、動作制御回路２３２及び制御信号発生回路２３４と、の間でデータの入出力を行なうためののもであり、主として第１の補助回路２１０と第２の補助回路２３０との間の各電圧を調整する機能を有し、例えばレベルシフタ等を有することが好ましい。
尚、第２の補助回路２３０と図示しないメイン回路との間にも、電圧調整のためのインターフェース回路が設けられるのは、上記実施の形態１同様である。
本例では、制御信号発生回路２３４より発生する補助クロック制御信号２６５と、データ保持レジスタ２１２からの条件判断信号２６３、２６４と、に基づいて、動作制御回路２３２は補助クロック信号２６０を停止し一定レベルの電位の信号を発生する。そして、制御信号発生回路２３４は、保持すべきデータを信号２６６、２６９を介してデータ保持レジスタ２１２に書込み、かつ、電位供給の制御信号２７０を発生し、補助用電源回路２５０から第２の補助回路２３０への電位供給を停止する。この時、補助用電源回路２５０から第１の補助回路２１０への電位供給は継続する。ここにおいて、第１の補助回路２１０、第２の補助回路２３０を形成する各々の第一導電型のトランジスタが電気的に分離されているために、第１、第２の補助回路２１０、２３０に各々独立して電源供給しても問題ない。
従って、補助クロック信号２６０による回路動作が必要ない場合、本例の半導体集積回路によって、自動的に補助クロック信号２６０を停止し、かつ、電位供給を停止できる。また、データ保持レジスタ２１２を含む第１の補助回路２１０の電源を停止させることなく、第２の補助回路２３０のみを停止できる。これにより、データ保持レジスタ２１２を、電源停止時にも記憶データの消失しない特殊な不揮発性のＲＯＭ等にて構成しなくとも、記憶データの消失を防止できる。
このため、必要なデータを保持しながら、第２の補助回路２３０の消費電力を無くすことが可能である。
さらに、補助用電源回路２５０の制御により、第２の補助回路２３０への電源供給停止と共に、第１の補助回路２１０への電源供給停止とする構成としても良い。この場合には、第１の補助回路２１０の消費電力をも抑えることが可能である。尚、インターフェース回路２２０は、第１、第２の補助回路２１０、２３０のいずれのブロックから電位供給されても問題はない。また、本例ではインターフェース回路２２０を設けない構成としても、上記の効果を実現することが可能である。
［実施の形態３］
図８に、上記実施の形態２において、第１の補助回路と、補助用電源回路とが分離可能な半導体集積回路の断面図を示す。本例は半導体基板３０１がＰ＋基板の場合を示している。
図８では、第１の補助回路と第２の補助回路との間で、電流を遮断するために、ウエルを分離した状態を示している。即ち、実施の形態２で示したように、図７に示す動作制御回路２３２、制御信号発生回路２３４、及びその他の回路２３６を含む第２の補助回路２３０は、各々第１導電型のトランジスタと、第１導電型と逆の導電性を有する第２導電型のトランジスタと、をそれぞれ有する。
また、データ保持レジスタ２１２を含む第１の補助回路２１０は、各々第１導電型のトランジスタと、第１導電型と逆の導電性を有する第２導電型のトランジスタと、をそれぞれ有する。
そして、データ保持レジスタ２１２を構成する第１導電型のトランジスタと、動作制御回路２３２、制御信号発生回路２３４、及びその他の回路２３６を構成する第１導電型のトランジスタとが電気的に分離するように構成される。また、データ保持レジスタ２１２を構成する第２導電型のトランジスタと、動作制御回路２３２、制御信号発生回路２３４、及びその他の回路２３６を構成する第２導電型のトランジスタとが電気的に接続するように構成される。
上記のような構成とすることにより、データ保持レジスタ２１２と、動作制御回路２３２、制御信号発生回路２３４、及びその他の回路２３６に各々独立して電位供給できる。
本例においては、図８に示すように、Ｐ基板３０１上に形成されたＮウエル層３０３、電源分離領域としてのＰウエル層３０２、Ｎウエル層３０４を形成している。
Ｎウエル層３０３の領域内には、フィールド酸化膜３０５と、このフィールド酸化膜３０５を介してＮ+拡散層３１０（基板コンタクト領域）と、Ｐ+拡散層３０８（第１導電型のトランジスタ領域）と、を有する。
また、Ｐウエル層３０２の領域内には、フィールド酸化膜３０６が形成されている。
Ｎウエル層３０４の領域内には、フィールド酸化膜３０７と、このフィールド酸化膜３０７を介してＮ+拡散層３１１（基板コンタクト領域）と、Ｐ+拡散層３０９（第１導電型のトランジスタ領域）と、を有する。
そして、Ｎウエル層３０３、Ｎ+拡散層３１０とで第１の補助回路２１０のＮｃｈ（第１導電型）トランジスタの一部を構成している。
一方、Ｎウエル層３０４、Ｎ+拡散層３１１とで第２の補助回路２３０のＮｃｈ（第１導電型）トランジスタの一部を構成している。
上記のような構成とすることにより、Ｎウェル層３０３と、Ｎウェル層３０４との間にＰウェル層３０２を設け、Ｎウェル層３０３、３０４を独立させることにより、該Ｐウェル層３０２が電源分離領域となる。
従って、各Ｎウェル層３０３、３０４中に配置された回路の各々の第１導電型のトランジスタに各々独立して電位供給でき、図７に示した第１の補助回路２１０のみに電位を供給し、動作が不要な第２の補助回路２３０の電位供給を停止し、動作不要な回路の消費電力を無くすことが可能である。
以上のように本実施の形態においては、補助クロック信号の複数のクロック信号を有する半導体集積回路に於いて、第１の補助回路と、第２の補助回路とを設けることにより、第２の補助回路において補助クロック信号を未使用の場合、該補助クロック信号を停止でき、消費電力を抑えることができる。
また、データ保持レジスタを含む第１の補助回路と、動作制御回路及び制御信号発生回路を含む第２の補助回路とを、電気的に分離し、かつ、第１の補助回路と補助用電源回路とを分離することにより、補助クロック信号を使用しない場合、データ保持レジスタにてデータ保持しながら、動作が必要ない第２の補助回路への電位供給を停止し消費電力を押さえることができる。尚、本例においては、Ｐ基板上に各層を形成する場合を例に採り説明したが、Ｎ型半導体基板の場合も上記同様、２つのＰウエル層の間にＮウエル層を形成し、該Ｎウエル層を電源分離領域として形成すれば良い。より詳細には、一方のＰウエル層を含む領域を第１の補助回路のＰｃｈ（第２導電型）トランジスタの一部として形成し、他方のＰウエル層を含む領域を第２の補助回路のＰｃｈ（第２導電型）トランジスタの一部として形成する。
［実施の形態４］
次に、上述の半導体集積回路を用いた電子機器の実施の形態について図９を用いて説明する。図９は、上述の半導体集積回路を電子機器例えばプリンターに適用した一例の概略を示すブロック図である。
同図において、電子機器４００は、大別して、１００Ｖに繋がる電子機器システム全体を動作させるための例えば１００Ｖ系の電源４０２と、この電源４０２と電気的に接続されて上述の半導体集積回路を含むＣＰＵを搭載したボード４０４と、このボード４０４に電気的接続された制御対象４０６と、を含み構成される。
ボード４０４には、メイン回路４１４及び補助回路４１２を含んだＣＰＵ４１０と、補助回路４１２に繋がり補助クロック信号を生成するための計時用の水晶発振器（Ｘ’ｔａｌ）４２０（第１の発振回路）と、メイン回路４１４に繋がりシステムメインクロック信号を生成するためのメイン回路用の水晶発振器（Ｘ’ｔａｌ）４１４（第２の発振回路）と、補助回路４１２に電源を供給するための補助用電源回路４３２と、メイン回路４１４に電源を供給するための主電源回路であるボード用電源４３０（基板用電源）と、メイン回路４１４に接続されたマスクＲＯＭ４４０と、ＣＰＵ４１０に電気的に接続されて、ユーザーが電子機器システム全体をオンオフ動作させるためのメインスイッチ４５０と、他のＩＣ等、を含み構成される。これらは、同一基板上に形成することが好ましい。
制御対象４０６としては、例えばプリンターのヘッドや、駆動用のステッピングモータ等が挙げられる。
尚、マスクＲＯＭ４４０の中に、電源投入時にマスクＲＯＭ４４０からメイン回路４１４に向けて計時データを読出すような処理空間（プログラム）が記憶されている。
上記のような構成の電子機器４００の動作を説明する。
メイン回路４１４の動作中に、メインスイッチ４５０をオフ操作すると、メイン回路４１４を退避状態にし、ボード用電源４３０をオフする。ボード４０４の退避処理が終了すると、電源停止許可信号がボード４０４から電源４０２に向けて出力し、電源４０２がオフする。
ここで、ボード用電源４３０をオフする前に、水晶発振器４２０により補助クロック信号を動作させて、補助回路４１２を動作させる。この補助回路４１２において、特定期間例えば１週間を計測することで、カウントを開始する。また、退避処理においては、所望期間後の停止期間に関する計時データ例えば１週間等のデータを、マスクＲＯＭ４４０に書込む書込処理を行なう。計測期間中に主電源回路がオンしない時は、１週間経った時点で、補助クロック信号を停止させる。
次に、再度、メインスイッチ４５０のオン操作により、電源４０２をオンし、ボード用電源４３０をオンすると、補助クロック信号が１週間以上停止していたか否かを確認するためにカウント値を読出す。即ち、パワーオンリセット行い、マスクＲＯＭ内の計時データを読込む。
ここで、１週間以上ボード用電源がオンされなかった否かを判断するために、この電源投入時に、クリーニング動作が必要かどうかを判断するには、補助回路４１２内のカウント値と当該内容値との比較を行い、クリーニング動作するかどうかを判断する。オンされなかった場合は、クリーニング動作を行なう。このように、電子機器４００のようなプリンターでは、使用時はいいが、所定時間以上使用しないとインクが目詰まりする可能性があるので、ボード用電源４３０を再度オンした時に、クリーニング動作を強制的に行なう。
また、補助クロック信号は、クリーニングする一定期間動作させ、後は停止させる。従って、１週間以内にボード用電源４３０がオンとなった場合には、クリーニング動作は行わない。
このように、メイン回路のシステムメインクロック信号が停止し、補助回路の補助クロック信号も所望の期間停止できるので、従来に比べて、大幅に回路内の消費電力を削減できる。
［実施の形態５］
次に、上述の回路を用いた電子機器の実施の形態について図１０及び図１１を用いて説明する。
マイクロコンピュータを含む電子機器に関する実例である。上述の半導体集積回路と、半導体集積回路のメイン回路回路への供給電圧を形成する第１の電源回路と、半導体集積回路の補助回路への供給電圧を形成する第２の電源回路と、を同一基板上に形成している。
図１０に電子機器の１つであるプリンタの内部ブロック図を示し、図１１にその外観図を示す。このプリンタでは、操作パネル６２０からの操作情報、コードメモリ６３０及びフォントメモリ６４０から文字情報に基づいて、ビットマップメモリ６５０を作業領域として、印刷画像を生成し、プリント出力部６６０を用いて出力する。またプリンタの状態やモードを表示パネル６７０を用いてユーザに伝える。マイクロコンピュータ５００は、実施例１〜６で説明した積和演算機能を用いて、直線や円弧の描画、画像の拡大、縮小などの処理を行うことになる。
なお本発明のマイクロコンピュータを適用できる電子機器としては、上記以外にも例えば、携帯電話（セルラーフォン）、ＰＨＳ、ページャ、オーディオ機器、電子手帳、電子卓上計算機、ＰＯＳ端末、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、パーソナルコンピュータ、テレビ、ビューファインダ型又はモニタ直視型のビデオテープレコーダなど種々のものを考えることができる。
尚、本発明に係る装置と方法は、そのいくつかの特定の実施の形態に従って説明してきたが、当業者は本発明の主旨及び範囲から逸脱することなく本発明の本文に記述した実施の形態に対して種々の変形が可能である。例えば、一つの補助クロック信号に基づいて補助回路を動作させる構成としたが、複数の補助クロック信号に基づいて補助回路を動作させる構成としても良い。この場合には、発振器を一つにして分周器を複数構成しても良いし、発振器を複数形成しても良い。
また、一つのシステムメインクロック信号に基づいてメイン回路を動作させる構成としたが、複数のシステムメインクロック信号に基づいてメイン回路を動作させる構成としても良い。さらに、補助回路を一つ、メイン回路を一つとする構成としたが、補助回路を複数、メイン回路を一つ、メイン回路を一つ、補助回路を複数、補助回路を複数・メイン回路を複数のいずれの構成であっても良い。しかも、各々のブロックが各々複数の信号で動作する構成であっても良い。
さらに、補助用電源回路は、補助回路の停止と共に、補助用電源に対して電源停止許可信号を出力して停止させる構成としても良い。
また、例えば前記実施の形態では、本発明をリスクタイプのＣＰＵに適用する場合を例に取り説明したが、これ以外のタイプのＣＰＵ、例えばシスクタイプのＣＰＵ等に幅広く適用することができる。
【図１】
0003817743.tif 000002
【図２】
0003817743.tif 000003
【図３】
0003817743.tif 000004
【図４】
0003817743.tif 000005
【図５】
0003817743.tif 000006
【図６】
0003817743.tif 000007
【図７】
0003817743.tif 000008
【図８】
0003817743.tif 000009
【図９】
0003817743.tif 000010
【図１０】
0003817743.tif 000011
【図１１】
0003817743.tif 000012
【図１２】
0003817743.tif 000013