JP2004334840A - システムバスの制御方法及び関連装置 - Google Patents

システムバスの制御方法及び関連装置 Download PDF

Info

Publication number
JP2004334840A
JP2004334840A JP2004090101A JP2004090101A JP2004334840A JP 2004334840 A JP2004334840 A JP 2004334840A JP 2004090101 A JP2004090101 A JP 2004090101A JP 2004090101 A JP2004090101 A JP 2004090101A JP 2004334840 A JP2004334840 A JP 2004334840A
Authority
JP
Japan
Prior art keywords
bus
master
queue
entry
execution result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004090101A
Other languages
English (en)
Inventor
Chih Ming Tsai
志 銘 蔡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ICP Electronics Inc
Original Assignee
ICP Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ICP Electronics Inc filed Critical ICP Electronics Inc
Publication of JP2004334840A publication Critical patent/JP2004334840A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】従来の技術による諸問題を解決するため、バスの動作速度を速めるシステムバスの制御方法及び関連装置を提供する。
【解決手段】システムバスの制御方法は、(a)バスよりバスマスターからのエントリーを受信し、(b)エントリーを待ち行列に入れてメモリーに順次保存し、(c)待ち行列に入れられたエントリーによって、バスを通してアクノレッジ信号をバスマスターに順次送信し、(d)アクノレッジ信号を受信するとバスマスターは制御信号を発してバスのチャンネルを開放してから、スタンバイモードに戻り、(e)待ち行列に入れられたエントリーによって実行結果を生じさせ、(f)バスマスターはステップ(e)による実行結果を取り出すなどのステップを含む。
【選択図】図2

Description

この発明はシステムバスの制御方法及び関連装置に関し、特にコンピューターシステムにおけるバストランザクションを効率的に管理するシステムバスの制御方法及び関連装置に関する。
周知の通り、バスはエントリーとデータを伝送するチャンネルであり、コンピューターシステムの各装置にバストランザクションを提供するものである。図1は従来のコンピューターシステム10を表す。コンピューターシステム10は、バス12と、第一バスマスター14と、第二バスマスター16と、第一バススレーブ18と、第二バススレーブ20とを含む。第一バスマスター14と、第二バスマスター16と、第一バススレーブ18と、第二バススレーブ20はバス12と電気的に接続される。第一バスマスター14と、第二バスマスター16は中央処理装置(CPU)またはマイクロコントロールユニット(MCU)であり、エントリーの送受信と実行を行う。第一バススレーブ18と、第二バススレーブ20は入出力(I/O)装置であれば、エントリーの受信と実行を行うのみである。
従来のコンピューターシステムの動作は以下の通りである。第一バスマスター14(または第二バスマスター16)がバス12の許可を得てエントリーをバス12を通して第一バススレーブ18(または第二バススレーブ20)に送信した後、第一バスマスター14は第一バススレーブ18がエントリー実行を終了してアクノレッジ信号ACKと応答信号をバス12を通して第一バスマスター14に送信するまで、バス12を占有して待ち受ける(バスマスター14がバス12を占有する状態はバス12の種類によって異なる)。その後、第一バスマスター14はスタンバイモードに戻って次のエントリーを処理する。言い換えれば、第一バスマスター14が第一バススレーブ18からのアクノレッジ信号及び応答信号を待ち受ける期間において、第一バスマスター14はエントリーをバス12を通して第一バススレーブ18に送信することができず、もしくはコンピューターシステム10の第一バスマスター14、第二バスマスター16はエントリーをバス12を通して第一バススレーブ18、第二バススレーブ20に送信することができないことである。よって、第一バススレーブ18のエントリー処理速度が遅ければ、コンピューターシステム10の効率はそれについて低下する。
この発明は前述の問題を解決するため、バスの動作速度がバスマスターまたはバススレーブに影響されないようにさせるシステムバスの制御方法及び関連装置を提供することを課題とする。
この発明はコンピューターシステムに適用するシステムバスの制御方法を提供する。当コンピューターシステムは少なくともバスと、バスと電気的に接続されるバスマスターとを含む。当方法は、(a)バスよりバスマスターからのエントリーを受信し、(b)エントリーを待ち行列に入れてメモリーに順次保存し、(c)待ち行列に入れられたエントリーによって、バスを通してアクノレッジ信号をバスマスターに順次送信し、(d)アクノレッジ信号を受信するとバスマスターは制御信号を発してバスのチャンネルを開放してから、スタンバイモードに戻り、(e)待ち行列に入れられたエントリーによって実行結果を生じさせ、(f)バスマスターはステップ(e)による実行結果を取り出すなどのステップを含む。
この発明は更にコンピューターシステムに適用するシステムバスコントローラーを提供する。当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含む。当システムバスコントローラーは、バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、バスと電気的に接続され、キューエントリー実行装置による実行結果を出力するためのバスマスターインターフェイスと、バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信するためのキュー管理ユニットとを含む。
この発明は更にコンピューターシステムに適用するシステムバスコントローラーを提供する。当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含む。当システムバスコントローラーは、バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信してバスマスターをスタンバイモードに戻らせるためのキュー管理ユニットと、キュー管理ユニットからキューエントリー実行装置が実行結果を生じさせたことを検知すると、信号を発してバスマスターに実行結果を取り出すように告知するためのデバイスとを含む。
この発明によるシステムバスコントローラーは、バスマスターからバスを通して届いてくるエントリーを受信すると、キュー管理ユニットを利用してエントリーをマスターキューに順次保存するとともに、バスチャンネルを解放するという内容があるアクノレッジ信号をバスマスターに送信し、バスマスターをスタンバイモードに戻らせる。エントリーが実行された後、システムバスコントローラーはエントリーの実行結果をバスマスターに能動的に送信し、またはバスマスターに実行結果を取り出すように告知する。こうして処理速度は有効に速められる。
かかる装置及び方法の特徴を詳述するために、具体的な実施例を挙げ、図示を参照にして以下に説明する。
図2を参照する。図2はこの発明の実施例1によるコンピューターシステム30のブロック図である。コンピューターシステム30は、エントリー/データを送信するバス32と、バスマスター34と、システムバスコントローラー36を含む。そのうちバスマスター34とシステムバスコントローラー36はいずれもバス32と電気的に接続される。
コンピューターシステム30の最適な効能を期するため、バス32にはポイントツーポイントインターコネクトバスを使用する。言い換えれば、コンピューターシステム30のバス32は複数のエントリー/データチャンネルを提供して複数のバスマスター間のエントリー/データ送信を可能にする。バス32はISA、EISA、PCIなどの規格である。前述のバス32に対応するバスマスター34はCPUであり、システムバスコントローラー36はI/O装置である。I/O装置はバスマスター34からのエントリーを受信すれば、従来の技術のようにバスマスター34とバス32のリソースを占有しながらエントリー処理が終了するまでを待たずに、応答信号を即時に送信できる。
ポイントツーポイントバス32は、エントリー/データチャンネルを第一バスマスター34に配分する1個以上の作業管理回路(アービターARとも称する)を含み、その動作は以下の通りである。バスマスター34は入力されたエントリー/データをシステムバスコントローラー36に送信する場合、バスマスター34に対応する要求信号REQ#をバス32のアービターARにあらかじめ送信しなければならない。アービターARはバスマスター34からの要求信号REQ#のプライオリティーを判断してから許可信号GNT#を発信し、バスマスター34とシステムバスコントローラー36とのトランザクションを許可してエントリー/データチャンネルをバスマスター34に配分する。よってバスマスター34はエントリー/データをチャンネルを通してシステムバスコントローラー36に送信する。
図2によるコンピューターシステム30において、システムバスコントローラー36は、バスマスター34から順次に送信される複数のエントリーを保存するためのマスターキュー42と、エントリーを実行するためのキューエントリー実行装置44と、バス32と電気的に接続されてキューエントリー実行装置44の実行結果をバス32に送信するためのバスマスターインターフェイス46と、バス32と電気的に接続されてバス32からのエントリーを受信するためのバススレーブインターフェイス48と、マスターキュー42の動作を管理するためのキュー管理ユニット50とを含む。
前述のバスマスターインターフェイス46とバススレーブインターフェイス48を利用して、システムバスコントローラー36はバスマスターとバススレーブの機能を兼ね備える。よって、この発明によるシステムバスコントローラー36はその他のバスマスターからバス32を経由して届いてくるエントリー/データを受信するのみならず、エントリー/データを実行した結果をバスマスター34に送信することもできる。バスマスター34からバス32を経由して送られるエントリー/データは、ソースアドレスと、ターゲットアドレスと、アクセスタイプと、カウントナンバーとその他の情報を含む。
バススレーブインターフェイス48がバス32からのエントリー/データを受信すると、キュー管理ユニット50はエントリー/データが含む複数のパラメーターを順次にマスターキュー42に送って保存するのみならず、エントリーの受信と同時にアクノレッジ信号ACKを生じさせてバスマスター34に送信し、バスマスター34をスタンバイモードに戻らせる。こうして従来のように、バス32のチャンネルとバスマスター34のリソースをエントリー実行が終了するまで占有する必要はなくなる。前述のマスターキュー42はSDRAMにあるバッファーであり、前述のキュー管理ユニット50は、EEPROM及び/またはメモリーコントローラーインターフェイスに保存されるファームウェアを含む。
エントリー実行装置44はファームウェア、MCUまたはダイレクトメモリーアクセス(DMA)である。エントリー管理装置44は、キュー管理ユニット50を通してマスターキュー42に保存されるエントリーのパラメーターを呼び出してを実行する。実行終了後、エントリー管理装置44はキュー管理ユニット50を通してバスマスターインターフェイス46とバストランザクションを行い、バスマスター34に応答する。
図3を参照する。図3はこの発明の実施例1によるシステムバス制御方法を表すフローチャートである(そのうちバスマスター34はバスのアービターの許可を得てシステムバスコントローラー36にデータを送信できる状態にある)。当方法は以下の通りである。
ステップ302: 開始
(バスマスター34はエントリー/データをバス32を通してシステムバスコントローラー36に送信する)。
ステップ304: システムバスコントローラー36はバススレーブインターフェイス48でバス32を通してバスマスター34からのエントリー/データを受信する(バスマスター34からのエントリーはいずれも、ソースアドレスと、ターゲットアドレスと、アクセスタイプとその他の情報など複数のフィールドを含む。例えば、エントリーのソースアドレスフィールドにはバスマスター34と関連するIPが保存され、ターゲットアドレスフィールドにはシステムバスコントローラー36と関連するIPが保存される)。
ステップ306: システムバスコントローラー36のキュー管理ユニット50は、マスターキュー42にはエントリーを保存する余分の空間があるかどうかを判断する。「イエス」であればステップ308を実行し、「ノー」であればステップ304を実行する(マスターキュー42にはエントリーを保存する余分な空間がないと判断すれば、キュー管理ユニット50はマスターキュー42に余分な空間が生じてから(この部分について詳しくは後述を参照する)、エントリーをバススレーブインターフェイス42を通してマスターキュー42に順次保存する。このような不必要な「待ち受け」を防止するため、システムバスコントローラー36のマスターキュー42にあるエントリーを保存する空間は、システムバスコントローラー36の使用状態によって調整する必要がある。言い換えれば、システムバスコントローラー36のエントリー受信速度が常にキューエントリー実行装置44の処理速度を超えるとすれば、システムバスコントローラー36はエントリーを保存するためより多くのキューを有する必要がある)。
ステップ308: システムバスコントローラー36のキュー管理ユニット50はエントリーをバススレーブインターフェイス48からマスターキュー42にプッシュするとともに、アクノレッジ信号ACKを発信してエントリー/データチャンネルを解放し、バスマスター34をスタンバイモードに戻らせる(エントリーをマスターキュー42にプッシュした後、キュー管理ユニット50はマスターキュー42のポインターを更新する。更新は従来の技術に従うものであり、ここでその説明を省略する)。
ステップ310: システムバスコントローラー36のキューエントリー実行装置44はマスターキュー42にプッシュされたエントリーを順次にポップアウトする。エントリーがポップアウトされたら、各フィールドに保存されるデータによってエントリーを実行して結果を生じさせる(エントリーがポップアウトされた後、キュー管理ユニット50はマスターキュー42のポインターを更新する)。
ステップ312: システムバスコントローラー36のキュー管理ユニット50は、キューエントリー実行装置44の実行結果をバスマスターインターフェイス48を通してバスマスター34に送信し、また実行結果をマスターキュー42のその他のフィールド(例えばソースアドレスまたはターゲットアドレス)によってバス32と接続されるその他のバスに送信する。
ステップ314: システムバスコントローラー36のキュー管理ユニット50はマスターキュー42においてキューエントリー実行装置44に実行されていないエントリーがあるかどうかを判断する。「イエス」であればステップ310を実行し、「ノー」であればステップ316を実行する。
ステップ316: 終了。
図4を参照する。図4はこの発明の実施例2によるコンピューターシステム60のブロック図である。コンピューターシステム60は、バス32と、バスマスター34と、システムバスコントローラー38とを含む。この発明の実施例2によるシステムバスコントローラー38は実施例1と同じく、マスターキュー62と、キュー管理ユニット70と、キューエントリー実行装置64とを含むが、バスマスターインターフェイスとバススレーブインターフェイスを兼ね備えた実施例1によるシステムバスコントローラー36と異なって、この発明の実施例2によるシステムバスコントローラー38はバススレーブインターフェイス66しか有しない。ゆえに、システムバスコントローラー38はその他のバスマスターからのエントリーとデータを受信して実行するのみで、実行結果を能動的に応答することができないため、別途にポーリングユニット68が必要である。
ポーリングユニット68は、コンピューター初期化のためRAMに読み込まれる検知ソフトウェアまたはROMに保存されるファームウェアである。例えばバスマスター34がコンピューターのCPUである場合、ポーリングユニット68はコンピューター初期化ソフトウェア/ファームウェアの一部であり、コンピューターが立ち上がると読み込まれ、マスターキュー62の実行結果を保存するアドレスにはフラグ値があるかどうかを確認することによって、キューエントリー実行装置64がエントリーに対応する実行結果を生じさせたかどうかを確認するためのものである。
図5を参照する。図5はこの発明の実施例2によるシステムバス制御方法600を表すフローチャートである。
ステップ602: 開始(バスマスター34はエントリー/データをバス32を通してシステムバスコントローラー38に送信できる状態にある)。
ステップ604: システムバスコントローラー38はバススレーブインターフェイス66でバスマスター34からのエントリー/データを受信する。
ステップ606: システムバスコントローラー38のキュー管理ユニット70は、マスターキュー62にはエントリーを保存する余分の空間があるかどうかを判断する。「イエス」であればステップ608を実行し、「ノー」であればステップ604を実行する(マスターキュー62にはエントリーを保存する余分な空間がないと判断すれば、キュー管理ユニット70はマスターキュー62に余分な空間が生じてから、エントリーをバススレーブインターフェイス66を通してマスターキュー62に順次保存する。このような不必要な「待ち受け」を防止するため、システムバスコントローラー38のマスターキュー62にあるエントリーを保存する空間は、システムバスコントローラー38の使用状態によって調整する必要がある)。
ステップ608: システムバスコントローラー38のキュー管理ユニット70はエントリーをバススレーブインターフェイス66からマスターキュー62にプッシュするとともに、アクノレッジ信号ACKを発信してエントリー/データチャンネルを解放し、バスマスター34をスタンバイモードに戻らせる(エントリーをマスターキュー62にプッシュした後、キュー管理ユニット70はマスターキュー62のポインターを更新する)。
ステップ610: システムバスコントローラー38のキューエントリー実行装置64はマスターキュー62にプッシュされたエントリーを順次にポップアウトすることによって、エントリーに対応する実行結果を生じさせる(エントリーがポップアウトされた後、キュー管理ユニット70はマスターキュー62のポインターを更新する)。
ステップ612: システムバスコントローラー38のキュー管理ユニット70は、キューエントリー実行装置64がエントリーに対応する実行結果を生じさせるとともに、キューエントリー実行装置64がエントリーに対応する実行結果を生じさせたという状態を表すフラグ値をマスターキュー62の特定アドレスに設定する(システムバスコントローラー38はスレーブ装置であるため、キューエントリー実行装置64の実行結果をバス32を通してバスマスター34に能動的に送信することができず、コンピューターシステム60のマスター装置であるバスマスター34が実行結果に対して行うポーリングを待つしかない)。
ステップ614: ポーリングユニット68はシステムバスコントローラー38のマスターキュー62にフラグ値があると確認すると、バスマスター34にバス32を通して実行結果を取り出すように告知する。
ステップ616: システムバスコントローラー38のキュー管理ユニット70はマスターキュー62においてキューエントリー実行装置64に実行されていないエントリーがあるかどうかを判断する。「イエス」であればステップ610を実行し、「ノー」であればステップ618を実行する。
ステップ618: 終了。
図6を参照する。図6はこの発明の実施例3によるコンピューターシステム81のブロック図である。コンピューターシステム81は、バス32と、バスマスター34と、システムバスコントローラー40とを含む。この発明の実施例3によるシステムバスコントローラー40は実施例1と実施例2と同じく、マスターキュー82と、キュー管理ユニット90と、キューエントリー実行装置84とを含むが、バスマスターインターフェイスとバススレーブインターフェイスを兼ね備えた実施例1によるシステムバスコントローラー36と異なって、この発明の実施例3によるシステムバスコントローラー40はバススレーブインターフェイス86しか有しない。ゆえに、システムバスコントローラー40はその他のバスマスターからのエントリーとデータを受信して実行するのみで、実行結果を能動的に応答することができないため、実施例2のポーリングユニット68と異なって、別途に割り込みコントローラー83が必要である。
システムバスコントローラー40のキューエントリー実行装置84はエントリーに対応する実行結果を生じさせた後、キュー管理ユニット90を通して実行結果をマスターキュー82の特定アドレスに保存すると同時に、レジスターを生じさせて割り込みコントローラー83と電気的に接続されるピンの電位を変えることによって、割り込みコントローラー83が割り込み信号をバスマスター34に送信するようにさせる。よって、バスマスター34はキューエントリー実行装置84による実行結果を取り出す。
図7を参照する。図7はこの発明の実施例3によるシステムバス制御方法800を表すフローチャートである。
ステップ802: 開始(バスマスター34はエントリー/データをバス32を通してシステムバスコントローラー40に送信できる状態にある)。
ステップ804: システムバスコントローラー40はバススレーブインターフェイス86でバスマスター34からのエントリー/データを受信する。
ステップ806: システムバスコントローラー40のキュー管理ユニット90は、マスターキュー82にはエントリーを保存する余分の空間があるかどうかを判断する。「イエス」であればステップ808を実行し、「ノー」であればステップ804を実行する(マスターキュー82にはエントリーを保存する余分な空間がないと判断すれば、キュー管理ユニット90はマスターキュー82に余分な空間が生じてから、エントリーをバススレーブインターフェイス86を通してマスターキュー82に順次保存する。このような不必要な「待ち受け」を防止するため、システムバスコントローラー40のマスターキュー82にあるエントリーを保存する空間は、システムバスコントローラー40の使用状態によって調整する必要がある)。
ステップ808: システムバスコントローラー40のキュー管理ユニット90はエントリーをバススレーブインターフェイス86からマスターキュー82にプッシュするとともに、アクノレッジ信号ACKを発信してエントリー/データチャンネルを解放し、バスマスター34をスタンバイモードに戻らせる(エントリーをマスターキュー82にプッシュした後、キュー管理ユニット90はマスターキュー82のポインターを更新する)。
ステップ810: システムバスコントローラー40のキューエントリー実行装置84はマスターキュー82にプッシュされたエントリーを順次にポップアウトし、エントリーの各フィールドに保存されるデータによってエントリーに対応する実行結果を生じさせる(エントリーがポップアウトされた後、キュー管理ユニット90はマスターキュー82のポインターを更新する)。
ステップ812: システムバスコントローラー40のキュー管理ユニット90は、キューエントリー実行装置84はエントリーに対応する実行結果を生じさせた後、実行結果をマスターキュー82の特定アドレスに保存すると同時に、レジスターを生じさせて割り込みコントローラー83と電気的に接続されるピンの電位を変えることによって、割り込みコントローラー83が割り込み信号をバスマスター34に送信するようにさせる(システムバスコントローラー40はスレーブ装置(バススレーブインターフェイス86しか有しない)であるため、割り込み信号でコンピューターシステム81のマスター装置であるバスマスター34に実行結果を取り出すように告知する)。
ステップ814: バスマスター34は割り込みコントローラー83からの割り込み信号を受信すれば、バス32を通して実行結果を取り出す(割り込みコントローラー83は割り込み信号によって、バスマスター34に現在実行中の作業を停止してバス32を通してキューエントリー実行装置84による実行結果を取り出すように告知する)。
ステップ816: システムバスコントローラー40のキュー管理ユニット90はマスターキュー82においてキューエントリー実行装置84に実行されていないエントリーがあるかどうかを判断する。「イエス」であればステップ810を実行し、「ノー」であればステップ818を実行する。
ステップ818: 終了。
以上はこの発明に好ましい実施例であって、この発明の実施の範囲を限定するものではない。よって、当業者のなし得る修正、もしくは変更であって、この発明の精神の下においてなされ、この発明に対して均等の効果を有するものは、いずれもこの発明の特許請求の範囲に属するものとする。
この発明によるシステムバスコントローラーは、バスマスターからバスを通して届いてくるエントリーを受信すると、キュー管理ユニットを利用してエントリーをマスターキューに順次保存するとともに、バスチャンネルを解放するという内容があるアクノレッジ信号をバスマスターに送信し、バスマスターをスタンバイモードに戻らせる。エントリーが実行された後、システムバスコントローラーはエントリーの実行結果をバスマスターに能動的に送信し、またはバスマスターに実行結果を取り出すように告知する。こうして処理速度は有効に速められる。
従来のコンピューターシステムを表す説明図である。 この発明の実施例1によるコンピューターシステムのブロック図である。 この発明の実施例1によるシステムバス制御方法を表すフローチャートである。 この発明の実施例2によるコンピューターシステムのブロック図である。 この発明の実施例2によるシステムバス制御方法を表すフローチャートである。 この発明の実施例3によるコンピューターシステムのブロック図である。 この発明の実施例3によるシステムバス制御方法を表すフローチャートである。
符号の説明
10、30、60、81 コンピューターシステム
12 バス
14 第一バスマスター
16 第二バスマスター
18 第一バススレーブ
20 第二バススレーブ
32 ポイントツーポイントバス
36、38、40 システムバスコントローラー
42、62、82 マスターキュー
44、64、84 キューエントリー実行装置
46 バスマスターインターフェイス
48、66、86 バススレーブインターフェイス
50、70、90 キュー管理ユニット
68 ポーリングユニット
83 割り込みコントローラー

Claims (15)

  1. コンピューターシステムに適用するシステムバスの制御方法であって、当コンピューターシステムは少なくともバスと、バスと電気的に接続されるバスマスターとを含み、当方法は、
    (a)バスよりバスマスターからのエントリーを受信し、
    (b)エントリーを待ち行列に入れてメモリーに順次保存し、
    (c)待ち行列に入れられたエントリーによって、バスを通してアクノレッジ信号をバスマスターに順次送信し、
    (d)アクノレッジ信号を受信するとバスマスターは制御信号を発してバスのチャンネルを開放してから、スタンバイモードに戻り、
    (e)待ち行列に入れられたエントリーによって実行結果を生じさせ、
    (f)バスマスターはステップ
    (e)による実行結果を取り出すなどのステップを含むことを特徴とするシステムバスの制御方法。
  2. 前記コンピューターシステムはシステムバスコントローラーを含むことを特徴とする請求項1記載のシステムバスの制御方法。
  3. 前記システムバスコントローラーは、
    バスと電気的に接続され、バスマスターからのエントリーを受信するステップ(a)を実行するためのバススレーブインターフェイスと、
    ステップ(b)による待ち行列入れと保存を実行するためのマスターキューと、
    ステップ(e)による待ち行列に入れられたエントリーを実行して実行結果を生じさせるためのキューエントリー実行装置と、
    マスターキューにある待ち行列を管理してステップ(c)によるアクノレッジ信号の発送を実行するためのキュー管理ユニットとを含むことを特徴とする請求項2記載のシステムバスの制御方法。
  4. 前記システムバスコントローラーは更に、バスと電気的に接続され、ステップ(e)による実行結果をバスマスターに能動的に出力するバスマスターインターフェイスを含むことを特徴とする請求項3記載のシステムバスの制御方法。
  5. 前記エントリーに対応する実行結果はマスターキューの特定アドレスに保存されることを特徴とする請求項3記載のシステムバスの制御方法。
  6. 前記システムバスコントローラーは更に、
    マスターキューにエントリーに対応する実行結果があるかどうかを確認し、バスマスターに実行結果を取り出すように告知するためのポーリングユニットを含むことを特徴とする請求項5記載のシステムバスの制御方法。
  7. 前記システムバスコントローラーは更に、
    キュー管理ユニットと電気的に接続され、キュー管理ユニットがエントリーに対応する実行結果をマスターキューに保存すると触発され、バスマスターがバススレーブインターフェイスに出力された実行結果を取り出すようにさせるための割り込みコントローラーを含むことを特徴とする請求項5記載のシステムバスの制御方法。
  8. 前記ステップ(f)は更に、
    エントリーに対応する実行結果があるかどうかをポーリングし、バスマスターに実行結果を取り出すように告知するステップを含むことを特徴とする請求項1記載のシステムバスの制御方法。
  9. 前記ステップ(f)は更に、
    エントリーに対応する実行結果を生じさせた後、割り込み制御信号をバスマスターに送信し、バスマスターに実行結果を取り出すようにさせるステップを含むことを特徴とする請求項1記載のシステムバスの制御方法。
  10. コンピューターシステムに適用するシステムバスコントローラーにおいて、当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含み、当システムバスコントローラーは、
    バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、
    バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、
    マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、
    バスと電気的に接続され、キューエントリー実行装置による実行結果を出力するためのバスマスターインターフェイスと、
    バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信するためのキュー管理ユニットとを含むことを特徴とするシステムバスコントローラー。
  11. 前記マスターキューはDRAMにあることを特徴とする請求項10記載のシステムバスコントローラー。
  12. コンピューターシステムに適用するシステムバスコントローラーにおいて、当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含み、当システムバスコントローラーは、
    バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、
    バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、
    マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、
    バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信してバスマスターをスタンバイモードに戻らせるためのキュー管理ユニットと、
    キュー管理ユニットからキューエントリー実行装置が実行結果を生じさせたことを検知すると、信号を発してバスマスターに実行結果を取り出すように告知するためのデバイスとを含むことを特徴とするシステムバスコントローラー。
  13. 前記マスターキューはDRAMにあることを特徴とする請求項12記載のシステムバスコントローラー。
  14. 前記バスマスターに実行結果を取り出すように告知する装置はポーリングユニットであり、ポーリングユニットはキュー管理ユニットを通して実行結果があるかどうかを確認することを特徴とする請求項12記載のシステムバスコントローラー。
  15. 前記バスマスターに実行結果を取り出すように告知する装置は割り込みコントローラーであり、キュー管理ユニットは実行結果が生じたことを検知すると割り込みコントローラーを触発して、バスマスターに実行結果を取り出すように告知することを特徴とする請求項12記載のシステムバスコントローラー。
JP2004090101A 2003-05-09 2004-03-25 システムバスの制御方法及び関連装置 Pending JP2004334840A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW092112749A TWI282057B (en) 2003-05-09 2003-05-09 System bus controller and the method thereof

Publications (1)

Publication Number Publication Date
JP2004334840A true JP2004334840A (ja) 2004-11-25

Family

ID=33414997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004090101A Pending JP2004334840A (ja) 2003-05-09 2004-03-25 システムバスの制御方法及び関連装置

Country Status (3)

Country Link
US (1) US7076585B2 (ja)
JP (1) JP2004334840A (ja)
TW (1) TWI282057B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079394A (ja) * 2004-09-10 2006-03-23 Renesas Technology Corp データ処理装置
US7366811B2 (en) * 2004-12-23 2008-04-29 International Business Machines Corporation Bus arbitration system
TWI308696B (en) 2005-10-07 2009-04-11 Via Tech Inc Initializing method bus device
US20160062930A1 (en) * 2013-03-25 2016-03-03 Mitsubishi Electric Corporation Bus master, bus system, and bus control method
JP7493311B2 (ja) * 2019-06-19 2024-05-31 キヤノン株式会社 バスシステムおよびその制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4047158A (en) * 1974-12-13 1977-09-06 Pertec Corporation Peripheral processing system
US4015243A (en) * 1975-06-02 1977-03-29 Kurpanek Horst G Multi-processing computer system
US4868735A (en) * 1984-05-08 1989-09-19 Advanced Micro Devices, Inc. Interruptible structured microprogrammed sixteen-bit address sequence controller
JPS63216170A (ja) * 1987-03-05 1988-09-08 Mitsubishi Electric Corp デイジタル信号処理プロセツサ
AU703750B2 (en) * 1994-10-14 1999-04-01 Compaq Computer Corporation Easily programmable memory controller which can access different speed memory devices on different cycles
GB9626367D0 (en) * 1996-12-19 1997-02-05 Sgs Thomson Microelectronics Providing an instruction trace

Also Published As

Publication number Publication date
US7076585B2 (en) 2006-07-11
TWI282057B (en) 2007-06-01
TW200424858A (en) 2004-11-16
US20040225767A1 (en) 2004-11-11

Similar Documents

Publication Publication Date Title
JP5047249B2 (ja) 割り込みポストトランザクションに対する保留メカニズム
US6496890B1 (en) Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
US7257658B2 (en) Message based interrupt table
WO2018120780A1 (zh) PCIe中断方法和***
US11843550B2 (en) Packet processing with reduced latency
JPH11175455A (ja) コンピュータ・システムにおける通信方法及び装置
US20080059683A1 (en) Method and Apparatus for Conditional Broadcast of Barrier Operations
US20140344492A1 (en) Methods and systems for reducing spurious interrupts in a data storage system
WO2003012674A2 (en) Method and apparatus for transmitting packets within a symmetric multiprocessor system
US20130019032A1 (en) Apparatus and method for generating interrupt signal that supports multi-processor
KR20020009823A (ko) 버스 시스템 및 그 버스 중재방법
JP2004334552A (ja) バス接続回路及びバス接続システム
EP2904765A1 (en) Method and apparatus using high-efficiency atomic operations
US7543093B2 (en) Method and system for stream burst data transfer
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
US8943238B2 (en) Operations using direct memory access
CN111488303B (zh) 接口转接电路
TWI502361B (zh) 加速信息發信中斷處理的處理器、方法及系統
US7181559B2 (en) Message based transport mechanism for level sensitive interrupts
JP2004334840A (ja) システムバスの制御方法及び関連装置
JP2007122410A (ja) バス調停回路及びバス調停方法
JP2004078683A (ja) コンピュータシステムおよび共有メモリ制御方法
US20080189719A1 (en) Operation processor apparatus
US9411758B2 (en) Semiconductor device
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070403