(57)【特許請求の範囲】
【請求項１】
プロセッサを含む第一マスタ論理ユニットを複数個のスレーブ論理ユニットと接続して前記第一マスタ論理ユニットが前記スレーブ論理ユニットのいずれか一つに第一転送請求を発行することを可能にする第一バスと、
前記第一バスに接続されていない第二マスタ論理ユニットを前記複数個のスレーブ論理ユニットのサブセットと接続して前記第二マスタ論理ユニットが前記サブセット内の前記スレーブ論理ユニットのいずれか一つに第二転送請求を発行することを可能にする第二バスであって、前記複数個のスレーブ論理ユニットの少なくとも１つは前記サブセットに含まれず前記第二マスタ論理ユニットからアクセスできない、前記第二バスと、
前記サブセット内の各スレーブ論理ユニットと関連し且つ切り換え論理を含むスレーブインターフェイス機構であって、前記第一バスと前記第二バスのいずれか一方を前記対応するスレーブ論理ユニットに接続して前記第一転送請求と前記第二転送請求のいずれか一方が前記対応するスレーブ論理ユニットに経路設定されることを可能にするスレーブインターフェイス機構、
を有することを特徴とするデータ処理装置。
【請求項２】
前記スレーブインターフェイス機構は、スレーブ論理ユニットが前記第一及び第二転送請求の内の一方を既に処理しつつあり他方の請求が前記スレーブ論理ユニットに発行された場合、所定の条件を適用して前記第一及び第二転送請求の前記対応する前記スレーブ論理ユニットへの前記経路設定を制御するアービトレーション制御ユニットを備えることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記第一及び第二転送請求はバースト転送請求であり、各バースト転送請求は複数個の順次転送請求により後続される一個の非順次転送請求を備え、更に前記アービトレーション制御ユニットにより適用される前記所定条件は、前記マスタ論理ユニットの内の一個からの一個の非順次転送請求の発行に際して、前記スレーブインターフェイス機構は前記非順次転送請求の前記スレーブ論理ユニットへの経路設定を前記スレーブ論理ユニットにより既に処理されつつある任意のバースト転送請求の処理が完了するまで延期することである、請求項２記載のデータ処理装置。
【請求項４】
前記スレーブ論理ユニットは現行の転送請求が処理されたことを確認する確認応答信号を発行し、各マスタ論理ユニットは前記確認応答信号の受信を待って引き続く転送請求を発行し、前記アービトレーション制御ユニットは前記延期された非順次転送請求を発行した前記マスタ論理ユニットへの前記確認応答信号の出力を差し控えて、前記スレーブ論理ユニットが前記非順次転送請求を受信可能になるまで前記マスタ論理ユニットが前記非順次転送請求をアサートし続けることを保証する、ことを特徴とする請求項３記載のデータ処理装置。
【請求項５】
前記第一及び第二転送請求はバースト転送請求であり、各バースト転送請求は複数個の順次転送請求により後続される一個の非順次転送請求を備え、更に前記アービトレーション制御ユニットにより適用される前記所定条件は、前記マスタ論理ユニットの内の一個からの一個の非順次転送請求の発行に際して、前記スレーブインターフェイス機構は前記スレーブ論理ユニットにより既に処理されつつある任意のバースト転送請求の処理完了を待つことなく前記非順次転送請求を前記スレーブ論理ユニットへ経路設定するということである、請求項２記載のデータ処理装置。
【請求項６】
各マスタ論理ユニットは、各転送請求の一部として転送請求のタイプを指示する制御信号を発行し、前記アービトレーション制御ユニットは前記制御信号が前記対応するスレーブ論理ユニットに出力される以前に前記制御信号を操作して一個のバースト転送請求が複数個のより短い長さのバースト転送請求に分割されることを可能にする、ことを特徴とする請求項５記載のデータ処理装置。
【請求項７】
前記所定条件は各マスタ論理ユニットに対する相対的優先権を特定し、更にこの優先権情報は前記アービトレーション制御ユニットにより使用されて、前記マスタ論理ユニットの内の一個からの一個の非順次転送請求の発行に際して前記スレーブ論理ユニットにより既に処理されつつあるバースト転送請求に割り込みを掛けるか否かを決定する、ことを特徴とする請求項５記載のデータ処理装置。
【請求項８】
前記所定条件は一個のバースト転送請求の最大長を特定し、前記マスタ論理ユニットの内の一個からの一個の非順次転送請求の発行に際して前記スレーブ論理ユニットにより既に処理されつつある一個のバースト転送請求が前記最大長に到達している場合には、前記スレーブインターフェイス機構は前記スレーブ論理ユニットにより既に処理されつつある前記バースト転送請求の処理完了を待つことなく前記非順次転送請求を前記スレーブ論理ユニットへ経路設定する、ことを特徴とする請求項５記載のデータ処理装置。
【請求項９】
前記スレーブインターフェイス機構はバッファを備え、前記バッファは前記マスタ論理ユニットの一個から前記対応するスレーブ論理ユニットへ発行されたある一個の転送請求を他の転送請求が前記スレーブ論理ユニットにより既に処理されつつある場合に一時的に格納する、ことを特徴とする請求項１記載のデータ処理装置。
【請求項１０】
前記スレーブインターフェイス機構はバッファを備え、前記バッファは前記マスタ論理ユニットの一個から前記対応するスレーブ論理ユニットへ発行されたある一個の転送請求を他の転送請求が前記スレーブ論理ユニットにより既に処理されつつある場合に一時的に格納し、更に前記非順次転送請求は第一クロックサイクルにおいて発行される第一部分と第二クロックサイクルにおいて発行される第二部分を備え、前記バッファは前記非順次転送請求の前記第一部分を格納し、前記アービトレーション制御ユニットは前記第二クロックサイクルにおいて前記延期された非順次転送請求を発行した前記マスタ論理ユニットへの前記確認応答信号の出力を差し控えて、前記スレーブ論理ユニットが前記非順次転送請求を受信可能になるまで前記マスタ論理ユニットが前記非順次転送請求の前記第二部分をアサートし続けることを保証する、ことを特徴とする請求項４記載のデータ処理装置。
【請求項１１】
請求項１記載のデータ処理装置用のスレーブインターフェイス機構であって、前記第一バスへの接続用の第一接続と、前記第二バスへの接続用の第二接続と、前記対応するスレーブ論理ユニットが前記スレーブインターフェイス機構に接続されることを可能にする第三接続、を含み、前記第一バス又は前記第二バスのいずれか一方を前記対応するスレーブ論理ユニットに接続して前記第一転送請求又は前記第二転送請求のいずれか一方が前記対応するスレーブ論理ユニットに経路設定されることを可能にする切り換え論理を備える、ことを特徴とするスレーブインターフェイス機構。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置及び、複数個のマスタ論理ユニットによる一個のスレーブ論理ユニットへのアクセス制御用スレーブインターフェイス機構、に関する。
【０００２】
【従来の技術】
一般的にはデータ処理装置は一本のバスを介して相互接続された複数個の論理ユニットを有し、データは該バスを介して該論理ユニット間を転送される。こうした転送を実行する為に、第一論理ユニットが第二論理ユニットに向けたデータ転送請求をバス上に出力する。次に、第二論理ユニットはバスから該転送請求を検索、取得し、転送請求を処理する為の適切な動作を実行する。転送請求を送信するように設計された論理ユニットは「マスタ」論理ユニットと呼ばれる。一方、こうした転送請求の受信手になるように設計された論理ユニットは「スレーブ」論理ユニットと呼ばれる。
【０００３】
こうしたデータ処理装置は図１に図示されており、ここで、該データ処理装置はマイクロコントローラチップ型式であると考えて良い。該チップは主システムバス２００に接続された複数個のマスタ論理ユニットを有する。即ち、テストコントローラ（以後、テストインターフェイスコントローラ（ＴＩＣ）と呼ぶ）１００、中央処理ユニット（ＣＰＵ）１１０、及び直接メモリアクセス（ＤＭＡ）コントローラ１２０、である。一般にバス信号は該バスに接続された該複数個のマスタ論理ユニットにより共有されるという事実により、任意の特定時点でマスタ論理ユニットの内の一個のみがシステムバスへのアクセスを許容される。従って、該様々なマスタ論理ユニットによるシステムバスへのアクセスを制御する為に、アービタ１３０が設置される。ある一個のマスタ論理ユニットがシステムバス２００へのアクセスを所望する場合、それはバス請求信号を該アービタ１３０に発行する。しかしながら、任意の特定時点でアービタが一個以上のバス請求信号を受信した場合には、アービタは所定の優先条件を適用してどのマスタ論理ユニットがシステムバス２００へのアクセスを獲得すべきかを決定する。バスへのアクセスを請求する全てのマスタ論理ユニットの中で最大の優先権を有するマスタ論理ユニットに対して、アービタ１３０はアクセスを許容する。
【０００４】
図１の例では、主システムバス２００に接続された六個のスレーブ論理ユニットが存在し得る。即ち、外部ＳＲＡＭ又はＲＯＭへのインターフェイスとして動作するスタティックメモリインターフェイス（ＳＭＩ）１４０、内部ＲＯＭメモリ１５０、内部ＲＡＭメモリ１６０、外部ＳＤＲＡＭへのインターフェイスとして動作するＳＤＲＡＭコントローラ１９０、及び２個の周辺バスサブシステム１７０、１８０、である。該第一周辺バスサブシステム１７０はＤＭＡを必要としない周辺装置に装備され、一方、該第二周辺バスサブシステム１８０はＤＭＡを必要とする周辺装置に装備される。一般に各周辺バスサブシステムはブリッジを介してメインバス２００に接続された一本の周辺バスから構成され、該個々の周辺装置は該周辺バスと接続される、ことが関連技術に習熟している人には理解されよう。周辺バスと接続された個々の周辺装置はスレーブ論理ユニットとなるが、該周辺バスサブシステムの総体はメインバス２００に接続された単一のスレーブ論理ユニットと論理的には考え得る、ことも関連技術に習熟している人には理解されよう。
【０００５】
【発明が解決しようとする課題】
図１におけるアプローチの一つの特徴は、このアプローチにより全マスタ論理ユニットがシステム内の全スレーブ論理ユニットに単一のバスを介してアクセス可能になる、ことである。しかしながらこの簡潔な融通性を実現する為に、図１のアーキテクチャは該アービタを使用して以下の条件を強制する。即ち、ある一個のマスタ論理ユニットが該バスへのアクセスを許容された場合、バスへのアクセスを請求している他のマスタ論理ユニットはこの現行マスタ論理ユニットがその転送を終了するまで待機せねばならない。この条件は該データ処理装置の処理速度に対する制限因子になる、ことが理解されよう。
【０００６】
【課題を解決するための手段】
第一態様において、第一マスタ論理ユニットを複数個のスレーブ論理ユニットと接続して該第一マスタ論理ユニットが該スレーブ論理ユニットのいずれか一つに第一転送請求を発行することを可能にする為の第一バスと、第二マスタ論理ユニットを該複数個のスレーブ論理ユニットのサブセットと接続して該第二マスタ論理ユニットが該サブセット内のスレーブ論理ユニットのいずれか一つに第二転送請求を発行することを可能にする為の第二バスと、該サブセット内の各スレーブ論理ユニットと関連し且つ切り換え論理を含むスレーブインターフェイス機構を備えるデータ処理装置であって、該切り換え論理は該第一バスと該第二バスのいずれか一方を該対応するスレーブ論理ユニットに接続して該第一転送請求と該第二転送請求のいずれか一方が該対応するスレーブ論理ユニットに経路設定されることを可能にする、ことを特徴とするデータ処理装置、を本発明は提供する。
【０００７】
ある幾つかのマスタ論理ユニットは利用可能なスレーブ論理ユニットのあるサブセットにアクセスするのみで充分であり、従って全マスタ論理ユニットがシステム内の全スレーブ論理ユニットにアクセス可能になる必要はない、ことが本発明に従って多くの実用的実装において実現された。この事実は、先述した図１の例に関して例示し得る。
【０００８】
通常動作中に主システムバス２００を用いる二個のマスタ論理ユニット、即ちＣＰＵ１１０及びＤＭＡコントローラ１２０、が存在することが関連技術に習熟している人には理解されよう。通常動作中に、ＤＭＡコントローラ１２０は外部ＳＤＲＡＭと該ＤＭＡ可能周辺装置間でデータを転送し得て、その為にスレーブ論理ユニット１８０、１９０を使用する。ＣＰＵ１１０は一般的には、その命令とデータを主に内部メモリ（ＲＯＭ／ＲＡＭ）及び外部ＳＲＡＭから取り出す。いずれの場合も、ＣＰＵはスレーブ論理ユニット１４０、１５０、及び１６０へのアクセスを必要とする。ＣＰＵは又、スレーブ論理ユニット１９０を介して外部ＳＤＲＡＭからのデータにアクセスすることも可能である。更に実際ＣＰＵ１１０は、内部レジスタにアクセスしスレーブ論理ユニット１８０を介してＤＭＡ可能周辺装置上で割り込み処理を遂行する必要があり得る。
【０００９】
従って、ＣＰＵ１１０はスレーブ論理ユニット１８０、１９０にアクセスする必要があり得るが、他方ＣＰＵ１１０はその時間の多くをスレーブ論理ユニット１４０、１５０、１６０、及び恐らく１７０へのアクセスに費やす可能性が高い、ことが理解される。一方、ＤＭＡコントローラ１２０は、通常動作中にはスレーブ論理ユニット１８０、１９０へのアクセスを所望するのみである。アービタ１３０は、任意の特定時点で唯一個のマスタ論理ユニットに主システムバス２００へのアクセスを許容することにより、スレーブ論理ユニットへのアクセス間に衝突が発生しないことを保証する。しかしながら、この条件は該データ処理装置の総体的効率をまさしく制限してしまう、なぜならば一回に処理され得る転送請求は唯一個であるからである。従って、異なるマスタ論理ユニットが異なるスレーブ論理ユニットへのアクセスを所望する場合でさえ、実際にはアクセス間の衝突問題は発生しない。
【００１０】
従って本発明に従い、全マスタ論理ユニットを全スレーブ論理ユニットと接続する為の単一バスを設置するよりむしろ、マスタ論理ユニットの少なくとも一個を複数個のスレーブ論理ユニットのサブセットと接続する為の付加的バスを設置する。すると、該第一バスは、複数個のスレーブ論理ユニットを任意の複数個のマスタ論理ユニットと接続する為に使用される。ここに、該任意の複数個のマスタ論理ユニットは、該第二バスに接続された該スレーブ論理ユニットのサブセット以上のスレーブ論理ユニットへのアクセスを請求する。他方、該第二バスは好適には、該スレーブ論理ユニットのサブセットを任意の複数個のマスタ論理ユニットと接続する為に使用される。ここに、該任意の複数個のマスタ論理ユニットは、該スレーブ論理ユニットのサブセットへのアクセスを請求するのみである。
【００１１】
この構成は、スレーブ論理ユニットのサブセットが第一又は第二バスのいずれか一方に接続され得ることを要求する。従って、該サブセット内の各スレーブ論理ユニットと関連し且つ第一又は第二バスのいずれか一方を対応するスレーブ論理ユニットに接続する切り換え論理を含むスレーブインターフェイス機構、を本発明は提供する。このアプローチにより、第一及び第二バス上の両マスタ論理ユニットからの転送請求は、必要に応じて且つ必要な時に該対応するスレーブ論理ユニットに経路設定され得る。このアプローチの顕著な利点は、一個以上のマスタ論理ユニットがスレーブ論理ユニットのサブセットへのアクセスを請求するのみである実装において、並行転送が遂行可能である点である。その理由は、こうしたマスタ論理ユニットは該サブセット内のスレーブ論理ユニットにアクセスするが、他方、他のマスタ論理ユニットは他のスレーブ論理ユニットにアクセスし得る、からである。
【００１２】
マスタ論理ユニットの少なくとも一個を第一バスではなく代わりに第二バスに接続する際に生ずる一つの問題は、様々なマスタ論理ユニット間の該アービトレーションがより複雑になる、ことである。第一バス上のマスタ論理ユニットに接続された任意のアービタは第二バスに接続された任意のマスタ論理ユニットを制御し得ない、ことは明らかであろう。同様に、第二バス上の一個以上のマスタ論理ユニットに接続された任意のアービタは、第一バス上のマスタ論理ユニットによるスレーブ論理ユニットへのアクセスを制御し得ない、ことは明らかであろう。第一バス上のアービタが第二バス上の任意のアービタと交信して衝突アクセスの発生を防止する、という機構の構築は複雑な問題であることが理解されよう。しかしながら、好適実施例では、この問題は各スレーブインターフェイス機構にアービトレーション制御ユニットを設置することにより解決される。該アービトレーション制御ユニットは、所定の条件を適用して第一及び第二転送請求の対応するスレーブ論理ユニットへの経路設定を制御する。この場合、該対応するスレーブ論理ユニットは第一及び第二転送請求の内の一方を既に処理しつつあり、他方の転送請求は該スレーブ論理ユニットに対して発行された瞬間である、という状況である。このアービトレーション制御ユニットの設置により、該衝突アクセス問題に対する有効にして単純な解決が提供される。この設置なくしては、全てのマスタ論理ユニットが単一のアービタによって制御されていないことの結果として、衝突問題が生じているであろう。
【００１３】
好適実施例において、第一及び第二転送請求はバースト転送請求であり、各バースト転送請求は複数個の順次転送請求により後続される一個の非順次転送請求を含む。更に、該アービトレーション制御ユニットにより適用される該所定条件は、以下の方式のものである。即ち、該マスタ論理ユニットの一個からのある非順次転送請求の発行に際して、スレーブインターフェイス機構はその非順次転送請求のスレーブ論理ユニットへの経路設定を延期し、この延期は該スレーブ論理ユニットにより既に処理されつつある任意のバースト転送請求の処理が完了するまで継続される。非順次転送請求はそのアドレスが先行転送と関係しない請求であり、一方、順次転送請求はそのアドレスが先行転送のアドレスに対する所定の増加関係に従う請求である、ことが関連技術に習熟している人には理解されよう。好適実施例では、各マスタ論理ユニットは、その転送請求の一部として転送が順次か非順次かを識別する制御信号を発行する。
【００１４】
非順次転送請求のスレーブ論理ユニットへの経路設定の延期は転送請求に関連して使用されるプロトコルに応じて複数個の方式があり得る、ことが理解されよう。しかしながら好適実施例では、スレーブ論理ユニットは現行の転送請求が処理されたことを確認する確認応答信号を発行し、各マスタ論理ユニットは該確認応答信号を受信してから次転送請求を発行する。更に、アービトレーション制御ユニットは、延期された非順次転送請求を発行したマスタ論理ユニットへの確認応答信号の出力を差し控えて、該スレーブ論理ユニットが該非順次転送請求を受信可能になるまで該マスタ論理ユニットが非順次転送請求をアサートし続けることを保証する。
【００１５】
第一転送請求の処理が次第一転送請求が処理される以前に完了するアービトレーションに対する上記のアプローチは、受動的なアービトレーションアプローチと考え得る。その理由は、様々なマスタ論理ユニット間の相対的優先権を考慮に入れることは何ら試みられておらず代わりに転送請求は先入れ先処理ベースで処理されている、からである。それにもかかわらず、この受動的アービトレーションアプローチはスレーブインターフェイス機構の複雑性を軽減するものであり、一バーストの転送により生成される最大待ち時間（ｌａｔｅｎｃｙ）が許容可能である状況且つ／又（例えば、ＳＤＲＡＭコントローラにおけるように）スレーブの処理性能がバースト転送により最大化される状況、においては完全に満足すべきものであろう。
【００１６】
しかしながら代替的実施例において、より能動的なアービトレーションアプローチが採用され得て、バースト転送請求間でのアービトレーションを遂行する。特に一実施例において、アービトレーション制御ユニットにより適用される所定条件は、以下の方式のものである。即ち、マスタ論理ユニットの一個からのある非順次転送請求の発行に際して、該スレーブ論理ユニットにより既に処理されつつある任意のバースト転送請求の処理完了を待つことなく、スレーブインターフェイス機構はその非順次転送請求のスレーブ論理ユニットへの経路設定を実行する。
【００１７】
再び、こうしたアービトレーションアプローチが実装される方式はこうした転送請求に使用されるプロトコルに応じて変化する、ことが理解されよう。しかしながら好適実施例では、各マスタ論理ユニットは、各転送請求の一部として転送請求のタイプを指示する制御信号を発行する。更に、アービトレーション制御ユニットは、該制御信号が対応するスレーブ論理ユニットに出力される以前に該制御信号を操作して、一個のバースト転送請求が複数個のより短い長さのバースト転送請求に分割されることを可能にする。
【００１８】
ある実施例では、該所定条件は各マスタ論理ユニットに対する相対的優先権を特定する。更に、この優先権情報はアービトレーション制御ユニットにより使用されて、マスタ論理ユニットの一個からのある非順次転送請求の発行に際して、該スレーブ論理ユニットにより既に処理されつつあるバースト転送請求に割り込みを掛けるか否か、を決定する。
【００１９】
代替的又は追加的に、以下の方式で、該所定条件は一個のバースト転送請求の最大長を特定し得る。即ち、マスタ論理ユニットの一個からのある非順次転送請求の発行に際して、該スレーブ論理ユニットにより既に処理されつつある一個のバースト転送請求が該最大長に到達している場合には、該スレーブ論理ユニットにより既に処理されつつある該バースト転送請求の処理完了を待つことなく、スレーブインターフェイス機構はその非順次転送請求のスレーブ論理ユニットへの経路設定を実行する。最大長は適切な長さ、たとえば、１つの転送請求又は複数の転送請求である事が理解されるであろう。
【００２０】
該最大長バースト転送請求の待ち時間が重大な問題になる場合、又は該接続されたスレーブでの処理性能がより短いバースト転送請求アクセスの実行により逆に妨害されない場合に、上記の能動的アービトレーションアプローチはより適切である、ことが理解されよう。
【００２１】
上記のアービトレーション技術は採用され得る唯一のアービトレーション技術ではなく、実際、実装に応じて任意の適切なアービトレーションアプローチが採用され得る、ことも関連技術に習熟している人には理解されよう。
【００２２】
好適実施例では、スレーブインターフェイス機構はバッファを含む。該バッファは、該マスタ論理ユニットの一個から該対応するスレーブ論理ユニットへ発行されるある転送請求を、他の転送請求が該スレーブ論理ユニットにより既に処理されつつある場合に、一時的に格納する。
【００２３】
スレーブインターフェイス機構内でのバッファの利用は様々な状況において有用である、ことが証明される。例えば好適実施例では、一個の転送請求は、第一クロックサイクルにおいて発行される第一部分と第二クロックサイクルにおいて発行される第二部分、を含む。延期された非順次転送請求を発行したマスタ論理ユニットへの確認応答信号出力をアービトレーション制御ユニットが差し控える先述の受動的アービトレーションアプローチを考えると、該バッファは該非順次転送請求の第一部分を格納する。一方、アービトレーション制御ユニットは第二クロックサイクルにおいて、延期された非順次転送請求を発行したマスタ論理ユニットへの確認応答信号の出力を差し控える。これにより実際、以下のことが保証される。即ち、非順次転送請求の第一部分は、再発行される必要がない。一方、第二部分は、該スレーブ論理ユニットが該非順次転送請求を受信可能になるまでアサートされ続ける。
【００２４】
第二局面において、本発明の該第一局面に従うデータ処理装置用のスレーブインターフェイス機構、を本発明は提供する。該スレーブインターフェイス機構は、該第一バスとの接続用の第一接続と、該第二バスとの接続用の第二接続と、該対応するスレーブ論理ユニットが該スレーブインターフェイス機構に接続されることを可能にする第三接続、を含む。該第一バスと該第二バスのいずれか一方を該対応するスレーブ論理ユニットに接続して該第一転送請求と該第二転送請求のいずれか一方が該対応するスレーブ論理ユニットに経路設定されることを可能にする切り換え論理、を該スレーブインターフェイス機構は含む。
【００２５】
【実施例】
添付図面に図示された本発明の好適実施例を参照して、本発明を以下に単に例示として説明する。
図２は、本発明の好適実施例に従うデータ処理装置のブロック図である。本データ処理装置は、前述した図１のデータ処理装置と同一のマスタ論理ユニットとスレーブ論理ユニットを有する。従って、図解の為、前述した図１の構成要素と同一の構成要素には同一の参照番号を付す。
【００２６】
前述のように、ある幾つかのマスタ論理ユニットはしばしば、データ処理装置により提供される全スレーブ論理ユニットのあるサブセットにアクセスするのみで充分である、ことが実現された。例えば、図１に関して前述したように、ＤＭＡコントローラ１２０は外部ＳＤＲＡＭとＤＭＡ可能周辺装置間でデータを転送するというその通常動作の実行を可能にする為に、周辺バスサブシステム１８０とＳＤＲＡＭコントローラ１９０を使用するだけで良い。
【００２７】
従って本発明の好適実施例に従い、好適実施例のデータ処理装置においては、ＤＭＡコントローラ１２０をシステム内の全スレーブ論理ユニットに接続するよりむしろ、ＤＭＡコントローラ１２０を周辺バスサブシステム１８０とＳＤＲＡＭコントローラ１９０にのみ接続する。該第一メインバス２００の他にこの接続の実装の為に第二メインバス２１０が設置され、ＤＭＡコントローラ１２０は第二メインバス２１０にのみ接続される。
【００２８】
周辺バスサブシステム１８０とＳＤＲＡＭコントローラ１９０は、第一メインバス２００に接続された複数個のマスタ論理ユニットと第二メインバス２１０に接続されたＤＭＡコントローラ１２０の双方からアクセス可能である必要がある。この結果、周辺バスサブシステム１８０とＳＤＲＡＭコントローラ１９０が第一及び第二メインバス２００、２１０と接続可能である必要性が存在する。この条件の実装の為に、スレーブインターフェイス機構２２０がこれら二個のスレーブ論理ユニットの各々用に設置されて、二個のメインバス２００、２１０とこれらの二個の対応するスレーブ論理ユニットとの間のインターフェイスとして機能する。図２において、該スレーブインターフェイス機構２２０は二方向多重化装置モジュールとして図示されている。その基本的機能は、必要に応じて第一メインバス２００又は第二メインバス２１０のいずれか一方を該対応するスレーブ論理ユニットに接続して、対応するスレーブ論理ユニットへのアクセスを必要とするどのマスタ論理ユニットもが転送請求を該スレーブ論理ユニットに経路設定することを可能にする、ことである。好適実施例では、スレーブインターフェイス機構２２０はデフォルト位置を有する。即ち、例えば、第一メインバス２００上の一個のマスタ論理ユニットから転送請求が発行されない限り、第二メインバス２１０は該スレーブ論理ユニットに接続し得る。
【００２９】
このアーキテクチャの主な利点の一つは、例えば図２の矢印２３０、２４０、及び２５０により指示されているように、並行転送が遂行可能であることである。これらの矢印により表示されているように、ＣＰＵ１１０は命令をＲＯＭから取り出し、一方、ＤＭＡコントローラ１２０はＳＤＲＡＭコントローラ１９０を介して外部ＳＤＲＡＭからの周辺提供データを処理しつつある。幾つかのマスタ論理ユニットがデータ処理装置により提供される全スレーブ論理ユニットのあるサブセットにアクセスするのみで良い状況においては、このアプローチは図１のアーキテクチャを凌駕する顕著な実行性能上の利点をもたらす、ことが理解されよう。
【００３０】
図２から判断すると、二個のメインバスのみを設置すべきであるという必然性はなく、その代わりに該スレーブ論理ユニットのある異なるサブセットにアクセスするのみで良い一個の更なるマスタ論理ユニットを特定し得るならば、一個の更なるメインバスを設置し得る、ことが理解されよう。該一個の更なるメインバスは、該一個の更なるマスタ論理ユニットをスレーブ論理ユニットの該対応するサブセットに接続する。該サブセット内の各スレーブ論理ユニットは又、関係するメインバス間の切り換えを必要に応じて遂行するスレーブインターフェイス機構２２０、に接続されている。
【００３１】
実際、特定されるこれらの個別のサブセットは完全に独立している必要はなく、その代わりに一個以上のスレーブ論理ユニットが二個以上のサブセット内に含まれ得る、ことが理解されよう。その場合は、任意のそうしたスレーブ論理ユニットに接続されているスレーブインターフェイス機構２２０は、該スレーブ論理ユニットに接続可能の必要のあるバスの数に応じて、単に二方向多重化機能よりむしろｎ方向多重化機能を提供する必要がある、ことが理解されよう。
【００３２】
更に、任意の特定のメインバスに接続され得るマスタ論理ユニットの数に制限はない、ことが理解されよう。図２では、第一メインバス２００に接続されている二個のマスタ論理ユニット１００、１１０と第二メインバス２１０に接続されている唯一個のマスタ論理ユニット１２０、が存在する。しかしながら、異なる数のマスタ論理ユニットが第一メインバス又は第二メインバスに接続され得る、と考え得る。従って例えば、複数個のマスタ論理ユニットは、その各々が該サブセット内のスレーブ論理ユニット１８０、１９０へのアクセスを必要とするのみならば、第二メインバス２１０に接続され得る。一般的には、一個以上のマスタ論理ユニットが第二メインバス２１０に接続されているならば、アービタが設置されて第二メインバスに接続されている様々なマスタ論理ユニット間のアービトレーションを実行することになろう。次に該アービタは標準的な方式で動作して、第二メインバスに接続されている該マスタ論理ユニットにより発行された様々なバス請求信号間のアービトレーションを実行する。
【００３３】
関連技術に習熟している人には明白であろうが、図２に図示されているスレーブインターフェイス機構２２０の顕著な利点は、該スレーブインターフェイス機構が規格モジュールとして開発可能であり、従って個別サブセット内で特定されるスレーブ論理ユニットの数に応じて必要な回数だけ設計においてインスタンシエート可能である、ことである。これにより、回路設計者は該データ処理装置を製作する方式において多大な柔軟性を獲得する。該規格モジュールは相互連結され得て二個以上のメインバスを一個の特定のスレーブ論理ユニットに接続可能にする、ことも理解されよう。
【００３４】
本発明の好適実施例に従う該スレーブインターフェイス機構とその機能を、図３を参照してより詳細に説明する。まず、図３と後述する図４における信号の呼称規約に関して説明する。Ｈ１ｘｘｘ信号は、例として図２のＣＰＵ１１０と仮定するマスタ１により発行及び受信される信号に該当する。Ｈ２ｘｘｘ信号は、例として図２のＤＭＡコントローラ１２０と仮定するマスタ２により発行及び受信される信号に該当する。Ｈｘｘｘ信号は、スレーブ論理ユニットにより発行及び受信される信号に該当する。
【００３５】
図３から分るように、スレーブインターフェイス機構２２０は、経路３０５上でＣＰＵ１１０からのアドレス及び制御信号を受信し、経路３４５上でＣＰＵ１１０からのデータを書き込む。同様に、スレーブインターフェイス機構２２０は、経路３１５上でＤＭＡコントローラ１２０からのアドレス及び制御信号を受信し、経路３５５上でＤＭＡコントローラ１２０からのデータを書き込む。好適実施例では、該制御信号は、転送のタイプを識別するＨＴＲＡＮＳ信号の形式を取る。
【００３６】
図３から明らかなように、経路３０５及び３１５上で受信されるアドレス及び制御信号は多重化装置３３０と多重化装置３４０の双方とアービトレーション制御ブロック３００まで搬送される。アービトレーション制御ブロック３００により適用される所定条件に応じて、アービトレーション制御ブロック３００は多重化制御信号を経路３３５上で多重化装置３３０、３４０まで発行して、どのマスタのアドレス及び制御信号が各多重化装置３３０、３４０により出力されるかを制御する。
【００３７】
前述のように、同一のメインバスに接続されている異なるマスタ論理ユニット間のアービトレーションを実行する責務は、スレーブインターフェイス機構よりむしろアービタ１３０により依然として遂行される。従って該アービタは、任意バス上の特定のマスタからバス請求信号を受信し且つ対応するバスへのアクセスが許容された場合に個々のマスタに許容信号を発行する責務を有する。一個のマスタ論理ユニット１２０のみが第二メインバス２１０に接続されている図２の例では、アービタは実際には必要なくその代りに、アービタから一般的には該許容信号を受信するであろうマスタ論理ユニット１２０の関係入力が恒久的にアサートされる。具体的には、ＤＭＡコントローラ１２０が第二メインバス２１０へのアクセスを恒久的に許容されるという形態で、該関係入力が恒久的にアサートされる。
【００３８】
どのマスタ論理ユニットがそれが接続されているバスへのアクセスを獲得するべきかを決定する基本的責務は、依然としてアービタ１３０により担当される。従って、スレーブインターフェイス機構は、各マスタ論理ユニットにより発行されたバス請求信号を考慮する必要がない。その代りに、一個の該メインバス上の一個のマスタ論理ユニットから転送請求が発行され一方他のメインバス上のマスタ論理ユニットからの他の転送請求が該スレーブ論理ユニットにより既に処理されつつある場合、スレーブインターフェイス機構は単にその対応するスレーブ論理ユニットへのアクセスのアービトレーションを処理するのみで充分である。
【００３９】
好適実施例では、こうしたアービトレーションを実行する二つの代替的方式をスレーブインターフェイス機構に対して考える。第一アプローチは、アービトレーションがバースト転送間のみで遂行される受動的アービトレーションアプローチである。このアービトレーション技術は、一バーストの転送により生成される最大待ち時間が許容可能であるシステム且つ／又（例えば、ＳＤＲＡＭコントローラにおけるように）スレーブの処理性能がバースト転送により最大化されるシステム、上で好適である。該アプローチは以下のように説明され得る。
【００４０】
ある非順次転送請求が該マスタ論理ユニットの一個から開始された時点で常に他のどのマスタ論理ユニットも該スレーブ論理ユニットにアクセス途中でないならば、スレーブインターフェイス機構はその信号をスレーブ論理ユニット上に多重化する。従って図３においてこの場合には、マスタ論理ユニットの内一個のみがアドレス及び制御データを出力し、多重化装置３３０、３４０の入力の内一個のみが入力された該アドレス及び制御データを受信する。従って、アービトレーション制御ユニット３００は多重化制御信号を経路３３５上に発行して、多重化装置３３０に有効なアドレス及び制御データを出力させる。一方、多重化装置３４０は、他の該入力上のデータ即ち無効データ、の出力を指示される。この受動的アービトレーション構成においては、ブロック４００内の回路は必要がなく、その代りに多重化装置３３０、３４０の出力が多重化装置３７０の入力に直接提供される（多重化装置３４０の場合は、これはその目的を後述するレジスタ３８０を介して遂行される）。多重化装置３７０は又アービトレーション制御ユニット３００からの経路３３５上の多重化制御信号を受信し、それによりアービトレーション制御ユニット３００は多重化装置３７０に多重化装置３３０からのその入力をスレーブ論理ユニットへ出力させる。
【００４１】
ある非順次転送請求が該マスタ論理ユニットの一個から開始された時点で他のマスタ論理ユニットが該スレーブ論理ユニットに既にアクセス途中であるならば、図３から明らかなように、該非順次転送請求を開始した該マスタ論理ユニット（以後、延期マスタ論理ユニットと呼ぶ）からのアドレス及び制御データは多重化装置３４０によりレジスタ３８０まで出力される。しかしながら今回は、多重化装置３７０はこのアドレス及び制御データを該スレーブ論理ユニットまで出力しない。このシナリオでは、アービトレーション制御ユニット３００は該延期マスタ論理ユニットへ発行すべき確認応答信号をデアサート（ｄｅ−ａｓｓｅｒｔ）する。これは、延期マスタ論理ユニットに非順次転送請求をアサートさせ続けさせる効果、を有する。スレーブ論理ユニットが現行のバースト転送請求の処理を完了するや否や、該延期された非順次転送請求は処理の為にスレーブ論理ユニットに搬送され得る。従って、該確認応答信号はアービトレーション制御ブロック３００により再アサートされて、延期マスタ論理ユニットが延期された非順次転送請求のアサート停止を遂行することを可能にする。
【００４２】
このシナリオの方式を、図３の頭半分の箇所で説明する。好適実施例では、各転送請求は該二つのクロックサイクルにおいて発行される。該第一クロックサイクルにおいて該アドレス及び制御データが発行され、該第二クロックサイクルにおいて該対応するデータが（書き込みの場合はマスタから、読み取りの場合はスレーブから）発行される。スレーブ論理ユニットは、転送請求が処理された場合第二クロックサイクル中で、以後ＨＲＥＡＤＹ信号と呼ばれる確認応答信号を発行する。次にこのＨＲＥＡＤＹ信号は該マスタ論理ユニットに返信されて、マスタ論理ユニットは続いて次転送請求を発行可能であり次クロックサイクル中にそのアドレス、制御、及びデータ信号を搬送可能である、ことを確認する。図３から分るように、経路３７５上をスレーブ論理ユニットから返信されたＨＲＥＡＤＹ信号は、多重化装置３１０、３２０まで搬送される。多重化装置３１０、３２０は又、経路４０５上でアービトレーション制御ブロック３００から更なる入力を受信する。次にアービトレーション制御ブロック３００は制御信号を経路４１５上で多重化装置３１０、３２０まで発行可能であり、該二個の入力のどちらを各多重化装置が出力すべきかを決定する。
【００４３】
従って、ＣＰＵ１１０（マスタ１）があるバースト転送請求を開始した時点でＤＭＡコントローラ１２０（マスタ２）が既にバースト転送書き込み請求の途中にあるならば、経路３１５上で受信されるＤＭＡコントローラ１２０のアドレス及び制御データは多重化装置３３０、３７０を介してスレーブ論理ユニットまで経路設定される。一方、経路３５５上で受信されるＤＭＡコントローラ１２０の書き込みデータは、多重化装置３９０を介してスレーブ論理ユニットまで経路設定される。該バースト内の任意の個別転送請求用の該書き込みデータは、該対応するアドレス及び制御データに対して一クロックサイクル後に提供される。スレーブ論理ユニットが書き込みデータを受信する毎に、同一クロックサイクルにおいてスレーブ論理ユニットは該ＨＲＥＡＤＹ信号を経路３７５上でアサートする。アービトレーション制御ユニット３００は多重化装置３２０にＨＲＥＡＤＹ信号を経路３９５上で直接ＤＭＡコントローラ１２０まで出力させることにより、ＤＭＡコントローラ１２０が該バースト転送を継続することを可能にする。
【００４４】
ＣＰＵ１１０が（非順次転送請求で開始した）そのバースト転送請求を発行した時、このバースト転送請求は経路３０５上で受信され多重化装置３４０を介してレジスタ３８０まで経路設定される。この段階でレジスタ３８０は、ＣＰＵ１１０により発行された該非順次転送請求のアドレス及び制御データをバッファに格納する。次クロックサイクル中に、ＣＰＵ１１０は該非順次転送請求の対応データを発行し、又、一般的には順次転送請求である次転送請求のアドレス及び制御データを発行する。しかしながらこのクロックサイクル中に、アービトレーション制御ブロック３００は多重化装置３１０に指示して、経路４０５上でアービトレーション制御ブロック３００により出力される該信号を経路４１５上で選択させる。これは、ＨＲＥＡＤＹ信号のデアサートされたヴァージョンである。従って、このＨＲＥＡＤＹ信号のデアサートヴァージョンは経路３８５上を出力されてＣＰＵ１１０まで返信され、次クロックサイクル中にＣＰＵ１１０が新規信号をメインバス２００上へ発動することを防止する。実際、アサートされたＨＲＥＡＤＹ信号を受信した後で初めて、ＣＰＵ１１０は該サイクル中に新規信号をメインバス上へ発動可能である。
【００４５】
ＤＭＡコントローラからの該バースト転送請求の処理が完了するや否や、ＣＰＵの該非順次転送請求のアドレス及び制御データは、レジスタ３８０から多重化装置３７０を介してスレーブ論理ユニットまで出力される。アービトレーション制御ブロック３００は、適切な多重化制御信号を経路３３５上で多重化装置３７０に送信する。次クロックサイクル中に、該非順次転送請求用の該書き込みデータは多重化装置３９０を介してスレーブ論理ユニットまで出力される。同時に、アービトレーション制御ブロック３００は多重化装置３１０に指示して、アサートされたＨＲＥＡＤＹ信号を経路３８５上でＣＰＵ１１０まで出力させる。これによりＣＰＵ１１０は、次クロックサイクルで新規信号を該メインバス上へ発動することが可能になる。従ってＣＰＵ１１０は、そのバースト転送の継続が自在となる。
【００４６】
読み取り請求は、一般に読み取りデータが対応するアドレス及び制御データの発行に従いそのクロックサイクルで経路３６５上を返信される、上述の書き込み請求の場合と同様の方式で遂行される。再び、読み取りデータが返信される毎にＨＲＥＡＤＹ信号がアサートされて、対応するマスタ論理ユニットが次転送請求を継続することを可能にする。次にアービトレーション制御ブロック３００はＨＲＥＡＤＹ信号を完全に同様の方式で操作して、他の転送請求が該スレーブ論理ユニットにより既に処理されつつある場合に、マスタ論理ユニットの一個からのある非順次転送読み取り請求を延期する。
【００４７】
上述の受動的なアービトレーションアプローチに対する代替的方式は、より能動的なアービトレーションアプローチの提供である。該能動的なアービトレーションアプローチでは、スレーブインターフェイス機構はあるバースト転送請求の処理完了を待つことなく、異なるマスタ論理ユニットの転送請求間における切り換えが可能である。しかしながら、この切り換えを可能ならしめる為には、アービトレーション制御ブロック３００はマスタ論理ユニットから受信した制御信号を変更する能力を有する必要がある。この能力は、図３のボックス４００内の論理素子により提供され得る。
【００４８】
好適実施例では上述のように、各マスタ論理ユニットは転送請求を発行する際に、該転送請求のタイプ、例えば非順次、順次、又はアイドル（アイドルとは、現実には無転送を意味する）というタイプ、を指示する制御信号（以後、ＨＴＲＡＮＳ信号と呼ぶ）を発行する。一個のバースト転送請求は一個の非順次転送請求で開始され、複数個の順次転送請求により後続される。更に引き続く非順次転送請求又はアイドル転送請求の発行は、そのバースト転送請求の終結を示す。
【００４９】
好適実施例ではこうした能動的アービトレーションを可能ならしめる為に、経路３２５上のアービトレーション制御ブロック３００により制御されるレジスタ及び制御モデファイアブロック３５０、を設置する。経路３２５上のアービトレーション制御ブロック３００により指示された時、レジスタ及び制御モデファイアブロック３５０は、多重化装置３３０により出力されたアドレス情報と多重化装置３３０から出力されたＨＴＲＡＮＳ信号の変更ヴァージョン、を格納し得る。
【００５０】
一例として、ＤＭＡコントローラ１２０（マスタ２）がある非順次転送請求を発行した時点でＣＰＵ１１０（マスタ１）があるバースト転送請求の途中にあるならば、経路３１５上のＤＭＡコントローラ１２０からのＨ２ＡＤＤＲ及びＨ２ＴＲＡＮＳ信号は多重化装置３４０を介してレジスタ３８０まで経路設定される。次サイクルにおいて、アービトレーション制御ブロック３００は多重化装置３２０に指示してＨＲＥＡＤＹ信号のデアサートヴァージョンを経路３９５上でＤＭＡコントローラ１２０まで出力させて、該転送請求の処理がまだ完了していないことを示す。
【００５１】
該能動的アービトレーション構成をＤＭＡコントローラ１２０がＣＰＵ１１０よりもスレーブ論理ユニットへのアクセスを許容されるべき構成であると仮定すると、現行のＣＰＵ１１０による転送請求が終結した時点で、経路３８５上でＣＰＵ１１０に出力されているＨ１ＲＥＡＤＹアサート信号により表示されているように、アービトレーション制御ブロック３００は、現在多重化装置３３０から出力されているＨ１ＡＤＤＲ及びＨ１ＴＲＡＮＳ信号は格納されるべきであるがＨ１ＴＲＡＮＳ信号は非順次転送請求を表示する為に変更されるべきである、ことを経路３２５上のレジスタ及び制御モデファイア３５０に対して同時に報告する。この報告はこの段階で遂行される必要がある。その理由は、このクロックサイクルの終了と共に、これらの特定のＨ１ＡＤＤＲ及びＨ１ＴＲＡＮＳ信号はＣＰＵ１１０による出力を停止される、からである。
【００５２】
次サイクルにおいて、アービトレーション制御ブロック３００は経路３８５上のＨ１ＲＥＡＤＹ信号出力をデアサートさせて、該現行の転送請求の処理が完了していないことをＣＰＵ１１０に報告する（即ち、レジスタ及び制御モデファイア３５０に格納されたＨ１ＡＤＤＲ及びＨ１ＴＲＡＮＳ（変更）信号に対応する転送請求）。
【００５３】
一方、ＤＭＡコントローラ１２０の非順次転送請求用のアドレス及び制御データは多重化装置３６０、３７０を介してスレーブ論理ユニットまで出力される。次サイクルで該非順次転送請求の処理が完了し、従ってＨ２ＲＥＡＤＹアサート信号が経路３９５上でＤＭＡコントローラ１２０まで出力される。ＤＭＡコントローラ１２０は今やスレーブ論理ユニットへのアクセスを有しているので、レジスタ３８０に格納された該最初の転送請求に引き続くその転送請求のアドレス及び制御信号は多重化装置３３０、３７０を介してスレーブ論理ユニットまで経路設定される。
【００５４】
ＤＭＡコントローラ１２０のバースト転送請求の処理が完了した時点で、ＣＰＵ１１０は再びスレーブ論理ユニットへのアクセスを獲得する。第一サイクルで、レジスタ及び制御モデファイア３５０に格納されたＨ１ＡＤＤＲ及び変更Ｈ１ＴＲＡＮＳ信号は、多重化装置３６０、３７０を介してスレーブ論理ユニットまで出力される。一方、引き続くクロックサイクルで、ＣＰＵ１１０の引き続く転送請求用のアドレス及び制御信号は、多重化装置３３０、３７０を介してスレーブ論理ユニットまで直接に経路設定される。
【００５５】
該最大長バースト転送請求の待ち時間が重大な問題になる場合、又は該接続されたスレーブでの処理性能がより短いバースト転送請求アクセスの実行により妨害されない場合に、上記の能動的アービトレーションアプローチは適切である。能動的アービトレーションアプローチは、長いバースト転送請求が必要に応じてより短いバースト転送請求に分割されることを可能にする。実際、このアプローチを用いて、バースト転送請求を一連の単一転送請求に分割可能である。
【００５６】
様々なマスタ論理ユニット間の相対的優先権は固定されておらずその代りにシステムアーキテクチャに応じて設定され得て、アービトレーション制御ブロック３００による適切なアービトレーションを提供する。更に前述のように、マスタ論理ユニットに割り当てられた相対的優先権の他に、能動的アービトレーションを制御する為に最大長バースト転送請求の定義を使用し得る。
【００５７】
図３の該論理ユニットを詳細に説明してきたが、次に図４を参照して、受動的アービトレーションアプローチの場合の様々な信号のタイミング例に関して説明する。
【００５８】
図４の例から分るように、マスタ１は最初にスレーブ論理ユニットへのアクセスを有しており、二個の順次転送請求により後続される一個の非順次転送請求から構成される一個のバースト転送請求を発行しつつある。時刻Ｔ１で、書き込みデータＤ１０がスレーブ論理ユニットへ転送されているので、該非順次転送請求の処理が完了している。該スレーブ論理ユニットは、Ｈ１ＲＥＡＤＹ信号としてマスタ１に搬送されているＨＲＥＡＤＹ信号を発行している。同様に、時刻Ｔ２、Ｔ３で各々、アドレスＡ１１、Ａ１２の該二個の順次転送請求の処理が完了していて、対応データＤ１１、Ｄ１２がスレーブ論理ユニットにより受信され、ＨＲＥＡＤＹ信号が該Ｈ１ＲＥＡＤＹ信号を介してマスタ１に確認応答されている。
【００５９】
しかしながら、マスタ１からの該バースト転送請求が発行されつつある間に、マスタ２は一個のバースト転送請求を開始している。特に時刻Ｔ１で、一個の非順次転送請求がマスタ２により発行されている。マスタ２からのこの非順次転送請求は直接スレーブ論理ユニットに出力され得ず、且つ該スレーブ論理ユニットはマスタ１からの該バースト転送請求を既に処理しつつあるので、Ｈ２ＴＲＡＮＳ及びＨ２ＡＤＤＲ信号は時刻Ｔ１でレジスタ３８０に格納される。更に時刻Ｔ２までに、アービトレーション制御ブロック３００は多重化装置３２０に経路３９５上の出力としてＨ２ＲＥＡＤＹ信号をデアサートさせる。これにより、マスタ２は次クロックサイクル中に書き込みデータＤ２０と次順次転送請求用のアドレス及び制御データの出力を継続する。Ｈ２ＲＥＡＤＹ信号は時刻Ｔ３でデアサートされ続けているので、マスタ２も又該信号を次クロックサイクルにアサートし続ける。
【００６０】
図４から分るように、マスタ１からの該バースト転送請求用の全アドレス及び制御データがスレーブ論理ユニットへ一旦転送されれば、レジスタ３８０に格納されたアドレス及び制御データは時刻Ｔ３でスレーブ論理ユニットへ出力され、対応する書き込みデータは時刻Ｔ４でスレーブ論理ユニットへ出力される。従って時刻Ｔ４で、Ｈ２ＲＥＡＤＹ信号は再アサートされ得て、マスタ２がその順次転送請求を継続することを可能にする。従って、時刻Ｔ４、Ｔ５、及びＴ６で発行されている転送請求は、マスタ２から発行された転送請求である。
【００６１】
図４から分るように、マスタ１は次に時刻Ｔ４で非順次転送請求を発行して、更なるバースト転送請求を開始する。しかしながらこの時点でスレーブ論理ユニットはマスタ２からの該バースト転送請求の処理に多忙であるので、時刻Ｔ４でマスタ１から発行されたアドレス及び制御データはレジスタ３８０にバッファリングされる。更に、マスタ２に関して前述した方式と同様の方式で、アービトレーション制御ブロック３００はＨ１ＲＥＡＤＹ信号を時刻Ｔ５、Ｔ６でデアサートさせて、マスタ１に書き込みデータＤ１３と次順次アクセス用のアドレス及び制御データをアサートし続けさせる。すると、レジスタ３８０にバッファリングされている該アドレス及び制御データは、時刻Ｔ６でスレーブ論理ユニットへ搬送される。その理由は、この時点でマスタ２からの該バースト転送請求の処理は完了している、からである。この結果、書き込みデータＤ１３は時刻Ｔ７でスレーブ論理ユニットへ提供される。従って、時刻Ｔ７までにＨ１ＲＥＡＤＹ信号はアービトレーション制御ブロック３００により再アサートされて、マスタ１からの該バースト転送請求の残余を発行させる。
【００６２】
関連性のない複数個の転送請求の並行処理が可能であるという点で、本発明の好適実施例によるデータ処理装置は該データ処理装置の大幅な効率向上を可能ならしめる、ことが上記の説明から理解されよう。特に、第一マスタ論理ユニットは、第一メインバスを介して第一スレーブ論理ユニットにアクセスする。一方、第二マスタ論理ユニットは、第二メインバスを介して第二（の異なる）スレーブ論理ユニットにアクセスする。しかしながら更に、第一マスタ論理ユニットは又、第一メインバスを介して該第二スレーブ論理ユニットに必要に応じて且つ必要な時にアクセス可能である。更に、スレーブインターフェイス機構が設置されて、該二個のバス間の効率的な切り換え機能と、二個以上のマスタ論理ユニットが同一のスレーブ論理ユニットへのアクセスを請求する状況を必要に応じて且つ必要な時に処理するアービトレーション機能、を提供する。
【００６３】
【発明の効果】
本明細書では特定の実施例が説明されたが、本発明は該実施例には限定されず且つ該実施例に対する多くの変更と追加が本発明の請求範囲内で遂行し得る、ことが理解されよう。例えば、本発明の請求範囲から乖離することなくその独立請求範囲の特徴を用いて、以下の従属請求範囲の特徴の様々な組み合わせを実装し得る。
【図面の簡単な説明】
【図１】一本のバスを介して複数個のマスタ論理ユニットを複数個のスレーブ論理ユニットと接続する、データ処理装置で使用される既知アーキテクチャ、を示すブロック図。
【図２】本発明の好適実施例に従うデータ処理装置のブロック図。
【図３】本発明の好適実施例に従うスレーブインターフェイス機構の構成を示すブロック図。
【図４】本発明の好適実施例に従う該スレーブインターフェイス機構により受信及び発行される幾つかの信号の相対的タイミングを示すタイミング図。
【符号の説明】
１００  ＴＩＣ
１１０  ＣＰＵ
１２０  ＤＭＡ
１３０  アービタ
１４０  ＳＭＩ
１５０  ＲＯＭ
１６０  ＲＡＭ
１７０  周辺バスサブシステム（ＤＭＡ必要なし）
１８０  周辺バスサブシステム（ＤＭＡ必要）
１９０  ＳＤＲＡＭコントローラ
２００  第一メインバス
２１０  第二メインバス
２２０  ｍ（二方向多重化装置モジュール）
３００  アービトレーション制御
３５０  レジスタ及び制御モデファイア
３８０  ＡＨＢレジスタ
【図１】
0004928683.tif 000002
【図２】
0004928683.tif 000003
【図３】
0004928683.tif 000004
【図４】
0004928683.tif 000005