JP2004334840A - システムバスの制御方法及び関連装置 - Google Patents
システムバスの制御方法及び関連装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000001960 triggered effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling 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
【解決手段】システムバスの制御方法は、(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に送信する)。
(バスマスター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: 終了。
以上はこの発明に好ましい実施例であって、この発明の実施の範囲を限定するものではない。よって、当業者のなし得る修正、もしくは変更であって、この発明の精神の下においてなされ、この発明に対して均等の効果を有するものは、いずれもこの発明の特許請求の範囲に属するものとする。
この発明によるシステムバスコントローラーは、バスマスターからバスを通して届いてくるエントリーを受信すると、キュー管理ユニットを利用してエントリーをマスターキューに順次保存するとともに、バスチャンネルを解放するという内容があるアクノレッジ信号をバスマスターに送信し、バスマスターをスタンバイモードに戻らせる。エントリーが実行された後、システムバスコントローラーはエントリーの実行結果をバスマスターに能動的に送信し、またはバスマスターに実行結果を取り出すように告知する。こうして処理速度は有効に速められる。
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 割り込みコントローラー
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)
- コンピューターシステムに適用するシステムバスの制御方法であって、当コンピューターシステムは少なくともバスと、バスと電気的に接続されるバスマスターとを含み、当方法は、
(a)バスよりバスマスターからのエントリーを受信し、
(b)エントリーを待ち行列に入れてメモリーに順次保存し、
(c)待ち行列に入れられたエントリーによって、バスを通してアクノレッジ信号をバスマスターに順次送信し、
(d)アクノレッジ信号を受信するとバスマスターは制御信号を発してバスのチャンネルを開放してから、スタンバイモードに戻り、
(e)待ち行列に入れられたエントリーによって実行結果を生じさせ、
(f)バスマスターはステップ
(e)による実行結果を取り出すなどのステップを含むことを特徴とするシステムバスの制御方法。 - 前記コンピューターシステムはシステムバスコントローラーを含むことを特徴とする請求項1記載のシステムバスの制御方法。
- 前記システムバスコントローラーは、
バスと電気的に接続され、バスマスターからのエントリーを受信するステップ(a)を実行するためのバススレーブインターフェイスと、
ステップ(b)による待ち行列入れと保存を実行するためのマスターキューと、
ステップ(e)による待ち行列に入れられたエントリーを実行して実行結果を生じさせるためのキューエントリー実行装置と、
マスターキューにある待ち行列を管理してステップ(c)によるアクノレッジ信号の発送を実行するためのキュー管理ユニットとを含むことを特徴とする請求項2記載のシステムバスの制御方法。 - 前記システムバスコントローラーは更に、バスと電気的に接続され、ステップ(e)による実行結果をバスマスターに能動的に出力するバスマスターインターフェイスを含むことを特徴とする請求項3記載のシステムバスの制御方法。
- 前記エントリーに対応する実行結果はマスターキューの特定アドレスに保存されることを特徴とする請求項3記載のシステムバスの制御方法。
- 前記システムバスコントローラーは更に、
マスターキューにエントリーに対応する実行結果があるかどうかを確認し、バスマスターに実行結果を取り出すように告知するためのポーリングユニットを含むことを特徴とする請求項5記載のシステムバスの制御方法。 - 前記システムバスコントローラーは更に、
キュー管理ユニットと電気的に接続され、キュー管理ユニットがエントリーに対応する実行結果をマスターキューに保存すると触発され、バスマスターがバススレーブインターフェイスに出力された実行結果を取り出すようにさせるための割り込みコントローラーを含むことを特徴とする請求項5記載のシステムバスの制御方法。 - 前記ステップ(f)は更に、
エントリーに対応する実行結果があるかどうかをポーリングし、バスマスターに実行結果を取り出すように告知するステップを含むことを特徴とする請求項1記載のシステムバスの制御方法。 - 前記ステップ(f)は更に、
エントリーに対応する実行結果を生じさせた後、割り込み制御信号をバスマスターに送信し、バスマスターに実行結果を取り出すようにさせるステップを含むことを特徴とする請求項1記載のシステムバスの制御方法。 - コンピューターシステムに適用するシステムバスコントローラーにおいて、当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含み、当システムバスコントローラーは、
バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、
バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、
マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、
バスと電気的に接続され、キューエントリー実行装置による実行結果を出力するためのバスマスターインターフェイスと、
バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信するためのキュー管理ユニットとを含むことを特徴とするシステムバスコントローラー。 - 前記マスターキューはDRAMにあることを特徴とする請求項10記載のシステムバスコントローラー。
- コンピューターシステムに適用するシステムバスコントローラーにおいて、当コンピューターシステムはバスと、バスと電気的に接続されるバスマスターとを含み、当システムバスコントローラーは、
バスと電気的に接続され、バスマスターからバスを通して送信されるエントリーを受信するためのバススレーブインターフェイスと、
バススレーブインターフェイスから受信されたエントリーを保存するためのマスターキューと、
マスターキューに保存されるエントリーを実行して対応する実行結果を生じさせるためのキューエントリー実行装置と、
バスマスターインターフェイスと、バススレーブインターフェイスと、キューエントリー実行装置と、マスターキューと電気的に接続され、マスターキューにある待ち行列を管理して、受信したエントリーによってアクノレッジ信号をバスマスターに送信してバスマスターをスタンバイモードに戻らせるためのキュー管理ユニットと、
キュー管理ユニットからキューエントリー実行装置が実行結果を生じさせたことを検知すると、信号を発してバスマスターに実行結果を取り出すように告知するためのデバイスとを含むことを特徴とするシステムバスコントローラー。 - 前記マスターキューはDRAMにあることを特徴とする請求項12記載のシステムバスコントローラー。
- 前記バスマスターに実行結果を取り出すように告知する装置はポーリングユニットであり、ポーリングユニットはキュー管理ユニットを通して実行結果があるかどうかを確認することを特徴とする請求項12記載のシステムバスコントローラー。
- 前記バスマスターに実行結果を取り出すように告知する装置は割り込みコントローラーであり、キュー管理ユニットは実行結果が生じたことを検知すると割り込みコントローラーを触発して、バスマスターに実行結果を取り出すように告知することを特徴とする請求項12記載のシステムバスコントローラー。
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)
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 |
DE112014001621T5 (de) * | 2013-03-25 | 2015-12-24 | Mitsubishi Electric Corporation | Bus-Master, Bussystem und Bussteuerungsverfahren |
JP7493311B2 (ja) * | 2019-06-19 | 2024-05-31 | キヤノン株式会社 | バスシステムおよびその制御方法 |
Family Cites Families (6)
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 |
-
2003
- 2003-05-09 TW TW092112749A patent/TWI282057B/zh not_active IP Right Cessation
-
2004
- 2004-02-20 US US10/708,274 patent/US7076585B2/en not_active Expired - Fee Related
- 2004-03-25 JP JP2004090101A patent/JP2004334840A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
TW200424858A (en) | 2004-11-16 |
TWI282057B (en) | 2007-06-01 |
US7076585B2 (en) | 2006-07-11 |
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 | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
US6397279B1 (en) | Smart retry system that reduces wasted bus transactions associated with master retries | |
US20080059683A1 (en) | Method and Apparatus for Conditional Broadcast of Barrier Operations | |
JPH10293744A (ja) | Pciバス・システム | |
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) | バス調停回路及びバス調停方法 | |
US8719499B2 (en) | Cache-line based notification | |
US20080189719A1 (en) | Operation processor apparatus | |
US9411758B2 (en) | Semiconductor device | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP2002024007A (ja) | プロセッサシステム | |
JP4603054B2 (ja) | スケーラブルバス構造 | |
JP3266184B2 (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 |