(57)【要約】【課題】バス調停装置における回路規模を削減すること。【解決手段】バス使用装置２０Ａ〜２０Ｄからバス使用リクエストが送信されてきた場合、リクエスト記憶部１２はそのバス使用リクエストを記憶する。リクエスト記憶部１２にバス使用リクエストが記憶されている場合、バス調整部１４は当該バス使用リクエストを要求したバス使用装置に対しバス３０の使用を許可し、当該バス使用リクエストをリクエスト記憶部１２から削除する。その一方、リクエスト記憶部１２に複数のバス使用リクエストが記憶されている場合、複数のカウンタ１３Ａ〜１３Ｄをカウントダウンし、０になったら初期値からのカウントダウンを繰り返し、カウンタ値が０になったカウンタに対応するバス使用装置から順にバス３０の使用を許可し、バス３０の使用を許可したバス使用装置からのバス使用リクエストをリクエスト記憶部１２から削除する。【選択図】図１
2009053985.tif 000002
【特許請求の範囲】
【請求項１】
同一のバスに接続された複数のバス使用装置からバス使用リクエストを受けて前記バスの使用の調停を行うバス調停装置であって、
前記複数のバス使用装置それぞれに対応して設けられ、それぞれの初期値に基づいてカウント動作をサイクリックに繰り返す複数のカウンタと、
前記複数のバス使用装置から前記バス使用リクエストが送信されてきた場合、そのバス使用リクエストを記憶するリクエスト記憶部と、
前記リクエスト記憶部に前記バス使用リクエストが記憶されている場合、当該バス使用リクエストを要求した前記バス使用装置に対し前記バスの使用を許可すると共に、当該バス使用リクエストを前記リクエスト記憶部から削除する一方、前記リクエスト記憶部に複数のバス使用リクエストが記憶されている場合、その複数のバス使用リクエストを要求した前記複数のバス使用装置に対応する前記複数のカウンタを、前記リクエスト記憶部に記憶されているバス使用リクエストに対応した物だけカウント動作させ、所定状態になった前記カウンタに対応する前記バス使用装置から順に前記バスの使用を許可すると共に、前記バスの使用を許可した前記バス使用装置からの前記バス使用リクエストを前記リクエスト記憶部から削除するバス調停部と、
を有するバス調停装置。
【請求項２】
請求項１記載のバス調停装置において、
前記バス調停部は、
複数のカウンタでカウンタ値が同時に所定状態になった場合、初期値の値が大きいカウンタに対応する前記バス使用装置から順に前記バスの使用を許可する、バス調停装置。
【請求項３】
請求項１記載のバス調停装置において、
前記バス調停部は、
複数のカウンタでカウンタ値が同時に所定状態になった場合、初期値の値が小さいカウンタに対応する前記バス使用装置から順に前記バスの使用を許可する、バス調停装置。
【請求項４】
請求項１〜３のいずれか一の請求項に記載のバス調停装置において、
前記複数のカウンタは、
対応する記複数のバス使用装置からバス使用リクエストが送信されてきた場合、それぞれの初期値からカウント動作をサイクリックに繰り返す、バス調停装置。
【請求項５】
同一のバスに接続された複数のバス使用装置からバス使用リクエストを受けて前記バスの使用の調停を行うバス調停方法であって、
前記複数のバス使用装置から前記バス使用リクエストが送信されてきた場合、そのバス使用リクエストを記憶するステップと、
前記バス使用リクエストが記憶されている場合、当該バス使用リクエストを要求した前記バス使用装置に対し前記バスの使用を許可すると共に、当該バス使用リクエストを削除するステップと、
複数のバス使用リクエストが記憶されている場合、その複数のバス使用リクエストを要求した前記複数のバス使用装置に対応し、それぞれの初期値に基づいてカウント動作をサイクリックに繰り返す複数のカウンタを、前記リクエスト記憶部に記憶されているバス使用リクエスト数に対応した物だけカウント動作させ、所定状態になった前記カウンタに対応する前記バス使用装置から順に前記バスの使用を許可すると共に、前記バスの使用を許可した前記バス使用装置からの前記バス使用リクエストを削除するステップと、
を有するバス調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス調停装置およびバス調停方法に関する。
【背景技術】
【０００２】
従来のバス調停装置として、例えば、同一のバスに接続された複数のバス使用装置に対しバス使用許可を与える際、バス使用リクエスト回数や時間を示すカウンタと、そのカウンタ値を比較する比較器等を使用して、優先順位判定等を行ってバスの使用の調停を行うようものがある（例えば、特許文献１，２参照。）。
【特許文献１】特開２００４−１１８５４６号公報
【特許文献２】特開平０４−１６５４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、バスが高速化された現在では、これらの回路規模を削減し、回路遅延や、消費電力を削減することが必要とされている。
【０００４】
しかし、上述の従来のバス調停装置では、バス使用装置からのバス使用リクエスト回数や時間を示すカウンタと、そのカウンタ値を比較する比較器等を必要としていたため、回路規模が削減できず、回路遅延や消費電力を削減できない、という問題がある。
【０００５】
そこで、本発明は、回路規模を削減することができるバス調停装置およびバス調停方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、バス使用装置からバス使用リクエストが送信されてきた場合、そのバス使用リクエストを記憶し、同一のバス使用リクエストが記憶されている場合、当該バス使用リクエストを要求した前記バス使用装置に対し前記バスの使用を許可すると共に、当該バス使用リクエストを削除し、複数のバス使用リクエストが記憶されている場合、その複数のバス使用リクエストを要求した複数のバス使用装置に対応し、それぞれの初期値に基づいてカウント動作をサイクリックに繰り返す複数のカウンタを、そのバス使用リクエスト数に応じた繰り返し回数だけカウント動作させ、所定状態になったカウンタに対応するバス使用装置から順にバスの使用を許可すると共に、バスの使用を許可したバス使用装置からのバス使用リクエストを削除する。
【発明の効果】
【０００７】
本発明によれば、バス使用装置からバス使用リクエストが送信されてきた場合、そのバス使用リクエストを記憶し、複数のバス使用リクエストが記憶されている場合、その複数のバス使用リクエストを要求した複数のバス使用装置に対応する複数のカウンタを、そのバス使用リクエスト数に対応した物だけカウント動作させ、所定状態になったカウンタに対応する前記バス使用装置から順にバスの使用を許可すると共に、バスの使用を許可したバス使用装置からのバス使用リクエストを削除するので、カウンタ値を比較する比較器等が不要となり、回路規模を削減することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
以下、本発明に係るバス調停装置の実施の形態１について説明する。
【０００９】
図１は、バス調停装置の実施の形態１の構成例を示すブロック図である。
【００１０】
図１において、バス調停装置１０は、同一のバス３０に接続された複数（ここでは、説明の便宜上、４つにしているが、４つに限られるものではない。）のバス使用回路２０Ａ〜２０Ｄに対しバス３０の使用を調停するバス調停部１１と、４つのバス使用装置２０Ａ〜２０Ｄからのバス使用リクエストをバス調停部１１を介し記憶するリクエスト記憶部１２と、４つのバス使用装置２０Ａ〜２０Ｄそれぞれに対応して設けられそれぞれの初期値からカウントダウン動作を行うカウンタ１３Ａ〜１３Ｄと、４つのバス使用装置２０Ａ〜２０Ｄそれぞれに初期値を設定する初期値設定部１４とを有している。なお、こでは、バス使用装置２０Ａ〜２０Ｄからのバス使用リクエストは、バス調停部１１を介しリクエスト記憶部１２に記憶するように構成したが、これに限らず、バス制調停部１１を介さずにバス使用装置２０Ａ〜２０Ｄから直接リクエスト記憶部１２にバス使用リクエストが送信され記憶されるような構成にしても勿論よい。
【００１１】
次に本装置の動作を説明する。
【００１２】
まず、バス使用装置２０Ａ〜２０Ｄから本装置に対しバス使用リクエストがあると、バス制調停部１１は、その度にバス使用リクエストを受付け、リクエスト記憶部１２にそのバス使用リクエストを記憶していく。
【００１３】
ここで、バス制調停部１１は、常に、リクエスト記憶部１２にバス使用装置２０Ａ〜２０Ｄからのバス使用リクエストが記憶されているか否かを確認し、記憶されていれば、本実施の形態のバス調停動作を行う。
【００１４】
図２は、バス制調停部１１のバス調停動作を示すフローチャートである。
【００１５】
バス制調停部１１は、調停動作を開始すると、まず、リクエスト記憶部１２に確認しにいき（Ｓ１０１）、バス使用リクエストが記憶されているか否かを判断する（Ｓ０２）。ここで、リクエスト記憶部１２にバス使用リクエストが記憶されていない場合（Ｓ１０２“ｎｏ”）、所定時間後、あるいは所定時間空けずに上記Ｓ１０１の処理に戻る。
【００１６】
これに対し、リクエスト記憶部１２にバス使用リクエストが記憶されている場合（Ｓ１０２“ｙｅｓ”）、バス制調停部１１は、さらにリクエスト記憶部１２に記憶されているバス使用リクエストが１つだけであるか否かを調べる（Ｓ１０３）。
【００１７】
ここで、バス使用リクエストが１つの場合（Ｓ１０３“ｙｅｓ”）、バス制調停部１１は、当該バス使用リクエストを送信してきたバス使用装置２０Ａ〜２０Ｄに対しバス使用許可を出力し（Ｓ１０４）、当該バス使用リクエストを送信してきたバス使用装置にバス３０の使用（占有）を許可する。
【００１８】
そして、バス制調停部１１は、バス３０を使用（占有）させたバス使用装置からバス使用終了信号が来るのを待ち（Ｓ１０５）、バス３０を使用させたバス使用装置からバス使用終了信号が来た場合（Ｓ１０５“ｙｅｓ”）、そのバス使用リクエストをリクエスト記憶部１２から削除し（Ｓ１０６）、上記Ｓ１０１のリクエスト記憶部１２のチェック処理へ戻る。なお、このＳ１０６のバス使用リクエスト削除処理は、Ｓ１０４のバス使用許可処理の前後などに行うようにしても勿論よい。
【００１９】
これに対し、リクエスト記憶部１２を参照した際、複数のバス使用装置２０Ａ〜２０Ｄからのバス使用リクエストが記憶されている場合（Ｓ１０３“ｎｏ”）、バス制調停部１１は、そのバス使用リクエストを要求してきたバス使用装置２０Ａ〜２０Ｄに対応するカウンタ１３Ａ〜１３Ｄにカウントダウン動作を開始させる（Ｓ１０７）。
【００２０】
ここで、各カウンタ１３Ａ〜１３Ｄには、初期値設定部１４により予めそれぞれ異なる値の初期値が設定されており、この初期値の大小によりバス使用権の優先度を決定している。つまり、バス使用権の優先度の高いバス使用装置に対応するカウンタには、値の小さい初期値を設定する一方、バス使用権の優先度の低いバス使用装置に対応するカウンタには、値の大きい初期値を設定するようにする。
【００２１】
そして、本実施の形態１の各カウンタ１３Ａ〜１３Ｄは、本装置のクロック信号等に基づいて、初期値設定部１４により予め設定されたそれぞれ異なる値の初期値から共通の所定値等の所定状態になるまで、リクエスト記憶部１２に記憶されたバス使用リクエスト数に応じた繰り返し回数だけカウント動作をサイクリックに繰り返す。ここで、本実施の形態１では、各カウンタ１３Ａ〜１３Ｄに共通の所定状態は、所定値である０とする。つまり、リクエスト記憶部１２にバス使用リクエストが１つ記憶されている場合には、それぞれの初期値から０になるまでカウントダウン動作を１回行い、バス使用リクエストが２つ記憶されている場合には、それぞれの初期値から０になるまでカウントダウン動作を一度行い、０になったら再度初期値からカウントダウン動作を行うというように２回カウントダウン動作を初期値から０までサイクリックに繰り返す。なお、共通の所定状態は、バス制調停部１１が比較器を使用せずに検出可能な状態であれば良く、０以外の１、２、等の共通のカウンタ値でも、また、各カウンタ１３Ａ〜１３Ｄにキャリーが発生するキャリー状態でも勿論良い。
【００２２】
そして、バス制調停部１１は、カウンタ１３Ａ〜１３Ｄのカウンタ値を検出しており、いずれかのカウンタ１３Ａ〜１３Ｄのカウンタ値がそれぞれ、例えば、０になったか否かを検出または判断する（Ｓ１０８）。ここで、例えば、０になったか否かとしているのは、０以外の値でも、あるいは０以下のキャリーの発生などでも良いということであり、以下、０になったか否かにより説明する。
【００２３】
ここで、いずれかのカウンタ１３Ａ〜１３Ｄのカウンタ値が、例えば０になった場合（Ｓ１０８“ｙｅｓ”）、バス制調停部１１は、カウンタ値が０になったカウンタ１３Ａ〜１３Ｄに対応するバス使用装置２０Ａ〜２０Ｄに対しバス３０の使用を許可し（Ｓ１０９）、上述のＳ１０５のバス使用終了信号の待機状態に入り、Ｓ１０５以降の同様の処理を行う。
【００２４】
なお、上述したように、カウンタ値が０になったカウンタ１３Ａ〜１３Ｄは、リクエスト記憶部１２にバス使用リクエストが記憶されていれば、その数に応じた繰り返し回数だけ再度初期値からカウントダウンすることを繰り返す。ここで、カウンタ値が０になったカウンタ１３Ａ〜１３Ｄにおける初期値の再設定は、バス調停部１１から初期値設定部１４に指示が出力され、設定されるようにしても勿論よい。また、カウンタ値が０になったカウンタ１３Ａ〜１３Ｄが複数ある場合の動作は、後述する。
【００２５】
図３は、実施の形態１におけるカウンタ１３Ａ〜１３Ｄの値の変化例と、バスの使用許可等を示す図である。縦軸にカウンタ１３Ａ〜１３Ｄ、横軸にカウントダウンの回数を示している。
【００２６】
図３では、バス使用装置２０Ａ〜２０Ｄ全てからバス使用リクエストが連続的に送信され、リクエスト記憶部１２にバス使用装置２０Ａ〜２０Ｄ全てからバス使用リクエストが記憶されている場合のカウントダウン動作例を示す図である。
【００２７】
図３の場合、初期値設定部１４は、カウンタ１３Ａには初期値として例えば２、カウンタ１３Ｂは初期値として例えば３、カウンタ１３Ｃには初期値として例えば４、カウンタ１３Ｄには初期値として例えば５を設定している。つまり、初期値の値が小さい順、すなわちカウンタ１３Ａ→カウンタ１３Ｂ→カウンタ１３Ｃ→カウンタ１３Ｄの順で、バス使用の優先度が高いものとなる。
【００２８】
従って、本実施の形態１では、このようにバス使用装置２０Ａ〜２０Ｄに初期値が設定され、バス使用装置２０Ａ〜２０Ｄ全てからバス使用リクエストが連続的に送信されていた場合、バス調停部１１は、図３に網掛けで示すように、カウンタ１３Ａ→カウンタ１３Ｂ→カウンタ１３Ｃの順でバス３０の使用許可を与えることになる。
【００２９】
また、本実施の形態１では、複数のカウンタにてそのカウンタ値が同時に０となった場合、本実施の形態１のバス調停部１１は、なるべく優先度の高い、つまり初期値の値が小さいカウンタに対応するバス使用装置にまずはバス３０の使用を許可するように設定している。
【００３０】
そのため、図３に示すように、カウンダダウン動作の６回目にカウンタ１３Ａ，１３Ｄの値が同時に０となった場合、本実施の形態１のバス調停部１１は、まずは、優先度の高い、つまり初期値の値が小さいカウンタ１３Ａに対応するバス使用装置２０Ａにバス３０の使用を許可し、バス使用装置２０Ａによるバス使用の終了が終了したら、直ぐにカウンタ１３Ａと競合したカウンタ１３Ｄに対応するバス使用装置２０Ｄにバス３０の使用を許可する。つまり、カウンタ１３Ａ，１３Ｄの値が同時に０となった場合には、その双方のバス使用リクエストを要求してきたバス使用装置に対し順にバスの使用許可を与えるまで、カウンタ１３Ａ〜１３Ｄはカウント動作を行わない。
【００３１】
これと同様に、図３に示すように、１３回目にカウンタ１３Ａ，１３Ｂ，１３Ｄの値が同時に０となった場合、本実施の形態１のバス調停部１１は、優先度の高い、つまり初期値の値が小さいカウンタ１３Ａに対応するバス使用装置２０Ａにバス３０の使用を許可し、バス使用装置２０Ａによるバス使用の終了が終了したらその後カウンタ１３Ｂに対応するバス使用装置２０Ｂにバス３０の使用を許可し、バス使用装置２０Ｂによるバス使用の終了が終了したら、その後直ぐカウンタ１３Ｄに対応するバス使用装置２０Ｄにバス３０の使用を許可する。その際、カウンタ１３Ａ〜１３Ｄはカウント動作を行わない。
【００３２】
従って、図３に示すようにバス使用装置２０Ａ〜２０Ｄに初期値が設定され、バス使用装置２０Ａ〜２０Ｄ全てからバス使用リクエストが連続的に送信されていた場合、バス調停部１１は、図３に網掛けで示すように、カウンタ１３Ａ→カウンタ１３Ｂ→カウンタ１３Ｃ→カウンタ１３Ａ→カウンタ１３Ｄ→カウンタ１３Ｂ→カウンタ１３Ａ→カウンタ１３Ｃ→カウンタ１３Ａ→カウンタ１３Ｂ→カウンタ１３Ｄ→…の順で、それぞれカウンタに対応するバス使用装置にバス３０の使用許可が与えられることになる。
【００３３】
図４は、実施の形態１におけるカウンタ１３Ａ〜１３Ｄの値の他の変化例と、バス３０の使用許可等を示す図である。
【００３４】
図４では、バス使用装置２０Ａ、２０Ｄから最初同時にバス使用リクエストがそれぞれ１回ずつ送信されてリクエスト記憶部１２に記憶されており、カウントダウン動作の３回目までにバス使用装置２０Ａから再度バス使用リクエストが送信され、バス使用装置２０Ｂからは、５回目、９回目にバス使用リクエストがリクエスト記憶部１２に記憶され、バス使用装置２０Ｃからは６サイクル目にバス使用リクエストが１つだけリクエスト記憶部１２に記憶された場合を示している。なお、その他の条件は、図３に示す場合と同様である。
【００３５】
この場合、図４の網掛けで示すように、カウンタ１３Ａに対応するバス使用装置２０Ａに２回連続してバス３０の使用が許可され、カウンタ１３Ａに対応するバス使用装置２０Ａに２回連続してバス３０の使用許可後は、バス使用装置２０Ｄにバス３０の使用が許可される。その後、カウンタ１３Ａ，１３Ｄとも、バス使用リクエストがなくなるので、カウントダウン動作を終了する。
【００３６】
そして、図４の網掛けで示すように、バス使用装置２０Ｄにバス３０の使用が許可された後は、カウンタ１３Ｂに対応するバス使用装置２０Ｂにバス３０の使用が許可され、その後、カウンタ１３Ｃに対応するバス使用装置２０Ｃにバス３０の使用が許可され、その後、カウンタ１３Ｂに対応するバス使用装置２０Ｂにバス３０の使用が許可されることになる。なお、その後は、バス使用装置２０Ａ〜２０Ｄからのバス使用リクエストが追加のバス使用リクエストが送信されていなければ、リクエスト記憶部１２にはいずれのバス使用装置２０Ａ〜２０Ｄからのバス使用リクエストも削除されないので、いずれのカウンタ１３Ａ〜１３Ｄもカウントダウン動作を終了する。
【００３７】
図５は、実施の形態１におけるカウンタ１３Ａ〜１３Ｄの値のさらに他の変化例と、バス３０の使用許可等を示す図である。
【００３８】
図５では、バス使用装置２０Ａ、２０Ｄから最初同時にバス使用リクエストがそれぞれ１回ずつ送信されてリクエスト記憶部１２に記憶されており、カウントダウン動作の３回目にバス使用装置２０Ａから再度バス使用リクエストが送信され、バス使用装置２０Ｂからは、５回目、９回目の間にバス使用リクエストがリクエスト記憶部１２に記憶され、バス使用装置２０Ｃからはバス使用リクエストが１つも送信されてない場合を示している。なお、その他の条件は、図３に示す場合と同様である。
【００３９】
この場合、図５の網掛けで示すように、カウンタ１３Ａに対応するバス使用装置２０Ａに２回連続してバス３０の使用が許可され、その後は、バス使用装置２０Ｄにバス３０の使用が許可される。その後、カウンタ１３Ａ，１３Ｄとも、バス使用リクエストがなくなるので、カウントダウン動作を終了する。なお、バス使用装置２０Ｃからはバス使用リクエストが１つも送信されていないので、カウンタ１３Ｃはカウント動作を行わない。
【００４０】
そして、図５の網掛けで示すように、バス使用装置２０Ｄにバス３０の使用が許可された後は、カウンタ１３Ｂに対応するバス使用装置２０Ｂに２回ほどバス３０の使用が許可される。なお、その後は、バス使用装置２０Ａ〜２０Ｄからのバス使用リクエストが追加のバス使用リクエストが送信されていなければ、リクエスト記憶部１２にはいずれのバス使用装置２０Ａ〜２０Ｄからのバス使用リクエストも削除されないので、いずれのカウンタ１３Ａ〜１３Ｄもカウントダウン動作を終了する。
【００４１】
従って、本実施の形態１によれば、バス使用装置２０Ａ〜２０Ｄからバス使用リクエストが送信され、リクエスト記憶部１２に複数のバス使用リクエストが記憶されている場合、複数のカウンタ１３Ａ〜１３Ｄがそれぞれの初期値から０までバス使用リクエスト数に応じた繰り返し回数だけカウント動作をサイクリックに繰り返し、カウンタ値が０になったカウンタに対応するバス使用装置から順にバス３０の使用を許可し、バス３０の使用を許可したバス使用装置からのバス使用リクエストをリクエスト記憶部１２から削除するようにしたので、共通のバス３０に接続された複数のバス使用装置２０Ａ〜２０Ｄにバス使用権を調停する際、カウンタ値を比較する比較器等が不要となり、回路規模を削減することができる。
【００４２】
特に、本実施の形態１では、複数のカウンタにてそのカウンタ値が同時に０となった場合、バス調停部１１は、なるべく優先度の高い、つまり初期値の値が小さいカウンタに対応するバス使用装置に優先的にバス３０の使用を許可するようにしたので、複数のカウンタ１３Ａ〜１３Ｄにてそのカウンタ値が同時に０となった場合でも、優先度の高い順にバス３０の使用を許可することが可能となる。
【００４３】
実施の形態２．
上記実施の形態１では、複数のカウンタにてそのカウンタ値が同時に０となった場合、バス調停部１１は、なるべく優先度の高い、つまり初期値の値が小さいカウンタに対応するバス使用装置に優先的にバス３０の使用を許可するようにしたが、かかる場合に、実施の形態２では、なるべく優先度の低い、つまり初期値の値が大きいカウンタに対応するバス使用装置に優先的にバス３０の使用を許可するようにしたものである。なお、構成自体は、図１に示す実施の形態１のものとは同じであるので、図１に示す構成を参照して説明する。
【００４４】
図６〜図８は、それぞれ、実施の形態１の図３〜図５に対応する実施の形態２におけるカウンタ１３Ａ〜１３Ｄの値の変化例と、バス３０の使用許可等を示す図である。
【００４５】
図６に示すように、本実施の形態２の場合、複数のカウンタ１３Ａ，１３Ｄにてそのカウンタ値が同時に０となる５回目には、実施の形態２のバス調停部１１は、なるべく優先度の低い、つまり初期値の値が大きいカウンタ１３Ｄに対応するバス使用装置２０Ｄに優先的にバス３０の使用を許可し、続く６回目には、優先度が高い初期値の値が小さいカウンタ１３Ａに対応するバス使用装置２０Ａに優先的にバス３０の使用を許可する。
【００４６】
また、図６に示すように、複数のカウンタ１３Ａ、１３Ｂ，１３Ｄにてそのカウンタ値が同時に０となる１３回目には、本実施の形態２の場合、なるべく優先度の低い、つまり初期値の値が大きいカウンタ１３Ｄに対応するバス使用装置２０Ｄに優先的にバス３０の使用を許可し、続く１４回目には、初期値の値が中のカウンタ１３Ｂに対応するバス使用装置２０Ｂにバス３０の使用を許可し、続く１５回目には、初期値の値が小さいカウンタ１３Ａに対応するバス使用装置２０Ａに優先的にバス３０の使用を許可することになる。なお、図７、図８も同様にカウンタ値が同時に０となった場合、優先度の低いバス使用装置からバスの使用許可を与えている。
【００４７】
これにより、複数のカウンタ１３Ａ〜１３Ｄにてそのカウンタ値が同時に０となった場合、なるべく優先度の低い、つまり初期値の値が大きいカウンタに対応するバス使用装置から優先的にバス３０の使用が許可されるので、優先度の低いバス使用装置にも、公平にバス３０の使用許可を与えることができる。
【００４８】
従って、本実施の形態２によれば、上記実施の形態１と同様に、バス使用装置２０Ａ〜２０Ｄからバス使用リクエストが送信され、リクエスト記憶部１２に複数のバス使用リクエストが記憶されている場合、複数のカウンタ１３Ａ〜１３Ｄがそれぞれの初期値から０までバス使用リクエスト数に応じた繰り返し回数だけカウント動作をサイクリックに繰り返し、カウンタ値が０になったカウンタに対応するバス使用装置から順にバス３０の使用を許可し、バス３０の使用を許可したバス使用装置からのバス使用リクエストをリクエスト記憶部１２から削除するようにしたので、共通のバス３０に接続された複数のバス使用装置２０Ａ〜２０Ｄにバス使用権を調停する際、カウンタ値を比較する比較器等が不要となり、回路規模を削減することができる。
【００４９】
特に、本実施の形態２では、複数のカウンタにてそのカウンタ値が同時に０となった場合、バス調停部１１は、初期値の値が小さいカウンタに対応する優先度の低いバス使用装置から優先的にバス３０の使用を許可するようにしたので、優先度の低いバス使用装置にも、公平にバス３０の使用許可を与えることができる。
【００５０】
実施の形態３．
上記実施の形態１，２の説明では、カウントダウン動作を行うカウンタ１３Ａ〜１３Ｄを使用して、それぞれ異なる初期値からカウントダウン動作を行って０等の共通の所定値になったときに、バス３０の使用を許可するように説明したが、本発明では、これに限らず、カウントアップ動作を行うカウンタでも、それぞれ、異なる初期値を設定し、それぞれの初期値からカウントアップ動作を行って共通の所定値になったときに、バス３０の使用を許可するようにしても勿論よい。そのため、実施の形態３では、カウンタ１３Ａ〜１３Ｄに、それぞれ異なる初期値として設定し、それぞれの初期値からカウントアップ動作を行い、共通の所定状態になったときに、バス３０の使用を許可することをバス使用リクエストの数だけサイクリックに繰り返すようにしたものである。なお、構成自体は、図１に示す実施の形態１のものとは同じであるので、図１に示す構成を参照して説明する。
【００５１】
図９は、実施の形態３におけるカウンタ１３Ａ〜１３Ｄの値の変化例と、バス３０の使用許可等を示す図である。
【００５２】
ここで、実施の形態３では、カウンタ１３Ａ〜１３Ｄにそれぞれ異なる初期値として５、４、３、２が設定されており、カウンタ１３Ａ〜１３Ｄともカウンタ値が７でフルになり、再度、カウントアップ動作を行う場合は、それぞれの初期値からカウンタ値７までカウントアップ動作を繰り返す例を示している。
【００５３】
そして、図９は、まず、バス使用装置２０Ａから１，４，７回目にバス使用リクエストが送信され，バス使用装置２０Ｄからバス使用リクエストが１回目に送信され、その後、４回目にバス使用装置２０Ｂからバス使用リクエスト１回送信され、６回目にバス使用装置２０Ｃからバス使用リクエスト１回送信され、リクエスト記憶部１２に記憶されている場合のカウントアップ動作例と、バス３０の使用許可等を示している。
【００５４】
そのため、実施の形態３のバス調停部１１では、カウンタ値が７になったカウンタからバス使用権を許可し、同時にカウンタ値が７になった場合には、実施の形態１や２と同様に、初期値の大小等により調停すると、図９の網掛けで示すように、カウンタ１３Ａ→カウンタ１３Ａ→カウンタ１３Ｄ→カウンタ１３Ｂ→カウンタ１３Ａ→カウンタ１３Ｃ→…の順でバス３０の使用許可を与えることになる。
【００５５】
なお、本実施の形態３では、上記実施の形態１と同様に、複数のカウンタにてそのカウンタ値が同時に７となった場合、バス調停部１１は、なるべく優先度の高い、つまり初期値の値が小さいカウンタに対応するバス使用装置に優先的にバス３０の使用を許可するようにしているが、上記実施の形態２と同様に、なるべく優先度の低い、つまり初期値の値が大きいカウンタに対応するバス使用装置に優先的にバス３０の使用を許可するようにしても勿論よい。
【００５６】
従って、本実施の形態３によれば、バス使用装置２０Ａ〜２０Ｄからバス使用リクエストが送信され、リクエスト記憶部１２に複数のバス使用リクエストが記憶されている場合、複数のカウンタ１３Ａ〜１３Ｄがそれぞれの異なる初期値から共通の所定状態までカウントアップ動作を行い、カウンタ値が共通の所定状態になったカウンタに対応するバス使用装置から順にバス３０の使用を許可し、バス３０の使用を許可したバス使用装置からのバス使用リクエストをリクエスト記憶部１２から削除するようにしたので、上記実施の形態１、２と同様に、共通のバス３０に接続された複数のバス使用装置２０Ａ〜２０Ｄにバス使用権を調停する際、カウンタ値を比較する比較器等が不要となり、回路規模を削減することができる。
【００５７】
なお、上記実施の形態１〜３の説明では、カウンタ１３Ａ〜１３Ｄのカウンタ値が０等の共通の所定値である所定状態になった場合に、そのカウンタ値が０になることを検出して、０になったカウンタ１３Ａ〜１３Ｄに対応したバス使用装置から順にバス使用許可を付与するように説明したが、本発明は、これに限らず、カウンタ値が０以外の値になったらバス３０の使用を許可するようにしても勿論よいし、例えば、図１０に示すように、カウンタ１３Ａ〜１３Ｄにキャリー状態Ｃが発生、すなわちカウンタ１３Ａ〜１３Ｄのカウンタ値の下限値である０や上限値を過ぎてカウントダウンまたはカウントアップが行えなくなるアンダーフローまたはオーバーフロー等の所定状態が発生したら、その状態を検出してバス３０の使用を許可するようにしても勿論よいし、また、複数のカウンタ値が同時に０等の共通の所定状態や、キャリーが発生する等の共通の所定状態になった場合の選択順については上記実施の形態より複雑な、直前に選ばれた物を最後にするラウンドロビン法を使ってもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明に係るバス調停装置の実施の形態１の構成例を示すブロック図である。
【図２】実施の形態１のバス調停処理の処理手順例を示すフローチャートである。
【図３】実施の形態１におけるカウンタの値の変化例と、バスの使用許可等を示す図である。
【図４】実施の形態１におけるカウンタの値の他の変化例と、バスの使用許可等を示す図である。
【図５】実施の形態１におけるカウンタの値のさらに他の変化例と、バスの使用許可等を示す図である。
【図６】実施の形態２におけるカウンタの値の変化例と、バスの使用許可等を示す図である。
【図７】実施の形態２におけるカウンタの値の他の変化例と、バスの使用許可等を示す図である。
【図８】実施の形態２におけるカウンタの値のさらに他の変化例と、バスの使用許可等を示す図である。
【図９】実施の形態３におけるカウンタの値の変化例と、バスの使用許可等の例を示す図である。
【図１０】キャリー状態Ｃに基づくバスの使用許可等の例を示す図である。
【符号の説明】
【００５９】
１０  バス調停装置、１１  バス調停部、１２  リクエスト記憶部、１３Ａ〜１３Ｄ  カウンタ部、１４  優先度設定部、２０Ａ〜２０Ｄ  バス使用装置、３０  バス。
【図１】
2009053985.tif 000003
【図２】
2009053985.tif 000004
【図３】
2009053985.tif 000005
【図４】
2009053985.tif 000006
【図５】
2009053985.tif 000007
【図６】
2009053985.tif 000008
【図７】
2009053985.tif 000009
【図８】
2009053985.tif 000010
【図９】
2009053985.tif 000011
【図１０】
2009053985.tif 000012