(57)【要約】【課題】本発明は、ＩＰの電源を動的または静的に遮断し、リーク電流を削減する半導体集積回路の提供を課題とする。【解決手段】本発明は、複数のＩＰを含む半導体集積回路において、ＩＰの処理終了を示す割込み信号を用いて、電源供給と遮断の制御を行う。電源制御レジスタ５はＩＰ単位で電源供給と遮断を制御するビットを持ち、割り込み信号による動的あるいは、ソフトウェアによる静的な電源制御を行うことができる。既存の割込みコントローラ３を利用するため、小さいハードウェア規模で電源遮断制御が実現可能である。【選択図】図１
2006237189.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの機能ブロックと、
前記機能ブロックの電源供給状態を示す情報を保持する電源制御レジスタを備え、前記電源制御レジスタに保持された情報に応じて前記機能ブロックへの電源供給または遮断を制御する電源制御回路と、
前記機能ブロックから通知される処理終了を示す割り込み信号を受信する割り込み制御回路と、を有し、
前記割り込み信号に基づいて前記割り込み制御回路から通知される信号により、前記電源制御レジスタに保持されている電源供給状態を書き換える半導体集積回路装置。
【請求項２】
前記機能ブロックから通知される割り込み信号により、前記機能ブロックの電源供給および電源遮断を行う請求項１記載の半導体集積回路装置。
【請求項３】
前記機能ブロックから通知される処理終了を示す割り込み信号を前記割り込み制御回路を介して受信するＣＰＵをさらに有し、
前記電源制御レジスタはアドレスを持ち、
前記電源制御レジスタに保持された情報値の書き換えは、前記アドレスを指定した命令を用いて前記ＣＰＵから行う請求項１記載の半導体集積回路装置。
【請求項４】
前記機能ブロックは、
所望の処理機能を有するブロック部と、前記機能ブロックとバスとの接続および前記機能ブロックの電源管理を行うグルー論理部とからなり、
前記グルー論理部は、前記ブロック部の電源遮断を行う電源制御部を有する請求項１記載の半導体集積回路装置。
【請求項５】
さらに、前記機能ブロックの電源遮断時に、電源遮断された回路に接続される回路に流れる貫通電流を防止するインターフェース回路を有する請求項４記載の半導体集積回路装置。
【請求項６】
前記機能ブロックは、
所望の処理機能を有するブロック部と、前記機能ブロックとバスとの接続および前記機能ブロックの電源管理を行うグルー論理部とからなり、
前記グルー論理部は、前記機能ブロックの動作モードを規定する情報を保持するフリップフロップを有する請求項１記載の半導体集積回路装置。
【請求項７】
前記機能ブロックは、
所望の処理機能を有するブロック部と、前記機能ブロックとバスとの接続および前記機能ブロックの電源管理を行うグルー論理部とからなり、
前記グルー論理部は、前記機能ブロックの動作モードを規定する情報を保持する構成レジスタを有する請求項１記載の半導体集積回路装置。
【請求項８】
前記機能ブロックの電源遮断時に前記構成レジスタ内に保持された情報を記憶するメモリ部を有する請求項６または請求項７記載の半導体集積回路装置。
【請求項９】
前記ブロック部は、フリップフロップ回路を有する請求項６または請求項７記載の半導体集積回路装置。
【請求項１０】
前記フリップフロップ回路は、不揮発フリップフロップで構成される請求項９記載の半導体集積回路装置。
【請求項１１】
複数の機能ブロックと、
前記複数の機能ブロック毎の識別子と前記機能ブロックから通知される処理終了を示す割り込み信号とを伝達する割り込みバスと、
前記割り込み信号の優先度判定を行う割り込みコントローラと、
前記機能ブロック毎に供給する電源の供給状態を示す電源制御レジスタと、
前記機能ブロックの識別子と電源制御情報を伝達する電源制御バスとを有し、
前記割り込み信号に基づき、前記電源制御レジスタを書き換える半導体集積回路装置。
【請求項１２】
アンテナと、
前記アンテナから得られる信号を符号処理する第１情報処理装置と、
前記第１情報処理装置の情報を記憶する第１主記憶装置と、
前記第１情報処理装置と前記第１主記憶装置を接続する第１バスと、
前記第１バスにインターフェース回路を介して接続された第２バスと、前記第２バスに接続された複数の機能ブロックと、前記バスに接続された割り込みコントローラおよび電源制御回路とを有する第２情報処理装置と、
前記第２情報処理装置の情報を記憶する第２主記憶装置とを有し、
前記電源制御回路により、前記機能ブロックの動作不要時に電源を遮断し、
動作必要時に電源を供給する携帯情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサに使用される半導体集積回路に係り、特に低消費電力動作特性に優れた半導体集積回路を搭載する情報処理装置に関する。
【背景技術】
【０００２】
チップの製造プロセスの微細化に伴い、リーク電流の増加が問題となっている。リーク電流には、閾値電圧の低減によるサブスレッショルド・リーク電流、微細化に伴うゲート絶縁膜の薄膜化に伴うゲートリーク電流やGIDL(Gate induced drain leakage)電流などがある。リーク電流の低減のために、待機時に回路の電源遮断する方法がある。
【０００３】
非特許文献1に示されるように複数のIPあるいは機能回路をまとめたエリア単位での電源遮断は行なわれているが、今後はIP単位でのきめ細かい電源遮断が行なわれることが考えられる。ＩＰ単位での電源遮断を考慮した文献として特許文献１と特許文献２がある。
【０００４】
特許文献１では、プロセッサを含むシステム回路単位で電源遮断を行い、システム回路が動作不要のときは、電源遮断制御レジスタに命令を書き込む処理を行う。特許文献２では、機能ブロック単位の電源供給を示すビットを持つ電源遮断レジスタを持ち、機能ブロックの不使用時に機能ブロック単位で電源の供給を停止させる。
【０００５】
【非特許文献１】Ｔ．Ｙａｍａｄａ，ｅｔ．ａｌ，“Ａ  １３３ＭＨｚ  １７０ｍＷ  １０μＡ  ｓｔａｎｄｂｙ  ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ  ｆｏｒ  ３Ｇ  ｃｅｌｌｕｌａｒ  ｐｈｏｎｅｓ”、「アイ・エス・エス・シー・シー  ダイジェスト  テクニカルペーパー（ＩＳＳＣＣ，  Ｄｉｇ．  Ｔｅｃｈ．  Ｐａｐｅｒｓ）」、Ｆｅｂ．２００２、ｐ．３７０−３７１
【特許文献１】特開２００３―１１４７４２号公報
【特許文献２】特開平７―１４１０７４号公報
【特許文献３】特開２００３―２１８６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
IP単位でのきめ細かい電源制御を行う場合、IPの電源遮断と供給のタイミング把握の方法が重要となってくる。特許文献２では、電源遮断タイミング把握の方法として、ＵＡＲＴで所定データの受信と、外部割込み信号とタイマの組合せを挙げているが、特定ＩＰでの方法に限定されている。電源遮断と供給のタイミングを把握する方法は各IPで共通であることが望ましい。そこで、本発明は、ハードウェアにより任意のIPでの電源遮断と供給のタイミングを把握できる方法を用いて、動的に電源遮断供給制御することのできる半導体集積回路を得ることを第一の目的とする。また、第一の目的ではハードウェアによる動的電源制御であったが、ソフトウェアによりIP単位で静的に電源遮断供給制御することのできる半導体集積回路を得ることを第二の目的とする。
ところで、動作時の電流の削減としては、IPへのクロック制御をきめ細かく行うのが有効である。動的、静的に電源制御を行う方法と同様の手法を用いることで、IPへ静的、動的にクロック制御を行うことができる。そこで、電源制御と同様の手法で、IPへのクロック制御を行うことのできる半導体集積回路を得ることを第三の目的とする。
本発明の前記の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願発明は、少なくとも一つの機能ブロックと、機能ブロックの電源供給状態を示す情報を保持する電源制御レジスタを備え、その電源制御レジスタに保持された情報に応じて機能ブロックへの電源供給を制御する電源制御回路と、その機能ブロックから通知される処理終了を示す割り込み信号を受信する割り込み制御回路とを有し、割り込み信号に基づいて割り込み制御回路から通知される信号により、電源制御レジスタに保持されている電源供給状態を書き換えることにより達成できる。
【発明の効果】
【０００８】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【０００９】
すなわち、ＩＰの動作不要時、必要時をハードウェアで動的に判断して、ＩＰ単位で電源供給・遮断の電源制御を行うことができる。また、電源制御を設定する電源制御レジスタはメモリマップドのレジスタなので、ソフトウェアで変更することも可能である。これにより、ＩＰ単位でのきめ細かい電源制御を行い、リーク電流を削減することができる。
また、ＩＰの数が非常に多いときもＩＰのＩＤを用いて割込み信号と電源制御信号をバス化することにより、配線数を削減することができる。
【００１０】
更に、これら電源制御の方法は、クロック供給・停止制御にも適用できる。
【発明を実施するための最良の形態】
【００１１】
以下に、実施の形態を詳細に述べる。
【実施例１】
【００１２】
図１には本発明の一例に係るシステムオンチップ（ＳＯＣ）の要部が示される。同図に示されるシステムオンチップ（ＳＯＣ）１は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）やバイポーラトランジスタなどを形成する半導体集積回路技術によって、単結晶シリコンのような１個の半導体基板に形成される。
システムオンチップ（ＳＯＣ）１は、メインプロセッサとしての中央処理装置（ＣＰＵ）２、割込みコントローラ（ＩＮＴＣ）３、電源制御コントローラ（ＰＷＲＣ）４、キャッシュ（ＣＣＨ）５、一例として３つの機能モジュールＩＰ１の６、ＩＰ２の７、ＩＰ３の８、システムバス９を有する。ＩＰ１は割込みコントローラ（ＩＮＴＣ）３とは、割込みリスエスト信号ｉｎｔ１＿ｒと割込みアクノリッジ信号ｉｎｔ１＿ａを介して接続され、電源制御コントローラとは電源制御リスエスト信号ｐｗｒ１＿ｒと電源制御アクノリッジ信号ｐｗｒ１＿ａを介して接続され、システムバスとも接続される。
一例として、３つの機能モジュールＩＰ１、ＩＰ２、ＩＰ３をまとめてエリア１と称するとすると、エリア単位での電源制御を行うための信号としてエリア１と電源制御コントローラ（ＰＷＲＣ）４間に電源制御エリアリクエスト信号ｐｗｒａ１＿ｒと電源制御エリアアクノリッジ信号ｐｗｒａ１＿ａを設ける。
【００１３】
本発明は、一般的なＩＰの処理終了を示す内部割込み信号を用いて、ＩＰの処理終了を把握し、電源制御を行うのが特長である。
割込みコントローラ（ＩＮＴＣ）３は、割り込みの優先順位を判定する割込み優先順位判定回路（ＰＲＩ−ＪＤＧ）１０と割込み信号と割込みマスクとの比較器（ＣＯＭＰ）１１を備える。
電源制御コントローラ（ＰＷＲＣ）には、電源制御レジスタ（ＰＣＴＲ）４Ａを備える。電源制御レジスタはメモリマップドのレジスタで、Ｉ／Ｏ空間アドレスのアドレスを持つ。ロードストア命令を用いてリードライトできる。レジスタはエリア単位で設けられ、各ビットがそのエリアに属するＩＰの電源制御ビットとなっている。エリアが複数あるときは、電源制御レジスタは複数用意される。各ビットはＩＰ単位での０（電源遮断）、１（電源供給）の状態を表す。エリアの電源状態は、各ビットのＯＲで表される。すなわち、あるエリアにおいていずれかのＩＰのビットが１（電源供給）のときは電源供給状態となり、すべてのＩＰのビットが０（電源遮断）のときエリアが電源遮断状態となる。ここで、一つのエリアに電源制御レジスタが複数あることやビットが反転していることは特に制限されない。電源制御レジスタ（ＰＣＴＲ）４Ａは２つの方法で値を書き換えることができる。
【００１４】
［１］割込みコントローラ（ＩＮＴＣ）を用いて動的に変更する方法
ＩＰ１からの割込みリクエスト信号ｉｎｔ１＿ｒがＣＰＵに受理されたとき、割込みコントローラ（ＩＮＴＣ）はＩＰに割込みアクノリッジ信号ｉｎｔ１＿ａをアサートすると同時に、電源制御コントローラ（ＰＷＲＣ）に電源制御信号ｐｃｔｌ１をアサートする。電源制御信号は電源トリガ信号と電源状態信号の２ビットで構成される。電源状態信号は０が電源遮断、１が電源供給である。
【００１５】
まず電源遮断から説明する。電源制御レジスタのビットはＩＰの電源状態を表すため、ＩＰ１の該当ビットが１のときＩＰ１の電源が供給された状態、ＩＰ１の該当ビットが０のときＩＰ１の電源が遮断された状態を表す。割込みコントローラからの電源遮断のための信号がアサートされるとき、まだＩＰ１の電源は供給されているため、電源制御レジスタの該当ビットは１である。ＩＰの該当ビットを０とするためには、ＩＰの電源遮断を確認する必要があるため、次の手続きを行う。まず、割込みコントローラが電源制御信号ｐｃｔｌ１をアサートする。具体的には、電源トリガ信号をアサートし、電源状態信号を０とする。電源トリガ信号がアサートされると、電源制御コントローラ（ＰＷＲＣ）は、電源状態信号０と電源制御レジスタの該当ビットの現在の値１とを排他的論理和により比較し、異なる場合には、電源制御リクエスト信号ｐｗｒ１＿ｒをアサートし、ＩＰ１に電源遮断を指示する。ＩＰ１は自分の電源状態を把握しているので、電源制御リクエスト信号のアサートを受け、ＩＰ１の電源遮断を行い、電源遮断処理が終了すると、電源制御アクノリッジ信号ｐｗｒ１＿ａをアサートする。電源制御コントローラ（ＰＷＲＣ）は、ＩＰ１からの電源制御アクノリッジ信号を受け、初めて電源制御レジスタに電源状態信号の値０をライトする。この手続きにより、ＩＰ１の電源状態と電源制御レジスタの値の整合性が保たれる。
【００１６】
同様の手続きで電源供給を行う。電源供給の場合は、電源制御レジスタのＩＰの該当ビットを０から１に変更する。ＩＰの該当ビットを１とする手続きを説明する。まず、割込みコントローラが電源制御信号ｐｃｔｌ１をアサートする。具体的には、電源トリガ信号をアサートし、電源状態信号を１とする。電源トリガ信号がアサートされると、電源制御コントローラ（ＰＷＲＣ）は、電源状態信号１と電源制御レジスタの該当ビットの現在の値０とを排他的論理和により比較し、異なる場合には、電源制御リクエスト信号ｐｗｒ１＿ｒをアサートし、ＩＰ１に電源供給を指示する。ＩＰ１は自分の電源状態を把握しているので、電源制御リクエスト信号のアサートを受け、ＩＰ１の電源供給を行い、電源供給処理が終了すると、電源制御アクノリッジ信号ｐｗｒ１＿ａをアサートする。電源制御コントローラ（ＰＷＲＣ）は、ＩＰ１からの電源制御アクノリッジ信号を受け、初めて電源制御レジスタに電源状態信号の値１をライトする。
ＩＰが自分の電源状態を把握する手段としては、IPには常に電源が供給されるグルー論理部があり、グルー論理部が本体のブロック部の電源状態を把握することにより、電源制御リクエストで、電源供給と遮断を行うことができる。
【００１７】
［２］ソフトウェアを用いて静的に変更する方法
電源制御レジスタはアドレスのＩ／Ｏ空間にマッピングされているため、システムバスを介しソフトウェアのロードストア命令を用いて、リード、ライトすることができる。電源制御コントローラ（ＰＷＲＣ）は、システムバス上のデータを電源制御レジスタにライトする際、割込みコントローラ（ＩＮＴＣ）からの電源制御信号と同様の制御信号を内部で生成し、割込みコントローラと同様の手続きとする。すなわち、システムバス上のデータを電源制御レジスタにライトするとき、電源制御コントローラ（ＰＷＲＣ）は、電源制御レジスタ単位で２ビットのシステムバス用電源制御信号を生成する。その２ビットとは電源トリガ信号と電源状態信号で、電源状態信号は０が電源遮断、１が電源供給である。割込みコントローラからの電源制御信号との差異は、割り込みコントローラは一つのＩＰの電源制御を行うのに対し、ソフトウェアの場合はレジスタ単位なのでレジスタに存在するＩＰ全体の電源制御を行う点が異なる。これは、レジスタに存在する全てのＩＰに電源制御リクエスト信号を出力し、電源制御アクノリッジ信号を全て受取った後にライトが完了する。各ビットは電源制御アクノリッジ信号を受取り次第、ライトできる。
【００１８】
それでは、まず電源遮断から説明する。簡単のために、全ＩＰに電源が供給されている状態で、電源制御レジスタの全ビットに０をライトすることとする。このとき、電源トリガ信号をアサートし、電源状態信号を０とする。電源トリガ信号がアサートされると、電源制御コントローラ（ＰＷＲＣ）は、電源状態信号０と電源制御レジスタの該当ビットの現在の値１とを排他的論理和により比較する。例えば、ＩＰ１にて異なる場合には、電源制御リクエスト信号ｐｗｒ１＿ｒをアサートし、ＩＰ１に電源遮断を指示する。ＩＰ１は自分の電源状態を把握しているので、電源制御リクエスト信号のアサートを受け、ＩＰ１の電源遮断を行い、電源遮断処理が終了すると、電源制御アクノリッジ信号ｐｗｒ１＿ａをアサートする。電源制御コントローラ（ＰＷＲＣ）は、ＩＰ１からの電源制御アクノリッジ信号を受け、初めて電源制御レジスタに電源状態信号の値１をライトする。同様に各ＩＰの電源が遮断され、電源制御アクノリッジ信号がアサートされ、電源制御レジスタのＩＰ１のビットに電源状態信号の値１をライトする。電源制御レジスタに属する全てのＩＰの電源制御アクノリッジ信号を電源制御コントローラが受取ると、電源制御レジスタへのライトが完了する。
【００１９】
それでは、次に電源供給を説明する。簡単のために、全ＩＰに電源が遮断されている状態で、電源制御レジスタの全ビットに１をライトすることとする。このとき、電源トリガ信号をアサートし、電源状態信号を１とする。電源トリガ信号がアサートされると、電源制御コントローラ（ＰＷＲＣ）は、電源状態信号１と電源制御レジスタの該当ビットの現在の値０とを排他的論理和により比較する。例えば、ＩＰ１にて異なる場合には、電源制御リクエスト信号ｐｗｒ１＿ｒをアサートし、ＩＰ１に電源供給を指示する。ＩＰ１は自分の電源状態を把握しているので、電源制御リクエスト信号のアサートを受け、ＩＰ１の電源供給を行い、電源供給処理が終了すると、電源制御アクノリッジ信号ｐｗｒ１＿ａをアサートする。電源制御コントローラ（ＰＷＲＣ）は、ＩＰ１からの電源制御アクノリッジ信号を受け、初めて電源制御レジスタのＩＰ１のビットに電源状態信号の値１をライトする。同様に各ＩＰの電源が遮断され、電源制御アクノリッジ信号がアサートされ、電源制御レジスタに電源状態信号の値１をライトする。電源制御レジスタに属する全てのＩＰの電源制御アクノリッジ信号を電源制御コントローラが受取ると、電源制御レジスタへのライトが完了する。
【００２０】
割込みコントローラを用いて動的に変更する方法において、エリア単位の電源制御を行う場合は、ちょうどソフトウェアによる変更方法と同様にレジスタに存在するＩＰ全体の電源制御を行えばよい。これは、レジスタに存在する全てのＩＰに電源制御リクエスト信号を出力し、電源制御アクノリッジ信号を全て受取った後に電源制御レジスタへのライトが完了する。各ビットは電源制御アクノリッジ信号を受取り次第、ライトできる。電源供給遮断の手続きは、ソフトウェアによるレジスタ単位での変更方法と同様なので省略する。
【００２１】
本実施例１のＩＰ１の電源遮断、供給動作について図２を用いて説明する。（１）はＩＰ１、ＩＰ２、ＩＰ３が電源供給されており、ＩＰ１の処理が終了した状態、（２）はＩＰ１の電源が遮断された状態、（３）はＩＰ１の電源が再供給された状態を示す。
【００２２】
（１）では、ＩＰ１は処理が終了したため、割込みコントローラに処理終了を示す内部割込み信号ｉｎｔ１＿ｒをアサートする。ここでは割り込みのマスクを行なわないこととして、割込みマスク（ｉｎｔｍｓｋ）を最低レベルの０とすると、割込みコントローラ（ＩＮＴＣ）は優先度判定器（ＰＲＩ−ＪＤＧ）でＩＰ１からの割込みの優先レベル１を判別し、他に割込み信号がないため、ＩＰ１からの割込みを選択する。そして、比較器（ＣＯＭＰ）にてＩＰ１の割込みレベル１と割込みマスク０を比較する。ＩＰ１の割込みレベルが高いため、ＩＰ１の割込みを受理し、ＣＰＵに割込みリクエスト（ｉｎｔｒｅｑ）を通知する。電源制御レジスタ（ＰＣＴＲ）は各ＩＰの電源の状態を表し、各ＩＰに電源が供給されているため、全て１になっている。
【００２３】
（２）で、ＣＰＵの割込みの受理（ｉｎｔａｃｋ）が通知されると、割込みコントローラ（ＩＮＴＣ）は、ＩＰ１に対しての割込み受理（ｉｎｔ１＿ａ）通知のためのアサートと、電源制御コントローラ（ＰＷＲＣ）に対しての電源制御レジスタ（ＰＣＴＲ）のＩＰ１の該当ビットを電源遮断状態の０となるよう電源制御信号ｐｃｔｌ１をアサートする。電源制御信号は電源トリガ信号と電源状態信号から構成されるので、電源トリガ信号をアサートし、電源状態信号を０とする。電源トリガ信号がアサートされると、電源制御コントローラ（ＰＷＲＣ）は、電源状態信号０と電源制御レジスタの該当ビットの現在の値１とを排他的論理和により比較し、電源制御リクエスト信号ｐｗｒ１＿ｒをアサートし、ＩＰ１に電源遮断を指示する。ＩＰ１は電源遮断処理を完了後に、電源制御アクノリッジ信号ｐｗｒ１＿ａをアサートする。後述するが、ＩＰは電源遮断可能領域のブロック部と電源供給領域のグルー論理部があり、電源遮断されるのはブロック部のみとなる。電源制御コントローラ（ＰＷＲＣ）は、ＩＰ１からの電源制御アクノリッジ信号ｐｗｒ１＿ａを受け、初めて電源制御レジスタのＩＰ１のビットに電源状態信号の値０をライトする。
【００２４】
（３）電源遮断状態のＩＰ１をＣＰＵから起動する。ＩＰ１の動作設定はアドレスのＩ／Ｏ空間にマッピングされたＩＰ内の構成レジスタを設定することにより実現できる。通常は構成レジスタが複数本あり、ＩＰ１のイネーブル、ＩＰ１のモード設定、ＩＰ１の起動の用途がある。ＩＰ１の電源供給もＩＰ１からの割込みリクエスト信号（ｉｎｔ１＿ｒ）を用いて実現する。構成レジスタは、システムバスを介しソフトウェアのロードストア命令を用いて、ＩＰ１の構成レジスタにライトする。ＣＰＵからＩＰ１のイネーブルを設定するストア命令によるストアコマンド（ＩＰ１ｅｎ）がバス上に出力され、ＩＰ１がそのコマンドを受けとる。ＩＰ１が電源遮断状態のとき、ＩＰ１のグルー論理部が、電源遮断状態で起動コマンドを受取ったことを認識し、割込みリクエスト（ｉｎｔ１＿ｒ）を割込みコントローラに通知する。そして、(１)と同様の処理が行われ、ＣＰＵへの割込みリクエスト（ｉｎｔｒｅｑ）がアサートされる。ＣＰＵの割込みの受理（ｉｎｔａｃｋ）が通知されると、（２）と同様に割込みコントローラ（ＩＮＴＣ）はＩＰ１への割込み受理の通知と、電源制御コントローラ（ＰＷＲＣ）に対し、電源制御レジスタ（ＰＣＴＲ）のＩＰ１の該当ビットを電源供給状態の１となるよう電源制御信号ｐｃｔｌ１をアサートする。そして、ＩＰ１と電源制御コントローラ（ＰＷＲＣ）間で電源制御リクエスト信号と電源制御アクノリッジ信号によるハンドシェークを行い、ＩＰ１の電源供給後に電源制御レジスタ（ＰＣＴＲ）のＩＰ１の該当ビットが１となる。そして、ＣＰＵはＩＰへの動作モードの設定やＩＰの起動の設定のために、継続してＩＰ１への複数の構成レジスタへのライトを行う。そして、ＩＰ１は起動用の構成レジスタへのライトの完了後、起動される。
【００２５】
図３に本発明の第一の実施例のＩＰの詳細図を示す。ＩＰは図１のＩＰ１、ＩＰ２、ＩＰ３の代表図であり、ブロック部３１と、バスとの接続、電源管理を行うグルー論理部３２、電源遮断用の電源スイッチ３６、電源スイッチコントローラ３５、異電源回路間インターフェースのマイクロＩＯ３７から構成される。本発明はＩＰの本体となるブロック部は電源管理用の回路は持たず、バス接続を行うグルー論理部に電源管理の制御論理をまとめているのが特長である。ＩＰをＳＯＣに組み込むとき、グルー論理部３２はシステムバスの仕様に合わせて再設計するのが一般的となっている。バス接続向けの再設計の際、電源遮断、供給のための制御論理も合わせて追加すればよい。グルー論理部は、バス接続のＩ／Ｆ論理のため、ＩＰ間でほぼ共通化できるが、電源管理制御論理を含めても共通化できる。グルー論理部３２は、制御部３８、内部リセット時の信号固定化のためのゲート３９から構成される。制御部はバス接続Ｉ／Ｆと電源管理制御を行う。グルー論理部は上位のエリア単位の電源遮断が行なわれない限り、電源は常時供給される。電源管理の制御を行うグルー論理部に加え、異電源間の回路間にマイクロＩＯ３７を置く。マイクロＩＯ３７は特許文献３に示される貫通電流防止のためのＩ／Ｆ回路である。電源遮断された回路の出力ノードはフローティング状態となるため、その出力ノードからの信号を受ける回路はそれに起因し、貫通電流が流れる。このため、貫通電流を防止するため、マイクロＩＯ３７はブロック部の信号がフローティングになったときにＩＰ外に信号を固定させるための論理和ゲート４０から構成される。特許文献３に示される電源スイッチ３６、電源スイッチコントローラ３５を用いて、ブロック部の電源遮断を行う。電源スイッチ３６は厚膜ＮＭＯＳで構成されるため、電源制御コントローラ３５は電圧変換のためのレベルシフタと電源スイッチ制御、マイクロＩＯ制御から構成される。ここでは、電源スイッチとしてＮＭＯＳトランジスタをブロック部と接地線（ＶＳＳ）の間に設置している。これに対して、電源スイッチとしてＰＭＯＳトランジスタを回路ブロックと電源線（ＶＤＤ）の間に設置してもよい。マイクロＩＯ３７及び電源スイッチコントローラ３５は、上位のエリア単位の電源遮断が行なわれない限り、電源は常時供給される。
【００２６】
グルー論理回路の制御部には、電源モード保持用フリップフロップ４２があり、自分の電源状態の把握に使用する。そのフリップフロップの内容が１のとき電源供給状態、０のとき電源遮断状態である。この情報により、電源制御リクエストｐｗｒ＿ｒ信号がアサートされたとき、それが電源遮断リクエストなのか、あるいは電源供給リクエストなのかを判断することができる。
【００２７】
ＩＰの本体となるブロック部ＢＬＫ３１は機能部ＦＵＮＣ３３と構成レジスタ部ＣＦＧ＿ＲＥＧ３４から構成される。構成レジスタ３４は通常、複数本有り、ＩＰの動作モード等を規定するコンフィグレーション情報を持つ。具体的には、先に述べたように、ＩＰのイネーブル、ＩＰのモード設定、ＩＰの起動の用途がある。構成レジスタはアドレスのＩ／Ｏ空間にマッピングされたレジスタである。機能部は一時情報を保持するフリップフロップと組合せ回路から構成され、ＩＰとして必要な機能を実現する。
【００２８】
ＩＰが電源遮断される際のブロック部の保持データに関して説明する。機能部のフリップフロップ（ＦＦ）は一時データしか保持していないため、電源遮断時に、内容は失われても構わない。コンフィグレーション情報はＩＰによって、電源遮断時に情報が失われていい場合と失われてはいけない場合がある。電源遮断時に情報が失われていい場合とは、ＩＰを起動する度にコンフィグレーションを毎回設定する方法であり、機能部のフリップフロップと同様に扱ってよい。図３はこの場合に該当し、電源遮断時に情報が失われる。情報が失われていけない場合は構成レジスタ部または構成レジスタ部のＦＦを、電源が供給されるグルー論理部３２に移す。
【００２９】
ＩＰの電源投入時は、内部でリセット信号（Ｒｓｔ）を生成し、機能部（ＦＵＮＣ）３３と構成レジスタ部（ＣＦＧ＿ＲＥＧ）３４のフリップフロップを初期化する。初期化が完了するまで、バスリクエストなどの出力信号ｓｉｇ＿ｏｕｔに不正な値となるのを防ぐために、論理和ゲート３９にて出力信号を固定する。そして、リセットによる内部フリップフロップの初期化完了後、電源制御アクノリッジ信号（ｐｗｒ＿ａ）をアサートする。
【００３０】
図３では、ＩＰが電源遮断される際に、コンフィグレーション情報が失われていけない場合は構成レジスタ部または構成レジスタ部のＦＦを、電源が供給されるグルー論理部３２に移すという方法をとった。
別の方法として構成レジスタの内容をメモリに退避回復することにより、ブロック部にある構成レジスタ部をそのまま用いることができる。その方法について図４を用いて説明する。
図４はソフトウェア割込みルーチンの処理フローである。前提としてこの方法を用いるためには、図３の電源モード保持用フリップフロップが変更される。
【００３１】
図３の電源モード保持用フリップフロップ４２が新たな制御レジスタ、ここではＣＦＧ＿ＲＥＧ＿Ｇとして、アドレスが与えられる。そして、その１ビットＰｗｒに割込みリクエスト信号（ｉｎｔ＿ｒ）アサート時のＩＰの状態を記憶しておく。これは、アドレスを指定する命令により本ビットが変更できることを意味している。
【００３２】
それでは処理フローの説明に移る。まず、割込みルーチン内で、割込みイベントを調べることによりどのＩＰで生じた割り込みであったかが分かる（１）。ここでは、ＩＰ＿Ｎで割込みが発生したと仮定する。ＩＰ＿Ｎ内で構成レジスタＣＦＧ＿ＲＥＧ＿Ｇ［Ｐｗｒ］をロードする。該当ビットを調べることにより、ＩＰ＿Ｎが割込みリクエスト信号をアサートしたときのＩＰ＿Ｎの電源状態を知ることができる（２）。
【００３３】
まず、電源供給状態ＣＦＧ＿ＲＥＧ＿Ｇ［Ｐｗｒ］＝１であったとすると、この割込みは処理終了によるものであることがわかる。そこで、そのときの構成レジスタＣＦＧ＿ＲＥＧの内容をメモリに退避する（３）。そして、最後のデータをメモリに退避完了後、ＩＰ＿Ｎの電源遮断許可を行う。そこで、ストア命令で電源供給状態ＣＦＧ＿ＲＥＧ＿Ｇ［Ｐｗｒ］を０にする（４）。ハードウェアでは、ＣＦＧ＿ＲＥＧ＿Ｇ［Ｐｗｒ］が０になってから、電源遮断のための許可信号ｐｗｒｎ＿ａをアサートする。電源供給状態の割り込みルーチンの処理は終了する。
【００３４】
次に、電源遮断状態ＣＦＧ＿ＲＥＧ＿Ｇ［Ｐｗｒ］＝０であったとすると、この割込みは電源供給のためのものであることがわかる。そこで、ＩＰ＿Ｎの電源が供給されるまでソフトウェアループで待つ（５）。具体的には、電源制御レジスタＰＣＴＲの該当ビットＩＰ＿Ｎが１になれば、ＩＰ＿Ｎの電源供給状態であるから、１になるまで電源制御レジスタをリードする。該当ビットが１になると、ロード命令を実行し、メモリ上の内容をＩＰの制御レジスタに復帰する（６）。そして、電源供給のための許可信号ｐｗｒｎ＿ａをアサートする。電源遮断状態の割り込みルーチンの処理は終了する。
以上、図４の割込みルーチンでの処理を行うことによりソフトウェアによる制御レジスタのメモリへの退避回復が可能である。
【００３５】
図３では、電源遮断時に構成レジスタのデータを消失しないためには、構成レジスタ部または構成レジスタ部のフリップフロップ（ＦＦ）を、電源が供給されるグルー論理部３２に移す必要があった。また、図４では、電源遮断時に構成レジスタのデータを消失しないためには、ソフトウェアによるメモリへの退避回復処理が必要であった。これらは、電源遮断によりＦＦの情報が失われるためだが、図５には電源遮断時にもＦＦの情報が失われない例を示している。
【００３６】
図５に本発明の第一の実施例のＩＰ内のフリップフロップ（ＦＦ）を不揮発ＦＦで構成した場合のブロック図である。不揮発ＦＦとは一例として、ＦＦ内部に遮断可電源と非遮断電源の２つの電源を設け、非遮断電源側に値保持用のインバータループを備える構造を持つ。不揮発ＦＦの構造は、別の手段であっても特に制限されない。ＩＰは図３の構造と同様のブロック部３１と、バスとの接続、電源管理を行うグルー論理部３２、電源遮断用の電源スイッチ３６、電源スイッチコントローラ３５、異電源回路間インターフェースのマイクロＩＯ３７に加え、
不揮発ＦＦの制御用に不揮発ＦＦ制御コントローラ５０を備える。
【００３７】
不揮発ＦＦを使用すると、ブロック部の電源を遮断してもＦＦの内容は失われないため、図３のように制御レジスタ部または制御レジスタ部のＦＦをグルー部に配置しなくて良い。また、図４のように構成レジスタのメモリへの退避、回復を行わなくて良い。これは、電源遮断、供給時の処理時間が短い利点がある。また、機能部のＦＦの情報が保持されているため、内部リセット処理が不要であり、出力信号の固定も不要である。
【００３８】
電源設計の容易化のため、レイアウトの都合上、電源スイッチコントローラ（ＰＳＷＣ）を一箇所に集中することもできる。図６では、図３のＩＰ内の電源スイッチコントローラ（ＰＳＷＣ）を一箇所に集中した場合の例を示している。ＩＰ１、ＩＰ２、ＩＰ３の電源スイッチコントローラをそれぞれＰＳＷＣ１  ６１、ＰＳＷＣ２  ６２、ＰＳＷＣ３  ６３とすると、それをまとめて電源スイッチコントローラ部６０を設ける。但し、動作上は図３と同一である。
【実施例２】
【００３９】
図７に本発明の第二の実施例として、ＳＯＣ内のＩＰ数が非常に多数（２のｎべき乗数）のときの構成図を示す。第一の実施例のように、各ＩＰと割込みコントローラ（ＩＮＴＣ）、電源制御コントローラ（ＰＷＲＣ）を１対１で接続すると配線領域が大きくなるため、現実的でない。そこで、各ＩＰにｎビットのＩＤを付加し、割込み信号と電源制御信号をｎビットのＩＤと付加情報から構成されるバスとする。各ＩＰにおいて、ＩＤが自分の番号と一致するときに、その割込み信号と電源制御信号が該当ＩＰにとってアクティブとなる。具体的には、割込みリクエスト信号（ｉｎｔ＿ｒ）と割込みアクノリッジ信号（ｉｎｔ＿ａ）、ＩＤから構成される割込みバス（Ｉｎｔ−ｂｕｓ）、電源制御リクエスト信号（ｐｗｒ＿ｒ）と電源制御アクノリッジ信号（ｐｗｒ＿ａ）、ＩＤから構成される電源制御バス（Ｐｗｒ−ｂｕｓ）である。ＩＰ内部には、ＩＤ番号のデコードとエンコードを行うＩＤコーデック（ＩＤ−ＣＯＤＥＣ）を備える。割込みコントローラと電源制御コントローラにもＩＤコーデックを持つ。割込みコントローラ（ＩＮＴＣ）から電源制御コントローラ（ＰＷＲＣ）への信号も電源制御信号（ｐｃｔｌ）だけでなく、ＩＤが出力される。
上記、第二の実施例のＩＰの内部割込み信号を利用し、ＩＰの処理状態を把握する手法は、電源遮断以外にも応用できる。
【実施例３】
【００４０】
図８に本発明の第三の実施例として、ＳＯＣ内のＩＰ数が非常に多数（２のｎべき乗数）のときのクロック制御の構成図を示す。図７の電源制御コントローラの電源制御レジスタ（ＰＣＴＲ）の代わりにクロック制御を行うクロックパルスジェネレータ部（ＣＰＧ）に、各ＩＰのクロック停止・供給を制御するクロックストップレジスタ（ＣＳＴＰＲ）が使用される。各ＩＰにｎビットのＩＤを付加し、割込み信号とクロック制御信号をｎビットのＩＤと付加情報から構成されるバスとする。具体的には、割込みリクエスト信号（ｉｎｔ＿ｒ）と割込みアクノリッジ信号（ｉｎｔ＿ａ）、ＩＤから構成される割込みバス（Ｉｎｔ−ｂｕｓ）、クロック停止信号（ｃｓｔｐ）とＩＤから構成されるクロックバス（Ｃｌｋ−ｂｕｓ）である。割込みコントローラ（ＩＮＴＣ）から電源制御コントローラ（ＰＷＲＣ）への信号は、電源制御信号の代わりに、クロック制御信号（ｃｃｔｌ）とＩＤが出力される。
クロック制御に関しては、ＩＰからのアクノリッジ信号を受ける必要がないため、クロックリクエスト信号（ｃｓｔｐ）のみとし、クロックパルスジェネレータ部ではＩＤはエンコード（ＩＤ−ＥＮＣ）のみとした。
【００４１】
図９には前記システムオンチップの好適な応用例としての携帯情報システムの一例を示す。携帯電話システムは、大きく分けて、通信部分とアプリケーション部分から構成される。通信部分は、電波をアンテナで送受信する高周波部（ＲＦ）９０、ベースバンドのモデム及びコーデックを行うベースバンドプロセッサ（ＢＢＰ）８９、メモリ（ＭＲＹａ）８８を有する。アプリケーション部分は、中央処理装置（ＣＰＵ）４、キャッシュ（ＣＣＨ）５、ＩＰ群としてＭＰＥＧ  ＩＰ９２、３ＤグラフィックスＩＰ９３、２ＤグラフィックスＩＰ９４、割込みコントローラ（ＩＮＴＣ）３、電源制御コントローラ４を内蔵するマイクロプロセッサ１を中心に構成される。システムオンチップ１はインターフェース（Ｉ／Ｆ）８１を介してバスＢＵＳでベースバンドプロセッサ８９が接続され、周辺インターフェース（ＰＰＨ）８２を介してカメラ（ＣＭＲ）８３、メモリカード（ＣＡＲＤ）８４、音源部（ＳＯＤ）８５、及びキーボード（ＫＥＹ）８６が接続され、外部バスを介して液晶ディスプレイ（ＬＣＤ）８７、メモリ（ＭＲＹｂ）９１が接続される。本システム構成例は、携帯電話向けであったが、携帯情報端末やデジタルカメラなど多様なシステム構成例が考えられる。
このシステムにより、ＩＰの動作不要時に適切な電源遮断を行うために低消費電力となり、携帯情報システムの付加価値を高めることができる。
【００４２】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００４３】
【図１】本発明の第一の実施例に係るシステムオンチップ（SOC)のブロック図である。
【図２】本発明の第一の実施例に係るIP1の電源遮断と供給の動作図である。
【図３】本発明の第一の実施例に係るIPのブロック図である。
【図４】ソフトウェア割込みルーチンの処理フローを示す図である。
【図５】本発明の第一の実施例に係る不揮発FFを用いてIPを実現する場合のブロック図である。
【図６】本発明の第一の実施例に係る電源スイッチコントローラを一箇所に集中する場合のブロック図である。
【図７】本発明の第二の実施例に係わる非常に多数のIPを用いて電源制御を行う場合のブロック図である。
【図８】本発明の第三の実施例に係わる非常に多数のIPを用いてクロック制御を行う場合のブロック図である。
【図９】本発明の実施例の携帯電話向けシステム構成図である。
【符号の説明】
【００４４】
１…システムオンチップ（ＳＯＣ）、
２…中央処理装置（ＣＰＵ）、
３…割込みコントローラ（ＩＮＴＣ）、
４…電源制御コントローラ（ＰＷＲＣ）、
４Ａ…電源制御レジスタ（ＰＣＴＲ）、
５…キャッシュ（ＣＣＨ）、
６,７,８…機能モジュールＩＰ１〜ＩＰ３、
９…システムバス、
１０…割込み優先順位判定回路（ＰＲＩ−ＪＤＧ）、
１１…割込み信号と割込みマスクとの比較器（ＣＯＭＰ）、
３１…ブロック部、
３２…グルー論理部、
３５…源スイッチコントローラ
３６…電源遮断用の電源スイッチ、
３８…制御部、
３９…ゲート、
４０…マイクロＩＯ、
４２…電源モード保持用フリップフロップ、
５０…不揮発ＦＦ制御コントローラ、
８１…ベースバンドプロセッサとの接続インターフェース（Ｉ／Ｆ）、
８２…周辺インターフェース（ＰＰＨ）、
８３…カメラ（ＣＭＲ）、
８４…メモリカード（ＣＡＲＤ）、
８５…音源部（ＳＯＤ）、
８６…キーボード（ＫＥＹ）、
８７…液晶ディスプレイ（ＬＣＤ）、
８８,９１…メモリ（ＭＲＹa）,メモリ（ＭＲＹｂ）、
８９…ベースバンドプロセッサ（ＢＢＰ）、
９０…高周波部（ＲＦ）、
９２…ＭＰＥＧ  ＩＰ、
９３…３ＤグラフィックスＩＰ、
９４…２ＤグラフィックスＩＰ、
ｉｎｔ１＿ｒ…割込みＩＰ１リスエスト信号、
ｉｎｔ１＿ａ…割込みＩＰ１アクノリッジ信号、
ｐｗｒ１＿ｒ…電源制御ＩＰ１リクエスト信号、
ｐｗｒ１＿ａ…電源制御ＩＰ１アクノリッジ信号、
ｐｗｒａ１＿ｒ…電源制御エリアリクエスト信号、
ｐｗｒａ１＿ａ…電源制御エリアアクノリッジ信号、
ｉｎｔｍｓｋ…割込みマスク、
ｉｎｔｒｅｑ…ＣＰＵに割込みリクエスト、
ｃｓｔｐ…クロックリクエスト信号、
Ｉｎｔ−ｂｕｓ…割込みバス、
Ｐｗｒ−ｂｕｓ…電源制御バス。
【図１】
2006237189.tif 000003
【図２】
2006237189.tif 000004
【図３】
2006237189.tif 000005
【図４】
2006237189.tif 000006
【図５】
2006237189.tif 000007
【図６】
2006237189.tif 000008
【図７】
2006237189.tif 000009
【図８】
2006237189.tif 000010
【図９】
2006237189.tif 000011