(57)【要約】【課題】システム性能不足及びハードウェア資源不足の発生を抑制する。【解決手段】本発明に係る情報処理装置は、複数のアプリケーションを実行する複数のマスタ１０１と、スレーブ１０２と、複数のマスタ１０１と、スレーブ１０２とを接続するシステムバス１０４とを含み、複数のアプリケーションのうち少なくとも一つは、複数のマスタ１０１のうち２以上のマスタにより実行され、情報処理装置１００は、アクセス要求及び応答データに含まれるＡＳＩＤ１２７を参照し、システムバス１０４を介して転送される、複数のアプリケーションごとのデータ転送量を制御する。【選択図】図１
2012108617.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムを実行する複数のマスタと、
スレーブと、
前記複数のマスタと、前記スレーブとを接続するシステムバスとを含む情報処理装置であって、
前記複数のアプリケーションプログラムのうち少なくとも一つは、前記複数のマスタのうち２以上のマスタにより実行され、
前記複数のマスタの各々は、前記複数のアプリケーションプログラムのいずれかを実行することにより、前記システムバスを介して、前記スレーブに、当該アプリケーションプログラムの識別子を含むアクセス要求を送信し、
前記スレーブは、前記アクセス要求に対して、前記識別子を含む応答データを、前記システムバスを介して、当該アクセス要求の送信元のマスタに送信し、
前記情報処理装置は、前記アクセス要求及び応答データに含まれる前記識別子を参照し、前記システムバスを介して転送される、前記複数のアプリケーションプログラムごとのデータ転送量を制御する
情報処理装置。
【請求項２】
前記情報処理装置は、さらに、システム制御レジスタを備え、
前記複数のマスタのうち少なくとも一つは、前記システム制御レジスタに、前記複数のアプリケーションプログラムの各々が使用可能な転送帯域を設定し、
前記システムバスは、前記アクセス要求及び応答データに含まれる前記識別子を参照し、前記複数のアプリケーションプログラムの各々が、前記システム制御レジスタに設定された転送帯域内でデータ転送を行うように制御することで、前記複数のアプリケーションプログラムごとのデータ転送量を制御する調停部を備える
請求項１記載の情報処理装置。
【請求項３】
前記情報処理装置は、前記スレーブを含む複数のスレーブを含み、
前記情報処理装置は、さらに、
前記システムバスを介して転送されているアクセス要求及び応答データに含まれる前記識別子を参照し、前記システムバスを介して転送されている前記アプリケーションプログラムごとのデータ転送量を監視し、当該データ転送量が当該アプリケーションプログラムの機能を実現するために、単位時間当たりに必要な下限データ量以上であるか否かを判定するモニタ回路を備え、
前記情報処理装置は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やす
請求項１記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、他のアプリケーションプログラムのデータ転送量を減らすとともに、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やす
請求項３記載の情報処理装置。
【請求項５】
前記システムバスは、
バスと、
前記複数のマスタから送信された前記アクセス要求を保持するとともに、保持する前記アクセス要求を、前記バスを介して、前記スレーブに発行する受信バッファとを備え、
前記受信バッファは、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、他のアプリケーションプログラムのアクセス要求の発行量を減らすとともに、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求の発行量を増やす
請求項４記載の情報処理装置。
【請求項６】
前記システムバスは、
バスと、
前記バスを介して、前記複数のマスタから送信された前記アクセス要求を保持するとともに、保持する前記アクセス要求を、前記スレーブに発行する送信バッファとを備え、
前記送信バッファは、
前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在しないと判定された場合は、ある一つのアプリケーションプログラムの一連のアクセス要求を連続して順次発行した後、他のアプリケーションプログラムのアクセス要求を発行する通常動作を行い、
前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合は、前記一つのアプリケーションプログラムの前記一連のアクセス要求中に、他のアプリケーションプログラムのアクセス要求を発行するインターリーブ動作を行う
請求項４記載の情報処理装置。
【請求項７】
前記システムバスは、設定された前記アプリケーションプログラムの優先度に応じて、複数のアクセス要求及び応答データを調停する調停部を備え、
前記調停部は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、当該アプリケーションプログラムの優先度を上げる、又は、他のアプリケーションプログラムの優先度を下げる
請求項４記載の情報処理装置。
【請求項８】
前記システムバスは、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求先を、現在のアクセス要求転送先のスレーブよりも処理性能が高いスレーブに変更する
請求項４記載の情報処理装置。
【請求項９】
前記システムバスは、前記アクセス要求に含まれるアクセス先のアドレスを参照し、当該アドレスへ当該アクセス要求を送信する転送先選択部を備え、
前記転送先選択部は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、物理アドレスマップを変更することにより、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求先を、現在のアクセス要求転送先のスレーブよりも処理性能が高いスレーブに変更する
請求項８記載の情報処理装置。
【請求項１０】
前記システムバスは、
前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、論理アドレスマップを変更することにより、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求先を、現在のアクセス要求転送先のスレーブよりも処理性能が高いスレーブに変更する論理アドレス制御回路を備える
請求項８記載の情報処理装置。
【請求項１１】
前記情報処理装置は、さらに、前記システムバスにクロックを供給するクロック制御回路を備え、
前記クロック制御回路は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記システムバスに供給するクロックの周波数を上げる
請求項３記載の情報処理装置。
【請求項１２】
前記情報処理装置は、さらに、ブリッジを備え、
前記システムバスは、
前記複数のマスタの一つである第１マスタと、前記ブリッジとを接続する第１システムバスと、
前記ブリッジと、前記複数のスレーブの一つである第１スレーブとを接続する第２システムバスとを含み、
前記モニタ回路は、
前記第１システムバスを介して転送されているアクセス要求及び応答データに含まれる前記識別子を参照し、前記第１システムバスを介して転送されている前記アプリケーションプログラムごとのデータ転送量を監視し、当該データ転送量が前記下限データ量以上であるか否かを判定する第１モニタ回路と、
前記第２システムバスを介して転送されているアクセス要求及び応答データに含まれる前記識別子を参照し、前記第２システムバスを介して転送されている前記アプリケーションプログラムごとのデータ転送量を監視し、当該データ転送量が前記下限データ量以上であるか否かを判定する第２モニタ回路とを含み、
前記情報処理装置は、前記第１モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記第２システムバスにおける、アプリケーションプログラムのデータ転送量を減らすとともに、前記第１システムバスにおける、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やす
請求項４記載の情報処理装置。
【請求項１３】
前記情報処理装置は、前記第１モニタ回路により、前記第１システムバスにおいて、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、
当該アプリケーションプログラムと依存関係にある、前記第２システムバスのアプリケーションのデータ転送量を増加させることにより、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やすとともに、
前記第２システムバスの他のアプリケーションプログラムのデータ転送量を減らす
請求項１２記載の情報処理装置。
【請求項１４】
前記情報処理装置は、
前記第１マスタと、前記ブリッジと、前記第１システムバスとを含む１チップの第１半導体集積回路と、
前記第１スレーブと、前記第２システムバスとを含む１チップの第２半導体集積回路とを備える
請求項１３記載の情報処理装置。
【請求項１５】
前記情報処理装置は、さらに、
前記第１システムバス及び前記第２システムバスにクロックを供給するクロック供給回路を備え、
前記クロック供給回路は、
前記第１モニタ回路により、前記第１システムバスにおいて、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記第１システムバスに供給するクロックの周波数を上げるとともに、前記第２システムバスに供給するクロックの周波数を下げる
請求項１２記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムバスを含む情報処理装置に関する。
【背景技術】
【０００２】
従来のオンチップバスにおけるシステム資源管理方法は、転送元のトランザクション及びプログラムレベルに対して、バスアービトレーションの優先順位付け及びシステムバス帯域割振り、そしてハードウェア資源割付けを行っている。このように、従来の方法は、局所的な情報によりシステム資源を管理していた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１４９４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のオンチップバスにおけるシステム資源管理方法では、転送元のトランザクション及びプログラムレベルに対して、バスアービトレーションの優先順位付け及びシステムバス帯域割振り、そしてハードウェア資源割付けが行われていた。そのため、複数の転送元と複数の転送先との間で実現される複数のアプリケーション処理に対するシステム性能を正確に見積もることが困難である。これにより、従来の方法は、ソフトウェアの変更を行う場合、及び見積もり以上の仕様が要求された場合に、システム性能不足及びハードウェア資源不足が発生するという課題を有する。
【０００５】
そこで、本発明は、システム性能不足及びハードウェア資源不足の発生を抑制できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一形態に係る情報処理装置は、複数のアプリケーションプログラムを実行する複数のマスタと、スレーブと、前記複数のマスタと、前記スレーブとを接続するシステムバスとを含む情報処理装置であって、前記複数のアプリケーションプログラムのうち少なくとも一つは、前記複数のマスタのうち２以上のマスタにより実行され、前記複数のマスタの各々は、前記複数のアプリケーションプログラムのいずれかを実行することにより、前記システムバスを介して、前記スレーブに、当該アプリケーションプログラムの識別子を含むアクセス要求を送信し、前記スレーブは、前記アクセス要求に対して、前記識別子を含む応答データを、前記システムバスを介して、当該アクセス要求の送信元のマスタに送信し、前記情報処理装置は、前記アクセス要求及び応答データに含まれる前記識別子を参照し、前記システムバスを介して転送される、前記複数のアプリケーションプログラムごとのデータ転送量を制御する。
【０００７】
この構成によれば、本発明の一形態に係る情報処理装置は、アプリケーションプログラムごとのデータ転送量を制御できる。これにより、本発明の一形態に係る情報処理装置は、アプリケーションプログラムに必要なデータ転送量を容易に確保できるので、システム性能不足及びハードウェア資源不足の発生を抑制できる。
【０００８】
また、前記情報処理装置は、さらに、システム制御レジスタを備え、前記複数のマスタのうち少なくとも一つは、前記システム制御レジスタに、前記複数のアプリケーションプログラムの各々が使用可能な転送帯域を設定し、前記システムバスは、前記アクセス要求及び応答データに含まれる前記識別子を参照し、前記複数のアプリケーションプログラムの各々が、前記システム制御レジスタに設定された転送帯域内でデータ転送を行うように制御することで、前記複数のアプリケーションプログラムごとのデータ転送量を制御する調停部を備えてもよい。
【０００９】
この構成によれば、本発明の一形態に係る情報処理装置は、アプリケーションプログラムごとのデータ転送量が設定された値以下になるように制御できる。
【００１０】
また、前記情報処理装置は、前記スレーブを含む複数のスレーブを含み、前記情報処理装置は、さらに、前記システムバスを介して転送されているアクセス要求及び応答データに含まれる前記識別子を参照し、前記システムバスを介して転送されている前記アプリケーションプログラムごとのデータ転送量を監視し、当該データ転送量が当該アプリケーションプログラムの機能を実現するために、単位時間当たりに必要な下限データ量以上であるか否かを判定するモニタ回路を備え、前記情報処理装置は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やしてもよい。
【００１１】
この構成によれば、本発明の一形態に係る情報処理装置は、アプリケーションプログラムごとのデータ転送量が下限データ量以下になった場合には、当該アプリケーションプログラムのデータ転送量を増やすことができる。
【００１２】
また、前記情報処理装置は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、他のアプリケーションプログラムのデータ転送量を減らすとともに、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やしてもよい。
【００１３】
この構成によれば、本発明の一形態に係る情報処理装置は、アプリケーションプログラムごとのデータ転送量が下限データ量以下になった場合には、当該アプリケーションプログラムに、他のアプリケーションプログラムの処理性能を委譲できる。
【００１４】
また、前記システムバスは、バスと、前記複数のマスタから送信された前記アクセス要求を保持するとともに、保持する前記アクセス要求を、前記バスを介して、前記スレーブに発行する受信バッファとを備え、前記受信バッファは、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、他のアプリケーションプログラムのアクセス要求の発行量を減らすとともに、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求の発行量を増やしてもよい。
【００１５】
また、前記システムバスは、バスと、前記バスを介して、前記複数のマスタから送信された前記アクセス要求を保持するとともに、保持する前記アクセス要求を、前記スレーブに発行する送信バッファとを備え、前記送信バッファは、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在しないと判定された場合は、ある一つのアプリケーションプログラムの一連のアクセス要求を連続して順次発行した後、他のアプリケーションプログラムのアクセス要求を発行する通常動作を行い、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合は、前記一つのアプリケーションプログラムの前記一連のアクセス要求中に、他のアプリケーションプログラムのアクセス要求を発行するインターリーブ動作を行ってもよい。
【００１６】
また、前記システムバスは、設定された前記アプリケーションプログラムの優先度に応じて、複数のアクセス要求及び応答データを調停する調停部を備え、前記調停部は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、当該アプリケーションプログラムの優先度を上げる、又は、他のアプリケーションプログラムの優先度を下げてもよい。
【００１７】
また、前記システムバスは、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求先を、現在のアクセス要求転送先のスレーブよりも処理性能が高いスレーブに変更してもよい。
【００１８】
また、前記システムバスは、前記アクセス要求に含まれるアクセス先のアドレスを参照し、当該アドレスへ当該アクセス要求を送信する転送先選択部を備え、前記転送先選択部は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、物理アドレスマップを変更することにより、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求先を、現在のアクセス要求転送先のスレーブよりも処理性能が高いスレーブに変更してもよい。
【００１９】
また、前記システムバスは、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、論理アドレスマップを変更することにより、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのアクセス要求先を、現在のアクセス要求転送先のスレーブよりも処理性能が高いスレーブに変更する論理アドレス制御回路を備えてもよい。
【００２０】
また、前記情報処理装置は、さらに、前記システムバスにクロックを供給するクロック制御回路を備え、前記クロック制御回路は、前記モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記システムバスに供給するクロックの周波数を上げてもよい。
【００２１】
この構成によれば、本発明の一形態に係る情報処理装置は、他のアプリケーションプログラムの処理性能を、性能不足のアプリケーションプログラムに委譲できない場合でも、当該性能不足のアプリケーションプログラムのデータ転送量を増やすことができる。
【００２２】
また、前記情報処理装置は、さらに、ブリッジを備え、前記システムバスは、前記複数のマスタの一つである第１マスタと、前記ブリッジとを接続する第１システムバスと、前記ブリッジと、前記複数のスレーブの一つである第１スレーブとを接続する第２システムバスとを含み、前記モニタ回路は、前記第１システムバスを介して転送されているアクセス要求及び応答データに含まれる前記識別子を参照し、前記第１システムバスを介して転送されている前記アプリケーションプログラムごとのデータ転送量を監視し、当該データ転送量が前記下限データ量以上であるか否かを判定する第１モニタ回路と、前記第２システムバスを介して転送されているアクセス要求及び応答データに含まれる前記識別子を参照し、前記第２システムバスを介して転送されている前記アプリケーションプログラムごとのデータ転送量を監視し、当該データ転送量が前記下限データ量以上であるか否かを判定する第２モニタ回路とを含み、前記情報処理装置は、前記第１モニタ回路により、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記第２システムバスにおける、アプリケーションプログラムのデータ転送量を減らすとともに、前記第１システムバスにおける、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やしてもよい。
【００２３】
また、前記情報処理装置は、前記第１モニタ回路により、前記第１システムバスにおいて、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、当該アプリケーションプログラムと依存関係にある、前記第２システムバスのアプリケーションのデータ転送量を増加させることにより、前記データ転送量が前記下限データ量未満のアプリケーションプログラムのデータ転送量を増やすとともに、前記第２システムバスの他のアプリケーションプログラムのデータ転送量を減らしてもよい。
【００２４】
この構成によれば、本発明の一形態に係る情報処理装置は、システムバス内において、他のアプリケーションプログラムの処理性能を、性能不足のアプリケーションプログラムに委譲できない場合でも、当該性能不足のアプリケーションプログラムのデータ転送量を増やすことができる。
【００２５】
また、前記情報処理装置は、前記第１マスタと、前記ブリッジと、前記第１システムバスとを含む１チップの第１半導体集積回路と、前記第１スレーブと、前記第２システムバスとを含む１チップの第２半導体集積回路とを備えてもよい。
【００２６】
また、前記情報処理装置は、さらに、前記第１システムバス及び前記第２システムバスにクロックを供給するクロック供給回路を備え、前記クロック供給回路は、前記第１モニタ回路により、前記第１システムバスにおいて、データ転送量が前記下限データ量未満のアプリケーションプログラムが存在すると判定された場合、前記第１システムバスに供給するクロックの周波数を上げるとともに、前記第２システムバスに供給するクロックの周波数を下げてもよい。
【００２７】
この構成によれば、本発明の一形態に係る情報処理装置は、性能不足のアプリケーションプログラムと依存関係がある、他のシステムバスの、余力のあるアプリケーションが存在しない場合でも、性能不足のアプリケーションのデータ転送量を増加できる。
【００２８】
なお、本発明は、このような情報処理装置として実現できるだけでなく、情報処理装置に含まれる特徴的な手段をステップとする情報処理方法、又は情報処理装置の制御方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の非一時的なコンピュータ読み取り可能な記録媒体、及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【００２９】
さらに、本発明は、このような情報処理装置の機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現してもよい。
【発明の効果】
【００３０】
以上より、本発明は、システム性能不足及びハードウェア資源不足の発生を抑制できる情報処理装置を提供できる。
【図面の簡単な説明】
【００３１】
【図１】本発明の第１の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るアプリケーションの実行例を示す図である。
【図３Ａ】本発明の第１の実施形態に係るリード要求を示す図である。
【図３Ｂ】本発明の第１の実施形態に係るライト要求を示す図である。
【図３Ｃ】本発明の第１の実施形態に係る応答データを示す図である。
【図４】本発明の第１の実施形態に係る情報処理装置による処理を示すフローチャートである。
【図５】本発明の第１の実施形態に係る、帯域割当とデータ転送量とを示す図である。
【図６】本発明の第２の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図７】本発明の第２の実施形態に係る情報処理装置による設定処理のフローチャートである。
【図８】本発明の第２の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図９】本発明の第２の実施形態に係る、データ転送量を示す図である。
【図１０】本発明の第３の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図１１】本発明の第３の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図１２Ａ】本発明の第３の実施形態に係る通常動作を示す図である。
【図１２Ｂ】本発明の第３の実施形態に係るインターリーブ動作を示す図である。
【図１３】本発明の第４の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図１４】本発明の第４の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図１５】本発明の第５の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図１６】本発明の第５の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図１７】本発明の第６の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図１８】本発明の第６の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図１９】本発明の第７の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図２０】本発明の第７の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図２１】本発明の第７の実施形態に係る、データ転送量を示す図である。
【図２２】本発明の第８の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図２３】本発明の第８の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図２４】本発明の第８の実施形態に係る、データ転送量を示す図である。
【図２５】本発明の第８の実施形態の変形例に係る情報処理装置の概略構成を示すブロック図である。
【図２６】本発明の第９の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図２７】本発明の第９の実施形態に係る情報処理装置によるデータ転送量制御処理のフローチャートである。
【図２８】本発明の第９の実施形態に係る、データ転送量を示す図である。
【発明を実施するための形態】
【００３２】
以下、本発明に係る情報処理装置の実施の形態について、図面を参照しながら詳細に説明する。
【００３３】
（第１の実施形態）
本発明の第１の実施形態に係る情報処理装置は、アプリケーションプログラムごとに、バス帯域を割り当てる。これにより、本発明の第１の実施形態に係る情報処理装置は、アプリケーションに必要なデータ転送量を容易に確保できるので、システム性能不足及びハードウェア資源不足の発生を抑制できる。
【００３４】
まず、本発明の第１の実施形態に係る情報処理装置の構成を説明する。
【００３５】
図１は、本発明の第１の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【００３６】
図１に示す情報処理装置１００は、複数のマスタ１０１Ａ〜１０３Ｃと、複数のスレーブ１０２Ａ〜１０２Ｂと、システム制御レジスタ１０３と、システムバス１０４とを含む。
【００３７】
システムバス１０４は、複数のマスタ１０１Ａ〜１０１Ｃと、複数のスレーブ１０２Ａ及び１０２Ｂと、システム制御レジスタ１０３とを接続する。
【００３８】
また、以下では、マスタ１０１Ａ〜１０３Ｃを特に区別しない場合には、マスタ１０１と記し、スレーブ１０２Ａ〜１０２Ｂを特に区別しない場合にはスレーブ１０２と記す。また、以下においても、同一構成の複数の構成要素に対して、同様の記載方法を用いる。
【００３９】
また、図１では、情報処理装置１００が、３個のマスタ１０１と、２個のスレーブ１０２とを備える例を示しているが、情報処理装置１００が備えるマスタ１０１及びスレーブ１０２の数はこれに限定されない。例えば、スレーブ１０２は１個であってもよい。
【００４０】
マスタ１０１は、例えば、ＣＰＵ等のプロセッサである。このマスタ１０１は、システムバス１０４を介して、複数のスレーブ１０２及びシステム制御レジスタ１０３へアクセス要求を送信する。
【００４１】
スレーブ１０２は、メモリ又は入出力インターフェース部等である。このスレーブ１０２は、マスタ１０１から送信されたアクセス要求を受信する。また、スレーブ１０２は、必要に応じて、受信したアクセス要求に対する応答データを、マスタ１０１へ返信する。
【００４２】
また、複数のマスタ１０１は、複数のアプリケーションプログラム（以下、アプリケーション）を実行する。ここで、アプリケーションとは、例えば、動画像の再生処理等であり、各々が複数のプログラムを含む。また、図２に示すように、各アプリケーションは、１以上のマスタ１０１により実行される。言い換えると、複数のアプリケーションは、２以上のマスタ１０１により実行されるアプリケーションを含む。例えば、ある１マスタ１０１が、あるアプリケーションに含まれる第１プログラムを実行し、他のマスタ１０１が同じアプリケーションに含まれる第２プログラムを実行する。
【００４３】
複数のマスタ１０１の各々は、複数のアプリケーションのいずれかを実行することにより、システムバス１０４を介して、スレーブ１０２にアクセス要求を送信する。
【００４４】
ここで、アクセス要求は、リード要求及びライト要求のうちいずれかである。
【００４５】
図３Ａは、リード要求の一例を示す図である。図３Ａに示すように、リード要求は、アクセス先アドレス１２５と、アクセス元アドレス１２６と、ＡＳＩＤ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｅｄ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）１２７とを含む。
【００４６】
アクセス先アドレス１２５は、アクセス先のスレーブ１０２又はシステム制御レジスタ１０３のアドレスである。アクセス元アドレス１２６は、アクセス元のマスタ１０１のアドレスである。
【００４７】
ＡＳＩＤ１２７は、当該アクセス要求を実行したアプリケーションを示す識別子である。
【００４８】
図３Ｂは、ライト要求の一例を示す図である。図３Ｂに示すように、ライト要求は、アクセス先アドレス１２５と、ＡＳＩＤ１２７と、ライトデータ１２８とを含む。なお、ライト要求は、さらに、アクセス元アドレス１２６を含んでもよい。また、アクセス要求は、上記以外の情報を含んでもよい。例えば、アクセス要求は、当該アクセス要求が、リード要求であるかライト要求であるかを示す制御情報等を含んでもよい。また、当該制御情報は、転送サイズ、転送タイプ及び転送回数等を示す情報を含んでもよい。
【００４９】
また、ライト要求と、ライトデータとを分割し、ライトデータを専用のバスを介して転送してもよい。この場合、例えば、ライト要求は、アクセス先アドレス１２５と、アクセス元アドレス１２６と、ＡＳＩＤ１２７と、上記制御情報とを含む。また、ライトデータは、アクセス元アドレス１２６と、ＡＳＩＤ１２７と、ライトデータ１２８とを含む。
【００５０】
スレーブ１０２及びシステム制御レジスタ１０３は、受信したライト要求に応じて、当該ライト要求に含まれるライトデータを格納する。また、スレーブ１０２及びシステム制御レジスタ１０３は、受信したリード要求に応じて、応答データを、システムバス１０４を介して、当該アクセス要求の送信元のマスタに送信する。
【００５１】
図３Ｃは、応答データの一例を示す図である。図３Ｂに示すように、応答データは、アクセス元アドレス１２６と、ＡＳＩＤ１２７と、リードデータ１２９とを含む。また、応答データは、上記以外の情報を含んでもよい。また、スレーブ１０２は、ライトデータを格納した後に、格納が完了したことを示すライト完了通知と、アクセス元アドレス１２６と、ＡＤＩＤ１２７と含む応答データを、システムバス１０４を介して、当該ライト要求の送信元のマスタに送信してもよい。
【００５２】
また、本発明の第１の実施形態に係る情報処理装置１００は、アクセス要求及び応答データに含まれるＡＳＩＤ１２７を参照し、システムバス１０４を介して転送される、複数のアプリケーションごとのデータ転送量を制御する。
【００５３】
システムバス１０４は、複数の受信バッファ１１０（１１０Ａ〜１１０Ｃ）及び１２０（１２０Ａ〜１２０Ｃ）と、複数の送信バッファ１１１（１１１Ａ〜１１１Ｃ）及び１２１（１２１Ａ〜１２１Ｃ）と、転送先選択部１１２（１１２Ａ〜１１２Ｃ）及び１２２（１２２Ａ〜１２２Ｃ）と、調停部１１３（１１３Ａ〜１１３Ｃ）及び１２３（１２３Ａ〜１２３）と、バス１１５とを含む。
【００５４】
ここで、受信バッファ１１０Ａ、送信バッファ１１１Ａ、転送先選択部１１２Ａ、及び調停部１１３Ａは、マスタ１０１Ａに対応する。受信バッファ１１０Ｂ、送信バッファ１１１Ｂ、転送先選択部１１２Ｂ、及び調停部１１３Ｂは、マスタ１０１Ｂに対応する。受信バッファ１１０Ｃ、送信バッファ１１１Ｃ、転送先選択部１１２Ｃ、及び調停部１１３Ｃは、マスタ１０１Ｃに対応する。
【００５５】
また、受信バッファ１２０Ａ、送信バッファ１２１Ａ、転送先選択部１２２Ａ、及び調停部１２３Ａは、スレーブ１０２Ａに対応する。受信バッファ１２０Ｂ、送信バッファ１２１Ｂ、転送先選択部１２２Ｂ、及び調停部１２３Ｂは、スレーブ１０２Ｂに対応する。受信バッファ１２０Ｃ、送信バッファ１２１Ｃ、転送先選択部１２２Ｃ、及び調停部１２３Ｃは、システム制御レジスタ１０３に対応する。
【００５６】
受信バッファ１１０は、１段以上のメモリ又はレジスタで構成されている。この受信バッファ１１０は、当該受信バッファ１１０に対応するマスタ１０１から送信されたアクセス要求を受信し、受信したアクセス要求を保持する。また、受信バッファ１１０は、保持するアクセス要求を、当該受信バッファ１１０に対応する転送先選択部１１２へ順次送信する。
【００５７】
転送先選択部１１２は、当該転送先選択部１１２に対応する受信バッファ１１０から送信されたアクセス要求を、当該アクセス要求に含まれるアクセス先アドレス１２５に対応するスレーブ１０２（調停部１２３）へ、バス１１５を介して送信する。
【００５８】
調停部１２３は、転送先選択部１１２から送信されたアクセス要求を受信し、受信したアクセス要求を、当該調停部１２３に対応する送信バッファ１２１へ送信する。また、調停部１２３は、複数のマスタ１０１から送信された複数のアクセス要求を同時に受信した場合には、優先度の高いアクセス要求を判定し、当該優先度の高いアクセス要求を、当該調停部１２３に対応する送信バッファ１２１へ送信する。
【００５９】
送信バッファ１２１は、１段以上のメモリ又はレジスタで構成されている。この送信バッファ１２１は、当該送信バッファ１２１に対応する調停部１２３から送信されたアクセス要求を保持する。また、送信バッファ１２１は、保持するアクセス要求を、当該送信バッファ１２１に対応するスレーブ１０２又はシステム制御レジスタ１０３に順次送信する。
【００６０】
スレーブ１０２及びシステム制御レジスタ１０３は、受信したライト要求に応じて、当該ライト要求に含まれるライトデータ１２８を格納する。また、スレーブ１０２及びシステム制御レジスタ１０３は、受信したリード要求に応じて、応答データを、当該スレーブ１０２又はシステム制御レジスタ１０３に対応する受信バッファ１２０へ送信する。
【００６１】
受信バッファ１２０は、１段以上のメモリ又はレジスタで構成されている。この受信バッファ１１０は、当該受信バッファ１２０に対応するスレーブ１０２又はシステム制御レジスタ１０３から送信された応答データを受信し、受信した応答データを保持する。また、受信バッファ１２０は、保持する応答データを、当該受信バッファ１２０に対応する転送先選択部１２２へ順次送信する。
【００６２】
転送先選択部１２２は、対応する受信バッファ１２０から送信された応答データを、当該応答データに含まれるアクセス元アドレス１２６に対応するマスタ１０１（調停部１１３）へ、バス１１５を介して送信する。
【００６３】
調停部１１３は、転送先選択部１２２から送信された応答データを受信し、受信した応答データを、当該調停部１１３に対応する送信バッファ１１１へ送信する。また、調停部１１３は、複数のスレーブ１０２又はシステム制御レジスタ１０３から送信された複数の応答データを同時に受信した場合には、優先度の高い応答データを判定し、当該優先度の高い応答データを、当該調停部１１３に対応する送信バッファ１１１へ送信する。
【００６４】
送信バッファ１１１は、１段以上のメモリ又はレジスタで構成されている。この送信バッファ１１１は、当該送信バッファ１１１に対応する調停部１１３から送信された応答データを保持する。また、送信バッファ１１１は、保持する応答データを、当該送信バッファ１２１に対応するマスタ１０１に順次送信する。
【００６５】
バス１１５は、複数の転送先選択部１１２と複数の調停部１２３とを接続するとともに、複数の転送先選択部１２２と複数の調停部１１３とを接続する。また、バス１１５は、複数のデータ（図１の例では、最大６個のデータ）を並列に転送することが可能である。
【００６６】
以下、上記のように構成された情報処理装置１００の動作を説明する。
【００６７】
また、以下では図２に示すように、マスタ１０１Ａ〜１０１Ｃにより３種類のアプリケーション（ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２）が実施される場合を想定する。
【００６８】
まず、複数、又は一つのマスタ１０１は、システム制御レジスタ１０３へ事前に見積もった３種類のアプリケーションの単位時間当たりの転送量を設定する。
【００６９】
図４は、情報処理装置１００による処理の流れを示すフローチャートである。
【００７０】
実行するアプリケーションが変更された場合（Ｓ１０１でＹｅｓ）、マスタ１０１は、アプリケーション毎の、単位時間当たりの転送量を算出する（Ｓ１０２）。
【００７１】
次に、マスタ１０１は、複数のアプリケーションの各々に割り当てる使用帯域を算出する。例えば、マスタ１０１は、使用可能な全通信帯域に対する各アプリケーションが使用可能な割合を算出する。そして、マスタ１０１は、算出した使用帯域を設定量としてシステム制御レジスタ１０３に設定する（Ｓ１０３）。
【００７２】
調停部１１３及び１２３は、システム制御レジスタ１０３に設定された設定量に応じて、調停するバス帯域を決定する（Ｓ１０４）。言い換えると、調停部１１３及び１２３は、複数のアプリケーションの各々が使用するバス帯域が、上記設定量内になるように、複数のアクセス要求及び応答データを調停する。具体的には、調停部１１３及び１２３は、受信した複数のアクセス要求を、当該複数のアクセス要求に含まれるＡＳＩＤ１２７を参照し、複数のアプリケーションの各々が、システム制御レジスタ１０３に設定された通信帯域内でデータ転送を行うように制御する。
【００７３】
図５は、設定量の具体例を示す図である。
【００７４】
図５では、ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２のそれぞれにバス帯域の上限が決定されている。また、ハッチング部分が現状のデータ転送量を示している。
【００７５】
図５（ａ）では各アプリケーションのデータ転送量は上限に達していなため、理想的な転送状態である。
【００７６】
図５（ｂ）では、図５（ａ）の状態からＡＳＩＤ０のデータ転送量が増加し、当該データ転送量が上限に達している。
【００７７】
この状態が継続した場合、情報処理装置１００を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）のシステム性能が不足する。これにより、システム動作が遅延したり、音声又は映像が途切れたりとシステム動作に悪影響が発生する。そこで、高負荷なアプリケーションを実施するごとにマスタ１０１からシステム制御レジスタ１０３に対し、その都度予想されるシステム性能値を設定することにより、アプリケーションに依存したバス帯域を保証することができる。
【００７８】
図５（ｃ）〜（ｅ）は、実行アプリケーション毎にバス帯域設定を再設定した状態を表している。
【００７９】
以上のように、実行するアプリケーション毎にその都度システムバス１０４上のデータ転送量を制御することにより、システム性能の安定を図ることができる。このように、本発明の第１の実施形態に係る情報処理装置１００は、アプリケーションに必要なデータ転送量を容易に確保できるので、システム性能不足及びハードウェア資源不足の発生を抑制できる。
【００８０】
しかし、図５（ｆ）に示すように見積もり性能以上のデータ転送量が必要な場合や、図５（ｅ）に示すように見積もり性能が過剰であった場合などには現状のシステムでは対応できない。なお、性能過剰な場合は性能不足に陥らないが電力面でデメリットがある。
【００８１】
なお、上記説明では、システム制御レジスタ１０３に、各アプリケーションに割り当てるバス帯域の割合が設定されるとしたが、さらに、以下の情報が設定されてもよい。
【００８２】
例えば、システム制御レジスタ１０３に、優先するアプリケーションを設定してもよい。この場合、調停部１１３及び１２３は、システム制御レジスタ１０３に設定されているアプリケーションのアクセス要求及び応答データを優先して出力する。また、受信バッファ１１０及び１２０と送信バッファ１１１及び１２１は、システム制御レジスタ１０３に設定されているアプリケーションのアクセス要求及び応答データを、他のアプリケーションのアクセス要求及び応答データより先に送信する。
【００８３】
また、これらの優先設定は、複数の調停部１１３及び１２３の各々に対して個別に設定されてもよい。同様に、これらの優先設定は、複数の受信バッファ１１０及び１２０と送信バッファ１１１及び１２１との各々に対して個別に設定されてもよい。
【００８４】
（第２の実施形態）
図６は、本発明の第２の実施形態に係る情報処理装置１００Ａの概略構成を示すブロック図である。なお、以下では、第１の実施形態に係る情報処理装置１００との相違点を主に説明し、重複する説明は省略する。また、図６において、図１と同様の要素には同一の符号を付している。
【００８５】
第２の実施形態に係る情報処理装置１００Ａは、第１の実施形態に係る情報処理装置１００の構成に対して、システムバス１０４Ａの構成がシステムバス１０４と異なる。具体的には、システムバス１０４Ａは、システムバス１０４の構成に加え、さらに、モニタ回路１３０を備える。また、情報処理装置１００Ａでは、システム制御レジスタ１０３がスレーブ１０２Ｃに置き換わっている。
【００８６】
なお、図６では、情報処理装置１００Ａが、３個のマスタ１０１Ａ〜１０１Ｃと、３個のスレーブ１０２Ａ〜１０２Ｃとを備える例を示している。
【００８７】
モニタ回路１３０は、バス１１５を転送されるアプリケーション毎に全てのバストランザクションを監視するＡＳＩＤモニタである。具体的には、モニタ回路１３０は、システムバス１０４を介して転送されているアクセス要求及び応答データに含まれるＡＳＩＤ１２７を参照し、システムバス１０４を介して転送されているアプリケーションごとのデータ転送量を監視する。そして、モニタ回路１３０は、当該データ転送量が当該アプリケーションの機能を実現するために、単位時間当たりに必要な下限データ量以上であるか否かを判定する。
【００８８】
そして情報処理装置１００Ａは、モニタ回路１３０により、データ転送量が下限データ量未満のアプリケーション（以下、性能不足のアプリケーション）が存在すると判定された場合、性能不足のアプリケーションのデータ転送量を増やす。
【００８９】
具体的には、情報処理装置１００Ａは、モニタ回路１３０により、性能不足のアプリケーションが存在すると判定された場合、余力のあるアプリケーションのデータ転送量を減らすとともに、性能不足のアプリケーションプログラムのデータ転送量を増やす。ここで余力のあるアプリケーションとは、下限データ量に予め定められたデータ量分を加えた値より、データ転送量が多いアプリケーションである。
【００９０】
上記のように構成された情報処理装置１００Ａについて、以下にその動作を説明する。
【００９１】
また、以下では図２に示すように、マスタ１０１Ａ〜１０１Ｃにより３種類のアプリケーション（ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２）が実施される場合を想定する。
【００９２】
まず、複数、又は一つのマスタ１０１は、モニタ回路１３０に、事前に見積もった３種類のアプリケーションの単位時間当たりの転送量の必要最低値である下限データ量を設定する。
【００９３】
図７は、マスタ１０１による下限データ量の設定処理のフローチャートである。
【００９４】
図７に示すように、実行するアプリケーションが変更された場合（Ｓ２０１でＹｅｓ）、マスタ１０１は、アプリケーション毎の、下限データ量を算出し、算出した下限データ量をモニタ回路１３０に設定する（Ｓ２０２）。
【００９５】
図８は、情報処理装置１００Ａによるデータ転送量の制御処理のフローチャートである。また、図９は、データ転送量の一例を示す図である。なお、図９では、ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２のそれぞれの下限データ量を上下矢印で示しており、ハッチング部分が現状のデータ転送量を示している。
【００９６】
図８に示すように、モニタ回路１３０は、所定の時間ごとに、アプリケーション毎のデータ転送量をモニタ（監視）する（Ｓ２１１）。
【００９７】
例えば、図９（ａ）では各アプリケーションのデータ転送量は下限に達していない（Ｓ２１２でＮｏ）ため、理想的な転送状態である。
【００９８】
一方、図９（ｂ）は、ＡＳＩＤ０のデータ転送量が低下し、下限データ量を下回っていること表している。
【００９９】
このように、性能不足のアプリケーションが存在する場合（Ｓ２１２でＹｅｓ）、モニタ回路１３０は、余力のあるアプリケーションを検知する。そして、モニタ回路１３０は、検知した余力のあるアプリケーションのデータ転送量を減らすとともに、性能不足のアプリケーションのデータ転送量を増やす。例えば、図９（ｃ）に示すように、モニタ回路１３０は、ＡＳＩＤ１のアプリケーションのデータ転送量を減らすとともに、ＡＳＩＤ０のデータ転送量を増やす。
【０１００】
具体的には、送信バッファ１１１及び受信バッファ１１０は、余力のあるアプリケーションのコマンド発行量を抑制するとともに、性能不足のアプリケーションのコマンド発行量を増加させる（Ｓ２１３）。例えば、送信バッファ１１１及び受信バッファ１１０は、余力のあるアプリケーションのコマンド発行間隔を長くするとともに、性能不足のアプリケーションのコマンド発行間隔を短くする。なお、送信バッファ１１１及び受信バッファ１１０は、余力のあるアプリケーションのアクセス要求又は応答データの保持に使用するバッファの段数を減少させるとともに、性能不足のアプリケーションのアクセス要求又は応答データの保持に使用するバッファの段数を増加させてもよい。
【０１０１】
以上のように、本発明の第２の実施形態に係る情報処理装置１００Ａは、実行するアプリケーション毎にシステムバス１０４Ａ上のデータ転送量をモニタし、モニタ結果に応じて、転送元の送信バッファ１１１及び受信バッファ１１０を制御することにより、システム性能の安定を図ることができる。
【０１０２】
（第３の実施形態）
本発明の第３の実施形態では、上述した第２の実施形態の変形例について説明する。
【０１０３】
図１０は、本発明の第３の実施形態に係る情報処理装置１００Ｂの概略構成を示すブロック図である。
【０１０４】
図１０に示す情報処理装置１００Ｂは、システムバス１０４Ｂの機能が、システムバス１０４Ａと異なる。具体的には、システムバス１０４Ｂでは、受信バッファ１１０及び送信バッファ１１１に加え、スレーブ１０２側の受信バッファ１２０及び送信バッファ１２１が、モニタ回路１３０のモニタ結果に応じて、制御を変更する。
【０１０５】
上記のように構成された情報処理装置１００Ｂについて、以下にその動作を説明する。
【０１０６】
また、３種類のアプリケーション（ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２）が一つのスレーブ１０２に集中してアクセスすることにより、データ転送量不足が発生した場合を想定する。
【０１０７】
図１１は、第３の実施形態に係る情報処理装置１００Ｂの動作を示すフローチャートである。
【０１０８】
まず、第２の実施形態と同様に、３種類のアプリケーションの下限データ量が設定される。
【０１０９】
次に、モニタ回路１３０は、所定の時間ごとに、アプリケーション毎のデータ転送量をモニタ（監視）する（Ｓ２１１）。
【０１１０】
例えば、図９（ｂ）に示すように、ＡＳＩＤ０のデータ転送量が下限データ量を下回っている場合（Ｓ２１２でＹｅｓ）、受信バッファ１１０、１２０、送信バッファ１１１及び１２１のうち少なくとも一つは、性能不足のＡＳＩＤ０のアプリケーションに対してインターリーブ動作を行う（Ｓ２２３）。
【０１１１】
図１２Ａは、受信バッファ１１０、１２０、送信バッファ１１１及び１２１による通常動作を示す図である。また、図１２Ｂは、受信バッファ１１０、１２０、送信バッファ１１１及び１２１によるインターリーブ動作を示す図である。
【０１１２】
図１２Ａに示すように、通常動作時（データ転送量が下限データ量以上の場合）には、受信バッファ１１０、１２０、送信バッファ１１１及び１２１は、あるアプリケーションの一連のアクセス要求又は応答データを連続して順次発行した後、他のアプリケーションのアクセス要求又は応答データを発行する。例えば、受信バッファ１１０、１２０、送信バッファ１１１及び１２１は、図１２Ａに示すようにＡＳＩＤ１、ＡＳＩＤ１、ＡＳＩＤ０、ＡＳＩＤ１のアクセス要求を連続して受信した場合でも、３個のＡＳＩＤ１のアクセス要求を全て発行した後で、ＡＳＩＤ０のアクセス要求を発行する。
【０１１３】
一方、図１２Ｂに示すように、インターリーブ動作時には、受信バッファ１１０、１２０、送信バッファ１１１及び１２１は、あるアプリケーションの一連のアクセス要求の発行中であっても、空き期間がある場合には、他のアプリケーションのアクセス要求を当該空き期間に発行する。これにより、ＡＤＩＳ０のデータ転送量を増加させことができる。
【０１１４】
このように、本発明の第３の実施形態に係る情報処理装置１００Ｂは、実行するアプリケーション毎にシステムバス１０４Ｂ上のデータ転送量をモニタし、モニタ結果に応じて、マスタ１０１側の受信バッファ１１０及び送信バッファ１１１とスレーブ１０２側の受信バッファ１２０及び送信バッファ１２１とを制御することにより、システム性能の安定を図ることができる。
【０１１５】
（第４の実施形態）
本発明の第４の実施形態では、上述した第２の実施形態の変形例について説明する。
【０１１６】
図１３は、本発明の第４の実施形態に係る情報処理装置１００Ｃの概略構成を示すブロック図である。
【０１１７】
図１３に示す情報処理装置１００Ｃは、システムバス１０４Ｃの機能が、システムバス１０４Ａと異なる。具体的には、システムバス１０４Ｃでは、調停部１１３及び１２３が、モニタ回路１３０によるモニタ結果に応じて、制御を変更する。
【０１１８】
上記のように構成された情報処理装置１００Ｃについて、以下にその動作を説明する。
【０１１９】
図１４は、第４の実施形態に係る情報処理装置１００Ｃの動作を示すフローチャートである。
【０１２０】
まず、第２の実施形態と同様に、３種類のアプリケーションの下限データ量が設定される。
【０１２１】
次に、モニタ回路１３０は、所定の時間ごとに、アプリケーション毎のデータ転送量をモニタ（監視）する（Ｓ２１１）。
【０１２２】
例えば、図９（ｂ）に示すように、ＡＳＩＤ０のデータ転送量が下限データ量を下回っている場合（Ｓ２１２でＹｅｓ）、調停部１１３及び１２３は、余力のあるアプリケーション（ＡＳＩＤ１）のアクセス要求（応答データ）の優先順位の降下、又は、バス取得時間（バスを使用する時間）を短くするとともに、性能不足のアプリケーション（ＡＳＩＤ０）のアクセス要求（応答データ）の優先順位の上昇、又はバス取得時間を長くする（Ｓ２３３）。
【０１２３】
これにより、例えば、図９（ｃ）のように、余力のあるアプリケーション（ＡＳＩＤ１）のデータ転送量が抑制するとともに、性能不足のアプリケーション（ＡＳＩＤ０）のデータ転送量を増加させことができる。
【０１２４】
なお、ステップＳ２３３において、（１）余力のあるアプリケーションのアクセス要求（応答データ）の優先順位の降下と、（２）余力のあるアプリケーションのアクセス要求（応答データ）のバス取得時間を短くする処理と、（３）性能不足のアプリケーションのアクセス要求（応答データ）の優先順位の上昇と、（４）性能不足のアプリケーションのアクセス要求（応答データ）のバス取得時間を長くする処理とのうち、少なくとも一つ以上を行なえばよい。
【０１２５】
以上のように、本発明の第４の実施形態に係る情報処理装置１００Ｃは、実行するアプリケーション毎にシステムバス１０４Ｃ上のデータ転送量をモニタし、モニタ結果に応じて、調停部１１３及び１２３を制御することにより、システム性能の安定を図ることができる。
【０１２６】
（第５の実施形態）
本発明の第５の実施形態では、上述した第２の実施形態の変形例について説明する。
【０１２７】
図１５は、本発明の第５の実施形態に係る情報処理装置１００Ｄの概略構成を示すブロック図である。
【０１２８】
図１５に示す情報処理装置１００Ｄは、システムバス１０４Ｄの機能が、システムバス１０４Ａと異なる。具体的には、システムバス１０４Ｄでは、転送先選択部１１２及び１２２が、モニタ回路１３０のモニタ結果に応じて、制御を変更する。
【０１２９】
上記のように構成された情報処理装置１００Ｄについて、以下にその動作を説明する。
【０１３０】
図１６は、第５の実施形態に係る情報処理装置１００Ｄの動作を示すフローチャートである。
【０１３１】
まず、第２の実施形態と同様に、３種類のアプリケーションの下限データ量が設定される。
【０１３２】
次に、モニタ回路１３０は、所定の時間ごとに、アプリケーション毎のデータ転送量をモニタ（監視）する（Ｓ２１１）。
【０１３３】
例えば、図９（ｂ）に示すように、ＡＳＩＤ０のデータ転送量が下限データ量を下回っている場合（Ｓ２１２でＹｅｓ）、転送先選択部１１２及び１２２は、ＡＳＩＤ０のデータ転送先として、現在のデータ転送先（マスタ１０１又はスレーブ１０２）よりも高処理能力の転送先が存在するか否かを判定する（Ｓ２４３）。
【０１３４】
高処理能力の転送先が存在する場合（Ｓ２４３でＹｅｓ）、転送先選択部１１２及び１２２は、余力のあるＡＳＩＤ１の転送先が低処理能力の転送先になるように、かつ、性能不足のＡＳＩＤ０の転送先が高処理能力の転送先になるように、物理アドレスマップを変更する（Ｓ２４４）。これにより、図９（ｃ）に示すように、ＡＳＩＤ１のデータ転送量を抑制するとともに、ＡＳＩＤ０のデータ転送量を増加させことができる。
【０１３５】
以上のように、本発明の第５の実施形態に係る情報処理装置１００Ｄは、実行するアプリケーション毎にシステムバス１０４Ｄ上のデータ転送量をモニタし、モニタ結果に応じて、物理アドレスマップを更新することにより、システム性能の安定を図ることができる。
【０１３６】
（第６の実施形態）
本発明の第６の実施形態では、上述した第２の実施形態の変形例について説明する。
【０１３７】
図１７は、本発明の第６の実施形態に係る情報処理装置１００Ｅの概略構成を示すブロック図である。
【０１３８】
図１７に示す情報処理装置１００Ｅは、システムバス１０４Ｅの機能が、システムバス１０４Ａと異なる。具体的には、システムバス１０４Ｅは、さらに、論理アドレス制御回路１３１を備える。
【０１３９】
論理アドレス制御回路１３１は、モニタ回路１３０のモニタ結果に応じて、転送先選択部１１２及び１２２が用いる論理アドレスを変更する。
【０１４０】
上記のように構成された情報処理装置１００Ｅについて、以下にその動作を説明する。
【０１４１】
図１８は、第６の実施形態に係る情報処理装置１００Ｅの動作を示すフローチャートである。
【０１４２】
まず、第２の実施形態と同様に、３種類のアプリケーションの下限データ量が設定される。
【０１４３】
次に、モニタ回路１３０は、所定の時間ごとに、アプリケーション毎のデータ転送量をモニタ（監視）する（Ｓ２１１）。
【０１４４】
例えば、図９（ｂ）に示すように、ＡＳＩＤ０のデータ転送量が下限データ量を下回っている場合（Ｓ２１２でＹｅｓ）、転送先選択部１１２及び１２２は、ＡＳＩＤ０のデータ転送先として、現在のデータ転送先よりも高処理能力の転送先が存在するか否かを判定する（Ｓ２４３）。
【０１４５】
高処理能力の転送先が存在する場合（Ｓ２４３でＹｅｓ）、論理アドレス制御回路１３１は、余力のあるＡＳＩＤ１の転送先が低処理能力の転送先になるように、かつ、性能不足のＡＳＩＤ０の転送先が高処理能力の転送先になるように、論理アドレスマップを変更する（Ｓ２４４）。これにより、図９（ｃ）に示すように、ＡＳＩＤ１のデータ転送量を抑制するとともに、ＡＳＩＤ０のデータ転送量を増加できる。
【０１４６】
以上のように、本発明の第６の実施形態に係る情報処理装置１００Ｅは、実行するアプリケーション毎にシステムバス１０４Ｅ上のデータ転送量をモニタし、モニタ結果に応じて、論理アドレスマップを更新することにより、システム性能の安定を図ることができる。
【０１４７】
（第７の実施形態）
本発明の第７の実施形態では、上述した第２の実施形態の変形例について説明する。
【０１４８】
図１９は、本発明の第７の実施形態に係る情報処理装置１００Ｆの概略構成を示すブロック図である。
【０１４９】
図１９に示す情報処理装置１００Ｆは、さらに、クロック制御回路１３２を備える。
【０１５０】
クロック制御回路１３２は、モニタ回路１３０のモニタ結果に応じて、システムバス１０４Ｆに供給するクロックの周波数を変更する。
【０１５１】
上記のように構成された情報処理装置１００Ｆについて、以下にその動作を説明する。
【０１５２】
図２０は、第７の実施形態に係る情報処理装置１００Ｆの動作を示すフローチャートである。
【０１５３】
また、図２１は、情報処理装置１００Ｆにおけるデータ転送量の一例を示す図である。
【０１５４】
まず、第２の実施形態と同様に、３種類のアプリケーションの下限データ量が設定される。
【０１５５】
次に、モニタ回路１３０は、所定の時間ごとに、アプリケーション毎のデータ転送量をモニタ（監視）する（Ｓ２１１）。
【０１５６】
例えば、図２１（ａ）に示すように、ＡＳＩＤ０のデータ転送量が下限データ量を下回っている場合（Ｓ２１２でＹｅｓ）、クロック制御回路１３２は、システムバス１０４Ｆに供給するクロックの周波数を上げる（Ｓ２６３）。これにより、図２１（ｂ）に示すように、ＡＳＩＤ０のデータ転送量を増加させことができる。
【０１５７】
以上のように、本発明の第７の実施形態に係る情報処理装置１００Ｆは、実行するアプリケーション毎にシステムバス１０４Ｆ上のデータ転送量をモニタし、モニタ結果に応じて、バスクロック周波数を制御することにより、システム性能の安定を図ることができる。
【０１５８】
また、情報処理装置１００Ｆは、余力のあるアプリケーションの性能を、性能不足のアプリケーションに委譲できない場合でも、性能不足のアプリケーションのデータ転送量を増加させることができる。
【０１５９】
（第８の実施形態）
第８の実施形態では、複数のマスタ１０１及びスレーブ１０２がブリッジ１０５を経由して接続されている場合について説明する。
【０１６０】
図２２は、本発明の第８の実施形態に係る情報処理装置１００Ｇの概略構成を示すブロック図である。
【０１６１】
図２２に示す情報処理装置１００Ｇは、複数のマスタ１０１Ａ〜１０１Ｄ、１０１Ｆと、複数のスレーブ１０２Ａ、１０２Ｄ〜１０２Ｇと、複数のブリッジ１０５Ｂ及び１０５Ｃと、メインバス１０６Ａと、サブバス１０６Ｂ及び１０６Ｃとを含む。なお、メインバス１０６Ａ、サブバス１０６Ｂ及び１０６Ｃの機能は、例えば、第２の実施形態で述べたシステムバス１０４Ａの機能と同様である。
【０１６２】
また、ここでは、情報処理装置１００Ｇが、３個のシステムバス（メインバス１０６Ａ、サブバス１０６Ｂ及び１０６Ｃ）を備える場合を例に説明するが、システムバスの数は２個以上であればよい。
【０１６３】
メインバス１０６Ａは、マスタ１０１Ａ〜１０１Ｃと、スレーブ１０２Ａ、ブリッジ１０５Ｂ及び１０５Ｃとを接続する。
【０１６４】
このメインバス１０６Ａは、複数の受信バッファ１１０（１１０Ａ〜１１０Ｃ）及び１２０（１２０Ａ〜１２０Ｃ）と、複数の送信バッファ１１１（１１１Ａ〜１１１Ｃ）及び１２１（１２１Ａ〜１２１Ｃ）と、転送先選択部１１２（１１２Ａ〜１１２Ｃ）及び１２２（１２２Ａ〜１２２Ｃ）と、調停部１１３（１１３Ａ〜１１３Ｃ）及び１２３（１２３Ａ〜１２３）と、バス１１５Ａと、モニタ回路１３０Ａとを含む。
【０１６５】
ここで、受信バッファ１１０Ａ、送信バッファ１１１Ａ、転送先選択部１１２Ａ、及び調停部１１３Ａは、マスタ１０１Ａに対応する。受信バッファ１１０Ｂ、送信バッファ１１１Ｂ、転送先選択部１１２Ｂ、及び調停部１１３Ｂは、マスタ１０１Ｂに対応する。受信バッファ１１０Ｃ、送信バッファ１１１Ｃ、転送先選択部１１２Ｃ、及び調停部１１３Ｃは、マスタ１０１Ｃに対応する。
【０１６６】
また、受信バッファ１２０Ａ、送信バッファ１２１Ａ、転送先選択部１２２Ａ、及び調停部１２３Ａは、スレーブ１０２Ａに対応する。受信バッファ１２０Ｂ、送信バッファ１２１Ｂ、転送先選択部１２２Ｂ、及び調停部１２３Ｂは、ブリッジ１０５Ｂに対応する。受信バッファ１２０Ｃ、送信バッファ１２１Ｃ、転送先選択部１２２Ｃ、及び調停部１２３Ｃは、ブリッジ１０５Ｃに対応する。
【０１６７】
サブバス１０６Ｂは、マスタ１０１Ｄ及びブリッジ１０５Ｂと、スレーブ１０２Ｄ及び１０２Ｅを接続する。
【０１６８】
このサブバス１０６Ｂは、複数の受信バッファ１１０（１１０Ｄ及び１１０Ｅ）及び１２０（１２０Ｄ及び１２０Ｅ）と、複数の送信バッファ１１１（１１１Ｄ及び１１１Ｅ）及び１２１（１２１Ｄ及び１２１Ｅ）と、転送先選択部１１２（１１２Ｄ及び１１２Ｅ）及び１２２（１２２Ｄ及び１２２Ｅ）と、調停部１１３（１１３Ｄ及び１１３Ｅ）及び１２３（１２３Ｄ及び１２３）と、バス１１５Ｂと、モニタ回路１３０Ｂとを含む。
【０１６９】
ここで、受信バッファ１１０Ｄ、送信バッファ１１１Ｄ、転送先選択部１１２Ｄ、及び調停部１１３Ｄは、マスタ１０１Ｄに対応する。受信バッファ１１０Ｅ、送信バッファ１１１Ｅ、転送先選択部１１２Ｅ、及び調停部１１３Ｅは、ブリッジ１０５Ｂに対応する。
【０１７０】
また、受信バッファ１２０Ｄ、送信バッファ１２１Ｄ、転送先選択部１２２Ｄ、及び調停部１２３Ｄは、スレーブ１０２Ｄに対応する。受信バッファ１２０Ｅ、送信バッファ１２１Ｅ、転送先選択部１２２Ｅ、及び調停部１２３Ｅは、スレーブ１０２Ｅに対応する。
【０１７１】
サブバス１０６Ｃは、マスタ１０１Ｆ及びブリッジ１０５Ｃと、スレーブ１０２Ｆ及び１０２Ｇとを接続する。
【０１７２】
このサブバス１０６Ｃは、複数の受信バッファ１１０（１１０Ｆ及び１１０Ｇ）及び１２０（１２０Ｆ及び１２０Ｇ）と、複数の送信バッファ１１１（１１１Ｆ及び１１１Ｇ）及び１２１（１２１Ｆ及び１２１Ｇ）と、転送先選択部１１２（１１２Ｆ及び１１２Ｇ）及び１２２（１２２Ｆ及び１２２Ｇ）と、調停部１１３（１１３Ｆ及び１１３Ｇ）及び１２３（１２３Ｆ及び１２３）と、バス１１５Ｃと、モニタ回路１３０Ｃとを含む。
【０１７３】
ここで、受信バッファ１１０Ｆ、送信バッファ１１１Ｆ、転送先選択部１１２Ｆ、及び調停部１１３Ｆは、マスタ１０１Ｆに対応する。受信バッファ１１０Ｇ、送信バッファ１１１Ｇ、転送先選択部１１２Ｇ、及び調停部１１３Ｇは、ブリッジ１０５Ｃに対応する。
【０１７４】
また、受信バッファ１２０Ｆ、送信バッファ１２１Ｆ、転送先選択部１２２Ｆ、及び調停部１２３Ｆは、スレーブ１０２Ｆに対応する。受信バッファ１２０Ｇ、送信バッファ１２１Ｇ、転送先選択部１２２Ｇ、及び調停部１２３Ｇは、スレーブ１０２Ｇに対応する。
【０１７５】
なお、複数の受信バッファ１１０及び１２０と、複数の送信バッファ１１１及び１２１と、転送先選択部１１２及び１２２と、調停部１１３及び１２３との機能は、上述した第２の実施形態と同様である。また、バス１１５Ａ〜１１５Ｃと、モニタ回路１３０Ａ〜１３０Ｃとの機能は、第２の実施形態のバス１１５とモニタ回路１３０と同様である。つまり、モニタ回路１３０Ａは、メインバス１０６Ａを介して転送されているアクセス要求及び応答データに含まれるＡＳＩＤ１２７を参照し、メインバス１０６Ａを介して転送されているアプリケーションごとのデータ転送量を監視し、当該データ転送量が前記下限データ量以上であるか否かを判定する。また、モニタ回路１３０Ｂは、サブバス１０６Ｂを介して転送されているアクセス要求及び応答データに含まれるＡＳＩＤ１２７を参照し、サブバス１０６Ｂを介して転送されているアプリケーションごとのデータ転送量を監視し、当該データ転送量が前記下限データ量以上であるか否かを判定する。また、モニタ回路１３０Ｃは、サブバス１０６Ｃを介して転送されているアクセス要求及び応答データに含まれるＡＳＩＤ１２７を参照し、サブバス１０６Ｃを介して転送されているアプリケーションごとのデータ転送量を監視し、当該データ転送量が前記下限データ量以上であるか否かを判定する。
【０１７６】
また、情報処理装置１００Ｇは、メインバス１０６Ａ、サブバス１０６Ｂ及び１０６Ｃのうちいずれかに性能不足のアプリケーションが存在する場合、他のシステムバスにおけるアプリケーションのデータ転送量を減らすとともに、性能不足のアプリケーションが存在するシステムバスにおける、性能不足のアプリケーションのデータ転送量を増やす。
【０１７７】
具体的には、情報処理装置１００Ｇは、あるシステムバスの性能不足のアプリケーションと依存関係にある、他のシステムバスのアプリケーションのデータ転送量を増加させることにより、性能不足のアプリケーションのデータ転送量を増やす。また、情報処理装置１００Ｇは、他のシステムバスの他のアプリケーションのデータ転送量を減らす。
【０１７８】
上記のように構成された情報処理装置１００Ｇについて、以下にその動作を説明する。
【０１７９】
図２３は、第８の実施形態に係る情報処理装置１００Ｇの動作を示すフローチャートである。
【０１８０】
また、図２４は、情報処理装置１００Ｇにおけるデータ転送量を示す図である。なお、図２４では、ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２のそれぞれの下限データ量を上下矢印で示しており、ハッチング部分が現状のデータ転送量を示している。
【０１８１】
また、以下では、マスタ１０１Ａ〜１０１Ｄ及び１０１Ｆにより３種類のアプリケーション（ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２）が実施される場合を想定する。また、メインバス１０６ＡのＡＳＩＤ０とサブバス１０６ＢのＡＳＩＤ１と、サブバス１０６ＣのＡＳＩＤ１とに依存関係がある場合を想定する。ここで依存関係とは、依存関係にある一つのバスのアプリケーションのデータ転送量が増加（減少）することにより、依存関係にある他のバスのアプリケーションのデータ転送量が増加（減少）する関係である。つまり、サブバス１０６ＢのＡＳＩＤ１又はサブバス１０６ＣのＡＳＩＤ１のデータ転送量が増加することで、メインバス１０６ＡのＡＳＩＤ０のデータ転送量が増加する。
【０１８２】
まず、３種類のアプリケーションの下限データ量が、メインバス１０６Ａ、サブバス１０６Ｂ及びサブバス１０６Ｃ毎に設定される。
【０１８３】
次に、モニタ回路１３０Ａは、所定の時間ごとに、メインバス１０６Ａのアプリケーション毎のデータ転送量をモニタし、モニタ回路１３０Ｂは、所定の時間ごとに、サブバス１０６Ｂのアプリケーション毎のデータ転送量をモニタし、モニタ回路１３０Ｃは、所定の時間ごとに、サブバス１０６Ｃのアプリケーション毎のデータ転送量をモニタする（Ｓ３１１）。
【０１８４】
例えば、図２４（ａ）では、各アプリケーションのデータ転送量は下限に達していない（Ｓ３１２でＮｏ）ため、理想的な転送状態である。
【０１８５】
一方、図２４（ｂ）に示すように、メインバス１０６ＡのＡＳＩＤ０のデータ転送量が低下し、下限データ量を下回った場合（Ｓ３１２でＹｅｓ）、モニタ回路１３０Ａ〜１３０Ｃは、メインバス１０６ＡのＡＳＩＤ０と依存関係にあるサブバス１０６ＢのＡＳＩＤ１とサブバス１０６ＣのＡＳＩＤ１とのデータ転送量を増やす。さらに、モニタ回路１３０Ａ〜１３０Ｃは、メインバス１０６ＡのＡＳＩＤ０と依存関係になく、かつ、余力のあるサブバス１０６ＢのＡＳＩＤ０及びＡＳＩＤ２と、サブバス１０６ＣのＡＳＩＤ２とのデータ転送量を減らす（Ｓ３１３）。これにより、図２４（ｃ）に示すように、メインバス１０６ＡのＡＳＩＤ０のデータ転送量を増加できる。
【０１８６】
なお、データ転送量を増減させる方法としては、上述した第２〜第６の実施形態で説明した方法のいずれか１以上を用いることができる。
【０１８７】
以上のように、本発明の第８の実施形態に係る情報処理装置１００Ｇは、実行するアプリケーション毎に各システムバス上のデータ転送量をモニタし、モニタ結果に応じて、それぞれのバスドメイン間でデータ転送量を相互補完することにより、システム性能の安定を図ることができる。
【０１８８】
また、情報処理装置１００Ｇは、同一バス内で余力のあるアプリケーションの性能を、性能不足のアプリケーションへ委譲できない場合でも、性能不足のアプリケーションのデータ転送量を増加できる。
【０１８９】
また図２５は、本発明の第８の実施形態に係る情報処理装置の変形例である情報処理装置１００Ｈの概略構成を示すブロック図である。
【０１９０】
図２５に示すように、情報処理装置１００Ｈは、各々が１チップの半導体集積回路である半導体集積回路１０７Ａ〜１０７Ｃを備えてもよい。半導体集積回路１０７Ａは、上述したメインバス１０６Ａと、マスタ１０１Ａ〜１０１Ｃと、スレーブ１０２Ａと、ブリッジ１０５Ｂ及び１０５Ｃとを含む。半導体集積回路１０７Ｂは、上述したサブバス１０６Ｂと、マスタ１０１Ｄと、スレーブ１０２Ｄ及び１０２Ｅとを含む。半導体集積回路１０７Ｃは、上述したサブバス１０６Ｃと、マスタ１０１Ｆと、スレーブ１０２Ｆ及び１０２Ｇとを含む。
【０１９１】
このような、チップ間通信を行う場合においても、同様の効果が得られる。
【０１９２】
（第９の実施形態）
本発明の第９の実施形態では、上述した第８の実施形態の変形例について説明する。
【０１９３】
図２６は、本発明の第９の実施形態に係る情報処理装置１００Ｉの概略構成を示すブロック図である。
【０１９４】
図２６に示す情報処理装置１００Ｉは、第８の実施形態に係る情報処理装置１００Ｇの構成に加え、さらに、クロック制御回路１３３を備える。
【０１９５】
クロック制御回路１３３は、モニタ回路１３０Ａ〜１３０Ｃのモニタ結果に応じて、メインバス１０６Ａ、サブバス１０６Ｂ及び１０６Ｃに供給するクロックの周波数を変更する。
【０１９６】
上記のように構成された情報処理装置１００Ｉについて、以下にその動作を説明する。
【０１９７】
図２７は、第９の実施形態に係る情報処理装置１００Ｉの動作を示すフローチャートである。
【０１９８】
また、図２８は、情報処理装置１００Ｉにおけるデータ転送量を示す図である。なお、図２８では、ＡＳＩＤ０、ＡＳＩＤ１、ＡＳＩＤ２のそれぞれの下限データ量を上下矢印で示しており、ハッチング部分が現状のデータ転送量を示している。
【０１９９】
まず、３種類のアプリケーションの下限データ量が、メインバス１０６Ａ、サブバス１０６Ｂ及びサブバス１０６Ｃ毎に設定される。
【０２００】
次に、モニタ回路１３０Ａは、所定の時間ごとに、メインバス１０６Ａのアプリケーション毎のデータ転送量をモニタし、モニタ回路１３０Ｂは、所定の時間ごとに、サブバス１０６Ｂのアプリケーション毎のデータ転送量をモニタし、モニタ回路１３０Ｃは、所定の時間ごとに、サブバス１０６Ｃのアプリケーション毎のデータ転送量をモニタする（Ｓ３１１）。
【０２０１】
図２８（ａ）に示すように、メインバス１０６ＡのＡＳＩＤ０〜ＡＳＩＤ１のデータ転送量が下限データ量を下回った場合（Ｓ３１２でＹｅｓ）、クロック制御回路１３３は性能不足のメインバス１０６Ａのクロック周波数を上げるとともに、余力のあるサブバス１０６Ｂのクロック周波数を下げる（Ｓ３２３）。これにより、図２８（ｂ）に示すように、メインバス１０６Ａの性能不足のＡＳＩＤ０、ＡＳＩＤ１及びＡＳＩＤ２のデータ転送量を増加させるとともに、余力のあるサブバス１０６Ｂのデータ転送量を抑制できる。このように、情報処理装置１００Ｉは、システムとして必要なデータ転送量を動的に設定することができる。
【０２０２】
以上のように、本発明の第９の実施形態に係る情報処理装置１００Ｉは、実行するアプリケーション毎に各システムバス上のデータ転送量をモニタし、モニタ結果に応じて、それぞれのバスドメイン間で、データ転送量を相互補完することにより、システム性能の安定を図ることができる。
【０２０３】
また、情報処理装置１００Ｉは、余力のあるシステムバスのデータ転送量を抑制することとで、電力削減の増加を抑制できる。
【０２０４】
また、情報処理装置１００Ｉは、同一バス内で余力のあるアプリケーションの性能を、性能不足のアプリケーションへ委譲できない場合でも、性能不足のアプリケーションのデータ転送量を増加できる。
【０２０５】
さらに、情報処理装置１００Ｉは、上述した第８の実施形態のように、性能不足のアプリケーションと依存関係がある、他のシステムバスの、余力のあるアプリケーションが存在しない場合でも、性能不足のアプリケーションのデータ転送量を増加できる。
【０２０６】
なお、上記説明では、メインバス１０６Ａの全てのアプリケーションが性能不足の場合を例に説明したが、システムバスに含まれる１以上のアプリケーションが性能不足の場合にも同様の処理を適用できる。
【０２０７】
また、上記説明では、性能不足のシステムへ供給するクロック周波数を上げるとともに、性能に余力があるシステムバスへ供給するクロック周波数を下げているが、性能不足のシステムへ供給するクロック周波数を上げる処理のみを行なってもよい。
【０２０８】
また、上記の実施形態で使用した複数のＡＳＩＤを、複数のグループに分割し、分割したグループに対して、上記のＡＳＩＤに対する処理と同様の処理を行った場合も、同様の効果が得られる。
【０２０９】
また、上記第２〜第９の実施形態において、データ転送量を下限データ量以上に制御する異なる方法を個別に説明したが、これらのうち２以上の制御を同時、又は選択的に行なってもよい。例えば、余力のあるアプリケーションの性能を性能不足のアプリケーションに委譲できる場合には、上記第２〜第６の実施形態のいずれかで説明したデータ転送量の制御を行ない、そうでない場合には、第７〜第９の実施形態で説明したデータ転送量の制御を行なってもよい。また、性能不足のアプリケーションと依存関係がある、他のシステムバスの、余力のあるアプリケーションが存在する場合には、上記第８の実施形態で説明したデータ転送量の制御を行ない、そうでない場合には、上記第９の実施形態で説明したデータ転送量の制御を行なってもよい。
【０２１０】
また、上記実施形態に係る情報処理装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０２１１】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２１２】
また、本発明の実施形態に係る、情報処理装置の機能の一部を、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０２１３】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０２１４】
また、上記実施形態に係る、情報処理装置、及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。
【０２１５】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
【０２１６】
また、上記のステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０２１７】
更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
【産業上の利用可能性】
【０２１８】
本発明は、情報処理装置に適用でき、特に、ＳｏＣに好適できる。
【符号の説明】
【０２１９】
１００、１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ、１００Ｅ、１００Ｆ、１００Ｇ、１００Ｈ、１００Ｉ  情報処理装置
１０１、１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄ、１０１Ｆ  マスタ
１０２、１０２Ａ、１０２Ｂ、１０２Ｃ、１０２Ｄ、１０２Ｅ、１０２Ｆ、１０２Ｇ  スレーブ
１０３  システム制御レジスタ
１０４、１０４Ａ、１０４Ｂ、１０４Ｃ、１０４Ｄ、１０４Ｅ、１０４Ｆ  システムバス
１０５、１０５Ｂ、１０５Ｃ  ブリッジ
１０６Ａ  メインバス
１０６Ｂ、１０６Ｃ  サブバス
１０７Ａ、１０７Ｂ、１０７Ｃ  半導体集積回路
１１０、１１０Ａ、１１０Ｂ、１１０Ｃ、１１０Ｄ、１１０Ｅ、１１０Ｆ、１１０Ｇ、１２０、１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅ、１２０Ｆ、１２０Ｇ  受信バッファ
１１１、１１１Ａ、１１１Ｂ、１１１Ｃ、１１１Ｄ、１１１Ｅ、１１１Ｆ、１１１Ｇ、１２１、１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄ、１２１Ｅ、１２１Ｆ、１２１Ｇ  送信バッファ
１１２、１１２Ａ、１１２Ｂ、１１２Ｃ、１１２Ｄ、１１２Ｅ、１１２Ｆ、１１２Ｇ、１２２、１２２Ａ、１２２Ｂ、１２２Ｃ、１２２Ｄ、１２２Ｅ、１２２Ｆ、１２２Ｇ  転送先選択部
１１３、１１３Ａ、１１３Ｂ、１１３Ｃ、１１３Ｄ、１１３Ｅ、１１３Ｆ、１１３Ｇ、１２３、１２３Ａ、１２３Ｂ、１２３Ｃ、１２３Ｄ、１２３Ｅ、１２３Ｆ、１２３Ｇ  調停部
１１５、１１５Ａ、１１５Ｂ、１１５Ｃ  バス
１２５  アクセス先アドレス
１２６  アクセス元アドレス
１２７  ＡＳＩＤ
１２８  ライトデータ
１２９  リードデータ
１３０、１３０Ａ、１３０Ｂ、１３０Ｃ  モニタ回路
１３１  論理アドレス制御回路
１３２、１３３  クロック制御回路
【図１】
2012108617.tif 000003
【図２】
2012108617.tif 000004
【図３Ａ】
2012108617.tif 000005
【図３Ｂ】
2012108617.tif 000006
【図３Ｃ】
2012108617.tif 000007
【図４】
2012108617.tif 000008
【図５】
2012108617.tif 000009
【図６】
2012108617.tif 000010
【図７】
2012108617.tif 000011
【図８】
2012108617.tif 000012
【図９】
2012108617.tif 000013
【図１０】
2012108617.tif 000014
【図１１】
2012108617.tif 000015
【図１２Ａ】
2012108617.tif 000016
【図１２Ｂ】
2012108617.tif 000017
【図１３】
2012108617.tif 000018
【図１４】
2012108617.tif 000019
【図１５】
2012108617.tif 000020
【図１６】
2012108617.tif 000021
【図１７】
2012108617.tif 000022
【図１８】
2012108617.tif 000023
【図１９】
2012108617.tif 000024
【図２０】
2012108617.tif 000025
【図２１】
2012108617.tif 000026
【図２２】
2012108617.tif 000027
【図２３】
2012108617.tif 000028
【図２４】
2012108617.tif 000029
【図２５】
2012108617.tif 000030
【図２６】
2012108617.tif 000031
【図２７】
2012108617.tif 000032
【図２８】
2012108617.tif 000033