JPH11272637A - マルチプロセッサ・システムおよび方法 - Google Patents
マルチプロセッサ・システムおよび方法Info
- Publication number
- JPH11272637A JPH11272637A JP11032451A JP3245199A JPH11272637A JP H11272637 A JPH11272637 A JP H11272637A JP 11032451 A JP11032451 A JP 11032451A JP 3245199 A JP3245199 A JP 3245199A JP H11272637 A JPH11272637 A JP H11272637A
- Authority
- JP
- Japan
- Prior art keywords
- store
- processor
- signal
- stalled
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 機能停止ストア操作が前進できるようにする
解決策を提供すること。 【解決手段】 マルチプロセッサ・システムにおいて、
ストア要求が機能停止すると、このような機能停止スト
ア状況を示す信号が生成され、すべてのプロセッサに送
信される。これに応答して、すべてのプロセッサは、機
能停止ストア要求が完了するまで、メモリへのロードま
たは読取り要求の送信を延期する。
解決策を提供すること。 【解決手段】 マルチプロセッサ・システムにおいて、
ストア要求が機能停止すると、このような機能停止スト
ア状況を示す信号が生成され、すべてのプロセッサに送
信される。これに応答して、すべてのプロセッサは、機
能停止ストア要求が完了するまで、メモリへのロードま
たは読取り要求の送信を延期する。
Description
【0001】
【発明の属する技術分野】本発明は、一般にデータ処理
システムに関し、特にマルチプロセッサ・システム内で
のストアおよびロード操作に関する。
システムに関し、特にマルチプロセッサ・システム内で
のストアおよびロード操作に関する。
【0002】
【従来の技術】マルチプロセッサ・システムでは、1つ
または複数のプロセッサ上で実行される命令ストリーム
が、他のプロセッサによって発行されたメモリ・ストア
操作の正常完了に依存するという状況が発生する。状況
によっては、ストアではそのデータをメモリに正常に入
れることができない。というのは、他のシステム関係者
によって開始された操作が使用可能な相互接続帯域幅を
完全に消費するか、またはハザード検出ハードウェアの
副作用のためにストアをブロックするという同等の効果
を有するからである。このストア「長時間の停止状態」
の結果、プログラム内で前進し損ない、最終的にプログ
ラムに障害を起こす可能性がある。この一例は以下の擬
似コードに見られる。
または複数のプロセッサ上で実行される命令ストリーム
が、他のプロセッサによって発行されたメモリ・ストア
操作の正常完了に依存するという状況が発生する。状況
によっては、ストアではそのデータをメモリに正常に入
れることができない。というのは、他のシステム関係者
によって開始された操作が使用可能な相互接続帯域幅を
完全に消費するか、またはハザード検出ハードウェアの
副作用のためにストアをブロックするという同等の効果
を有するからである。このストア「長時間の停止状態」
の結果、プログラム内で前進し損ない、最終的にプログ
ラムに障害を起こす可能性がある。この一例は以下の擬
似コードに見られる。
【0003】 P1: P2: loop: load word Rx, A store word Rz, A load word Ry, B compare word immediate A, value branch if not equal loop
【0004】2つのプロセッサP1、P2はスピン・ル
ープに関係し、一方は特定の値がもう一方のプロセッサ
によって格納されるのを待っている。Rx、Ry、Rz
はプロセッサ・レジスタを意味し、AおよびBはメモリ
・アドレスである。「compare word immediate」はリテ
ラル値を使用するが、他のソース(他のレジスタの定数
など)との比較も使用できるだろう。
ープに関係し、一方は特定の値がもう一方のプロセッサ
によって格納されるのを待っている。Rx、Ry、Rz
はプロセッサ・レジスタを意味し、AおよびBはメモリ
・アドレスである。「compare word immediate」はリテ
ラル値を使用するが、他のソース(他のレジスタの定数
など)との比較も使用できるだろう。
【0005】プロセッサP2で実行されるstore word t
o Aは、順方向プロセスを行うためにプロセッサP1上
で実行されるコードが必要とする値によって位置を更新
するものである。期待値が得られるまで、ループは続行
される。プロセッサP1で実行される第2のload word
命令(位置Bからのもの)は、位置AがプロセッサP1
のキャッシュ・メモリ内に入らない場合に長時間の停止
状態シナリオを作成するために厳密に必要なものではな
い。この例では、位置AおよびBがキャッシュ可能であ
る、より一般的な状況を説明するためにそれが示されて
いる。プロセッサP1のキャッシュが直接マッピングさ
れ、位置AおよびBのアドレスによってそれらがそのキ
ャッシュ内の同じスロットを占有する場合、ワードAロ
ード命令およびワードBロード命令は必ず失敗するはず
であり、したがって、プロセッサの外部にあるメモリか
らの反復読取りが作成される。プロセッサP1内のキャ
ッシュの連想性が高いと想定した場合、同じスロットを
必要とするより多くのloadword命令をコード・シーケン
スに追加することができる。結果的な読取りトラフィッ
クは、プロセッサP2のstore word to Aの完了をブロ
ックするという潜在的な効果を有することができる。プ
ロセッサの多くが値を待っており、それぞれがプロセッ
サP1用に示したシーケンスを実行する場合、多数のプ
ロセッサを備えたシステムでこのようなブロックが発生
する見込みが増大する。
o Aは、順方向プロセスを行うためにプロセッサP1上
で実行されるコードが必要とする値によって位置を更新
するものである。期待値が得られるまで、ループは続行
される。プロセッサP1で実行される第2のload word
命令(位置Bからのもの)は、位置AがプロセッサP1
のキャッシュ・メモリ内に入らない場合に長時間の停止
状態シナリオを作成するために厳密に必要なものではな
い。この例では、位置AおよびBがキャッシュ可能であ
る、より一般的な状況を説明するためにそれが示されて
いる。プロセッサP1のキャッシュが直接マッピングさ
れ、位置AおよびBのアドレスによってそれらがそのキ
ャッシュ内の同じスロットを占有する場合、ワードAロ
ード命令およびワードBロード命令は必ず失敗するはず
であり、したがって、プロセッサの外部にあるメモリか
らの反復読取りが作成される。プロセッサP1内のキャ
ッシュの連想性が高いと想定した場合、同じスロットを
必要とするより多くのloadword命令をコード・シーケン
スに追加することができる。結果的な読取りトラフィッ
クは、プロセッサP2のstore word to Aの完了をブロ
ックするという潜在的な効果を有することができる。プ
ロセッサの多くが値を待っており、それぞれがプロセッ
サP1用に示したシーケンスを実行する場合、多数のプ
ロセッサを備えたシステムでこのようなブロックが発生
する見込みが増大する。
【0006】
【発明が解決しようとする課題】その結果、当技術分野
では、機能停止ストア操作が前進できるようにする解決
策が必要になる。
では、機能停止ストア操作が前進できるようにする解決
策が必要になる。
【0007】
【課題を解決するための手段】本発明は、マルチプロセ
ッシング・システムの各プロセッサ内のストア要求を監
視し、定義したしきい値が満足されたことに応答してス
トア機能停止信号をアサートするハードウェアおよび状
態マシンを提供することにより、上記の問題に対処する
ものである。このしきい値は、任意の1つのプロセッサ
内で障害が発生したストア・トランザクション、機能停
止ストア操作に関連して障害が発生したアービトレーシ
ョン、またはクロック・サイクルのカウントにすること
ができる。ストア機能停止信号はシステム内のすべての
プロセッサに伝送される。これに応答して、機能停止ス
トア要求を完了できるようになるまで、これらのプロセ
ッサ内で保留中の読取り(ロード)要求が延期される。
次に、ストア機能停止信号はアサート解除され、他のプ
ロセッサはそれぞれの読取り要求を続行する。
ッシング・システムの各プロセッサ内のストア要求を監
視し、定義したしきい値が満足されたことに応答してス
トア機能停止信号をアサートするハードウェアおよび状
態マシンを提供することにより、上記の問題に対処する
ものである。このしきい値は、任意の1つのプロセッサ
内で障害が発生したストア・トランザクション、機能停
止ストア操作に関連して障害が発生したアービトレーシ
ョン、またはクロック・サイクルのカウントにすること
ができる。ストア機能停止信号はシステム内のすべての
プロセッサに伝送される。これに応答して、機能停止ス
トア要求を完了できるようになるまで、これらのプロセ
ッサ内で保留中の読取り(ロード)要求が延期される。
次に、ストア機能停止信号はアサート解除され、他のプ
ロセッサはそれぞれの読取り要求を続行する。
【0008】上記の説明では、以下に示す本発明の詳細
な説明をより十分に理解できるように、本発明の特徴お
よび技術的利点をかなり大まかに概説している。本発明
の請求の範囲の主題を形成する本発明の追加の特徴およ
び利点については、以下に説明する。
な説明をより十分に理解できるように、本発明の特徴お
よび技術的利点をかなり大まかに概説している。本発明
の請求の範囲の主題を形成する本発明の追加の特徴およ
び利点については、以下に説明する。
【0009】
【発明の実施の形態】以下の説明では、本発明を完全に
理解するために、特定のワードまたはバイト長など、数
多くの具体的な詳細を示す。しかし、このような具体的
な詳細がなくても本発明を実施できることは、当業者に
は明らかになるだろう。他の実施例では、不必要なほど
詳細に示して本発明を分かりにくくしないために、周知
の回路はブロック図形式で示されている。ほとんどの部
分では、タイミング上の考慮事項などに関する詳細は、
本発明を完全に理解するために必要ではなく、当業者の
技能の範囲内であるので、省略されている。
理解するために、特定のワードまたはバイト長など、数
多くの具体的な詳細を示す。しかし、このような具体的
な詳細がなくても本発明を実施できることは、当業者に
は明らかになるだろう。他の実施例では、不必要なほど
詳細に示して本発明を分かりにくくしないために、周知
の回路はブロック図形式で示されている。ほとんどの部
分では、タイミング上の考慮事項などに関する詳細は、
本発明を完全に理解するために必要ではなく、当業者の
技能の範囲内であるので、省略されている。
【0010】次に添付図面を参照するが、これらの図で
は、図示の諸要素が必ずしも一定の縮尺で示されている
わけではなく、同様または類似の要素は複数の図を通し
て同じ参照番号で示されている。
は、図示の諸要素が必ずしも一定の縮尺で示されている
わけではなく、同様または類似の要素は複数の図を通し
て同じ参照番号で示されている。
【0011】図1を参照すると、同図には、相互接続ネ
ットワーク(バス)104およびメモリ・システム10
5に結合されたN個のプロセッサ101〜103を含
む、マルチプロセッシング・システム100が示されて
いる。しかし、本発明は、それにより複数の構成要素が
メモリ・システムまたは入出力装置などの他の構成要素
にストアおよび読取り要求を送信するような、どのよう
なシステムにも適用可能であることに留意されたい。
ットワーク(バス)104およびメモリ・システム10
5に結合されたN個のプロセッサ101〜103を含
む、マルチプロセッシング・システム100が示されて
いる。しかし、本発明は、それにより複数の構成要素が
メモリ・システムまたは入出力装置などの他の構成要素
にストアおよび読取り要求を送信するような、どのよう
なシステムにも適用可能であることに留意されたい。
【0012】各プロセッサ101〜103は、バス10
4を介してメモリ105に複数のストア要求109およ
びロード要求110を送信することができる。各プロセ
ッサ101〜103内のカウンタおよびしきい値検出回
路107はストア要求109を監視する。ストア操作の
反復障害を検出することは、回路107の役目である。
これは、特定のストア要求で障害が発生した回数のカウ
ント、特定のストア要求がバス104の制御のために正
常にアービトレーションできなかった回数のカウント、
または正常に完了せずにストア要求が発行された後で経
過するクロック・サイクル数のカウントを含む、どのよ
うなやり方でも決定することができる。ストア要求10
9は、相互接続ネットワーク(バス)104上で送信さ
れ、プロセッサ101〜103、メモリ105、または
代用物を含む、そのバス用の通信プロトコルを使用する
任意のバス関係者によって拒否されたときに、完了して
いないと見なされる。それによりこのような試行をカウ
ントできる手段は、当業者には周知のものであり、実施
される特定のバス・プロトコルの詳細を当業者は熟知し
ている。設計しきい値に達すると、Store_Stalled信号
106がアサートされ、すべてのプロセッサ101〜1
03に送信されて、ストアがメモリに書き込もうという
その試行中に機能停止し、したがって、メモリ105へ
のバス104を使用するためにより多くの機会を必要と
することを示す。すべてのプロセッサ101〜103
(ストアが機能停止したものを含む)はこの信号106
を監視し、アサートされると、読取り要求110をバス
104へのそれぞれの経路上に置くことを取り止める。
これは、遅延ロード要求回路108によって行われる。
ロード(メモリ読取り)要求110は一般に、システム
レベルのアービトレーションのためにバス104に送信
される。複数の未解決の読取り要求110をサポートす
るプロセッサでは、このような要求と選択された要求と
の間で内部でアービトレーションを行い、さらにシステ
ムレベルのアービトレーションのためにこのような要求
をバス104に送信することができる。Store_Stalled
信号106がアサートされたことが分かったときにこの
ような要求をゲートすることにより、読取り要求110
をバス上に置かないようにすることができる。以前の読
取り要求110がすでにバス104上に置かれている場
合、その要求は、選択された実施態様の詳細に応じて、
完了できる場合もあれば、打ち切られる場合もある。
4を介してメモリ105に複数のストア要求109およ
びロード要求110を送信することができる。各プロセ
ッサ101〜103内のカウンタおよびしきい値検出回
路107はストア要求109を監視する。ストア操作の
反復障害を検出することは、回路107の役目である。
これは、特定のストア要求で障害が発生した回数のカウ
ント、特定のストア要求がバス104の制御のために正
常にアービトレーションできなかった回数のカウント、
または正常に完了せずにストア要求が発行された後で経
過するクロック・サイクル数のカウントを含む、どのよ
うなやり方でも決定することができる。ストア要求10
9は、相互接続ネットワーク(バス)104上で送信さ
れ、プロセッサ101〜103、メモリ105、または
代用物を含む、そのバス用の通信プロトコルを使用する
任意のバス関係者によって拒否されたときに、完了して
いないと見なされる。それによりこのような試行をカウ
ントできる手段は、当業者には周知のものであり、実施
される特定のバス・プロトコルの詳細を当業者は熟知し
ている。設計しきい値に達すると、Store_Stalled信号
106がアサートされ、すべてのプロセッサ101〜1
03に送信されて、ストアがメモリに書き込もうという
その試行中に機能停止し、したがって、メモリ105へ
のバス104を使用するためにより多くの機会を必要と
することを示す。すべてのプロセッサ101〜103
(ストアが機能停止したものを含む)はこの信号106
を監視し、アサートされると、読取り要求110をバス
104へのそれぞれの経路上に置くことを取り止める。
これは、遅延ロード要求回路108によって行われる。
ロード(メモリ読取り)要求110は一般に、システム
レベルのアービトレーションのためにバス104に送信
される。複数の未解決の読取り要求110をサポートす
るプロセッサでは、このような要求と選択された要求と
の間で内部でアービトレーションを行い、さらにシステ
ムレベルのアービトレーションのためにこのような要求
をバス104に送信することができる。Store_Stalled
信号106がアサートされたことが分かったときにこの
ような要求をゲートすることにより、読取り要求110
をバス上に置かないようにすることができる。以前の読
取り要求110がすでにバス104上に置かれている場
合、その要求は、選択された実施態様の詳細に応じて、
完了できる場合もあれば、打ち切られる場合もある。
【0013】Store_Stalled信号は一般的な双方向信号
にすることができ、数回の試行障害または上記の何らか
の他の設計しきい値の後にプロセッサによってロー(lo
w)にアサートされる。これは、抵抗により引き上げら
れる、オープンドレイン・ドライブを有することができ
る。プロセッサおよびシステム設計に応じて、これは非
同期で送信される場合もあれば、プロセッサ・クロック
と同期する必要がある場合もある。
にすることができ、数回の試行障害または上記の何らか
の他の設計しきい値の後にプロセッサによってロー(lo
w)にアサートされる。これは、抵抗により引き上げら
れる、オープンドレイン・ドライブを有することができ
る。プロセッサおよびシステム設計に応じて、これは非
同期で送信される場合もあれば、プロセッサ・クロック
と同期する必要がある場合もある。
【0014】図2を参照すると、同図には、本発明のプ
ロセスの流れ図が示されている。ステップ201では、
回路107は各プロセッサ101〜103内のストア要
求109を監視する。任意の1つのプロセッサ101〜
103内では、ステップ202で設計しきい値に達した
場合、プロセスはステップ203に移行し、そこでStor
e_Stalled信号がアサートされ、すべてのプロセッサ1
01〜103に送信される。その後、ステップ204で
は、各プロセッサ101〜103内の遅延ロード要求回
路108により、プロセッサ101〜103はこのStor
e_Stalled信号の受信に応答して読取り要求110の送
信を取り止める(延期する)。これは、機能停止ストア
操作が完了するまで、ステップ205で続行される。ス
トア要求109は、プロセッサ101〜103、メモリ
105、または代用物を含む、そのバス用の通信プロト
コルを使用する任意のバス関係者によって拒否されずに
相互接続ネットワーク(バス)104上で送信されたと
きに、完了したと見なされる。それによりこのような試
行をカウントできる手段は、当業者には周知のものであ
る。機能停止したストア操作が正常に完了すると、スト
アが機能停止したプロセッサ内のカウンタおよびしきい
値検出回路107は初期状態に再プログラミングされ、
他の機能停止ストアを監視できるようになる。次に、ス
テップ206では、Store_Stalled信号がアサート解除
される。これに応答して、ステップ207では、各プロ
セッサ101〜103内の回路108により、これらの
プロセッサがそれぞれのロード要求110を続行できる
ようになる。
ロセスの流れ図が示されている。ステップ201では、
回路107は各プロセッサ101〜103内のストア要
求109を監視する。任意の1つのプロセッサ101〜
103内では、ステップ202で設計しきい値に達した
場合、プロセスはステップ203に移行し、そこでStor
e_Stalled信号がアサートされ、すべてのプロセッサ1
01〜103に送信される。その後、ステップ204で
は、各プロセッサ101〜103内の遅延ロード要求回
路108により、プロセッサ101〜103はこのStor
e_Stalled信号の受信に応答して読取り要求110の送
信を取り止める(延期する)。これは、機能停止ストア
操作が完了するまで、ステップ205で続行される。ス
トア要求109は、プロセッサ101〜103、メモリ
105、または代用物を含む、そのバス用の通信プロト
コルを使用する任意のバス関係者によって拒否されずに
相互接続ネットワーク(バス)104上で送信されたと
きに、完了したと見なされる。それによりこのような試
行をカウントできる手段は、当業者には周知のものであ
る。機能停止したストア操作が正常に完了すると、スト
アが機能停止したプロセッサ内のカウンタおよびしきい
値検出回路107は初期状態に再プログラミングされ、
他の機能停止ストアを監視できるようになる。次に、ス
テップ206では、Store_Stalled信号がアサート解除
される。これに応答して、ステップ207では、各プロ
セッサ101〜103内の回路108により、これらの
プロセッサがそれぞれのロード要求110を続行できる
ようになる。
【0015】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0016】(1)第1のプロセッサと、第2のプロセ
ッサと、前記第1および第2のプロセッサを結合するバ
スとを含むマルチプロセッサ・システムであって、前記
第1のプロセッサが、前記第1のプロセッサ内の機能停
止ストア操作を検出する回路と、前記第2のプロセッサ
にstore_stalled信号を送信する回路とを含み、前記第
2のプロセッサが、前記第1のプロセッサからの前記st
ore_stalled信号の受信に応答して、前記第2のプロセ
ッサからの読取り操作を延期する回路を含む、マルチプ
ロセッサ・システム。 (2)前記第1のプロセッサが、前記ストア操作の完了
時に前記第2のプロセッサに前記store_stalled信号を
送信するのを中断する回路をさらに含む、上記(1)に
記載のシステム。 (3)前記第2のプロセッサが、前記store_stalled信
号の中断に応答して前記読取り操作の延期を中断する回
路をさらに含む、上記(2)に記載のシステム。 (4)検出した前記機能停止ストア操作に関連する指定
のしきい値に達したときに前記store_stalled信号が送
信される、上記(1)に記載のシステム。 (5)前記送信回路が、前記機能停止ストア操作に障害
が発生した回数をカウントするカウンタをさらに含む、
上記(4)に記載のシステム。 (6)前記送信回路が、前記機能停止ストア操作が前記
バスの制御を正常にアービトレーションできなかった回
数をカウントするカウンタをさらに含む、上記(5)に
記載のシステム。 (7)前記送信回路が、前記機能停止ストア操作の試行
後のサイクル数をカウントするカウンタをさらに含む、
上記(4)に記載のシステム。 (8)前記ストアおよび読取り操作が、前記バスに結合
されたメモリ・システム向けである、上記(1)に記載
のシステム。 (9)前記第1のプロセッサが、前記第1のプロセッサ
からの前記store_stalled信号の受信に応答して、前記
第1のプロセッサからの読取り操作を延期する第2の回
路を含む、上記(1)に記載のシステム。 (10)第1のプロセッサと、第2のプロセッサと、前
記第1および第2のプロセッサを結合するバスとを含む
マルチプロセッサ・システムにおいて、前記第1のプロ
セッサ内の機能停止ストア操作を検出するステップと、
前記第2のプロセッサにstore_stalled信号を送信する
ステップと、前記第1のプロセッサからの前記store_st
alled信号の受信に応答して、前記第2のプロセッサか
らの読取り操作を延期するステップとを含む方法。 (11)前記ストア操作の完了時に前記第2のプロセッ
サに前記store_stalled信号を送信するのを中断するス
テップをさらに含む、上記(10)に記載の方法。 (12)前記store_stalled信号の中断に応答して前記
読取り操作の延期を中断するステップをさらに含む、上
記(11)に記載の方法。 (13)検出した前記機能停止ストア操作に関連する指
定のしきい値に達したときに前記store_stalled信号が
送信される、上記(12)に記載の方法。 (14)前記送信ステップが、前記機能停止ストア操作
に障害が発生した回数をカウントするステップをさらに
含む、上記(13)に記載の方法。 (15)前記送信ステップが、前記機能停止ストア操作
が前記バスの制御を正常にアービトレーションできなか
った回数をカウントするステップをさらに含む、上記
(13)に記載の方法。 (16)前記送信ステップが、前記機能停止ストア操作
の試行後のサイクル数をカウントするステップをさらに
含む、上記(13)に記載の方法。 (17)前記ストアおよび読取り操作が、前記バスに結
合されたメモリ・システム向けである、上記(13)に
記載の方法。 (18)前記第1のプロセッサからの前記store_stalle
d信号の受信に応答して、前記第1のプロセッサからの
読取り操作を延期するステップをさらに含む、上記(1
0)に記載の方法。
ッサと、前記第1および第2のプロセッサを結合するバ
スとを含むマルチプロセッサ・システムであって、前記
第1のプロセッサが、前記第1のプロセッサ内の機能停
止ストア操作を検出する回路と、前記第2のプロセッサ
にstore_stalled信号を送信する回路とを含み、前記第
2のプロセッサが、前記第1のプロセッサからの前記st
ore_stalled信号の受信に応答して、前記第2のプロセ
ッサからの読取り操作を延期する回路を含む、マルチプ
ロセッサ・システム。 (2)前記第1のプロセッサが、前記ストア操作の完了
時に前記第2のプロセッサに前記store_stalled信号を
送信するのを中断する回路をさらに含む、上記(1)に
記載のシステム。 (3)前記第2のプロセッサが、前記store_stalled信
号の中断に応答して前記読取り操作の延期を中断する回
路をさらに含む、上記(2)に記載のシステム。 (4)検出した前記機能停止ストア操作に関連する指定
のしきい値に達したときに前記store_stalled信号が送
信される、上記(1)に記載のシステム。 (5)前記送信回路が、前記機能停止ストア操作に障害
が発生した回数をカウントするカウンタをさらに含む、
上記(4)に記載のシステム。 (6)前記送信回路が、前記機能停止ストア操作が前記
バスの制御を正常にアービトレーションできなかった回
数をカウントするカウンタをさらに含む、上記(5)に
記載のシステム。 (7)前記送信回路が、前記機能停止ストア操作の試行
後のサイクル数をカウントするカウンタをさらに含む、
上記(4)に記載のシステム。 (8)前記ストアおよび読取り操作が、前記バスに結合
されたメモリ・システム向けである、上記(1)に記載
のシステム。 (9)前記第1のプロセッサが、前記第1のプロセッサ
からの前記store_stalled信号の受信に応答して、前記
第1のプロセッサからの読取り操作を延期する第2の回
路を含む、上記(1)に記載のシステム。 (10)第1のプロセッサと、第2のプロセッサと、前
記第1および第2のプロセッサを結合するバスとを含む
マルチプロセッサ・システムにおいて、前記第1のプロ
セッサ内の機能停止ストア操作を検出するステップと、
前記第2のプロセッサにstore_stalled信号を送信する
ステップと、前記第1のプロセッサからの前記store_st
alled信号の受信に応答して、前記第2のプロセッサか
らの読取り操作を延期するステップとを含む方法。 (11)前記ストア操作の完了時に前記第2のプロセッ
サに前記store_stalled信号を送信するのを中断するス
テップをさらに含む、上記(10)に記載の方法。 (12)前記store_stalled信号の中断に応答して前記
読取り操作の延期を中断するステップをさらに含む、上
記(11)に記載の方法。 (13)検出した前記機能停止ストア操作に関連する指
定のしきい値に達したときに前記store_stalled信号が
送信される、上記(12)に記載の方法。 (14)前記送信ステップが、前記機能停止ストア操作
に障害が発生した回数をカウントするステップをさらに
含む、上記(13)に記載の方法。 (15)前記送信ステップが、前記機能停止ストア操作
が前記バスの制御を正常にアービトレーションできなか
った回数をカウントするステップをさらに含む、上記
(13)に記載の方法。 (16)前記送信ステップが、前記機能停止ストア操作
の試行後のサイクル数をカウントするステップをさらに
含む、上記(13)に記載の方法。 (17)前記ストアおよび読取り操作が、前記バスに結
合されたメモリ・システム向けである、上記(13)に
記載の方法。 (18)前記第1のプロセッサからの前記store_stalle
d信号の受信に応答して、前記第1のプロセッサからの
読取り操作を延期するステップをさらに含む、上記(1
0)に記載の方法。
【図1】本発明により構成されたマルチプロセッシング
・システムを示す図である。
・システムを示す図である。
【図2】本発明を実施するためのプロセスを示す図であ
る。
る。
100 マルチプロセッシング・システム 101 プロセッサ1 102 プロセッサ2 103 プロセッサN 104 相互接続ネットワーク(たとえば、バス) 105 メモリ 106 Store_Stalled信号 107 カウンタおよびしきい値検出回路 108 遅延ロード要求回路 109 ストア要求 110 ロード要求
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・ジェイ・メイフィールド アメリカ合衆国78730 テキサス州オース チン グレンレーク・ドライヴ9111 (72)発明者 ロバート・ジェームズ・リーズ アメリカ合衆国78717 テキサス州オース チン エフライムロード8100 (72)発明者 マイケル・トマス・ヴァーデン アメリカ合衆国78729 テキサス州オース チン フォックスハウンド・トレール8200
Claims (18)
- 【請求項1】第1のプロセッサと、 第2のプロセッサと、 前記第1および第2のプロセッサを結合するバスとを含
むマルチプロセッサ・システムであって、 前記第1のプロセッサが、 前記第1のプロセッサ内の機能停止ストア操作を検出す
る回路と、 前記第2のプロセッサにstore_stalled信号を送信する
回路とを含み、前記第2のプロセッサが、 前記第1のプロセッサからの前記store_stalled信号の
受信に応答して、前記第2のプロセッサからの読取り操
作を延期する回路を含む、マルチプロセッサ・システ
ム。 - 【請求項2】前記第1のプロセッサが、前記ストア操作
の完了時に前記第2のプロセッサに前記store_stalled
信号を送信するのを中断する回路をさらに含む、請求項
1に記載のシステム。 - 【請求項3】前記第2のプロセッサが、前記store_stal
led信号の中断に応答して前記読取り操作の延期を中断
する回路をさらに含む、請求項2に記載のシステム。 - 【請求項4】検出した前記機能停止ストア操作に関連す
る指定のしきい値に達したときに前記store_stalled信
号が送信される、請求項1に記載のシステム。 - 【請求項5】前記送信回路が、前記機能停止ストア操作
に障害が発生した回数をカウントするカウンタをさらに
含む、請求項4に記載のシステム。 - 【請求項6】前記送信回路が、前記機能停止ストア操作
が前記バスの制御を正常にアービトレーションできなか
った回数をカウントするカウンタをさらに含む、請求項
5に記載のシステム。 - 【請求項7】前記送信回路が、前記機能停止ストア操作
の試行後のサイクル数をカウントするカウンタをさらに
含む、請求項4に記載のシステム。 - 【請求項8】前記ストアおよび読取り操作が、前記バス
に結合されたメモリ・システム向けである、請求項1に
記載のシステム。 - 【請求項9】前記第1のプロセッサが、前記第1のプロ
セッサからの前記store_stalled信号の受信に応答し
て、前記第1のプロセッサからの読取り操作を延期する
第2の回路を含む、請求項1に記載のシステム。 - 【請求項10】第1のプロセッサと、第2のプロセッサ
と、前記第1および第2のプロセッサを結合するバスと
を含むマルチプロセッサ・システムにおいて、 前記第1のプロセッサ内の機能停止ストア操作を検出す
るステップと、 前記第2のプロセッサにstore_stalled信号を送信する
ステップと、 前記第1のプロセッサからの前記store_stalled信号の
受信に応答して、前記第2のプロセッサからの読取り操
作を延期するステップとを含む方法。 - 【請求項11】前記ストア操作の完了時に前記第2のプ
ロセッサに前記store_stalled信号を送信するのを中断
するステップをさらに含む、請求項10に記載の方法。 - 【請求項12】前記store_stalled信号の中断に応答し
て前記読取り操作の延期を中断するステップをさらに含
む、請求項11に記載の方法。 - 【請求項13】検出した前記機能停止ストア操作に関連
する指定のしきい値に達したときに前記store_stalled
信号が送信される、請求項12に記載の方法。 - 【請求項14】前記送信ステップが、前記機能停止スト
ア操作に障害が発生した回数をカウントするステップを
さらに含む、請求項13に記載の方法。 - 【請求項15】前記送信ステップが、前記機能停止スト
ア操作が前記バスの制御を正常にアービトレーションで
きなかった回数をカウントするステップをさらに含む、
請求項13に記載の方法。 - 【請求項16】前記送信ステップが、前記機能停止スト
ア操作の試行後のサイクル数をカウントするステップを
さらに含む、請求項13に記載の方法。 - 【請求項17】前記ストアおよび読取り操作が、前記バ
スに結合されたメモリ・システム向けである、請求項1
3に記載の方法。 - 【請求項18】前記第1のプロセッサからの前記store_
stalled信号の受信に応答して、前記第1のプロセッサ
からの読取り操作を延期するステップをさらに含む、請
求項10に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/026,088 US6178493B1 (en) | 1998-02-19 | 1998-02-19 | Multiprocessor stalled store detection |
| US09/026088 | 1998-02-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11272637A true JPH11272637A (ja) | 1999-10-08 |
Family
ID=21829822
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11032451A Pending JPH11272637A (ja) | 1998-02-19 | 1999-02-10 | マルチプロセッサ・システムおよび方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6178493B1 (ja) |
| EP (1) | EP0938049A2 (ja) |
| JP (1) | JPH11272637A (ja) |
| CN (1) | CN1226703A (ja) |
| CA (1) | CA2260312A1 (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4181839B2 (ja) * | 2002-09-30 | 2008-11-19 | キヤノン株式会社 | システムコントローラ |
| US7590784B2 (en) * | 2006-08-31 | 2009-09-15 | Intel Corporation | Detecting and resolving locks in a memory unit |
| US20080065873A1 (en) * | 2006-09-11 | 2008-03-13 | Ronald Hall | Dynamic livelock resolution with variable delay memory access queue |
| US8131980B2 (en) * | 2006-09-11 | 2012-03-06 | International Business Machines Corporation | Structure for dynamic livelock resolution with variable delay memory access queue |
| US8560796B2 (en) * | 2010-03-29 | 2013-10-15 | Freescale Semiconductor, Inc. | Scheduling memory access requests using predicted memory timing and state information |
| US8572322B2 (en) * | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
| US8447930B2 (en) | 2010-06-22 | 2013-05-21 | International Business Machines Corporation | Managing in-line store throughput reduction |
| US8516577B2 (en) | 2010-09-22 | 2013-08-20 | Intel Corporation | Regulating atomic memory operations to prevent denial of service attack |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4591975A (en) * | 1983-07-18 | 1986-05-27 | Data General Corporation | Data processing system having dual processors |
| US5710912A (en) * | 1993-05-06 | 1998-01-20 | Hewlett-Packard Co. | Method and apparatus for enabling a computer system to adjust for latency assumptions |
| US5848276A (en) * | 1993-12-06 | 1998-12-08 | Cpu Technology, Inc. | High speed, direct register access operation for parallel processing units |
| US5909561A (en) * | 1997-04-14 | 1999-06-01 | International Business Machines Corporation | Apparatus and method for separately layering cache and architectural specific functions in different operational controllers to facilitate design extension |
-
1998
- 1998-02-19 US US09/026,088 patent/US6178493B1/en not_active Expired - Fee Related
- 1998-11-26 CN CN98122810.0A patent/CN1226703A/zh active Pending
-
1999
- 1999-01-18 EP EP99300320A patent/EP0938049A2/en not_active Withdrawn
- 1999-01-25 CA CA002260312A patent/CA2260312A1/en not_active Abandoned
- 1999-02-10 JP JP11032451A patent/JPH11272637A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0938049A2 (en) | 1999-08-25 |
| US6178493B1 (en) | 2001-01-23 |
| CN1226703A (zh) | 1999-08-25 |
| CA2260312A1 (en) | 1999-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6223299B1 (en) | Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables | |
| US4864496A (en) | Bus adapter module for interconnecting busses in a multibus computer system | |
| US4979097A (en) | Method and apparatus for interconnecting busses in a multibus computer system | |
| US5452443A (en) | Multi-processor system with fault detection | |
| US5191649A (en) | Multiprocessor computer system with data bus and ordered and out-of-order split data transactions | |
| US6029204A (en) | Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries | |
| JP2641819B2 (ja) | キャッシュ・コントローラ並びにフォールト・トレラント・コンピュータ及びそのデータ転送方式 | |
| US8788879B2 (en) | Non-volatile memory for checkpoint storage | |
| JPH0625985B2 (ja) | 多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置 | |
| JPH02255932A (ja) | マルチプロセツサ・システム | |
| US4897786A (en) | Bus window interlock | |
| US5293384A (en) | Microprocessor bus interface protocol analyzer | |
| JPH11272637A (ja) | マルチプロセッサ・システムおよび方法 | |
| US4974153A (en) | Repeater interlock scheme for transactions between two buses including transaction and interlock buffers | |
| US10318466B2 (en) | Method and apparatus for handling outstanding interconnect transactions | |
| JP3891994B2 (ja) | 順番のある(in−order)キューをドレインする(drain)システムおよび方法 | |
| KR0153487B1 (ko) | 장치간의 통신 수행 방법 및 통신 수행 시스템 | |
| US6898732B1 (en) | Auto quiesce | |
| CN119473801A (zh) | 基于axi协议的总线超时监测方法、装置及系统 | |
| EP4022445B1 (en) | An apparatus and method for handling ordered transactions | |
| US5671370A (en) | Alternating data valid control signals for high performance data transfer | |
| US8122175B2 (en) | Opportunistic transmission of software state information within a link based computing system | |
| US6898675B1 (en) | Data received before coherency window for a snoopy bus | |
| JP2764452B2 (ja) | バス転送応答方法 | |
| JP2903551B2 (ja) | マルチプロセッサの同期化機構 |