(57)【要約】      （修正有）【課題】システムバス、メモリバス、プロセッサバスの三種の各バスの使用効率を最大とする情報処理装置のバスシステムを提供する。【解決手段】プロセッサ101が接続されたプロセッサバス111と、メインメモリ104が接続されたメモリバス112と、入出力デバイス105が接続されたシステムバス113とが三叉路接続コントロール手段103に接続される。この三叉路接続コントロール手段103は、それぞれのアドレスバスと制御バスが接続され、相互にアドレス及び制御信号を転送すると共に、データバス制御信号を発生するバス・メモリ接続コントローラを有する。又、この三叉路接続コントロール手段103は、それぞれのデータバスが接続され、データバス制御信号に応じてこれらのデータバス上のデータを相互に転送するデータパススイッチを有する。【選択図】図１
2010134950.tif 000002
【特許請求の範囲】
【請求項１】
データとアドレスと制御信号を送信するための第一のバスと、
前記第一のバスに接続されるプロセッサと、
データとアドレスと制御信号を送信するための第二のバスと、
前記第二のバスに接続されるメモリと、
データとアドレスと制御信号を送信するための第三のバスと、
前記第三のバスに接続されるデバイスと、
前記第一乃至第三のバスに接続されるデータ転送装置を備え、
前記データ転送装置は、前記プロセッサ、前記メモリ、及び前記デバイスのうちの、任意の２つの間のデータ転送を、前記第一乃至第三のバスのうちのいずれか２つを介して行う、情報処理装置。
【請求項２】
前記デバイスは、ディスプレイコントローラである、請求項１記載の情報処理装置。
【請求項３】
前記デバイスは、ファイルコントローラである、請求項１記載の情報処理装置。
【請求項４】
前記第一のバスに接続される他のプロセッサを更に備え、
前記データ転送装置は、前記メモリ、前記デバイス、前記プロセッサ、及び前記他のプロセッサのうちの、任意の２つの間のデータ転送を、前記第一乃至第三のバスを介して行う、請求項１記載の情報処理装置。
【請求項５】
前記第三のバスに接続される他のデバイスを更に備え、
前記データ転送装置は、前記プロセッサ、前記メモリ、前記デバイス、及び前記他のデバイスのうちの、任意の２つの間のデータ転送を、前記第一乃至第三のバスを介して行う、請求項１記載の情報処理装置。
【請求項６】
データとアドレスと制御信号を送信するための第一のバスと、
前記第一のバスに接続されるプロセッサと、
データとアドレスと制御信号を送信するための第二のバスと、
前記第二のバスに接続されるメモリと、
データとアドレスと制御信号を送信するための第三のバスと、
前記第三のバスに接続されるデバイスと、
データとアドレスと制御信号を送信するための第四のバスと、
前記第四のバスに接続される他のデバイスと、
前記第一乃至第四のバスに接続されるデータ転送装置を備え、
前記データ転送装置は、前記プロセッサ、前記メモリ、前記デバイス、及び前記他のデバイスのうちの、任意の２つの間のデータ転送を、前記第一乃至第四のバスのうちのいずれか２つを介して行う、情報処理装置。
【請求項７】
前記デバイスは、ディスプレイコントローラである、請求項６記載の情報処理装置。
【請求項８】
前記デバイスは、ファイルコントローラである、請求項６記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークステーション、パーソナルコンピュータ、ワードプロセッサ等の情報処理装置に使用されるバスシステムに関する。
【背景技術】
【０００２】
情報処理装置内のバスシステムは、メモリバスとシステムバスが個々にプロセッサバスに接続されているか（非特許文献１参照）、又はプロセッサバスとメモリバスが個々にシステムバスに接続されている構成となっていた。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】バイト、１４巻、１２号（１９８９）、第４１７頁〜４２４頁（ＢＹＴＥ，Ｖolume １４，Ｎumber １２（１９８９），ｐｐ．４１７〜４２４）のＬ．Ｂrett Ｇlass，“ＩＮＳＩＤＥＥＩＳＡ”
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前者は、システムバスとメモリバスが連動動作するいわゆるダイレクトメモリアクセス（Ｄirect Ｍemory Ａccess，以下ＤＭＡ）の際に、プロセッサバスが独立動作ができないため、プロセッサバスの使用効率が悪くなる。一方、後者は、プロセッサバスとメモリバスが連動動作する、いわゆるメインメモリアクセスの際にシステムバスが独立動作できないため、システムバスの使用効率が悪くなるという問題があった。
【０００５】
尚、これらの従来のバスシステムの構成と問題点については、後に図面を用いて詳述する。
【０００６】
本発明の目的は、各バスの使用効率を最大とする情報処理装置のバスシステムを提供することにある。
【０００７】
本発明の他の目的は、プロセッサバスとメモリバスの連動動作とシステムバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
【０００８】
本発明の更なる目的は、システムバスとメモリバスの連動動作とプロセッサバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
【０００９】
本発明の更なる他の目的は、システムバス、メモリバス、プロセッサバスの３種のバスが少なくとも３本以上相互接続される場合の、各バスの使用効率を最大とする情報処理装置用バスシステムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明においては、第１バス、第２バス、第３バスの３つのバスを少なくとも三叉路状に接続し、３種のバスのうち、任意の２つを連動動作している間、他のバスが独立動作可能な構成とする。
【００１１】
即ち、本発明においては、プロセッサと、主メモリと、入出力デバイスと、該プロセッサと接続した第１バスと、該主メモリに接続した第２バスと、該入出力デバイスと接続した第３バスとを有する情報処理装置において、該第１バスと該第２バスと該第３バスとが接続され、前記プロセッサと前記主メモリと前記入出力デバイスの任意の２つ間でデータ転送を可能とする接続手段を有し、該接続手段は、接続された前記第１バスと前記第２バスを用い、前記プロセッサと前記主メモリとの間で第１のデータ信号を転送する第１のデータ転送モードと、接続された前記第２バスと前記第３バスを用い、前記主メモリと前記入出力デバイスとの間で第２のデータ信号を転送する第２のデータ転送モードと、接続された前記第３バスと前記第１バスを用い、前記入出力デバイスと前記プロセッサとの間で第３のデータ信号を転送する第３のデータ転送モードとからなる、それぞれ独立したデータ転送モードを可能とすることを特徴とする情報処理装置である。
【００１２】
これにより、３種のバスの使用効率を最大限に高めることができる。
【００１３】
また、上記目的を達成するため、本発明においては、プロセッサバス、メモリバス、システムバスの３種のバスを少なくとも三叉路状に接続し、３種のバスのうち、任意の２種を連動動作している間、他の１種のバスが独立動作可能な構成とする。
【００１４】
即ち、本発明においては、少なくとも一個のプロセッサが接続されたプロセッサバス、メインメモリに接続されたメモリバス、少なくとも一個の入出力デバイス（以下Ｉ／Ｏデバイス）などの接続デバイスが接続されたシステムバスの３種のバスを少なくとも三叉路接続するコントロール手段を設け、このコントロール手段により、各種のバスの相互接続を可能とする。
【００１５】
即ち、本発明においては、情報処理装置のバスシステムを、少なくとも一個のプロセッサが接続されたプロセッサバスと、メインメモリに接続されたメモリバスと、少なくとも一個の接続デバイスが接続されたシステムバスと、これら３種のバスが接続され、これら３種のバスの相互接続のための接続コントロール手段とで構成する。
【００１６】
本発明では、この接続コントロール手段は、三種のバスのそれぞれのデータバスが接続され、これらバス上のデータを相互に転送するデータパススイッチング手段と、三種のバスのそれぞれの制御バスとアドレスバスが接続され、これらバス上のコントロール信号及びアドレスを相互に転送すると共に、データパススイッチング手段へのデータパス制御信号を発生するバス・メモリ接続コントローラから構成される。
【００１７】
好適にはこのデータパススイッチング手段とバス・メモリ接続コントローラはそれぞれ単独に、あるいは一体として、一つの集積回路上に構成される。
【００１８】
更に、本発明においては、三種のバスはそれぞれ一本でなく、三種のバスのいずれかが複数本の場合においても同様に接続コントロール手段を構成し、これらのバスの相互接続を可能とすることができる。
【００１９】
上述した本発明の構成において、プロセッサバス、メモリバス、システムバスの３種のバスが少なくとも三叉路状に相互に接続されることにより、例えばプロセッサバス上のプロセッサからメモリバス上の主記憶メモリへアクセスするプロセッサメインメモリアクセスの場合に、データはプロセッサバスとメモリバスのみ介して転送され、システムバスを経由しないため、システムバスは独立に動作することが可能となる。一方、システムバス上の接続デバイスからメモリバス上の主記憶メモリへアクセスするＤＭＡの場合、データはシステムバスとメモリバスのみ介して転送され、プロセッサバスを経由しないので、プロセッサバスは独立して動作することが可能となる。
【００２０】
これにより、３種のバスの使用効率を最大限に高めることができる。
【発明の効果】
【００２１】
以上、詳述してきた本発明によれば、少なくとも３種のバスの内、任意の２本が連動動作している間、他の１本以上のバスが独立動作することができるので、各バスの使用効率を最大にするという効果がある。特に、プロセッサバス上に複数のプロセッサが接続されている場合、又はキャッシュメモリシステムが接続されている場合等に、ＤＭＡ動作と複数プロセッサ間、又はプロセッサとキャッシュメモリシステム間のデータ転送を同時に行え、又、プロセッサメインメモリアクセスと複数のシステムバス接続デバイス間のデータ転送を同時に行えるなどの効果がある。
【図面の簡単な説明】
【００２２】
【図１】バスシステムの第１の実施例を示す概略構成図。
【図２】従来技術のバスシステムの概略構成図。
【図３】従来技術のバスシステムの他の概略構成図。
【図４】第１の実施例における三叉路接続コントローラ１０３の一実施例を示す概略構成図。
【図５】第１の実施例における三叉路接続コントローラ１０３の一実施例におけるデータパススイッチ４０２の一実施例を示すブロック図。
【図６】第１の実施例における三叉路接続コントローラ１０３の一実施例におけるバス・メモリ接続コントローラ４０１の一実施例を示すブロック図。
【図７】バスシステムの第２の実施例を示す概略構成図。
【図８】バスシステムの第３の実施例を示す概略構成図。
【図９】図５に示したデータパススイッチ４０２内のデコーダ５１０でデコードされるデータパス制御信号４２０とそのデコード結果の対応を示す図。
【図１０】プロセッサメインメモリリードの場合の状態遷移の各ステップにおけるデータパス制御信号４２０と各種信号の関係を示す図。
【図１１】プロセッサメインメモリライトの場合の状態遷移の各ステップにおけるデータパス制御信号４２０と各種信号の関係を示す図。
【図１２】プロセッサシステムバスデバイスリードの場合の状態遷移の各ステップにおけるデータパス制御信号４２０と各種信号の関係を示す図。
【図１３】プロセッサシステムバスデバイスライトの場合の状態遷移の各ステップにおけるデータパス制御信号４２０と各種信号の関係を示す図。
【図１４】ＤＭＡリードの場合の状態遷移の各ステップにおけるデータパス制御信号４２０と各種信号の関係を示す図。
【図１５】ＤＭＡライトの場合の状態遷移の各ステップにおけるデータパス制御信号４２０と各種信号の関係を示す図。
【図１６】図６に示すバス・メモリ接続コントローラ４０１内のシーケンサ６０１の状態遷移の一実施例を示す遷移図。
【図１７】図９〜図１６により規定されるデータ転送の一例を示すタイムチャート図。
【図１８】図９〜図１６により規定されるデータ転送の一例を示す他のタイムチャート図。
【図１９】図１７、図１８にあらわれる信号を示した図４における三叉路接続コントローラ１０３と各バス１１１、１１２、１１３との接続を具体的に示した構成図。
【発明を実施するための形態】
【００２３】
以下、実施例を図面を用いて詳述する。まず、第一の実施例を図１〜図６を用いて説明する。このうち、図２、図３は従来技術におけるバスシステムの構成図を示すが、本願との比較のためここで詳述する。
【００２４】
図１、図２、図３において、共通して、１０１はＮ個（Ｎは整数）のプロセッサ、１０２はキャッシュメモリシステム（cache）、１０４はメインメモリ（main memory）、１０５はＭ個（Ｍは整数）のシステムバス接続デバイスである。システムバス接続デバイス１０５としては、ディスク・ファイル系コントローラ、描画・表示系コントローラ、ネットワーク・通信系コントローラ等のいわゆる入出力（Ｉ／Ｏ）デバイスを示す。１１１はプロセッサバス、１１２はメモリバス、１１３はシステムバスである。そして、図１における１０３は三叉路接続コントローラであり、図２、図３における２０１、３０１はバス接続コントローラ、２０２、３０２はメモリ接続コントローラである。
【００２５】
図２、図３に示した従来のバスシステムにおいて、図２ではシステムバス１１３とメモリバス１１２が各々バス接続コントローラ２０１とメモリ接続コントローラ２０２によって、プロセッサバス１１１に独立に接続される構成となっている。一方、図３ではプロセッサバス１１１とメモリバス１１２が各々バス接続コントローラ３０１とメモリ接続コントローラ３０２によってシステムバス１１３に独立に接続される構成となっている。
【００２６】
図２の構成においては、システムバス１１３の接続デバイス１０５とメモリバス１１２上のメインメモリとの間でデータ転送を行うＤＭＡ動作において、プロセッサバス１１１を経由する。そのため、プロセッサ１０１とキャッシュ１０２間、あるいは複数のプロセッサ１０１間のデータ転送等のプロセッサバス１１１の独立動作をＤＭＡ動作と同時に行うことができない。一方、図３の構成においては、プロセッサ１０１とメインメモリ１０４との間でデータ転送が行われる、所謂、プロセッサメインメモリアクセスにおいて、システムバス１１３を経由することになるため、複数のシステムバス接続デバイス１０５間のデータ転送等のシステムバス１１３の独立動作をプロセッサメインメモリアクセスと同時に行うことができない。
【００２７】
これに対し、第一の実施例である図１のバスシステムでは、プロセッサバス１１１、メモリバス１１２及びシステムバス１１３の３種のバスが、三叉路接続コントローラ１０３により、三叉路状に接続された構成を有する。従って、ＤＭＡ動作の場合、プロセッサバス１１１を経由しないので、プロセッサバス１１１の独立動作をＤＭＡ動作と同時に実行することができる。又、プロセッサメインメモリアクセスの場合、システムバス１１３を経由しないので、システムバス１１３の独立動作をプロセッサメインメモリアクセスと同時に実行することができる。これにより、ＤＭＡ、プロセッサメインメモリアクセスの場合にも、三種のバスの使用効率を最大にすることができる。
【００２８】
以下、図１に示した第１の実施例のバスシステムと図２、図３に示した従来のバスシステムの性能評価の一例について述べ、第一の実施例の効果を定量的に説明する。
【００２９】
図１、図２、図３のバスシステムにおいて、プロセッサバス１１１の最大データスループットを４００メガバイト／秒、メモリバス１１２の最大データスループットを４００メガバイト／秒、システムバス１１３の最大データスループットを２００メガバイト／秒とする。又、プロセッサバス１１１におけるメインメモリアクセスの比率を４０％、システムバス１１３におけるＤＭＡの比率を７０％、バス接続コントローラ２０１及び３０１の最大バス獲得比率を５０％とする。以上の条件で、プロセッサバス１１１とシステムバス１１３が共に最大データスループットで動作しようとした場合の各バスシステムの性能評価は下記のとおりである。
【００３０】
まず、図２の従来のバスシステムでは、システムバス１１３が最大スループットの２００メガバイト／秒で動作しようとすると、その７０％である１４０メガバイト／秒のＤＭＡの要求がバス接続コントローラ２０１に送られる。バス接続コントローラ２０１は、プロセッサバス１１１について、４００メガバイト／秒の５０％である２００メガバイト／秒までバス獲得が可能であるため、１４０メガバイト／秒のＤＭＡ要求全てを獲得する。この結果、システムバス１１３は２００メガバイト／秒で動作できるが、プロセッサバス１１１はＤＭＡ要求のため、実質的に（４００−１４０）＝２６０メガバイト／秒でしか動作できない。このとき、プロセッサメインメモリアクセスは、２６０メガバイト／秒の４０％である１０４メガバイト／秒になる。従って、メモリバス１１２への要求は（１４０＋１０４）＝２５４メガバイト／秒となり、メモリバス１１２はこの要求に対応可能となる。以上をまとめると、図２の従来のバスシステムにおける３種のバスの使用効率は、プロセッサバス１１１が２６０／４００＝６５％、メモリバス１１２が２５４／４００＝６３．５％、システムバス１１３が２００／２００＝１００％となる。
【００３１】
次に、図３の従来のバスシステムでは、プロセッサバス１１１が最大スループットの４００メガバイト／秒で動作しようとすると、その４０％の１６０メガバイト／秒のメインメモリアクセス要求がバス接続コントローラ３０１に送られる。バス接続コントローラ３０１は、システムバス１１３について、２００メガバイト／秒の５０％の１００メガバイト／秒までしかバスを獲得できない。従って、プロセッサメインメモリアクセスは１００メガバイト／秒しか処理されず、その結果プロセッサバス１１１は、１００メガバイト／秒が４０％となる、２５０メガバイト／秒でしか動作できない。またこのときシステムバス１１３は、実質的に（２００−１００）＝１００メガバイト／秒で動作する。従って、ＤＭＡ要求は１００メガバイト／秒の７０％である７０メガバイト／秒になる。この結果、メモリバス１１２への要求は（１００＋７０）＝１７０メガバイト／秒となり、メモリバス１１２はこの要求に対応可能である。以上まとめると、図３の従来のバスシステムにおける３種のバスの使用効率は、プロセッサバス１１１が２５０／４００＝６２．５％、メモリバス１１２が１７０／４００＝４２．５％、システムバス１１３が１００／２００＝５０％となる。
【００３２】
これに対し、第１の実施例である図１のバスシステムにおいては、プロセッサバス１１１が４００メガバイト／秒で動作しようとすると、その４０％の１６０メガバイト／秒のメインメモリアクセス要求が、三叉路接続コントローラ１０３に送られる。又、システムバス１１３が２００メガバイト／秒で動作しようとすると、その７０％の１４０メガバイトのＤＭＡ要求が、それぞれ三叉路接続コントローラ１０３に送られる。三叉路接続コントローラ１０３はプロセッサメインメモリアクセス要求とＤＭＡ要求を合わせて、（１６０＋１４０）＝３００メガバイト／秒の要求をメモリバス１１２に送り、メモリバス１１２はこの要求に応じられる。従って、プロセッサバス１１１は４００メガバイト／秒で、システムバス１１３は２００メガバイト／秒で動作することができる。以上により、図１に示した第１の実施例のバスシステムにおける三種のバスの使用効率は、プロセッサバスが４００／４００＝１００％、メモリバス１１２が３００／４００＝７５％、システムバス１１３が２００／２００＝１００％となる。
【００３３】
以上の結果を第１表に示した。表１に明らかなように、図１のバスシステムでは、三種のバスの使用効率が最大になることが理解される。
【００３４】
【表１】
2010134950.tif 000003
【００３５】
さて、具体的な構成を示す実施例に先立ち、図７、図８を用いて第２、第３の実施例であるバスシステムについて説明する。
【００３６】
図７、図８において、７０１及び７０３は個別のキャッシュメモリシステム（Ｃache）を接続できる単独構成型プロセッサ１〜Ｎ、８０１は個別のキャッシュメモリシステムを接続できるＮ個のマルチ構成型プロセッサである。７１１及び７１２は、各々単独構成型プロセッサ７０１、７０３と四叉路接続コントローラ７０５を接続するプロセッサバス、７０５はプロセッサバス７１１、７１２、メモリバス１１２及びシステムバス１１３を接続する四叉路接続コントローラである。又、７０２、７０４及び８０２は、各々プロセッサ７０１、７０３及び８０１に個別に接続されるキャッシュメモリシステムである。尚、システムバス接続デバイス１０５は、先の実施例と同様のＩ／Ｏデバイスである。
【００３７】
図７に示す第２の実施例において、２本のプロセッサバス７１１、７１２、メモリバス１１２及びシステムバス１１３の三種４本のバスが、四叉路接続コントローラ７０５によって、四叉路状に接続されている。プロセッサ７０１及び７０３は個別のキャッシュメモリシステム７０２及び７０４を接続できる単独構成型プロセッサである。このため、プロセッサ７０１及び７０３は、各々の個別キャッシュメモリ７０２及び７０４へは、プロセッサバスを介さずに直接アクセスすることができるが、プロセッサバスを共有することはできない。
【００３８】
図７において、四叉路接続コントローラ７０５は、三種４本のバスの接続制御を行うことにより、プロセッサ７０１、７０３間の通信を、ＤＭＡと並行して行ったり、あるいはプロセッサ７０１によるメインメモリアクセスと、プロセッサ７０３によるシステムバスアクセスを並行して行う等の動作を可能としている。
【００３９】
これにより、本実施例においても先の実施例同様、三種４本のバスの使用効率を最大にすることができる。
【００４０】
図８は、図１に示した第１の実施例同様、プロセッサバス１１１、メモリバス１１２及びシステムバス１１３の三種のバスが、三叉路接続コントローラ１０３により、三叉路上に接続された構成を有する。プロセッサ８０１は個別のキャッシュメモリシステム（cache）を接続できるマルチ構成型プロセッサである。このため、プロセッサ８０１の各々は、個別キャッシュメモリ８０２へはプロセッサバスを介さずにアクセスでき、又、プロセッサバス１１１を共有することができる。更に、図８の第３の実施例のバスシステムでは、図１と同様に、ＤＭＡとプロセッサバス１１１の独立動作を並行して行う、あるいはプロセッサバス１１１からのメインメモリアクセスとシステムバス１１３の動作を並行して行う等の動作が可能であり、これにより第１の実施例と同様に三種のバスの使用効率を最大にすることができる。
【００４１】
続いて上述した実施例の要部の具体的実施例を図４、図５、図６を用いて詳述する。特に図１、図７に示した第一、第三の実施例の三叉路接続コントローラ１０３の詳細構成を説明するが、図７に示した四叉路接続コントローラ７０５についても同様に構成できる。
【００４２】
さて、図４は三叉路接続コントローラ１０３の２個の集積回路による構成図を示している。図４において、三叉路接続コントローラ１０３には、プロセッサバス１１１、メモリバス１１２、システムバス１１３が接続されている。これらのバスは、各々、アドレスバス４１１、４１４、４１７、制御バス４１２、４１５、４１８、データバス４１３、４１６、４１９によって構成される。本実施例において、三叉路接続コントローラ１０３は２個の集積回路、即ち、バス・メモリ接続コントローラ４０１、データパススイッチ４０２によって構成される。但し、三叉路接続コントローラ１０３は、１個あるいは３個以上の集積回路によって構成することもできる。
【００４３】
データパススイッチ４０２は、プロセッサデータバス４１３、メモリデータバス４１６、システムデータバス４１９の３種のデータバスを三叉路状に接続する。そして、バス・メモリ接続コントローラ４０１から出力されるデータパス制御信号４２０に従って、３種のデータバス４１３、４１６、４１９の接続、切離し、及びデータ入出力方向の制御を行う。一方、バス・メモリ接続コントローラ４０１は、プロセッサアドレスバス４１１、プロセッサ制御バス４１２、システムアドレスバス４１７、システム制御バス４１８が接続される。そして、プロセッサバス１１１とシステムバス１１３の状態を監視する。又、メモリアドレスバス４１４、メモリ制御バス４１５、及びデータパス制御信号４１２を出力して、メインメモリ１０４及びデータパススイッチ４０２を制御する。データパス制御信号４１２については後で詳述する。
【００４４】
バス・メモリ接続コントローラ４０１は、プロセッサバス１１１からプロセッサメインメモリアクセスが要求された場合、プロセッサバス１１１とメモリバス１１２を連動動作させて、システムバス１１３を独立動作させる。更に、システムバス１１３からＤＭＡが要求された場合、システムバス１１３とメモリバス１１２を連動動作させて、プロセッサバス１１１を独立動作させる。又、プロセッサバス１１１からシステムバス１１３へのアクセス要求、あるいはシステムバス１１３からプロセッサバス１１１へのアクセス要求があった場合は、プロセッサバス１１１とシステムバス１１３を連動動作させる。又、更にプロセッサバス１１１からの要求とシステムバス１１３からの要求が競合する場合、例えば、両方から同時にメモリアクセス要求があった場合などには、いずれか一方のバスに対してウェイト動作を行う等の調停制御を行う機能を持つ。
【００４５】
図５は、図４中のデータパススイッチ４０２の一実施例の内部構成を示す図である。図５において、５０７、５０８、５０９は各々プロセッサデータバス４１３、メモリデータバス４１６、システムデータバス４１９に接続するデータ入出力ドライバ、５０１、５０２、５０３はデータラッチ回路（Ｌatch）、５０４、５０５、５０６はデータセレクタ（Ｓelector）である。デコーダ回路５１０は、バス・メモリ接続コントローラ４０１が出力するデータパス制御信号４２０をデコードして、入出力バッファ５０７、５０８、５０９の出力イネーブル信号（Ｅnable）５１１、５１２、５１３と、データセレクタ５０４、５０５、５０６のセレクト信号（Ｓelect）５１４、５１５、５１６を生成する。
【００４６】
データラッチ５０１、５０２、５０３には各々プロセッサデータバス４１３、メモリデータバス４１６、システムデータバス４１９からの入力データがラッチされる。セレクタ５０４、５０５、５０６は各々プロセッサデータバス４１３、メモリデータバス４１６、システムデータバス４１９への出力データを、他の２種のデータバスからの入力データから選択する。これにより、３種のデータバスのうち任意の１種からの入力データを他の２種のデータバスの両方に出力する、あるいは一方にのみデータ出力して他の一方には出力しないという制御が行うことができる。従って、データパス制御信号４２０によって、３種のデータバス全ての連動動作、あるいは３種のうち任意の２種の連動動作と他の１種の独立動作を行うことができる。
【００４７】
図６は、図４中のバス・メモリ接続コントローラ４０１の内部構成の一実施例を示す図である。図６において、６０１、６０２、６０３、６０４は入出力ドライバ、６０５、６０６、６０７、６０８はラッチ回路（Ｌatch）である。又、６０９、６１０はデコーダ回路、６１１、６１２はエンコーダ回路、６１３は論理演算器であるシーケンサ、６１４はデコーダ回路である。又、６１５はセレクタ、６１６はメモリ制御信号生成部、６１７はデータパス制御信号生成部である。
【００４８】
プロセッサアドレスバス４１１、プロセッサ制御バス４１２、システムアドレスバス４１７、システム制御バス４１８からの入力信号は、各々入出力ドライバ６０１、６０２、６０３、６０４を介して、ラッチ回路６０５、６０７、６０６、６０８にラッチされる。２種のアドレスバスから入力され、ラッチ回路６０５、６０６にラッチされたアドレスは、各々デコーダ回路６０９、６１０にてデコードされる。デコード結果は、２種の制御バス４１２、４１８からの信号入力であるラッチ回路６０７、６０８のデータと合わせて、各々エンコーダ回路６１１及び６１２によって、プロセッサバス１１１とシステムバス１１３の状態を示す信号にエンコードされる。これにより、バス・メモリ接続コントローラ４０１は、プロセッサバス１１１及びシステムバス１１３の状態を監視することができる。
【００４９】
エンコーダ回路６１１、６１２によりエンコードされたプロセッサバス１１１及びシステムバス１１３の状態信号は、論理演算器であるシーケンサ６１３に入力される。シーケンサ６１３は、２種のバス１１１、１１３の状態信号から、各々のバスへの対応、及びメモリバス１１２の動作を算出し、コード情報として出力する。シーケンサ６１３は、汎用のマイクロプロセッサや、専用のハード構成で構成される。
【００５０】
シーケンサ６１３から出力されたコード情報はデコーダ回路６１４によりデコードされ、入出力ドライバ６０１、６０２、６０３、６０４の出力イネーブル信号６１８、６１９、６２０、６２１、セレクタ回路６１５のセレクト信号６２２、メモリ制御信号生成部６１６、データパス制御信号生成部６１７へのメモリ制御コード６２３、及びデータパス制御コード６２４、及び入出力ドライバ６０２、６０４をそれぞれ介したプロセッサ制御バス４１２、システム制御バス４１８への制御出力信号６２５、６２６として出力される。
【００５１】
入出力ドライバ６０１は、システムバス１１３からプロセッサバス１１１へのアクセスが生じた場合に、システムアドレスバス４１７からの入出力アドレスをプロセッサアドレスバス４１１に出力する。又、入出力ドライバ６０２は、プロセッサ制御バス４１２に、プロセッサバス１１１の仕様で定められた制御出力信号６２５を出力する。一方、入出力ドライバ６０３は、プロセッサバス１１１からシステムバス１１３へのアクセスが生じた場合に、プロセッサアドレスバス４１１からの入出力アドレスをシステムアドレスバス４１７に出力する。又、入出力ドライバ６０４は、システム制御バス４１８に、システムバス１１３の仕様で定められた制御出力信号６２６を出力する。
【００５２】
セレクタ回路６１５は、プロセッサアドレスバス４１１とシステムアドレスバス４１７からアドレスが入力され、メモリバス１１２へのアクセスが生じた場合に、いずれか一方を選択してメモリアドレスバス４１４に出力する。メモリ制御信号生成部６１６は、コード変換回路として機能し、デコーダ回路６１４が出力するメモリ制御コード６２３をメモリバス１１２の仕様で定められたメモリ制御信号に変換してメモリ制御バス４１５に出力する。データパス制御信号生成部６１７もコード変換回路として機能し、デコーダ回路６１４が出力するデータパス制御コード６２４を、データパススイッチ４０２に対するデータパス制御信号４２０に変換して出力する。
【００５３】
以上詳述した三叉路接続コントローラ１０３内のバス・メモリ接続コントローラ４０１は３種のバスの接続、切離し、ウェイト等の制御を行うことができる。
【００５４】
引き続き、上述した三叉路接続コントローラ１０３内の各種データ、信号についての一実施例を図９〜図１９を用いて詳述する。
【００５５】
図９には、バス・メモリ接続コントローラ４０１からデータパススイッチ４０２へ出力されるデータパス制御信号４２０と、それに対応してデコーダ５１０でデコードされた入出力ドライバ５０７、５０８、５０９のエネーブル信号５１１、５１２、５１３、データセレクタ５０４、５０５、５０６のセレクト信号５１４、５１５、５１６との関係の一例を示している。同図中、最上段のマスタ（master）、スレーブ(Ｓlave)、リード／ライト（Ｒead／Ｗrete）の各欄は、データ転送のマスタ・スレーブ、及びそのデータ転送がマスタからスレーブに対するリード転送かライト転送かを意味している。最上段の残りの部分には、図５中の上述の信号５１１〜５１６に対応する信号名を記載した。最上段の最右欄のＤＴ−ＣＮＴがデータパス制御信号４２０である。このデータパス制御信号（ＤＴ−ＣＮＴ）４２０は本実施例では３ビットで表わされる。何も転送を行わないアイドル状態（Ｉdel）では、ＤＴ−ＣＮＴ４２０は０（“０００”）である。
【００５６】
それぞれのエネーブル信号（ＤＩＲ−Ｐ，ＤＩＲ−Ｍ，ＤＩＲ−Ｓ）５１１、５１２、５１３は、入出力ドライバ５０７、５０８、５０９のそれぞれが入力のとき“０”、出力のとき“１”である。セレクト信号（ＳＥＬ−Ｐ）５１４は、セレクタ５０４がメモリバス１１２側を選択するとき“０”、システムバス１１３側を選択するとき“１”である。又、セレクト信号（ＳＥＬ−Ｍ）５１５は、セレクタ５０５がプロセッサバス１１１側を選択するとき“０”、システムバス１１３側を選択するとき“１”である。更に、セレクト信号（ＳＥＬ−Ｓ）５１６は、セレクタ５０６がプロセッサバス１１１側を選択するとき“０”、メモリバス１１２側を選択するとき“１”である。本図により、データパススイッチ４０２のデコーダ５１０に入力されるＤＴ−ＣＮＴ４２０により、データパススイッチ４０２内のセレクタ５０４〜５０６、入出力ドライバ５０７〜５０９の制御をそれぞれ実行でき、三種のバスの接続方向制御が可能となる。
【００５７】
次に、三叉路接続コントローラ１０３の動作を図４の三叉路接続コントローラ１０３に接続されるバスを詳細化した図１９の構成図と図１７、図１８のタイミングチャートを用いて説明する。
【００５８】
これらの図において、図１、図４と同一の符号は同一物を意味している。１９１０、１９１１はそれぞれ先のシステムバス接続デバイス１０５に対応するＤＭＡマスタＩ／Ｏデバイス、スレーブＩ／Ｏデバイスを示す。図１９中で、アクノレッジ信号（ＡＣＫ）１９０２はプロセッサ１０１への応答信号であり、リード時はデータの確定を、ライト時はデータの取り込みを示す。
【００５９】
ロウアドレスストローブ信号（ＲＡＳ）１９０３、カラムアドレスストローブ信号（ＣＡＳ）１９０４、ライトイネーブル信号（ＷＥ）１９０５はそれぞれメインメモリ１０４のメモリ制御バス４１５に送られるメモリコントロール信号の一部である。アドレス選択信号（ＡＤ−ＭＰＸ）はバス・メモリ接続コントローラ４０１の内部信号であり、本信号がハイのときロウアドレスを、ローのときカラムアドレスを出力するものである。システムバスグランド信号（Ｓ−ＧＮＴ）１９０６は、システムバス接続デバイス１０５であり、ＤＭＡマスタになりうるＩ／Ｏデバイス１９１０にシステムバス１１３を使用許可を与え、ＤＭＡマスタになることを可能にするものである。アドレス／データストローブ信号（Ｓ−ＳＴＢ）１９０７はシステムバスマスタが出力するもので、ＤＭＡアクセスのときはＤＭＡマスタＩ／Ｏデバイス１９１０が出力し、プロセッサＩ／Ｏアクセスのときは、バス・メモリ接続コントローラ４０１が出力し、リード時はアドレスの、ライト時はアドレスとデータ両方のそれぞれの確定期間出力される。システムバススレーブ応答信号（Ｓ−ＡＣＫ）１９０８は、システムバススレーブの応答信号であり、ＤＭＡアクセスの時は、バス・メモリ接続コントローラ４０１が出力し、プロセッサシステムバスＩ／Ｏアクセスの時はスレーブＩ／Ｏデバイス１９１１が出力する。リード時はデータの確定と、ライト時はデータの取り込みを示す。Ｓ−ＧＮＴ１９０６、Ｓ−ＳＴＢ１９０７、Ｓ−ＡＣＫ１９０８、及びリード／ライトの別を示す信号（Ｓ−ＲＥＡＤ）１９０９とはシステム制御バス４１８に送られる制御出力信号６２６に属する。システムバスアドレス（Ｓ−ＡＤＤ）はシステムアドレスバス４１７に送られる。尚、システムバスリード／ライト信号（Ｓ−ＲＥＡＤ）はハイ（Ｈ）のときリードを示す。
【００６０】
図１６はバスメモリ接続コントローラ４０１のシーケンサ６１３の状態遷移の一実施例を示す図である。又、図１０〜図１５は図１６に示した各転送種のそれぞれの状態遷移の複数のステップで出力する信号を示す図であり、それぞれプロセッサメインメモリリード、プロセッサメインメモリライト、プロセッサシステムバスデバイスリード、プロセッサシステムバスデバイスライト、ＤＭＡリード、ＤＭＡライトに対応する。“○”印が信号のアサートを示し、Ｓ−ＲＥＡＤ１９０９の“Ｈ”，“Ｌ”はそれぞれ信号値ハイ、ローを出力する意味である。又、信号名の上部に記載されたバーは信号が負論理であることを意味する。
【００６１】
図１６において、図１２に対応するプロセッサシステムバスデバイス・リードのステップＳ２では、システムバススレーブのデータ確定待ちが行われる。図１３に対応するプロセッサシステムバスデバイスライトのステップＳ３では、ライト応答待ちが行われる。図１４に対応するＤＭＡリードのステップＳ１では、Ｓ−ＳＴＢ受信待ちが行われ、Ｓ−ＳＴＢを受けたときのリード／ライト判定に従って次のステップＳ２への遷移先が定まる。又、ＤＭＡリードのステップＳ８、ＤＭＡライトのＳ５では、ＤＭＡマスタのＳ−ＳＴＢのネゲート待ちが行われる。
【００６２】
図９〜図１６により規定される転送のタイムチャートである図１７、図１８のタイムチャート中に（ ）で示したものは、各々の信号の出力元である。
【００６３】
即ち、（ＢＭＣＣ）はバスメモリ接続コントローラ４０１が出力することを、又（Ｉ／Ｏ）はＤＭＡマスタＩ／Ｏデバイス１９１０、又はプロセッサシステムバスＩ／ＯアクセスのスレーブとなったスレーブＩ／Ｏデバイス１９１１をそれぞれ示す。
【００６４】
さて、図５に示すデータパススイッチ４０２のラッチ回路５０１、５０２、５０３はエッジトリガフリップフロップにより構成され、図１７、図１８に示すクロック（ＣＬＫ）の立ち上がりでラッチされる。スタート信号（ＳＴＡＲＴ）１９０１はプロセッサ１の出力する転送起動信号であり、これが出力されているクロック（ＣＬＫ）の立ち上がりでアドレスをラッチして使用する。その他では、Ｍ−ＡＤＤはメモリアドレスバス４１４に送られるメモリアドレスを示す。又、Ｐ−Ｄata，Ｍ−data，Ｓ−dataはそれぞれプロセッサデータバス４１３、メモリデータバス４１６、システムデータバス４１９に送られたデータを、示す。更に、Ｐ−Ｌatch，Ｍ−Ｌatch，Ｓ−Ｌatchはそれぞれラッチ５０１、５０２、５０３にラッチされたデータを示す。
【００６５】
図１３で示したプロセッサシステムバスデバイスライトのステップＳ３では、Ｓ−ＡＣＫアサート待ちによるウェイトが１サイクル入っている。又、図１２で示したプロセッサシステムバスデバイスリードのステップＳ２で、Ｓ−ＡＣＫアサート待ちによりウェイトが２サイクル入っている。そして、図１４に示したＤＭＡリードのステップＳ１でＳ−ＳＴＢアサート待ちによるウェイトが１サイクル、ステップＳ３でＳ−ＳＴＢネゲート待ちによるウェイトが１サイクル入っていることが図１６から明らかである。
【００６６】
図１８で、ＤＭＡライトのステップＳ１では、やはりＳ−ＳＴＢアサート待ちによるウェイトが１サイクル入っているが、ステップＳ５でのネゲート待ちはノーウェイトで実行されている。
【００６７】
以上、詳述してきた図９〜図１８に示した方法で、図４、図５、図６のバスメモリ接続コントローラ４０１、データパススイッチ４０２を動作させることで、図１に示した三叉路接続コントローラ１０３の一実施例の動作が理解された。
【００６８】
図７に示した四叉路接続コントローラ７０５などの構成、動作について、ここでは詳述しないが、上述の三叉路接続コントローラの構成・動作から容易に理解される。
【００６９】
又、上述した図４以下の説明においては、プロセッサバス１１１、メモリバス１１２、システムバス１１３が全てアドレス・データ分離型バスになっているが、本発明は、アドレス・データ多重型バスにも適用できることは言うまでもない。例えば、プロセッサバス１１１とシステムバス１１３がアドレス・データ多重化バスである場合には、図４において、プロセッサアドレスバス４１１とプロセッサデータバス４１３、及びシステムアドレスバス４１７とシステムデータバス４１９が各々１本のバスになり、バス・メモリ接続コントローラ４０１とデータパススイッチ４０２の両方に接続されることになる。その他、本発明の基本概念の下、上述した実施例にかかわらず、数々の変形がなされうることは言うまでもない。
【符号の説明】
【００７０】
１０１…Ｎ個のプロセッサ、
１０２…キャッシュメモリシステム、
１０３…三叉路接続コントローラ、
１０４…メインメモリ、
１０５…Ｍ個のシステムバス接続デバイス、
１１１…プロセッサバス、
１１２…メモリバス、
１１３…システムバス。
【図１】
2010134950.tif 000004
【図２】
2010134950.tif 000005
【図３】
2010134950.tif 000006
【図４】
2010134950.tif 000007
【図５】
2010134950.tif 000008
【図６】
2010134950.tif 000009
【図７】
2010134950.tif 000010
【図８】
2010134950.tif 000011
【図９】
2010134950.tif 000012
【図１０】
2010134950.tif 000013
【図１１】
2010134950.tif 000014
【図１２】
2010134950.tif 000015
【図１３】
2010134950.tif 000016
【図１４】
2010134950.tif 000017
【図１５】
2010134950.tif 000018
【図１６】
2010134950.tif 000019
【図１７】
2010134950.tif 000020
【図１８】
2010134950.tif 000021
【図１９】
2010134950.tif 000022
【手続補正書】
【提出日】平成22年2月17日(2010.2.17)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理装置であって、
第１の仕様に従って動作するプロセッサバスと、
前記プロセッサバスに接続されるプロセッサと、
第２の仕様に従って動作するメモリバスと、
前記メモリバスに接続されるメモリと、
第３の仕様に従って動作するシステムバスと、
前記システムバスに接続される第１のデバイスと、
前記システムバスに接続される第２のデバイスと、
前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
を有し、
前記コントローラは、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第１の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第２の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つと、前記プロセッサとの間で双方向にデータを転送する第３の転送モードと、
を有することを特徴とするデータ処理装置。
【請求項２】
データ処理装置であって、
プロセッサと接続可能な、第１の仕様に従って動作するプロセッサバスと、
メモリと接続可能な、第２の仕様に従って動作するメモリバスと、
第１のデバイス及び第２のデバイスと接続可能な、第３の仕様に従って動作するシステムバスと、
前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
を有し、
前記コントローラは、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第１の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第２の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つと、前記プロセッサとの間で双方向にデータを転送する第３の転送モードと、
を有することを特徴とするデータ処理装置。
【請求項３】
請求項１または２に記載のデータ処理装置であって、
前記第１の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記第１のデバイスと前記第２のデバイスとの間でデータを転送する
ことを特徴とするデータ処理装置。
【請求項４】
請求項１または２に記載のデータ処理装置であって、
前記第１の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記システムバスは独立動作可能であり、前記第１のデバイスと前記第２のデバイスとの間でデータを転送する
ことを特徴とするデータ処理装置。
【請求項５】
請求項１〜４のいずれか１項に記載のデータ処理装置であって、
前記第１のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、
前記第２のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかである
ことを特徴とするデータ処理装置。
【請求項６】
請求項１〜４のいずれか１項に記載のデータ処理装置であって、
前記第１のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、
前記第２のデバイスは、描画コントローラまたは表示コントローラのいずれかである
ことを特徴とするデータ処理装置。
【請求項７】
請求項１〜４のいずれか１項に記載のデータ処理装置であって、
前記第１のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかであり、
前記第２のデバイスは、描画コントローラまたは表示コントローラのいずれかである
ことを特徴とするデータ処理装置。
【請求項８】
請求項１〜７のいずれか１項に記載のデータ処理装置であって、
前記コントローラはデータを一時的に保持する、前記プロセッサバス、前記メモリバス、前記システムバスのそれぞれのバスに対応したバッファを有し、
前記コントローラは、
前記第１の転送モードにおいて、
前記プロセッサから前記メモリへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第２の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記メモリへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第３の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記プロセッサへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第１の仕様に従った信号と共に前記プロセッサバスに出力し、前記プロセッサバスに出力された前記第１の仕様に従った信号に応じて、前記プロセッサバスへ出力された該データを前記プロセッサが取得し、
前記プロセッサから前記第１のデバイスまたは前記第２のデバイスの少なくとも１つへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第３の仕様に従った信号と共に前記システムバスに出力し、前記システムバスに出力された前記第３の仕様に従った信号に応じて、前記システムバスへ出力された該データを前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが取得する
ことによりデータを転送することを特徴とするデータ処理装置。
【請求項９】
請求項１〜７のいずれか１項に記載のデータ処理装置であって、
前記コントローラはデータを一時的に保持する、前記プロセッサバス、前記メモリバス、前記システムバスのそれぞれのバスに対応したバッファを有し、
前記コントローラは、
前記第１の転送モードにおいて、
前記プロセッサから前記メモリへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記メモリバスに出力し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第２の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記メモリへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記メモリバスに出力し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第３の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記プロセッサへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記プロセッサバスに出力が可能な状態になった場合に前記プロセッサバスに出力し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第１の仕様に従った信号に応じて、前記プロセッサバスへ出力された該データを前記プロセッサが取得し、
前記プロセッサから前記第１のデバイスまたは前記第２のデバイスの少なくとも１つへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記システムバスに出力が可能な状態になった場合に前記システムバスに出力し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第３の仕様に従った信号に応じて、前記システムバスへ出力された該データを前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが取得する
ことによりデータを転送することを特徴とするデータ処理装置。
【請求項１０】
請求項１〜７のいずれか１項に記載のデータ処理装置であって、
前記コントローラはデータを一時的に保持する、前記プロセッサバス、前記メモリバス、前記システムバスのそれぞれのバスに対応したバッファを有し、
前記コントローラは、
前記第１の転送モードにおいて、
前記プロセッサから前記メモリへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第２の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記メモリへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第３の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記プロセッサへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記プロセッサバスに出力が可能な状態になった場合に前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第１の仕様に従った信号と共に前記プロセッサバスに出力し、前記プロセッサバスに出力された前記第１の仕様に従った信号に応じて、前記プロセッサバスへ出力された該データを前記プロセッサが取得し、
前記プロセッサから前記第１のデバイスまたは前記第２のデバイスの少なくとも１つへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記システムバスに出力が可能な状態になった場合に前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第３の仕様に従った信号と共に前記システムバスに出力し、前記システムバスに出力された前記第３の仕様に従った信号に応じて、前記システムバスへ出力された該データを前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが取得する
ことによりデータを転送することを特徴とするデータ処理装置。
【請求項１１】
請求項１〜１０のいずれか１項に記載のデータ処理装置であって、
前記第１の転送モードでデータを転送している場合は、前記システムバスに該データは出力されず、
前記第２の転送モードでデータを転送している場合は、前記プロセッサバスに該データは出力されず、
前記第３の転送モードでデータを転送している場合は、前記メモリバスに該データは出力されない、
ことを特徴とするデータ処理装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載のデータ処理装置であって、
前記第１の転送モードでデータを転送している場合は、前記システムバスは独立動作可能であり、
前記第２の転送モードでデータを転送している場合は、前記プロセッサバスは独立動作可能であり、
前記第３の転送モードでデータを転送している場合は、前記メモリバスは独立動作可能である、
ことを特徴とするデータ処理装置。
【請求項１３】
請求項１〜１２のいずれか１項に記載のデータ処理装置であって、前記信号は制御信号であることを特徴とするデータ処理装置。
【請求項１４】
データ処理装置におけるデータ処理方法であって、
前記データ処理装置は、
第１の仕様に従って動作するプロセッサバスと、
前記プロセッサバスに接続されるプロセッサと、
第２の仕様に従って動作するメモリバスと、
前記メモリバスに接続されるメモリと、
第３の仕様に従って動作するシステムバスと、
前記システムバスに接続される第１のデバイスと、
前記システムバスに接続される第２のデバイスと、
前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
を有し、
前記コントローラは、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第１の転送モード、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第２の転送モード、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つと、前記プロセッサとの間で双方向にデータを転送する第３の転送モード、
のいずれか１つによりデータを転送することを特徴とするデータ処理方法。
【請求項１５】
データ処理装置におけるデータ処理方法であって、
前記データ処理装置は、
プロセッサと接続可能な、第１の仕様に従って動作するプロセッサバスと、
メモリと接続可能な、第２の仕様に従って動作するメモリバスと、
第１のデバイス及び第２のデバイスと接続可能な、第３の仕様に従って動作するシステムバスと、
前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
を有し、
前記コントローラは、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第１の転送モード、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第２の転送モード、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つと、前記プロセッサとの間で双方向にデータを転送する第３の転送モード、
のいずれか１つによりデータを転送することを特徴とするデータ処理方法。
【請求項１６】
請求項１４または１５に記載のデータ処理方法であって、
前記第１の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記第１のデバイスと前記第２のデバイスとの間でデータを転送する
ことを特徴とするデータ処理方法。
【請求項１７】
請求項１４または１５に記載のデータ処理方法であって、
前記第１の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記システムバスは独立動作可能であり、前記第１のデバイスと前記第２のデバイスとの間でデータを転送する
ことを特徴とするデータ処理方法。
【請求項１８】
請求項１４〜１７のいずれか１項に記載のデータ処理方法であって、
前記第１のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、
前記第２のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかである
ことを特徴とするデータ処理方法。
【請求項１９】
請求項１４〜１７のいずれか１項に記載のデータ処理方法であって、
前記第１のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、
前記第２のデバイスは、描画コントローラまたは表示コントローラのいずれかである
ことを特徴とするデータ処理方法。
【請求項２０】
請求項１４〜１７のいずれか１項に記載のデータ処理方法であって、
前記第１のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかであり、
前記第２のデバイスは、描画コントローラまたは表示コントローラのいずれかである
ことを特徴とするデータ処理方法。
【請求項２１】
請求項１４〜２０のいずれか１項に記載のデータ処理方法であって、
前記コントローラはデータを一時的に保持する、前記プロセッサバス、前記メモリバス、前記システムバスのそれぞれのバスに対応したバッファを有し、
前記コントローラは、
前記第１の転送モードにおいて、
前記プロセッサから前記メモリへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第２の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記メモリへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第３の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記プロセッサへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第１の仕様に従った信号と共に前記プロセッサバスに出力し、前記プロセッサバスに出力された前記第１の仕様に従った信号に応じて、前記プロセッサバスへ出力された該データを前記プロセッサが取得し、
前記プロセッサから前記第１のデバイスまたは前記第２のデバイスの少なくとも１つへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第３の仕様に従った信号と共に前記システムバスに出力し、前記システムバスに出力された前記第３の仕様に従った信号に応じて、前記システムバスへ出力された該データを前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが取得する
ことによりデータを転送することを特徴とするデータ処理方法。
【請求項２２】
請求項１４〜２０のいずれか１項に記載のデータ処理方法であって、
前記コントローラはデータを一時的に保持する、前記プロセッサバス、前記メモリバス、前記システムバスのそれぞれのバスに対応したバッファを有し、
前記コントローラは、
前記第１の転送モードにおいて、
前記プロセッサから前記メモリへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記メモリバスに出力し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第２の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記メモリへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記メモリバスに出力し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第３の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記プロセッサへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記プロセッサバスに出力が可能な状態になった場合に前記プロセッサバスに出力し、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第１の仕様に従った信号に応じて、前記プロセッサバスへ出力された該データを前記プロセッサが取得し、
前記プロセッサから前記第１のデバイスまたは前記第２のデバイスの少なくとも１つへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記システムバスに出力が可能な状態になった場合に前記システムバスに出力し、前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第３の仕様に従った信号に応じて、前記システムバスへ出力された該データを前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが取得する
ことによりデータを転送することを特徴とするデータ処理方法。
【請求項２３】
請求項１４〜２０のいずれか１項に記載のデータ処理方法であって、
前記コントローラはデータを一時的に保持する、前記プロセッサバス、前記メモリバス、前記システムバスのそれぞれのバスに対応したバッファを有し、
前記コントローラは、
前記第１の転送モードにおいて、
前記プロセッサから前記メモリへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第２の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記メモリへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記メモリバスに出力が可能な状態になった場合に前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第２の仕様に従った信号と共に前記メモリバスに出力し、前記メモリバスに出力された前記第２の仕様に従った信号に応じて、前記メモリバスへ出力された該データを前記メモリが取得し、
前記第３の転送モードにおいて、
前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから前記プロセッサへデータを転送する場合は、前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが前記第３の仕様に従った信号に応じて前記システムバスに出力したデータを、バッファに一時的に保持し、前記プロセッサバスに出力が可能な状態になった場合に前記第１のデバイスまたは前記第２のデバイスの少なくとも１つから受信した前記第３の仕様に従った信号に対応する前記第１の仕様に従った信号と共に前記プロセッサバスに出力し、前記プロセッサバスに出力された前記第１の仕様に従った信号に応じて、前記プロセッサバスへ出力された該データを前記プロセッサが取得し、
前記プロセッサから前記第１のデバイスまたは前記第２のデバイスの少なくとも１つへデータを転送する場合は、前記プロセッサが前記第１の仕様に従った信号に応じて前記プロセッサバスに出力したデータを、バッファに一時的に保持し、前記システムバスに出力が可能な状態になった場合に前記プロセッサから受信した前記第１の仕様に従った信号に対応する前記第３の仕様に従った信号と共に前記システムバスに出力し、前記システムバスに出力された前記第３の仕様に従った信号に応じて、前記システムバスへ出力された該データを前記第１のデバイスまたは前記第２のデバイスの少なくとも１つが取得する
ことによりデータを転送することを特徴とするデータ処理方法。
【請求項２４】
請求項１４〜２３のいずれか１項に記載のデータ処理方法であって、
前記第１の転送モードでデータを転送している場合は、前記システムバスに該データは出力されず、
前記第２の転送モードでデータを転送している場合は、前記プロセッサバスに該データは出力されず、
前記第３の転送モードでデータを転送している場合は、前記メモリバスに該データは出力されない、
ことを特徴とするデータ処理方法。
【請求項２５】
請求項１４〜２４のいずれか１項に記載のデータ処理方法であって、
前記第１の転送モードでデータを転送している場合は、前記システムバスは独立動作可能であり、
前記第２の転送モードでデータを転送している場合は、前記プロセッサバスは独立動作可能であり、
前記第３の転送モードでデータを転送している場合は、前記メモリバスは独立動作可能である、
ことを特徴とするデータ処理方法。
【請求項２６】
請求項１４〜２６のいずれか１項に記載のデータデータ処理方法であって、前記信号は制御信号であることを特徴とするデータ処理方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の目的は、システムバス、メモリバス、プロセッサバスの３種のバスが少なくとも３本以上接続された情報処理装置用バスシステムを提供することにある。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
前記目的は、その一例として特許請求の範囲に記載の構成により達成できる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
以上、詳述してきた本発明によれば、各種のバスの接続を可能とする。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
又、上述した図４以下の説明においては、プロセッサバス１１１、メモリバス１１２、システムバス１１３が全てアドレス・データ分離型バスになっているが、本発明は、アドレス・データ多重型バスにも適用できることは言うまでもない。例えば、プロセッサバス１１１とシステムバス１１３がアドレス・データ多重化バスである場合には、図４において、プロセッサアドレスバス４１１とプロセッサデータバス４１３、及びシステムアドレスバス４１７とシステムデータバス４１９が各々１本のバスになり、バス・メモリ接続コントローラ４０１とデータパススイッチ４０２の両方に接続されることになる。その他、本発明の基本概念の下、上述した実施例にかかわらず、数々の変形がなされうることは言うまでもない。
情報処理装置内のバスシステムは、メモリバスとシステムバスが個々にプロセッサバスに接続されているか（非特許文献１参照）、又はプロセッサバスとメモリバスが個々にシステムバスに接続されている構成となっていた。
前者は、システムバスとメモリバスが連動動作するいわゆるダイレクトメモリアクセス（Ｄirect Ｍemory Ａccess，以下ＤＭＡ）の際に、プロセッサバスが独立動作ができないため、プロセッサバスの使用効率が悪くなる。一方、後者は、プロセッサバスとメモリバスが連動動作する、いわゆるメインメモリアクセスの際にシステムバスが独立動作できないため、システムバスの使用効率が悪くなるという問題があった。
尚、これらの従来のバスシステムの構成と問題点については、図面を用いて詳述した。
本発明の目的は、各バスの使用効率を最大とする情報処理装置のバスシステムを提供することにある。
本発明の他の目的は、プロセッサバスとメモリバスの連動動作とシステムバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
本発明の更なる目的は、システムバスとメモリバスの連動動作とプロセッサバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
本発明の更なる他の目的は、システムバス、メモリバス、プロセッサバスの３種のバスが少なくとも３本以上相互接続される場合の、各バスの使用効率を最大とする情報処理装置用バスシステムを提供することにある。
上記目的を達成するため、本発明においては、第１バス、第２バス、第３バスの３つのバスを少なくとも三叉路状に接続し、３種のバスのうち、任意の２つを連動動作している間、他のバスが独立動作可能な構成とする。
即ち、本発明においては、プロセッサと、主メモリと、入出力デバイスと、該プロセッサと接続した第１バスと、該主メモリに接続した第２バスと、該入出力デバイスと接続した第３バスとを有する情報処理装置において、該第１バスと該第２バスと該第３バスとが接続され、前記プロセッサと前記主メモリと前記入出力デバイスの任意の２つ間でデータ転送を可能とする接続手段を有し、該接続手段は、接続された前記第１バスと前記第２バスを用い、前記プロセッサと前記主メモリとの間で第１のデータ信号を転送する第１のデータ転送モードと、接続された前記第２バスと前記第３バスを用い、前記主メモリと前記入出力デバイスとの間で第２のデータ信号を転送する第２のデータ転送モードと、接続された前記第３バスと前記第１バスを用い、前記入出力デバイスと前記プロセッサとの間で第３のデータ信号を転送する第３のデータ転送モードとからなる、それぞれ独立したデータ転送モードを可能とすることを特徴とする情報処理装置である。
これにより、３種のバスの使用効率を最大限に高めることができる。
また、上記目的を達成するため、本発明においては、プロセッサバス、メモリバス、システムバスの３種のバスを少なくとも三叉路状に接続し、３種のバスのうち、任意の２種を連動動作している間、他の１種のバスが独立動作可能な構成とする。
即ち、本発明においては、少なくとも一個のプロセッサが接続されたプロセッサバス、メインメモリに接続されたメモリバス、少なくとも一個の入出力デバイス（以下Ｉ／Ｏデバイス）などの接続デバイスが接続されたシステムバスの３種のバスを少なくとも三叉路接続するコントロール手段を設け、このコントロール手段により、各種のバスの相互接続を可能とする。
即ち、本発明においては、情報処理装置のバスシステムを、少なくとも一個のプロセッサが接続されたプロセッサバスと、メインメモリに接続されたメモリバスと、少なくとも一個の接続デバイスが接続されたシステムバスと、これら３種のバスが接続され、これら３種のバスの相互接続のための接続コントロール手段とで構成する。
本発明では、この接続コントロール手段は、三種のバスのそれぞれのデータバスが接続され、これらバス上のデータを相互に転送するデータパススイッチング手段と、三種のバスのそれぞれの制御バスとアドレスバスが接続され、これらバス上のコントロール信号及びアドレスを相互に転送すると共に、データパススイッチング手段へのデータパス制御信号を発生するバス・メモリ接続コントローラから構成される。
好適にはこのデータパススイッチング手段とバス・メモリ接続コントローラはそれぞれ単独に、あるいは一体として、一つの集積回路上に構成される。
更に、本発明においては、三種のバスはそれぞれ一本でなく、三種のバスのいずれかが複数本の場合においても同様に接続コントロール手段を構成し、これらのバスの相互接続を可能とすることができる。
上述した本発明の構成において、プロセッサバス、メモリバス、システムバスの３種のバスが少なくとも三叉路状に相互に接続されることにより、例えばプロセッサバス上のプロセッサからメモリバス上の主記憶メモリへアクセスするプロセッサメインメモリアクセスの場合に、データはプロセッサバスとメモリバスのみ介して転送され、システムバスを経由しないため、システムバスは独立に動作することが可能となる。一方、システムバス上の接続デバイスからメモリバス上の主記憶メモリへアクセスするＤＭＡの場合、データはシステムバスとメモリバスのみ介して転送され、プロセッサバスを経由しないので、プロセッサバスは独立して動作することが可能となる。
これにより、３種のバスの使用効率を最大限に高めることができる。
以上、詳述してきた本発明によれば、少なくとも３種のバスの内、任意の２本が連動動作している間、他の１本以上のバスが独立動作することができるので、各バスの使用効率を最大にするという効果がある。特に、プロセッサバス上に複数のプロセッサが接続されている場合、又はキャッシュメモリシステムが接続されている場合等に、ＤＭＡ動作と複数プロセッサ間、又はプロセッサとキャッシュメモリシステム間のデータ転送を同時に行え、又、プロセッサメインメモリアクセスと複数のシステムバス接続デバイス間のデータ転送を同時に行えるなどの効果がある。