(57)【要約】【課題】ＬＳＩに実装されたマルチプロセッサシステムにおいて、優先的に処理したいタスクが割り振られたプロセッサのバスの使用権を、実行時にＬＳＩ外部から変更することを可能にするバス調停装置を提供する。【解決手段】バス調停装置２は、優先順位設定レジスタ９の値に基づいてセレクタ５〜８を制御することにより、プライオリティエンコーダ３により各バスマスタに与えられるバスの使用権の優先順位を変更することが可能となり、時々刻々とバスマスタ毎の負荷が変動する場合であっても、各バスマスタの負荷の変動に応じてバスの使用権の優先度を変更することができるものである。【選択図】　　　図１
2004038767.tif 000002
【特許請求の範囲】
【請求項１】
バスと、前記バスに接続する複数のバスマスタとを備えるＬＳＩに実装された、調停方法として固定優先順位方式を採るバス調停装置において、
前記複数のバスマスタから出力されたバス要求を入力とし、入力されたバス要求のうちの１つを選択して出力する，前記複数のバスマスタと同数のセレクタと、
前記複数のセレクタにそれぞれ対応する複数の入力位置を有し、前記各入力位置のうち最も優先順位の高い入力位置に入力されたバス要求に対してバスの使用権を与えるプライオリティエンコーダと、
外部入力に基づいて前記複数のセレクタを制御する優先順位設定レジスタと、を備え、
前記優先順位設定レジスタへの外部入力により、前記複数のバスマスタからの各バス要求を、前記プライオリティエンコーダのどの入力位置に入力するかを、前記複数のセレクタにおいて変更するようにした、
ことを特徴とするバス調停装置。
【請求項２】
バスと、前記バスに接続する複数のバスマスタとを備えるＬＳＩに実装された、調停方法としてラウンドロビン方式を採るバス調停装置において、
前記複数のバスマスタから出力されたバス要求を入力とし、入力されたバス要求のうちの１つを選択して出力する，前記複数のバスマスタと同数のセレクタと、
前記複数のセレクタにそれぞれ対応する複数の入力位置を有し、前記複数のセレクタから入力されたバス要求を順次シフトして出力するシフタと、
前記シフタから出力されるバス要求にそれぞれ対応する複数の入力位置を有し、前記各入力位置のうち最も優先順位の高い入力位置に入力されたバス要求に対してバスの使用権を与えるプライオリティエンコーダと、
外部入力に基づいて前記複数のセレクタを制御する優先順位設定レジスタと、を備え、
前記優先順位設定レジスタへの外部入力により、前記プライオリティエンコーダで前記複数のバスマスタからの各バス要求に対して与えられるバスの使用権の順序を、前記複数のセレクタにおいて変更するようにした、
ことを特徴とするバス調停装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同一ＬＳＩ内部において、複数のバスマスタを有するバスを含んで構成するマルチプロセッサ・システムなどのバス調停装置に関する。
【０００２】
【従来の技術】
一般に、バス調停装置には、各バスマスタのバス要求に対して、バスマスタ毎に予め定めた優先順位に従ってバスの使用権を与えるように動作するもの（固定優先順位方式）や、均等にバスの使用権を与えるように動作するものが多く存在する。
【０００３】
ここで、後者を実現する方法の一例として、特開昭５６−９６３１３号公報に記載の「マルチプロセッサシステムのバス制御装置」がある。
図５は、この従来のマルチプロセッサシステムのバス制御装置を示すブロックである。図５において、従来のマルチプロセッサシステムのバス調停装置１０１は、複数のプロセッサ１１０〜１１３が共有するバス１１５を介してメモリ１１４にアクセスする際の、各プロセッサ１１０〜１１３のバス要求を均等に受け付ける働きをする。
【０００４】
即ち、バス調停装置１０１は、各プロセッサ１１０〜１１３からのバス要求（ＢＲ１〜ＢＲ４のうち一つ）のうち、バスの使用権を与えられたバス要求ＢＲをＦＦ１０５を用いてマスクし、引き続き他のプロセッサ１１０〜１１３からのバス要求ＢＲを受け付けるものである。そして、例えばプロセッサ１１０のバス要求ＢＲ１に対してバス調停装置１０１によりバスの使用権が与えられた場合、次にプロセッサ１１０のバス要求ＢＲ１にバスの使用権が与えられるのは、他の全てのプロセッサ１１１〜１１３からのバス要求ＢＲ２〜ＢＲ４に対してバス使用権が与えられ、ＦＦ１０５によりそのバス要求ＢＲ１〜ＢＲ４に対してマスク１０２がなされて、該マスク１０２がリセットされた後か、または、他のプロセッサ１１１〜１１３のバス要求ＢＲ２〜ＢＲ４が無い場合の、いずれかとなる。
【０００５】
また、前述以外の方法しては、特開平６−３０９２７４号公報に記載の「プライオリティエンコーダ型優先順位決定回路」があり、ここでは、ランダムコード発生器を用いて、複数のプロセッサが共有するバスの使用権を各プロセッサにランダムに与えることにより、優先順位の低い装置の要求がまったく受け入れられない事態を防止し、装置全体のスループットを下げることなく、正常動作を行う技術が開示されている。
【０００６】
【発明が解決しようとする課題】
しかし、前述したような、バスの使用権を均等に与えるバス調停装置において、プロセッサなどである各々のバスマスタが処理する負荷の大きさが異なる場合には、負荷が小さいバスマスタの処理の進捗に比べて、負荷が大きいバスマスタの処理が滞る結果を招き、結果としてＬＳＩ全体のスループットを低下させる問題がある。
【０００７】
そこで、このような問題点を解決する手段として、固定優先順位方式によりバスの使用権を与える方法がある。この固定優先順位方式は、処理量の大きい負荷を優先順位の高いバスマスタに割り当てる方法を採るものであり、負荷が大きいバスマスタの処理効率を高めることができ、ＬＳＩ全体の処理のスループットを落さずに済む。
【０００８】
しかしながら、実際には各バスマスタに割り当てられる処理の負荷の大きさは時間とともに変動するものであり、負荷の大きさが、大きいものから小さいものまで均等に存在する状況になるのは稀である。そして、従来のバス調停装置では、上述のような各バスマスタの負荷の時間による変動に応じ、バスの使用権の優先度を変更することができなかったため、結果としてＬＳＩ全体での処理のスループットが低下するという問題点を有していた。
【０００９】
本発明は、前記問題点に鑑みてなされたものであり、各バスマスタに割り当てられた負荷が不均等で、かつ、時々刻々とバスマスタ毎の負荷が変動する場合であっても、各バスマスタの負荷の変動に応じてバスの使用権の優先度を変更することができ、ＬＳＩ全体のスループットを落すことなく、与えられたタスクの処理を行うことができるバス調停装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
前記課題を解決するために本発明にかかるバス調停装置は、バスと、前記バスに接続する複数のバスマスタとを備えるＬＳＩに実装された、調停方法として固定優先順位方式を採るバス調停装置において、前記複数のバスマスタから出力されたバス要求を入力とし、入力されたバス要求のうちの１つを選択して出力する，前記複数のバスマスタと同数のセレクタと、前記複数のセレクタにそれぞれ対応する複数の入力位置を有し、前記各入力位置のうち最も優先順位の高い入力位置に入力されたバス要求に対してバスの使用権を与えるプライオリティエンコーダと、外部入力に基づいて前記複数のセレクタを制御する優先順位設定レジスタとを備え、前記優先順位設定レジスタへの外部入力により、前記複数のバスマスタからの各バス要求を、前記プライオリティエンコーダのどの入力位置に入力するかを、前記複数のセレクタにおいて変更するようにしたことを特徴とするものである。
【００１１】
また、本発明にかかるバス調停装置は、バスと、前記バスに接続する複数のバスマスタとを備えるＬＳＩに実装された、調停方法としてラウンドロビン方式を採るバス調停装置において、前記複数のバスマスタから出力されたバス要求を入力とし、入力されたバス要求のうちの１つを選択して出力する，前記複数のバスマスタと同数のセレクタと、前記複数のセレクタにそれぞれ対応する複数の入力位置を有し、前記複数のセレクタから入力されたバス要求を順次シフトして出力するシフタと、前記シフタから出力されるバス要求にそれぞれ対応する複数の入力位置を有し、前記各入力位置のうち最も優先順位の高い入力位置に入力されたバス要求に対してバスの使用権を与えるプライオリティエンコーダと、外部入力に基づいて前記複数のセレクタを制御する優先順位設定レジスタとを備え、前記優先順位設定レジスタへの外部入力により、前記プライオリティエンコーダで前記複数のバスマスタからの各バス要求に対して与えられるバスの使用権の順序を、前記複数のセレクタにおいて変更するようにしたことを特徴とするものである。
【００１２】
【発明の実施の形態】
（実施の形態１）
以下に、本発明の実施の形態１によるバス調停装置について図１、図２を用いて説明する。
図１は、本発明の実施の形態１によるバス調停装置の一例を示すブロック図である。本発明の実施の形態１で示すＬＳＩ１には、バス１５にバスマスタである第１〜第４のプロセッサ１０〜１３が接続され、各プロセッサ１０〜１３がバス１５を介してメモリ１４にアクセスするマルチプロセッサシステムが実装されている。そして、前記複数のプロセッサ１０〜１３のバスの使用権を調停するのがバス調停装置２であり、このバス調停装置２によりバスの使用権を許可されたプロセッサがバス１５を介してメモリ１４にアクセスできる構成をとる。
【００１３】
本発明の実施の形態１によるバス調停装置２は、図１に示すように、プライオリティエンコーダ３と、デコーダ４と、第１〜第４のセレクタ５〜８と、優先順位設定レジスタ９と、からなり、調停方法として固定優先順位方式をとるバス調停装置である。
【００１４】
プライオリティエンコーダ３は、前記第１〜第４のセレクタ５〜８に対応する複数の入力位置ＩＮ１〜ＩＮ４を有し、予め設定された優先順位（例えば、入力位置ＩＮ１〜ＩＮ４全てに入力があった場合は入力位置ＩＮ３に入力された信号を優先的に処理する等）に従って最も優先順位が高い入力に対応した出力を行い、その出力により選択されたプロセッサに対してバス１５の使用権を与える。なお、この各プロセッサ１０〜１３に対するバスの使用権の付与は、プライオリティエンコーダ３より各プロセッサ１０〜１３に対して使用権ＢＧを出力することで行われるものであり、例えば、第１のプロセッサ１０にバス１５の使用権を与える場合には使用権ＢＧ１が、第２のプロセッサ１１にバス１５の使用権を与える場合には使用権ＢＧ２が、第３のプロセッサ１２にバス１５の使用権を与える場合には使用権ＢＧ３が、第４のプロセッサ１３にバス１５の使用権を与える場合には使用権ＢＧ４が出力される。
【００１５】
第１〜第４のセレクタ５〜８は、各プロセッサ１０〜１３からのバス要求ＢＲ１〜ＢＲ４が入力され、その入力されたバス要求ＢＲのうちの一つを優先順位設定レジスタ９のレジスタ値に基づいて選択し、該各セレクタ５〜８に対応するプライオリティエンコーダ３の入力位置ＩＮに対して、その選択したバス要求ＢＲを出力する。
【００１６】
デコーダ４は、プライオリティエンコーダ３から出力される符号化データをデコードする。
優先順位設定レジスタ９は、ＬＳＩ１外部からの入力された信号に基づいて、該優先順位設定レジスタ９が有するレジスタ値を変更することで、前記各セレクタ５〜８から出力されるバス要求ＢＲのプライオリティエンコーダ３に対する入力位置を変更する。
【００１７】
以下、図２を用いて、優先順位設定レジスタの構成について説明する。図２は、本発明の実施の形態１による優先順位設定レジスタの一例を示したものである。
図２に示すように、優先順位設定レジスタ９は、各セレクタ５〜８に対応するフィールドを有しており、その各フィールドに設定されたレジスタ値に応じて、各セレクタ５〜８から出力するバス要求ＢＲを選択する。
【００１８】
ここで、例えば、前記優先順位設定レジスタ９の各セレクタ５〜８に対応するフィールドにレジスタ値「００」が設定された場合は第１のプロセッサ１０のバス要求ＢＲ１が選択され、レジスタ値「０１」が設定された場合は第２のプロセッサ１１のバス要求ＢＲ２が選択され、レジスタ値「１０」が設定された場合は第３のプロセッサ１２のバス要求ＢＲ３が選択され、また、レジスタ値「１１」が設定された場合は第４のプロセッサ１４のバス要求ＢＲ４が選択されるものとする。このような場合に、図２に示されるように、ＬＳＩ１外部から、優先順位設定レジスタ９の各セレクタ５〜８に対応するフィールドに対して「１１」、「０１」、「００」、「１０」が設定されたとすると、第１のセレクタ５では第４のプロセッサ１３からのバス要求Ｂ４が、第２のセレクタ６では第２のプロセッサ１１からのバス要求ＢＲ２が、第３のセレクタ７では第１のプロセッサ１０からのバス要求ＢＲ１が、第４のセレクタ８では第３のプロセッサ１２からのバス要求ＢＲ３が選択されることとなる。
【００１９】
これにより、優先順位設定レジスタ９に設定された値に基づいて、各セレクタ５〜８から出力されるバス要求ＢＲをプライオリティエンコーダ３の所定の入力位置に入力できるので、各プロセッサ間でのバス１５の使用権の優先順位を任意に変更できるようになる。
【００２０】
次に、本発明の実施の形態１によるバス調停装置１の動作について説明する。各プロセッサ１０〜１３から出されたバス要求（ＢＲ１、ＢＲ２、ＢＲ３、ＢＲ４）は、各セレクタ５〜８を介して、プライオリティエンコーダ３の入力位置ＩＮ１〜ＩＮ４に入力される。例えば、優先順位設定レジスタ９に、図２に示されるレジスタ値が設定されているとすると、第１のセレクタ５ではバス要求ＢＲ４が、第２のセレクタ６ではバス要求ＢＲ２が、第３のセレクタ７ではバス要求ＢＲ１が、第４のセレクタ８ではバス要求ＢＲ３が選択され、プライオリティエンコーダ３の各セレクタに対応する入力位置ＩＮ１〜ＩＮ４に入力される。
【００２１】
そして、プライオリティエンコーダ３では、該プライオリティエンコーダ３に入力されるバス要求が競合した場合に、予め設定されている各入力位置ＩＮに対応する優先順位に従って、最も優先順位の高いものにバスの使用権ＢＧが与えられる。例えば、プライオリティエンコーダ３において、プライオリティエンコーダ３の入力位置ＩＮ３、入力位置ＩＮ２、入力位置ＩＮ１、入力位置ＩＮ４の順で、入力される信号に高い優先順位を与えていたとすると、仮に、第１のプロセッサ１０のバス要求ＢＲ１と、第２のプロセッサ１１からのバス要求ＢＲ２が競合した場合には、第３のセレクタ７を介して入力位置ＩＮ３にバス要求ＢＲ１が入力される第１のプロセッサ１０にバスの使用権ＢＧ１を与えた後、第２のセレクタ６を介して入力位置ＩＮ２にバス要求ＢＲ２が入力される第２のプロセッサ１１にバスの使用権ＢＧ２を与えることとなる。
【００２２】
次に、各プロセッサの処理量が変化して、プライオリティエンコーダ３で予め設定されている優先順位の低いプロセッサの負荷が、優先順位の高いプロセッサの負荷よりも大きくなった場合について説明する。なお、プライオリティエンコーダ３において、予め設定されている優先順位は、前述したものと同様に、プライオリティエンコーダ３の入力位置ＩＮ３、入力位置ＩＮ２、入力位置ＩＮ１、入力位置ＩＮ４に入力される信号の順で、高い優先順位が与えられているものとする。
【００２３】
例えば、プロセッサの処理量が変化して、第１のプロセッサ１０からのバス要求ＢＲ１と、当該第１のプロセッサ１０の負荷よりも大きい負荷を有する第２のプロセッサ１１からのバス要求ＢＲ２とが競合した場合には、本発明にかかるバス調停装置は、外部入力に基づいて、図２に示す優先順位設定レジスタ９のレジスタ値を変更して、プライオリティエンコーダ３に対する、第１のプロセッサ１０と第２のプロセッサ１１のバス要求の入力位置を変更し、第２のプロセッサ１１のバスの使用権の優先順位が第１のプロセッサ１０のバスの使用権の優先順位より高くなるように制御を行なう。
【００２４】
具体的には、優先順位設定レジスタ９の第３のセレクタ７に対応するフィールドに設定されているレジスタ値「００」を「０１」に変更し、優先順位設定レジスタ９の第２のセレクタ６に対応するフィールドに設定されているレジスタ値「０１」を「００」に変更する。
【００２５】
これにより、プライオリティエンコーダ３の入力位置ＩＮ３に入力するバス要求をＢＲ１からＢＲ２に、また入力位置ＩＮ２に入力するバス要求をＢＲ２からＢＲ１に変更することができるため、プロセッサの処理量が増加した第２のプロセッサ１１の処理を第１のプロセッサ１０の処理よりも優先的に行うことができることとなる。
【００２６】
以上のように本実施の形態１によれば、優先順位設定レジスタ９のレジスタ値を変更して各セレクタ５〜８から出力するバス要求ＢＲのプライオリティエンコーダ３に対する入力位置ＩＮを変更することにより、プライオリティエンコーダ３によりバスの使用権ＢＧが与えられるバス要求ＢＲを任意に変更することができ、時々刻々と変化する各プロセッサ１０〜１３における処理内容の負荷に応じて、プライオリティエンコーダ３で決定されたバス１５の使用権が与えられるバス要求ＢＲの優先順位を変更することができ、ＬＳＩ１全体のスループットを落すことなく、与えられたタスクの処理を効率良く行うことができる。
【００２７】
なお、本実施の形態１においては、ＬＳＩ１の動作開始時に、優先順位設定レジスタ９にレジスタ値が予め設定されている場合を例に挙げて説明したが、その動作開始時に、ＬＳＩ１を制御する図示していない制御回路において各プロセッサ１０〜１３における処理量の大きさを判断し、それに基づいてプライオリティエンコーダ３の優先順位の高い入力位置ＩＮに処理の大きいプロセッサからのバス要求ＢＲを入力するようにしてもよく、動作開始時において各セレクタ５〜８で選択されるバス要求ＢＲは、任意に設定可能である。
【００２８】
また、本実施の形態１においては、優先順位設定レジスタ９に、第１のプロセッサ〜第４のプロセッサを示すレジスタ値「１１」、「０１」、「００」、「１０」を設定するようにしたが、優先順位設定レジスタ９の各セレクタに対応する複数のフィールドに同一のプロセッサを示すレジスタ値を設定してもよく、このようにすれば、複数設定されたプロセッサのバス１５の使用を許可する機会を増やすことができ、一方、優先順位設定レジスタ９の各セレクタに対応するすべてのフィールドに、任意のプロセッサを示すレジスタ値を設定しないことで、該当するプロセッサのバス１５の使用を禁止することができる。
【００２９】
また、このマルチプロセッサシステムのバス調停装置２がＬＳＩ１に実装され、ＬＳＩ１の外部から当該ＬＳＩ１で処理するタスクが複数個与えられる場合には、各プロセッサ１０〜１３で処理するタスクの性質によって、各プロセッサ１０〜１３の優先順位を優先順位設定レジスタ９により任意に変更することにより、各タスク毎に所望の時間内に処理を完了させることが可能となる。そして、このようなＬＳＩ１を１個以上で構成するシステムにおいては、各ＬＳＩに設けられた優先順位設定レジスタ９をＬＳＩ１外部から設定可能とすることで、各ＬＳＩのタスクの処理速度を管理することが容易となる効果が得られる。
【００３０】
（実施の形態２）
以下に、本発明の実施の形態２によるバス調停装置について図３を用いて説明する。なお、本発明の実施の形態２によるバス調停装置１６は、バスの調停方法としてラウンドロビン方式をとるものである。
【００３１】
図３は、本発明の実施の形態２によるバス調停装置の一例を示すブロック図であり、本実施の形態２のバス調停装置１６は、前記実施の形態１によるバス調停装置２の各セレクタ５〜８とプライオリティエンコーダ３との間にシフタ１７を設けたものである。そのため、前記実施の形態１によるバス調停装置２と同じ構成要素については同一の符号を付し、ここでは説明を省略する。
【００３２】
シフタ１７は、各セレクタ５〜８に対応する複数の入力位置ＩＮ１〜４を有し、該各セレクタ５〜８から出力されたバス要求ＢＲを所定の時間間隔毎に順次シフトしてプライオリティエンコーダ３に出力する。
【００３３】
図４は、本発明の実施の形態２によるバス調停装置のシフタの説明をするための説明図であり、図４（ａ）は右に１ビットシフトした例を、図４（ｂ）は右に２ビットシフトした例を、図４（ｃ）は右に３ビットシフトした例を、図４（ｄ）はシフトしない例を、それぞれ示している。そして、シフタ１７は、図４（ａ）〜図４（ｄ）に示すように、各セレクタ５〜８より出力されたバス要求ＢＲを所定の時間間隔で順次シフトし、プライオリティエンコーダ３により与えられるバスの使用権ＢＧを各プロセッサ１０〜１３に均等に割り当てるラウンドロビン方式のバス調停装置１６を実現する。
【００３４】
そして、このようなラウンドロビン方式のバス調停装置１６において、シフタ１７に入力される各バス要求ＢＲは、前述した実施の形態１と同様、優先順位設定セレクタ９により制御された各セレクタ５〜８から出力されたものである。
【００３５】
そのため、例えば、プライオリティエンコーダ３において、該プライオリティエンコーダ３の入力位置ＩＮ１に入力されたバス要求に優先的にバスの使用権が与えられるよう設定されている場合には、各プロセッサ１０〜１３の負荷の大きさに基づいて、優先順位設定レジスタのレジスタ値を変更し、セレクタ５〜８からシフタ１７を介してプライオリティエンコーダの入力位置ＩＮ１に入力されるバス要求の順番を変更することにより、負荷の大きいプロセッサ１０〜１３順に、バスの使用権を与えることが可能となる。
【００３６】
例えば、すべてのプロセッサからバス要求が出力され、第３のプロセッサ１２、第１のプロセッサ１０、第２のプロセッサ１１、第４のプロセッサ１３の順で、左からその負荷が大きいものであったとすると、優先順位設定レジスタのレジスタ値を、図２に示したように１１、０１、００、１０として、第１のセレクタ５からバス要求ＢＲ４が、第２のセレクタ６からバス要求ＢＲ２が、第３のセレクタ７からバス要求ＢＲ１が、第４のセレクタ８からバス要求ＢＲ３がそれぞれ出力されるようにする。そして、このように各セレクタ５〜８より出力されたバス要求ＢＲ１〜ＢＲ４は、シフタ１７において、図４に示すように、図４（ａ）から、図４（ｂ）、（ｃ）、（ｄ）、（ａ）・・・・の順に所定の時間間隔で、シフトされるため、結果として、プライオリティエンコーダ３の優先的にバスの使用権が与えられる入力位置ＩＮ１には、バス要求ＢＲ３、バス要求ＢＲ１、バス要求ＢＲ２、バス要求ＢＲ４の順でバス要求が入力され、負荷の大きいプロセッサの処理を優先的に行なうことが可能となる。なお、シフタ１７をシフトする所定の時間間隔は、最も重い負荷がかかるプロセッサが変わるタイミングでシフタ１７がシフトを行なうように設定すれば、より好適なものとなる。
【００３７】
また、同様に、各プロセッサ１０〜１３の負荷が途中で変化して、各プロセッサ１０〜１３の負荷の大きさの順序が変更した場合であっても、優先順位設定レジスタ９のレジスタ値を変更することにより、バスの使用権ＢＧが与えられるバス要求ＢＲの順番を任意に変更することができる。
【００３８】
以上のように本実施の形態２によれば、優先順位設定レジスタ９のレジスタ値を変更して、プライオリティエンコーダ３の所定の入力位置に、シフタ１７により順次シフトされて入力されるバス要求ＢＲの順序を変更することにより、プライオリティエンコーダ３においてバスの使用権ＢＧが与えられる順番を任意に変更することができ、予め想定した、プロセッサ１０〜１３の負荷が変動する順序・時間間隔に合わせて、バスの使用権ＢＧを与える順序を変更できるとともに、負荷の変化を観測しながら、必要に応じてバスの使用権ＢＧを優先的に与える順序を変更できるため、ＬＳＩ１全体のスループットを落すことなく、与えられたタスクの処理を効率良く行うことができる。
【００３９】
なお、本実施の形態１、及び２によるバス調停装置は、プロセッサ数を４として説明したが、プロセッサ数については特に限定はなく、プロセッサ数が幾つであっても本発明を適用することができる。
【００４０】
また、本実施の形態１、及び２によるバス調停装置は、プロセッサをバスマスタとして用いるものについて説明したが、自らバスにアクセスする機能を持つ機能ブロックであれば、本発明のプロセッサと同様のものとして適用することができる。
【００４１】
【発明の効果】
このように、本発明のバス調停装置によれば、バスと、前記バスに接続する複数のバスマスタとを備えるＬＳＩに実装された、調停方法として固定優先順位方式を採るバス調停装置において、前記複数のバスマスタから出力されたバス要求を入力とし、入力されたバス要求のうちの１つを選択して出力する，前記複数のバスマスタと同数のセレクタと、前記複数のセレクタにそれぞれ対応する複数の入力位置を有し、前記各入力位置のうち最も優先順位の高い入力位置に入力されたバス要求に対してバスの使用権を与えるプライオリティエンコーダと、外部入力に基づいて前記複数のセレクタを制御する優先順位設定レジスタとを備え、前記優先順位設定レジスタへの外部入力により、前記複数のバスマスタからの各バス要求を、前記プライオリティエンコーダのどの入力位置に入力するかを、前記複数のセレクタにおいて変更するようにしたので、前記プライオリティエンコーダで決定された優先順位を任意に変更でき、各バスマスタ（プロセッサ）に割り当てられた負荷が不均等で、かつ、時々刻々とバスマスタ毎の負荷が変動する場合であっても、各バスマスタの負荷の変動に応じてバスの使用権の優先度を変更することができ、ＬＳＩ全体のスループットを落すことなく、与えられたタスクの処理を効率良く行うことができる。
【００４２】
また、本発明のバス調停装置によれば、バスと、前記バスに接続する複数のバスマスタとを備えるＬＳＩに実装された、調停方法としてラウンドロビン方式を採るバス調停装置において、前記複数のバスマスタから出力されたバス要求を入力とし、入力されたバス要求のうちの１つを選択して出力する，前記複数のバスマスタと同数のセレクタと、前記複数のセレクタにそれぞれ対応する複数の入力位置を有し、前記複数のセレクタから入力されたバス要求を順次シフトして出力するシフタと、前記シフタから出力されるバス要求にそれぞれ対応する複数の入力位置を有し、前記各入力位置のうち最も優先順位の高い入力位置に入力されたバス要求に対してバスの使用権を与えるプライオリティエンコーダと、外部入力に基づいて前記複数のセレクタを制御する優先順位設定レジスタとを備え、前記優先順位設定レジスタへの外部入力により、前記プライオリティエンコーダで前記複数のバスマスタからの各バス要求に対して与えられるバスの使用権の順序を、前記複数のセレクタにおいて変更するようにしたので、予め想定した、プロセッサの負荷が変動する順序・時間間隔に合わせて、バスの使用権ＢＧを与える順序を変更できるとともに、負荷の変化を観測しながら、必要に応じてバスの使用権ＢＧを優先的に与える順序を変更でき、ＬＳＩ全体のスループットを落すことなく、与えられたタスクの処理を効率良く行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１によるバス調停装置の一例を示すブロック図である。
【図２】本発明の実施の形態１によるバス調停装置の優先順位設定レジスタの一例を示す図である。
【図３】本発明の実施の形態２によるバス調停装置の一例を示すブロック図である。
【図４】本発明の実施の形態２によるバス調停装置のシフタの説明をするための図であり、プライオリティエンコーダに入力するプロセッサからのバス要求の入力位置を右に１ビットシフトした例（図（ａ））、右に２ビットシフトした例（図（ｂ））、右に３ビットシフトした例（図（ｃ））シフトしない例（図（ｄ））を示す図である。
【図５】従来のバス調停装置の一例を示すブロック図である。
【符号の説明】
１　ＬＳＩ
２，１６，１０１　バス調停装置
３，１０３　プライオリティエンコーダ
４，１０４　デコーダ
５　第１のセレクタ
６　第２のセレクタ
７　第３のセレクタ
８　第４のセレクタ
９　優先順位設定レジスタ
１０，１１０　第１のプロセッサ
１１、１１１　第２のプロセッサ
１２、１１２　第３のプロセッサ
１３、１１３　第４のプロセッサ
１４、１１４　メモリ
１５、１１５　バス
１７　シフタ
１０２　マスク
１０５　ＦＦ
【図１】
2004038767.tif 000003
【図２】
2004038767.tif 000004
【図３】
2004038767.tif 000005
【図４】
2004038767.tif 000006
【図５】
2004038767.tif 000007