(57)【要約】      （修正有）【課題】バスマスタの数の増加に伴ってバス獲得用の信号線の数が増加するのを防止する。【解決手段】情報処理装置は、データ転送を行うためのバス１２と、入力された信号を伝送するための１本の判断用信号線１４と、バス１２及び判断用信号線１４に接続され、かつ、バスの使用権獲得に関する優先順位が設定された複数のバスマスタを備え、バス１２の使用権を獲得する必要があるバスマスタ１６は、バス１２の使用権を獲得していない他のバスマスタ１６によってバス１２の使用権の獲得が要求されたとき、他のバスマスタ１６と同時に自己の優先順位を示す優先順位信号を信号線１４に出力すると共に、信号線１４に同時に出力された複数の優先順位信号を合成した合成信号に基づいて、バス１２の使用権を獲得したか否かを判断し、バス１２を介してデータ転送を行うバスマスタ群とを含んで構成されている。【選択図】図２
2007079964.tif 000002
【特許請求の範囲】
【請求項１】
データ転送を行うためのバスと、
入力された信号を伝送するための１本の信号線と、
前記バス及び前記信号線に接続され、かつ、前記バスの使用権獲得に関する優先順位が設定された複数のバスマスタを備え、前記バスの使用権を獲得する必要がある前記バスマスタは、前記バスの使用権を獲得していない他のバスマスタによって前記バスの使用権の獲得が要求されたとき、前記他のバスマスタと同時に自己の優先順位を示す優先順位信号を前記信号線に出力すると共に、前記信号線に同時に出力された複数の前記優先順位信号を合成した合成信号に基づいて、前記バスの使用権を獲得したか否かを判断し、前記バスの使用権を獲得したと判断した場合に、前記バスを介してデータ転送を行うバスマスタ群と、
を含む情報処理装置。
【請求項２】
前記優先順位信号は、所定のビット数のデジタル信号であって、
前記合成信号は、前記優先順位信号をビット毎に論理和及び論理積の何れか一方によって合成したことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記バスマスタは、前記優先順位信号をビット毎に前記信号線に出力すると共に、ビット毎に前記信号線における合成信号をモニタリングし、前記合成信号に基づいて、ビット毎に他のバスマスタの方が優先順位が高いか否かを判断し、前記他のバスマスタの方が優先順位が高いと判断された後の前記優先順位信号の出力を停止する請求項２項記載の情報処理装置。
【請求項４】
前記バスマスタは、オープンドレイン回路及びオープンコレクタ回路の何れか一方によって前記信号線に接続されている請求項１〜請求項３の何れか１項記載の情報処理装置。
【請求項５】
前記バスマスタは、３ステートバッファを備え、前記３ステートバッファによって前記信号線に接続されている請求項１〜請求項３の何れか１項記載の情報処理装置。
【請求項６】
前記バスマスタは、前記信号線における前記合成信号に基づいて、前記バスの使用権を獲得したバスマスタに設定されている前記優先順位を記憶する記憶手段と、
前記バスの使用権を獲得したと判断した場合、自己の優先順位を最も低い優先順位に更新し、
他のバスマスタが前記バスの使用権を獲得した場合、前記記憶手段に記憶された優先順位より自己の優先順位が低いと、自己の優先順位を高くするように更新する更新手段と、
を備える請求項１〜請求項５の何れか１項記載の情報処理装置。
【請求項７】
データ転送を行うと共に、入力された信号を伝送するためのバスと、
前記バスに接続され、かつ、前記バスの使用権獲得に関する優先順位が予め定められた複数のバスマスタを備え、前記バスの使用権を獲得している前記バスマスタ及び前記バスの使用権の獲得の必要が発生している前記バスマスタは、他のバスマスタによって前記バスの使用権の獲得が要求されたとき、前記他のバスマスタと同時に自己の優先順位を示す優先順位信号を前記バスに出力すると共に、前記バスに同時に出力された複数の前記優先順位信号を合成した合成信号に基づいて、前記バスの使用権を獲得したか否かを判断し、前記バスの使用権を獲得したと判断した場合に、前記バスを介してデータ転送を行うバスマスタ群と、
を含む情報処理装置。
【請求項８】
データ転送を行うためのバスと、入力された信号を伝送するための１本の信号線と、前記バス及び前記信号線に接続され、かつ、前記バスの使用権獲得に関する優先順位が設定された複数のバスマスタを備えたバスマスタ群とを含む情報処理装置の前記バスマスタにおけるバス使用権獲得方法であって、
前記バスの使用権を獲得する必要があり、かつ、前記バスの使用権を獲得していない他のバスマスタによって前記バスの使用権の獲得が要求されたとき、前記他のバスマスタと同時に自己の優先順位を示す優先順位信号を前記信号線に出力すると共に、前記信号線に同時に出力された複数の前記優先順位信号を合成した合成信号に基づいて、前記バスの使用権を獲得したか否かを判断し、前記バスの使用権を獲得したと判断した場合に、前記バスを介してデータ転送を行うことを特徴とするバス使用権獲得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びバス使用権獲得方法に係り、特に、複数のバスマスタがバスの使用権を獲得したときに、バスを介してデータ転送を行う情報処理装置及びバス使用権獲得方法に関する。
【背景技術】
【０００２】
従来、情報処理装置において、バスに複数のバスマスタが接続されている場合には、バスの使用権を獲得したバスマスタがバスを介してデータ転送を行う。このとき、バスの使用権をどのバスマスタに獲得させるかを調停する必要があり、この調停方式はバス・アービトレーション方式（バス使用権獲得方式）と呼ばれている。
【０００３】
このバス・アービトレーション方式では、一般的に、バス上に存在するバスマスタの数だけのバス要求信号線及びバス使用許可信号線を利用し、各バスマスタがバス利用調停者として存在するバスアービタ(ｂｕｓ  ａｒｂｉｔｅｒ)のチャンネルに１対１の対応で接続されている。
【０００４】
しかし、このバス・アービトレーション方式では、少なくともバス上に存在するバスマスタの数のバス要求信号線及びバス使用許可信号線が必要となり、多数のバスマスタが存在するバスにおいては多数のバス要求信号線及びバス使用許可信号線が必要となってしまい、またバスアービタに用意されたバス要求信号線及びバス使用許可信号線の数しかバスマスタをサポートできず、拡張する場合はバスアービタを変更する必要があった。
【０００５】
そこで、多数のバスマスタがあっても信号線が増加しないバス・アービトレーション方式として、各々のバス要求元からのバス要求信号をスロツトに時分割された信号として多重化して出力し、バス使用権を得たバス要求元のバス要求元コードを、各バス要求元の要求コード出力信号線に出力するバス・アービトレーション方式が知られている（特許文献１）。
【０００６】
また、各入出力装置からのバス使用要求と優先順位とを所定のタイムスロットに挿入しバス調停手段に転送する要求ハイウェイと、各入出力装置とバス調整手段とを接続し、かつ、バスの使用許可を各入出力装置へ転送するための許可ハイウェイとを備えるバス調停方式が知られている（特許文献２）。
【０００７】
また、バス使用権を必要とする各モジュールは、バス上のバスサイクルよりバス使用権要求受付けサイクルを検出し、バス使用権要求受付けサイクル中に、既存の信号線のうち予め自モジュールに割り当たられた信号線にバス使用権要求信号を送出することにより、バス要求信号線とバス使用許可信号線とを不要とするバス使用権獲得方式が知られている（特許文献３）。
【０００８】
また、複数のバスマスタが、バス権制御線を介してループ状にディジチェーン接続されており、バス許可パルスがこのループを巡回するバス・アービトレーション方式が知られている（特許文献４）。
【特許文献１】特開平２―４５８５７号公報
【特許文献２】特開平９―１９８３４２号公報
【特許文献３】特開平２―２２４１６６号公報
【特許文献４】特開平５―２８１０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載のバス・アービトレーション方式によると、バス要求信号線の数は減らされているが、バス要求元の各々に要求コード出力信号線が接続されているため、バス要求元が増加すると、信号線数が増えてしまう、という問題がある。
【００１０】
また、特許文献２に記載のバス調停方式によると、バス使用要求と優先順位とを時分割多重化して出力するため、バス使用要求がアービタに伝わるまでに時間がかかってしまう、という問題がある。
【００１１】
また、特許文献３に記載のバス使用権獲得方式によれば、各モジュールに接続されている全ての信号線をモニタする必要があるため、バス使用権の獲得のための判定に時間がかかってしまう、という問題がある。
【００１２】
また、特許文献４に記載のバス・アービトレーション方式によると、バス許可パルスが巡回するのでバスマスタが多くなるに従って、バス使用権の獲得のための判定に時間がかかってしまう、という問題がある。
【００１３】
本発明は、上記の問題点を解決するためになされたもので、バスマスタの数の増加に伴ってバス獲得用の信号線の数が増加するのを防止すると共に、バス使用権の獲得のための判断時間を短縮することができる情報処理装置及びバス使用権獲得方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために第１の発明に係る情報処理装置は、データ転送を行うためのバスと、入力された信号を伝送するための１本の信号線と、前記バス及び前記信号線に接続され、かつ、前記バスの使用権獲得に関する優先順位が設定された複数のバスマスタを備え、前記バスの使用権を獲得する必要がある前記バスマスタは、前記バスの使用権を獲得していない他のバスマスタによって前記バスの使用権の獲得が要求されたとき、前記他のバスマスタと同時に自己の優先順位を示す優先順位信号を前記信号線に出力すると共に、前記信号線に同時に出力された複数の前記優先順位信号を合成した合成信号に基づいて、前記バスの使用権を獲得したか否かを判断し、前記バスの使用権を獲得したと判断した場合に、前記バスを介してデータ転送を行うバスマスタ群とを含んで構成されている。
【００１５】
また、第２の発明に係るバス使用権獲得方法によれば、データ転送を行うためのバスと、入力された信号を伝送するための１本の信号線と、前記バス及び前記信号線に接続され、かつ、前記バスの使用権獲得に関する優先順位が設定された複数のバスマスタを備えたバスマスタ群とを含む情報処理装置の前記バスマスタにおけるバス使用権獲得方法であって、前記バスの使用権を獲得する必要があり、かつ、前記バスの使用権を獲得していない他のバスマスタによって前記バスの使用権の獲得が要求されたとき、前記他のバスマスタと同時に自己の優先順位を示す優先順位信号を前記信号線に出力すると共に、前記信号線に同時に出力された複数の前記優先順位信号を合成した合成信号に基づいて、前記バスの使用権を獲得したか否かを判断し、前記バスの使用権を獲得したと判断した場合に、前記バスを介してデータ転送を行うことを特徴としている。
【００１６】
第１の発明及び第２の発明によれば、バスの使用権を獲得する必要があるバスマスタは、バスの使用権を獲得していない他のバスマスタによってバスの使用権の獲得が要求されたとき、他のバスマスタと同時に自己の優先順位を示す優先順位信号を信号線に出力すると共に、信号線に同時に出力された複数の優先順位信号を合成した合成信号に基づいて、バスの使用権を獲得したか否かを判断する。
【００１７】
そして、バスの使用権を獲得したと判断した場合に、バスマスタは、バスを介してデータ転送を行う。
【００１８】
従って、バスの使用権獲得の判断を行うときに、各バスマスタが１本の信号線に優先順位信号を出力するため、バスマスタの数の増加に伴ってバス獲得用の信号線の数が増加するのを防止することができ、また、信号線に同時に出力された複数の優先順位信号を合成した合成信号に基づいて、バスの使用権を獲得したか否かを判断するため、バス使用権の獲得のための判断時間を短縮することができる。
【００１９】
上記の優先順位信号は、所定のビット数のデジタル信号であって、合成信号は、複数の優先順位信号をビット毎に論理和及び論理積の何れか一方によって合成したことを特徴とすることができる。これにより、デジタル信号を扱うため、簡易なデジタル回路によって実現することができる。また、このバスマスタは、優先順位信号をビット毎に信号線に出力すると共に、ビット毎に信号線における合成信号をモニタリングし、合成信号に基づいて、ビット毎に他のバスマスタの方が優先順位が高いか否かを判断し、他のバスマスタの方が優先順位が高いと判断された後の優先順位信号の出力を停止することができる。
【００２０】
また、上記のバスマスタを、オープンドレイン回路及びオープンコレクタ回路の何れか一方によって信号線に接続することができる。これにより、簡単な構成によって、例えば、ワイヤードＡＮＤ回路を実現することができ、複数の優先順位信号を合成することができる。
【００２１】
また、上記のバスマスタは、３ステートバッファを備え、３ステートバッファによって信号線に接続することができる。これにより、簡単な構成によって、複数の優先順位信号を合成することができる。
【００２２】
また、上記のバスマスタは、信号線における合成信号に基づいて、バスの使用権を獲得したバスマスタに設定されている優先順位を記憶する記憶手段と、バスの使用権を獲得したと判断した場合、自己の優先順位を最も低い優先順位に更新し、他のバスマスタがバスの使用権を獲得した場合、記憶手段に記憶された優先順位より自己の優先順位が低いと、自己の優先順位を高くするように更新する更新手段とを備えることができる。これにより、全てのバスマスタが順番にバスの使用権を獲得することができる。
【００２３】
また、第３の発明に係る情報処理装置は、データ転送を行うと共に、入力された信号を伝送するためのバスと、前記バスに接続され、かつ、前記バスの使用権獲得に関する優先順位が予め定められた複数のバスマスタを備え、前記バスの使用権を獲得している前記バスマスタ及び前記バスの使用権の獲得の必要が発生している前記バスマスタは、他のバスマスタによって前記バスの使用権の獲得が要求されたとき、前記他のバスマスタと同時に自己の優先順位を示す優先順位信号を前記バスに出力すると共に、前記バスに同時に出力された複数の前記優先順位信号を合成した合成信号に基づいて、前記バスの使用権を獲得したか否かを判断し、前記バスの使用権を獲得したと判断した場合に、前記バスを介してデータ転送を行うバスマスタ群とを含んで構成されている。
【００２４】
第３の発明に係る情報処理装置によれば、バスの使用権を獲得しているバスマスタ及びバスの使用権の獲得の必要が発生しているバスマスタは、他のバスマスタによってバスの使用権の獲得が要求されたとき、他のバスマスタと同時に自己の優先順位を示す優先順位信号をバスに出力すると共に、バスに同時に出力された複数の優先順位信号を合成した合成信号に基づいて、バスの使用権を獲得したか否かを判断する。そして、バスマスタは、バスの使用権を獲得したと判断した場合に、バスを介してデータ転送を行う。
【００２５】
従って、バスの使用権獲得の判断を行うときに、各バスマスタがバスに優先順位信号を出力するため、バスマスタの数の増加に伴ってバス獲得用の信号線の数が増加するのを防止することができ、また、バスに同時に出力された複数の優先順位信号を合成した合成信号に基づいて、バスの使用権を獲得したか否かを判断するため、バス使用権の獲得のための判断時間を短縮することができる。
【００２６】
また、バスのみでバス獲得の判断とデータ転送とを行うことができるため、安価な構成とすることができる。
【発明の効果】
【００２７】
以上説明したように、本発明の情報処理装置及びバス使用権獲得方法によれば、バスの使用権獲得の判断を行うときに、各バスマスタが１本の信号線に優先順位信号を出力するため、バスマスタの数の増加に伴ってバス獲得用の信号線の数が増加するのを防止することができ、また、信号線に同時に出力された複数の優先順位信号を合成した合成信号に基づいて、バスの使用権を獲得したか否かを判断するため、バス使用権の獲得のための判断時間を短縮することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の第１の実施の形態について図面を参照して説明する。
【００２９】
図１に示すように、第１の実施の形態に係る情報処理装置１０は、データ転送を行うためのバス１２と、バス１２の使用権の獲得判断のための信号を伝送する１本の判断用信号線１４と、バス１２と判断用信号線１４とに接続され、かつ、バス１２の使用権を獲得したときに、バス１２を介してデータ転送を行うＮ個のバスマスタ１６Ａ〜１６Ｃとを備えている。
【００３０】
バスマスタ１６Ａ〜１６Ｃの各々には、図２に示すように、判断用信号線１４に対して双方向接続されている出力バッファ１８及び入力バッファ２０が設けられており、出力バッファ１８は、オープンドレイン回路及びオープンコレクタ回路の何れか一方から構成されるバッファとなっている。また、各バスマスタ１６Ａ〜１６Ｃの出力バッファ１８の出力が判断用信号線１４に共通接続されており、ワイヤードＯＲ（論理的にはＡＮＤとなっているのでワイヤードＡＮＤともいう）接続となっている。したがって、判断用信号線１４の信号は、出力バッファ１８からの信号レベルの論理積をとって合成した信号となっている。
【００３１】
また、出力バッファ１８は、オープンドレイン回路及びオープンコレクタ回路から構成されるバッファとなっているため、判断用信号線１４にはプルアップ抵抗２２が設けられている。また、入力バッファ２０は、判断用信号線１４によって伝送されている信号に基づいて、ＲＥＱＩＮ信号を出力するようになっている。
【００３２】
また、バスマスタ１６Ａ〜１６Ｃには、出力バッファ１８にＲＥＱＯＵＴ信号を出力すると共に、入力バッファ２０からのＲＥＱＩＮ信号が入力される順序回路によって構成されたバス獲得判断用シーケンサー２４が設けられており、バス獲得判断用シーケンサー２４からハイレベルのＲＥＱＯＵＴ信号が出力されると、出力バッファ１８が判断用信号線１４を接地電位と接続させて、判断用信号線１４がローレベルの電位となるようになっている。従って、出力バッファ１８は、入力されるＲＥＱＯＵＴ信号に基づいて、ローレベル及びハイレベルの何れか一方のデジタル信号を判断用信号線１４に出力するようになっている。
【００３３】
また、バス獲得判断用シーケンサー２４は、後述するバス制御回路にバス１２の使用権を獲得したか否かを示すＢＵＳＯＫ信号を出力するようになっており、バス１２の使用権を獲得している状態では、ハイレベルのＢＵＳＯＫ信号が出力され、バス１２の使用権を獲得できていない状態では、ローレベルのＢＵＳＯＫ信号が出力されるようになっている。
【００３４】
また、バスマスタ１６Ａ〜１６Ｃには、優先順位を示す情報（プライオリティレベル値）が格納されているプライオリティレベルレジスタ２６が設けられており、情報処理装置１０のＣＰＵ（図示省略）によってバスマスタ１６Ａ〜１６Ｃの各々に対して優先順位が予め定められ、バス１２を介して優先順位を示す情報（プライオリティレベル値）がプライオリティレベルレジスタ２６に格納されるようになっている。
【００３５】
このプライオリティレベル値は、図３に示すように、例えば８個のバスマスタに対して、０〜７までのプライオリティレベル値が割り当てられおり、３ビットの値となっている。なお、本実施の形態では、優先順位が一番高いプライオリティレベル値を０とし、一番低いプライオリティレベル値を７とする。プライオリティレベルレジスタ２６に格納されたプライオリティレベル値は、ＰＬＶＬ［２：０］としてバス獲得判断用シーケンサー２４に入力される。本実施の形態における前提条件として、プライオリティレベル値は全てのバスマスタにおいてユニークであって、複数のバスマスタに対し同一の優先順位が設定されることはない。
【００３６】
また、バスマスタ１６Ａ〜１６Ｃには、バス１２を介したデータ転送を制御するバス制御回路２８が設けられ、また、バスマスタ固有の機能を実現するために実装されている固有回路３０が設けられている。バスマスタは、例えば、メモリユニットやイーサネット（登録商標）コントローラ、ハードディスクコントローラであり、固有回路３０はこれら固有の機能を実現するための回路となっている。また、バスマスタ１６Ａ〜１６Ｃによって行われるデータ転送には、データを送信することだけではなく、データを受信することも含まれる。
【００３７】
また、バス１２には、例えば、例えば、ＰＣＩバス、ＣＰＵバス、メモリバスなどがある。
【００３８】
次に、判断用信号線１４における信号の意味について図４、図５を用いて説明する。なお、図４に示すように、バスマスタ数が１〜４個であり、プライオリティレベル値が２ビットの値となっている場合について説明する。判断用信号線１４は、通常Ｉｄｌｅ状態であり、この状態では判断用信号線１４における信号はハイレベルとなっている。また、バス獲得判断を行う状態では、バスクロックに同期して、まずＳｔａｒｔビット（信号はローレベル）になり、その後にプライオリティレベル判断フィールドが続く。プライオリティレベル判断フィールドは２ビットの信号からなり、プライオリティレベル判断フィールドのあとは、Ｉｄｌｅ状態になるか、もしくは続けてＳｔａｒｔビットから始まる次のバス獲得判断を行う状態になる。
【００３９】
また、バスマスタ数が１〜８個である場合には、図５に示すように、プライオリティレベル値が３ビットの値となっており、プライオリティレベル判断フィールドが３ビットの信号からなる。以下では、プライオリティレベル値が３ビットの値となっている場合について説明する。
【００４０】
次に、バス獲得判断用シーケンサー２４によって実行されるバス獲得判断処理について図６を用いて説明する。なお、以下では、バスマスタ１６Ａのバス獲得判断用シーケンサー２４の場合を例に説明する。
【００４１】
まず、ステップ１００において、Ｉｄｌｅ状態として、ハイレベルのＲＥＱＯＵＴ信号を出力バッファ１８に出力すると共に、ローレベルのＢＵＳＯＫ信号をバス制御回路２８に出力し、ステップ１０２において、ＲＥＱＩＮ信号がハイレベルであって、かつ、バス使用権獲得要求があるか否かを判定し、他のバスマスタ１６Ｂ、１６Ｃからバス使用権獲得要求がないため、ＲＥＱＩＮ信号がハイレベルであり、かつ、バスマスタ１６Ａのバス制御回路２８からバス使用権獲得要求がない場合には、ステップ１０２を繰り返すが、一方、他のバスマスタ１６Ｂ、１６Ｃからバス使用権獲得要求があり、ＲＥＱＩＮ信号がローレベルになるか、又は、外部からの指示によってバス制御回路２８にバスの使用権を獲得する必要が生じ、バス制御回路２８からバス１２の使用権獲得要求があった場合には、ステップ１０４へ進む。
【００４２】
ステップ１０４では、ＲＥＱＩＮ信号がハイレベルであり、かつ、バス使用権獲得要求があるか否かを判定し、他のバスマスタ１６Ｂ、１６Ｃからバス使用権獲得要求があり、ＲＥＱＩＮ信号がローレベルになるか、又は、バス制御回路２８からのバス使用権獲得要求がない場合には、ステップ１０７へ移行する。一方、他のバスマスタ１６Ｂ、１６Ｃからバス使用権獲得要求がなく、ＲＥＱＩＮ信号がハイレベルであって、かつ、バス制御回路２８からバス１２の使用権獲得要求があった場合には、ステップ１０６において、ローレベルのＲＥＱＯＵＴ信号を出力して、出力バッファ１８を接地電位にし、他のバスマスタ１６Ｂ、１６Ｃにバス使用権獲得判断を行うことを知らせて、ステップ１０８へ移行する。
【００４３】
ステップ１０７では、バス１２の使用権獲得の必要があるか否かを判定し、バス制御回路２８においてバスの使用権を獲得する必要が生じている場合には、ステップ１０８へ移行するが、バスの使用権を獲得する必要が生じていない場合には、バス使用権獲得の判断に参加しないため、ステップ１０２へ戻る。
【００４４】
ステップ１０８では、バスクロックに合わせて、ＲＥＱＯＵＴ信号としてプライオリティレベルレジスタ２６に格納されているプライオリティレベル値ＰＬＶＬ[２：０]のＭＳＢ側のビットであるＰＬＶＬ[２]を示す信号を出力バッファ１８に出力し、出力バッファ１８から優先順位信号が出力される。なお、ＢＵＳＯＫ信号は直前に出力したＢＵＳＯＫ信号と同じレベルの信号を再度出力する。そして、ステップ１１０では、ＰＬＶＬ[２]が１であり、かつ、ＲＥＱＩＮ信号がローレベルであるか否かを判定し、ＰＬＶＬ[２]が１であり、他のバスマスタのＰＬＶＬ[２]が０であって、ローレベルの優先順位信号が他のバスタから出力されて、ＭＳＢ側のビットの論理積により合成された判断用信号線１４の信号がローレベルになり、ＲＥＱＩＮ信号がローレベルになっていると、他のバスマスタの方が、優先順位が高いと判断し、バス使用権獲得を断念してプライオリティレベル値を示す信号をＲＥＱＯＵＴ信号として出力するのを停止し、出力バッファ１８からの優先順位信号の出力を停止して、ステップ１００へ戻るが、ＰＬＶＬ[２]が０であり、又は、全てのバスマスタ１６Ａ〜１６Ｃからハイレベルの優先順位信号が出力されて、論理積により合成された判断用信号線１４の信号がハイレベルであり、ＲＥＱＩＮ信号がハイレベルであると、ステップ１１２へ進む。
【００４５】
ステップ１１２では、ＲＥＱＯＵＴ信号としてＰＬＶＬ[１]を示す信号を出力して、出力バッファ１８から優先順位信号を出力し、また、ＢＵＳＯＫ信号としては直前に出力したＢＵＳＯＫ信号と同じレベルの信号を再度出力する。そして、ステップ１１４では、ＰＬＶＬ[１]が１であり、かつ、ＲＥＱＩＮ信号がローレベルであるか否かを判定し、ＰＬＶＬ[１]が１であり、他のバスマスタのＰＬＶＬ[１]が０であって、ローレベルの優先順位信号が他のバスタから出力されて、対象ビットの論理積により合成された判断用信号線１４の信号がローレベルになり、ＲＥＱＩＮ信号がローレベルになっていると、他のバスマスタの方が、優先順位が高いと判断し、バス使用権獲得を断念してプライオリティレベル値を示す信号の出力を停止し、出力バッファ１８からの優先順位信号の出力が停止されて、ステップ１００へ戻るが、ＰＬＶＬ[１]が０であり、又は、ＲＥＱＩＮ信号がハイレベルであると、ステップ１１６へ進む。
【００４６】
ステップ１１６では、ＲＥＱＯＵＴ信号としてＰＬＶＬ[０]を示す信号を出力して、出力バッファ１８から優先順位信号が出力され、また、ＢＵＳＯＫ信号としては直前に出力したＢＵＳＯＫ信号と同じレベルの信号を再度出力する。そして、ステップ１１８では、ＰＬＶＬ[０]が１であり、かつ、ＲＥＱＩＮ信号がローレベルであるか否かを判定し、ＰＬＶＬ[０]が１であり、他のバスマスタのＰＬＶＬ[０]が０であって、判断用信号線１４がローレベルになり、ＲＥＱＩＮ信号がローレベルになっていると、他のバスマスタの方が、優先順位が高いと判断し、バス使用権獲得を断念し、ステップ１００へ戻るが、ＰＬＶＬ[０]が０であり、又は、ＲＥＱＩＮ信号がハイレベルであると、ステップ１２０へ進む。
【００４７】
ステップ１２０では、ＢＵＳＯＵＴ信号をハイレベルにし、また、バスの使用権を獲得したと判断し、ハイレベルのＢＵＳＯＫ信号をバス制御回路２８に出力する。そして、バス制御回路２８によって、バス１２を介してデータ転送を開始する。
【００４８】
次のステップ１２２では、ＲＥＱＩＮ信号がハイレベルであるか否かを判定し、他のバスマスタ１６Ｂ、１６Ｃからのバス使用権獲得要求がなく、ＲＥＱＩＮ信号が、Ｓｔａｒｔビットによりローレベルにならずにハイレベルであると、ステップ１２２を繰り返すが、他のバスマスタ１６Ｂ、１６Ｃからのバス使用獲得要求があり、判断用信号線１４においてＳｔａｒｔビットがありＲＥＱＩＮ信号がローレベルになると、ステップ１０８へ戻り、上記のステップ１０８〜ステップ１１８までの処理によりバス使用権獲得判断を行う。
【００４９】
なお、バス１２の使用権を獲得したバスマスタ１６Ａがデータ転送を終了すると、バス使用権を放棄して、ローレベルのＢＵＳＯＫ信号をバス制御回路２８に出力する。
【００５０】
次に、上述したように各バスマスタ１６Ａ〜１６Ｃが動作した場合における判断用信号線１４の信号レベル状態について図７を用いて説明する。なお、バスマスタ１６Ｂ（プライオリティレベル値は２、ＰＶＬＶ[２：０]は０１０）がバス使用権を獲得しており、バスマスタ１６Ａ（プライオリティレベル値は１、ＰＶＬＶ[２：０]は００１）がはじめにバス使用権の獲得を要求し、バスマスタ１６Ｃ（プライオリティレベル値は５、ＰＶＬＶ[２：０]は１０１）に、バス使用権の獲得の必要が生じている場合について説明する。
【００５１】
まず、最初にバスマスタ１６Ａがバスクロックに合わせてＳｔａｒｔビットを判断用信号線１４に出力して、判断用信号線１４をローレベルにし、次のバスクロックのタイミングで、バスマスタ１６Ａの出力バッファ１８からＰＬＶＬ[２]である０を示す優先順位信号としてローレベルの信号が判断用信号線１４に出力される。このとき、他のバスマスタ１６Ｂは、バスマスタ１６Ａと同時に自己のＰＬＶＬ[２]である０を示すローレベルの優先順位信号を判断用信号線１４に出力し、バスマスタ１６Ｃは、自己のＰＬＶＬ[２]である１を示すハイレベルの優先順位信号を判断用信号線１４に出力する。
【００５２】
また、バス使用権の獲得判断に参加していないバスマスタからハイレベルの信号が判断用信号線１４に出力される。
【００５３】
これにより、ワイヤードＡＮＤ接続されている判断用信号線１４にローレベルの優先順位信号が出力されたので、プライオリティレベル判断フィールドのＢｉｔ２は、ローレベルとなる。
【００５４】
ここで、バスマスタ１６Ｃは他のバスマスタの方が優先順位が高いと判断し、バス使用権の獲得を断念し、出力バッファ１８からプライオリティレベル値を示す優先順位信号を出力するのを停止し、ハイレベルの信号を出力し続ける。
【００５５】
上記と同様に、プライオリティレベル判断フィールドのＢｉｔ１及びＢｉｔ０についても判断用信号線１４に優先順位信号が出力され、また、バス使用権の獲得を断念したバスマスタ及びバス使用権の獲得判断に参加していないバスマスタからハイレベルの信号が判断用信号線１４に出力され、結果として、バスマスタ１６Ａはバス使用権の獲得を断念せずに、バスマスタ１６Ａは自己の優先順位が一番高いと判断し、バス使用権を獲得する。なお、プライオリティレベル判断フィールドにおける信号は、バス使用権を獲得するバスマスタのプライオリティレベル値を示していることになる。
【００５６】
その後、バスマスタ１６Ａがデータ転送を終了し、バス使用権を放棄した後に、バスマスタ１６ＣがＳｔａｒｔビットを判断用信号線１４に出力し、判断用信号線１４をローレベルにし、次のバスクロックのタイミングで、バスマスタ１６Ｃの出力バッファ１８からＰＬＶＬ[２]である１を示す信号としてハイレベルの優先順位信号が出力される。このとき、他のバスマスタ１６Ｂの出力バッファ１８によって、バスマスタ１６Ｃと同時に自己のＰＬＶＬ[２]である０を示すローレベルの優先順位信号を出力する。これにより、ワイヤードＡＮＤ接続されている判断用信号線１４にローレベルの信号が出力されたので、プライオリティレベル判断フィールドのＢｉｔ２は、ローレベルとなる。
【００５７】
ここで、バスマスタ１６Ｃは他のバスマスタの方が、優先順位が高いと判断し、バス使用権の獲得を断念して、出力バッファ１８からプライオリティレベル値を示す優先順位信号を出力するのを停止し、ハイレベルの信号を出力し続ける。
【００５８】
上記と同様に、プライオリティレベル判断フィールドのＢｉｔ１及びＢｉｔ０についても判断用信号線１４に信号が出力され、結果として、バスマスタ１６Ｂは自己の優先順位が一番高いと判断し、バス使用権を獲得する。
【００５９】
以上説明したように、第１の実施の形態に係る情報処理装置によれば、バスの使用権獲得の判断を行うときに、各バスマスタが１本の判断用信号線に優先順位信号を出力するため、バスマスタの数の増加に伴ってバス獲得判断用の信号線の数が増加するのを防止することができる。
【００６０】
また、判断用信号線に同時に出力された複数の優先順位信号をビット毎に論理積をとって合成した信号に基づいて、各バスマスタが、バスの使用権を獲得したか否かを判断するため、バス使用権の獲得のための判断時間を短縮することができる。
【００６１】
また、バスマスタによって入出力される信号はハイレベルの信号とローレベルの信号とからなるデジタル信号であるため、多くの信号レベルを扱う複雑な回路ではなく、簡易なデジタル回路によってバスマスタを実現することができる。
【００６２】
また、各バスマスタを、オープンドレイン回路及びオープンコレクタ回路の何れか一方によって判断用信号線に接続することにより、簡単な構成によって、例えば、ワイヤードＡＮＤ回路を実現することができ、複数の優先順位信号を合成することができる。
【００６３】
なお、上記の実施の形態では、データ転送をしている間も他のバスマスタがバス使用権の獲得を要求できる場合を例に説明したが、データ転送が終了するまで、他のバスマスタからのバス使用権の獲得要求を禁止するようにしてもよい。その場合には、データ転送の終了後、バス使用権を獲得したバスマスタからバス使用権を開放することを示す信号を出力して、他のバスマスタに対して、バス使用権の獲得要求が可能となったことを知らせるようにすればよい。また、データ転送の終了とは関係なく、あるバスマスタがバス使用権を獲得してから所定期間だけ、他のバスマスタによるバス使用権の獲得要求を禁止するようにしてもよい。
【００６４】
次に、第２の実施の形態について説明する。なお、第１の実施の形態と同様の部分については同一符号を付して説明を省略する。
【００６５】
第２の実施の形態では、出力バッファがオープンドレイン回路又はオープンコレクタ回路から構成されるバッファでなく、３ステートバッファによって構成されている点が第１の実施の形態と異なる。
【００６６】
Ｓｔａｒｔビットの信号を出力する場合及びプライオリティレベル値を示す信号を出力する場合にのみ、バス獲得判断用シーケンサー２４からは、ハイレベル及びローレベルの何れか一方のＲＥＱＯＵＴ信号を出力し、それ以外の場合には、ＲＥＱＯＵＴ信号を出力しないようになっている。そして、ＲＥＱＯＵＴ信号が出力されていない場合には、出力バッファが高インピーダンス状態（Ｈｉｇｈ−Ｚ状態）となっている。
【００６７】
次に、図８を用いて、各バスマスタ１６Ａ〜１６Ｃが動作した場合の判断用信号線１４の信号レベル状態について説明する。
【００６８】
まず、Ｉｄｌｅ状態では、全てのバスマスタ１６Ａ〜１２Ｃが判断用信号線１４に対して駆動していないため、全てのバスマスタ１６Ａ〜１２Ｃの出力バッファがＨｉｇｈ−Ｚ状態となっているが、プルアップ抵抗２２によって判断用信号線１４の信号はハイレベルとなっている。
【００６９】
また、各バスマスタ１６Ａ〜１２Ｃにおいて、バス獲得判断用シーケンサー２４からハイレベルのＲＥＱＯＵＴ信号が出力バッファに出力されると、判断用信号線１４に対してハイレベルの信号を出力し、バス獲得判断用シーケンサー２４からローレベルのＲＥＱＯＵＴ信号が出力バッファに出力されると、判断用信号線１４に対してローレベルの信号を出力する。
【００７０】
従って、３ステートバッファで構成される出力バッファを用いれば、オープンドレイン回路又はコレクタドレイン回路から構成される出力バッファを搭載していないデバイスであっても、判断用信号線の増加抑制及びバス獲得判断のための時間短縮化を容易に実現することができる。
【００７１】
また、各バスマスタが、３ステートバッファによって判断用信号に接続されていることにより、簡単な構成によって、複数の優先順位信号を合成することができる。
【００７２】
次に、第３の実施の形態について説明する。なお、第１の実施の形態と同様の部分については同一符号を付して説明を省略する。
【００７３】
第３の実施の形態では、バスマスタのプライオリティレベルレジスタに格納されているプライオリティレベル値が固定ではなく可変となっており、ラウンドロビン方式でバスマスタがバス使用権を獲得できるようにした点が第１の実施の形態とは異なる。
【００７４】
図９に示すように、第３の実施の形態に係る情報処理装置２００のバスマスタ２１６には、現プライオリティレベル格納レジスタ２０２と、比較・加算回路２０４とが設けられている。現プライオリティレベル格納レジスタ２０２は、ＲＥＱＩＮ信号を常にモニタリングしており、自己がバス使用権獲得判断に参加してもしなくても、常にバス使用権獲得の判断結果をモニタリングし、バス使用権獲得判断の結果として、バス使用権を獲得したバスマスタ２１６のプライオリティレベル値を格納するようになっている。
【００７５】
また、比較・加算回路２０４は、現プライオリティレベル格納レジスタ２０２の値とプライオリティレベルレジスタ２６の値とを比較し、もしプライオリティレベルレジスタ２６の値の方が優先順位として低ければ、プライオリティレベルレジスタ２６の値を、優先順位を一つ上げるように変更する。また、比較・加算回路２０４は、自己がバス使用権を獲得した場合には、プライオリティレベルレジスタ２６の値を、優先順位が最も低くなるように更新する。
【００７６】
次に、全てのバスマスタ２１６のプライオリティレベルレジスタの値の更新状況について図１０を用いて説明する。なお、全部で８個のバスマスタ２１６Ａ〜２１６Ｈが設けられており、時間０においては、ＣＰＵによって、バスマスタ２１６Ａ〜２１６Ｈに対して順番にプライオリティレベル値が設定されており、バス使用権獲得要求は同時にバスマスタ２１６Ｂ〜２１６Ｆから発生する場合について説明する。
【００７７】
まず、時間０の状態において、バス使用権獲得判断の処理が行われ、バスマスタ２１６Ｂがバス使用権を獲得し、時間１において、プライオリティレベル値の更新によって、バスマスタ２１６Ｂのプライオリティレベル値は優先順位が最も低いプライオリティレベル値７に更新され、同時に、プライオリティレベル値１より大きいプライオリティレベル値が設定されているバスマスタ２１６Ｃ〜２１６Ｈにおいては、優先順位が１つ上がるように、自己のプライオリティレベル値がデクリメントされて更新される。
【００７８】
次のバス使用権獲得判断処理によって、バスマスタ２１６Ｃがバス使用権を獲得し、時間２において、プライオリティレベル値の更新によって、バスマスタ２１６Ｃのプライオリティレベル値は優先順位が最も低いプライオリティレベル値７に更新され、同時に、プライオリティレベル値１より大きいプライオリティレベル値が設定されているバスマスタ２１６Ｂ、２１６Ｄ〜２１６Ｈにおいては、自己のプライオリティレベル値がデクリメントされて更新される。
【００７９】
そして、バスマスタ２１６Ｃによるデータ転送が終了し、バス使用権の獲得要求がなくなり、次のバス使用権獲得判断処理によって、バスマスタ２１６Ｄがバス使用権を獲得し、時間３において、プライオリティレベル値の更新によって、バスマスタ２１６Ｄのプライオリティレベル値はプライオリティレベル値７に更新され、同時に、プライオリティレベル値１より大きいプライオリティレベル値が設定されているバスマスタ２１６Ｂ、２１６Ｃ、２１６Ｅ〜２１６Ｈにおいては、自己のプライオリティレベル値がデクリメントされて更新される。なお、このときにバスマスタ２１６Ａがバス使用権の獲得に参加したとする。
【００８０】
また、次のバス使用権獲得判断処理によって、バスマスタ２１６Ａがバス使用権を獲得し、時間４において、プライオリティレベル値の更新によって、バスマスタ２１６Ａのプライオリティレベル値はプライオリティレベル値７に更新され、同時に、プライオリティレベル値０より大きいプライオリティレベル値が設定されているバスマスタ２１６Ｂ〜２１６Ｈにおいては、自己のプライオリティレベル値がデクリメントされて更新される。
【００８１】
そして、バスマスタ２１６Ａによるデータ転送が終了し、バス使用権の獲得要求がなくなり、次のバス使用権獲得判断処理によって、バスマスタ２１６Ｅがバス使用権を獲得し、時間５において、プライオリティレベル値の更新によって、バスマスタ２１６Ｅのプライオリティレベル値はプライオリティレベル値７に更新され、同時に、プライオリティレベル値０より大きいプライオリティレベル値が設定されているバスマスタ２１６Ａ〜２１６Ｄ、２１６Ｆ〜２１６Ｈにおいては、自己のプライオリティレベル値がデクリメントされて更新される。
【００８２】
次に、バスマスタ２１６Ｅによるデータ転送が終了して、バス使用権の獲得要求がなくなり、次のバス使用権獲得判断処理によって、バスマスタ２１６Ｆがバス使用権を獲得し、時間６において、上記と同様にプライオリティレベル値の更新によって、バスマスタ２１６Ｆのプライオリティレベル値はプライオリティレベル値７に更新され、バスマスタ２１６Ａ〜２１６Ｅ、２１６Ｇ、２１６Ｈにおいては、自己のプライオリティレベル値がデクリメントされて更新される。
【００８３】
また、バスマスタ２１６Ｆによるデータ転送が終了して、バス使用権の獲得要求がなくなり、次のバス使用権獲得判断処理によって、バスマスタ２１６Ｂがバス使用権を獲得し、時間７において、上記と同様にプライオリティレベル値の更新によって、バスマスタ２１６Ｂのプライオリティレベル値はプライオリティレベル値７に更新され、バスマスタ２１６Ａ、２１６Ｃ〜２１６Ｈにおいては、自己のプライオリティレベル値がデクリメントされて更新される。
【００８４】
以上のようにプライオリティレベル値が更新されることにより、バス使用権を獲得する順序は、バスマスタ２１６Ｂ→バスマスタ２１６Ｃ→バスマスタ２１６Ｄ→バスマスタ２１６Ａ→バスマスタ２１６Ｅ→バスマスタ２１６Ｆ→バスマスタ２１６Ｂとなり、ラウンドロビン方式でバスマスタ２１６Ａ〜２１６Ｈの各々がバス使用権を獲得できるようになっている。
【００８５】
以上説明したように、第３の実施の形態に係る情報処理装置によれば、バス使用権の獲得判断が行われる毎に、各バスマスタのプライオリティレベル値を更新することにより、ラウンドロビン方式で全てのバスマスタが順番にバスの使用権を獲得することができる。
【００８６】
次に、第４の実施の形態について説明する。なお、第１の実施の形態と同様の部分については同一符号を付して説明を省略する。
【００８７】
第４の実施の形態では、１本の信号線が、データ転送を行うためのバス及びバス使用権獲得の判断のための信号を伝送する信号線の両方の役割を兼ねている点が第１の実施の形態と異なる。
【００８８】
図１１に示すように、１本の信号線において、バス使用権獲得の判断のための信号伝送が行われた後、予め定められた期間に、バス使用権を獲得したバスマスタによるデータ転送が行われるようになっている。
【００８９】
従って、１本の信号線によってバス使用権獲得の判断処理とデータ転送を行うシリアルバスを構成することができ、安価な構成により、判断用信号線の増加抑制及びバス獲得判断のための時間短縮化を実現することができる。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１の実施の形態に係る情報処理装置の構成を示す概略図である。
【図２】本発明の第１の実施の形態に係るバスマスタの構成を示す概略図である。
【図３】プライオリティレベル値の例を示す表である。
【図４】プライオリティレベル値が２ビットの場合の判断用信号線の信号レベル状態を示す図である。
【図５】プライオリティレベル値が３ビットの場合の判断用信号線の信号レベル状態を示す図である。
【図６】本発明の第１の実施の形態に係るバスマスタのバス獲得判断用シーケンサーにおけるバス獲得判断処理ルーチンの内容を示すフローチャートである。
【図７】本発明の第１の実施の形態における各バスマスタから出力される信号と判断用信号線の信号レベル状態との関係を示す図である。
【図８】本発明の第２の実施の形態における各バスマスタから出力される信号と判断用信号線の信号レベル状態との関係を示す図である。
【図９】本発明の第３の実施の形態に係るバスマスタの構成を示す概略図である。
【図１０】本発明の第３の実施の形態に係るバスマスタのプライオリティレベルの更新状況を示す図である。
【符号の説明】
【００９１】
１０、２００  情報処理装置
１２  バス
１４  判断用信号線
１６、１６Ａ、１６Ｂ、１６Ｃ、２１６  バスマスタ
１８  出力バッファ
２０  入力バッファ
２４  バス獲得判断用シーケンサー
２６  プライオリティレベルレジスタ
２８  バス制御回路
２０２  現プライオリティレベル格納レジスタ
２０４  比較・加算回路
【図１】
2007079964.tif 000003
【図２】
2007079964.tif 000004
【図３】
2007079964.tif 000005
【図４】
2007079964.tif 000006
【図５】
2007079964.tif 000007
【図６】
2007079964.tif 000008
【図７】
2007079964.tif 000009
【図８】
2007079964.tif 000010
【図９】
2007079964.tif 000011
【図１０】
2007079964.tif 000012