(57)【特許請求の範囲】
【請求項１】
プロセッサバスを介して接続された複数のバスマスタと、
これらのバスマスタのプロセッサバス使用権を調停するアービトレーションモジュールとを備え、
このアービトレーションモジュールは、
ラウンドロビン式に各バスマスタの優先順位付けを行うとともに、
システムが低消費電力モードに移行して、その低消費電力モードを終了したとき、
低消費電力モードへの移行直前の優先順位付けを承継するか、常に一定のバスマスタに最初に優先権を与えるかを判定する判定回路を設けたことを特徴とするバス使用権調停回路。
【請求項２】
プロセッサバスを介して接続された複数のバスマスタと、
これらのバスマスタのプロセッサバス使用権を調停するアービトレーションモジュールとを備え、
このアービトレーションモジュールは、
システムが低消費電力モードに移行すると、上位の制御部から供給されるバスマスタの選択信号に基づいて選択すべきバスマスタを示すセレクト信号を出力する判定回路と、
前記各バスマスタに対しラウンドロビン式に優先順位を付与すると共に前記セレクト信号が入力されると、低消費電力モードの終了で対応するバスマスタに優先権を付与する制御回路とを含むことを特徴とするバス使用権調停回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサバスを介して接続された複数のバスマスタと、これらのバスマスタのプロセッサバス使用権を調停するアービトレーションモジュールとを備え、特にラウンドロビン式の調停法を採用した場合の優先順位決定の最適化を図ったバス使用権調停回路に関する。
【０００２】
【従来の技術】
複数のバスマスタがプロセッサバスに接続されてこれを使用する場合、バス使用権の調停はアービトレーションモジュールが行う。プロセッサバスの使用要求を複数のバスマスタが同時に出力し、これらが競合した場合、予め設定された優先順に使用許可が行われる。この優先順位は固定的なものと浮動的なものとがある。後者の調停法としてラウンドロビン式調停法が知られている。この方法では、複数のバスマスタに対しその調停が公平になるように周期的に優先順位を変更する。従って、ある時点で優先順位が１位になったバスマスタは次の時点で優先順位が最下位となり、順に優先順位が繰り上がって、その後再び優先順位が１位に戻る。
【０００３】
一方、マイクロコンピュータを使用するシステムでは、電源が入っていてもプロセッサを使用しないような場合には、システムの消費電力低減のため動作クロックを停止することが行われる。この低消費電力モードの開始にあたっては、予めシステム各部に低消費電力モード信号が出力され、各部でこれに対応する処理がなされる。バス使用権調停回路においても、このようなモードに移行するような場合には予め回路の初期化を行う。従って、再び動作クロックの出力が開始されて正常モードに移る場合には、初期状態から改めてバス使用権の調停を開始する。即ち、初期状態では常にある一定のバスマスタを最優先とし、その状態から順に優先順位を変更する処理に進む。
【０００４】
【発明が解決しようとする課題】
ところで、上記のような従来のバス使用権調停回路には次のような解決すべき課題があった。
上記のように従来のラウンドロビン式調停法では、システムが低消費電力モードに移行し、その低消費電力モードを終了して再び動作を開始した場合に、常に初期状態となって一定のバスマスタに最初に優先権が与えられてしまう。しかしながら、例えばこの低消費電力モードへ移行する直前に実行していた処理を最優先に開始したい場合がある。そのとき、そのバスマスタが最初に優先権を与えられるという保証はない。
【０００５】
また、ラウンドロビン式調停法では、予め定められた一定の順番に優先順位が周期的に変更される。この変更順位や変更される周期等も予め設定された固定的なもので、例えば何らかの緊急性のある処理を特定のバスマスタに実行させようとする場合に、必ずしもそのバスマスタがその時点で優先順位を最優先に設定されているとは限らない。
このようなランドロビン式調停法において、優先順位の設定を要求に応じて柔軟に切り換えることのできる自由度が要求されている。
【０００６】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成１〉
プロセッサバスを介して接続された複数のバスマスタと、これらのバスマスタのプロセッサバス使用権を調停するアービトレーションモジュールとを備え、このアービトレーションモジュールは、ラウンドロビン式に各バスマスタの優先順位付けを行うとともに、システムが低消費電力モードに移行して、その低消費電力モードを終了したとき、低消費電力モードへの移行直前の優先順位付けを承継するか、常に一定のバスマスタに最初に優先権を与えるかを判定する判定回路を設けたことを特徴とするバス使用権調停回路。
【０００７】
〈説明〉
プロセッサバスを使用してデータ等のアクセスを行う場合には、各バスマスタは、アービトレーションモジュールに対して予めバス使用要求を行う。バス使用要求が競合したときは、アービトレーションモジュールは、予め設定した優先順位に従って、該当するバスマスタにプロセッサバスの使用許可を与える。ラウンドロビン式の調停方法では、周期的に優先順位を変更する。低消費電力モードは、プロセッサを使用していないとき、低消費電力状態にするために選択されるモードである。
この低消費電力モードに移行するとき、アービトレーションモジュールは初期状態にリセットされるから、低消費電力モードを終了すると、常に一定のバスマスタに最初に優先権を与えるように動作する。
【０００８】
判定回路は、指定に従って、低消費電力モードへの移行直前の優先順位付けを承継するように、例えばそのリセットを阻止する。
これにより、低消費電力モードへの移行後、引き続き直前の処理を継続したいシステムや、常に改めて最初から処理を行いたいシステムのいずれにも対応でき、優先順位付けの最適化が図れる。
【０００９】
〈構成２〉
プロセッサバスを介して接続された複数のバスマスタと、これらのバスマスタのプロセッサバス使用権を調停するアービトレーションモジュールとを備え、このアービトレーションモジュールは、システムが低消費電力モードに移行すると、上位の制御部から供給されるバスマスタの選択信号に基づいて選択すべきバスマスタを示すセレクト信号を出力する判定回路と、前記各バスマスタに対しラウンドロビン式に優先順位を付与すると共に前記セレクト信号が入力されると、低消費電力モードの終了で対応するバスマスタに優先権を付与する制御回路とを含むことを特徴とするバス使用権調停回路。
【００１０】
〈説明〉
アービトレーションモジュールは低消費電力モードを終了し、任意のバスマスタが指定されているとき、そのバスマスタに最初に優先権を与える。
このように自由な指定ができれば、優先順位付けのいっそうの最適化が図れる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例１〉
図１は、具体例１のバス使用権調停回路を示すブロック図である。
この回路は、アービトレーションモジュール１がプロセッサバス１１に接続された複数のバスマスタ２，３，４のバス使用権を調停するよう構成されたものである。各バスマスタ２，３，４からは、プロセッサバス要求信号（ＮＡＲＥＱ）５，７，９がアービトレーションモジュール１に対して出力され、アービトレーションモジュール１はいずれかのバスマスタに対しプロセッサバス使用許可信号（ＮＡＡＣＫ）６または８または１０を出力する。
【００１６】
動作クロック（ＣＬＫ）１２はこれら全てのモジュールに対し供給されている。また、アービトレーションモジュール１には低消費電力モード信号（ＰＳＭ）１３と、ＰＳＭ優先セレクト信号（ＰＳＭＳＥＴ）１５とが入力するように構成されている。このアービトレーションモジュール１は、ラウンドロビン式の調停法によりバスマスタ２，３，４に対するプロセッサバス１１の使用権調停を行っている。
また、動作クロック１２と低消費電力モード信号１３、ＰＳＭ優先セレクト信号１５はいずれも、図示しない上位のマイクロコントローラから送られてくるものとする。
【００１７】
図２には、具体例１のアービトレーションモジュールの内部回路を示す。
図１に示したアービトレーションモジュール１は、この図に示すように判定回路１７及び制御回路１４から構成されている。判定回路１７には２個のフリップフロップ（Ｆ／Ｆ）３１，３２と、オア回路３３とが設けられている。各フリップフロップ３１，３２は、いずれもＤ端子に入力した信号を１クロックだけ保持し、Ｑ端子に出力するよう構成されている。この制御は動作クロック（ＣＬＫ）１２によって行われる。なお、フリップフロップ３２は低消費電力モード信号１３によって信号の出力を制御される。このためにこの信号をイネーブル端子ＥＮに受け入れている。オア回路３３はフリップフロップ３１の出力とフリップフロップ３２の出力を受け入れて、これらをモード決定信号（ＰＳＭＯＵＴ）１６として制御回路１４に向け出力するよう構成されている。
【００１８】
制御回路１４の構成は従来のものとは変わるところはなく、動作クロック１２を受け入れてそのタイミングでプロセッサバス要求信号５，７，９のいずれかに対する使用許可信号６，８，１０を出力する構成となっている。この制御回路１４は、モード決定信号１６が入力すると一旦調停動作を停止し、初期化を行って、動作クロック１２が再入力したときその初期状態から再び調停を開始する。
【００１９】
図３には、制御回路１４の具体的な内部回路を示す。
この回路を簡単な機能ブロックで表すと、例えば優先順位設定カウンタ３５とゲート３６，３７，３８とで構成される。図に示すように、プロセッサバス要求信号５，７，９はそれぞれゲート３６，３７，３８に入力する。優先順位設定カウンタ３５は、いずれかのバスマスタに優先権を与えるようにカウント値を定めてゲート３６，３７，３８に向けて出力する。例えば、バスマスタ２に優先権が与えられる場合、ゲート３６のみが開放され、ゲート３７，３８は閉じたままとなる。その結果、プロセッサバス要求信号５に応答してプロセッサバス信号許可信号６のみがアサートされる。
優先順位設定カウンタ３５は所定のタイミングでカウントアップして優先順位を切り換える。低消費電力モードではモード決定信号１６が優先順位決定カウンタをリセットして初期化する。
【００２０】
図４には、このようなラウンドロビン式の基本的な調停法説明図を示す。
この例では、バスマスタ（ＢＭ）２，３，４に対し太い実線の矢印の順番で代わる優先順位が与えられるものとする。即ち、通常動作の際にはまずバスマスタ２に優先権が与えられ、その後所定のタイミングでバスマスタ３、バスマスタ４というように順に優先権が与えられ周期的に優先順位が切り換えられる。ここで、例えばバスマスタ２がプロセッサバス使用権を持っていて、いったん低消費電力モードに移行したとする。この場合に、上記のように初期化が行われると、予め設定した初期状態ではバスマスタ２に初めに優先権が与えられることから、動作再開後はそのままバスマスタ２が優先権を持つ。一方、バスマスタ３がプロセッサバス使用権を持っていて低消費電力モードに移行した場合には、動作が再開されると優先権は初期状態のバスマスタ２に移る。バスマスタ４がプロセッサバス使用権を持っていて低消費電力モードに移行した場合にも優先権はバスマスタ２に戻って動作が再開される。
【００２１】
一方、具体例１の構成によれば、このように常にバスマスタ２に対し優先権が戻る状態と、直前の状態即ち低消費電力モードに移行する直前に優先権を持っていたバスマスタが、動作再開後その優先権を承継するといった状態の選択が可能となる。
【００２２】
図５には、具体例１の優先順位変化説明図を示す。
図の（ａ）に示すように、通常動作時では優先順位がＢＭ２，ＢＭ３，ＢＭ４，ＢＭ２，ＢＭ３，ＢＭ４というように変化するものとする。ここで、本発明においては例えば（ｂ）に示すように、ＢＭ４がプロセッサバス使用権を持っていて低消費電力モードに移行したときは、優先順位を非承継の場合には低消費電力モードに移行したとき動作を再開すると、再びＢＭ２，ＢＭ３，ＢＭ４という優先順位の設定が行われる。一方、直前の動作を承継する場合にはＢＭ３，ＢＭ４というように使用権が移り、低消費電力モードに移行して動作を再開した場合、ＢＭ４に最初に優先権が与えられる。
【００２３】
（ｃ）はＢＭ２がプロセッサバス使用権を持っていて低消費電力モードに移行したときの順位変化を示し、（ｄ）はＢＭ３がプロセッサバス使用権を持っていて低消費電力モードに移行したときの順位変化を示す。いずれの場合にも、低消費電力モードに移行し動作を再開したときには、動作承継の場合、直前にプロセッサバス使用権を持っていたＢＭ２やＢＭ３が引き続いて優先権を持つ。
以上のような承継と非承継の動作は、ＰＳＭ優先セレクト信号１５（図１）によって選択される。図２に示す判定回路１７の具体的な動作を図６及び図７を用いて説明する。
【００２４】
図６は、優先順位非承継時の動作モードタイムチャートである。
まず、図６（ａ）に示すように動作クロック１２が各モジュールに供給されているものとする。ここで、時刻ｔ１に低消費電力モード信号１３がアサートされたとする。なお、この低消費電力モード信号１３は“１”のとき通常状態、“０”のとき低消費電力モード状態を示すものとする。
【００２５】
ここで、図６に示す状態では、（ｃ）に示すように、ＰＳＭ優先セレクト信号１５はローレベル“０”に維持されたままである。この信号は“０”のときは優先順位非承継を指示し、“１”のときは優先順位を直前の状態から承継する旨を指示する。時刻ｔ１に低消費電力モード信号１３がアサートされ、図２に示すフリップフロップ３１にゼロがセットされると、次のクロックの立ち上がり時にフリップフロップ３１から“０”の信号がオア回路３３に向けて出力される。一方、フリップフロップ３２のイネーブル端子ＥＮには低消費電力モード信号１３が入力するから、既に“０”がセットされたフリップフロップ３２の出力が時刻ｔ２のタイミングでオア回路３３に向け出力される。この内容は“０”である。その結果、モード決定信号１６の内容は“０”となって制御回路１４に送り込まれる。これは当初から低消費電力モード信号１３を制御回路１４に直接入力したのと同様の状態である。即ち、これによって制御回路１４はモード決定信号１６の入力したタイミングで初期化を行い、先に説明した通り、一定の、例えばバスマスタ２を常に最優先にして動作を再開する。
【００２６】
図７は、優先順位承継時の動作タイムチャートである。
図７の（ｂ）に示すように、時刻ｔ２に低消費電力モード信号１３がアサートされる前に、（ｃ）に示すように時刻ｔ１に予めＰＳＭ優先セレクト信号１５が“０”から“１”にアサートされていると、図２に示したフリップフロップ３２に内容が“１”の信号が取り込まれる。そして、時刻ｔ２に低消費電力モード信号１３が“１”から“０”にアサートされると、フリップフロップ３２の出力が許可され、次のタイミングの時刻ｔ３でフリップフロップ３２の出力する内容が“１”の信号がオア回路３３に入力する。その結果、低消費電力モード信号１３がアサートされても、フリップフロップ３２の出力によってモード決定信号１６の内容が“１”のままにされる。即ち、モード決定信号１６は、図７（ｄ）に示すように低消費電力モード信号１３の内容に関わらず“１”のままとなる。その結果、図２に示す制御回路１４は低消費電力モードへの移行を知らされず、直前の優先順位を維持したまま動作を停止する。そして、動作再開時には直前の優先権を持っていたバスマスタに再び優先権が与えられる。
【００２７】
〈具体例１の効果〉
以上のように、具体例１に示したアービトレーションモジュール１の内部に低消費電力信号モード信号とＰＳＭ優先セレクト信号とを受け入れて、ＰＳＭ優先セレクト信号の内容に応じてモード決定信号を出力する判定回路１７を設けたので、低消費電力モードへ移行した際のバスマスタの優先順位をそのモード移行前の状態を承継するか、予め設定された一定のバスマスタに優先順位を設定するか自由に選択できる。これによって、システム制御の自由度が増し、動作の最適化を行うことができる。
【００２８】
〈具体例２〉
図８には、具体例２のバス使用権調停回路を示す。
この回路は、図１に示した具体例１の回路に対し新たにバスマスタセレクト信号（ＲＥＱＳＥＬ）１８を入力するように構成したものである。このバスマスタセレクト信号１８は、低消費電力モードを解除した際のバスマスタの優先順位を任意に指定するための信号である。即ち、バスマスタセレクト信号１８が“０”のとき、例えばバスマスタ２の優先順位を１番にし、“１”のときバスマスタ３の優先順位を１番にし、“２”のときバスマスタ４の優先順位を１番にする。なお、ＰＳＭ優先セレクト信号１５の役割は具体例１と同様である。
【００２９】
図９には、これを実現するための具体例２のアービトレーションモジュール内部回路を示す。
図に示すように、この判定回路１７には、具体例１の図２に示した回路に対し新たにフリップフロップ３４を追加している。このフリップフロップ３４にはバスマスタセレクト信号（ＲＥＱＳＥＬ）１８が入力する。また、このフリップフロップ３４のイネーブル端子ＥＮには低消費電力モード信号１３が入力する。このフリップフロップ３４はバスマスタセレクト信号１８を受け入れて低消費電力モード信号１３が“０”のとき、動作クロック１２のタイミングに合わせてＱ端子から格納していた信号を出力する。その出力はセレクト信号（ＲＥＱＯＵＴ）１９となって制御回路１４に入力する。その他の結線は既に説明した具体例１の場合と同様である。
【００３０】
図１０に、具体例２の回路の動作タイムチャートを示す。
図の（ａ）は動作クロック１２、（ｂ）は低消費電力モード信号１３、（ｃ）はＰＳＭ優先セレクト信号１５、（ｄ）はモード決定信号１６、（ｅ）はバスマスタセレクト信号１８、（ｆ）はセレクト信号１９、（ｇ），（ｈ），（ｉ）はそれぞれバスマスタ２，３，４のプロセッサバス要求信号、（ｊ），（ｋ），（ｌ）はバスマスタ２，３，４のプロセッサバス使用許可信号を示す。
【００３１】
図に示すように、動作クロック１２は時刻ｔ８において低消費電力モード信号により動作を停止し、時刻ｔ９から動作を再開する。ＰＳＭ優先セレクト信号１５の内容は“０”のままとする。従って、低消費電力モード信号１３が時刻ｔ４で“１”から“０”に切り換わると、その１クロック後の時刻ｔ５にモード決定信号１６が“１”から“０”に切り換わる。これは具体例１で説明したのと同一の動作である。ここで、（ｅ）に示すように、バスマスタセレクト信号１８の内容が時刻ｔ３に“０”から“１”に切り換わっている。
【００３２】
この信号は図９に示したフリップフロップ３４に格納されるが、低消費電力モード信号１３が時刻ｔ４で“１”から“０”に切り換わるため、フリップフロップ３４の出力が可能になり、（ｆ）のセレクト信号１９は時刻ｔ５に“０”から“１”に切り換わる。ここで、例えば（ｇ）に示すように、時刻ｔ１にバスマスタ２からのプロセッサバス要求信号５が停止し、これを受けて時刻ｔ２に（ｊ）に示すように、プロセッサバス使用許可信号６が“０”から“１”に切り換わった。これでバスマスタ２の処理は終了する。このとき、（ｉ）に示すように、バスマスタ４のプロセッサバス要求信号９が“０”となっており、バス権要求中である。（ｈ）に示すように、バスマスタ３も同様にバス権要求中である。
【００３３】
このタイミングではバスマスタ３がバスマスタ４よりも優先順位が高いことから、（ｋ）に示すように時刻ｔ２にプロセッサバス使用許可信号８が“１”から“０”になり、バスマスタ３に対しバスの使用許可が与えられる。バスマスタ４は時刻ｔ５でプロセッサバスの要求をいったん停止する。また、バスマスタ３は時刻ｔ６でバスの使用を開放し、その１クロック後、（ｋ）に示すように、プロセッサバス使用許可信号も“０”から“１”に復帰する。こうして、低消費電力モードに移行する。
【００３４】
その後、時刻ｔ９に低消費電力モード信号１３が“０”から“１”に立ち上がると、動作クロック１２の動作が開始する。ここで、（ｅ）のようにバスマスタセレクト信号１８の内容が“０”で、（ｆ）のようにセレクト信号１９の内容が“１”であるから、バスマスタ３の要求を最優先にする指定がなされる。図のように、この時刻ｔ９にバスマスタ２，３，４が一斉にバス権要求を行った場合であっても、バスマスタ３の要求を優先的に受け付けてプロセッサバス使用許可信号８が“１”から“０”に切り換わる。
【００３５】
即ち、図９に示す回路によれば、判定回路１７のフリップフロップ３４を除く部分で、具体例１に説明したものと同様に、低消費電力モード移行前の状態を承継する動作と承継しない動作の選択ができる。更に、移行前の状態を承継しないとしても、初期設定で定められたバスマスタ２に対し常に優先権を与えるようにするだけでなく、バスマスタセレクト信号１８を切り換えることによって、バスマスタ３に常に優先権を与えるよう設定することができる。また、バスマスタセレクト信号１８を２ビット構成にし、０，１，２という切換えができる構成にすれば、低消費電力モードを終了した場合に、バスマスタ２に優先権を与える状態、バスマスタ３に優先権を与える状態、バスマスタ４に優先権を与える状態のいずれかを自由に選択することができる。
【００３６】
図１１には、このようなバスマスタセレクト信号を２ビット構成にした場合の具体例２の調停法説明図を示す。
この図に示した例は、いずれも低消費電力モードに移行する前の状態を承継しない動作であるから、ＰＳＭ優先セレクト信号（ＰＳＭＳＥＴ）１５の内容は全て“０”となっている。そして、この例ではバスマスタセレクト信号（ＲＥＱＳＥＬ）１８が“０”のときは１つ前のバスマスタに（ＢＭ３→ＢＭ２）、“１”のときは自分に（ＢＭ３→ＢＭ３）、“２”のときは次のバスマスタに（ＢＭ３→ＢＭ４）優先権が移行するように設定している。
【００３７】
図１２には、このような具体例２の優先順位変化説明図を示した。
（ａ）では、通常動作時でラウンドロビン式によりバスマスタ２，３，４の順に優先権が設定される。一方、（ｂ）に示すように、バスマスタセレクト信号の内容を“０”に設定した場合に、バスマスタ３に優先権を与えた状態で低消費電力モードに移行したときには、再び動作を開始するとバスマスタ２に優先権が最初に与えられる。一方、（ｃ）に示すように、バスマスタセレクト信号１８の内容が“１”の場合には、同じくバスマスタ３が優先権を得ている状態で低消費電力モードに移ると、動作を再開したとき同一のバスマスタ３に優先権が最初に与えられる。更に、（ｄ）に示すように、バスマスタセレクト信号１８の内容が“２”の場合には同様の状態で動作が再開されると、次のバスマスタ４に最初に優先権が与えられる。このような制御は、図３に示した優先順位設定カウンタ３５の値を動作再開時に指定した値だけカウントアップさせることにより実現する。
【００３８】
〈具体例２の効果〉
以上のようにして、ＰＳＭ優先セレクト信号にバスマスタセレクト信号を加えることによって低消費電力モードに移行した後動作が再開されるとき、任意のバスマスタに最初に優先権を与えることが可能になる。そして、上位のプロセッサからの制御によってプログラマブルに任意に指定の切換えができるため、システムの動作の自由度を拡大する。
【００３９】
〈具体例３〉
図１３には、具体例３のバス使用権調停回路を示す。
この例は図８を用いて説明した具体例２の回路に対し更に割り込み信号（ＮＭＩＮＴ）が入力する構成となっている。その他の部分は、具体例１や具体例２の構成と変わるところはない。
【００４０】
図１４には、具体例３のアービトレーションモジュールの内部回路ブロック図を示す。
この図に示すように、具体例３では判定回路１７の構成は具体例２のものと全く同一である。そして、制御回路１４に対し割り込み信号（ＮＭＩＮＴ）２０が入力する構成となっている。
この具体例は、既に説明した具体例１や具体例２と同様に低消費電力モード信号１３による低消費電力モードへの切換えが可能な構成となっている。しかしながら、この具体例の目的は、ラウンドロビン式の調停方法を実行している場合に、任意のタイミングで割り込み信号２０を制御回路１４に入力し、予め設定された所定のバスマスタに無条件に優先権を与えることを目的としている。従って、必ずしも低消費電力モードへの移行がなくてもこの具体例を実施することができる。なお、この具体例では、具体例２を用いて説明したバスマスタセレクト信号１８によるセレクト信号１９の内容によって、割り込み信号２０が入力したときにどのバスマスタに優先権を与えるかを決定できるようにしている点に特徴がある。
【００４１】
図１５には、具体例３の回路の動作タイムチャートを示す。
（ａ）〜（ｈ）は回路各部の信号で、（ａ）は動作クロック１２、（ｂ）は割り込み信号２０、（ｃ），（ｄ），（ｅ）はプロセッサバス要求信号５，７，９、（ｆ），（ｇ），（ｈ）はプロセッサバス使用許可信号６，８，１０を示している。ここで、例えば時刻ｔ１に全てのバスマスタ２，３，４からプロセッサバス要求信号５，７，９が同時に出力されたとする。即ち、時刻ｔ１にこれらの信号が同時に“１”から“０”に切り換わる。この時点では、バスマスタ２に優先権があるため、（ｆ）に示すように１クロック後の時刻ｔ２にプロセッサバス使用許可信号が“１”から“０”に切り換わる。
【００４２】
次に（ｃ）に示すように、時刻ｔ３にバスマスタ２がバス権を開放すると、（ｆ）のように時刻ｔ４にプロセッサバス使用許可信号６が“０”から“１”に切り換わる。これと同時に（ｇ）に示すように、プロセッサバス使用許可信号８が“１”から“０”に切り換わってバスマスタ３に対しバス権を与える。その後、時刻ｔ５に割り込み信号が１クロックだけアサートされた。このとき、（ｃ），（ｄ），（ｅ）に示すように、全てのバスマスタ２，３，４が、プロセッサバス要求信号５，７，９を出力しているものとする。ところが、割り込み信号２０の入力により予め指定されたバスマスタ２に優先権が移るから、時刻ｔ７に図の（ｆ）に示すようにプロセッサバス使用許可信号６が“１”から“０”に切り換わる。こうして、バスマスタ２に対して強制的にバスの使用許可が与えられる。その後時刻ｔ８にバスマスタ２がバス権を開放すると、再びこれまでの設定順に時刻ｔ９に示すようにバスマスタ４に対しバス権が与えられる。
なお、こうした制御は、図３に示した制御回路の優先順位設定カウンタ３５を割り込み信号によってリセットすることにより実現する。
【００４３】
図１６には、具体例３の調停法説明図を示す。
上記のように、この例では割り込みが発生した場合には常にバスマスタ２に対し優先権が移るように制御される。即ち、図に示すように、いずれのバスマスタ２，３，４が使用権を持っていた状態で割り込みが発生しても常にバスマスタ２に対し使用権が移る。
【００４４】
図１７には、具体例３の優先順位変化説明図を示す。
図の（ａ），（ｂ），（ｃ），（ｄ）は、これまで具体例１や具体例２で説明したのと同様の形式のものである。この例では、割り込みが発生すると、常にバスマスタ２に対し優先権が移ることを示している。これは、低消費電力モードの有無に関わりなく一定となっている。ここで、例えば図１４に示したバスマスタセレクト信号１８やセレクト信号１９の内容によって、具体例２と同様にしてバスマスタ２以外のバスマスタ３やバスマスタ４に対し割り込み発生後最優先に優先権を与えるといった制御も可能である。
【００４５】
〈具体例３の効果〉
以上説明したように、具体例３によれば、アービトレーションモジュールの制御回路１４に割り込み信号を入力し、この割り込み信号が入力したときは直ちに一定のバスマスタに対し優先権を与えることができるので、例えばシステムにおいて重要な割り込みが発生し、その割り込みについての処理をいち早く行いたいような場合に、適切に対処し効率のよい処理を行うことができる。
【００４６】
〈具体例４〉
図１８には、具体例４のバス使用権調停回路ブロック図を示した。
この回路は、図１３に示した具体例３の回路に対し割り込み判定信号（ＩＮＴＳＥＴ）２１を入力している。その他の回路構成については具体例３の回路と全く同一である。
【００４７】
図１９には、具体例４のアービトレーションモジュール内部回路を示す。
この図において、具体例３と異なる部分はマスク回路２２を設けた点である。このマスク回路２２に割り込み信号（ＮＭＩＮＴ）２０と割り込み判定信号２１とが入力するように構成されている。
この場合、割り込み判定信号２１が“０”の場合には制御回路１４に対し割り込みを伝えるために割り込みセレクト信号（ＩＮＴＯＵＴ）２３を“０”にする。一方、割り込み判定信号２１が“１”の場合にはマスク回路２２によって割り込み信号２０が遮断され、割り込みセレクト信号２３はハイレベルのままとなり、制御回路１４には割り込みが通知されない。
【００４８】
即ち、割り込みが通知された状態では具体例３と同様の動作をし、割り込みが通知されない状態では具体例２と同様の動作をする。
もちろん、この具体例も必ずしも低消費電力モード信号への移行は必要でない。即ち、割り込み信号を適宜遮断することによって必要に応じて割り込み発生による強制的な優先順位の変更を阻止したり、あるいは割り込みによる優先順位の切換えを許可する。
その他の回路構成及び動作は具体例３に示したものと同様である。
【００４９】
図２０には、具体例４の割り込み処理動作タイムチャートを示す。
図のように、（ａ）に動作クロック１２、（ｂ）に割り込み判定信号２１、（ｃ）に割り込み信号２０、（ｄ）に割り込みセレクト信号２３を表示し、その動作を示している。この図に示すように、時刻ｔ１に割り込み判定信号が“１”から“０”に切り換えられアサートされると、時刻ｔ２に割り込み信号２０が入力し“１”から“０”に切り換わった場合に、割り込みセレクト信号２３も同時に“１”から“０”に切り換わる。これによって、制御回路に対し割り込みの通知が行われる。
【００５０】
図２１には、割り込みマスク動作タイムチャートを示す。
ここには、上記の割り込み信号２０がマスクされた場合の動作を示している。（ａ）〜（ｄ）に示す信号は図２０に示したものと同様である。図において、（ｂ）に示す割り込み判定信号は“１”のレベルのままである。従って、（ｃ）に示すように、時刻ｔ１に割り込み信号２０が“１”から“０”に切り換わったとしても、（ｄ）に示すように、割り込みセレクト信号２３に変化がない。従って、割り込み信号がマスクされる。
【００５１】
〈具体例４の効果〉
以上説明したように、具体例４によれば、割り込み信号を任意のタイミングでマスクすることができるため、割り込み信号による強制的な優先順位の切換えと割り込み信号を用いない通常の動作とを自由に選択することができる。
【図面の簡単な説明】
【図１】具体例１のバス使用権調停回路である。
【図２】具体例１のアービトレーションモジュール内部回路である。
【図３】制御回路のブロック図である。
【図４】ラウンドロビン式調停法説明図である。
【図５】具体例１の優先順位変化説明図である。
【図６】優先順位非承継時の動作タイムチャートである。
【図７】優先順位承継時の動作タイムチャートである。
【図８】具体例２のバス使用権調停回路である。
【図９】具体例２のアービトレーションモジュール内部回路である。
【図１０】具体例２の回路の動作タイムチャートである。
【図１１】具体例２の調停法説明図である。
【図１２】具体例２による優先順位変化説明図である。
【図１３】具体例３のバス使用権調停回路である。
【図１４】具体例３のアービトレーションモジュール内部回路である。
【図１５】具体例３の回路の動作タイムチャートである。
【図１６】具体例３の調停法説明図である。
【図１７】具体例３による優先順位変化説明図である。
【図１８】具体例４のバス使用権調停回路である。
【図１９】具体例４のアービトレーションモジュール内部回路である。
【図２０】具体例４の回路の割り込み処理動作タイムチャートである。
【図２１】具体例４の回路の割り込みマスク動作タイムチャートである。
【符号の説明】
１  アービトレーションモジュール
２，３，４  バスマスタ
５，７，９  プロセッサバス要求信号
６，８，１０  プロセッサバス使用許可信号
１１  プロセッサバス
１２  動作クロック
１３  低消費電力モード信号
１５  ＰＳＭ優先セレクト信号
【図１】
0003557507.tif 000002
【図２】
0003557507.tif 000003
【図３】
0003557507.tif 000004
【図４】
0003557507.tif 000005
【図５】
0003557507.tif 000006
【図６】
0003557507.tif 000007
【図７】
0003557507.tif 000008
【図８】
0003557507.tif 000009
【図９】
0003557507.tif 000010
【図１０】
0003557507.tif 000011
【図１１】
0003557507.tif 000012
【図１２】
0003557507.tif 000013
【図１３】
0003557507.tif 000014
【図１４】
0003557507.tif 000015
【図１５】
0003557507.tif 000016
【図１６】
0003557507.tif 000017
【図１７】
0003557507.tif 000018
【図１８】
0003557507.tif 000019
【図１９】
0003557507.tif 000020
【図２０】
0003557507.tif 000021
【図２１】
0003557507.tif 000022