JP4137387B2 - フェールセーフコンピュータシステム - Google Patents
フェールセーフコンピュータシステム Download PDFInfo
- Publication number
- JP4137387B2 JP4137387B2 JP2001004033A JP2001004033A JP4137387B2 JP 4137387 B2 JP4137387 B2 JP 4137387B2 JP 2001004033 A JP2001004033 A JP 2001004033A JP 2001004033 A JP2001004033 A JP 2001004033A JP 4137387 B2 JP4137387 B2 JP 4137387B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- storage means
- computer system
- fail
- program
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
【発明の属する技術分野】
この発明は、対をなす2つのCPUを有し、並行して演算処理すると共に、それらの処理結果を相互に比較することにより、信頼性の高い処理結果を得るようにしたフェールセーフコンピュータシステムに関するものである。
【0002】
【従来の技術】
図5は従来のフェールセーフコンピュータシステムを示す構成図であり、図において、1はプログラムおよびデータを記憶したROM/RAM、2はROM/RAM1と同一のプログラムおよびデータを記憶したROM/RAM、3,4はアドレスおよびデータ等のバスである。
5はROM/RAM1に記憶されたプログラムに基づいて演算処理し、その処理結果をROM/RAM1に書き込むCPU、6はROM/RAM2に記憶されたプログラムに基づいて演算処理し、その処理結果をROM/RAM2に書き込むCPU、7はCPU5およびCPU6の2つの処理結果を比較照合する比較回路である。
【0003】
次に動作について説明する。
図5は2つのCPU5,6を動作クロックレベルでバス同期させて動作させ、各CPU5,6のマシンサイクルでそれぞれのCPU5,6のバス入出力をハード的な比較回路7で常時比較し、故障の監視を行うフェールセーフコンピュータシステムである。
このようなコンピュータシステムにおいて、CPU5とCPU6は、動作クロックレベルで完全に同期して演算処理を行っており、マシンサイクルにおけるバスデータを各サイクル毎に比較回路7で比較照合することによって、健全性の診断を行っており、照合結果が一致しなかった場合は、コンピュータシステムを停止させることで安全性を実現している。
なお、従来の技術に近似した文献としては、特開平5−189325号公報に示されたフェールセーフコンピュータシステムがあり、その文献には、2つのCPUをバス同期させて照合回路により比較照合するものについて開示している。
【0004】
【発明が解決しようとする課題】
従来のフェールセーフコンピュータシステムは以上のように構成されているので、2つのCPU5,6を完全に動作クロックに同期させて動作させた上で、その動作クロックに同期して比較回路7を動作させる必要があった。
このため、高速な演算処理を実現するために、高速なCPU5,6を用いて、バス3,4のビット数を多くしたり、動作クロックの周波数を高くしようとすると、動作クロックやバス3,4のデータの乱れによって、2つのCPU5,6と比較回路7の同期をとることが困難となり、正常または故障の監視が不能になり、その結果、高速な演算処理を行うことができないなどの課題があった。
【0005】
この発明は上記のような課題を解決するためになされたもので、ハードウエアの同期に制約を受けずに故障を監視することができ、その結果、高速な演算処理を行うことができるフェールセーフコンピュータシステムを得ることを目的とする。
【0006】
【課題を解決するための手段】
この発明に係るフェールセーフコンピュータシステムは、第1の記憶手段に記憶されたプログラムを所定の単位で演算処理し、その処理結果を第1の記憶手段に書き込むと共に、その処理結果およびプログラムの所定の単位毎に付された処理番号と上記プログラムの繰り返し回数である世代番号を第3の記憶手段に書き込む第1の中央処理装置と、第2の記憶手段に記憶されたプログラムを所定の単位で演算処理し、その処理結果を第2の記憶手段に書き込むと共に、その処理結果および処理番号と世代番号を第3の記憶手段に書き込む第2の中央処理装置とを備え、第1および第2の中央処理装置は、第3の記憶手段に同一の処理番号と世代番号とを有する2つの処理結果が記憶されるまで待ち合わせを行った後に、それら2つの処理結果を読み出して比較照合するものである。
【0007】
この発明に係るフェールセーフコンピュータシステムは、第1および第2の中央処理装置が、互いに異なる周波数の動作クロックに同期して動作するようにしたものである。
【0008】
この発明に係るフェールセーフコンピュータシステムは、第1および第2の中央処理装置が、互いに異なる機種から構成され、第1および第2の記憶手段は、互いに同一の処理内容を異なる処理命令で記憶するようにしたものである。
この発明に係るフェールセーフコンピュータシステムは、第1および第2の中央処理装置は、処理番号と世代番号とが同一になるまでの待ち合わせにおいて、待ち合わせ処理回数に上限値を設け、上記待ち合わせ処理回数が上記上限値を超えた場合にプログラムを停止するものである。
【0009】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1によるフェールセーフコンピュータシステムを示す構成図であり、図において、1はプログラムおよびデータを記憶したROM/RAM(第1の記憶手段)、2はROM/RAM1と同一のプログラムおよびデータを記憶したROM/RAM(第2の記憶手段)、3,4はアドレスおよびデータ等のバスである。
11は処理結果を記憶するメモリ(第3の記憶手段)、12はROM/RAM1に記憶されたプログラムに基づいて演算処理し、その処理結果をROM/RAM1に書き込むと共に、その処理結果およびその処理内容に応じた処理番号および世代番号をメモリ11に書き込むCPU(第1の中央処理装置)、13はROM/RAM2のプログラムに基づいて演算処理し、その処理結果をROM/RAM2に書き込むと共に、その処理結果およびその処理内容に応じた処理番号および世代番号をメモリ11に書き込むCPU(第2の中央処理装置)である。
また、CPU12,13は、メモリ11に同一の処理番号および世代番号を有する2つの処理結果が記憶された場合に、それら2つの処理結果を読み出して比較照合して、正常または故障を監視するものである。
【0010】
次に動作について説明する。
図2は2つのCPUで実行される処理内容を示すフローチャート、図3はメモリに書き込まれるデータを示す概念図、図4は2つのCPUで実行される照合処理の詳細を示すフローチャートであり、これら図2から図4と上記図1を参照しながら説明する。
図1において、CPU12は、ROM/RAM1に記憶されたプログラムを所定の単位でバス3を通じて読み出し、その読み出したプログラムに基づいて演算処理し、その処理結果をバス3を通じてROM/RAM1に書き込むと共に、メモリ11に書き込む(ステップST1)。また、CPU13もCPU12と並行して演算処理しており、ROM/RAM2に記憶されたプログラムを所定の単位でバス4を通じて読み出し、その読み出したプログラムに基づいて演算処理し、その処理結果をバス4を通じてROM/RAM2に書き込むと共に、メモリ11に書き込む(ステップST1)。
その後、CPU12,13はともに、メモリ11からそれら2つの処理結果を読み出して照合処理する(ステップST2)。ここでCPU12,13は伴に、2つの処理結果が同一であり正常であると判定した場合には、次の演算処理を行い(ステップST3)、また、少なくともどちらか一方のCPU12,13が2つの処理結果に不一致があり故障であると判定した場合には、プログラム処理を停止する(ステップSTZ)。
以下、ステップST3からステップSTN+1まで、プログラムを所定の単位で演算処理し、その処理結果の一致または不一致を判定して、正常であると判定した場合には、ステップST1に戻り、同様の演算処理を繰返すことによって、コンピュータシステムの機能を実現することができる。
【0011】
図3はこの時にメモリ11に書き込まれる処理番号、世代番号、および処理結果のデータの概念を示したものである。図3において、上側はCPU12の演算処理(ステップST1)によって書き込まれた処理番号、世代番号、および処理結果のブロック、下側はCPU13の演算処理(ステップST1)によって書き込まれた処理番号、世代番号、および処理結果のブロックである。このように、CPU12,13は、プログラムを所定の単位で演算処理する毎に、メモリ11にブロック毎に処理番号、世代番号、および処理結果を書き込む。
ここで、処理番号とは、プログラムの所定の単位毎に付された固有番号である。また、世代番号とは、図2に示したフローチャートにおけるステップST1からステップSTN+1までの一連の繰り返し回数に相当するものであり、繰り返し回数が増加する毎に世代番号が増加するものである。さらに、処理結果とは、CPU12,13により、プログラムを所定の単位で演算処理した場合における結果のデータである。
【0012】
図4は2つのCPU12,13によるメモリ11への処理番号、世代番号、および処理結果の書き込み処理、およびそれら処理番号、世代番号、および処理結果の照合処理の詳細を示したものである。
図において、CPU12は、処理結果と共にその処理番号をメモリ11に図3のように書き込む(ステップST11)。次に、CPU12は、1つ増加させた世代番号をメモリ11に図3のように書き込む(ステップST12)。次に、CPU12は、自らが書込んだ世代番号とCPU13が書込んだ世代番号とをメモリ11から読み出し(ステップST21)、比較を行う(ステップST22)。ここで、比較が一致した場合、次のステップST23に進み、比較が不一致である場合には、ステップST12に戻る。
同様に、CPU13は、処理結果と共にその処理番号をメモリ11に図3のように書き込み(ステップST11)、1つ増加させた世代番号をメモリ11に図3のように書き込む(ステップST12)。次に、CPU13は、自らが書込んだ世代番号とCPU12が書込んだ世代番号とをメモリ11から読み出し(ステップST21)、比較を行う(ステップST22)。比較が一致した場合、次のステップST23に進み、比較が不一致である場合には、ステップST12に戻る。
この結果、ステップST22において、CPU12とCPU13の演算処理の待ち合わせが行われる。
次に、CPU12,13は、両者が書き込んだ処理番号をメモリ11から読み出し(ステップST23)、比較を行う(ステップST24)。比較が一致した場合、ステップST25へ進む。不一致である場合には、ステップSTZへ進み、プログラム処理を停止する。
最後に、CPU12,13は、両者が書き込んだ処理結果をメモリ11から読み出し(ステップST25)、比較を行う(ステップST26)。比較が一致した場合、比較処理が終了する。不一致である場合には、ステップSTZへ進み、プログラム処理を停止する。
【0013】
なお、図4に示したフローチャートにおいて、ステップST22で不一致であった場合には、ステップST21に戻るようにしても良く、同様な効果が得られる。
【0014】
また、演算処理に付せられた固有番号を処理番号としてメモリ11に書き込むようにしたが、予め演算処理毎に固有の世代番号を設けることによって、図4のフローチャートにおけるステップST23、ステップST24の処理を省略するようにしても良い。
【0015】
さらに、図4に示したフローチャートにおいて、ステップST22からステップST12へ戻る回数に上限値を設け、その上限値を超えた場合にはプログラム処理を停止するようにしても良く、これによって、CPU12またはCPU13の過度な待ち時間や演算処理の遅れを検出することもできる。
【0016】
さらに、CPU12,13を互いに異なる周波数の動作クロックに同期して動作させ、CPU12,13の演算処理の進み具合を異なるようにしても良い。
これによって、CPU12,13が同一の動作クロックに同期して動作する場合には、同一の演算処理の時点でノイズが加わり、同じ演算誤りをして、誤った2つの処理結果の比較照合において正常と判定してしまうことも考えられるが、CPU12,13が互いに異なる周波数の動作クロックに同期して動作するので、演算処理の進み具合が異なり、同時に同一のノイズが加わっても、同じ演算誤りをすることなく、その演算誤りを比較照合において故障と判定することができ、フェールセーフコンピュータシステムの信頼性を高めることができる。
【0017】
さらに、CPU12,13に互いに異なる機種を用い、ROM/RAM1,2に互いに同一の処理内容を異なるCPU命令処理(処理命令)で記憶させ、それらCPU命令処理でCPU12,13を実行させるようにしても良い。
これによって、CPU12,13が同一のCPU命令処理で動作する場合には、同時に同一のノイズが加わり、同じ演算誤りをして、誤った2つの処理結果の比較照合において正常と判定してしまうことも考えられるが、CPU12,13が互いに異なるCPU命令処理で動作するので、同時に同一のノイズが加わっても、同じ演算誤りをすることなく、その演算誤りを比較照合において故障と判定することができ、フェールセーフコンピュータシステムの信頼性を高めることができる。
【0018】
さらに、プログラムをオペレーティングシステムの基で動作させ、時分割で複数のプログラムを動作させ、それぞれのプログラムにおいて図2に示した演算処理を行うようにしても良い。
これによって、図2のフローチャートにおいて、分岐処理等を含むより複雑な演算処理をCPU12,13に行わせると共に、CPU12,13の演算処理の結果を正しく比較することができる。
【0019】
以上のように、この実施の形態1によれば、CPU12,13からの処理結果がメモリ11に記憶されるまで待ってから、それらCPU12,13の双方において2つの処理結果を比較照合することができ、高速に動作するCPU12,13を用いた場合でも、それらハードウエアの同期に制約を受けずに故障を監視することができ、その結果、高速な演算処理を行うことができる。
【0020】
【発明の効果】
以上のように、この発明によれば、第1の記憶手段に記憶された処理内容に基づいて演算処理し、その処理結果を第1の記憶手段に書き込むと共に、その処理結果およびその処理内容に応じた照合識別子を第3の記憶手段に書き込む第1の中央処理装置と、第2の記憶手段に記憶された処理内容に基づいて演算処理し、その処理結果を第2の記憶手段に書き込むと共に、その処理結果およびその処理内容に応じた照合識別子を第3の記憶手段に書き込む第2の中央処理装置とを備え、第1および第2の中央処理装置は、第3の記憶手段に同一照合識別子を有する2つの処理結果が記憶された場合に、それら2つの処理結果を読み出して比較照合するように構成したので、第1および第2の中央処理装置からの処理結果が第3の記憶手段に記憶されるまで待ってから、それら第1および第2の中央処理装置の双方において2つの処理結果を比較照合することができ、高速に動作する第1および第2の中央処理装置を用いた場合でも、それらハードウエアの同期に制約を受けずに故障を監視することができ、その結果、高速な演算処理を行うことができる効果がある。
【0021】
また、この発明によれば、第1および第2の中央処理装置が、互いに異なる周波数の動作クロックに同期して動作するように構成したので、第1および第2の中央処理装置が同一の動作クロックに同期して動作する場合には、同時に同一のノイズが加わり、同じ演算誤りをして、誤った2つの処理結果の比較照合において正常と判定してしまうことも考えられるが、第1および第2の中央処理装置が互いに異なる周波数の動作クロックに同期して動作するので、同時に同一のノイズが加わっても、同じ演算誤りをすることなく、その演算誤りを比較照合において故障と判定することができ、フェールセーフコンピュータシステムの信頼性を高めることができる効果がある。
【0022】
さらに、この発明によれば、第1および第2の中央処理装置が、互いに異なる機種から構成され、第1および第2の記憶手段は、互いに同一の処理内容を異なる処理命令で記憶するように構成したので、第1および第2の中央処理装置が同一の処理命令で動作する場合には、同時に同一のノイズが加わり、同じ演算誤りをして、誤った2つの処理結果の比較照合において正常と判定してしまうことも考えられるが、第1および第2の中央処理装置が互いに異なる処理命令で動作するので、同時に同一のノイズが加わっても、同じ演算誤りをすることなく、その演算誤りを比較照合において故障と判定することができ、フェールセーフコンピュータシステムの信頼性を高めることができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるフェールセーフコンピュータシステムを示す構成図である。
【図2】 2つのCPUで実行される処理内容を示すフローチャートである。
【図3】 メモリに書き込まれるデータを示す概念図である。
【図4】 2つのCPUで実行される照合処理の詳細を示すフローチャートである。
【図5】 従来のフェールセーフコンピュータシステムを示す構成図である。
【符号の説明】
1 ROM/RAM(第1の記憶手段)、2 ROM/RAM(第2の記憶手段)、3,4 バス、11 メモリ(第3の記憶手段)、12 CPU(第1の中央処理装置)、13 CPU(第2の中央処理装置)。
Claims (4)
- 処理内容を記憶した第1の記憶手段と、
上記第1の記憶手段と同一の処理内容を記憶した第2の記憶手段と、
処理結果を記憶する第3の記憶手段と、
上記第1の記憶手段に記憶されたプログラムを所定の単位で演算処理し、その処理結果を上記第1の記憶手段に書き込むと共に、その処理結果および上記プログラムの所定の単位毎に付された処理番号と上記プログラムの繰り返し回数である世代番号を上記第3の記憶手段に書き込む第1の中央処理装置と、
上記第2の記憶手段に記憶されたプログラムを所定の単位で演算処理し、その処理結果を上記第2の記憶手段に書き込むと共に、その処理結果および上記処理番号と上記世代番号を上記第3の記憶手段に書き込む第2の中央処理装置とを備え、
上記第1および上記第2の中央処理装置は、上記第3の記憶手段に同一の処理番号と世代番号とを有する2つの処理結果が記憶されるまで待ち合わせを行った後に、それら2つの処理結果を読み出して比較照合することを特徴とするフェールセーフコンピュータシステム。 - 第1および第2の中央処理装置は、互いに異なる周波数の動作クロックに同期して動作することを特徴とする請求項1記載のフェールセーフコンピュータシステム。
- 第1および第2の中央処理装置は、互いに異なる機種から構成され、第1および第2の記憶手段は、互いに同一の処理内容を異なる処理命令で記憶したことを特徴とする請求項1記載のフェールセーフコンピュータシステム。
- 第1および第2の中央処理装置は、処理番号と世代番号とが同一になるまでの待ち合わせにおいて、待ち合わせ処理回数に上限値を設け、上記待ち合わせ処理回数が上記上限値を超えた場合にプログラムを停止することを特徴とする請求項1記載のフェールセーフコンピュータシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001004033A JP4137387B2 (ja) | 2001-01-11 | 2001-01-11 | フェールセーフコンピュータシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001004033A JP4137387B2 (ja) | 2001-01-11 | 2001-01-11 | フェールセーフコンピュータシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002207607A JP2002207607A (ja) | 2002-07-26 |
JP4137387B2 true JP4137387B2 (ja) | 2008-08-20 |
Family
ID=18872275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001004033A Expired - Fee Related JP4137387B2 (ja) | 2001-01-11 | 2001-01-11 | フェールセーフコンピュータシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4137387B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5684514B2 (ja) * | 2010-08-19 | 2015-03-11 | 株式会社東芝 | 冗長化制御システム、及びその演算データの伝送方法 |
JP5925507B2 (ja) * | 2012-02-07 | 2016-05-25 | 株式会社日立製作所 | データ照合装置、照合方法及びそれを用いた安全保安システム |
-
2001
- 2001-01-11 JP JP2001004033A patent/JP4137387B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002207607A (ja) | 2002-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9052887B2 (en) | Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode | |
JP2007508626A (ja) | プロセッサユニットの少なくとも2つの駆動モード間での切替方法および装置 | |
KR20130119452A (ko) | 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템 | |
AU2017313189B2 (en) | Method and apparatus for redundant data processing | |
JP4443569B2 (ja) | プロセッサユニットにおけるオペランド処理方法および装置 | |
KR20110050720A (ko) | 비트 포이즈닝 장치, 방법, 시스템 및 제품 | |
JP4137387B2 (ja) | フェールセーフコンピュータシステム | |
US7191359B2 (en) | Fail-safe controller | |
JP2009505179A (ja) | 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置 | |
EP3367242B1 (en) | Method of error detection in a microcontroller unit | |
JP3746957B2 (ja) | 論理分割システムの制御方法 | |
JP4952317B2 (ja) | 退避データ判別方法、退避データ判別プログラムおよび退避データ判別装置 | |
JP3423732B2 (ja) | 情報処理装置及び情報処理装置における障害処理方法 | |
JP2988518B2 (ja) | マルチプロセッサ制御方式 | |
JP2013109532A (ja) | 診断修復装置、診断修復方法、及び診断修復プログラム | |
JPS6230105Y2 (ja) | ||
JP2609456B2 (ja) | マルチプロセッサ方式のプログラマブル制御装置 | |
JPH03129531A (ja) | 制御装置 | |
WO2023110069A1 (en) | Data processing apparatus and method implementing a software lockstep | |
JPS61846A (ja) | メモリ内容の正常性試験方法 | |
JP2514023B2 (ja) | プログラマブル制御装置の制御方法 | |
JP2518652B2 (ja) | 多重系バス同期システムの割込み診断装置 | |
JPH0778731B2 (ja) | 情報処理装置 | |
JPH08137714A (ja) | マルチタスクプログラムのデバッグ方法およびデバッグシステム | |
JP2010140173A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070608 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071112 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071112 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080403 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080507 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080604 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |