(57)【特許請求の範囲】
【請求項１】
複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを有する情報処理装置に於けるバス調停方法であって、
前記バスマスタは、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力し、
前記バスアービタは、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用である場合は、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでない場合は、前記バス使用要求を保留状態にし、
複数の保留状態のバス使用要求がある場合に、バスを解放するバスマスタが発生した時、保留順が古い保留状態のバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行うことを特徴とするバス調停方法。
【請求項２】
請求項１記載のバス調停方法に於いて、
前記バスマスタは、前記バスアービタによって使用権が与えられた単位バスを使用してデータを転送する際、そのデータの転送先に対してデータの転送に使用する単位バスを通知してからデータの転送を開始し、
前記転送先は、前記バスマスタから通知された単位バス上のデータを受信することを特徴とするバス調停方法。
【請求項３】
複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを備えた情報処理装置であって、
前記各バスマスタが、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力するバス使用要求手段を備え、
前記バスアービタが、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでなければ、前記バス使用要求を保留状態にし、複数の保留状態のバス使用要求がある場合に、バスを解放するバスマスタが発生した時、保留順の古いバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から、前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行うバス使用許可手段を備えたことを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置に於いて、
前記バスマスタが、
前記バスアービタによって使用権が与えられた単位バスを使用してデータを転送する際、そのデータの転送先に対してデータの転送に使用する単位バスを通知してからデータ転送を開始するデータ転送実行手段を備え、
前記データの転送先は、前記データ転送実行手段によって通知された単位バス上のデータを受信する構成を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のバスマスタが同一のバスに接続されている情報処理装置のバス調停技術に関し、特にバスを複数の単位バスに分割して使用できるようにすることにより、バス調停時に待ち状態になるバスマスタの数を減らし、システムとしての性能向上を図ることができるバス調停技術に関する。
【０００２】
【従来の技術】
複数のバスマスタが同一のバスに接続されている情報処理装置に於いては、バスアービタにより各バスマスタからのバス使用要求を調停するようにしている。従来の一般的なバスアービタは、或るバスマスタからバス使用要求があった場合、バスが未使用であれば、要求元のバスマスタに対してバスの使用権を与え、バスが使用中であれば、バスが解放されるのを待って使用権を与えるというものであった。このため、バスの使用権を与えられたバスマスタＡが、全バス幅の内の一部のみしか使用しない場合であっても、他のバスマスタＢからのバス使用要求は、バスマスタＡがバスを解放するまで待たされることになる。例えば、バスマスタＡが４バイト構成のバスの内の１バイトしか使用しておらず、且つバスマスタＢが必要とするバス幅が１バイトの場合であっても、バスマスタＢのバス使用要求は待たされることになる。その間、バスマスタＢは、待ち状態となり、システム性能が低下してしまう。
【０００３】
そこで、このような問題点を解決するため、バスを複数の単位バスに分割し、各バスマスタにバス使用権を与える際、バスマスタが必要としているバス幅を考慮して単位バス単位でバス使用権を与えるという技術が提案された（例えば、特開平５−２８２２４２号公報）。
【０００４】
以下に４バイト構成のバスを、それぞれが１バイト構成の４個の単位バスに分割した場合を例にとって上記した従来の技術を説明する。バスに接続されている各バスマスタは、バスの使用権を得る際、必要とするバス幅を含むバス使用要求をバスアービタに対して出力する。今、例えば、４個の単位バスが全く使用されていない状態に於いて、バスマスタＡ，Ｂがバス幅１バイトを含むバス使用要求を順次出力したとする。バスマスタＡからバス幅１バイトを含むバス使用要求が送られてくると、バスアービタは、未使用の単位バスが４個、要求されたバス幅が１バイト（要求された単位バスが１個）であり、未使用の単位バス数が要求された単位バス数以上であるので、未使用の単位バスの内の１つ（例えば、第０バイト目の単位バス）の使用権をバスマスタＡに与える。その後、バスマスタＢからバス幅１バイトを含むバス使用要求が送られてくると、バスアービタは、未使用の単位バスが３個、要求された単位バスが１個であるので、例えば、未使用の単位バスの内の、第１バイト目の単位バスの使用権をバスマスタＢに与える。この従来の技術によれば、複数のバスマスタに、同時にバスの使用権を与えることが可能になり、バスマスタが待機状態になる回数を減らすことができるので、システム性能を向上させることができる。
【０００５】
【発明が解決しようとする課題】
しかし、上述した従来の技術には、次のような問題点があった。今、例えば、４個の単位バスが全て未使用の状態に於いて、バスマスタＡ，Ｂ，Ｃからバス幅３バイト，２バイト，１バイトを含むバス使用要求が順次出力されたとする。バスアービタは、バスマスタＡからバス幅３バイトを含むバス使用要求が送られてくると、未使用の単位バスが４個、要求された単位バスが３個であり、未使用の単位バス数が要求された単位バス数以上であるので、例えば、第０バイト目〜第２バイト目の単位バスの使用権をバスマスタＡに与える。その後、バスマスタＢからバス幅２バイトを含むバス使用要求が送られてくると、未使用の単位バスが１個、要求された単位バスが２個であり、要求された単位バス数の方が未使用の単位バス数よりも大きいので、バスマスタＢからのバス使用要求を保留状態にする。その後、バスマスタＣからバス幅１バイトを含むバス使用要求が送られてくると、先行するバスマスタＢからのバス使用要求が保留状態になっているので、バスマスタＣからのバス使用要求も保留状態にする。その後、バスマスタＡがバスを解放すると、バスアービタは、保留状態のバスマスタＢ，Ｃからのバス使用要求を順次処理し、バスマスタＢに例えば第０バイト目，第１バイト目の単位バスの使用権を与え、バスマスタＣに例えば第２バイト目の単位バスの使用権を与える。
【０００６】
このように上述した従来の技術では、先行するバス使用要求が保留状態になっている場合、後続のバス使用要求も無条件で保留状態にしているため、待機状態となるバスマスタ数を充分に減らし、システム性能を充分に高めることが困難であった。つまり、バスマスタＣがバス使用要求を出力した時点に於いては、１個の単位バスが未使用になっており、バスマスタＣにこの未使用の単位バスの使用権を与えるようにすれば、バスマスタＣが待機状態になることを防ぐことができるが、上述した従来の技術では、先行するバス使用要求が保留状態になっている場合、後続のバス使用要求も無条件で保留状態にするようにしているため、バスマスタＣが待機状態になってしまい、システム性能を充分に高いものにすることが困難であった。
【０００７】
そこで、本発明の目的は、先行するバス使用要求が保留状態になっている場合に於いても、後続のバス使用要求の要求元バスマスタにできる限りバス使用権を与えることにより、システム性能を更に高いものにすることにある。
【０００８】
【課題を解決するための手段】
本発明のバス調停方法は、上記目的を達成するため、
複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを有する情報処理装置に於けるバス調停方法であって、
前記バスマスタは、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力し、
前記バスアービタは、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用である場合は、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでない場合は、前記バス使用要求を保留状態にし、
バスを解放するバスマスタが発生した時、保留順が古い保留状態のバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行う。
【０００９】
この構成によれば、先行するバス使用要求が保留状態にされても、後続のバス使用要求が必要とする単位バス数以上の単位バスが未使用であれば、後続のバス使用要求の要求元バスマスタにバス使用権を与えることができるので、バスマスタが待機状態になる回数を減らし、システム性能を高めることができる。
【００１０】
上記したバス調停方法を実施するのに好適な装置として、本発明の情報処理装置は、
複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを備えた情報処理装置であって、
前記各バスマスタが、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力するバス使用要求手段を備え、
前記バスアービタが、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでなければ、前記バス使用要求を保留状態にし、バスを解放するバスマスタが発生した時、保留順の古いバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から、前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行うバス使用許可手段を備えている。
【００１１】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１２】
【実施例の構成】
図１は本発明の情報処理装置の一実施例を示すブロック図であり、バス１００を介して、バスアービタ１と、複数のバスマスタ２−１〜２−４と、複数のバススレーブ３−１，３−２とが相互に接続されている。尚、図１に於いては、バスアービタ１とバスマスタ２−１との間でやり取りされるバス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ１−１〜Ｗ４−１，バス使用許可位置信号Ｐ０−１〜Ｐ３−１，バス使用許可信号ＢＧ−１しか図示していないが、バスアービタ１と他のバスマスタ２−２〜２−４との間でも同様の信号がやり取りされる。また、以下の説明に於いては、バスアービタ１とバスマスタ２−ｉ（１≦ｉ≦４）との間でやり取りする信号は−ｉを付すものとする。従って、バス使用要求信号ＢＲ−３と記した場合には、バスマスタ２−３が出力するバス使用要求信号を示し、バス使用許可信号ＢＧ−４と記した場合には、バスマスタ２−４に対するバス使用許可信号を示すことになる。
【００１３】
バス１００は、４バイト構成のバスであり、それぞれが１バイト構成の第０バイト〜第３バイトの４個の単位バスに分割されている。
【００１４】
バスマスタ２−１は、バス使用要求手段２０と、バス使用許可信号受信手段２５と、バス使用許可位置信号受信手段２６と、バス使用許可位置解読手段２７と、データ転送実行手段２８とを備えている。
【００１５】
バス使用要求手段２０は、バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力する機能を有するものであり、バス使用要求信号生成手段２１と、バス使用要求信号送出手段２２と、バス使用要求幅信号生成手段２３と、バス使用要求幅信号送出手段２４とから構成される。
【００１６】
バス使用要求信号生成手段２１は、バスマスタ２−１内でバスの使用要求が発生した場合、バス使用要求信号送出手段２２に対してバス使用要求信号ＢＲ−１の送出を指示する機能を有し、バス使用要求信号送出手段２２は、上記指示に従ってバスアービタ１に対してバス使用要求信号ＢＲ−１を送出する機能を有する。また、バス使用要求信号生成手段２１は、バスマスタ２−１がバス１００を解放する場合、バス使用要求信号送出手段２２に対してバス使用要求信号ＢＲ−１の送出停止を指示する機能を有し、バス使用要求信号送出手段２２は、上記指示に従ってバス使用要求信号ＢＲ−１の送出を停止する機能を有する。
【００１７】
バス使用要求幅信号生成手段２３は、バスマスタ２−１内でバスの使用要求が発生した場合、使用するバス幅が何バイトであるのかをバス使用要求幅信号送出手段２４に指示する機能を有し、バス使用要求幅信号送出手段２４は、上記指示に従ってバス使用要求幅信号Ｗ１−１〜Ｗ４−１の内の何れか１つを送出する機能を有する。尚、本実施例に於いては、バス使用要求幅信号送出手段２４は、使用するバイト幅として１バイト，２バイト，３バイト，４バイトが指示された場合、それぞれバス使用要求幅信号Ｗ１−１，Ｗ２−１，Ｗ３−１，Ｗ４−１を送出する。また、バス使用要求幅信号生成手段２３は、バスマスタ２−１がバス１００を解放する場合、バス使用要求幅信号送出手段２４に対してバス使用要求幅信号Ｗ１−１〜Ｗ４−１の出力停止を指示する機能を有し、バス使用要求幅信号送出手段２４は、上記指示に従ってバス使用要求幅信号Ｗ１−１〜Ｗ４−１の出力を停止する機能を有する。
【００１８】
バス使用許可信号受信手段２５は、バスアービタ１から出力されるバス使用許可信号ＢＧ−１を受信すると、使用許可位置解読手段２７に対して解読開始を指示する機能を有する。バス使用許可位置信号受信手段２６は、バスアービタ１からのバス使用許可位置信号Ｐ０−１〜Ｐ３−１を受信する機能を有する。バス使用許可位置解読手段２７は、バス使用許可信号受信手段２５により解読開始が指示されると、バス使用許可位置信号受信手段２６の受信結果に基づいて、使用許可された単位バス（使用権の与えられた単位バス）を認識する機能を有する。データ転送実行手段２８は、バス使用許可位置解読手段２７が認識した単位バスを使用してデータを転送する機能を有する。また、データ転送実行手段２８と、データの転送先になるバススレーブ３−１，３−２との間には、使用するバス単位を通知するための専用の信号線２８１ａ，２８１ｂが設けられている。
【００１９】
ここでは、バスマスタ２−１の構成，機能のみを説明したが、他のバスマスタ２−２〜２−４も同様の構成，機能を有している。
【００２０】
バスアービタ１は、バス使用要求信号受信手段１１と、使用単位バス数解読手段１２と、バス使用許可手段１３と、要求保留部１４と、バス使用状況管理手段１５と、バス使用許可位置信号送出手段１６と、バス使用許可信号送出手段１７とから構成されている。
【００２１】
バス使用状況管理手段１５は、その内部に設けられているバス使用状況管理テーブル１５１を用いて、バス１００を構成する各単位バスの使用状況を管理する。図２は、バス使用状況管理テーブル１５１の内容例を示す図であり、この例は、第０，第１バイト目の単位バスがバスマスタ２−１によって使用され、第２バイト目の単位バスがバスマスタ２−３によって使用され、第３バイト目の単位バスが未使用であることを示している。また、バス使用状況管理テーブル１５１の更新は、各バスマスタ２−１〜２−４から送られてくるバス使用要求信号ＢＲ１〜ＢＲ４，各バスマスタ２−１〜２−４へのバス使用許可信号ＢＧ−１〜ＢＧ−４及び各バスマスタ２−１〜２−４へのバス使用許可位置信号Ｐ０−１〜Ｐ３−４に基づいて行い、使用状況を未使用にする更新を行った場合は、バス使用許可手段１３に対して単位バスが解放されたこと（バスを解放したバスマスタが発生したこと）を通知する。
【００２２】
バス使用要求信号受信手段１１は、バスの使用権を要求するバスマスタ２−ｉからのバス使用要求信号ＢＲ−ｉを受信した場合、使用単位バス数解読手段１２に要求元のバスマスタ２−ｉの識別子を渡す機能を有する。
【００２３】
使用単位バス数解読手段１２は、バス使用要求信号受信手段１１から要求元のバスマスタ２−ｉの識別子が渡された場合、バスマスタ２−ｉからのバス使用要求幅信号Ｗ１−ｉ〜Ｗ４−ｉに基づいて、バスマスタ２−ｉが使用要求している単位バスの数ｎを求め、その数ｎとバスマスタ２−ｉの識別子とをバス使用許可手段１３に渡す機能を有する。
【００２４】
バス使用許可手段１３は、下記（ａ）〜（ｅ）の機能を有する。
【００２５】
（ａ）使用単位バス数解読手段１２から要求元のバスマスタ２−ｉの識別子と、バスマスタ２−ｉが使用要求している単位バスの数ｎとが渡されたとき、バス使用状況管理テーブル１５１の内容に基づいて、使用要求されている単位バス数ｎ以上の未使用の単位バスが存在するか否かを判定する機能。
（ｂ）機能（ａ）によってｎ個以上の未使用の単位バスが存在すると判定された場合、バス使用許可信号送出手段１７に対してバス使用許可信号ＢＧ−ｉの送出を指示する機能。
（ｃ）機能（ａ）によってｎ個以上の未使用の単位バスが存在すると判定された場合、未使用の単位バスの中からｎ個の単位バスを選択し、バス使用許可位置信号送出手段１６に対してバス使用許可位置信号Ｐ０−ｉ〜Ｐ３−ｉの内の、上記選択した単位バスに対応する信号の送出を指示する機能。例えば、第０バイト目の単位バスのみを選択した場合には、バス使用許可位置信号Ｐ０−ｉの送出を指示し、第２バイト目，第３バイト目の単位バスを選択した場合には、バス使用許可位置信号Ｐ２−ｉ，Ｐ３−ｉの送出を指示する。
（ｄ）機能（ａ）によってｎ個以上の未使用の単位バスが存在しないと判定された場合は、使用単位バス数解読手段１２から渡された要求元のバスマスタ２−ｉの識別子と使用要求された単位バスの数ｎとを含むバス使用要求を要求保留部１４に格納する機能。
（ｅ）バス使用状況管理手段１５から単位バスの解放が通知された場合、要求保留部１４に格納されている保留順が古いバス使用要求から順番に、そのバス使用要求が使用要求する単位バス数以上の未使用の単位バスが存在すれば、未使用の単位バスの中から上記使用要求された数の単位バスを選択し、選択した単位バスの使用権を要求元のバスマスタに与える処理を行う機能。
【００２６】
バス使用許可位置信号送出手段１６は、バス使用許可手段１３からの指示に従ってバス使用許可位置信号Ｐ０−ｉ〜Ｐ３−ｉを送出する機能を有する。
【００２７】
バス使用許可信号送出手段１７は、バス使用許可手段１３からの指示に従ってバス使用許可信号ＢＧ−ｉを送出する機能を有する。
【００２８】
【実施例の動作】
次に、本実施例の動作について詳細に説明する。
【００２９】
バスマスタ２−１内にバス使用要求が発生すると、バス使用要求信号生成手段２１がバス使用要求信号送出手段２２に対してバス使用要求信号ＢＲ−１の送出を指示すると共に、バス使用要求幅信号生成手段２３が、使用するバス幅が何バイトであるのかをバス使用要求幅信号送出手段２４に指示する（図３，Ａ１，Ａ３）。これにより、バス使用要求信号送出手段２２が、バスアービタ１に対してバス使用要求信号ＢＲ−１を出力すると共に、バス使用要求幅信号送出手段２４が、バス使用要求幅信号Ｗ１−１〜Ｗ４−１の内の、使用要求するバス幅に対応する信号を出力する（Ａ２，Ａ３）。今、例えば、使用要求するバス幅が２バイトであるとすると、バス使用要求幅信号送出手段２４は、バス使用要求幅信号Ｗ２−１を出力することになる。
【００３０】
バスアービタ１内のバス使用要求信号受信手段１１は、バスマスタ２−１からのバス使用要求信号ＢＲ−１を受信すると、使用単位バス数解読手段１２に要求元のバスマスタ２−１の識別子を渡す（図４，Ｂ１）。
【００３１】
これにより、使用単位バス数解読手段１２は、バスマスタ２−１からのバス使用要求幅信号Ｗ１−１〜Ｗ４−１に基づいて、バスマスタ２−１が使用要求している単位バス数を求め、この単位バス数と、バスマスタ２−１の識別子とをバス使用許可手段１３に渡す（Ｂ２）。この例の場合、バス使用要求幅信号Ｗ２−１のみが出力されているので、使用単位バス数解読手段１２は、単位バス数「２」とバスマスタ２−１の識別子とをバス使用許可手段１３に渡すことになる。
【００３２】
バス使用許可手段１３は、単位バス数「２」が渡されると、バス使用状況管理テーブル１５１を参照し、使用要求された単位バス数「２」以上の未使用の単位バスが存在するか否かを判定する（Ｂ３）。
【００３３】
そして、使用要求された単位バス数「２」以上の未使用の単位バスが存在しない場合（Ｂ３がＮＯ）は、使用単位バス数解読手段１２から渡された要求元のバスマスタ２−１の識別子と使用要求された単位バス数「２」とを含むバス使用要求を要求保留部１４に格納する（Ｂ７）。
【００３４】
これに対して、使用要求された単位バス数「２」以上の未使用の単位バスが存在する場合（Ｂ３がＹＥＳ）は、バス使用許可信号送出手段１７に対して、要求元のバスマスタ２−１へバス使用許可信号ＢＧ−１を送出することを指示する（Ｂ４）。更に、ステップＢ４に於いては、未使用の単位バスの中から、使用要求された単位バス数「２」の単位バスを選択し、バス使用許可位置信号送出手段１６に対して、バス使用許可位置信号Ｐ０−１〜Ｐ３−１の内の、上記選択した単位バスに対応する信号の送出を指示する。未使用の単位バスの中から、使用要求された数の単位バスを選択する場合には、例えば、下位バイトの単位バスを優先的に選択する。今、例えば、第０バイト目の単位バスが使用中で、第１バイト目〜第３バイト目の単位バスが未使用であるとすると、バス使用許可手段１３は、第１バイト目，第２バイト目の単位バスを選択し、バス使用許可位置信号送出手段１６に対して、バス使用許可位置信号Ｐ１−１，Ｐ２−１の送出を指示することになる。
【００３５】
これにより、バス使用許可信号送出手段１７は、バス使用許可信号ＢＧ−１を送出し、バス使用許可位置信号送出手段１６は、バス使用許可位置信号Ｐ１−１，Ｐ２−１を送出する（Ｂ５）。
【００３６】
バス使用状況管理手段１５は、バス使用許可信号ＢＧ−１，バス使用許可位置信号Ｐ１−１，Ｐ２−１  が送出されると、バス使用状況管理テーブル１５１に登録されている各単位バスの使用状況の内の、第１バイト目，第２バイト目の単位バスの使用状況を「未使用」から「バスマスタ２−１が使用中」に更新する（Ｂ６）。
【００３７】
バスアービタ１から送出されたバス使用許可信号ＢＧ−１及びバス使用許可位置信号Ｐ１−１，Ｐ２−１は、それぞれバスマスタ２−１内のバス使用許可信号受信手段２５及びバス使用許可位置信号受信手段２６で受信され、バス使用許可信号受信手段２５は、バス使用許可信号ＢＧ−１を受信すると、バス使用許可位置解読手段２７に解読開始を指示する（図３，Ａ５）。
【００３８】
これにより、バス使用許可位置解読手段２７は、バス使用許可位置信号受信手段２６の受信結果に基づいて、使用権が与えられた単位バスを求め、その単位バスをデータ転送実行手段２８に通知する（Ａ６）。この例の場合、バス使用許可位置信号受信手段２６ではバス使用許可位置信号Ｐ１−１，Ｐ２−１を受信しているので、バス使用許可位置解読手段２７は、データ転送実行手段２８に第１バイト目，第２バイト目の単位バスの使用権が与えられたことを通知する。
【００３９】
データ転送実行手段２８は、使用権の与えられた単位バス（第１，第２バイト目の単位バス）が通知されると、データの転送先（例えば、バススレーブ３−１）に、データの転送に使用する単位バスを信号線２８１ａを介して通知した後、第１バイト，第２バイト目の単位バスを使用してデータ転送を行う（Ａ７）。
【００４０】
図５はデータ転送実行手段２８の構成例を示すブロック図であり、バス使用位置通知部２８１と、転送データが格納される４バイト構成のレジスタ２８２と、データ転送部２８３とが設けられている。尚、レジスタ２８２には、ｎバイト構成のデータを転送する場合、その第０バイト〜第（ｎ−１）バイトに転送データが格納される。
【００４１】
バス使用位置通知部２８１は、バス使用許可位置解読手段２７から使用権の与えられた単位バス（第１バイト目，第２バイト目の単位バス）が通知されると、データ転送先（例えばバススレーブ３−１）に、信号線２８１ａを介してデータ転送に使用する単位バス（第１バイト目，第２バイト目の単位バス）を通知し、その後、データ転送部２８３にデータ転送開始を指示する。これにより、データ転送部２８３は、レジスタ２８２の第０バイト〜第（ｎ−１）バイトに格納されている転送データを、それぞれ（使用権が与えられた最も下位側の単位バス）〜（使用権が与えられた最も上位側の単位バス）に出力する。従って、この例の場合、データ転送部２８３は、レジスタ２８２の第０バイト，第１バイトに格納されているデータを、それぞれ第１バイト目，第２バイト目の単位バスに出力することになる。
【００４２】
図６はバススレーブ３−１の構成例を示すブロック図であり、データ受信部３１と、受信データが格納されるレジスタ３２とを備えている。
【００４３】
データ受信部３１は、データ転送実行手段２８から信号線２８１ａを介して、第１バイト目，第２バイト目の単位バスを使用してデータ転送を行うことが通知されると、第１バイト目，第２バイト目の単位バス上のデータを受信し、それらをそれぞれレジスタ３２の第バイト０，第１バイト目に格納する。
【００４４】
次に、バス解放時の動作について説明する。
【００４５】
今、例えば、第１バイト目，第２バイト目の単位バスを使用してデータ転送を行っていたバスマスタ２−１がデータ転送を完了したとすると、バスマスタ２−１内のバス使用要求信号生成手段２１が、バス使用要求信号送出手段２２に対してバス使用要求信号ＢＲ−１の送出停止を指示し、バス使用要求幅信号生成手段２３が、バス使用要求幅信号送出手段２４に対してバス使用要求幅信号Ｗ２−１の送出停止を指示する。これにより、バス使用要求信号送出手段２２，バス使用要求幅信号送出手段２４が、バス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ２−１の送出を停止する。
【００４６】
バスアービタ１内のバス使用状況管理手段１５は、バスマスタ２−１からバス使用要求信号ＢＲ−１が送出されなくなると、バス使用状況管理テーブル１５１に登録されている各単位バスの使用状況の内、「バスマスタ２−１が使用中」となっている第１，第２バイト目の単位バスの使用状況を「未使用」に更新する（図７，Ｃ１）。
【００４７】
次に、バス使用状況管理手段１５は、バス使用許可信号送出手段１７に対して、バスマスタ２−１へのバス使用許可信号ＢＧ−１の送出停止を指示する（Ｃ２）。これにより、バス使用許可信号送出手段１７は、バス使用許可信号ＢＧ−１の送出を停止する。
【００４８】
その後、バス使用状況管理手段１５は、バス使用許可手段１３に対して、単位バスが解放されたことを通知する（Ｃ３）。
【００４９】
これにより、バス使用許可手段１３は、要求保留部１４に格納されている未注目のバス使用要求の内の、最も格納順が古いバス使用要求に注目する（Ｃ４）。尚、バス使用要求には、前述したように要求元のバスマスタ２−ｉの識別子と、使用要求されている単位バスの数とが含まれている。
【００５０】
その後、バス使用許可手段１３は、現在注目中のバス使用要求が使用要求している単位バス数以上の単位バスが未使用であるか否かを、バス使用状況管理テーブル１５１の内容に基づいて判断する（Ｃ６）。
【００５１】
そして、使用要求されている単位バス数以上の、未使用の単位バスが存在しないと判断した場合（Ｃ６がＮＯ）は、ステップＣ４の処理に戻る。
【００５２】
これに対して、使用要求されている単位バス数以上の、未使用の単位バスが存在すると判断した場合（Ｃ６がＹＥＳ）は、バス使用許可信号送出手段１７に対して、注目中のバス使用要求の要求元バスマスタ２−ｉへバス使用要求信号ＢＧ−ｉを送出することを指示する（Ｃ７）。更に、ステップＣ７に於いては、未使用の単位バスの中から、注目中の使用要求が使用要求している数の単位バスを選択し、バス使用許可位置信号送出手段１６に対して、要求元バスマスタ２−ｉへのバス使用許可位置信号Ｐ０−ｉ〜Ｐ３−ｉの内の、上記選択した単位バスに対応する信号の送出を指示する。今、例えば、使用要求されている単位バス数が「１」で、未使用の単位バスの内の、第２バイト目の単位バスを選択したとすると、バス使用許可位置信号Ｐ２−ｉの送出を指示することになる。
【００５３】
これにより、バス使用許可信号送出手段１７は、バス使用許可信号ＢＧ−ｉを出力し、バス使用許可位置信号送出手段１６は、バス使用許可位置信号Ｐ２−ｉを出力する（Ｃ８）。その後、バス使用許可手段１３は、現在注目しているバス使用要求を要求保留部１４から削除する（Ｃ９）。
【００５４】
また、バス使用状況管理手段１５は、バス使用許可信号ＢＧ−ｉ及びバス使用許可位置信号Ｐ２−ｉが出力されると、バス使用状況管理テーブル１５１に登録されている第２バイト目の単位バスに対する使用状況を「未使用」から「バスマスタ２−ｉが使用中」に更新する（Ｃ１０）。その後、再びステップＣ４の処理が行われる。
【００５５】
以上の処理が繰り返し行われ、要求保留部１４に未注目のバス使用要求がなくなると（Ｃ５がＮＯ）、処理終了となる。尚、バス使用状況管理手段１５から単位バスの解放が通知された時点に於いて、要求保留部１４にバス使用要求が格納されていない場合も、ステップＣ５の判断結果がＮＯとなり処理終了となる。
【００５６】
次に、具体例を挙げて本実施例の動作について説明する。
【００５７】
今、例えば、バス１００を構成する第０バイト目〜第３バイト目の４個の単位バスが全く使用されていない状態に於いて、図８のタイミングチャートに示すように、バスマスタ２−１が、時刻ｔ１に於いてバス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ１−１（１個の単位バスを要求する信号）を送出し、バスマスタ２−２が、時刻ｔ４に於いてバス使用要求信号ＢＲ−２，バス使用要求幅信号Ｗ１−２（１個の単位バスを要求する信号）を送出し、バスマスタ２−３が、時刻ｔ７に於いてバス使用要求信号ＢＲ−３，バス使用要求幅信号Ｗ１−３（１個の単位バスを要求する信号）を送出し、バスマスタ２−４が、時刻ｔ１０に於いてバス使用要求信号ＢＲ−４，バス使用要求幅信号Ｗ１−４（１個の単位バスを要求する信号）を送出したとする。
【００５８】
バスアービタ１は、バスマスタ２−１から１個の単位バスを要求するバス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ１−１が加えられた時刻ｔ１に於いては、未使用の単位バス数が「４」であるので、時刻ｔ２に於いて、バス使用許可信号ＢＧ−１を送出すると共に、第０バイト目の単位バスを示すバス使用許可位置信号Ｐ０−１を送出する。また、バスマスタ２−２から１個の単位バスを要求するバス使用要求信号ＢＲ−２，バス使用要求幅信号Ｗ１−２が加えられた時刻ｔ４、バスマスタ２−３から１個の単位バスを要求するバス使用要求信号ＢＲ−３，バス使用要求幅信号Ｗ１−３が加えられた時刻ｔ７、及びバスマスタ２−４から１個の単位バスを要求するバス使用要求信号ＢＲ−４，バス使用要求幅信号Ｗ１−４が加えられた時刻ｔ１０に於いては、未使用の単位バス数がそれぞれ「３」，「２」，「１」であるので、時刻ｔ５に於いてバス使用許可信号ＢＧ−２，バス使用許可位置信号Ｐ１−２を送出し、時刻ｔ８に於いてバス使用許可信号ＢＧ−３，バス使用許可位置信号Ｐ２−３を送出し、時刻ｔ１１に於いてバス使用許可信号ＢＧ−４，バス使用許可位置信号Ｐ３−４を送出する。以上の処理により、バスマスタ２−１，２−２，２−３，２−４に、それぞれ第０バイト目，第１バイト目，第２バイト目，第３バイト目の単位バスの使用権が与えられ、４台のバスマスタ２−１〜２−４が同時にバス１００を使用することが可能になる。
【００５９】
また、例えば、バス１００を構成する４個の単位バスが全て未使用である時に、図９のタイミングチャートに示すように、バスマスタ２−１が時刻ｔ１に於いてバス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ１−１（１個の単位バスを要求する信号）を送出し、バスマスタ２−２が時刻ｔ４に於いてバス使用要求信号ＢＲ−２，バス使用要求幅信号Ｗ２−２（２個の単位バスを要求する信号）を送出し、バスマスタ２−３が時刻ｔ７に於いてバス使用要求信号ＢＲ−３，バス使用要求幅信号Ｗ１−３（１個の単位バスを要求する信号）を送出し、バスマスタ２−４が時刻ｔ９に於いてバス使用要求信号ＢＲ−４，バス使用要求幅信号Ｗ２−４（２個の単位バスを要求する信号）を送出したとする。
【００６０】
バスアービタ１は、バスマスタ２−１から１個の単位バスを要求するバス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ１−１が加えられた時刻ｔ１、バスマスタ２−２から２個の単位バスを要求するバス使用要求信号ＢＲ−２，バス使用要求幅信号Ｗ２−２が加えられた時刻ｔ４及びバスマスタ２−３から１個の単位バスを要求するバス使用要求信号ＢＲ−３，バス使用要求幅信号Ｗ１−３が加えられた時刻ｔ７に於いては、未使用の単位バス数がそれぞれ「４」，「３」，「１」であるので、時刻ｔ２に於いてバス使用許可信号ＢＧ−１，バス使用許可位置信号Ｐ０−１を出力し、時刻ｔ５に於いてバス使用許可信号ＢＧ−２，バス使用許可位置信号Ｐ１−２，Ｐ２−２を出力し、時刻ｔ８に於いてバス使用許可信号ＢＧ−３，バス使用許可位置信号Ｐ３−３を出力する。以上の処理により、バスマスタ２−１に第０バイト目の単位バスの使用権が、バスマスタ２−２に第１バイト目，第２バイト目の単位バスの使用権が、バスマスタ２−３に第３バイト目の単位バスの使用権が与えられる。
【００６１】
しかし、バスマスタ２−４から２個の単位バスを要求するバス使用要求信号ＢＲ−４，バス使用要求幅信号Ｗ２−４が加えられた時刻ｔ９に於いては、未使用の単位バス数が「０」であるので、その要求は保留状態にされる。その後、時刻ｔ１０に於いてバスマスタ２−１が第０バイト目の単位バスを解放するが、未使用の単位バス数は「１」にしかならず、使用要求されている単位バス数「２」より少ないので、上記要求は保留状態のままとなる。その後、時刻ｔ１３に於いて、バスマスタ２−２が第１バイト目，第２バイト目の単位バスを解放すると、未使用の単位バス数が「３」となり、使用要求されている単位バス数「２」以上となるので、バスアービタ１は、時刻ｔ１４に於いて、バスマスタ２−４に対してバス使用許可信号ＢＧ−４を送出すると共に、バス使用許可位置信号Ｐ０−４，Ｐ１−４を送出する。これにより、バスマスタ２−４に、第０バイト目，第１バイト目の単位バスの使用権が与えられる。
【００６２】
また、例えば、バス１００を構成する４個の単位バスが全て未使用である時に、図１０のタイミングチャートに示すように、バスマスタ２−１が時刻ｔ１に於いてバス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ３−１（３個の単位バスを要求する信号）を送出し、バスマスタ２−２が時刻ｔ４に於いてバス使用要求信号ＢＲ−２，バス使用要求幅信号Ｗ２−２（２個の単位バスを要求する信号）を送出し、バスマスタ２−３が時刻ｔ７に於いてバス使用要求信号ＢＲ−３，バス使用要求幅信号Ｗ１−３（１個の単位バスを要求する信号）を送出したとする。
【００６３】
バスアービタ１は、バスマスタ２−１から３個の単位バスを要求するバス使用要求信号ＢＲ−１，バス使用要求幅信号Ｗ３−１が加えられた時刻ｔ１に於いては、未使用の単位バス数が「４」であるので、時刻ｔ２に於いて、要求元のバスマスタ２−１に対してバス使用許可信号ＢＧ−１を出力すると共に、バス使用許可位置信号Ｐ０−１，Ｐ１−１，Ｐ２−１を送出する。これにより、バスマスタ２−１に、第０〜第２バイト目の単位バスの使用権が与えられる。
【００６４】
その後、時刻ｔ４に於いて、バスマスタ２−２から２個の単位バスを要求するバス使用要求信号ＢＲ−２，バス使用要求幅信号Ｗ２−２が加えられるが、この時点に於ける未使用の単位バス数は「１」であり、要求されている単位バス数「２」よりも少ないので、この要求は保留状態にされる。
【００６５】
その後、時刻ｔ７に於いて、バスマスタ２−３から１個の単位バスを要求するバス使用要求信号ＢＲ−３，バス使用要求幅信号Ｗ１−３が加えられると、バスアービタ１は、未使用の単位バス数「１」と要求されている単位バス数「１」とが等しいので、時刻ｔ８に於いて、バスマスタ２−３に対してバス使用許可信号ＢＧ−３を送出すると共に、バス使用許可位置信号Ｐ３−３を送出する。これにより、バスマスタ２−３に第３バイト目の単位バスの使用権が与えられる。
【００６６】
その後、時刻ｔ１３に於いて、バスマスタ２−１が第０バイト目，第１バイト目，第２バイト目の単位バスを解放すると、未使用の単位バス数が「３」となるので、バスアービタ１は、時刻ｔ１４に於いて、要求が保留されているバスマスタ２−２に対して、バス使用許可信号ＢＧ−２を送出すると共に、バス使用許可位置信号Ｐ０−２，Ｐ１−２を送出する。これにより、バスマスタ２−２には、第０バイト目，第１バイト目の単位バスの使用権が与えられる。
【００６７】
【発明の効果】
以上説明したように、本発明は、先行するバス使用要求が保留状態になっても、後続のバス使用要求が必要とする単位バス以上の単位バスが未使用であれば、後続のバス使用要求の要求元バスマスタにバス使用権を与えるようにしているので、バスマスタが待機状態になる回数を減らし、システム性能を高めることができる。
【図面の簡単な説明】
【図１】本発明の実施例のブロック図である。
【図２】バス使用状況管理テーブル１５１の内容例を示す図である。
【図３】バスマスタ２−１〜２−４の処理例を示す流れ図である。
【図４】バス使用要求が発生した時のバスアービタ１の処理例を示す流れ図である。
【図５】データ転送実行手段２８の構成例を示すブロック図である。
【図６】バススレーブ３−１の構成例を示すブロック図である。
【図７】バス解放時のバスアービタ１の処理例を示す流れ図である。
【図８】実施例の動作を説明するためのタイミングチャートである。
【図９】実施例の動作を説明するためのタイミングチャートである。
【図１０】実施例の動作を説明するためのタイミングチャートである。
【符号の説明】
１…バスアービタ
１１…バス使用要求信号受信手段
１２…使用単位バス数解読手段
１３…バス使用許可手段
１４…要求保留部
１５…バス使用状況管理手段
１５１…バス使用状況管理テーブル
１６…バス使用許可位置信号送出手段
１７…バス使用許可信号送出手段
２−１〜２−４…バスマスタ
２０…バス使用要求手段
２１…バス使用要求信号生成手段
２２…バス使用要求信号送出手段
２３…バス使用要求幅信号生成手段
２４…バス使用要求幅信号送出手段
２５…バス使用許可信号受信手段
２６…バス使用許可位置信号受信手段
２７…バス使用許可位置解読手段
２８…データ転送実行手段
２８１…バス使用位置通知部
２８１ａ，２８１ｂ…信号線
２８２…レジスタ
２８３…データ転送部
３−１，３−２…バススレーブ
３１…データ受信部
３２…レジスタ
１００…バス
【図１】
0003598958.tif 000002
【図２】
0003598958.tif 000003
【図３】
0003598958.tif 000004
【図４】
0003598958.tif 000005
【図５】
0003598958.tif 000006
【図６】
0003598958.tif 000007
【図７】
0003598958.tif 000008
【図８】
0003598958.tif 000009
【図９】
0003598958.tif 000010
【図１０】
0003598958.tif 000011