(57)【特許請求の範囲】
【請求項１】
共用バス、この共用バスに接続された複数のバス装置及びバス調停器を備えるバス通信システムにおいて、
前記バス調停器が前記バス装置から複数のバス使用要求信号を受信し、かつ、前記複数のバス装置から選択したバス使用承認信号を前記共用バスに対するバスマスタとして動作する第１バス装置に送出する調停ユニットと、
前記バス装置から装置識別コードを受け取り、かつ、装置選択信号を前記バス装置に送出する選択回路と、を備え、
前記選択回路が、前記複数のバス装置から選択した装置選択信号を、前記共用バスでバススレーブとして動作する第２バス装置に送出し、
前記バスマスタは、クロック信号の同じ立ち上がりエッジで、前記共用バスへのアドレス値の送出とデータ値の送出とを行い、前記バスマスタはバススレーブと同時に動作を開始する、バス通信システムであって、
前記第１バス装置から前記第２バス装置に送出するアドレス値及びデータ値を転送する前記共用バスと、
前記第１バス装置から前記第２バス装置に送出するトランザクション識別コード値を転送するトランザクション識別コードバスと、を備え、
前記第１バス装置は、データ量及び転送方向の判読要求を行う間に前記トランザクション識別コードバスによって、前記第２バス装置に第１トランザクション識別コード値を転送し、
前記第２バス装置が、前記判読要求に応答する間に前記トランザクション識別コードをもって前記第１バス装置に前記第１トランザクション識別コード値を転送し、
前記第１トランザクション識別コード値が、要求者識別コード値及び要求トランザクション識別コード値を含み、
前記要求者識別コード値が、前記第１バス装置に対応する識別コード値である、ことを特徴とするバス通信システム。
【請求項２】
前記選択回路は、前記第１バス装置からの装置識別コードに対応する前記第２バス装置を選択することを特徴とする請求項１に記載のバス通信システム。
【請求項３】
前記第１バス装置が、バス使用要求信号及び受信アドレス識別コードを同時に出力することを特徴とする請求項１に記載のバス通信システム。
【請求項４】
前記バス調停器は、バス使用承認信号及び装置選択信号を同時に送出することを特徴とする請求項１に記載のバス通信システム。
【請求項５】
前記共用バスが、アドレスバス、データバス及び制御バスから構成されることを特徴とする請求項１に記載のバス通信システム。
【請求項６】
前記バス装置は、前記トランザクション識別コードバスを備えることを特徴とする請求項１に記載のバス通信システム。
【請求項７】
前記第１バス装置は、前記トランザクション識別コードバスへトランザクション識別コードを生成して送出するカウンタを備えることを特徴とする請求項６に記載のバス通信システム。
【請求項８】
前記第２バス装置に、前記トランザクション識別コードバスにトランザクション識別コードを格納する識別コードラッチ回路を備えることを特徴とする請求項６に記載のバス通信システム。
【請求項９】
複数のバス装置に接続された共用バスに対するバス使用の調停を行うバス調停方法において、
前記バス装置中の第１バス装置が前記共用バスの使用を要求し、
次に、前記第１バス装置からバス調停器へ第１バス装置に対応する受信アドレス識別コード値を送出し、
更に、前記バス調停器が前記第１バス装置に前記共用バスの使用を承認し、
この後、前記バス調停器が、前記第１バス装置からの識別コードに対応する前記第２バス装置をバススレーブとして選択し、
前記第１バス装置がバスマスタで、第２バス装置がバススレーブであって、前記バスマスタは、クロック信号の同じ立ち上がりエッジで、前記共用バスへのアドレス値の送出とデータ値の送出とを行い、前記バスマスタはバススレーブと同時に動作を開始する、バス調停方法であって、
前記共用バスは、前記第１バス装置から前記第２バス装置に送出するアドレス値及びデータ値を転送し、
前記バス装置は、前記第１バス装置から前記第２バス装置に送出するトランザクション識別コード値を転送するトランザクション識別コードバスを備え、
前記第１バス装置は、データ量及び転送方向の判読要求を行う間に前記トランザクション識別コードバスによって、前記第２バス装置に第１トランザクション識別コード値を転送し、
前記第２バス装置が、前記判読要求に応答する間に前記トランザクション識別コードをもって前記第１バス装置に前記第１トランザクション識別コード値を転送し、
前記第１トランザクション識別コード値が、要求者識別コード値及び要求トランザクション識別コード値を含み、
前記要求者識別コード値が、前記第１バス装置に対応する識別コード値である、ことを特徴とするバス調停方法。
【請求項１０】
前記第１バス装置によるバス使用要求信号、及び、前記第１バス装置による受信アドレス識別コード値の送出を同時に行うことを特徴とする請求項９に記載のバス調停方法。
【請求項１１】
バス調停器によるバス使用承認、及び、前記バス調停器での選択を同時に行うことを特徴とする請求項９に記載のバス調停方法。
【請求項１２】
共用バス、この共用バスに接続された複数のバス装置及びバス調停器を備えるバス通信システムにおいて、
前記バス調停器が前記バス装置から複数のバス使用要求信号を受信し、かつ、前記複数のバス装置から選択したバス使用承認信号を前記共用バスに対するバスマスタとして動作する第１バス装置に送出する調停ユニットと、
前記バス装置から装置識別コードを受け取り、かつ、装置選択信号を前記バス装置に送出する選択回路と、を備え、
前記選択回路が、前記複数のバス装置から選択した装置選択信号を、前記共用バスでバススレーブとして動作する第２バス装置に送出し、
前記バスマスタは、クロック信号の同じ立ち上がりエッジで、前記共用バスのアドレスバスへのアドレス値の送出と、トランザクション識別コードバスへのトランザクション識別コード値の送出と、を行い、前記バスマスタはバススレーブと同時に動作を開始する、バス通信システムであって、
前記第１バス装置から前記第２バス装置に送出するアドレス及びデータを転送する前記共用バスと、
前記第１バス装置から前記第２バス装置に送出するトランザクション識別コード値を転送するトランザクション識別コードバスと、を備え、
前記第１バス装置は、データ量及び転送方向の判読要求を行う間に前記トランザクション識別コードバスによって、前記第２バス装置に第１トランザクション識別コード値を転送し、
前記第２バス装置が、前記判読要求に応答する間に前記トランザクション識別コードをもって前記第１バス装置に前記第１トランザクション識別コード値を転送し、
前記第１トランザクション識別コード値が、要求者識別コード値及び要求トランザクション識別コード値を含み、
前記要求者識別コード値が、前記第１バス装置に対応する識別コード値である、ことを特徴とするバス通信システム。
【請求項１３】
前記第１バス装置は、少なくとも前記トランザクション識別コードバスによって転送される一部のトランザクション識別コード値とともに、カウント値を送出するカウンタを更に備えることを特徴とする請求項１２に記載のバス通信システム。
【請求項１４】
前記第１バス装置は、
前記トランザクション識別コードバスに接続された比較器と、
前記カウンタに接続された記憶ポート及び前記比較器に接続された判読ポートを有する記憶装置と、を更に備えることを特徴とする請求項１３に記載のバス通信システム。
【請求項１５】
前記第２バス装置に、前記トランザクション識別コードバスからトランザクション識別コード値を格納するラッチ回路を更に備えることを特徴とする請求項１２に記載のバス通信システム。
【請求項１６】
前記第２バス装置に、前記ラッチ回路に接続されるデコーダを更に備えることを特徴とする請求項１５に記載のバス通信システム。
【請求項１７】
前記第２バス装置に、前記トランザクション識別コードバスからトランザクション識別コード値を格納するＦＩＦＯメモリを更に備えることを特徴とする請求項１２に記載のバス通信システム。
【請求項１８】
前記第２バス装置に、前記ＦＩＦＯメモリに接続されたデコーダを更に備えることを特徴とする請求項１７に記載のバス通信システム。
【請求項１９】
複数のバス装置に接続された共用バスに対するバス使用の調停を行うバス調停方法におけるデータ転送方法であって、
前記バス調停方法は、
前記バス装置中の第１バス装置が前記共用バスの使用を要求し、
次に、前記第１バス装置からバス調停器へ第１バス装置に対応する受信アドレス識別コード値を送出し、
更に、前記バス調停器が前記第１バス装置に前記共用バスの使用を承認し、
この後、前記バス調停器が、前記第１バス装置からの識別コードに対応する前記第２バス装置をバススレーブとして選択し、
前記バスマスタである第１バス装置は、クロック信号の同じ立ち上がりエッジで、前記共用バスのアドレスバスへのアドレス値の送出と、トランザクション識別コードバスへのトランザクション識別コード値の送出と、を行い、前記バスマスタはバススレーブと同時に動作を開始し、
前記共用バスは、前記第１バス装置から前記第２バス装置に送出するアドレス値及びデータ値を転送し、
前記バス装置は、前記第１バス装置から前記第２バス装置に送出するトランザクション識別コード値を転送するトランザクション識別コードバスを備え、
前記第１バス装置は、データ量及び転送方向の判読要求を行う間に前記トランザクション識別コードバスによって、前記第２バス装置に第１トランザクション識別コード値を転送し、
前記第２バス装置が、前記判読要求に応答する間に前記トランザクション識別コードをもって前記第１バス装置に前記第１トランザクション識別コード値を転送し、
前記第１トランザクション識別コード値が、要求者識別コード値及び要求トランザクション識別コード値を含み、
前記要求者識別コード値が、前記第１バス装置に対応する識別コード値である、バス調停方法であって、
第１バスに接続された前記第１バス装置が、前記第１バスに接続された前記第２バス装置に情報を要求し、
次に、前記第１バス装置が第２バスでトランザクション識別コード値を転送し、
更に、前記第２バス装置が前記第２バスで前記第１バス装置へ転送される前情報前記情報とともに応答し、
この後に、前記第２バス装置が前記第２バスで前記トランザクション識別コード値を転送する、ことを特徴とするデータ転送方法。
【請求項２０】
前記トランザクション識別コード値が、前記第１バス装置と同一の要求者識別コード値を有することを特徴とする請求項１９に記載のデータ転送方法。
【請求項２１】
前記第１バス装置によってバス使用要求及びトランザクション識別コード値の転送を同時に行うことを特徴とする請求項１９に記載のバスのデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はバス通信システム及びバス調停方法並びにデータ転送方法に関し、特に、共用バスにおける待機時間及びフラグを付したバス使用要求及びバス調停器の待機時間の減少、並びに、フラグを付した転送判読要求の複雑化を避けるバス通信システム及びバス調停方法並びにデータ転送方法に関する。
【０００２】
【従来の技術】
従来、バスは電子システムにおける多様な装置間のデータ転送路として用いられている。例えば、コンピュータシステムにおいて、中央処理装置（ＣＰＵ）はメモリバスを通じて主メモリとデータ転送を行っている。かつ、周辺装置がメモリバスに接続され、また、入出力（Ｉ／Ｏ）バスを通じて中央処理装置に接続されている。このようなバスは主に二つのバス装置間バス(Point-to-Point Bus)と共用バス(Shared Bus)の二つに区分けされる。
【０００３】
すなわち、二つのバス装置間のデータ転送を行うバス又は二つ以上のバス装置間のデータ転送を行う共用バスの使用によって、そのデータ転送を行う。例えば、通常は、四つのバス装置はそれぞれとのデータ転送のための六つのバスを必要とするが、これらの四つのバス装置を共用バスによって接続してデータ転送を行うと、一つの共用バスのみでデータ転送が可能になる。
【０００４】
二つのバス装置間のバスは、より短い待機時間及び最小限でのバス使用調停処理が行われる利点によって、多重化かつ同時にデータ転送が出来る。この場合、二つのバス装置間の多数のバスは、多数のチップ又はボードの専有領域を必要とする。一つの共用バスを多重化装置を用いてデータ転送処理を行う場合、そのチップ又はボード専有領域が小さくなる利点がある。共用バスを用いるシステムではバス装置が効率的にデータ転送を行うようにバス使用の調停を行う必要があり、この際、装置識別コード（ＩＤ）をバス装置を通じてやり取りする。
【０００５】
近時の電子システムの複雑化に伴ってデータバスでのデータ転送量が増加している。この多大なデータ転送を行うデータバスは、チップ又はボード専有領域が大きい。したがって、共用バスは主に装置規模が大きい複合電子システムに用いられる。
【０００６】
図７は従来の共用バスシステムのブロック図である。
この共用バスシステム１００は、バス装置１２０，１３０，１４０（以下、１２０〜１４０と記載する）がアドレスバス１５０、データバス１６０及び制御バス１７０で構成される共用バス１９０によって相互接続されている。ある共用バスシステムでは、アドレス値及びデータ値が、一つの複合アドレス／データバスを多重化して転送される。バス装置１２０〜１４０はバス使用要求出力端子Ｒ、バス使用承認入力端子Ｇ、アドレス端子ＡＤＤＲ、データ端子ＤＡＴＡ及び制御端子ＣＴＲＬを有している。バス使用要求出力端子Ｒとバス使用承認入力端子Ｇとがバス調停器１１０に接続されている。なお、バス装置１２０が共用バス１９０を使用する場合は、バス装置１２０のバス使用要求出力端子Ｒがアクティブ状態（要求活動状態）に設定される。
【０００７】
図７に示す構成及び以降の図８に示すタイミング図において、信号、特に、バス使用要求信号、バス使用承認信号及び選択信号は、アクティブ状態の際にハイレベルに設定され、非活動状態の際にローレベルに設定される。なお、ハイレベルは非活動状態の際に設定される場合もある。
【０００８】
バス調停器１１０はバス使用要求入力端子のバス使用要求信号を監視する。バス調停器１１０はバス装置１２０〜１４０に対するバス使用要求入力端子が設けられている。このバス使用要求入力端子にはＲ＿ｘ符号が付される。なお、このｘはバス装置１２０〜１４０に対応する数字である。
【０００９】
共用バス１９０が使用されていない場合、バス調停器１１０はバス装置１２０のバス使用承認入力端子Ｇに接続されたバス使用承認出力端子をバス使用承認を示すアクティブ状態に設定する。二つの装置が同時にバス使用要求を行った場合、バス調停器１１０は、いずれのバス装置１２０〜１４０にバス使用権（承認）を与えるかを決めるために優先順位を決定する。すなわち、バス装置１２０〜１４０に対して要求ラインと承認ラインを別個に設定する調停が行われる。この調停はデージーチェーンとポーリング(daisy chaining and polling)処理である。
【００１０】
バス使用が承認されたバス装置（１２０〜１４０のいずれか）はバスマスタとなり、このバスマスタは他のバス装置（１２０〜１４０のいずれか）との間でのデータ転送を行い、他のバス装置（１２０〜１４０のいずれか）がバススレーブとなる。バス装置（１２０〜１４０のいずれか）はマスタとスレーブのいずれか一方で動作し、バス装置１２０がバス使用の承認を受けた場合、このバス装置１２０はバスマスタになる。
【００１１】
その後、バス装置１２０はアドレス端子ＡＤＤＲ及び制御端子ＣＴＲＬ、及び、アレスバス１５０及び制御バス１７０を通じてデータ転送を行う。すなわち、バス装置１２０はアドレス端子ＡＤＤＲ及びアドレスバス１５０を通じてアドレスを転送し、また、制御端子ＣＴＲＬ及び制御バス１７０を通じて制御信号を転送する。制御バス１７０では、例えば、データ転送におけるデータ量及び転送方向、すなわち、送出又は取り込み（以下、判読と記載する）を示す制御信号が転送される。
【００１２】
特に、バス装置１２０〜１４０は、この制御下にあるデータに関するアドレス範囲が付与される。したがって、バスマスタが要求するバススレーブの装置アドレスをアドレスバス１５０に転送する際に、バス装置１２０〜１４０はバスマスタによって転送される装置アドレスが整合するか否かを決定するためにアドレスバス１５０の装置アドレスを監視し、かつ、判読する必要がある。バスマスタによって転送される装置アドレスと整合する装置アドレスとを有するバス装置（１２０〜１４０のいずれか）がバススレーブになる。例えば、現在バスマスタであるバス装置１２０がバス装置１４０からのデータを判読する際には、バス装置１２０がアドレスバス１５０にバス装置１４０の装置アドレスを送出する。
【００１３】
したがって、他のバス装置（１３０，１４０の一方）は、バス装置１２０によって送出された装置アドレスがバス装置（１３０，１４０の一方のいずれか）のアドレスと整合するか否かを決定するためにアドレスを判読する。この場合、バス装置（１３０，１４０の一方のいずれか）がアドレスを判読するための時間を共用バス１９０の待機時間に付加する。
【００１４】
図８はバスマスタからバススレーブにデータ転送を行う同期共用バスにおける調停処理状態を示すタイミング図である。
バス使用を要求したバス装置（１２０〜１４０のいずれか）はクロック信号ＣＬＫの最初の立ち上がりエッジ２０１で、バス調停器１１０にバス使用要求信号ＲＥＱＵＥＳＴを送出するバス使用要求出力端子Ｒをアクティブ状態に設定する。これ以後の立ち上がりエッジ２０２で、バス調停器１１０がバス使用承認信号ＧＲＡＮＴを送出するために、バス使用を要求するバス装置（１２０〜１４０のいずれか）のバス使用承認入力端子Ｇに接続されたバス使用承認出力端子をバス使用承認のアクティブ状態に設定して共用バス１９０でのバス使用を承認する。このバス使用を要求するバス装置（１２０〜１４０のいずれか）がアクティブ状態を受け取る際に、バス使用を要求するバス装置（１２０〜１４０のいずれか）がバスマスタになる。
【００１５】
立ち上がりエッジ２０３で、バスマスタがアドレスバス１５０を通じてバスアドレス値２３１をバススレーブとの間で転送する。非バスマスタのバス装置はバス装置（１２０〜１４０のいずれか）がバス使用を要求するバススレーブがいずれであるかを決定するためにアドレス値２３１を判読する。
【００１６】
クロック信号ＣＬＫの立ち上がりエッジ２０４で、バスマスタはアドレスバス１５０のアドレス値２３２を送出し、かつ、データバス１６０のデータ値２４１を送出する。したがって、バススレーブの選択時には、データが同期共用バスシステムからのデータ転送を行う前に１クロックサイクルの遅延が発生する。
【００１７】
判読転送は図８に示した転送に対して同様のタイミングで処理される。この場合、データはクロック信号ＣＬＫの立ち上がりエッジ２０４でのバススレーブによって転送される。共用バス１９０が以降で説明するように送出先判読要求(Posted Read Request) のために用いられる場合、このタイミングはデータがクロック信号ＣＬＫの立ち上がりエッジ２０４で処理されないことを除いては図８に示すタイミングと同一となる。
【００１８】
これに代えて、後の時間でバススレーブが送出先判読要求に応答するためのバス使用を要求する。したがって、バススレーブ選択の待機時間は送出先判読要求に対して必要な全体時間の１／３となり、共用バス１９０では、例えば、バス装置１２０〜１４０のバッファとしてデータＦＩＦＯメモリを使用する場合、ＦＩＦＯメモリがデータを記憶した状態又は記憶していない状態ではバススレーブがデータをやり取りする状態か否かを示すために用いられる。他のバスシステムでは装置準備信号を制御バス１７０へ送出している。
【００１９】
共用バス１９０の使用に伴う他の問題点は、一つのバスマスタのみが同時に共用バス１９０を使用するということである。したがって、バスマスタがバススレーブからのデータを受け取る待機状態では、他のバス装置（１２０〜１４０のいずれか）は、共用バス１９０を使用することが出来ない。このようなバス使用権（承認）の勝ち取り問題を解決するための一つの方法は、送出先判読要求を使用することである。送出先判読要求において、バスマスタは判読要求をスレーブへ送出した後に共用バス１９０の使用を放棄する。バススレーブが判読要求に応じる準備が終了した際に、バススレーブは最初バスマスタへデータを送出するために共用バス１９０に対するバス使用の要求を行う。
【００２０】
バススレーブが前記の判読要求に応じる際に、最初にバスマスタはどの送出先判読要求に応答しているかを決定する。タギングでは明確な送出先判読要求のそれぞれを表示することが出来る。応答タギング及びＩＤに対する回路構成は複雑になるおそれがあるとともに、共用バスでの待機時間が付加される。
【００２１】
したがって、共用バス構造の待機時間を減少する方法及び回路が必要になる。特に、この方法及び回路は所望のバススレーブを決定する際に生じる時間遅延の発生を阻止すべきであり、バス装置がどの送出先判読要求に応じるかを決定できるように送出先判読要求にフラグを付加することによって、その複雑化を避けるべきである。更に、回路構成では、その基板コストを低減し、かつ、多大なチップ領域を専有しないようにする必要がある。
【００２２】
【発明が解決しようとする課題】
このように上記従来例では、共用バスにおける待機時間、また、フラグを付した要求を減少できず、また、バス調停器の待機時間及びフラグを付した送出先判読要求の複雑化を効果的に避けることができない欠点がある。
【００２３】
本発明は、このような従来の技術における課題を解決するものであり、共用バスにおける待機時間及びフラグを付したバス使用要求が減少するバス通信システム及びバス調停方法並びにデータ転送方法の提供を目的としている。
また、本発明では、バス調停器の待機時間が減少するバス通信システム及びバス調停方法並びにデータ転送方法の提供を目的としている。
更に、本発明は、フラグを付した送出先判読要求処理の複雑化を避けることが出来るバス通信システム及びバス調停方法並びにデータ転送方法の提供を目的としている。
【００２４】
【課題を解決するための手段】
上記課題を解決し、上記目的を達成するために、本発明のバス通信システムはバス調停器、第１バス装置、第２バス装置、及び、第１バス装置を第２バス装置に接続する共用バスを備えている。バス調停器は第１バス装置の第１装置選択入力端子に接続された第１装置選択出力端子と、第２バス装置の第２装置選択入力端子に接続された第２装置選択出力端子とを有している。また、バス調停器は複数の第１受信アドレスＩＤ入力端子及び複数の第２受信アドレスＩＤ入力端子を備えている。各バス装置はバス調停器の複数の受信アドレスＩＤ入力端子に接続された複数の受信アドレスＩＤ出力端子を有している。そして、各バス装置はバス調停器のバス使用要求入力端子に接続されたバス使用要求出力端子と、バス調停器のバス使用承認出力端子に接続されたバス使用承認入力端子とを有している。
【００２５】
したがって、共用バスを使用する各バス装置に対して、バス調停器は一つずつのバス使用要求入力端子、バス使用承認出力端子及び装置選択入力端子、並びに、複数の受信アドレスＩＤ入力端子を備えている。
【００２６】
第１バス装置が第２バス装置との通信時に共用バスに対するバス使用の要求を行う場合、第１バス装置がバス使用要求端子をアクティブ状態（要求活動状態）に設定し、第２バス装置に対応する受信アドレスＩＤ値を第１バス装置の受信アドレスＩＤ出力端子へ転送する。共用バスが使用されていない場合、バス調停器は第１バス装置に接続されたバス使用承認出力端子をアクティブ状態（承認活動状態）に設定し、第２バス装置に接続された装置選択出力端子をアクティブ状態（選択活動状態）に設定して転送することによって、第１バス装置へ共用バスの使用を承認する。この結果、第１バス装置がバスマスタになり、第２バス装置はバススレーブになる。バススレーブはバスマスタと同時に動作を開始する。この結果、バスマスタはバススレーブを開始する際の時間が不要になる。このように同期共用バスシステムでは少なくとも待機時間の１クロック周期時間を削減できるようになる。
【００２７】
また、ここでは共用バスによって第２バス装置に接続される第１バス装置を有する特定の共用バスシステムとともに、トランザクションＩＤバスを使用する。この場合、送出先判読要求をタギングする際の複雑性を避けることが出来るようになる。また、トランザクションＩＤバスは第１バス装置及び第２バス装置に接続される。バスマスタになるバス装置は各送出先判読要求に対してトランザクションＩＤバスに特定のトランザクションＩＤ値を送出する。バススレーブに設定されるバス装置はトランザクションＩＤ値をラッチし、バススレーブが送出先判読要求に応答する際にトランザクションＩＤバスに同一のトランザクションＩＤ値を転送する。
【００２８】
このときのバスマスタが、いずれの送出先判読要求が終了しているかを決定するためにトランザクションＩＤ値を判読する。バスマスタはトランザクションＩＤ値を生成するために各送出先判読要求とともに増加するカウンタを備えている。バススレーブはトランザクションＩＤ値を格納するラッチ回路又はＦＩＦＯメモリを備えている。本発明の他の例では、トランザクションＩＤが要求者ＩＤ及び要求トランザクションＩＤに区分けされている。バススレーブはいずれのバス装置が最初の送出先判読要求を送出したかを決定するために要求者ＩＤを判読する。
【００２９】
【発明の実施の形態】
次に、本発明のバス通信システム及びバス調停方法並びにデータ転送方法の好適な実施の形態を添付図面を参照して詳細に説明する。
図１は本発明の実施形態による共用バスシステムの構成を示すブロック図である。
この例の共用バスシステム３００は、例えば、一つの集積回路で構成され、一つのプリント回路基板又は複合プリント回路基板に実装して構成される。共用バスシステム３００はバス装置３２０，３３０，３４０を有し、かつ、これらが共用バス３９０を共有して接続されている。
【００３０】
共用バス３９０はアドレスバス３５０、データバス３６０及び制御バス３７０を備えている。また、共用バスシステム３００はトランザクションＩＤバス３９５を有している。トランザクションＩＤバス３９５は以降で説明するトランザクションＩＤを用いない場合は不要である。他の実施形態におけるアドレス及びデータ信号が多重化して一つのアドレス／データバスで転送される。
【００３１】
バス装置３２０〜３４０のアドレス端子ＡＤＤＲに接続されたアドレスバス３５０を通じて、要求データ又は記憶データのアドレスデータを転送する。バス装置３２０〜３４０のデータ端子ＤＡＴＡを通じてバス装置３２０〜３４０に接続されたデータバス３６０がバス装置３２０〜３４０間でのデータ転送を行う。
【００３２】
バス装置３２０〜３４０のそれぞれの制御端子ＣＴＲＬに接続された制御バス３７０は、バス装置３２０〜３４０間での制御信号のデータ転送を行う。共用バスシステム３００の好適な実施形態では、次に説明する他の制御信号が制御バス３７０で転送される。例えば、同期共用バスシステムではクロック信号ＣＬＫが制御バス３７０で転送される。非同期共用バスシステムでは有効データ及び認識信号のような制御信号が制御バス３７０で転送される。また、制御バス３７０を他の信号が転送されるが、この信号は転送サイズ、判読／記憶及びデータを格納したアドレスバッファ、データを格納したデータバッファ、データを格納しない空のアドレスバッファ、データを格納しない空のデータバッファ、準備装置、リセット、要求サイズ、及び、準備データを含んでいる。
【００３３】
バス装置３２０〜３４０はバス調停器３１０に接続されている。このバス装置３２０〜３４０は共用バス３９０でのバス使用を要求するためのバス使用要求出力端子Ｒ、バス使用承認信号を受けるバス使用承認入力端子Ｇ、バス調停器３１０に受信アドレスＩＤを転送するための受信アドレスＩＤ出力端子Ｄ＿ＩＤ、及び、バス装置３２０〜３４０がバススレーブになった際に装置選択信号を受け取るための装置選択入力端子ＤＳを有している。
【００３４】
バス調停器３１０はバス装置３２０〜３４０に対するバス使用要求入力端子Ｒ＿ｘ、バス使用承認出力端子Ｇ＿ｘ、受信アドレスＩＤ入力端子Ｄ＿ＩＤ＿ｘ、及び、バス装置３２０〜３４０で端子Ｒ、Ｇ、Ｄ＿ＩＤ、ＤＳにそれぞれ対応する装置選択出力端子ＤＳ＿ｘを備えている。バス使用承認端子Ｇがバス使用のアクティブ状態（承認活動状態）で受信要求を行うバス装置３２０〜３４０はバスマスタに設定される。
【００３５】
バス使用要求時にはバス装置３２０のバス使用要求出力端子Ｒがアクティブ状態（要求活動状態）に設定され、バス装置３２０の受信アドレスＩＤ端子Ｄ＿ＩＤを通じてバス調停器３１０へ受信アドレスＩＤを送出する。この受信アドレスＩＤは、いずれのバス装置３２０〜３４０がバススレーブになるかを示すために用いられるものである。バス装置３２０〜３４０にはそれぞれに受信アドレスＩＤが割り当てられる。
【００３６】
したがって、バス調停器３１０はどのバス装置３２０〜３４０がバススレーブになるかを決定するために受信アドレスＩＤを判読する。例えば、バス装置３２０がバス装置３４０との通信を要求する際に、バス装置３２０は、バス使用要求出力端子Ｒがアクティブ状態（要求活動状態）に設定されてバス装置３２０の受信アドレスＩＤ出力端子Ｄ＿ＩＤにバス装置３４０の受信アドレスＩＤを送出する。
【００３７】
ここで共用バス３９０が使用可能であれば、バス調停器３１０はバス装置３２０のバス使用承認入力端子Ｇに接続されたバス使用承認出力端子Ｇ＿１をアクティブ状態（承認活動状態）に設定することによって、共用バス３９０におけるバス使用をバス装置３２０に対して承認する。また、バス調停器３１０は要求するバススレーブの装置選択端子ＤＳに接続された装置選択出力端子ＤＳ＿Ｎをアクティブ状態（選択活動状態）に設定する。この結果、バス装置３２０はバスマスタになり、バス装置３４０はバススレーブになる。バス装置３４０は装置選択信号を受信するために、次のデータ転送又はデータ転送要求がバス装置３４０に送出される。バス装置３２０、すなわち、バスマスタはバススレーブとしての動作を開始するための装置アドレスを送出する時間が削除される。
【００３８】
バス調停器３１０はバスでのデータ転送が出来ないデータ量が多い使用状態（以下、データ転送不可状態と記載する）であるか否かを確認する。データ転送不可状態のバス端子を有するバス装置３２０〜３４０では、共用バス３９０がバス装置３２０〜３４０によって使用されているときに、バス装置３２０〜３４０はバス端子に対してデータ転送を行う。バス調停器３１０はバス１９０使用可能な時期を決定するためにデータ転送不可状態のバス信号を監視する。
【００３９】
他の実施形態では、バスマスタは引き続きバス使用状態か否かを調べるためにバス調停器３１０へバス使用要求信号を送出する。特に、バスマスタはバスマスタがバス使用を終了した後までバスマスタのバス使用要求出力端子Ｒでアクティブ状態（バス活動状態）を保持する。バスマスタが終了すると、バスマスタはバス使用要求出力端子Ｒをアクティブ状態（要求非活動状態）に設定する。したがって、バス調停器３１０はバス使用可能な時期を決定するためにバスマスタのバス使用要求信号を監視する。
【００４０】
図２はバス調停器の一実施形態の構成を示すブロック図である。
この例の調停ユニット３１２は全てのバス使用要求入力端子Ｒ＿ｘを監視し、バス使用承認出力端子Ｇ＿ｘをアクティブ状態（承認活動状態）に設定する。また、調停ユニット３１２はマルチプレクサ３１４がデコーダ３１６にバスマスタの受信アドレスＩＤ端子が接続されるように受信アドレスＩＤ入力端子Ｄ＿ＩＤ＿ｘに接続されたマルチプレクサ３１４を制御する。デコーダ３１６はバススレーブのバス選択端子に対してデータ転送を行うためにマルチプレクサ３１４からの受信アドレスＩＤを判読する。
【００４１】
図３は同期共用バスでのバス装置３２０からバス装置３３０へのデータ記憶のバス調停時間を説明するためのタイミング図である。
この例はクロック信号ＣＬＫの立ち上がりエッジ４０２で、バス装置３４０はバス使用要求出力端子Ｒがアクティブ状態（要求活動状態）でバス使用要求信号ＲＥＱＵＥＳＴを送出し、バス調停器３１０にバス使用を要求するバス装置（バススレーブ）３３０を示す受信アドレスＩＤ４２２を送出する。
【００４２】
クロック信号ＣＬＫの次の立ち上がりエッジ４０３で、バス調停器３１０はバス装置３４０のバス使用承認入力端子Ｇをアクティブ状態（承認活動状態）に設定してバス使用承認信号ＧＲＡＮＴを送出する。また、立ち上がりエッジ４０３でバス調停器３１０は、バス装置３３０にバス装置３４０が送出した受信アドレスＩＤに対応するバス装置３２０〜３４０の装置選択入力端子ＤＳをアクティブ状態（選択活動状態）に設定する。この結果、バス装置３４０が共用バス３９０のバスマスタになり、かつ、バス装置３３０がバススレーブになる。
【００４３】
バススレーブは同時にバスマスタとして選択されるため、バスマスタが次の立ち上がりエッジ、すなわち、立ち上がりエッジ４０４でデータ転送を開始する。これによってバスマスタがアドレスバス３５０にアドレス値４５３を送出し、立ち上がりエッジ４０４でデータバス３６０にデータ値４６３を送出する。したがって、受信アドレスＩＤ及び共用バス３９０の待機時間が図７に示す例と比較した際に減少する。
【００４４】
ここでバスマスタがバススレーブからのデータ判読を要求する場合、図３に示したタイミングではクロック信号ＣＬＫの立ち上がりエッジ４０６でバススレーブがデータバス３６０に送出するデータが存在しない。転送判読はデータ値４６３を送出しないことを除いて、図３に示したタイミングで処理する。以後、現在のバススレーブは転送判読に応答してデータ転送を開始する。
【００４５】
共用バス３９０における調停の待機時間を更に減少させるために、バス調停器３１０からのバス使用承認信号及び装置選択信号を非同期で処理する。例えば、この場合の単純な組合せ論理では、バス使用要求信号と多種のバス信号とともにバス使用承認信号を生成する。同時に、この単純な組合せ論理では、装置選択信号を生成する受信アドレスＩＤを判読するために用いる。したがって、バス使用の要求が受け入れられるときに、共用バス３９０がデータ転送できない使用状態でなければ、バス使用要求を行うためのバス使用承認入力端子Ｇがバス使用要求出力端子Ｒをアクティブ状態（要求活動状態）に設定して同一クロック周期間で受信アドレスＩＤを判読できるようになる。
【００４６】
これと同時にバス使用を要求するためのバススレーブの装置選択入力端子ＤＳが同一クロック周期内でアクティブ状態（選択活動状態）に設定される。この場合、バス装置３２０〜３４０でのセットアップ時間で処理される限り、バス使用を要求するバス装置３２０〜３４０は、バス使用要求信号が送出された後に、次のクロック周期で共用バス３９０を使用する。他の実施形態では待機時間を更に減少させるために非同期バスを使用する。この場合の転送判読の実行では、トランザクションＩＤバス３９５が効率的にそれぞれの転送要求をタギングするために用いられる。
【００４７】
図４はトランザクションＩＤバス３９５の使用状態を示すタイミング図である。ここでは転送判読に対するバス調停が図３のデータ送出の場合と同一であるため、立ち上がりエッジ４０２，４０３によって発生するバス使用要求、バス使用承認、及び、スレーブ選択過程に対する説明は省略する。なお、立ち上がりエッジ５０４で、バスマスタはアドレスバス３５０にアドレス値５５３を送出し、トランザクションＩＤバス３９５へトランザクションＩＤ値５６３を送出する。
【００４８】
トランザクションＩＤは要求者ＩＤと要求トランザクションＩＤに区分けされる。要求者ＩＤの最小サイズは共用バス３９０を使用するバス装置３２０〜３４０の数に依存する。バス装置３２０〜３４０は特定要求者ＩＤで指定される。トランザクションＩＤバス３９５が共用バスシステム３００に用いられるバス調停とともに用いられると、要求者ＩＤがバス装置３２０〜３４０の受信アドレスＩＤと同一に作成される。トランザクションＩＤバスがバスシステム１００に付加された場合、要求者ＩＤがバス装置３２０〜３４０のアドレスに基づいて指定されるか、又は、バス装置３２０〜３４０が特定要求者ＩＤを有している他の構成に基づいて指定される。
【００４９】
バスマスタは要求トランザクションＩＤの特定値を決定し、それぞれのバス使用要求をタギングするための要求トランザクションＩＤの要求を行う。それぞれの送出先判読要求では特定要求トランザクションＩＤを受け取る必要がある。しかし、送出先判読要求が終了すると、この終了した送出先判読要求の要求トランザクションＩＤを再度、用いることが出来る。
【００５０】
バススレーブが送出先判読要求を受け取る際に、バススレーブは要求されたアドレスとともにトランザクションＩＤ全体を格納する。バススレーブが送出先判読要求に応答できる際に、バススレーブは、いずれのバス装置３２０〜３４０が最初の判読要求であるかを決定するために要求者ＩＤを判読する。これによってバススレーブは共用バス３９０を使用する要求を作成し、バスマスタにトランザクションＩＤ及び要求されたデータを送出する。バスマスタがトランザクションＩＤを受け取るために、バスマスタはどの送出先判読要求が終了しているかを決定する。
【００５１】
図５はトランザクションＩＤバス３９５を使用するバス装置３２０〜３４０の一実施形態の構成を示すブロック図である。
この例のバスマスタ６１０はバススレーブ６２０に対してデータを要求する。バスマスタ６１０のアドレス生成器６３０は、アドレスバス３５０に要求するアドレス値を生成する。バスマスタ６１０のカウンタ６５０は、要求トランザクションＩＤを生成する。それぞれの送出先判読要求に対して、カウンタ６５０は一つずつ要求トランザクションＩＤを増加させる。したがって、転送判読が終了する前に、そのカウンタ６５０のロールオーバが生じない限り、それぞれの送出先判読要求が他のトランザクションＩＤとして生成される。バスマスタ６１０の要求者ＩＤとともにカウンタ６５０の出力がトランザクションＩＤバス３９５に転送される。
【００５２】
また、カウンタ６５０の出力は、特定の送出先判読要求の要求トランザクションＩＤを格納するＩＤ記憶装置６９０へ送出される。多くの明確な送出先判読要求はＩＤ記憶装置６９０に格納される多くの要求トランザクションＩＤによって制限される。バスマスタ６１０は比較器６４０を使用するが、この比較器６４０はいずれの送出先判読要求が終了しているかを決定するためにＩＤ記憶装置６９０に格納された要求トランザクションＩＤ及び入力される要求トランザクションＩＤとを比較するものであり、トランザクションバス３９５でバススレーブ６２０から入力されるトランザクションＩＤを受け取る。
【００５３】
バススレーブ６２０はバスマスタ６１０からの送出先判読要求を格納する。アドレスラッチ回路６６０はアドレスバス３５０からの要求アドレスを格納する。ＩＤラッチ回路６７０はトランザクションＩＤバス３９５からのトランザクションＩＤを格納する。この格納されたアドレスによって指示されたデータが使用可能である際に、デコーダ６８０はいずれのバス装置３２０〜３４０が送出先判読要求を作成するかを決定するためにＩＤラッチ回路６７０からのトランザクションＩＤにおける要求者ＩＤを判読する。
【００５４】
ここで共用バスシステム３００のバス調停処理を用いると、デコーダ６８０はバススレーブ６２０の受信アドレスＩＤ端子Ｄ＿ＩＤに適切な受信アドレスＩＤを送出する（バススレーブ６２０は送出先判読要求に応答するときに、バスマスタになる）。従来のバス調停処理では、デコーダ６８０はバスマスタからアドレス生成器（図示せず）へ適切なアドレスを送出する。
【００５５】
図６は本発明の実施形態によってタギングするトランザクションＩＤ要求及び受信アドレスＩＤバス調停するコンピュータシステム７００の詳細なブロック図を示す。
この例のコンピュータシステム７００は、例えば、標準ＰＣＩバス７０５に接続されたｘ８６互換プロセッサのような主プロセッサ７１０を有している。大容量記憶装置７１４は、大容量記憶装置インタフェース７１２を通じてＰＣＩバス７０５に接続される。大容量記憶装置７１４は、例えば、磁気ディスクドライブ、ＣＤ−ＲＯＭ、光磁気ディスク、又は、磁気テープを用いる。また、補助処理システム７２０はＰＣＩインタフェース７４２を使用するＰＣＩバス７０５に接続される。補助処理システム７２０は、例えば、マルチメディア信号プロセッサである。
【００５６】
図６において、補助処理システム７２０は、キャッシュサブシステム７２６に接続された第１中央処理装置ＣＰＵ７２２及び第２中央処理装置７２４を有している。この補助処理システム７２０のプロセッサ７２２はＡＲＭ７マイクロプロセッサであり、プロセッサ７２４はベクトル補助プロセッサである。
【００５７】
キャッシュサブシステム７２６は第１共用バス７２８、第２共用バス７３０、及びトランザクションＩＤバス７３２に接続されている。第１共用バス７２８はＩ／Ｏ制御器７３４と自在非同期受信機送信機（ＵＡＲＴ：Universal Asynchronous Receiver-Transmitter)７３６のような低速データ処理装置に用いられる。共用バス７３０はメモリ制御器７３８、直接メモリアクセス（ＤＭＡ）制御器７４０、及び、ＰＣＩインタフェース７４２のような高速データ処理装置に用いられる。
【００５８】
共用バス７３０は上記したように受信アドレスＩＤキャッシュ調停システムを使用する。キャッシュサブシステム７２６、メモリ制御器７３８、ＤＭＡ制御器７４０、及び、ＰＣＩインタフェース７４２は図１に示すバス装置３２０〜３４０に対応する。バス装置３２０〜３４０に接続されたバス調停器７５０は上記したバス調停を行う。また、図１に示すバス装置３２０〜３４０は、上記したトランザクション要求にフラグを付すためにトランザクションＩＤバス７３２を使用する。
【００５９】
以上、本発明を特定の好ましい実施形態に関連して説明したが、本発明はこれに限定されない。バス、トランザクションＩＤ生成器、制御バス、ラッチ回路、ＦＩＦＯメモリ、バス装置、バス調停器及び制御ラインなどの手段は本発明の範囲内で変更することが出来る。特許請求の範囲における本発明の精神や分野を離脱しない範囲内で本発明を多様に変更できることは当業界で通常の知識を有する者には自明である。
【００６０】
【発明の効果】
以上の説明から明らかなように、本発明のバス通信システム及びバス調停方法並びにデータ転送方法によれば、共用バス構造はバススレーブの選択によって生じる待機時間及びフラグを付したバス使用要求及びバス調停器の待機時間を減少できるようになり、かつ、フラグを付した送出先判読要求の複雑化を避けることが出来るようになる。更に、特定トランザクションＩＤ方法と回路は高いチップ又はボード領域を専有することなく共用バスでのデータ転送の判読プロトコル処理が向上する。
【図面の簡単な説明】
【図１】本発明の実施形態による共用バスシステムを示すブロック図。
【図２】実施形態におけるバス調停ユニットを示すブロック図。
【図３】実施形態における共用バスシステムでのタイミング図。
【図４】実施形態での共用バスシステムに転送された判読要求におけるタイミング図。
【図５】実施形態におけるバスシステムの詳細を構成を示すブロック図。
【図６】実施形態におけるコンピュータシステムの詳細を構成を示すブロック図。
【図７】従来の共用バスシステムを示すブロック図。
【図８】従来の共用バスシステムにおける動作のタイミング図。
【符号の説明】
３００  共用バスシステム
３１０  バス調停器
３２０〜３４０  バス装置
３５０  アドレスバス
３６０  データバス
３７０  制御バス
３９０  共用バス
３９５  トランザクションＩＤバス
【図１】
0004008987.tif 000002
【図２】
0004008987.tif 000003
【図３】
0004008987.tif 000004
【図４】
0004008987.tif 000005
【図５】
0004008987.tif 000006
【図６】
0004008987.tif 000007
【図７】
0004008987.tif 000008
【図８】
0004008987.tif 000009