説明

情報処理システムおよび情報処理システムにおける電源およびクロックの制御方法

【課題】消費電力を低減可能な情報処理システム、および情報処理システムにおける電源およびクロックの制御方法を提供する。
【解決手段】切り替え制御部85は、「アクセス待機」状態では、待機時間WT1がアクセス検出待ち時間AWT以上である場合(WT1≧AWT)、「クロック供給停止」状態に遷移する。「クロック供給停止」状態では、状態依存クロック制御信号CSSを非アクティブレベルに設定することにより、サブシステムバス40へのシステムクロックの供給を停止させる。この後、待機時間WT2がクロック停止安定時間CSST以上となった場合(CSST≦WT2)、「電源供給停止状態」に遷移する。「電源供給停止状態」では、状態依存電源制御信号PSSを非アクティブレベルに設定することにより、サブシステムバス40の非インタフェース部への電源の供給を停止させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムバスを介して接続されるデバイスを備える情報処理システムおよび情報処理システムにおける電源およびクロックの制御方法に関する。
【背景技術】
【0002】
CPU、ROM、RAM、DMAコントローラ、および周辺回路等を備えた情報処理システムにおいては、消費電力の削減が益々重要になっている。また、消費電力を削減する際には、情報処理システムの動作状態や構成に応じた細やかな制御が求められている。
【0003】
例えば、特許文献1では、機能単位ごとに、すなわち、CPUに相当するプロセッサ、ROM、RAM、DMAコントローラ、および周辺回路等ごとに、クロックの供給を停止する技術が開示されている。これによると、機能単位ごとにクロックの供給および遮断を行うことができるため、情報処理システムの動作状態に応じてきめ細かく消費電力を削減することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−2244761号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、近年の情報処理システムは、例えば、通信回路、ディスプレイに情報を表示する情報表示回路、または音声情報を再生する音声再生回路等を周辺回路として備えることによって、より複雑な複数の機能を実現するようになっている。これらの周辺回路は、CPU、ROM、RAMおよびDMAコントローラ等とともにシステムバスに接続されており、CPUによりその制御が司られている(以下では、システムバスに接続されている周辺回路、CPU、ROM、RAM、およびDMAコントローラ等を、単にデバイスという)。
【0006】
処理能力の向上のため、これらのデバイスは、高速のクロックで動作することが望ましい。そこで、上述のような複雑な機能を実現する情報処理システムでは、例えばクロックドライバをシステムバスの随所に備えることにより、デバイスに供給する高速のクロックの駆動力を維持している。
【0007】
しかしながら、クロックドライバにおける消費電力は、クロックが高速になるにつれて大きくなる傾向にある。このため、クロックドライバを多数有するシステムバスを備える情報処理システムでは、情報処理システム全体の消費電力の低減を考える上でシステムバスの消費電力が無視できない存在となっている。つまり、従来のように各デバイスに対してクロックの供給を停止するだけでは、情報処理システム全体の消費電力の低減を十分に図れないことが懸念されている。
【0008】
本発明は、こうした問題に鑑みなされたものであり、消費電力を低減可能な情報処理システム、および情報処理システムにおける電源およびクロックの制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するためになされた発明である請求項1に記載の情報処理システムは、クロックにより動作するシステムバスに、複数のデバイスからなるデバイス群が接続されている。そして、システムバスへの少なくともクロックの供給を調整する調整手段を備えている。
【0010】
この調整手段は、システムバスへのアクセス要求が途絶えてから、予め設定されたアクセス検出待ち時間が経過した後新たに前記アクセス要求が発生するまで、システムバスへのクロックの供給を停止する。ここでいう「システムバスへのアクセス要求」とは、デバイス群を構成する各デバイスからのシステムバスを使用する要求をいう。
【0011】
このように構成された情報処理システムによると、アクセス検出待ち時間を越えてアクセス要求が途絶えている場合、システムバスへのクロックの供給を停止するため、システムバスにおける消費電力を低減することができる。結果として、情報処理システムにおける消費電力を低減することができる。
【0012】
なお、システムバスへのクロックの供給が停止した後に、デバイスからシステムバスを使用する要求が出力された場合は、システムバスへのクロックの供給を再び開始することにより、速やかにシステムバスの動作を再開することができる。すなわち、本発明の情報処理システムは、システムバスにアクセス要求が高い頻度で出力されるようなデバイス群が接続されている場合に、より効果が奏される。
【0013】
ところで、情報処理システムより実現したい機能によっては、アクセス要求を出力する頻度が低いデバイス群がシステムバスに接続される場合もある。
そこで、請求項2に記載のように、本発明の情報処理システムは、システムバスへのクロックの供給が停止した後、予め設定されたクロック停止安定時間の間、各デバイスからのシステムバスを使用する要求が途絶えている場合、システムバスに供給される電源を停止する電源制御部を備えるように構成されてもよい。
【0014】
このように構成された情報処理システムでは、アクセス要求が出力されない間、システムバスへのクロックの供給を停止するだけではなく電源の供給も停止するため、電源の供給を停止すること無くクロックの供給を停止する場合に比べて、システムバスにおける消費電力をより低減することができる。結果として、情報処理システムにおける消費電力を低減することができる。
【0015】
なお、例えば請求項3に示すように、システムバスは、上記デバイス群の一つとしてCPUを含むように構成されてもよい。
また、例えば、本発明の情報処理システムは、請求項4に示すように、CPUが接続されたメインバスと、システムバスからなるサブバスとを備えていてもよい。サブバスは、上記デバイス群の一つとしてメインバスを接続する。これにより、サブバスに接続されたデバイスと、メインバスに接続されたデバイスとが、相互にアクセス可能となる。
【0016】
このように構成された情報処理システムでは、メインバスに複数のサブシステムバスを接続することが可能である。
例えば、複数接続されたサブシステムバスのうち、アクセス要求の頻度が高いデバイス群が接続されているシステムバスについてはアクセス要求が途絶えた場合にクロックの供給を停止し、アクセス要求の頻度が低いデバイス群が接続されているシステムバスについてはアクセス要求が途絶えた場合にクロックの供給の停止に加えて電源の供給も停止するように、情報システムを構成することもできる。
【0017】
これによると、各システムバスにおけるアクセス要求の発生頻度に応じて消費電力を削減できるため、すなわち、情報処理システムの動作状態に応じて消費電力を削減できるため、消費電力をきめ細かく低減することができ、より一層本発明の効果が奏される。
【0018】
また、請求項5に記載の発明は、クロックにより動作するシステムバスと当該システムバスに接続される複数のデバイスとを備えることを特徴とする情報処理システムにおける電源およびクロックの制御方法であって、システムバスクロック停止ステップとシステムバス電源停止ステップとを備える。
【0019】
システムバスクロック停止ステップでは、複数のデバイスからのシステムバスを使用する要求をアクセス要求とし、当該アクセス要求が途絶えてから予め設定されたアクセス検出待ち時間が経過した後新たにアクセス要求が発生するまで、システムバスに供給されるクロックを停止する。
【0020】
システムバス電源停止ステップでは、システムバスに供給されるクロックが停止した後、アクセス要求が途絶えてから予め設定されたクロック停止安定時間が経過した後新たにアクセス要求が発生するまで、システムバスに供給される電源を停止する。
【0021】
この発明によれば、請求項1に記載の発明と同様の効果が奏される。
【図面の簡単な説明】
【0022】
【図1】第1実施形態の情報処理システムの構成を示すブロック図である。
【図2】サブシステムバスの構成を表すブロック図である。
【図3】電源クロック調整部の構成を表すブロック図である。
【図4】切り替え部の状態遷移図である。
【図5】情報処理システムの作動を説明するタイミングチャートである。
【図6】第2実施形態の情報処理システムの構成を示すブロック図である。
【図7】第3実施形態の情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【0023】
以下に本発明の実施形態を図面と共に説明する。
[第1実施形態]
[全体構成]
本実施形態の情報処理システムの構成を図1に示す。情報処理システム1は、各種制御を実行するCPU11を有するメインシステム10と、ある機能を実現するためのひとまとまりのデバイス群43として第1機能デバイス44および第2機能デバイス46を有するサブシステム30とを備えている。メインシステム10およびサブシステム30は、少なくともデータバス、アドレスバス、および各種制御信号を伝達する信号線からなるシステムバスを中心に構成されている。以下では、メインシステム10のシステムバスを基幹システムバス20と呼び、サブシステム30のシステムバスをサブシステムバス40と呼ぶ。
【0024】
なお、各システムバスは、システムバスに対するアクセス要求を出力することのできるデバイスとの接続用端子であるマスタノード接続端子(以下、マスタ端子という)M0、M1・・・、および、システムバスを介して出力される指示に従って作動するデバイスとの接続用端子であるスレーブノード接続端子(以下、スレーブ端子という)S0、S1・・・を備えている。
【0025】
基幹システムバス20とサブシステムバス40とは、マスタ/スレーブとして相互にデータの受け渡しが可能なように接続されている。ここでは、基幹システムバス20のスレーブ端子S1とサブシステムバス40のマスタ端子M0とが接続されるとともに、基幹システムバス20のマスタ端子M1とサブシステムバス40のスレーブ端子S0とが接続されている。
【0026】
[メインシステム]
メインシステムは、CPU11の他に、電源制御部50と、クロック制御部60と、メモリ15と、これらのデバイスを接続する基幹システムバス20とを備えている。
【0027】
CPU11は基幹システムバス20のマスタ端子M0に接続され、メモリ15はスレーブ端子S3に接続され、電源制御部50はスレーブ端子S5に接続され、クロック制御部60はスレーブ端子S4に接続されている(図1参照)。
【0028】
電源制御部50は、第1機能デバイス44への電源の供給を制御する電源制御信号PC1、第2機能デバイス46への電源の供給を制御する電源制御信号PC2、およびサブシステムバス40への電源の供給を制御するための電源制御指令信号PCBの信号レベルを設定するレジスタからなる。上記レジスタはサブシステム30に電源制御信号PC1、PC2、および電源制御指令信号PCBを出力する。
【0029】
電源制御信号PC1、PC2、および電源制御指令信号PCBは、CPU11による上記レジスタの操作によって、各デバイスに電源Vccの供給を行う場合はアクティブレベルに設定され、電源Vccの供給を停止する場合は非アクティブレベルに設定される。
【0030】
また、クロック制御部60は、第1機能デバイス44へのシステムクロックCLKの供給を制御するクロック制御信号CC1、第2機能デバイス46へのシステムクロックCLKの供給を制御するクロック制御信号CC2、およびサブシステムバス40へのシステムクロックCLKの供給を制御するためのクロック制御指令信号CCBの信号レベルを設定するレジスタからなる。上記レジスタはサブシステム30にクロック制御信号CC1、CC2、およびクロック制御指令信号CCBを出力する。
【0031】
クロック制御信号CC1、CC2、およびクロック制御指令信号CCBは、CPU11による上記レジスタの操作によって、各デバイスにシステムクロックCLKの供給を行う場合はアクティブレベルに設定され、システムクロックCLKの供給を停止する場合は非アクティブレベルに設定される。
【0032】
これら電源制御信号PC1、PC2、およびクロック制御信号CC1、CC2は、具体的には、情報処理システム1にて作動しているアプリケーション上で第1機能デバイス44または第2機能デバイス46を動作させる必要があるときにアクティブレベルに設定される。
【0033】
また、電源制御指令信号PCBおよびクロック制御指令信号CCBは、通常、電源投入後にサブシステムの作動を設定する各種パラメータの設定を行う初期化設定処理などのように、サブシステムを強制的に作動させる必要があるときにアクティブに設定される。
【0034】
[サブシステム]
サブシステム30は、デバイス群43としての第1機能デバイス44および第2機能デバイス46の他に、サブシステム30内の各デバイスを接続するサブシステムバス40と、第1機能デバイス44および第2機能デバイス46からのDMA転送要求に従ってサブシステムバス40へのアクセス要求を行うDMAC42とを備えている。また、サブシステム30は、電源制御指令信号PCB、クロック制御指令信号CCB、後述する要求信号REQ0および要求信号REQ1に基づいて、スイッチ35を制御する電源制御信号BPCおよびスイッチ36を制御するクロック制御信号BCCを生成する電源クロック調整部70を備えている(図1参照)。
【0035】
ここで、DMAC42はサブシステムバス40のマスタ端子M1に接続され、電源クロック調整部70はスレーブ端子S2に接続され、第1機能デバイス44および第2機能デバイス46はそれぞれスレーブ端子S3、S4に接続されている。
【0036】
また、DMAC42と電源クロック調整部70とは、DMAC42からサブシステムバス40のM1端子に出力された信号のうち要求信号REQ1が電源クロック調整部70に入力されるように接続されている。
【0037】
さらにまた、電源クロック調整部70には、基幹システムバス20のS1端子からサブシステムバス40のM0端子に出力される信号のうち要求信号REQ1が入力されるように接続されている。
【0038】
また、サブシステム30は、電源制御信号PC1により制御され第1機能デバイス44への電源Vccの供給および停止を切り替えるスイッチ31と、クロック制御信号CC1により制御され第1機能デバイス44へのシステムクロックCLKの供給および停止を切り替えるスイッチ32とを備えている。
【0039】
さらにまた、サブシステム30は、電源制御信号PC2により制御され第2機能デバイス46への電源Vccの供給および停止を切り替えるスイッチ33と、クロック制御信号CC2により制御され第2機能デバイス46へのシステムクロックCLKの供給および停止を切り替えるスイッチ34とを備えている。
【0040】
また、サブシステム30は、サブシステムバス40への電源Vccの供給および停止を切り替えるスイッチ35と、クロック制御信号BCCに従ってサブシステムバス40へのシステムクロックCLKの供給および停止を切り替えるスイッチ36とを備えている。但し、サブシステムバス40には第1の電源供給受け入れ部V1および第2の電源供給受け入れ部V2が設けられており、第1の電源供給受け入れ部V1には電源Vccから直接電源の供給が行われ、第2の電源供給受け入れ部V2には電源制御信号BPCに従って制御されるスイッチ35を介して電源Vccの供給が行われている。
【0041】
[機能デバイス]
第1機能デバイス44はDMA転送要求の有無を示す信号としてDMA転送要求がある場合にアクティブレベルに設定されているDMA要求信号DREQ1をDMAC42に出力し、第2機能デバイス46は同様の信号としてDMA要求信号DREQ2をDMAC42に出力する。
[DMAC]
DMAC42は、DMA要求信号DREQ1およびDREQ2に基づいて、サブシステムバス40へのアクセス要求の有無を示す要求信号REQ1を生成し、当該要求信号REQ1をサブシステムバス40に出力する。
【0042】
DMA要求信号DREQ1およびDREQ2のうち少なくとも一方がアクティブレベルである場合、すなわち第1機能デバイス44および第2機能デバイス46のうち少なくとも一方からのDMA転送要求が有る場合、サブシステムバス40へのアクセス要求が有るものとして、DMAC42は要求信号REQ1をアクティブレベルに設定する。
【0043】
一方、DMA要求信号DREQ1およびDREQ2のいずれもが非アクティブレベルである場合、すなわち第1機能デバイス44および第2機能デバイス46のいずれからもDMA転送要求が無い場合、サブシステムバス40へのアクセス要求が無いものとして、DMAC42は要求信号REQ1を非アクティブレベルに設定する。
【0044】
要求信号REQ1を出力した後、サブシステムバス40へのアクセスを許可する許可信号ACK1がサブシステムバス40から入力されると、DMAC42は、第1機能デバイス44および第2機能デバイス46からの要求に基づくDMA転送の内容が設定された図示しないレジスタの内容に従って、DMA転送を実行する。
【0045】
但し、DMA要求信号DREQ1およびDREQ2がいずれもアクティブに設定されている場合は、予め設定された優先度に従って優先度の高いデバイスから順にDMA転送を実行する。
【0046】
[サブシステムバス]
次に、サブシステムバス40の構成と作動について説明する。図2はサブシステムバス40の構成を示すブロック図である。
【0047】
サブシステムバス40は、アービタ302、およびデコーダ/セレクタ304を有している(図2参照)。
アービタ302は、サブシステムバス40のマスタ端子Mj(j:0、1、・・・)に接続されたデバイスから要求信号REQi(i:0、1、・・・)が入力されると、サブシステムバス40が空いている場合に、一つのデバイスに対して許可信号ACKn(n:0、1、・・・)を出力してサブシステムバス40の使用を許可する。サブシステムバス40が使用中であれば、当該サブシステムバスが空くまで待ってから許可信号ACKnを出力する。
【0048】
ここで、バスが空いているときに複数の要求信号REQiが入力された場合には、優先度に従って、最も優先度の高い要求信号REQiを出力した一つのデバイスに対して許可信号ACKnを出力する。
【0049】
デコーダ/セレクタ304は、このアービタ302がサブシステムバス40の使用を許可(換言すれば、許可信号ACKnを出力)したデバイス(マスタ端子Mj)からのアクセス先であるデバイス(スレーブ端子Sk(k:0、1、・・・))を選択して、これらマスタ/スレーブ間をデータ転送可能に接続する。
【0050】
なお、上述のようにサブシステムバス40の構成を説明したが、基幹システムバス20はサブシステムバス40と同様の構成となっている。
すなわち、基幹システムバス20は基幹システムバス20に接続されている各デバイスの一つとしてサブシステムバス40を接続し、サブシステムバス40はサブシステムバス40に接続されている各デバイスの一つとして基幹システムバス20を接続している。
【0051】
これにより、基幹システムバス20に接続されているデバイス、およびサブシステムバス40に接続されているデバイスは、マスタ/スレーブとして相互にアクセス可能となっている。つまり具体的には、基幹システムバス20とサブシステムバス40とは、図1において、基幹システムバス20のS1端子からはサブシステムバス40のM0端子に対して要求信号REQ0が出力されるように構成され、同様に、サブシステムバス40のS0端子からは基幹システムバス20のM1端子に対して要求信号REQ1が出力されるように構成されている。
【0052】
また、サブシステムバス40では、第1の電源供給受け入れ部V1はサブシステムバス40の入出力インタフェースに関わる部分(以下、インタフェース部という)に接続されており、第2の電源供給受け入れ部V2はサブシステムバス40の入出力インタフェースに関わる部分を除いた部分(以下、非インタフェース部という)に接続されている。
【0053】
非インタフェース部とは、例えば、デコーダ/セレクタ304(図2参照)やシステムクロックCLKの駆動力を維持するために随所に設けられている図示しないクロックドライバ等のことである。インタフェース部は、非インタフェース部への電源Vccの供給が停止した場合、出力信号の信号レベルが非アクティブレベルに設定されるように構成されている。
【0054】
つまり、情報処理システム1への電源の供給が行われている間、サブシステムバス40の入出力インタフェース部への電源Vccの供給は常時行われ、非入出力インタフェース部への電源Vccの供給および停止は、電源制御信号BPCに従って制御されるスイッチ35により切り替えられている。
【0055】
[電源クロック調整部]
次に、本発明の主要部である電源クロック調整部70について説明する。図3に電源クロック調整部70の構成を表すブロック図を示す。
【0056】
電源クロック調整部70は、基幹システムバス20のS1端子からサブシステムバスのM0端子に供給される信号のうちメインシステム10からサブシステムバス40へのアクセス要求の有無を示す信号をモニタするメインシステムモニタ部73と、DMAC42からサブシステムバス40のM1端子に供給される信号のうちDMA転送要求の有無を示す信号をモニタするサブシステムモニタ部71とを有する。
【0057】
さらに電源クロック調整部70は、メインシステムモニタ部73およびサブシステムモニタ部71のモニタ結果に基づいてスイッチ35の開閉を制御するための状態依存電源制御信号PSSおよびスイッチ36の開閉を制御するための状態依存クロック制御信号CSSを生成する制御部75を有する。
【0058】
さらにまた電源クロック調整部70は、状態依存電源制御信号PSSおよびCPU11からの指令に従ってスイッチ35の開閉を制御するための電源制御指令信号PCBに基づいて電源制御信号BPCを生成する電源切り替え部77と、状態依存クロック制御信号CSSおよびCPU11からの指令に従ってスイッチ36の開閉を制御するためのクロック制御指令信号CCBに基づいてクロック制御信号BCCを生成するクロック切り替え部79とを有する。
【0059】
メインシステムモニタ部73は、本形態では、メインシステム10からサブシステムバス40へのアクセス要求の有無を示す信号として基幹システムバス20のS1端子からサブシステムバス40のM0端子に入力された要求信号REQ0をそのまま制御部75に出力するように構成されている(図1、3参照)。また、サブシステムモニタ部71は、DMA転送要求の有無を示す信号としてDMAC42からサブシステムバス40のM1端子に入力された要求信号REQ1をそのまま制御部75に出力するように構成されている。
【0060】
電源切り替え部77は、電源制御部50から入力された電源制御指令信号PCBがアクティブレベルの場合、電源制御指令信号PCBを電源制御信号BPCとして出力する、つまり、アクティブレベルの電源制御信号BPCを出力するように構成されている。また、電源制御指令信号PCBが非アクティブレベルの場合、電源切り替え部77は制御部75から入力された状態依存電源制御信号PSSを電源制御信号BPCとしてスイッチ35に出力するように構成されている。
【0061】
つまり、サブシステムバス40の非インタフェース部への電源Vccの供給を強制的に開始する場合には、CPU11の指令によりアクティブレベルに設定された電源制御指令信号PCBが電源制御部50から出力されればよい。
【0062】
これにより、サブシステムバス40の非インタフェース部への電源Vccの供給および停止は、強制的に供給を開始する場合を除き、サブシステム30の動作状態に応じてCPU11に負荷をかけることなく制御される。
【0063】
クロック切り替え部79は、クロック制御部60から入力されたクロック制御指令信号CCBがアクティブレベルの場合、当該クロック制御指令信号CCBをクロック制御信号BCCとして出力する、つまり、アクティブレベルのクロック制御信号BCCを出力するように構成されている。また、クロック制御指令信号CCBが非アクティブレベルの場合、クロック切り替え部79は制御部75から入力された状態依存クロック制御信号CSSをクロック制御信号BCCとしてスイッチ36に出力するように構成されている。
【0064】
つまり、サブシステムバス40へのシステムクロックCLKの供給を強制的に開始する場合には、CPU11の指令によりクロック制御部60からアクティブレベルに設定されたクロック制御指令信号CCBが出力されればよい。
【0065】
これにより、サブシステムバス40へのシステムクロックCLKの供給および停止は、強制的に供給を開始する場合を除き、サブシステム30の動作状態に応じてCPU11に負荷をかけることなく制御される。
【0066】
[制御部]
次に、制御部75について詳細に説明する。制御部75は、メインシステムモニタ部73から入力された要求信号REQ0およびサブシステムモニタ部71から入力された要求信号REQ1に基づいてサブシステムバス40へのアクセス要求の有無を示すアクセス要求信号ARSを生成するアクセス有無検出部81と、アクセス要求信号ARSに基づき状態依存電源制御信号PSSおよび状態依存クロック制御信号CSSを生成する切り替え制御部85と、切り替え制御部85にて使用する各種定数の値が設定されている制御レジスタ83とを有している。
【0067】
アクセス有無検出部81は、要求信号REQ0および要求信号REQ1のうち少なくとも一方がアクティブレベルである場合に、アクセス要求信号ARSがアクティブレベルに設定されるように、論理回路によって構成されている(図3参照)。
【0068】
制御レジスタ83は、アクセス検出待ち時間AWT、電源安定時間PST、およびクロック安定時間CSTのような各種定数の値を切り替え制御部85に出力する。これら各種定数の値は、情報処理システム1への電源の供給が開始されたときにCPU11が最初に実行する初期化処理によって制御レジスタ83に設定される。
【0069】
切り替え制御部85は、状態依存電源制御信号PSSおよび状態依存クロック制御信号CSSの信号レベルをアクティブレベルおよび非アクティブレベルのうちいずれか一方に設定する状態依存制御信号設定処理を行う。ここで、状態依存電源制御信号PSSは、サブシステムバス40の非インタフェース部に電源Vccの供給を行う場合にアクティブレベルに設定され、電源Vccの供給を停止する場合に非アクティブレベルに設定される。また、状態依存クロック制御信号CSSは、サブシステムバス40にシステムクロックCLKの供給を行う場合にアクティブレベルに設定され、システムクロックCLKの供給を停止する場合に非アクティブレベルに設定される。
【0070】
[状態依存制御信号設定処理]
図4は状態依存制御信号設定処理における切り替え制御部85の内部状態の遷移を示す状態遷移図であり、図5は本処理のタイミングチャートである。図5において、(a)はメインシステム10からのアクセス要求によりサブシステムバス40へのシステムクロックCLKの供給を再開する場合のタイムチャートであり、(b)はDMA転送要求によりサブシステムバス40へのシステムクロックCLKの供給を再開する場合のタイムチャートであり、(c)はメインシステム10からのアクセス要求によりサブシステムバス40への電源VccおよびシステムクロックCLKの供給を再開する場合のタイムチャートであり、(d)はDMA転送要求によりサブシステムバス40への電源VccおよびシステムクロックCLKの供給を再開する場合のタイムチャートである。
【0071】
なお、図5において、t1〜t50で示す各時刻は、システムクロックCLKの立下りタイミングであり、その各時刻t1〜t50の間隔は、システムクロックCLKの1周期分である。例えば、t5はt1から数えて5つめのシステムクロックCLKの立下りタイミングである。
【0072】
本処理では、システムクロックCLKに同期し、切り替え制御部85の内部状態は、「アクセス待機」、「クロック供給停止」、「電源供給停止」、「電源安定待機」、「クロック安定待機」の5つの状態を遷移する(図5参照)。
【0073】
[アクセス待機状態]
まず、切り替え制御部85の内部状態は、「アクセス待機」状態に遷移する(図4参照)。
【0074】
切り替え制御部85は、別処理としてアクセス要求信号ARSが非アクティブレベルを示す時間、すなわちメインシステム10からサブシステムバス40へのアクセス要求(REQ0)およびDMA転送要求(REQ1)の両方が発生していない時間を待機時間WT1として測定している。
【0075】
「アクセス待機」状態では、待機時間WT1と予め設定された値であるアクセス検出待ち時間AWTとを比較する。
ここで、待機時間WT1がアクセス検出待ち時間AWT未満である場合(WT1<AWT)、現在の状態すなわち「アクセス待機」状態に遷移する(図5(a)〜(d)の時刻t5〜t10参照)。一方、待機時間WT1がアクセス検出待ち時間AWT以上である場合(WT1≧AWT)、「クロック供給停止」状態に遷移する(図5(a)〜(d)の時刻t10参照)。
【0076】
[クロック供給停止状態]
待機時間WT1がアクセス検出待ち時間AWT以上となった場合(WT1≧AWT)に遷移する「クロック供給停止」状態では、切り替え制御部85はクロック切り替え部79にアクティブレベルから非アクティブレベルに変化させた状態依存クロック制御信号CSSを出力する(図5(a)〜(d)の時刻t10参照)。これにより、サブシステムバス40へのシステムクロックCLKの供給を停止させる。なお、図1および図5では、サブシステムバス40に供給されるシステムクロックCLKをクロックBCLKで示している。
【0077】
ここで、切り替え制御部85は、別処理として、非アクティブレベルに変化させた状態依存クロック制御信号CSSを出力した後にアクセス要求信号ARSが非アクティブレベルを示す時間、すなわちメインシステム10からサブシステムバス40へのアクセス要求(REQ0)およびDMA転送要求(REQ1)の両方が発生していない時間を待機時間WT2として測定している。
【0078】
アクセス要求信号ARSが非アクティブレベルを示す状態が継続し、待機時間WT2が予め設定された値であるクロック停止安定時間CSSTより小さい場合(WT2<CSST)、現在の状態すなわち「クロック供給停止」状態に遷移する(図5(a)、(b)の時刻t10〜t20参照)。
【0079】
ここで、この「クロック供給停止」状態が継続している間にアクセス要求信号ARSがアクティブレベルになると、すなわち、メインシステム10からサブシステムバス40へのアクセス要求(REQ0)およびDMA転送要求(REQ1)うち少なくとも一方の要求が発生すると(図5(a)、(b)の時刻t20参照)、「クロック安定待機」状態に遷移する。
【0080】
一方、待機時間WT2がクロック停止安定時間CSST以上となった場合(CSST≦WT2)、「電源供給停止状態」に遷移する(図5(c)、(d)の時刻t30参照)。
[電源供給停止状態]
待機時間WT2がクロック停止安定時間CSST以上となった場合(CSST≦WT2)に遷移する「電源供給停止」状態では、切り替え制御部85は、電源切り替え部77にアクティブレベルから非アクティブレベルに変化させた状態依存電源制御信号PSSを出力する(図5(c)、(d)の時刻t30参照)。これにより、サブシステムバス40の非インタフェース部への電源Vccの供給を停止させる。なお、図1および図5では、サブシステムバス40の非インタフェース部に供給される電源Vccを符号BVccで示している。
【0081】
非アクティブレベルに変化させた状態依存電源制御信号PSSを出力した後、アクセス要求信号ARSが非アクティブレベル(NA)を示す状態(ARS=NA)が継続している間は、現在の状態すなわち「電源供給停止」状態に遷移する(図5(c)、(d)の時刻t30〜t39参照)。
【0082】
ここで、この「電源供給停止」状態が継続している間にアクセス要求信号ARSがアクティブレベル(A)になる(ARS=A)と、すなわち、メインシステム10からサブシステムバス40へのアクセス要求(REQ0)およびDMA転送要求(REQ1)うち少なくとも一方の要求が発生すると(図5(c)、(d)の時刻t39参照)、「電源安定待機」状態に遷移する。
【0083】
[電源安定待機状態]
「電源供給停止」状態にてアクセス要求信号ARSがアクティブレベルとなった場合(ARS=A)に遷移する「電源安定待機」状態では、切り替え制御部85は電源切り替え部77に非アクティブレベルからアクティブレベルに変化させた状態依存電源制御信号PSSを出力する(図5(c)、(d)の時刻t40参照)。これにより、サブシステムバス40の非インタフェース部への電源Vccの供給を再開させる。
【0084】
ここで、切り替え制御部85は別処理としてアクティブレベルの状態依存電源制御信号PSSを出力してからの経過時間を再起動時間RT1として測定しており、当該再起動時間RT1が予め設定された値である電源安定時間PST未満の場合(RT1<PST)、現在の状態すなわち「電源安定待機」状態に遷移する(図5(c)、(d)の時刻t40〜43参照)。
【0085】
一方、再起動時間RT1が電源安定時間PST以上となった場合(RT1≧PST)、「クロック安定待機」状態に遷移する。
[クロック安定待機状態]
「クロック供給停止状態」にてアクセス要求信号がアクティブ状態となった場合(ARS=A)に遷移する、または「電源安定待機」状態にて再起動時間RT1が電源安定時間PST以上となった場合(RT1≧PST)に遷移する「クロック安定待機」状態では、切り替え制御部85は、クロック切り替え部79に非アクティブレベルからアクティブレベルに変化させた状態依存クロック制御信号CSSを出力する(図5(a、(b)の時刻t21および(c)、(d)の時刻t43参照)。
【0086】
ここで、切り替え制御部85は別処理としてアクティブレベルの状態依存クロック制御信号CSSを出力してからの経過時間を再起動時間RT2として測定しており、当該再起動時間RT2が予め設定された値であるクロック安定時間CST未満の場合(RT2≦CST)、現在の状態すなわち「クロック安定待機」状態に遷移する(図5(a)(b)の時刻t21〜t24および(c)、(d)の時刻t43〜t46参照)。
【0087】
一方、再起動時間RT2がクロック安定時間CST以上となった場合(CST≦RT2)、再び「アクセス待機」状態に遷移する(図5(a)、(b)の時刻t24および(c)、(d)の時刻t46参照)。
【0088】
なお、情報処理システム1に電源が投入されてCPU11による上述の初期化設定処理が実行されると、電源制御指令信号PCBおよびクロック制御指令信号CCBがアクティブに設定されることによりサブシステムバス40への電源VccおよびシステムクロックCLKの供給が開始される。状態依存制御信号設定処理は、このような初期化設定が完了したことをきっかけとして上述の「アクセス待機」状態に遷移する。
【0089】
このように作動する状態依存制御信号設定処理を行う切り替え制御部85は、制御レジスタの設定値やアクセス要求信号ARSに基づいて設定されるシーケンスに従って作動する論理回路によって構成されてもよい。または、CPU、ROM、RAM等を備えるマイクロコンピュータからなるCPU11が実行するプログラムとして構成されてもよい。
【0090】
[効果]
以上説明したように、情報処理システム1では、メインシステム10からのアクセス要求およびDMA転送要求のいずれも発生しない状態が予め定められたアクセス検出待ち時間AWT以上継続すると、サブシステムバス40の非インタフェース部へのシステムクロックCLKの供給が停止する。その結果、サブシステムバス40の非インタフェース部に設けられたセレクタ/デコーダやクロックドライバ等へのシステムクロックCLKの供給が停止する。従って、サブシステムバス40における消費電力を低減することができる。しかも、サブシステム30内で動作状態をモニタしているので、CPU11に負荷をかけること無く消費電力の低減が実現できる。結果として、情報処理システム1全体における消費電力を低減することができる。
【0091】
また、情報処理システム1では、サブシステムバス40へのシステムクロックCLKの供給を停止するだけではなく、サブシステムバス40へのアクセス要求の発生間隔に応じてサブシステムバス40への電源Vccの供給を停止する。このため、電源Vccの供給を停止すること無くシステムクロックCLKの供給を停止する場合に比べて、サブシステムバス40における消費電力をより低減することができる。
【0092】
[発明との対応]
本実施形態におけるサブシステムバス40が特許請求の範囲における「システムバス」に相当し、電源クロック調整部70が特許請求の範囲における「調整手段」に相当し、第1機能デバイス44および第2機能デバイス46が特許請求の範囲における「デバイス」に相当する。また、システムクロックCLKが特許請求の範囲における「クロック」に相当する。さらにまた、本実施形態の基幹システムバス20が特許請求の範囲の「メインバス」に相当し、サブシステムバス40が特許請求の範囲の「サブバス」に相当する。
【0093】
また、本実施形態における状態遷移図に沿った切り替え制御部85の「クロック供給停止」状態の作動がアクセス検出待ち時間AWTが特許請求の範囲における「システムバスクロック停止ステップ」に相当し、状態遷移図に沿った切り替え制御部85の「電源供給停止」状態の作動が特許請求の範囲における「システムバス電源停止ステップ」に相当する。
【0094】
[第2実施形態]
次に第2実施形態について説明する。
図6は第2実施形態の情報処理システム2の構成を表したブロック図である。第1実施形態の情報処理システム1ではメインシステム10に一つのサブシステム30が接続されていたが、本実施形態の情報処理システム2では、メインシステム10に二つのサブシステム30a、30bが接続されている。
【0095】
サブシステム30aは当該サブシステム30aのサブシステムバスへのアクセス要求の発生頻度が低いデバイスによって構成されおり、サブシステム30bは当該サブシステム30bのサブシステムバスへのアクセス要求の発生頻度が高いデバイスによって構成されている。以下では、主に異なる点を中心に説明する。
【0096】
図6に示すように、電源制御部50およびクロック制御部60は、サブシステム毎に第1実施形態と同様の電源制御信号PC1、PC2、クロック制御信号CC1、CC2、電源制御指令信号PCB、およびクロック制御指令信号CCBを出力する。但し、以下では、サブシステム30aに供給する信号についてはPC1_aのように第1実施形態の符号の後に_aを付し、サブシステム30bに供給する信号についてはPC1_bのように第1実施形態の符号の後に_bを付すものとする。
【0097】
なお、サブシステム30bでは、基幹システムバス20のスレーブ端子S6が図示しないサブシステムバスのマスタ端子M0に接続されており、基幹システムバス20のマスタ端子M6がスレーブ端子S0に接続されている。
【0098】
ここで、サブシステム30aは、サブシステム30と同様に構成されており、電源クロック調整部を有している。つまり、サブシステム30aは、電源クロック調整部によりサブシステムバスへの電源の供給および停止とシステムクロックの供給および停止を制御する。これにより、サブシステム30aは第1実施形態同様に作動する。
【0099】
一方、サブシステム30bは、サブシステム30aとは構成が一部異なる。サブシステム30bは、電源クロック調整部を有しているが、当該電源クロック調整部により、サブシステムバスへのシステムクロックの供給および停止を制御し、サブシステムバスへの電源の供給および停止を制御しない。
【0100】
サブシステム30bがこのように構成される場合、状態依存制御信号設定処理では、図示しない切り替え制御部の内部状態は、図4に示す状態遷移図における「電源供給停止」状態および「電源安定待機」状態への状態遷移が省略される状態で遷移する。ここでは詳細な説明は省略するが、切り替え制御部の取り得る内部状態は、「アクセス待機」状態、「クロック供給停止」状態、および「クロック安定待機」状態の三つの状態を遷移することになる。
【0101】
これによると、サブシステム30bでは、サブシステムバスへのアクセス要求が途絶えた場合、サブシステムバスへの電源の供給は停止しないため、再びサブシステムバスへのアクセス要求が発生すると、電源の立ち上げを必要とせず、速やかにアクセス待機状態に遷移する。
【0102】
従って、頻繁にアクセス要求が発生する場合においても、発生したアクセス要求が遅滞なく実行される。
以上説明したように、情報処理システム2では、メインシステム10にサブシステムバスへのアクセス要求の発生頻度の異なる複数のサブシステムが接続されている。アクセス要求の発生頻度の高いサブシステム30bではサブシステムバスへのクロックの供給の停止を制御し、電源の供給の停止を制御しない。その結果、頻繁にアクセス要求が発生する場合においても、発生したアクセス要求が遅滞なく実行される。
【0103】
一方、発生頻度の低いサブシステム30aではクロックの供給に加えて電源の供給の停止も制御する。その結果、アクセス要求の発生間隔が長い場合にさらなる消費電力の低減が図られる。
【0104】
したがって、情報処理システム2では、動作状態に応じてきめ細かく消費電力の低減を図ることができるとともに、アクセス要求の発生頻度が高いサブシステムにおいて遅滞なくアクセス要求を実行することができる。
【0105】
[第3実施形態]
上記実施形態では基幹システムバスとサブシステムバスとが分割されて構成されていたが、基幹システムバスとサブシステムバスとが分割されていない構成であってもよい。図7は本実施形態の情報処理システム3の構成を表すブロック図である。以下、第1実施形態と異なる点を中心に説明する。
【0106】
情報処理システム3では、システムバス25が一つ存在している。システムバス25では、スレーブ端子S2に電源クロック調整部70が接続され、マスタ端子M1にDMAC42が接続され、スレーブ端子S6に第1機能デバイス44が接続され、スレーブ端子S7に第2機能デバイス46が接続されている。
【0107】
また、サブシステム30は、サブシステムバス40への電源Vccの供給および停止を切り替えるスイッチ35と、クロック制御信号BCCに従ってサブシステムバス40へのシステムクロックCLKの供給および停止を切り替えるスイッチ36とを備えている。
【0108】
さらにまた、システムバス25には第1の電源供給受け入れ部V11および第2の電源供給受け入れ部V21が設けられており、第1の電源供給受け入れ部V11には電源Vccから直接電源の供給が行われ、第2の電源供給受け入れ部V21には電源制御信号BPCに従って制御されるスイッチ35を介して電源Vccの供給が行われている。ここで、第1の電源供給受け入れ部V11はシステムバス25のインタフェース部に接続されており、第2の電源供給受け入れ部V21はシステムバス25の非インタフェース部に接続されている。
【0109】
また、CPU11は、周知のスリープモードで動作するCPUであり、ここでいうスリープモードとは、CPU11の動作は停止状態となるがCPU11への電力供給は継続されている状態をいう。なお、スリープモードとなったCPU11は、予め設定されたスリープ時間の経過後、自動的にその動作を再開するように構成されている。
【0110】
さらにまた、電源クロック調整部70には、CPU11からシステムバス25のマスタ端子M0に出力される信号のうち要求信号REQ0が入力されるように接続されている。
このように構成された情報処理システム3では、CPU11が動作している間、つまりCPU11からシステムバス25へのアクセス要求が発生しており要求信号REQ0がアクティブに設定されている間は、システムバス25の全ての部分への電源VccおよびシステムクロックCLKの供給が行われる。
【0111】
また、CPU11がスリープモードである間、つまりCPU11からシステムバス25へのアクセス要求が発生しておらず要求信号REQ0が非アクティブに設定されている間は、システムバス25へのシステムクロックCLKおよび電源Vccの供給は、DMAC42から出力される要求信号REQ1の信号レベルに従って制御される。
【0112】
つまり、CPU11がスリープモードである間は、第1機能デバイス44および第2機能デバイス46のうち少なくとも一方からDMA転送要求がある場合に、システムバス25の全ての部分に電源VccおよびシステムクロックCLKの供給が行われる。
【0113】
ここで、CPU11がスリープモードである間に第1機能デバイス44および第2機能デバイス46のいずれからもDMA転送要求が無い場合は、システムバス25へのシステムクロックCLKの供給の停止および非インタフェース部への電源Vccの供給の停止は第1実施形態と同様に制御される。
【0114】
以上説明したように、情報処理システム3ではシステムバス25を一つ備え、
CPU11がスリープモードである場合は、例えば第1機能デバイス44からメモリ15にアクセスするというように、DMA転送によりシステムバス25にアクセスする。また、CPU11がスリープモードである場合は、CPU11からシステムバス25へのアクセス要求の有無およびDMA転送の有無に従って、システムバス25への電源VccおよびシステムクロックCLKの供給を制御する。
【0115】
その結果、システムバス25への消費電力を動作状態に応じて低減することができる。従って、このような情報処理システム3では、CPU11やDMAC42があるまとまった時間停止する場合に、より一層消費電力低減の効果が奏される。
【0116】
[他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲にて様々な態様で実施することが可能である。
【0117】
上記実施形態では、サブシステムバスのマスタ端子に接続されているデバイスが二つである場合について説明したが、サブシステムバスのマスタ端子に接続されるデバイスは三つ以上であってもよい。例えば、サブシステムにメインシステムとは別の、スリープモードを有するCPUがさらに接続されるような場合である。このような構成においても上記実施形態と同様の効果が奏される。
【符号の説明】
【0118】
1、2、3・・・情報処理システム 20・・・基幹システムバス 25・・・システムバス 40・・・サブシステムバス 43・・・デバイス群 44・・・第1機能デバイス 46・・・第2機能デバイス 70・・・電源クロック調整部 Vcc・・・電源 CLK・・・システムクロック

【特許請求の範囲】
【請求項1】
クロックにより動作するシステムバスと、
当該システムバスに接続される複数のデバイスからなるデバイス群と、
前記システムバスへの少なくともクロックの供給を調整する調整手段と、
を備える情報処理システムであって、
前記調整手段は、前記デバイス群を構成する各デバイスからの前記システムバスを使用する要求をアクセス要求とし、当該アクセス要求が途絶えてから予め設定されたアクセス検出待ち時間の経過後新たに前記アクセス要求が発生するまで、前記システムバスへのクロックの供給を停止することを特徴とする情報処理システム。
【請求項2】
前記調整手段は、前記システムバスへのクロックの供給が停止した後、予め設定されたクロック停止安定時間の経過後新たに前記アクセス要求が発生するまで、前記システムバスへの電源の供給を停止することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記システムバスは、前記デバイス群の一つとして、CPUを含むことを特徴とする請求項2に記載の情報処理システム。
【請求項4】
CPUが接続されているメインバスと、前記システムバスからなるサブバスとを備え、
前記サブバスは、前記デバイス群の一つとして前記メインバスを接続することを特徴とする請求項1または2に記載の情報処理システム。
【請求項5】
クロックにより動作するシステムバスと、
当該システムバスに接続される複数のデバイスと、
を備えることを特徴とする情報処理システムにおける電源およびクロックの制御方法であって、
前記複数のデバイスからの前記システムバスを使用する要求をアクセス要求とし、当該アクセス要求が途絶えてから予め設定されたアクセス検出待ち時間の経過後新たに前記アクセス要求が発生するまで、前記システムバスに供給されるクロックを停止するシステムバスクロック停止ステップと、
前記システムバスに供給されるクロックが停止した後、前記アクセス要求が途絶えてから予め設定されたクロック停止安定時間の経過後新たに前記アクセス要求が発生するまで、前記システムバスに供給される電源を停止するシステムバス電源停止ステップと、
を備えることを特徴とする情報処理システムにおける電源およびクロックの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate