JP2003527652A - ロックの開始と終了を要求するためのバスコマンドコードポイントの使用の最小化 - Google Patents
ロックの開始と終了を要求するためのバスコマンドコードポイントの使用の最小化Info
- Publication number
- JP2003527652A JP2003527652A JP2001505301A JP2001505301A JP2003527652A JP 2003527652 A JP2003527652 A JP 2003527652A JP 2001505301 A JP2001505301 A JP 2001505301A JP 2001505301 A JP2001505301 A JP 2001505301A JP 2003527652 A JP2003527652 A JP 2003527652A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- processor
- command
- bridge
- processors
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
終了のいずれかを要求するためのロックトグルコマンドに関する。
スに、並行にアクセスしてもよい多数のプロセッサを含むコンピュータシステム
では、メモリへのアトミックアクセスが他のシステムデバイスによって割り込ま
れないことを保証するあるメカニズムが必要とされる。たとえば、メモリに基づ
く変数の場合などでは、第1のシステムデバイスが、メモリ内のある場所から読
出し、その同じメモリ場所に新しい値を書込もうとするであろう。第1のシステ
ムデバイスがメモリ場所でのオペレーションを終了する前に、同じメモリ場所に
、第2のシステムデバイスが読出または書込をすることができないようにシステ
ムを「ロック」するあるメカニズムが必要とされている。一般に、ロックオペレ
ーションは、所与のデバイスから所与のメモリ場所または範囲への1つまたは2
つ以上の読出サイクルとそれに続く1つまたは2つ以上の書込サイクルのシーケ
ンスであると定義することができる。ロックオペレーションを含むそのシーケン
スの間、他のデバイスは1つも、少なくとも所与のメモリ場所にアクセスしない
。
グ機能が設けられている。ある他の命令は、メモリの読出および書込がロックさ
れることを暗に指定する。ロックオペレーションはまた、ページ表更新およびイ
ンタラプトアクノレッジサイクルをも含んでもよいことが注目される。x86ハ
ードウェアでは、ロッキングは伝統的にx86プロセッサ上のLOCK♯ピンを
通して実現されてきた。ロックオペレーションを行なうプロセッサは、ロックオ
ペレーションを含む、読出および書込シーケンスの間、LOCK♯ピンをアサー
トする。x86プロセッサは一般に、プロセッサのメモリへのアクセスが単一の
共有プロセッサバスを通して提供されるコンピュータシステム内に設計されてき
たため、LOCK♯ピンアサーションを用いて共有バスリソースをロッキングプ
ロセッサ専用にすることができる。共有バスがロックされている間、バスリソー
スを共有する他のプロセッサは共有バスにアクセスすることを禁じられるため、
他のプロセッサは、読出と書込とのアトミックなシーケンスに割り込むことがで
きない。
のデバイスが共有バスに接続されているため、バスは通例比較的低い周波数で動
作する。多数の接続は、バス上で信号を駆動するデバイスに高容量性負荷を与え
、多数の接続ポイントは、高周波数では比較的複雑な伝送路モデルを与える。し
たがって、周波数は低いままでとどまり、共有バス上で利用できる帯域幅は同様
に比較的狭い。狭い帯域幅により、共有バスへの追加のデバイスの接続が妨げら
れる。なぜならば、利用できる帯域幅によって性能が制限されるおそれがあるか
らである。
ビリティの欠如である。上述のように、帯域幅の大きさは固定されている(追加
のデバイスを付加することで、バスの動作可能周波数が減じられると、それはよ
り狭くなるおそれもある)。バスに(直接または間接的に)接続されているデバ
イスの帯域幅要件が、バスの利用可能な帯域幅を一旦超えると、バスへのアクセ
スを試みるとき、デバイスは頻繁に機能停止する。このようにして、コンピュー
タシステムの全体の性能が衰えるおそれがある。
ため、共有コンピュータバスコンピュータシステムモデルは、性能面での限界と
なってきている。それゆえに、非共有バスシステム内でロッキング機能を提供す
るための方法が望まれる。
トグルを用いるためのシステムおよび方法によって大部分が解決される。例示的
なコンピュータシステムでは、1つまたは2つ以上のプロセッサの各々がバスブ
リッジに、別々の高速接続を通して結合され、その各々は、ある実施例では、そ
れぞれがソース同期クロック線を備える一対の単方向アドレスバスと、付随のソ
ース同期クロック線を備える双方向データバスとを含む。ロックトグルコマンド
を用いて、プロセッサからシステムコヒーレンシィポイント、たとえばバスブリ
ッジへとロック要求およびアンロック要求の両方を伝送する。ロックが確立また
は解除されたとき、システムコヒーレンシィポイントは肯定応答する。ロックが
アクティブな間は、他のプロセッサは、少なくともそれについてロックが開始さ
れたメモリ場所にアクセスすることを禁じられる。このようにして、ロックはシ
ステムコヒーレンシィポイントで確立され、このことは、有利なことには、非共
有バスシステム内でのロック機能を可能にするであろう。ロックトグルコマンド
の使用はまた、有利なことには、単一のコマンドコードポイントの使用を可能に
し、他のポイントを他の用途に利用できるようにするであろう。
イスコントローラを含むプロセッサが企図される。復号ユニットは、ロックを特
定する第1の1つまたは2つ以上の命令を受取りそれを復号化するように結合さ
れ。復号ユニットは、第1の1つまたは2つ以上の命令に応答して、ロック表示
を生成するように構成される。ロード/記憶ユニットは、ロック表示と、第1の
1つまたは2つ以上の命令とを復号ユニットから受取るように結合される。ロー
ド/記憶ユニットは、第1の1つまたは2つ以上の命令を選択して実行し、さら
にそれに応答してロックトグルコマンドの第1の要求を伝送するように構成され
る。システムインターフェイスコントローラは、ロード/記憶ユニットとバスと
の間に結合される。システムインターフェイスコントローラは、ロックトグルコ
マンドの第1の要求をロード/記憶ユニットから受取り、さらにロックトグルコ
マンドの第1の要求を受取ったことに応答して、第1のロックトグルコマンドを
発行するように構成される。ロード/記憶ユニットはさらに、第1の1つまたは
2つ以上の命令を実行したことに応答して、ロックトグルコマンドの第2の要求
を伝送するように構成される。システムインターフェイスコントローラはさらに
、ロックトグルコマンドの第2の要求をロード/記憶ユニットから受取り、さら
にロックトグルコマンドの第2の要求を受取ったことに応答して、第2のロック
トグルコマンドを発行するように構成される。
リッジもまた企図される。概して、ブリッジは、1つまたは2つ以上のプロセッ
サのうちの第1のプロセッサから複数のコマンドを受取るように結合される第1
の入力ポートと、第1の入力ポートに結合される第1のプロセッサ待ち行列と、
ロック状態を記憶するように構成されるロックレジスタと、第1の入力待ち行列
とロックレジスタとに結合される制御論理とを含む。第1の入力ポートは、前記
1つまたは2つ以上のプロセッサのうちの第1のプロセッサから第1のプロセッ
サ待ち行列へと複数のコマンドを転送するように構成される。第1のプロセッサ
待ち行列は、1つまたは2つ以上のプロセッサのうちの第1のプロセッサからの
複数のコマンドを記憶するように構成される。1つまたは2つ以上のプロセッサ
のうちの第1のプロセッサからの複数のコマンドは、ロックトグルコマンドを含
む。制御論理は、1つまたは2つ以上のプロセッサのうちの第1のプロセッサか
らの複数のコマンドを、第1のプロセッサ待ち行列から取除くように構成される
。ロックトグルコマンドを第1のプロセッサ待ち行列から取除いたことに応答し
て、制御論理は、ロック状態を検査するように構成される。制御論理はさらに、
ロック状態がロックの欠如を表示する場合には、ロック状態を設定して1つまた
は2つ以上のプロセッサのうちの第1のプロセッサのためのロックを表示するよ
うに構成される。制御論理はさらに、ロック状態がロックを表示する場合には、
ロック状態を設定してロックの欠如を表示するように構成される。
1つまたは2つ以上のプロセッサと、1つまたは2つ以上のプロセッサに結合さ
れるブリッジとを含む。ブリッジは、1つまたは2つ以上のプロセッサから受取
るコマンドを実行するように構成される。1つまたは2つ以上のプロセッサの各
々は、ロックトグルコマンドをブリッジへと伝送して、ロック状態がロックを表
示するように設定されることを要求するように構成される。ブリッジは、1つま
たは2つ以上のプロセッサのうちの第1のプロセッサからロックトグルコマンド
を受取ったことに応答して、ロック状態を検査するように構成される。制御論理
はさらに、ロック状態がロックの欠如を表示する場合には、ロック状態を設定し
て1つまたは2つ以上のプロセッサのうちの第1のプロセッサのためのロックを
表示し、さらにはロック状態がロックを表示する場合には、ロック状態を設定し
てロックの欠如を表示するように構成される。
ステムを動作させるための方法もまた企図される。概して、その方法は、1つま
たは2つ以上のプロセッサのうちの第1のプロセッサからシステムデバイスへと
第1のロックトグルコマンドを発行するステップを含む。その方法はさらに、第
1のロックトグルコマンドに応答して、システムデバイス内のロック状態の表示
を検査する。その方法はさらに、ロック状態の表示を検査してロック状態がロッ
クの欠如を表示すると判断したことに応答して、ロック状態を設定して第1のプ
ロセッサによるロックを表示するステップを含む。その方法はまた、ロック状態
の表示を検査してロック状態がロックを表示すると判断したことに応答して、ロ
ック状態を設定してロックの欠如を表示する。
図を参照することによって、明らかになるであろう。
ってその具体的な実施例を示し、それらをここで詳細に説明する。しかし、図お
よび詳細な説明は、開示された特定の形式に発明を制限することを意図するので
はなく、逆に、添付の請求項によって規定されるようなこの発明の思想と範囲と
に入るすべての変形、均等物、および代替物をカバーすることを意図することが
理解されるべきである。
される。第1のプロセッサ110Aと第2のプロセッサ110Bとの各々は、別
々のプロセッサバスを通してブリッジ130に結合される。第1のプロセッサ1
10Aと第2のプロセッサ110Bとは共に、それぞれのプロセッサバスを用い
てメモリおよびI/Oオペレーションを行なうように、好ましくは構成される。
ある実施例では、プロセッサ110Aおよび110Bは、x86命令セットアー
キテクチャを実現する。他の実施例はいかなる好適な命令セットアーキテクチャ
を実現してもよい。ブリッジ130はさらにメモリ140に結合される。メモリ
140は好ましくは、第1のプロセッサ110Aと第2のプロセッサ110Bと
の両方にさらには他のシステムデバイスにもアクセス可能なデータと命令とを記
憶するように構成される。メモリ140は、SDRAM(同期ダイナミックラン
ダムアクセスメモリ)、RDRAM(ランバスDRAM)[RDRAMおよびR
AMBUSはランバス社(Rambus,Inc.)の登録商標である]、または他のいか
なる好適なメモリタイプからなっていてもよい。アドバンスドグラフィックスポ
ートデバイス(advanced graphics port device)(AGP)150もまた任意で
ブリッジ130に結合される。図示されるように、ペリフェラルコンポーネント
インターコネクト(Peripheral Component Interconnect)(PCI)バス160
もまたブリッジ130に結合される。種々のI/OコンポーネントがPCIバス
160に結合されてもよい。
むコンピュータシステムの実施例では、ブリッジ130はしばしばノースブリッ
ジ130と呼ばれ、PCIバス160と従来のバスとの間のブリッジ(図示せず
)はサウスブリッジと呼ばれることが注目される。例示される実施例では、ブリ
ッジ130はコンピュータシステムのシステムマスタであることもまた注目され
る。例示される実施例は2つのプロセッサ110Aおよび110Bを含むが、所
望であれば、いかなる数のプロセッサ110もコンピュータシステムに含まれ得
ることが注目される。
セッサ110Aおよび110B、メモリ140、AGPデバイス150、および
PCIバス等の間の通信を調整する。ブリッジ130は、プロセッサ110Aお
よび/または110Bを探索して、他のプロセッサ110Aまたは110B、A
GPデバイス150、またはPCIバス160上のPCIデバイス等によってア
クセスされるメモリ場所があるか調べることによって、コンピュータシステムの
デバイス間のデータ転送のためのコヒーレンシィを維持する。
実施例のより詳細なブロック図が例示される。第1のプロセッサ110A、プロ
セッサバスコンポーネント126Aおよび128A、およびブリッジ130の種
々の詳細が例示される。
信号線を通して、ロード/記憶ユニット114に結合される復号ユニット112
を含む。ロード/記憶ユニット114は、アドレスおよびデータバス、ロックト
グル要求信号線、およびロックトグルグラント信号線を通して、システムインタ
ーフェイスコントローラ116に結合される。システムインターフェイスコント
ローラ116は、リソースカウンタ118(Aカウンタ)とコミットカウンタ1
19(Cカウンタ)とを含む。第1のプロセッサ110Aおよび第2のプロセッ
サ110Bの各々は、別々のプロセッサバスを通してブリッジ130に結合され
る。各プロセッサバスは、専用のソース同期クロック線126を備える双方向デ
ータバスと、付随のソース同期クロック線128を備える単方向アドレスインア
ドレスアウト線(アドレスバス)とを含む。第1のプロセッサ110Aとブリッ
ジ130との間のプロセッサバスは、データバス126Aとアドレスバス128
Aとを含み、少なくとも第1の入力ポートを通してブリッジ130へと結合する
。第2のプロセッサ110Bとブリッジ130との間のプロセッサバスは、デー
タバス126Bとアドレスバス128Bとを含み、少なくとも第2の入力ポート
を通してブリッジに結合する。ブリッジ130は、第1のプロセッサ110Aか
らのコマンドの記憶に専用の第1のプロセッサ待ち行列134Aと、第2のプロ
セッサ110Bからのコマンドの記憶に専用の第2のプロセッサ待ち行列134
Bとを含む。メモリ140もまたブリッジ130に結合されて示される。
おりである:プロセッサ110Aの復号ユニット112は、命令を受取りそれを
復号化する。復号ユニット112は、メモリオペレーション(メモリへのロード
または記憶を指定する命令)をロード/記憶ユニット114に運ぶ。ロード/記
憶ユニット114は、メモリオペレーションを内部データキャッシュ(図示せず
)に運んでもよく、システムサービスを必要とするメモリオペレーションを、シ
ステムインターフェイスコントローラ116へ運ぶ。システムインターフェイス
コントローラ116は、アドレスバス128Aおよびデータバス126Aを用い
て、ブリッジ130等のシステムデバイスにオペレーションを運ぶ。より具体的
には、システムインターフェイスコントローラ116は、アドレスバス128A
のアドレスアウト部分上に、アドレスおよびコマンドインフォメーションを伝送
する。アドレスバス128Aのアドレスイン部分上で、ブリッジ130は、対応
するデータ転送の準備ができたことを合図する。そこで対応するデータがデータ
バス126A上で伝送される。
イスコントローラ116は、リソースカウンタ118(Aカウンタ)とコミット
カウンタ119(Cカウンタ)とを増分する。ブリッジ130内の制御論理13
6は、第1のプロセッサ110Aおよび第2のプロセッサ110Bからコマンド
を受取り、コマンドをそれぞれの待ち行列、プロセッサA待ち行列134Aとプ
ロセッサB待ち行列134Bとに置く。制御論理136は、予め定められたプロ
トコルによって規定された順序で、つまりラウンドロビンまたは最終アクセスア
ルゴリズムに従って、プロセッサA待ち行列134AおよびプロセッサB待ち行
列134Bからコマンドを取除く。プロセッサ110Bもまた、同様の様態で動
作する。リソースカウンタ118および/またはコミットカウンタ119はある
種のコマンドをトラッキングしなくてもよいということが注目される。トラッキ
ングされないコマンドの例は、ある種のプローブ応答、ある種のバッファフラッ
シュ、ノーオペレーションコマンド(NOPs)、および特別なブロックメモリ
コマンドを含み得る。
ントリを解放したことに応答して、制御論理136は、それぞれのプロセッサ1
10Aのシステムインターフェイスコントローラ116に肯定応答信号を送る。
システムインターフェイスコントローラ116は、ブリッジ130から肯定応答
信号を受取ったことに応答して、リソースカウンタ118を減分する。システム
マスタとして働くブリッジ130が特定のプロセッサコマンドに対してコヒーレ
ンシィポイントに一旦到達すると、制御論理136は、コミット信号を適切なシ
ステムインターフェイスコントローラ116に送る。システムインターフェイス
コントローラ116は、コミット信号をブリッジ130から受取ったことに応答
して、コミットカウンタ119を減分するように構成される。好ましい実施例で
は、プロセッサ110は、コミット信号をいかなる特定のプロセッサコマンドに
も関連させないことが注目される。プロセッサコマンドのいずれかがコヒーレン
シィポイントに到達したとき、ブリッジ130は単にコミット信号を返すのみで
ある。アクノレッジ信号およびコミット信号は、アドレスバス128Aのアドレ
スイン部分上のアドレスインコマンドの一部であってもよい。
19内の値が予め定められた値に到達すると、プロセッサ110Aおよび110
Bは、新しいコマンドをブリッジ130に送ることをやめるように構成されてい
る。リソースカウンタ118は、各プロセッサ110に、ブリッジ130に送っ
たコマンドのうちいくつがブリッジ130によって肯定応答されていないのかを
、トラッキングさせてもよい。コミットカウンタ119は、各プロセッサ110
に、コヒーレンシィポイントにまだ到達していない、ブリッジ130に送られた
未処理のコマンドの数を制限させてもよい。
てもよいことが注目される。ある実施例では、4エントリ共通プロセッサ待ち行
列134は、一方は読出のためであり他方は書込のためである、2つのより大き
な待ち行列を送る。肯定応答リミット(まだ肯定応答されていない、プロセッサ
110が発行したコマンドの数に対するリミット)は、4に設定される。別の実
施例では、1つのプロセッサ待ち行列は、読出と書込との両方を保持する。共通
の待ち行列エントリの割当が解除されたとき、Aビットがブリッジ130からプ
ロセッサ110へと返される。
10Aが、メモリ140へのアトミックアクセスを行なおうとするか、またはロ
ックを必要とする1つまたは2つ以上の何らかの他のオペレーションを行なおう
とするとき、第1のプロセッサ110Aは、ブリッジ130等のシステムマスタ
に、第1のロックトグルコマンドを送る。第1のロックトグルコマンドが完遂さ
れさらにロックが表示されるまでは、第1のプロセッサ110Aは通例それ以上
のコマンドをブリッジ130に送ることを避けるが、ある状況下では、ロックト
グルコマンドの後に、ある種のコマンドを送ることができる。第1のロックトグ
ルコマンドが到達するまでは、ブリッジ130は1つまたは2つ以上のプロセッ
サ待ち行列134からコマンドを選択するように動作する。第1のロックトグル
コマンドを実行する際に、ブリッジ130はロックレジスタ132内のロック状
態を調べ、第1のプロセッサ110Aのためのロックを開始し、さらには第1の
プロセッサ110Aにロックトグルコマンドを完遂したことを知らせる。ブリッ
ジ130は、ロック状態が第1のプロセッサ110Aのためのロックを表示して
いる間は、他のすべてのプロセッサ110からのコマンドを無視する。第1のプ
ロセッサ110Aは、ロックを指定した1つまたは2つ以上の命令を、実行のた
めに、ブリッジ130に伝送する。第1のプロセッサ110Aは、その後また第
2のロックトグルコマンドをブリッジ130へと伝送し、ロック状態をアンロッ
クに設定する。ロックを指定した命令を完了させさらに第2のロックトグルコマ
ンドを実行した後、ブリッジ130は第1のプロセッサ110Aにロック状態が
再びアンロックに設定されたことを知らせる。そこでブリッジ130は、予め定
められたプロトコルに従って、1つまたは2つ以上のプロセッサ待ち行列134
のすべてからコマンドを選択することに戻る。
に伝送される。ソース同期クロックとその付随のデータとは一緒に受取られる。
「ソース同期クロック」はまた「フォワードクロック」とも呼ばれることが注目
される。例示的な実施例ではソース同期クロックが示されているが、コンピュー
タシステムに適切ないかなるクロックメカニズムをも用いてもよいということも
また注目される。データバス126Aおよびアドレスバス128Aもまた単なる
例示的なものにすぎない。図2で示されるコンピュータシステムのオペレーショ
ンに関する種々の詳細が、以下の図3から図5の説明に関して、提供される。
ピュータシステム内におけるロックオペレーションを行なうための全体のオペレ
ーションを示すフローチャートの1つの実施例が例示される。図3に示されるオ
ペレーションはフローチャートの形式で示されているが、図3の種々のオペレー
ションは異なる順序で起こってもよく、または全く起こらなくてもよいというこ
とが注目される。
ちの第1のプロセッサ110Aが、ロックトグルコマンドをブリッジ130へと
発行しロックを開始する。プロセッサ110Aはまた、リソースカウンタ118
およびコミットカウンタ119を増分させ(ステップ410)、通例、他のコマ
ンドを開始することを避けるが、いくつかの実施例では投機的なコマンドの開始
を選ぶことがあってもよい。ブリッジ130は、適切なプロセッサ待ち行列13
4内のロックトグルコマンドをバッファリングする(ステップ415)。ブリッ
ジは、ロックトグルコマンドが到達するまでは、1つまたは2つ以上のプロセッ
サ待ち行列134からの要求されたオペレーションを行なう(ステップ420)
。他の大部分のオペレーションと同様に、ブリッジ130は、ロックトグルコマ
ンドがプロセッサ待ち行列134Aから取除かれたとき、肯定応答信号(たとえ
ばAビット)を適切なプロセッサ110Aに送る(ステップ425)。プロセッ
サ110AはAビットを受取り、リソースカウンタ118を減分する(ステップ
430)。
ンドを処理する(ステップ435)。ブリッジ130は、ロックが確立されると
、コミット信号(たとえばCビット)をプロセッサ110Aに送る(ステップ4
40)。プロセッサ110AはCビットを受取り、コミットカウンタ119を減
分する(ステップ445)。コミットカウンタ119がゼロに一旦到達すると、
プロセッサ110Aは、ロックが確立されたということを知らされる。その後、
プロセッサ110Aは、ロックがアクティブな間に行なわれるべき1つまたは2
つ以上のコマンドをブリッジ130に送り、第2のロックトグルコマンドがこれ
に続く(ステップ450)。ブリッジ130は、ロックがアクティブなままで、
1つまたは2つ以上のコマンドを処理する(ステップ455)。次に、ブリッジ
130は第2のロックトグルコマンドを処理し、ロックを取消す(ステップ46
0)。第2のロックトグルコマンドは、第1のロックトグルコマンドと同様の態
様で処理される。
信する、図2のプロセッサ110Aおよび110Bのうちの第1のプロセッサ1
10Aのオペレーションを示すフローチャートの1つの実施例が詳細に示される
。図4で示されるオペレーションは単なる例示的なものにすぎず、例示されるオ
ペレーションフローの一部ではないプロセッサ110またはブリッジ130の追
加の特徴またはオペレーションを含まない。図4に示されるオペレーションはフ
ローチャートの形式で示されているが、図4の種々のオペレーションは異なる順
序で起こってもよく、または全く起こらなくてもよいということが注目される。
し、それを識別する(ステップ310)。次に、復号ユニット112は、ロード
/記憶ユニット114に、ロックを特定する1つまたは2つ以上のメモリオペレ
ーションを知らせる(ステップ315)。より具体的には、復号ユニット112
は、1つまたは2つ以上のメモリオペレーションをロード/記憶ユニット114
に伝送し、ロック信号をアサートする。ロード/記憶ユニット114は、メモリ
オペレーションおよび対応するロックの要求をバッファリングする(ステップ3
20)。ロックの要求が最も古い未処理のオペレーションである場合、ロード/
記憶ユニット114はシステムインターフェイスコントローラ116にロックト
グルを要求する(ステップ325)。
ックトグルコマンドをブリッジ130に発行する(ステップ330)。システム
インターフェイスコントローラ116は、ブリッジ130が第1のロックトグル
コマンドを実行するまで、たとえば、コミットカウンタ119がゼロにまで減分
するまで、待つ(ステップ335)。ブリッジ130が第1のロックコマンドを
完遂した後に、システムインターフェイスコントローラ116は、ロックトグル
グラント信号をロード/記憶ユニット114に返す(ステップ340)。
ら受取ったことに応答して、ロード/記憶ユニット114は、ロックを特定する
1つまたは2つ以上のオペレーションを行なう(ステップ345)。ロード/記
憶ユニット114は、ロックを解除するための第2のロック要求をシステムイン
ターフェイスコントローラ116に送る(ステップ350)。システムインター
フェイスコントローラ116は、アンロックのために、第2のロックトグルコマ
ンドをブリッジ130に発行する(ステップ355)。システムインターフェイ
スコントローラ116は、(アンロックのための)第2のロックトグル要求をロ
ード/記憶ユニット114から受取ったことに応答して、アンロックのための第
2のロックトグルコマンドをブリッジ130に発行してもよい。システムインタ
ーフェイスコントローラ116は、ブリッジ130がアンロックのためのロック
トグルコマンドを実行するまで待ち(ステップ360)、それからロックトグル
グラント信号を返す。
除くときの、ブリッジ130のオペレーションのハイレベルフローチャートの実
施例を例示する。図5に示されるオペレーションはフローチャートの形式で示さ
れるが、図5の種々のオペレーションは異なる順序で起こってもよく、または全
く起こらなくてもよいということが注目される。
ブロック510)。未処理のロックは、ロックレジスタ132内のロック状態に
よって、またはロック状態を表わす他の所望の手段によって、表示されてもよい
。より具体的には、ロックレジスタ132内のロック状態は、ノーロック、プロ
セッサ110Aのためのロック、またはプロセッサ110Bのためのロックを表
示してもよい。所望であれば、ロック状態の他の符号化で、いかなる数のプロセ
ッサ110のためのロックを識別してもよい。未処理のロックが存在する場合に
は、制御論理136は、ロックを発行したプロセッサ待ち行列からのみコマンド
を選択する(ステップ515)。制御論理136は、コマンドを調べそれがロッ
クトグルコマンドであるかどうかを確かめる(判断ブロック520)。コマンド
がロックトグルコマンドである場合には、制御論理136は未処理のロックをリ
セットする(ステップ525)。制御論理136は、既存のロックがありさらに
ロックトグルコマンドが実行される場合には、ロック状態をノーロックに設定す
る。そのとき制御論理136は動作可能になり、ブリッジ130の通常のオペレ
ーションを続ける。
リッジ130は、ロックを続けたままで、選択されたコマンドを処理する(ステ
ップ530)。
6は、利用可能なプロセッサ待ち行列134から適切なコマンドを選択する(ス
テップ535)。どのコマンドを、どの待ち行列134から、ということを決定
するためのプロトコルは、所望の、いかなる好適なプロトコルであってもよい。
制御論理136は、判断ブロック540で、コマンドがロックトグルコマンドで
あるかどうかを確かめるために検査する。コマンドがロックトグルコマンドであ
る場合には、制御論理はロックを設定し(ステップ545)、たとえばロックレ
ジスタ132のロック状態を設定して、対応するプロセッサ110のためのロッ
クを表示する。
論理136は選択されたコマンドを処理するのみである(ステップ530)。
Outコマンドフォーマットと呼ばれるプロセッサによって開始されたコマンド
のためのフォーマットの実施例のブロック図が例示される。好ましい実施例では
、プロセッサ110が、読出、書込、データ移動を伴わないプローブ応答、キャ
ッシュブロック状態遷移ブロードキャスト、およびロックトグルコマンドのため
のコマンドをシステム130に発行するときに、SysAddOutコマンドフ
ォーマットが用いられる。SysAddOutコマンドフォーマットは好ましく
は、プロセッサアドレスバス128のアドレスアウト線の線[14:2]♯上を
送られる。
クロック信号の立上り端縁と立下り端縁との両方の上でクロックされる実施例で
2つの完全な転送されたクロックサイクルにわたる4ビットタイムの広がりを含
む。図6ではADDRESSで示される物理アドレスの種々のビットが、4ビッ
トタイムサイクルにわたって分配される。他のコマンドフィールドは、M1ビッ
ト、COMMAND[4:0]フィールド、M2ビット、MASK[7:0]フ
ィールド、CHフィールド、ID[2:0]フィールド、およびRVビットを含
む。
]フィールド、およびADDRESSの一部を含む。M1ビットは、初期プロー
ブミスインディケータである。M1が[1]に設定されている場合には、このプ
ロセッサ110が受取る最も古いプローブはミスという結果になる。プローブが
ビットタイム0という結果になる場合には、M1がアサートされる。COMMA
ND[4:0]フィールドは、プロセッサ110からシステム130へのコマン
ド符号化を表示するのに用いられる。COMMAND[4:0]フィールドの種
々の符号化は、読出、書込、プローブ応答等を識別する。ある特定の符号化がロ
ックトグルコマンドを表示する。
ールド、CHフィールド、およびID[2:0]フィールドを含む。M2ビット
は、レート(late)プローブミスインディケータまたはキャッシュヒット確認であ
る。M2が[1]に設定されている場合、このプロセッサ110が受取る最も古
いプローブはミスという結果になる。ビットタイム0の後、かつビットタイム2
の前に、プローブが決定される場合には、M2がアサートされる。M2はまた、
プローブヒットを表示するがデータ移動を表示しないCHビットを確認してもよ
い。MASK[7:0]フィールドは、データ転送マップである。MASK[7
:0]フィールドは、すべてのサブキャッシュブロックコマンド(バイト、LW
、QW)のために用いられ、それは、データバス128の、どのバイト(たとえ
ば8ビット)、ロングワード(たとえば16ビット)、またはクワットワード(
たとえば32ビット)が、要求されるデータ転送のために有効であるのかを表示
する。CHビットはキャッシュヒットビットである。最も古い未処理のプローブ
が、システム130へのデータ移動が必要とされないプロセッサキャッシュヒッ
トという結果になった場合には、キャッシュヒットビットは[たとえば1]に設
定される。キャッシュヒットビットが設定されると、M2ビットが設定される。
ID[2:0]フィールドは、バッファ識別フィールドである。ID[2:0]
フィールドは、COMMAMD[4:0]フィールド内のコマンドに対応するミ
スアドレスバッファ(MAB)、ビクテムデータバッファ(VDB)、または書
込データバッファ(WDB)エントリを指定する。ID[2:0]フィールドは
、コマンドに依存して、WDBまたはVDBを暗にマップする。
別の部分を含む。RVビットは、COMMAND[4:0]フィールド内の投機
的なコマンドを確認する書込有効ビットである。
Inコマンドフォーマットと呼ばれる、メモリコヒーレンシィを保持しさらにデ
ータを移動させるような、システムによって開始されたコマンドのためのフォー
マットの実施例のブロック図が例示される。好ましい実施例では、ブリッジ13
0が、プロセッサ110にキャッシュを探索させ、またはプロセッサ110への
、およびプロセッサ110からのデータ移動を開始させるコマンドをプロセッサ
110に発行するとき、SysAddInコマンドフォーマットが用いられる。
SysAddInコマンドフォーマットは好ましくは、プロセッサアドレスバス
128のアドレスイン線の線[14:2]♯上を送られる。
ロック信号の立上り端縁と立下り端縁との両方の上でクロックされる実施例で2
つの完全な転送されたクロックサイクルにわたる4ビットタイムの広がりを含む
。図7でADDRESSで示される物理アドレスが、4ビットタイムサイクルに
わたって分配される。他のコマンドフィールドは、プローブタイプPROBE[
4:0]フィールド、システムデータコマンドSYSDC[4:0]フィールド
、解除ビクティムバッファRVBビット、解除プローブバッファRPBビット、
アクノリッジAビット、バッファ識別番号ID[3:0]フィールド、およびコ
ミットCビットを含む。
タをブリッジ130に戻すべき条件を表示し、プローブがキャッシュブロックヒ
ットの結果になる場合には、プロセッサがキャッシュブロックをそれに変えなけ
ればならないキャッシュ状態を表示する。システムデータコマンドSYSDC[
4:0]フィールドは、プロセッサへの、およびプロセッサからのデータ移動を
制御する。プローブタイプPROBE[4:0]フィールドとシステムデータコ
マンドSYSDC[4:0]フィールドとの種々の符号化が考えられる。RVB
ビットは、アサートされると、ID[3:0]フィールドに対応するVDBまた
はWDBエントリを解除するようプロセッサ110に信号を送る。RPBビット
は、アサートされると、ID[2:0]に対応する、VDB内のプローブデータ
エントリを解除するようプロセッサに信号を送る。
る。そこでプロセッサはリソースカウンタを減分する。バッファ識別番号フィー
ルドは、書込およびバッファ解除コマンドのためのRVBおよびRPBビットに
関連のバッファIDを識別する。ID[3]は設定されるとWDBエントリを表
示し、一方でクリアされたID[3]はVDBエントリを表示する。コミットビ
ットはシステム130によってアサートされ、プロセッサが生成したコマンドが
いつコヒーレンシィポイントに到達したのかを表示する。
セッツ州、メイナード(Mass. Maynard)のデジタルイクイップメント社(Digit
al Equipment Corp.)からのEV6バスのバージョンと互換性がある。EV6バ
スは、これもデジタルイクイップメント社から入手可能なALPHAプロセッサ
のために設計された。ロックトグルコマンドは好ましくは、プロセッサがプロセ
ッサ110である場合には、MBコードポイントを用いてロックまたはアンロッ
クを要求する。なぜならば、プロセッサ110Aおよび110Bはメモリバリア
トランザクションを行なわないからである。このようにして、ロックトグルコマ
ンドは、プロセッサ110がEV6バスを用いることを可能にしながら依然とし
てALPHAプロセッサとの互換性を維持することを可能にする。
らかになるであろう。以下の請求項がこのようなすべての変更および変形を含む
と解釈されることが意図される。
。
セッサを含むコンピュータシステムの実施例のブロック図である。
構成される、図1のプロセッサおよびブリッジの実施例のブロック図である。
チャートである。
ための方法の実施例を示すフローチャートである。
である。
始されたコマンドのためのフォーマットの実施例を示す図である。
テム内のデータを移動させるために、ブリッジによって用いられるコマンドのた
めのフォーマットの実施例を示す図である。
Claims (10)
- 【請求項1】 1つまたは2つ以上のプロセッサ(110A;110B)と
、 前記1つまたは2つ以上のプロセッサ(110A;110B)に結合されるブ
リッジ(130)とを含むコンピュータシステムであって、 前記1つまたは2つ以上のプロセッサ(110A;110B)のうちの第1の
プロセッサは、ロックトグルコマンドを前記ブリッジ(130)に伝送するよう
に構成され、前記ブリッジ(130)は、前記ロックトグルコマンドを前記1つ
または2つ以上のプロセッサ(110A;110B)のうちの前記第1のプロセ
ッサから受取ったことに応答して、ロック状態がロックの欠如を表示する場合に
は、前記ロック状態を設定して前記1つまたは2つ以上のプロセッサ(110A
;110B)のうちの前記第1のプロセッサのためのロックを表示し、前記ロッ
ク状態が前記1つまたは2つ以上のプロセッサ(110A;110B)のうちの
前記第1のプロセッサのための前記ロックを表示する場合には、前記ロック状態
を設定して前記ロックの欠如を表示するように構成される、コンピュータシステ
ム。 - 【請求項2】 前記ブリッジ(130)はさらに、前記ロック状態が前記1
つまたは2つ以上のプロセッサ(110A;110B)のうちの前記第1のプロ
セッサのための前記ロックを表示している間は、前記1つまたは2つ以上のプロ
セッサ(110A;110B)のうちの前記第1のプロセッサから受取ったコマ
ンドのみを実行するように構成される、請求項1に記載のコンピュータシステム
。 - 【請求項3】 前記ブリッジは、前記ロック状態を記憶するように構成され
るロックレジスタ(132)を含む、請求項1に記載のコンピュータシステム。 - 【請求項4】 前記1つまたは2つ以上のプロセッサ(110A;110B
)の各々は、 前記ロックを特定する第1の1つまたは2つ以上の命令を受取りさらに復号化
するように結合される復号ユニット(112)を含み、 前記復号ユニット(112)は、前記第1の1つまたは2つ以上の命令に応答
して、ロック表示を生成するように構成され、 前記プロセッサの各々はさらに、前記ロック表示と前記第1の1つまたは2つ
以上の命令を前記復号ユニット(112)から受取るように結合されるロード/
記憶ユニット(114)を含み、前記ロード/記憶ユニット(114)は、実行
のために、前記第1の1つまたは2つ以上の命令を選択し、さらにそれに応答し
て前記ロックトグルコマンドの第1の要求を伝送し、 前記プロセッサの各々はさらに、前記ロード/記憶ユニット(114)とバス
(126A;128A)との間に結合されるシステムインターフェイスコントロ
ーラ(116)を含み、 前記システムインターフェイスコントローラ(116)は、前記ロックトグル
コマンドの前記第1の要求を前記ロード/記憶ユニット(114)から受取るよ
うに構成され、前記システムインターフェイスコントローラはさらに、前記第1
のロックトグルコマンドの前記要求を受取ったことに応答して、前記第1のロッ
クトグルコマンドを発行するように構成され、 前記ロード/記憶ユニット(114)はさらに、前記第1の1つまたは2つ以
上の命令を実行したことに応答して、前記ロックトグルコマンドの第2の要求を
伝送するように構成され、前記システムインターフェイスコントローラ(116
)はさらに、前記ロックトグルコマンドの前記第2の要求を前記ロード/記憶ユ
ニットから受取り、前記ロックトグルコマンドの前記第2の要求を受取ったこと
に応答して、前記第2のロックトグルコマンドを発行するように構成される、請
求項1に記載のコンピュータシステム。 - 【請求項5】 前記ロード/記憶ユニット(114)はさらに、前記ロック
トグルコマンドの前記第1の要求が最も古い未処理のオペレーションになるまで
、前記ロックトグルコマンドの前記第1の要求をバッファリングするように構成
され、 前記システムインターフェイスコントローラ(116)はさらに、前記第1の
ロックトグルコマンドがいつ実行されたかを、前記ロード/記憶ユニット(11
4)に知らせるように構成される、請求項1に記載のコンピュータシステム。 - 【請求項6】 1つまたは2つ以上のプロセッサ(110A;110B)と
ブリッジ(130)とを含むコンピュータシステムを動作させるための方法であ
って、 前記1つまたは2つ以上のプロセッサ(110A;110B)のうちの第1の
プロセッサ(110A)から前記ブリッジ(130)へと第1のロックトグルコ
マンドを発行するステップと、 前記第1のロックトグルコマンドと、ロック状態がロックの欠如を表示すると
判断したこととに応答して、前記ロック状態を設定し前記第1のプロセッサ(1
10A)によるロックを表示するステップと、 前記第1のロックトグルコマンドと、前記ロック状態が前記第1のプロセッサ
(110A)による前記ロックを表示すると判断したこととに応答して、前記ロ
ック状態を設定し前記ロックの欠如を表示するステップとを含む、方法。 - 【請求項7】 前記ロック状態が前記第1のプロセッサのための前記ロック
を表示する間、前記1つまたは2つ以上のプロセッサ(110A;110B)の
うちの第2のプロセッサ(110B)からのコマンドを処理することを禁止する
ステップをさらに含む、請求項6に記載の方法。 - 【請求項8】 前記ロック状態を設定して前記ロックを表示したことに応答
して、前記ロックを特定する前記1つまたは2つ以上のコマンドを、前記第1の
プロセッサ(110A)から前記ブリッジ(130)へと送るステップと、 前記ロックを特定する前記1つまたは2つ以上のコマンドを、前記第1のプロ
セッサ(110A)から前記ブリッジ(130)へと送った後に、第2のロック
トグルコマンドを、前記第1のプロセッサ(110A)から前記ブリッジ(13
0)へと送るステップとをさらに含む、請求項6に記載の方法。 - 【請求項9】 バスブリッジであって、 ロック状態を記憶するように構成されるロックレジスタ(132)と、 前記ロックレジスタに結合され、さらに第1のプロセッサ(110A)からの
ロックトグルコマンドを受取るように結合される制御論理(136)とを含み、
前記制御論理(136)は、前記ロックトグルコマンドと、ロック状態がロック
の欠如を表示すると判断したこととに応答して、前記ロックレジスタ内の前記ロ
ック状態を設定し前記第1のプロセッサ(110A)によるロックを表示するよ
うに構成され、前記制御論理は、前記ロックトグルコマンドと、前記ロック状態
が前記第1のプロセッサ(110A)による前記ロックを表示すると判断したこ
ととに応答して、前記ロック状態を設定し前記ロックの欠如を表示するように構
成される、バスブリッジ。 - 【請求項10】 マイクロプロセッサであって、 ロックの要求とロック解除の要求とを検出するように構成されるロード/記憶
ユニット(114)を含み、前記ロード/記憶ユニット(114)は、前記ロッ
クの要求または前記ロック解除の要求のいずれかに応答して、ロックトグル要求
を生成するように構成され、 前記マイクロプロセッサはさらに、前記ロード/記憶ユニット(114)に結
合されるシステムインターフェイスコントローラ(116)を含み、前記システ
ムインターフェイスコントローラ(116)は、前記ロックトグル要求に応答し
て、ロックトグルコマンドを伝送するように構成される、マイクロプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/339,351 US6430639B1 (en) | 1999-06-23 | 1999-06-23 | Minimizing use of bus command code points to request the start and end of a lock |
US09/339,351 | 1999-06-23 | ||
PCT/US2000/000605 WO2000079404A1 (en) | 1999-06-23 | 2000-01-11 | Minimizing use of bus command code points to request the start and end of a lock |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003527652A true JP2003527652A (ja) | 2003-09-16 |
JP2003527652A5 JP2003527652A5 (ja) | 2007-01-18 |
JP4565786B2 JP4565786B2 (ja) | 2010-10-20 |
Family
ID=23328620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001505301A Expired - Lifetime JP4565786B2 (ja) | 1999-06-23 | 2000-01-11 | ロックの開始と終了を要求するためのバスコマンドコードポイントの使用の最小化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6430639B1 (ja) |
EP (1) | EP1190331B1 (ja) |
JP (1) | JP4565786B2 (ja) |
KR (1) | KR100687822B1 (ja) |
DE (1) | DE60002077T2 (ja) |
WO (1) | WO2000079404A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973543B1 (en) * | 2001-07-12 | 2005-12-06 | Advanced Micro Devices, Inc. | Partial directory cache for reducing probe traffic in multiprocessor systems |
US6934806B2 (en) * | 2002-09-23 | 2005-08-23 | International Business Machines Corporation | Method and system for improving input/output performance by proactively flushing and locking an entire page out of caches of a multiprocessor system |
US7076680B1 (en) * | 2003-03-14 | 2006-07-11 | Sun Microsystems, Inc. | Method and apparatus for providing skew compensation using a self-timed source-synchronous network |
DE102006055513A1 (de) * | 2006-05-24 | 2007-11-29 | Robert Bosch Gmbh | Kommunikationsbaustein |
DE102007063291A1 (de) * | 2007-12-27 | 2009-07-02 | Robert Bosch Gmbh | Sicherheitssteuerung |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US10572387B2 (en) * | 2018-01-11 | 2020-02-25 | International Business Machines Corporation | Hardware control of CPU hold of a cache line in private cache where cache invalidate bit is reset upon expiration of timer |
US11163688B2 (en) | 2019-09-24 | 2021-11-02 | Advanced Micro Devices, Inc. | System probe aware last level cache insertion bypassing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232747A (ja) * | 1989-02-03 | 1990-09-14 | Digital Equip Corp <Dec> | マルチプロセッサ・システムにおけるメモリ・アクセス動作の同期化・処理 |
JPH0358164A (ja) * | 1989-07-27 | 1991-03-13 | Nec Corp | マルチプロセッサシステムにおけるロック制御機構 |
WO1999019801A1 (en) * | 1997-10-03 | 1999-04-22 | Intel Corporation | System and method for terminating lock-step sequences in a multiprocessor system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5016167A (en) * | 1987-12-21 | 1991-05-14 | Amdahl Corporation | Resource contention deadlock detection and prevention |
US5133074A (en) * | 1989-02-08 | 1992-07-21 | Acer Incorporated | Deadlock resolution with cache snooping |
US5615373A (en) * | 1993-08-26 | 1997-03-25 | International Business Machines Corporation | Data lock management in a distributed file server system determines variable lock lifetime in response to request to access data object |
EP0986008B1 (en) | 1993-12-01 | 2008-04-16 | Marathon Technologies Corporation | Computer system comprising controllers and computing elements |
US5586253A (en) | 1994-12-15 | 1996-12-17 | Stratus Computer | Method and apparatus for validating I/O addresses in a fault-tolerant computer system |
US5706446A (en) * | 1995-05-18 | 1998-01-06 | Unisys Corporation | Arbitration system for bus requestors with deadlock prevention |
WO2016164872A1 (en) * | 2015-04-10 | 2016-10-13 | B/E Aerospace, Inc. | Articulating foot well divider for adjacent parallel passenger seats |
-
1999
- 1999-06-23 US US09/339,351 patent/US6430639B1/en not_active Expired - Lifetime
-
2000
- 2000-01-11 KR KR1020017016514A patent/KR100687822B1/ko active IP Right Grant
- 2000-01-11 EP EP00906893A patent/EP1190331B1/en not_active Expired - Lifetime
- 2000-01-11 JP JP2001505301A patent/JP4565786B2/ja not_active Expired - Lifetime
- 2000-01-11 DE DE60002077T patent/DE60002077T2/de not_active Expired - Lifetime
- 2000-01-11 WO PCT/US2000/000605 patent/WO2000079404A1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232747A (ja) * | 1989-02-03 | 1990-09-14 | Digital Equip Corp <Dec> | マルチプロセッサ・システムにおけるメモリ・アクセス動作の同期化・処理 |
JPH0358164A (ja) * | 1989-07-27 | 1991-03-13 | Nec Corp | マルチプロセッサシステムにおけるロック制御機構 |
WO1999019801A1 (en) * | 1997-10-03 | 1999-04-22 | Intel Corporation | System and method for terminating lock-step sequences in a multiprocessor system |
Also Published As
Publication number | Publication date |
---|---|
WO2000079404A1 (en) | 2000-12-28 |
KR100687822B1 (ko) | 2007-02-28 |
EP1190331A1 (en) | 2002-03-27 |
EP1190331B1 (en) | 2003-04-09 |
US6430639B1 (en) | 2002-08-06 |
DE60002077T2 (de) | 2004-03-04 |
DE60002077D1 (de) | 2003-05-15 |
KR20020012616A (ko) | 2002-02-16 |
JP4565786B2 (ja) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0694849B1 (en) | Method for performing bus transactions in a computer system and computer system | |
US5835739A (en) | Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge | |
US7228389B2 (en) | System and method for maintaining cache coherency in a shared memory system | |
KR100253753B1 (ko) | 지연 트랜잭션을 실행하기 위한 장치 및 방법 | |
US5535341A (en) | Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation | |
KR910007750B1 (ko) | 다중 프로세서 컴퓨터 시스템에서 다중 록 표시자를 실시하기 위한 방법 및 장치 | |
KR100360064B1 (ko) | 고도로파이프라인된버스구조 | |
US6490642B1 (en) | Locked read/write on separate address/data bus using write barrier | |
US6247102B1 (en) | Computer system employing memory controller and bridge interface permitting concurrent operation | |
US5283870A (en) | Method and apparatus for avoiding processor deadly embrace in a multiprocessor system | |
US6018792A (en) | Apparatus for performing a low latency memory read with concurrent snoop | |
US8037253B2 (en) | Method and apparatus for global ordering to insure latency independent coherence | |
US6553442B1 (en) | Bus master for SMP execution of global operations utilizing a single token with implied release | |
US20220114098A1 (en) | System, apparatus and methods for performing shared memory operations | |
WO2021191582A1 (en) | Circuitry and method | |
US5991855A (en) | Low latency memory read with concurrent pipe lined snoops | |
US6529933B1 (en) | Method and apparatus for locking and unlocking a semaphore | |
US5903738A (en) | Method and apparatus for performing bus transactions in a computer system | |
JP4565786B2 (ja) | ロックの開始と終了を要求するためのバスコマンドコードポイントの使用の最小化 | |
US5778441A (en) | Method and apparatus for accessing split lock variables in a computer system | |
US6738837B1 (en) | Digital system with split transaction memory access | |
US6502150B1 (en) | Method and apparatus for resource sharing in a multi-processor system | |
US5764932A (en) | Method and apparatus for implementing a dual processing protocol between processors | |
US11093396B2 (en) | Enabling atomic memory accesses across coherence granule boundaries in processor-based devices | |
US5881256A (en) | Bus interface unit capable of simultaneously proceeding with two bus cycles in a high-performance microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061120 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100118 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100720 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100803 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4565786 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |