JPH086800A - Data processor and microprocessor - Google Patents
Data processor and microprocessorInfo
- 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
- circuit
- 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
Description
【0001】[0001]
【産業上の利用分野】本発明は、複数のマイクロプロセ
ッサをバス接続し、同一のプログラムを命令レベルで同
時に処理することで信頼性の高いデータ処理を実行する
データ処理装置及びこのデータ処理装置に用いられるマ
イクロプロセッサに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device and a data processing device for executing highly reliable data processing by connecting a plurality of microprocessors to a bus and processing the same program at the same time at the instruction level. Regarding the microprocessor used.
【0002】[0002]
【従来の技術】データ処理装置のハードウェアを冗長化
することにより、システム全体での信頼性を上げること
ができる。その中の技術の一つに、プロセッサを多重化
することによりプロセッサ冗長性を持たせる方法があ
る。この方法によるシステムの高信頼化技術はFRC
(Functional Redundancy Checking)またはFRM(Fu
nctional Redundancy Monitoring)と呼称される。すな
わちFRMは、クロックレベルで同期した同一のプログ
ラムを実行する複数のマイクロプロセッサと、これらの
処理結果を比較検証する比較器とから構成されるもので
ある。2. Description of the Related Art By making the hardware of a data processing device redundant, the reliability of the entire system can be improved. One of the technologies among them is a method of providing processor redundancy by multiplexing processors. FRC is the technology for improving the system reliability by this method.
(Functional Redundancy Checking) or FRM (Fu
nctional Redundancy Monitoring). That is, the FRM is composed of a plurality of microprocessors that execute the same program synchronized at the clock level and a comparator that compares and verifies the processing results of these microprocessors.
【0003】多重化されたプロセッサは、上述した如く
クロックレベルで同期して同一のプログラムを実行する
ため、プロセッサに異常がなければ同じ処理結果が同期
してバス上に現出することなる。このときにバス上に現
われる処理結果を上記比較器をもって各ビット毎に比較
監視し、プロセッサの処理結果が異なる場合にはプロセ
ッサにより最後の正常な動作まで戻って該処理をやり直
させる。そして、それでも正常な結果が得られなけれ
ば、それは永久故障として報告される。このような動作
を行なうことにより、システムの信頼性を高めることが
できるものである。Since the multiplexed processors execute the same program in synchronization at the clock level as described above, the same processing result will appear on the bus in synchronization if there is no abnormality in the processor. At this time, the processing result appearing on the bus is compared and monitored for each bit by the comparator, and when the processing result of the processor is different, the processor returns to the last normal operation and restarts the processing. And if it still does not give a normal result, it is reported as a permanent failure. By performing such an operation, the reliability of the system can be improved.
【0004】図3は上記FRMの基本的な回路構成を示
すもので、同一のクロックCKで動作する内部演算器11
a,11bとバスインタ―フェイス12a,12bを持つプロ
セッサ13a,13bによる二重化した計算機システムを示
している。各内部演算器11a,11bで同一のプログラム
を同期して実行するため、処理結果は外部バス14上に同
期して現われるもので、これを比較器15により比較検証
している。FIG. 3 shows the basic circuit configuration of the FRM. The internal arithmetic unit 11 operating with the same clock CK is shown in FIG.
It shows a dual computer system with processors a and 11b and processors 13a and 13b having bus interfaces 12a and 12b. Since the same programs are synchronously executed by the internal arithmetic units 11a and 11b, the processing result appears synchronously on the external bus 14, and the comparator 15 compares and verifies them.
【0005】しかして、プロセッサ13a,13bが高速化
するに連れて、外部バス14の動作クロックとプロセッサ
13a,13b内部の動作クロックが同期しなくなることが
あり得る。すなわち、データ処理の効率化の点からはプ
ロセッサ全体を高速化することが理想であるが、外部バ
ス14につながる他の外部機器との兼ね合いで外部バス14
自体が余り高速化できないことがあり、このようなとき
には外部バス14の動作クロックとプロセッサ13a,13b
内部の演算器11a,11bの動作クロックとを別々に高速
化することがある。However, as the speed of the processors 13a and 13b increases, the operating clock of the external bus 14 and the processor
It is possible that the operation clocks inside 13a and 13b may become out of synchronization. That is, it is ideal to increase the speed of the entire processor from the viewpoint of improving the efficiency of data processing, but in consideration of other external devices connected to the external bus 14, the external bus 14
In some cases, the speed of the external bus 14 and the processors 13a and 13b cannot be increased.
The operation clocks of the internal arithmetic units 11a and 11b may be speeded up separately.
【0006】このようなプロセッサを冗長化して計算機
システムに用いた場合、プロセッサ内部と外部バスのク
ロックの比率が整数倍であれば常に多重化された複数の
プロセッサ間でバス上で処理結果が得られる。そうでは
ない場合、複数のプロセッサの内部動作によっては同一
のプログラムを同期させて処理し始めても結果のバス上
に現われるタイミングがずれてしまうことがある。この
ようなときはバス上に設けた比較器により処理結果を同
期化させて処理結果の比較検証を行なうこととなる。When such a processor is made redundant and used in a computer system, a processing result can always be obtained on a bus between a plurality of multiplexed processors if the ratio of the clocks in the processor and the external bus is an integral multiple. To be If this is not the case, depending on the internal operation of the plurality of processors, even if the same program is started to be processed synchronously, the timing of appearing on the resulting bus may be shifted. In such a case, the comparison and verification of the processing results are performed by synchronizing the processing results with the comparator provided on the bus.
【0007】図4は内部演算器11a,11bとバスインタ
―フェイス12a,12bが異なるクロックCK1,CK2
で非同期に動作しているプロセッサを二重化した計算機
システムを示している。ここで二重化されたプロセッサ
13a,13bは、同一のプログラムを命令のレベルで実行
する。バスインタ―フェイス12a,12bと内部演算器11
a,11bとが非同期なために、処理結果が異なるタイミ
ングで外部バス14上に現われることがあるが、同期化回
路16aにて処理結果を同期させた上で、この同期化回路
16aを含む上記比較器15と同等の比較器16により該処理
結果を比較検証している。FIG. 4 shows clocks CK1 and CK2 having different internal arithmetic units 11a and 11b and bus interfaces 12a and 12b.
Shows a computer system in which processors operating asynchronously are duplicated. Dual processor here
13a and 13b execute the same program at the instruction level. Bus interfaces 12a, 12b and internal calculator 11
Since a and 11b are asynchronous with each other, the processing result may appear on the external bus 14 at different timings. However, after synchronizing the processing result with the synchronization circuit 16a, the synchronization circuit 16a
The processing result is compared and verified by the comparator 16 equivalent to the comparator 15 including 16a.
【0008】このような構成にあって、プロセッサ13
a,13bに対して外部から割込みがあった場合、外部バ
ス14とプロセッサ13a,13bの内部が同一のクロックC
Kで完全に同期した冗長化システムでは、多重化された
プロセッサ13a,13bへの割込みは同期して同一の命令
に対して行なわれる。With such a configuration, the processor 13
When an external interrupt is issued to a and 13b, the external bus 14 and the processors 13a and 13b have the same clock C.
In a redundant system in which K is completely synchronized, interrupts to the multiplexed processors 13a and 13b are synchronously performed for the same instruction.
【0009】ところが、内部がバスクロックと異なるク
ロックで動作するプロセッサで構成された冗長化システ
ムでは、バス上に現われた処理結果に基づき多重化され
た各プロセッサに割込みをかけた場合、プロセッサの各
個体の動作特性上のほんの僅かのずれ等により、プロセ
ッサ内部の動作がそのプロセッサ毎に異なることがある
ため、外部からの割込みが各プロセッサに同一のタイミ
ング、同一の命令で発生しないという事態が生じ、各プ
ロセッサ毎に異なる割込み動作を行なってしまうことが
あり得る。However, in a redundant system having an internal processor which operates with a clock different from the bus clock, when interrupting each of the multiplexed processors based on the processing result appearing on the bus, Because the internal operation of a processor may differ from processor to processor due to a slight deviation in the operating characteristics of each individual, an external interrupt does not occur in each processor at the same timing and with the same instruction. It is possible that different interrupt operations will be performed for each processor.
【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毎に異なる命令に割込みがかかることとな
り、結果的に異なる処理をしてしまうこととなる。FIG. 5 exemplifies such a state.
Here, it is assumed that the same program is executed by the redundant computer system including the duplicated processors 13a and 13b similarly to the circuit configuration of FIG. 4, the same portions are denoted by the same reference numerals, and the description of the configuration is omitted. . As shown in the figure,
The program is executed in the order of instruction 0, instruction 1, instruction 2, instruction 3, instruction 4, and instruction 5. At the timing shown in the figure, the processing result of the instruction 0 is output from the processors 13a and 13b onto the external bus 14, respectively, and is compared and verified by the comparator 16 having the synchronization circuit 16a. Therefore, when viewed from the outside of the processors 13a and 13b, the processors 13a and 13b appear to be operating in synchronization. However, the instructions actually executed by the processors 13a and 13b are different due to the deviation of the synchronization between the bus interfaces 12a and 12b and the internal operation. If an interrupt is issued to the processors 13a and 13b at this time, the processor
Different instructions are interrupted for each of 13a and 13b, resulting in different processing.
【0011】[0011]
【発明が解決しようとする課題】以上に述べた如くプロ
セッサが冗長化された電子計算機システムにバスと内部
動作のクロックが異なるプロセッサを用いた場合、多重
化されたプロセッサに同期した割込み処理を起こさせる
ことができない。As described above, when a processor having different buses and internal operation clocks is used in an electronic computer system in which the processors are made redundant, interrupt processing synchronized with the multiplexed processors occurs. I can't let you do it.
【0012】本発明は上記のような実情に鑑みてなされ
たもので、その目的とするところは、外部バスと内部動
作のクロックが異なるプロセッサを冗長化した計算機シ
ステムに用い、多重化されたプロセッサへの同期した割
込みを実現することが可能なデータ処理装置及びこのデ
ータ処理装置に用いられるマイクロプロセッサを提供す
ることにある。The present invention has been made in view of the above circumstances, and an object of the present invention is to use a processor that is multiplexed by using a processor having a different external bus and internal operation clock in a redundant computer system. There is provided a data processing device capable of realizing a synchronized interrupt to a data processing device and a microprocessor used in the data processing device.
【0013】[0013]
【課題を解決するための手段】すなわち本発明は、バス
接続された複数のプロセッサを有するデータ処理装置で
あって、他のプロセッサとの間で内部動作状態を互いに
通知する通知回路と、自プロセッサの処理結果を保持
し、上記バスへの出力を一時的に停止する出力停止回路
と、自プロセッサの内部処理を一時的に停止する処理停
止回路と、外部からの割込み指示を保持する保持回路
と、自プロセッサの内部動作を監視し、上記通知回路で
得た通知内容に基づいて上記出力停止回路と処理停止回
路を起動させる監視回路とを個々のプロセッサが備え、
上記複数のプロセッサが同一のプログラムを命令レベル
で同時に処理し、上記監視回路が上記保持回路の保持内
容あるいは予めプログラム内に配置された割込み受付け
命令に応じて複数のプロセッサ間で同期した割込み処理
を行ない、複数のプロセッサ間で同期した割込み処理を
行なうようにしたものである。That is, the present invention is a data processing device having a plurality of processors connected to a bus, and a notification circuit for notifying other processors of an internal operating state, and its own processor. An output stop circuit that holds the processing result of (1) and temporarily stops the output to the bus, a process stop circuit that temporarily stops the internal processing of the processor itself, and a hold circuit that holds an interrupt instruction from the outside. An individual processor is provided with a monitoring circuit that monitors the internal operation of its own processor and activates the output stop circuit and the process stop circuit based on the notification content obtained by the notification circuit,
The plurality of processors simultaneously process the same program at the instruction level, and the monitoring circuit performs interrupt processing synchronized between the plurality of processors according to the contents held in the holding circuit or the interrupt acceptance instruction arranged in advance in the program. This is done so that interrupt processing synchronized with a plurality of processors is performed.
【0014】[0014]
【作用】上記のような構成とすることにより、たとえ外
部バスと内部動作のクロックが異なるプロセッサを多重
化したデータ処理装置であっても、各プロセッサ間の同
期を確実にとり、信頼性の高い動作を実行維持させるこ
とができる。With the above-described structure, even in a data processing device in which processors having different clocks for internal operation and external buses are multiplexed, the processors can be reliably synchronized and highly reliable operation can be achieved. Can be kept running.
【0015】[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を有す
る。An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows the basic circuit configuration thereof, and here it is assumed that a redundant system having dual processors is assumed. In the figure, 21a is the primary processor and 21b
Is the secondary processor and these processors 21
a and 21b are arithmetic units 22a and 22b for executing arithmetic operations according to instructions of the same program, communication circuits 23a and 23b for communicating an internal operation state between mutual processors and holding an interrupt to the own processor, Monitoring circuits 24a, 24b for monitoring the internal operation of each processor obtained by the communication circuits 23a, 23b and controlling the processing stop circuits 25a, 25b and output stop circuits 26a, 26b to be described later to activate them, twenty four
Processing stop circuits 25a and 25b for temporarily stopping the internal operation of the self processor by controlling a and 24b, and the monitoring circuit
An output stop circuit 26a, 26b for temporarily storing the processing result of its own processor under the control of 24a, 24b and temporarily stopping output to the external bus 28, and a bus interface for transmitting / receiving data to / from the external bus 28. -Has faces 27a and 27b.
【0016】上記2つの通信回路23a,23b間は通信バ
ス29で接続される。プライマリプロセッサ21a及びセカ
ンダリプロセッサ21bのバスインタ―フェイス27a,27
bから外部バス28上へ出力された演算の処理結果は、比
較器30内の同期化回路30aで同期がとられた後にその内
容が比較検証される。A communication bus 29 connects the two communication circuits 23a and 23b. Bus interfaces 27a, 27 of the primary processor 21a and the secondary processor 21b
The contents of the processing result of the operation output from b to the external bus 28 are compared and verified by the synchronization circuit 30a in the comparator 30 after being synchronized.
【0017】上記のような構成にあって、本システムに
使われるプライマリプロセッサ21a、セカンダリプロセ
ッサ21bには割込みの要求を受付ける命令としてのIN
TOK命令を備えている。このINTOK命令以外の命
令が実行されているときにはプロセッサは外部からの割
込みの要求を受付けず、INTOK命令を実行した際に
は通信回路23a,23bが外部からの割込みの要求の情報
を受けるとこれを保持する。In the above-mentioned structure, the IN as an instruction for accepting an interrupt request is sent to the primary processor 21a and the secondary processor 21b used in this system.
It has a TOK command. When an instruction other than the INTOK instruction is executed, the processor does not accept an interrupt request from the outside, and when the INTOK instruction is executed, the communication circuits 23a and 23b receive information of the interrupt request from the outside. Hold.
【0018】上記プロセッサ21a,21bはそれぞれプラ
イマリ、セカンダリと呼称するが、これは一義的なもの
であり、その構成機種、実行するプログラム等はすべて
同一であり、どちらかに重み付けをするものではない。
プライマリプロセッサ21aまたはセカンダリプロセッサ
21bのいずれかが上記INTOK命令を認識すると、そ
の監視回路24a(24b)は自プロセッサに対して割込み
がかかっているか否かを通信回路23a(23b)に割込み
要求の情報が保持されているか否かにより確認する。The above-mentioned processors 21a and 21b are referred to as primary and secondary, respectively, but these are unambiguous and their constituent models, programs to be executed, etc. are all the same, and neither is weighted. .
Primary processor 21a or secondary processor
When any of the 21b recognizes the INTOK instruction, the monitoring circuit 24a (24b) determines whether or not an interrupt is issued to its own processor, and whether or not the communication circuit 23a (23b) holds information on the interrupt request. Check by
【0019】通信回路23a(23b)は、外部からのプロ
セッサ21a(21b)への割込み要求の情報を保持してお
り、この割込み要求の情報を監視回路24a(24b)に伝
える。外部からの割込みがプロセッサ21a(21b)にか
かっていなければ、そのままプログラムの実行を続け
る。割込みがかかっていたら、INTOK命令を認識し
た上でプロセッサ21a(21b)は二重化されたプロセッ
サ21a,21bの内部動作状態の同期を調べる。The communication circuit 23a (23b) holds information on an interrupt request to the processor 21a (21b) from the outside, and transmits this interrupt request information to the monitoring circuit 24a (24b). Unless an external interrupt is applied to the processor 21a (21b), the program execution is continued as it is. If an interrupt occurs, the processor 21a (21b) recognizes the INTOK instruction and checks the synchronization of the internal operating states of the duplicated processors 21a and 21b.
【0020】すなわち、INTOK命令を認識したプロ
セッサ21a(21b)は、二重化された相手のプロセッサ
21b(21a)の認識実行している命令の情報を通信回路
23a(23b)を用いて得る。次に、そこで得た命令情報
に基づき、監視回路24a(24b)を使って相手の認識実
行していた命令情報が同一のものであるかを検証する。That is, the processor 21a (21b) that recognizes the INTOK instruction is a duplicated processor of the other party.
21b (21a) recognition Information of the command being executed is communicated to the communication circuit.
Obtained using 23a (23b). Next, based on the command information obtained there, the monitoring circuit 24a (24b) is used to verify whether the command information that the other party has recognized and executed is the same.
【0021】二重化されたプロセッサ21a,21bが同時
に同一のINTOK命令を実行していれば、その時点で
同期がとれていることとなるので、そのままプログラム
の実行を続けて割込み処理を始める。If the duplicated processors 21a and 21b execute the same INTOK instruction at the same time, it means that the two processors are synchronized at that time, so that the program continues to be executed and interrupt processing is started.
【0022】また、異なる命令を実行していた場合は、
同期化回路30aにより同期化処理を行なう。プロセッサ
21a,21bの同期化処理は以下の手順で行なわれる。す
なわち、まず命令実行の同期ずれを検出したら監視回路
24a(24b)を用いて内部状態を比較し、プライマリプ
ロセッサ21aとセカンダリプロセッサ21bのどちらの動
作が遅れているか、進んでいるかを調べる。動作が先行
しているプロセッサ21a(21b)は、プログラムの実行
を通信回路23a(23b)により処理停止回路25a(25
b)を用いて停止すると共に、外部バス28への処理結果
の出力を出力停止回路26a(26b)を用いて停止し、も
う一方のプロセッサ21b(21a)のプログラムの実行が
追い付くのを待機する。これは、通信回路23a(23b)
により得た動作状態の情報を監視回路24a(24b)が監
視することでなされる。If different instructions are being executed,
Synchronization processing is performed by the synchronization circuit 30a. Processor
The synchronization processing of 21a and 21b is performed in the following procedure. That is, first, when a synchronization deviation of instruction execution is detected, the monitoring circuit
24a (24b) is used to compare the internal states to check which operation of the primary processor 21a and the secondary processor 21b is delayed or advanced. The processor 21a (21b), which has preceded the operation, executes the program by the communication circuit 23a (23b) by the processing stop circuit 25a (25
b), the output of the processing result to the external bus 28 is stopped using the output stop circuit 26a (26b), and the other processor 21b (21a) waits for the execution of the program to catch up. . This is the communication circuit 23a (23b)
The monitoring circuit 24a (24b) monitors the information of the operating state obtained by the above.
【0023】このような同期の検出は、動作しているプ
ロセッサ21b(21a)が上記INTOK命令を実行する
度に行なわれ、監視回路24a(24b)がプロセッサ21b
(21a)の内部状態をチェックし、内部状態が等しくな
るまで行なわれる。Such synchronization detection is performed every time the operating processor 21b (21a) executes the INTOK instruction, and the monitoring circuit 24a (24b) causes the processor 21b to operate.
The internal state of (21a) is checked, and the process is repeated until the internal states become equal.
【0024】二重化されたプロセッサ21a(21b)の内
部動作の同期がとれた時点で監視回路24a(24b)は、
処理停止回路25a(25b)を用いて自プロセッサ21a
(21b)の内部動作を再開させると共に、出力停止回路
26a,26bを用いて処理結果の外部バス28への出力を再
開させる。When the internal operation of the duplicated processor 21a (21b) is synchronized, the monitoring circuit 24a (24b)
The own processor 21a using the processing stop circuit 25a (25b)
Restart the internal operation of (21b) and stop the output
The output of the processing result to the external bus 28 is restarted using 26a and 26b.
【0025】また監視回路24a,24bは、通信回路23
a,23bに受付けていた割込み要求に対する処理をプロ
セッサ21a,21bに実行させる。このことにより、二重
化されたプロセッサ21a,21bで同期した割込み処理を
行なうことができるものである。The monitoring circuits 24a and 24b are the communication circuit 23.
The processor 21a, 21b is caused to execute the processing for the interrupt request accepted by a, 23b. As a result, the redundant processors 21a and 21b can perform synchronized interrupt processing.
【0026】なお、上記実施例では外部からの割込みを
直接通信回路23a,23bが受付け、外部バス28上での同
期化は比較器30内の同期化回路30aにより行なわれてい
たが、これらの制御を通信回路23a,23bの前段でお
い、外部バス28では単に比較検証のみを行なう構成とし
てもよい。以下、これを本実施例の他の構成例として図
2により説明する。In the above embodiment, the external communication is directly received by the communication circuits 23a and 23b, and the synchronization on the external bus 28 is performed by the synchronization circuit 30a in the comparator 30. The control may be provided before the communication circuits 23a and 23b, and the external bus 28 may be configured to perform only comparative verification. Hereinafter, this will be described with reference to FIG. 2 as another configuration example of this embodiment.
【0027】図2はその基本的な回路構成を示すもので
ある。ここでも上記図1と同じくプロセッサが二重化さ
れた冗長システムを想定するものとし、その概略構成は
上記図1で示したものと同様であるので、同一部分には
同一符号を付して説明は省略する。FIG. 2 shows the basic circuit configuration. Here, it is assumed that the redundant system in which the processors are duplicated is assumed in the same manner as in FIG. 1 above, and its schematic configuration is similar to that shown in FIG. 1 above. To do.
【0028】しかして、通信回路23a,23bはそれぞれ
通信バス32a,32bにより同期制御回路31と接続され
る。この同期制御回路31は、通信回路23a,23bからプ
ロセッサ21a,21bの内部動作状態を受けてその同期状
態を判定する一方、外部からの割込みの要求を受付け、
これを保持して通信回路23a,23bへ割込み要求があっ
た旨を伝えるものである。The communication circuits 23a and 23b are connected to the synchronization control circuit 31 by the communication buses 32a and 32b, respectively. The synchronization control circuit 31 receives the internal operation states of the processors 21a and 21b from the communication circuits 23a and 23b and determines the synchronization state thereof, while accepting an interrupt request from the outside.
This is held to notify the communication circuits 23a and 23b that there is an interrupt request.
【0029】また、プロセッサ21a,21bのバスインタ
―フェイス27a,27bから出力される各処理結果はその
まま外部バス28上で比較器33により比較検証されるもの
である。The processing results output from the bus interfaces 27a and 27b of the processors 21a and 21b are compared and verified by the comparator 33 on the external bus 28 as they are.
【0030】上記のような構成にあって、プライマリプ
ロセッサ21a及びセカンダリプロセッサ21bは常に通信
回路23a,23bを用いて内部動作状態を同期制御回路31
へ送出している。In the configuration as described above, the primary processor 21a and the secondary processor 21b always use the communication circuits 23a and 23b to control the internal operation state of the synchronous control circuit 31.
Is being sent to.
【0031】プロセッサ21a,21bに対する外部からの
割込み要求があった場合、該要求はは同期制御回路31で
受付けられ、保持される。同期制御回路31は、通信回路
23a,23bから得ている各プロセッサ21a,21bの内部
動作状態を用いて同期状態を判定する。When an external interrupt request is issued to the processors 21a and 21b, the request is accepted and held by the synchronous control circuit 31. The synchronization control circuit 31 is a communication circuit.
The synchronization state is determined using the internal operation states of the processors 21a and 21b obtained from 23a and 23b.
【0032】これは、例えばプロセッサ21a,21bそれ
ぞれにおけるプログラム中の分岐命令のような特定の命
令の実行回数をカウントしてそのカウント値に応じて行
なうものである。This is performed by counting the number of times of execution of a specific instruction such as a branch instruction in a program in each of the processors 21a and 21b and performing it according to the count value.
【0033】これら二重化したプロセッサ21a,21bが
同期して動作していないと判定した場合に同期制御回路
31は、次にプロセッサ21a,21bの内部状態からプロセ
ッサ21a,21bのいずれが先行して命令を実行している
かを判定し、先行するプロセッサ21a(21b)に対して
同期化動作を開始させる信号を出力する。When it is determined that the duplicated processors 21a and 21b are not operating in synchronization, the synchronization control circuit
A signal 31 determines whether one of the processors 21a and 21b precedes execution of the instruction from the internal state of the processor 21a and 21b, and causes the preceding processor 21a (21b) to start the synchronization operation. Is output.
【0034】通信回路23a(23b)でこの信号を受けた
プロセッサ21a(21b)側の監視回路24a(24b)は、
処理停止回路25a(25b)を用いてプログラムの実行
を、出力停止回路26a,26bにより外部バス28への処理
結果の出力をそれぞれ一時停止させる。The monitoring circuit 24a (24b) on the processor 21a (21b) side, which receives this signal by the communication circuit 23a (23b),
The process stop circuit 25a (25b) is used to temporarily stop the execution of the program, and the output stop circuits 26a and 26b temporarily stop the output of the processing result to the external bus 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への処理結果の出力を開始させる。Thus, while the execution of the program and the output of the processing result to the external bus 28 are temporarily stopped, the processor 21b (21a) on the side where the execution of the program is delayed continues the execution of the program. The synchronous control circuit 31 waits until the internal state of the processor 21b (21a) that continues executing the program is obtained by the communication circuit 23b (23a) and its operation catches up with the preceding processor 21a (21b). Then, when the operation of the sending processor 21b (21a) catches up with the operation of the preceding processor 21a (21b) and the internal operations of the duplicated processors 21a, 21b are synchronized, the synchronization is achieved. The control circuit 31 outputs a signal for canceling the temporary stop state to the processor 21a (21b) on the side on which the operation was preceded. This signal is sent to the communication circuit 23a
Monitoring circuit on the processor 21a (21b) side received by (23b)
24a (24b) releases the temporary stop state of the processing stop circuit 25a (25b) and the output stop circuit 26a (26b) to start the execution of the program and the output of the processing result to the external bus 28.
【0036】そして、この時点で同期制御回路31に保持
されていた割込み要求が各プロセッサ21a,21bの通信
回路23a,23bに対して通知され、実際の割込み処理が
開始される。The interrupt request held in the synchronous control circuit 31 at this time is notified to the communication circuits 23a and 23b of the processors 21a and 21b, and the actual interrupt processing is started.
【0037】以上のようにして、二重化されたプロセッ
サ21a,21bで同期した割込みをかけることができるも
ので、外部バス28上で各プロセッサ21a,21bの処理結
果を比較検証するための比較器33にて同期化を行なう必
要がなくなり、その構成を簡略化することができる。As described above, the synchronous interrupts can be issued by the duplicated processors 21a, 21b, and the comparator 33 for comparing and verifying the processing results of the processors 21a, 21b on the external bus 28. Since it is not necessary to perform synchronization in, the configuration can be simplified.
【0038】[0038]
【発明の効果】以上詳記した如く本発明によれば、たと
え外部バスと内部動作のクロックが異なるプロセッサを
多重化したデータ処理装置であっても、各プロセッサ間
の同期を確実にとり、信頼性の高い動作を実行維持させ
ることができる。As described in detail above, according to the present invention, even in a data processing device in which processors having different clocks for internal operation and external buses are multiplexed, the synchronization between the processors is ensured and reliability is improved. It is possible to maintain high performance of execution.
【図1】本発明の一実施例に係る回路構成を示すブロッ
ク図。FIG. 1 is a block diagram showing a circuit configuration according to an embodiment of the present invention.
【図2】同実施例に係る他の回路構成例を示すブロック
図。FIG. 2 is a block diagram showing another circuit configuration example according to the embodiment.
【図3】一般的なFRMの基本回路構成を示すブロック
図。FIG. 3 is a block diagram showing a basic circuit configuration of a general FRM.
【図4】一般的なFRMの基本回路構成を示すブロック
図。FIG. 4 is a block diagram showing a basic circuit configuration of a general FRM.
【図5】一般的なFRMによるプログラムの実行状態を
例示する図。FIG. 5 is a diagram exemplifying a program execution state by a general 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…同期制御回路。11a, 11b ... Internal arithmetic unit, 12a, 12b, 27a, 27b ... Bus interface, 13a, 13b ... Processor, 14, 28
... external bus, 15, 16, 30, 33 ... comparator, 16a, 30a ... synchronization circuit, 21a ... primary processor, 21b ... secondary processor, 22a, 22b ... arithmetic unit, 23a, 23b ... communication circuit, 24a, 24b ... monitoring circuit, 25a, 25b ... processing stop circuit, 26a, 26b ... output stop circuit, 29, 32a, 32b ... communication bus, 31 ... synchronous control circuit.
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/16 470 J ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI technical display location G06F 15/16 470 J
Claims (8)
るデータ処理装置であって、 他のプロセッサとの間で内部動作状態を互いに通知する
通知手段と、 自プロセッサの処理結果を保持し、上記バスへの出力を
一時的に停止する出力停止手段と、 自プロセッサの内部処理を一時的に停止する処理停止手
段と、 外部からの割込み指示を保持する保持手段と、 自プロセッサの内部動作を監視し、上記通知手段で得た
通知内容に基づいて上記出力停止手段と処理停止手段を
起動させる監視手段とを個々のプロセッサが備えること
を特徴とするデータ処理装置。1. A data processing device having a plurality of processors connected to a bus, the notification means for mutually notifying an internal operation state to another processor, and holding the processing result of its own processor, said bus Output means for temporarily stopping output to the processor, processing stop means for temporarily stopping the internal processing of the processor itself, holding means for holding an interrupt instruction from the outside, and monitoring the internal operation of the processor itself. A data processing device, wherein each processor comprises the output stopping means and a monitoring means for activating the processing stopping means based on the contents of the notification obtained by the notifying means.
ムを命令レベルで同時に処理し、上記監視手段により複
数のプロセッサ間の内部動作の同期をとることを特徴と
する請求項1記載のデータ処理装置。2. The data processing apparatus according to claim 1, wherein the plurality of processors simultaneously process the same program at an instruction level, and the monitoring means synchronizes internal operations among the plurality of processors.
ムを命令レベルで同時に処理し、上記監視手段はプログ
ラム内の特定命令の実行回数のカウントにより複数のプ
ロセッサ間の内部動作の同期をとることを特徴とする請
求項1または2記載のデータ処理装置。3. The plurality of processors simultaneously process the same program at an instruction level, and the monitoring means synchronizes internal operations among the plurality of processors by counting the number of executions of a specific instruction in the program. The data processing device according to claim 1 or 2.
ムを命令レベルで同時に処理し、上記監視手段は上記保
持手段の保持内容に応じて複数のプロセッサ間で内部動
作の同期をとることにより同期した割込み処理を行なう
ことを特徴とする請求項1または2記載のデータ処理装
置。4. The plurality of processors simultaneously process the same program at an instruction level, and the monitoring means synchronizes the internal operation among the plurality of processors according to the contents held in the holding means, thereby synchronizing interrupts. The data processing device according to claim 1, wherein the data processing device performs processing.
ムを命令レベルで同時に処理し、上記監視手段は予めプ
ログラム内に配置された割込み受付け命令に基づいて複
数のプロセッサ間で内部動作の同期をとることにより同
期した割込み処理を行なうことを特徴とする請求項1ま
たは2記載のデータ処理装置。5. The plurality of processors simultaneously process the same program at the instruction level, and the monitoring means synchronizes the internal operation among the plurality of processors based on an interrupt acceptance instruction previously arranged in the program. 3. The data processing device according to claim 1, wherein the interrupt processing is performed in synchronism with.
プログラムを命令レベルで同時に処理するマイクロプロ
セッサであって、 他のプロセッサとの間で内部動作状態を互いに通知する
通知手段と、 自プロセッサの処理結果を保持し、上記バスへの出力を
一時的に停止する出力停止手段と、 自プロセッサの内部処理を一時的に停止する処理停止手
段と、 外部からの割込み指示を保持する保持手段と、 自プロセッサの内部動作を監視し、上記通知手段で得ら
れた出力に基づいて上記出力停止手段と処理停止手段を
起動させる監視手段とを具備したことを特徴とするマイ
クロプロセッサ。6. A microprocessor for simultaneously processing the same program as another processor connected to the bus at the instruction level, and a notification means for notifying the other processor of an internal operating state, and An output stopping means for holding the processing result and temporarily stopping the output to the bus, a processing stopping means for temporarily stopping the internal processing of the own processor, and a holding means for holding an interrupt instruction from the outside, A microprocessor comprising: a monitoring means for monitoring the internal operation of the processor itself and activating the output stopping means and the processing stopping means based on the output obtained by the notifying means.
の実行回数のカウントにより他のプロセッサと内部動作
の同期をとることを特徴とする請求項6記載のマイクロ
プロセッサ。7. The microprocessor according to claim 6, wherein the monitoring means synchronizes an internal operation with another processor by counting the number of executions of a specific instruction in the program.
作の同期をとることで同期した割込み処理を行なうこと
を特徴とする請求項6記載のマイクロプロセッサ。8. The microprocessor according to claim 6, wherein the monitoring means performs interrupt processing in synchronization by synchronizing the internal operation with another processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6134698A JPH086800A (en) | 1994-06-16 | 1994-06-16 | Data processor and microprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6134698A JPH086800A (en) | 1994-06-16 | 1994-06-16 | Data processor and microprocessor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH086800A true JPH086800A (en) | 1996-01-12 |
Family
ID=15134510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6134698A Pending JPH086800A (en) | 1994-06-16 | 1994-06-16 | Data processor and microprocessor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH086800A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117390A (en) * | 2006-10-25 | 2008-05-22 | Rockwell Automation Technologies Inc | Safety timer crosscheck diagnostic in dual-cpu safety system |
JP2009086939A (en) * | 2007-09-28 | 2009-04-23 | Hitachi Ltd | Bus comparison type multiplex system processor |
JP2009193504A (en) * | 2008-02-18 | 2009-08-27 | Nec Corp | Fault tolerant computer, synchronization control method, and program |
US8301936B2 (en) | 2006-11-02 | 2012-10-30 | Nec Corporation | Apparatus and method for performing a screening test of semiconductor integrated circuits |
WO2012169021A1 (en) * | 2011-06-08 | 2012-12-13 | 株式会社日立製作所 | Control method, control system, and program |
JP2014059749A (en) * | 2012-09-18 | 2014-04-03 | Yokogawa Electric Corp | Fault-tolerant system |
JP2015170053A (en) * | 2014-03-05 | 2015-09-28 | 富士電機株式会社 | Controller redundancy system, and controller therefor |
-
1994
- 1994-06-16 JP JP6134698A patent/JPH086800A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117390A (en) * | 2006-10-25 | 2008-05-22 | Rockwell Automation Technologies Inc | Safety timer crosscheck diagnostic in dual-cpu safety system |
JP4711197B2 (en) * | 2006-10-25 | 2011-06-29 | ロックウェル オートメーション テクノロジーズ, インコーポレーテッド | Safety timer cross-check diagnosis in a dual CPU safety system |
US8301936B2 (en) | 2006-11-02 | 2012-10-30 | Nec Corporation | Apparatus and method for performing a screening test of semiconductor integrated circuits |
JP2009086939A (en) * | 2007-09-28 | 2009-04-23 | Hitachi Ltd | Bus comparison type multiplex system processor |
JP2009193504A (en) * | 2008-02-18 | 2009-08-27 | Nec Corp | Fault tolerant computer, synchronization control method, and program |
WO2012169021A1 (en) * | 2011-06-08 | 2012-12-13 | 株式会社日立製作所 | Control method, control system, and program |
JP2014059749A (en) * | 2012-09-18 | 2014-04-03 | Yokogawa Electric Corp | Fault-tolerant system |
US9400666B2 (en) | 2012-09-18 | 2016-07-26 | Yokogawa Electric Corporation | Fault tolerant system and method for performing fault tolerant |
JP2015170053A (en) * | 2014-03-05 | 2015-09-28 | 富士電機株式会社 | Controller redundancy system, and controller therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3982353B2 (en) | Fault tolerant computer apparatus, resynchronization method and resynchronization program | |
KR100566338B1 (en) | Fault tolerant computer system, re-synchronization method thereof and computer-readable storage medium having re-synchronization program thereof recorded thereon | |
JP3206006B2 (en) | Duplex bus control method and device | |
US5572620A (en) | Fault-tolerant voter system for output data from a plurality of non-synchronized redundant processors | |
JPH0833874B2 (en) | Device for synchronizing multiple processors | |
JPH07129426A (en) | Fault processing system | |
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 (en) | Data processor and microprocessor | |
JP5436422B2 (en) | High integrity and high availability computer processing module | |
US7418626B2 (en) | Information processing apparatus | |
US20070113224A1 (en) | Task Matching For Coordinated Circuits | |
JP3423732B2 (en) | Information processing apparatus and failure processing method in information processing apparatus | |
JP3415636B2 (en) | Processor unit | |
CA2411788C (en) | Device and method for synchronising a system of coupled data processing facilities | |
JPS5814692B2 (en) | Multiple system synchronous operation method | |
JP2001175545A (en) | Server system, fault diagnosing method, and recording medium | |
JPH07261814A (en) | Interruption synchronizing method for dual system of pc | |
JPS58217056A (en) | Task control system of multiprocessor system | |
JP2526835B2 (en) | Duplex synchronous control system of programmable controller | |
KR19980027421A (en) | Synchronous signal monitoring circuit for synchronous control in redundant control system | |
JPH04247531A (en) | Fault detecting system | |
JPH1027110A (en) | Computer system of plural computers | |
JPS6224820B2 (en) | ||
JP3055906B2 (en) | Emergency operation method |