(57)【要約】【課題】従来のバス調停方法では、一定時間を単位として時分割にバスを割り当てていたために、優先度の低いモジュールがバスを要求してもバスの使用権利の獲得が難しい場合があった。【解決手段】バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、各基本バスサイクルにおけるバス要求に関する情報を取得して少なくとも一時的に記憶する記憶部１０８ａと、各基本バスサイクルでの各モジュールのバス占有期間を、記憶部１０８ａに記憶されている情報に基づいて決定する調停処理部１０８ｂとを設けることにより、バススループットを向上させる。【選択図】図１
2004199404.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、
各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して記憶するバス要求状況記憶部と、
各基本バスサイクルでの各モジュールのバス占有期間の比率を、当該基本バスサイクルの直前の基本バスサイクルを含む少なくとも１回の過去の基本バスサイクルから取得され前記バス要求状況記憶部に記憶されている前記情報に基づいて決定する調停処理部とを備えたことを特徴とするバス調停装置。
【請求項２】
前記バス要求状況に関する情報が、各基本バスサイクルにおける各モジュールのバス要求の回数である、請求項１記載のバス調停装置。
【請求項３】
前記バス要求状況に関する情報が、各基本バスサイクルにおける各モジュールのバス要求の回数と、前記バス要求の各々のタイミングである、請求項１記載のバス調停装置。
【請求項４】
前記調停処理部が、各基本バスサイクルにおける各モジュールからのバス要求を監視し、各モジュールに割り当てた占有期間までに当該モジュールがバス要求を出さない場合は、当該モジュールへのバス割り当てを解消する、請求項１〜３のいずれか一項に記載のバス調停装置。
【請求項５】
前記調停処理部が、各基本バスサイクルにおいていずれかのモジュールへのバス割り当てを解消した場合、当該基本バスサイクルの長さを短縮する、請求項４記載のバス調停装置。
【請求項６】
バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、
各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して少なくとも一時的に記憶するバス要求状況記憶部と、
前記バス要求状況記憶部に記憶された情報と予め定められた条件とを比較することにより、各モジュールからのバス要求の優先度を判断し、相対的に優先度が高いと判断されるモジュールのバス要求が優先処理されるように、当該基本バスサイクル内または次の基本バスサイクル内のバス割り当てを変更する調停処理部を備えたことを特徴とするバス調停装置。
【請求項７】
前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する、請求項６記載のバス調停装置。
【請求項８】
前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入する、請求項６記載のバス調停装置。
【請求項９】
前記調停処理部が、各基本バスサイクルにおいていずれかのモジュールの占有期間を挿入した場合、当該基本バスサイクルの長さを伸張する、請求項８記載のバス調停装置。
【請求項１０】
前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールへ割り当てた占有期間の順序を、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間よりも時系列的に前になるよう入れ替える、請求項６記載のバス調停装置。
【請求項１１】
前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する、請求項６記載のバス調停装置。
【請求項１２】
前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入する、請求項６記載のバス調停装置。
【請求項１３】
前記調停処理部が、前記次の基本バスサイクルの先頭においていずれかのモジュールの占有期間を挿入した場合、当該占有期間を挿入した基本バスサイクルの長さを伸張する、請求項１２記載のバス調停装置。
【請求項１４】
前記調停処理部が、次の基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールの占有期間が先頭になるように、当該基本バスサイクル内で各モジュールの占有期間を入れ替える、請求項６記載のバス調停装置。
【請求項１５】
バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、
各モジュールから、バス要求を出してからバスを獲得するまでの許容時間とバスの使用希望時間のデータを取得し、前記データを用いて次回の基本バスサイクルでの各モジュールのバス占有時間の比率を決定する調停処理部を備え、
前記調停処理部は、前記許容時間が経過するまでに転送を開始できない場合にはバス要求を破棄して基本バスサイクルを短縮することを特徴とするバス調停装置。
【請求項１６】
各モジュールは、バス要求を出す場合、当該バス要求が破棄されて良いか否かを表す破棄可否データを前記調停処理部に送り、
前記調停処理部は、破棄可否データが破棄不可を示す場合は、当該バス要求を破棄せず、基本バスサイクルを延長して当該バス要求に対してバス割り当てを行う、請求項１５記載のバス調停装置。
【請求項１７】
請求項１〜１６のいずれか一項に記載のバス調停装置を備えた半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のモジュールがバスを介して接続されている半導体集積回路に関し、特に、前記複数のモジュールからのバス要求を調停するバス調停装置に関する。
【０００２】
【従来の技術】
従来は、複数のモジュール間でバスを介したデータ転送を行うとき、ＩＰ側がバスの使用権利を獲得する方法として優先順位を設定し、又その順位を動的に変更して、異なる輻輳条件に対応していた。
【０００３】
なお、複数のバスリクエスタの優先順位を動的に制御する従来の多重化装置が、例えば特許文献１に開示されている。
【０００４】
【特許文献１】
特開平５−３７４８０号公報
【０００５】
【発明が解決しようとする課題】
しかし、バスの調停方法では、固定された時間を単位として時分割にバスを割り当てていたために、優先度の低いモジュールがバスを要求してもバスの使用権利の獲得が難しい場合があった。
【０００６】
【課題を解決するための手段】
上記の課題を解決するために、本発明のバス調停装置は、バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して記憶するバス要求状況記憶部と、各基本バスサイクルでの各モジュールのバス占有期間の比率を、当該基本バスサイクルの直前の基本バスサイクルを含む少なくとも１回の過去の基本バスサイクルから取得され前記バス要求状況記憶部に記憶されている前記情報に基づいて決定する調停処理部とを備えたことを特徴とする。
【０００７】
【発明の実施の形態】
上述した本発明のバス調停装置（第１の構成）は、過去の基本バスサイクルにおけるバス要求回数に応じて、各基本バスサイクルにおけるバス占有時間を決定することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【０００８】
また、上述した第１の構成にかかるバス調停装置において、前記バス要求状況に関する情報として、各基本バスサイクルにおける各モジュールのバス要求の回数を用いることができる。あるいは、バス要求状況に関する情報として、各基本バスサイクルにおける各モジュールのバス要求の回数と、前記バス要求の各々のタイミングとを用いることもできる。
【０００９】
上述した第１の構成のバス調停装置において、前記調停処理部が、各基本バスサイクルにおける各モジュールからのバス要求を監視し、各モジュールに割り当てた占有期間までに当該モジュールがバス要求を出さない場合は、当該モジュールへのバス割り当てを解消することが好ましい。これにより、全体としてのバス転送効率を向上させることができる。このように前記調停処理部が、各基本バスサイクルにおいていずれかのモジュールへのバス割り当てを解消した場合、当該基本バスサイクルの長さを短縮すれば、転送効率をさらに向上させることができるので、より好ましい。
【００１０】
また、上記の課題を解決するために、本発明の第２の構成にかかるバス調停装置は、バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して少なくとも一時的に記憶するバス要求状況記憶部と、前記バス要求状況記憶部に記憶された情報と予め定められた条件とを比較することにより、各モジュールからのバス要求の優先度を判断し、相対的に優先度が高いと判断されるモジュールのバス要求が優先処理されるように、当該基本バスサイクル内または次の基本バスサイクル内のバス割り当てを変更する調停処理部を備えたことを特徴とする。
【００１１】
この構成により、バスの利用状況および各バス要求の優先度に応じて動的かつ適切にバス調停を行うことができる。
【００１２】
第２の構成のバス調停装置において、前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する構成としても良い。または、前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入しても良く、この場合に、当該基本バスサイクルの長さを伸張することがさらに好ましい。あるいは、前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールへ割り当てた占有期間の順序を、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間よりも時系列的に前になるよう入れ替えることも可能である。
【００１３】
第２の構成のバス調停装置において、前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する構成としても良い。または、前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入しても良く、この場合、当該占有期間を挿入した基本バスサイクルの長さを伸張することがさらに好ましい。あるいは、前記調停処理部が、次の基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールの占有期間が先頭になるように、当該基本バスサイクル内で各モジュールの占有期間を入れ替える構成としても良い。
【００１４】
また、上記の課題を解決するために、本発明の第３の構成にかかるバス調停装置は、バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、各モジュールから、バス要求を出してからバスを獲得するまでの許容時間とバスの使用希望時間のデータを取得し、前記データを用いて次回の基本バスサイクルでの各モジュールのバス占有時間の比率を決定する調停処理部を備え、前記調停処理部は、前記許容時間が経過するまでに転送を開始できない場合にはバス要求を破棄して基本バスサイクルを短縮することを特徴とする。
【００１５】
この構成により、各モジュールからのバス要求の条件に応じて動的かつ適切にバス調停を行うことができる。
【００１６】
第３の構成にかかるバス調停装置において、各モジュールは、バス要求を出す場合、当該バス要求が破棄されて良いか否かを表す破棄可否データを前記調停処理部に送り、前記調停処理部は、破棄可否データが破棄不可を示す場合は、当該バス要求を破棄せず、基本バスサイクルを延長して当該バス要求に対してバス割り当てを行うことが好ましい。
【００１７】
また、上述したいずれかの構成のバス調停装置を備えた半導体集積回路も、本発明の一形態である。
【００１８】
以下、本発明の具体的な実施形態について、図面を用いて説明する。
【００１９】
図１は、本実施形態の半導体集積回路の構成を示すブロック図である。図１において、１０１〜１０４はマスター側ＩＰであり、１０５・１０６はスレーブ側ＩＰであり、１０７はデータを共有するためのバスであり、１０８はバス調停機能を有したアービタである。この半導体集積回路において、マスター側ＩＰ１０１〜１０４からアービタ１０８に対してバス要求信号が出されると、アービタ１０８は、基本バスサイクルを時分割してＩＰ１０１〜１０４に割り当てる。
【００２０】
アービタ１０８は、バス要求の回数、タイミング、または優先的バス要求の有無など、各ＩＰからのバス要求に関するデータを、少なくとも一時的に記憶部１０８ａに保存しておく。調停処理部１０８ｂは、記憶部１０８ａのデータに基づいて、それぞれの基本バスサイクルにおけるバス割り当てを行う。
【００２１】
以下に、本実施形態にかかるバス調停装置における調停処理の具体例について、図２〜図８を参照しながら説明する。
【００２２】
（第１の実施形態）
第１の実施形態では、基本バスサイクル毎に、各ＩＰからのバス要求回数をアービタ１０８の記憶部１０８ａに記憶しておき、調停処理部１０８ｂが、各基本バスサイクルにおけるバス割り当てを、その１つ前の基本バスサイクルにおけるバス要求回数に応じて行う。
【００２３】
図２に示すように、ある基本バスサイクル（ｔ２）において、ＩＰ１０２からのバス要求回数が増え、ＩＰ１０１、ＩＰ１０３、およびＩＰ１０４からのバス要求回数の変化がなかったものとする。調停処理部１０８ｂは、各ＩＰからのバス要求回数を、その基本バスサイクルにおけるバス要求回数の総和で割ることで、次回の基本バスサイクル（ｔ３）におけるバス占有時間の比率を比例配分で求める。すなわち、図２に示す例では、基本バスサイクルｔ３において、ＩＰ１０１、ＩＰ１０２、ＩＰ１０３、およびＩＰ１０４のそれぞれに対して、１：２：１：１の割合で、バス占有時間が与えられることとなる。なお、図２において、▲１▼は、ＩＰ１０１に割り当てられた占有時間を表し、▲２▼〜▲４▼は同様に、ＩＰ１０２〜ＩＰ１０４のそれぞれに割り当てられた占有時間を表す。後述する図３〜図８においても同様とする。
【００２４】
このように、過去の基本バスサイクルにおけるバス要求回数に応じて、各基本バスサイクルにおけるバス占有時間を決定することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【００２５】
なお、図２の例では、各基本バスサイクルにおけるバス占有時間を決定するために、直前の１つの基本バスサイクルにおけるバス要求回数を用いたが、例えば、直前の２つまたはそれ以上の基本バスサイクルにおけるバス要求回数の統計を用いても良い。あるいは、直前ではなく２つ以上前の基本バスサイクルの統計を用いることも可能である。また、バス要求回数に基づいてバス占有時間を単純に比例配分する以外に、例えば直前の２つまたは３つ以上の基本バスサイクルにおけるバス要求回数の増減や、各ＩＰまたは各バス要求の優先度等、種々の要素をも考慮して、バス占有時間を決定してもかまわない。
【００２６】
（第２の実施形態）
第２の実施形態では、基本バスサイクル毎に、各ＩＰからのバス要求回数およびそのタイミングを、アービタ１０８の記憶部１０８ａに記憶しておき、調停処理部１０８ｂが、各基本バスサイクルにおけるバス割り当てを、その１つ前の基本バスサイクルにおけるバス要求回数およびそのタイミングに応じて行う。
【００２７】
図３に示すように、ある基本バスサイクル（ｔ２）において、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１、ＩＰ１０２の順に合計５回のバス要求があったものとする。記憶部１０８ａには、ＩＰ１０１〜１０４のそれぞれから基本バスサイクルｔ２においてバス要求が出された回数と、バス要求信号が出されたタイミングが記憶されている。
【００２８】
調停処理部１０８ｂは、基本バスサイクルｔ３におけるバス割り当てを、以下のように決定する。まず、基本バスサイクルｔ３の長さを、基本バスサイクルｔ２におけるバス要求回数の総和で割ることにより、各ＩＰに占有させる単位時間の長さを決定する。そして、基本バスサイクルｔ２におけるバス要求信号のタイミング（順序）に従って、前記の単位時間毎に、各ＩＰにバスを占有させる。
【００２９】
これにより、図３に示すように、基本バスサイクルｔ２におけるバス要求回数の総和が５回であった場合、基本バスサイクルｔ３の長さが５等分され、基本バスサイクルｔ２におけるバス要求の順（ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１、ＩＰ１０２の順）に、バスの占有が割り当てられる。
【００３０】
このように調停処理部１０８ｂが調停を行うことにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【００３１】
なお、上記の説明では、バス占有の単位時間を決定するために、直前の１つの基本バスサイクルにおけるバス要求回数を用いたが、例えば、直前の２つまたはそれ以上の基本バスサイクルにおけるバス要求回数の統計を用いても良い。あるいは、直前ではなく２つ以上前の基本バスサイクルの統計を用いることも可能である。また、各ＩＰに割り当てるバス占有時間は均一でなくても良く、各ＩＰの優先度等の種々の要素をも考慮して決定しても良い。
【００３２】
（第３の実施形態）
第３の実施形態では、一旦割り当てられたスケジュールに従って基本バスサイクルが開始した後に、各ＩＰからのバス要求の状況に応じて、その基本バスサイクルにおけるバス割り当てのスケジュールを変更する方法である。言い換えれば、調停処理部１０８ｂが、各基本バスサイクル内において動的にバス割り当てを変更する。
【００３３】
例えば、図４に示す基本バスサイクルｔ２に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１の順にバス占有時間が割り当てられ、この基本バスサイクルｔ２が開始された後に、この基本バスサイクルｔ２において、ＩＰ１０２が自らのバス占有開始前の所定時刻までにアービタ１０８へバス要求信号を出さなかったものとする。この場合、調停処理部１０８ｂは、図４に示すように、基本バスサイクルｔ２におけるＩＰ１０２の割り当て時間をなくし、基本バスサイクルｔ２の長さを短縮する。
【００３４】
また、例えば、図５に示す基本バスサイクルｔ２に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１、ＩＰ１０２の順にバス占有時間が割り当てられ、この基本バスサイクルｔ２が開始された後に、この基本バスサイクルｔ２において、ＩＰ１０２が自らの２回目のバス占有開始前の所定時刻までにバス要求信号を出さなかったものとする。この場合は、調停処理部１０８ｂは、図５に示すように、基本バスサイクルｔ２におけるＩＰ１０２の２回目の割り当て時間をなくし、基本バスサイクルｔ２の長さを短縮する。
【００３５】
このように調停処理部１０８ｂが調停を行うことにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。この結果、システム全体としてバスサイクルの高速化を図ることができる。
【００３６】
なお、上記の説明では、所定の時刻までにバス要求を出さなかったＩＰへの割り当て時間をなくして基本バスサイクルを短縮するものとしたが、基本バスサイクルを短縮せずに、当該ＩＰへの割り当て時間を他のＩＰへ割り当てることとしても良い。
【００３７】
また、各基本バスサイクルに関して予めバス割り当てを行う方法としては、第１または第２の実施形態で説明したように過去の統計を用いた割り当て方法を用いても良いが、これに限らず任意の割り当て方法を用いることができる。
【００３８】
（第４の実施形態）
第４の実施形態では、一旦割り当てられたスケジュールに従って基本バスサイクルが開始した後に、各ＩＰからのバス要求信号の状況に応じて各ＩＰの優先度を判断し、この優先度に応じて、その基本バスサイクルにおけるバス割り当てのスケジュールを変更する。すなわち、第４の実施形態も、調停処理部１０８ｂが、各基本バスサイクル内で動的にバス割り当てを変更する方法である。
【００３９】
ここで、例えば、ある基本バスサイクル（ｔ２）に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１の順にバス占有時間が割り当てられていたものとする。そして、図６（ａ）に示すように、例えばＩＰ１０４のバス転送中に、ＩＰ１０２からバス要求信号が単位時間に複数回出力された場合、調停処理部１０８ｂは、このＩＰ１０２に対して高い優先度を与えるために、次のバス占有時間（ここではＩＰ１０３に割り当てられていた時間）を、ＩＰ１０２の占有時間とするように割り当てを変更する。
【００４０】
すなわち、各ＩＰは、バス要求を行う際に、予め定められた条件（この例では単位時間当たりに出力するバス要求信号の回数）に従ってそのバス要求の優先度を表す。そして、調停処理部１０８ｂは、各ＩＰからのバス要求信号を、前記の予め定められた条件と比較することにより、各ＩＰからのバス要求の優先度を判断する。なお、複数の優先度を表現できるように前記の条件を設定し、例えば、単位時間当たりのバス要求信号の回数が多いほどより高い優先度を表すものとしても良い。
【００４１】
なお、各基本バスサイクルに関して予めバス割り当てを行う方法としては、第１または第２の実施形態で説明したように過去の統計を用いた割り当て方法を用いても良いが、これに限らず任意の割り当て方法を用いることができる。
【００４２】
ここで、前述の図６（ａ）で示した例の他に、優先度が高いと判断されたバス要求を優先的に処理するための方法の例を、図６（ｂ）および（ｃ）に示す。
【００４３】
図６（ｂ）に示す例では、基本バスサイクルｔ２に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１の順にバス占有時間が割り当てられていたものとする。そして、例えばＩＰ１０４のバス転送中に、ＩＰ１０２からバス要求信号が単位時間に複数回出力された場合、調停処理部１０８ｂは、このＩＰ１０２に対して高い優先度を与えてバス転送を実行させるために、次のバス占有時間（ここではＩＰ１０３に割り当てられていた時間）の前にＩＰ１０２の占有時間を挿入するように、割り当てを変更する。これに伴い、基本バスサイクルｔ２の全体の長さは延長される。
【００４４】
図６（ｃ）に示す例でも、同様に、基本バスサイクルｔ２に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１の順にバス占有時間が割り当てられていたものとする。そして、例えばＩＰ１０４のバス転送中に、ＩＰ１０２からバス要求信号が単位時間に複数回出力された場合、調停処理部１０８ｂは、このＩＰ１０２に対して高い優先度を与えてバス転送を実行させるために、次のバス占有時間（ここではＩＰ１０３に割り当てられていた時間）と、ＩＰ１０２に本来割り当てられていたバス占有時間とを入れ替えるように、バス割り当てを変更する。
【００４５】
以上のように、各基本バスサイクルにおいて、調停処理部１０８ｂが、各モジュールからのバス要求の優先度を考慮して動的にバス割り当てを変更することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【００４６】
（第５の実施形態）
第５の実施形態では、一旦割り当てられたスケジュールに従って基本バスサイクルが開始した後に、各ＩＰからのバス要求信号の状況に応じて各ＩＰの優先度を判断し、この優先度に応じて、次の基本バスサイクルにおけるバス割り当てのスケジュールを決定（既に決定されている場合は変更）する。
【００４７】
ここで、例えば、ある基本バスサイクル（ｔ３）に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１の順にバス占有時間が割り当てられていたものとする。そして、図７（ａ）に示すように、基本バスサイクルｔ２の最後の方（ここでは、ここではＩＰ１０１により基本バスサイクルｔ２の最後のバス転送が実行されているとき）において、ＩＰ１０２からバス要求信号が単位時間に複数回出力された場合、調停処理部１０８ｂは、このＩＰ１０２に対して高い優先度を与えるために、次の基本バスサイクルｔ３の先頭のバス占有時間（ここではＩＰ１０４に割り当てられていた時間）を、ＩＰ１０２の占有時間とするように割り当てを変更する。
【００４８】
すなわち、前述の第４の実施形態と同様に、各ＩＰは、バス要求を行う際に、予め定められた条件（この例では単位時間当たりに出力するバス要求信号の回数）に従ってそのバス要求の優先度を表す。そして、調停処理部１０８ｂは、各ＩＰからのバス要求信号を、前記の予め定められた条件と比較することにより、各ＩＰからのバス要求の優先度を判断する。なお、複数の優先度を表現できるように前記の条件を設定し、例えば、単位時間当たりのバス要求信号の回数が多いほどより高い優先度を表すものとしても良い。
【００４９】
なお、各基本バスサイクルに関して予めバス割り当てを行う方法としては、第１または第２の実施形態で説明したように過去の統計を用いた割り当て方法を用いても良いが、これに限らず任意の割り当て方法を用いることができる。
【００５０】
ここで、前述の図７（ａ）で示した例の他に、優先度が高いと判断されたバス要求を優先的に処理するための方法の例を、図７（ｂ）および（ｃ）に示す。
【００５１】
図７（ｂ）に示す例では、基本バスサイクルｔ３に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１の順にバス占有時間が割り当てられていたものとする。そして、例えば基本バスサイクルｔ２の最後のバス転送中に、ＩＰ１０２からバス要求信号が単位時間に複数回出力された場合、調停処理部１０８ｂは、このＩＰ１０２に対して高い優先度を与えてバス転送を実行させるために、次の基本バスサイクルｔ３の先頭に、ＩＰ１０２の占有時間を挿入する。これに伴い、基本バスサイクルｔ３の全体の長さは延長される。
【００５２】
図７（ｃ）に示す例でも、同様に、基本バスサイクルｔ３に関して、ＩＰ１０４、ＩＰ１０３、ＩＰ１０２、ＩＰ１０１の順にバス占有時間が割り当てられていたものとする。そして、例えば基本バスサイクルｔ２の最後のバス転送中に、ＩＰ１０２からバス要求信号が単位時間に複数回出力された場合、調停処理部１０８ｂは、このＩＰ１０２に対して高い優先度を与えてバス転送を実行させるために、次の基本バスサイクルｔ３の先頭をＩＰ１０２に割り当てるために、基本バスサイクルｔ３内において、ＩＰ１０４に割り当てられていた占有時間と、ＩＰ１０２に割り当てられていた占有時間とを入れ替える。
【００５３】
以上のように、調停処理部１０８ｂが、各モジュールからのバス要求の優先度を考慮して、次の基本バスサイクルにおけるバス割り当てを動的に変更することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【００５４】
（第６の実施形態）
第６の実施形態では、各ＩＰは、バス要求を出すときに、そのバス要求が受理されるまでＩＰが待てる時間（許容時間）を表す信号と、バス占有後に転送に必要なサイクルを表す信号とをアービタ１０８に出す。調停処理部１０８ｂは、これらの信号により与えられる情報に基づいてバス割り当てを行う。
【００５５】
例えば、図８に示すように、ＩＰ１０１、ＩＰ１０２、ＩＰ１０３からそれぞれバス要求があったものとする。さらに、ＩＰ１０１からのバス要求信号が、許容時間として“１”を表す信号と、必要サイクルとして“２”を表す信号を伴っているものとする。ＩＰ１０２からのバス要求信号が、許容時間として“５”を表す信号と、必要サイクルとして“３”を表す信号を伴っているものとする。ＩＰ１０３からのバス要求信号が、許容時間として“４”を表す信号と、必要サイクルとして“１”を表す信号を伴っているものとする。この場合、調停処理部１０８ｂは、これらの許容時間および必要サイクルが満たされるように、次の基本バスサイクルにおける割り当てを、ＩＰ１０１が２サイクル、次にＩＰ１０２が１サイクル、その次にＩＰ１０２が３サイクルとなるようにする。
【００５６】
なお、調停処理部１０８ｂは、与えられた許容時間までに転送を開始できない場合には、そのバス要求信号を破棄する。さらに、このようにバス要求信号を破棄した場合は、基本バスサイクルを短縮することで、バススループットを向上させることができる。この場合、各ＩＰは、必ず転送しなくてはならないデータ等、バス要求を破棄してはならないデータの転送に関しては、許容時間として“０”を設定する。調停処理部１０８ｂは、許容時間として“０”が設定されたバス要求については、基本バスサイクルを延長してでもバス転送を行う。
【００５７】
【発明の効果】
以上のように、本発明により、アービタが、各ＩＰからの１つ以上前のバス要求の回数やタイミングを計数しておき、その回や次回の基本バスサイクルに、その統計データを反映させることにより、例えば複数のアプリケーションがいろいろな組み合わせで同時に動作するＬＳＩ等において、様々な輻輳条件に対して動的に適応するバス調停装置を提供し、バスのスループットを向上させることができる。
【図面の簡単な説明】
【図１】本発明のバス調停装置を備えた半導体集積回路の構成例を示すブロック図
【図２】本発明のバス調停装置によるバス調停処理の一例の説明図
【図３】本発明のバス調停装置によるバス調停処理の一例の説明図
【図４】本発明のバス調停装置によるバス調停処理の一例の説明図
【図５】本発明のバス調停装置によるバス調停処理の一例の説明図
【図６】本発明のバス調停装置によるバス調停処理の一例の説明図
【図７】本発明のバス調停装置によるバス調停処理の一例の説明図
【図８】本発明のバス調停装置によるバス調停処理の一例の説明図
【符号の説明】
１０１〜１０４    ＩＰ（マスター側）
１０５，１０６    ＩＰ（スレーブ側）
１０７            バス
１０８            バス調停装置
１０８ａ          記憶部
１０８ｂ          調停処理部
【図１】
2004199404.tif 000003
【図２】
2004199404.tif 000004
【図３】
2004199404.tif 000005
【図４】
2004199404.tif 000006
【図５】
2004199404.tif 000007
【図６】
2004199404.tif 000008
【図７】
2004199404.tif 000009
【図８】
2004199404.tif 000010