(57)【要約】バス調停装置（１００）は、バス（１０）に接続された複数のバスマスタ（１１）〜（１３）間のデータ転送要求を調停するもので、バス割当決定部（２０）、計測制御部（３０）を備え、計測制御部（３０）は、計時カウンタ（３１）、比較器（３２）及びタイマレジスタ（３３）を有する。比較器（３２）は、計時カウンタ（３１）が計時したシステム稼働時間とタイマレジスタ（３３）に設定されている時間周期とを比較し、システム稼働時間が時間周期を越えると、その旨をバス割当決定部（２０）に通知し、バス割当決定部（２０）は、複数のバス調停アルゴリズムから一つを選択して、新たなバス調停アルゴリズムに変更して、バスを調停する。この結果、各バスマスタのバス使用権の偏りを回避できる。【特許請求の範囲】
【請求項１】
バスに接続される複数のバスマスタを含むシステムにおける、前記複数のバスマスタ間のデータ転送要求を調停するバス調停装置であって、
バス調停判定量を計測する計測制御部と、
所定のバス調停アルゴリズムに基づいて、前記複数のバスマスタ間のデータ転送要求を調停するバス割当決定部とを備え、
前記計測制御部は、前記バス調停判定量として、前記システムのシステム稼働時間と、前記複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、前記複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、
前記計測制御部は、計測した前記バス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行うバス調停装置。
【請求項２】
前記計測制御部は、
前記バス調停判定量として、前記システム稼働時間を計時する計時部と、
所定の時間周期を設定する時間周期設定部と、
前記システム稼動時間を前記時間周期と比較する比較部とを備え、
前記比較部は、前記システム稼働時間が前記時間周期を経過する毎に、所定の時間が経過したことを示す情報を前記制御情報として生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項１記載のバス調停装置。
【請求項３】
前記バス割当決定部は、通知された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う請求項２記載のバス調停装置。
【請求項４】
前記バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である、請求項３記載のバス調停装置。
【請求項５】
前記バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である、請求項３記載のバス調停装置。
【請求項６】
前記計測制御部は、
前記複数のバスマスタの各々について、各々のバスマスタが転送したデータ量の累計である累計転送データ量を、前記バス調停判定量として、計測する転送データ量計測部と、
前記複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定部と、
前記複数のバスマスタの各々について、前記累計転送データ量を前記基準転送データ量と比較する比較部とを備え、
前記比較部は、前記累計転送データ量が前記基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を前記制御情報として生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項１記載のバス調停装置。
【請求項７】
前記転送データ量計測部と、前記転送データ量設定部と、前記比較部とは、前記複数のバスマスタに対応して、それぞれ１対１対応で複数設けられる、請求項６記載のバス調停装置。
【請求項８】
前記バス割当決定部は、通知された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項６記載のバス調停装置。
【請求項９】
前記バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である、請求項８記載のバス調停装置。
【請求項１０】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用を禁止する、請求項８記載のバス調停装置。
【請求項１１】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を下げる、請求項８記載のバス調停装置。
【請求項１２】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を上げる、請求項８記載のバス調停装置。
【請求項１３】
前記バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である、請求項８記載のバス調停装置。
【請求項１４】
前記バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用を禁止する、請求項８記載のバス調停装置。
【請求項１５】
前記計測制御部は、
前記複数のバスマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、前記バス調停判定量として、計測するデータ転送時間計測部と、
前記複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定部と、
前記複数のバスマスタの各々について、前記所要データ転送時間を前記基準データ転送時間と比較する比較部とを備え、
前記比較部は、前記所要データ転送時間が前記基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を前記制御情報として生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項１記載のバス調停装置。
【請求項１６】
前記データ転送時間計測部と、前記データ転送時間設定部と、前記比較部とは、前記複数のバスマスタに対応して、それぞれ複数設けられる、請求項１５記載のバス調停装置。
【請求項１７】
前記バス割当決定部は、通知された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項１５記載のバス調停装置。
【請求項１８】
前記バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である、請求項１７記載のバス調停装置。
【請求項１９】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用を禁止する、請求項１７記載のバス調停装置。
【請求項２０】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を下げる、請求項１７記載のバス調停装置。
【請求項２１】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を上げる、請求項１７記載のバス調停装置。
【請求項２２】
前記バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である、請求項１７記載のバス調停装置。
【請求項２３】
前記バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用を禁止する、請求項１７記載のバス調停装置。
【請求項２４】
バスに接続される複数のバスマスタを含むシステムにおける、前記複数のバスマスタ間のデータ転送要求を調停するバス調停方法であって、
バス調停判定量を計測する計測制御ステップと、
所定のバス調停アルゴリズムに基づいて、前記複数のバスマスタ間のデータ転送要求を調停するバス割当決定ステップとを含み、
前記計測制御ステップでは、前記バス調停判定量として、前記システムのシステム稼働時間と、前記複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、前記複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、
前記計測制御ステップでは、計測した前記バス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定ステップでは、前記計測制御ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行うバス調停方法。
【請求項２５】
前記計測制御ステップは、
前記バス調停判定量として、前記システム稼働時間を計時する計時ステップと、
所定の時間周期を設定する時間周期設定ステップと、
前記システム稼動時間を前記時間周期と比較する比較ステップとを含み、
前記比較ステップでは、前記システム稼働時間が前記時間周期を経過する毎に、所定の時間が経過したことを示す情報を前記制御情報として生成し、
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項２４記載のバス調停方法。
【請求項２６】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項２５記載のバス調停方法。
【請求項２７】
前記計測制御ステップは、
前記複数のバスマスタの各々について、各々のバスマスタが転送したデータ量の累計である累計転送データ量を、前記バス調停判定量として、計測する転送データ量計測ステップと、
前記複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定ステップと、
前記複数のバスマスタの各々について、前記累計転送データ量を前記基準転送データ量と比較する比較ステップとを含み、
前記比較ステップでは、前記累計転送データ量が前記基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を前記制御情報として生成し、
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項２４記載のバス調停方法。
【請求項２８】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項２７記載のバス調停方法。
【請求項２９】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用を禁止するバス調停アルゴリズムを選択する、請求項２７記載のバス調停方法。
【請求項３０】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を下げるバス調停アルゴリズムを選択する、請求項２７記載のバス調停方法。
【請求項３１】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を上げるバス調停アルゴリズムを選択する、請求項２７記載のバス調停方法。
【請求項３２】
前記計測制御ステップは、
前記複数のバスマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、前記バス調停判定量として、計測するデータ転送時間計測ステップと、
前記複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定ステップと、
前記複数のバスマスタの各々について、前記所要データ転送時間を前記基準データ転送時間と比較する比較ステップとを含み、
前記比較ステップでは、前記所要データ転送時間が前記基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を前記制御情報として生成し、
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項２４記載のバス調停方法。
【請求項３３】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求３２記載のバス調停方法。
【請求項３４】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用を禁止するバス調停アルゴリズムを選択する、請求項３２記載のバス調停方法。
【請求項３５】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を下げるバス調停アルゴリズムを選択する、請求項３２記載のバス調停方法。
【請求項３６】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を上げるバス調停アルゴリズムを選択する、請求項３２記載のバス調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、バスに接続された複数のバスマスタを有するマルチプロセッサＬＳＩなどで使用される、バス調停装置とバス調停方法に関し、特に、各バスマスタからのバス要求に対するバス調停の最適化に関する。
【背景技術】
【０００２】  一般に、バス調停装置には、各バスマスタのバス要求に対して、バスマスタ毎に予め定められた優先順位に従ってバスの使用権を与えるように動作するものや、各バスマスタに均等にバスの使用権を与えるように動作するものがある。ここで、バスマスタとは、各種プロセッサ、ＣＰＵ等、それ自身がバスにアクセスして、メモリとの間でデータの転送を行うものを指す。【０００３】  予め定められた優先順位に従ってバスの使用権を与える方式は、固定優先順位方式として一般に知られている。【０００４】  一方、各バスマスタに均等にバスの使用権を与える方式には、幾つかの方式がある。文献１（日本国特開平３−１４２６５１号公報）は、各バスマスタ間のデータ転送量が均等になるように設計されたバス調停装置に関する技術を開示している。第１６図は、従来技術におけるバス調停装置のブロック図である。同図は、文献１に開示されているバス調停装置のブロック図の主要部分を示している。このものでは、バス４に接続された装置１〜装置ｎ（バスマスタに相当する）は、それぞれ、アービタ１ａ〜アービタｎａ（バス調停装置に相当する）と転送カウンタ１ｔ〜転送カウンタｎｔを備えている。転送カウンタ１ｔ〜転送カウンタｎｔは、それぞれ対応する装置１〜装置ｎが転送したデータ量の累計を求め、アービタ１ａ〜アービタｎａは、転送量の累計が多い装置のバス使用権の優先度を低くするように制御する。こうすることによって、各装置間のデータ転送量が均一になるようにしている。【０００５】  また、文献２（日本国特開平６−３０９２７４号公報）は、ランダムコード発生器を用いて、ランダムにバスの使用権を与えることで、バス使用権を、擬似的に均等に配分する方法を開示している。【０００６】  しかしながら、文献１で開示されたバス調停装置を、各バスマスタが転送するデータ量が異なるシステムに適用すると、バス使用権を各バスマスタに均等に与えることになるので、元来、転送すべきデータ量が多いバスマスタの処理が滞ることとなり、結果としてシステム全体の処理効率が低下するといった問題が発生する。具体的には、データ転送量が多いバスマスタと、データ転送量が少ないバスマスタとが混在するような場合には、データ転送量が多いバスマスタの優先度が低くなり、所定の時間内にデータの転送を完了することができないといった問題が生じる。【０００７】  また、固定優先順位によるバス調停を適用し、データ転送量が多いバスマスタの優先順位を高くし、データ転送量が少ないバスマスタの優先順位を低くすると、データ転送量が少ないバスマスタは殆どバスを使用することができず、システム全体として処理が滞るといった課題が生じる。
【特許文献１】日本国特開平３−１４２６５１号公報
【特許文献２】日本国特開平６−３０９２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】  そこで本発明は、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図るバス調停装置とバス調停方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】  第１の発明に係るバス調停装置は、バスに接続される複数のバスマスタを含むシステムにおける、複数のバスマスタ間のデータ転送要求を調停するバス調停装置であって、バス調停判定量を計測する計測制御部と、所定のバス調停アルゴリズムに基づいて、複数のバスマスタ間のデータ転送要求を調停するバス割当決定部とを備え、計測制御部は、バス調停判定量として、システムのシステム稼働時間と、複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、計測制御部は、計測したバス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００１０】  この構成によれば、システム稼働時間が所定の時間周期が経過する毎、あるいは、累計転送データ量が基準転送データ量を超える毎、あるいは、所要データ転送時間が基準データ転送時間を越える毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減し、好適なバス調停を実行できる。【００１１】  第２の発明に係るバス調停装置では、計測制御部は、バス調停判定量として、システム稼働時間を計時する計時部と、所定の時間周期を設定する時間周期設定部と、システム稼動時間を時間周期と比較する比較部とを備え、比較部は、システム稼働時間が時間周期を経過する毎に、所定の時間が経過したことを示す情報を制御情報として生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００１２】  この構成によれば、所定の時間周期が経過する毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減することができる。【００１３】  第３の発明に係るバス調停装置では、バス割当決定部は、通知された制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う。【００１４】  この構成によれば、複数のバス調停アルゴリズムを予め設定しておき、所定の時間周期が経過する毎に、そのうちの一つを選択して、バス調停アルゴリズムを変更できる。【００１５】  第４の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である。【００１６】  この構成によれば、システム利用者が予め設定した各バスマスタのバス使用の優先度に従って、一定した、簡便なバス調停を実現できる。【００１７】  第５の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である。【００１８】  この構成によれば、各バスマスタのバス使用権を巡回的に変更できる。【００１９】  第６の発明に係るバス調停装置では、計測制御部は、複数のバスマスタの各々について、各々��バスマスタが転送したデータ量の累計である累計転送データ量を、バス調停判定量として、計測する転送データ量計測部と、複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定部と、複数のバスマスタの各々について、累計転送データ量を基準転送データ量と比較する比較部とを備え、比較部は、累計転送データ量が基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を制御情報として生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００２０】  この構成によれば、一定時間内の転送データ量が所定の転送データ量を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、転送データ量の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。【００２１】  第７の発明に係るバス調停装置では、転送データ量計測部と、転送データ量設定部と、比較部とは、複数のバスマスタに対応して、それぞれ１対１対応で複数設けられる。【００２２】  この構成によれば、バスマスタごとに、転送データ量の計測と、基準転送データ量の設定が可能となるので、各バスマスタの状況に適応したバス調停が可能となる。【００２３】  第８の発明に係るバス調停装置では、バス割当決定部は、通知された制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う。【００２４】  この構成によれば、複数のバス調停アルゴリズムを予め設定しておき、一定時間内の転送データ量が所定の転送データ量を超えた場合に、予め設定している複数のバス調停アルゴリズムの一つを選択して、バス調停アルゴリズムを変更できる。【００２５】  第９の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である。【００２６】  この構成によれば、システム利用者が予め設定した各バスマスタのバス使用の優先度にしたがったバス調停を実現できる。【００２７】  第１０の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止する。【００２８】  この構成によれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止することによって、累計転送データ量が基準転送データ量に達していない他のバスマスタのバス使用における優先度を上げることが出来る。【００２９】  第１１の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を下げる。【００３０】  この構成によれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を下げることによって、���計転送データ量が基準転送データ量に達していない他のバスマスタのバス使用における優先度を上げることが出来る。【００３１】  第１２の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を上げる。【００３２】  この構成によれば、転送データ量が多いバスマスタに対するバス使用権の配分を多くし、多くのデータ転送を必要とするバスマスタの処理をさらに捗らせることが可能となる。【００３３】  第１３の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である。【００３４】  この構成によれば、各バスマスタのバス使用権を巡回的に変更できる。【００３５】  第１４の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止する。【００３６】  この構成によれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止することによって、累計転送データ量が基準転送データ量に達していない他のバスマスタにバス使用を巡回的に許可することが出来る。【００３７】  第１５の発明に係るバス調停装置では、計測制御部は、複数のバスマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、バス調停判定量として、計測するデータ転送時間計測部と、複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定部と、複数のバスマスタの各々について、所要データ転送時間を基準データ転送時間と比較する比較部とを備え、比較部は、所要データ転送時間が基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を制御情報として生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００３８】  この構成によれば、データ転送時間が所定のデータ転送時間を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、バスを占有する時間の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。【００３９】  第１６の発明に係るバス調停装置では、データ転送時間計測部と、データ転送時間設定部と、比較部とは、複数のバスマスタに対応して、それぞれ複数設けられる。【００４０】  この構成によれば、バスマスタごとに、データ転送時間の計測と、基準データ転送時間の設定が可能となるので、各バスマスタの状況に適応したバス調停が可能となる。【００４１】  第１７の発明に係るバス調停装置では、バス割当決定部は、通知された制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う。【００４２】  この構成によれば、複数のバス調停アルゴリズムを予め設定しておき、複数のバスマスタのうちのいずれかにおいて、所要データ転送時間が基準データ転送時間に達する毎に、予め設定している複数のバス調停アルゴリズムの一つを選択して、バス調停アルゴリズムを変更できる。【００４３】  第１８の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である。【００４４】  この構成によれば、システム利用者が予め設定した各バスマスタのバス使用の優先度にしたがったバス調停を実現できる。【００４５】  第１９の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用を禁止する。【００４６】  この構成によれば、データ転送時間が所定のデータ転送時間を超えたバスマスタのバス使用を禁止することによって、データ転送時間が所定のデータ転送時間に達していない他のバスマスタのバス使用における優先度を上げることが出来る。【００４７】  第２０の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用における優先度を下げる。【００４８】  この構成によれば、バスを多く使用するバスマスタのバス使用における優先度を下げ、システム全体で均等にバスを使用することが可能となる。【００４９】  第２１の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用における優先度を上げる。【００５０】  この構成によれば、バスを多く使用するバスマスタに対するバス使用権の配分を多くし、多くのデータ転送を必要とするバスマスタの処理を捗らせることが可能となる。【００５１】  第２２の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である。【００５２】  この構成によれば、各バスマスタのバス使用権を巡回的に変更できる。【００５３】  第２３の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用を禁止する。【００５４】  この構成によれば、データ転送時間が所定のデータ転送時間を超えたバスマスタのバス使用を禁止することによって、データ転送時間が所定のデータ転送時間に達していない他のバスマスタにバス使用を巡回的に許可することが出来る。【００５５】  第２４の発明に係るバス調停方法は、バスに接続される複数のバスマスタを含むシステムにおける、複数のバスマスタ間のデータ転��要求を調停するバス調停方法であって、バス調停判定量を計測する計測制御ステップと、所定のバス調停アルゴリズムに基づいて、複数のバスマスタ間のデータ転送要求を調停するバス割当決定ステップとを含み、計測制御ステップでは、バス調停判定量として、システムのシステム稼働時間と、複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、計測制御ステップでは、計測したバス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定ステップでは、計測制御ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００５６】  この方法によれば、システム稼働時間が所定の時間周期が経過する毎、あるいは、累計転送データ量が基準転送データ量を超える毎、あるいは、所要データ転送時間が基準データ転送時間を越える毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減し、好適なバス調停を実行できる。【００５７】  第２５の発明に係るバス調停方法では、計測制御ステップは、バス調停判定量として、システム稼働時間を計時する計時ステップと、所定の時間周期を設定する時間周期設定ステップと、システム稼動時間を時間周期と比較する比較ステップとを含み、比較ステップでは、システム稼働時間が時間周期を経過する毎に、所定の時間が経過したことを示す情報を制御情報として生成し、バス割当決定ステップでは、比較ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００５８】  この方法によれば、所定の時間周期が経過する毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減することができる。【００５９】  第２７の発明に係るバス調停方法では、計測制御ステップは、複数のバスマスタの各々について、各々のバスマスタが転送したデータ量の累計である累計転送データ量を、バス調停判定量として、計測する転送データ量計測ステップと、複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定ステップと、複数のバスマスタの各々について、累計転送データ量を基準転送データ量と比較する比較ステップとを含み、比較ステップでは、累計転送データ量が基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を制御情報として生成し、バス割当決定ステップでは、比較ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００６０】  この方法によれば、一定時間内の転送データ量が、所定の転送データ量を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、転送データ量の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。【００６１】  第３２の発明に係るバス調停方法では、計測制御ステップは、複数の��スマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、バス調停判定量として、計測するデータ転送時間計測ステップと、複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定ステップと、複数のバスマスタの各々について、所要データ転送時間を基準データ転送時間と比較する比較ステップとを含み、比較ステップでは、所要データ転送時間が基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を制御情報として生成し、バス割当決定ステップでは、比較ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。【００６２】  この方法によれば、データ転送時間が所定のデータ転送時間を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、バスを占有する時間の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。
【発明の効果】
【００６３】  本発明によれば、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図るバス調停装置とバス調停方法を提供することができる。
【発明を実施するための最良の形態】
【００６４】  次に、図面を参照しながら、本発明の実施の形態を説明する。【００６５】  （第１の実施の形態）
第１図は、本発明の第１の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図である。【００６６】  本形態のバス調停装置１００は、バス割当決定部２０と計測制御部３０を備え、計測制御部３０は、計時カウンタ３１、比較器３２、及び、タイマレジスタ３３を有する。バス調停装置１００は、バス１０に接続された複数のバスマスタ（第１バスマスタ１１、第２バスマスタ１２、・・・、第ｎバスマスタ１３（「ｎ」は、「１」より大きい自然数、以下同じ））間のデータ転送要求を調停する。【００６７】  計時カウンタ３１は、計時部に相当し、タイマレジスタ３３は、時間周期設定部に相当する。【００６８】  バス調停装置１００に対して、第１バスマスタ１１は、バス１０の使用要求をバス要求Ｒ１によって行い、第２バスマスタ１２は、バス１０の使用要求をバス要求Ｒ２によって行い、第ｎバスマスタ１３は、バス１０の使用要求をバス要求Ｒによって行う。【００６９】  バス調停装置１００は、それぞれのバスマスタからのバス使用要求を受けると、現在実行しているバス調停アルゴリズムに従って、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。すなわちバス調停装置１００は、第１バスマスタ１１には、バス回答Ａ１によってバス１０の使用許可を発行し、第２バスマスタ１２には、バス回答Ａ２によってバス１０の使用許可を発行し、第ｎバスマスタ１３には、バス回答Ａ３によってバス１０の使用許可を発行する。【００７０】  バス調停アルゴリズムの変更における、バス調停装置１００の動作の概要を、第１図を参照しつつ、第１０図に従って説明する。【００７１】  第１０図は、本発明の第１の実施の形態におけるバス調停アルゴリズム変更のフローチャートである。【００７２】  ステップＳ１０で、処理がスタートすると、バス調停装置１００では、ステップＳ１１において、タイマレジスタ３３に、時間周期が設定される。【００７３】  ステップＳ１２において、計時カウンタ３１がリセットされ、ステップＳ１３において、計時カウンタ３１がシステム稼働時間を計時する。【００７４】  ステップＳ１４において、比較器３２は、計時カウンタ３１がステップＳ１３において計時したシステム稼働時間と、ステップＳ１１においてタイマレジスタ３３に設定された時間周期とを比較する。システム稼働時間が時間周期に満たず、比較結果が「Ｎｏ」であれば、ステップＳ１３に戻って、引き続き計時カウンタ３１がシステム稼働時間を計時する。システム稼働時間が時間周期を過ぎ、比較結果が「Ｙｅｓ」になると、ステップＳ１５に進む。【００７５】  ステップＳ１５において、比較器３２は、システム稼働時間が時間周期を過ぎたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【００７６】  ステップＳ１６において、バス割当決定部２０は、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。【００７７】  そして、ステップＳ１７において、一連の処理が終了したかどうかが判定され、終了していなければ、判定結果は、「Ｎｏ」となり、ステップＳ１２に戻り、ステップＳ１２からステップＳ１７までが繰り返えされる。終了していれば、判定結果は、「Ｙｅｓ」となり、ステップＳ１８に移り、処理が終了する。【００７８】  本形態のバス調停アルゴリズム変更プロセスでは、ステップＳ１６においてバス調停アルゴリズムが変更されるまで、バス割当決定部２０は、実行中のバス調停アルゴリズムに従って、各バスマスタからのバス使用要求に対して、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。【００７９】  バス調停アルゴリズムの変更は、具体的には、次のようにして行う。【００８０】  第２図は、本発明の第１の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、バス調停アルゴリズムの変更をハードウェアによって実行する。すなわち、本形態のバス割当決定部２０は、セレクタ１０１、ラウンドロビン方式調停回路１０２、固定優先順位方式調停回路１０３、ＯＲ回路１０４、１０５、１０６を有する。【００８１】  以下に、本形態のバス割当決定部２０の動作を説明する。第１図に示す比較器３２から、システム稼働時間が時間周期を過ぎたことを示す制御情報が送られてくると、セレクタ１０１は、その制御情報に基づいて、ラウンドロビン方式調停回路１０２と固定優先順位方式調停回路１０３の切替えを行う。【００８２】  上述したバス調停では、バス調停アルゴリズムは、ラウンドロビン方式調停回路１０２と固定優先順位方式調停回路１０３とに組み込まれた調停回路のハードウェアによって実現されている。【００８３】  固定優先順位方式調停回路１０３が選択されると、バス要求Ｒ１、Ｒ２，Ｒ３に対して、固定優先順位方式によるバス調停を行って、バス回答Ａ１、Ａ２，Ａ３を発行する。この場合、バス要求Ｒ１、Ｒ２，Ｒ３に対する優先順位は、システム利用者によって予め設定されたものであり、固定的である。【００８４】  第３図は、本発明の第１の実施の形態における固定優先順位方式調停回路１０３のブロック図である。本形態の固定優先順位方式調停回路１０３は、プライオリティエンコーダ１０３ａとデコーダ１０３ｂを有しており、バス要求Ｒ１、Ｒ２，Ｒ３を入力として、バス調停後のバス回答Ａ１、Ａ２，Ａ３を出力する。【００８５】  この例では、第３図の付表に示す論理により、３ビットのプライオリティエンコーダ入力「Ｒ３Ｒ２Ｒ１」に対して、プライオリティエンコーダ１０３ａは、イネーブル出力ｅｎとエンコーダ出力ｅｏを出力し、デコーダ１０３ｂは、３ビットのデコーダ出力「Ａ３Ａ２Ａ１」を出力する。より具体的には、第３図では、各バス要求の優先度は、バス要求Ｒ１が最も高く、次にバス要求Ｒ２、バス要求Ｒ３が最も低く設定されている。従って、例えば、第１バスマスタ１１からのバス要求Ｒ１と第２バスマスタ１２からのバス要求Ｒ２とが同時に出された場合（Ｒ１＝１、Ｒ２＝１、Ｒ３＝０）は、デコーダ出力は、Ａ１＝１、Ａ２＝０、Ａ３＝０となって、バス回答Ａ１を発行して、第１バスマスタ１１にバス１０の使用許可を与える。【００８６】  このように、第３図に示す固定優先順位方式調停回路１０３によって、高速のバス調停処理が可能である。【００８７】  また、ラウンドロビン方式調停回路１０���が選択されると、バス要求Ｒ１、Ｒ２，Ｒ３に対して、ラウンドロビン方式によるバス調停を行って、バス回答Ａ１、Ａ２，Ａ３を巡回的に発行する。【００８８】  第４図は、本発明の第１の実施の形態におけるラウンドロビン方式調停回路のブロック図である。本形態のラウンドロビン方式調停回路１０２は、シフタ１０２ａ、プライオリティエンコーダ１０２ｂ、及び、デコーダ１０２ｃを有しており、バス要求Ｒ１、Ｒ２，Ｒ３を入力として、バス調停後のバス回答Ａ１、Ａ２，Ａ３を出力する。シフタ１０２ａは、第４図の拡大図に示すように、３ビットの入力「Ｒ３Ｒ２Ｒ１」を、状態１、状態２、状態３と巡回的に切替えて、後段のプライオリティエンコーダ１０２ｂに出力する。プライオリティエンコーダ１０２ｂ及びデコーダ１０２ｃは、第３図に示した固定優先順位方式調停回路１０３のプライオリティエンコーダ１０３ａ及びデコーダ１０３ｂと全く同様の動作をする。その結果、デコーダ１０２ｃは、３ビットのデコーダ出力「Ａ３Ａ２Ａ１」を出力する。【００８９】  このように、第４図に示すラウンドロビン方式調停回路１０２によって、高速のバス調停処理が可能である。【００９０】  一方、上述したバス調停をソフトウェアで実現することも可能である。【００９１】  第５図は、本発明の第１の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、複数のバス調停アルゴリズムのプログラムを格納している調停アルゴリズムメモリ２２と、複数のバス調停アルゴリズムのプログラムから一つを選択するセレクタ２１とを有している。【００９２】  第１図の比較器３２から、システム稼働時間が時間周期を過ぎたことを示す制御情報が通知されると、バス割当決定部２０は、その制御情報に基づいて、セレクタ２１が調停アルゴリズムメモリ２２から新たなバス調停アルゴリズムのプログラムを選択し、そのプログラムを実行する。こうして、バス割当決定部２０は、これ以降は、選択した新たなバス調停アルゴリズムに従って、バス１０の調停を行う。【００９３】  本形態のバス割当決定部２０では、複数のバス調停アルゴリズムのプログラムをバス割当決定部２０が有する内部メモリである調停アルゴリズムメモリ２２に格納しているが、これらのプログラムは、バス調停装置１００の外部に設けられたメモリから供給しても良い。【００９４】  本形態のバス割当決定部２０が実行するバス調停アルゴリズムのプログラムは、固定優先順位方式でも良いし、ラウンドロビン方式でも良い。【００９５】  以上説明したように、本形態のバス調停装置１００は、システム稼働時間が予め設定された時間周期を過ぎる毎に、各バスマスタがバス１０を使用する優先度を求めるためのバス調停アルゴリズムを変更する。こうすることによって、一つのバス調停アルゴリズムに依存して、ある特定のバスマスタにのみバス１０の使用権が偏ることを回避できる。この結果、システム全体としてみると、各バスマスタの処理をバランスよく実行することが可能となる。【００９６】  （第２の実施の形態）
第６図は、本発明の第２の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図である。第６図において、第１図と同様な構成要素については、同一の符号を付すことにより、説明を省略する。【００９７】  本形態のバス調停装置１００は、バス割当決定部２０と計測制御部３０とを備え、計測制御部３０は、第１バスマスタ１１に対応した第１制御ユニット４１と、第２バスマスタ１２に対応した第２制御ユニット４２と、第ｎバスマスタ１３に対応した第ｎ制御ユニット４３とを有する。【００９８】  第１制御ユニット４１は、転送データカウンタ５１、比較器６１、及び、転送データ量設定レジスタ７１を有し、第２制御ユニット４２は、転送データカウンタ５２、比較器６２、及び、転送データ量設定レジスタ７２を有し、第ｎ制御ユニット４３は、転送データカウンタ５３、比較器６３、及び、転送データ量設定レジスタ７３を有する。【００９９】  転送データカウンタ５１〜５３は、転送データ量計測部に相当し、転送データ量設定レジスタ７１〜７３は、転送データ量設定部に相当する。【０１００】  本形態のバス調停装置１００の動作を、先ず、第１バスマスタ１１と第１制御ユニット４１との関係において、以下に説明する。【０１０１】  第１バスマスタ１１は、バス調停装置１００に対して、バス１０の使用要求をバス要求Ｒ１によって行う。バス調停装置１００は、第１バスマスタ１１からバス要求Ｒ１を受けると、現在実行しているバス調停アルゴリズムに従って、第１バスマスタ１１がバス１０を使用する優先度を求め、バス回答Ａ１によって第１バスマスタ１１にバス１０の使用許可を発行する。【０１０２】  一方、第１制御ユニット４１において、転送データカウンタ５１は、第１バスマスタ１１がバス１０を介して転送したデータ量の累計である累計転送データ量を計測する。比較器６１は、転送データカウンタ５１が計測した累計転送データ量を、転送データ量設定レジスタ７１に予め設定されている、第１バスマスタ１１のための基準転送データ量と比較する。比較器６１は、累計転送データ量が基準転送データ量に達するごとに、第１バスマスタ１１について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１０３】  第２制御ユニット４２と第ｎ制御ユニット４３における動作も、第１制御ユニット４１における動作と同様である。【０１０４】  第２制御ユニット４２において、転送データカウンタ５２は、第２バスマスタ１２の累積転送データ量を計測する。比較器６２は、転送データカウンタ５２が計測した累計転送データ量を、転送データ量設定レジスタ７２に予め設定されている、第２バスマスタ１２のための基準転送データ量と比較する。比較器６２は、累計転送データ量が基準転送データ量に達するごとに、第２バスマスタ１２について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１０５】  第ｎ制御ユニット４３において、転送データカウンタ５３は、第ｎバスマスタ１３の累積転送データ量を計測する。比較器６３は、転送データカウンタ５３が計測した累計転送データ量を、転送データ量設定レジスタ７３に予め設定されている、第ｎバスマスタ１３のための基準転送データ量と比較する。比較器６３は、累計転送データ量が基準転送データ量に達するごとに、第３バスマスタ１３について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１０６】  バス割当決定部２０は、比較器６１〜６３の内のいずれかから制御情報の通知を受けると、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。それ以降、バス割当決定部２０は、各バスマスタからのバス使用要求に対して、新たなバス調停アルゴリズムに従って、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。同時に、バス割当決定部２０は、転送データカウンタ５１〜５３の計数値をリセットして、転送データカウンタ５１〜５３がそれぞれ新たな累計転送データ量を計測できるようにする。【０１０７】  本形態におけるバス調停アルゴリズムの変更の具体的な実施例は、後述する。【０１０８】  本形態におけるバス調停装置１００における動作のフローを、第６図を参照しつつ、第１１図に従って説明する。【０１０９】  第１１図は、本発明の第２の実施の形態におけるバス調停アルゴリズム変更のフローチャートである。【０１１０】  ステップＳ２０で、処理がスタートすると、バス調停装置１００では、ステップＳ２１において、転送データ量設定レジスタ７１〜７３に、それぞれのバスマスタに対応した基準転送データ量が設定される。転送データ量設定レジスタ７１〜７３に設定される基準転送データ量は、対応するバスマスタごとに異なっていても良い。【０１１１】  ステップＳ２２において、転送データカウンタ５１〜５３がリセットされ、ステップＳ２３において、転送データカウンタ５１〜５３がそれぞれのバスマスタの累積転送データ量を計測する。【０１１２】  ステップＳ２４において、比較器６１〜６３は、転送データカウンタ５１〜５３がステップＳ２３において計測したそれぞれのバスマスタの累積転送データ量と、ステップＳ２１において転送データ量設定レジスタ７１〜７３に設定されたそれぞれの基準転送データ量とを比較する。比較器６１〜６３のいずれにおいても、累積転送データ量が基準転送データ量に満たず、比較結果が「Ｎｏ」であれば、ステップＳ２３に戻って、引き続き転送時間カウンタ８１〜８３は、それぞれの累積転送データ量を計測する。比較器６１〜６３のいずれかにおいて累積転送データ量が基準転送データ量に達し、比較結果が「Ｙｅｓ」になると、ステップＳ２５に進む。【０１１３】  ステップＳ２５では、ステップＳ２４において比較結果が「Ｙｅｓ」となった比較器は、その対応するバスマスタにおける累積転送データ量が基準転送データ量に達したことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１１４】  ステップＳ２６において、バス割当決定部２０は、通知された制御情報に基づいて、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。この時、バス割当決定部２０は、累積転送データ量が基準転送データ量に達したバスマスタを対象に、そのバスマスタのバス使用の使用を禁止したり、バス使用の優先度を上げたり、また逆に下げたりする、新たなバス調停アルゴリズムを実行することが出来る。【０１１５】  そして、ステップＳ２７において、一連の処理が終了したかどうかが判定され、終了していなければ、判定結果は、「Ｎｏ」となり、ステップＳ２２に戻り、ステップＳ２２からステップＳ２７までが繰り返えされる。終了していれば、判定結果は、「Ｙｅｓ」となり、ステップＳ２８に移り、処理が終了する。【０１１６】  本形態のバス調停装置１００は、複数のバスマスタに対応して、１対１対応で複数の制御ユニットを設けていて、バスマスタ毎の累計転送データ量を計測している。したがって、バスマスタ毎の累積転送データ量に基づいたバス調停が可能である。【０１１７】  例えば、比較器６１が、第１バスマスタ１１について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を下げるようなバス調停アルゴリズムに変更することができる。こうすると、バス調停アルゴリズムの変更後は、転送データ量が多い第１バスマスタ１１のバス使用における優先度が下げられ、システム全体で均等にバスを使用することが可能となる。【０１１８】  あるいは、逆に、比較器６１が、第１バスマスタ１１について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を上げるようなバス調停アルゴリズムに変更することができる。こうすると、転送データ量が多い第１バスマスタ１１に対するバス使用権の配分を多くし、第１バスマスタ１１の処理をより一層進捗させることが可能となる。【０１１９】  本形態のバス割当決定部２０が実行するバス調停アルゴリズムのプログラムは、上述したような適応型の方式に則ったものが望ましいが、固定優先順位方式でも良いし、ラウンドロビン方式でも良い。こうすると、システム構成が簡略化される。【０１２０】  第７図は、本発明の第２の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、バス調停を固定優先順位方式によって行う。すなわち、バス割当決定部２０は、制御回路１１０、ＡＮＤ回路１１１、１１２、１１３、セレクタ１１４、１１５、１１６、及び、固定優先順位方式調停回路１１７を有する。制御回路１１０には、第６図に示す比較器６１、６２、６３からの比較結果が入力される。制御回路１１０は、入力に基づいて、ＡＮＤ回路１１１、１１２、１１３と、セレクタ１１４、１１５、１１６とを制御する。【０１２１】  ＡＮＤ回路１１１、１１２、１１３は、バス要求Ｒ１、Ｒ２，Ｒ３を遮断するためのものである。【０１２２】  セレクタ１１４、１１５、１１６は、バス要求Ｒ１、Ｒ２，Ｒ３の優先度を変更するためのものである。本形態の固定優先順位方式調停回路１１７においては、入力Ｐ１の優先度が最も高く、次に入力Ｐ２の優先度が高く、入力Ｐ３の��先度が最も低いと仮定する。たとえば、バス要求Ｒ１がセレクタ１１５で選択されて入力Ｐ２となり、バス要求Ｒ２がセレクタ１１４で選択されて入力Ｐ１となり、バス要求Ｒ３がセレクタ１１６で選択されて入力Ｐ３となると、バス要求Ｒ２に対する優先度が最も高く、バス要求Ｒ２に対する優先度が次に高く、バス要求Ｒ３に対する優先度が最も低くなる。【０１２３】  本形態の固定優先順位方式調停回路１１７は、本発明の第１の実施の形態で使用した、第３図の固定優先順位方式調停回路１０３を用いることが出来る。【０１２４】  以下に、本形態のバス割当決定部２０の動作を、第７図を参照しつつ、第１２図〜１４に従って説明する。【０１２５】  第１２図は、本発明の第２の実施の形態におけるバス割当決定部２０のフローチャートであり、バス調停アルゴリズムとして、固定優先順位方式が選択され、累計転送データ量が基準転送データ量に達したバスマスタのバス使用が禁止される場合である。【０１２６】  ステップＳ３０において処理がスタートすると、ステップＳ３１において、制御回路１１０がリセットされる。【０１２７】  ステップＳ３２において、比較器６１、６２、６３のいずれかが一致信号を発行するのを待つ。例として、第６図に示す第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。【０１２８】  ステップＳ３３において、一致信号を発行した比較器６１に対応するＡＮＤ回路１１１によって、バス要求Ｒ１を遮断し、それ以降は、第１バスマスタ１１のバス要求Ｒ１は、セレクタ１１４〜１１６に入力されない。すると、セレクタ１１４〜１１６では、バス要求Ｒ２とバス要求Ｒ３とが選択され、バス要求Ｒ２とバス要求Ｒ３に対しては、固定優先順位方式調停回路１１７において、より高い優先度でバス調停が実行される。【０１２９】  ステップＳ３４において、すべての比較器が一致信号を発行したかどうかが判定され、まだ、一致信号を発行していない比較器があり、判定結果が「Ｎｏ」の場合は、ステップＳ３２に戻り、ステップＳ３２〜ステップＳ３４を繰り返す。すべての比較器が一致信号を発行して、判定結果が「Ｙｅｓ」の場合は、ステップＳ３１に戻り、ステップＳ３１〜ステップＳ３４を繰り返す。【０１３０】  このように、本形態のフローチャートによれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止することによって、累計転送データ量が基準転送データ量に達していない他のバスマスタに対するバス使用の優先度を上げることが出来る。【０１３１】  第１３図は、本発明の第２の実施の形態におけるバス割当決定部２０のフローチャートであり、バス調停アルゴリズムとして、固定優先順位方式が選択され、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度が下げられる場合である。【０１３２】  ステップＳ４０において処理がスタートすると、ステップＳ４１において、制御回路１１０がリセットされる。【０１３３】  ステップＳ４２において、比較器６１、６２、６３のいずれかが一致信号を発行するのを待つ。例として、第６図に示���第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。【０１３４】  ステップＳ４３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、すでに一致信号を発行した比較器はないので、判定結果は「Ｎｏ」であり、ステップＳ４４に進む。【０１３５】  ステップＳ４４において、一致信号を発行した比較器６１に対応する、第１バスマスタ１１の優先度を最下位に設定する。すなわち、バス要求Ｒ１は、セレクタ１１６で選択され、最も優先度の低い入力Ｐ３として固定優先順位方式調停回路１１７に入力される。その結果、バス要求Ｒ２とバス要求Ｒ３は、セレクタ１１４かセレクタ１１５で選択され、最も優先度の高い入力Ｐ１か、次に優先度の高い入力Ｐ２として、固定優先順位方式調停回路１１７に入力される。したがって、それ以降は、バス要求Ｒ２とバス要求Ｒ３とは、より高い優先度で処理されることになる。これらの処理の後、制御は、ステップＳ４２に戻される。【０１３６】  ステップＳ４２において、比較器６２と比較器６３のいずれかが一致信号を発行するのを待つ。例として、比較器６２が一致信号を発行したとする。【０１３７】  ステップＳ４３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、比較器６１がすでに一致信号を発行しているので、判定結果は「Ｙｅｓ」であり、ステップＳ４５に進む。【０１３８】  ステップＳ４５において、一致信号を発行した比較器６２に対応する、第２バスマスタ１２の優先度を下位に設定する。すなわち、バス要求Ｒ２は、セレクタ１１５で選択され、二番目に優先度の低い入力Ｐ２として、固定優先順位方式調停回路１１７に入力される。したがって、それ以降は、バス要求Ｒ３は、最も高い優先度で処理されることになる。【０１３９】  ステップＳ４６において、すべての比較器が一致信号を発行したかどうかを判定する。まだすべての比較器が一致信号を発行していない場合は（「Ｎｏ」）、ステップＳ４２に戻り、ステップＳ４２〜ステップＳ４６を繰り返す。すべての比較器が一致信号を発行した場合は（「Ｙｅｓ」）、ステップＳ４１に戻り再度制御回路１１０をリセットして、ステップＳ４１からの処理を繰り返す。【０１４０】  このように、本形態のフローチャートによれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を下げることによって、累計転送データ量が基準転送データ量に達していない他のバスマスタのバス使用における優先度を効果的に上げることが出来る。【０１４１】  第１４図は、本発明の第２の実施の形態におけるバス割当決定部２０のフローチャートであり、バス調停アルゴリズムとして、固定優先順位方式が選択され、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度が上げられる場合である。【０１４２】  ステップＳ５０において処理がスタートすると、ステップＳ５１において、制御回路１１０がリセットされる。【０１４３】  ステップＳ５２において、比較器６１、６２、６３のいずれかが一致信号を発行するのを待��。例として、第６図に示す第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。【０１４４】  ステップＳ５３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、すでに一致信号を発行した比較器はないので、判定結果は「Ｎｏ」であり、ステップＳ５４に進む。【０１４５】  ステップＳ５４において、一致信号を発行した比較器６１に対応する、第１バスマスタ１１の優先度を最上位に設定する。すなわち、バス要求Ｒ１は、セレクタ１１４で選択され、最も優先度の高い入力Ｐ１として固定優先順位方式調停回路１１７に入力される。その結果、バス要求Ｒ１は、最も高い優先度で処理されることになる。これらの処理の後、制御は、ステップＳ５２に戻される。【０１４６】  ステップＳ５２において、比較器６２と比較器６３のいずれかが一致信号を発行するのを待つ。例として、比較器６２が一致信号を発行したとする。【０１４７】  ステップＳ５３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、比較器６１がすでに一致信号を発行しているので、判定結果は「Ｙｅｓ」であり、ステップＳ５５に進む。【０１４８】  ステップＳ５５において、一致信号を発行した比較器６２に対応する、第２バスマスタ１２の優先度を上位に設定する。すなわち、バス要求Ｒ２は、セレクタ１１５で選択され、二番目に優先度の高い入力Ｐ２として、固定優先順位方式調停回路１１７に入力される。したがって、それ以降は、バス要求Ｒ３は、最も低い優先度で処理されることになる。【０１４９】  ステップＳ５６において、すべての比較器が一致信号を発行したかどうかを判定する。まだすべての比較器が一致信号を発行していない場合は（「Ｎｏ」）、ステップＳ５２に戻り、ステップＳ５２〜ステップＳ５６を繰り返す。すべての比較器が一致信号を発行した場合は（「Ｙｅｓ」）、ステップＳ５１に戻り再度制御回路１１０をリセットして、ステップＳ５１からの処理を繰り返す。【０１５０】  このように、本形態のフローチャートによれば、転送データ量が多いバスマスタに対するバス使用権の配分を多くし、多くのデータ転送を必要とするバスマスタの処理をさらに捗らせることが可能となる。【０１５１】  次に、第８図は、本発明の第２の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、バス調停をラウンドロビン方式によって行う。すなわち、バス割当決定部２０は、制御回路１２０、ＡＮＤ回路１２１、１２２、１２３、及び、ラウンドロビン方式調停回路１２４を有する。制御回路１２０には、第６図に示す比較器６１、６２、６３からの比較結果が入力される。制御回路１２０は、その入力に基づいて、ＡＮＤ回路１２１、１２２、１２３を制御する。ＡＮＤ回路１２１、１２２、１２３は、バス要求Ｒ１、Ｒ２，Ｒ３を遮断するためのものである。【０１５２】  第８図において、比較器６１、６２、６３のいずれからも一致信号が発行されていない場合は、バス要求Ｒ１、Ｒ２、Ｒ３は、ラウンドロビン方式調停回路１２４において、巡回的に��択されて、バス回答Ａ１、Ａ２、Ａ３が発行される。【０１５３】  本形態のラウンドロビン方式調停回路１２４は、本発明の第１の実施の形態で使用した、第４図のラウンドロビン方式調停回路１０２を用いることが出来る。【０１５４】  次に、例として、第６図に示す第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。すると、制御回路１２０は、ＡＮＤ回路１２１を制御して、一致信号が発行された第１バスマスタ１１に対応するバス要求Ｒ１を遮断する。これ以降は、ラウンドロビン方式調停回路１２４に入力されるバス要求は、バス要求Ｒ２とバス要求Ｒ３であり、この両者は、ラウンドロビン方式調停回路１２４において、巡回的に選択されて、バス回答Ａ２、Ａ３が発行される。従って、バス要求Ｒ２とバス要求Ｒ３の優先度は、実質的に高くなる。【０１５５】  このように、第８図に示す本発明の第２の実施の形態におけるバス割当決定部２０は、一致信号を発行したバスマスタのバス要求を遮断して、その他のバスマスタのバス要求を巡回的に選択して、バスの調停を行う。こうすることによって、まだ、累計転送データ量が基準転送データ量に達していないバスマスタに対してそのバス使用における優先度を上げることが出来る。【０１５６】  なお、本形態のバス調停装置１００では、計測制御部３０は、複数のバスマスタに対応して、１対１対応で複数の制御ユニットを設けていて、バスマスタ毎の累計転送データ量を計測している。しかし、計測制御部３０は、単一の制御ユニットを設け、タイムシェアリングにより、各バスマスタの累計転送データ量を個々に計測できるようにしても、本形態のバス調停装置１００と同様の効果を得ることができる。【０１５７】  （第３の実施の形態）
第９図は、本発明の第３の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図である。第９図において、第１図と同様な構成要素については、同一の符号を付すことにより、説明を省略する。【０１５８】  本形態のバス調停装置１００は、バス割当決定部２０と計測制御部３０とを備え、計測制御部３０は、第１バスマスタ１１に対応した第１制御ユニット４１と、第２バスマスタ１２に対応した第２制御ユニット４２と、第ｎバスマスタ１３に対応した第ｎ制御ユニット４３とを有する。【０１５９】  第１制御ユニット４１は、転送時間カウンタ８１、比較器６１、及び、転送時間設定レジスタ９１を有し、第２制御ユニット４２は、転送時間カウンタ８２、比較器６２、及び、転送時間設定レジスタ９２を有し、第ｎ制御ユニット４３は、転送時間カウンタ８３、比較器６３、及び、転送時間設定レジスタ９３を有する。【０１６０】  転送時間カウンタ８１〜８３は、データ転送時間計測部に相当し、転送時間設定レジスタ９１〜９３は、データ転送時間設定部に相当する。【０１６１】  本形態のバス調停装置１００の動作を、先ず、第１バスマスタ１１と第１制御ユニット４１との関係について、以下に説明する。【０１６２】  第１バスマスタ１１は、バス調停装置１００に対して、バス１０の使用要求をバス要求Ｒ１によって行う。バス調停装置１００は、第１バスマスタ１１からのバス使用要求を受けると、現在実行しているバス調停アルゴリズムに従って、第１バスマスタ１１がバス１０を使用する優先度を求め、バス回答Ａ１によって第１バスマスタ１１にバス１０の使用許可を発行する。【０１６３】  一方、第１制御ユニット４１において、転送時間カウンタ８１は、第１バスマスタ１１がバス１０を介して行うデータ転送に消費した時間である所要データ転送時間を計測する。比較器６１は、転送時間カウンタ８１が計測した所要データ転送時間を、転送時間設定レジスタ９１に予め設定されている、第１バスマスタ１１のための基準データ転送時間と比較し、所要データ転送時間が基準データ転送時間に達するごとに、第１バスマスタ１１について、所定のデータ転送時間が消費されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１６４】  第２制御ユニット４２と第ｎ制御ユニット４３とにおける動作も同様である。第２制御ユニット４２において、転送時間カウンタ８２は、第２バスマスタ１２がバス１０を介して行うデータ転送に消費した時間である所要データ転送時間を計測する。比較器６２は、転送時間カウンタ８２が計測した所要データ転送時間を、転送時間設定レジスタ９２に予め設定されている、第２バスマスタ１２のための基準データ転送時間と比較し、所要データ転送時間が基準データ転送時間に達するごとに、第２バスマスタ１２について、所定のデータ転送時間が消費されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１６５】  第ｎ制御ユニット４３において、転送時間カウンタ８３は、第ｎバスマスタ１３がバス１０を介して行うデータ転送に消費した時間である所要データ転送時間を計測する。比較器６３は、転送時間カウンタ８３が��測した所要データ転送時間を、転送時間設定レジスタ９３に予め設定されている、第ｎバスマスタ１３のための基準データ転送時間と比較し、所要データ転送時間が基準データ転送時間に達するごとに、第ｎバスマスタ１３について、所定のデータ転送時間が消費されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１６６】  バス割当決定部２０は、比較器６１〜６３のうちのいずれかから制御情報の通知を受けると、通知された制御情報に基づいて、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。それ以降、バス割当決定部２０は、各バスマスタからのバス使用要求に対して、新たなバス調停アルゴリズムに従って、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。同時に、バス割当決定部２０は、転送時間カウンタ８１〜８３の計数値をリセットして、転送時間カウンタ８１〜８３がそれぞれ新たな所要データ転送時間を計測できるようにする。【０１６７】  本形態におけるバス調停装置１００における動作のフローを、第９図を参照しつつ、第１５図に従って説明する。【０１６８】  第１５図は、本発明の第３の実施の形態におけるバス調停アルゴリズム変更のフローチャートである。【０１６９】  ステップＳ６０で、処理がスタートすると、バス調停装置１００では、ステップＳ６１において、転送時間設定レジスタ９１〜９３に、それぞれのバスマスタに対応した基準データ転送時間が設定される。【０１７０】  ステップＳ６２において、転送時間カウンタ８１〜８３がリセットされ、ステップＳ６３において、転送時間カウンタ８１〜８３がそれぞれのバスマスタの所要データ転送時間を計測する。【０１７１】  ステップＳ６４において、比較器６１〜６３は、転送時間カウンタ８１〜８３がステップＳ６３において計測したそれぞれのバスマスタの所要データ転送時間と、ステップＳ６１において転送時間設定レジスタ９１〜９３に設定されたそれぞれの基準データ転送時間とを比較する。比較器６１〜６３のいずれにおいても、所要データ転送時間が基準データ転送時間に満たず、比較結果が「Ｎｏ」であれば、ステップＳ６３に戻って、引き続き転送時間カウンタ８１〜８３は、それそれの所要データ転送時間を計測する。比較器６１〜６３のいずれかにおいて所要データ転送時間が基準データ転送時間に達し、比較結果が「Ｙｅｓ」になると、ステップＳ６５に進む。【０１７２】  ステップＳ６５では、ステップＳ６４において比較結果が「Ｙｅｓ」となった比較器は、その対応するバスマスタにおける所要データ転送時間が基準データ転送時間に達したことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。【０１７３】  ステップＳ６６において、バス割当決定部２０は、通知された制御情報に基づいて、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。この時、バス割当決定部２０は、所要データ転送時間が基準データ転送時間に達したバスマスタを対象に、そのバスマスタのバス使用の優先度を上げたり、また逆に、下げたりする、特別の新たなバス調停アルゴリズムを実行���ることも出来る。【０１７４】  そして、ステップＳ６７において、一連の処理が終了したかどうかを判定し、終了していなければ、判定結果は、「Ｎｏ」となり、ステップＳ６２に戻り、ステップＳ６２からステップＳ６７までが繰り返えされる。終了していれば、判定結果は、「Ｙｅｓ」となり、ステップＳ６８に移り、処理が終了する。【０１７５】  本形態のバス調停装置１００は、複数のバスマスタに対応して、複数の制御ユニットを設けていて、バスマスタ毎の所要データ転送時間を計測している。したがって、バスマスタ毎の所要データ転送時間に基づいたバス調停が可能である。【０１７６】  例えば、比較器６１が、第１バスマスタ１１について、所定の基準データ転送時間が消費されたことをバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を下げるようなバス調停アルゴリズムに変更することができる。こうすると、バス調停アルゴリズムの変更後は、転送データ量が多い第１バスマスタ１１のバス使用における優先度が下げられ、システム全体で均等にバスを使用することが可能となる。【０１７７】  あるいは、逆に、比較器６１が、第１バスマスタ１１について、所定の基準データ転送時間が消費されたことをバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を上げるようなバス調停アルゴリズムに変更することができる。こうすると、転送データ量が多い第１バスマスタ１１に対するバス使用権の配分を多くし、第１バスマスタ１１の処理をより一層進捗させることが可能となる。【０１７８】  本形態のバス割当決定部２０が実行するバス調停アルゴリズムのプログラムは、上述したような適応型の方式に則ったものが望ましいが、固定優先順位方式でも良いし、ラウンドロビン方式でも良い。こうすると、システム構成が簡略化される。【０１７９】  本形態のバス調停アルゴリズムの変更の具体的な実施例としては、本発明の第２の実施の形態において説明した、第７図に示すバス割当決定部と第８図に示すバス割当決定部とを同様に利用することが出来る。この場合、本発明の第２の実施の形態における説明の、「比較器６１、６２、６３は、対応するバスマスタにおいて、累計転送データ量が基準転送データ量に達した時に一致信号を発行する」を、「比較器６１、６２、６３は、対応するバスマスタにおいて、所要データ転送時間が基準データ転送時間に達した時に一致信号を発行する」というように、「累計転送データ量」を「所要データ転送時間」に読み替え、「基準転送データ量」を「基準データ転送時間」に読み替えればよい。【０１８０】  本形態で第７図に示すバス割当決定部２０を利用する場合には、所要データ転送時間が基準データ転送時間に達して一致信号を発行したバスマスタに対して、それ以降のバス要求を、遮断したり、固定優先順位方式に基づいて、優先度を下げたり、上げたり制御することが出来る。【０１８１】  また、本形態で第８図に示すバス割当決定部２０を利用する場合には、所要データ転送時間が基準データ転送時間に達して一致信号を発行したバスマスタに対して、それ以降のバス要求を遮断し、その他のバスマスタに対して、バス要求をラウンドロビン方式により制御することが出来る。【０１８２】  なお、本形態のバス調停装置１００では、計測制御部３０は、複数のバスマスタに対応して、複数の制御ユニットを設けていて、バスマスタ毎の所要データ転送時間を計測している。しかし、計測制御部３０は、単一の制御ユニットを設けて、タイムシェアリングにより、各バスマスタの所要データ転送時間を個々に計測できるようにしても、本形態のバス調停装置１００と同様の効果を得ることができる。【０１８３】  以上説明したように、本発明の趣旨は、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図ることにあるのであって、本発明の趣旨を逸脱しない限り、種々の適用が可能である。【０１８４】  本発明によれば、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図るバス調停装置とバス調停方法を提供することができる。
【産業上の利用可能性】
【０１８５】  本発明に係わるバス調停装置とバス調停方法は、例えば、バスに接続された複数のバスマスタを有するマルチプロセッサＬＳＩなどと、その応用分野において利用できる。
【図面の簡単な説明】
【０１８６】
【図１】本発明の第１の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図
【図２】本発明の第１の実施の形態におけるバス割当決定部のブロック図
【図３】本発明の第１の実施の形態における固定優先順位方式調停回路のブロック図
【図４】本発明の第１の実施の形態におけるラウンドロビン方式調停回路のブロック図
【図５】本発明の第１の実施の形態におけるバス割当決定部のブロック図
【図６】本発明の第２の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図
【図７】本発明の第２の実施の形態におけるバス割当決定部のブロック図
【図８】本発明の第２の実施の形態におけるバス割当決定部のブロック図
【図９】本発明の第３の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図
【図１０】本発明の第１の実施の形態におけるバス調停アルゴリズム変更のフローチャート
【図１１】本発明の第２の実施の形態におけるバス調停アルゴリズム変更のフローチャート
【図１２】本発明の第２の実施の形態におけるバス割当決定部のフローチャート
【図１３】本発明の第２の実施の形態におけるバス割当決定部のフローチャート
【図１４】本発明の第２の実施の形態におけるバス割当決定部のフローチャート
【図１５】本発明の第３の実施の形態におけるバス調停アルゴリズム変更のフローチャート
【図１６】従来技術におけるバス調停装置のブロック図
【符号の説明】
【０１８７】１０  バス
１１、１２、１３  バスマスタ
２０  バス割当決定部
２１、１０１、１１４、１１５、１１６  セレクタ
２２  調停アルゴリズムメモリ
３１  計時カウンタ
３２、６１、６２、６３  比較器
３３  タイマレジスタ
４１、４２、４３  制御ユニット
５１、５２、５３  転送データカウンタ
【図１】
2005124566.tif 000002
【図２】
2005124566.tif 000003
【図３】
2005124566.tif 000004
【図４】
2005124566.tif 000005
【図５】
2005124566.tif 000006
【図６】
2005124566.tif 000007
【図７】
2005124566.tif 000008
【図８】
2005124566.tif 000009
【図９】
2005124566.tif 000010
【図１０】
2005124566.tif 000011
【図１１】
2005124566.tif 000012
【図１２】
2005124566.tif 000013
【図１３】
2005124566.tif 000014
【図１４】
2005124566.tif 000015
【図１５】
2005124566.tif 000016
【図１６】
2005124566.tif 000017
【手続補正書】
【提出日】平成18年10月26日(2006.10.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスに接続される複数のバスマスタを含むシステムにおける、前記複数のバスマスタ間のデータ転送要求を調停するバス調停装置であって、
バス調停判定量を計測する計測制御部と、
所定のバス調停アルゴリズムに基づいて、前記複数のバスマスタ間のデータ転送要求を調停するバス割当決定部とを備え、
前記計測制御部は、前記バス調停判定量として、前記システムのシステム稼働時間と、前記複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、前記複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、
前記計測制御部は、計測した前記バス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行うバス調停装置。
【請求項２】
前記計測制御部は、
前記バス調停判定量として、前記システム稼働時間を計時する計時部と、
所定の時間周期を設定する時間周期設定部と、
前記システム稼動時間を前記時間周期と比較する比較部とを備え、
前記比較部は、前記システム稼働時間が前記時間周期を経過する毎に、所定の時間が経過したことを示す情報を前記制御情報として生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項１記載のバス調停装置。
【請求項３】
前記バス割当決定部は、通知された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う請求項２記載のバス調停装置。
【請求項４】
前記バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である、請求項３記載のバス調停装置。
【請求項５】
前記バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である、請求項３記載のバス調停装置。
【請求項６】
前記計測制御部は、
前記複数のバスマスタの各々について、各々のバスマスタが転送したデータ量の累計である累計転送データ量を、前記バス調停判定量として、計測する転送データ量計測部と、
前記複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定部と、
前記複数のバスマスタの各々について、前記累計転送データ量を前記基準転送データ量と比較する比較部とを備え、
前記比較部は、前記累計転送データ量が前記基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を前記制御情報として生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項１記載のバス調停装置。
【請求項７】
前記転送データ量計測部と、前記転送データ量設定部と、前記比較部とは、前記複数のバスマスタに対応して、それぞれ１対１対応で複数設けられる、請求項６記載のバス調停装置。
【請求項８】
前記バス割当決定部は、通知された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項６記載のバス調停装置。
【請求項９】
前記バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である、請求項８記載のバス調停装置。
【請求項１０】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用を禁止する、請求項８記載のバス調停装置。
【請求項１１】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を下げる、請求項８記載のバス調停装置。
【請求項１２】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を上げる、請求項８記載のバス調停装置。
【請求項１３】
前記バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である、請求項８記載のバス調停装置。
【請求項１４】
前記バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用を禁止する、請求項８記載のバス調停装置。
【請求項１５】
前記計測制御部は、
前記複数のバスマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、前記バス調停判定量として、計測するデータ転送時間計測部と、
前記複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定部と、
前記複数のバスマスタの各々について、前記所要データ転送時間を前記基準データ転送時間と比較する比較部とを備え、
前記比較部は、前記所要データ転送時間が前記基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を前記制御情報として生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定部は、通知された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項１記載のバス調停装置。
【請求項１６】
前記データ転送時間計測部と、前記データ転送時間設定部と、前記比較部とは、前記複数のバスマスタに対応して、それぞれ複数設けられる、請求項１５記載のバス調停装置。
【請求項１７】
前記バス割当決定部は、通知された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項１５記載のバス調停装置。
【請求項１８】
前記バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である、請求項１７記載のバス調停装置。
【請求項１９】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用を禁止する、請求項１７記載のバス調停装置。
【請求項２０】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を下げる、請求項１７記載のバス調停装置。
【請求項２１】
前記バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を上げる、請求項１７記載のバス調停装置。
【請求項２２】
前記バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である、請求項１７記載のバス調停装置。
【請求項２３】
前記バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、前記バス割当決定部は、通知された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用を禁止する、請求項１７記載のバス調停装置。
【請求項２４】
バスに接続される複数のバスマスタを含むシステムにおける、前記複数のバスマスタ間のデータ転送要求を調停するバス調停方法であって、
バス調停判定量を計測する計測制御ステップと、
所定のバス調停アルゴリズムに基づいて、前記複数のバスマスタ間のデータ転送要求を調停するバス割当決定ステップとを含み、
前記計測制御ステップでは、前記バス調停判定量として、前記システムのシステム稼働時間と、前記複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、前記複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、
前記計測制御ステップでは、計測した前記バス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した前記制御情報を前記バス割当決定部に通知し、
前記バス割当決定ステップでは、前記計測制御ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行うバス調停方法。
【請求項２５】
前記計測制御ステップは、
前記バス調停判定量として、前記システム稼働時間を計時する計時ステップと、
所定の時間周期を設定する時間周期設定ステップと、
前記システム稼動時間を前記時間周期と比較する比較ステップとを含み、
前記比較ステップでは、前記システム稼働時間が前記時間周期を経過する毎に、所定の時間が経過したことを示す情報を前記制御情報として生成し、
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項２４記載のバス調停方法。
【請求項２６】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項２５記載のバス調停方法。
【請求項２７】
前記計測制御ステップは、
前記複数のバスマスタの各々について、各々のバスマスタが転送したデータ量の累計である累計転送データ量を、前記バス調停判定量として、計測する転送データ量計測ステップと、
前記複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定ステップと、
前記複数のバスマスタの各々について、前記累計転送データ量を前記基準転送データ量と比較する比較ステップとを含み、
前記比較ステップでは、前記累計転送データ量が前記基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を前記制御情報として生成し、
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項２４記載のバス調停方法。
【請求項２８】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項２７記載のバス調停方法。
【請求項２９】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用を禁止するバス調停アルゴリズムを選択する、請求項２７記載のバス調停方法。
【請求項３０】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を下げるバス調停アルゴリズムを選択する、請求項２７記載のバス調停方法。
【請求項３１】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記累計転送データ量が前記基準転送データ量に達したバスマスタのバス使用における優先度を上げるバス調停アルゴリズムを選択する、請求項２７記載のバス調停方法。
【請求項３２】
前記計測制御ステップは、
前記複数のバスマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、前記バス調停判定量として、計測するデータ転送時間計測ステップと、
前記複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定ステップと、
前記複数のバスマスタの各々について、前記所要データ転送時間を前記基準データ転送時間と比較する比較ステップとを含み、
前記比較ステップでは、前記所要データ転送時間が前記基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を前記制御情報として生成し、
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記バス調停アルゴリズムを変更して、新たなバス調停を行う、請求項２４記載のバス調停方法。
【請求項３３】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う、請求項３２記載のバス調停方法。
【請求項３４】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用を禁止するバス調停アルゴリズムを選択する、請求項３２記載のバス調停方法。
【請求項３５】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を下げるバス調停アルゴリズムを選択する、請求項３２記載のバス調停方法。
【請求項３６】
前記バス割当決定ステップでは、前記比較ステップにおいて生成された前記制御情報に基づいて、前記複数のバスマスタの内の、前記所要データ転送時間が前記基準データ転送時間に達したバスマスタのバス使用における優先度を上げるバス調停アルゴリズムを選択する、請求項３２記載のバス調停方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスに接続された複数のバスマスタを有するマルチプロセッサＬＳＩなどで使用される、バス調停装置とバス調停方法に関し、特に、各バスマスタからのバス要求に対するバス調停の最適化に関する。
【背景技術】
【０００２】
一般に、バス調停装置には、各バスマスタのバス要求に対して、バスマスタ毎に予め定められた優先順位に従ってバスの使用権を与えるように動作するものや、各バスマスタに均等にバスの使用権を与えるように動作するものがある。ここで、バスマスタとは、各種プロセッサ、ＣＰＵ等、それ自身がバスにアクセスして、メモリとの間でデータの転送を行うものを指す。
【０００３】
予め定められた優先順位に従ってバスの使用権を与える方式は、固定優先順位方式として一般に知られている。
【０００４】
一方、各バスマスタに均等にバスの使用権を与える方式には、幾つかの方式がある。文献１（日本国特開平３−１４２６５１号公報）は、各バスマスタ間のデータ転送量が均等になるように設計されたバス調停装置に関する技術を開示している。第１６図は、従来技術におけるバス調停装置のブロック図である。同図は、文献１に開示されているバス調停装置のブロック図の主要部分を示している。このものでは、バス４に接続された装置１〜装置ｎ（バスマスタに相当する）は、それぞれ、アービタ１ａ〜アービタｎａ（バス調停装置に相当する）と転送カウンタ１ｔ〜転送カウンタｎｔを備えている。転送カウンタ１ｔ〜転送カウンタｎｔは、それぞれ対応する装置１〜装置ｎが転送したデータ量の累計を求め、アービタ１ａ〜アービタｎａは、転送量の累計が多い装置のバス使用権の優先度を低くするように制御する。こうすることによって、各装置間のデータ転送量が均一になるようにしている。
【０００５】
また、文献２（日本国特開平６−３０９２７４号公報）は、ランダムコード発生器を用いて、ランダムにバスの使用権を与えることで、バス使用権を、擬似的に均等に配分する方法を開示している。
【０００６】
しかしながら、文献１で開示されたバス調停装置を、各バスマスタが転送するデータ量が異なるシステムに適用すると、バス使用権を各バスマスタに均等に与えることになるので、元来、転送すべきデータ量が多いバスマスタの処理が滞ることとなり、結果としてシステム全体の処理効率が低下するといった問題が発生する。具体的には、データ転送量が多いバスマスタと、データ転送量が少ないバスマスタとが混在するような場合には、データ転送量が多いバスマスタの優先度が低くなり、所定の時間内にデータの転送を完了することができないといった問題が生じる。
【０００７】
また、固定優先順位によるバス調停を適用し、データ転送量が多いバスマスタの優先順位を高くし、データ転送量が少ないバスマスタの優先順位を低くすると、データ転送量が少ないバスマスタは殆どバスを使用することができず、システム全体として処理が滞るといった課題が生じる。
【特許文献１】日本国特開平３−１４２６５１号公報
【特許文献２】日本国特開平６−３０９２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そこで本発明は、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図るバス調停装置とバス調停方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明に係るバス調停装置は、バスに接続される複数のバスマスタを含むシステムにおける、複数のバスマスタ間のデータ転送要求を調停するバス調停装置であって、バス調停判定量を計測する計測制御部と、所定のバス調停アルゴリズムに基づいて、複数のバスマスタ間のデータ転送要求を調停するバス割当決定部とを備え、計測制御部は、バス調停判定量として、システムのシステム稼働時間と、複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、計測制御部は、計測したバス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００１０】
この構成によれば、システム稼働時間が所定の時間周期が経過する毎、あるいは、累計転送データ量が基準転送データ量を超える毎、あるいは、所要データ転送時間が基準データ転送時間を越える毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減し、好適なバス調停を実行できる。
【００１１】
第２の発明に係るバス調停装置では、計測制御部は、バス調停判定量として、システム稼働時間を計時する計時部と、所定の時間周期を設定する時間周期設定部と、システム稼動時間を時間周期と比較する比較部とを備え、比較部は、システム稼働時間が時間周期を経過する毎に、所定の時間が経過したことを示す情報を制御情報として生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００１２】
この構成によれば、所定の時間周期が経過する毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減することができる。
【００１３】
第３の発明に係るバス調停装置では、バス割当決定部は、通知された制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う。
【００１４】
この構成によれば、複数のバス調停アルゴリズムを予め設定しておき、所定の時間周期が経過する毎に、そのうちの一つを選択して、バス調停アルゴリズムを変更できる。
【００１５】
第４の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である。
【００１６】
この構成によれば、システム利用者が予め設定した各バスマスタのバス使用の優先度に従って、一定した、簡便なバス調停を実現できる。
【００１７】
第５の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である。
【００１８】
この構成によれば、各バスマスタのバス使用権を巡回的に変更できる。
【００１９】
第６の発明に係るバス調停装置では、計測制御部は、複数のバスマスタの各々について、各々のバスマスタが転送したデータ量の累計である累計転送データ量を、バス調停判定量として、計測する転送データ量計測部と、複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定部と、複数のバスマスタの各々について、累計転送データ量を基準転送データ量と比較する比較部とを備え、比較部は、累計転送データ量が基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を制御情報として生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００２０】
この構成によれば、一定時間内の転送データ量が所定の転送データ量を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、転送データ量の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。
【００２１】
第７の発明に係るバス調停装置では、転送データ量計測部と、転送データ量設定部と、比較部とは、複数のバスマスタに対応して、それぞれ１対１対応で複数設けられる。
【００２２】
この構成によれば、バスマスタごとに、転送データ量の計測と、基準転送データ量の設定が可能となるので、各バスマスタの状況に適応したバス調停が可能となる。
【００２３】
第８の発明に係るバス調停装置では、バス割当決定部は、通知された制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う。
【００２４】
この構成によれば、複数のバス調停アルゴリズムを予め設定しておき、一定時間内の転送データ量が所定の転送データ量を超えた場合に、予め設定している複数のバス調停アルゴリズムの一つを選択して、バス調停アルゴリズムを変更できる。
【００２５】
第９の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である。
【００２６】
この構成によれば、システム利用者が予め設定した各バスマスタのバス使用の優先度にしたがったバス調停を実現できる。
【００２７】
第１０の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止する。
【００２８】
この構成によれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止することによって、累計転送データ量が基準転送データ量に達していない他のバスマスタのバス使用における優先度を上げることが出来る。
【００２９】
第１１の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を下げる。
【００３０】
この構成によれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を下げることによって、累計転送データ量が基準転送データ量に達していない他のバスマスタのバス使用における優先度を上げることが出来る。
【００３１】
第１２の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を上げる。
【００３２】
この構成によれば、転送データ量が多いバスマスタに対するバス使用権の配分を多くし、多くのデータ転送を必要とするバスマスタの処理をさらに捗らせることが可能となる。
【００３３】
第１３の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である。
【００３４】
この構成によれば、各バスマスタのバス使用権を巡回的に変更できる。
【００３５】
第１４の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止する。
【００３６】
この構成によれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止することによって、累計転送データ量が基準転送データ量に達していない他のバスマスタにバス使用を巡回的に許可することが出来る。
【００３７】
第１５の発明に係るバス調停装置では、計測制御部は、複数のバスマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、バス調停判定量として、計測するデータ転送時間計測部と、複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定部と、複数のバスマスタの各々について、所要データ転送時間を基準データ転送時間と比較する比較部とを備え、比較部は、所要データ転送時間が基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を制御情報として生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定部は、通知された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００３８】
この構成によれば、データ転送時間が所定のデータ転送時間を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、バスを占有する時間の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。
【００３９】
第１６の発明に係るバス調停装置では、データ転送時間計測部と、データ転送時間設定部と、比較部とは、複数のバスマスタに対応して、それぞれ複数設けられる。
【００４０】
この構成によれば、バスマスタごとに、データ転送時間の計測と、基準データ転送時間の設定が可能となるので、各バスマスタの状況に適応したバス調停が可能となる。
【００４１】
第１７の発明に係るバス調停装置では、バス割当決定部は、通知された制御情報に基づいて、予め設定されている複数のバス調停アルゴリズムのうちの一つを選択し、選択したバス調停アルゴリズムを用いて、新たなバス調停を行う。
【００４２】
この構成によれば、複数のバス調停アルゴリズムを予め設定しておき、複数のバスマスタのうちのいずれかにおいて、所要データ転送時間が基準データ転送時間に達する毎に、予め設定している複数のバス調停アルゴリズムの一つを選択して、バス調停アルゴリズムを変更できる。
【００４３】
第１８の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、固定優先順位方式である。
【００４４】
この構成によれば、システム利用者が予め設定した各バスマスタのバス使用の優先度にしたがったバス調停を実現できる。
【００４５】
第１９の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用を禁止する。
【００４６】
この構成によれば、データ転送時間が所定のデータ転送時間を超えたバスマスタのバス使用を禁止することによって、データ転送時間が所定のデータ転送時間に達していない他のバスマスタのバス使用における優先度を上げることが出来る。
【００４７】
第２０の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用における優先度を下げる。
【００４８】
この構成によれば、バスを多く使用するバスマスタのバス使用における優先度を下げ、システム全体で均等にバスを使用することが可能となる。
【００４９】
第２１の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとして固定優先順位方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用における優先度を上げる。
【００５０】
この構成によれば、バスを多く使用するバスマスタに対するバス使用権の配分を多くし、多くのデータ転送を必要とするバスマスタの処理を捗らせることが可能となる。
【００５１】
第２２の発明に係るバス調停装置では、バス割当決定部が選択するバス調停アルゴリズムは、ラウンドロビン方式である。
【００５２】
この構成によれば、各バスマスタのバス使用権を巡回的に変更できる。
【００５３】
第２３の発明に係るバス調停装置では、バス割当決定部が、バス調停アルゴリズムとしてラウンドロビン方式を選択した場合、バス割当決定部は、通知された制御情報に基づいて、複数のバスマスタの内の、所要データ転送時間が基準データ転送時間に達したバスマスタのバス使用を禁止する。
【００５４】
この構成によれば、データ転送時間が所定のデータ転送時間を超えたバスマスタのバス使用を禁止することによって、データ転送時間が所定のデータ転送時間に達していない他のバスマスタにバス使用を巡回的に許可することが出来る。
【００５５】
第２４の発明に係るバス調停方法は、バスに接続される複数のバスマスタを含むシステムにおける、複数のバスマスタ間のデータ転送要求を調停するバス調停方法であって、バス調停判定量を計測する計測制御ステップと、所定のバス調停アルゴリズムに基づいて、複数のバスマスタ間のデータ転送要求を調停するバス割当決定ステップとを含み、計測制御ステップでは、バス調停判定量として、システムのシステム稼働時間と、複数のバスマスタの各々が転送したデータ量の累計である累計転送データ量と、複数のバスマスタの各々がデータ転送に消費した時間である所要データ転送時間の内の少なくとも１つを計測し、計測制御ステップでは、計測したバス調停判定量が所定の条件を満たすと、制御情報を生成し、生成した制御情報をバス割当決定部に通知し、バス割当決定ステップでは、計測制御ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００５６】
この方法によれば、システム稼働時間が所定の時間周期が経過する毎、あるいは、累計転送データ量が基準転送データ量を超える毎、あるいは、所要データ転送時間が基準データ転送時間を越える毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減し、好適なバス調停を実行できる。
【００５７】
第２５の発明に係るバス調停方法では、計測制御ステップは、バス調停判定量として、システム稼働時間を計時する計時ステップと、所定の時間周期を設定する時間周期設定ステップと、システム稼動時間を時間周期と比較する比較ステップとを含み、比較ステップでは、システム稼働時間が時間周期を経過する毎に、所定の時間が経過したことを示す情報を制御情報として生成し、バス割当決定ステップでは、比較ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００５８】
この方法によれば、所定の時間周期が経過する毎に、各バスマスタに対するバスアクセス権の優先度を変えることが可能となり、バス調停アルゴリズムに依存したバス使用権の偏りを軽減することができる。
【００５９】
第２７の発明に係るバス調停方法では、計測制御ステップは、複数のバスマスタの各々について、各々のバスマスタが転送したデータ量の累計である累計転送データ量を、バス調停判定量として、計測する転送データ量計測ステップと、複数のバスマスタの各々について、所定の基準転送データ量を設定する転送データ量設定ステップと、複数のバスマスタの各々について、累計転送データ量を基準転送データ量と比較する比較ステップとを含み、比較ステップでは、累計転送データ量が基準転送データ量に達する毎に、所定のデータ量が転送されたことを示す情報を制御情報として生成し、バス割当決定ステップでは、比較ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００６０】
この方法によれば、一定時間内の転送データ量が、所定の転送データ量を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、転送データ量の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。
【００６１】
第３２の発明に係るバス調停方法では、計測制御ステップは、複数のバスマスタの各々について、各々のバスマスタがデータ転送に消費した時間である所要データ転送時間を、バス調停判定量として、計測するデータ転送時間計測ステップと、複数のバスマスタの各々について、所定の基準データ転送時間を設定するデータ転送時間設定ステップと、複数のバスマスタの各々について、所要データ転送時間を基準データ転送時間と比較する比較ステップとを含み、比較ステップでは、所要データ転送時間が基準データ転送時間に達する毎に、所定のデータ転送時間が消費されたことを示す情報を制御情報として生成し、バス割当決定ステップでは、比較ステップにおいて生成された制御情報に基づいて、バス調停アルゴリズムを変更して、新たなバス調停を行う。
【００６２】
この方法によれば、データ転送時間が所定のデータ転送時間を超えると、バス調停アルゴリズムを変更して、新たなバス調停を行うので、バスを占有する時間の多少によって、バスマスタに対するバスアクセス権の優先度を変えることが可能となる。
【発明の効果】
【００６３】
本発明によれば、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図るバス調停装置とバス調停方法を提供することができる。
【発明を実施するための最良の形態】
【００６４】
次に、図面を参照しながら、本発明の実施の形態を説明する。
【００６５】
（第１の実施の形態）
第１図は、本発明の第１の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図である。
【００６６】
本形態のバス調停装置１００は、バス割当決定部２０と計測制御部３０を備え、計測制御部３０は、計時カウンタ３１、比較器３２、及び、タイマレジスタ３３を有する。バス調停装置１００は、バス１０に接続された複数のバスマスタ（第１バスマスタ１１、第２バスマスタ１２、・・・、第ｎバスマスタ１３（「ｎ」は、「１」より大きい自然数、以下同じ））間のデータ転送要求を調停する。
【００６７】
計時カウンタ３１は、計時部に相当し、タイマレジスタ３３は、時間周期設定部に相当する。
【００６８】
バス調停装置１００に対して、第１バスマスタ１１は、バス１０の使用要求をバス要求Ｒ１によって行い、第２バスマスタ１２は、バス１０の使用要求をバス要求Ｒ２によって行い、第ｎバスマスタ１３は、バス１０の使用要求をバス要求Ｒによって行う。
【００６９】
バス調停装置１００は、それぞれのバスマスタからのバス使用要求を受けると、現在実行しているバス調停アルゴリズムに従って、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。すなわちバス調停装置１００は、第１バスマスタ１１には、バス回答Ａ１によってバス１０の使用許可を発行し、第２バスマスタ１２には、バス回答Ａ２によってバス１０の使用許可を発行し、第ｎバスマスタ１３には、バス回答Ａ３によってバス１０の使用許可を発行する。
【００７０】
バス調停アルゴリズムの変更における、バス調停装置１００の動作の概要を、第１図を参照しつつ、第１０図に従って説明する。
【００７１】
第１０図は、本発明の第１の実施の形態におけるバス調停アルゴリズム変更のフローチャートである。
【００７２】
ステップＳ１０で、処理がスタートすると、バス調停装置１００では、ステップＳ１１において、タイマレジスタ３３に、時間周期が設定される。
【００７３】
ステップＳ１２において、計時カウンタ３１がリセットされ、ステップＳ１３において、計時カウンタ３１がシステム稼働時間を計時する。
【００７４】
ステップＳ１４において、比較器３２は、計時カウンタ３１がステップＳ１３において計時したシステム稼働時間と、ステップＳ１１においてタイマレジスタ３３に設定された時間周期とを比較する。システム稼働時間が時間周期に満たず、比較結果が「Ｎｏ」であれば、ステップＳ１３に戻って、引き続き計時カウンタ３１がシステム稼働時間を計時する。システム稼働時間が時間周期を過ぎ、比較結果が「Ｙｅｓ」になると、ステップＳ１５に進む。
【００７５】
ステップＳ１５において、比較器３２は、システム稼働時間が時間周期を過ぎたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【００７６】
ステップＳ１６において、バス割当決定部２０は、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。
【００７７】
そして、ステップＳ１７において、一連の処理が終了したかどうかが判定され、終了していなければ、判定結果は、「Ｎｏ」となり、ステップＳ１２に戻り、ステップＳ１２からステップＳ１７までが繰り返えされる。終了していれば、判定結果は、「Ｙｅｓ」となり、ステップＳ１８に移り、処理が終了する。
【００７８】
本形態のバス調停アルゴリズム変更プロセスでは、ステップＳ１６においてバス調停アルゴリズムが変更されるまで、バス割当決定部２０は、実行中のバス調停アルゴリズムに従って、各バスマスタからのバス使用要求に対して、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。
【００７９】
バス調停アルゴリズムの変更は、具体的には、次のようにして行う。
【００８０】
第２図は、本発明の第１の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、バス調停アルゴリズムの変更をハードウェアによって実行する。すなわち、本形態のバス割当決定部２０は、セレクタ１０１、ラウンドロビン方式調停回路１０２、固定優先順位方式調停回路１０３、ＯＲ回路１０４、１０５、１０６を有する。
【００８１】
以下に、本形態のバス割当決定部２０の動作を説明する。第１図に示す比較器３２から、システム稼働時間が時間周期を過ぎたことを示す制御情報が送られてくると、セレクタ１０１は、その制御情報に基づいて、ラウンドロビン方式調停回路１０２と固定優先順位方式調停回路１０３の切替えを行う。
【００８２】
上述したバス調停では、バス調停アルゴリズムは、ラウンドロビン方式調停回路１０２と固定優先順位方式調停回路１０３とに組み込まれた調停回路のハードウェアによって実現されている。
【００８３】
固定優先順位方式調停回路１０３が選択されると、バス要求Ｒ１、Ｒ２，Ｒ３に対して、固定優先順位方式によるバス調停を行って、バス回答Ａ１、Ａ２，Ａ３を発行する。この場合、バス要求Ｒ１、Ｒ２，Ｒ３に対する優先順位は、システム利用者によって予め設定されたものであり、固定的である。
【００８４】
第３図は、本発明の第１の実施の形態における固定優先順位方式調停回路１０３のブロック図である。本形態の固定優先順位方式調停回路１０３は、プライオリティエンコーダ１０３ａとデコーダ１０３ｂを有しており、バス要求Ｒ１、Ｒ２，Ｒ３を入力として、バス調停後のバス回答Ａ１、Ａ２，Ａ３を出力する。
【００８５】
この例では、第３図の付表に示す論理により、３ビットのプライオリティエンコーダ入力「Ｒ３Ｒ２Ｒ１」に対して、プライオリティエンコーダ１０３ａは、イネーブル出力ｅｎとエンコーダ出力ｅｏを出力し、デコーダ１０３ｂは、３ビットのデコーダ出力「Ａ３Ａ２Ａ１」を出力する。より具体的には、第３図では、各バス要求の優先度は、バス要求Ｒ１が最も高く、次にバス要求Ｒ２、バス要求Ｒ３が最も低く設定されている。従って、例えば、第１バスマスタ１１からのバス要求Ｒ１と第２バスマスタ１２からのバス要求Ｒ２とが同時に出された場合（Ｒ１＝１、Ｒ２＝１、Ｒ３＝０）は、デコーダ出力は、Ａ１＝１、Ａ２＝０、Ａ３＝０となって、バス回答Ａ１を発行して、第１バスマスタ１１にバス１０の使用許可を与える。
【００８６】
このように、第３図に示す固定優先順位方式調停回路１０３によって、高速のバス調停処理が可能である。
【００８７】
また、ラウンドロビン方式調停回路１０２が選択されると、バス要求Ｒ１、Ｒ２，Ｒ３に対して、ラウンドロビン方式によるバス調停を行って、バス回答Ａ１、Ａ２，Ａ３を巡回的に発行する。
【００８８】
第４図は、本発明の第１の実施の形態におけるラウンドロビン方式調停回路のブロック図である。本形態のラウンドロビン方式調停回路１０２は、シフタ１０２ａ、プライオリティエンコーダ１０２ｂ、及び、デコーダ１０２ｃを有しており、バス要求Ｒ１、Ｒ２，Ｒ３を入力として、バス調停後のバス回答Ａ１、Ａ２，Ａ３を出力する。シフタ１０２ａは、第４図の拡大図に示すように、３ビットの入力「Ｒ３Ｒ２Ｒ１」を、状態１、状態２、状態３と巡回的に切替えて、後段のプライオリティエンコーダ１０２ｂに出力する。プライオリティエンコーダ１０２ｂ及びデコーダ１０２ｃは、第３図に示した固定優先順位方式調停回路１０３のプライオリティエンコーダ１０３ａ及びデコーダ１０３ｂと全く同様の動作をする。その結果、デコーダ１０２ｃは、３ビットのデコーダ出力「Ａ３Ａ２Ａ１」を出力する。
【００８９】
このように、第４図に示すラウンドロビン方式調停回路１０２によって、高速のバス調停処理が可能である。
【００９０】
一方、上述したバス調停をソフトウェアで実現することも可能である。
【００９１】
第５図は、本発明の第１の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、複数のバス調停アルゴリズムのプログラムを格納している調停アルゴリズムメモリ２２と、複数のバス調停アルゴリズムのプログラムから一つを選択するセレクタ２１とを有している。
【００９２】
第１図の比較器３２から、システム稼働時間が時間周期を過ぎたことを示す制御情報が通知されると、バス割当決定部２０は、その制御情報に基づいて、セレクタ２１が調停アルゴリズムメモリ２２から新たなバス調停アルゴリズムのプログラムを選択し、そのプログラムを実行する。こうして、バス割当決定部２０は、これ以降は、選択した新たなバス調停アルゴリズムに従って、バス１０の調停を行う。
【００９３】
本形態のバス割当決定部２０では、複数のバス調停アルゴリズムのプログラムをバス割当決定部２０が有する内部メモリである調停アルゴリズムメモリ２２に格納しているが、これらのプログラムは、バス調停装置１００の外部に設けられたメモリから供給しても良い。
【００９４】
本形態のバス割当決定部２０が実行するバス調停アルゴリズムのプログラムは、固定優先順位方式でも良いし、ラウンドロビン方式でも良い。
【００９５】
以上説明したように、本形態のバス調停装置１００は、システム稼働時間が予め設定された時間周期を過ぎる毎に、各バスマスタがバス１０を使用する優先度を求めるためのバス調停アルゴリズムを変更する。こうすることによって、一つのバス調停アルゴリズムに依存して、ある特定のバスマスタにのみバス１０の使用権が偏ることを回避できる。この結果、システム全体としてみると、各バスマスタの処理をバランスよく実行することが可能となる。
【００９６】
（第２の実施の形態）
第６図は、本発明の第２の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図である。第６図において、 第１図と同様な構成要素については、同一の符号を付すことにより、説明を省略する。
【００９７】
本形態のバス調停装置１００は、バス割当決定部２０と計測制御部３０とを備え、計測制御部３０は、第１バスマスタ１１に対応した第１制御ユニット４１と、第２バスマスタ１２に対応した第２制御ユニット４２と、第ｎバスマスタ１３に対応した第ｎ制御ユニット４３とを有する。
【００９８】
第１制御ユニット４１は、転送データカウンタ５１、比較器６１、及び、転送データ量設定レジスタ７１を有し、第２制御ユニット４２は、転送データカウンタ５２、比較器６２、及び、転送データ量設定レジスタ７２を有し、第ｎ制御ユニット４３は、転送データカウンタ５３、比較器６３、及び、転送データ量設定レジスタ７３を有する。
【００９９】
転送データカウンタ５１〜５３は、転送データ量計測部に相当し、転送データ量設定レジスタ７１〜７３は、転送データ量設定部に相当する。
【０１００】
本形態のバス調停装置１００の動作を、先ず、第１バスマスタ１１と第１制御ユニット４１との関係において、以下に説明する。
【０１０１】
第１バスマスタ１１は、バス調停装置１００に対して、バス１０の使用要求をバス要求Ｒ１によって行う。バス調停装置１００は、第１バスマスタ１１からバス要求Ｒ１を受けると、現在実行しているバス調停アルゴリズムに従って、第１バスマスタ１１がバス１０を使用する優先度を求め、バス回答Ａ１によって第１バスマスタ１１にバス１０の使用許可を発行する。
【０１０２】
一方、第１制御ユニット４１において、転送データカウンタ５１は、第１バスマスタ１１がバス１０を介して転送したデータ量の累計である累計転送データ量を計測する。比較器６１は、転送データカウンタ５１が計測した累計転送データ量を、転送データ量設定レジスタ７１に予め設定されている、第１バスマスタ１１のための基準転送データ量と比較する。比較器６１は、累計転送データ量が基準転送データ量に達するごとに、第１バスマスタ１１について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１０３】
第２制御ユニット４２と第ｎ制御ユニット４３における動作も、第１制御ユニット４１における動作と同様である。
【０１０４】
第２制御ユニット４２において、転送データカウンタ５２は、第２バスマスタ１２の累積転送データ量を計測する。比較器６２は、転送データカウンタ５２が計測した累計転送データ量を、転送データ量設定レジスタ７２に予め設定されている、第２バスマスタ１２のための基準転送データ量と比較する。比較器６２は、累計転送データ量が基準転送データ量に達するごとに、第２バスマスタ１２について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１０５】
第ｎ制御ユニット４３において、転送データカウンタ５３は、第ｎバスマスタ１３の累積転送データ量を計測する。比較器６３は、転送データカウンタ５３が計測した累計転送データ量を、転送データ量設定レジスタ７３に予め設定されている、第ｎバスマスタ１３のための基準転送データ量と比較する。比較器６３は、累計転送データ量が基準転送データ量に達するごとに、第３バスマスタ１３について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１０６】
バス割当決定部２０は、比較器６１〜６３の内のいずれかから制御情報の通知を受けると、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。それ以降、バス割当決定部２０は、各バスマスタからのバス使用要求に対して、新たなバス調停アルゴリズムに従って、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。同時に、バス割当決定部２０は、転送データカウンタ５１〜５３の計数値をリセットして、転送データカウンタ５１〜５３がそれぞれ新たな累計転送データ量を計測できるようにする。
【０１０７】
本形態におけるバス調停アルゴリズムの変更の具体的な実施例は、後述する。
【０１０８】
本形態におけるバス調停装置１００における動作のフローを、第６図を参照しつつ、第１１図に従って説明する。
【０１０９】
第１１図は、本発明の第２の実施の形態におけるバス調停アルゴリズム変更のフローチャートである。
【０１１０】
ステップＳ２０で、処理がスタートすると、バス調停装置１００では、ステップＳ２１において、転送データ量設定レジスタ７１〜７３に、それぞれのバスマスタに対応した基準転送データ量が設定される。転送データ量設定レジスタ７１〜７３に設定される基準転送データ量は、対応するバスマスタごとに異なっていても良い。
【０１１１】
ステップＳ２２において、転送データカウンタ５１〜５３がリセットされ、ステップＳ２３において、転送データカウンタ５１〜５３がそれぞれのバスマスタの累積転送データ量を計測する。
【０１１２】
ステップＳ２４において、比較器６１〜６３は、転送データカウンタ５１〜５３がステップＳ２３において計測したそれぞれのバスマスタの累積転送データ量と、ステップＳ２１において転送データ量設定レジスタ７１〜７３に設定されたそれぞれの基準転送データ量とを比較する。比較器６１〜６３のいずれにおいても、累積転送データ量が基準転送データ量に満たず、比較結果が「Ｎｏ」であれば、ステップＳ２３に戻って、引き続き転送時間カウンタ８１〜８３は、それぞれの累積転送データ量を計測する。比較器６１〜６３のいずれかにおいて累積転送データ量が基準転送データ量に達し、比較結果が「Ｙｅｓ」になると、ステップＳ２５に進む。
【０１１３】
ステップＳ２５では、ステップＳ２４において比較結果が「Ｙｅｓ」となった比較器は、その対応するバスマスタにおける累積転送データ量が基準転送データ量に達したことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１１４】
ステップＳ２６において、バス割当決定部２０は、通知された制御情報に基づいて、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。この時、バス割当決定部２０は、累積転送データ量が基準転送データ量に達したバスマスタを対象に、そのバスマスタのバス使用の使用を禁止したり、バス使用の優先度を上げたり、また逆に下げたりする、新たなバス調停アルゴリズムを実行することが出来る。
【０１１５】
そして、ステップＳ２７において、一連の処理が終了したかどうかが判定され、終了していなければ、判定結果は、「Ｎｏ」となり、ステップＳ２２に戻り、ステップＳ２２からステップＳ２７までが繰り返えされる。終了していれば、判定結果は、「Ｙｅｓ」となり、ステップＳ２８に移り、処理が終了する。
【０１１６】
本形態のバス調停装置１００は、複数のバスマスタに対応して、１対１対応で複数の制御ユニットを設けていて、バスマスタ毎の累計転送データ量を計測している。したがって、バスマスタ毎の累積転送データ量に基づいたバス調停が可能である。
【０１１７】
例えば、比較器６１が、第１バスマスタ１１について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を下げるようなバス調停アルゴリズムに変更することができる。こうすると、バス調停アルゴリズムの変更後は、転送データ量が多い第１バスマスタ１１のバス使用における優先度が下げられ、システム全体で均等にバスを使用することが可能となる。
【０１１８】
あるいは、逆に、比較器６１が、第１バスマスタ１１について、所定のデータ量が転送されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を上げるようなバス調停アルゴリズムに変更することができる。こうすると、転送データ量が多い第１バスマスタ１１に対するバス使用権の配分を多くし、第１バスマスタ１１の処理をより一層進捗させることが可能となる。
【０１１９】
本形態のバス割当決定部２０が実行するバス調停アルゴリズムのプログラムは、上述したような適応型の方式に則ったものが望ましいが、固定優先順位方式でも良いし、ラウンドロビン方式でも良い。こうすると、システム構成が簡略化される。
【０１２０】
第７図は、本発明の第２の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、バス調停を固定優先順位方式によって行う。すなわち、バス割当決定部２０は、制御回路１１０、ＡＮＤ回路１１１、１１２、１１３、セレクタ１１４、１１５、１１６、及び、固定優先順位方式調停回路１１７を有する。制御回路１１０には、第６図に示す比較器６１、６２、６３からの比較結果が入力される。制御回路１１０は、入力に基づいて、ＡＮＤ回路１１１、１１２、１１３と、セレクタ１１４、１１５、１１６とを制御する。
【０１２１】
ＡＮＤ回路１１１、１１２、１１３は、バス要求Ｒ１、Ｒ２，Ｒ３を遮断するためのものである。
【０１２２】
セレクタ１１４、１１５、１１６は、バス要求Ｒ１、Ｒ２，Ｒ３の優先度を変更するためのものである。本形態の固定優先順位方式調停回路１１７においては、入力Ｐ１の優先度が最も高く、次に入力Ｐ２の優先度が高く、入力Ｐ３の優先度が最も低いと仮定する。たとえば、バス要求Ｒ１がセレクタ１１５で選択されて入力Ｐ２となり、バス要求Ｒ２がセレクタ１１４で選択されて入力Ｐ１となり、バス要求Ｒ３がセレクタ１１６で選択されて入力Ｐ３となると、バス要求Ｒ２に対する優先度が最も高く、バス要求Ｒ２に対する優先度が次に高く、バス要求Ｒ３に対する優先度が最も低くなる。
【０１２３】
本形態の固定優先順位方式調停回路１１７は、本発明の第１の実施の形態で使用した、第３図の固定優先順位方式調停回路１０３を用いることが出来る。
【０１２４】
以下に、本形態のバス割当決定部２０の動作を、第７図を参照しつつ、第１２図〜１４に従って説明する。
【０１２５】
第１２図は、本発明の第２の実施の形態におけるバス割当決定部２０のフローチャートであり、バス調停アルゴリズムとして、固定優先順位方式が選択され、累計転送データ量が基準転送データ量に達したバスマスタのバス使用が禁止される場合である。
【０１２６】
ステップＳ３０において処理がスタートすると、ステップＳ３１において、制御回路１１０がリセットされる。
【０１２７】
ステップＳ３２において、比較器６１、６２、６３のいずれかが一致信号を発行するのを待つ。例として、第６図に示す第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。
【０１２８】
ステップＳ３３において、一致信号を発行した比較器６１に対応するＡＮＤ回路１１１によって、バス要求Ｒ１を遮断し、それ以降は、第１バスマスタ１１のバス要求Ｒ１は、セレクタ１１４〜１１６に入力されない。すると、セレクタ１１４〜１１６では、バス要求Ｒ２とバス要求Ｒ３とが選択され、バス要求Ｒ２とバス要求Ｒ３に対しては、固定優先順位方式調停回路１１７において、より高い優先度でバス調停が実行される。
【０１２９】
ステップＳ３４において、すべての比較器が一致信号を発行したかどうかが判定され、まだ、一致信号を発行していない比較器があり、判定結果が「Ｎｏ」の場合は、ステップＳ３２に戻り、ステップＳ３２〜ステップＳ３４を繰り返す。すべての比較器が一致信号を発行して、判定結果が「Ｙｅｓ」の場合は、ステップＳ３１に戻り、ステップＳ３１〜ステップＳ３４を繰り返す。
【０１３０】
このように、本形態のフローチャートによれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用を禁止することによって、累計転送データ量が基準転送データ量に達していない他のバスマスタに対するバス使用の優先度を上げることが出来る。
【０１３１】
第１３図は、本発明の第２の実施の形態におけるバス割当決定部２０のフローチャートであり、バス調停アルゴリズムとして、固定優先順位方式が選択され、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度が下げられる場合である。
【０１３２】
ステップＳ４０において処理がスタートすると、ステップＳ４１において、制御回路１１０がリセットされる。
【０１３３】
ステップＳ４２において、比較器６１、６２、６３のいずれかが一致信号を発行するのを待つ。例として、第６図に示す第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。
【０１３４】
ステップＳ４３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、すでに一致信号を発行した比較器はないので、判定結果は「Ｎｏ」であり、ステップＳ４４に進む。
【０１３５】
ステップＳ４４において、一致信号を発行した比較器６１に対応する、第１バスマスタ１１の優先度を最下位に設定する。すなわち、バス要求Ｒ１は、セレクタ１１６で選択され、最も優先度の低い入力Ｐ３として固定優先順位方式調停回路１１７に入力される。その結果、バス要求Ｒ２とバス要求Ｒ３は、セレクタ１１４かセレクタ１１５で選択され、最も優先度の高い入力Ｐ１か、次に優先度の高い入力Ｐ２として、固定優先順位方式調停回路１１７に入力される。したがって、それ以降は、バス要求Ｒ２とバス要求Ｒ３とは、より高い優先度で処理されることになる。これらの処理の後、制御は、ステップＳ４２に戻される。
【０１３６】
ステップＳ４２において、比較器６２と比較器６３のいずれかが一致信号を発行するのを待つ。例として、比較器６２が一致信号を発行したとする。
【０１３７】
ステップＳ４３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、比較器６１がすでに一致信号を発行しているので、判定結果は「Ｙｅｓ」であり、ステップＳ４５に進む。
【０１３８】
ステップＳ４５において、一致信号を発行した比較器６２に対応する、第２バスマスタ１２の優先度を下位に設定する。すなわち、バス要求Ｒ２は、セレクタ１１５で選択され、二番目に優先度の低い入力Ｐ２として、固定優先順位方式調停回路１１７に入力される。したがって、それ以降は、バス要求Ｒ３は、最も高い優先度で処理されることになる。
【０１３９】
ステップＳ４６において、すべての比較器が一致信号を発行したかどうかを判定する。まだすべての比較器が一致信号を発行していない場合は（「Ｎｏ」）、ステップＳ４２に戻り、ステップＳ４２〜ステップＳ４６を繰り返す。すべての比較器が一致信号を発行した場合は（「Ｙｅｓ」）、ステップＳ４１に戻り再度制御回路１１０をリセットして、ステップＳ４１からの処理を繰り返す。
【０１４０】
このように、本形態のフローチャートによれば、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度を下げることによって、累計転送データ量が基準転送データ量に達していない他のバスマスタのバス使用における優先度を効果的に上げることが出来る。
【０１４１】
第１４図は、本発明の第２の実施の形態におけるバス割当決定部２０のフローチャートであり、バス調停アルゴリズムとして、固定優先順位方式が選択され、累計転送データ量が基準転送データ量に達したバスマスタのバス使用における優先度が上げられる場合である。
【０１４２】
ステップＳ５０において処理がスタートすると、ステップＳ５１において、制御回路１１０がリセットされる。
【０１４３】
ステップＳ５２において、比較器６１、６２、６３のいずれかが一致信号を発行するのを待つ。例として、第６図に示す第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。
【０１４４】
ステップＳ５３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、すでに一致信号を発行した比較器はないので、判定結果は「Ｎｏ」であり、ステップＳ５４に進む。
【０１４５】
ステップＳ５４において、一致信号を発行した比較器６１に対応する、第１バスマスタ１１の優先度を最上位に設定する。すなわち、バス要求Ｒ１は、セレクタ１１４で選択され、最も優先度の高い入力Ｐ１として固定優先順位方式調停回路１１７に入力される。その結果、バス要求Ｒ１は、最も高い優先度で処理されることになる。これらの処理の後、制御は、ステップＳ５２に戻される。
【０１４６】
ステップＳ５２において、比較器６２と比較器６３のいずれかが一致信号を発行するのを待つ。例として、比較器６２が一致信号を発行したとする。
【０１４７】
ステップＳ５３において、すでに一致信号を発行した比較器があるかどうかを判定する。この例では、比較器６１がすでに一致信号を発行しているので、判定結果は「Ｙｅｓ」であり、ステップＳ５５に進む。
【０１４８】
ステップＳ５５において、一致信号を発行した比較器６２に対応する、第２バスマスタ１２の優先度を上位に設定する。すなわち、バス要求Ｒ２は、セレクタ１１５で選択され、二番目に優先度の高い入力Ｐ２として、固定優先順位方式調停回路１１７に入力される。したがって、それ以降は、バス要求Ｒ３は、最も低い優先度で処理されることになる。
【０１４９】
ステップＳ５６において、すべての比較器が一致信号を発行したかどうかを判定する。まだすべての比較器が一致信号を発行していない場合は（「Ｎｏ」）、ステップＳ５２に戻り、ステップＳ５２〜ステップＳ５６を繰り返す。すべての比較器が一致信号を発行した場合は（「Ｙｅｓ」）、ステップＳ５１に戻り再度制御回路１１０をリセットして、ステップＳ５１からの処理を繰り返す。
【０１５０】
このように、本形態のフローチャートによれば、転送データ量が多いバスマスタに対するバス使用権の配分を多くし、多くのデータ転送を必要とするバスマスタの処理をさらに捗らせることが可能となる。
【０１５１】
次に、第８図は、本発明の第２の実施の形態におけるバス割当決定部２０のブロック図である。本形態のバス割当決定部２０は、バス調停をラウンドロビン方式によって行う。すなわち、バス割当決定部２０は、制御回路１２０、ＡＮＤ回路１２１、１２２、１２３、及び、ラウンドロビン方式調停回路１２４を有する。制御回路１２０には、第６図に示す比較器６１、６２、６３からの比較結果が入力される。制御回路１２０は、その入力に基づいて、ＡＮＤ回路１２１、１２２、１２３を制御する。ＡＮＤ回路１２１、１２２、１２３は、バス要求Ｒ１、Ｒ２，Ｒ３を遮断するためのものである。
【０１５２】
第８図において、比較器６１、６２、６３のいずれからも一致信号が発行されていない場合は、バス要求Ｒ１、Ｒ２、Ｒ３は、ラウンドロビン方式調停回路１２４において、巡回的に選択されて、バス回答Ａ１、Ａ２、Ａ３が発行される。
【０１５３】
本形態のラウンドロビン方式調停回路１２４は、本発明の第１の実施の形態で使用した、第４図のラウンドロビン方式調停回路１０２を用いることが出来る。
【０１５４】
次に、例として、第６図に示す第１バスマスタ１１において、累計転送データ量が基準転送データ量に達し、対応する比較器６１がそのことを検知し、一致信号をバス割当決定部２０の制御回路１１０に発行したとする。すると、制御回路１２０は、ＡＮＤ回路１２１を制御して、一致信号が発行された第１バスマスタ１１に対応するバス要求Ｒ１を遮断する。これ以降は、ラウンドロビン方式調停回路１２４に入力されるバス要求は、バス要求Ｒ２とバス要求Ｒ３であり、この両者は、ラウンドロビン方式調停回路１２４において、巡回的に選択されて、バス回答Ａ２、Ａ３が発行される。従って、バス要求Ｒ２とバス要求Ｒ３の優先度は、実質的に高くなる。
【０１５５】
このように、第８図に示す本発明の第２の実施の形態におけるバス割当決定部２０は、一致信号を発行したバスマスタのバス要求を遮断して、その他のバスマスタのバス要求を巡回的に選択して、バスの調停を行う。こうすることによって、まだ、累計転送データ量が基準転送データ量に達していないバスマスタに対してそのバス使用における優先度を上げることが出来る。
【０１５６】
なお、本形態のバス調停装置１００では、計測制御部３０は、複数のバスマスタに対応して、１対１対応で複数の制御ユニットを設けていて、バスマスタ毎の累計転送データ量を計測している。しかし、計測制御部３０は、単一の制御ユニットを設け、タイムシェアリングにより、各バスマスタの累計転送データ量を個々に計測できるようにしても、本形態のバス調停装置１００と同様の効果を得ることができる。
【０１５７】
（第３の実施の形態）
第９図は、本発明の第３の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図である。第９図において、 第１図と同様な構成要素については、同一の符号を付すことにより、説明を省略する。
【０１５８】
本形態のバス調停装置１００は、バス割当決定部２０と計測制御部３０とを備え、計測制御部３０は、第１バスマスタ１１に対応した第１制御ユニット４１と、第２バスマスタ１２に対応した第２制御ユニット４２と、第ｎバスマスタ１３に対応した第ｎ制御ユニット４３とを有する。
【０１５９】
第１制御ユニット４１は、転送時間カウンタ８１、比較器６１、及び、転送時間設定レジスタ９１を有し、第２制御ユニット４２は、転送時間カウンタ８２、比較器６２、及び、転送時間設定レジスタ９２を有し、第ｎ制御ユニット４３は、転送時間カウンタ８３、比較器６３、及び、転送時間設定レジスタ９３を有する。
【０１６０】
転送時間カウンタ８１〜８３は、データ転送時間計測部に相当し、転送時間設定レジスタ９１〜９３は、データ転送時間設定部に相当する。
【０１６１】
本形態のバス調停装置１００の動作を、先ず、第１バスマスタ１１と第１制御ユニット４１との関係について、以下に説明する。
【０１６２】
第１バスマスタ１１は、バス調停装置１００に対して、バス１０の使用要求をバス要求Ｒ１によって行う。バス調停装置１００は、第１バスマスタ１１からのバス使用要求を受けると、現在実行しているバス調停アルゴリズムに従って、第１バスマスタ１１がバス１０を使用する優先度を求め、バス回答Ａ１によって第１バスマスタ１１にバス１０の使用許可を発行する。
【０１６３】
一方、第１制御ユニット４１において、転送時間カウンタ８１は、第１バスマスタ１１がバス１０を介して行うデータ転送に消費した時間である所要データ転送時間を計測する。比較器６１は、転送時間カウンタ８１が計測した所要データ転送時間を、転送時間設定レジスタ９１に予め設定されている、第１バスマスタ１１のための基準データ転送時間と比較し、所要データ転送時間が基準データ転送時間に達するごとに、第１バスマスタ１１について、所定のデータ転送時間が消費されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１６４】
第２制御ユニット４２と第ｎ制御ユニット４３とにおける動作も同様である。  第２制御ユニット４２において、転送時間カウンタ８２は、第２バスマスタ１２がバス１０を介して行うデータ転送に消費した時間である所要データ転送時間を計測する。比較器６２は、転送時間カウンタ８２が計測した所要データ転送時間を、転送時間設定レジスタ９２に予め設定されている、第２バスマスタ１２のための基準データ転送時間と比較し、所要データ転送時間が基準データ転送時間に達するごとに、第２バスマスタ１２について、所定のデータ転送時間が消費されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１６５】
第ｎ制御ユニット４３において、転送時間カウンタ８３は、第ｎバスマスタ１３がバス１０を介して行うデータ転送に消費した時間である所要データ転送時間を計測する。比較器６３は、転送時間カウンタ８３が計測した所要データ転送時間を、転送時間設定レジスタ９３に予め設定されている、第ｎバスマスタ１３のための基準データ転送時間と比較し、所要データ転送時間が基準データ転送時間に達するごとに、第ｎバスマスタ１３について、所定のデータ転送時間が消費されたことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１６６】
バス割当決定部２０は、比較器６１〜６３のうちのいずれかから制御情報の通知を受けると、通知された制御情報に基づいて、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。それ以降、バス割当決定部２０は、各バスマスタからのバス使用要求に対して、新たなバス調停アルゴリズムに従って、各バスマスタがバス１０を使用する優先度を求め、各バスマスタにバス１０の使用許可を発行する。同時に、バス割当決定部２０は、転送時間カウンタ８１〜８３の計数値をリセットして、転送時間カウンタ８１〜８３がそれぞれ新たな所要データ転送時間を計測できるようにする。
【０１６７】
本形態におけるバス調停装置１００における動作のフローを、第９図を参照しつつ、第１５図に従って説明する。
【０１６８】
第１５図は、本発明の第３の実施の形態におけるバス調停アルゴリズム変更のフローチャートである。
【０１６９】
ステップＳ６０で、処理がスタートすると、バス調停装置１００では、ステップＳ６１において、転送時間設定レジスタ９１〜９３に、それぞれのバスマスタに対応した基準データ転送時間が設定される。
【０１７０】
ステップＳ６２において、転送時間カウンタ８１〜８３がリセットされ、ステップＳ６３において、転送時間カウンタ８１〜８３がそれぞれのバスマスタの所要データ転送時間を計測する。
【０１７１】
ステップＳ６４において、比較器６１〜６３は、転送時間カウンタ８１〜８３がステップＳ６３において計測したそれぞれのバスマスタの所要データ転送時間と、ステップＳ６１において転送時間設定レジスタ９１〜９３に設定されたそれぞれの基準データ転送時間とを比較する。比較器６１〜６３のいずれにおいても、所要データ転送時間が基準データ転送時間に満たず、比較結果が「Ｎｏ」であれば、ステップＳ６３に戻って、引き続き転送時間カウンタ８１〜８３は、それそれの所要データ転送時間を計測する。比較器６１〜６３のいずれかにおいて所要データ転送時間が基準データ転送時間に達し、比較結果が「Ｙｅｓ」になると、ステップＳ６５に進む。
【０１７２】
ステップＳ６５では、ステップＳ６４において比較結果が「Ｙｅｓ」となった比較器は、その対応するバスマスタにおける所要データ転送時間が基準データ転送時間に達したことを示す制御情報を生成し、生成した制御情報をバス割当決定部２０に通知する。
【０１７３】
ステップＳ６６において、バス割当決定部２０は、通知された制御情報に基づいて、現在実行しているバス調停アルゴリズムを変更して、新たなバス調停アルゴリズムを実行する。この時、バス割当決定部２０は、所要データ転送時間が基準データ転送時間に達したバスマスタを対象に、そのバスマスタのバス使用の優先度を上げたり、また逆に、下げたりする、特別の新たなバス調停アルゴリズムを実行することも出来る。
【０１７４】
そして、ステップＳ６７において、一連の処理が終了したかどうかを判定し、終了していなければ、判定結果は、「Ｎｏ」となり、ステップＳ６２に戻り、ステップＳ６２からステップＳ６７までが繰り返えされる。終了していれば、判定結果は、「Ｙｅｓ」となり、ステップＳ６８に移り、処理が終了する。
【０１７５】
本形態のバス調停装置１００は、複数のバスマスタに対応して、複数の制御ユニットを設けていて、バスマスタ毎の所要データ転送時間を計測している。したがって、バスマスタ毎の所要データ転送時間に基づいたバス調停が可能である。
【０１７６】
例えば、比較器６１が、第１バスマスタ１１について、所定の基準データ転送時間が消費されたことをバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を下げるようなバス調停アルゴリズムに変更することができる。こうすると、バス調停アルゴリズムの変更後は、転送データ量が多い第１バスマスタ１１のバス使用における優先度が下げられ、システム全体で均等にバスを使用することが可能となる。
【０１７７】
あるいは、逆に、比較器６１が、第１バスマスタ１１について、所定の基準データ転送時間が消費されたことをバス割当決定部２０に通知した場合、バス割当決定部２０は、バス調停アルゴリズムを、第１バスマスタ１１のバス使用における優先度を上げるようなバス調停アルゴリズムに変更することができる。こうすると、転送データ量が多い第１バスマスタ１１に対するバス使用権の配分を多くし、第１バスマスタ１１の処理をより一層進捗させることが可能となる。
【０１７８】
本形態のバス割当決定部２０が実行するバス調停アルゴリズムのプログラムは、上述したような適応型の方式に則ったものが望ましいが、固定優先順位方式でも良いし、ラウンドロビン方式でも良い。こうすると、システム構成が簡略化される。
【０１７９】
本形態のバス調停アルゴリズムの変更の具体的な実施例としては、本発明の第２の実施の形態において説明した、第７図に示すバス割当決定部と第８図に示すバス割当決定部とを同様に利用することが出来る。この場合、本発明の第２の実施の形態における説明の、「比較器６１、６２、６３は、対応するバスマスタにおいて、累計転送データ量が基準転送データ量に達した時に一致信号を発行する」を、「比較器６１、６２、６３は、対応するバスマスタにおいて、所要データ転送時間が基準データ転送時間に達した時に一致信号を発行する」というように、「累計転送データ量」を「所要データ転送時間」に読み替え、「基準転送データ量」を「基準データ転送時間」に読み替えればよい。
【０１８０】
本形態で第７図に示すバス割当決定部２０を利用する場合には、所要データ転送時間が基準データ転送時間に達して一致信号を発行したバスマスタに対して、それ以降のバス要求を、遮断したり、固定優先順位方式に基づいて、優先度を下げたり、上げたり制御することが出来る。
【０１８１】
また、本形態で第８図に示すバス割当決定部２０を利用する場合には、所要データ転送時間が基準データ転送時間に達して一致信号を発行したバスマスタに対して、それ以降のバス要求を遮断し、その他のバスマスタに対して、バス要求をラウンドロビン方式により制御することが出来る。
【０１８２】
なお、本形態のバス調停装置１００では、計測制御部３０は、複数のバスマスタに対応して、複数の制御ユニットを設けていて、バスマスタ毎の所要データ転送時間を計測している。しかし、計測制御部３０は、単一の制御ユニットを設けて、タイムシェアリングにより、各バスマスタの所要データ転送時間を個々に計測できるようにしても、本形態のバス調停装置１００と同様の効果を得ることができる。
【０１８３】
以上説明したように、本発明の趣旨は、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図ることにあるのであって、本発明の趣旨を逸脱しない限り、種々の適用が可能である。
【０１８４】
本発明によれば、バスに接続された複数のバスマスタを有するシステムにおいて、各バスマスタのバス使用権の優先度を適応的に可変して、各バスマスタからのバス要求に対するバス調停の最適化を図るバス調停装置とバス調停方法を提供することができる。
【産業上の利用可能性】
【０１８５】
本発明に係わるバス調停装置とバス調停方法は、例えば、バスに接続された複数のバスマスタを有するマルチプロセッサＬＳＩなどと、その応用分野において利用できる。
【図面の簡単な説明】
【０１８６】
【図１】本発明の第１の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図
【図２】本発明の第１の実施の形態におけるバス割当決定部のブロック図
【図３】本発明の第１の実施の形態における固定優先順位方式調停回路のブロック図
【図４】本発明の第１の実施の形態におけるラウンドロビン方式調停回路のブロック図
【図５】本発明の第１の実施の形態におけるバス割当決定部のブロック図
【図６】本発明の第２の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図
【図７】本発明の第２の実施の形態におけるバス割当決定部のブロック図
【図８】本発明の第２の実施の形態におけるバス割当決定部のブロック図
【図９】本発明の第３の実施の形態におけるバス調停装置のブロック図、及び、バス調停装置と複数のバスマスタの配置図
【図１０】本発明の第１の実施の形態におけるバス調停アルゴリズム変更のフローチャート
【図１１】本発明の第２の実施の形態におけるバス調停アルゴリズム変更のフローチャート
【図１２】本発明の第２の実施の形態におけるバス割当決定部のフローチャート
【図１３】本発明の第２の実施の形態におけるバス割当決定部のフローチャート
【図１４】本発明の第２の実施の形態におけるバス割当決定部のフローチャート
【図１５】本発明の第３の実施の形態におけるバス調停アルゴリズム変更のフローチャート
【図１６】従来技術におけるバス調停装置のブロック図
【符号の説明】
【０１８７】
１０  バス
１１、１２、１３  バスマスタ
２０  バス割当決定部
２１、１０１、１１４、１１５、１１６  セレクタ
２２  調停アルゴリズムメモリ
３１  計時カウンタ
３２、６１、６２、６３  比較器
３３  タイマレジスタ
４１、４２、４３  制御ユニット
５１、５２、５３  転送データカウンタ
【手続補正３】
【補正対象書類名】要約書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【要約】
バス調停装置（１００）は、バス（１０）に接続された複数のバスマスタ（１１）〜（１３）間のデータ転送要求を調停するもので、バス割当決定部（２０）、計測制御部（３０）を備え、計測制御部（３０）は、計時カウンタ（３１）、比較器（３２）及びタイマレジスタ（３３）を有する。比較器（３２）は、計時カウンタ（３１）が計時したシステム稼働時間とタイマレジスタ（３３）に設定されている時間周期とを比較し、システム稼働時間が時間周期を越えると、その旨をバス割当決定部（２０）に通知し、バス割当決定部（２０）は、複数のバス調停アルゴリズムから一つを選択して、新たなバス調停アルゴリズムに変更して、バスを調停する。この結果、各バスマスタのバス使用権の偏りを回避できる。
【手続補正書】
【提出日】平成19年3月29日(2007.3.29)
【手続補正１】
【補正対象書類名】手続補正書
【補正対象項目名】手続補正３
【補正方法】削除
【補正の内容】