(57)【特許請求の範囲】
【請求項１】
命令セットに含まれる命令信号によって使用される複数の回路ブロックと、
上記命令信号をデコードして上記複数の回路ブロックの使用を指示する制御信号を出力する命令デコーダとを有し、
上記複数の回路ブロックのそれぞれは所定のパイプラインステージにおいて使用され、上記制御信号は上記パイプラインステージに同期して伝達され、
上記複数の回路ブロックは、第１電位と第２電位との間に直列接続された第１ＰチャネルＭＯＳＦＥＴ及び第１ＮチャネルＭＯＳＦＥＴからなる相補形ＭＯＳＦＥＴを含み、
上記回路ブロックは、上記制御信号の伝達に応じて第１動作状態に、上記回路ブロックの使用の終了に応じて第２動作状態とされ、
上記第１動作状態において、上記第１ＰチャネルＭＯＳＦＥＴまたは上記第１ＮチャネルＭＯＳＦＥＴのゲート・ソース間電圧を０Ｖとした場合に、上記相補形ＭＯＳＦＥＴの直列結合されたソース・ドレイン経路に第１電流が流れ、
上記第２動作状態において、上記第１ＰチャネルＭＯＳＦＥＴまたは上記第１ＮチャネルＭＯＳＦＥＴのゲート・ソース間電圧を０Ｖとした場合に、上記相補形ＭＯＳＦＥＴの直列結合されたソース・ドレイン経路に上記第１電流よりも小さな第２電流が流れる情報処理装置であって、
上記命令デコーダから出力された上記制御信号を、上記パイプラインステージに同期して伝達するための複数のタイミングラッチと、
上記パイプラインステージでの上記回路ブロックの使用開始に先だって、上記制御信号が上記回路ブロックに伝達されるように、上記タイミングラッチの出力を、対応する上記回路ブロックに供給するための論理ゲートと、を含むことを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
上記制御信号の伝達から上記回路ブロックの使用の開始までの期間は、上記回路ブロックが上記第２動作状態から上記第１動作状態に遷移する期間を含むことを特徴とする情報処理装置。
【請求項３】
請求項１記載の情報処理装置において、
上記第１ＰチャネルＭＯＳＦＥＴの基板電位を発生させる第１基板電位発生回路と、
上記第１ＮチャネルＭＯＳＦＥＴの基板電位を発生させる第２基板電位発生回路とを有し、
上記回路ブロックは、上記第１動作状態において、上記第１ＰチャネルＭＯＳＦＥＴの基板に上記第１電位が印加され、上記第１ＮチャネルＭＯＳＦＥＴの基板に上記第２電位が印加され、
上記第２動作状態において、上記第１ＰチャネルＭＯＳＦＥＴの基板に上記第１基板電位発生回路により発生された上記第１電位より高い電位が印加され、上記第１ＮチャネルＭＯＳＦＥＴの基板に上記第２基板電位発生回路により発生された上記第２電位より低い電位が印加されることを特徴とする情報処理装置。
【請求項４】
請求項１記載の情報処理装置において、
上記複数の回路ブロックは、上記第１電位と上記第１電位より高い第３電位との間にソース・ドレイン経路を有し、上記第１ＰチャネルＭＯＳＦＥＴのしきい値電圧よりも高いしきい値電圧を有する第２ＰチャネルＭＯＳＦＥＴを有し、
上記回路ブロックは、上記第１動作状態において上記第２ＰチャネルＭＯＳＦＥＴがオン状態であり、上記第２動作状態において上記第２ＰチャネルＭＯＳＦＥＴがオフ状態であることを特徴とする情報処理装置。
【請求項５】
請求項４記載の情報処理装置において、
上記第１ＰチャネルＭＯＳＦＥＴの基板電位に上記第３電位が印加されることを特徴とする情報処理装置。
【請求項６】
請求項１記載の情報処理装置において、
上記複数の回路ブロックは、上記第２電位と上記第２電位より低い第４電位との間にソース・ドレイン経路を有し、上記第１ＮチャネルＭＯＳＦＥＴのしきい値電圧よりも高いしきい値電圧を有する第２ＮチャネルＭＯＳＦＥＴを有し、
上記回路ブロックは、上記第１動作状態において上記第２ＮチャネルＭＯＳＦＥＴがオン状態であり、上記第２動作状態において上記第２ＮチャネルＭＯＳＦＥＴがオフ状態であることを特徴とする情報処理装置。
【請求項７】
請求項６記載の情報処理装置において、
上記第１ＮチャネルＭＯＳＦＥＴの基板電位に上記第４電位が印加されることを特徴とする情報処理装置。
【請求項８】
それぞれ第１ＭＯＳトランジスタを含む複数の回路ブロックと、
命令をデコードし、上記回路ブロックの動作状態を制御する制御信号を出力する命令デコーダとを有し、
上記回路ブロックは、上記制御信号を受け取ることにより第２動作状態から第１動作状態に制御され、
上記第１動作状態において、上記第１ＭＯＳトランジスタのゲート・ソース間電圧を０Ｖとした場合に、上記第１ＭＯＳトランジスタのソース・ドレイン経路に第１電流が流れ、
上記第２動作状態において、上記第１ＭＯＳトランジスタのゲート・ソース間電圧を０Ｖとした場合に、上記第１ＭＯＳトランジスタのソース・ドレイン経路に上記第１電流よりも小さな第２電流が流れる情報処理装置であって、
上記命令デコーダから出力された上記制御信号を、上記パイプラインステージに同期して伝達するための複数のタイミングラッチと、
上記パイプラインステージでの上記回路ブロックの使用開始に先だって、上記制御信号が上記回路ブロックに伝達されるように、上記タイミングラッチの出力を、対応する上記回路ブロックに供給するための論理ゲートと、を含むことを特徴とする情報処理装置。
【請求項９】
請求項８記載において、
上記制御信号の伝達から上記回路ブロックの使用の開始までの期間は、上記回路ブロックが上記第２動作状態から上記第１動作状態に遷移する期間を含む情報処理装置。
【請求項１０】
請求項８記載において、
上記所定のパイプラインステージで使用される回路ブロックは、上記所定のパイプラインステージでの使用が終了した後に上記第１動作状態から上記第２動作状態に制御される情報処理装置。
【請求項１１】
請求項８記載において、
上記第１ＭＯＳトランジスタの基板電位は、上記第２動作状態における上記第１ＭＯＳトランジスタのしきい値電圧の絶対値が上記第１動作状態における上記第１ＭＯＳトランジスタのしきい値電圧の絶対値よりも大きくなるように制御される情報処理装置。
【請求項１２】
請求項８記載において、
上記複数の回路ブロックのそれぞれは上記第１ＭＯＳトランジスタと直列に接続される第２ＭＯＳトランジスタを含み、
上記第２ＭＯＳトランジスタは上記第１動作状態においてはオン状態であり、上記第２動作状態においてはオフ状態である情報処理装置。
【請求項１３】
請求項１２記載において、
上記第２ＭＯＳトランジスタのしきい値電圧の絶対値は上記第１ＭＯＳトランジスタのしきい値電圧の絶対値よりも大きい情報処理装置。
【請求項１４】
請求項１２記載において、
上記第１ＭＯＳトランジスタのウェルは、上記第２ＭＯＳトランジスタのソースに接続された情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＣＭＯＳ集積回路に属する。
【０００２】
【従来の技術】
情報処理装置の電力を削減する目的で知られる従来技術は
１  ＣＭＯＳ設計でのレシオレス
２  スリープ／スタンバイ状態とそのときのクロック停止
である。項番１は、ＣＭＯＳのゲートは入力がハイレベルあるいはローレベルのときにはサブスレッショルドリーク電流以外消費しないことである。なお、本願中「リーク電流」の用語はサブスレッショルドリーク電流、すなわち、ＣＭＯＳゲートの入力がハイレベルあるいはローレベルに確定した状態での定常的リーク電流を指すことにする。したがって、項番１と２を実施することによってスリープ／スタンバイ状態ではＣＭＯＳ回路の充放電電流と貫通電流を削減することが可能であるが、リーク電流は削減しない。
【０００３】
文献１９９８年９月ＳＴＡＲＣシンポジウム講演予稿集(開催地: 京都), pp.100-109において、リーク電流に関して記載されている。
【０００４】
リーク電流はＭＯＳトランジスタのしきい値電圧によって決まる。ＭＯＳトランジスタのしきい値電圧が小さいほどリーク電流は大きくなるという関係がある。該文献p.103によれば、100万トランジスタの回路で温度125℃の場合、しきい値電圧が0.3Vのときにはリーク電流は5mAであるのに対し、しきい値電圧が0.1Vのときにはリーク電流は1Aという大きな値になるという図が示されている。一方、電源電圧をVcc、しきい値電圧をVtとすると、ＭＯＳトランジスタの駆動電流は(Vcc-Vt)の2乗に比例することが知られているので、動作スピードをあげようとする場合と、しきい値電圧は低く設定する必要があり、リーク電流は増加する。
【０００５】
このリーク電流を削減する技術が１９９５年６月電子情報通信学会技術報告ICD95-41, pp.1-8に記載されている。記載では、非動作時のリーク電流を低減するために、通常の論理回路に加えて高いしきい値のＭＯＳトランジスタを電源スイッチとして設けている。また、前記ＳＴＡＲＣシンポジウム講演予稿集文献にも、高いしきい値のＭＯＳトランジスタをスタンバイ時の回路遮断に用いることが記載されている。
【０００６】
また、IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL.31, NO.11（1996年１１月）には、スタンバイ時ではＭＯＳトランジスタの基板バイアスを制御してそのしきい値電圧を高くして、非動作時のリーク電流を低減することが記載されている。
【０００７】
また、特開平８−２７４６２０号公報にはＣＭＯＳのリーク電流を低減して消費電力を削減するため、基板電位を制御してＭＯＳトランジスタのしきい値電圧を高くしたモードを有するＬＳＩが開示されている。
【０００８】
しかし、これらの文献においてはこのようなリーク電流の制御開始、終了がどのように行われるか開示されていない、あるいは回路の実行する動作（命令）とは無関係な割り込み制御あるいはモード制御によって行われるものである。すなわち、回路の動作（演算等）を制御する制御系とは別に回路の消費電力制御する制御系が設けられていた。
【０００９】
一方、プロセッサを低電力化するための別技術が特開平１０−２０９５９号に開示されている。本公知例では命令コードの中に電力制御フィールドを設け、マイクロプロセッサは電力制御フィールドをデコードして、必要な機能ブロックのみを動作させる。しかし、電力制御の方法として電源供給を制御する方法とクロック信号の供給を制御する方法があると述べている。
【００１０】
しかし、電源供給を制御する具体的回路は示されておらず、またＣＭＯＳゲートの入力がハイレベルあるいはローレベルに確定した状態でも流れる定常的リーク電流については何ら記載されていない。
【００１１】
【発明が解決しようとする課題】
リーク電流が無視できないＣＭＯＳ論理回路、特にプロセッサにおいては動作時のリーク電流を削減する技術は従来知られていなかった。従来のリーク電流を削減するための諸文献は、プロセッサ全体が非使用時、スタンバイ時といった特別な状態に限られ、プロセッサの演算処理と関連づけてリーク電流を自動的に低減させるような仕組みについては検討されていなかった。
【００１２】
本発明が解決しようとする課題はプロセッサの動作時のリーク電流を低減することにある。
【００１３】
特に動作スピードを増加させるためにＣＭＯＳのしきい値が低い場合、上記リーク電流の低減は消費電力の低減にとり大きな意味をもつ。その事情は前記のＳＴＡＲＣシンポジウム講演予稿集に示されるとおり100万トランジスタの回路で温度125℃の場合、しきい値が0.1Vのときにはリーク電流は1Aという大きな値になるという関係があるからである。今日、微細度の高いLSIが100万トランジスタ以上の集積度を有していることはすでに広く知られる。
【００１４】
【課題を解決するための手段】
命令セットに含まれる命令信号によって少なくとも１つの回路ブロックが使用される複数の回路ブロックを有する情報処理装置において、命令信号をデコードして回路ブロックがその命令信号で使用されるか否かを判定し、使用される回路ブロックについては大きなリーク電流（ＣＭＯＳを形成するＰＭＯＳまたはＮＭＯＳのゲート・ソース間電圧が０Ｖである場合に、ＣＭＯＳの直列結合されたソース・ドレイン経路に流れる電流）が流れることを許容し、使用されない回路ブロックについてはより小さなリーク電流になるように制限する。
【００１５】
特にパイプライン制御が実行される情報処理装置においては、リーク電流を制御する制御信号がパイプラインステージに同期して伝達される。これにより、演算処理されるパイプラインステージにある回路ブロックについては大きなリーク電流が流れることが許容され、そのパイプラインステージの終了とともに小さなリーク電流に制限するように制御される。
【００１６】
さらに、この場合はリーク電流制御を回路ブロックの演算処理に先だって行うことにより、リーク電流制御のための過渡状態が演算処理に影響を与えないように配慮している。
【００１７】
回路ブロックの１つの例はＡＬＵ(算術論理ユニット)であり、ＡＬＵを使用する命令を実行する場合には、ＡＬＵのリーク電流の大きいモードを指定する。ＡＬＵを使用しない命令を実行する場合はＡＬＵのリーク電流の小さいモードを指定する。判定回路は命令がＡＬＵを使用するか否かの情報に基づいてＡＬＵのリーク電流の大小に関する指示信号を出せばよく、命令デコードを行うことに帰着する。
【００１８】
回路ブロックの別の１つの例はＦＰＵ(浮動小数点演算器)であり、この回路ブロックは命令信号がＦＰＵ命令を実行する場合に使用される。別の１つの例はデータメモリであり、命令信号がロード動作（データメモリからのリード）あるいはストア動作（データメモリへのライト）を含むときにのみ使用される。
【００１９】
以上、回路ブロックが動作を必要とするときにはリーク電流が大なるモードを適用し、動作を必要としないときにはリーク電流が小なるモードを適用し、無駄に発生しているリーク電流を削減する。
【００２０】
【発明の実施の形態】
（実施例１）
図１は本発明を用いた実施例を最も簡素な形で書き表したものである。１０１は１６ビットの命令信号である。１０４は１個の回路ブロックである。１０２は命令信号１０１を入力とし回路ブロック１０４の使用有無の情報に基づき判定を行う命令デコーダである。該命令デコーダ１０２の判定結果に基づき、信号１０３を用いて回路ブロック１０４のリーク電流の大小を決定する動作モードを指示する。すなわち、命令信号１０１によって示される命令が回路ブロック１０４を使用する場合にはリーク電流が大なる動作モードを指示し、速度低下のない回路の動作をさせ、命令信号１０１によって示される命令が回路ブロック１０４を使用しない場合にはリーク電流が小なる動作モードを指示しリーク電流を低減する。
【００２１】
（実施例２）
図２は別の実施例であり、複数の回路ブロックを有する例である。２０１は１６ビットの命令信号である。２０８、２０９、２１０は３個の回路ブロックである。２０２、２０３、２０４は命令信号２０１を入力とし、それぞれ回路ブロック２０８、２０９、２１０の使用有無の情報に基づき判定を行う命令デコーダである。回路ブロック２０８、２０９、２１０のリーク電流の大小を決定する動作モードを指示する信号は該命令デコーダ２０２、２０３、２０４の判定結果信号２０５、２０６、２０７に基づいて制御される。
【００２２】
その制御を回路ブロック２０８について説明する。信号２０１によって示される命令が回路ブロック２０８を使用する場合にはリーク電流が大なる動作モードを指示し速度低下のない回路の動作をさせ、命令信号２０１によって示される命令が回路ブロック２０８を使用しない場合にはリーク電流が小なる動作モードを指示しリーク電流を低減する。回路ブロック２０９、２１０に対しても同様である。回路ブロック２０８、２０９、２１０の使用／非使用に関する条件式は一般にそれぞれ別個であるから、その相異なる動作モードの指令を行うため、別個に命令デコーダ２０２、２０３、２０４が必要である。
【００２３】
図３は図２に説明する回路が採用する命令セットと、その命令が回路ブロックのいずれを使用するかを示した表である。３０１から３１１は命令セットの中のそれぞれの命令を示す。列３１２は命令の名称である。ここでは簡単のため命令１(３０１)から命令１１(３１１)と記載しているが、一例を挙げれば１つの命令は加算命令であり、１つの命令はロード命令であり、１つの命令は分岐命令である。
【００２４】
列３１３は各命令が回路ブロック１（２０８）を使用するかを示す。欄にＹと記入してある場合、使用することを示す。欄にＮと記入してある場合、使用しないことを示す。回路ブロック１（２０８）は命令１と命令１０により使用される。同様に列３１４は各命令が回路ブロック２（２０９）を使用するかを示す。列３１５は各命令が回路ブロック３（２１０）を使用するかを示す。
【００２５】
図４は命令デコーダ２０４の構成例を示したものである。例えば、図３、列３１５に示されるように、回路ブロック２（２０９）は命令２、５、６、７、１１で使用される。デコーダ２０４は命令２、５、６、７、１１をデコードし、出力信号２０６に１を出力する。４０１、４０２、４０３はインバータ（論理反転器）である。４０４は２入力ＯＲ（論理和）ゲートである。４０５は３入力ＯＲ（論理和）ゲートである。４０６、４０７は３入力ＡＮＤ（論理積）ゲートである。４０８は４入力ＡＮＤ（論理積）ゲートである。
【００２６】
組合せ論理の基礎的知識を用いてこの回路の動作は理解できるであろう。ゲート４０６の出力４０９は命令信号[15:13]＝001なるときに１になる、つまり命令２（３０２）をデコードしている。同様にゲート４０７の出力４１０は命令５―７（３０５―３０７）をデコードしている。同様にゲート４０８の出力４１１は命令１１（３１１）をデコードしている。
【００２７】
ゲート４０５の出力２０６は信号４０９、４１０、４１１の論理和をとることにより命令２、５、６、７、１１をデコードする。つまり命令信号２０１が命令２、５、６、７、１１のときに信号２０６は１になる。
【００２８】
（実施例３）
図５は別の実施例を示す。この実施例にて、プロセッサはパイプライン制御方式を用いている。パイプライン制御方式では、演算器はパイプラインステージ毎に存在し、パイプラインステージ間にはタイミングラッチを置くことを特徴とする。
【００２９】
５２９―５３２はパイプラインステージ(パイプラインステージの表示は物理的には存在せず、説明のために記載したものである)を示す。５０１は命令信号である。５０２、５０３は命令デコーダである。５０４、５０６、５０８、５１３―５１８、５１９、５２１、５２５ー５２８はタイミングラッチである。５０５、５０７、５０９は回路ブロックであり、命令デコーダ５０２によって使用有無が判定される。また５０５、５０７、５０９はそれぞれパイプラインステージ５３０、５３１、５３２で使用されるハードウェアである。５２０、５２２は回路ブロックであり、命令デコーダ５０３によって使用有無が判定される。また５２０、５２２はそれぞれパイプラインステージ５３０、５３１で使用されるハードウェアである。
【００３０】
命令デコーダ５０２に対応する回路ブロックでパイプライン制御されるデータは、５０４から５０５、５０６、５０７、５０８、５０９を経由して処理される。命令デコーダ５０３に対応する回路ブロックで、パイプライン制御される別のデータは５１９から５２０、５２１、５２２を経由して処理される。５１０、５１１、５１２、５２３、５２４は２入力ＯＲ（論理和）ゲートである。
【００３１】
図６は図５に示す回路のタイミング図である。横軸は時間を示す。ある期間（６００）で命令信号５０１は演算Ａを示す。期間６００の時間長は１クロックとする。このときプロセッサはパイプライン制御を行い、期間６０１で回路ブロックA1（５０５）を用いる(演算５０５が行われると説明するとわかりよい)。期間６０２で回路ブロックA2（５０７）を用いる。期間６０３で回路ブロックA3（５０９）を用いる。このときに命令デコーダ５０２の出力する使用指示信号はパイプライン伝達され、図中の５１３−５１８の信号波形となる。その結果、回路ブロックA1（５０５）、A2（５０６）、A3（５０７）には1.5クロック時間のHigh信号が印加される。この1.5クロックのうち最初の0.5クロックは回路ブロックを低リーク状態から高リーク状態に遷移させるための過渡状態として必要な時間を含む。
【００３２】
（実施例４）
図７は本発明を用いた別の１つの実施例であり、単一命令多重データ型プロセッサに適用した例である。この実施例では３２ビット幅の演算器を４つ並列に有しているが、該演算器のうち０−４個が用いられ、用いられる個数は命令によって異なる。
【００３３】
４つの３２ビット幅の演算器は７１０−７１３である。７１０、７１１、７１２、７１３にはそれぞれ内部処理用にビット番号１２７−９６、９５−６４、６３−３２、３１−０が割り当てられている。
【００３４】
ある命令では１２８ビット演算を行い、
dest[127:0] = src1[127:0] op src2[127:0]
という演算を行う。ここでsrc1, src2とは演算の入力データであり、destは演算結果の代入される場所を示す。[a:b]とはビット番号aからbという記法である。opとは演算を一般化したもので、例えば加算ならopを「＋」に置換すればよい。この場合演算器７１０−７１３は４つとも使用される。
【００３５】
別の命令では３２ビット演算を行い、
dest[31:0] = src1[31:0] op src2[31:0]
という演算を行う。この場合演算器７１３は使用されるが演算器７１０−７１２は使用されない。
【００３６】
７０１は命令信号である。７０２−７０５は命令デコーダである。命令デコーダ７０２−７０５はそれぞれの命令に対して演算器７１０−７１１が用いられるか否かをデコードする。使用される場合には演算器７１０−７１３に対して４本の制御信号線７０６−７０９を用いて低リーク状態の動作モードの指示を出す。
【００３７】
各回路ブロックに対してリーク電流を制御する手段については、回路図レベルでの具体例を以下、説明する。
【００３８】
図８はリーク電流制御手段の例の１つである。８０１−８０３はＰＭＯＳである。８０４−８０６はＮＭＯＳである。ここでＰＭＯＳ８０２とＮＭＯＳ８０４の組、あるいはＰＭＯＳ８０３とＮＭＯＳ８０５の組はＣＭＯＳインバータを形成している。これら２個のインバータは、説明上回路ブロックの内部回路の代表として記載したものである。ＰＭＯＳ８０２、８０３のソース端子の接続されるノード８０９（ローカルな正電源線）はＰＭＯＳ８０１を介して正電源に接続されている。また、ＮＭＯＳ８０４、８０５のソース端子の接続されるノード８１０（ローカルなグラウンド線）はＮＭＯＳ８０６を介してグラウンドに接続されている。また、ＰＭＯＳトランジスタ８０２、８０３の基板電位はローカルな正電源線８０９に、ＮＭＯＳトランジスタ８０４、８０５の基板電位はローカルなグラウンド線８１０に接続されている。ＭＯＳトランジスタ８０１、８０６はスイッチＭＯＳトランジスタとして作用する。もちろん、 ＭＯＳトランジスタ８０１、８０６のいずれかだけを設けるようにしても、スイッチＭＯＳトランジスタとして作用できる。
【００３９】
ＰＭＯＳ８０１のしきい値電圧VtpはＰＭＯＳ８０２、８０３のしきい値電圧より１Ｖ高い（つまりリークしにくい)。ＮＭＯＳ８０６のしきい値電圧VtnはＮＭＯＳ８０４、８０５のしきい値電圧より１Ｖ高い（つまりリークしにくい）。このしきい値の差がない場合にはスイッチＭＯＳトランジスタ８０１、８０６をオフ状態に制御してもスイッチＭＯＳトランジスタ８０１、８０６自体のリーク電流が内部回路のリーク電流と比べて小さくならないので、電力削減の効果はない。
【００４０】
リーク電流削減のため、制御信号８０８によりリーク電流削減の指示がされる。この例では、Ｌｏｗが低リーク指示、Ｈｉｇｈが高リーク指示である。制御信号８０８はＮＭＯＳ８０６のゲートを制御し、またその論理反転信号(インバータ８０７の出力)はＰＭＯＳ８０１のゲートを制御する。ゆえに制御信号８０８がＬｏｗのときには、リークしにくいＭＯＳトランジスタ８０１,８０６が低リーク(より強いオフ状態)となるので、リーク電流を削減することができる。
【００４１】
図９はリーク電流制御手段の別の１例である。図９の９０１−９１０は、それぞれ図８の８０１−８１０と同一なので説明は省略する。図８の回路との相違点はＰＭＯＳ９０２、９０３の基板電位がローカルな正電源線９０９でなく、真の正電源線９１２に接続されていること、およびＮＭＯＳ９０４、９０５の基板電位がローカルなグラウンド線９１０でなく、真のグラウンド線９１３に接続されていることである。
【００４２】
この構造をとる場合にはスイッチＭＯＳトランジスタ９０１、９０６がオフ状態となったモードでローカルな正電源線９０９、ローカルなグラウンド線９１０がそれぞれ真の正電源線９１２、真のグラウンド線９１３との間で電源ドロップを起こすので、その分基板電位バイアス効果が発生し、内部のインバータ自体でもリーク電流を削減する効果が併せて得られるという利点がある。
【００４３】
図１０はリーク電流制御手段のさらに別の１例である。ＰＭＯＳ１００１、１００２の基板電位はＰＭＯＳ基板バイアス発生回路１００５によって制御される。同様にＮＭＯＳ１００３、１００４の基板電位はＮＭＯＳ基板バイアス発生回路１００６によって制御される。内部の２個のインバータが回路ブロックの内部回路の代表として記載してあることは図８と同じである。ＰＭＯＳの基板電位は高いほどリーク電流は少ない。ＮＭＯＳの基板電位は低いほどリーク電流は少ない。１例としては、リーク電流が大なる動作モードではＰＭＯＳ基板電位は正電源電位、ＮＭＯＳ基板電位はグラウンド電源電位とし、リーク電流が小なる動作モードではＰＭＯＳ基板電位は正電源電位＋1.0V、NMOSの基板電位はグラウンド電源電位-1.0Vとする。
【００４４】
また基板に用いられるのはＳＯＩでもよい。ＳＯＩ構造を取ることにより、ゲート下の空乏層の容量が小さくなり、テーリング係数(Vgs-logIds)特性の傾きの逆数) を減少させ、サブスレッショルド電流をより低減出来るからである。
【００４５】
【発明の効果】
以上のように、本発明によれば回路ブロック毎に命令信号で動作を制御し、プロセッサの動作時のリーク電流を低減することができる。特に動作スピードを増加させるためにCMOSのしきい値が低い場合、上記リーク電流の低減は消費電力の低減にとり大きな意味をもつ。
【図面の簡単な説明】
【図１】１つの回路ブロックを有する実施例のブロック図。
【図２】３つの回路ブロックを有する実施例のブロック図。
【図３】図２で示す例での命令セット表。
【図４】図２で示す例での命令デコーダ２０３の論理回路図。
【図５】パイプライン型プロセッサに本発明を適用した実施例のブロック図。
【図６】図５で示す例での１つの命令が実行される場合のタイミング図。
【図７】単一命令多重データ型プロセッサに本発明を適用した実施例のブロック図。
【図８】リーク電流制御手段の回路図。
【図９】リーク電流制御手段の回路図。
【図１０】リーク電流制御手段の回路図。
【符号の説明】
１０１―命令信号、１０２―判定回路、１０３―回路ブロックの動作モードを指示する信号、１０４―回路ブロック、２０１―命令信号、２０２、２０３、２０４―判定回路、２０５、２０６、２０７―回路ブロックの動作モードを指示する信号、２０８、２０９、２１０―回路ブロック、３０１〜３１１―命令、３１２―命令の名称、３１３―回路ブロック１（２０８）の使用有無を示す情報、３１４―回路ブロック２（２０９）の使用有無を示す情報、３１５―回路ブロック３（２１０）の使用有無を示す情報、４０１、４０２、４０３―インバータ、４０４―２入力ORゲート、４０５―３入力ORゲート、４０６、４０７―３入力ANDゲート、４０８―４入力ANDゲート、４０９―４０６の出力信号、４１０―４０７の出力信号、４１１―４０８の出力信号、５０１―命令信号、５０２、５０３―命令デコーダ、５０４〜５０８、５１３〜５１９、５２１、５２５〜５２８―タイミングラッチ、５０５、５０７、５０９、５２０、５２２―回路ブロック、５１０〜５１２、５２３、５２４―２入力ORゲート、６００〜６０５―１クロック分の期間、６０６―クロック信号、７０１―命令信号、７０２〜７０５―判定回路、７０６〜７０９―回路ブロックの動作モードを指示する信号、７１０〜７１３―回路ブロック、８０１〜８０３―ＰＭＯＳトランジスタ、８０４〜８０６―ＮＭＯＳトランジスタ、８０７―インバータ、８０８―回路ブロックの動作モードを指示する信号、８０９―ローカル正電源、８１０―ローカルグラウンド、８１１―内部回路、９０１〜９０３―ＰＭＯＳトランジスタ、９０４〜９０６―ＮＭＯＳトランジスタ、９０７―インバータ、９０８―回路ブロックの動作モードを指示する信号、９０９―ローカル正電源、９１０―ローカルグラウンド、９１１―内部回路、１００１、１００２―ＰＭＯＳトランジスタ、１００３、１００４―ＮＭＯＳトランジスタ、１００５―ＰＭＯＳトランジスタの基板電位発生装置、１００６―ＮＭＯＳトランジスタの基板電位発生装置。
【図１】
0003807884.tif 000002
【図２】
0003807884.tif 000003
【図３】
0003807884.tif 000004
【図４】
0003807884.tif 000005
【図５】
0003807884.tif 000006
【図６】
0003807884.tif 000007
【図７】
0003807884.tif 000008
【図８】
0003807884.tif 000009
【図９】
0003807884.tif 000010
【図１０】
0003807884.tif 000011