JPH0833874B2 - 複数のプロセッサを同期する装置 - Google Patents

複数のプロセッサを同期する装置

Info

Publication number
JPH0833874B2
JPH0833874B2 JP63282306A JP28230688A JPH0833874B2 JP H0833874 B2 JPH0833874 B2 JP H0833874B2 JP 63282306 A JP63282306 A JP 63282306A JP 28230688 A JP28230688 A JP 28230688A JP H0833874 B2 JPH0833874 B2 JP H0833874B2
Authority
JP
Japan
Prior art keywords
processor
event
events
counted
counting
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.)
Expired - Fee Related
Application number
JP63282306A
Other languages
English (en)
Other versions
JPH01258057A (ja
Inventor
ダブリュー ホースト ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH01258057A publication Critical patent/JPH01258057A/ja
Publication of JPH0833874B2 publication Critical patent/JPH0833874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error 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/184Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1691Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error 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/184Error 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/185Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking 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)

Description

【発明の詳細な説明】 (産業上の利用分野) この発明はデータ処理システムに関し、特にデータの
保全性を保証したり、故障の許容を与えるために複数の
プロセッサを同期する装置に関する。
(従来の技術と課題) マイクロプロセッサの使用が普及するにつれ、データ
の保全性を保証し、またシステム内におけるハードウェ
アやその他の故障の許容を与える必要がますます重要に
なってきた。データの保全性を保証する1つの方法で
は、同じプログラムを実行し、その結果を比較してエラ
ーを検出するため2つのプロセッサを用いる。エラーが
検出されると、適切なエラールーチンが呼び出される。
故障の許容を与える方法は、同じプログラムを実行する
3つ以上のプロセッサを含み、それらの結果の多数決を
用いて1つ以上の誤作動プロセッサを許容する。あるい
は、2対のプロセッサを用意し、一方の対でエラーが検
出されたら、その対が動作不能とされ、他方の対で処理
が接続されるように構成されることもある。上記いずれ
の構成でも、各結果を比較したりまたは票決するため
に、プロセッサが同期されねばならない。
データの保全性を保証し、故障の許容を与える既知の
システムは、主に次の4つのカテゴリーに分けられる:
1)非故障許容クロックを用いるロックステップシステ
ム:2)故障許容クロックを用いるロックステップシステ
ム:3)バスインタフェース信号を票決するシステム:及
び4)ソフトウェアを通じて同期化及び票決を実施する
システム。故障許容クロックを含まないロックステップ
プロセッサの例は、1984年6月5日付けでロバート・レ
イド(Robert Reid)に発行された米国特許第4,453,215
号に与えられている。この特許は1つの非故障許容クロ
ックを用いたマルチ処理システムを開示しており、誤っ
た比較のエラーを避けるため、ステップロックされた各
プロセッサが同一のバスサイクルのタイミングを持たな
ければならない。つまり、システムクロック自体が、シ
ステム全体の故障に影響を及ぼし得る1つのエレメント
である。さらに、一部のプロセッサは非常に高い周波数
のクロック源を必要とし、各クロック源は一般に、1/2
または1クロック周期内で同期されねばならない。これ
を高周波数のクロックで達成するのは、不可能でないと
しても困難である。さらに、かかるシステムで使えるプ
ロセッサの種類には、ロックステップの厳しい特性のた
め制限がある。一部のプロセッサはプロセッサチップ上
にキャッシュメモリを有し、これらのメモリは製造上の
欠陥のためアクセスできないメモリロケーションを有す
ることがある。これらの欠陥が個別のキャッシュミスと
再試行を生じ、ひいてはプロセッサをステップから脱出
させてしまう。さらに一部のプロセッサでは、内部の状
態全体を一意的に初期設定することができない。
故障許容クロックを用いるロックステップシステムの
一例は、スミス、ティー・バシル(Smith,T.Basil)の
「高性能の故障許容実時間コンピュータアーキテクチ
ャ」、PROC 16th Annual Symposium on Fault Tolerant
Computing,pp.14−19、1986年7月、に開示されてい
る。このシステムは、故障許容クロックを含まないロッ
クステップシステムにおける問題の一部を、故障許容ク
ロック発生回路を用い複数の低速クロックを発生するこ
とによって軽減する。故障許容クロック発生回路は、プ
ロセッサクロックから独立している。この方式の欠点
は、唯一I/Oクロック速度を除いて各プロセッサが異な
るクロック速度を有し、最も低いI/Oクロックをそれよ
り速いプロセッサに容易に合わせられない点にある。そ
の結果、全てのI/Oが遅いクロックに同期されねばなら
ない。これは、I/O性能を著しく低下せしめる。さら
に、クロック信号の票決はフィードバックを含むアナロ
グシステムを用いてなされるので、故障許容クロックは
正しいことを立証するのが難しく、従ってその演算を検
証するのにプール式を使えない。
バスインタフェース信号が票決される同期方式は、デ
ィヴィース、ディー(Davies.D.)とウォーカーリー、
ジェイ(Wakerly,J.)の「冗長システムにおける同期と
整合」、IEEE Transactions Computers,pp.531−539、1
978年6月、及びマックコネル、エス(McConnel,S)と
ジーウィオレク、ディー(Siewiorek,D.)の「同期と票
決」、IEEE Transactions on Computers.pp.161−164、
1981年2月、に示されている。これらの論文は、独立の
クロックから進行し、インタフェース信号の票決を用い
て同期化を行うシステムを示唆している。例えば、複数
のプロセッサが対応する複数のメモリに接続されること
がある。あるプロセッサがそれに対応したメモリをリク
エストすると、該メモリは、それ自身の受信リクエスト
について確認応答する前に、少なくとも1つの他のプロ
セッサから対応メモリへのリクエストを検出するまで待
つ。同様にプロセッサは、少なくとも2つのメモリから
の確認応答が受信されるまで、メモリの確認応答を認識
しない。この方法は故障許容クロックの必要がなく、ま
た(エラーによる再試行、キャッシュヒット率の変化、
非同期ロジックなどの結果としての)「追加の」クロッ
クサイクルを許容できるが、次のような欠点を有する。
例えば、待ちの必要が、多くの速度が重要なバスインタ
フェース信号のタイミングに悪影響を及ぼす。これは、
性能に非常に大きな影響をもたらすことがある。さらに
どの論文も、非請求の外部割り込みを同期化するという
難しい問題に対処していない。各プロセッサが異なる時
点でサンプルを行うと、あるプロセッサは割り込み信号
を検出できるが、他のものは検出できない。
同期と票決両方がソフトウェアを介して実施されるシ
ステムは、ワインストック、チャールス・ビー(Weinst
ock,Charles B.)の「SIFT:実施における設計」、PROC.
10th Annual Symposium on Fault Tolerant Computing,
pp.75−77、1980年10月、に開示されているソフトウェ
ア実施故障許容(SIFT)、フリソン、エス・ジー(Fris
on,S.G.)とウェンスリー、ジョン・エッチ(Wensly,Jo
hn H.)の「相互作用の一貫性とTMRシステムの設計に対
するその影響」、PROC.12th Annual Symposium on Faul
t Tolerant Computing,pp.228−233、1980年6月、に開
示されているオウガスト・システムズ・シリーズ300、
及びヨネダ、ティー(Yoneda,T)他の「ルーズに同期さ
れたTMRシステム用割り込みハンドラーの実施」、PROC.
15th Annual Symposium on Fault Toleant Computing,p
p.246−251、1985年6月、に開示されている実験システ
ムを含んでいる。これらのシステムは独立のクロックを
用いているので、「追加の」クロックサイクルを許容で
きる。しかし一方これらのシステムは、各プロセッサ間
でメッセージを交換することによって票決と同期化を行
う特別なソフトウェアを必要とする。標準的なシステム
のソフトウェアは使えない。代わりに、全てのプロセッ
サが割り込みに等しく対応するのを保証するため複雑な
ソフトウェアが必要であり、この追加のソフトウェアが
システムの性能を著しく低下させている。
(課題を解決するための手段) 本発明は、複数のプロセッサをルーズに同期する装置
に関わる。本発明による装置は、故障許容クロック回路
を必要とせずに、2つ以上のプロセッサを故障を検出す
るつまり故障を許容する形で構成可能とする。各プロセ
ッサは、クロック速度の差あるいは「追加」クロックサ
イクルの発生いずれによるものであれ、同一のアルゴリ
ズムを異なる速度で自由に実行できる。「追加の」クロ
ックサイクルは、エラーによる再試行、キャッシュヒッ
ト率の変化、あるいは非同期ロジックの結果として生じ
ることがあり、これらは、特定のプログラムを実行して
いるときには通常生じないクロックサイクルを表してい
る。外部の割り込みは、各プロセッサが最大の割り込み
待ち時間を考慮に入れて、実行中同じ時点で割り込みに
応答するように同期される。
本発明の一実施例では、各プロセッサが独自の独立し
たクロックから進行する。プロセッサは、所定のプロセ
ッサ事象(事象とはイベント=eventのこと、以下同
様)の発生を一方のライン上に指示し、待ち状態を開始
するための信号を別のラインを経て受け取る。プロセッ
サ事象は、各プロセッサ内で使われているコードによっ
て明示的または暗黙的に定義され、各マイクロプロセッ
サの書込動作毎に1つのプロセッサ事象信号を発生する
のが好ましい。各プロセッサは、事象カウンタと称さ
れ、最後にプロセッサが同期された後に指示されたプロ
セッサ事象の数をカウントするカウンタを有する。
プロセッサは一般に外部割り込みの発生の都度同期さ
れるが、システム設計者は任意の同期事象を自由に定義
できる。同期を必要とする事象がプロセッサに付設の同
期論理回路によって検出されると、同期論理回路が次の
プロセッサ事象後に待ち信号を発生する。各プロセッサ
に付設の比較回路が、システム内における他の事象カウ
ンタをテストし、対応プロセッサが他のプロセッサより
遅れていないかどうかを判定する。遅れていれば、同期
論理回路は次のプロセッサ事象まで待ち信号を取り除
く。次いで比較回路が、その対応プロセッサがまだ遅れ
ているかどうかを再チェックする。プロセッサは、その
事象カウンタが最も速いプロセッサの事象カウンタと一
致したときに停止される。各事象カウンタが同一値を有
する状態で全てのプロセッサが停止されるまで、上記の
プロセスが続けられる。この時点に達したとき、プロセ
ッサは全てプログラム内の同じ時点で停止されている。
そして、待ち信号が取り除かれ、各プロセッサへの割り
込みラインが肯定され、各プロセッサが再スタートされ
て同期信号を処理する。
事象カウンタがその最大値へ達する前に同期事象が発
生しないと、事象カウンタのオーバフローによって再同
期化が強制的になされる。この過程に入ったプロセッサ
は処理を継続する前に、他のプロセッサの事象カウンタ
もオーバフローするのを待つ。一方、同期事象が生じる
場合でも、最悪ケースの割り込み待ち時間を満たすのに
充分なだけ頻繁にプロセッサ事象が発生しない場合のた
め、サイクルカウンタと称され、最後のプロセッサ事象
以後におけるクロックサイクルの数をカウントする別の
カウンタが設けられている。サイクルカウンタは、最大
の割り込み待ち時間を越える前の時点でオーバフローす
るように設定されている。サイクルカウンタがオーバフ
ローすると、内部同期リクエスト信号と割り込み信号を
発生することによって、再同期化が強制的になされる。
プロセッサが割り込みを処理するとき、割り込みルーチ
ン内のコードによって事象が発生される。つまり、内部
発生された同期リクエスト信号が、割り込みルーチンで
発生された事象に対して再同期化を行う。その後、プロ
セッサは未処理の割り込みを処理する。
発明の上記及びその他の利点は、添付の図面を参照し
た発明の以下の詳細な説明を読み進むことによって当業
者には明かとなろう。
(実施例) 第1図は、本発明によるデータ処理システム4の実施
例の概念ブロック図である。図示のように、データ処理
システム4は、それぞれCPUメモリバス20、CPUメモリバ
ス22及びCPUメモリバス24を介して、メモリ12、メモリ1
4及びメモリ16と交信するCPU6、CPU8及びCPU10を備えて
いる。CPU6、CPU8及びCPU10はそれぞれバス32、34及び3
6を介して出力インタフェース28へデータを送信し、ま
たそれぞれバス44、46及び48を介して入力インタフェー
ス40からデータを受信する。さらにCPU6、CPU8及びCPU1
0は同期バス52を介して相互に、及び出力インタフェー
ス28並びに入力インタフェース40と交信を行う。出力イ
ンタフェース28は、CPU6、CPU8及びCPU10からのデータ
を、インタフェース票決バス58を介して票決回路56に伝
送する。票決回路56は、どのプロセッサからのデータが
I/Oコントローラ60に送られるべきかを判定する。デー
タは票決−コントローラバス62とコントローラー装置バ
ス70をそれぞれ介して、I/Oコントローラ60さらに最終
的にI/O装置66に送られる。またデータは、I/Oコントロ
ーラ60からインタフェースコントローラバス74を介して
入力インタフェース40に送られる。
第2図に示すように、CPU6、CPU8及びCPU10は多数の
命令を実行し、その一部がそれぞれに付属したプロセッ
サ事象である。プロセッサ事象は、各プロセッサ内で使
われているコードによって明示的または暗黙的に定義さ
れている。例えば、各マイクロプロセッサの書込動作が
1つのプロセッサ事象と見なされる。他にプロセッサ事
象となり得るものとして、データ読取、バス転送、また
はプロセッサ内の明示コードによって発生される特定の
信号がある。いずれの場合にせよ、事象は各プロセッサ
内において同じ順序で発生する。しかし事象は、各プロ
セッサ内で同一時点に生じないことがある。例えば、あ
るプロセッサが別のプロセッサ内で実行されているコー
ドの改訂バーションを実行しており、その改訂コードが
異なる時点で事象を発生せしめる追加の命令を含んでい
る場合がある。CPU6とCPU8の事象4に留意のこと。同じ
コードを実行しているプログラム内でも同一時点に事象
が生じないことがある別の理由は、読取の再試行や、実
行がエラールーチンに分岐されるパリティエラーの検出
を必要とするキャッシュミスなど予期しないエラーの発
生である。CPU6とCPU10で生じているエラーに留意のこ
と。
本発明によるシステムでは複数のプロセッサ事象が同
じ順序で生じるので、各マイクロプロセッサを所定の事
象に同期化することによって、それぞれのプロセッサが
同期させられる。各プロセッサをこのように同期させる
構成が、CPU6について第3図に示してある。CPU8及びCP
U10も同じように構成される。第3図に示すように、CPU
6は独自のクロック84からライン86を介して受け取るク
ロックパルスに基づいて命令を実行するプロセッサ80を
備えている。プロセッサ80はライン90上に内部同期リク
エスト信号(SYNC REQUEST)、ライン91上にクロック出
力信号(CLOCK OUTPUT)、ライン92上に「追加」クロッ
ク信号(EXTRA)、及びライン94上にプロセッサ事象信
号(EVENT)をそれぞれ発生する。「追加の」クロック
サイクルは、エラーによる再試行、キャッシュヒット率
の変化、非同期ロジック、あるいはその他の理由によっ
て生じる。これらは、特定のプログラムを実行している
ときには通常生じないクロックサイクルを表している。
またプロセッサ80は、ライン96を経て待ち時間(WAI
T)、ライン98を経て割り込み信号(INT)をそれぞれ受
け取る。
CPU6はさらに、クロックサイクルをカウントするサイ
クルカウンタ100、プロセッサ事象をカウントする事象
カウンタ102、事象カウンタ102の値をシステム内の他の
事象カウンタの値と比較する比較回路106、及びCPU6の
同期を制御する同期論理回路110を含む。サイクルカウ
ンタ100はライン91に接続され、最後のプロセッサ事象
以後に発生したクロックサイクルの数をカウントする。
また、サイクルカウンタ100はインバータ114を介してラ
イン92に接続され、追加のクロックサイクルの発生時に
クロックサイクルのカウントを禁止する。この理由につ
いては、後で論じる。サイクルカウンタ100はライン94
にも接続され、各プロセッサの事象発生に応じてリセッ
トされる。サイクルカウンタ100はオーバフローする毎
に、割り込み信号をORゲート122に接続されたライン118
上に発生する。ORゲート122の出力がライン98に接続さ
れている。ORゲート122は概念的なORゲートであること
が理解されよう。実際の割り込み処理は、周知の技術を
用いて行われる。
事象カウンタ102はライン94に接続され、プロセッサ8
0によって検出された事象をカウントする。サイクルカ
ウンタ100と同様、事象カウンタ102はオーバフローする
毎に、ライン126を経て割り込み信号をORゲート122に発
生する。事象カウンタ102の値はライン128を介して比較
回路106に、またライン130を介して同期バス52に送られ
る。比較回路106は、事象カウンタ102でカウントされた
事象の数をライン130を介して受け取ると共に、システ
ム内の他のプロセッサ用の事象カウンタによってカウン
トされた事象の数を同期バス52から受け取る。比較回路
106は、事象カウンタ102からの値とシステム内の他の事
象カウンタからの値との関係を示す信号を、ライン134
を経て同期論理回路110に発生する。
同期論理回路110は、ライン94上に指示された事象に
応じて、ライン96に対し待ち信号を送出または除去する
ことによって、プロセッサ80の動作を制御する。各プロ
セッサが同期されたとき、同期論理回路110がライン138
上に同期化外部割り込み信号を発生する。
本システムの動作は、第4A〜4C及び5図を参照するこ
とによって理解されよう。
第4A図は、同期要求(外部割り込みなど)がCPU6、8
及び10によって受け取られるが、CPU6、8及び10がコー
ドの異なる部分をそれぞれ実行している状況を示してい
る。この場合、CPU6は、時点150で事象4が指示される
までコードを実行する。事象4が検出されると、同期論
理回路110によってCPU6は待ち状態に入る。同じく、CPU
8は時点152で事象5が検出されるまで実行を継続し、そ
の時点から待ち状態に入る。CPU10は時点154で事象6が
検出されるまでコードを実行し、その時点から待ち状態
に入る。CPU6でカウントされた事象の数がCPU10でカウ
ントされた事象の数より小さいので、CPU6は時点156で
命令の実行を再開し、時点158で事象5が検出されるま
で継続してから再び待ち状態に入る。CPU6がCPU10より
まだ遅れていることが確認されると、時点160で命令の
実行が再開され、時点160で事象5が検出されるまで継
続してから再び待ち状態に入る。CPU8も同様の処理シー
ケンスをたどる。つまり、CPU8でカウントされた事象の
数が3つのプロセッサのうちいずれかでカウントされた
事象の最大数より小さいことが確認されると、CPU8は時
点164で命令の実行を再開し、時点166で次の事象が検出
されるまで継続してから待ち状態に入る、等々を行う。
同期リクエストを受け取る前までにCPU10が最も多い事
象をカウントしていたので、各CPU6、8及び10の事象カ
ウンタが等しくなるまでCPU10は待ち状態に留まってい
る。各事象カウンタが等しくなると、それぞれのプロセ
ッサに付設の同期論理回路110がライン138上に同期化外
部割り込み信号を発生し、ライン96上の待ち信号を解除
し、各プロセッサ毎の実行が共通の時点170で再開す
る。
第4B図は、事象カウンタのオーバフローの結果として
CPU6、8及び10が同期化される処理シーケンスを示して
いる。図示のように、CPU6はコードを実行し、時点200
で事象が発生する。コードの実行は、CPU6の事象カウン
タが時点204でオーバフローするまで続く。時点204で、
CPU6の事象カウンタ102が割り込み信号をライン126上に
発生し、CPU6は待ち状態に入る。CPU8と10についても、
上記と同じ事象及び事象カウンタのオーバフローのシー
ケンスが、時点208、210と時点214、218でそれぞれ発生
する。各CPU6、8及び10が待ち状態にあることが確認さ
れると、各プロセッサの同期論理回路110がライン96か
ら信号を取り除き、コードの実行が共通の時点224で再
開される。
第4C図は、サイクルカウンタのオーバフローの結果と
して同期化が生じる場合を示している。図示のように、
CPU6は時点230で事象7を検出し、コードの実行は、そ
のサイクルカウンタ100が時点234でオーバフローするま
で、2**(サイクルカウンタ)クロックサイクルの間継
続する。そこで、サイクルカウンタ100が割り込み信号
をライン118上に発生し、CPU6は待ち状態に入る。同じ
く、CPU8は時点238で事象7を検出し、そのサイクルカ
ウンタが時点242でオーバフローするまでコードの実行
を継続した後待ち状態に入る。さらに、CPU10は時点246
で事象7を検出し、そのサイクルカウンタ100が時点250
でオーバフローするまでコードの実行を継続した後待ち
状態に入る。各プロセッサ待ち状態にあることが確認さ
れると、同期論理回路110がライン96から信号を取り除
き、コードの実行が共通の時点254で再開される。
第5図は、各CPU6、8及び10毎の処理シーケンスを示
している。図示のように、各プロセッサがステップ300
で、命令実行のためクロック整合される。現クロックサ
イクルが追加のクロックサイクルであることがステップ
304で確認されると、サイクルカウンタ100の動作がステ
ップ308で禁止され、処理は再びステップ300から再開さ
れる。現クロックサイクルが追加のクロックサイクルで
ないことがステップ304で確認されると、サイクルカウ
ンタ100がステップ312でインクレメントされる。その後
ステップ316で、サイクルカウンタ100がオーバフローし
たかどうかが確認される。オーバフローしていると、サ
イクルカウンタ100がステップ320でそれぞれのプロセッ
サに割り込みを生じ、ステップ324で同期リクエストを
発生する。サイクルカウンタ100から発生された割り込
みに応じて、プロセッサはステップ328で事象を発生し
た後、(ステップ324で発生された同期リクエスト信号
の結果として)ステップ332で待ち状態に入る。
サイクルカウンタのオーバフローの場合には、最後の
プロセッサ事象から正確に2**(サイクルカウンタ)ク
ロックサイクル後に、全てのプロセッサが割り込みコー
ドでのプロセッサ事象に達する。サイクルカウンタがオ
ーバフローする前の2**(サイクルカウンタ)クロック
サイクル中の追加のクロックサイクルが生じない限り、
各プロセッサは同期されている。追加のクロックサイク
ルが生じると、プロセッサは異なる時点で停止して不整
合を生じ、割り込みに対して別々に応答する結果、プロ
セッサまたはシステムの故障をもたらすことがある。追
加のクロックサイクル中に各サイクルカウンタを動作不
能にするのはそのためである。
サイクルカウンタ100がオーバフローしなかったこと
がステップ316で確認されると、事象が生じたかどうか
がステップ340で確認される。生じないと、処理はステ
ップ300に戻る。事象が生じると、事象カウンタ102がス
テップ344でインクレメントされる。その後ステップ348
で、事象カウンタ102がオーバフローしたかどうかが確
かめられる。オーバフローしていると、プロセッサがス
テップ32で割り込まれ、サイクルカウンタのオーバフロ
ーの場合と同じく、プロセッサがステップ332で停止さ
れるまで処理が継続する。事象カウンタ102がオーバフ
ローしていないことがステップ348で確認されると、同
期リクエストが要求されているかどうかがステップ352
で確かめられる。要求されていれば、プロセッサはステ
ップ332で停止され;さもなければ、コードの実行がス
テップ300から再び続けられる。
プロセッサがステップ332で停止した後、全てのプロ
セッサが停止しているかどうかがステップ360で確かめ
られる。停止していないと、プロセッサの同期用に許容
された最大の時間量が越えられたかどうかがステップ36
4で確かめられる。この時間切れは、例えばプロセッサ
の故障時に発生する。最大の時間が経過すると、そのプ
ロセッサがステップ368で票決から除外される、すなわ
ち比較プロセッサで無視される。いずれにせよステップ
360で、正しく機能しているプロセッサ間での比較が続
けられる。全てのプロセッサが停止すると、それらのカ
ウンタ値がステップ372で比較される。特定プロセッサ
のカウンタ値が別のプロセッサより大きいことが確認さ
れた場合、大きいカウンタ値を有する1つまたはそれよ
り多いプロセッサは待ち状態に留まり、それらについて
の処理はステップ360から継続される。一方、特定プロ
セッサのカウンタ値が最大のカウント値より小さいと、
その処理はステップ300に戻って実行が続けられ、次の
事象が検出され、プロセッサが停止し、各カウンタ値が
再び比較される。全てのカウンタ値が等しいことがステ
ップ372で確認されると、待ち信号が各プロセッサから
解除され、各プロセッサはステップ376で再スタートさ
れ、同期リクエストに応じた処理を果たす。
以上、本発明の好ましい実施例を詳しく説明したが、
各種の変更例を用いることもできる。例えば、同期論理
回路110は各チップに接続された単一回路に集積しても
よく、またシステムは任意の数のプロセッサに対して使
用可能である。
本発明の実施の態様は以下の通りである。
(1)複数のプロセッサを同期する装置において: 対応するプロセッサ内における所定事象の発生を指示
する事象指示手段; 前記事象指示手段に接続され、各プロセッサ毎に指示
される事象の数をカウントする事象カウント手段; 前記事象カウント手段と各プロセッサに接続され、当
該プロセッサについてカウントされた事象の数が別のプ
ロセッサについてカウントされた事象の数より大きいと
き、当該プロセッサの処理を中断する中断手段;を備え
た装置。
(2)前記中断手段に接続され、同期リクエスト信号を
受け取る同期リクエスト手段をさらに備え、当該プロセ
ッサについてカウントされた事象の数が別のプロセッサ
についてカウントされた事象の数以上のとき、前記中断
手段が同期リクエスト信号に応じて当該プロセッサの処
理を中断する前記1項記載の装置。
(3)前記中断手段と各プロセッサに接続され、各プロ
セッサについてカウントされた事象の数が等しいとき、
中断されているプロセッサを再スタートさせる再スター
ト手段をさらに備えた前記2項記載の装置。
(4)当該プロセッサについてカウントされた事象の数
が中断されているプロセッサについてカウントされた事
象の数以上のとき、前記中断手段が当該プロセッサの処
理を中断する前記3項記載の装置。
(5)複数のプロセッサを同期する装置において、各プ
ロセッサ毎に: 当該プロセッサ内における所定事象の発生を指示する
事象指示手段; 前記事象指示手段に接続され、指示される事象の数を
カウントする事象カウント手段; 各プロセッサ毎に前記事象指示手段から信号を受け取
るように接続され、当該プロセッサについてカウントさ
れた事象の数が別のプロセッサについてカウントされた
事象の数より大きいときに信号を与える比較手段; 同期リクエスト信号を受け取る同期リクエスト入力手
段;及び 同期リクエスト入力手段と事象カウンタに接続され、
当該プロセッサについてカウントされた事象の数が別の
プロセッサについてカウントされた事象の数より大きい
とき、同期リクエスト信号に応じてプロセッサの処理を
中断する同期手段;を備えた装置。
(6)当該プロセッサについてカウントされた事象の数
が中断されているプロセッサについてカウントされた事
象の数以上のとき、前記同期手段が当該プロセッサを中
断する前記5項記載の装置。
(7)各プロセッサについてカウントされた事象の数が
等しいとき、前記同期手段がプロセッサに再スタート信
号を与える前記6項記載の装置。
(8)カウントされた事象の数が所定値に等しいとき同
期リクエスト信号をプロセッサに与える手段を、前記事
象カウント手段がさらに備えた前記7項記載の装置。
(9)事象後に発生するクロックサイクルの数をカウン
トするサイクルカウンタさらに備えた前記8項記載の装
置。
(10)前記事象検出手段とサイクルカウンタに接続さ
れ、事象が検出されたとき、サイクルカウンタを所定の
値にセットするリセット手段をさらに備えた前記9項記
載の装置。
(11)カウントされたクロックサイクルの数が所定値に
等しいとき、同期リクエスト信号をプロセッサに与える
手段をさらに備えた前記9項記載の装置。
(12)プロセッサがプログラムを実行するのに追加のク
ロックサイクルを用いているときを指示する追加クロッ
ク指示手段をさらに備えた前記11項記載の装置。
(13)前記追加クロック指示手段に接続され、プロセッ
サがプログラムを実行するのに追加のクロックサイクル
を用いているときクロックサイクルのカウントを禁止す
る動作不能手段を、前記サイクルカウンタがさらに備え
た前記11項記載の装置。
(14)各プロセッサが内部で定義され、各プロセッサ内
で同じ順序で発生する複数の事象を有するプログラムを
実行するマルチプロセッサシステムにおいて、各プロセ
ッサを他のプロセッサと同期させる方法で、各プロセッ
サ毎に: 所定事象の発生を指示するステップ; 指示された事象の数をカウントするステップ; 同期リクエスト信号を受け取るステップ; 次の事象が検出されたとき、プロセッサの処理を中断
するステップ; カウントされた事象の数を、他のプロセッサでカウン
トされた事象の数と比較するステップ; 当該プロセッサについてカウントされた事象の数が別
のプロセッサについてカウントされた事象の数より小さ
いとき、処理を継続するステップ; カウントされた事象の数がいずれかのプロセッサでカ
ウントされた事象の最大数に等しいとき、処理を中断す
るステップ;及び 各プロセッサについてカウントされた事象の数が等し
いとき、処理を継続するステップ;を含む方法。
(15)事象の検出後に発生するクロックサイクルの数を
カウントするステップ; クロックサイクルの数が所定値に等しくなった時点を
検出するステップ; 割り込み信号を発生するステップ; 同期リクエスト信号を発生するステップ;及び 前記割り込み信号に応じて事象を発生するステップ;
をさらに含む前記14項記載の方法。
(16)追加クロックサイクルの発生を検出するステッ
プ:及び 追加クロックサイクルの間クロックサイクルのカウン
トを禁止するステップ;をさらに含む前記15項記載の方
法。
【図面の簡単な説明】
第1図は本発明によるデータ処理システムの実施例の概
念ブロック図、第2図は第1図に示したデータ処理シス
テムの処理シーケンスの図、第3図は第1図に示したCP
Uの実施例の概念ブロック図、第4A〜4C図は本発明によ
るプロセッサ同期手順を示す図、及び第5図は本発明に
よるプロセッサ同期を示すフローチャートである。 符号の説明 6,8,10;80……プロセッサ、90……同期リクエスト信号
ライン、92……追加クロック指示ライン、94……事象指
示(リセット)ライン、96……待ち/再スタート信号ラ
イン、100……サイクルカウンタ、102……事象カウント
手段、106……比較手段、110……同期手段(同期論理回
路)。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサを同期する装置におい
    て、前記各プロセッサが、同じ命令手順からなるプログ
    ラムを夫々独立のクロックに従って実行し、該命令の実
    行に関連して所定事象を発生するものであり、 各プロセッサ毎に、該プロセッサ内における所定事象の
    発生を夫々指示する事象指示手段と、 この事象指示手段に接続され、各プロセッサ毎に指示さ
    れる事象の数をカウントする事象カウント手段と、 同期リクエスト信号を受け取る同期リクエスト入力手段
    と、 前記事象カウント手段と同期リクエスト入力手段に接続
    され、或るプロセッサについてカウントされた事象の数
    が別のプロセッサについてカウントされた事象の数より
    大きいとき、前記同期リクエスト信号に応答して、当該
    或るプロセッサの処理を中断する同期手段と、 各プロセッサ毎に、事象後に発生するクロックサイクル
    の数をカウントするサイクルカウント手段と、 前記サイクルカウント手段に対応して設けられ、カウン
    トされたクロックサイクル数が所定の値に等しいとき、
    前記同期リクエスト入力手段に対して同期リクエスト信
    号を与える手段と、 各プロセッサ毎に、当該プロセッサがプログラムを実行
    するために特別の追加クロックサイクルを用いていると
    き、当該プロセッサについての前記サイクルカウント手
    段におけるクロックサイクルカウントを禁止する手段と を備えたことを特徴とする複数のプロセッサを同期する
    装置。
  2. 【請求項2】複数のプロセッサを同期する装置におい
    て、前記各プロセッサが、同じ命令手順からなるプログ
    ラムを夫々独立のクロックに従って実行し、該命令の実
    行に関連して所定事象を発生するものであり、 各プロセッサ毎に、該プロセッサ内における所定事象の
    発生を夫々指示する事象指示手段と、 この事象指示手段に接続され、各プロセッサ毎に指示さ
    れる事象の数をカウントする事象カウント手段と、 同期リクエスト信号を受け取る同期リクエスト入力手段
    と、 前記事象カウント手段と同期リクエスト入力手段に接続
    され、或るプロセッサについてカウントされた事象の数
    が別のプロセッサについてカウントされた事象の数より
    大きいとき、前記同期リクエスト信号に応答して、当該
    或るプロセッサの処理を中断する同期手段と、 前記事象カウント手段に対応して設けられ、カウントさ
    れた事象の数が所定の値に等しいとき、前記同期リクエ
    スト入力手段に対して同期リクエスト信号を与える手段
    と、 各プロセッサ毎に、事象後に発生するクロックサイクル
    の数をカウントするサイクルカウント手段と、 前記サイクルカウント手段に対応して設けられ、カウン
    トされたクロックサイクル数が所定の値に等しいとき、
    前記同期リクエスト入力手段に対して同期リクエスト信
    号を与える手段と、 各プロセッサ毎に、当該プロセッサがプログラムを実行
    するために特別の追加クロックサイクルを用いていると
    き、当該プロセッサについての前記サイクルカウント手
    段におけるクロックサイクルカウントを禁止する手段と を備えたことを特徴とする複数のプロセッサを同期する
    装置。
  3. 【請求項3】複数のプロセッサを同期する装置におい
    て、前記各プロセッサが一のプログラムに従ってクロッ
    クサイクル中に夫々処理を行い、各プロセッサによる前
    記処理が該プログラムに従う他のプロセッサの処理に先
    行または後続する関係で夫々行われるものであり、 各プロセッサ毎に、 当該プロセッサ内における所定事象の発生を指示する事
    象指示手段と、 この事象指示手段に接続され、指示された事象の数をカ
    ウントするものであり、かつ、カウントされた事象の数
    が所定の値に等しいとき、当該プロセッサに同期リクエ
    スト信号を与える事象カウント手段と、 各プロセッサ毎に前記事象カウント手段から信号を受取
    るように接続され、当該プロセッサについてカウントさ
    れた事象の数が別のプロセッサについてカウントされた
    事象の数より大きいとき、信号を与える比較手段と、 1つの事象後に発生するクロックサイクルの数をカウン
    トするクロックカウンタ手段と、 カウントされたクロックサイクルの数が所定の値に等し
    いとき、当該プロセッサに同期リクエスト信号を与える
    手段と、 プログラムの実行のためにプロセッサが追加のクロック
    サイクルを使用するときを指示する追加クロック指示手
    段と、 同期リクエスト信号を受取る同期リクエスト入力手段
    と、 同期リクエスト入力手段と事象カウント手段に接続さ
    れ、当該プロセッサについてカウントされた事象の数が
    別のプロセッサについてカウントされた事象の数以上の
    ときに前記同期リクエスト信号に応じて当該プロセッサ
    の処理を中断し、各プロセッサについてカウントされた
    事象の数が等しいとき、当該プロセッサに再スタート信
    号を与える同期手段と を備えたことを特徴とする複数のプロセッサを同期する
    装置。
  4. 【請求項4】外部から与えられる割込み信号に応じて前
    記同期リクエスト入力手段に対して同期リクエスト信号
    を与える手段を更に備えた請求項1乃至3のいずれかに
    記載の複数のプロセッサを同期する装置。
  5. 【請求項5】同じ命令手順からなるプログラムに従って
    夫々独立のクロックサイクルで処理を実行し、該命令の
    実行に関連して所定事象を発生する複数のプロセッサ
    と、 前記クロックサイクルを確立するために、各プロセッサ
    に対応して独立に設けられた複数のクロック発生手段
    と、 各プロセッサ毎に、該プロセッサ内における所定事象の
    発生を夫々指示する事象指示手段と、 この事象指示手段に接続され、各プロセッサ毎に指示さ
    れる事象の数をカウントする事象カウント手段と、 各プロセッサ毎に、事象後に発生するクロックサイクル
    の数をカウントするものであって、ただしプログラムを
    実行するために特別に用いる追加クロックサイクルはカ
    ウントしないサイクルカウント手段と、 前記サイクルカウント手段に対応して設けられ、カウン
    トされたクロックサイクル数が所定の値に等しいとき、
    同期リクエスト信号を発生する同期リクエスト発生手段
    と、 前記事象カウント手段と同期リクエスト発生手段に接続
    され、或るプロセッサについてカウントされた事象の数
    が別のプロセッサについてカウントされた事象の数より
    大きいとき、前記同期リクエスト信号に応答して、当該
    或るプロセッサの処理を中断する同期手段と 各プロセッサについてカウントされた事象の数が等しく
    なったとき、前記中断されていた或るプロセッサの処理
    を再開させる手段と を備えたことを特徴とするコンピュータ装置。
JP63282306A 1987-11-09 1988-11-08 複数のプロセッサを同期する装置 Expired - Fee Related JPH0833874B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11850387A 1987-11-09 1987-11-09
US118503 2002-04-08

Publications (2)

Publication Number Publication Date
JPH01258057A JPH01258057A (ja) 1989-10-16
JPH0833874B2 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193504A (ja) * 2008-02-18 2009-08-27 Nec Corp フォルトトレラントコンピュータ、同期制御方法、及びプログラム

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2214334B (en) * 1988-01-05 1992-05-06 Texas Instruments Ltd Integrated circuit
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of 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
DE69224661T2 (de) * 1991-12-17 1998-08-27 Compaq Computer Corp Vorrichtung zur verminderung des energieverbrauchs eines rechnersystems
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
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
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 フォールトトレラント型コンピュータシステム
DE59302826D1 (de) * 1993-03-16 1996-07-11 Siemens Ag 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
DE69435090T2 (de) * 1993-12-01 2009-06-10 Marathon Technologies Corp., Stow Rechnersystem mit Steuereinheiten und Rechnerelementen
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
FR2774784B1 (fr) * 1998-02-12 2004-09-24 Inside Technologies Microprocesseur comportant un systeme de synchronisation avec un evenement asynchrone attendu
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
EP1157324A4 (en) * 1998-12-18 2009-06-17 Triconex Corp PROCESS AND DEVICE FOR PROCESSING CONTROL USING A MULTIPLE REDUNDANT PROCESS 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
US6842811B2 (en) * 2000-02-24 2005-01-11 Pts Corporation Methods and apparatus for scalable array processor interrupt detection and response
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6687851B1 (en) * 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
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
EP1337909A4 (en) * 2000-11-17 2008-10-01 Lecroy Corp PROCESSING WEB EDITOR FOR DATA PROCESSING IN A DIGITAL OSCILLOSCOPE OR SIMILAR INSTRUMENT
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 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
EP1398699A1 (de) * 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme
EP1398700A1 (de) * 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren und Schaltungsanordnung zur Synchronisation redundanter Verarbeitungseinheiten
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
EP1678564A1 (en) * 2003-09-03 2006-07-12 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 東芝ソリューション株式会社 分散システム及び多重化制御方法
US8799706B2 (en) * 2004-03-30 2014-08-05 Hewlett-Packard Development Company, L.P. Method and system of exchanging information between processors
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
US7426656B2 (en) * 2004-03-30 2008-09-16 Hewlett-Packard Development Company, L.P. Method and system executing user programs on non-deterministic processors
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
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
WO2006045786A1 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren und vorrichtung zur modusumschaltung und zum signalergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
KR20070083772A (ko) * 2004-10-25 2007-08-24 로베르트 보쉬 게엠베하 멀티 프로세서 시스템에서의 동기화 방법 및 장치
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
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
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
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
WO2008053709A1 (fr) * 2006-11-02 2008-05-08 Nec Corporation Dispositif et procédé de test de sélection de circuit intégré semi-conducteur
US8074109B1 (en) * 2006-11-14 2011-12-06 Unisys Corporation Third-party voting to select a master processor within a multi-processor computer
WO2008075404A1 (ja) * 2006-12-19 2008-06-26 Systemv Management Inc., 半導体製造システム
US8510741B2 (en) * 2007-03-28 2013-08-13 Massachusetts Institute Of Technology Computing the processor desires of jobs in an adaptively parallel scheduling environment
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
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
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
JP5181762B2 (ja) * 2008-03-25 2013-04-10 富士通株式会社 分散処理を実行する演算装置とサーバおよび分散処理方法
JP5347414B2 (ja) * 2008-10-03 2013-11-20 富士通株式会社 同期制御装置,情報処理装置及び同期管理方法
US8495408B2 (en) * 2009-01-23 2013-07-23 Alcatel Lucent Synchronization method and device for real-time distributed system wherein each module sets an indicator to signal whether it is currently able to operate synchronously with other modules and resets the indicator at a unified synchronization end time
JP4697314B2 (ja) * 2009-02-05 2011-06-08 横河電機株式会社 二重化フィールド制御装置
WO2010103562A1 (ja) * 2009-03-09 2010-09-16 富士通株式会社 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
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 上海新华控制技术(集团)有限公司 过程控制中的三重冗余控制系统及其方法
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
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
US11436043B2 (en) 2019-11-13 2022-09-06 International Business Machines Corporation Operating system code patching during live migration
US20210107512A1 (en) * 2020-03-27 2021-04-15 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.
JPWO2022249818A1 (ja) * 2021-05-27 2022-12-01
US20230153156A1 (en) * 2021-11-16 2023-05-18 Xilinx, Inc. Synchronization of system resources in a multi-socket data processing system

Family Cites Families (110)

* Cited by examiner, † Cited by third party
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.
FR2253432A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2253423A5 (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
US4315310A (en) * 1979-09-28 1982-02-09 Intel Corporation Input/output data processing system
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
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
US4486826A (en) * 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory 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
AU3746585A (en) * 1983-12-12 1985-06-26 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
US4914657A (en) * 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller 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
US4907232A (en) * 1988-04-28 1990-03-06 The Charles Stark Draper Laboratory, Inc. Fault-tolerant parallel processing system
US4937741A (en) * 1988-04-28 1990-06-26 The Charles Stark Draper Laboratory, Inc. Synchronization of fault-tolerant parallel processing systems
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193504A (ja) * 2008-02-18 2009-08-27 Nec Corp フォルトトレラントコンピュータ、同期制御方法、及びプログラム

Also Published As

Publication number Publication date
EP0316087A2 (en) 1989-05-17
AU2396988A (en) 1989-05-11
EP0316087A3 (en) 1990-08-22
AU616213B2 (en) 1991-10-24
US5384906A (en) 1995-01-24
JPH01258057A (ja) 1989-10-16
US5239641A (en) 1993-08-24
US5353436A (en) 1994-10-04

Similar Documents

Publication Publication Date Title
JPH0833874B2 (ja) 複数のプロセッサを同期する装置
CA1311849C (en) Fault tolerant computer system with fault isolation and repair
CA1306546C (en) Dual zone, fault tolerant computer system with error checking on i/o writes
US5226152A (en) Functional lockstep arrangement for redundant processors
CA1299756C (en) Dual rail processors with error checking at single rail interfaces
US5249187A (en) Dual rail processors with error checking on I/O reads
CA1310129C (en) Interface of non-fault tolerant components to fault tolerant system
US7496786B2 (en) Systems and methods for maintaining lock step operation
EP0433979A2 (en) Fault-tolerant computer system with/config filesystem
EP0447576A1 (en) Synchronization of fault-tolerant computer system having multiple processors
JPH079625B2 (ja) フォールトトレラントな能力を備えたコンピュータ
RU2577465C2 (ru) Система, способ и устройство для коррекции ошибки в мультипроцессорных системах
JPH0773059A (ja) フォールトトレラント型コンピュータシステム
JP2005285120A (ja) ユーザプログラムを実行する複数のプロセッサにおける非同期割り込みにサービスを提供する方法およびシステム
JPH07129426A (ja) 障害処理方式
JP2005285121A (ja) プロセッサ間で情報を交換する方法およびシステム
JP3030658B2 (ja) 電源故障対策を備えたコンピュータシステム及びその動作方法
US20040193735A1 (en) Method and circuit arrangement for synchronization of synchronously or asynchronously clocked processor units
JP3415636B2 (ja) プロセッサ装置
JPH11259340A (ja) コンピュータの再起動制御回路
JPH0695902A (ja) プロセッサ二重化方式の情報処理装置
JP3110177B2 (ja) 2重化計算機システム
JPH0481936A (ja) 複数cpu間の同期制御方式
JPS63251840A (ja) マルチプロセツサの異常検出制御方法
JPH06131209A (ja) 擬似エラー発生方式

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