(57)【要約】  本発明のバス調停装置１は、高優先度アクセスマスタ２から発行された高優先度アクセス要求を低優先度アクセスマスタ３−１，３−２，３−３から発行された低優先度アクセス要求よりも優先的に共有バスを介してメモリ４−１，４−２，４−３にアクセスさせて調停する調停回路１３と、所定期間ごとの高優先度アクセスマスタのアクセス待ち時間を累積する待ち時間累積部１２と、予め設定された閾値と待ち時間累積部に累積された累積待ち時間とを比較し、所定期間内に累積待ち時間が閾値を超えた場合にアクセス抑制信号を発信する比較器１５と、アクセス抑制信号に基づいて低優先度アクセス要求のアクセスを抑制する抑制回路１６−１，１６−２，１６−３と、を有する。
2009147744.tif 000002
【特許請求の範囲】
【請求項１】
高優先度アクセスマスタから発行された高優先度アクセス要求を低優先度アクセスマスタから発行された低優先度アクセス要求よりも優先的に共有バスを介してメモリにアクセスさせて調停する調停回路と、
所定期間ごとの前記高優先度アクセスマスタのアクセス待ち時間を累積する待ち時間累積部と、
予め設定された閾値と前記待ち時間累積部に累積された累積待ち時間とを比較し、前記所定期間内に前記累積待ち時間が前記閾値を超えた場合にアクセス抑制信号を発信する比較器と、
前記アクセス抑制信号に基づいて前記低優先度アクセス要求のアクセスを抑制する抑制回路と、
を有することを特徴とするバス調停装置。
【請求項２】
前記待ち時間累積部によるアクセス待ち時間の累積、又は前記比較器による前記待ち時間累積部に累積された前記アクセス待ち時間と前記閾値との比較のうち少なくともいずれか一方の停止により、前記抑制回路による前記低優先度アクセス要求のアクセスを抑制する機能を無効化する抑制機能切替部をさらに有することを特徴とする請求項１に記載のバス調停装置。
【請求項３】
前記閾値を、前記高優先度アクセスマスタからの指示に基づいて変更可能に保持する閾値保持部をさらに有することを特徴とする請求項１又は請求項２に記載のバス調停装置。
【請求項４】
前記所定期間ごとに前記待ち時間累積部に累積された前記累積待ち時間をクリアする待ち時間クリア部をさらに有し、
前記累積待ち時間がクリアされる際の前記累積待ち時間と前記閾値との差が、前記累積待ち時間がクリアされた後の前記待ち時間累積部の初期値とされることを特徴とする請求項１から請求項３のうちいずれか１項に記載のバス調停装置。
【請求項５】
複数の前記高優先度アクセスマスタからの高優先度アクセス要求を受け付ける高優先度調停回路をさらに有し、
前記比較器は、前記累積待ち時間と前記閾値との比較結果を前記高優先度調停回路に向けて発信し、
前記高優先度調停回路は、前記複数の高優先度アクセスマスタから高優先度アクセス要求があった場合に、前記比較結果に基づいて前記累積待ち時間と前記閾値との差の小さい高優先度アクセス要求を前記調停回路に向けて供給することを特徴とする請求項１から請求項４のうちいずれか１項に記載のバス調停装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス調停装置に関するものであり、特に、優先度の高いアクセス要求の待ち時間に基づいて、優先度の高低に応じたアクセス要求の調停を行うバス調停装置に関するものである。
【背景技術】
【０００２】
マルチプロセッサやマルチコアプロセッサを搭載したシステムでは、複数のプロセッサがバスを共有し、そのバスに接続されているメモリを用いてデータの受け渡しが行われる事が多い。このようなシステムでは各プロセッサがバスを使用する際に調停が行われる。      【０００３】
各プロセッサが共有バス上のメモリにアクセスを行う際は、まず共有バスの使用権を取得してからメモリにアクセスを行う。実際には各プロセッサがバス調停装置に対してアクセス要求を発行し、バス調停装置がアクセス要求を調停して共有バスに対するアクセスを行う。各プロセッサは発行したアクセス要求が処理されるまで次のアクセス要求をバス調停装置に対して発行することが出来ない。つまり、共有バスの調停結果はプロセッサに対して余剰な待ち時間を課す可能性があり、アクセス要求の調停は、各プロセッサの処理内容にあわせて慎重に行う必要がある。【０００４】
これまでにも複数のプロセッサ間でバスを共有する際に用いるバス調停装置について多くの方法が提案されている。バスを共有する複数のプロセッサが持つ優先度に基づいてバスの調停を行う方法や、優先度を持たないプロセッサに対して順番にアクセス権を割り当てる方法がある。【０００５】
さらに、複数のプロセッサ間でバスを共有するシステムでは、優先度の非常に高い処理が存在する場合がある。このようなプロセッサのアクセス要求が早期に処理されるためには、待ち時間（バス調停待ち時間）をなるべく短くする必要がある。そのため、優先度が高い処理を常に優先するように調停を行う方法が採用されるが、この調停方法だけでは優先度の高いプロセッサのバス調停待ち時間を短く抑える事は難しい。【０００６】
そこで、特許文献１に開示のものは、バスへのアクセスを複数回連続して使用する場合に、共有バスの累積使用時間が設定値をオーバーした場合に強制的にバスを開放する。また、特許文献２に開示のものは、優先度の低いプロセッサがバスを使用できる時間を制限する事によって、優先度の高いプロセッサがバスを使用する時間を保証している。【０００７】
【特許文献１】特公昭６４−７６２５６号公報
【特許文献２】特開平８−２７８９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、共有バスの使用が一旦開始されると、その使用が終了するまで共有バスは開放されない場合が多い。そのため、優先度の低い処理を行うプロセッサが共有バスにアクセスすると、このアクセスが終了するまで優先度の高い処理を行うプロセッサは共有バスにアクセスすることができない。優先度の高い処理を行うプロセッサがアクセス要求を発行する度に、優先度の低い処理を行うプロセッサのアクセスと衝突した場合、優先度の高い処理を行うプロセッサのバス調停待ち時間が長くなってしまう。特許文献１，特許文献２に開示のものは、共有バスの使用時間に基づいて調停を行っているものの、優先度の高い処理を行うプロセッサのバス調停待ち時間を管理していないため、優先度の高い処理を行うプロセッサのバス調停待ち時間の上限を直接的に抑えることが難しい。【０００９】
また、優先度の低いプロセッサがバスを使用する時間を制限しているため、優先度の高いプロセッサが全くアクセス要求を発行していない時間帯であっても、優先度の低いプロセッサは決められた時間以上はバスを使用することができず、バスの使用効率を上げることができない。【００１０】
本発明は、上述の課題を解決するためになされたものであり、優先度の高い処理を行っているプロセッサからのアクセス要求を最大限に優先するバス調停装置において、優先度の高い処理を行っているプロセッサが調停によって待たされる時間を一定時間以下に抑えながら、優先度の高い処理を行っているプロセッサからアクセス要求が発行されない場合には優先度の低い処理を行うプロセッサに制限を加えることなく共有バスを使用させることができるバス調停装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために本発明のバス調停装置は、高優先度アクセスマスタから発行された高優先度アクセス要求を低優先度アクセスマスタから発行された低優先度アクセス要求よりも優先的に共有バスを介してメモリにアクセスさせて調停する調停回路と、所定期間ごとの高優先度アクセスマスタのアクセス待ち時間を累積する待ち時間累積部と、予め設定された閾値と待ち時間累積部に累積された累積待ち時間とを比較し、所定期間内に累積待ち時間が閾値を超えた場合にアクセス抑制信号を発信する比較器と、アクセス抑制信号に基づいて低優先度アクセス要求のアクセスを抑制する抑制回路と、を有する。
【発明の効果】
【００１２】
本発明によれば、高優先度アクセスマスタの累積待ち時間が閾値を超えると低優先度アクセス要求のアクセスを抑制するので、高優先度アクセスマスタのバス調停待ち時間を閾値として設定された一定時間以下に抑えることができる。また、高優先度アクセスマスタのアクセス待ち時間に基づいてアクセスの抑制が行われるため、高優先度アクセスマスタがアクセスしていない場合には、低優先度アクセスマスタに制限を加えることなく共有バスを使用させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１に係るバス調停装置の概略構成を示す図である。
【図２】図２は、本発明の実施の形態１に係るバス調停装置の動作例を示すタイミング図である。
【図３】図３は、本発明の実施の形態２に係るバス調停装置の概略構成を示す図である。
【図４】図４は、本発明の実施の形態３に係るバス調停装置の概略構成を示す図である。
【図５】図５は、本発明の実施の形態４に係るバス調停装置の概略構成を示す図である。
【図６】図６は、本発明の実施の形態５に係るバス調停装置の概略構成を示す図である。
【符号の説明】
【００１４】
１  バス調停装置
２，２−１，２−２  高優先度アクセスマスタ
３−１，３−２，３−３  低優先度アクセスマスタ
４−１，４−２，４−３  メモリ
１１  一定時間経過監視タイマ（タイマクリア部）
１２  待ち時間累積タイマ（待ち時間累積部）
１３  調停回路
１４  閾値保持部
１５  比較器
１６−１，１６−２，１６−３  抑制回路
１７  バスコントローラ
１８  抑制機能有効レジスタ（抑制機能切替部）
１９  閾値レジスタ（閾値保持部）
２０，２１  減算器
２２  正値比較器
３０−１，３０−２  低優先度アクセス抑制回路
３１  ＯＲ回路
３２  高優先度調停回路
１００，１０１，１０２，１０３，１０４，１０５，１０６  高優先度アクセス要求
１１０，１１１，１１２−１，１１２−２，１１３，１１４，１１５  低優先度アクセス要求
１２０，１２１，１２２  待ち時間
【発明を実施するための最良の形態】
【００１５】
以下に、本発明にかかるバス調停装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。【００１６】
実施の形態１．
図１に本発明の実施の形態１に係るバス調停装置１の概略構成を示す。バス調停装置１は、一定時間経過監視タイマ（タイマクリア部）１１、待ち時間累積タイマ（待ち時間累積部）１２、調停回路１３、閾値保持部１４、比較器１５、抑制回路１６−１，１６−２，１６−３、バスコントローラ１７から成る。【００１７】
このバス調停装置１には、優先度の高い処理を実行する高優先度アクセスマスタ２と、優先度の低い処理を実行する低優先度アクセスマスタ３−１，３−２，３−３が接続されており、バス調停装置１はこれらのアクセスマスタ２，３−１，３−２，３−３から発行されるアクセス要求の調停を行う。バス調停装置１が調停を行い、共有バスに接続されているメモリ４−１，４−２，４−３に対するアクセスを行う。なお、アクセスマスタとはプロセッサやＤＭＡコントローラのようなバスアクセスを発行できる装置を指す。【００１８】
高優先度アクセスマスタ２から発行される高優先度アクセス要求は、バス調停装置１の中にある調停回路１３に供給される。低優先度アクセスマスタ３−１，３−２，３−３から発行される低優先度アクセス要求は、それぞれ抑制回路１６−１，１６−２，１６−３を通って調停回路１３に供給される。調停回路１３は高優先度アクセスマスタ２、抑制回路１６−１，１６−２，１６−３を通って供給されたアクセス要求を受けて調停を行う。調停回路１３は、高優先度アクセスマスタ２から発行される高優先度アクセス要求を低優先度アクセスマスタ３−１，３−２，３−３から発行される低優先度アクセス要求よりも常に優先させる。調停回路１３によって選ばれたアクセス要求はバスコントローラ１７に発行され、共有バスに接続されているメモリ４−１，４−２，４−３のいずれかに対して実行される。【００１９】
調停回路１３は調停の結果を、待ち時間累積タイマ１２に通知する。待ち時間累積タイマ１２では、高優先度アクセスマスタ２が発行した高優先度アクセス要求と、調停回路１３から通知される調停結果から高優先度アクセスマスタ２が調停待ち状態にあるか否かの判断を行い、調停待ち状態の間は待ち時間累積タイマ１２の値をインクリメントする。待ち時間累積タイマ１２の値は、高優先度アクセスマスタ２のアクセス待ち時間（バス調停待ち時間）となる。なお、待ち時間累積タイマ１２は、高優先度アクセスマスタ２からの高優先度アクセス要求が調停回路１３で調停待ち状態にある事を、高優先度アクセスマスタ２から発行されている高優先度アクセス要求が有効であり、かつ調停回路１３の調停結果が高優先度アクセスマスタ２を選択していない事から判断する。【００２０】
比較器１５は、待ち時間累積タイマ１２の値と閾値保持部１４に予め接待された閾値との比較を行う。比較器１５は、待ち時間累積タイマ１２の値が閾値を超えた時点で抑制回路１６−１，１６−２，１６−３に対してアクセス抑制指示（アクセス抑制信号）を出す。抑制回路１６−１，１６−２，１６−３は、比較器１５が出すアクセス抑制指示を受けて、低優先度アクセスマスタ３−１，３−２，３−３が発行する低優先度アクセス要求を保留して抑制する。低優先度アクセスマスタ３−１，３−２，３−３からの低優先度アクセス要求が抑制された後は、調停回路１３には高優先度アクセスマスタ２からの高優先度アクセス要求しか供給されないため、常に高優先度アクセスマスタ２からの高優先度アクセス要求がバスコントローラ１７に対して発行される。つまり、高優先度アクセスマスタ２は調停待ち状態となることなく、共有バスに接続されているメモリ４−１，４−２，４−３にアクセスを行う事が可能となる。【００２１】
これらのバスアクセス抑制処理は一定時間（所定期間）ごとに実施する。具体的には、予め指定された一定時間ごとにクリア要求を発行する一定時間経過監視タイマ１１から発行されるクリア要求によって、待ち時間累積タイマ１２の値が０にクリアされる。低優先度アクセス要求が抑制された場合であっても、待ち時間累積タイマ１２の値が０になった時点から、再び低優先度アクセス要求が調停回路１３に供給されるようになる。高優先度アクセスマスタ２からの高優先度アクセス要求が発行されていない間は、待ち時間累積タイマ１２の値がインクリメントされないため、低優先度アクセスマスタ３−１，３−２，３−３からの低優先度アクセス要求は抑制されずに調停回路１３に供給される。【００２２】
このように、本実施の形態１では、一定時間経過監視タイマ１１、待ち時間累積タイマ１２、調停回路１３、閾値保持部１４、比較器１５、抑制回路１６−１，１６−２，１６−３を有して、低優先度アクセス要求のアクセスを抑制する抑制機構が構成される。【００２３】
このバス調停装置１を用いる事により、一定時間経過監視タイマ１１が計測する一定時間の間に、高優先度アクセスマスタ２が調停回路１３に待たされる時間の最大値は閾値＋バスアクセス１回分の最大時間となる。バスコントローラ１７がメモリ４−１，４−２，４−３に対して行うバスアクセスの最大時間が固定であれば、高優先度アクセスマスタ２の待ち時間を一定値以下に制限する事が可能である。【００２４】
図２に、バス調停装置１を適用した場合のタイミング図を示す。説明の簡略化のために、低優先度アクセスマスタの数が１つ（低優先度アクセスマスタ３−１のみ）の場合を記載している。また、期間（１）、期間（２）は、一定時間経過監視タイマ１１が計測する一定時間である。【００２５】
高優先度アクセスマスタ２からの高優先度アクセス要求１００は、低優先度アクセスマスタ３−１からの低優先度アクセス要求１１０に対して遅れて発行されているため、低優先度アクセス要求１１０が先にバスコントローラ１７へ発行され、バスアクセスが行われている。そのため高優先度アクセス要求１００は、待ち時間１２０だけ待たされた後にバスアクセスが開始される。同様に高優先度アクセス要求１０１は、低優先度アクセス要求１１１に待ち時間１２１だけ待たされてからバスアクセスが行われている。【００２６】
その結果、低優先度アクセス要求１１１が終了した時点で待ち時間累積タイマ１２の値（累積待ち時間）が閾値を超え、低優先度アクセス要求１１２−１が抑制回路１６−１によって抑制される。したがって、高優先度アクセス要求１０２は低優先度アクセス要求１１２−１に待たされることなく、バスアクセスが行われるため、待ち時間１２２は発生しない。【００２７】
累積待ち時間が閾値を超えたことにより、抑制された低優先度アクセス要求１１２−１は、期間（１）の終了まで抑制される。期間（１）が終了して期間（２）に入った時点で累積待ち時間が０にクリアされ、低優先度アクセス要求１１２−２が調停回路１３に対して供給される。低優先度アクセス要求１１２−１と低優先度アクセス要求１１２−２とは同じアクセス要求であるが、低優先度アクセス要求１１２−１は抑制回路１６−１によって抑制されたため調停回路１３には供給されず、低優先度アクセス要求１１２−２は抑制回路１６−１による抑制が解除されたため調停回路１３に供給された事を示す。期間（２）では、低優先度アクセス要求１１２−２は高優先度アクセス要求１０３等と衝突していないため直ちに実行される。期間（２）では、高優先度アクセス要求１０４，１０５，１０６が低優先度アクセス要求１１２−１，１１３，１１４，１１５と交互に発行され衝突していない。この場合、期間（２）における低優先度アクセス要求の発行回数は期間（１）における発行回数よりも多いが、高優先度アクセス要求１０４，１０５，１０６とは衝突しないため、全てのアクセス要求が抑制されることなく実行される。【００２８】
例えば、一定時間経過監視タイマ１１がクリア要求を発行する一定時間が１００ｍｓ、閾値が９．５ｍｓ、メモリアクセス時間の最大値が０．５ｍｓというシステムでは、１００ｍｓ経過する度に高優先度アクセスマスタ２が調停によって待たされる時間を、最大１０ｍｓ（閾値９．５ｍｓ＋メモリアクセス時間の最大値０．５ｍｓ）に抑制する事が可能である。これは高優先度アクセスマスタ２のバス競合による処理時間延長割合が１０％以下に抑制可能である事を意味している。また、高優先度アクセスマスタ２から発行されるアクセス要求と低優先度アクセスマスタ３−１，３−２，３−３から発行されるアクセス要求の衝突が起こらない場合には、低優先度アクセス要求を制限無く発行することが可能である。【００２９】
本発明はバスアクセスの頻度やバスの負荷を計測するのではなく、優先度の最も高いアクセスマスタが調停で待たされた時間を直接計測する事により、高優先度の処理を優先しつつ、バスが空いている状況では低優先度の処理を抑制することなく実行することで、バスの使用効率を高く保つ事が可能である。【００３０】
なお、低優先度アクセスマスタ３の数と、メモリ４の数はこの例に限定されるものではない。【００３１】
実施の形態２．
図３は、本発明の実施の形態２に係るバス調停装置の概略構成を示す。実施の形態１のものと同じ部分については、実施の形態１のものと同じ符号を用い、それらについての説明は省略する。本実施の形態２では、実施の形態１で示したバス調停装置の中に、低優先度アクセス要求に対する抑制機能の有効／無効を切り替える抑制機能有効レジスタ（抑制機能切替部）１８が追加され、抑制機構の一部として機能している。この抑制機能有効レジスタ１８は比較器１５に接続されており、抑制機能有効レジスタ１８により抑制機能が無効に設定された場合は、閾値や待ち時間累積タイマ１２の値に関係なく抑制回路１６−１，１６−２，１６−３への抑制指示を無効にする。これにより、高優先度アクセスマスタ２が実際に高優先度の処理を行っている間だけ抑制機構を動作させる事が可能となり、不要なアクセス抑制を解除する事が可能である。【００３２】
また、抑制機能有効レジスタ１８は調停回路１３にも接続されている。実施例１の調停回路１３では、高優先度アクセスマスタ２からのアクセス要求を常に優先するように調停が行われているが、本実施の形態２では抑制機能有効レジスタ１８が無効に設定された場合には、全てのアクセスマスタを平等に扱う調停方式に切り替える。これにより高優先度アクセスマスタ２が実際に高優先度の処理を行っている間だけ高優先度アクセス要求を優先する事が可能となる。【００３３】
さらに、抑制機能有効レジスタ１８は待ち時間累積タイマ１２にも接続されており、抑制機能有効レジスタ１８が無効に設定された場合には待ち時間累積タイマ１２の値を０にクリアし、かつ抑制機能有効レジスタ１８により抑制機能が無効化されている間は待ち時間を計測しない。この機構は、抑制機能有効レジスタ１８が次に有効に設定された場合に、待ち時間累積タイマ１２の値を０から開始するための機構である。なお、抑制機能有効レジスタ１８が有効に設定された事を待ち時間累積タイマ１２でも検知し、このタイミングで待ち時間累積タイマ１２の値を０にクリアしても良い。【００３４】
実施の形態３．
図４は、本発明の実施の形態３に係るバス調停装置の概略構成を示す。実施の形態１のものと同じ部分については、実施の形態１のものと同じ符号を用い、それらについての説明は省略する。本実施の形態３では、実施の形態１のバス調停装置１に対して、閾値保持部１４の代わりに高優先度アクセスマスタ２から変更可能に閾値を保持する閾値レジスタ（閾値保持部）１９が用いられている。【００３５】
高優先度アクセスマスタ２で、優先度の異なる処理が実行される場合がある。それぞれの処理に許されるバス調停待ち時間が異なる場合、当該処理を開始する前に閾値レジスタ１９に対して高優先度アクセスマスタ２から閾値が設定される。これにより、同じ高優先度アクセスマスタ２で実行する複数の処理に対して、異なる閾値による低優先度アクセス要求の抑制を実現する事が可能である。【００３６】
高優先度アクセスマスタ２で実行する処理が切り替わる場合、それまでに累積された待ち時間累積タイマ１２の値は意味を持たなくなるため、閾値レジスタ１９への設定要求に基づいて待ち時間累積タイマ１２がクリアされる。【００３７】
高優先度アクセスマスタ２で高い優先度の処理を行わない期間は、閾値レジスタ１９に一定時間経過監視タイマ１１が計測する値より大きな閾値を設定すれば、低優先度アクセス要求に対する抑制処理は行われない。【００３８】
実施の形態４．
図５は、本発明の実施の形態４に係るバス調停装置の概略構成を示す。実施の形態１のものと同じ部分については、実施の形態１のものと同じ符号を用い、それらについての説明は省略する。本実施の形態４では、実施の形態１で示したバス調停装置に対して、減算器２０が追加されている。【００３９】
一定時間経過監視タイマ１１から出力されるクリア要求によって待ち時間累積タイマ１２の値がクリアされる際に、待ち時間累積タイマ１２の値が閾値を超えている場合、待ち時間累積タイマ１２の値から閾値が減算器２０によって減算され、その差が導出される。そして、減算器２０によって減算された値が待ち時間累積タイマ１２の初期値として設定される。待ち時間累積タイマ１２の値がクリアされる際に、時間累積タイマ１２の値が閾値よりも小さい場合は、実施の形態１と同様に待ち時間累積タイマ１２の値は０に設定されてクリアされる。【００４０】
実施の形態１から３では、待ち時間累積タイマ１２の値が閾値保持部１４や閾値レジスタ１９に設定された閾値を超えた時点で低優先度のアクセス要求を抑制する方法を示した。この方法では、高優先度のアクセス要求は、閾値として設定された時間に加えて、低優先度アクセス要求が抑制された時点ですでに処理されているアクセス要求の処理が終了するまでの時間だけ待たされることとなる。【００４１】
したがって、実際にバス調停装置１を使用する場合、高優先度のアクセス要求に許容されるバス調停待ち時間の上限値（最大バス取得待ち時間）からバスアクセス１回分の時間を引いた値を閾値として設定して、高優先度アクセス要求のバス調停待ち時間が最大バス取得待ち時間を超えないようにする必要がある。【００４２】
ここで、アクセス時間の異なるメモリが共有バスに接続されている場合、最も長いアクセス時間を最大バス取得待ち時間から引く必要がある。すると、アクセス時間の短いメモリが頻繁に使用された場合、アクセス時間の長いメモリが使用された場合に比べて早く抑制指示が開始されてしまう。【００４３】
例えば、アクセス時間が５クロック、１０クロック、１５クロックのメモリが接続されている共有バスと、その共有バスに接続されているプロセッサからなるシステムを考える。このシステムにおいて、高優先度を持つプロセッサに許される最大バス取得待ち時間をｎクロックと定めた場合、閾値レジスタ１９には、ｎ−１５を設定する必要がある。アクセス時間が最も長くなるメモリに対して、低優先度のプロセッサがアクセスする事を想定して、１５クロック分の余裕を持って閾値を設定するのである。【００４４】
この場合、低優先度のプロセッサからアクセスするメモリが５クロックしか必要としないメモリにしかアクセスしなかったとしても、高優先度のプロセッサのバス調停待ち時間が閾値レジスタ１９に設定されたｎ−１５を少しでも超えた時点で、低い優先度のアクセス要求は抑制されてしまう。この場合、最大バス取得待ち時間までは、１０クロックの余裕があり、５クロックを必要とする低優先度のアクセス要求をあと２回は処理することが可能であったこととなる。【００４５】
しかし、本実施の形態４では、最大バス取得待ち時間から超過した分のバス調停待ち時間は、次の期間の待ち時間累積タイマ１２の初期値として処理される。したがって、閾値をｎに設定した場合であっても、次の期間においては、超過した待ち時間の分だけ早く低優先度のアクセス要求に対する抑制処理が開始される。すなわち、高優先度のアクセス要求のバス調停待ち時間を、「ｎ」に近い値に平均化することができる。【００４６】
また、ＷＡＩＴ信号やＡＣＫ信号によってアクセス時間が変化するメモリやコントローラが共有バスに接続されている場合、閾値レジスタ１９に対する設定値を正しく計算する事ができない。このような場合には、アクセスに必要な時間の平均値等を閾値として仮に定めればよい。実際の動作において、高優先度のアクセス要求のバス調停待ち時間が閾値を超過した場合には、次の期間にその超過分が待ち時間累積タイマ１２の初期値とされる。したがって、短期的には高優先度のアクセス要求のバス調停待ち時間が最大バス取得待ち時間をオーバーする場合があっても、長期的には、高優先度のアクセス要求の調停待ち時間を一定の割合以下に平均化する事が可能となる。【００４７】
実施の形態５．
図６に、本発明の実施の形態５に係るバス調停装置の概略構成を示す。実施の形態１のものと同じ部分については、実施の形態１のものと同じ符号を用い、それらについての説明は省略する。本実施の形態５では、２つの高優先度アクセスマスタ２−１，２−２と、３つの低優先度アクセスマスタ３−１，３−２，３−３と、合わせて５つのプロセッサがバスを共有してシステムが構成される。【００４８】
高優先度アクセスマスタ２−１，２−２が発行するアクセス要求は調停回路１３に接続されるとともに、低優先度アクセス抑制回路３０−１，３０−２にそれぞれ接続されている。低優先度アクセス抑制回路３０−１，３０−２は、待ち時間累積タイマ１２、閾値保持部１４、比較器１５を有しており、比較器１５は、減算器２１と正値比較器２２とを有している。減算器２１は、閾値保持部１４に設定された閾値から待ち時間累積タイマ１２の値を減算した値を「調停待ち余裕度」（比較結果）として高優先度調停回路３２に出力するとともに、正値比較器２２にも出力する。正値比較器２２は、減算器２１から供給された「調停待ち余裕度」と「０」とを比較し、その結果を正値情報としてＯＲ回路３１に出力する。【００４９】
高優先度調停回路３２は高優先度アクセスマスタ２−１，２−２から発行される高優先度アクセス要求を調停する回路であり、調停待ち時間余裕が小さいアクセス要求を優先した調停処理を行う。低優先度アクセス抑制回路３０−１，３０−２の正値比較器２２から出力された正値情報はＯＲ回路３１でＯＲ演算され、抑制回路１６−１，１６−２，１６−３に供給される。【００５０】
複数の高優先度アクセスマスタ２−１，２−２が存在する場合、高優先度アクセスマスタ２−１，２−２間の調停処理が必要となる。本実施の形態５では、この調停方式を均等に行うのではなく「調停待ち余裕度」の小さい方を優先する方式で行う。バス調停待ち時間は高優先度アクセスマスタ２上で実施する処理に影響を及ぼすため、実施の形態１〜４では閾値保持部１４や閾値レジスタ１９に設定された閾値を待ち時間累積タイマ１２の値が超えないようにする機構で抑制機構を構成した。しかし、本実施の形態５のように高優先度アクセスマスタが複数存在する場合、局所的にはアクセス要求が集中して閾値を超えて高優先度アクセスマスタが待たされてしまう場合がある。【００５１】
本実施の形態５では高優先度調停回路３２が抑制機構の一部として機能し、閾値を超過した値が小さくなるように、高優先度アクセスマスタ２−１，２−２からのアクセス要求のうち「調停待ち余裕度」が小さいものを優先的に選択して調停回路１３へ供給する。これにより複数存在する高優先度アクセスマスタ２−１，２−２の中での処理の偏りを防ぎ、閾値を超えて発生してしまったバス調停待ち時間を高優先度アクセスマスタ２−１，２−２に均等に配分する事が可能となる。実施の形態４で示した構成と組み合わせて使用すれば、一定時間の間に閾値を超えてしまった待ち時間累積タイマ１２の値を、次の一定時間の待ち時間累積タイマ１２の初期値とする事により、長期的に高優先度アクセスマスタ２−１，２−２の調停待ち時間を均等に割り振り、かつ指定された閾値以下に抑制する事が可能である。【００５２】
なお、高優先度調停回路３２と調停回路１３は一つの調停回路として実装する事も可能である。また、高優先度アクセスマスタの数は２つに限られず、３つ以上の場合であっても同様の構成・方法で対応できる。
【産業上の利用可能性】
【００５３】
以上のように、本発明にかかるバス調停装置は、複数のメモリを共有して、複数のアクセスマスタから発行されるアクセス要求を処理するシステムに有用であり、特に、優先度の高低に応じたアクセス要求の調停を行うことに適している。
【図１】
2009147744.tif 000003
【図２】
2009147744.tif 000004
【図３】
2009147744.tif 000005
【図４】
2009147744.tif 000006
【図５】
2009147744.tif 000007
【図６】
2009147744.tif 000008
【国際調査報告】
2009147744.tif 000009
2009147744.tif 000010
2009147744.tif 000011
2009147744.tif 000012