(57)【特許請求の範囲】
【請求項１】
複数の構成要素モジュールによって使用される共用資源を有するデータ処理装置であって、
任意の所与の時点で１つのモジュールしか共用資源を使用する資格を与えられず、所与の時点で共用資源を使用する資格をもつモジュールが、サイクルを定義する最小期間の間共用資源の制御を行い、前記複数のモジュールが、共用資源を使用して、複数の、動作のクラスの動作を実行し、少なくとも１つの、動作のクラスは、そのクラスの動作が事実上制限サイクルの間実行できず、非制限サイクルの間実行を許可される、制限されたクラスである、複数の構成要素モジュールと、
共用資源を使用する動作の実行を求める各モジュールがサイクルの間共用資源を制御する資格を与えられるようにし、さらに、第１および第２の調停器を含み、各サイクルの間に、どのモジュールが共用資源を制御するようにするかを判定する調停手段であって、前記第１の調停器は、前記共用資源の制御を要求するどのモジュールに、前記制限サイクルの間に前記共用資源の制御を許可するかを判定するように、前記制限サイクルの間に有効であり、前記第２の調停器は、前記共用資源の制御を要求するどのモジュールに前記非制限サイクルの間に前記共用資源の制御を許可するかを判定するように、前記非制限サイクルの間に有効であり、前記複数のモジュールが前記共用資源の制御を必要とする場合に、前記第１および第２の調停器の両方に前記共用資源の制御を要求する、調停手段とを含むデータ処理装置。
【請求項２】
複数の構成要素モジュールによって使用される共用資源を有するデータ処理装置であって、
任意の所与の時点で１つのモジュールしか共用資源を使用する資格を与えられず、所与の時点で共用資源を使用する資格をもつモジュールが、サイクルを定義する最小期間の間共用資源の制御を行い、前記複数のモジュールが、共用資源を使用して、複数の、動作のクラスの動作を実行し、少なくとも１つの、動作のクラスは、そのクラスの動作が事実上制限サイクルの間実行できず、許容サイクルの間実行を許可される、制限されたクラスである、複数の構成要素モジュールと、
各サイクルの間にどのモジュールが共用資源を制御する資格を有するかを判定する調停手段であって、共用資源を使用する動作の実行を求める各モジュールがサイクルの間共用資源を制御する資格を与えられるようにし、さらに、多重ラウンド・ロビン調停方法を使用し、周期的に許容サイクルを発行して、制限されたクラスの動作の実行を求める各モジュールが許容サイクルの間共用資源を制御する資格を与えられるようにする調停手段と、を含むデータ処理装置。
【請求項３】
共用資源がバスであり、動作がバス上のトランザクションである請求項１または２に記載のデータ処理装置。
【請求項４】
調停手段が、前記制限サイクルの間にどのモジュールが共用資源を制御する資格をもつかを判定するラウンド・ロビン・プロトコルを実施するための第１のポインタと、前記非制限サイクルの間にどのモジュールが共用資源を制御する資格をもつかを判定するための第２のポインタとを含む請求項１に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複数の構成要素モジュールを有するコンピュータ装置に関し、詳細には、どのモジュールが特定の装置の資源を使用するかを決定する際にモジュールによって使用できる調停プロトコルを実施するデータ処理装置に関する。
【０００２】
【従来の技術】
コンピュータ装置は一般に、プロセッサ、メモリ、入出力装置など複数の構成要素と、２つ以上の構成要素間で情報を転送するための共用バスとを有する。構成要素は一般に、それぞれ、１つまたは複数のプロセッサ、メモリ、ないし入出力装置を含むことができる、構成要素モジュールの形でバスに結合される。情報は、それぞれ、モジュールがバスの制御を有し、限られた量の情報をバス上で転送し、あるいはドライブすることを許可される、バス「サイクル」中にバス上で構成要素モジュール間で送られる。モジュールは、従来型の「読取り」トランザクションや「書込み」トランザクションなど、完了するのに１サイクル以上かかるトランザクションをバス上で相互に送ることによって通信する。
【０００３】
通常、所与のサイクルに共用バス上で情報を送り、あるいはドライブできるモジュールは１つだけである。したがって、どんな共用バス装置でも、特定のサイクルにどのモジュールがバス上で情報をドライブする資格をもつかを判定するためのバス「調停」方法をもたなければならない。多数の従来型のバス調停方法が利用可能である。大部分の調停方法では、共用バス中の各モジュールが、バスをドライブしたいときに信号を生成し、１つまたは複数のプロセッサ上で実施されるアルゴリズムが、どのモジュールが所与のサイクル中にバスをドライブする資格をもつかを判定する。
【０００４】
従来型の調停方法は一般に、各モジュールが発行する必要があるトランザクションを進行できるように、バスの使用を求める各モジュールがそのようにすることを許可するように設計される。たとえば、従来型のラウンド・ロビン調停方法では、モジュールは事実上、調停優先順位のために待機する。待ち行列の始めにあるモジュールは、次の利用可能なバス・サイクル中にバスを勝ち得て、次いで、待ち行列の終りに置かれる。一般に、このようなモジュールの待機は、モジュールの順位を定義し、待ち行列の始めにあると考えられるモジュールを指すポインタを使用することによって実施される。待ち行列の始めにあるモジュールは、次の利用可能なサイクルのために調停を勝ち得る。待ち行列の始めにあるモジュールが調停に勝利した後、ポインタは、定義された順序に従って次のモジュールに進む。各モジュールがバスを制御する機会をもった後、ポインタは、順序における最初のモジュールに戻る。このように、各モジュールは、ある程度規則的にバスを制御する機会を保証され、それによって、発行する必要があるトランザクションを進行することができる。ラウンド・ロビン方法よりもずっと複雑な多数の従来型の調停方法が利用可能である。しかし、一般に、どんな調停方法でも、バスを求める各モジュールがそのようにする機会をもち、したがって、進行できるようにすることが望ましい。
【０００５】
モジュールが調停に勝利したとき常にトランザクションを発行できる場合、すべてのモジュールに進行が保証される。しかし、ある種のバス装置では、モジュールは事実上、あるサイクル中だけある種のトランザクションを発行するのを妨げられる。たとえば、入出力トランザクションは、あるサイクル中に禁止され、あるいは入出力モジュール自体がビジー過ぎて新しいトランザクションを受け入れられないとき、発行された後に打ち切られる。同様に、コンピュータ装置用のメモリ制御装置がビジー過ぎて新しいトランザクションを処理のために受け入れることができない場合、メモリ制御装置が再び新しいトランザクションを受け入れられるまで、新しいメモリ関連トランザクションは禁止され、あるいは打ち切られる。打ち切られ、あるいは発行することを禁止されたトランザクションは、トランザクションが事実上発行できるようになるまで、関連するモジュールによって保持される。
【０００６】
【発明が解決しようとする課題】
あるサイクル中に事実上、あるトランザクション・クラスを発行できないバス装置では、モジュールが、望ましくないほど長い期間中、遅延し、あるいは転送を禁止される可能性がある。たとえば、モジュールが入出力装置にデータを書き込むためにバスの制御のための調停を行ったが、事実上入出力トランザクションを発行できないサイクル中にバスの制御を得ることがある。このモジュールは通常、次いで、バスの制御を放棄し、ある期間中だけ他のモジュールに対してより低い優先順位を与えられる（たとえば、ラウンド・ロビン調停プロトコルでは、このモジュールは待ち行列の終りに置かれる）。次いで、このモジュールがトランザクションを発行して進行できるようにするには、再び調停に勝利するまで待機しなければならない。このモジュールがより低い優先順位である間、そのモジュールが発行したいトランザクションが一時的に許可されることがある。しかし、このモジュールが再びバスの制御を勝ち得るまでに、このモジュールが発行したいトランザクションが再び禁止されることがある。これは、このモジュールが望ましくないほど長い期間中バスを勝ち得るたびに行われる。したがって、このモジュールは、望ましくないほど長い期間中、進行することができない。
【０００７】
したがって、あるトランザクション・クラスを１バス・サイクル以上の間バス上で発行できない場合でも、各モジュールを進行できるようにする調停方法が必要がある。
【０００８】
したがって、本発明の一目的は、改良された多重調停方法を適用するデータ処理装置を提供することである。
【０００９】
本発明の他の目的は、共用資源の使用のための調停を行う各モジュールが、その資源を望ましい方法で使用できるときにその資源を制御できるようにする調停方法を適用するデータ処理装置を提供することである。
【００１０】
本発明の他の目的は、あるトランザクション・クラスが事実上、１バス・サイクル以上の間禁止される場合でも、バスの使用を求める各モジュールが進行できるようにするバス調停方法を適用するデータ処理装置を提供することである。
【００１１】
本発明のこれらおよびその他の目的は、以下の本発明および好ましい実施例の詳細な説明、添付の図面、ならびに特許請求の範囲から当業者に明らかになろう。
【００１２】
【課題を解決するための手段】
大ざっぱに言えば、本発明は、共用資源を使用する各構成要素が進行できるようにする調停方法を適用するデータ処理装置である。多数のモジュールを接続するためのバス装置に関して本発明を説明する。しかし、当業者には、この調停方法が他の共用資源に適用できることが明らかになろう。
【００１３】
本発明による共用バス装置は、バスと、バスに結合された１組の構成要素モジュールと、各サイクル中にどのモジュールがバス上でトランザクションを発行する資格をもつかを判定するための調停プロセッサとを含む。任意の所与の時間にバス上でトランザクションを発行する資格をもつモジュールは１つだけであり、モジュールは、バス・サイクルを定義する最小期間中だけバスを制御する。
【００１４】
トランザクションは、２つ以上のクラスに分割される。事実上、１バス・サイクル以上の間、少なくとも１つのトランザクション・クラスを発行できない。
【００１５】
調停プロセッサは、トランザクションの発行を求める各モジュールが１サイクル以上の間バスを制御する資格を与えられるようにする。調停プロセッサはさらに、所与のクラスのトランザクションの発行を求める各モジュールが、そのクラスのトランザクションを事実上発行できないバス・サイクル中にバスの制御を得られるようにする。
【００１６】
本発明は、共用コンピュータ・バスなどの共用資源を使用する各構成要素が進行できるようにする調停方法を適用する。本発明に適用する共用バス装置では、構成要素モジュールは、１サイクル以上の間のバスの制御のための調停を行い、そのモジュールがバスを制御するサイクル中にバス上でトランザクションを送る。トランザクションは、１組のトランザクション・クラスとして分割される。あるバス・サイクル（すなわち、制限サイクル）の間、ある種のトランザクション・クラスは発行できない。しかし、他のあるサイクル（すなわち、非制限サイクル）の間は、どんなクラスのどんなトランザクションでも発行することができる。どんなトランザクションでも発行できるようにするサイクルは定期的に発生する。
【００１７】
本発明は、所与のクラスのトランザクションの発行を求める各モジュールが、そのクラスのトランザクションを発行できるサイクル中にバスの制御を得られるようにすることによって、各モジュールごとの進行を保証する。これは、多重ラウンド・ロビン方法を使用して行われる。
【００１８】
本発明による多重ラウンド・ロビン調停方法の好ましい実施例によれば、２つのラウンド・ロビン・ポインタを使用して、制限サイクルおよび非制限サイクル中にどのモジュールが調停に勝利するかを別々に判定するための２つのラウンド・ロビン調停プロトコルが実施される。第１に、一次ポインタを使用して、一次ラウンド・ロビン調停プロトコルが実施される。一次ポインタは、制限サイクル中に各モジュールの優先順位を追跡する。二次ラウンド・ロビン・ポインタまたは「エニー・トランザクション」ラウンド・ロビン・ポインタは、どんなクラスのトランザクションでも発行できる非制限サイクルに関する各モジュールの優先順位を追跡する。制限サイクルの間、一次ポインタは、どのモジュールが調停に勝利するかを判定し、所定の順序に従って次のモジュールに進む。非制限サイクルの間は、二次ポインタが、どのモジュールが調停に勝利するかを判定し、所定の順序に従って次のモジュールに進む。
【００１９】
二次ポインタは、あるサイクル中に禁止されているトランザクションの発行を求めるモジュールが最終的にトランザクションを発行する機会を与えられるようにする。上述のように、どのクラスのトランザクションも可能なサイクルが周期的に発生する。したがって二次ポインタは、どんなトランザクション・クラスでも許可されるサイクル中に各モジュールを定期的に指し、それによって、任意のクラスのトランザクションを発行する機会を各モジュールに与える。あるサイクル中に禁止されているトランザクションの発行を求めるモジュールは、一次ポインタに基づいてそのようなサイクル中に調停に勝利することができ、その場合、一次ポインタは先に進み、そのモジュールに「順番を譲らせる」。しかし、最終的に二次ポインタがそのモジュールを指し、そのモジュールが非制限サイクル中に勝利できるようにし、最終的にそのトランザクションが発行されるようにする。
【００２０】
【実施例】
本発明による典型的なコンピュータ装置のブロック図を図１に１０で示す。コンピュータ装置１０は、共用資源としてのバス１２と、バス１２に結合された複数の構成要素とを有するマルチプロセッサ・コンピュータである。これらの構成要素には、メイン・メモリ制御装置１４、構成モジュールとしての入出力モジュール１６および１８、プロセッサ・モジュール２０および２２が含まれる。これらの構成要素は、バス１２上でトランザクションを送り、かつ受け取ることによって相互に通信する。
【００２１】
プロセッサ・モジュール２０および２２は、コンピュータ装置１０用のメイン・プロセッサであり、装置用のソフトウェアは、すべてのプロセッサ上で同時に実行される。プロセッサ・モジュール２０および２２はそれぞれ、直近で使用されたデータを記憶するための従来型のキャッシュ・メモリを含むことができる。
【００２２】
入出力モジュール１６および１８は、コンピュータ装置１０と入出力装置の間のインタフェースとして働く。入出力モジュール１６および１８はそれぞれ、一般に入出力バスを介してバス１２と入出力装置の間に結合された少なくとも１つの入出力アダプタを含む。
【００２３】
バス１２を使用する必要があるプロセッサ・モジュールおよび入出力モジュールは、任意の所与のサイクル中にバス１２の制御のための調停を行う。調停手段３０は、バス調停方法を実施して、どのモジュールが調停に勝利し、任意の所与のバス・サイクル中にバスを制御するかを判定する。調停モジュール３０によって実施されるバス調停方法を以下で詳細に説明する。以下で詳細に説明するように、バス調停方法は、すべてのモジュールによる進行を保証する多重ラウンド・ロビン調停方法である。
【００２４】
メイン・メモリ制御装置１４は、従来型の方法で、メイン・メモリ１５から情報を読み取り、メイン・メモリ１５に情報を記憶する責任を負う。メイン・メモリ制御装置１４は、クライアント・モジュールとみなすことができる残りのモジュールによってバス１２を使用できる方法を指示するための「ホスト」モジュールまたは「バス制御装置」としても働くことが好ましい。具体的には、メイン・メモリ制御装置１４は、各クライアント・モジュールに直接結合されたＣＬＩＥＮＴ−ＯＰライン２４を制御する。メイン・メモリ制御装置１４は、次の利用可能なサイクル中にバス上でどんなトランザクション・クラスを発行できるかを示すための信号をＣＬＩＥＮＴ＿ＯＰライン２４上で各クライアント・モジュールに送る。
【００２５】
好ましい実施例では、ＣＬＩＥＮＴ＿ＯＰバスは、所与のサイクル中に許可されるトランザクションのクラスを識別する以下の表１に示したクライアント・オプション信号をサポートする。
【００２６】
【表１】
0003583183.tif 000002
【００２７】
ＮＯＮＥ＿ＡＬＬＯＷＥＤクライアント・オプション信号は、関連するサイクル中にはトランザクションがいっさい許可されないことを示すために使用される。
【００２８】
ＲＥＴ＿ＯＮＬＹクライアント・オプション信号は、関連するサイクル中には、以前に保持された専用ダーティ・キャッシュ・ラインのリターン（書込み直し）または以前のトランザクションに対する応答しか許可されないことを示す。たとえば、プロセッサ・モジュール２０がプロセッサ２２のキャッシュに専用ダーティとして保持されているデータの読取りを発行した場合、プロセッサ２２は、従来型のキャッシュ間コピー・トランザクションでそのキャッシュ・ラインを供給することを求めることができる。そのキャッシュ間コピー・トランザクションは、ＲＥＴ＿ＯＮＬＹクライアント・オプション信号によって支配されるサイクル中に発行することができる。なぜなら、キャッシュ間コピーは、その読取りに対応する応答であるからである。同様に、入出力モジュール１６は、ＲＥＴ＿ＯＮＬＹクライアント・オプション信号によって支配されるサイクル中に以前の従来型の入出力読取りトランザクションから得たデータを返すことができる。なぜなら、データ・リターンは、その入出力読取りトランザクションに対する応答であるからである。ＲＥＴ＿ＯＮＬＹクライアント・オプション信号はたとえば、プロセッサ・モジュールが他のタスクの実行に専念しているために新しいコヒーレント・トランザクションを受け入れることができず、あるいはメモリ制御装置（またはメモリ）が読取りトランザクションを受け入れることができない場合に有用である。
【００２９】
ＮＯ＿ＩＯクライアント・オプション信号は、入出力トランザクションを除きすべてのトランザクションが許可されることを示す。ホストはたとえば、入出力モジュールがビジー過ぎるために新しいトランザクションに応答できない場合にＮＯ＿ＩＯクライアント・オプション信号を発行することができる。
【００３０】
ＡＮＹ＿ＴＲＡＮＳクライアント・オプション信号は、次の利用可能なサイクル中にはどんなトランザクションでも許可されることを示す。すべてのトランザクション・クラスが定期的に許可されるように、メイン・メモリ制御装置は定期的に、１サイクル以上の間ＡＮＹ＿ＴＲＡＮＳクライアント・オプション信号を発行する。
【００３１】
上述のように、調停モジュール３０は、多重ラウンド・ロビン方法を実施して、各サイクル中にどのモジュールがバス１２を制御する資格をもつかを判定する。多重ラウンド・ロビン調停方法は、クライアント・オプション信号が、あるバス・サイクル中にバス１２上で許可されるトランザクションのクラスを制限することにもかかわらず、各モジュールが進行できるようにする。
【００３２】
どのモジュールがバス１２を制御する資格をもつかを判定するために使用される多重ラウンド・ロビン方法は、中央調停方法でも、分散調停方法でもよい。中央調停方法を使用する場合、バスの使用を求める各モジュールは、中央アービタ回路に調停信号を送る。中央アービタ回路は、調停信号を処理して、次の利用可能なサイクル中にバスを使用する資格をもつモジュール（すなわち、次のバス所有者）を判定する。中央アービタ回路は次いで、バスを使用する資格があるかどうかを各モジュールに通知する調停応答信号をモジュールに送り返す。次いで、調停に「勝利した」モジュールは、バス上で情報をドライブする。分散調停方法を使用する場合、各モジュールは装置中で相互に調停信号を送る。各モジュールは、このような調停信号に基づいて次のバス所有者を決定するための調停アルゴリズムを実行するための論理回路を含む。各モジュールは、調停信号を受信すると、次のバス所有者を決定する。次いで、調停に勝利したモジュールは、バス上でモジュール自体の情報をドライブする。
【００３３】
多重ラウンド・ロビン調停方法は、トランザクションの発行を求める各モジュールが、トランザクションを発行できるサイクル中にバスの制御を得られるようにすることによって、すべてのモジュールの進行を保証する。多重ラウンド・ロビン調停方法は、一次ポインタ３１とＡＮＹ＿ＴＲＡＮＳポインタ３２（本明細書では二次ポインタとも呼ぶ）の少なくとも２つのポインタを使用する。以下でさらに説明するように、各ポインタは個別のラウンド・ロビン「待ち行列」の始めにあるモジュールを追跡する。したがって、各モジュールは一次優先順位とＡＮＹ＿ＴＲＡＮＳ優先順位の２つの調停優先順位を有する。
【００３４】
一次ポインタは、クライアント・オプション信号がＡＮＹ＿ＴＲＡＮＳ以外のものであり、モジュールがバスを制御する資格をもつとき、ラウンド・ロビン・プロトコルを実施してどのモジュールが調停に勝利するかを判定するために使用される。一次ポインタは、ＡＮＹ＿ＴＲＡＮＳによって支配されないサイクルに関して最高の優先順位を有するモジュールを指し、このようなサイクル中にどのモジュールが調停に勝利するかを決定する。現行の高優先順位モジュールが勝利すると、一次ポインタは、所定の順序に従って次のモジュールに進む。一次ポインタは、ＡＮＹ＿ＴＲＡＮＳクライアント・オプション信号によって支配されるサイクル中にあるモジュールがバスを勝ち得た場合には先に進まない。
【００３５】
ＡＮＹ＿ＴＲＡＮＳポインタは、クライアント・オプション信号がＡＮＹ＿ＴＲＡＮＳであり、モジュールがバスを制御する資格をもつとき、ラウンド・ロビン調停プロトコルを実施して、どのモジュールが調停に勝利するかを判定する。ＡＮＹ＿ＴＲＡＮＳポインタは、ＡＮＹ＿ＴＲＡＮＳクライアント・オプション信号に関して最高の現調停優先順位を有するモジュールを指す。ＡＮＹ＿ＴＲＡＮＳサイクル中に最高優先順位のモジュールが調停に勝利すると、ＡＮＹ＿ＴＲＡＮＳポインタは所定の順序に従って次のモジュールに進む。ＡＮＹ＿ＴＲＡＮＳポインタは、ＡＮＹ＿ＴＲＡＮＳ以外のクライアント・オプション信号によって支配されるサイクル中にあるモジュールが調停に勝利した場合は、先に進まない。
【００３６】
このように、禁止されることがあるトランザクションの発行を求めるモジュールは最終的に、そのトランザクションを発行する機会を与えられる。たとえば、モジュールは入出力トランザクションを発行する必要があることがある。このモジュールは、ＮＯ＿ＩＯクライアント・オプション信号によって支配されるサイクル中に調停に勝利すると、入出力トランザクションを発行することができず、このサイクルは無駄になる。一次ポインタはそれにもかかわらず、次のモジュールに進み、次のモジュールに調停に勝利する機会を与える。しかし、ＡＮＹ＿ＴＲＡＮＳポインタは先に進まない。入出力トランザクションの発行を求めるモジュールは、その入出力トランザクションを発行できないので調停を継続する。ＡＮＹ＿ＴＲＡＮＳクライアント・オプション信号が定期的に発生するので、ＡＮＹ＿ＴＲＡＮＳポインタは最終的に、入出力トランザクションの発行を求めるモジュールに進み、そのモジュールはこのトランザクションを発行する。したがって、上述の調停方法ではＡＮＹ＿ＴＲＡＮＳポインタによって進行が保証される。
【００３７】
当業者には、本発明によって各クライアント・オプション信号に別々のラウンド・ロビン・ポインタを使用できることが、本開示に基づいて理解されよう。しかし、ＡＮＹ＿ＴＲＡＮＳポインタによって進行が保証されるので追加ポインタは必要とされない。
【００３８】
少なくとも１つのクライアント・オプション信号タイプの下で各トランザクション・タイプが許可される限り、ＡＮＹ＿ＴＲＡＮＳ（すなわち、非制限）クライアント・オプション信号を有する必要がないことも理解されよう。言い換えると、各トランザクション・タイプごとに、少なくとも１つの「許容」クライアント・オプション信号がなければならない。クライアント・オプション信号が許容であるのは、それによってそのトランザクション・タイプを発行できる場合である。進行は、各トランザクション・タイプを許可する許容クライアント・オプション信号を定期的に発行することによって保証される。好ましい実施例では、すべてのトランザクション・タイプに関して許容であるＡＮＹ＿ＴＲＡＮＳ信号が使用される。
【００３９】
本発明に適用される調停方法が、各サイクルごとおよびどのサイクル中にも先に進む一次ポインタを有することができることも理解されよう。これが可能であるのは、ＡＮＹ＿ＴＲＡＮＳポインタがそれにもかかわらずに、進行を保証するからである。
【００４０】
当業者には、入出力モジュールとプロセッサ・モジュールを共にもつ必要はないことが理解されよう。本発明に適用される調停方法は、２つ以上のプロセッサ・モジュールなどあらゆるタイプのモジュールで実施することができる。
【００４１】
さらに、ＡＮＹ＿ＴＲＡＮＳサイクルまたはその他のサイクル、あるいはその両方に使用される調停プロトコルがラウンド・ロビン・プロトコルである必要はないことが理解されよう。関連するサイクル中の進行を可能にするどんなプロトコルでも使用することができる。
【００４２】
当業者には、メモリ制御装置１４が都合だけのためにホストまたはバス制御装置として働いており、ホスト機能とメモリ制御機能を２つ以上のモジュールとして分離できることが理解されよう。
【００４３】
表１に示したクライアント・オプション信号は、ＣＬＩＥＮＴ＿ＯＰバスが、所与のサイクル中に許可されるトランザクションを制限する、１つの可能な方法を示すために、例示のために選択されたものである。他のタイプのクライアント・オプション信号を使用して、バス上で発行できるトランザクションのタイプを制限できることが理解されよう。
【００４４】
「バス」と「ライン」の語は共に、この詳細な説明では、上記で詳細に説明した様々な組の１つまたは複数の電気経路を示すために使用したものである。当業者には、「バス」と「ライン」の語が、相互に排他的なものでも、その他の点でそれら自体を制限するものでもないことが理解されよう。たとえば、「ＣＬＩＥＮＴ＿ＯＰバス」および「ＣＬＩＥＮＴ＿ＯＰライン」の語は、上記で詳細に説明したように、ホストによってのみドライブされる１組のハードウェア・ラインを示すために相互交換可能に使用したものである。
【００４５】
当業者には、本発明に適用される多重調停方法を使用して、どんな共用資源の制御でも決定できることが理解されよう。好ましい実施例では、共用資源はコンピュータ・バスであるが、本発明はコンピュータ・バスの制御のための調停に限らない。
【００４６】
本発明の様々な修正は、以下の説明および添付の図面から当業者に明らかになろう。したがって、本発明は特許請求の範囲によってのみ制限されるものである。
【００４７】
以上、本発明の各実施例について詳述したが、ここで各実施例の理解を容易にするために、各実施例ごとに要約して以下に列挙する。
【００４８】
１．  複数の構成要素モジュールによって使用される共用資源（１２）を有するデータ処理装置（１０）であって、任意の所与の時点で１つのモジュールしか共用資源を使用する資格を与えられず、所与の時点で共用資源（１２）を使用する資格をもつモジュールが、サイクルを定義する最小期間中だけ共用資源の制御を行い、前記モジュールが、共用資源を使用して、少なくとも１つの動作クラスが、事実上１制限サイクル以上の間実行できず、かつ１許容サイクル以上の間許可される制限クラスである、複数の動作クラスを実行する複数の構成要素モジュール（１６、１８、２０、２２）と、
共用資源を使用する動作の実行を求める各モジュールが１サイクル以上の間共用資源を制御する資格を与えられるようにし、さらに、前記制限クラスの動作の実行を求める各モジュールが許容サイクル中に共用資源の制御を得られるようにする、各サイクルごとにどのモジュールが共用資源を制御する資格をもつかを判定するための調停手段（３０）と、
を備えることを特徴とするデータ処理装置である。
【００４９】
２．  共用資源がバス（１２）であり、動作がバス上のトランザクションであることを特徴とする上記１に記載のデータ処理装置（１０）である。
【００５０】
３．  調停手段（３０）が、前記制限サイクル中にどのモジュールが共用資源を制御する資格をもつかを判定するラウンド・ロビン・プロトコルを実施するための第１のポインタ（３１）と、前記許容サイクル中にどのモジュールが共用資源を制御する資格をもつかを判定するための第２のポインタ（３２）とを含むことを特徴とする上記１に記載のデータ処理装置（１０）である。
【００５１】
【発明の効果】
以上うのように、本発明によれば、調停手段により任意の所与の時点で共用資源を使用する資格が与えられた一つのモジュールがバス・サイクルを定義する最小期間中だけバスを制御し、共同資源を使用して一つの動作クラスが一制限サイクル以上実行できないようにし、１許容サイクル以上の間許可される制限クラスの動作の実行を求めるモジュールが許容サイクル中に調停手段により共用資源の制御が得られると判断するとそのモジュールが許容サイクル中に共用資源の制御を行えるようにしたので、制限サイクルの間ある種のトランザクション・クラスは発行できないが、非制限サイクルの間どのようなクラスのどのようなトランザクションの発行も定期的に発行ることができ、あるトランザクション・クラスを１バス・サイクル以上の間バスで発行できない場合でも、各モジュールを進行できる。
【図面の簡単な説明】
【図１】本発明に適用される多重調停方法を使用するデータ処理装置の一実施例を示すブロック図である。
【符号の説明】
１０  コンピュータ装置
１２  バス
１４  メイン・メモリ制御装置
１５  メイン・メモリ
１６，１８  入出力モジュール
２０，２２  プロセッサ・モジュール
２４  ＣＬＩＥＮＴ＿ＯＰライン
３１  一次ポインタ
３２  ＡＮＹ＿ＴＲＡＮＳポインタ
【図１】
0003583183.tif 000003