(57)【要約】【課題】本発明は、バスマスタのレイテンシを低減することが可能な調停装置を提供することを目的とする。【解決手段】本実施形態の調停装置１は、インタフェース部１３が第１バスマスタ２１からバスマスタ２１〜２５のメモリ２７へのアクセスの予約要求を受信した際に、制御部１２により、バスマスタ２１〜２５により現在使用されているデータバス３のバス帯域からそのアクセスの予約要求が最新に許可されたバスマスタより現在使用されているデータバス３のバス帯域を減算した第１の減算結果が、データバス３の最大のバス帯域からその最新に許可されたバスマスタによるデータバス３の予約分のバス帯域を減算した第２の減算結果よりも大きいと判定される場合には、既にアクセス要求が許可されているバスマスタ以外からのバスマスタのアクセスの予約要求は許可されない構成とされている。【選択図】図１
2007102509.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続された複数のバスマスタおよび共有リソース制御手段を介して該バスに接続された共有リソースとの通信を確立するためのインタフェース部を有して成る調停装置であって、
前記インタフェース部が、前記バスマスタから前記バスの所定のバス帯域分を使用した前記共有リソースへのアクセスの要求を受信した際に、全てのバスマスタにより現在使用されている前記バスのバス帯域から前記共有リソースへのアクセスの要求が最新に許可されたバスマスタが現在使用している前記バスのバス帯域を減算した第１の減算結果と、前記バスの最大のバス帯域から前記最新に許可されたバスマスタにおける前記バスの予約分のバス帯域を減算した第２の減算結果と、を比較して、前記第１の減算結果が前記第２の減算結果よりも大きい場合には、前記インタフェース部が受信した前記共有リソースへのアクセスの要求に対して許可を与えないことを特徴とする調停装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスマスタから共有リソースへのアクセスを管理するための調停装置に関するものである。
【背景技術】
【０００２】
従来より、バスに接続された複数のバスマスタと、そのバスにアクセス部（例えば、ＤＲＡＭ[Dynamic Random Access Memory]コントローラ）を介して接続された共有リソース（例えば、ＤＲＡＭ）とを備えたデータ処理システムには、複数のバスマスタがアクセス部を介して共有リソースにアクセスを行う際に、各バスマスタの共有リソースへのアクセスを円滑に行わせるために、各バスマスタからの共有リソースへのアクセス要求をデータ処理システムに適した方法で調停を行う調停装置が備えられている。
【０００３】
また、このような調停装置に関係する先行技術文献として、例えば、複数のバスにそれぞれ少なくとも１つのバスマスタが接続され、かつ各バスマスタがその複数のバスのいずれかを介して少なくとも１つの共有リソースに接続されてなるデータ処理システムにおけるリソース管理装置であって、複数のバスから共有リソースへのアクセス量を調停するためのバス調停部（すなわち、調停装置に相当）と、そのバス調停部における調停処理のために、バス優先順位と、複数のバスから共有リソースへのアクセスバンド幅を確保するためのアクセス最優先パターンとをバス調停情報として管理するための調停情報管理部と、バス調停部でアクセス権を獲得したバスから共有リソースへのアクセスを共有リソースの特性に基づいて制御するためのリソース制御部と、共有リソースの転送データを一時記憶するためのバッファメモリと、を備えたリソース管理装置が開示・提案されている（例えば、特許文献１を参照）。
【特許文献１】特開２００４−２４６８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記構成から成るリソース管理装置であれば、複数のバスマスタの各々に対して共有リソースへのアクセスにかかる任意の最低バンド幅を保障することができる。
【０００５】
しかしながら、上記構成から成るリソース管理装置は、その処理速度を向上させるために、Ｑｕｅｕｉｎｇバッファに相当する共有リソースの転送データを一時記憶するためのバッファメモリを備えているが、そのバッファメモリへのアクセスが競合すると、バッファメモリは常にその記憶領域がＦｕｌｌ状態になってしまう。そのため、中央演算処理装置のようなレイテンシ（すなわち、遅延時間）が小さくなければならないバスマスタに対して、バスが混雑した状況で仮にバス調停部（すなわち、調停装置に相当）により他のバスマスタよりも優先的に共有リソースへのアクセスが許可されたとしても、バスが混雑した状況ではそのバッファメモリはＦｕｌｌ状態であるため、バスが混雑していない状況に比べて、そのバスマスタのレイテンシは必ず増加してしまうという問題を有する。
【０００６】
本発明は、上記の問題点に鑑み、バスマスタのレイテンシを低減することが可能な調停装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る調停装置は、バスに接続された複数のバスマスタおよび共有リソース制御手段を介して該バスに接続された共有リソースとの通信を確立するためのインタフェース部を有して成り、前記インタフェース部が、前記バスマスタから前記バスの所定のバス帯域分を使用した前記共有リソースへのアクセスの要求を受信した際に、全てのバスマスタにより現在使用されている前記バスのバス帯域から前記共有リソースへのアクセスの要求が最新に許可されたバスマスタが現在使用している前記バスのバス帯域を減算した第１の減算結果と、前記バスの最大のバス帯域から前記最新に許可されたバスマスタにおける前記バスの予約分のバス帯域を減算した第２の減算結果と、を比較して、前記第１の減算結果が前記第２の減算結果よりも大きい場合には、前記インタフェース部が受信した前記共有リソースへのアクセスの要求に対して許可を与えない構成とされている。このような構成とすることにより、バスマスタの共有リソースへのアクセスのレイテンシを低減することが可能となる。
【０００８】
上記目的を達成するために、本発明に係る調停装置は、バスに接続された複数のバスマスタおよび共有リソース制御手段を介して該バスに接続された共有リソースとの通信を確立するためのインタフェース部と、前記バスの最大のバス帯域および前記バスマスタからの前記バスの所定のバス帯域分を使用した前記共有リソースへのアクセスの要求を許可するか否かを判定するための判定式を記憶する第１の記憶手段と、前記インタフェース部を介した前記バスマスタと前記共有リソース間でのデータの転送の際に、前記インタフェース部から入力される該データの転送量に対応するデータ転送量信号の入力時間を前記バスマスタごとにカウントするカウント部と、前記共有リソースへのアクセスの要求が最新に許可されたバスマスタにおける前記バスの予約分のバス帯域である予約バス帯域を記憶する第２の記憶手段と、を有して成り、前記インタフェース部が、前記バスマスタから前記バスの所定のバス帯域分を使用した前記共有リソースへのアクセスの要求を受信した際に、前記カウント部に前記データ転送量信号の入力時間のカウントを行わせ、そのカウント結果から全てのバスマスタにより現在使用されている前記バスのバス帯域である現在のバス帯域および前記共有リソースへのアクセスの要求が最新に許可されたバスマスタが現在使用している前記バスのバス帯域である現在の予約使用バス帯域を求めるバス帯域解析手段と、前記判定式に基づいて、前記現在のバス帯域から前記現在の予約使用バス帯域を減算した第１の減算結果と、前記バスの最大のバス帯域から前記予約バス帯域を減算した第２の減算結果と、を求め、更に第１の減算結果と第２の減算結果とを比較して、前記第１の減算結果が前記第２の減算結果よりも大きい場合には、前記インタフェース部が受信した前記共有リソースへのアクセスの要求に対して許可を与えない制御手段と、を有して成る構成とされている。このような構成とすることにより、バスマスタの共有リソースへのアクセスのレイテンシを低減することが可能となる。
【発明の効果】
【０００９】
上記したように、本発明に係る調停装置であれば、バスマスタの共有リソースへのアクセスのレイテンシを低減することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について図を参照して説明を行う。図１は、本発明に係る調停装置およびそれを備えたデータ処理システムの要部構成を示すブロック図である。データ処理システム２は、主にデータの通信に使用されるデータバス３と、要求処理、起動処理および設定処理等に関する信号の通信に使用されるコントロールバス４と、第１バスマスタ２１と、第２バスマスタ２２と、第３バスマスタ２３と、第４バスマスタ２４と、第５バスマスタ２５と、所定の記憶領域を備えた共有リソースのメモリ２７と、メモリ２７へのデータの書き込み、読み出しおよび消去処理を行う共有リソース制御手段のメモリコントローラ２６と、後述するように、各バスマスタ２１〜２５のメモリ２７へのデータバス３を介したアクセス要求を調停する調停装置１と、を有して成る。
【００１１】
第１バスマスタ２１は、中央演算処理装置（ＣＰＵ［Central Processing Unit］）からなる。第１バスマスタ２１は、データバス３およびコントロールバス４に接続され、コントロールバス４を介して調停装置１にアクセスして、各バスマスタ２１〜２５によるデータバス３の所定のバス帯域分を使用したメモリ２７へのアクセスに関する予約要求を行う。また、第１バスマスタ２１は、第２バスマスタ２２〜第５バスマスタ２５に対してコントロールバス４を介して、起動処理や設定処理等を行う。なお、バス帯域とは、所定時間の間に転送可能なデータ量を意味する。
【００１２】
第２バスマスタ２２〜第５バスマスタ２５は、データバス３およびコントロールバス４に接続されている。また、第２バスマスタ２２〜第５バスマスタ２５は、例えば、データ処理システム２が複写機であれば、メモリに記憶された画像データを読み出して印字部に送る印字回路部、スキャンされて生成された原稿の画像データをメモリに送る画像入力回路部、およびスキャンされて生成された原稿の画像データをメモリから読み出して符号化する符号化回路等に相当する。なお、データ処理システム２は、複写機に限定されるものではない。
【００１３】
メモリ２７は、メモリコントローラ２６を介してデータバス３およびコントロールバス４に接続されており、例えば、ＤＤＲ ＳＤＲＡＭ[Double Data Rate Synchronous Dynamic Random Access Memory]からなる。
【００１４】
メモリコントローラ２６は、ＤＤＲ ＳＤＲＡＭコントローラからなり、データバス３およびコントローラバス４に接続され、データ処理システム全体の処理速度を向上させるために、データを複数受け付けておくことのできるＱｕｅｕｉｎｇバッファ（不図示）を有して成る。
【００１５】
本実施形態の調停装置１は、装置全体の制御を行う制御部１２と、後述するデータバス３の最大のバス帯域Ｂや制御プログラム等を記憶する第１の記憶手段となる記憶部１１と、データバス３およびコントロールバス４に接続され、外部の装置、すなわち、各バスマスタ２１〜２５、メモリコントローラ２６およびメモリ２７との信号の通信を確立するインタフェース部１３（略称、Ｉ／Ｆ部１３）と、を有して成る。
【００１６】
制御部１２は、各バスマスタ２１〜２５のメモリコントローラ２６を経由したメモリ２７へのアクセスの予約状況を記憶するための第２の記憶手段となるレジスタ１２ａを有して成る。
【００１７】
また、制御部１２は、調停装置全体の制御を行うほか、後述のように、インタフェース部１３が第１バスマスタ２１からの各バスマスタ２１〜２５のデータバス３の所定のバス帯域分を使用したメモリ２７へのアクセスの予約要求を受信した際に、そのアクセスの予約要求を許可するか否かを判定する処理を行う。
【００１８】
また、制御部１２は、メモリ２７へのアクセスの予約要求を許可すると判定した場合には、レジスタ１２ａにその予約要求を許可したバスマスタ名、およびそのバスマスタがメモリ２７にアクセスする際に使用するデータバス３の予約分のバス帯域を記憶させる。
【００１９】
また、制御部１２は、メモリ２７へのアクセスが許可されたバスマスタからデータをインタフェース部１３が受信した場合には、インタフェース部１３にそのデータをメモリコントローラ２６へ転送させた後に、後述するように、カウンタ部１４によるデータ転送量信号のカウント結果に基づいてそのバスマスタに対応する予約分のバス帯域が使用されたと判定すると、そのバスマスタに対応するレジスタ１２ａに記憶されたアクセスの予約要求に関する記憶内容を消去する。
【００２０】
また、制御部１２は、メモリ２７へのアクセスが許可されたバスマスタからメモリ２７からのデータ読み出し命令をインタフェース部１３が受信した場合には、インタフェース部１３にそのデータ読み出し命令をメモリコントローラ２６へ送信させる。その後、インタフェース部１３がメモリコントローラ２６からそのデータ読み出し命令に対応するデータを受信すると、インタフェース部１３にそのデータをデータ読み出し命令の送信元のバスマスタに送信させた後に、後述するように、カウンタ部１４によるデータ転送量信号のカウント結果に基づいてそのバスマスタに対応する予約分のバス帯域が使用されたと判定すると、そのバスマスタに対応するレジスタ１２ａに記憶されたアクセスの予約要求に関する記憶内容を消去する。
【００２１】
また、インタフェース部１３は、各バスマスタ２１〜２５のいずれかから受信したデータをメモリコントローラ２６に送信した際に、そのデータの受信に基づいてメモリコントローラ２６からデータバス３を介して送信されたそのデータの転送量に対応した受信完了信号を受信する。また、インタフェース部１３は、メモリコントローラ２６からデータバス３を介して受信したデータを各バスマスタ２１〜２５のいずれかに送信した際には、そのデータの受信に基づいて送信先のバスマスタからデータバス３を介してそのデータの転送量に対応した受信完了信号を受信する。そして、インタフェース部１３は、受信した受信完了信号に基づいて、各バスマスタ２１〜２５のデータの転送量に対応する受信完了信号をカウント部１４に各バスマスタ２１〜２５ごとのデータ転送量信号として入力する。
【００２２】
カウンタ部１４は、インタフェース部１３からそのデータ転送信号が入力されると、各バスマスタ２１〜２５ごとにデータ転送信号の入力時間をカウントする。
【００２３】
また、記憶部１１は、第１バスマスタ２１によって送信された各バスマスタ２１〜２５のデータバス３の所定のバス帯域分を使用したメモリ２７へのアクセスの予約要求がインタフェース部１３に受信され、その信号が制御部１２に入力された際に、制御部１２によりそのアクセスの予約要求を許可するか否かを判定するために用いられる判定式を記憶している。
【００２４】
ここで、記憶部１１に記憶されているその判定式について以下に説明を行う。全てのバスマスタ２１〜２５により現在使用されているデータバス３のバス帯域を現在のバス帯域Ａ、各バスマスタ２１〜２５からのメモリ２７へのアクセスに関してデータバス３の使用可能な最大のバス帯域を最大のバス帯域Ｂ、制御部１２により、各バスマスタ２１〜２５のうち、メモリ２７へのアクセスの予約要求が最新に許可されたバスマスタにおけるデータバス３の予約分のバス帯域を予約バス帯域Ｃ、制御部１２により、メモリ２７へのアクセスの予約要求が最新に許可されたそのバスマスタが、現在使用しているデータバス３のバス帯域を現在の予約使用バス帯域Ｄとすると、現在のバス帯域Ａから現在の予約使用バス帯域Ｄを減算した第１の減算結果を示す式（１）および最大のバス帯域Ｂから予約バス帯域Ｃを減算した第２の減算結果を示す式（２）は、
【数１】
2007102509.tif 000003
であり、上記式（１）と式（２）が判定式として記憶部１２に記憶されている。
【００２５】
なお、後述するように、制御部１２より、各バスマスタ２１〜２５のアクセスの予約要求を許可するか否かが判定される際に、上記式（１）と式（２）の値が求められ、その結果が比較される。制御部１２により、式（１）と式（２）の結果が比較され、式（１）が式（２）よりも大きい、すなわち、
【数２】
2007102509.tif 000004
と判定される場合には、例え共有リソース側のデータバス３（すなわち、メモリコントローラ２６とメモリ２７間のデータバス３）に余裕があったとしても、制御部１２により、既にメモリ２７へのアクセスの予約要求が許可されているバスマスタ以外のバスマスタのメモリ２７へのアクセスの予約要求は許可されない。これにより、メモリ２７へのアクセスの予約要求が最新に許可されたバスマスタの予約バス帯域Ｃを除いたデータバス３の全体のアクセス帯域は、必ず、式（２）の（Ｂ−Ｃ）となり、極端なデータバス３の混雑状態をさけることが可能となる。
【００２６】
また、記憶部１１は、前述した各バスマスタ２１〜２５からのメモリ２７へのアクセスに関してデータバス３の使用可能な最大のバス帯域の値である最大のバス帯域Ｂを記憶している。なお、その最大のバス帯域Ｂは、データバス３やメモリコントローラ２６の構成等に基づいてシミュレーションから求められたものである。
【００２７】
次に、上記構成から成る調停装置１を備えたデータ処理システム２において、制御部１２により第１バスマスタ２１がメモリ２７へのアクセスが許可されている場合を例に挙げて、データ処理システム２のデータ転送動作について以下に説明する。まず、第１バスマスタ２１からメモリ２７へデータを転送して格納させる場合の動作について説明を行う。第１バスマスタ２１からデータバス３を介して調停装置１のインタフェース部１３にデータが送信される。インタフェース部１３がそのデータを受信すると、そのデータに含まれるメモリコントローラ２６のアドレス情報に従って制御部１２の制御により、インタフェース部１３からデータがメモリコントローラ２６に送信される。その後、制御部１２により、予約分のバス帯域が使用されたと判定されると、レジスタ１２ａに記憶された第１バスマスタ２１に対応するアクセスの予約要求に関する記憶内容が消去される。そして、メモリコントローラ２６がデータを受信すると、一旦、Ｑｕｅｕｉｎｇバッファ（不図示）に格納され、データに含まれるメモリ２７への書き込み命令に従ってメモリコントローラ２６により、データがメモリ２７に格納される。
【００２８】
次に、第１バスマスタ２１がメモリ２７からデータを読み込む場合の動作について説明を行う。第１バスマスタ２１からコントローラバス４を介してインタフェース部１３にメモリ２７からのデータの読み出し命令が送られる。インタフェース部１３がメモリ２７からのデータの読み出し命令を受信すると、制御部１２にその読み出し命令が認識され、インタフェース部１３からメモリコントローラ２６へデータ読み出し命令が送信される。データ読み出し命令に基づいてメモリコントローラ２６によりメモリ２７に記憶されたデータが読み出されて、一旦メモリコントローラ２６のＱｕｅｕｉｎｇバッファ（不図示）に格納される。そして、メモリコントローラ２６からインタフェース部１３にデータが転送された後に、制御部１２の制御により、インタフェース部１３を介してデータの読み出し命令を送信した第１バスマスタ２１にデータが転送される。その後、制御部１２により、予約分のバス帯域が使用されたと判定されると、レジスタ１２ａに記憶された第１バスマスタ２１に対応するアクセスの予約要求に関する記憶内容が消去される。
【００２９】
なお、上記構成から成る本実施形態の調停装置１は、第１バスマスタ２１からの各バスマスタ２１〜２５のメモリ２７へのアクセスの予約要求の管理制御に特徴を有している。そこで、以下では、本実施形態の調停装置１における第１バスマスタ２１からの各バスマスタ２１〜２５のメモリ２７へのアクセスの予約要求の管理制御について図２を参照しながら詳細な説明を行う。なお、本発明を理解しやすいように、調停装置１の制御部１２は、既に、最新のメモリ２７へのアクセスの予約要求の許可として、第１バスマスタ２１に予約バス帯域Ｃのアクセスを許可しており、これから調停装置１が、第１バスマスタ２１からの第３バスマスタ２３によるデータバス３のバス帯域Ｅを使用したメモリ２７へのアクセスの予約要求を受ける場合を例に挙げて説明を行う。
【００３０】
本実施形態の調停装置１では、ステップＳ２−１で、第１バスマスタ２１からコントロールバス４を介して送られた第３バスマスタ２３のデータバス３のバス帯域Ｅを使用したメモリ２７へのアクセスの予約要求がインタフェース部１３に受信されると、ステップＳ２−２で、制御部１２の制御により、前述の式（１）および式（２）のパラメータである現在のバス帯域Ａおよび現在の予約使用バス帯域Ｄが以下のように計測されて求められる。
【００３１】
ここで、ステップＳ２−２における式（１）および式（２）のパラメータである現在のバス帯域Ａおよび現在の予約使用バス帯域Ｄを求めるための調停装置１の動作について以下に説明する。本実施形態の調停装置１では、インタフェース部１３が各バスマスタ２１〜２５のいずれかからデータを受信すると、そのデータがインタフェース部１３から制御部１２に入力される。そして、制御部１２により、一旦受信したそのデータがインタフェース部１３を介してメモリコントローラ２６に送られると、そのデータの受信に基づいてメモリコントローラ２６からインタフェース部１３を介して送信されたデータの転送量に対応した受信完了信号がインタフェース部１３に送信される。そして、インタフェース部１３は、受信した受信完了信号に基づいて、各バスマスタ２１〜２５のデータの転送量に対応する受信完了信号をカウント部１４に各バスマスタ２１〜２５ごとのデータ転送量信号として入力する。
【００３２】
また、インタフェース部１３がメモリコントローラ２６からデータを受信した後に、制御部１２の制御により、インタフェース部１３から各バスマスタ２１〜２５のいずれかにそのデータが送信されると、そのデータの受信に基づいて送信先のバスマスタからデータバス３を介してデータの転送量に対応した受信完了信号がインタフェース部１３に送信される。そして、インタフェース部１３は、受信した受信完了信号に基づいて、各バスマスタ２１〜２５のデータの転送量に対応する受信完了信号をカウント部１４に各バスマスタ２１〜２５ごとのデータ転送量信号として入力する。
【００３３】
そして、カウンタ部１４は、インタフェース部１３からそのデータ転送信号が入力されると、各バスマスタ２１〜２５ごとにデータ転送信号の入力時間をカウントする。
【００３４】
そして、制御部１２により、カウント部１３による各バスマスタ２１〜２５ごとにデータ転送信号の入力時間のカウント結果が読み込まれ、各バスマスタ２１〜２５により現在使用されているデータバス３のバス帯域である現在のバス帯域Ａおよび第１バスマスタ２１が現在使用しているデータバス３のバス帯域である現在の予約使用バス帯域Ｄが求められる。
【００３５】
なお、前述したように、制御部１２は、インタフェース部１３が、第１バスマスタ２１からデータバス３の所定のバス帯域分を使用したメモリ２７（すなわち、共有リソース）へのアクセスの予約要求を受信した際に、カウント部１４にデータ転送量信号の入力時間のカウントを行わせ、そのカウント結果から全てのバスマスタにより現在使用されている前記バスのバス帯域である現在のバス帯域Ａおよびメモリ２７へのアクセスの予約要求が最新に許可されたバスマスタが現在使用しているデータバス３のバス帯域である現在の予約使用バス帯域Ｄを求めるバス帯域解析手段と、しての役割を担っている。
【００３６】
続いて、ステップＳ２−３で、制御部１２より、記憶部１１に記憶された最大のバス帯域Ｂ、レジスタ１２ａに記憶された第１バスマスタ２１の予約バス帯域Ｃ、およびステップＳ２−２で求められた現在のバス帯域Ａと現在の予約使用バス帯域Ｄが、式（１）と式（２）に代入されて、現在のバス帯域Ａから現在の予約使用バス帯域Ｄを減算した第１の減算結果および最大のバス帯域Ｂから予約バス帯域Ｃを減算した第２の減算結果が求められる。そして、式（１）から得られた第１の減算結果と式（２）から得られた第２の減算結果とが比較される。制御部１２により、式（１）から得られた第１の減算結果が式（２）から得られた第２の減算結果よりも大きい、すなわち、
【数３】
2007102509.tif 000005
の関係にあると判定される場合には（Ｓ２−３ＮＯ）、ステップＳ２−４で、制御部１２により、共有リソース側でのデータバス３（すなわち、メモリコントローラ２６とメモリ２７間のデータバス３）の混雑が予想されるため、第１バスマスタ２１からの第３バスマスタ２３のデータバス３のバス帯域Ｅを使用したメモリ２７へのアクセスの要求予約が許可されない。
【００３７】
すなわち、式（３）に示す判定結果の場合、制御部１２にメモリ２７へのアクセスの予約要求が許可されているバスマスタ以外のバスマスタのメモリ２７へのアクセスの予約要求は、例え共有リソース（すなわち、メモリ２７）側のデータバス３（すなわち、メモリコントローラ２６とメモリ２７間のデータバス３）に余裕があったとしても、許可されないことを意味する。
【００３８】
また、ステップＳ２−３で、制御部１２により、式（１）から得られた第１の減算結果が式（２）から得られた第２の減算結果よりも大きくない、すなわち、
【数４】
2007102509.tif 000006
の関係にあると判定される場合には（Ｓ２−３ＹＥＳ）、ステップＳ２−５で、すなわち、共有リソース（すなわち、メモリ２７）側のデータバス３（すなわち、メモリコントローラ２６とメモリ２７間のデータバス３）が極端な混雑状況でないため、制御部１２により、第１バスマスタ２１からの第３バスマスタ２３のデータバス３のバス帯域Ｅを使用したメモリ２７へのアクセスの予約要求を許可する旨の信号がインタフェース部１３およびコントロールバス４を介して第１バスマスタ２１へ送られる。そして、その予約内容がレジスタ１２ａに記憶される。
【００３９】
続いて、ステップＳ２−６で、制御部１２により、第１バスマスタ２１からの第３バスマスタ２３のデータバス３のバス帯域Ｅを使用したメモリ２７へのアクセスの予約が完了していないと判定される場合には（Ｓ２−６ＮＯ）、ステップＳ２−３に戻る。また、ステップＳ２−６で、制御部１２により、第１バスマスタ２１からの第３バスマスタ２３のデータバス３のバス帯域Ｅを使用したメモリ２７へのアクセスの予約要求が完了していると判定される場合には（Ｓ２−６ＹＥＳ）、本動作は完了となる。
【００４０】
なお、上記で説明した実施形態では、調停装置１は、既に、第１バスマスタ２１からの第１バスマスタ２１のデータバス３に対してＣ帯域分のアクセスを行う予約を承認しており、これから調停装置１が、第１バスマスタ２１から第３バスマスタ２３のデータバス３に対するＥ帯域分のアクセス予約要求を受ける場合を例に挙げて説明を行ったが、これに限定されるものではない。
【００４１】
以上で説明したように、本実施形態の調停装置１は、インタフェース部１３が第１バスマスタ２１から各バスマスタ２１〜２５に関するデータバス３の所定のバス帯域分を使用したメモリ２７へのアクセスの予約要求を受信した際に、制御部１２により、全てのバスマスタ２１〜２５により現在使用されているデータバス３のバス帯域である現在のバス帯域Ａから、メモリ２７へのアクセスの予約要求が最新に許可されたバスマスタより現在使用されているデータバス３のバス帯域である現在の予約使用バス帯域Ｄを減算した第１の減算結果（Ａ−Ｄ）が、データバス３の使用可能な最大のバス帯域である最大のバス帯域Ｂから、メモリ２７へのアクセスの予約要求が最新に許可されたバスマスタによるデータバス３の予約分のバス帯域である予約バス帯域Ｃを減算した第２の減算結果（Ｂ−Ｃ）よりも大きいと判定される場合には、例え共有リソース（メモリ２７）側のデータバス３に余裕があったとしても、既にメモリ２７へのアクセス要求が許可されているバスマスタ以外のバスマスタのメモリ２７へのアクセスの予約要求は、許可されない構成であるため、メモリ２７へのアクセス要求が最新に許可されたバスマスタの予約バス帯域Ｃを除いたデータバス３の全体のアクセス帯域は、必ず、式（２）の（Ｂ−Ｃ）となり、バスマスタは、共有リソースへのアクセスに関して極端なデータバス３の混雑状態をさけることが可能となる。よって、本実施形態の調停装置１は、レイテンシを小さくしたいバスマスタが動作する場合に、上記で説明したように、予めバスマスタに対してデータバス３のバス帯域の予約を許可することで、バスマスタがデータバス３の混雑状況をさけることが可能となり、バスマスタの共有リソースへのアクセスのレイテンシを低減することが可能となる。
【００４２】
なお、本実施形態では、バスマスタは、第１〜第５バスマスタの５つであったが、このような構成に限定される必要はなく、少なくとも２つ以上のバスマスタがデータバス３およびコントロールバス４に接続された構成であればよく、上記と同様な効果が得られる。
【００４３】
なお、本実施形態では、データ処理システム２がデータバス３とコントロールバス４を備えた構成であったが、このような構成に限定される必要はなく、データバス３とコントロールバス４の代わりに、１種類のバスが備えられてもよく、上記と同様な効果を得ることが可能である。
【００４４】
また、本実施形態では、第１バスマスタ２１から調停装置１に、各バスマスタ２１〜２５のデータバス３の所定のバス帯域分を使用したメモリ２７へのアクセスの予約要求が行われる構成であったが、このような構成に限定される必要はなく、第１バスマスタ２１以外のその他のバスマスタのそれぞれからメモリ２７へのアクセスの予約要求が調停装置１に行われてもよい。
【００４５】
また、本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。
【産業上の利用可能性】
【００４６】
本発明は、バスマスタからの共有リソースへのアクセス要求を調停する調停装置全般に幅広く適用可能であり、バスマスタのレイテンシの低減に関して有用な技術である。
【図面の簡単な説明】
【００４７】
【図１】は、本発明に係る調停装置およびそれを備えたデータ処理システムの要部構成を示すブロック図である。
【図２】は、本実施形態の調停装置１における第１バスマスタ２１からメモリ２７へのアクセスの予約要求を受信した際の動作の一例を説明するためのフローチャートである。
【符号の説明】
【００４８】
１    調停装置
２    データ処理装置
３    データバス
４    コントロールバス
１１    記憶部
１２    制御部
１２ａ    レジスタ
１３    インタフェース部
１４    カウンタ部
２１〜２５    第１〜第５バスマスタ
２６    メモリコントローラ
２７    メモリ
【図１】
2007102509.tif 000007
【図２】
2007102509.tif 000008