(57)【要約】【課題】  複数のバスマスタの各々に対して共有リソースへのアクセスに係る任意の最低バンド幅を保証する。【解決手段】  複数のバス１１２，１１３，１１４にそれぞれ少なくとも１つのバスマスタ１０１〜１０５を接続し、各バス１１２〜１１４から共有リソース１１９へのアクセス量を調停するためのバス調停部１１７と、当該バス調停部１１７における調停処理のために、バス優先順位と、各バス１１２〜１１４から共有リソース１１９へのアクセスバンド幅を確保するためのアクセス最優先パターンとをバス調停情報１１６として管理するための調停情報管理部１２１と、バス調停部１１７でアクセス権を獲得したバスから共有リソース１１９へのアクセスを当該共有リソース１１９の特性に基づいて制御するためのリソース制御部１１８とを設ける。【選択図】  図１
2004246862.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスにそれぞれ少なくとも１つのバスマスタが接続され、かつ各バスマスタが前記複数のバスのいずれかを介して少なくとも１つの共有リソースに接続されてなるデータ処理システムにおけるリソース管理装置であって、
前記複数のバスから前記共有リソースへのアクセス量を調停するためのバス調停部と、
前記バス調停部における調停処理のために、バス優先順位と、前記複数のバスから前記共有リソースへのアクセスバンド幅を確保するためのアクセス最優先パターンとをバス調停情報として管理するための調停情報管理部と、
前記バス調停部でアクセス権を獲得したバスから前記共有リソースへのアクセスを当該共有リソースの特性に基づいて制御するためのリソース制御部とを備えたことを特徴とするリソース管理装置。
【請求項２】
請求項１記載のリソース管理装置において、
前記リソース制御部は、
前記バス調停部でアクセス権を獲得したバスのデータ転送プロトコルを解析し、かつ当該解析の結果に基づき当該バスと前記共有リソースとの間のデータ転送制御を行うアクセス制御部と、
前記共有リソースの転送データを一時記憶するためのバッファメモリとを有することを特徴とするリソース管理装置。
【請求項３】
請求項１記載のリソース管理装置において、
前記調停情報管理部は、前記バス調停情報のバス優先順位とアクセス最優先パターンとのうち少なくとも一方を更新する機能を有することを特徴とするリソース管理装置。
【請求項４】
請求項１記載のリソース管理装置において、
前記バス調停情報は、前記共有リソースへのアクセスタイプを区別して構成されたことを特徴とするリソース管理装置。
【請求項５】
請求項１記載のリソース管理装置において、
前記複数のバスのいずれかに接続されたバスマスタは、複数の上位バスにそれぞれ少なくとも１つの上位バスマスタが接続されてなる構造を有することを特徴とするリソース管理装置。
【請求項６】
請求項１記載のリソース管理装置において、
前記複数のバスのいずれかに複数のバスマスタが接続され、かつ当該バスは前記複数のバスマスタのバス使用権を調停するためのバスマスタ調停部を有し、
前記調停情報管理部は、前記バスマスタ調停部における調停処理のために、バスマスタ優先順位と、前記複数のバスマスタから前記共有リソースへのアクセスバンド幅を確保するためのアクセス最優先パターンとをバスマスタ調停情報として管理する機能を更に有することを特徴とするリソース管理装置。
【請求項７】
請求項６記載のリソース管理装置において、
前記調停情報管理部は、前記バスマスタの前記共有リソースへの要求アクセスバンド幅を前記バスマスタ調停情報と前記バス調停情報とに反映させる機能を更に有することを特徴とするリソース管理装置。
【請求項８】
請求項６記載のリソース管理装置において、
前記アクセス最優先パターンにより、最優先順位を各バスマスタ又は各バスに対して一定間隔で割り当てることを特徴とするリソース管理装置。
【請求項９】
請求項６記載のリソース管理装置において、
前記アクセス最優先パターンにより、最優先順位を各バスマスタ又は各バスに対して連続して割り当てることを特徴とするリソース管理装置。
【請求項１０】
請求項６記載のリソース管理装置において、
前記アクセス最優先パターンにより、最優先順位を各バスマスタ又は各バスに対してランダムに割り当てることを特徴とするリソース管理装置。
【請求項１１】
請求項６記載のリソース管理装置において、
前記複数のバスマスタが連携して動作するグループが少なくとも１つ存在し、
前記調停情報管理部は、各グループの前記バスマスタ毎の要求リソースアクセスバンド幅を有するグループ情報を前記バスマスタ調停情報及び前記バス調停情報に反映させる機能を更に有することを特徴とするリソース管理装置。
【請求項１２】
請求項６記載のリソース管理装置において、
前記データ処理システムの動作をシミュレーションし、前記複数のバスマスタのグループ所属情報と各バスマスタのグループ毎での前記共有リソースへのアクセス許可割合の情報とを格納するグループ情報を生成するシミュレーション部を更に備えたことを特徴とするリソース管理装置。
【請求項１３】
請求項６記載のリソース管理装置において、
前記データ処理システムは、複数の共有リソースを備え、
前記調停情報管理部は、前記複数のバスマスタから前記複数の共有リソースへのそれぞれの要求アクセスバンド幅を前記バスマスタ調停情報と前記バス調停情報とに反映させる機能を更に有することを特徴とするリソース管理装置。
【請求項１４】
請求項６記載のリソース管理装置において、
前記調停情報管理部は、前記複数のバスマスタが前記共有リソースへアクセスする目的毎に要求アクセスバンド幅を前記バスマスタ調停情報と前記バス調停情報とに反映させる機能を更に有することを特徴とするリソース管理装置。
【請求項１５】
請求項１記載のリソース管理装置において、
前記調停情報管理部が前記バス調停情報を初期化した後、前記バス調停部による所定回数の調停における調停結果情報を取得し、当該調停結果情報をもとに前記共有リソースへのアクセス状況を解析し、かつ当該解析の結果に基づき、前記共有リソースへのアクセスレイテンシが小さくなるように前記バス調停情報を更新するべく前記調停情報管理部へ指示を出すための学習部を更に備えたことを特徴とするリソース管理装置。
【請求項１６】
請求項１５記載のリソース管理装置において、
前記複数のバスのいずれかに複数のバスマスタが接続され、かつ当該バスは前記複数のバスマスタのバス使用権を調停するためのバスマスタ調停部を有し、
前記調停情報管理部は、前記バスマスタ調停部における調停処理のためのバスマスタ調停情報を管理する機能を更に有し、
前記学習部は、前記調停情報管理部が前記バスマスタ調停情報を初期化した後、前記バスマスタ調停部による所定回数の調停における調停結果情報を取得し、当該調停結果情報をもとに前記複数のバスマスタから前記共有リソースへのアクセス状況を解析し、かつ当該解析の結果に基づき、前記共有リソースへのアクセスレイテンシが小さくなるように前記バスマスタ調停情報を更新するべく前記調停情報管理部へ指示を出す機能を更に有することを特徴とするリソース管理装置。
【請求項１７】
請求項１５記載のリソース管理装置において、
前記調停情報管理部は、前記バス調停情報のバス優先順位とアクセス最優先パターンとのうち少なくとも一方を更新する機能を有することを特徴とするリソース管理装置。
【請求項１８】
請求項１５記載のリソース管理装置において、
前記学習部は、複数のバス調停情報をもって試行した結果から、前記複数のバスの平均レイテンシが最も小さくなるバス調停情報を選択するように前記調停情報管理部へ指示を出す機能を有することを特徴とするリソース管理装置。
【請求項１９】
請求項１５記載のリソース管理装置において、
前記学習部は、前記所定回数の調停において前記複数のバスのいずれかから一定回数以上の連続アクセス要求があった場合には、当該連続アクセス要求に合わせるように前記バス調停情報を更新するべく前記調停情報管理部へ指示を出す機能を有することを特徴とするリソース管理装置。
【請求項２０】
請求項１５記載のリソース管理装置において、
前記学習部は、前記所定回数の調停において前記複数のバスから一定回数以上の周期的なアクセス要求があった場合には、当該周期的なアクセス要求に合わせるように前記バス調停情報を更新するべく前記調停情報管理部へ指示を出す機能を有することを特徴とするリソース管理装置。
【請求項２１】
請求項１５記載のリソース管理装置において、
前記学習部は、前記所定回数の調停において前記複数のバスのいずれかが一定回数以上連続してアクセス権を獲得した場合には、当該バスの優先順位を一時的に下げるように前記調停情報管理部へ指示を出す機能を有することを特徴とするリソース管理装置。
【請求項２２】
請求項１５記載のリソース管理装置において、
前記学習部は、前記所定回数の調停において前記バス優先順位のみに従った調停を行わせた後に、当該調停でアクセス権を獲得したバスの順に前記アクセス最優先パターンを設定する機能を有することを特徴とするリソース管理装置。
【請求項２３】
請求項１５記載のリソース管理装置において、
前記複数のバスのいずれかに接続されたバスマスタは、複数の上位バスにそれぞれ少なくとも１つの上位バスマスタが接続されてなる構造を有することを特徴とするリソース管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバスにそれぞれ少なくとも１つのバスマスタが接続されてなるマルチバスマスタかつマルチバス構成のデータ処理システムにおいて、各バスマスタから共有リソースへのアクセスを管理するためのリソース管理装置に関するものである。
【背景技術】
【０００２】
システムＬＳＩにおいて複数のバスマスタが共通バスを介してリソースを共有する場合、当該リソースへのアクセスを効率的に調停する必要がある。ここに、バスマスタはマイクロプロセッサ、ＤＳＰ（Digital Signal Processor）、ＤＭＡ（Direct Memory Access）コントローラなどであり、共有リソースはメモリ、周辺Ｉ／Ｏ（input/output）コントローラなどである。
【０００３】
特許文献１の技術によれば、マルチプロセッサシステムにおいて、各プロセッサから共有メモリへのアクセスを許可するためにサイクリックにアクセス許可信号を送る走査回路を設ける。プロセッサから共有メモリへのアクセス要求信号と、走査回路から送られるアクセス許可信号との両者がアクティブの場合に、当該プロセッサは共有メモリにアクセスが可能となる。それゆえ、各プロセッサは共有メモリに公平にアクセスする機会を得る。
【０００４】
特許文献２の技術によれば、複数のバスマスタ間のバス使用権を調停するシステムにおいて、一連の優先順位情報を備え、次のサイクルにバス使用権を獲得するバスマスタを当該優先順位情報に従って決定する。
【０００５】
特許文献３の技術によれば、データ処理システムにおいて、共有リソースへの最優先アクセス権を各バスマスタにランダムに与える。
【０００６】
特許文献４の技術によれば、同期バスが２レベルの調停スキームを有し、第１レベルの調停はフレーム化された時分割多重調停スキームであり、第２レベルはトークンパッシング機構を用いて実現され、かつ公平に割り当てられるラウンドロビンスキームである。
【０００７】
特許文献５の技術によれば、マルチメディアコンピュータシステムにおいて必要なデータ転送速度でのバスアクセスを保証するため、選択された時間間隔の間に、特定のプレゼンテーション装置に関連する調停レベルインジケータの順序を一時的に変更する。
【特許文献１】特開昭５２−１０３９３５号公報
【特許文献２】特開平１０−２２８４４６号公報
【特許文献３】特開平１０−３０１９０８号公報
【特許文献４】特表２００１−５１６１００号公報
【特許文献５】特開平８−８３２５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
マルチバスマスタかつマルチバス構成のデータ処理システムは、複数のバスにそれぞれ少なくとも１つのバスマスタが接続されてなる。このような複雑なバス構造を持つデータ処理システムにおいて各バスマスタから共有リソースへのアクセスを管理する場合、上記特許文献１〜５の技術では、共有リソースの特性（例えばメモリのアクセス特性）に応じたアクセスを実現することができず、また共有リソースへのデータ転送量という観点でアクセスバンド幅を保証することができない。特に、共有リソースへのアクセスに係る任意の最低バンド幅を保証したり、各バスマスタが共有リソースへアクセスする際のレイテンシ（待ち時間、又は遅延）をアクセス状況に応じて最適化したりすることが困難である。
【０００９】
本発明の目的は、マルチバスマスタかつマルチバス構成のデータ処理システムにおいて、各バスマスタに対して共有リソースへのアクセスに係る最低バンド幅を保証できるリソース管理装置を提供することにある。
【００１０】
本発明の他の目的は、マルチバスマスタかつマルチバス構成のデータ処理システムにおいて、各バスマスタが共有リソースへアクセスする際のレイテンシを小さくすることができるリソース管理装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明では、複数のバスにそれぞれ少なくとも１つのバスマスタが接続され、かつ各バスマスタが前記複数のバスのいずれかを介して少なくとも１つの共有リソースに接続されてなるデータ処理システムのリソース管理装置において、複数のバスから共有リソースへのアクセス量を調停するためのバス調停部と、当該バス調停部における調停処理のために、バス優先順位と、複数のバスから共有リソースへのアクセスバンド幅を確保するためのアクセス最優先パターンとをバス調停情報として管理するための調停情報管理部と、バス調停部でアクセス権を獲得したバスから共有リソースへのアクセスを当該共有リソースの特性に基づいて制御するためのリソース制御部とを備えた構成を採用することとした。
【００１２】
本発明によれば、バス選択の基準となるバス優先順位と、リソースアクセスバンド幅確保の時間分解能を単位時間とするアクセス最優先パターンとがバス調停情報として用意される。このバス調停情報は個々のバスとは独立して存在するため、アクセスバンド幅確保の単位時間は、個々のバスのバスサイクルとは独立に共有リソースに合わせて設定することができ、個々のバスサイクルに影響されない。
【００１３】
アクセス権を獲得したバスからのアクセスはそのリソース固有のアクセス効率で、その時間単位に見合ったアクセスが行われる。共有リソースへのデータ転送量はリソース毎でのアクセス効率と時間単位の長さで決まる。個々のバスの転送能力はそれぞれのバスサイクル長やデータ転送幅などに依存するが、このようなそれぞれのバスの転送能力とは独立に、それぞれのリソース毎に、そのリソースとしての固有のアクセス効率に添った形でのアクセスバンド幅の保証を行うことができる。
【００１４】
複数のバスのいずれかに複数のバスマスタが接続された場合には、これら複数のバスマスタのバス使用権を調停するためのバスマスタ調停部を更に設ける。調停情報管理部は、このバスマスタ調停部における調停処理のために、バスマスタ優先順位と、前記複数のバスマスタから前記共有リソースへのアクセスバンド幅を確保するためのアクセス最優先パターンとをバスマスタ調停情報として管理する機能を更に有する。
【００１５】
共有リソースへアクセスする際のレイテンシを小さくするためには、調停情報管理部がバス調停情報を初期化した後、バス調停部による所定回数の調停における調停結果情報を取得し、当該調停結果情報をもとに共有リソースへのアクセス状況を解析し、かつ当該解析の結果に基づき、共有リソースへのアクセスレイテンシが小さくなるようにバス調停情報を更新するべく調停情報管理部へ指示を出すための学習部を更に設ける。
【発明の効果】
【００１６】
本発明によれば、マルチバスマスタかつマルチバス構成のデータ処理システムにおいて、各バスマスタに対して共有リソースへのアクセスに係る任意の最低バンド幅を保証でき、また各バスマスタが共有リソースへアクセスする際のレイテンシを小さくすることができる優れたリソース管理装置を実現できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について図面を用いて説明する。以下の説明において、各バスマスタは、データアクセスを行うためのアドレス信号、制御信号等を能動的に送出する機能を有するものである。一般に、１つの機能ブロックはバス接続のための複数のインターフェースを持ち、いくつかはバスマスタとして機能し、いくつかはバススレーブとして機能する。例えば、ハーバードアーキテクチャ（Harvard architecture）のプロセッサは、インストラクション用バスマスタと、データ用バスマスタとを有する。
【００１８】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係るリソース管理装置の構成を示している。図１において、１０１、１０２、１０３、１０４、１０５はバスマスタ、１１２、１１３、１１４はバス、１０６、１０８、１１０はバスマスタ調停情報、１０７、１０９、１１１はバスマスタ調停部、１１５はリソース管理部、１１６はバス調停情報、１１７はバス調停部、１１８はリソース制御部、１１９は共有リソース、１２１は調停情報管理部である。共有リソース１１９は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などのメモリ、又は周辺Ｉ／Ｏコントローラである。
【００１９】
各バスマスタ１０１〜１０５は、バス１１２〜１１４を通して共有リソース１１９にアクセスするためのトランザクションを発生する。バス１１２は、バスマスタ１０１，１０２を持つバスである。バスマスタ調停部１０７は、バスマスタ調停情報１０６をもとに、バス１１２に接続されているバスマスタ１０１，１０２からのアクセス要求を調停する。バス１１３は、バスマスタ１０３，１０４を持つバスである。バスマスタ調停部１０９は、バスマスタ調停情報１０８をもとに、バス１１３に接続されているバスマスタ１０３，１０４からのアクセス要求を調停する。バス１１４は、バスマスタ１０５を持つバスである。バスマスタ調停部１１１は、バスマスタ調停情報１１０をもとに、バス１１４に接続されているバスマスタ１０５からのアクセス要求を調停する。
【００２０】
リソース管理部１１５は、バス１１２〜１１４から共有リソース１１９に対するアクセスを管理するように、バス調停部１１７とリソース制御部１１８とで構成される。バス調停部１１７は、バス１１２〜１１４から共有リソース１１９に対するアクセスをバス調停情報１１６に基づき調停する。リソース制御部１１８は、バス調停部１１７により調停されたバスからのアクセスを共有リソース１１９に伝える。
【００２１】
調停情報管理部１２１は、バスマスタ調停情報１０６，１０８，１１０、バス調停情報１１６をそれぞれ管理し、これらをバスマスタ毎の共有リソース１１９へのアクセス許可割合の要求変更により必要に応じて更新する。なお、以下の説明では、バスマスタ１０１，１０２，１０３，１０４，１０５を適宜バスマスタＡ，Ｂ，Ｃ，Ｄ，Ｅといい、バス１１２，１１３，１１４を適宜バス０，１，２という。
【００２２】
以上で述べたリソース管理装置において、それぞれのバスマスタＡ〜Ｅが共有リソース１１９へアクセスする場合、共有リソース１１９へのアクセスを希望するバスマスタは接続されるバスへのアクセス要求をそれぞれのバスマスタ調停部１０７，１０９，１１１に対して行う。それぞれのバスマスタ調停部１０７，１０９，１１１は、それぞれのバスマスタ調停情報１０６，１０８，１１０に基づき、要求してきたバスマスタのうちの１つにそれぞれのバスへのアクセス許可を与える。それぞれのバス０，１，２においてアクセス許可を与えられたバスマスタはそれぞれのバスを通して、リソース制御部１１８へのアクセス要求をバス調停部１１７に対して行う。バス調停部１１７はバス調停情報１１６に基づき、要求してきたバスのうちの１つにリソース制御部１１８へのアクセス許可を与える。アクセス許可を与えられたバスへのアクセス許可を与えられているバスマスタはリソース制御部１１８を通して、共有リソース１１９にアクセスできる。
【００２３】
図２は、図１中のリソース制御部１１８の詳細構成例を示している。図２に示すとおり、リソース制御部１１８は、アクセス制御部１３１とバッファメモリ１３２とを有する。アクセス制御部１３１は、バス調停部１１７により共有リソース１１９へのアクセスを許可されたバスのプロトコルを解析し、かつ当該解析の結果に基づき、当該バスと共有リソース１１９との間のデータ転送制御を行う。バッファメモリ１３２は、転送データを一時記憶する。アクセス制御部１３１とバッファメモリ１３２とにより、バスの動作クロックと共有リソース１１９の動作クロックとの非同期動作の整合性を調整したり、バスからの非連続データ転送を連続転送に変換（単発的なアクセスをバーストアクセスへ変換するなど）して共有リソース１１９ヘの効率的なデータ転送を可能にしたりする。またアクセス制御部１３１は、バス調停部１１７の調停状況とバッファメモリ１３２の状況とを判断し、共有リソース１１９へのアクセスを待たせたり、バッファメモリ１３２に蓄えられたデータを共有リソース１１９に決められたデータ量で書き込んだり、共有リソース１１９からバッファメモリ１３２に連続転送でデータを格納して当該バッファメモリ１３２から決められたデータ量をバスに渡したりする。
【００２４】
図３は、図１中のバス調停情報１１６をテーブル形式の情報とした例を示している。本実施の形態において、バスマスタ調停情報１０６，１０８，１１０として任意の優先順位パターンを有し、バス調停情報１１６として図３に示されるテーブル形式のバス調停情報２０１を有する場合について述べる。
【００２５】
図３のバス調停情報２０１において、最も左の列はバス間の固定的な優先順位を表し、上の行にあるバスほど高い優先順位を有する。これは前記バス優先順位にあたる。次の１０列はバス間の最優先順位を表し、「１」で表示されるバスが最優先順位を有する。これは、前記アクセス最優先パターンにあたる。各列をスロットと呼び、各列の一番上の数値をスロット番号と呼ぶ。
【００２６】
バス調停部１１７は、アクセスバンド幅確保の時間分解能に相当する一定期間毎に参照するスロットを切り替えて選択し、その期間の間に受けたバスからのアクセス要求に対して、その時点で参照しているスロットの情報をもとに調停を行う。ここで、バスからのアクセス要求はバスの動作クロックで行われるが、スロットの遷移時間はバスの動作サイクルとは独立に設定することができる。スロットの選択はスロット番号０からスロット番号９まで順に切り替え、再びスロット番号０から繰り返す。バス調停部１１７が行う調停は、前記一定期間の間に受けたアクセス要求と、参照しているスロット中の値とを比較し当該スロットにおいて「１」で表されているバスからのアクセス要求があれば、そのバスに対してリソース制御部１１８へのアクセス許可を与える。「１」で表されているバスからのアクセス要求がなければ、前記バス優先順位に従って、アクセスを要求しているバスの中から最も優先順位の高いバスに対してアクセス許可を与える。これらの調停を期間毎に参照するスロットを切り替えながら繰り返す。バス調停部１１７が一定期間の間にアクセス要求を受けなかった場合は、参照するスロットの切り替えだけを行う。
【００２７】
一定期間の設定方法の例としては、共有リソース１１９へのデータ転送量単位で設定する方法や、一定時間すなわち一定のクロック数で切り替える方法がある。一定期間の設定方法は、目的により変更することができる。
【００２８】
図４は、図１中のバス調停部１１７が図３のバス調停情報２０１を用いて調停を行う場合を示している。図４において、３０１はバス調停部１１７が各スロットを参照している一定期間内に追加されたアクセス要求、３０２はバス調停部１１７が各スロットを参照している一定期間内でアクセス許可を待っているアクセス要求、３０３はバス調停部１１７が各スロットを参照している一定期間内で許可されたアクセス要求を示す。
【００２９】
バス調停部１１７がスロット０を参照している期間に、バス０，１，２からアクセス要求を受けたことが３０１からわかる。バス調停部１１７は、スロット０の情報をもとに、最優先を示す「１」を示しているバス０に対してアクセス許可を与える。これが３０３に示される。
【００３０】
スロット０の期間で許可を与えられなかったバス１，２は許可を与えられるまでアクセス要求をし続けるため、次のスロット１の期間では３０２に示される調停待ちのアクセス要求として扱われる。この期間では、３０１で示されるように新しく追加されたアクセス要求はないため、バス調停部１１７は３０２で示される調停待ちのバス１，２に対して調停を行い、スロット１の情報よりバス１に対してアクセス許可を与える。
【００３１】
スロット２の期間ではバス２とバス０に対して調停を行い、バス２にアクセス許可を与える。以下同様に調停を行うことにより、各一定期間においてそれぞれのバスに対してアクセス許可を与えることができる。
【００３２】
以上で述べたバス調停情報２０１を用いた場合、それぞれのバスは、「１」を示しているスロットの分だけリソース制御部１１８を通して共有リソース１１９にアクセスすることができる。つまり、バス０は、スロット０，３，７で「１」を示しているので、１０回の調停のうち３回はアクセス許可を得ることができ、バス１は、スロット１，４，５，８，９で「１」を示しているので、１０回の調停のうち５回はアクセス許可を得ることができる。またバス２は、スロット２，６で「１」を示しているので、１０回の調停のうち２回はアクセス許可を得ることができる。よって、許可される共有リソース１１９への全アクセスのうちの何割を、それぞれのバスが獲得できるかをこのバス調停情報２０１によって指定することができる。つまり、バス０は３割、バス１は５割、バス２は２割のアクセス許可を得ることができる。
【００３３】
ここで、バス調停情報２０１の内容である、バス優先順位、アクセス最優先パターン、スロットの数は実施の環境により異なり、それぞれの実施の環境において各バスで保証したいアクセス許可の割合に基づいて設定することができる。
【００３４】
図５及び図６は、図３のバス調停情報２０１の変更例を示している。本リソース管理装置の動作中に、各バスへのアクセス許可の割合を変更する必要が生じた場合、調停情報管理部１２１が図５、図６に示されるようにバス調停情報２０１を変更することができる。図５のバス調停情報４０１によれば、バス０は４割、バス１は３割、バス２は３割のアクセス許可を得ることができる。図６のバス調停情報５０１によれば、バス０，１，２のうちバス２に最も高い優先順位が与えられる。
【００３５】
図７は、図３のバス調停情報２０１の構成に係る変形例を示している。図７に示されるように、各バスの読み出し、書き込みアクセス毎にスロットの情報を持つバス調停情報６０１を持つことにより、各バスの読み出し、書き込みアクセス毎にアクセス許可の割合を設定することができる。ここで、アクセス許可の割合を設定するバスからのアクセスタイプは実施の環境により異なり、読み出し、書き込みアクセスに限ったことではない。
【００３６】
リソース制御部１１８への１回のアクセス許可を得る毎に、許可を得たバスが共有リソース１１９へどれだけアクセスできるかは、本リソース管理装置での共有リソース１１９の使用目的に応じて異なり、これをリソース制御部１１８が制御する。具体的な例として、バス調停部１１７が１つのバスにアクセス許可を与えると、リソース制御部１１８はそのバスに対して一定データ量だけ共有リソース１１９へアクセスさせる。これにより、上記各バスが得るアクセス許可の割合と合わせると、各バスが一定時間の間に共有リソース１１９へアクセスできるデータ量を計算することができる。これにより各バスに対して共有リソース１１９へのアクセスバンド幅を保証することができる。その他、一定サイクルの間だけ共有リソース１１９へアクセスさせるなど、リソース制御部１１８が制御を行うことができ、このリソース制御部１１８の動作によって、各バスが共有リソース１１９へどれだけのアクセスができるかを、共有リソース１１９の使用目的に合わせて保証することができる。
【００３７】
更に、各バスの動作速度がそれぞれ異なる場合においても同様に、各バスが共有リソース１１９へどれだけアクセスできるかを保証することができる。
【００３８】
リソース制御部１１８は、バス調停部１１７による調停でアクセス権を獲得したバスから共有リソース１１９へのアクセス制御を行う。具体的には、当該バスから共有リソース１１９へのアクセスの種別を示すバーストタイプ、ビット幅、リードアクセス又はライトアクセスなどのバスプロトコルを判定し、予め設定される１調停単位での共有リソース１１９ヘのアクセスデータ量単位で、バス調停部１１７による調停でアクセス権を獲得する毎に、当該バスから共有リソース１１９へのアクセスを許可する。具体例として、バスから共有リソース１１９へのアクセスが、バーストサイズ８、ビット幅３２ビット、ライトアクセスであって、リソース制御部１１８から共有リソース１１９ヘのアクセスビット幅を３２ビット、１調停単位での共有リソース１１９へのアクセスデータ量単位を１６バイトとした場合には、３２ビットで４バーストのアクセスを２回分共有リソース１１９に対して実行する。
【００３９】
このように、バス調停情報１１６をもとにバス調停部１１７により複数のバスから共有リソース１１９へのアクセスを調停し、リソース制御部１１８によりバスプロトコルを判定し、バス調停部１１７にアクセス許可毎に予め決められたアクセスデータ量を共有リソース１１９へアクセスさせることにより、各バスから共有リソース１１９へのアクセスバンド幅を定量的に保証することが可能となる。
【００４０】
各バスから共有リソース１１９へのアクセスバンド幅は、例えば次のようにして求められる。ここで、バスのクロック周波数（ＭＨｚ）をＢＣＬＫとし、例えば図３に示したバス調停情報２０１のスロット遷移クロック数をＴとすると、スロット遷移時間（μｓ）はＴ／ＢＣＬＫとなる。また、バス調停情報２０１のスロット数をＴＳＬＯＴとし、当該バスについてバス調停情報２０１に設定する最優先ビット設定スロット数をＳＳＬＯＴとし、１調停毎の当該バスから共有リソース１１９ヘのアクセスデータ量（バイト単位）をＭとすると、当該バスから共有リソース１１９へのアクセス保証可能なデータ転送レート、つまりバンド幅ＢＷ（メガバイト／ｓ）は、
ＢＷ＝ＳＳＬＯＴ×Ｍ×ＢＣＬＫ／（Ｔ×ＴＳＬＯＴ）
で求められる。なお、スロット遷移クロック数Ｔは、共有リソース１１９の特性（例えばメモリ種別やＳＤＲＡＭのアクセスモード種別）を反映した値に設定される。
【００４１】
例えば図３のバス調停情報２０１における各行内で「１」を均等に並べることにより、同じアクセスバンド幅で平均的なアクセスレイテンシを各バスに対して保証することができる。また、「１」を連続して並べることにより、バスマスタからのアクセスが周期的に集中した場合にアクセス遅延を少なくすることが可能である。また、「１」をランダムに並べることにより、平均的なアクセス遅延を実現することも可能である。
【００４２】
（第２の実施の形態）
図８は、本発明の第２の実施の形態に係るリソース管理装置の構成を示している。図８において、７０１〜７１９は、図１における１０１〜１１９に対応する。調停情報管理部７２１は、グループ情報７２４をもとに、それぞれバスマスタ調停情報７０６，７０８，７１０、バス調停情報７１６を管理し、バスマスタ毎の共有リソース７１９へのアクセス許可割合の要求変更により必要に応じて更新する。７２２はバスマスタ７０１，７０２からなるグループＸ、７２３はバスマスタ７０２，７０３，７０４，７０５からなるグループＹ、７２４は各バスマスタのグループ所属情報と各バスマスタのグループ毎での共有リソース７１９へのアクセス許可割合の情報とを格納するグループ情報、７２５はシミュレーション部である。
【００４３】
図９は、図８中のバスマスタ調停情報７０６，７０８及びバス調停情報７１６をそれぞれテーブル形式の情報とした例を示している。バス調停部７１７が図９におけるバス調停情報９２１を用いて調停を行うことにより、各バスに対してリソース制御部７１８へのアクセス許可を与える割合を保証できることは、第１の実施の形態の場合と同様である。更に同様に、バスマスタ調停部７０７，７０９がそれぞれ図９におけるバスマスタ調停情報９０１，９１１を用いることで、各バスマスタに対して、それぞれのバスへのアクセス許可を与える割合を保証することができる。具体的には、バス調停情報９２１によってバス０，１，２は、９２２に示すように、それぞれ２割、５割、３割の割合でリソース制御部７１８へのアクセス許可が保証される。また、バスマスタ調停情報９０１によってバスマスタＡ，Ｂは、９０２に示すように、それぞれ５割、５割の割合でバス０へのアクセス許可が保証される。更に、バスマスタ調停情報９１１によってバスマスタＣ，Ｄは、９１２に示すように、それぞれ４割、６割の割合でバス１へのアクセス許可を保証することができる。なお、バス２にはバスマスタＥのみが接続されているため、バス２へのアクセス許可はバスマスタＥが１０割得ることができる。
【００４４】
ここで、バス０がリソース制御部７１８へ行うアクセス要求のうち、５割がバスマスタＡから、残りの５割がバスマスタＢからのものであるので、バス０が得るリソース制御部７１８への２割のアクセス許可のうち、５割をバスマスタＡが得、残りの５割をバスマスタＢが得ることになる。つまり、バスマスタＡ，Ｂはリソース制御部７１８へのアクセス許可をそれぞれ１割ずつ得ることができる。同様に、バスマスタＣ，Ｄ，Ｅはリソース制御部７１８へのアクセス許可をそれぞれ２割、３割、３割得ることができる。
【００４５】
また、第１の実施の形態でも述べたように、リソース制御部７１８への１回のアクセス許可で、共有リソース７１９へどれだけアクセスできるかを共有リソースの使用方法に合わせて設定することが可能であるので、例えば１回のアクセス許可に対して、共有リソース７１９への一定データ量のアクセスをさせることができ、この場合は、各バスマスタに対して共有リソース７１９へのアクセスバンド幅を保証することができる。以上より、各バスマスタに対して、共有リソース７１９へのアクセス許可割合をどれだけ保証したいかが決まれば、バス調停情報９２１、バスマスタ調停情報９０１，９１１を設定することで、それらの割合を保証することができる。
【００４６】
次に、複数のアプリケーションが並列に実行されるシステムにおいて、アプリケーション毎に共有リソース７１９へのアクセスバンド幅を保証したい場合、グループ情報７２４を使用することで、これが可能になる。具体的な例として、２つのアプリケーションＸ，Ｙが並列に実行される場合を考える。アプリケーションＸで使用されるバスマスタの組み合わせはバスマスタ７０１，７０２であり、グループ（Ｘ）７２２で表される。またアプリケーションＹで使用されるバスマスタの組み合わせはバスマスタ７０２，７０３，７０４，７０５であり、グループ（Ｙ）７２３で表される。
【００４７】
図１０は、このときのグループ情報７２４の一例を示している。図１０において、９３１は各グループにおける使用されるバスマスタの組み合わせと、そのグループに割り当てられる共有リソース７１９へのアクセス許可を各バスマスタに割り振る割合を示す。９３２は各グループに対しての共有リソース７１９へのアクセス許可の割合を示す。９３１、９３２をもとにすると、バスマスタＡ，Ｂ，Ｃ，Ｄ，Ｅに対して割り当てられる共有リソース７１９へのアクセス許可割合は、それぞれ１割、３割、１割６分、２割４分、２割となる。それぞれのバスマスタに対する、共有リソース７１９へのアクセス許可割合をもとに、前に述べた方法で、バスマスタ調停情報７０６，７０８，７１０並びにバス調停情報７１６を設定することができる。
【００４８】
図１１は、図１０のグループ情報９３１，９３２を考慮したバスマスタ調停情報７０６，７０８及びバス調停情報７１６の一例を示している。図１１において、１００１、１０１１は、それぞれバスマスタ調停情報７０６，７０８に対応し、１０２１はバス調停情報７１６に対応する。１００２、１０１２はバスマスタ毎のバスへのアクセス許可割合であり、１０２２はバス毎の共有リソース７１９へのアクセス許可割合である。
【００４９】
以上より、グループ情報７２４を用いることにより、複数アプリケーションが並列に動作する場合であっても、アプリケーション毎に共有リソース７１９へのアクセス許可割合を保証することができる。また、動作するアプリケーションが変化した場合においても、グループ情報７２４を変更することにより、アプリケーション毎に共有リソース７１９へのアクセス許可割合を変化させることができる。
【００５０】
システム上で動作させるアプリケーションを、予めシミュレーション部７２５において実行させ、評価することで、そのアプリケーションを実行させるのに最適なグループ情報を求め、これをグループ情報７２４として設定することにより、そのアプリケーションを動作させるのに最適な共有リソース７１９へのアクセス許可割合を、各バスマスタに対して保証することができる。
【００５１】
（第３の実施の形態）
図１２は、本発明の第３の実施の形態に係るリソース管理装置の構成を示している。図１２において、図８と同じ番号のものは第２の実施の形態での説明と同じである。７３０，７３１，７３２，７３３，７３４は、７１５，７１６，７１７，７１８，７１９と同じ機能をそれぞれ有する。すなわち、２つの共有リソースを有するリソース管理装置のブロック図の一例である。なお、説明を簡単にするため２つの共有リソース７１９，７３４を有するリソース管理装置のブロック図を用いるが、２つに限定するものではなく、３つ以上の共有リソースを有するリソース管理装置にも同様に適用可能である。
【００５２】
次に、図１３、図１４を用いて、各バスマスタから各共有リソースヘのアクセスに対してアクセスのバス毎にアクセスバンド幅を保証するためのバスマスタ調停情報７０６，７０８，７１０及びバス調停情報７１６，７３１の設定方法を説明する。
【００５３】
図１３は、図１２のリソース管理装置がアクセスのバス毎にバンド幅を保証する動作を行う場合の図である。図１３において、１２０１は、本実施の形態のリソース管理装置における、バスマスタから共有リソースヘのアクセス許可割合を示す。共有リソース７１９へのバスマスタＡ、バスマスタＢ、バスマスタＣ、バスマスタＤ、バスマスタＥからのアクセスは９：１２：６：９：２０、また共有リソース７３４へのアクセスは４：２：５：２０：１５の比率でそれぞれ許可されていることを示している。
【００５４】
アクセス許可割合１２０１に基づき、設定されるバスマスタ調停情報７０６，７０８，７１０の内容の一例をそれぞれ１２０２，１２０３，１２０４に示す。１２０２では、バス０に接続されるバスマスタから共有リソースヘの経路毎にアクセス許可割合を設定する。１２０３でも、同様にバス１に接続されるバスマスタから共有リソースヘのアクセス経路毎にアクセス許可割合を設定する。更に１２０４でも、バス２に接続されるバスマスタから共有リソースヘのアクセス経路毎にアクセス許可割合を設定する。
【００５５】
次に、アクセス許可割合１２０１に基づき、設定されるバス調停情報７１６，７３１の内容の一例を１２０５に示す。１２０５では、共有リソース毎に、共有リソースに接続されているバスからのアクセス許可割合を設定する。上記説明したバスマスタ調停情報７０６，７０８，７１０及びバス調停情報７１６，７３１の設定内容により、上記バスマスタから共有リソースヘのアクセス許可割合１２０１を満たすことは容易に理解できる。上記説明したように、バスマスタ調停情報及びバス調停情報に、バスマスタから共有リソースヘのアクセス経路毎のアクセス許可割合を設定することにより、バスマスタと共有リソース間のアクセス許可割合を明確に指定可能となる。
【００５６】
図１４は、図１３に対応したバスマスタ調停情報７０６，７０８，７１０の一例を示している。バスマスタ調停情報７０６，７０８，７１０の例を、それぞれ１３０１，１３０２，１３０３に示す。説明は、図３と同様であるため省略する。
【００５７】
次に、図１５及び図１６を用いて、各バスマスタから各共有リソースヘのアクセスに対してアクセスの目的毎にアクセスバンド幅を保証するためのバスマスタ調停情報及びバス調停情報の設定方法を説明する。
【００５８】
図１５は、図１２のリソース管理装置がアクセスの目的毎にバンド幅を保証する動作を行う場合の図である。図１５において、１４０１は、バスマスタから共有リソース７１９へのアクセス目的毎のアクセス許可割合を示している。具体的には、１４０１は、バスマスタＡがプロセス１という処理の目的のための共有リソース７１９へのアクセス、バスマスタＡがプロセス２という処理の目的のため、バスマスタＢから、バスマスタＣから、バスマスタＤから、バスマスタＥからのそれぞれのアクセス許可割合が９：９：１２：１５：１５：４０であることを示している。
【００５９】
アクセス許可割合１４０１に基づき、設定されるバスマスタ調停情報７０６及び７０８の内容の一例を１４０２及び１４０３に示す。１４０２では、バス０に接続されるバスマスタから共有リソースヘのアクセス目的毎にアクセス許可割合を設定する。１４０３でも、同様にバス１に接続されるバスマスタから共有リソースヘのアクセス目的毎にアクセス許可割合を設定する。ここでは、プロセスという処理の目的として説明したが、その他様々目的に対しても同様に対応可能である。
【００６０】
次に、アクセス許可割合１４０１に基づき、設定されるバス調停情報７１６の内容の一例を１４０４に示す。１４０４では、共有リソース毎に、共有リソースに接続されているバスからのアクセス許可割合を設定する。上記説明したバスマスタ調停情報７０６，７０８及びバス調停情報７１６の設定内容により、上記バスマスタから共有リソースヘのアクセス許可割合１４０１を満たすことは容易に理解できる。上記説明したように、バスマスタ調停情報及びバス調停情報に、バスマスタから共有リソースヘのアクセス目的毎のアクセス許可割合を設定することにより、バスマスタと共有リソース間のアクセス許可割合を明確に指定可能となる。
【００６１】
図１６は、図１５に対応したバスマスタ調停情報７０６の一例を示している。バスマスタ調停情報７０６の例を１５０１に示す。説明は、図３と同様であるため省略する。
【００６２】
（第４の実施の形態）
図１７は、本発明の第４の実施の形態に係るリソース管理装置の構成を示している。図１７の構成は、図１の構成に学習部１２０を付加したものである。学習部１２０は、バスマスタ１０１〜１０５のアクセス要求頻度、バスマスタ１０１〜１０５のバス獲得頻度、バス１１２〜１１４から共有リソース１１９へのアクセス頻度、バス１１２〜１１４の共有リソース獲得頻度などの情報をバスマスタ調停部１０７，１０９，１１１、バス調停部１１７より得て蓄積し、それらを学習し、学習時点以降のバスマスタ１０１〜１０５から共有リソース１１９へのアクセスが最適に行われるように調停情報管理部１２１へ指示を出す。調停情報管理部１２１は、学習部１２０より与えられた指示をもとに、任意のバス調停情報をバス調停情報１１６として設定したり、バスマスタ調停情報１０６，１０８，１１０及びバス調停情報１１６を最適に更新したりする。なお、以下の説明でもバスマスタ１０１，１０２，１０３，１０４，１０５を適宜バスマスタＡ，Ｂ，Ｃ，Ｄ，Ｅといい、バス１１２，１１３，１１４を適宜バス０，１，２という。
【００６３】
図１８は、図１７のリソース管理装置の動作を示している。ステップＳ０は、調停情報管理部１２１によるバスマスタ調停情報１０６，１０８，１１０及びバス調停情報１１６の初期化ステップである。ステップＳ１は、バスマスタ調停部１０７，１０９，１１１及びバス調停部１１７による調停ステップである。ステップＳ２は、バスマスタ調停部１０７，１０９，１１１及びバス調停部１１７より得られた調停結果情報の学習部１２０による解析並びに調停情報管理部１２１への指示ステップである。ステップＳ３は、学習部１２０からの指示に基づき、調停情報管理部１２１がバスマスタ調停情報１０６，１０８，１１０及びバス調停情報１１６を更新するステップである。ステップＳ３の終了後、ステップＳ１、ステップＳ２と繰り返し、再びステップＳ３に戻る。
【００６４】
なお、図１８のフローは、本装置での動作が終了するまで続けてバスマスタ調停情報１０６，１０８，１１０及びバス調停情報１１６を動的に更新することも可能であるが、状況により更新ステップＳ３を止めて解析だけを行い、しかる後にその解析結果をバスマスタ調停情報１０６，１０８，１１０及びバス調停情報１１６に静的に反映させて起動することも可能である。また、解析ステップＳ２により各種情報の更新が不要であると判断した場合には、解析ステップＳ２及び更新ステップＳ３を止めてしまってもよい。
【００６５】
さて、学習部１２０は種々のバス調停情報更新設定ルールを持っている。例えば、
(1) 多試行ルール：複数のバス調停情報をもって試行した結果から、複数バスの平均レイテンシが最も小さくなるバス調停情報を選択する；
(2) 連続ルール：過去３０回の調停においていずれかのバスから３回以上の連続アクセス要求があった場合には、この連続アクセス要求に合わせるようにバス調停情報を更新する；
(3) 周期ルール：過去３０回の調停において複数バスから５回以上の周期的なアクセス要求があった場合には、この周期的なアクセス要求に合わせるようにバス調停情報を更新する；
(4) 一時ルール：過去３０回のバス優先順位による調停でいずれかのバスが５回以上連続してアクセス権を獲得した場合には、当該バスの優先順位を、以降１０回の調停の間だけ最も低い優先順位に設定する；
(5) パターン設定ルール：バス優先順位のみに従って１０回の調停を行わせた後に、当該調停でアクセス権を獲得したバスの順にアクセス最優先パターンを設定する；
というものである。なお、調停結果情報を得るための調停基準回数は任意でよく、これを動的に変えてもよい。
【００６６】
図１９は、バス調停情報に「多試行ルール」を適用する場合の図である。図１９において、１６０１、１６０３、１６０５はバス調停情報、１６０２、１６０４、１６０６はアクセス要求と調停結果である。バス調停情報１６０１，１６０３，１６０５の各々は、図３と同様のテーブル形式の情報である。
【００６７】
図１９の例では、共有リソース１１９へのアクセス要求が、バス０については２連続要求、３スロット要求無し、２連続要求というシーケンスで、バス１については１要求、２スロット要求無し、１要求、１スロット要求無し、１要求というシーケンスで、バス２については２連続要求、３スロット要求無し、１要求というシーケンスでそれぞれ出されるものとしている。これらのシーケンスに従ってアクセス要求が出された場合の、バス調停情報１６０１，１６０３，１６０５に基づくアクセス要求と調停結果がそれぞれ１６０２、１６０４、１６０６に示される。これらのアクセス要求と調停結果１６０２，１６０４，１６０６において、「０」は当該スロットにおいてアクセス要求を出していないことを示す。下線付きの「１」は当該スロットにおいてアクセス要求を開始したことを示す。丸付きの「１」は当該スロットにおいてアクセス要求が許可されたことを示す。下線及び丸付きの「１」は当該スロットにおいてアクセス要求が開始され、かつ同スロットにおいてアクセス要求が許可されたことを示す。下線及び丸無しの「１」は前スロットからアクセス要求を出し続けていることを示す。
【００６８】
アクセス要求と調停結果１６０２，１６０４，１６０６において、下線付きを含む丸無しの「１」は、アクセス要求を出しているが、その要求が許可されていないことを示す。アクセス要求が許可されない状態が多ければ多いほど、バス０〜２の平均レイテンシが大きくなる。そこで、学習部１２０によって、各バス調停情報１６０１，１６０３，１６０５下におけるアクセス要求と調停結果１６０２，１６０４，１６０６を分析した結果、平均レイテンシが最も小さくなるバス調停情報を選択して、調停情報管理部１２１へ指示を出す。
【００６９】
図１９の例によれば、アクセス要求と調停結果における下線付きを含む丸無しの「１」は、１６０２では７個、１６０４では８個、１６０６では８個それぞれ存在する。したがって、本例ではバス調停情報１６０１，１６０３，１６０５のうちバス調停情報１６０１が最適であり、これが選択される。
【００７０】
図２０は、バス調停情報に「連続ルール」を適用する場合の図である。図２０において、１７０１は更新前のバス調停情報である。１７０２は、バス調停情報１７０１に基づく過去３０回の調停の結果、学習部１２０がバス調停部１１７より与えられた調停結果情報を蓄えておいたアクセス要求と調停結果である。１７０３は更新後のバス調停情報である。
【００７１】
アクセス要求と調停結果１７０２において、バス１ではスロット０〜７において４連続でアクセス要求がなされていることが確認できる。ここで、連続アクセス要求とは調停によりアクセス要求が許可された次のスロットにおいて、次のアクセス要求が発行されている状態を指す。また、スロット１０〜１７とスロット２０〜２７においてもスロット０〜７と同様に４連続でアクセス要求が行われている。つまり、バス１は過去３０回の調停において３回の４連続でアクセス要求を行っていることが分かる。そこで、学習部１２０は上記連続ルールに従いバス調停情報１１６を更新するように、調停情報管理部１２１に対し指示を出す。図２０の例では、バス調停情報１１６は調停情報管理部１２１によりバス調停情報１７０３に更新される。
【００７２】
図２１は、バス調停情報に「周期ルール」を適用する場合の図である。図２１において、１８０１は更新前のバス調停情報である。１８０２は、バス調停情報１８０１に基づく過去３０回の調停の結果、学習部１２０がバス調停部１１７より与えられた調停結果情報を蓄えておいたアクセス要求と調停結果である。１８０３は更新後のバス調停情報である。
【００７３】
アクセス要求と調停結果１８０２において、スロット０〜２ではバス０、１、２の順番でアクセス要求を出していることが確認できる。また、スロット５〜８、スロット１０〜１２、スロット１５〜１８、スロット２０〜２２、スロット２５〜２８においても、スロット０〜２と同様にバス０、１、２の順番でアクセス要求を出していることが確認できる。つまり、アクセス要求と調停結果１８０２より過去３０回の調停結果情報において５スロット毎にバス０、１、２の順番でアクセス要求を出している状態が６回続くことが分かる。そこで、学習部１２０は上記周期ルールに従いバス調停情報１１６を更新するように、調停情報管理部１２１に対し指示を出す。図２１の例では、バス調停情報１１６は調停情報管理部１２１によりバス調停情報１８０３に更新される。
【００７４】
図２２は、バス調停情報に「一時ルール」を適用する場合の図である。図２２において、１９０１は更新前のバス調停情報である。１９０２は、バス調停情報１９０１に基づく過去３０回の調停の結果、学習部１２０がバス調停部１１７より与えられた調停結果情報を蓄えておいたアクセス要求と調停結果である。１９０３はバス調停情報１９０１に代えて一時的に採用されるバス調停情報である。
【００７５】
アクセス要求と調停結果１９０２において、スロット０、１、４、１０、１１、１４、２０、２１、２４でバス０，１からアクセス要求が同時に出され、バス調停情報１９０１のバス優先順位に従い調停される。この調停の結果、これらのスロットではバス０にアクセス権が与えられる。図２２の例では、バス０とバス１がバス優先順位で調停されるとき、バス１にはアクセス権は与えられない。そこで、学習部１２０は上記一時ルールに従いバス調停情報１１６を更新するように、調停情報管理部１２１に対し指示を出す。図２２の例では、バス調停情報１１６は調停情報管理部１２１により、バス１、２、０の順のバス優先順位を指定するバス調停情報１９０３に更新される。その後、バス調停情報１９０３を用いた１０回の調停が不図示のスロット３０〜３９で行われた後に、バス調停情報１１６は元のバス調停情報１９０１に戻される。
【００７６】
図２３は、バス調停情報に「パターン設定ルール」を適用する場合の図である。図２３において、２００１はバス優先順位のみが設定された、アクセス最優先パターンを持たないバス調停情報である。２００２は、バス調停情報２００１に基づく過去１０回の調停の結果、学習部１２０がバス調停部１１７より与えられた調停結果情報を蓄えておいたアクセス要求と調停結果である。２００３は更新後のバス調停情報である。
【００７７】
アクセス要求と調停結果２００２において、スロット０ではバス０からのみアクセス要求がある。この際、バス優先順位に従いバス０がアクセス権を得る。学習部１２０は各スロットでアクセス権を獲得したバスを記憶しておく。そして、全スロット０〜９に対してバス優先順位に従った調停を行った後に、当該調停でアクセス権を獲得したバスの順にバス調停情報１１６のアクセス最優先パターンを設定する。図２３の例では、設定されたバス調停情報１１６はバス調停情報２００３となる。
【００７８】
以上、バスマスタ調停情報１０６，１０８，１１０に関連する説明を省略したが、上記バス調停情報１１６と同様に更新可能である。
【００７９】
図２４は、バスマスタ調停情報１０６に「連続ルール」を適用する場合の図である。図２４において、２１０１は更新前のバスマスタ調停情報である。２１０２は、バスマスタ調停情報２１０１に基づく過去３０回の調停の結果、学習部１２０がバスマスタ調停部１０７より与えられた調停結果情報を蓄えておいたアクセス要求と調停結果である。２１０３は更新後のバスマスタ調停情報である。
【００８０】
アクセス要求と調停結果２１０２において、バスマスタＡはスロット０〜５において３連続でアクセス要求を出したことが確認できる。また、スロット１０〜１５とスロット２０〜２５においてもスロット０〜５と同様に３連続でアクセス要求が行われている。つまり、バスマスタＡは過去３０回の調停において３回の３連続でアクセス要求を行っていることが分かる。そこで、学習部１２０は上記連続ルールに従いバスマスタ調停情報１０６を更新するように、調停情報管理部１２１に対し指示を出す。図２４の例では、バスマスタ調停情報１０６は調停情報管理部１２１によりバスマスタ調停情報２１０３に更新される。
【００８１】
なお、図１７においてはバス０〜２の３本のバスを用いたが、バスは任意本数あってもよい。また、バス０，１に対してはそれぞれ２個のバスマスタを、バス２に対しては１個のバスマスタをそれぞれ接続した構成としているが、バス毎のバスマスタ個数は任意であり、バス毎にバスマスタ個数が異なっていてもよい。また、バス０〜２に対して１個の共有リソース１１９を接続した構成となっているが、リソースは任意個数あってもよく、バス毎にリソースの個数が異なってもよい。また、バスマスタと共有リソースという形で説明したが、バスマスタと共有リソースの両方の機能を有する回路ブロックも同様に扱うことが可能である。これらの点は、前述した他の実施の形態でも同様である。また、バスマスタ調停部やバス調停部の各々が個別に学習部を備えていてもよい。
【００８２】
図２５は、図１７のリソース管理装置の拡張例を示している。この拡張によれば、図１７中のバスマスタ１０５が図２５の構成に置き換えられる。図２５中の８０１〜８１８、８２０、８２１は、それぞれ図１７中の１０１〜１１８、１２０、１２１に対応する。図２５中のバス８１２，８１３，８１４、すなわちバス３，４，５は、図１７中のバス０，１，２に対する上位バスである。つまり、全体としてマルチレイヤ構成のバス形式となっている。図２５中のバスマスタ８０１〜８０５、すなわち上位バスマスタＰ，Ｑ，Ｒ，Ｓ，Ｔは、バス３〜５のいずれかとバス２とを介して図１７中の共有リソース１１９にアクセスする。この場合でも、バス０〜５から共有リソース１１９へのアクセスバンド幅をそれぞれ保証可能である。
【００８３】
図２５中のリソース制御部８１８は、バス調停部８１７により調停されたバスからのアクセスのプロトコルを、バス２に対するアクセスのプロトコルに変換する機能を有する。このリソース制御部８１８は、上位階層のバスのトランザクションを最適化する機能を有することも可能である。具体的には、上位バスマスタＰ〜Ｔからの単発的なアクセスをバーストアクセスに変換するなどがあり、容易に実現可能である。また、バス調停部８１７から出力されるトランザクションのプロトコルが下位バス１１２〜１１４のトランザクションのプロトコルと同一の場合には、リソース制御部８１８は特に必要としない。
【００８４】
なお、図２５では１個のリソース制御部８１８がバス２に対するバスマスタとなっているが、リソース制御部８１８は複数個あってもよく、１つのバスに複数個のリソース制御部８１８を接続してもよい。同一のバスに他のバスマスタとともにリソース制御部８１８を接続することも可能である。
【産業上の利用可能性】
【００８５】
以上説明してきたとおり、本発明に係るリソース管理装置は、各バスマスタに対して共有リソースへのアクセスに係る任意の最低バンド幅を保証でき、また各バスマスタが共有リソースへアクセスする際のレイテンシを小さくすることができるので、複数のバスにそれぞれ少なくとも１つのバスマスタが接続されてなるマルチバスマスタかつマルチバス構成のデータ処理システムにおいて有用である。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１の実施の形態に係るリソース管理装置の構成を示すブロック図である。
【図２】図１中のリソース制御部の詳細構成例を示すブロック図である。
【図３】図１中のバス調停情報をテーブル形式の情報とした例を示す図である。
【図４】図１中のバス調停部が図３のバス調停情報を用いて調停を行う場合の図である。
【図５】図３のバス調停情報中のアクセス最優先パターンの変更例を示す図である。
【図６】図３のバス調停情報中のバス優先順位の変更例を示す図である。
【図７】図３のバス調停情報の構成に係る変形例を示す図である。
【図８】本発明の第２の実施の形態に係るリソース管理装置の構成を示すブロック図である。
【図９】図８中のバスマスタ調停情報及びバス調停情報をそれぞれテーブル形式の情報とした例を示す図である。
【図１０】図８中のグループ情報の一例を示す図である。
【図１１】図１０のグループ情報を考慮したバスマスタ調停情報及びバス調停情報の一例を示す図である。
【図１２】本発明の第３の実施の形態に係るリソース管理装置の構成を示すブロック図である。
【図１３】図１２のリソース管理装置がアクセスのバス毎にバンド幅を保証する動作を説明するための図である。
【図１４】図１３に対応したバスマスタ調停情報の一例を示す図である。
【図１５】図１２のリソース管理装置がアクセスの目的毎にバンド幅を保証する動作を説明するための図である。
【図１６】図１５に対応したバスマスタ調停情報の一例を示す図である。
【図１７】本発明の第４の実施の形態に係るリソース管理装置の構成を示すブロック図である。
【図１８】図１７のリソース管理装置の動作を示すフローチャート図である。
【図１９】図１７のリソース管理装置においてバス調停情報に多試行ルールを適用する場合の図である。
【図２０】図１７のリソース管理装置においてバス調停情報に連続ルールを適用する場合の図である。
【図２１】図１７のリソース管理装置においてバス調停情報に周期ルールを適用する場合の図である。
【図２２】図１７のリソース管理装置においてバス調停情報に一時ルールを適用する場合の図である。
【図２３】図１７のリソース管理装置においてバス調停情報にパターン設定ルールを適用する場合の図である。
【図２４】図１７のリソース管理装置においてバスマスタ調停情報に連続ルールを適用する場合の図である。
【図２５】図１７のリソース管理装置の拡張例を示すブロック図である。
【符号の説明】
【００８７】
１０１〜１０５，７０１〜７０５，８０１〜８０５  バスマスタ
１０６，１０８，１１０，７０６，７０８，７１０，８０６，８０８，８１０  バスマスタ調停情報
１０７，１０９，１１１，７０７，７０９，７１１，８０７，８０９，８１１  バスマスタ調停部
１１２〜１１４，７１２〜７１４，８１２〜８１４  バス
１１５，７１５，７３０，８１５  リソース管理部
１１６，７１６，７３１，８１６  バス調停情報
１１７，７１７，７３２，８１７  バス調停部
１１８，７１８，７３３，８１８  リソース制御部
１１９，７１９，７３４  共有リソース
１２０，８２０  学習部
１２１，７２１，８２１  調停情報管理部
１３１  アクセス制御部
１３２  バッファメモリ
７２４  グループ情報
７２５  シミュレーション部
【図１】
2004246862.tif 000003
【図２】
2004246862.tif 000004
【図３】
2004246862.tif 000005
【図４】
2004246862.tif 000006
【図５】
2004246862.tif 000007
【図６】
2004246862.tif 000008
【図７】
2004246862.tif 000009
【図８】
2004246862.tif 000010
【図９】
2004246862.tif 000011
【図１０】
2004246862.tif 000012
【図１１】
2004246862.tif 000013
【図１２】
2004246862.tif 000014
【図１３】
2004246862.tif 000015
【図１４】
2004246862.tif 000016
【図１５】
2004246862.tif 000017
【図１６】
2004246862.tif 000018
【図１７】
2004246862.tif 000019
【図１８】
2004246862.tif 000020
【図１９】
2004246862.tif 000021
【図２０】
2004246862.tif 000022
【図２１】
2004246862.tif 000023
【図２２】
2004246862.tif 000024
【図２３】
2004246862.tif 000025
【図２４】
2004246862.tif 000026
【図２５】
2004246862.tif 000027