JPH086800A - データ処理装置及びマイクロプロセッサ - Google Patents
データ処理装置及びマイクロプロセッサInfo
- Publication number
- JPH086800A JPH086800A JP6134698A JP13469894A JPH086800A JP H086800 A JPH086800 A JP H086800A JP 6134698 A JP6134698 A JP 6134698A JP 13469894 A JP13469894 A JP 13469894A JP H086800 A JPH086800 A JP H086800A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processors
- processing
- internal
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】外部バスと内部動作のクロックが異なるプロセ
ッサを冗長化した計算機システムに用い、多重化された
プロセッサへの同期した割込みを実現する。 【構成】バス28接続の複数プロセッサ21a,21bを有す
るデータ処理装置であって、他のプロセッサとの間で内
部動作状態を互いに通知し、又外部からの割込み要求を
保持する通信回路23と、自プロセッサの内部処理を一時
停止する処理停止回路25と、自プロセッサの処理結果を
保持し、バス28への出力を一時停止する出力停止回路26
と、自プロセッサの内部動作を監視し、通知回路23の通
知内容に基づいて出力停止回路25と処理停止回路26aを
起動する監視回路24aとを個々のプロセッサ21a,21b
が備え、複数のプロセッサ21a,21bが同一プログラム
を命令レベルで同時処理し、保持された割込要求に応じ
て監視回路24が複数プロセッサ間で同期した割込み処理
を行なう。
ッサを冗長化した計算機システムに用い、多重化された
プロセッサへの同期した割込みを実現する。 【構成】バス28接続の複数プロセッサ21a,21bを有す
るデータ処理装置であって、他のプロセッサとの間で内
部動作状態を互いに通知し、又外部からの割込み要求を
保持する通信回路23と、自プロセッサの内部処理を一時
停止する処理停止回路25と、自プロセッサの処理結果を
保持し、バス28への出力を一時停止する出力停止回路26
と、自プロセッサの内部動作を監視し、通知回路23の通
知内容に基づいて出力停止回路25と処理停止回路26aを
起動する監視回路24aとを個々のプロセッサ21a,21b
が備え、複数のプロセッサ21a,21bが同一プログラム
を命令レベルで同時処理し、保持された割込要求に応じ
て監視回路24が複数プロセッサ間で同期した割込み処理
を行なう。
Description
【0001】
【産業上の利用分野】本発明は、複数のマイクロプロセ
ッサをバス接続し、同一のプログラムを命令レベルで同
時に処理することで信頼性の高いデータ処理を実行する
データ処理装置及びこのデータ処理装置に用いられるマ
イクロプロセッサに関する。
ッサをバス接続し、同一のプログラムを命令レベルで同
時に処理することで信頼性の高いデータ処理を実行する
データ処理装置及びこのデータ処理装置に用いられるマ
イクロプロセッサに関する。
【0002】
【従来の技術】データ処理装置のハードウェアを冗長化
することにより、システム全体での信頼性を上げること
ができる。その中の技術の一つに、プロセッサを多重化
することによりプロセッサ冗長性を持たせる方法があ
る。この方法によるシステムの高信頼化技術はFRC
(Functional Redundancy Checking)またはFRM(Fu
nctional Redundancy Monitoring)と呼称される。すな
わちFRMは、クロックレベルで同期した同一のプログ
ラムを実行する複数のマイクロプロセッサと、これらの
処理結果を比較検証する比較器とから構成されるもので
ある。
することにより、システム全体での信頼性を上げること
ができる。その中の技術の一つに、プロセッサを多重化
することによりプロセッサ冗長性を持たせる方法があ
る。この方法によるシステムの高信頼化技術はFRC
(Functional Redundancy Checking)またはFRM(Fu
nctional Redundancy Monitoring)と呼称される。すな
わちFRMは、クロックレベルで同期した同一のプログ
ラムを実行する複数のマイクロプロセッサと、これらの
処理結果を比較検証する比較器とから構成されるもので
ある。
【0003】多重化されたプロセッサは、上述した如く
クロックレベルで同期して同一のプログラムを実行する
ため、プロセッサに異常がなければ同じ処理結果が同期
してバス上に現出することなる。このときにバス上に現
われる処理結果を上記比較器をもって各ビット毎に比較
監視し、プロセッサの処理結果が異なる場合にはプロセ
ッサにより最後の正常な動作まで戻って該処理をやり直
させる。そして、それでも正常な結果が得られなけれ
ば、それは永久故障として報告される。このような動作
を行なうことにより、システムの信頼性を高めることが
できるものである。
クロックレベルで同期して同一のプログラムを実行する
ため、プロセッサに異常がなければ同じ処理結果が同期
してバス上に現出することなる。このときにバス上に現
われる処理結果を上記比較器をもって各ビット毎に比較
監視し、プロセッサの処理結果が異なる場合にはプロセ
ッサにより最後の正常な動作まで戻って該処理をやり直
させる。そして、それでも正常な結果が得られなけれ
ば、それは永久故障として報告される。このような動作
を行なうことにより、システムの信頼性を高めることが
できるものである。
【0004】図3は上記FRMの基本的な回路構成を示
すもので、同一のクロックCKで動作する内部演算器11
a,11bとバスインタ―フェイス12a,12bを持つプロ
セッサ13a,13bによる二重化した計算機システムを示
している。各内部演算器11a,11bで同一のプログラム
を同期して実行するため、処理結果は外部バス14上に同
期して現われるもので、これを比較器15により比較検証
している。
すもので、同一のクロックCKで動作する内部演算器11
a,11bとバスインタ―フェイス12a,12bを持つプロ
セッサ13a,13bによる二重化した計算機システムを示
している。各内部演算器11a,11bで同一のプログラム
を同期して実行するため、処理結果は外部バス14上に同
期して現われるもので、これを比較器15により比較検証
している。
【0005】しかして、プロセッサ13a,13bが高速化
するに連れて、外部バス14の動作クロックとプロセッサ
13a,13b内部の動作クロックが同期しなくなることが
あり得る。すなわち、データ処理の効率化の点からはプ
ロセッサ全体を高速化することが理想であるが、外部バ
ス14につながる他の外部機器との兼ね合いで外部バス14
自体が余り高速化できないことがあり、このようなとき
には外部バス14の動作クロックとプロセッサ13a,13b
内部の演算器11a,11bの動作クロックとを別々に高速
化することがある。
するに連れて、外部バス14の動作クロックとプロセッサ
13a,13b内部の動作クロックが同期しなくなることが
あり得る。すなわち、データ処理の効率化の点からはプ
ロセッサ全体を高速化することが理想であるが、外部バ
ス14につながる他の外部機器との兼ね合いで外部バス14
自体が余り高速化できないことがあり、このようなとき
には外部バス14の動作クロックとプロセッサ13a,13b
内部の演算器11a,11bの動作クロックとを別々に高速
化することがある。
【0006】このようなプロセッサを冗長化して計算機
システムに用いた場合、プロセッサ内部と外部バスのク
ロックの比率が整数倍であれば常に多重化された複数の
プロセッサ間でバス上で処理結果が得られる。そうでは
ない場合、複数のプロセッサの内部動作によっては同一
のプログラムを同期させて処理し始めても結果のバス上
に現われるタイミングがずれてしまうことがある。この
ようなときはバス上に設けた比較器により処理結果を同
期化させて処理結果の比較検証を行なうこととなる。
システムに用いた場合、プロセッサ内部と外部バスのク
ロックの比率が整数倍であれば常に多重化された複数の
プロセッサ間でバス上で処理結果が得られる。そうでは
ない場合、複数のプロセッサの内部動作によっては同一
のプログラムを同期させて処理し始めても結果のバス上
に現われるタイミングがずれてしまうことがある。この
ようなときはバス上に設けた比較器により処理結果を同
期化させて処理結果の比較検証を行なうこととなる。
【0007】図4は内部演算器11a,11bとバスインタ
―フェイス12a,12bが異なるクロックCK1,CK2
で非同期に動作しているプロセッサを二重化した計算機
システムを示している。ここで二重化されたプロセッサ
13a,13bは、同一のプログラムを命令のレベルで実行
する。バスインタ―フェイス12a,12bと内部演算器11
a,11bとが非同期なために、処理結果が異なるタイミ
ングで外部バス14上に現われることがあるが、同期化回
路16aにて処理結果を同期させた上で、この同期化回路
16aを含む上記比較器15と同等の比較器16により該処理
結果を比較検証している。
―フェイス12a,12bが異なるクロックCK1,CK2
で非同期に動作しているプロセッサを二重化した計算機
システムを示している。ここで二重化されたプロセッサ
13a,13bは、同一のプログラムを命令のレベルで実行
する。バスインタ―フェイス12a,12bと内部演算器11
a,11bとが非同期なために、処理結果が異なるタイミ
ングで外部バス14上に現われることがあるが、同期化回
路16aにて処理結果を同期させた上で、この同期化回路
16aを含む上記比較器15と同等の比較器16により該処理
結果を比較検証している。
【0008】このような構成にあって、プロセッサ13
a,13bに対して外部から割込みがあった場合、外部バ
ス14とプロセッサ13a,13bの内部が同一のクロックC
Kで完全に同期した冗長化システムでは、多重化された
プロセッサ13a,13bへの割込みは同期して同一の命令
に対して行なわれる。
a,13bに対して外部から割込みがあった場合、外部バ
ス14とプロセッサ13a,13bの内部が同一のクロックC
Kで完全に同期した冗長化システムでは、多重化された
プロセッサ13a,13bへの割込みは同期して同一の命令
に対して行なわれる。
【0009】ところが、内部がバスクロックと異なるク
ロックで動作するプロセッサで構成された冗長化システ
ムでは、バス上に現われた処理結果に基づき多重化され
た各プロセッサに割込みをかけた場合、プロセッサの各
個体の動作特性上のほんの僅かのずれ等により、プロセ
ッサ内部の動作がそのプロセッサ毎に異なることがある
ため、外部からの割込みが各プロセッサに同一のタイミ
ング、同一の命令で発生しないという事態が生じ、各プ
ロセッサ毎に異なる割込み動作を行なってしまうことが
あり得る。
ロックで動作するプロセッサで構成された冗長化システ
ムでは、バス上に現われた処理結果に基づき多重化され
た各プロセッサに割込みをかけた場合、プロセッサの各
個体の動作特性上のほんの僅かのずれ等により、プロセ
ッサ内部の動作がそのプロセッサ毎に異なることがある
ため、外部からの割込みが各プロセッサに同一のタイミ
ング、同一の命令で発生しないという事態が生じ、各プ
ロセッサ毎に異なる割込み動作を行なってしまうことが
あり得る。
【0010】図5はこのような状態を例示するもので、
ここでは上記図4の回路構成と同様に二重化されたプロ
セッサ13a,13bによる冗長な計算機システムで同一の
プログラムを実行するものとし、同一部分には同一符号
を付してその構成の説明は省略する。図中に示す如く、
プログラムは命令0、命令1、命令2、命令3、命令
4、命令5という順に実行されるものとする。図中に示
すタイミングでは、プロセッサ13a,13bからそれぞれ
外部バス14上に命令0の処理結果が出力され、同期化回
路16aを有する比較器16で比較検証されている。したが
って、プロセッサ13a,13bの外部から見ると、プロセ
ッサ13a,13bが同期動作をしているように見える。し
かし、バスインタ―フェイス12a,12bと内部動作の同
期のずれにより、実際にプロセッサ13a,13bが実行し
ている命令は異なるものになっている。この時にプロセ
ッサ13a,13bに対して割込みを行なうと、プロセッサ
13a,13b毎に異なる命令に割込みがかかることとな
り、結果的に異なる処理をしてしまうこととなる。
ここでは上記図4の回路構成と同様に二重化されたプロ
セッサ13a,13bによる冗長な計算機システムで同一の
プログラムを実行するものとし、同一部分には同一符号
を付してその構成の説明は省略する。図中に示す如く、
プログラムは命令0、命令1、命令2、命令3、命令
4、命令5という順に実行されるものとする。図中に示
すタイミングでは、プロセッサ13a,13bからそれぞれ
外部バス14上に命令0の処理結果が出力され、同期化回
路16aを有する比較器16で比較検証されている。したが
って、プロセッサ13a,13bの外部から見ると、プロセ
ッサ13a,13bが同期動作をしているように見える。し
かし、バスインタ―フェイス12a,12bと内部動作の同
期のずれにより、実際にプロセッサ13a,13bが実行し
ている命令は異なるものになっている。この時にプロセ
ッサ13a,13bに対して割込みを行なうと、プロセッサ
13a,13b毎に異なる命令に割込みがかかることとな
り、結果的に異なる処理をしてしまうこととなる。
【0011】
【発明が解決しようとする課題】以上に述べた如くプロ
セッサが冗長化された電子計算機システムにバスと内部
動作のクロックが異なるプロセッサを用いた場合、多重
化されたプロセッサに同期した割込み処理を起こさせる
ことができない。
セッサが冗長化された電子計算機システムにバスと内部
動作のクロックが異なるプロセッサを用いた場合、多重
化されたプロセッサに同期した割込み処理を起こさせる
ことができない。
【0012】本発明は上記のような実情に鑑みてなされ
たもので、その目的とするところは、外部バスと内部動
作のクロックが異なるプロセッサを冗長化した計算機シ
ステムに用い、多重化されたプロセッサへの同期した割
込みを実現することが可能なデータ処理装置及びこのデ
ータ処理装置に用いられるマイクロプロセッサを提供す
ることにある。
たもので、その目的とするところは、外部バスと内部動
作のクロックが異なるプロセッサを冗長化した計算機シ
ステムに用い、多重化されたプロセッサへの同期した割
込みを実現することが可能なデータ処理装置及びこのデ
ータ処理装置に用いられるマイクロプロセッサを提供す
ることにある。
【0013】
【課題を解決するための手段】すなわち本発明は、バス
接続された複数のプロセッサを有するデータ処理装置で
あって、他のプロセッサとの間で内部動作状態を互いに
通知する通知回路と、自プロセッサの処理結果を保持
し、上記バスへの出力を一時的に停止する出力停止回路
と、自プロセッサの内部処理を一時的に停止する処理停
止回路と、外部からの割込み指示を保持する保持回路
と、自プロセッサの内部動作を監視し、上記通知回路で
得た通知内容に基づいて上記出力停止回路と処理停止回
路を起動させる監視回路とを個々のプロセッサが備え、
上記複数のプロセッサが同一のプログラムを命令レベル
で同時に処理し、上記監視回路が上記保持回路の保持内
容あるいは予めプログラム内に配置された割込み受付け
命令に応じて複数のプロセッサ間で同期した割込み処理
を行ない、複数のプロセッサ間で同期した割込み処理を
行なうようにしたものである。
接続された複数のプロセッサを有するデータ処理装置で
あって、他のプロセッサとの間で内部動作状態を互いに
通知する通知回路と、自プロセッサの処理結果を保持
し、上記バスへの出力を一時的に停止する出力停止回路
と、自プロセッサの内部処理を一時的に停止する処理停
止回路と、外部からの割込み指示を保持する保持回路
と、自プロセッサの内部動作を監視し、上記通知回路で
得た通知内容に基づいて上記出力停止回路と処理停止回
路を起動させる監視回路とを個々のプロセッサが備え、
上記複数のプロセッサが同一のプログラムを命令レベル
で同時に処理し、上記監視回路が上記保持回路の保持内
容あるいは予めプログラム内に配置された割込み受付け
命令に応じて複数のプロセッサ間で同期した割込み処理
を行ない、複数のプロセッサ間で同期した割込み処理を
行なうようにしたものである。
【0014】
【作用】上記のような構成とすることにより、たとえ外
部バスと内部動作のクロックが異なるプロセッサを多重
化したデータ処理装置であっても、各プロセッサ間の同
期を確実にとり、信頼性の高い動作を実行維持させるこ
とができる。
部バスと内部動作のクロックが異なるプロセッサを多重
化したデータ処理装置であっても、各プロセッサ間の同
期を確実にとり、信頼性の高い動作を実行維持させるこ
とができる。
【0015】
【実施例】以下図面を参照して本発明の一実施例を説明
する。図1はその基本的な回路構成を示すもので、ここ
ではプロセッサが二重化された冗長システムを想定する
ものとする。同図で21aがプライマリプロセッサ、21b
がセカンダリプロセッサであり、これらプロセッサ21
a,21bは共に、同一のプログラムの命令に従った演算
を実行する演算器22a,22b、相互プロセッサ間で内部
動作状態を通信し、自プロセッサへの割込みを保持する
通信回路23a,23b、この通信回路23a,23bで得られ
た各プロセッサの内部動作を監視し、後述する処理停止
回路25a,25b及び出力停止回路26a,26bを制御して
起動等をかける監視回路24a,24b、この監視回路24
a,24bの制御により自プロセッサの内部動作を一時的
に停止させる処理停止回路25a,25b、同じく監視回路
24a,24bの制御により自プロセッサの処理結果を一時
保存して外部バス28への出力を一時的に停止する出力停
止回路26a,26b、及び外部バス28との間でのデータの
送受を行なうバスインタ―フェイス27a,27bを有す
る。
する。図1はその基本的な回路構成を示すもので、ここ
ではプロセッサが二重化された冗長システムを想定する
ものとする。同図で21aがプライマリプロセッサ、21b
がセカンダリプロセッサであり、これらプロセッサ21
a,21bは共に、同一のプログラムの命令に従った演算
を実行する演算器22a,22b、相互プロセッサ間で内部
動作状態を通信し、自プロセッサへの割込みを保持する
通信回路23a,23b、この通信回路23a,23bで得られ
た各プロセッサの内部動作を監視し、後述する処理停止
回路25a,25b及び出力停止回路26a,26bを制御して
起動等をかける監視回路24a,24b、この監視回路24
a,24bの制御により自プロセッサの内部動作を一時的
に停止させる処理停止回路25a,25b、同じく監視回路
24a,24bの制御により自プロセッサの処理結果を一時
保存して外部バス28への出力を一時的に停止する出力停
止回路26a,26b、及び外部バス28との間でのデータの
送受を行なうバスインタ―フェイス27a,27bを有す
る。
【0016】上記2つの通信回路23a,23b間は通信バ
ス29で接続される。プライマリプロセッサ21a及びセカ
ンダリプロセッサ21bのバスインタ―フェイス27a,27
bから外部バス28上へ出力された演算の処理結果は、比
較器30内の同期化回路30aで同期がとられた後にその内
容が比較検証される。
ス29で接続される。プライマリプロセッサ21a及びセカ
ンダリプロセッサ21bのバスインタ―フェイス27a,27
bから外部バス28上へ出力された演算の処理結果は、比
較器30内の同期化回路30aで同期がとられた後にその内
容が比較検証される。
【0017】上記のような構成にあって、本システムに
使われるプライマリプロセッサ21a、セカンダリプロセ
ッサ21bには割込みの要求を受付ける命令としてのIN
TOK命令を備えている。このINTOK命令以外の命
令が実行されているときにはプロセッサは外部からの割
込みの要求を受付けず、INTOK命令を実行した際に
は通信回路23a,23bが外部からの割込みの要求の情報
を受けるとこれを保持する。
使われるプライマリプロセッサ21a、セカンダリプロセ
ッサ21bには割込みの要求を受付ける命令としてのIN
TOK命令を備えている。このINTOK命令以外の命
令が実行されているときにはプロセッサは外部からの割
込みの要求を受付けず、INTOK命令を実行した際に
は通信回路23a,23bが外部からの割込みの要求の情報
を受けるとこれを保持する。
【0018】上記プロセッサ21a,21bはそれぞれプラ
イマリ、セカンダリと呼称するが、これは一義的なもの
であり、その構成機種、実行するプログラム等はすべて
同一であり、どちらかに重み付けをするものではない。
プライマリプロセッサ21aまたはセカンダリプロセッサ
21bのいずれかが上記INTOK命令を認識すると、そ
の監視回路24a(24b)は自プロセッサに対して割込み
がかかっているか否かを通信回路23a(23b)に割込み
要求の情報が保持されているか否かにより確認する。
イマリ、セカンダリと呼称するが、これは一義的なもの
であり、その構成機種、実行するプログラム等はすべて
同一であり、どちらかに重み付けをするものではない。
プライマリプロセッサ21aまたはセカンダリプロセッサ
21bのいずれかが上記INTOK命令を認識すると、そ
の監視回路24a(24b)は自プロセッサに対して割込み
がかかっているか否かを通信回路23a(23b)に割込み
要求の情報が保持されているか否かにより確認する。
【0019】通信回路23a(23b)は、外部からのプロ
セッサ21a(21b)への割込み要求の情報を保持してお
り、この割込み要求の情報を監視回路24a(24b)に伝
える。外部からの割込みがプロセッサ21a(21b)にか
かっていなければ、そのままプログラムの実行を続け
る。割込みがかかっていたら、INTOK命令を認識し
た上でプロセッサ21a(21b)は二重化されたプロセッ
サ21a,21bの内部動作状態の同期を調べる。
セッサ21a(21b)への割込み要求の情報を保持してお
り、この割込み要求の情報を監視回路24a(24b)に伝
える。外部からの割込みがプロセッサ21a(21b)にか
かっていなければ、そのままプログラムの実行を続け
る。割込みがかかっていたら、INTOK命令を認識し
た上でプロセッサ21a(21b)は二重化されたプロセッ
サ21a,21bの内部動作状態の同期を調べる。
【0020】すなわち、INTOK命令を認識したプロ
セッサ21a(21b)は、二重化された相手のプロセッサ
21b(21a)の認識実行している命令の情報を通信回路
23a(23b)を用いて得る。次に、そこで得た命令情報
に基づき、監視回路24a(24b)を使って相手の認識実
行していた命令情報が同一のものであるかを検証する。
セッサ21a(21b)は、二重化された相手のプロセッサ
21b(21a)の認識実行している命令の情報を通信回路
23a(23b)を用いて得る。次に、そこで得た命令情報
に基づき、監視回路24a(24b)を使って相手の認識実
行していた命令情報が同一のものであるかを検証する。
【0021】二重化されたプロセッサ21a,21bが同時
に同一のINTOK命令を実行していれば、その時点で
同期がとれていることとなるので、そのままプログラム
の実行を続けて割込み処理を始める。
に同一のINTOK命令を実行していれば、その時点で
同期がとれていることとなるので、そのままプログラム
の実行を続けて割込み処理を始める。
【0022】また、異なる命令を実行していた場合は、
同期化回路30aにより同期化処理を行なう。プロセッサ
21a,21bの同期化処理は以下の手順で行なわれる。す
なわち、まず命令実行の同期ずれを検出したら監視回路
24a(24b)を用いて内部状態を比較し、プライマリプ
ロセッサ21aとセカンダリプロセッサ21bのどちらの動
作が遅れているか、進んでいるかを調べる。動作が先行
しているプロセッサ21a(21b)は、プログラムの実行
を通信回路23a(23b)により処理停止回路25a(25
b)を用いて停止すると共に、外部バス28への処理結果
の出力を出力停止回路26a(26b)を用いて停止し、も
う一方のプロセッサ21b(21a)のプログラムの実行が
追い付くのを待機する。これは、通信回路23a(23b)
により得た動作状態の情報を監視回路24a(24b)が監
視することでなされる。
同期化回路30aにより同期化処理を行なう。プロセッサ
21a,21bの同期化処理は以下の手順で行なわれる。す
なわち、まず命令実行の同期ずれを検出したら監視回路
24a(24b)を用いて内部状態を比較し、プライマリプ
ロセッサ21aとセカンダリプロセッサ21bのどちらの動
作が遅れているか、進んでいるかを調べる。動作が先行
しているプロセッサ21a(21b)は、プログラムの実行
を通信回路23a(23b)により処理停止回路25a(25
b)を用いて停止すると共に、外部バス28への処理結果
の出力を出力停止回路26a(26b)を用いて停止し、も
う一方のプロセッサ21b(21a)のプログラムの実行が
追い付くのを待機する。これは、通信回路23a(23b)
により得た動作状態の情報を監視回路24a(24b)が監
視することでなされる。
【0023】このような同期の検出は、動作しているプ
ロセッサ21b(21a)が上記INTOK命令を実行する
度に行なわれ、監視回路24a(24b)がプロセッサ21b
(21a)の内部状態をチェックし、内部状態が等しくな
るまで行なわれる。
ロセッサ21b(21a)が上記INTOK命令を実行する
度に行なわれ、監視回路24a(24b)がプロセッサ21b
(21a)の内部状態をチェックし、内部状態が等しくな
るまで行なわれる。
【0024】二重化されたプロセッサ21a(21b)の内
部動作の同期がとれた時点で監視回路24a(24b)は、
処理停止回路25a(25b)を用いて自プロセッサ21a
(21b)の内部動作を再開させると共に、出力停止回路
26a,26bを用いて処理結果の外部バス28への出力を再
開させる。
部動作の同期がとれた時点で監視回路24a(24b)は、
処理停止回路25a(25b)を用いて自プロセッサ21a
(21b)の内部動作を再開させると共に、出力停止回路
26a,26bを用いて処理結果の外部バス28への出力を再
開させる。
【0025】また監視回路24a,24bは、通信回路23
a,23bに受付けていた割込み要求に対する処理をプロ
セッサ21a,21bに実行させる。このことにより、二重
化されたプロセッサ21a,21bで同期した割込み処理を
行なうことができるものである。
a,23bに受付けていた割込み要求に対する処理をプロ
セッサ21a,21bに実行させる。このことにより、二重
化されたプロセッサ21a,21bで同期した割込み処理を
行なうことができるものである。
【0026】なお、上記実施例では外部からの割込みを
直接通信回路23a,23bが受付け、外部バス28上での同
期化は比較器30内の同期化回路30aにより行なわれてい
たが、これらの制御を通信回路23a,23bの前段でお
い、外部バス28では単に比較検証のみを行なう構成とし
てもよい。以下、これを本実施例の他の構成例として図
2により説明する。
直接通信回路23a,23bが受付け、外部バス28上での同
期化は比較器30内の同期化回路30aにより行なわれてい
たが、これらの制御を通信回路23a,23bの前段でお
い、外部バス28では単に比較検証のみを行なう構成とし
てもよい。以下、これを本実施例の他の構成例として図
2により説明する。
【0027】図2はその基本的な回路構成を示すもので
ある。ここでも上記図1と同じくプロセッサが二重化さ
れた冗長システムを想定するものとし、その概略構成は
上記図1で示したものと同様であるので、同一部分には
同一符号を付して説明は省略する。
ある。ここでも上記図1と同じくプロセッサが二重化さ
れた冗長システムを想定するものとし、その概略構成は
上記図1で示したものと同様であるので、同一部分には
同一符号を付して説明は省略する。
【0028】しかして、通信回路23a,23bはそれぞれ
通信バス32a,32bにより同期制御回路31と接続され
る。この同期制御回路31は、通信回路23a,23bからプ
ロセッサ21a,21bの内部動作状態を受けてその同期状
態を判定する一方、外部からの割込みの要求を受付け、
これを保持して通信回路23a,23bへ割込み要求があっ
た旨を伝えるものである。
通信バス32a,32bにより同期制御回路31と接続され
る。この同期制御回路31は、通信回路23a,23bからプ
ロセッサ21a,21bの内部動作状態を受けてその同期状
態を判定する一方、外部からの割込みの要求を受付け、
これを保持して通信回路23a,23bへ割込み要求があっ
た旨を伝えるものである。
【0029】また、プロセッサ21a,21bのバスインタ
―フェイス27a,27bから出力される各処理結果はその
まま外部バス28上で比較器33により比較検証されるもの
である。
―フェイス27a,27bから出力される各処理結果はその
まま外部バス28上で比較器33により比較検証されるもの
である。
【0030】上記のような構成にあって、プライマリプ
ロセッサ21a及びセカンダリプロセッサ21bは常に通信
回路23a,23bを用いて内部動作状態を同期制御回路31
へ送出している。
ロセッサ21a及びセカンダリプロセッサ21bは常に通信
回路23a,23bを用いて内部動作状態を同期制御回路31
へ送出している。
【0031】プロセッサ21a,21bに対する外部からの
割込み要求があった場合、該要求はは同期制御回路31で
受付けられ、保持される。同期制御回路31は、通信回路
23a,23bから得ている各プロセッサ21a,21bの内部
動作状態を用いて同期状態を判定する。
割込み要求があった場合、該要求はは同期制御回路31で
受付けられ、保持される。同期制御回路31は、通信回路
23a,23bから得ている各プロセッサ21a,21bの内部
動作状態を用いて同期状態を判定する。
【0032】これは、例えばプロセッサ21a,21bそれ
ぞれにおけるプログラム中の分岐命令のような特定の命
令の実行回数をカウントしてそのカウント値に応じて行
なうものである。
ぞれにおけるプログラム中の分岐命令のような特定の命
令の実行回数をカウントしてそのカウント値に応じて行
なうものである。
【0033】これら二重化したプロセッサ21a,21bが
同期して動作していないと判定した場合に同期制御回路
31は、次にプロセッサ21a,21bの内部状態からプロセ
ッサ21a,21bのいずれが先行して命令を実行している
かを判定し、先行するプロセッサ21a(21b)に対して
同期化動作を開始させる信号を出力する。
同期して動作していないと判定した場合に同期制御回路
31は、次にプロセッサ21a,21bの内部状態からプロセ
ッサ21a,21bのいずれが先行して命令を実行している
かを判定し、先行するプロセッサ21a(21b)に対して
同期化動作を開始させる信号を出力する。
【0034】通信回路23a(23b)でこの信号を受けた
プロセッサ21a(21b)側の監視回路24a(24b)は、
処理停止回路25a(25b)を用いてプログラムの実行
を、出力停止回路26a,26bにより外部バス28への処理
結果の出力をそれぞれ一時停止させる。
プロセッサ21a(21b)側の監視回路24a(24b)は、
処理停止回路25a(25b)を用いてプログラムの実行
を、出力停止回路26a,26bにより外部バス28への処理
結果の出力をそれぞれ一時停止させる。
【0035】こうしてプログラムの実行と処理結果の外
部バス28への出力が一時停止している間に、プログラム
の実行が遅れている側のプロセッサ21b(21a)はプロ
グラムの実行を続ける。同期制御回路31は、プログラム
の実行を続けるプロセッサ21b(21a)の内部状態を通
信回路23b(23a)により得て、その動作が先行するプ
ロセッサ21a(21b)に追い付くまで待機する。そし
て、送れている側のプロセッサ21b(21a)の動作が先
行している側のプロセッサ21a(21b)の動作に追い付
き、二重化されたプロセッサ21a,21bの内部動作の同
期が取れた時点で、同期制御回路31は動作が先行してい
た側のプロセッサ21a(21b)に一時停止状態を解除さ
せるための信号を出力する。この信号を通信回路23a
(23b)で受けたプロセッサ21a(21b)側の監視回路
24a(24b)は、処理停止回路25a(25b)、出力停止
回路26a(26b)の一時停止状態を解いてプログラムの
実行と外部バス28への処理結果の出力を開始させる。
部バス28への出力が一時停止している間に、プログラム
の実行が遅れている側のプロセッサ21b(21a)はプロ
グラムの実行を続ける。同期制御回路31は、プログラム
の実行を続けるプロセッサ21b(21a)の内部状態を通
信回路23b(23a)により得て、その動作が先行するプ
ロセッサ21a(21b)に追い付くまで待機する。そし
て、送れている側のプロセッサ21b(21a)の動作が先
行している側のプロセッサ21a(21b)の動作に追い付
き、二重化されたプロセッサ21a,21bの内部動作の同
期が取れた時点で、同期制御回路31は動作が先行してい
た側のプロセッサ21a(21b)に一時停止状態を解除さ
せるための信号を出力する。この信号を通信回路23a
(23b)で受けたプロセッサ21a(21b)側の監視回路
24a(24b)は、処理停止回路25a(25b)、出力停止
回路26a(26b)の一時停止状態を解いてプログラムの
実行と外部バス28への処理結果の出力を開始させる。
【0036】そして、この時点で同期制御回路31に保持
されていた割込み要求が各プロセッサ21a,21bの通信
回路23a,23bに対して通知され、実際の割込み処理が
開始される。
されていた割込み要求が各プロセッサ21a,21bの通信
回路23a,23bに対して通知され、実際の割込み処理が
開始される。
【0037】以上のようにして、二重化されたプロセッ
サ21a,21bで同期した割込みをかけることができるも
ので、外部バス28上で各プロセッサ21a,21bの処理結
果を比較検証するための比較器33にて同期化を行なう必
要がなくなり、その構成を簡略化することができる。
サ21a,21bで同期した割込みをかけることができるも
ので、外部バス28上で各プロセッサ21a,21bの処理結
果を比較検証するための比較器33にて同期化を行なう必
要がなくなり、その構成を簡略化することができる。
【0038】
【発明の効果】以上詳記した如く本発明によれば、たと
え外部バスと内部動作のクロックが異なるプロセッサを
多重化したデータ処理装置であっても、各プロセッサ間
の同期を確実にとり、信頼性の高い動作を実行維持させ
ることができる。
え外部バスと内部動作のクロックが異なるプロセッサを
多重化したデータ処理装置であっても、各プロセッサ間
の同期を確実にとり、信頼性の高い動作を実行維持させ
ることができる。
【図1】本発明の一実施例に係る回路構成を示すブロッ
ク図。
ク図。
【図2】同実施例に係る他の回路構成例を示すブロック
図。
図。
【図3】一般的なFRMの基本回路構成を示すブロック
図。
図。
【図4】一般的なFRMの基本回路構成を示すブロック
図。
図。
【図5】一般的なFRMによるプログラムの実行状態を
例示する図。
例示する図。
11a,11b…内部演算器、12a,12b,27a,27b…バ
スインタ―フェイス、13a,13b…プロセッサ、14,28
…外部バス、15,16,30,33…比較器、16a,30a…同
期化回路、21a…プライマリプロセッサ、21b…セカン
ダリプロセッサ、22a,22b…演算器、23a,23b…通
信回路、24a,24b…監視回路、25a,25b…処理停止
回路、26a,26b…出力停止回路、29,32a,32b…通
信バス、31…同期制御回路。
スインタ―フェイス、13a,13b…プロセッサ、14,28
…外部バス、15,16,30,33…比較器、16a,30a…同
期化回路、21a…プライマリプロセッサ、21b…セカン
ダリプロセッサ、22a,22b…演算器、23a,23b…通
信回路、24a,24b…監視回路、25a,25b…処理停止
回路、26a,26b…出力停止回路、29,32a,32b…通
信バス、31…同期制御回路。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/16 470 J
Claims (8)
- 【請求項1】 バス接続された複数のプロセッサを有す
るデータ処理装置であって、 他のプロセッサとの間で内部動作状態を互いに通知する
通知手段と、 自プロセッサの処理結果を保持し、上記バスへの出力を
一時的に停止する出力停止手段と、 自プロセッサの内部処理を一時的に停止する処理停止手
段と、 外部からの割込み指示を保持する保持手段と、 自プロセッサの内部動作を監視し、上記通知手段で得た
通知内容に基づいて上記出力停止手段と処理停止手段を
起動させる監視手段とを個々のプロセッサが備えること
を特徴とするデータ処理装置。 - 【請求項2】 上記複数のプロセッサは同一のプログラ
ムを命令レベルで同時に処理し、上記監視手段により複
数のプロセッサ間の内部動作の同期をとることを特徴と
する請求項1記載のデータ処理装置。 - 【請求項3】 上記複数のプロセッサは同一のプログラ
ムを命令レベルで同時に処理し、上記監視手段はプログ
ラム内の特定命令の実行回数のカウントにより複数のプ
ロセッサ間の内部動作の同期をとることを特徴とする請
求項1または2記載のデータ処理装置。 - 【請求項4】 上記複数のプロセッサは同一のプログラ
ムを命令レベルで同時に処理し、上記監視手段は上記保
持手段の保持内容に応じて複数のプロセッサ間で内部動
作の同期をとることにより同期した割込み処理を行なう
ことを特徴とする請求項1または2記載のデータ処理装
置。 - 【請求項5】 上記複数のプロセッサは同一のプログラ
ムを命令レベルで同時に処理し、上記監視手段は予めプ
ログラム内に配置された割込み受付け命令に基づいて複
数のプロセッサ間で内部動作の同期をとることにより同
期した割込み処理を行なうことを特徴とする請求項1ま
たは2記載のデータ処理装置。 - 【請求項6】 バス接続された他のプロセッサと同一の
プログラムを命令レベルで同時に処理するマイクロプロ
セッサであって、 他のプロセッサとの間で内部動作状態を互いに通知する
通知手段と、 自プロセッサの処理結果を保持し、上記バスへの出力を
一時的に停止する出力停止手段と、 自プロセッサの内部処理を一時的に停止する処理停止手
段と、 外部からの割込み指示を保持する保持手段と、 自プロセッサの内部動作を監視し、上記通知手段で得ら
れた出力に基づいて上記出力停止手段と処理停止手段を
起動させる監視手段とを具備したことを特徴とするマイ
クロプロセッサ。 - 【請求項7】 上記監視手段はプログラム内の特定命令
の実行回数のカウントにより他のプロセッサと内部動作
の同期をとることを特徴とする請求項6記載のマイクロ
プロセッサ。 - 【請求項8】 上記監視手段は他のプロセッサと内部動
作の同期をとることで同期した割込み処理を行なうこと
を特徴とする請求項6記載のマイクロプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6134698A JPH086800A (ja) | 1994-06-16 | 1994-06-16 | データ処理装置及びマイクロプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6134698A JPH086800A (ja) | 1994-06-16 | 1994-06-16 | データ処理装置及びマイクロプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH086800A true JPH086800A (ja) | 1996-01-12 |
Family
ID=15134510
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6134698A Pending JPH086800A (ja) | 1994-06-16 | 1994-06-16 | データ処理装置及びマイクロプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH086800A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008117390A (ja) * | 2006-10-25 | 2008-05-22 | Rockwell Automation Technologies Inc | デュアルcpuの安全システムにおける安全タイマクロスチェック診断 |
| JP2009086939A (ja) * | 2007-09-28 | 2009-04-23 | Hitachi Ltd | バス比較型多重系処理装置 |
| JP2009193504A (ja) * | 2008-02-18 | 2009-08-27 | Nec Corp | フォルトトレラントコンピュータ、同期制御方法、及びプログラム |
| US8301936B2 (en) | 2006-11-02 | 2012-10-30 | Nec Corporation | Apparatus and method for performing a screening test of semiconductor integrated circuits |
| WO2012169021A1 (ja) * | 2011-06-08 | 2012-12-13 | 株式会社日立製作所 | 制御方法、及び制御システム、並びにプログラム |
| JP2014059749A (ja) * | 2012-09-18 | 2014-04-03 | Yokogawa Electric Corp | フォールトトレラントシステム |
| JP2015170053A (ja) * | 2014-03-05 | 2015-09-28 | 富士電機株式会社 | コントローラ冗長化システム、そのコントローラ |
-
1994
- 1994-06-16 JP JP6134698A patent/JPH086800A/ja active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008117390A (ja) * | 2006-10-25 | 2008-05-22 | Rockwell Automation Technologies Inc | デュアルcpuの安全システムにおける安全タイマクロスチェック診断 |
| US8301936B2 (en) | 2006-11-02 | 2012-10-30 | Nec Corporation | Apparatus and method for performing a screening test of semiconductor integrated circuits |
| JP2009086939A (ja) * | 2007-09-28 | 2009-04-23 | Hitachi Ltd | バス比較型多重系処理装置 |
| JP2009193504A (ja) * | 2008-02-18 | 2009-08-27 | Nec Corp | フォルトトレラントコンピュータ、同期制御方法、及びプログラム |
| WO2012169021A1 (ja) * | 2011-06-08 | 2012-12-13 | 株式会社日立製作所 | 制御方法、及び制御システム、並びにプログラム |
| JP2014059749A (ja) * | 2012-09-18 | 2014-04-03 | Yokogawa Electric Corp | フォールトトレラントシステム |
| US9400666B2 (en) | 2012-09-18 | 2016-07-26 | Yokogawa Electric Corporation | Fault tolerant system and method for performing fault tolerant |
| JP2015170053A (ja) * | 2014-03-05 | 2015-09-28 | 富士電機株式会社 | コントローラ冗長化システム、そのコントローラ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3982353B2 (ja) | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム | |
| JP3206006B2 (ja) | 二重化バス制御方法及び装置 | |
| US5572620A (en) | Fault-tolerant voter system for output data from a plurality of non-synchronized redundant processors | |
| JPH0833874B2 (ja) | 複数のプロセッサを同期する装置 | |
| CN101916068B (zh) | 基于2取2结构的计算机控制系统及其实现方法 | |
| EP0397471B1 (en) | Initialization system amd methods for input/output processing units | |
| EP1675006A2 (en) | Fault tolerant computer system and interrupt control method for the same | |
| US20040193735A1 (en) | Method and circuit arrangement for synchronization of synchronously or asynchronously clocked processor units | |
| JPH086800A (ja) | データ処理装置及びマイクロプロセッサ | |
| JP5436422B2 (ja) | 高インテグリティと高可用性のコンピュータ処理モジュール | |
| US7418626B2 (en) | Information processing apparatus | |
| JPH1035495A (ja) | 二重系電子連動装置 | |
| JPH08241217A (ja) | 情報処理装置 | |
| JP3423732B2 (ja) | 情報処理装置及び情報処理装置における障害処理方法 | |
| JP3415636B2 (ja) | プロセッサ装置 | |
| JPS5814692B2 (ja) | 多重系同期運転方式 | |
| US20030158972A1 (en) | Device and method for the synchronization of a system of networked computers | |
| JPH0736720A (ja) | 二重化コンピュータ装置 | |
| JPS5931738B2 (ja) | 計算機システムの並列三重系構成方法 | |
| US20070113224A1 (en) | Task Matching For Coordinated Circuits | |
| CN114253766B (zh) | 运行冗余的自动化系统的方法 | |
| JP2001175545A (ja) | サーバシステムおよび障害診断方法ならびに記録媒体 | |
| JPS58217056A (ja) | マルチプロセツサシステムのタスク制御方式 | |
| JPH07261814A (ja) | Pcのデュアルシステムにおける割込み同期方法 | |
| JPH05265790A (ja) | マイクロプロセッサ装置 |