(57)【要約】【課題】  個々のデータ転送の重要度を反映させたバス調停を実行することが困難であった。【解決手段】  バス調停回路４７は、複数のバスマスタから発行されるバス使用要求を調停する。アドレスデコード回路６１は、バスマスタから発行されるアクセスアドレス信号を受信して、アクセス要求のあるデータブロックを出力する。データ転送アクセス優先度設定テーブル回路４９は、データブロック毎に優先度を保持し、アドレスデコード回路６１からの出力に基づき、アクセス要求のあったデータブロックの優先度を出力する。優先度判定回路４８は、データ転送アクセス優先度設定テーブル回路４９からの出力に基づき、最も優先度の高いデータブロックへのアクセスを要求しているバスマスタを判定し、そのバスマスタに対してバスの使用を許可する。【選択図】  図３
2006260230.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタからバス使用要求が出されたとき、それらのバスマスタがアクセスを要求する対象データブロックを特定し、データブロックについて定まる優先度に基づき、より優先度の高いデータブロックへのアクセスを要求しているバスマスタに対してバスの使用を許可することを特徴とするバス調停方法。
【請求項２】
前記複数のバスマスタに含まれるプロセッサにおける処理を実行するために必要となるデータが複数のデータブロックを使用して転送されるとき、それら一連のデータブロックに対して、他のデータブロックより高い優先度が付与されることを特徴とする請求項１に記載のバス調停方法。
【請求項３】
前記複数のバスマスタに含まれるプロセッサにおいて実行の優先度が高いプログラムにより使用されるデータが格納されるデータブロックに対して、他のデータブロックより高い優先度が付与されることを特徴とする請求項１に記載のバス調停方法。
【請求項４】
前記複数のバスマスタ以外の外部装置との間のデータ転送に使用されるデータブロックに対して、他のデータブロックより高い優先度が付与されることを特徴とする請求項１に記載のバス調停方法。
【請求項５】
複数のバスマスタがアクセスを要求する対象データブロックについて定まる優先度が等しいとき、前記複数のバスマスタ間について定まる優先度にしたがってバスの使用を許可することを特徴とする請求項１に記載のバス調停方法。
【請求項６】
複数のバスマスタから発行されるバス使用要求を調停するバス調停装置であって、
前記バスマスタから発行されるアクセスアドレス信号を受信して、アクセス要求のあるデータブロックを出力するアドレスデコード回路と、
データブロック毎に優先度を保持し、前記アドレスデコード回路からの出力に基づき、アクセス要求のあったデータブロックの優先度を出力する優先度設定テーブル回路と、
前記優先度設定テーブル回路からの出力に基づき、最も優先度の高いデータブロックへのアクセスを要求しているバスマスタを判定し、そのバスマスタに対してバスの使用を許可する優先度判定回路と、
を備えることを特徴とするバス調停装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバスマスタから同時に出されるバス使用要求を調停するバス調停技術に関する。
【背景技術】
【０００２】
独立して動作する複数のプロセッサまたはダイレクトメモリアクセスコントローラ（以下、「ＤＭＡＣ」という）などを備えるシステムにおいて、一般に、汎用バス等のバスの使用権を持つことが許されるのはひとつのマスタだけである。したがって、同一クロックサイクルでバスへのアクセスを要求するマスタが複数存在する場合、所定のバス調停方法にしたがい、いずれかのマスタにバスの使用権を割り当てなければならない。
バス調停の実現方法として、マスタ毎に固定の優先順位にしたがってバスの使用権を与える固定優先方式や、ある定められた順序で使用権の割り当てを繰り返すラウンドロビン方式などが知られている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
プロセッサまたはＤＭＡＣなどのバスマスタ（以下単に「バスマスタ」ともいう）が実行する処理にともなうデータ転送の優先度は、それぞれ異なる。しかしながら、上述の固定優先方式やラウンドロビン方式は、バスマスタにしか着目しておらず、個々のデータ転送の重要度や優先度を反映させてバスの使用権を割り当てることができない。これにより、バスの実効的な使用効率が低下したり、緊急度が高いデータ転送が長く待たされるといった状況が起こり得る。
【０００４】
本発明者はこうした状況を認識して本発明をなしたものであり、その目的は、複数のバスマスタによりバスの使用権が要求されたとき、データ転送の優先度に着目してバスの使用権を割り当てるバス調停技術を提供することにある。
【課題を解決するための手段】
【０００５】
本発明のある態様は、複数のバスマスタからバス使用要求が出されたとき、それらのバスマスタがアクセスを要求する対象データブロックを特定し、データブロックについて定まる優先度に基づき、より優先度の高いデータブロックへのアクセスを要求しているバスマスタに対してバスの使用を許可することを特徴とするバス調停方法である。
【０００６】
「バスマスタ」には、システム内のバスを使用する任意の回路が含まれる。「データブロックについて定まる優先度」とは、バスマスタによる処理の際に、当該データブロックに関わるデータが処理されるべき順番を指し、数値をはじめ、順番を示す任意の情報で指定される。
この態様によると、複数のバスマスタによりバスの使用要求が出された場合に、バスマスタがアクセス可能なデータブロック単位で優先度を定めておき、優先度の高いデータブロックにアクセスするバスマスタに対してバスの使用権を与えることによって、データ転送の緊急性や重要性を考慮したバス調停を実現することができる。とくに、所定のデータが所定の期間内に処理されるべき状況では、そうしたデータを含むデータブロックの優先度を高めることで、処理に齟齬が生じないよう配慮することができる。
【０００７】
前記複数のバスマスタに含まれるプロセッサにおける処理を実行するために必要となるデータが複数のデータブロックを使用して転送されるとき、それら一連のデータブロックに対して、他のデータブロックより高い優先度を付与するようにしてもよい。これによって、一連のデータブロック内のデータを使用するプロセッサの処理が、スケジューリング通りに実行されることになり、一括して処理すべきデータの処理効率が改善できる。また、同一のバスマスタに必要な期間連続してバス使用権を与えることで、データ転送の効率を高め、バス使用効率を高めることができる。
【０００８】
前記複数のバスマスタに含まれるプロセッサにおいて実行の優先度が高いプログラムにより使用されるデータが格納されるデータブロックに対して、他のデータブロックより高い優先度を付与するようにしてもよい。実行優先度の高いプログラムの変数が、高い優先度を付与されている固定のデータブロックに格納されるように設定しておくことで、当該プログラムを優先的に実行することができる。そうしたプログラムの例として、リアルタイム処理や準リアルタイム処理が必要なプログラムがある。
【０００９】
前記複数のバスマスタ以外の外部装置との間のデータ転送に使用されるデータブロックに対して、他のデータブロックより高い優先度を付与するようにしてもよい。これによって、外部装置とのデータ転送が優先的に実行されるようになるため、外部装置とのインタフェイスにおいて、データ転送遅延が少なくなる。外部装置はユーザによって使用されることが多く、ユーザ側のデータを優先的に処理することは、システムの設計仕様としてひとつのポリシーになりうる。
【００１０】
本発明の別の態様は、複数のバスマスタから発行されるバス使用要求を調停するバス調停装置に関する。この装置は、前記バスマスタから発行されるアクセスアドレス信号を受信して、アクセス要求のあるデータブロックを出力するアドレスデコード回路と、データブロック毎に優先度を保持し、前記アドレスデコード回路からの出力に基づき、アクセス要求のあったデータブロックの優先度を出力する優先度設定テーブル回路と、前記優先度設定テーブル回路からの出力に基づき、最も優先度の高いデータブロックへのアクセスを要求しているバスマスタを判定し、そのバスマスタに対してバスの使用を許可する優先度判定回路と、を備えることを特徴とする。
【００１１】
この態様によると、バスの使用権を要求するバスアクセス要求信号が複数のバスマスタから同時に出されたとき、バス調停装置は、データブロック単位に設定されているデータ転送アクセスの優先度に基づき、最も優先度の高いデータブロックを決定する。そして、そのデータブロックにアクセスするバスマスタを最も優先度の高い処理を実行する装置と決定し、バスアクセス許可信号を発行する。このように、バスマスタによりアクセス可能なデータブロック毎に優先度を設定することにより、データブロックに格納される個々のデータの重要度に応じたバス調停を実現することができる。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、バス調停を効果的に実行することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の理解を明確にするため、比較対象とすべき技術を最初に説明する。図１は、比較対象となるバス調停技術を採用した集積回路８０を示す。集積回路８０は、第１プロセッサ１、第２プロセッサ４、第１ＤＭＡＣ７、第２ＤＭＡＣ１０、第１データ記憶装置１４、第２データ記憶装置１５およびバス調停回路１３を備える。プロセッサ、ＤＭＡＣおよびデータ記憶装置は汎用バスで接続されている。汎用バスは、アドレスバス１６、データバス１７およびコントロールバス１８を含む。第１プロセッサ１、第２プロセッサ４、第１ＤＭＡＣ７、第２ＤＭＡＣ１０は、バス調停回路１３に接続されている。バス調停回路１３は、複数のプロセッサまたはＤＭＡＣ、すなわちバスマスタから汎用バスの使用権（以下単に「バス使用権」ともいう）の要求があったときに、いずれかのプロセッサまたはＤＭＡＣに使用権を与える機能を有する。
【００１５】
プロセッサ１，４またはＤＭＡＣ７，１０が汎用バスにアクセスする必要が生じると、バス調停回路１３に対してバスの使用権を要求する。より具体的には、プロセッサ１，４は、データ記憶装置１４，１５へのデータ書き込み／読み出し命令を発するときに、バス調停回路１３に対して汎用バスの使用権を要求するバスアクセス要求信号２，５をそれぞれ発行する。また、ＤＭＡＣ７，１０は、図示しない周辺回路からＤＭＡ転送の要求信号１９，２０を受けると、データ記憶装置１４，１５とのデータ書き込み／読み出しを実行する際に、バス調停回路１３に対してバスアクセス要求信号８，１１をそれぞれ発行する。
【００１６】
複数のバスマスタから、同一クロックサイクルにおいてバス調停回路１３に対してバスアクセス要求信号が発行された場合、バス調停回路１３は、予め固定されている優先順位にしたがうか、または既知のラウンドロビン方式により、汎用バスへのアクセスを許可するひとつのバスマスタを決定する。続いて、バス調停回路１３は、決定したバスマスタ、すなわちプロセッサ１，４またはＤＭＡＣ７，１１のいずれかひとつに対して、バスアクセス許可信号３，６，９，１２を発行する。有効なバスアクセス許可信号を受けたバスマスタは、データ記憶装置１４，１５へのデータ書き込みまたはデータ読み出しを実行する。バスアクセス許可信号を受けなかった他のバスマスタは、そのサイクル中は待機状態となり、バス調停回路１３に対してバスアクセス要求信号を発行しつづける。
【００１７】
図１において、第１プロセッサ１が第１データ記憶装置１４からのデータ読み出し転送を実行しようとし、同時に、第１ＤＭＡＣ７が第１データ記憶装置１４から第２データ記憶装置１５へのＤＭＡ転送を実行する場合を考える。第１プロセッサ１はバス調停回路１３に対してバスアクセス要求信号２を発行し、同時に第１ＤＭＡＣ７は、バス調停回路１３に対してバスアクセス要求信号８を発行する。
【００１８】
バスアクセス要求信号２，８を受信したバス調停回路１３は、予め固定されている優先順位にしたがって、第１プロセッサ１にバスの使用権を与えると決定する。すると、バス調停回路１３は、第１プロセッサ１に対して有効なバスアクセス許可信号３を発行する。
【００１９】
有効なバスアクセス許可信号３を受けた第１プロセッサ１は、汎用バス１６〜１８を介して、第１データ記憶装置１４からのデータ読み出し転送を実行する。有効なバスアクセス許可信号を受けていないＤＭＡＣ７は、引き続きバスアクセス要求信号８をバス調停回路１３に発行する。
【００２０】
続いて、図２を参照して、本発明の一実施形態に係るバス調停装置の構成について説明する。集積回路１００は、第１プロセッサ３１、第２プロセッサ３５、第１ＤＭＡＣ３９、第２ＤＭＡＣ４３、第１データ記憶装置５０、第２データ記憶装置５１、およびバス調停回路４７を備える。図１と同様に、プロセッサ３１，３５、ＤＭＡＣ３９，４３およびデータ記憶装置５０，５１は汎用バスで接続されている。汎用バスは、アドレスバス５２、データバス５３およびコントロールバス５４を含む。データ記憶装置５０，５１は、ＲＡＭやレジスタブロック等で構成される。データ記憶装置５０，５１は、アドレスで分割される複数のデータブロックを含む。第１データ記憶装置５０は、５個のデータブロックＡ〜Ｅを含み、第２データ記憶装置５１は、５個のデータブロックＦ〜Ｊを含む。また、  第１プロセッサ３１、第２プロセッサ３５、第１ＤＭＡＣ３９、第２ＤＭＡＣ４３は、バス調停回路４７に接続されている。
【００２１】
プロセッサ３１，３５は、書き込み転送命令と読み出し転送命令を含む命令セットを用いてプログラミングされ、データ記憶装置５０，５１に対してデータ転送アクセスを実行可能に構成されている。プロセッサ３１，３５は、書き込み転送命令または読み出し転送命令によりデータ記憶装置５０，５１へのデータ転送アクセスを行うとき、バス調停回路４７に対して、バスアクセス要求信号３２，３６と、書き込み／読み出し転送先のアドレスを指定するアクセスアドレス信号３３，３７をそれぞれ発行する。
【００２２】
ＤＭＡＣ３９，４３は、図示しない周辺回路からＤＭＡ転送の要求信号５５，５６を受け取り、ＤＭＡ転送を実行するよう構成されている。ＤＭＡＣ３９，４３は、ＤＭＡ転送を実行する際、バス調停回路４７に対して、バスアクセス要求信号４０，４４と、ＤＭＡ転送先／転送元のアドレスを指定するアクセスアドレス信号４１，４５をそれぞれ発行する。
【００２３】
バス調停回路４７は、プロセッサ３１，３５およびＤＭＡＣ３９，４３から発行されたバスアクセス要求信号とアクセスアドレス信号とを受ける。
バス調停回路４７は、データ転送アクセス優先度設定テーブル回路４９と、優先度判定回路４８とを備える。データ転送アクセス優先度設定テーブル回路４９は、データ記憶装置５０，５１内のアドレスで分割されるデータブロック単位に、データ転送アクセスの優先度を保持する。このデータブロック単位の優先度の記憶領域をレジスタやＲＡＭで構成すれば、プロセッサ３１，３５や集積回路１００外部の周辺装置によって設定することができる。ＲＡＭではなくＲＯＭとして、優先度を当初より固定しておくこともできる。
【００２４】
プロセッサ３１，３５またはＤＭＡＣ３９，４３のうち、複数のバスマスタが同時にバスアクセス要求信号を発行した場合、優先度判定回路４８は、データ転送アクセス優先度設定テーブル回路４９の出力に基づき、優先度の最も高いデータブロックにアクセスしているプロセッサまたはＤＭＡＣを特定する。そして、特定したプロセッサまたはＤＭＡＣに対して、有効なバスアクセス許可信号３４，３８，４２，４６を発行する。
【００２５】
有効なバスアクセス許可信号を受けたプロセッサ３１，３５またはＤＭＡＣ３９，４３は、汎用バス５２〜５４を介してデータ記憶装置５０，５１へのデータ書き込み転送、またはデータ読み出し転送を実行する。バスアクセス許可信号を受けていないその他のプロセッサ３１，３５またはＤＭＡＣ３９，４３は待機状態となり、バス調停回路４７に対してバスアクセス要求信号を発行しつづける。
【００２６】
図３は、図２のバス調停回路４７の詳細な構成を示す。以下、図３を参照して、バス調停回路４７がひとつのバスマスタに対して汎用バスへのアクセスを許可する動作について詳細に説明する。
【００２７】
バス調停回路４７は、上述したデータ転送アクセス優先度設定テーブル回路４９と優先度判定回路４８のほか、アドレスデコード回路６１とバス状態監視回路７２を備える。
アドレスデコード回路６１は、プロセッサ３１，３５およびＤＭＡＣ３９，４３から発行されたバスアクセス要求信号３２，３６，４０，４４と、アクセスアドレス信号３３，３７，４１，４５とを受ける。アドレスデコード回路６１は、アクセスアドレス信号に基づき各バスマスタがアクセスしようとしているデータブロックを特定し、データ転送アクセス優先度設定テーブル回路４９内の、特定したデータブロックに対応する優先度設定テーブルにアクセスするための優先度設定テーブルアドレス６２〜６５を生成する。バスアクセス要求信号がアサートされていないとき、アドレスデコード回路６１は、データ転送アクセス優先度設定テーブル回路４９から誤ったデータが出力されないよう、優先度設定テーブルアドレスとして無効なアドレスを出力する。
【００２８】
データ転送アクセス優先度設定テーブル回路４９の優先度設定テーブル６６，６７は、データ記憶装置５０，５１内のデータブロック毎に準備されており、対応する優先度設定テーブルアドレスにより参照可能である。優先度設定テーブル６６，６７には、各データブロックの優先度が保持されている。図３では、データ記憶装置５０，５１の１０個のデータブロックＡ〜Ｊに対応して、１０個の優先度設定テーブルが準備されている。そして、各優先度設定テーブルには、優先度として０〜９のいずれかの数値が保持される。数値が大きくなるほど、対応するデータブロックに関連するデータの処理の優先度が高いことを表している。
【００２９】
データブロック毎の優先度は、例えば以下の観点から定めることができる。
（実施例１）
プロセッサ３１，３５において特定の処理を実行するために必要となるデータが、複数のデータブロックを使用して転送される必要がある場合、それら一連のデータブロックに対して、他のデータブロックより高い優先度を付与する。これによって、プロセッサ３１，３５における処理がスケジューリング通りに実行されるので、一括して処理すべきデータに対する処理効率が高まる。
【００３０】
（実施例２）
プロセッサ３１，３５において複数のプログラムが実行されている場合、より実行の優先度が高いプログラムにより使用されるデータが格納されるデータブロックに対して、他のデータブロックより高い優先度を付与する。
例えば、プロセッサ３１，３５の変数領域として、固定のデータブロックを指定しておく。そして、プロセッサ３１，３５において、優先度の高いプログラムを実行する場合は、そのプログラムの変数が上記固定データブロックに記憶されるように設定する。このようにすると、固定データブロックに対しては常に高い優先度が与えられているので、当該プログラムを優先的に実行することができる。
【００３１】
（実施例３）
プロセッサ３１，３５またはＤＭＡＣ３９，４３以外の外部装置との間のデータ転送に使用されるデータブロックに対して、他のデータブロックより高い優先度を付与する。こうすることによって、外部装置とのデータ転送が優先的に実行されるようになるため、そうした外部装置とのデータ転送レートが高まる。これは、リアルタイム性を重視するアプリケーションにおいては重要である。
【００３２】
図３に戻り、データ転送アクセス優先度設定テーブル回路４９は、アドレスデコード回路６１からの優先度設定テーブルアドレス６２〜６５に対応する優先度設定テーブルに保持されている優先度を、データ転送アクセス優先度信号６８〜７１として出力する。  
【００３３】
優先度判定回路４８は、データ転送アクセス優先度設定テーブル回路４９から出力されたデータ転送アクセス優先度信号を比較する。また、バス状態監視回路７２は、現在、プロセッサ３１，３５またはＤＭＡＣ３９，４３にバス使用権が与えられているかどうかを監視し、バス状態信号７３として優先度判定回路４８に伝える。優先度判定回路４８は、バス状態信号７３を参照してバス使用権が開放されたとき、データ転送アクセス優先度の最も高いデータブロックへのデータ転送アクセスを要求しているプロセッサまたはＤＭＡＣに対して、バスアクセス許可信号３４，３８，４２，４６を発行する。
【００３４】
続いて、具体例を挙げて集積回路１００の動作を説明する。図２の第１プロセッサ３１が第１データ記憶装置５０のデータブロックＣ５７からのデータ読み出し転送を実行しようとしており、同時に、第１ＤＭＡＣ３９が第１データ記憶装置５０のデータブロックＥ５８から第２データ記憶装置５１のデータブロックＨ５９へのＤＭＡ転送を実行しようとしている場合を考える。このとき、第１プロセッサ３１は、バス調停回路４７に対して、バスアクセス要求信号３２とアクセスアドレス信号３３を発行する。同時に、第１ＤＭＡＣ３９は、バス調停回路４７に対して、バスアクセス要求信号４０とアクセスアドレス信号４１を発行する。
【００３５】
アドレスデコード回路６１は、アクセスアドレス信号３３，４１から、第１プロセッサ３１がアクセスしようとしているデータブロックＣ５７に対応する優先度設定テーブルアドレス、および、第１ＤＭＡＣ３９がアクセスしようとしているデータブロックＥ５８とデータブロックＨ５９に対応する優先度設定テーブルアドレスを生成し、データ転送アクセス優先度設定テーブル回路４９に出力する。
【００３６】
図３に示すように、データブロックＣに対応する優先度設定テーブル７４には、優先度「９」が保持され、データブロックＥに対応する優先度設定テーブル７５には、優先度「４」が保持され、データブロックＨに対応する優先度設定テーブル７６には、優先度「２」が保持されている。データ転送アクセス優先度設定テーブル回路４９は、これらをデータ転送アクセス優先度信号として優先度判定回路４８に出力する。
【００３７】
優先度判定回路４８は、最も優先度の高いデータブロックＣへのデータ転送アクセスを要求している第１プロセッサ３１が、より優先度の高いバスマスタと判定する。したがって、優先度判定回路４８は、第１プロセッサ３１に対して有効なバスアクセス許可信号３４を発行する。
【００３８】
バスアクセス許可信号３４を受信した第１プロセッサ３１は、汎用バス５２〜５４を介して第１データ記憶装置５０のデータブロックＣ５７へデータ読み出し転送アクセスを実行する。バスアクセス許可信号を受けていない第１ＤＭＡＣ３９は待機状態になり、引き続きバスアクセス要求信号４０をバス調停回路４７に発行する。
【００３９】
第１プロセッサ３１による第１データ記憶装置５０へのデータ読み出し転送アクセスが終了すると、バス調停回路４７は、バスアクセス要求信号４０を発行している第１ＤＭＡＣ３９に対してバスアクセス許可信号４２を発行する。バスアクセス許可信号４２を受信した第１ＤＭＡＣ３９は、汎用バス５２〜５４を介して、第１データ記憶装置５０のデータブロックＥ５８から第２データ記憶装置５１のデータブロックＨ５９へのＤＭＡ転送を実行する。ただし、この時点で第１ＤＭＡＣ３９以外のプロセッサ３１，３５、第２ＤＭＡＣ４３からのバスアクセス要求信号を受けている場合は、バス調停回路４７は、上述と同様にしてバスの使用権を与えるバスマスタを再度判定する。
【００４０】
以上説明したように、本実施形態によれば、複数のバスマスタからバスの使用権を要求するバスアクセス要求信号が同時に出されたとき、バス調停回路は、各バスマスタから出されているアクセスアドレス信号を参照して、データ記憶装置内のデータブロック単位に設定されているデータ転送アクセス優先度に基づき、最も優先度の高いデータブロックを決定する。そして、そのデータブロックにアクセスするバスマスタを最も優先度の高い処理を実行する装置と決定し、バスアクセス許可信号を発行する。このように、集積回路において同時に発生する複数のバスアクセス要求を調停することによって、集積回路の処理効率を向上させることができる。また、バスマスタによりアクセス可能なデータブロック毎に優先度を設定することにより、データブロックに関連する個々のデータの重要度に応じたバス調停を実現することができる。
【００４１】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、そのような変形例について述べる。
【００４２】
実施の形態では、２つのデータ記憶装置５０，５１の種類を問わずに一連の優先度を与えていたが、データ記憶装置の種類毎に優先度を与えてもよい。例えば、データ記憶装置としてキャッシュメモリとメインメモリを備える場合、キャッシュメモリ内のデータブロックの優先度を、メインメモリ内のデータブロックの優先度より高く設定してもよい。これによって、データ記憶装置の重要度やアクセス高速性を考慮したバス調停を実現できる。
【００４３】
実施の形態では、全てのデータブロックに対して異なる優先度を付与したが、別々のデータブロックに対して同一の優先度を付与してもよい。この場合、バスマスタからデータアクセス要求が出されている２つ以上のデータブロックに対して同一の優先度が割り当てられていれば、優先度判定回路４８は、従来どおりバスマスタに着目し、固定優先順位方式、ラウンドロビン方式、ＬＲＵ（Least Recently Used）方式などによって、最も優先度の高いデータブロックを決定するようにする。すなわち、データブロックに関する優先度とバスマスタに関する優先度の双方を参照してバス調停をしてもよい。
【００４４】
実施の形態では、プロセッサとＤＭＡＣを備えた集積回路に対するバス調停装置を説明したが、本発明のバス調停装置は、当然ながら、ＤＭＡＣを備えていないシステムに対しても適用することができる。要するに、複数のバスマスタが存在するシステムであればよい。
【図面の簡単な説明】
【００４５】
【図１】比較対象となるバス調停回路を備えた集積回路の構成を示す図である。
【図２】本発明の一実施形態に係るバス調停回路を備えた集積回路の構成を示す図である。
【図３】図２のバス調停回路の構成を示す図である。
【符号の説明】
【００４６】
３１  第１プロセッサ、  ３５  第２プロセッサ、  ３９  第１ＤＭＡＣ、  ４３  第２ＤＭＡＣ、  ４７  バス調停回路、  ４８  優先度判定回路、  ４９  データ転送アクセス優先度設定テーブル回路、  ５０  第１データ記憶装置、  ５１  第２データ記憶装置、  ５７〜５９  データブロック、  ６１  アドレスデコード回路、  ６６、６７  優先度設定テーブル、  ７２  バス状態監視回路。
【図１】
2006260230.tif 000003
【図２】
2006260230.tif 000004
【図３】
2006260230.tif 000005