(57)【要約】【課題】本発明は、アクセス制御方法及び情報処理装置に関し、ＣＰＵへのアクセス速度を向上し、且つ、ＣＰＵの消費電力を低減可能とすることを目的とする。【解決手段】バスと、コアブロックとバスブリッジブロックを含みスリープ状態にあるＣＰＵに対する外部からのアクセスを制御するアクセス制御方法において、外部からのバスリクエストに基づいて、コアブロックをスリープ状態に保持すると共にバスブリッジブロックをスリープ状態から解除し、バスリクエストに基づいて、外部に対してバスの使用権を与えるバスグラントを発行するように構成する。【選択図】図１
2007257169.tif 000002
【特許請求の範囲】
【請求項１】
バスと、コアブロックとバスブリッジブロックを含みスリープ状態にあるＣＰＵに対する外部からのアクセスを制御するアクセス制御方法であって、
該外部からのバスリクエストに基づいて、該コアブロックをスリープ状態に保持すると共に該バスブリッジブロックをスリープ状態から解除し、
該バスリクエストに基づいて、該外部に対して該バスの使用権を与えるバスグラントを発行することを特徴とする、アクセス制御方法。
【請求項２】
各ブロックのスリープ状態のランレベルを制御することを特徴とする、請求項１記載のアクセス制御方法。
【請求項３】
コアブロックとバスブリッジブロックを含みスリープ状態有するＣＰＵと、
該バスリッジブロックに接続されたバスとを備え、
該バスブリッジブロックは、外部からのバスリクエストに基づいて、該コアブロックをスリープ状態に保持すると共に該バスブリッジブロックをスリープ状態から解除し、該バスリクエストに基づいて、該外部に対して該バスの使用権を与えるバスグラントを発行する制御手段を有することを特徴とする、情報処理装置。
【請求項４】
異なるランレベル間ではスリープの対象となるブロックが異なるか、及び／又は、全てのブロックの合計消費電力が異なり、
該制御手段は、各ブロックのスリープ状態のランレベルを制御することを特徴とする、請求項３記載の情報処理装置。
【請求項５】
該制御手段は、各ブロックのスリープ状態及びランレベルを、該バスリクエストに含まれるアクセス先及びアクセスの種類に基づいて制御することを特徴とする、請求項４記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス制御方法及び情報処理装置に係り、特に外部デバイスからスリープ状態にあるＣＰＵをアクセスするアクセス制御方法及びそのようなアクセス制御方法を用いる情報処理装置に関する。
【背景技術】
【０００２】
ＣＰＵは、消費電力を低減するための動作状態（又は、動作モード）として、ＣＰＵに供給されているクロックを停止させたり、クロック周波数を低下させたり、ＣＰＵに供給されている電圧を低下させたりするスリープ状態（又は、スリープモード）を有する。
【０００３】
ＣＰＵがスリープ状態にあると、ＣＰＵと汎用ローカルバスを介して接続されている外部デバイスが外部バスマスタとなる。外部バスマスタからＣＰＵに対してリードやライトのアクセスを行う場合には、先ずＣＰＵに対し割り込みを発生してＣＰＵのスリープ状態を解除してからデータ転送を行う必要がある。
【０００４】
例えば、ＣＰＵがコアブロック及びバスブリッジブロックを備え、このＣＰＵがスリープ状態にあるときに、ＣＰＵと汎用ローカルバスで接続された外部バスマスタからＣＰＵのＳＤＲＡＭ用バスに接続されたＳＤＲＡＭをアクセスしてデータ転送を行う場合の手順Ｐ１〜Ｐ５は、次のようになる。
【０００５】
Ｐ１：外部バスマスタからＣＰＵに対して汎用ローカルバスを介して割り込みを発生する。
【０００６】
Ｐ２：割り込みに応答してＣＰＵ内のコアブロック及びバスブリッジブロックのスリープ状態を解除する。
【０００７】
Ｐ３：外部バスマスタからバスリクエストを汎用ローカルバスを介してＣＰＵに対して発行する。
【０００８】
Ｐ４：ＣＰＵ内のコアブロックからＳＤＲＡＭ用バスの使用権を与えるバスグラント信号をバスブリッジ及び汎用ローカルバスを介して外部バスマスタに対して発行する。
【０００９】
Ｐ５：ライトアクセスであれば、バスグラント信号に応答して外部バスマスタからＳＤＲＡＭに対して、データを汎用ローカルバス及びＣＰＵ内のバスブリッジを介して転送する。
【００１０】
ＣＰＵを外部からスリープ状態にする方法は、例えば特許文献１及び特許文献２にて提案されている。
【特許文献１】特開平９−２７４７９８号公報
【特許文献２】特開平７−２９５６９４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来、スリープ状態にあるＣＰＵを外部バスマスタからアクセスするには、先ず外部バスマスタからＣＰＵに対する割り込みを発生してＣＰＵのスリープ状態を解除してから外部バスマスタからＣＰＵに対してバスリクエストを発行する必要があった。このため、ＣＰＵのスリープ状態を解除するために、外部バスマスタから専用の割り込みを発生する必要があり、ＣＰＵへのアクセス速度を向上することは難しいという問題があった。又、外部バスマスタからＣＰＵに対する割り込みが発生すると、アクセスの種類にかかわらずＣＰＵ全体のスリープ状態を解除するため、ＣＰＵの消費電力を低減することは難しいという問題もあった。
【００１２】
そこで、本発明は、ＣＰＵへのアクセス速度を向上し、且つ、ＣＰＵの消費電力を低減可能なアクセス制御方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題は、バスと、コアブロックとバスブリッジブロックを含みスリープ状態にあるＣＰＵに対する外部からのアクセスを制御するアクセス制御方法であって、該外部からのバスリクエストに基づいて、該コアブロックをスリープ状態に保持すると共に該バスブリッジブロックをスリープ状態から解除し、該バスリクエストに基づいて、該外部に対して該バスの使用権を与えるバスグラントを発行することを特徴とするアクセス制御方法によって達成できる。
【００１４】
上記の課題は、コアブロックとバスブリッジブロックを含みスリープ状態有するＣＰＵと、該バスリッジブロックに接続されたバスとを備え、該バスブリッジブロックは、外部からのバスリクエストに基づいて、該コアブロックをスリープ状態に保持すると共に該バスブリッジブロックをスリープ状態から解除し、該バスリクエストに基づいて、該外部に対して該バスの使用権を与えるバスグラントを発行する制御手段を有することを特徴とする情報処理装置によっても達成できる。
【発明の効果】
【００１５】
本発明によれば、ＣＰＵへのアクセス速度を向上し、且つ、ＣＰＵの消費電力を低減可能なアクセス制御方法及び情報処理装置を実現することができる。
【発明を実施するための最良の形態】
【００１６】
本発明では、ＣＰＵがコアブロック及びバスブリッジブロックを備え、このＣＰＵがスリープ状態にあるときに、例えばＣＰＵと汎用ローカルバスを介して接続された外部バスマスタからＣＰＵの主記憶部用バスに接続された主記憶部をアクセスしてデータ転送を行う場合の手順Ｐ１１〜Ｐ１４は、次のようになる。
【００１７】
Ｐ１１：外部バスマスタからＣＰＵ内のバスブリッジブロックに対して汎用ローカルバスを介してバスリクエストを発行する。
【００１８】
Ｐ１２：バスリクエストに応答してＣＰＵ内のバスブリッジブロックのスリープ状態を解除する。
【００１９】
Ｐ１３：ＣＰＵ内のバスブリッジブロックから主記憶部用バスの使用権を与えるバスグラント信号を汎用ローカルバスを介して外部バスマスタに対して発行する。
【００２０】
Ｐ１４：例えば、ライトアクセスであれば、バスグラント信号に応答して外部バスマスタから主記憶部に対して、データを汎用ローカルバス及びＣＰＵ内のバスブリッジブロックを介して転送する。
【００２１】
ＣＰＵのスリープ状態を解除するために、外部バスマスタから専用の割り込みを発生する必要がなく、バスリクエストを用いるので、ＣＰＵへのアクセス速度を向上することができる。又、外部バスマスタからＣＰＵ内のバスブリッジブロックに対してバスリクエストを発行するので、コアブロックのスリープ状態は保ち、バスブリッジのみのスリープ状態を解除することができるので、ＣＰＵの消費電力を低減することができる。例えば、アクセス先やアクセスの種類に応じてＣＰＵ内の特定のブロック及び／又はＣＰＵに外部接続された特定のブロックのみのスリープ状態を解除してＣＰＵ内の他のブロック及びＣＰＵに外部接続されている他のブロックはスリープ状態に保つこともできる。
【００２２】
以下に、本発明のアクセス制御方法及び情報処理装置の各実施例を、図面と共に説明する。
【実施例】
【００２３】
図１は、本発明の情報処理装置の一実施例を示すブロック図である。情報処理装置の本実施例は、本発明のアクセス制御方法の一実施例を用いる。
【００２４】
図１に示す情報処理装置１は、ＣＰＵ１１と、汎用ローカルバス１２と、主記憶部を構成するＳＤＲＡＭ１３と、ＳＤＲＡＭ用（主記憶部用）の高速バス１４を有する。ＣＰＵ１１は、ブロック部１１１とバスブリッジブロック１１２とを有する。ＣＰＵ１１内のブロック部１１１は、ＣＰＵ１１の演算処理部等の主要部分からなるコアブロック５１と、他のブロック５２を有する。他のブロック５２には、入出力（Ｉ／Ｏ）ブロック等が含まれる。又、図１では、他のブロック５２はＣＰＵ１１内に設けられているが、ＳＤＲＡＭ１３のようにＣＰＵ１１に外部接続されているものであっても良い。バスブリッジブロック１１２は、ＳＤＲＡＭ用の高速バス１４を介してＳＤＲＡＭ１３と接続されている。又、バスブリッジブロック１１２が接続されている汎用ローカルバス１２には、外部デバイス３１が接続されている。
【００２５】
ＣＰＵ１１及びこれに外部接続されたＳＤＲＡＭ１３等のブロックは、消費電力を低減するための動作状態（又は、動作モード）として、ＣＰＵ１１に供給されているクロックを停止させたり、クロック周波数を低下させたり、ＣＰＵ１１に供給されている電圧を低下させたりするスリープ状態（又は、スリープモード）を有する。
【００２６】
外部デバイス３１は、少なくともデータ転送を制御する機能を備えたＣＰＵ等からなる。この外部デバイス３１は、ＣＰＵ１１がスリープ状態の時に、外部バスマスタとして動作することでデータ転送を行う。
【００２７】
ＣＰＵ１１がスリープ状態にあるときに、例えばＣＰＵ１１と汎用ローカルバス１２で接続された外部デバイス３１からＣＰＵ１１のＳＤＲＡＭ用バス１４に接続されたＳＤＲＡＭ１３をアクセスしてデータ転送を行う場合の手順Ｓ１〜Ｓ４は、次のようになる。
【００２８】
Ｓ１：外部デバイス３１からＣＰＵ１１内のバスブリッジブロック１１２に対して汎用ローカルバス１２を介してバスリクエスト信号を発行する。
【００２９】
Ｓ２：バスリクエスト信号に応答してＣＰＵ１１内のバスブリッジブロック１１２のスリープ状態を解除し、ＣＰＵ１１内のブロック部１１１はスリープ状態に保つ。
【００３０】
Ｓ３：ＣＰＵ１１内のバスブリッジブロック１１２からＳＤＲＡＭ用の高速バス１４の使用権を与えるバスグラント信号を汎用ローカルバス１２を介して外部デバイス３１に対して発行する。
【００３１】
Ｓ４：ライトアクセスであれば、バスグラント信号に応答して外部デバイス３１からＳＤＲＡＭ１３に対して、データを汎用ローカルバス１２及びＣＰＵ１１内のバスブリッジブロック１１２を介して転送し、ＳＤＲＡＭ１３に書き込む。他方、リードアクセスであれば、バスグラント信号に応答してＳＤＲＡＭ１３から読み出したデータをＣＰＵ１１内のバスブリッジブロック１１２及び汎用ローカルバス１２を介して外部デバイス３１に転送する。
【００３２】
ＣＰＵ１１のスリープ状態を解除するために、外部デバイス３１から専用の割り込みを発生する必要がなく、バスリクエスト信号を用いるので、ＣＰＵ１１へのアクセス速度を向上することができる。又、外部デバイス３１からＣＰＵ１１内のバスブリッジブロック１１２に対してバスリクエスト信号を発行するので、ブロック部１１１のスリープ状態は保ち、バスブリッジブロック１１２のみのスリープ状態を解除することができるので、ＣＰＵ１１の消費電力を低減することができる。例えば、アクセス先やアクセスの種類に応じてＣＰＵ１１内及び／又はＣＰＵ１１に外部接続された特定のブロックのみのスリープ状態を解除し、ＣＰＵ１１内及び／又はＣＰＵ１１に外部接続されたその他のブロックはスリープ状態に保つこともできる。
【００３３】
図２は、バスブリッジブロック１１２の動作を説明する図である。図２に示すように、バスブリッジブロック１１２は、データ制御部６１と制御情報処理部６２を有する。
【００３４】
データ制御部６１は、汎用ローカルバス１２のデータバス１２１に接続された端子７１を有しており、情報処理装置１内のデータのやりとり及び情報処理装置１と外部デバイス３１との間のデータのやりとりを制御する。データバス１２１は、複数ビットからなる。データ制御部６１は、ＳＤＲＡＭ１３及びＣＰＵ１１に外部接続されたＩ／Ｏブロック等の他のブロックと、ＣＰＵ１１内のコアブロック５１やＩ／Ｏブロック等の他のブロック５２と接続されている。
【００３５】
制御情報処理部６２は、汎用ローカルバス１２の制御バス１２２に接続された端子７２Ａ〜７２Ｃを有しており、情報処理装置１内の各ブロックのスリープ状態の制御と、バスリクエスト信号に応答したバスグラント信号の発行を司る。制御バス１２２は、複数ビットからなる。端子７２Ａは、外部デバイス３１が発行する複数ビットからなるバスリクエスト信号を受信する。端子７２Ｂは、制御情報処理部６２が発行する複数ビットからなるバスグラント信号を外部デバイス３１に対して出力する。端子７２Ｃは、外部デバイス３１が発生する複数ビットからなる割り込み信号を受信する。又、制御情報処理部６２は、バスリクエスト信号に基づいて情報処理装置１内のバスブリッジブロック１１２を含む各ブロックのスリープ状態を制御する制御信号を生成して対応するブロックに供給する。情報処理装置１内のどのブロックをスリープ状態に保持し、どのブロックをスリープ状態から解除するかは、アクセス先やアクセスの種類に応じて予め決定しておけば良い。制御情報処理部６２は、ＳＤＲＡＭ１３及びＣＰＵ１１に外部接続されたＩ／Ｏブロック等の他のブロックと、ＣＰＵ１１内のコアブロック５１やＩ／Ｏブロック等の他のブロック５２と接続されているので、制御信号はこれらのブロックに供給される。
【００３６】
端子７２Ａが受信するバスリクエスト信号は、複数ビットからなるので、アクセス先のブロックやアクセスの種類を示すことができる。制御情報処理部６２は、バスリクエスト信号が示すアクセス先やアクセスの種類に基づいて、情報処理装置１内の対応するバス（例えば、高速バス１４）の使用権を与える複数ビットからなるバスグラント信号を発行して端子７２Ｂを介して外部デバイス３１に対して出力する。バスリクエスト信号が示すアクセス先とアクセスの種類は、例えばＳＤＲＡＭ１３とライトアクセスであり、この場合、制御情報処理部６２が発行するバスグラント信号は、外部デバイス３１に高速バス１４の使用権を与えて外部デバイス３１からＳＤＲＡＭ１３へのデータの書き込みを可能とする。又、この場合に制御情報処理部６２が生成する制御信号は、例えばバスブリッジブロック１１２のみのスリープ状態を解除し、コアブロック５１や他のブロック５２はスリープ状態に保持する。
【００３７】
スリープ状態には、複数のランレベル（Run Level）が設けられていても良い。異なるランレベル間では、スリープの対象となる情報処理装置１内のブロックが異なったり、及び／又は、情報処理装置１（全てのブロックの合計）の消費電力が異なったりする。
【００３８】
スリープ状態に複数のランレベルが設けられている場合には、制御情報処理部６２が生成する制御信号により情報処理装置１内の各ブロックのランレベルも制御する。この場合、情報処理装置１内のどのブロックをスリープ状態のどのランレベルに制御し、どのブロックをスリープ状態から解除するかは、アクセス先やアクセスの種類に応じて予め決定しておく。アクセス先やアクセスの種類に応じてどのブロックをスリープ状態のどのランレベルに制御するかを示す情報は、例えば予め制御情報処理部６２内のテーブル（図示せず）に格納しても、制御情報処理部６２内のランレベル設定用レジスタ（図示せず）に設定しても良い。制御情報処理部６２は、バスリクエスト信号が示すアクセス先及びアクセスの種類に基づいてテーブル又はランレベル設定用レジスタを読むことで、情報処理装置１内の各ブロックのスリープ状態及びランレベルを独立に制御する複数ビットからなる制御信号を生成する。
【００３９】
制御情報処理部６２は、バスリクエスト信号を、情報処理装置１内の各ブロックのスリープ状態の保持及び解除のみを制御する制御信号を生成するのに用いても良い。この場合、制御情報処理部６２は、情報処理装置１内の各ブロックのスリープ状態のランレベルを制御する別の制御信号を、例えば外部デバイス３１が発行する複数ビットからなる割り込み信号に基づいて生成する。
【００４０】
従って、本実施例によれば、割り込みでＣＰＵのスリープ状態を解除するのではなく、バスリクエスト信号でスリープ状態を解除するので、ＣＰＵの応答性が向上する。又、バスリクエスト信号に応答して、例えばＣＰＵ内のバスブリッジブロックのみをスリープ状態から解除するので、低消費電力の情報処理装置を構成することができる。本実施例は、特に情報処理装置内の内部バスと、外部デバイスに接続する汎用ローカルバスとが分離された構成の情報処理装置に好適である。
【００４１】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）  バスと、コアブロックとバスブリッジブロックを含みスリープ状態にあるＣＰＵに対する外部からのアクセスを制御するアクセス制御方法であって、
該外部からのバスリクエストに基づいて、該コアブロックをスリープ状態に保持すると共に該バスブリッジブロックをスリープ状態から解除し、
該バスリクエストに基づいて、該外部に対して該バスの使用権を与えるバスグラントを発行することを特徴とする、アクセス制御方法。
（付記２）  該バスは、該ＣＰＵの主記憶部に接続されていることを特徴とする、付記１記載のアクセス制御方法。
（付記３）  該バスリクエストに基づいて、該ＣＰＵ内部及び／又は該ＣＰＵに外部接続された他のブロックのスリープ状態を保持又は解除することを特徴とする、付記１又は２記載のアクセス制御方法。
（付記４）  異なるランレベル間ではスリープの対象となるブロックが異なるか、及び／又は、全てのブロックの合計消費電力が異なり、各ブロックのスリープ状態のランレベルを制御することを特徴とする、付記１〜３のいずれか１項記載のアクセス制御方法。
（付記５）  各ブロックのスリープ状態及びランレベルは、該バスリクエストに含まれるアクセス先及びアクセスの種類に基づいて制御されることを特徴とする、付記４記載のアクセス制御方法。
（付記６）  各ブロックのスリープ状態のランレベルは、外部からの割り込みに基づいて制御されることを特徴とする、付記４記載のアクセス制御方法。
（付記７）  コアブロックとバスブリッジブロックを含みスリープ状態有するＣＰＵと、
該バスリッジブロックに接続されたバスとを備え、
該バスブリッジブロックは、外部からのバスリクエストに基づいて、該コアブロックをスリープ状態に保持すると共に該バスブリッジブロックをスリープ状態から解除し、該バスリクエストに基づいて、該外部に対して該バスの使用権を与えるバスグラントを発行する制御手段を有することを特徴とする、情報処理装置。
（付記８）  該バスに接続された該ＣＰＵの主記憶部を更に備えたことを特徴とする、付記７記載の情報処理装置。
（付記９）  該ＣＰＵ内部及び／又は該ＣＰＵに外部接続された他のブロックを更に備え、
該制御手段は、該バスリクエストに基づいて、該他のブロックのスリープ状態を保持又は解除することを特徴とする、付記８記載の情報処理装置。
（付記１０）  異なるランレベル間ではスリープの対象となるブロックが異なるか、及び／又は、全てのブロックの合計消費電力が異なり、
該制御手段は、各ブロックのスリープ状態のランレベルを制御することを特徴とする、付記７〜９のいずれか１項記載の情報処理装置。
（付記１１）  該制御手段は、各ブロックのスリープ状態及びランレベルを、該バスリクエストに含まれるアクセス先及びアクセスの種類に基づいて制御することを特徴とする、付記１０記載の情報処理装置。
（付記１２）  該制御手段は、各ブロックのスリープ状態のランレベルを、外部からの割り込みに基づいて制御することを特徴とする、付記１０記載の情報処理装置。
【００４２】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【図面の簡単な説明】
【００４３】
【図１】本発明の情報処理装置の一実施例を示すブロック図である。
【図２】バスブリッジブロックの動作を説明する図である。
【符号の説明】
【００４４】
１      情報処理装置
１１      ＣＰＵ
１２      汎用ローカルバス
１３      ＳＤＲＡＭ
１４      ＳＤＲＡＭ用の高速バス
３１      外部デバイス
５１      コアブロック
５２      他のブロック
６１      データ制御部
６２      制御情報処理部
１１１      ブロック部
１１２      バスブリッジブロック
【図１】
2007257169.tif 000003
【図２】
2007257169.tif 000004