JPH01258057A - 複数のプロセッサを同期する装置 - Google Patents
複数のプロセッサを同期する装置Info
- Publication number
- JPH01258057A JPH01258057A JP63282306A JP28230688A JPH01258057A JP H01258057 A JPH01258057 A JP H01258057A JP 63282306 A JP63282306 A JP 63282306A JP 28230688 A JP28230688 A JP 28230688A JP H01258057 A JPH01258057 A JP H01258057A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- event
- cpu
- events
- counted
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
- G06F11/184—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1687—Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1691—Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
- G06F11/184—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
- G06F11/185—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality and the voting is itself performed redundantly
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
この発明はデータ処理システムに関し、特にデータの保
全性を保証したり、故障の許容を与えるために複数のプ
ロセッサを同期する方法及び装置に関する。
全性を保証したり、故障の許容を与えるために複数のプ
ロセッサを同期する方法及び装置に関する。
(従来の技術と課題)
マイクロプロセッサの使用が普及するにつれ、データの
保全性を保証し、またシステム内におけるハードウェア
やその他の故障の許容を与える必要がますます重要にな
ってきた。データの保全性を保証する1つの方法では、
同じプログラムを実行し、その結果を比較してエラーを
検出するため2つのプロセッサを用いる。エラーが検出
されると、適切なエラールーチンが呼び出される。故障
の許容を与える方法は、同じプログラムを実行する3つ
以上のプロセッサを含み、それらの結果の多数決を用い
て1つ以上の誤作動プロセッサを許容する。あるいは、
2対のプロセッサを用意し、一方の対でエラーが検出さ
れたら、その対が動作不能とされ、他方の対で処理が継
続されるように構成されることもある。上記いずれの構
成でも、各結果を比較したりまたは票決するために、プ
ロセッサが同期されねばならない。
保全性を保証し、またシステム内におけるハードウェア
やその他の故障の許容を与える必要がますます重要にな
ってきた。データの保全性を保証する1つの方法では、
同じプログラムを実行し、その結果を比較してエラーを
検出するため2つのプロセッサを用いる。エラーが検出
されると、適切なエラールーチンが呼び出される。故障
の許容を与える方法は、同じプログラムを実行する3つ
以上のプロセッサを含み、それらの結果の多数決を用い
て1つ以上の誤作動プロセッサを許容する。あるいは、
2対のプロセッサを用意し、一方の対でエラーが検出さ
れたら、その対が動作不能とされ、他方の対で処理が継
続されるように構成されることもある。上記いずれの構
成でも、各結果を比較したりまたは票決するために、プ
ロセッサが同期されねばならない。
データの保全性を保証し、故障の許容を与える既知のシ
ステムは、主に次の4つのカテゴリーに分けられる:1
)非故障許容クロックを用いるロックステップシステム
:2)故障許容クロックを用いるロックステップシステ
ム:3)バスインタフェース信号を票決するシステム:
及び4)ソフトウェアを通じて同期化及び票決を実施す
るシステム。故障許容クロックを含まないロックステッ
ププロセッサの例は、1984年6月5日付けでロバー
ト・レイド(Robert Re1d )に発行された
米国特許箱4,453.215号に与えられている。こ
の特許は1つの非故障許容クロックを用いたマルチ処理
システムを開示しており、誤った比較のエラーを避ける
ため、ステンプロックされた各プロセッサが同一のバス
サイクルのタイミングを持たなければならない。つまり
、システムクロック自体が、システム全体の故障に影響
を及ぼし得る1つのエレメントである。さらに、一部の
プロセッサは非常に高い周波数のクロック源を必要とし
、各クロック源は一般に、1/2または1クロック周期
内で同期されねばならない。これを高周波数のクロック
で達成するのは、不可能でないとしても困難である。さ
らに、かかるシステムで使えるプロセッサの種類には、
ロックステップの厳しい特性のため制限がある。一部の
プロセッサはプロセッサチップ上にキャッシュメモリを
有し、これらのメモリは製造上の欠陥のためアクセスで
きないメモリロケーションを有することがある。これら
の欠陥が個別のキャッシュミスと再試行を生じ、ひいて
はプロセッサをステップから脱出させてしまう。さらに
一部のプロセッサでは、内部の状態全体を一意的に初期
設定することができない。
ステムは、主に次の4つのカテゴリーに分けられる:1
)非故障許容クロックを用いるロックステップシステム
:2)故障許容クロックを用いるロックステップシステ
ム:3)バスインタフェース信号を票決するシステム:
及び4)ソフトウェアを通じて同期化及び票決を実施す
るシステム。故障許容クロックを含まないロックステッ
ププロセッサの例は、1984年6月5日付けでロバー
ト・レイド(Robert Re1d )に発行された
米国特許箱4,453.215号に与えられている。こ
の特許は1つの非故障許容クロックを用いたマルチ処理
システムを開示しており、誤った比較のエラーを避ける
ため、ステンプロックされた各プロセッサが同一のバス
サイクルのタイミングを持たなければならない。つまり
、システムクロック自体が、システム全体の故障に影響
を及ぼし得る1つのエレメントである。さらに、一部の
プロセッサは非常に高い周波数のクロック源を必要とし
、各クロック源は一般に、1/2または1クロック周期
内で同期されねばならない。これを高周波数のクロック
で達成するのは、不可能でないとしても困難である。さ
らに、かかるシステムで使えるプロセッサの種類には、
ロックステップの厳しい特性のため制限がある。一部の
プロセッサはプロセッサチップ上にキャッシュメモリを
有し、これらのメモリは製造上の欠陥のためアクセスで
きないメモリロケーションを有することがある。これら
の欠陥が個別のキャッシュミスと再試行を生じ、ひいて
はプロセッサをステップから脱出させてしまう。さらに
一部のプロセッサでは、内部の状態全体を一意的に初期
設定することができない。
故障許容クロックを用いるロックステップシステムの一
例は、スミス、ティー・バジル(Sm1th。
例は、スミス、ティー・バジル(Sm1th。
T、 Ba5il )の[高性能の故障許容実時間コン
ビュS m osium oLLす1tTO幻rant
Con+ utin 、 pp。
ビュS m osium oLLす1tTO幻rant
Con+ utin 、 pp。
14−19.1986年7月、に開示されている。
このシステムは、故障許容クロックを含まないロックス
テップシステムにおける問題の一部を、故障許容クロッ
ク発生回路を用い複数の低速クロックを発生することに
よって軽減する。故障許容クロック発生回路は、プロセ
ッサクロックから独立している。この方式の欠点は、唯
−I10クロック速度を除いて各プロセッサが異なるク
ロック速度を有し、最も低いI10クロックをそれより
速いプロセッサに容易に合わせられない点にある。
テップシステムにおける問題の一部を、故障許容クロッ
ク発生回路を用い複数の低速クロックを発生することに
よって軽減する。故障許容クロック発生回路は、プロセ
ッサクロックから独立している。この方式の欠点は、唯
−I10クロック速度を除いて各プロセッサが異なるク
ロック速度を有し、最も低いI10クロックをそれより
速いプロセッサに容易に合わせられない点にある。
その結果、全てのIloが遅いクロックに同期されねば
ならない。これは、I10性能を著しく低下せしめる。
ならない。これは、I10性能を著しく低下せしめる。
さらに、クロック信号の票決はフィードバックを含むア
ナログシステムを用いてなされるので、故障許容クロッ
クは正しいことを立証するのが難しく、従ってその演算
を検証するのにプール弐を使えない。
ナログシステムを用いてなされるので、故障許容クロッ
クは正しいことを立証するのが難しく、従ってその演算
を検証するのにプール弐を使えない。
バスインタフェース信号が票決される同期方式は、ディ
ヴイース、デイ(Davies、 D、 )とウオーカ
ーリー、ジェイ(Wakerly、 J、 )の「冗長
システムにおける同期と整合J 、IEEE Tran
s ctionsいジ琲捷rs、 pp、 531−5
39.1978年6月、及びマンクコネル、ニス(Mc
Connel、 S )とジ−ライオレフ、デ4 (
Siewiorek、 D、 )の「同期と票決J 、
IEEE Trans ctions on −P主s
、 pp。
ヴイース、デイ(Davies、 D、 )とウオーカ
ーリー、ジェイ(Wakerly、 J、 )の「冗長
システムにおける同期と整合J 、IEEE Tran
s ctionsいジ琲捷rs、 pp、 531−5
39.1978年6月、及びマンクコネル、ニス(Mc
Connel、 S )とジ−ライオレフ、デ4 (
Siewiorek、 D、 )の「同期と票決J 、
IEEE Trans ctions on −P主s
、 pp。
161−164.1981年2月、に示されている。こ
れらの論文は、独立のクロックから進行し、インタフェ
ース信号の票決を用いて同期化を行うシステムを示唆し
ている。例えば、複数のプロセッサが対応する複数のメ
モリに接続されることがある。あるプロセッサがそれに
対応したメモリをリクエストすると、該メモリは、それ
自身の受信リクエストについて確認応答する前に、少な
くとも1つの他のプロセッサから対応メモリへのリクエ
ストを検出するまで待つ。同様にプロセッサは、少なく
とも2つのメモリからの確認応答が受信されるまで、メ
モリの確認応答を認識しない。この方法は故障許容クロ
ックの必要がなく、また(エラーによる再試行、キャツ
シュヒツト率の変化、非同期ロジックなどの結果として
の)「追加の」クロックサイクルを許容できるが、次の
ような欠点を有する。例えば、待ちの必要が、多くの速
度が重要なバスインタフェース信号のタイミングに悪影
響を及ぼす。これは、性能に非常に大きな影響をもたら
すことがある。さらにどの論文も、非請求の外部割り込
みを同期化するという難しい問題に対処していない。各
プロセッサが異なる時点でサンプルを行うと、あるプロ
セッサは割り込み信号を検出できるが、他のものは検出
できない。
れらの論文は、独立のクロックから進行し、インタフェ
ース信号の票決を用いて同期化を行うシステムを示唆し
ている。例えば、複数のプロセッサが対応する複数のメ
モリに接続されることがある。あるプロセッサがそれに
対応したメモリをリクエストすると、該メモリは、それ
自身の受信リクエストについて確認応答する前に、少な
くとも1つの他のプロセッサから対応メモリへのリクエ
ストを検出するまで待つ。同様にプロセッサは、少なく
とも2つのメモリからの確認応答が受信されるまで、メ
モリの確認応答を認識しない。この方法は故障許容クロ
ックの必要がなく、また(エラーによる再試行、キャツ
シュヒツト率の変化、非同期ロジックなどの結果として
の)「追加の」クロックサイクルを許容できるが、次の
ような欠点を有する。例えば、待ちの必要が、多くの速
度が重要なバスインタフェース信号のタイミングに悪影
響を及ぼす。これは、性能に非常に大きな影響をもたら
すことがある。さらにどの論文も、非請求の外部割り込
みを同期化するという難しい問題に対処していない。各
プロセッサが異なる時点でサンプルを行うと、あるプロ
セッサは割り込み信号を検出できるが、他のものは検出
できない。
同期と票決両方がソフトウェアを介して実施されるシス
テムは、ワインストック、チャールス・ビー(Wein
stock、 Charles B、 )のrS I
FT :実施における設計J 、PROC,10th
AnnualS m osium on Fault
Tolerant Cow utin 、 pp。
テムは、ワインストック、チャールス・ビー(Wein
stock、 Charles B、 )のrS I
FT :実施における設計J 、PROC,10th
AnnualS m osium on Fault
Tolerant Cow utin 、 pp。
75−77.1980年10月1.に開示されているソ
フトウェア実施故障許容(SIFT)、フリソン、ニス
・ジー(Fr1son、 S、G、 )とウエンスリー
、ジョン・エッチ(Wensly、 John H,)
の「相互作用の一貫性とTMRシステムの設計に対する
その影響J % PROC,12th Annua
S m osiumon Fault Toleran
t Com utL!!1Lpp、 223−233.
1980年6月、に開示されているオウガスト・システ
ムズ・シリーズ300、及びヨネダ、ティー(Yone
da、 T )他の「ルーズに同期されたTMRシステ
ム用割り込みハンドラーの実施J 、PROC。
フトウェア実施故障許容(SIFT)、フリソン、ニス
・ジー(Fr1son、 S、G、 )とウエンスリー
、ジョン・エッチ(Wensly、 John H,)
の「相互作用の一貫性とTMRシステムの設計に対する
その影響J % PROC,12th Annua
S m osiumon Fault Toleran
t Com utL!!1Lpp、 223−233.
1980年6月、に開示されているオウガスト・システ
ムズ・シリーズ300、及びヨネダ、ティー(Yone
da、 T )他の「ルーズに同期されたTMRシステ
ム用割り込みハンドラーの実施J 、PROC。
15th Annual S m osium on
Fault Toleant1初す阻↓↓nB、 pp
、246−251.1985年6月、に開示されている
実験システムを含んでいる。これらのシステムは独立の
クロックを用いているので、「追加の」クロックサイク
ルを許容できる。
Fault Toleant1初す阻↓↓nB、 pp
、246−251.1985年6月、に開示されている
実験システムを含んでいる。これらのシステムは独立の
クロックを用いているので、「追加の」クロックサイク
ルを許容できる。
しかし一方これらのシステムは、各プロセッサ間でメツ
セージを交換することによって票決と同期化を行う特別
なソフトウェアを必要とする。標準的なシステムのソフ
トウェアは使えない。代わりに、全てのプロセッサが割
り込みに等しく対応するのを保証するため複雑なソフト
ウェアが必要であり、この追加のソフトウェアがシステ
ムの性能を著しく低下させている。
セージを交換することによって票決と同期化を行う特別
なソフトウェアを必要とする。標準的なシステムのソフ
トウェアは使えない。代わりに、全てのプロセッサが割
り込みに等しく対応するのを保証するため複雑なソフト
ウェアが必要であり、この追加のソフトウェアがシステ
ムの性能を著しく低下させている。
(課題を解決するための手段)
本発明は、複数のプロセッサをルーズに同期する方法及
び装置に関わる。本発明による装置は、故障許容クロッ
ク回路を必要とせずに、2つ以上のプロセッサを故障を
検出するつまり故障を許容する形で構成可能とする。各
プロセッサは、クロック速度の差あるいは「追加」クロ
ックサイクルの発生いずれによるものであれ、同一のア
ルゴリズムを異なる速度で自由に実行できる。「追加の
」クロックサイクルは、エラーによる再試行、キャツシ
ュヒツト率の変化、あるいは非同期ロジックの結果とし
て生じることがあり、これらは、特定のプログラムを実
行しているときには通常体じないクロックサイクルを表
している。外部の割り込みは、各プロセッサが最大の割
り込み待ち時間を考慮に入れて、実行中同じ時点で割り
込みに応答するように同期される。
び装置に関わる。本発明による装置は、故障許容クロッ
ク回路を必要とせずに、2つ以上のプロセッサを故障を
検出するつまり故障を許容する形で構成可能とする。各
プロセッサは、クロック速度の差あるいは「追加」クロ
ックサイクルの発生いずれによるものであれ、同一のア
ルゴリズムを異なる速度で自由に実行できる。「追加の
」クロックサイクルは、エラーによる再試行、キャツシ
ュヒツト率の変化、あるいは非同期ロジックの結果とし
て生じることがあり、これらは、特定のプログラムを実
行しているときには通常体じないクロックサイクルを表
している。外部の割り込みは、各プロセッサが最大の割
り込み待ち時間を考慮に入れて、実行中同じ時点で割り
込みに応答するように同期される。
本発明の一実施例では、各プロセッサが独自の独立した
クロックから進行する。プロセッサは、所定のプロセッ
サ事象の発生を一方のライン上に指示し、待ち状態を開
始するための信号を別のラインを経て受け取る。プロセ
ッサ事象は、各プロセッサ内で使われているコードによ
って明示的または暗黙的に定義され、各マイクロプロセ
ッサの書込動作毎に1つのプロセッサ事象信号を発生す
るのが好ましい、各プロセッサは、事象カウンタと称さ
れ、最後にプロセッサが同期された後に指示されたプロ
セッサ事象の数をカウントするカウンタを有する。
クロックから進行する。プロセッサは、所定のプロセッ
サ事象の発生を一方のライン上に指示し、待ち状態を開
始するための信号を別のラインを経て受け取る。プロセ
ッサ事象は、各プロセッサ内で使われているコードによ
って明示的または暗黙的に定義され、各マイクロプロセ
ッサの書込動作毎に1つのプロセッサ事象信号を発生す
るのが好ましい、各プロセッサは、事象カウンタと称さ
れ、最後にプロセッサが同期された後に指示されたプロ
セッサ事象の数をカウントするカウンタを有する。
プロセッサは一般に外部割り込みの発生の都度同期され
るが、システム設計者は任意の同期事象を自由に定義で
きる。同期を必要とする事象がプロセッサに付設の同期
論理回路によって検出されると、同期論理回路が次のプ
ロセッサ事象後に待ち信号を発生する。各プロセッサに
付設の比較回路が、システム内における他の事象カウン
タをテストし、対応プロセッサが他のプロセッサより遅
れていないかどうかを判定する。選れていれば、同期論
理回路は次のプロセッサ事象まで待ち信号を取り除く。
るが、システム設計者は任意の同期事象を自由に定義で
きる。同期を必要とする事象がプロセッサに付設の同期
論理回路によって検出されると、同期論理回路が次のプ
ロセッサ事象後に待ち信号を発生する。各プロセッサに
付設の比較回路が、システム内における他の事象カウン
タをテストし、対応プロセッサが他のプロセッサより遅
れていないかどうかを判定する。選れていれば、同期論
理回路は次のプロセッサ事象まで待ち信号を取り除く。
次いで比較回路が、その対応プロセッサがまだ遅れてい
るかどうかを再チエツクする。
るかどうかを再チエツクする。
プロセッサは、その事象カウンタが最も速いプロセッサ
の事象カウンタと一致したときに停止される。各事象カ
ウンタが同一値を有する状態で全てのプロセッサが停止
されるまで、上記のプロセスが続けられる。この時点に
達したとき、プロセッサは全てプログラム内の同じ時点
で停止されている。そして、待ち信号が取り除かれ、各
プロセッサへの割り込みラインが肯定され、各プロセッ
サが再スタートされて同期信号を処理する。
の事象カウンタと一致したときに停止される。各事象カ
ウンタが同一値を有する状態で全てのプロセッサが停止
されるまで、上記のプロセスが続けられる。この時点に
達したとき、プロセッサは全てプログラム内の同じ時点
で停止されている。そして、待ち信号が取り除かれ、各
プロセッサへの割り込みラインが肯定され、各プロセッ
サが再スタートされて同期信号を処理する。
事象カウンタがその最大値へ達する前に同期事象が発生
しないと、事象カウンタのオーバフローによって再同期
化が強制的になされる。この過程に入ったプロセッサは
処理を継続する前に、他のプロセッサの事象カウンタも
オーバフローするのを待つ。一方、同期事象が生じる場
合でも、最悪ケースの割り込み待ち時間を満たすのに充
分なだけ頻繁にプロセッサ事象が発生しない場合のため
、サイクルカウンタと称され、最後のプロセッサ事象以
後におけるクロックサイクルの数をカウントする別のカ
ウンタが設けられている。サイクルカウンタは、最大の
割り込み待ち時間を越える前の時点でオーバフローする
ように設定されている。
しないと、事象カウンタのオーバフローによって再同期
化が強制的になされる。この過程に入ったプロセッサは
処理を継続する前に、他のプロセッサの事象カウンタも
オーバフローするのを待つ。一方、同期事象が生じる場
合でも、最悪ケースの割り込み待ち時間を満たすのに充
分なだけ頻繁にプロセッサ事象が発生しない場合のため
、サイクルカウンタと称され、最後のプロセッサ事象以
後におけるクロックサイクルの数をカウントする別のカ
ウンタが設けられている。サイクルカウンタは、最大の
割り込み待ち時間を越える前の時点でオーバフローする
ように設定されている。
サイクルカウンタがオーバフローすると、内部同期リク
エスト信号と割り込み信号を発生することによって、再
同期化が強制的になされる。プロセッサが割り込みを処
理するとき、割り込みルーチン内のコードによって事象
が発生される。つまり、内部発生された同期リクエスト
信号が、割り込みルーチンで発生された事象に対して再
同期化を行う。その後、プロセッサは未処理の割り込み
を処理する。
エスト信号と割り込み信号を発生することによって、再
同期化が強制的になされる。プロセッサが割り込みを処
理するとき、割り込みルーチン内のコードによって事象
が発生される。つまり、内部発生された同期リクエスト
信号が、割り込みルーチンで発生された事象に対して再
同期化を行う。その後、プロセッサは未処理の割り込み
を処理する。
発明の上記及びその他の利点は、添付の図面を参照した
発明の以下の詳細な説明を読み進むことによって当業者
には明かとなろう。
発明の以下の詳細な説明を読み進むことによって当業者
には明かとなろう。
(実施例)
第1図は、本発明によるデータ処理システム4の実施例
の概念ブロック図である。図示のように、データ処理シ
ステム4は、それぞれCPUメモリバス20、CPUメ
モリバス22及びCPUメモリバス24を介して、メモ
リ12、メモリ14及びメモリ16と交信するCPU6
、CPU8及びCPUl0を備えている。CPU6、C
PU8及びCPUl0はそれぞれバス32.34及び3
6を介して出力インタフェース28へデータを送信し、
またそれぞれバス44.46及び48を介して入力イン
タフェース40からデータを受信する。
の概念ブロック図である。図示のように、データ処理シ
ステム4は、それぞれCPUメモリバス20、CPUメ
モリバス22及びCPUメモリバス24を介して、メモ
リ12、メモリ14及びメモリ16と交信するCPU6
、CPU8及びCPUl0を備えている。CPU6、C
PU8及びCPUl0はそれぞれバス32.34及び3
6を介して出力インタフェース28へデータを送信し、
またそれぞれバス44.46及び48を介して入力イン
タフェース40からデータを受信する。
さらにCPU6、CPU8及びCPUl0は同期バス5
2を介して相互に、及び出力インタフェース28並びに
入力インタフェース40と交信を行う。出力インタフェ
ース28は、CPU6、CPU8及びCPUl0からの
データを、インタフェース票決バス58を介して票決回
路56に伝送する。
2を介して相互に、及び出力インタフェース28並びに
入力インタフェース40と交信を行う。出力インタフェ
ース28は、CPU6、CPU8及びCPUl0からの
データを、インタフェース票決バス58を介して票決回
路56に伝送する。
票決回路56は、どのプロセッサからのデータがI10
コントローラ60に送られるべきかを判定する。データ
は票決−コントローラバス62とコントローラー装置バ
ス70をそれぞれ介して、I10コントローラ60さら
に最終的にI10装置66に送られる。またデータは、
I10コントローラ60からインタフェースコントロー
ラバス74を介して入力インタフェース40に送られる
。
コントローラ60に送られるべきかを判定する。データ
は票決−コントローラバス62とコントローラー装置バ
ス70をそれぞれ介して、I10コントローラ60さら
に最終的にI10装置66に送られる。またデータは、
I10コントローラ60からインタフェースコントロー
ラバス74を介して入力インタフェース40に送られる
。
第2図に示すように、CPU6、CPU8及びcput
oは多数の命令を実行し、その一部がそれぞれに付属し
たプロセッサ事象である。プロセッサ事象は、各プロセ
ッサ内で使われているコードによって明示的または暗黙
的に定義されている。
oは多数の命令を実行し、その一部がそれぞれに付属し
たプロセッサ事象である。プロセッサ事象は、各プロセ
ッサ内で使われているコードによって明示的または暗黙
的に定義されている。
例えば、各マイクロプロセッサの書込動作が1つのプロ
セッサ事象と見なされる。他にプロセッサ事象となり得
るものとして、データ読取、バス転送、またはプロセッ
サ内の明示コードによって発生される特定の信号がある
。いずれの場合にせよ、事象は各プロセッサ内において
同じ順序で発生する。しかし事象は、各プロセッサ内で
同一時点に生じないことがある。例えば、あるプロセッ
サが別のプロセッサ内で実行されているコードの改訂バ
ージョンを実行しており、その改訂コードが異なる時点
で事象を発生せしめる追加の命令を含んでいる場合があ
る。CPU6とCPU8の事象4に留意のこと、同じコ
ードを実行しているプログラム内でも同一時点に事象が
生じないことがある別の理由は、読取の再試行や、実行
がエラールーチンに分岐されるパリティエラーの検出を
必要とするキャッシュミスなど予期しないエラーの発生
である。CPU6とCPUl0で生じているエラーに留
意のこと。
セッサ事象と見なされる。他にプロセッサ事象となり得
るものとして、データ読取、バス転送、またはプロセッ
サ内の明示コードによって発生される特定の信号がある
。いずれの場合にせよ、事象は各プロセッサ内において
同じ順序で発生する。しかし事象は、各プロセッサ内で
同一時点に生じないことがある。例えば、あるプロセッ
サが別のプロセッサ内で実行されているコードの改訂バ
ージョンを実行しており、その改訂コードが異なる時点
で事象を発生せしめる追加の命令を含んでいる場合があ
る。CPU6とCPU8の事象4に留意のこと、同じコ
ードを実行しているプログラム内でも同一時点に事象が
生じないことがある別の理由は、読取の再試行や、実行
がエラールーチンに分岐されるパリティエラーの検出を
必要とするキャッシュミスなど予期しないエラーの発生
である。CPU6とCPUl0で生じているエラーに留
意のこと。
本発明によるシステムでは複数のプロセッサ事象が同じ
順序で生じるので、各マイクロプロセッサを所定の事象
に同期化することによって、それぞれのプロセッサが同
期させられる。各プロセッサをこのように同期させる構
成が、CPU6について第3図に示しである。cpus
及びCPU10も同じように構成される。第3図に示す
ように、CPU6は独自のクロック84からライン86
を介して受け取るクロックパルスに基づいて命令を実行
するプロセッサ80を備えている。プロセッサ80はラ
イン90上に内部同期リクエスト信号(5YNCREQ
UEST ) 、ライン91上にクロック出力信号(C
LOCK 0UTPUT ) 、ライン92上に「追加
」クロック信号(EXTRA) 、及びライン94上に
プロセッサ事象信号(EVENT)をそれぞれ発生する
。「追加の」クロックサイクルは、エラーによる再試行
、キャッシュヒント率の変化、非同期ロジック、あるい
はその他の理由によって生じる。これらは、特定のプロ
グラムを実行しているときには通常生じないクロックサ
イクルを表している。またプロセッサ80は、ライン9
6を経て待ち時間(WAIT)、ライン98を経て割り
込み信号(INT)をそれぞれ受け取る。
順序で生じるので、各マイクロプロセッサを所定の事象
に同期化することによって、それぞれのプロセッサが同
期させられる。各プロセッサをこのように同期させる構
成が、CPU6について第3図に示しである。cpus
及びCPU10も同じように構成される。第3図に示す
ように、CPU6は独自のクロック84からライン86
を介して受け取るクロックパルスに基づいて命令を実行
するプロセッサ80を備えている。プロセッサ80はラ
イン90上に内部同期リクエスト信号(5YNCREQ
UEST ) 、ライン91上にクロック出力信号(C
LOCK 0UTPUT ) 、ライン92上に「追加
」クロック信号(EXTRA) 、及びライン94上に
プロセッサ事象信号(EVENT)をそれぞれ発生する
。「追加の」クロックサイクルは、エラーによる再試行
、キャッシュヒント率の変化、非同期ロジック、あるい
はその他の理由によって生じる。これらは、特定のプロ
グラムを実行しているときには通常生じないクロックサ
イクルを表している。またプロセッサ80は、ライン9
6を経て待ち時間(WAIT)、ライン98を経て割り
込み信号(INT)をそれぞれ受け取る。
CPU6はさらに、クロックサイクルをカウントするサ
イクルカウンタ100.プロセッサ事象をカウントする
事象カウンタ102、事象カウンタ102の値をシステ
ム内の他の事象カウンタの値と比較する比較回路106
、及びCPU6の同期を制御する同期論理回路1)0を
含む。サイクルカウンタ100はライン91に接続され
、最後のプロセッサ事象以後に発生したクロックサイク
ルの数をカウントする。また、サイクルカウンタ100
はインバータ1)4を介してライン92に接続され、追
加のクロックサイクルの発生時にりロックサイクルのカ
ウントを禁止する。この理由については、後で論じる。
イクルカウンタ100.プロセッサ事象をカウントする
事象カウンタ102、事象カウンタ102の値をシステ
ム内の他の事象カウンタの値と比較する比較回路106
、及びCPU6の同期を制御する同期論理回路1)0を
含む。サイクルカウンタ100はライン91に接続され
、最後のプロセッサ事象以後に発生したクロックサイク
ルの数をカウントする。また、サイクルカウンタ100
はインバータ1)4を介してライン92に接続され、追
加のクロックサイクルの発生時にりロックサイクルのカ
ウントを禁止する。この理由については、後で論じる。
サイクルカウンタ100はライン94にも接続され、各
プロセッサの事象発生に応じてリセットされる。サイク
ルカウンタ100はオーバフローする毎に、割り込み信
号をORゲート122に接続されたライン1)8上に発
生する。ORゲート122の出力がライン98に接続さ
れている。ORゲート122は概念的なORゲートであ
ることが理解されよう。実際の割り込み処理は、周知の
技術を用いて行われる。
プロセッサの事象発生に応じてリセットされる。サイク
ルカウンタ100はオーバフローする毎に、割り込み信
号をORゲート122に接続されたライン1)8上に発
生する。ORゲート122の出力がライン98に接続さ
れている。ORゲート122は概念的なORゲートであ
ることが理解されよう。実際の割り込み処理は、周知の
技術を用いて行われる。
事象カウンタ102はライン94に接続され、プロセッ
サ80によって検出された事象をカウントする。サイク
ルカウンタ100と同様、事象カウンタ102はオーバ
フローする毎に、ライン126を経て割り込み信号をO
Rゲート122に発生ずる。事象カウンタ102の値は
ライン128を介して比較回路106に、またライン1
30を介して同期バス52に送られる。比較回路106
は、事象カウンタ102でカウントされた事象の数をラ
イン130を介して受け取ると共に、システム内の他の
プロセッサ用の事象カウンタによってカウントされた事
象の数を同期バス52から受け取る。比較回路106は
、事象カウンタ102からの値とシステム内の他の事象
カウンタからの値との関係を示す信号を、ライン134
を経て同期論理回路1)0に発生する。
サ80によって検出された事象をカウントする。サイク
ルカウンタ100と同様、事象カウンタ102はオーバ
フローする毎に、ライン126を経て割り込み信号をO
Rゲート122に発生ずる。事象カウンタ102の値は
ライン128を介して比較回路106に、またライン1
30を介して同期バス52に送られる。比較回路106
は、事象カウンタ102でカウントされた事象の数をラ
イン130を介して受け取ると共に、システム内の他の
プロセッサ用の事象カウンタによってカウントされた事
象の数を同期バス52から受け取る。比較回路106は
、事象カウンタ102からの値とシステム内の他の事象
カウンタからの値との関係を示す信号を、ライン134
を経て同期論理回路1)0に発生する。
同期論理回路1)0は、ライン94上に指示された事象
に応じて、ライン96に対し待ち信号を送出または除去
することによって、プロセッサ80の動作を制御する。
に応じて、ライン96に対し待ち信号を送出または除去
することによって、プロセッサ80の動作を制御する。
各プロセッサが同期されたとき、同期論理回路1)0が
ライン138上に同期化外部割り込み信号を発生する。
ライン138上に同期化外部割り込み信号を発生する。
本システムの動作は、第4A〜4C及び5図を参照する
ことによって理解されよう。
ことによって理解されよう。
第4A図は、同期要求(外部割り込みなど)がCPU6
.8及び10によって受け取られるが、CPU6.8及
び10がコードの異なる部分をそれぞれ実行している状
況を示している。この場合、CPU6は、時点150で
事象4が指示されるまでコードを実行する。事象4が検
出されると、同期論理回路1)0によってCPU6は待
ち状態に入る。同じく、CPU8は時点152で事象5
が検出されるまで実行を継続し、その時点から待ち状態
に入る。CPUl0は時点154で事象6が検出される
までコードを実行し、その時点から待ち状態に入る。C
PU6でカウントされた事象の数がCPUl0でカウン
トされた事象の数より小さいので、CPU6は時点15
6で命令の実行を再開し、時点158で事象5が検出さ
れるまで継続してから再び待ち状態に入る。CPU6が
CPU10よりまだ遅れていることが確認されると、時
点160で命令の実行が再開され、時点160で事象5
が検出されるまでvrttしてから再び待ち状態に入る
。cpusも同様の処理シーケンスをたどる。つまり、
cpusでカウントされた事象の数が3つのプロセッサ
のうちいずれかでカウントされた事象の最大数より小さ
いことが確認されると、CPU8は時点164で命令の
実行を再開し、時点166で次の事象が検出されるまで
継続してから待ち状態に入る、等々を行う。同期リクエ
ストを受け取る前までにCPUl0が最も多い事象をカ
ウントしていたので、各CPU6.8及び10の事象カ
ウンタが等しくなるまでCPUl0は待ち状態に留まっ
ている。各事象カウンタが等しくなると、それぞれのプ
ロセッサに付設の同期論理回路1)0がライン138上
に同期化外部割り込み信号を発生し、ライン96上の待
ち信号を解除し、各プロセッサ毎の実行が共通の時点1
70で再開する。
.8及び10によって受け取られるが、CPU6.8及
び10がコードの異なる部分をそれぞれ実行している状
況を示している。この場合、CPU6は、時点150で
事象4が指示されるまでコードを実行する。事象4が検
出されると、同期論理回路1)0によってCPU6は待
ち状態に入る。同じく、CPU8は時点152で事象5
が検出されるまで実行を継続し、その時点から待ち状態
に入る。CPUl0は時点154で事象6が検出される
までコードを実行し、その時点から待ち状態に入る。C
PU6でカウントされた事象の数がCPUl0でカウン
トされた事象の数より小さいので、CPU6は時点15
6で命令の実行を再開し、時点158で事象5が検出さ
れるまで継続してから再び待ち状態に入る。CPU6が
CPU10よりまだ遅れていることが確認されると、時
点160で命令の実行が再開され、時点160で事象5
が検出されるまでvrttしてから再び待ち状態に入る
。cpusも同様の処理シーケンスをたどる。つまり、
cpusでカウントされた事象の数が3つのプロセッサ
のうちいずれかでカウントされた事象の最大数より小さ
いことが確認されると、CPU8は時点164で命令の
実行を再開し、時点166で次の事象が検出されるまで
継続してから待ち状態に入る、等々を行う。同期リクエ
ストを受け取る前までにCPUl0が最も多い事象をカ
ウントしていたので、各CPU6.8及び10の事象カ
ウンタが等しくなるまでCPUl0は待ち状態に留まっ
ている。各事象カウンタが等しくなると、それぞれのプ
ロセッサに付設の同期論理回路1)0がライン138上
に同期化外部割り込み信号を発生し、ライン96上の待
ち信号を解除し、各プロセッサ毎の実行が共通の時点1
70で再開する。
第4B図は、事象カウンタのオーバフローの結果として
CPU6.8及び10が同期化される処理シーケンスを
示している。図示のように、CPU6はコードを実行し
、時点200で事象が発生する。コードの実行は、CP
U6の事象カウンタが時点204でオーバフローするま
で続く。時点204で、CPU6の事象カウンタ102
が割り込み信号をライン126上に発生し、CPU6は
待ち状態に入る。CPU8と10についても、上記と同
じ事象及び事象カウンタのオーバフローのシーケンスが
、時点208.210と時点214、218でそれぞれ
発生する。各CPU6.8及び10が待ち状態にあるこ
とが確認されると、各プロセッサの同期論理回路1)0
がライン96から信号を取り除き、コードの実行が共通
の時点224で再開される。
CPU6.8及び10が同期化される処理シーケンスを
示している。図示のように、CPU6はコードを実行し
、時点200で事象が発生する。コードの実行は、CP
U6の事象カウンタが時点204でオーバフローするま
で続く。時点204で、CPU6の事象カウンタ102
が割り込み信号をライン126上に発生し、CPU6は
待ち状態に入る。CPU8と10についても、上記と同
じ事象及び事象カウンタのオーバフローのシーケンスが
、時点208.210と時点214、218でそれぞれ
発生する。各CPU6.8及び10が待ち状態にあるこ
とが確認されると、各プロセッサの同期論理回路1)0
がライン96から信号を取り除き、コードの実行が共通
の時点224で再開される。
第4C図は、サイクルカウンタのオーバフローの結果と
して同期化が生じる場合を示している。
して同期化が生じる場合を示している。
図示のように、CPU6は時点230で事象7を検出し
、コードの実行は、そのサイクルカウンタ100が時点
234でオーバフローするまで、2°(サイクルカウン
タ)クロックサイクルの間継続する。
、コードの実行は、そのサイクルカウンタ100が時点
234でオーバフローするまで、2°(サイクルカウン
タ)クロックサイクルの間継続する。
そこで、サイクルカウンタ100が割り込み信号をライ
ン1)8上に発生し、CPU6は待ち状態に入る。同じ
く、CPU8は時点 238で事象7を検出し、そのサ
イクルカウンタが時点242でオーバフローするまでコ
ードの実行を継続した後待ち状態に入る。さらに、CP
Ul0は時点246で事象7を検出し、そのサイクルカ
ウンタ100が時点250でオーバフローするまでコー
ドの実行を継続した後待ち状態に入る。各プロセッサが
待ち状態にあることが確認されると、同期論理回路1)
0がライン96から信号を取り除き、コードの実行が共
通の時点254で再開される。
ン1)8上に発生し、CPU6は待ち状態に入る。同じ
く、CPU8は時点 238で事象7を検出し、そのサ
イクルカウンタが時点242でオーバフローするまでコ
ードの実行を継続した後待ち状態に入る。さらに、CP
Ul0は時点246で事象7を検出し、そのサイクルカ
ウンタ100が時点250でオーバフローするまでコー
ドの実行を継続した後待ち状態に入る。各プロセッサが
待ち状態にあることが確認されると、同期論理回路1)
0がライン96から信号を取り除き、コードの実行が共
通の時点254で再開される。
第5図は、各CPU6.8及び10毎の処理シーケンス
を示している。図示のように、各プロセッサがステップ
300で、命令実行のためクロック整合される。現クロ
ックサイクルが追加のクロックサイクルであることがス
テップ304で確認されると、サイクルカウンタ100
の動作がステップ308で禁止され、処理は再びステッ
プ300から再開される。現クロックサイクルが追加の
クロックサイクルでないことがステップ304で確認さ
れると、サイクルカウンタ1ooがステップ312でイ
ンクレメントされる。その後ステップ316で、サイク
ルカウンタ100がオーバフローしたかどうかが確認さ
れる。オーバフローしていると、サイクルカウンタ10
0がステップ320でそれぞれのプロセッサに割り込み
を生じ、ステップ324で同期リクエストを発生する。
を示している。図示のように、各プロセッサがステップ
300で、命令実行のためクロック整合される。現クロ
ックサイクルが追加のクロックサイクルであることがス
テップ304で確認されると、サイクルカウンタ100
の動作がステップ308で禁止され、処理は再びステッ
プ300から再開される。現クロックサイクルが追加の
クロックサイクルでないことがステップ304で確認さ
れると、サイクルカウンタ1ooがステップ312でイ
ンクレメントされる。その後ステップ316で、サイク
ルカウンタ100がオーバフローしたかどうかが確認さ
れる。オーバフローしていると、サイクルカウンタ10
0がステップ320でそれぞれのプロセッサに割り込み
を生じ、ステップ324で同期リクエストを発生する。
サイクルカウンタ100から発生された割り込みに応じ
て、プロセッサはステップ328で事象を発生した後、
(ステップ324で発生された同期リクエスト信号の結
果として)ステップ332で待ち状態に入る。
て、プロセッサはステップ328で事象を発生した後、
(ステップ324で発生された同期リクエスト信号の結
果として)ステップ332で待ち状態に入る。
サイクルカウンタのオーバフローが発生した場合には、
最後のプロセッサ事象から正確に2°(サイクルカウン
タ)クロックサイクル後に、全てのプロセッサが割り込
みコードでのプロセッサ事象に達する。サイクルカウン
タがオーバフローする前の2**(サイクルカウンタ)
クロックサイクル中に追加のクロックサイクルが生じな
い限り、各プロセッサは同期されている。追加のクロッ
クサイクルが生じると、プロセッサは異なる時点で停止
して不整合を生じ、割り込みに対して別々に応答する結
果、プロセッサまたはシステムの故障をもたらすことが
ある。なぜなら、追加のクロックサイクル中には、各サ
イクルカウンタが動作不能になるからである。
最後のプロセッサ事象から正確に2°(サイクルカウン
タ)クロックサイクル後に、全てのプロセッサが割り込
みコードでのプロセッサ事象に達する。サイクルカウン
タがオーバフローする前の2**(サイクルカウンタ)
クロックサイクル中に追加のクロックサイクルが生じな
い限り、各プロセッサは同期されている。追加のクロッ
クサイクルが生じると、プロセッサは異なる時点で停止
して不整合を生じ、割り込みに対して別々に応答する結
果、プロセッサまたはシステムの故障をもたらすことが
ある。なぜなら、追加のクロックサイクル中には、各サ
イクルカウンタが動作不能になるからである。
サイクルカウンタ100がオーバフローしなかったこと
がステップ316で確認されると、事象が生じたかどう
かがステップ340で確認される。
がステップ316で確認されると、事象が生じたかどう
かがステップ340で確認される。
生じないと、処理はステップ300に戻る。事象が生じ
ると、事象カウンタ102がステップ344でインクレ
メントされる。その後ステップ348で、事象カウンタ
102がオーバフローしたかどうかが確かめられる。オ
ーバフローしていると、プロセッサがステップ32で割
り込まれ、サイクルカウンタのオーバフローの場合と同
じく、プロセッサがステップ332で停止されるまで処
理が継続する。事象カウンタ102がオーバフローして
いないことがステップ348で確認されると、同期リク
エストが要求されているかどうかがステップ352で確
かめられる。要求されていれば、プロセッサはステップ
332で停止され;さもなければ、コードの実行がステ
ップ300から再び続けられる。
ると、事象カウンタ102がステップ344でインクレ
メントされる。その後ステップ348で、事象カウンタ
102がオーバフローしたかどうかが確かめられる。オ
ーバフローしていると、プロセッサがステップ32で割
り込まれ、サイクルカウンタのオーバフローの場合と同
じく、プロセッサがステップ332で停止されるまで処
理が継続する。事象カウンタ102がオーバフローして
いないことがステップ348で確認されると、同期リク
エストが要求されているかどうかがステップ352で確
かめられる。要求されていれば、プロセッサはステップ
332で停止され;さもなければ、コードの実行がステ
ップ300から再び続けられる。
プロセッサがステップ332で停止した後、全てのプロ
セッサが停止しているかどうかがステップ360で確か
められる。停止していないと、プロセッサの同期用に許
容された最大の時間量が越えられたかどうかがステップ
364で確かめられる。この時間切れは、例えばプロセ
ッサの故障時に発生する。最大の時間が経過すると、そ
のプロセッサがステップ368で票決から除外される、
すなわち比較プロセッサで無視される。いずれにせよス
テップ360で、正しく機能しているプロセッサ間での
比較が続けられる。全てのプロセッサが停止すると、そ
れらのカウンタ値がステップ372で比較される。特定
プロセッサのカウンタ値が別のプロセッサより大きいこ
とがlII認された場合、大きいカウンタ値を有する1
つまたはそれより多いプロセッサは待ち状態に留まり、
それらについての処理はステップ360から継続される
。
セッサが停止しているかどうかがステップ360で確か
められる。停止していないと、プロセッサの同期用に許
容された最大の時間量が越えられたかどうかがステップ
364で確かめられる。この時間切れは、例えばプロセ
ッサの故障時に発生する。最大の時間が経過すると、そ
のプロセッサがステップ368で票決から除外される、
すなわち比較プロセッサで無視される。いずれにせよス
テップ360で、正しく機能しているプロセッサ間での
比較が続けられる。全てのプロセッサが停止すると、そ
れらのカウンタ値がステップ372で比較される。特定
プロセッサのカウンタ値が別のプロセッサより大きいこ
とがlII認された場合、大きいカウンタ値を有する1
つまたはそれより多いプロセッサは待ち状態に留まり、
それらについての処理はステップ360から継続される
。
−4、特定プロセッサのカウンタ値が最大のカウント値
より小さいと、その処理はステップ300に戻って実行
が続けられ、次の事象が検出され、プロセッサが停止し
、各カウンタ値が再び比較される。全てのカウンタ値が
等しいことがステップ372で確認されると、待ち信号
が各プロセッサから解除され、各プロセッサはステップ
376で再スタートされ、同期リクエストに応じた処理
を果たす。
より小さいと、その処理はステップ300に戻って実行
が続けられ、次の事象が検出され、プロセッサが停止し
、各カウンタ値が再び比較される。全てのカウンタ値が
等しいことがステップ372で確認されると、待ち信号
が各プロセッサから解除され、各プロセッサはステップ
376で再スタートされ、同期リクエストに応じた処理
を果たす。
以上、本発明の好ましい実施例を詳しく説明したが、各
種の変更例を用いることもできる。例えば、同期論理回
路1)0は各チップに接続された単一回路に集積しても
よく、またシステムは任意の数のプロセッサに対して使
用可能である。
種の変更例を用いることもできる。例えば、同期論理回
路1)0は各チップに接続された単一回路に集積しても
よく、またシステムは任意の数のプロセッサに対して使
用可能である。
本発明の実施の態様は以下の通りである。
(1)複数のプロセッサを同期する装置において:対応
するプロセッサ内における所定事象の発生を指示する事
象指示手段; 前記事象指示手段に接続され、各プロセンサ毎に指示さ
れる事象の数をカウントする事象カウント手段; 前記事象カウント手段と各プロセッサに接続され、当該
プロセッサについてカウントされた事象の数が別のプロ
セッサについてカウントされた事象の数より大きいとき
、当該プロセッサの処理を中断する中断手段;を備えた
装置。
するプロセッサ内における所定事象の発生を指示する事
象指示手段; 前記事象指示手段に接続され、各プロセンサ毎に指示さ
れる事象の数をカウントする事象カウント手段; 前記事象カウント手段と各プロセッサに接続され、当該
プロセッサについてカウントされた事象の数が別のプロ
セッサについてカウントされた事象の数より大きいとき
、当該プロセッサの処理を中断する中断手段;を備えた
装置。
(2)前記中断手段に接続され、同期リクエスト信号を
受け取る同期リクエスト手段をさらに備え、当該プロセ
ッサについてカウントされた事象の数が別のプロセッサ
についてカウントされた事象の数取上のとき、前記中断
手段が同期リクエスト信号に応じて当該プロセッサの処
理を中断する前記1項記載の装置。
受け取る同期リクエスト手段をさらに備え、当該プロセ
ッサについてカウントされた事象の数が別のプロセッサ
についてカウントされた事象の数取上のとき、前記中断
手段が同期リクエスト信号に応じて当該プロセッサの処
理を中断する前記1項記載の装置。
(3)前記中断手段と各プロセッサに接続され、各プロ
セッサについてカウントされた事象の数が等しいとき、
中断されているプロセッサを再スタートさせる再スター
ト手段をさらに備えた前記2項記載の装置。
セッサについてカウントされた事象の数が等しいとき、
中断されているプロセッサを再スタートさせる再スター
ト手段をさらに備えた前記2項記載の装置。
(4)当該プロセッサについてカウントされた事象の数
が中断されているプロセッサについてカウントされた事
象の数取上のとき、前記中断手段が当該プロセッサの処
理を中断する前記3項記載の装置。
が中断されているプロセッサについてカウントされた事
象の数取上のとき、前記中断手段が当該プロセッサの処
理を中断する前記3項記載の装置。
(5)複数のプロセッサを同期する装置において、各プ
ロセッサ毎に: 当該プロセッサ内における所定事象の発生を指示する事
象指示手段; 前記事象指示手段に接続され、指示される事象の数をカ
ウントする事象カウント手段;各プロセッサ毎に前記事
象指示手段から信号を受け取るように接続され、当該プ
ロセッサについてカウントされた事象の数が別のプロセ
ッサについてカウントされた事象の数より大きいときに
信号を与える比較手段; 同期リクエスト信号を受け取る同期リクエスト入力手段
;及び 同期リクエスト入力手段と事象カウンタに接続され、当
轟亥プロセッサについてカウントされた事象の数が別の
プロセッサについてカウントされた事象の数より大きい
とき、同期リクエスト信号に応じてプロセッサの処理を
中断する同期手段;を備えた装置。
ロセッサ毎に: 当該プロセッサ内における所定事象の発生を指示する事
象指示手段; 前記事象指示手段に接続され、指示される事象の数をカ
ウントする事象カウント手段;各プロセッサ毎に前記事
象指示手段から信号を受け取るように接続され、当該プ
ロセッサについてカウントされた事象の数が別のプロセ
ッサについてカウントされた事象の数より大きいときに
信号を与える比較手段; 同期リクエスト信号を受け取る同期リクエスト入力手段
;及び 同期リクエスト入力手段と事象カウンタに接続され、当
轟亥プロセッサについてカウントされた事象の数が別の
プロセッサについてカウントされた事象の数より大きい
とき、同期リクエスト信号に応じてプロセッサの処理を
中断する同期手段;を備えた装置。
(6)当該プロセッサについてカラン[・された事象の
数が中断されているプロセッサについてカウントされた
事象の数取上のとき、前記同期手段が当該プロセッサを
中断する前記5項記載の装置。
数が中断されているプロセッサについてカウントされた
事象の数取上のとき、前記同期手段が当該プロセッサを
中断する前記5項記載の装置。
(7)各プロセッサについてカウントされた事象の数が
等しいとき、前記同期手段がプロセッサに再スタート信
号を与える前記6項記載の装置。
等しいとき、前記同期手段がプロセッサに再スタート信
号を与える前記6項記載の装置。
(8)カウントされた事象の数が所定値に等しいとき同
期リクエスト信号をプロセッサに与える手段を、前記事
象カウント手段がさらに備えた前記7項記載の装置。
期リクエスト信号をプロセッサに与える手段を、前記事
象カウント手段がさらに備えた前記7項記載の装置。
(9)事象後に発生するクロックサイクルの数をカウン
トするサイクルカウンタさらに備えた前記8項記載の装
置。
トするサイクルカウンタさらに備えた前記8項記載の装
置。
(10)前記事象検出手段とサイクルカウンタに接続さ
れ、事象が検出されたとき、サイクルカウンタを所定の
値にセットするリセット手段をさらに備えた前記9項記
載の装置。
れ、事象が検出されたとき、サイクルカウンタを所定の
値にセットするリセット手段をさらに備えた前記9項記
載の装置。
(1))カウントされたクロックサイクルの数が所定値
に等しいとき、同期リクエスト信号をプロセッサに与え
る手段をさらに備えた前記9項記載の装置。
に等しいとき、同期リクエスト信号をプロセッサに与え
る手段をさらに備えた前記9項記載の装置。
(12)プロセッサがプログラムを実行するのに追加の
クロックサイクルを用いているときを指示する追加クロ
ック指示手段をさらに備えた前記1)項記載の装置。
クロックサイクルを用いているときを指示する追加クロ
ック指示手段をさらに備えた前記1)項記載の装置。
(13)前記追加クロック指示手段に接続され、プロセ
ッサがプログラムを実行するのに追加のクロックサイク
ルを用いているときクロックサイクルのカウントを禁止
する動作不能手段を、前記サイクルカウンタがさらに備
えた前記1)項記載の装置。
ッサがプログラムを実行するのに追加のクロックサイク
ルを用いているときクロックサイクルのカウントを禁止
する動作不能手段を、前記サイクルカウンタがさらに備
えた前記1)項記載の装置。
(14)各プロセッサが内部で定義され、各プロセッサ
内で同じ順序で発生する複数の事象を有するプログラム
を実行するマルチプロセッサシステムにおいて、各プロ
セッサを他のプロセッサと同期させる方法で、各プロセ
ッサ毎に:所定事象の発生を指示するステップ; 指示された事象の数をカウントするステップ;同期リク
エスト信号を受け取るステップ;次の事象が検出された
とき、プロセッサの処理を中断するステップ; カウントされた事象の数を、他のプロセッサでカウント
された事象の数と比較するステップ;当該プロセッサに
ついてカウントされた事象の数が別のプロセッサについ
てカウントされた事象の数より小さいとき、処理をm続
するステップ; カウントされた事象の数がいずれかのプロセッサでカウ
ントされた事象の最大数に等しいとき、処理を中断する
ステップ;及び 各プロセッサについてカウントされた事象の数が等しい
とき、処理を継続するステップ;を含む方法。
内で同じ順序で発生する複数の事象を有するプログラム
を実行するマルチプロセッサシステムにおいて、各プロ
セッサを他のプロセッサと同期させる方法で、各プロセ
ッサ毎に:所定事象の発生を指示するステップ; 指示された事象の数をカウントするステップ;同期リク
エスト信号を受け取るステップ;次の事象が検出された
とき、プロセッサの処理を中断するステップ; カウントされた事象の数を、他のプロセッサでカウント
された事象の数と比較するステップ;当該プロセッサに
ついてカウントされた事象の数が別のプロセッサについ
てカウントされた事象の数より小さいとき、処理をm続
するステップ; カウントされた事象の数がいずれかのプロセッサでカウ
ントされた事象の最大数に等しいとき、処理を中断する
ステップ;及び 各プロセッサについてカウントされた事象の数が等しい
とき、処理を継続するステップ;を含む方法。
(15)事象の検出後に発生するクロックサイクルの数
をカウントするステップ; クロックサイクルの数が所定値に等しくなった時点を検
出するステップ; 割り込み信号を発生するステップ; 同期リクエスト信号を発生するステップ;及び 前記割り込み信号に応じて事象を発生するステップ;を
さらに含む前記14項記載の方法。
をカウントするステップ; クロックサイクルの数が所定値に等しくなった時点を検
出するステップ; 割り込み信号を発生するステップ; 同期リクエスト信号を発生するステップ;及び 前記割り込み信号に応じて事象を発生するステップ;を
さらに含む前記14項記載の方法。
(16)追加クロックサイクルの発生を検出するステッ
プ:及び 追加クロックサイクルの間クロックサイクルのカウント
を禁止するステップ;をさらに含む前記15項記載の方
法。
プ:及び 追加クロックサイクルの間クロックサイクルのカウント
を禁止するステップ;をさらに含む前記15項記載の方
法。
第1図は本発明によるデータ処理システムの実施例の概
念ブロック図、第2図は第1図に示したデータ処理シス
テムの処理シーケンスの図、第3図は第1図に示したC
PUの実施例の概念ブロック図、第4A〜40図は本発
明によるプロセッサ同期手順を示す図、及び第5図は本
発明によるプロセッサ同期を示すフローチャートである
。 符号の説明 6.8.10;80・・・・・・プロセッサ、90・・
・・・・同期リクエスト信号ライン、92・・・・・・
追加クロック指示ライン、94・・・・・・事象指示(
リセット)ライン、96・・・・・・待ち/再スタート
信号ライン、100・・・・・・サイクルカウンタ、1
02・・・・・・事象カウント手段、106・・・・・
・比較手段、1)0・・・・・・同期手段(同期論理回
路)。 手続補正書(方式) 3.31 %式% 1、事件の表示 昭和63年特許願第282306
号2、発明の名称 複数のプロセッサの同期方法及
び装置3、補正をする者 事件との関係 出願人 4、代理人
念ブロック図、第2図は第1図に示したデータ処理シス
テムの処理シーケンスの図、第3図は第1図に示したC
PUの実施例の概念ブロック図、第4A〜40図は本発
明によるプロセッサ同期手順を示す図、及び第5図は本
発明によるプロセッサ同期を示すフローチャートである
。 符号の説明 6.8.10;80・・・・・・プロセッサ、90・・
・・・・同期リクエスト信号ライン、92・・・・・・
追加クロック指示ライン、94・・・・・・事象指示(
リセット)ライン、96・・・・・・待ち/再スタート
信号ライン、100・・・・・・サイクルカウンタ、1
02・・・・・・事象カウント手段、106・・・・・
・比較手段、1)0・・・・・・同期手段(同期論理回
路)。 手続補正書(方式) 3.31 %式% 1、事件の表示 昭和63年特許願第282306
号2、発明の名称 複数のプロセッサの同期方法及
び装置3、補正をする者 事件との関係 出願人 4、代理人
Claims (3)
- (1)複数のプロセッサを同期する装置において:対応
するプロセッサ内における所定事象の発生を指示する事
象指示手段; 前記事象指示手段に接続され、各プロセッサ毎に指示さ
れる事象の数をカウントする事象カウント手段; 前記事象カウント手段と各プロセッサに接続され、当該
プロセッサについてカウントされた事象の数が別のプロ
セッサについてカウントされた事象の数より大きいとき
、当該プロセッサの処理を中断する中断手段;を備えた
装置。 - (2)複数のプロセッサを同期する装置において、各プ
ロセッサ毎に: 当該プロセッサ内における所定事象の発生を指示する事
象指示手段; 前記事象指示手段に接続され、指示される事象の数をカ
ウントする事象カウント手段; 各プロセッサ毎に前記事象指示手段から信号を受け取る
ように接続され、当該プロセッサについてカウントされ
た事象の数が別のプロセッサについてカウントされた事
象の数より大きいときに信号に与える比較手段; 同期リクエスト信号を受け取る同期リクエスト入力手段
:及び 同期リクエスト入力手段と事象カウンタに接続され、当
該プロセッサについてカウントされた事象の数が別のプ
ロセッサについてカウントされた事象の数より大きいと
き、同期リクエスト信号に応じてプロセッサの処理を中
断する同期手段;を備えた装置。 - (3)各プロセッサが内部で定義され、各プロセッサ内
で同じ順序で発生する複数の事象を有するプログラムを
実行するマルチプロセッサシステムにおいて、各プロセ
ッサを他のプロセッサと同期させる方法で、各プロセッ
サ毎に: 所定事象の発生を指示するステップ; 指示された事象の数をカウントするステップ;同期リク
エスト信号を受け取るステップ;次の事象が検出された
とき、プロセッサの処理を中断するステップ; カウントされた事象の数を、他のプロセッサでカウント
された事象の数と比較するステップ;当該プロセッサに
ついてカウントされた事象の数が別のプロセッサについ
てカウントされた事象の数より小さいとき、処理を継続
するステップ; カウントされた事象の数がいずれかのプロセッサでカウ
ントされた事象の最大数に等しいとき、処理を中断する
ステップ;及び 各プロセッサについてカウントされた事象の数が等しい
とき、処理を継続するステップ;を含む方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11850387A | 1987-11-09 | 1987-11-09 | |
| US118503 | 1987-11-09 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01258057A true JPH01258057A (ja) | 1989-10-16 |
| JPH0833874B2 JPH0833874B2 (ja) | 1996-03-29 |
Family
ID=22379009
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63282306A Expired - Fee Related JPH0833874B2 (ja) | 1987-11-09 | 1988-11-08 | 複数のプロセッサを同期する装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US5239641A (ja) |
| EP (1) | EP0316087A3 (ja) |
| JP (1) | JPH0833874B2 (ja) |
| AU (1) | AU616213B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6694446B1 (en) * | 1998-02-12 | 2004-02-17 | Inside Technologies | System for synchronizing a microprocessor with an asynchronous event by detecting an awaited event occurs and immediately applying load signal to a counter thereafter |
| JP2008518309A (ja) * | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | マルチプロセッサシステムにおける同期化のための方法および装置 |
| JP2008518305A (ja) * | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの処理ユニットを有する計算機システムにおける駆動モードの切り替え方法、及び駆動モード切り替え装置 |
| JP2009230590A (ja) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | 分散処理を実行する演算装置とサーバおよび分散処理方法 |
| WO2022249818A1 (ja) * | 2021-05-27 | 2022-12-01 | 株式会社日立製作所 | 保安装置および保安方法 |
Families Citing this family (148)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2214334B (en) * | 1988-01-05 | 1992-05-06 | Texas Instruments Ltd | Integrated circuit |
| AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
| CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
| US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
| AU625293B2 (en) | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
| US5295258A (en) | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
| US5442772A (en) * | 1991-03-29 | 1995-08-15 | International Business Machines Corporation | Common breakpoint in virtual time logic simulation for parallel processors |
| WO1993012480A1 (en) | 1991-12-17 | 1993-06-24 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
| FR2685509B1 (fr) * | 1991-12-23 | 1996-09-06 | Sextant Avionique | Dispositif de synchronisation entre plusieurs processeurs independants. |
| EP0550286A3 (en) * | 1992-01-03 | 1993-11-03 | Amdahl Corp | 2-level multi-processor synchronization protocol |
| DE4219005A1 (de) * | 1992-06-10 | 1993-12-16 | Siemens Ag | Rechnersystem |
| US5613127A (en) * | 1992-08-17 | 1997-03-18 | Honeywell Inc. | Separately clocked processor synchronization improvement |
| US5715386A (en) * | 1992-09-30 | 1998-02-03 | Lucent Technologies Inc. | Apparatus and methods for software rejuvenation |
| JP3231429B2 (ja) * | 1992-11-06 | 2001-11-19 | 株式会社日立製作所 | 中央処理装置と乗算器とを有する半導体集積回路装置 |
| US5420801A (en) * | 1992-11-13 | 1995-05-30 | International Business Machines Corporation | System and method for synchronization of multimedia streams |
| US5838894A (en) * | 1992-12-17 | 1998-11-17 | Tandem Computers Incorporated | Logical, fail-functional, dual central processor units formed from three processor units |
| CA2153052A1 (en) * | 1993-02-26 | 1994-09-01 | Frederick L. Smith | Synchronization arbitration technique and apparatus |
| JPH0773059A (ja) * | 1993-03-02 | 1995-03-17 | Tandem Comput Inc | フォールトトレラント型コンピュータシステム |
| EP0616274B1 (de) * | 1993-03-16 | 1996-06-05 | Siemens Aktiengesellschaft | Synchronisationsverfahren für Automatisierungssysteme |
| US5572620A (en) * | 1993-07-29 | 1996-11-05 | Honeywell Inc. | Fault-tolerant voter system for output data from a plurality of non-synchronized redundant processors |
| US5504859A (en) * | 1993-11-09 | 1996-04-02 | International Business Machines Corporation | Data processor with enhanced error recovery |
| EP0731945B1 (en) * | 1993-12-01 | 2000-05-17 | Marathon Technologies Corporation | Fault resilient/fault tolerant computing |
| US6865684B2 (en) * | 1993-12-13 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Utilization-based power management of a clocked device |
| US5845310A (en) * | 1993-12-15 | 1998-12-01 | Hewlett-Packard Co. | System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses |
| US5682480A (en) * | 1994-08-15 | 1997-10-28 | Hitachi, Ltd. | Parallel computer system for performing barrier synchronization by transferring the synchronization packet through a path which bypasses the packet buffer in response to an interrupt |
| US5535380A (en) * | 1994-12-16 | 1996-07-09 | International Business Machines Corporation | System to reduce latency for real time interrupts |
| US5680408A (en) * | 1994-12-28 | 1997-10-21 | Intel Corporation | Method and apparatus for determining a value of a majority of operands |
| US5909571A (en) * | 1995-05-01 | 1999-06-01 | Apple Computer, Inc. | Clock distribution for processor and host cards |
| GB2302743B (en) * | 1995-06-26 | 2000-02-16 | Sony Uk Ltd | Processing apparatus |
| JP3595033B2 (ja) * | 1995-07-18 | 2004-12-02 | 株式会社日立製作所 | 高信頼化コンピュータシステム |
| US5898864A (en) * | 1995-09-25 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a context-altering instruction without performing a context-synchronization operation within high-performance processors |
| US5559453A (en) * | 1995-09-28 | 1996-09-24 | International Business Machines Corporation | Interlocked restore circuit |
| EP0782079A1 (en) * | 1995-12-18 | 1997-07-02 | Texas Instruments Incorporated | Burst access in data processing systems |
| US5854944A (en) * | 1996-05-09 | 1998-12-29 | Motorola, Inc. | Method and apparatus for determining wait states on a per cycle basis in a data processing system |
| US5915082A (en) * | 1996-06-07 | 1999-06-22 | Lockheed Martin Corporation | Error detection and fault isolation for lockstep processor systems |
| US5878382A (en) * | 1996-06-20 | 1999-03-02 | International Business Machines Corporation | Method and apparatus for timing and monitoring inactivity periods |
| US5646566A (en) * | 1996-06-21 | 1997-07-08 | International Business Machines Corporation | Low power clocked set/reset fast dynamic latch |
| DE19625195A1 (de) | 1996-06-24 | 1998-01-02 | Siemens Ag | Synchronisationsverfahren |
| US5790397A (en) * | 1996-09-17 | 1998-08-04 | Marathon Technologies Corporation | Fault resilient/fault tolerant computing |
| US5905869A (en) * | 1996-09-27 | 1999-05-18 | Hewlett-Packard, Co. | Time of century counter synchronization using a SCI interconnect |
| US5896524A (en) * | 1997-02-06 | 1999-04-20 | Digital Equipment Corporation | Off-line clock synchronization for multiprocessor event traces |
| US6029204A (en) * | 1997-03-13 | 2000-02-22 | International Business Machines Corporation | Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries |
| US5896523A (en) * | 1997-06-04 | 1999-04-20 | Marathon Technologies Corporation | Loosely-coupled, synchronized execution |
| US5995570A (en) * | 1997-06-27 | 1999-11-30 | International Business Machines Corporation | Recovering a clock signal in a multimedia network using time stamps |
| US5983371A (en) * | 1997-07-11 | 1999-11-09 | Marathon Technologies Corporation | Active failure detection |
| US5978867A (en) * | 1997-08-21 | 1999-11-02 | International Business Machines Corporation | System for counting clock cycles stolen from a data processor and providing the count value to a second processor accessing the data processor cycle resources |
| US6044206A (en) * | 1997-10-14 | 2000-03-28 | C-Cube Microsystems | Out of order instruction processing using dual memory banks |
| US6252583B1 (en) * | 1997-11-14 | 2001-06-26 | Immersion Corporation | Memory and force output management for a force feedback system |
| US7003593B2 (en) * | 1997-12-17 | 2006-02-21 | Src Computers, Inc. | Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port |
| US6128705A (en) * | 1998-01-07 | 2000-10-03 | International Business Machines Corporation | Method and apparatus for executing multiply-initiated, multiply-sourced variable delay system bus operations |
| US6226694B1 (en) * | 1998-04-29 | 2001-05-01 | Hewlett-Packard Company | Achieving consistency and synchronization among multiple data stores that cooperate within a single system in the absence of transaction monitoring |
| US6182112B1 (en) * | 1998-06-12 | 2001-01-30 | Unisys Corporation | Method of and apparatus for bandwidth control of transfers via a bi-directional interface |
| US6052700A (en) * | 1998-09-17 | 2000-04-18 | Bull Hn Information Systems Inc. | Calendar clock caching in a multiprocessor data processing system |
| WO2000036492A2 (en) | 1998-12-18 | 2000-06-22 | Triconex Corporation | Method and apparatus for processing control using a multiple redundant processor control system |
| US6507609B1 (en) * | 1999-01-20 | 2003-01-14 | Advanced Micro Devices, Inc. | Mechanism for capturing and reporting interrupt events of different clock domains |
| US6678644B1 (en) * | 1999-09-13 | 2004-01-13 | Synopsys, Inc. | Integrated circuit models having associated timing exception information therewith for use with electronic design automation |
| US6543002B1 (en) * | 1999-11-04 | 2003-04-01 | International Business Machines Corporation | Recovery from hang condition in a microprocessor |
| WO2001063416A1 (en) * | 2000-02-24 | 2001-08-30 | Bops Incorporated | Methods and apparatus for scalable array processor interrupt detection and response |
| US6687851B1 (en) * | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
| US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
| US6862689B2 (en) | 2001-04-12 | 2005-03-01 | Stratus Technologies Bermuda Ltd. | Method and apparatus for managing session information |
| US6615281B1 (en) * | 2000-05-05 | 2003-09-02 | International Business Machines Corporation | Multi-node synchronization using global timing source and interrupts following anticipatory wait state |
| DE10053525B4 (de) * | 2000-10-27 | 2012-06-28 | Robert Bosch Gmbh | Verfahren und System zur Synchronisation von Teilnehmern einer Kommunikationsverbindung |
| WO2002041103A2 (en) * | 2000-11-17 | 2002-05-23 | Lecroy Corporation | Streaming architecture for waveform processing |
| GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
| JP3628265B2 (ja) * | 2001-02-21 | 2005-03-09 | 株式会社半導体理工学研究センター | マルチプロセッサシステム装置 |
| US7065672B2 (en) * | 2001-03-28 | 2006-06-20 | Stratus Technologies Bermuda Ltd. | Apparatus and methods for fault-tolerant computing using a switching fabric |
| US6928583B2 (en) * | 2001-04-11 | 2005-08-09 | Stratus Technologies Bermuda Ltd. | Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep |
| KR100728943B1 (ko) * | 2001-06-20 | 2007-06-15 | 주식회사 하이닉스반도체 | 셀프 테스트 모드를 갖는 반도체 메모리 장치 |
| FI113113B (fi) * | 2001-11-20 | 2004-02-27 | Nokia Corp | Menetelmä ja laite integroitujen piirien ajan synkronoimiseksi |
| US7539496B1 (en) * | 2002-03-28 | 2009-05-26 | Intel Corporation | Channel assignment based on spatial strategies in a wireless network using adaptive antenna arrays |
| JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
| EP1398700A1 (de) * | 2002-09-12 | 2004-03-17 | Siemens Aktiengesellschaft | Verfahren und Schaltungsanordnung zur Synchronisation redundanter Verarbeitungseinheiten |
| EP1398699A1 (de) * | 2002-09-12 | 2004-03-17 | Siemens Aktiengesellschaft | Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme |
| GB2396446B (en) * | 2002-12-20 | 2005-11-16 | Picochip Designs Ltd | Array synchronization |
| US7467326B2 (en) * | 2003-02-28 | 2008-12-16 | Maxwell Technologies, Inc. | Self-correcting computer |
| US7225037B2 (en) * | 2003-09-03 | 2007-05-29 | Unitronics (1989) (R″G) Ltd. | System and method for implementing logic control in programmable controllers in distributed control systems |
| US7617488B2 (en) * | 2003-12-30 | 2009-11-10 | Intel Corporation | Method and apparatus and determining processor utilization |
| JP3808874B2 (ja) * | 2004-03-12 | 2006-08-16 | 東芝ソリューション株式会社 | 分散システム及び多重化制御方法 |
| US7426656B2 (en) * | 2004-03-30 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Method and system executing user programs on non-deterministic processors |
| US8799706B2 (en) * | 2004-03-30 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Method and system of exchanging information between processors |
| US20050240806A1 (en) * | 2004-03-30 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Diagnostic memory dump method in a redundant processor |
| US20060020852A1 (en) * | 2004-03-30 | 2006-01-26 | Bernick David L | Method and system of servicing asynchronous interrupts in multiple processors executing a user program |
| JP4447977B2 (ja) | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
| US7392432B2 (en) * | 2004-10-07 | 2008-06-24 | International Business Machines Corporation | Synchronizing cross checked processors during initialization by miscompare |
| US20060090092A1 (en) * | 2004-10-25 | 2006-04-27 | Verhulst Anton H | Clock timing adjustment |
| US7711681B2 (en) * | 2004-11-05 | 2010-05-04 | Accenture Global Services Gmbh | System for distributed information presentation and interaction |
| JP2006178616A (ja) * | 2004-12-21 | 2006-07-06 | Nec Corp | フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム |
| US7467327B2 (en) * | 2005-01-25 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | Method and system of aligning execution point of duplicate copies of a user program by exchanging information about instructions executed |
| US7328331B2 (en) * | 2005-01-25 | 2008-02-05 | Hewlett-Packard Development Company, L.P. | Method and system of aligning execution point of duplicate copies of a user program by copying memory stores |
| US7236005B1 (en) | 2005-02-09 | 2007-06-26 | Intel Corporation | Majority voter circuit design |
| US7346793B2 (en) * | 2005-02-10 | 2008-03-18 | Northrop Grumman Corporation | Synchronization of multiple operational flight programs |
| US7933966B2 (en) * | 2005-04-26 | 2011-04-26 | Hewlett-Packard Development Company, L.P. | Method and system of copying a memory area between processor elements for lock-step execution |
| US7590885B2 (en) * | 2005-04-26 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | Method and system of copying memory from a source processor to a target processor by duplicating memory writes |
| US8103861B2 (en) * | 2005-04-28 | 2012-01-24 | Hewlett-Packard Development Company, L.P. | Method and system for presenting an interrupt request to processors executing in lock step |
| US7730350B2 (en) * | 2005-04-28 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | Method and system of determining the execution point of programs executed in lock step |
| WO2007006013A2 (en) * | 2005-07-05 | 2007-01-11 | Viasat, Inc. | Synchronized high-assurance circuits |
| US7549085B2 (en) * | 2006-04-28 | 2009-06-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus to insert special instruction |
| JPWO2008053709A1 (ja) * | 2006-11-02 | 2010-02-25 | 日本電気株式会社 | 半導体集積回路選別試験装置および方法 |
| US8074109B1 (en) * | 2006-11-14 | 2011-12-06 | Unisys Corporation | Third-party voting to select a master processor within a multi-processor computer |
| JPWO2008075404A1 (ja) * | 2006-12-19 | 2010-04-02 | 株式会社システムブイマネジメント | 半導体製造システム |
| US8510741B2 (en) * | 2007-03-28 | 2013-08-13 | Massachusetts Institute Of Technology | Computing the processor desires of jobs in an adaptively parallel scheduling environment |
| US20090064166A1 (en) * | 2007-08-28 | 2009-03-05 | Arimilli Lakshminarayana B | System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks |
| US8127300B2 (en) * | 2007-08-28 | 2012-02-28 | International Business Machines Corporation | Hardware based dynamic load balancing of message passing interface tasks |
| US8312464B2 (en) * | 2007-08-28 | 2012-11-13 | International Business Machines Corporation | Hardware based dynamic load balancing of message passing interface tasks by modifying tasks |
| US8234652B2 (en) * | 2007-08-28 | 2012-07-31 | International Business Machines Corporation | Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks |
| US8108876B2 (en) | 2007-08-28 | 2012-01-31 | International Business Machines Corporation | Modifying an operation of one or more processors executing message passing interface tasks |
| GB2454865B (en) | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
| US7809980B2 (en) * | 2007-12-06 | 2010-10-05 | Jehoda Refaeli | Error detector in a cache memory using configurable way redundancy |
| US8117449B2 (en) * | 2007-12-27 | 2012-02-14 | Mastercard International, Inc. | Method to detect man-in-the-middle (MITM) or relay attacks |
| JP5206009B2 (ja) * | 2008-02-18 | 2013-06-12 | 日本電気株式会社 | フォルトトレラントコンピュータ、同期制御方法、及びプログラム |
| JP5347414B2 (ja) * | 2008-10-03 | 2013-11-20 | 富士通株式会社 | 同期制御装置,情報処理装置及び同期管理方法 |
| CN102217207B (zh) * | 2009-01-23 | 2014-04-30 | 上海贝尔股份有限公司 | 用于实时分布式系统的同步方法及其装置 |
| JP4697314B2 (ja) | 2009-02-05 | 2011-06-08 | 横河電機株式会社 | 二重化フィールド制御装置 |
| JP5278530B2 (ja) * | 2009-03-09 | 2013-09-04 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム |
| GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
| GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
| GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
| JP5676950B2 (ja) * | 2009-08-20 | 2015-02-25 | キヤノン株式会社 | 画像形成装置 |
| GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
| US8473818B2 (en) * | 2009-10-12 | 2013-06-25 | Empire Technology Development Llc | Reliable communications in on-chip networks |
| US8972702B2 (en) * | 2009-11-30 | 2015-03-03 | Intenational Business Machines Corporation | Systems and methods for power management in a high performance computing (HPC) cluster |
| US8058916B2 (en) | 2010-04-15 | 2011-11-15 | Xilinx, Inc. | Lockstep synchronization and maintenance |
| GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
| CN102621938A (zh) * | 2011-01-28 | 2012-08-01 | 上海新华控制技术(集团)有限公司 | 过程控制中的三重冗余控制系统及其方法 |
| GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
| GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
| GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
| CN102231125B (zh) * | 2011-05-16 | 2013-02-27 | 铁道部运输局 | 临时限速服务器的安全通信机平台 |
| US8892933B2 (en) * | 2012-04-23 | 2014-11-18 | Analog Devices, Inc. | Synchronization of multiple signal converters by transmitting signal conversion data and receiving unique correction values for the respective counters through the same data interface pins |
| EP2657797B1 (de) * | 2012-04-27 | 2017-01-18 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines redundanten Automatisierungssystems |
| US9037891B2 (en) * | 2013-02-28 | 2015-05-19 | Hamilton Sundstrand Corporation | Multi-processor synchronization using time base counters |
| US9500705B2 (en) * | 2013-08-28 | 2016-11-22 | Wisconsin Alumni Research Foundation | Integrated circuit providing fault prediction |
| US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
| US10680957B2 (en) | 2014-05-28 | 2020-06-09 | Cavium International | Method and apparatus for analytics in a network switch |
| US20150365339A1 (en) * | 2014-06-11 | 2015-12-17 | Xpliant, Inc. | Counter with overflow fifo and a method thereof |
| US20160092371A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Method and Apparatus For Deterministic Translation Lookaside Buffer (TLB) Miss Handling |
| JP6416065B2 (ja) | 2015-09-14 | 2018-10-31 | 株式会社東芝 | 診断回路及び半導体システム |
| TWI571712B (zh) * | 2015-10-29 | 2017-02-21 | 行政院原子能委員會核能研究所 | 多重容錯控制系統及其同步方法 |
| DE202016007417U1 (de) | 2016-12-03 | 2018-03-06 | WAGO Verwaltungsgesellschaft mit beschränkter Haftung | Steuerung Redundanter Verarbeitungseinheiten |
| US11609845B2 (en) * | 2019-05-28 | 2023-03-21 | Oracle International Corporation | Configurable memory device connected to a microprocessor |
| US11132268B2 (en) * | 2019-10-21 | 2021-09-28 | The Boeing Company | System and method for synchronizing communications between a plurality of processors |
| US11436043B2 (en) | 2019-11-13 | 2022-09-06 | International Business Machines Corporation | Operating system code patching during live migration |
| US12344269B2 (en) * | 2020-03-27 | 2025-07-01 | Intel Corporation | Computing system for mitigating execution drift |
| FR3108993A1 (fr) * | 2020-04-07 | 2021-10-08 | Airbus Operations | Procédé et système de synchronisation d’unités de calcul d’un aéronef. |
| US12223355B2 (en) * | 2021-11-16 | 2025-02-11 | Xilinx, Inc. | Synchronization of system resources in a multi-socket data processing system |
| CN115903629B (zh) * | 2022-12-29 | 2025-02-18 | 杭州和利时自动化有限公司 | 工业控制系统及其控制方法 |
| EP4743885A1 (en) * | 2023-07-12 | 2026-05-20 | Texas Instruments Inc | CYCLE-PRECISION DETERMINISTIC SOFTWARE EXECUTION |
Family Cites Families (110)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR1587572A (ja) * | 1968-10-25 | 1970-03-20 | ||
| GB1253309A (en) * | 1969-11-21 | 1971-11-10 | Marconi Co Ltd | Improvements in or relating to data processing arrangements |
| GB1308497A (en) * | 1970-09-25 | 1973-02-21 | Marconi Co Ltd | Data processing arrangements |
| SE347826B (ja) * | 1970-11-20 | 1972-08-14 | Ericsson Telefon Ab L M | |
| US3810119A (en) * | 1971-05-04 | 1974-05-07 | Us Navy | Processor synchronization scheme |
| BE790654A (fr) * | 1971-10-28 | 1973-04-27 | Siemens Ag | Systeme de traitement avec des unites de systeme |
| DE2202231A1 (de) * | 1972-01-18 | 1973-07-26 | Siemens Ag | Verarbeitungssystem mit verdreifachten systemeinheiten |
| US3828321A (en) * | 1973-03-15 | 1974-08-06 | Gte Automatic Electric Lab Inc | System for reconfiguring central processor and instruction storage combinations |
| CH556576A (de) * | 1973-03-28 | 1974-11-29 | Hasler Ag | Einrichtung zur synchronisierung dreier rechner. |
| FR2253423A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2253432A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| IT1014277B (it) * | 1974-06-03 | 1977-04-20 | Cselt Centro Studi Lab Telecom | Sistema di controllo di elaboratori di processo operanti in parallelo |
| US4030774A (en) * | 1975-02-06 | 1977-06-21 | Foster Edwin E | Pedal actuated bicycle brake with coordinating supporting stand |
| US4015246A (en) * | 1975-04-14 | 1977-03-29 | The Charles Stark Draper Laboratory, Inc. | Synchronous fault tolerant multi-processor system |
| US4015243A (en) * | 1975-06-02 | 1977-03-29 | Kurpanek Horst G | Multi-processing computer system |
| US4034347A (en) * | 1975-08-08 | 1977-07-05 | Bell Telephone Laboratories, Incorporated | Method and apparatus for controlling a multiprocessor system |
| JPS5224825A (en) * | 1975-08-22 | 1977-02-24 | Kubota Ltd | Stalk conveying device for agricultral machinery |
| JPS5260540A (en) * | 1975-11-14 | 1977-05-19 | Hitachi Ltd | Synchronization control of double-type system |
| US4224664A (en) * | 1976-05-07 | 1980-09-23 | Honeywell Information Systems Inc. | Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system |
| US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
| US4456952A (en) * | 1977-03-17 | 1984-06-26 | Honeywell Information Systems Inc. | Data processing system having redundant control processors for fault detection |
| US4358823A (en) * | 1977-03-25 | 1982-11-09 | Trw, Inc. | Double redundant processor |
| US4187538A (en) * | 1977-06-13 | 1980-02-05 | Honeywell Inc. | Read request selection system for redundant storage |
| GB1545169A (en) * | 1977-09-22 | 1979-05-02 | Burroughs Corp | Data processor system including data-save controller for protection against loss of volatile memory information during power failure |
| IT1111606B (it) * | 1978-03-03 | 1986-01-13 | Cselt Centro Studi Lab Telecom | Sistema elaborativo modulare multiconfigurabile integrato con un sistema di preelaborazione |
| JPS54143037A (en) * | 1978-04-28 | 1979-11-07 | Nippon Signal Co Ltd:The | Multiplex system synchronous operating system |
| US4219875A (en) * | 1978-05-05 | 1980-08-26 | Honeywell Inc. | Digital event input circuit for a computer based process control system |
| US4176402A (en) * | 1978-05-24 | 1979-11-27 | Sperry Rand Corporation | Apparatus for simultaneously measuring a plurality of digital events employing a random number table |
| US4234920A (en) * | 1978-11-24 | 1980-11-18 | Engineered Systems, Inc. | Power failure detection and restart system |
| US4257097A (en) * | 1978-12-11 | 1981-03-17 | Bell Telephone Laboratories, Incorporated | Multiprocessor system with demand assignable program paging stores |
| US4253144A (en) * | 1978-12-21 | 1981-02-24 | Burroughs Corporation | Multi-processor communication network |
| US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
| US4428044A (en) * | 1979-09-20 | 1984-01-24 | Bell Telephone Laboratories, Incorporated | Peripheral unit controller |
| DE2939487A1 (de) * | 1979-09-28 | 1981-04-16 | Siemens AG, 1000 Berlin und 8000 München | Rechnerarchitektur auf der basis einer multi-mikrocomputerstruktur als fehlertolerantes system |
| US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
| NL7909178A (nl) * | 1979-12-20 | 1981-07-16 | Philips Nv | Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten. |
| FR2474201B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache |
| US4330826A (en) * | 1980-02-05 | 1982-05-18 | The Bendix Corporation | Synchronizer and synchronization system for a multiple computer system |
| JPS56119596A (en) * | 1980-02-26 | 1981-09-19 | Nec Corp | Control signal generator |
| US4493019A (en) * | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Pipelined microprogrammed digital data processor employing microinstruction tasking |
| US4412281A (en) * | 1980-07-11 | 1983-10-25 | Raytheon Company | Distributed signal processing system |
| US4392196A (en) * | 1980-08-11 | 1983-07-05 | Harris Corporation | Multi-processor time alignment control system |
| US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
| US4375683A (en) * | 1980-11-12 | 1983-03-01 | August Systems | Fault tolerant computational system and voter circuit |
| US4414624A (en) * | 1980-11-19 | 1983-11-08 | The United States Of America As Represented By The Secretary Of The Navy | Multiple-microcomputer processing |
| US4430707A (en) * | 1981-03-05 | 1984-02-07 | Burroughs Corporation | Microprogrammed digital data processing system employing multi-phase subroutine control for concurrently executing tasks |
| US4455605A (en) * | 1981-07-23 | 1984-06-19 | International Business Machines Corporation | Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices |
| US4438494A (en) * | 1981-08-25 | 1984-03-20 | Intel Corporation | Apparatus of fault-handling in a multiprocessing system |
| US4597084A (en) * | 1981-10-01 | 1986-06-24 | Stratus Computer, Inc. | Computer memory apparatus |
| US4486826A (en) * | 1981-10-01 | 1984-12-04 | Stratus Computer, Inc. | Computer peripheral control apparatus |
| DE3208573C2 (de) * | 1982-03-10 | 1985-06-27 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | 2 aus 3-Auswahleinrichtung für ein 3-Rechnersystem |
| US4497059A (en) * | 1982-04-28 | 1985-01-29 | The Charles Stark Draper Laboratory, Inc. | Multi-channel redundant processing systems |
| JPS5914062A (ja) * | 1982-07-15 | 1984-01-24 | Hitachi Ltd | 二重化共有メモリ制御方法 |
| DE3235762A1 (de) * | 1982-09-28 | 1984-03-29 | Fried. Krupp Gmbh, 4300 Essen | Verfahren und vorrichtung zur synchronisation von datenverarbeitungsanlagen |
| NL8203921A (nl) * | 1982-10-11 | 1984-05-01 | Philips Nv | Multipel redundant kloksysteem, bevattende een aantal onderling synchroniserende klokken, en klokschakeling voor gebruik in zo een kloksysteem. |
| US4667287A (en) * | 1982-10-28 | 1987-05-19 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
| US4648035A (en) * | 1982-12-06 | 1987-03-03 | Digital Equipment Corporation | Address conversion unit for multiprocessor system |
| US4541094A (en) * | 1983-03-21 | 1985-09-10 | Sequoia Systems, Inc. | Self-checking computer circuitry |
| US4591977A (en) * | 1983-03-23 | 1986-05-27 | The United States Of America As Represented By The Secretary Of The Air Force | Plurality of processors where access to the common memory requires only a single clock interval |
| US4644498A (en) * | 1983-04-04 | 1987-02-17 | General Electric Company | Fault-tolerant real time clock |
| US4661900A (en) * | 1983-04-25 | 1987-04-28 | Cray Research, Inc. | Flexible chaining in vector processor with selective use of vector registers as operand and result registers |
| US4577272A (en) * | 1983-06-27 | 1986-03-18 | E-Systems, Inc. | Fault tolerant and load sharing processing system |
| US4646231A (en) * | 1983-07-21 | 1987-02-24 | Burroughs Corporation | Method of synchronizing the sequence by which a variety of randomly called unrelated activities are executed in a digital processor |
| JPS6054052A (ja) * | 1983-09-02 | 1985-03-28 | Nec Corp | 処理継続方式 |
| US4912698A (en) * | 1983-09-26 | 1990-03-27 | Siemens Aktiengesellschaft | Multi-processor central control unit of a telephone exchange system and its operation |
| DE3334796A1 (de) * | 1983-09-26 | 1984-11-08 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zum betrieb eines multiprozessor-steuerrechners, insbesondere fuer die zentralsteuereinheit eines fernsprech-vermittlungssystems |
| US4564903A (en) * | 1983-10-05 | 1986-01-14 | International Business Machines Corporation | Partitioned multiprocessor programming system |
| US4607365A (en) * | 1983-11-14 | 1986-08-19 | Tandem Computers Incorporated | Fault-tolerant communications controller system |
| US4783733A (en) * | 1983-11-14 | 1988-11-08 | Tandem Computers Incorporated | Fault tolerant communications controller system |
| US4570261A (en) * | 1983-12-09 | 1986-02-11 | Motorola, Inc. | Distributed fault isolation and recovery system and method |
| EP0164414A4 (en) * | 1983-12-12 | 1986-06-05 | Parallel Computers Inc | COMPUTER PROCESSOR CONTROLLER. |
| US4638427A (en) * | 1984-04-16 | 1987-01-20 | International Business Machines Corporation | Performance evaluation for an asymmetric multiprocessor system |
| US4633394A (en) * | 1984-04-24 | 1986-12-30 | International Business Machines Corp. | Distributed arbitration for multiple processors |
| US4589066A (en) * | 1984-05-31 | 1986-05-13 | General Electric Company | Fault tolerant, frame synchronization for multiple processor systems |
| US4823256A (en) * | 1984-06-22 | 1989-04-18 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reconfigurable dual processor system |
| US4959774A (en) * | 1984-07-06 | 1990-09-25 | Ampex Corporation | Shadow memory system for storing variable backup blocks in consecutive time periods |
| JPS6184740A (ja) * | 1984-10-03 | 1986-04-30 | Hitachi Ltd | 汎用オブジエクトコ−ド生成方式 |
| US4827401A (en) * | 1984-10-24 | 1989-05-02 | International Business Machines Corporation | Method and apparatus for synchronizing clocks prior to the execution of a flush operation |
| AU568977B2 (en) * | 1985-05-10 | 1988-01-14 | Tandem Computers Inc. | Dual processor error detection system |
| US4757442A (en) * | 1985-06-17 | 1988-07-12 | Nec Corporation | Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor |
| US4751639A (en) * | 1985-06-24 | 1988-06-14 | Ncr Corporation | Virtual command rollback in a fault tolerant data processing system |
| US4683570A (en) * | 1985-09-03 | 1987-07-28 | General Electric Company | Self-checking digital fault detector for modular redundant real time clock |
| US4845419A (en) * | 1985-11-12 | 1989-07-04 | Norand Corporation | Automatic control means providing a low-power responsive signal, particularly for initiating data preservation operation |
| US4733353A (en) * | 1985-12-13 | 1988-03-22 | General Electric Company | Frame synchronization of multiply redundant computers |
| JPH0778750B2 (ja) * | 1985-12-24 | 1995-08-23 | 日本電気株式会社 | 高信頼性コンピュータ方式 |
| US4703452A (en) * | 1986-01-03 | 1987-10-27 | Gte Communication Systems Corporation | Interrupt synchronizing circuit |
| US4799140A (en) * | 1986-03-06 | 1989-01-17 | Orbital Sciences Corporation Ii | Majority vote sequencer |
| US4868832A (en) * | 1986-04-30 | 1989-09-19 | Marrington S Paul | Computer power system |
| US4757505A (en) * | 1986-04-30 | 1988-07-12 | Elgar Electronics Corp. | Computer power system |
| US4763333A (en) * | 1986-08-08 | 1988-08-09 | Universal Vectors Corporation | Work-saving system for preventing loss in a computer due to power interruption |
| US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
| IT1213344B (it) * | 1986-09-17 | 1989-12-20 | Honoywell Information Systems | Architettura di calcolatore a tolleranza di guasto. |
| US4774709A (en) * | 1986-10-02 | 1988-09-27 | United Technologies Corporation | Symmetrization for redundant channels |
| US4847837A (en) * | 1986-11-07 | 1989-07-11 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Local area network with fault-checking, priorities and redundant backup |
| DE3638947C2 (de) * | 1986-11-14 | 1995-08-31 | Bosch Gmbh Robert | Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem |
| US4831520A (en) * | 1987-02-24 | 1989-05-16 | Digital Equipment Corporation | Bus interface circuit for digital data processor |
| US4805107A (en) * | 1987-04-15 | 1989-02-14 | Allied-Signal Inc. | Task scheduler for a fault tolerant multiple node processing system |
| CH675781A5 (ja) * | 1987-04-16 | 1990-10-31 | Bbc Brown Boveri & Cie | |
| US4800462A (en) * | 1987-04-17 | 1989-01-24 | Tandem Computers Incorporated | Electrical keying for replaceable modules |
| AU2130888A (en) * | 1987-07-21 | 1989-02-13 | Stellar Computer Inc. | Detecting multiple processor deadlock |
| US4868826A (en) * | 1987-08-31 | 1989-09-19 | Triplex | Fault-tolerant output circuits |
| US4868818A (en) * | 1987-10-29 | 1989-09-19 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Fault tolerant hypercube computer system architecture |
| AU616213B2 (en) | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
| US4879716A (en) * | 1987-12-23 | 1989-11-07 | Bull Hn Information Systems Inc. | Resilient data communications system |
| US4937741A (en) * | 1988-04-28 | 1990-06-26 | The Charles Stark Draper Laboratory, Inc. | Synchronization of fault-tolerant parallel processing systems |
| US4907232A (en) * | 1988-04-28 | 1990-03-06 | The Charles Stark Draper Laboratory, Inc. | Fault-tolerant parallel processing system |
| US4873685A (en) * | 1988-05-04 | 1989-10-10 | Rockwell International Corporation | Self-checking voting logic for fault tolerant computing applications |
| US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
| US5018148A (en) * | 1989-03-01 | 1991-05-21 | Ncr Corporation | Method and apparatus for power failure protection |
| US5020059A (en) * | 1989-03-31 | 1991-05-28 | At&T Bell Laboratories | Reconfigurable signal processor |
-
1988
- 1988-10-18 AU AU23969/88A patent/AU616213B2/en not_active Ceased
- 1988-10-24 EP EP88309985A patent/EP0316087A3/en not_active Ceased
- 1988-11-08 JP JP63282306A patent/JPH0833874B2/ja not_active Expired - Fee Related
-
1991
- 1991-02-20 US US07/657,990 patent/US5239641A/en not_active Expired - Lifetime
-
1992
- 1992-12-09 US US07/988,202 patent/US5353436A/en not_active Expired - Lifetime
-
1993
- 1993-08-23 US US08/110,328 patent/US5384906A/en not_active Expired - Lifetime
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6694446B1 (en) * | 1998-02-12 | 2004-02-17 | Inside Technologies | System for synchronizing a microprocessor with an asynchronous event by detecting an awaited event occurs and immediately applying load signal to a counter thereafter |
| JP2008518309A (ja) * | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | マルチプロセッサシステムにおける同期化のための方法および装置 |
| JP2008518305A (ja) * | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの処理ユニットを有する計算機システムにおける駆動モードの切り替え方法、及び駆動モード切り替え装置 |
| JP2009230590A (ja) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | 分散処理を実行する演算装置とサーバおよび分散処理方法 |
| WO2022249818A1 (ja) * | 2021-05-27 | 2022-12-01 | 株式会社日立製作所 | 保安装置および保安方法 |
| US12561216B2 (en) | 2021-05-27 | 2026-02-24 | Hitachi, Ltd. | Safety device and safety method |
Also Published As
| Publication number | Publication date |
|---|---|
| US5353436A (en) | 1994-10-04 |
| US5239641A (en) | 1993-08-24 |
| AU2396988A (en) | 1989-05-11 |
| EP0316087A2 (en) | 1989-05-17 |
| JPH0833874B2 (ja) | 1996-03-29 |
| EP0316087A3 (en) | 1990-08-22 |
| US5384906A (en) | 1995-01-24 |
| AU616213B2 (en) | 1991-10-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5353436A (en) | Method and apparatus for synchronizing a plurality of processors | |
| US6938183B2 (en) | Fault tolerant processing architecture | |
| CA1306546C (en) | Dual zone, fault tolerant computer system with error checking on i/o writes | |
| CA1311849C (en) | Fault tolerant computer system with fault isolation and repair | |
| US5226152A (en) | Functional lockstep arrangement for redundant processors | |
| CA1299756C (en) | Dual rail processors with error checking at single rail interfaces | |
| US5845060A (en) | High-performance fault tolerant computer system with clock length synchronization of loosely coupled processors | |
| CN100375050C (zh) | 高可靠性处理器的片上机制 | |
| US5317726A (en) | Multiple-processor computer system with asynchronous execution of identical code streams | |
| US8234521B2 (en) | Systems and methods for maintaining lock step operation | |
| US5890003A (en) | Interrupts between asynchronously operating CPUs in fault tolerant computer system | |
| US4358823A (en) | Double redundant processor | |
| US6263452B1 (en) | Fault-tolerant computer system with online recovery and reintegration of redundant components | |
| EP3770765B1 (en) | Error recovery method and apparatus | |
| JPH0683663A (ja) | マルチプロセッサ・コンピュータ・システム | |
| US5473770A (en) | Fault-tolerant computer system with hidden local memory refresh | |
| US5905875A (en) | Multiprocessor system connected by a duplicated system bus having a bus status notification line | |
| US20040193735A1 (en) | Method and circuit arrangement for synchronization of synchronously or asynchronously clocked processor units | |
| JP3063334B2 (ja) | 高信頼度化情報処理装置 | |
| JPH0916535A (ja) | マルチプロセッサ計算機 | |
| JPH11259340A (ja) | コンピュータの再起動制御回路 | |
| JP3415636B2 (ja) | プロセッサ装置 | |
| JPH0695902A (ja) | プロセッサ二重化方式の情報処理装置 | |
| JPH01319834A (ja) | マイクロコンピュータ | |
| JP3110177B2 (ja) | 2重化計算機システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 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 |
|
| LAPS | Cancellation because of no payment of annual fees |