(57)【特許請求の範囲】
【請求項１】
所定のタイミング信号に従ってノード上の電位を変化させるノード出力制御方式において、
クロック信号に同期して前記ノード上に出力された電位を記憶する記憶手段と、
ノード使用指令を受信してノード使用指示を出力するノード使用デコーダと、
前記ノード使用指示に基づき、前記ノードが使用状態から未使用状態になると判定されるときは、前記未使用状態となると同時に又はそれに先行させて前記記憶手段に記憶された電位を前記ノード上に出力させると共に前記未使用状態の間は継続して前記ノード上に出力させる一方、前記ノード使用指示に基づき、前記ノードが使用状態であると判定されるときは、その使用状態における電位を新たに前記記憶手段に記憶させると共に前記記憶手段に記憶された電位の前記ノード上への出力を遮断するノード電位監視制御手段と
を備えたことを特徴とするノード出力制御方式。
【請求項２】
ＣＰＵと、前記ノード上に出力させる電位を制御するためのプログラムを記憶したメモリとを備え、
前記記憶手段、前記ノード使用デコーダ及び前記ノード電位監視制御手段は、前記ＣＰＵ及び前記プログラムにより実現されることを特徴とする請求項１記載のノード出力制御方式。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、バスや信号線等のノードに所定の電位を出力するためのノード出力制御方式に関し、特にＬＳＩのＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）のバスのようにドライブされる容量が大きく、また高速ドライブされるノードの出力制御に好適のノード出力制御方式に関する。
【０００２】
【従来の技術】
一般に、マイクロコンピュータや１チップ化されたＤＳＰ等のバスは、データ出力時にはドライブ回路によって駆動され、使用されないときはハイインピーダンス状態となる。しかし、バスを使用しないときでも、何らかの電位をバス上に出力していないと、バスに接続されたＣＭＯＳ回路の入力電圧が不安定になるので、従来は、バスを抵抗を介してプルアップもしくはプルダウンしたり、バスに直接零電位やＨｉレベルなどの電位を与えることにより回路の誤動作を防止するようにしている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述した従来のプルアップ方式やプルダウン方式では、接続される抵抗の抵抗値が大きいと、データ出力時の応答速度が遅くなる。また、ある程度の応答速度を確保するために抵抗値を小さくすると、バス使用時に無駄な電力を消費するという問題を生じる。また、電位を強制的に０ＶあるいはＨｉレベルにさせる回路でも、同様にノード上に充電された電荷を充放電することになるが、この場合には、更に無駄に電力を消費するという問題がある。この種の問題はドライブされるバスの容量が大きい程、顕著になる。また、ＬＳＩの消費電力低減の方法としては、その動作が必要でないときに電力の供給を絶つパワーセーブやスタンバイモード等の方法もあった。しかしながら、この方法は回路構成が複雑になってしまう問題があった。
【０００４】
この発明は、このような問題点に鑑みなされたもので、無駄なノードの充放電をなくすことにより消費電力の低減を図ることができるノード出力制御方式を提供することを目的とする。
【０００５】
【課題を解決するための手段】
この発明に係るノード出力制御方式は、所定のタイミング信号に従ってノード上の電位を変化させるノード出力制御方式において、クロック信号に同期して前記ノード上に出力された電位を記憶する記憶手段と、ノード使用指令を受信してノード使用指示を出力するノード使用デコーダと、前記ノード使用指示に基づき、前記ノードが使用状態から未使用状態になると判定されるときは、前記未使用状態となると同時に又はそれに先行させて前記記憶手段に記憶された電位を前記ノード上に出力させると共に前記未使用状態の間は継続して前記ノード上に出力させる一方、前記ノード使用指示に基づき、前記ノードが使用状態であると判定されるときは、その使用状態における電位を新たに前記記憶手段に記憶させると共に前記記憶手段に記憶された電位の前記ノード上への出力を遮断するノード電位監視制御手段とを備えたことを特徴とする。
【０００６】
なお、このノード出力制御方式において、ＣＰＵと、前記ノード上に出力させる電位を制御するためのプログラムを記憶したメモリとを備え、前記記憶手段、ノード使用デコーダ及び前記ノード電位監視制御手段は、前記ＣＰＵ及び前記プログラムにより実現するようにしてもよい。
【０００７】
【作用】
この発明によれば、ノードに電位が出力されるかどうかを監視し、ノードを使用しないときには前のタイミングで前記ノードに出力されていた電位を前記ノードに続けて出力するので、ノード使用時からノード未使用時に切替わるときのノードの不要な電圧変化を抑えることができる。このため、無駄な充放電がなくなり、回路の低消費電力化を実現することができる。
【０００８】
【実施例】
以下、図面を参照して、この発明の実施例を説明する。
この発明をＤＳＰ等のＬＳＩの内部に電子回路で構成した一実施例を示すブロック図である。
図１において、ノード１は、データバス、アドレスバス、コントロールバス等のバスの１つ又は各種信号線の１つであり、図示しないバッファ回路やドライブ回路によってＨ（ＶＤＤ）レベル又はＬ（ＶＳＳ）レベルにドライブされる。また、ノード１と電源及び接地との間には、浮遊容量等に基づく負荷キャパシタンスＣ１  、Ｃ２  が存在し、ノード１の電位変化時には、ノード１に対する充放電が発生する。
【０００９】
このノード１の電位は記憶手段としてのディレイ回路２にクロック信号ＣＫに同期して保持される。このディレイ回路２に保持された電位は、ノード１の未使用時にトライステートバッファ３を介してノード１に出力される。
一方、図示しないインストラクションコントローラ等からのノード使用及び使用するノードを示すノード使用指令は、ノード使用デコーダ４に入力されている。ノード使用デコーダ４は、入力されたノード使用指令をデコードして、使用される各ノードに対応して設けられたノード使用監視回路５にそのノード使用指示を出力する。ノード使用監視回路５は、ノード使用指示に基づいて、ノード１が使用状態のときはアウトプットイネーブル信号ＯＥを非アクティブにしてトライステートバッファ３の出力をハイインピーダンス状態にし、ノード１が未使用状態のときはアウトプットイネーブル信号ＯＥをアクティブにしてトライステートバッファ３を介してディレイ回路２からの出力をノード１に供給させる。
この実施例では、以上のバッファ３、ノード使用デコーダ４及びノード使用監視回路５でノード電位監視制御手段を構成し、このノード電位監視制御手段とディレイ回路２とでノード出力制御回路が構成されている。また、ディレイ回路２、バッファ３及びノード使用監視回路５は他のノードにも同様に付加されている。
【００１０】
以上の構成において、ノード１の電位はクロック信号ＣＫに同期してディレイ回路２に保持されるが、この保持のタイミングは、ノード１への電位出力タイミングに僅か遅れるタイミング、即ちノード１が安定状態となったタイミングが好ましい。
ノード１が使用されている、すなわちノード上の電荷が充放電されている状態では、ノード使用監視回路５からトライステートバッファ３に出力される信号ＯＥは非アクティブであるため、トライステートバッファ３の出力は非アクティブであり、ディレイ回路２の出力はノードに影響を及ぼさない。
【００１１】
一方、ノード１が使用されないとき、ノード使用監視回路５は、ノード使用デコーダ４の出力によって事前にこれを検知し、その出力ＯＥをアクティブにする。これにより、ノード１には前クロック周期で出力されていた電圧レベルがディレイ回路２を介してそのまま出力され続けるため、充放電することはない。このとき、ノード１の充放電を完全に抑制するためには、ノード使用監視回路５の出力ＯＥをノード１が未使用となると同時若しくはそれに先行させてアクティブにすることが好ましい。このため、プリフェッチされたインストラクションコードを事前に解読する等の方式を採用するようにしてもよい。
【００１２】
今、動作クロックＣＫの周波数が１００ＭＨｚ、電源電圧Ｖが３．３ＶであるＬＳＩにおいて、バスを使用しない割合が１０周期中３周期存在し、３２ｂｉｔのバス幅のうちの半分が変化する場合を考える。ノード１の負荷キャパシタンスＣ１  、Ｃ２  の容量Ｃは、典型的な５ｍｍ角のチップでは５〜６ｐＦ以上になる。このとき、消費電力はＰ＝ＣＶ２  ／２であるので、この発明を実施しない従来の方式では、
【００１３】
【数１】
0003557670.tif 000002
【００１４】
この発明の方式では、
【００１５】
【数２】
0003557670.tif 000003
【００１６】
となり、消費電力を約３割削減することができる。
【００１７】
図２及び図３は、この発明をソフトウェアで実現した例を示す図で、図２は、マイクロコンピュータの構成を示すブロック図、図３はバス出力制御のためのフローチャートである。
図２において、マイクロコンピュータはシステムバス１１にＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４及び入力インタフェース（Ｉ／Ｏ）１５を接続して構成されている。
この実施例ではシステムバス１１、特にデータバスの出力電位を制御するため、ＲＯＭ１３に記憶されたプログラムとＣＰＵ１２とでバス出力制御のための処理を実行する。
【００１８】
図３を参照して、このバス出力制御処理について説明する。
図３において、まずＣＰＵ１２は、プリフェッチされたインストラクションコードを判別してクロック信号の現サイクルの命令がバス１１を使用するかどうかを判断する（Ｓ１）。
バス１１が使用される場合には、バス１１に出力するデータを決定し、データＢとしてバス１１に出力する（Ｓ２）。このとき、バス１１に出力されたデータＢはＣＰＵ１２内部のレジスタにデータＡとして記憶される（Ｓ３）。
【００１９】
一方、バス１１が使用されていないときには、レジスタに記憶されたデータＡが呼び戻され（Ｓ４）、バス１１にはクロック信号の前サイクルで出力されていたデータをデータＢとして継続して出力する（Ｓ５）。これにより、同一の電圧レベルがそのまま出力され続けるため、バス１１が充放電することはない。
この方式では、バス出力用のプログラムを、上記のようにアセンブラで構成することによって、先の実施例と同程度の効果がある。
【００２０】
図４は、ノード１がデータバスの実施例で、図１のノード使用監視回路５を使用せずに、アセンブラやコンパイラでバスの不使用を検出し、バッファ３を制御する例を示す。この場合、バスソースデコーダ２１によって、バスソース指令がデコードされ、そのデコード出力で各バッファが制御されることになる。
【００２１】
なお、以上の実施例では、ディジタル回路を例にとったが、この発明はアナログ電圧の出力制御にも同様に適用可能であることはいうまでもない。また、この発明はＬＳＩの他に通常のワンボードの回路にも適用可能である。
【００２２】
【発明の効果】
以上述べたように、この発明によれば、ノードの不要な電圧変化を抑えるようにしているので、ノードの無駄な充放電がなくされ、回路の低消費電力化を実現することができる。また、この回路は回路規模が非常に小さく、ノード出力を制御する以外の低消費電力化と比べて、回路の小規模化を図ることができる。
【図面の簡単な説明】
【図１】この発明の一実施例に係るＬＳＩのＤＳＰのブロック図である。
【図２】この発明の他の実施例に係るマイクロコンピュータのブロック図である。
【図３】同実施例におけるノード出力制御処理の流れ図である。
【図４】この発明の更に他の実施例に係るＬＳＩのブロック図である。
【符号の説明】１…ノード、２…ディレイ回路、３…トライステートバッファ、４…ノード使用デコーダ、５…ノード使用監視回路、２１…バスソースデコーダ。
【図１】
0003557670.tif 000004
【図２】
0003557670.tif 000005
【図３】
0003557670.tif 000006
【図４】
0003557670.tif 000007