(57)【特許請求の範囲】
【請求項１】
複数のマスタからのバス占有権の獲得を要求するバスアクセスに応答して、複数のマスタの優先度情報を比較してマスタを選択するバスアクセス調停装置であって、
前記複数のマスタ毎の基礎優先度情報と前記複数のマスタ毎のバスアクセス要求情報とに基づいて前記優先度情報を生成する調停優先度生成手段と、
前記バスアクセス要求情報に基づき前記優先度情報を比較してマスタを選択する調停優先度比較手段と、
を備え、
前記基礎優先度情報は、調停時の優先度が高い順に前記マスタを大きい数値で示す情報であり、
前記バスアクセス要求情報は、前記複数のマスタから供給され、バス占有権の獲得を要求するか要求しないかを示す情報であり、
前記調停優先度生成手段は、前記基礎優先度情報のＭＳＢ側に前記バスアクセス要求情報を配置して前記優先度情報を生成し、
前記調停優先度比較手段は、前記優先度情報で示される数値が大きいマスタに高い優先度を付与する
ことにより、マスタからのバスアクセス要求処理と優先度比較処理を一括して行うことを特徴とするバスアクセス調停装置。
【請求項２】
前記調停優先度生成手段は、バスアクセス要求の有無を前記基礎優先度情報の１ビットに組み入れ、前記調停優先度比較手段は、前記バスアクセス要求情報が組み入れられた優先度情報を一括して数値比較することにより、マスタを選択することを特徴とする請求項１に記載のバスアクセス調停装置。
【請求項３】
前記複数のマスタの優先度情報において、重み付け優先順位を高く設定したマスタにはデフォルトで予めバス占有権を与えておくことを特徴とする請求項１又は２に記載のバスアクセス調停装置。
【請求項４】
複数のマスタからのバス占有権の獲得を要求するバスアクセスに応答して、複数のマスタの優先度情報を比較してマスタを選択するバスアクセス調停方法であって、
（ａ）前記複数のマスタ毎の基礎優先度情報と前記複数のマスタ毎のバスアクセス要求情報とに基づいて前記優先度情報を生成するステップと、
（ｂ）生成された前記バスアクセス要求情報に基づき前記優先度情報を比較してマスタを選択するステップを備え、
前記基礎優先度情報は、調停時の優先度が高い順に前記マスタを大きい数値で示す情報であり、
前記バスアクセス要求情報は、前記複数のマスタから供給され、バス占有権の獲得を要求するか要求しないかを示す情報であり、
前記（ａ）ステップは、前記基礎優先度情報のＭＳＢ側に前記バスアクセス要求情報を配置して前記優先度情報を生成するステップを含み、
前記（ｂ）ステップは、前記優先度情報で示される数値が大きいマスタに高い優先度を付与するステップを含むことにより、マスタからのバスアクセス要求処理と優先度比較処理を一括して行うことを特徴とするバスアクセス調停方法。
【請求項５】
前記（ａ）ステップは、バスアクセス要求の有無を前記基礎優先度情報の１ビットに組み入れ、前記（ｂ）ステップは、バスアクセス要求情報が組み入れられた優先度情報を一括して数値比較することにより、マスタを選択することを特徴とする請求項４に記載のバスアクセス調停方法。
【請求項６】
前記複数のマスタの優先度情報において、重み付け優先順位を高く設定したマスタにはデフォルトで予めバス占有権を与えておくことを特徴とする請求項４又は５に記載のバスアクセス調停方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はバスアクセス調停装置及びバスアクセス調停方法に関し、特にバスアクセスを調停するための構成を簡単化する技術に関する。
【０００２】
【従来の技術】
従来、ＣＰＵローカルバス、ＰＣＩバスといったバスに、能動的にアクセスを行う複数のマスタと受動的にアクセスを受ける複数のスレーブが接続された処理装置が知られている。このような処理装置では、複数のマスタがスレーブに対するアクセス要求を同時に出すとバスアクセスの競合が生じる。処理装置は、このようなバスアクセスの競合が生じた場合に、バスアクセスの衝突を回避するためのバスアクセス調停装置（以下、「バスアービタ」という場合もある）を備えている。このバスアクセス調停装置は、複数のマスタからのバス占有権の獲得を要求するバスアクセス要求を調停し、１つのマスタのみにバス占有権を与える。
【０００３】
以下、従来のバスアクセス調停装置を、図面を参照しながら具体的に説明する。図８は、バスアクセス調停装置が適用される従来の一般的な処理装置の概略的な構成を示すブロック図である。この処理装置は、バス１０、このバス１０に能動的にアクセスを行う複数のマスタ（ＭＡＳＴＥＲ１〜ＭＡＳＴＥＲｎ）２０１〜２０ｎ、受動的にアクセスを受ける複数のスレーブ（ＳＬＡＶＥ１〜ＳＬＡＶＥｍ）３０１〜３０m及びバスアクセス調停装置（ＡＲＢＩＴＥＲ）４０から構成されている。なお、ＰＣＩローカルバスやカードバス（ＣａｒｄＢｕｓ）の場合、スレーブはターゲットとも呼ばれる。
【０００４】
一般に、マスタ２０１〜２０ｎは非同期にバスアクセス要求を発生する。バスアービタ４０は、この非同期に発生するバスアクセス要求の競合を処理（調停）する。マスタ２０１〜２０ｎは、バスアービタ４０に対してバスアクセス要求信号ＲＥＱ１〜ＲＥＱｎをそれぞれ送ってバスアクセス要求を行う。バスアービタ４０は、これらのバスアクセス要求信号ＲＥＱ１〜ＲＥＱｎに応答して、１つのマスタに対してのみバス占有権を許可することを表す許可信号ＧＮＴ１〜ＧＮＴｎの何れかを送り、バス１０の占有を許可する。
【０００５】
図９は、バスアービタ４０の詳細な構成を示すブロック図である。このバスアービタ４０は、調停優先度管理部（ＰＲＩＣＯＮＴ）５０、複数の調停優先度生成部（ＰＲＩＧＥＮ１〜ＰＲＩＧＥＮｎ）５１１〜５１ｎ、調停優先度比較部（ＣＭＰＲ）５２、調停結果通知部（ＧＮＴＧＥＮ）５３及びバス監視部（ＢＵＳＣＨＫ）５４から構成されている。
【０００６】
マスタ２０１〜２０ｎからバスアクセス要求信号ＲＥＱ１〜ＲＥＱｎがバスアービタ４０に送られると、バスアクセス調停処理が開始される。このバスアクセス調停処理では、バスアクセス要求信号ＲＥＱｉ（ｉ＝１、２、・・・、ｎ、以下同じ）を受け取った調停優先度生成部５１ｉは、調停優先度管理部５０からベースとなる優先度として送られてくる基礎優先度データＰＲＩＢＡＳＥｉに基づいて調停優先度データＰＲＩＩＮＦＯｉを生成する。また、調停優先度生成部５１ｉは、マスタ２０ｉからのバスアクセス要求信号ＲＥＱｉの有無を表すイネーブル信号ＲＥＱＯＮｉを生成する。これら調停優先度データＰＲＩＩＮＦＯｉ及びイネーブル信号ＲＥＱＯＮｉは、調停優先度比較部５２に送られる。
【０００７】
調停優先度比較部５２は、オン（バスアクセス要求信号が有ることを表す）にされているイネーブル信号に対応するマスタの中から、最大の調停優先度を有するマスタを選択するために、調停優先度データ同士を数値比較する。そして、この比較結果に基づいて、最大の調停優先度を有するマスタを選択し、その旨を表す調停優先度比較結果信号を調停結果通知部５３に送る。調停優先度比較結果信号は、マスタを特定するデータから構成されている。調停結果通知部５３は、調停優先度比較結果信号によって選択されたマスタ２０ｉに対して許可信号ＧＮＴｉを送る。
【０００８】
上述したバスアクセス調停処理は、バスアクセス単位、つまりバスサイクル毎に行われる。バス監視部５４はバスサイクルの開始や終了を検出し、次のバスサイクルにおいてバス１０の占有を許可するためのタイミングを規定するバス調停要求信号を調停優先度管理部５０及び調停優先度比較部５２に送る。
【０００９】
また、調停結果通知部５３は、調停優先度比較部５２からの調停優先度比較結果信号に基づいて生成された、調停結果を反映させるための調停結果反映制御信号を調停優先度管理部５０に送る。これにより、調停優先度管理部５０は、調停結果を、次の基礎優先度データＰＲＩＢＡＳＥｉの生成に反映させることができるようになっている。
【００１０】
図１０は、調停優先度生成部（ＰＲＩＧＥＮｎ）５１ｎ、調停優先度比較部（ＣＭＰＲ）５２及び調停結果通知部（ＧＮＴＧＥＮ）５３を更に詳細に示すブロック図である。なお、調停優先度生成部（ＰＲＩＧＥＮ１〜ＰＲＩＧＥＮｎ−１）５１１〜５１ｎ−１の各々の構成は、図１０では省略されているが、調停優先度生成部（ＰＲＩＧＥＮｎ）５１ｎの構成と同じである。
【００１１】
調停優先度生成部５１ｉは、調停優先度管理部５０からの基礎優先度データＰＲＩＢＡＳＥｉに基づいて、優先度を表す複数ビットから成る調停優先度データＰＲＩＩＮＦＯｉを生成する。また、調停優先度生成部５１ｉは、バスアクセス要求信号ＲＥＱｉに基づいて、バスアクセス要求の有無を表すイネーブル信号ＲＥＱＯＮｉを生成する。これら調停優先度データＰＲＩＩＮＦＯｉ及びイネーブル信号ＲＥＱＯＮｉは、別個のパラメータとして調停優先度比較部５２に送られる。
【００１２】
調停優先度比較部５２は、調停対象判定部７０を備えている。この調停対象判定部７０は、イネーブル信号をオンにして出力した調停優先度生成部からの調停優先度データのみを比較対象と判定するように制御する。調停優先度比較部５２は、この調停対象判定部７０によって比較対象であると判定された調停優先度データの中から最大値を有するものを選択し、調停優先度比較結果信号として調停結果通知部５３に送る。調停結果通知部５３は、この調停優先度比較結果信号に基づいてバス占有を許可する許可信号を生成し、マスタに送る。以上により、バスアクセス調停処理が完了する。
【００１３】
なお、バスアクセス調停装置に関する技術として、例えば、特開平５−２４２０２１号公報は「バス調停回路」を開示している。このバス調停回路では、複数のマスタのそれぞれのバス使用権の現在の優先順位を優先順位記憶回路に記憶しておき、優先順位比較回路において優先順位記憶回路からの信号を比較してマスタの現在のバス使用権の優先順位を決定し、バス使用要求信号調停回路において優先順位比較回路が決定したバス使用権の現在の優先順位とバス使用要求信号とから現在バス使用要求信号を出力しているマスタの中の優先順位が一番高いマスタに対してバス使用許可信号を出力し、優先順位制御回路によって優先順位記憶回路の優先順位の記憶値を繰上げるようにする。この構成により、バス使用要求の受付けを制限することなく、各マスタに対して均等にバス使用権を割当てることが可能になる。また、優先順位が高いレベルのマスタと低いレベルのマスタとに対して、一定の割合を保ってバス使用権を割当てることを可能にできる。
【００１４】
また、特開平５−２７４２５４号公報は「バスアービタ回路」を開示している。このバスアービタ回路においては、バス使用許可信号発生部は、複数のマスタからのバス使用要求信号を受け、その中で最も優先順位の高いマスタに対してバス使用許可信号を与える。そして、バス使用優先順位更新部は、バス使用許可信号を与えられたマスタの優先順位を最も低くして、このマスタより優先順位が低かったマスタの優先順位をそれぞれ一つずつ引き上げる。この結果、直前にバスの使用許可を与えたマスタのバス使用優先順位を最も低くすることによって、複数のマスタ間で偏りなくバス使用許可を与えることができる。
【００１５】
【発明が解決しようとする課題】
従来のバスアクセス調停装置では、上述したように、バスアクセス要求が行われる時に、調停優先度データとは別にバスアクセス要求の有無を表すイネーブル信号が調停優先度比較部に送られる。調停優先度比較部は、その内部に論理回路で構成された調停対象判定部を備えており、この調停対象判定部がイネーブル信号に基づいて調停の対象とすべきバスアクセス要求であるか否かを判断する。そのために、調停優先度比較部の規模が大きくなり、ハードウェアの量が増大する。その結果、実装規模が大きくなってバスアクセス調停装置が高価になるという問題がある。
【００１６】
本発明は、このような問題を解消するためになされたものであり、その目的は、バスアクセス調停を簡単な構成で行うことができるバスアクセス調停装置及びバスアクセス調停方法を提供することにある。
【００１７】
【課題を解決するための手段】
上記目的を達成するために、本発明の第１の態様に係るバスアクセス調停装置は、複数のマスタからのバス占有権の獲得を要求するバスアクセスに応答して、複数のマスタの優先度情報を比較してマスタを選択するバスアクセス調停装置であって、複数のマスタ毎の優先度情報とマスタからのバスアクセス要求情報を生成する調停優先度生成手段と、前記バスアクセス要求情報に基づき優先度情報を比較してマスタを選択する調停優先度比較手段、を備え、前記バスアクセス要求情報を優先度情報の一部に組み入れることにより、マスタからのバスアクセス要求処理と優先度比較処理を一括して行うことを特徴とする。
【００１８】
このバスアクセス調停装置によれば、バスアクセス要求情報を優先度情報の一部に組み入れることにより、マスタからのバスアクセス要求処理と優先度比較処理を一括して行うので、バスアクセス調停行うための構成を簡単化することができる。
【００１９】
本発明の第１の態様に係るバスアクセス調停装置の前記調停優先度生成部は、バスアクセス要求の有無を優先度情報の１ビットに組み入れ、前記調停度優先度比較手段は、バスアクセス要求情報が組み入れられた優先度情報を一括して数値比較することにより、マスタを選択するように構成できる。
【００２０】
また、複数のマスタの優先度情報において、重み付け優先順位を高く設定したマスタにはデフォルトで予めバス占有権を与えておくように構成できる。この構成によれば、デフォルトのマスタがバスアクセス要求を行う時に、バスアクセス要求が出力されてからバス占有権が付与されるまでの処理時間を短縮できるので、パフォーマンスを向上させることができる。
【００２１】
本発明の第２の態様に係るバスアクセス調停方法は、上記と同様の目的で、複数のマスタからのバス占有権の獲得を要求するバスアクセスに応答して、複数のマスタの優先度情報を比較してマスタを選択するバスアクセス調停方法であって、複数のマスタ毎の優先度情報とマスタからのバスアクセス要求情報を生成するステップと、該生成されたバスアクセス要求情報に基づき優先度情報を比較してマスタを選択するステップを備え、前記バスアクセス要求情報を優先度情報の一部に組み入れることにより、マスタからのバスアクセス要求処理と優先度比較処理を一括して行うことを特徴とする。
【００２２】
本発明の第２の態様に係るバスアクセス調停方法の前記生成するステップは、バスアクセス要求の有無を優先度情報の１ビットに組み入れ、前記選択するステップは、バスアクセス要求情報が組み入れられた優先度情報を一括して数値比較することにより、マスタを選択するように構成できる。また、前記複数のマスタの優先度情報において、重み付け優先順位を高く設定したマスタにはデフォルトで予めバス占有権を与えておくように構成できる。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態に係るバスアクセス調停装置及びバスアクセス調停方法を、図面を参照しながら詳細に説明する。なお、以下では、従来の技術の欄で説明したバスアクセス調停装置と同一又は相当する部分にはそれらと同一の符号を付して説明する。
【００２４】
このバスアクセス調停装置が適用される処理装置の構成は、従来の技術の欄で図８を参照して説明した構成と同じである。
【００２５】
図１は、本発明の実施の形態に係るバスアクセス調停装置であるバスアービタ４０の詳細な構成を示すブロック図である。このバスアービタ４０は、調停優先度管理部（ＰＲＩＣＯＮＴ）５０、複数の調停優先度生成部（ＰＲＩＧＥＮ１〜ＰＲＩＧＥＮｎ）６０１〜６０ｎ、調停優先度比較部（ＣＭＰＲ）６２、調停結果通知部（ＧＮＴＧＥＮ）５３及びバス監視部（ＢＵＳＣＨＫ）５４から構成されている。
【００２６】
マスタ２０１〜２０ｎからバスアクセス要求信号ＲＥＱ１〜ＲＥＱｎがバスアービタ４０に送られると、バスアクセス調停処理が開始される。このバスアクセス調停処理では、バスアクセス要求信号ＲＥＱｉ（ｉ＝１、２、・・・、ｎ、以下同じ）を受け取った調停優先度生成部６０ｉは、調停優先度管理部５０からベースとなる優先度として送られてくる基礎優先度データＰＲＩＢＡＳＥｉとマスタ２０ｉからのバスアクセス要求信号ＲＥＱｉとに基づいて調停優先度データＰＲＩＩＮＦＯｉを生成し、調停優先度比較部６２に送る。
【００２７】
調停優先度比較部６２は、複数の調停優先度生成部６０１〜６０ｎから送られてきた複数の調停優先度データＰＲＩＩＮＦＯ１〜ＰＲＩＩＮＦＯｎ同士を数値比較する。そして、この比較結果に基づいて、最大の調停優先度を有するマスタを選択し、その旨を表す調停優先度比較結果信号を調停結果通知部５３に送る。調停優先度比較結果信号は、マスタを特定するデータから構成されている。調停結果通知部５３は、調停優先度比較結果信号によって選択されたマスタ２０ｉに対して許可信号ＧＮＴｉを送る。
【００２８】
上述したバスアクセス調停処理は、バスアクセス単位、つまりバスサイクル毎に行われる。バス監視部５４はバスサイクルの開始や終了を検出し、次のバスサイクルにおいてバス１０の占有を許可するためのタイミングを規定するバス調停要求信号を調停優先度管理部５０及び調停優先度比較部６２に送る。
【００２９】
また、調停結果通知部５３は、調停優先度比較部５２からの調停優先度比較結果信号に基づいて生成された、調停結果を反映させるための調停結果反映制御信号を調停優先度管理部５０に送る。これにより、バス占有が特定のマスタに集中するという状態を回避し、次回のバスアクセス調停時には、直前にバスを占有していたマスタ以外に優先的にバス占有権を与えることが可能になっている。また、逆に、あるマスタに対して優先的にバス占有権を与え続けることが可能になっている。更に、何れのマスタからもバスアクセス要求が無い場合にデフォルトのマスタにバス占有権を与えることが可能になっている。この場合、デフォルトのマスタがバスアクセス要求を行う時は、バスアクセス要求が出力されてからバス占有権が付与されるまでの時間を短縮できるので、パフォーマンスを向上させることができる。
【００３０】
図２は、調停優先度生成部（ＰＲＩＧＥＮｎ）６０ｎ、調停優先度比較部（ＣＭＰＲ）６２及び調停結果通知部（ＧＮＴＧＥＮ）５３を更に詳細に示すブロック図である。なお、調停優先度生成部（ＰＲＩＧＥＮ１〜ＰＲＩＧＥＮｎ−１）６０１〜６０ｎ−１の各々の構成は、図１０では省略されているが、調停優先度生成部（ＰＲＩＧＥＮｎ）６０ｎの構成と同じである。
【００３１】
調停優先度生成部６０ｉは、ＬＳＢ（Least Significant Bit）側に基礎優先度データＰＲＩＢＡＳＥｉ（数値が大きいほど調停時の優先度が高い）、ＭＳＢ（Most Significant Bit）側にバスアクセス要求信号ＲＥＱｉを表すデータ（０：アクセス要求無し、１：アクセス要求有り）を有する調停優先度データＰＲＩＩＮＦＯｉを生成し、調停優先度比較部６２に送る。バスアクセス要求信号ＲＥＱｉを表すデータが調停優先度データＰＲＩＩＮＦＯｉのＭＳＢ側に配置されているので、バスアクセス要求信号ＲＥＱｉがオフのときよりもオンのときの方が調停優先度が高くなる。
【００３２】
調停優先度比較部６２は、複数の調停優先度生成部６０１〜６０ｎからの複数の調停優先度データＰＲＩＩＮＦＯ１〜ＰＲＩＩＮＦＯｎを単純に数値比較し、最大の調停優先度を送ったマスタを選択する。そして、選択されたマスタを表す調停優先度比較結果信号を調停結果通知部５３に送る。
【００３３】
次に、上記のように構成されるバスアクセス調停装置において実行されるバス調停処理を、図３に示したフローチャートを参照しながら説明する。
【００３４】
バス調停処理では、先ず、調停優先度管理部５０において、マスタ毎に予め定められている基礎優先度データＰＲＩＢＡＳＥ１〜ＰＲＩＢＡＳＥｎが初期値に設定される（ステップＳ１０）。この状態で、マスタ２０１〜２０ｎはバスアクセス要求を発生する。これにより、マスタ毎のバスアクセス要求信号ＲＥＱｉが発生される（ステップＳ１１）。なお、図３に示したフローチャートでは、バスアクセス要求信号ＲＥＱｉは、便宜的に、ステップＳ１１で発生されるものとしているが、実際には任意のタイミングでランダムに発生される。
【００３５】
次に、調停優先度生成部６０ｉは、調停優先度管理部５０からの基礎優先度データＰＲＩＢＡＳＥｉとマスタ２０ｉからのバスアクセス要求信号ＲＥＱｉを表すデータとを結合し、調停優先度データＰＲＩＩＮＦＯｉを生成する（ステップＳ１２）。この際、基礎優先度データＰＲＩＢＡＳＥｉがＬＳＢ側に位置し、バスアクセス要求信号ＲＥＱｉを表すデータがＭＳＢ側に位置するように結合される。これにより、マスタ毎の基礎優先度データが生成される。
【００３６】
次いで、調停優先度比較部６２は、複数のマスタの調停優先度データのうち最大値を有する調停優先度データを選択する（ステップＳ１３）。この選択処理は、各調停優先度データにはバスアクセス要求の有無を表すデータが組み入れられているので、単純な数値比較により行うことができる。次いで、選択された調停優先度データに対応するマスタのバスアクセス要求信号ＲＥＱｉを表すデータが「１」であるかどうかが調べられる（ステップＳ１４）。ここで、「１」であることが判断されると、調停優先度比較部６２は、選択された調停優先度データに対応するマスタを表す調停優先度比較結果信号を生成して調停結果通知部５３に送る。
【００３７】
調停結果通知部５３は、受け取った調停優先度比較結果信号で示されるマスタに許可信号ＧＮＴｉを送る（ステップＳ１５）。次いで、調停結果通知部５３は、調停結果反映制御信号を調停優先度管理部５０に送る（ステップＳ１８）。これにより、調停優先度管理部５０は、前回の許可信号ＧＮＴｉを反映して、マスタ毎に基礎優先度を再決定する。
【００３８】
次いで、マスタ２０１〜２０ｎはバスアクセス要求を発生する、これにより、マスタ毎のバスアクセス要求信号ＲＥＱｉが発生される（ステップＳ１９）。なお、図３に示したフローチャートでは、バスアクセス要求信号ＲＥＱｉは、便宜的に、ステップＳ１９で発生されるものとしているが、実際には任意のタイミングでランダムに発生される。
【００３９】
次いで、調停優先度生成部６０ｉは、調停優先度管理部５０からの基礎優先度データＰＲＩＢＡＳＥｉとマスタ２０ｉからのバスアクセス要求信号ＲＥＱｉを表すデータと結合し、調停優先度データＰＲＩＩＮＦＯｉを生成する（ステップＳ２０）。このステップＳ２０の処理は、上述したステップＳ１２の処理と同じである。
【００４０】
次いで、バス監視部５４は、次のバスサイクルを開始するために、バスがアイドル状態であるか否かをチェックする（ステップＳ２１）。そして、新たなバスサイクルを開始できたかどうかが調べられる（ステップＳ２２）。ここで、新たなバスサイクルを開始できたことが判断されると、シーケンスはステップＳ１３に分岐し、上述した動作が繰り返される。
【００４１】
一方、ステップＳ２２で、新たなバスサイクルを開始できなかったことが判断されると、次いで、バスアクセス要求信号ＲＥＱｉの状態が変化したかどうかが調べられる（ステップＳ２３）。ここで、バスアクセス要求信号ＲＥＱｉの状態が変化したことが判断されると、再度調停優先度を生成するべく、シーケンスはステップＳ２０に戻る。一方、バスアクセス要求信号ＲＥＱｉの状態が変化しなかったことが判断されると、シーケンスはステップＳ２１に戻ってバスがアイドル状態であるか否かをチェックし、新たなバスサイクルを開始できたかどうか（ステップＳ２２）、及びバスアクセス要求信号ＲＥＱｉの状態が変化したか（ステップＳ２３）どうかを調べながらループする。
【００４２】
上記ステップＳ１４で、選択された調停優先度データに対応するマスタのバスアクセス要求信号ＲＥＱｉを表すデータが「１」でないことが判断されると、次いで、当該バスアクセス調停装置は、バスアクセス要求信号ＲＥＱｉが「０」であっても許可信号ＧＮＴｉを出力する仕様の装置であるかどうかが調べられる（ステップＳ１６）。ここで、ＹＥＳと判断されると、バスパーキング状態に入る（ステップＳ１７）。ここで、バスパーキング状態とは、バスアクセス要求信号ＲＥＱｉが「０」であっても該当マスタに対して許可信号ＧＮＴｉを出力する状態を言う。その後、シーケンスはステップＳ１４に戻り、上述した動作を繰り返す。
【００４３】
以上説明した本発明の実施の形態に係るバスアクセス調停装置によれば、バスアクセス要求信号ＲＥＱｉを表すデータを調停優先度データＰＲＩＩＮＦＯｉに組み入れてバスアクセス要求処理と数値比較による優先度比較処理を一括して行うので、従来のバスアクセス調停装置のように、調停対象であるかどうかを判定する必要がないその結果、従来のバスアクセス調停装置における調停優先度比較部が備えている調停対象判定部は不要であり、バス調停を行うための構成を単純化できる。
【００４４】
次に、上述した本発明の実施の形態に係るバスアクセス調停装置の動作を更に詳細に説明する。先ず、幾つかの動作パターンのうち共通的な動作を説明する。
【００４５】
或るマスタがバス占有権を獲得してバスアクセスを開始すると、次のバスアクセス調停のために基礎優先度データＰＲＩＢＡＳＥｉが変化し、調停優先度の比較タイミングが訪れる。
【００４６】
調停優先度比較部６２における調停優先度の比較タイミングは、（ａ）何れのマスタからもバスアクセス要求のないバスアイドル（Ｉｄｌｅ）状態で、或るマスタがバスアクセス要求を行う時、即ち調停優先度が変化する時、（ｂ）調停結果がシステムに受け入れられた直後、換言すれば、或るマスタがバス占有権を行使してバスアクセスを開始したことが判明した時、及び（ｃ）その他システム的に別途バスアクセス調停が必要な時、である。
【００４７】
但し、或るマスタがバス占有権を獲得してから実際のバスアクセスが行われるまでの間は調停優先度の比較タイミングは存在しないものとし、システムによっては必要性に応じてタイムアウト等によるバス占有権の強制解除手段が設けられる。
【００４８】
以下においては、バスアクセス要求元として８個のマスタ１〜８が存在し、各マスタは３ビットで表されるものとする。また、基礎優先度も３ビットで表され、同時には同一の基礎優先度は存在しないものとする。調停優先度データは、基礎優先度データのＭＳＢ側にバスアクセス要求の有無を表す１ビットのデータを追加した４ビットで表される。この１ビットのデータをＭＳＢに追加したことにより、調停優先度は、通常は基礎優先度と一致するが、或るマスタによりバスアクセス要求信号ＲＥＱｉが発生すると、調停優先度は基礎優先度に「８」を加算した値になる。即ち、調停優先度データの最上位ビットが「１」になる。
【００４９】
以下、この実施の形態に係るバスアクセス調停装置に幾つかの優先度決定方式が適用された場合の動作を説明する。
【００５０】
（１）基礎優先度巡回方式
先ず、常に或る一律の方法で基礎優先度を巡回変化させるといった「基礎優先度巡回方式」が採用された場合の動作を、図４に示すタイミングチャートを参照しながら説明する。
【００５１】
この基礎優先度巡回方式を採用したバスアクセス調停装置の場合、図４（３）の基礎優先度に示すように、各マスタの基礎優先度は、優先順位の比較タイミングが到来する毎にインクリメント（＋１）され、最大の基礎優先度である「７」の次は最低の基礎優先度「０」に戻る。
【００５２】
最初の比較タイミングＴ１では、図４（３）に示すように、マスタ１〜７には、基礎優先度０〜７がそれぞれ与えられ、且つ、図４（４）に示すように、マスタ７のバスアクセス要求信号ＲＥＱ７が存在するものとする。この場合、マスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７は「１４」になり、最も大きいので、図４（２）に示すように、マスタ７にバス占有権を与える調停結果が得られる。
【００５３】
次に、図４（４）に示すように、最初の比較タイミングから若干遅れたタイミングでマスタ１のバスアクセス要求信号ＲＥＱ１が出されると、調停優先度データＰＲＩＩＮＦＯ１は「８」になる。各基礎優先度は次の比較タイミングでインクリメントされるので、調停優先度データＰＲＩＩＮＦＯ１は、次の比較タイミングＴ２で「９」になる。一方、先にバス占有権を獲得したマスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７は比較タイミングＴ２で「６」に戻された後にインクリメントされて「７」になる。従って、次の比較タイミングＴ２ではマスタ１に対応する調停優先度データＰＲＩＩＮＦＯ１が最も大きいので、図４（２）に示すように、マスタ１にバス占有権を与える調停結果が得られる。以下、同様にして順次調停動作が進行する。
【００５４】
この基礎優先度巡回方式によれば、基礎優先度が「７」になるまでは徐々に優先度が大きくなるため、優先度が大きくなっている途中で連続してバス占有権を獲得した場合は、更に連続してバス占有権を獲得する可能性が高い。これに対し、基礎優先度が「０」に戻ったあとは、逆に、しばらくの間は、連続してバス占有権を獲得する可能性が低くなる。この基礎優先度巡回方式の場合、アクセス要求の頻度に関係なく、長期間のバス占有権の獲得について総合的に見ると、何れのバスアクセス要求元も確率的に同じ優先度を持つことができる。
【００５５】
この基礎優先度巡回方式を採用するバスアクセス調停装置は、巡回して現れる基礎優先度が高いものと低いものを交互に出現させるように変形できる。例えば、「０→４→１→５→２→６→３→７→０→４→１・・・」とか、「０→４→２→６→１→５→３→７→０→４→２・・・」といった具合である。
【００５６】
なお、この基礎優先度巡回方式では、何れのマスタからもバス占有権の獲得要求がないアイドル状態において、デフォルトとして或るマスタに対してバス占有権を予め渡しておくように構成できる。何れのマスタからもバス占有権の獲得要求がないかどうかは、調停結果通知部５３に通知された調停優先度比較結果信号のＭＳＢを参照するのみで判定できる。
【００５７】
ここで、この実施の形態に係るバスアクセス調停装置と従来のバスアクセス調停装置とを比較して見ると、従来のバスアクセス調停装置では、バスアクセス要求時にバスアクセス要求信号ＲＥＱｉが調停優先度に含まれていないため、バスアクセス要求とは別にバスアクセス要求の有無を表すイネーブル信号ＲＥＱＯＮｉを設け、バスアクセス要求の有無をバス占有権獲得の判定時、即ち調停優先度の比較時にイネーブル信号を参照することにより、調停の対象とすべきか否かを判断するための調停対象判定部７０を調停優先度比較部６２に設ける必要があった。
【００５８】
これに対し、この実施の形態に係るバスアクセス調停装置によれば、バスアクセス要求時にバスアクセス要求信号ＲＥＱｉを調停優先度の一部としているので、従来の調停対象判定部７０のような特別の機能を設けることなく、単純な調停優先度の数値比較を行うのみでバスアクセス調停を実施できる。その結果、コストダウン効果、実装規模の縮小化といった効果が得られる。
【００５９】
（２）最古バス獲得者優先方式
このバスアクセス調停装置は、直前にバス占有権を獲得したマスタに対して、次の優先順位比較タイミングで最低の基礎優先度を与える「最古バス獲得者優先方式」を採用する。この最古バス獲得者優先方式では、バス占有権を獲得したマスタの基礎優先度をｐとすると、ｐ＞０であれば、ｐ未満の基礎優先度は順次１ずつ繰り上げられる。
【００６０】
以下、最古バス獲得者優先方式を採用したバスアクセス調停装置の動作を、図５に示したタイミングチャートを参照しながら説明する。
【００６１】
最初の比較タイミングＴ１では、図５（３）に示すように、マスタ１〜７には、基礎優先度０〜７がそれぞれ与えられ、且つ、図５（４）に示すように、マスタ７のバスアクセス要求信号ＲＥＱ７が存在するものとする。この場合、マスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７は「１４」になり、最も大きいので、図５（２）に示すように、マスタ７にバス占有権を与える調停結果が得られる。
【００６２】
次に、図５（４）に示すように、最初の比較タイミングから若干遅れたタイミングでマスタ１のバスアクセス要求信号ＲＥＱ１が出されると、調停優先度データＰＲＩＩＮＦＯ１は「８」になる。この調停優先度データＰＲＩＩＮＦＯ１は、次の比較タイミングＴ２でインクリメントされて「９」になる。一方、先にバス占有権を獲得したマスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７は、比較タイミングＴ２で最低の基礎優先度である「０」になる。即ち、最も最近バス占有権を獲得したマスタの基礎優先度が最低になる。比較タイミングＴ２ではマスタ１の調停優先度データＰＲＩＩＮＦＯ１が最も大きいので、図５（２）に示すように、マスタ１にバス占有権を与える調停結果が得られる。以下、同様にして順次調停動作が進行する。
【００６３】
この最古バス獲得者優先方式を採用したバスアクセス調停装置によれば、バス占有権獲得を受けた直後の基礎優先度が最低値「０」になり、競合時に、特定のマスタのみが有利になることを避けることができる。
【００６４】
これに対して、例えばＰＣＩローカルバスにおけるターゲットリトライが生じる場合等、マスタによる連続したバス占有権が必要と見込まれるシステムも存在する。このようなシステムの場合、バス占有権を獲得したマスタに連続して、或いは半固定的に基礎優先度の最高値「７」を割り当て、必要に応じて後に最低値「０」に戻す等のシステム要求条件が存在する。この実施の形態に係るバスアクセス調停装置は、このようなシステムを構築する場合も適用しうる。
【００６５】
（３）基礎優先度固定方式
このバスアクセス調停装置は、全てのマスタに対して、優先順位比較タイミングで常に固定的な基礎優先度を与える「基礎優先度固定方式」を採用する。以下、基礎優先度固定方式を採用したバスアクセス調停装置の動作を、図６に示すタイミングチャートを参照しながら説明する。
【００６６】
最初の比較タイミングＴ１では、図６（３）に示すように、マスタ１〜７には、基礎優先度０〜７がそれぞれ与えられ、且つ、図６（４）に示すように、マスタ７のバスアクセス要求信号ＲＥＱ７が存在するものとする。この場合、マスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７は「１４」になり、最も大きいので、図６（２）に示すように、マスタ７にバス占有権を与える調停結果が得られる。
【００６７】
次に、図６（４）に示すように、最初の比較タイミングから若干遅れたタイミングでマスタ１のバスアクセス要求信号ＲＥＱ１が出されると、調停優先度データＰＲＩＩＮＦＯ１は「８」になる。この調停優先度データＰＲＩＩＮＦＯ１は、次の比較タイミングＴ２でも「８」のまま維持される。一方、先にバス占有権を獲得したマスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７は比較タイミングＴ２で元の「６」戻る。即ち、最も最近バス占有権を獲得したマスタであっても、その基礎優先度は変化しない。比較タイミングＴ２ではマスタ１の調停優先度データＰＲＩＩＮＦＯ１が最も大きいので、図６（２）に示すように、マスタ１にバス占有権を与える調停結果が得られる。以下、同様にして順次調停動作が進行する。
【００６８】
この基礎優先度固定方式を採用したバスアクセス調停装置によれば、バス占有権獲得の頻度や状態に関わらず、常にマスタの調停優先度が決定しているため、構成は他の方式が採用された場合と比較して簡便になる。
【００６９】
（４）基礎優先度半固定方式
このバスアクセス調停装置は、上述した基礎優先度を変動させる場合と固定させる場合を組み合わせて基礎優先度をマスタ毎に決定する「基礎優先度半固定方式」を採用する。
【００７０】
以下、基礎優先度半固定方式を採用したバスアクセス調停装置の動作を図７に示すタイミングチャートを参照しながら説明する。なお、図７では仮にマスタ１〜４について基礎優先度固定方式が採用され、マスタ５〜８について基礎優先度４〜７の範囲で最古バス獲得者優先方式が採用されているものとする。
【００７１】
最初の比較タイミングＴ１では、図７（３）に示すように、マスタ１〜７には、基礎優先度０〜７がそれぞれ与えられ、且つ、図７（４）に示すように、マスタ７のバスアクセス要求信号ＲＥＱ７が存在するものとする。この場合、マスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７は「１４」になり、最も大きいので、図７（２）に示すように、マスタ７にバス占有権を与える調停結果が得られる。
【００７２】
次に、図７（４）に示すように、最初の比較タイミングから若干遅れたタイミングでマスタ１のバスアクセス要求信号ＲＥＱ１が出されると、調停優先度データＰＲＩＩＮＦＯ１は「８」になる。この調停優先度データＰＲＩＩＮＦＯ１は、次の比較タイミングでも維持される。一方、先にバス占有権を獲得したマスタ７に対応する調停優先度データＰＲＩＩＮＦＯ７はマスタ５〜８の中で最低の基礎優先度である「４」になる。即ち、マスタ５〜８の中で最も最近バス占有権を獲得したマスタの基礎優先度が最低になる。次の比較タイミングＴ２ではマスタ１に対応する調停優先度データＰＲＩＩＮＦＯ１が最も大きいので、図７（２）に示すように、マスタ１にバス占有権を与える調停結果が得られる。次の比較タイミングＴ３では先にバス占有権を獲得したマスタ１の調停優先度データＰＲＩＩＮＦＯ１は固定値である「０」に戻る。以下、同様にして順次調停動作が進行する。
【００７３】
この基礎優先度半固定方式を採用するバスアクセス調停装置の場合、マスタ毎に基礎優先度を固定するか、或いは変動させるかのパラメータが調停優先度管理部５０で管理され、このパラメータに従って優先順位の比較タイミング毎に基礎優先度が更新される。また、この場合、例えばマスタ３のみ基礎優先度を固定する場合や、マスタ５〜６のみ基礎優先度を変動させる場合等、柔軟に基礎優先度を設定可能であり、システム要求条件に応じて基礎優先度を決定させる構成を採用できる。
【００７４】
更に柔軟なシステムへの適用として、本発明は同一の値の基礎優先度が存在することをも許容するように構成できる。上述した各例と異なり、この場合は数値比較により一意に優先順位が決定せず、同レベルの優先順位の要求者が複数選択されうる。このような場合は、同レベルの優先順位の要求者の中から選択するための手段を別途設けるように構成できる。
【００７５】
また、別の例として、優先順位の比較タイミングは必ずしも上述した例に従う必要は無く、システム要求条件に応じて１クロック毎に比較を実施するように構成することもできる。
【００７６】
上述した実施の形態では、基礎優先度及び調停優先度は、「０」が最小で「７」が最大の優先度としたが、これを逆にして、「０」が最大で「７」が最小の優先度とするように変形できる。この場合、バスアクセス要求信号は、「０」で要求有りを表し、「１」で要求無しを表すものと定義する。
【００７７】
上述した実施の形態に係るバスアクセス調停装置の場合、優先度の数が増えれば優先度を判定するための回路を追加する必要がある。これに対し、この変形例に係る構成によれば、「０」が優先度の最大値であり、しかも、マスタの数を変更することによって優先度の数が増えても「０」に近い数値は必ず使用されるので、増えた分の回路の追加についての設計思想に関する修正を小さくできる。
【００７８】
更に、本発明はバスアクセス調停の目的に適用を限定するものではない。複数の要求を調停するシステム全般に適用しうる。例えば、要求者に対して同時に１要求のみを選択する待ち行列が複数存在するような場合、要求を受け入れる順番を決定するための優先度を本発明の基礎優先度と位置付け、本発明を適用したシステムとして構築することが可能である。
【００７９】
【発明の効果】
以上詳述したように、本発明によれば、バスアクセス調停を簡単な構成で行うことができるバスアクセス調停装置及びバスアクセス調停方法を提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るバスアクセス調停装置のバスアービタの詳細な構成を示すブロック図である。
【図２】本発明の実施の形態に係るバスアクセス調停装置の調停優先度生成部、調停優先度比較部及び調停結果通知部を詳細に示すブロック図である。
【図３】本発明の実施の形態に係るバスアクセス調停装置の動作を示すフローチャートである。
【図４】本発明の実施の形態に係るバスアクセス調停装置で「基礎優先度巡回方式」が採用された場合の動作を示すタイミングチャートである。
【図５】本発明の実施の形態に係るバスアクセス調停装置で「最古バス獲得者優先方式」が採用された場合の動作を示すタイミングチャートである。
【図６】本発明の実施の形態に係るバスアクセス調停装置で「基礎優先度固定方式」が採用された場合の動作を示すタイミングチャートである。
【図７】本発明の実施の形態に係るバスアクセス調停装置で「基礎優先度半固定方式」が採用された場合の動作を示すタイミングチャートである。
【図８】従来の一般的なバスアクセス調停装置の概略構成を示すブロック図である。
【図９】図８におけるバスアービタの詳細な構成を示すブロック図である。
【図１０】図９に示した調停優先度生成部、調停優先度比較部及び調停結果通知部を詳細に示すブロック図である。
【符号の説明】
１０  バス
２０１〜２０ｎ  マスタ
３０１〜３０m  スレーブ
４０  バスアービタ
５０  調停優先度管理部
６０１〜６０ｎ  調停優先度生成部
６２  調停優先度比較部
５３  調停結果通知部
５４  バス監視部
【図１】
0003791005.tif 000002
【図２】
0003791005.tif 000003
【図３】
0003791005.tif 000004
【図４】
0003791005.tif 000005
【図５】
0003791005.tif 000006
【図６】
0003791005.tif 000007
【図７】
0003791005.tif 000008
【図８】
0003791005.tif 000009
【図９】
0003791005.tif 000010
【図１０】
0003791005.tif 000011