(57)【要約】【課題】従来の技術による諸問題を解決するため、バスの動作速度を速めるシステムバスの制御方法及び関連装置を提供する。【解決手段】システムバスの制御方法は、（ａ）バスよりバスマスターからのエントリーを受信し、（ｂ）エントリーを待ち行列に入れてメモリーに順次保存し、（ｃ）待ち行列に入れられたエントリーによって、バスを通してアクノレッジ信号をバスマスターに順次送信し、（ｄ）アクノレッジ信号を受信するとバスマスターは制御信号を発してバスのチャンネルを開放してから、スタンバイモードに戻り、（ｅ）待ち行列に入れられたエントリーによって実行結果を生じさせ、（ｆ）バスマスターはステップ（ｅ）による実行結果を取り出すなどのステップを含む。【選択図】図２
2004334840.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターシステムに適用するシステムバスの制御方法であって、当コンピューターシステムは少なくともバスと、バスと電気的に接続されるバスマスターとを含み、当方法は、
（ａ）バスよりバスマスターからのエントリーを受信し、
（ｂ）エントリーを待ち行列に入れてメモリーに順次保存し、
（ｃ）待ち行列に入れられたエントリーによって、バスを通してアクノレッジ信号をバスマスターに順次送信し、
（ｄ）アクノレッジ信号を受信するとバスマスターは制御信号を発してバスのチャンネルを開放してから、スタンバイモードに戻り、
（ｅ）待ち行列に入れられたエントリーによって実行結果を生じさせ、
（ｆ）バスマスターはステップ
（ｅ）による実行結果を取り出すなどのステップを含むことを特徴とするシステムバスの制御方法。
【請求項２】
前記コンピューターシステムはシステムバスコントローラーを含むことを特徴とする請求項１記載のシステムバスの制御方法。
【請求項３】
前記システムバスコントローラーは、
バスと電気的に接続され、バスマスターからのエントリーを受信するステップ（ａ）を実行するためのバススレーブインターフェイスと、
ステップ（ｂ）による待ち行列入れと保存を実行するためのマスターキューと、
ステップ（ｅ）による待ち行列に入れられたエントリーを実行して実行結果を生じさせるためのキューエントリー実行装置と、
マスターキューにある待ち行列を管理してステップ（ｃ）によるアクノレッジ信号の発送を実行するためのキュー管理ユニットとを含むことを特徴とする請求項２記載のシステムバスの制御方法。
【請求項４】
前記システムバスコントローラーは更に、バスと電気的に接続され、ステップ（ｅ）による実行結果をバスマスターに能動的に出力するバスマスターインターフェイスを含むことを特徴とする請求項３記載のシステムバスの制御方法。
【請求項５】
前記エントリーに対応する実行結果はマスターキューの特定アドレスに保存されることを特徴とする請求項３記載のシステムバスの制御方法。
【請求項６】
前記システムバスコントローラーは更に、
マスターキューにエントリーに対応する実行結果があるかどうかを確認し、バスマスターに実行結果を取り出すように告知するためのポーリングユニットを含むことを特徴とする請求項５記載のシステムバスの制御方法。
【請求項７】
前記システムバスコントローラーは更に、
キュー管理ユニットと電気的に接続され、キュー管理ユニットがエントリーに対応する実行結果をマスターキューに保存すると触発され、バスマスターがバススレーブインターフェイスに出力された実行結果を取り出すようにさせるための割り込みコントローラーを含むことを特徴とする請求項５記載のシステムバスの制御方法。
【請求項８】
前記ステップ（ｆ）は更に、
エントリーに対応する実行結果があるかどうかをポーリングし、バスマスターに実行結果を取り出すように告知するステップを含むことを特徴とする請求項１記載のシステムバスの制御方法。
【請求項９】
前記ステップ（ｆ）は更に、
エントリーに対応する実行結果を生じさせた後、割り込み制御信号をバスマスターに送信し、バスマスターに実行結果を取り出すようにさせるステップを含むことを特徴とする請求項１記載のシステムバスの制御方法。
【請求項１０】
コンピューターシステムに適用するシステムバスコントローラーにおいて、当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含み、当システムバスコントローラーは、
バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、
バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、
マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、
バスと電気的に接続され、キューエントリー実行装置による実行結果を出力するためのバスマスターインターフェイスと、
バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信するためのキュー管理ユニットとを含むことを特徴とするシステムバスコントローラー。
【請求項１１】
前記マスターキューはＤＲＡＭにあることを特徴とする請求項１０記載のシステムバスコントローラー。
【請求項１２】
コンピューターシステムに適用するシステムバスコントローラーにおいて、当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含み、当システムバスコントローラーは、
バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、
バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、
マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、
バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信してバスマスターをスタンバイモードに戻らせるためのキュー管理ユニットと、
キュー管理ユニットからキューエントリー実行装置が実行結果を生じさせたことを検知すると、信号を発してバスマスターに実行結果を取り出すように告知するためのデバイスとを含むことを特徴とするシステムバスコントローラー。
【請求項１３】
前記マスターキューはＤＲＡＭにあることを特徴とする請求項１２記載のシステムバスコントローラー。
【請求項１４】
前記バスマスターに実行結果を取り出すように告知する装置はポーリングユニットであり、ポーリングユニットはキュー管理ユニットを通して実行結果があるかどうかを確認することを特徴とする請求項１２記載のシステムバスコントローラー。
【請求項１５】
前記バスマスターに実行結果を取り出すように告知する装置は割り込みコントローラーであり、キュー管理ユニットは実行結果が生じたことを検知すると割り込みコントローラーを触発して、バスマスターに実行結果を取り出すように告知することを特徴とする請求項１２記載のシステムバスコントローラー。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はシステムバスの制御方法及び関連装置に関し、特にコンピューターシステムにおけるバストランザクションを効率的に管理するシステムバスの制御方法及び関連装置に関する。
【背景技術】
【０００２】
周知の通り、バスはエントリーとデータを伝送するチャンネルであり、コンピューターシステムの各装置にバストランザクションを提供するものである。図１は従来のコンピューターシステム１０を表す。コンピューターシステム１０は、バス１２と、第一バスマスター１４と、第二バスマスター１６と、第一バススレーブ１８と、第二バススレーブ２０とを含む。第一バスマスター１４と、第二バスマスター１６と、第一バススレーブ１８と、第二バススレーブ２０はバス１２と電気的に接続される。第一バスマスター１４と、第二バスマスター１６は中央処理装置（ＣＰＵ）またはマイクロコントロールユニット（ＭＣＵ）であり、エントリーの送受信と実行を行う。第一バススレーブ１８と、第二バススレーブ２０は入出力（Ｉ／Ｏ）装置であれば、エントリーの受信と実行を行うのみである。
【０００３】
従来のコンピューターシステムの動作は以下の通りである。第一バスマスター１４（または第二バスマスター１６）がバス１２の許可を得てエントリーをバス１２を通して第一バススレーブ１８（または第二バススレーブ２０）に送信した後、第一バスマスター１４は第一バススレーブ１８がエントリー実行を終了してアクノレッジ信号ＡＣＫと応答信号をバス１２を通して第一バスマスター１４に送信するまで、バス１２を占有して待ち受ける（バスマスター１４がバス１２を占有する状態はバス１２の種類によって異なる）。その後、第一バスマスター１４はスタンバイモードに戻って次のエントリーを処理する。言い換えれば、第一バスマスター１４が第一バススレーブ１８からのアクノレッジ信号及び応答信号を待ち受ける期間において、第一バスマスター１４はエントリーをバス１２を通して第一バススレーブ１８に送信することができず、もしくはコンピューターシステム１０の第一バスマスター１４、第二バスマスター１６はエントリーをバス１２を通して第一バススレーブ１８、第二バススレーブ２０に送信することができないことである。よって、第一バススレーブ１８のエントリー処理速度が遅ければ、コンピューターシステム１０の効率はそれについて低下する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は前述の問題を解決するため、バスの動作速度がバスマスターまたはバススレーブに影響されないようにさせるシステムバスの制御方法及び関連装置を提供することを課題とする。
【課題を解決するための手段】
【０００５】
この発明はコンピューターシステムに適用するシステムバスの制御方法を提供する。当コンピューターシステムは少なくともバスと、バスと電気的に接続されるバスマスターとを含む。当方法は、（ａ）バスよりバスマスターからのエントリーを受信し、（ｂ）エントリーを待ち行列に入れてメモリーに順次保存し、（ｃ）待ち行列に入れられたエントリーによって、バスを通してアクノレッジ信号をバスマスターに順次送信し、（ｄ）アクノレッジ信号を受信するとバスマスターは制御信号を発してバスのチャンネルを開放してから、スタンバイモードに戻り、（ｅ）待ち行列に入れられたエントリーによって実行結果を生じさせ、（ｆ）バスマスターはステップ（ｅ）による実行結果を取り出すなどのステップを含む。
【０００６】
この発明は更にコンピューターシステムに適用するシステムバスコントローラーを提供する。当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含む。当システムバスコントローラーは、バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、バスと電気的に接続され、キューエントリー実行装置による実行結果を出力するためのバスマスターインターフェイスと、バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信するためのキュー管理ユニットとを含む。
【０００７】
この発明は更にコンピューターシステムに適用するシステムバスコントローラーを提供する。当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含む。当システムバスコントローラーは、バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信してバスマスターをスタンバイモードに戻らせるためのキュー管理ユニットと、キュー管理ユニットからキューエントリー実行装置が実行結果を生じさせたことを検知すると、信号を発してバスマスターに実行結果を取り出すように告知するためのデバイスとを含む。
【発明の効果】
【０００８】
この発明によるシステムバスコントローラーは、バスマスターからバスを通して届いてくるエントリーを受信すると、キュー管理ユニットを利用してエントリーをマスターキューに順次保存するとともに、バスチャンネルを解放するという内容があるアクノレッジ信号をバスマスターに送信し、バスマスターをスタンバイモードに戻らせる。エントリーが実行された後、システムバスコントローラーはエントリーの実行結果をバスマスターに能動的に送信し、またはバスマスターに実行結果を取り出すように告知する。こうして処理速度は有効に速められる。
【発明を実施するための最良の形態】
【０００９】
かかる装置及び方法の特徴を詳述するために、具体的な実施例を挙げ、図示を参照にして以下に説明する。
【実施例１】
【００１０】
図２を参照する。図２はこの発明の実施例１によるコンピューターシステム３０のブロック図である。コンピューターシステム３０は、エントリー／データを送信するバス３２と、バスマスター３４と、システムバスコントローラー３６を含む。そのうちバスマスター３４とシステムバスコントローラー３６はいずれもバス３２と電気的に接続される。
【００１１】
コンピューターシステム３０の最適な効能を期するため、バス３２にはポイントツーポイントインターコネクトバスを使用する。言い換えれば、コンピューターシステム３０のバス３２は複数のエントリー／データチャンネルを提供して複数のバスマスター間のエントリー／データ送信を可能にする。バス３２はＩＳＡ、ＥＩＳＡ、ＰＣＩなどの規格である。前述のバス３２に対応するバスマスター３４はＣＰＵであり、システムバスコントローラー３６はＩ／Ｏ装置である。Ｉ／Ｏ装置はバスマスター３４からのエントリーを受信すれば、従来の技術のようにバスマスター３４とバス３２のリソースを占有しながらエントリー処理が終了するまでを待たずに、応答信号を即時に送信できる。
【００１２】
ポイントツーポイントバス３２は、エントリー／データチャンネルを第一バスマスター３４に配分する１個以上の作業管理回路（アービターＡＲとも称する）を含み、その動作は以下の通りである。バスマスター３４は入力されたエントリー／データをシステムバスコントローラー３６に送信する場合、バスマスター３４に対応する要求信号ＲＥＱ＃をバス３２のアービターＡＲにあらかじめ送信しなければならない。アービターＡＲはバスマスター３４からの要求信号ＲＥＱ＃のプライオリティーを判断してから許可信号ＧＮＴ＃を発信し、バスマスター３４とシステムバスコントローラー３６とのトランザクションを許可してエントリー／データチャンネルをバスマスター３４に配分する。よってバスマスター３４はエントリー／データをチャンネルを通してシステムバスコントローラー３６に送信する。
【００１３】
図２によるコンピューターシステム３０において、システムバスコントローラー３６は、バスマスター３４から順次に送信される複数のエントリーを保存するためのマスターキュー４２と、エントリーを実行するためのキューエントリー実行装置４４と、バス３２と電気的に接続されてキューエントリー実行装置４４の実行結果をバス３２に送信するためのバスマスターインターフェイス４６と、バス３２と電気的に接続されてバス３２からのエントリーを受信するためのバススレーブインターフェイス４８と、マスターキュー４２の動作を管理するためのキュー管理ユニット５０とを含む。
【００１４】
前述のバスマスターインターフェイス４６とバススレーブインターフェイス４８を利用して、システムバスコントローラー３６はバスマスターとバススレーブの機能を兼ね備える。よって、この発明によるシステムバスコントローラー３６はその他のバスマスターからバス３２を経由して届いてくるエントリー／データを受信するのみならず、エントリー／データを実行した結果をバスマスター３４に送信することもできる。バスマスター３４からバス３２を経由して送られるエントリー／データは、ソースアドレスと、ターゲットアドレスと、アクセスタイプと、カウントナンバーとその他の情報を含む。
【００１５】
バススレーブインターフェイス４８がバス３２からのエントリー／データを受信すると、キュー管理ユニット５０はエントリー／データが含む複数のパラメーターを順次にマスターキュー４２に送って保存するのみならず、エントリーの受信と同時にアクノレッジ信号ＡＣＫを生じさせてバスマスター３４に送信し、バスマスター３４をスタンバイモードに戻らせる。こうして従来のように、バス３２のチャンネルとバスマスター３４のリソースをエントリー実行が終了するまで占有する必要はなくなる。前述のマスターキュー４２はＳＤＲＡＭにあるバッファーであり、前述のキュー管理ユニット５０は、ＥＥＰＲＯＭ及び／またはメモリーコントローラーインターフェイスに保存されるファームウェアを含む。
【００１６】
エントリー実行装置４４はファームウェア、ＭＣＵまたはダイレクトメモリーアクセス（ＤＭＡ）である。エントリー管理装置４４は、キュー管理ユニット５０を通してマスターキュー４２に保存されるエントリーのパラメーターを呼び出してを実行する。実行終了後、エントリー管理装置４４はキュー管理ユニット５０を通してバスマスターインターフェイス４６とバストランザクションを行い、バスマスター３４に応答する。
【００１７】
図３を参照する。図３はこの発明の実施例１によるシステムバス制御方法を表すフローチャートである（そのうちバスマスター３４はバスのアービターの許可を得てシステムバスコントローラー３６にデータを送信できる状態にある）。当方法は以下の通りである。
【００１８】
ステップ３０２：  開始
（バスマスター３４はエントリー／データをバス３２を通してシステムバスコントローラー３６に送信する）。
【００１９】
ステップ３０４：  システムバスコントローラー３６はバススレーブインターフェイス４８でバス３２を通してバスマスター３４からのエントリー／データを受信する（バスマスター３４からのエントリーはいずれも、ソースアドレスと、ターゲットアドレスと、アクセスタイプとその他の情報など複数のフィールドを含む。例えば、エントリーのソースアドレスフィールドにはバスマスター３４と関連するＩＰが保存され、ターゲットアドレスフィールドにはシステムバスコントローラー３６と関連するＩＰが保存される）。
【００２０】
ステップ３０６：  システムバスコントローラー３６のキュー管理ユニット５０は、マスターキュー４２にはエントリーを保存する余分の空間があるかどうかを判断する。「イエス」であればステップ３０８を実行し、「ノー」であればステップ３０４を実行する（マスターキュー４２にはエントリーを保存する余分な空間がないと判断すれば、キュー管理ユニット５０はマスターキュー４２に余分な空間が生じてから（この部分について詳しくは後述を参照する）、エントリーをバススレーブインターフェイス４２を通してマスターキュー４２に順次保存する。このような不必要な「待ち受け」を防止するため、システムバスコントローラー３６のマスターキュー４２にあるエントリーを保存する空間は、システムバスコントローラー３６の使用状態によって調整する必要がある。言い換えれば、システムバスコントローラー３６のエントリー受信速度が常にキューエントリー実行装置４４の処理速度を超えるとすれば、システムバスコントローラー３６はエントリーを保存するためより多くのキューを有する必要がある）。
【００２１】
ステップ３０８：  システムバスコントローラー３６のキュー管理ユニット５０はエントリーをバススレーブインターフェイス４８からマスターキュー４２にプッシュするとともに、アクノレッジ信号ＡＣＫを発信してエントリー／データチャンネルを解放し、バスマスター３４をスタンバイモードに戻らせる（エントリーをマスターキュー４２にプッシュした後、キュー管理ユニット５０はマスターキュー４２のポインターを更新する。更新は従来の技術に従うものであり、ここでその説明を省略する）。
【００２２】
ステップ３１０：  システムバスコントローラー３６のキューエントリー実行装置４４はマスターキュー４２にプッシュされたエントリーを順次にポップアウトする。エントリーがポップアウトされたら、各フィールドに保存されるデータによってエントリーを実行して結果を生じさせる（エントリーがポップアウトされた後、キュー管理ユニット５０はマスターキュー４２のポインターを更新する）。
【００２３】
ステップ３１２：  システムバスコントローラー３６のキュー管理ユニット５０は、キューエントリー実行装置４４の実行結果をバスマスターインターフェイス４８を通してバスマスター３４に送信し、また実行結果をマスターキュー４２のその他のフィールド（例えばソースアドレスまたはターゲットアドレス）によってバス３２と接続されるその他のバスに送信する。
【００２４】
ステップ３１４：  システムバスコントローラー３６のキュー管理ユニット５０はマスターキュー４２においてキューエントリー実行装置４４に実行されていないエントリーがあるかどうかを判断する。「イエス」であればステップ３１０を実行し、「ノー」であればステップ３１６を実行する。
【００２５】
ステップ３１６：  終了。
【実施例２】
【００２６】
図４を参照する。図４はこの発明の実施例２によるコンピューターシステム６０のブロック図である。コンピューターシステム６０は、バス３２と、バスマスター３４と、システムバスコントローラー３８とを含む。この発明の実施例２によるシステムバスコントローラー３８は実施例１と同じく、マスターキュー６２と、キュー管理ユニット７０と、キューエントリー実行装置６４とを含むが、バスマスターインターフェイスとバススレーブインターフェイスを兼ね備えた実施例１によるシステムバスコントローラー３６と異なって、この発明の実施例２によるシステムバスコントローラー３８はバススレーブインターフェイス６６しか有しない。ゆえに、システムバスコントローラー３８はその他のバスマスターからのエントリーとデータを受信して実行するのみで、実行結果を能動的に応答することができないため、別途にポーリングユニット６８が必要である。
【００２７】
ポーリングユニット６８は、コンピューター初期化のためＲＡＭに読み込まれる検知ソフトウェアまたはＲＯＭに保存されるファームウェアである。例えばバスマスター３４がコンピューターのＣＰＵである場合、ポーリングユニット６８はコンピューター初期化ソフトウェア／ファームウェアの一部であり、コンピューターが立ち上がると読み込まれ、マスターキュー６２の実行結果を保存するアドレスにはフラグ値があるかどうかを確認することによって、キューエントリー実行装置６４がエントリーに対応する実行結果を生じさせたかどうかを確認するためのものである。
【００２８】
図５を参照する。図５はこの発明の実施例２によるシステムバス制御方法６００を表すフローチャートである。
【００２９】
ステップ６０２：  開始（バスマスター３４はエントリー／データをバス３２を通してシステムバスコントローラー３８に送信できる状態にある）。
【００３０】
ステップ６０４：  システムバスコントローラー３８はバススレーブインターフェイス６６でバスマスター３４からのエントリー／データを受信する。
【００３１】
ステップ６０６：  システムバスコントローラー３８のキュー管理ユニット７０は、マスターキュー６２にはエントリーを保存する余分の空間があるかどうかを判断する。「イエス」であればステップ６０８を実行し、「ノー」であればステップ６０４を実行する（マスターキュー６２にはエントリーを保存する余分な空間がないと判断すれば、キュー管理ユニット７０はマスターキュー６２に余分な空間が生じてから、エントリーをバススレーブインターフェイス６６を通してマスターキュー６２に順次保存する。このような不必要な「待ち受け」を防止するため、システムバスコントローラー３８のマスターキュー６２にあるエントリーを保存する空間は、システムバスコントローラー３８の使用状態によって調整する必要がある）。
【００３２】
ステップ６０８：  システムバスコントローラー３８のキュー管理ユニット７０はエントリーをバススレーブインターフェイス６６からマスターキュー６２にプッシュするとともに、アクノレッジ信号ＡＣＫを発信してエントリー／データチャンネルを解放し、バスマスター３４をスタンバイモードに戻らせる（エントリーをマスターキュー６２にプッシュした後、キュー管理ユニット７０はマスターキュー６２のポインターを更新する）。
【００３３】
ステップ６１０：  システムバスコントローラー３８のキューエントリー実行装置６４はマスターキュー６２にプッシュされたエントリーを順次にポップアウトすることによって、エントリーに対応する実行結果を生じさせる（エントリーがポップアウトされた後、キュー管理ユニット７０はマスターキュー６２のポインターを更新する）。
【００３４】
ステップ６１２：  システムバスコントローラー３８のキュー管理ユニット７０は、キューエントリー実行装置６４がエントリーに対応する実行結果を生じさせるとともに、キューエントリー実行装置６４がエントリーに対応する実行結果を生じさせたという状態を表すフラグ値をマスターキュー６２の特定アドレスに設定する（システムバスコントローラー３８はスレーブ装置であるため、キューエントリー実行装置６４の実行結果をバス３２を通してバスマスター３４に能動的に送信することができず、コンピューターシステム６０のマスター装置であるバスマスター３４が実行結果に対して行うポーリングを待つしかない）。
【００３５】
ステップ６１４：  ポーリングユニット６８はシステムバスコントローラー３８のマスターキュー６２にフラグ値があると確認すると、バスマスター３４にバス３２を通して実行結果を取り出すように告知する。
【００３６】
ステップ６１６：  システムバスコントローラー３８のキュー管理ユニット７０はマスターキュー６２においてキューエントリー実行装置６４に実行されていないエントリーがあるかどうかを判断する。「イエス」であればステップ６１０を実行し、「ノー」であればステップ６１８を実行する。
【００３７】
ステップ６１８：  終了。
【実施例３】
【００３８】
図６を参照する。図６はこの発明の実施例３によるコンピューターシステム８１のブロック図である。コンピューターシステム８１は、バス３２と、バスマスター３４と、システムバスコントローラー４０とを含む。この発明の実施例３によるシステムバスコントローラー４０は実施例１と実施例２と同じく、マスターキュー８２と、キュー管理ユニット９０と、キューエントリー実行装置８４とを含むが、バスマスターインターフェイスとバススレーブインターフェイスを兼ね備えた実施例１によるシステムバスコントローラー３６と異なって、この発明の実施例３によるシステムバスコントローラー４０はバススレーブインターフェイス８６しか有しない。ゆえに、システムバスコントローラー４０はその他のバスマスターからのエントリーとデータを受信して実行するのみで、実行結果を能動的に応答することができないため、実施例２のポーリングユニット６８と異なって、別途に割り込みコントローラー８３が必要である。
【００３９】
システムバスコントローラー４０のキューエントリー実行装置８４はエントリーに対応する実行結果を生じさせた後、キュー管理ユニット９０を通して実行結果をマスターキュー８２の特定アドレスに保存すると同時に、レジスターを生じさせて割り込みコントローラー８３と電気的に接続されるピンの電位を変えることによって、割り込みコントローラー８３が割り込み信号をバスマスター３４に送信するようにさせる。よって、バスマスター３４はキューエントリー実行装置８４による実行結果を取り出す。
【００４０】
図７を参照する。図７はこの発明の実施例３によるシステムバス制御方法８００を表すフローチャートである。
【００４１】
ステップ８０２：  開始（バスマスター３４はエントリー／データをバス３２を通してシステムバスコントローラー４０に送信できる状態にある）。
【００４２】
ステップ８０４：  システムバスコントローラー４０はバススレーブインターフェイス８６でバスマスター３４からのエントリー／データを受信する。
【００４３】
ステップ８０６：  システムバスコントローラー４０のキュー管理ユニット９０は、マスターキュー８２にはエントリーを保存する余分の空間があるかどうかを判断する。「イエス」であればステップ８０８を実行し、「ノー」であればステップ８０４を実行する（マスターキュー８２にはエントリーを保存する余分な空間がないと判断すれば、キュー管理ユニット９０はマスターキュー８２に余分な空間が生じてから、エントリーをバススレーブインターフェイス８６を通してマスターキュー８２に順次保存する。このような不必要な「待ち受け」を防止するため、システムバスコントローラー４０のマスターキュー８２にあるエントリーを保存する空間は、システムバスコントローラー４０の使用状態によって調整する必要がある）。
【００４４】
ステップ８０８：  システムバスコントローラー４０のキュー管理ユニット９０はエントリーをバススレーブインターフェイス８６からマスターキュー８２にプッシュするとともに、アクノレッジ信号ＡＣＫを発信してエントリー／データチャンネルを解放し、バスマスター３４をスタンバイモードに戻らせる（エントリーをマスターキュー８２にプッシュした後、キュー管理ユニット９０はマスターキュー８２のポインターを更新する）。
【００４５】
ステップ８１０：  システムバスコントローラー４０のキューエントリー実行装置８４はマスターキュー８２にプッシュされたエントリーを順次にポップアウトし、エントリーの各フィールドに保存されるデータによってエントリーに対応する実行結果を生じさせる（エントリーがポップアウトされた後、キュー管理ユニット９０はマスターキュー８２のポインターを更新する）。
【００４６】
ステップ８１２：  システムバスコントローラー４０のキュー管理ユニット９０は、キューエントリー実行装置８４はエントリーに対応する実行結果を生じさせた後、実行結果をマスターキュー８２の特定アドレスに保存すると同時に、レジスターを生じさせて割り込みコントローラー８３と電気的に接続されるピンの電位を変えることによって、割り込みコントローラー８３が割り込み信号をバスマスター３４に送信するようにさせる（システムバスコントローラー４０はスレーブ装置（バススレーブインターフェイス８６しか有しない）であるため、割り込み信号でコンピューターシステム８１のマスター装置であるバスマスター３４に実行結果を取り出すように告知する）。
【００４７】
ステップ８１４：  バスマスター３４は割り込みコントローラー８３からの割り込み信号を受信すれば、バス３２を通して実行結果を取り出す（割り込みコントローラー８３は割り込み信号によって、バスマスター３４に現在実行中の作業を停止してバス３２を通してキューエントリー実行装置８４による実行結果を取り出すように告知する）。
【００４８】
ステップ８１６：  システムバスコントローラー４０のキュー管理ユニット９０はマスターキュー８２においてキューエントリー実行装置８４に実行されていないエントリーがあるかどうかを判断する。「イエス」であればステップ８１０を実行し、「ノー」であればステップ８１８を実行する。
【００４９】
ステップ８１８：  終了。
【００５０】
以上はこの発明に好ましい実施例であって、この発明の実施の範囲を限定するものではない。よって、当業者のなし得る修正、もしくは変更であって、この発明の精神の下においてなされ、この発明に対して均等の効果を有するものは、いずれもこの発明の特許請求の範囲に属するものとする。
【産業上の利用可能性】
【００５１】
この発明によるシステムバスコントローラーは、バスマスターからバスを通して届いてくるエントリーを受信すると、キュー管理ユニットを利用してエントリーをマスターキューに順次保存するとともに、バスチャンネルを解放するという内容があるアクノレッジ信号をバスマスターに送信し、バスマスターをスタンバイモードに戻らせる。エントリーが実行された後、システムバスコントローラーはエントリーの実行結果をバスマスターに能動的に送信し、またはバスマスターに実行結果を取り出すように告知する。こうして処理速度は有効に速められる。
【図面の簡単な説明】
【００５２】
【図１】従来のコンピューターシステムを表す説明図である。
【図２】この発明の実施例１によるコンピューターシステムのブロック図である。
【図３】この発明の実施例１によるシステムバス制御方法を表すフローチャートである。
【図４】この発明の実施例２によるコンピューターシステムのブロック図である。
【図５】この発明の実施例２によるシステムバス制御方法を表すフローチャートである。
【図６】この発明の実施例３によるコンピューターシステムのブロック図である。
【図７】この発明の実施例３によるシステムバス制御方法を表すフローチャートである。
【符号の説明】
【００５３】
１０、３０、６０、８１        コンピューターシステム
１２                          バス
１４                          第一バスマスター
１６                          第二バスマスター
１８                          第一バススレーブ
２０                          第二バススレーブ
３２                          ポイントツーポイントバス
３６、３８、４０              システムバスコントローラー
４２、６２、８２              マスターキュー
４４、６４、８４              キューエントリー実行装置
４６                          バスマスターインターフェイス
４８、６６、８６              バススレーブインターフェイス
５０、７０、９０              キュー管理ユニット
６８                          ポーリングユニット
８３                          割り込みコントローラー
【図１】
2004334840.tif 000003
【図２】
2004334840.tif 000004
【図３】
2004334840.tif 000005
【図４】
2004334840.tif 000006
【図５】
2004334840.tif 000007
【図６】
2004334840.tif 000008
【図７】
2004334840.tif 000009