JP6646322B2 - Multi-system computer and program for multi-system computer - Google Patents

Multi-system computer and program for multi-system computer Download PDF

Info

Publication number
JP6646322B2
JP6646322B2 JP2016056265A JP2016056265A JP6646322B2 JP 6646322 B2 JP6646322 B2 JP 6646322B2 JP 2016056265 A JP2016056265 A JP 2016056265A JP 2016056265 A JP2016056265 A JP 2016056265A JP 6646322 B2 JP6646322 B2 JP 6646322B2
Authority
JP
Japan
Prior art keywords
data
computer
memory
write
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.)
Active
Application number
JP2016056265A
Other languages
Japanese (ja)
Other versions
JP2017173921A (en
Inventor
伸二 審良
伸二 審良
Original Assignee
大同信号株式会社
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 大同信号株式会社 filed Critical 大同信号株式会社
Priority to JP2016056265A priority Critical patent/JP6646322B2/en
Publication of JP2017173921A publication Critical patent/JP2017173921A/en
Application granted granted Critical
Publication of JP6646322B2 publication Critical patent/JP6646322B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Description

本発明は、鉄道信号保安装置などの鉄道信号制御分野で用いられる多重系電子計算機のうち、密結合バス同期式とプログラム同期式との中間的な所謂マクロ同期式を採用したフェールセーフコンピュータであって、各電子計算機がライトプロテクト機能を備えている多重系電子計算機に関する。それに好適な多重系電子計算機用プログラムにも関する。   The present invention relates to a fail-safe computer employing a so-called macro-synchronous type which is intermediate between a tightly-coupled bus synchronous type and a program synchronous type among multiplex computers used in the field of railway signal control such as a railway signal security device. The present invention also relates to a multiplex computer in which each computer has a write protection function. The present invention also relates to a suitable multi-computer computer program.

鉄道信号制御の分野では、障害発生時にシステムを安全な状態に維持もしくは安全な状態に遷移させるというフェールセーフなコンピュータを構成するため、プロセッサ及びその周辺を二重系・多重系とし、冗長化された処理結果を比較回路に入力して誤り検出を行い、誤り検出時には、装置として出力を安全側に固定するとともに、比較回路自体も自身の故障に対して出力を安全側に固定する、といったことが行われている。そのような多重系電子計算機のうち、マクロ同期式フェールセーフコンピュータやマクロ同期式フェールセーフマイコンなどと呼ばれているマクロ同期式の多重系電子計算機は(例えば特許文献1や非特許文献1参照)、密結合バス同期式を改良して高速化を図ったものであるが、その代償として、比較対象データの選択や転送がプログラムに委ねられている。   In the field of railway signal control, in order to configure a fail-safe computer that keeps the system in a safe state or transitions to a safe state when a failure occurs, the processor and its surroundings are made redundant and redundant, and redundant. Input the processing result to the comparison circuit to perform error detection, and at the time of error detection, fix the output to the safe side as a device, and also fix the output to the safe side against the failure of the comparison circuit itself. Has been done. Among such multiplex computers, a macro-synchronous fail-safe computer or a macro-synchronous fail-safe microcomputer called a macro-synchronous fail-safe microcomputer (for example, see Patent Document 1 and Non-Patent Document 1) The speed is improved by improving the tightly-coupled bus synchronous system, but as a price, the selection and transfer of comparison target data is left to the program.

すなわち、このマクロ同期式の多重系電子計算機は、各系毎にプロセッサとメインメモリを有し同じプログラムを搭載した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路と、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受けるデュアルポートメモリを複数系と、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路とを備えている。   In other words, this macro-synchronous multi-system computer compares the data of the multiple systems with the computers of the multiple systems each having a processor and a main memory for each system, and stops the output when a mismatch is detected. A plurality of matching circuits, a plurality of dual-port memories provided for the respective computers and receiving writing of data transferred at a specific timing from a corresponding processor via a corresponding bus line, and a plurality of dual port memories shared with the input timing of the matching circuit; And a read control circuit for reading data from each of the dual port memories at the same timing and sending the data as data of a plurality of systems to be input to the matching circuit.

また、前記デュアルポートメモリが各系毎に複数設けられ、前記読出制御回路が各系毎に前記デュアルポートメモリの何れか一つをデータ読出対象に選択してデータの読出および前記照合回路へのデータ送出を繰り返すとともにデータ読出対象のメモリ切替を複数系について一斉に行うようになっており、前記デュアルポートメモリへのデータ書込が複数系の総てで終了したときに前記メモリ切替を行うように前記読出制御回路がなっており、同期要求を出して待ち状態になる同期プログラムが前記コンピュータそれぞれに搭載され、前記同期要求が複数系の総てで出揃ったときに前記コンピュータの待ち状態を一斉に解く同期制御回路が設けられている。   Further, a plurality of the dual port memories are provided for each system, and the read control circuit selects any one of the dual port memories as a data read target for each system to read data and read data to the matching circuit. Data transmission is repeated and memory switching for data reading is performed simultaneously for a plurality of systems, and the memory switching is performed when data writing to the dual port memory is completed for all the systems. A synchronization program that issues a synchronization request and goes into a waiting state is installed in each of the computers, and the waiting state of the computers is simultaneously transmitted when the synchronization requests are issued in all of the plurality of systems. A synchronization control circuit is provided.

このような改良により、マクロ同期式の多重系電子計算機にあっては、バスラインと照合回路との接続関係がデュアルポートメモリを介在させた間接的なものとなって、クロックを同一・共通にするというハードウェア上の制約が解かれる一方、ソフトウェア負荷の増加は、比較対象データをメインメモリ等からデュアルポートメモリへ転送する程度にとどまる。しかも、比較対象データの転送に際して、各系のプロセッサからデュアルポートメモリへの書込が各系の固有タイミングで行われる一方、デュアルポートメモリからのデータ読出は読出制御回路によって照合回路の入力タイミングに適合するよう一斉に行われるので、各系のプロセッサのマシンサイクル・バスラインのクロックと照合回路の比較サイクル・データ入力クロックとが同じでなくても、複数系のデータが的確に比較されることとなる。そのため、密結合バス同期方式の照合回路を使用してフェールセーフコンピュータを構成してもプロセッサは高速動作させることができる。   As a result of these improvements, in a macro-synchronous multiplex computer, the connection between the bus line and the matching circuit becomes indirect with a dual-port memory interposed, and the clocks are shared and shared. While the restriction on hardware is solved, the increase in software load is limited to the transfer of comparison target data from the main memory or the like to the dual port memory. Moreover, when transferring the comparison target data, writing from the processors of each system to the dual port memory is performed at the unique timing of each system, while data reading from the dual port memory is performed by the read control circuit at the input timing of the verification circuit. Since data is synchronized so that they match, even if the clock of the machine cycle bus line of each processor and the comparison cycle and data input clock of the matching circuit are not the same, the data of multiple systems can be accurately compared. Becomes Therefore, the processor can operate at high speed even if a fail-safe computer is configured by using a tightly-coupled bus synchronization type matching circuit.

また、デュアルポートメモリが各系毎に複数化されるとともに、データ読出対象のメモリの切り替えが複数系で一斉に行われるようにしたことにより、照合回路が、フェールセーフ性の確保のため振り子回路等を具有していて比較対象データの間断なき入力を要する従来品のままであっても、適切に動作する。さらに、複数系の総てでデュアルポートメモリへのデータ書込が終了すると、読出制御回路によってデータ読出対象メモリの切替が行われるようにしたことにより、各系のコンピュータは自系データの書込終了を通知すれば足り他系コンピュータのデータ書込終了を待ち合わせる必要がなくなるので、比較対象データをプログラムで転送しなければならなくなったことに伴うプログラムの改造が少なくて済む。また、各系のコンピュータが同期要求を出すだけで同期が採られるようにしたことにより、各系のコンピュータを非同期で動作させて各系間のタイミングの自由度を高めたことに伴い反射的に必要となる同期採りのためのプログラム改造が少なくて済む。   In addition, a plurality of dual-port memories are provided for each system, and switching of memories to be read is performed simultaneously by a plurality of systems. It operates properly even if it is a conventional product that has the same and requires continuous input of comparison data. Further, when data writing to the dual port memory is completed in all of the plurality of systems, the read control circuit switches the data read target memory, so that the computer of each system writes its own data. It is not necessary to wait for the completion of the data writing of the other computer because it is sufficient to notify the end, so that the modification of the program due to the fact that the comparison target data has to be transferred by the program can be reduced. In addition, by making each system computer issue a synchronization request and achieving synchronization, the computers of each system are operated asynchronously to increase the degree of freedom in timing between the systems, so that it is reflective. Less program modification required for synchronous sampling.

このようなマクロ同期式の多重系電子計算機の典型例の一つである二重系電子計算機について、その具体的な構成を、図面を引用して説明する。図6は、二重系電子計算機(多重系電子計算機)の全体ブロック図であり、図7は、各計算機の搭載プログラム(多重系電子計算機用プログラム)の概要フローチャートである。
なお、図示に際して、A系の要素には数字符号の末尾にAを付加し、B系の要素には数字符号の末尾にBを付加したが、文中でA系・B系の片系を意識せずに両系を纏めて参照するときは単に数字符号だけを記している。
A specific configuration of a dual computer as one of typical examples of such a macro-synchronous multiple computer will be described with reference to the drawings. FIG. 6 is an overall block diagram of a dual computer (multiple computer), and FIG. 7 is a schematic flowchart of a program (multiple computer program) installed in each computer.
In addition, in the drawing, A is added to the end of the numerical code for the elements of the A system, and B is added to the end of the numerical code for the elements of the B system. When referring to both systems collectively without doing so, only the numerical code is described.

このマクロ同期式の二重系電子計算機は(図6参照)、同じプログラム16を搭載したA系,B系(複数系)のコンピュータ10A〜15A,10B〜15Bと、A,B両系のデータDa,Dbを比較して不一致検出時に出力を停止する照合回路20と、A,B両系のコンピュータ10A〜15A,10B〜15Bと照合回路20との間に介在して比較対象データDa,Dbを照合回路20へ出力するバス模擬回路30とを備えている。
A系のコンピュータ10A〜15Aは、プロセッサ10Aとバスライン11Aと入力回路12とメインメモリ13Aと出力回路14Aと出力ライン15Aとを具備し、B系のコンピュータ10B〜15Bは、プロセッサ10Bとバスライン11Bと入力回路12とメインメモリ13Bと出力回路14Bと出力ライン15Bとを具備している。
This macro-synchronous dual computer (see FIG. 6) is composed of A-system and B-system (multiple-system) computers 10A to 15A and 10B to 15B equipped with the same program 16, and data of both A and B systems. A comparison circuit 20 that compares Da and Db and stops output when a mismatch is detected, and data to be compared Da and Db interposed between computers 10A to 15A and 10B to 15B of both systems A and B and comparison circuit 20. And a bus simulation circuit 30 that outputs the same to the matching circuit 20.
The A-system computers 10A to 15A include a processor 10A, a bus line 11A, an input circuit 12, a main memory 13A, an output circuit 14A, and an output line 15A, and the B-system computers 10B to 15B include a processor 10B and a bus line. 11B, an input circuit 12, a main memory 13B, an output circuit 14B, and an output line 15B.

詳述すると、入力回路12は、例えば、ラッチ回路や割込要求回路等を具えていて、周辺装置や通信装置等から受けたデータをプロセッサ10に入力させるようになっている。なお、図6では、A系とB系に共有される一つの入力回路12をA系入力回路12AとB系入力回路12Bとに分けて示したが、これは図示を明瞭にするための便宜にすぎない。メインメモリ13は、例えば、プログラム保持に適したPROMやデータ保持に適したSRAMからなり、出力回路14は、例えば、バッファ等を具えていて、図示しない外部の周辺装置や通信装置等へ出力するデータを一時保持するようになっている。出力ライン15は、出力回路14の出力を照合回路20へ伝送するようになっている。   More specifically, the input circuit 12 includes, for example, a latch circuit, an interrupt request circuit, and the like, and causes the processor 10 to input data received from a peripheral device, a communication device, or the like. In FIG. 6, one input circuit 12 shared by the A-system and the B-system is shown as being divided into the A-system input circuit 12A and the B-system input circuit 12B, but this is for convenience of clarity. It's just The main memory 13 includes, for example, a PROM suitable for holding a program and an SRAM suitable for holding data, and the output circuit 14 includes, for example, a buffer and outputs the data to an external peripheral device or a communication device (not shown). Data is temporarily stored. The output line 15 transmits the output of the output circuit 14 to the verification circuit 20.

A系のコンピュータ10A〜15Aには、プロセッサ10Aのバスライン11Aを介して固有タイミングで転送されたデータの書き込みを受けるデュアルポートメモリ31Aが二つ@1,@2(複数系)設けられており、B系のコンピュータ10B〜15Bには、プロセッサ10Bのバスライン11Bを介して固有タイミングで転送されたデータの書き込みを受けるデュアルポートメモリ31Bが二つ@1,@2(複数系)設けられている。
バス模擬回路30は、照合回路20の入力タイミングと共通するタイミングでデュアルポートメモリ31A,31BそれぞれからアドレスRa,Rbのデータを読み出して照合回路20にその入力対象の複数系のデータ(比較対象データ)Da,Dbとして送出する読出制御回路32と、プロセッサ10A,10Bそれぞれから出される同期要求がA系,B系(複数系)の総てで出揃ったときにコンピュータ10A〜15A,10B〜15Bの待ち状態を一斉に解く同期制御回路33が設けられている。
The A-system computers 10A to 15A are provided with two dual port memories 31A for receiving writing of data transferred at a specific timing via the bus line 11A of the processor 10A. , B-system computers 10B to 15B are provided with two dual port memories 31B # 1 and # 2 (multiple systems) for receiving writing of data transferred at a specific timing via the bus line 11B of the processor 10B. I have.
The bus simulation circuit 30 reads the data of the addresses Ra and Rb from the dual port memories 31A and 31B at the same timing as the input timing of the matching circuit 20, and sends the data of a plurality of systems to be input to the matching circuit 20 (comparison target data). ) The read control circuit 32 for sending out the signals as Da and Db, and the computers 10A to 15A and 10B to 15B when the synchronization requests issued from the processors 10A and 10B are issued in all the systems A and B (multiple systems). A synchronization control circuit 33 for releasing the waiting state all at once is provided.

また、A系のコンピュータ10A〜15Aには、応用プログラム16Aに加えて、照合回路20の比較対象になるデータをデュアルポートメモリ31Aに転送する転送プログラム34Aと、同期要求を出して待ち状態になる同期プログラム35Aも、搭載されており、B系のコンピュータ10B〜15Bには、応用プログラム16Bに加えて、照合回路20の比較対象になるデータをデュアルポートメモリ31Bに転送する転送プログラム34Bと、同期要求を出して待ち状態になる同期プログラム35Bも、搭載されている。A,B両系のプログラムは同じである。すなわち、応用プログラム16A,16Bのコードが同じものであり、転送プログラム34A,34Bのコードも同じものであり、同期プログラム35A,35Bのコードも同じものである。   Further, in addition to the application program 16A, the A-system computers 10A to 15A enter a transfer program 34A for transferring data to be compared by the matching circuit 20 to the dual port memory 31A, and issue a synchronization request and enter a waiting state. A synchronization program 35A is also installed, and in addition to the application program 16B, a transfer program 34B for transferring data to be compared by the matching circuit 20 to the dual port memory 31B is added to the B-system computers 10B to 15B. A synchronous program 35B that issues a request and enters a wait state is also mounted. The programs for both A and B are the same. That is, the codes of the application programs 16A and 16B are the same, the codes of the transfer programs 34A and 34B are the same, and the codes of the synchronization programs 35A and 35B are also the same.

照合回路20は、複数系のデータを比較して不一致検出時に出力を停止するために、フェールセーフ比較回路21とフェールセーフ電源22と出力比較回路23とを具えており、そのうちフェールセーフ比較回路21は、読出制御回路32によってデュアルポートメモリ31A,31Bそれぞれから読み出された二重系のデータDa,Dbを入力して、両データが一致しているか否かの比較を行うようになっている。
フェールセーフ比較回路21は、比較結果として照合信号Fを出力するが、いわゆる振り子回路を具有しており、これによって照合信号Fは、一致状態の継続している間は、一定周期で交互に値の変化する交番信号となり、比較結果に不一致が検出されると、値の変化しない一定信号となる。
The comparison circuit 20 includes a fail-safe comparison circuit 21, a fail-safe power supply 22, and an output comparison circuit 23 for comparing data of a plurality of systems and stopping output when a mismatch is detected. Inputs dual data Da and Db read from the dual-port memories 31A and 31B by the read control circuit 32, and compares whether or not both data match. .
The fail-safe comparison circuit 21 outputs a collation signal F as a comparison result, but has a so-called pendulum circuit, whereby the collation signal F alternates in value at a constant period while the matching state continues. When a mismatch is detected in the comparison result, the signal becomes a constant signal whose value does not change.

出力比較回路23は、例えばリレー回路からなり、図示の出力回路14と図示しない周辺装置や通信装置等の外部装置との間に介挿して設けられ、出力回路14A,Bの出力データについて出力ライン15の各ライン毎にA系とB系との論理積を採ってからその論理値を例えば24Vのリレー信号で図示しない外部装置へ送出するようになっている。
フェールセーフ電源22は、出力比較回路23に例えば24Vの動作電力を供給するものであるが、その電力供給を照合信号Fに応じて選択的に行う。具体的には、照合信号Fが交番信号のときだけ出力比較回路23に動作電力を供給し、照合信号Fが一定信号のときには出力比較回路23に動作電力を供給しないようになっている。
The output comparison circuit 23 is composed of, for example, a relay circuit, and is provided between the output circuit 14 shown in the figure and an external device such as a peripheral device or a communication device (not shown). The logical product of the A system and the B system is calculated for each of the 15 lines, and the logical value is transmitted to an external device (not shown) as a relay signal of 24 V, for example.
The fail-safe power supply 22 supplies, for example, 24 V operating power to the output comparison circuit 23, and selectively supplies the power according to the verification signal F. Specifically, the operation power is supplied to the output comparison circuit 23 only when the collation signal F is an alternating signal, and the operation power is not supplied to the output comparison circuit 23 when the collation signal F is a constant signal.

デュアルポートメモリ31は、メモリアクセス用ポートを二つ具えたメモリであり、各系毎に複数設けられている。すなわち、A系のコンピュータに設けられたA系デュアルポートメモリ31Aには切替可能な二つのメモリ@1,@2が含まれ、B系のコンピュータに設けられたB系デュアルポートメモリ31Bにも切替可能な二つのメモリ@1,@2が含まれている。デュアルポートメモリ31の一方のポートはバスライン11に接続されていて、接続先の系である該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受けるようになっている。   The dual port memory 31 is a memory having two memory access ports, and a plurality of dual port memories 31 are provided for each system. That is, the A-system dual-port memory 31A provided in the A-system computer includes two switchable memories # 1 and # 2, and the B-system dual-port memory 31B provided in the B-system computer also switches. Two possible memories # 1 and # 2 are included. One port of the dual port memory 31 is connected to the bus line 11 so as to receive writing of data transferred at a specific timing from the processor of the connection system as the connection destination via the bus line of the connection system. Has become.

デュアルポートメモリ31の他方のポートは、アドレス部が読出制御回路32のアドレス出力(Ra又はRb)に接続され、データ部が照合回路20のフェールセーフ比較回路21のデータ入力(Da又はDb)に接続されていて、データ読出が読出制御回路32の制御で行われるものとなっている。そして、A系デュアルポートメモリ31Aから読み出されたデータは照合回路20の一方の入力対象データDaにされ、B系デュアルポートメモリ31Bから読み出されたデータは照合回路20の他方の入力対象データDbにされるようになっている。   The other port of the dual port memory 31 has an address portion connected to the address output (Ra or Rb) of the read control circuit 32 and a data portion connected to the data input (Da or Db) of the fail-safe comparison circuit 21 of the verification circuit 20. It is connected, and data reading is performed under the control of the reading control circuit 32. The data read from the A-system dual port memory 31A is used as one input target data Da of the matching circuit 20, and the data read from the B-system dual port memory 31B is used as the other input target data of the matching circuit 20. Db.

デュアルポートメモリ31におけるメモリ@1,@2のサイズ(記憶容量)はメインメモリ13より小さくて良く、例えば、メインメモリ13がメガバイトオーダのときデュアルポートメモリ31はキロバイトオーダで足りる。そのような各系のデュアルポートメモリ31に対するメモリ@1,@2の切り替えも読出制御回路32の制御で行われる。そして、メモリ@1が読出制御回路32によってデータ読出対象に選択されているときメモリ@2がバスライン11を介するデータ書込対象とされ、メモリ@2が読出制御回路32によってデータ読出対象に選択されているときメモリ@1がバスライン11を介するデータ書込対象とされるようになっている。   The size (storage capacity) of the memories # 1 and # 2 in the dual port memory 31 may be smaller than that of the main memory 13. For example, when the main memory 13 is on the order of megabytes, the order of kilobytes on the dual port memory 31 is sufficient. Switching of the memories # 1 and # 2 for the dual port memory 31 of each system is also performed under the control of the read control circuit 32. When memory # 1 is selected as a data read target by read control circuit 32, memory # 2 is set as a data write target via bus line 11, and memory # 2 is selected as a data read target by read control circuit 32. In this case, the memory # 1 is to be subjected to data writing via the bus line 11.

読出制御回路32は、デュアルポートメモリ31からのデータ読出を制御するためにアドレスカウンタ等を具備する他、バスライン11のクロックよりも通常は周波数の低いクロックCLKを発生する発振回路等も具えている。このクロックCLKが、デュアルポートメモリ31からのデータ読出制御に用いられるとともに、フェールセーフ比較回路21にデータ入力のクロックとして送出されているので、読出制御回路32は、照合回路20の入力タイミングと共通するタイミングでA系デュアルポートメモリ31A及びB系デュアルポートメモリ31BそれぞれからアドレスRa,Rbのデータを読み出して照合回路20にその入力対象の複数系のデータDa,Dbとして送出するものとなる。   The read control circuit 32 includes an address counter and the like for controlling data read from the dual port memory 31, and also includes an oscillation circuit or the like that generates a clock CLK whose frequency is usually lower than the clock of the bus line 11. I have. This clock CLK is used for data read control from the dual port memory 31 and is sent to the fail-safe comparison circuit 21 as a clock for data input. At this time, the data at the addresses Ra and Rb are read from the A-system dual-port memory 31A and the B-system dual-port memory 31B, respectively, and are sent to the matching circuit 20 as the data Da and Db of the plurality of systems to be input.

また、読出制御回路32は、A系のデュアルポートメモリ31Aについて二つのメモリ@1,@2の何れか一つをデータ読出対象に選択してアドレスRaからのデータDaの読出および照合回路20へのデータDaの送出を繰り返すとともに、B系のデュアルポートメモリ31Bについて二つのメモリ@1,@2の何れか一つをデータ読出対象に選択してアドレスRbからのデータDbの読出および照合回路20へのデータDbの送出を繰り返すようになっている。しかも、読出制御回路32は、それらのデータ読出対象のメモリ切替を、デュアルポートメモリ31A,31Bへのデータ書込がA系,B系(複数系)の総てで終了したときに、A系,B系(複数系)について一斉に行うようになっている。   Further, the read control circuit 32 selects one of the two memories # 1 and # 2 as a data read target for the A-system dual port memory 31A, and reads the data Da from the address Ra to the check circuit 20. Of the data Db from the address Rb and selecting one of the two memories # 1 and # 2 as a data read target in the B-system dual port memory 31B. The transmission of the data Db is repeated. In addition, the read control circuit 32 switches the memory to be read from the A-system when the data writing to the dual-port memories 31A and 31B is completed in all of the A-system and the B-system (multiple systems). , B system (multiple systems) are performed simultaneously.

さらに、読出制御回路32は、データ転送終了の通知や有効アドレス範囲の通知などを各系のコンピュータから受けるために、各系のバスライン11にも接続されている。そして、各系毎にデュアルポートメモリ31の何れか一つ即ちメモリ@1かメモリ@2か何れか一方をデータ読出対象に選択して行うデータDa,Dbの読出および照合回路20へのデータ送出を間断なく繰り返すようになっている。また、データ読出対象のメモリ切替は、A系,B系のコンピュータ両方からデータ転送終了の通知を受けたとき、A系デュアルポートメモリ31A及びB系デュアルポートメモリ31Bについて一斉に行うようになっている。   Further, the read control circuit 32 is also connected to the bus line 11 of each system in order to receive notification of the end of data transfer, notification of the effective address range, and the like from the computers of each system. Then, for each system, one of the dual port memories 31, that is, either the memory # 1 or the memory # 2 is selected as a data read target, and the data Da and Db are read and the data is sent to the matching circuit 20. Is repeated without interruption. Further, when the data transfer target memory is switched from both the A-system and B-system computers, the A-system dual-port memory 31A and the B-system dual-port memory 31B are simultaneously switched. I have.

同期制御回路33は、同期要求を各系のコンピュータから受けるために、各系のバスライン11に接続されている。そして、同期要求が複数系の総てで出揃ったとき即ちA系バスライン11A経由の同期要求とB系バスライン11B経由の同期要求との双方を受け取ったときに、コンピュータの待ち状態を解くための起動信号WをA系プロセッサ10A及びB系プロセッサ10Bに対して一斉に送出するようになっている。大抵の汎用プロセッサ10は待ち状態を制御するための信号入力端子を具えているので、その端子に起動信号Wを送出するようになっている。   The synchronization control circuit 33 is connected to the bus line 11 of each system in order to receive a synchronization request from the computer of each system. Then, when the synchronization request is issued in all of the plurality of systems, that is, when both the synchronization request via the A-system bus line 11A and the synchronization request via the B-system bus line 11B are received, the waiting state of the computer is released. Are simultaneously sent to the A-system processor 10A and the B-system processor 10B. Since most general-purpose processors 10 have a signal input terminal for controlling the waiting state, the start signal W is transmitted to the terminal.

応用プログラム16(図7参照)は、連動装置や新幹線用ATC等のアプリケーションに応じて具体的な処理内容が異なるが、入力処理とそれに応じた応用演算と演算結果に基づく出力処理とを基本的な処理単位として、それを応用種別等に応じて必要なだけ(1〜N)行うようになっている。また、それら一連の処理は、プロセッサ10によって繰り返し実行される。即ち、入力処理(入力1〜N)では、入力回路12からバスライン11を介してプロセッサ10へデータが送られ、応用演算(応用1〜N)では、プロセッサ10からバスライン11を介してメインメモリ13へデータ参照やデータ書込が行われ、出力処理(出力1〜N)ではプロセッサ10からバスライン11を介して出力回路14へ出力データが送られて、そのデータが出力ライン15に送出されるようになっている。   The application program 16 (see FIG. 7) differs in specific processing content depending on an application such as an interlocking device or an ATC for Shinkansen, but basically includes an input process, an applied operation corresponding thereto, and an output process based on the operation result. The processing is performed as necessary (1 to N) according to the application type and the like. Further, the series of processes is repeatedly executed by the processor 10. That is, in the input processing (inputs 1 to N), data is sent from the input circuit 12 to the processor 10 via the bus line 11, and in the applied operation (applications 1 to N), the main data is sent from the processor 10 via the bus line 11. Data reference and data writing are performed on the memory 13, and in output processing (outputs 1 to N), output data is sent from the processor 10 to the output circuit 14 via the bus line 11, and the data is sent to the output line 15. It is supposed to be.

転送プログラム34は、プロセッサ10によって実行されて、応用プログラム16による応用演算の中間値や結果値などのうち適宜なデータを比較対象データとしてバスライン11経由でデュアルポートメモリ31に書き込むようになっている。
同期プログラム35は、やはりプロセッサ10によって実行されて、同期制御回路33にバスライン11を介して同期要求を出し、その後は待ち状態になるためのプログラム命令を実行して搭載先のプロセッサ10を待ち状態にするようになっている。
The transfer program 34 is executed by the processor 10 and writes appropriate data, such as an intermediate value or a result value of the application operation by the application program 16, to the dual port memory 31 via the bus line 11 as comparison target data. I have.
The synchronization program 35 is also executed by the processor 10, issues a synchronization request to the synchronization control circuit 33 via the bus line 11, and thereafter executes a program instruction to enter a wait state, and waits for the processor 10 on which it is mounted. State.

この転送プログラム34と同期プログラム35は、密結合バス同期式からマクロ同期式に移行したことに伴って追加されたものであり、例えばサブルーチン形式で応用プログラム16の適宜な何カ所かに組み込まれる。具体例を挙げると(図7参照)、転送プログラム34は、応用プログラム16の応用演算(1〜N)それぞれの後に組み込まれ、同期プログラム35は、応用プログラム16の入力処理(1〜N)と転送プログラム34の転送処理(1〜N)と応用プログラム16の出力処理(1〜N)それぞれの直前に組み込まれている。そして、応用プログラム16の繰り返し実行(1〜N)に随伴して、転送プログラム34及び同期プログラム35も繰り返し実行される。   The transfer program 34 and the synchronization program 35 are added in accordance with the shift from the tightly-coupled bus synchronization system to the macro synchronization system, and are incorporated at appropriate locations in the application program 16 in, for example, a subroutine format. To give a specific example (see FIG. 7), the transfer program 34 is installed after each of the application operations (1 to N) of the application program 16, and the synchronization program 35 is used for input processing (1 to N) of the application program 16. It is installed immediately before each of the transfer processing (1 to N) of the transfer program 34 and the output processing (1 to N) of the application program 16. Then, along with the repetitive execution (1 to N) of the application program 16, the transfer program 34 and the synchronization program 35 are also repeatedly executed.

このようなマクロ同期式の二重系電子計算機では、A系プロセッサ10AとB系プロセッサ10Bのクロックが別個で良いので、A系プロセッサ10AとB系プロセッサ10Bとの同期は同期プログラム35の処理に依存して間欠的に採られるようになっている。比較対象データの転送も転送プログラム34の処理に依存して間欠的に行われるようになったが、比較対象データの読出は読出制御回路32によって常に繰り返して行われ、さらに比較処理自体やフェールセーフ性確保は、プログラムでなく、密結合バス同期式のものを踏襲した照合回路20によって間断なく行われるので、プログラム同期方式でもない。   In such a macro-synchronous dual computer, the clocks of the A-system processor 10A and the B-system processor 10B may be different from each other. Dependency is intermittently adopted. The transfer of the comparison target data is also intermittently performed depending on the processing of the transfer program 34. However, the reading of the comparison target data is always repeatedly performed by the read control circuit 32, and the comparison processing itself and the fail-safe operation are performed. The security is ensured by the collation circuit 20 following a tightly-coupled bus synchronous system instead of a program, and is not a program synchronous system.

このような従来の二重系電子計算機(多重系電子計算機)及び各計算機の搭載プログラム(多重系電子計算機用プログラム)について、その使用態様及び動作を、図面を引用して説明する。図8及び図9は、動作説明用のタイムチャートであり、そのうち図8は正常時を示し、図9は異常時を示している。なお、その図示に際しては、説明の都合上、A系とB系との速度差を誇張して、A系プロセッサ10AがB系プロセッサ10Bよりかなり高速であるように記したが、実用上は、大抵、同一構成のプロセッサを同じ周期のクロックで動作させるので、短期間における両系での処理のタイミングずれは、ほとんど無い。また、図10は、演算結果に異常が発現したときの一例である。   With respect to such a conventional dual computer (multiple computer) and a program mounted on each computer (multiple computer program), the usage and operation of the computer will be described with reference to the drawings. 8 and 9 are time charts for explaining the operation, in which FIG. 8 shows a normal time and FIG. 9 shows an abnormal time. In the drawing, for the sake of explanation, the speed difference between the A-system and the B-system is exaggerated, and the A-system processor 10A is markedly faster than the B-system processor 10B. In most cases, the processors having the same configuration are operated by clocks having the same cycle, so that there is almost no timing deviation between the two systems in a short period. FIG. 10 is an example when an abnormality occurs in the calculation result.

A系,B系いずれのコンピュータも正常な場合(図8参照)、何れのコンピュータでも、同期処理と入力処理と応用演算と同期処理と転送処理と同期処理と出力処理とが基本的な処理単位となり、それが応用種別等に応じて必要なだけ(1〜N)行われ、さらに、それら一連の処理が繰り返される。それら一連の処理のうち応用プログラム16による入力処理と応用演算と出力処理と、それら一連の処理の繰り返しは、マクロ同期式に特有のものでなく密結合バス同期式など他の方式でも同様に行われるので、ここでは、同期処理と転送処理とが組み込まれた基本的な処理単位の一例を詳述する。
A系プロセッサ10AがB系プロセッサ10Bより速いとすると、時刻t1には、前の処理を終えたA系プロセッサ10Aが、A系転送プログラム34Aを実行して、A系バスライン11Aを介して同期制御回路33に同期要求を出しそれから待ち状態になる。
When both the A-system and the B-system computers are normal (see FIG. 8), in any computer, the basic processing unit is the synchronous processing, the input processing, the applied operation, the synchronous processing, the transfer processing, the synchronous processing, and the output processing. This is performed as necessary (1 to N) according to the application type and the like, and further, a series of these processes is repeated. Of the series of processes, the input process, the applied operation, and the output process by the application program 16 and the repetition of the series of processes are not unique to the macro-synchronous system, and are similarly performed by other systems such as a tightly-coupled bus synchronous system. Therefore, here, an example of a basic processing unit in which the synchronization processing and the transfer processing are incorporated will be described in detail.
Assuming that the A-system processor 10A is faster than the B-system processor 10B, at time t1, the A-system processor 10A that has completed the previous processing executes the A-system transfer program 34A and synchronizes via the A-system bus line 11A. It issues a synchronization request to the control circuit 33, and then enters a waiting state.

このとき、A系デュアルポートメモリ31Aの一方のメモリ@1にはA系プロセッサ10Aによる前の前の転送処理で書き込まれた旧々データが保持され、他方のメモリ@2にはA系プロセッサ10Aによる前の転送処理で書き込まれた旧データが保持され、このメモリ@2の旧データが読出制御回路32によって繰り返し読み出されて照合回路20の入力データDaにされる。また、B系デュアルポートメモリ31Bの一方のメモリ@1にはB系プロセッサ10Bによる前の前の転送処理で書き込まれた旧々データが保持され、他方のメモリ@2にはB系プロセッサ10Bによる前の転送処理で書き込まれた旧データが保持され、このメモリ@2の旧データが読出制御回路32によって繰り返し読み出されて照合回路20の入力データDbにされる。   At this time, the old data written in the previous transfer process by the A-system processor 10A is held in one memory # 1 of the A-system dual port memory 31A, and the A-system processor 10A is stored in the other memory # 2. , The old data written in the previous transfer processing is retained, and the old data in the memory # 2 is repeatedly read by the read control circuit 32 and becomes the input data Da of the collation circuit 20. Further, one memory # 1 of the B-system dual port memory 31B holds old data written in the previous transfer process by the B-system processor 10B, and the other memory # 2 stores the old data written by the B-system processor 10B. The old data written in the previous transfer processing is retained, and the old data in the memory # 2 is repeatedly read by the read control circuit 32 and becomes the input data Db of the collation circuit 20.

正常時には、両系のデュアルポートメモリ31A,31Bの同じアドレスから同じタイミングでデータが読み出されるので、クロックCLKで照合回路20のフェールセーフ比較回路21に比較対象データとして入力されるデータDa,Dbは値が等しい。そのため、照合信号Fが交番信号になり、フェールセーフ電源22から電力を供給されて出力比較回路23が動作可能な状態におかれる。
そして、時刻t2に、B系プロセッサ10Bから同期要求が出されると、同期要求が出揃ったことになるので、同期制御回路33から起動信号Wが両プロセッサ10A,10Bに送出されて、両系で同時に入力処理が実行される。同時なので入力回路12から両プロセッサ10A,10Bに同じデータが入力される。
In a normal state, data is read from the same address of the dual-port memories 31A and 31B of both systems at the same timing, so that the data Da and Db input as the comparison target data to the fail-safe comparison circuit 21 of the verification circuit 20 by the clock CLK are output. The values are equal. Therefore, the collation signal F becomes an alternating signal, the power is supplied from the fail-safe power supply 22, and the output comparison circuit 23 is in an operable state.
Then, when a synchronization request is issued from the B-system processor 10B at time t2, the synchronization requests are complete, so the start signal W is sent from the synchronization control circuit 33 to both the processors 10A and 10B, and the both systems send the activation signal W. Input processing is executed at the same time. Since they are simultaneous, the same data is input from the input circuit 12 to both processors 10A and 10B.

入力処理の後は入力データに基づく応用演算が行われ、既述したようにメインメモリ13へのデータ参照やデータ書込が行われる。そして、この応用演算でもA系プロセッサ10AがB系プロセッサ10Bより先に終了したとすると、その時刻t3に、A系プロセッサ10Aから同期要求が出され、A系プロセッサ10Aが待ち状態になる。その後、時刻t4には、B系プロセッサ10Bからも同期要求が出されて同期要求が揃い、これに応じて同期制御回路33から起動信号Wが出されて、両系で同時に転送処理が実行される。   After the input processing, an applied operation based on the input data is performed, and data reference and data writing to the main memory 13 are performed as described above. Assuming that the A-system processor 10A is completed before the B-system processor 10B also in this applied operation, at time t3, a synchronization request is issued from the A-system processor 10A, and the A-system processor 10A enters a waiting state. Thereafter, at time t4, a synchronization request is also issued from the B-system processor 10B, and the synchronization requests are aligned. In response to this, a start signal W is issued from the synchronization control circuit 33, and the transfer processing is simultaneously executed in both systems. You.

転送処理はプロセッサ10が転送プログラム34を実行することにより遂行され、応用演算の中間値や結果値などのうち適宜なデータがバスライン11を介してデュアルポートメモリ31に書き込まれる。具体的には、A系のコンピュータでは、A系の比較対象用の新データがA系プロセッサ10AからA系デュアルポートメモリ31Aのメモリ@1に書き込まれ、その有効アドレス範囲の通知がA系プロセッサ10Aから読出制御回路32に送られ、更にデータ転送終了の通知もA系プロセッサ10Aから読出制御回路32に送られ、それから同期要求がA系プロセッサ10Aから同期制御回路33に出されて、時刻t5にはA系プロセッサ10Aが待ち状態になる。   The transfer process is performed by the processor 10 executing the transfer program 34, and appropriate data such as intermediate values and result values of the applied operation are written to the dual port memory 31 via the bus line 11. Specifically, in the A-system computer, new data for the A-system comparison target is written from the A-system processor 10A to the memory # 1 of the A-system dual port memory 31A, and the notification of the effective address range is sent to the A-system processor. 10A is sent to the read control circuit 32, and a notification of the end of the data transfer is also sent from the A-system processor 10A to the read control circuit 32. Then, a synchronization request is issued from the A-system processor 10A to the synchronization control circuit 33, and the time t5 , The A-system processor 10A enters a waiting state.

また、B系のコンピュータでは、B系の比較対象用の新データがB系プロセッサ10BからB系デュアルポートメモリ31Bのメモリ@1に書き込まれ、その有効アドレス範囲の通知がB系プロセッサ10Bから読出制御回路32に送られ、更にデータ転送終了の通知もB系プロセッサ10Bから読出制御回路32に送られる。この通知がなされた時刻t6には、A系,B系すべての系でデュアルポートメモリ31へのデータ書き込みが終了しているので、読出制御回路32によってデータ読出対象のメモリ切替が行われ、A系,B系いずれでも、デュアルポートメモリ31のうち新データを保持しているメモリ@1が読出制御回路32のデータ読出対象に選択されるとともに、旧データを保持しているメモリ@2は次のデータ書き込みに備えてデータ読出対象から外される。   In the B-system computer, new data for the B-system comparison target is written from the B-system processor 10B to the memory # 1 of the B-system dual port memory 31B, and the notification of the effective address range is read from the B-system processor 10B. It is sent to the control circuit 32, and a notice of the end of the data transfer is also sent from the B-system processor 10B to the read control circuit 32. At time t6 when this notification is given, the data writing to the dual port memory 31 has been completed in all the systems A and B, so that the read control circuit 32 switches the memory from which data is to be read. In both the system B and the system B, the memory # 1 holding the new data of the dual port memory 31 is selected as a data read target of the read control circuit 32, and the memory # 2 holding the old data is Is excluded from the data read target in preparation for writing data.

そして、フェールセーフ比較回路21に比較対象データとして入力されるデータDa,Dbが新データに切り替わるが、正常時には、両系の新データも等しいので、引き続き照合信号Fが交番信号になり出力比較回路23が動作可能な状態におかれる。
それから、B系プロセッサ10Bからも同期要求が出されて同期要求が揃うと、これに応じて同期制御回路33から起動信号Wが出されて、両系で同時に出力処理が実行される。同時なのでA系出力回路14AとB系出力回路14Bとから出力比較回路23へ同じデータが送出され、出力比較回路23から外部に向けたデータ出力がなされる。
Then, the data Da and Db input as the data to be compared to the fail-safe comparison circuit 21 are switched to the new data. When the data is normal, the new data of both systems are the same, so that the comparison signal F continues to be the alternating signal and the output comparison circuit 23 is in an operable state.
Then, when a synchronization request is also issued from the B-system processor 10B and the synchronization requests are completed, a start signal W is issued from the synchronization control circuit 33 in response to this, and the output processing is executed simultaneously in both systems. Since they are simultaneous, the same data is sent from the A-system output circuit 14A and the B-system output circuit 14B to the output comparison circuit 23, and the output comparison circuit 23 outputs data to the outside.

これに対し、異常時には(図9参照)、以下のようにして出力比較回路23から外部へのデータ出力が抑制される。時刻t2以降の入力処理や応用演算あるいは時刻t4以降の転送処理で何れかのコンピュータに異常が生じ、その影響が比較対象データに及ぶと、とりあえず時刻t1〜t6までの各処理は上述した正常時と同様に進行するが、それは処理手順だけのことであり、デュアルポートメモリ31のメモリ@1に書き込まれた新データは両系で異なるため、時刻t6に読出制御回路32の読出対象がメモリ@2からメモリ@1に切り替わると、フェールセーフ比較回路21に比較対象データとして入力されるデータDa,Dbが一致せず、不一致が検出される。
すると、フェールセーフ比較回路21の出力する照合信号Fが交番信号から一定信号に変わり、これに応じてフェールセーフ電源22が出力比較回路23に電力を供給しなくなるので、出力比較回路23から外部へ出力データが出力されなくなる。
On the other hand, in the event of an abnormality (see FIG. 9), data output from the output comparison circuit 23 to the outside is suppressed as follows. If an error occurs in any of the computers in the input processing or the applied operation after the time t2 or the transfer processing after the time t4, and the influence on the comparison target data, each processing from the time t1 to the time t6 is performed in the above-described normal state. However, this is only the processing procedure, and the new data written in the memory # 1 of the dual port memory 31 is different between the two systems. When the mode is switched from # 2 to memory # 1, the data Da and Db input to the fail-safe comparison circuit 21 as comparison target data do not match, and a mismatch is detected.
Then, the collation signal F output from the fail-safe comparison circuit 21 changes from the alternating signal to a constant signal, and the fail-safe power supply 22 stops supplying power to the output comparison circuit 23 in response to this. Output data is not output.

こうして、マクロ同期式の二重系電子計算機では、故障発生時には照合回路によってデータの外部出力が抑止されて、装置から外部への作用が安全状態に保持されるので、フェールセーフ性が確保される。また、A系バスライン11AクロックとB系バスライン11Bのクロックと照合回路20のクロックCLKとが同じでなくてもフェールセーフコンピュータとして機能するので、例えば、クロックCLKを密結合バス同期式での25MHzにとどめたまま、プロセッサ10にマシンサイクル150MHzやそれ以上の高速なものを採用することができる。さらに、密結合バス同期式と異なり、マクロ同期式の各系のプロセッサ10A,10Bには、それぞれにキャッシュメモリを持たせることもできる。   In this way, in the macro-synchronous dual computer, when a failure occurs, the external output of data is suppressed by the matching circuit, and the operation from the device to the outside is kept in a safe state, so that fail-safe performance is ensured. . Even if the clocks of the A-system bus line 11A, the B-system bus line 11B, and the clock CLK of the collation circuit 20 are not the same, they function as a fail-safe computer. With the frequency kept at 25 MHz, a high-speed processor with a machine cycle of 150 MHz or more can be adopted as the processor 10. Further, unlike the tightly-coupled bus synchronous type, each of the processors 10A and 10B of the macro synchronous type can have a cache memory.

特許4454538号公報(特開2006−338094号公報)Japanese Patent No. 4454538 (Japanese Patent Application Laid-Open No. 2006-338094)

尾崎亮介著「マクロ同期方式フェールセーフマイコンの開発」DAIDO112号、14−19頁、大同信号株式会社、2005年10月発行Ryosuke Ozaki, "Development of a Fail-Safe Micro Computer with Macro Synchronization", DAIDO112, pp. 14-19, Daido Signal Co., Ltd., October 2005

このようなマクロ同期式の多重系電子計算機では、上述したようにバス模擬回路30を導入してプロセッサの高速化を可能にした代償として、応用プログラム16に加えて転送プログラム34と同期プログラム35もインストールすることが必要になる。それらのうち、応用プログラム16は処理内容が基本的に従来と同じで良く、同期プログラム35は、パラメータ等が不要であって、所定タイミングに実行されれば良い。そのため、それらのプログラム16,35については、プログラム作成や動作確認の負担が従来の密結合バス同期式の多重系電子計算機のときと大差なく、マクロ同期式への移行が容易である。   In such a macro-synchronous multiplex computer, as described above, the transfer program 34 and the synchronization program 35 in addition to the application program 16 are provided at the expense of introducing the bus simulation circuit 30 to enable the high-speed processor. Need to be installed. Among them, the application program 16 basically has the same processing content as the conventional one, and the synchronous program 35 does not need parameters and the like, and only needs to be executed at a predetermined timing. For these programs 16, 35, the burden of program creation and operation confirmation is not much different from that of a conventional tightly-coupled bus-synchronous multiplex computer, and the transition to the macro-synchronous method is easy.

これに対し、転送プログラム34は、応用プログラム16の応用演算の中間値や結果値(演算結果)などのうち適宜なデータを照合回路20の比較対象データとしてバス模擬回路30のデュアルポートメモリ31へ転送するものであることから、比較対象データの選択や転送がプログラムに委ねられているので、通常のプログラミングでは、プログラマー等が転送プログラム34のコーディング前に応用プログラム16毎にメインメモリ13のデータ領域から比較対象データを選択しておき、コーディング時に応用プログラム16毎の選択データ領域を転送プログラム34にパラメータ等で伝えることになる。そのため、プログラム同期式ほどではないが、プログラム作成や動作確認の負担が無視できない。   On the other hand, the transfer program 34 sends appropriate data, such as an intermediate value or a result value (operation result) of the application operation of the application program 16, to the dual port memory 31 of the bus simulation circuit 30 as comparison target data of the comparison circuit 20. Since the data is to be transferred, the selection and transfer of the data to be compared are left to the program. In normal programming, the programmer or the like requires the data area of the main memory 13 for each application program 16 before coding the transfer program 34. Is selected, and the selected data area for each application program 16 is transmitted to the transfer program 34 by parameters or the like during coding. For this reason, the burden of program creation and operation confirmation cannot be ignored, though not as much as the program synchronous type.

かかる演算結果を比較対象データに含める必要性について図面を引用して説明する。図10は、演算結果に異常が発現したときの一例である。この事例の場合、時刻taでは、異常が無く、両プロセッサ10A,10Bにおいて応用プログラム16の入力処理(入力i,1≦i≦N)の入力値も応用演算(応用i,1≦i≦N)の演算結果も出力処理(出力i,1≦i≦N)の出力値も同じ値たとえば“0”になっている。
これに対し、その後の時刻tbに10A,10Bの一方に異常が発生してプロセッサ10Aでは演算結果が“1”なのにプロセッサ10Bでは演算結果が“0”になっているが、この時点tbでは、演算結果が未だ出力値に反映されておらず、入力値だけでなく出力値も両プロセッサ10A,10Bで同じ値たとえば“0”になっている。
The necessity of including such calculation results in the comparison target data will be described with reference to the drawings. FIG. 10 is an example when an abnormality occurs in the calculation result. In this case, at time ta, there is no abnormality, and the input values of the input processing (input i, 1 ≦ i ≦ N) of the application program 16 in both processors 10A and 10B are also applied to the application operation (application i, 1 ≦ i ≦ N). ) Have the same value, for example, “0” as the output value of the output processing (output i, 1 ≦ i ≦ N).
On the other hand, at time tb thereafter, an abnormality occurs in one of 10A and 10B and the operation result is "1" in processor 10A, but the operation result is "0" in processor 10B. The operation result is not yet reflected in the output value, and the output value as well as the input value is the same value in both processors 10A and 10B, for example, "0".

しかも、その後の時刻tcには10A,10Bの他方に異常が発生してプロセッサ10Bでも演算結果が“1”になっているが、この時点tcでも、演算結果が未だ出力値に反映されておらず、入力値と演算結果だけでなく出力値も両プロセッサ10A,10Bで同じ値たとえば“0”になっている。
そして、その後の時刻tdに至ると演算結果が出力値に反映されて、演算結果だけでなく出力値も両プロセッサ10A,10Bで同じ値たとえば“1”になる。入力値も異常なく両プロセッサ10A,10Bで同じ値たとえば“1”になっている。
In addition, at the subsequent time tc, an abnormality has occurred in the other of 10A and 10B, and the operation result is "1" in the processor 10B. However, even at this time tc, the operation result is still reflected in the output value. In addition, not only the input value and the operation result but also the output value are the same value, for example, "0" in both processors 10A and 10B.
Then, at time td thereafter, the operation result is reflected on the output value, and not only the operation result but also the output value becomes the same value, for example, “1” in both processors 10A and 10B. The input value is the same value, for example, "1" in both processors 10A and 10B without any abnormality.

このような態様で異常が発現した場合、誤った演算結果に基づいて得られた出力値は誤っている可能性があるが、マクロ同期式では、出力値しか比較対象データに含めないと、上記態様の異常が検出されないで見逃されることも有り得る。そして、その場合、意図しない信号制御などを引き起こすおそれもある。そのため、上記のような異常発現態様でも、不所望な制御等の未然防止を図るには、不所望な出力がなされる前に異常が検知されるよう、出力値に限らず演算結果も比較対象データに含めることが必要なのである。   When an abnormality occurs in such a manner, the output value obtained based on the erroneous operation result may be erroneous, but in the macro synchronous method, if only the output value is included in the comparison target data, It is possible that the abnormality of the mode is overlooked without being detected. In that case, there is a possibility that unintended signal control or the like may be caused. Therefore, in order to prevent undesired control or the like even in the above-described abnormal expression mode, not only the output value but also the operation result should be compared so that the abnormality is detected before the undesired output is performed. It needs to be included in the data.

ところで、プロセッサ10に採用しうるプロセッサには、小型のマイコン(マイクロコンピュータ,マイクロプロセッサ)であっても、メインメモリ13の所定領域を指定してデータ書き込みを禁止したり許可したりできるものがある。そして、そのようなライトプロテクト機能を持ったプロセッサをプロセッサ10A,10Bに採用した場合、応用プログラム16における基本処理単位をなす入力処理(入力i)と応用演算(応用i)と出力処理(出力i)との組(タスク対応プログラムi)それぞれについて(iは1〜Nの何れか)、メインメモリ13のうち演算結果や出力値を保持させる可能性のある領域にはプロテクトを解除してデータ書き込みを許可するとともに他の領域にはプロテクトを設定してデータ書き込みを禁止するというメモリプロテクト管理を行うこととなる。   By the way, as a processor that can be adopted as the processor 10, there is a small microcomputer (microcomputer, microprocessor) which can designate or write a predetermined area of the main memory 13 to prohibit or permit data writing. . When a processor having such a write protection function is employed for the processors 10A and 10B, input processing (input i), application operation (application i), and output processing (output i), which are basic processing units in the application program 16, are performed. )) (Task-corresponding program i) (i is any one of 1 to N), the protection is released and the data is written to an area of the main memory 13 which may hold the operation result or the output value. Is performed, and protection is set in other areas to prohibit data writing, thereby performing memory protection management.

そして、各組のプログラム(タスク対応プログラムi)が上記のメモリプロテクト管理を行うことによって、意図しないプログラム(タスク対応プログラムi)による不正なデータ書換が、自プログラム(タスク対応プログラムi)によるものであれ、他プログラム(タスク対応プログラム≠i)によるものであれ、的確に検出されるので、プログラムの信頼性が向上する。
そのため、マクロ同期式の多重系電子計算機についても、プログラムの信頼性を向上させるべく、プロセッサ10に上述のライトプロテクト機能を持たせるのが望まれる。
Then, each set of programs (task corresponding program i) performs the above-described memory protection management, so that unauthorized data rewriting by an unintended program (task corresponding program i) is performed by its own program (task corresponding program i). Any other program (task corresponding program #i) is accurately detected, so that the reliability of the program is improved.
Therefore, it is desired that the processor 10 also has the above-described write protect function in order to improve the reliability of the program, even in a macro-synchronous multiplex computer.

しかしながら、上述したマクロ同期式の多重系電子計算機の各プロセッサについて、単にライトプロテクト機能を持たせてメモリプロテクト管理を行わせたのでは、応用プログラム16の各組のプログラム(タスク対応プログラムi)毎に、メモリプロテクト管理のためのメモリ領域指定を行うとともに、比較対象データ転送のためのメモリ領域指定も行うことになる。しかも、各組のプログラムで指定すべきメモリ領域は、応用目的に依存するので、各組のプログラム毎に異なる。   However, if each processor of the above-described macro-synchronous multiplex computer is simply provided with a write protect function to perform memory protect management, each set of programs (task corresponding program i) of the application program 16 must be provided. Next, a memory area for memory protection management is specified, and a memory area for comparison target data transfer is also specified. Moreover, the memory area to be specified in each set of programs depends on the purpose of application, and therefore differs for each set of programs.

そのため、各組のプログラム毎にメモリ領域の指定を二回も行わなければならず、プログラムの作成やデバッグの負担が倍増してしまいかねない。
そこで、マクロ同期式の多重系電子計算機のプロセッサにライトプロテクト機能を持たせてもプログラムの作成やデバッグの負担が少なくて済むように改良することが、技術的な課題となる。
Therefore, the memory area must be specified twice for each set of programs, which may double the burden of program creation and debugging.
Therefore, it is a technical problem to improve the processor of a macro-synchronous multiplex computer so as to reduce the burden of creating and debugging a program even if the processor has a write protection function.

本発明の多重系電子計算機は(解決手段1)、このような課題を解決するために創案されたものであり、
各系毎にプロセッサとメインメモリを有し同じプログラムを搭載した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路と、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受ける複数系のデュアルポートメモリと、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路と、前記コンピュータそれぞれから出された同期要求が複数系の総てで出揃ったときに前記コンピュータの待ち状態を一斉に解く同期制御回路とを備えた多重系電子計算機において、
前記コンピュータが、該当系のメインメモリの部分領域を指定してデータ書き込みの可否を設定しうるライトプロテクト機能を具備したものであって、前記プログラムを実行することにより、応用目的に対応した応用演算の演算結果を書き込む可能性のある書込対象メモリ領域にはデータ書き込みを許可しそれ以外の非書込メモリ領域にはデータ書き込みを禁止するというメモリ領域指定に基づいて前記ライトプロテクト機能を稼動させる書禁設定と、前記応用演算と、前記同期要求を出して待ち状態になる同期処理と、前記メモリ領域指定に基づいて前記書込対象メモリ領域のデータを該当系のデュアルポートメモリへ転送する転送処理とを、繰り返し行うようになっていることを特徴とする。
A multiplex computer according to the present invention (solution 1) is designed to solve such a problem.
A plurality of computers each having a processor and a main memory for each system and equipped with the same program; a matching circuit for comparing data of the plurality of systems and stopping output when a mismatch is detected; A plurality of dual-port memories receiving writing of data transferred at a specific timing from a processor via a corresponding bus line, and reading data from each of the dual-port memories at a timing common to the input timing of the matching circuit. A readout control circuit for sending the data to the matching circuit as data of a plurality of systems to be input, and a synchronization for simultaneously releasing the waiting states of the computers when synchronization requests issued from the computers are completed in all of the plurality of systems. In a multiplex computer having a control circuit,
The computer is provided with a write protection function capable of setting whether data can be written or not by designating a partial area of a main memory of a corresponding system, and executing the program to execute an application operation corresponding to an application purpose. The write protect function is operated based on a memory area designation that data writing is permitted in a writing target memory area where the calculation result may be written and data writing is prohibited in other non-writing memory areas. Write protection setting, the applied operation, a synchronization process for issuing the synchronization request and entering a wait state, and transferring the data of the write target memory area to the dual port memory of the corresponding system based on the memory area designation And the processing is repeatedly performed.

また、本発明の多重系電子計算機用プログラムは(解決手段2)、上記解決手段1の多重系電子計算機に搭載されるプログラムを特定したものであり、具体的には、
各系毎にプロセッサとメインメモリを有するとともに該当系のメインメモリの部分領域を指定してデータ書き込みの可否を設定しうるライトプロテクト機能を具備した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路と、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受ける複数系のデュアルポートメモリと、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路と、前記コンピュータそれぞれから出された同期要求が複数系の総てで出揃ったときに前記コンピュータの待ち状態を一斉に解く同期制御回路とを備えた多重系電子計算機における前記コンピュータに搭載される多重系電子計算機用プログラムであって、
搭載先のコンピュータに、応用目的に対応した応用演算の演算結果を書き込む可能性のある書込対象メモリ領域にはデータ書き込みを許可しそれ以外の非書込メモリ領域にはデータ書き込みを禁止するというメモリ領域指定に基づいて前記ライトプロテクト機能を稼動させる書禁設定と、前記応用演算と、前記同期要求を出して待ち状態になる同期処理と、前記メモリ領域指定に基づいて前記書込対象メモリ領域のデータを該当系のデュアルポートメモリへ転送する転送処理とを、繰り返し行わせるようになっていることを特徴とする。
Further, the multi-computer computer program of the present invention (Solution 2) specifies a program installed in the multi-computer of the above-described Solution 1, and specifically,
Compare the data of multiple systems with a computer of multiple systems that has a processor and a main memory for each system, and has a write protection function that can specify the partial area of the main memory of the relevant system and set whether data can be written. A matching circuit that stops output when a mismatch is detected, a plurality of dual port memories provided for each of the computers and receiving writing of data transferred at a specific timing from a corresponding processor via a corresponding bus line, A read control circuit that reads data from each of the dual port memories at a timing common to the input timing of the matching circuit and sends the data to the matching circuit as data of a plurality of systems to be input, and a synchronization request issued from each of the computers. Waits for the computer when all A multi-system computer program to be installed in the computer in a multi-system computer that includes a synchronous control circuit for solving the state simultaneously,
Data writing is permitted in the write target memory area where the operation result of the applied operation corresponding to the application purpose may be written to the mounting destination computer, and data writing is prohibited in the other non-write memory areas. A write-protection setting for activating the write protection function based on the memory area specification, the application processing, a synchronization process for issuing the synchronization request and entering a wait state, and the write-target memory area based on the memory area specification And a transfer process of transferring the data to the dual port memory of the corresponding system.

さらに、本発明の多重系電子計算機用プログラムは(解決手段3)、上記解決手段2の多重系電子計算機用プログラムであって、前記書禁設定に際して前記メモリ領域指定を前記転送処理が既定の手順で参照しうる態様でデータ保持させることを、搭載先のコンピュータに行わせるようになっていることを特徴とする。   Further, the multi-computer computer program of the present invention (Solution Means 3) is the multi-computer computer program of the above-mentioned Solution 2, wherein the memory area designation is performed when the write-protection setting is performed, and the transfer processing is a predetermined procedure. It is characterized in that the computer on which the data is stored is held in a mode that can be referred to by the computer.

また、本発明の多重系電子計算機用プログラムは(解決手段4)、上記解決手段3の多重系電子計算機用プログラムであって、該当系のメインメモリのうち前記メモリ領域指定にて書込対象メモリ領域にされたことのある部分領域を示す確認領域データを前記書禁設定および前記転送処理の何れか一方または双方において該当部分領域の和集合を採る態様で更新する確認領域データ更新処理と、該当系のメインメモリのうち前記確認領域データで示された部分領域から外れた部分領域に保持されているデータを該当系のデュアルポートメモリへ転送する定値診断処理とを、搭載先のコンピュータに行わせるようになっていることを特徴とする。   The multi-computer computer program according to the present invention (Solution 4) is the multi-computer computer program of the above-mentioned Solution 3, and is a memory to be written by specifying the memory area in the main memory of the corresponding system. A confirmation area data update process for updating confirmation region data indicating a partial region that has been set as a region in a mode in which a union of the corresponding partial regions is adopted in one or both of the write-protection setting and the transfer process; A fixed-value diagnostic process of transferring data held in a partial area of the main memory of the system that is outside the partial area indicated by the confirmation area data to the dual-port memory of the corresponding system. It is characterized by the following.

また、本発明の多重系電子計算機用プログラムは(解決手段5)、上記解決手段4の多重系電子計算機用プログラムであって、前記確認領域データ更新処理に際して前記確認領域データを前記定値診断処理が既定の手順で参照しうる態様でデータ保持させることを、搭載先のコンピュータに行わせるようになっていることを特徴とする。   The multi-computer computer program according to the present invention (Solution 5) is the multi-computer computer program according to the above-mentioned Solution 4, wherein the constant area diagnosis processing is performed on the confirmation area data in the confirmation area data updating processing. It is characterized in that the mounting destination computer is made to hold data in a manner that can be referred to in a predetermined procedure.

また、本発明の多重系電子計算機用プログラムは(解決手段6)、上記解決手段2〜5の多重系電子計算機用プログラムであって、前記書禁設定がアプリケーションプログラムとオペレーティングシステムとの中間のミドルウェアにて具現化されていることを特徴とする。   Also, a multi-computer computer program according to the present invention (Solution 6) is a multi-computer computer program according to the above-mentioned 2 to 5 wherein the write-protection setting is middleware between an application program and an operating system. It is characterized by being embodied in.

このような本発明の多重系電子計算機および多重系電子計算機用プログラムにあっては(解決手段1,2)、プログラムの信頼性向上のため各コンピュータにライトプロテクト機能を持ったものを採用したうえで、そのライトプロテクト機能を活用するために応用演算に先だって書禁設定が行われるが、その際に用いられたメモリ領域指定が転送処理でも用いられるようにもしたことにより、比較対象データ転送のためのメモリ領域指定が簡便に行えることとなる。しかも、比較対象データに含めるべき演算結果が転送対象の書込対象メモリ領域に納められているので、比較対象データ転送のためのメモリ領域指定が的確に行われる。
したがって、この発明によれば、マクロ同期式の多重系電子計算機のプロセッサにライトプロテクト機能を持たせてもプログラムの作成やデバッグの負担が少なくて済む。
In such a multi-computer and multi-computer program of the present invention (solutions 1 and 2), each computer has a write-protect function in order to improve the reliability of the program. In order to utilize the write protection function, write protection is set prior to the applied operation.However, the memory area specification used at that time is also used in the transfer processing, so that the comparison target data transfer Memory area can be easily specified. In addition, since the operation result to be included in the comparison target data is stored in the write target memory area to be transferred, the memory area for the comparison target data transfer is accurately specified.
Therefore, according to the present invention, even if a processor of a macro-synchronous multiplex computer is provided with a write protection function, the burden of program creation and debugging can be reduced.

また、本発明の多重系電子計算機用プログラムにあっては(解決手段3)、それを搭載した多重系電子計算機において、書禁設定時に用いられたメモリ領域指定が転送処理時までデータ保持されて転送処理に供されるとともに、そのメモリ領域指定を転送処理が既定(既知)の手順で参照しうるようにもしたことにより、転送処理では、パラメータ等を伴った比較対象データ転送のためのメモリ領域指定が必要では無くなるため、単にライトプロテクト機能を導入したのでは各組のプログラム毎に二回も行わなければならなかったメモリ領域指定が一回で済むこととなるので、プログラムの作成やデバッグの負担が極めて少なくて済む。   In the multiplex computer program according to the present invention (solution means 3), in the multiplex computer equipped with the program, the memory area designation used at the time of setting the write-protection is held until the transfer processing. In addition to being used in the transfer process, the transfer process can refer to the specified memory area in a predetermined (known) procedure. Since it is not necessary to specify the area, simply introducing the write protect function requires only one memory area specification for each set of programs. The burden on the user is extremely small.

さらに、本発明の多重系電子計算機用プログラムにあっては(解決手段4)、それを搭載した多重系電子計算機において、確認領域データ更新処理によって書込対象メモリ領域にされたことのあるメモリ領域が判り延いては書込対象メモリ領域にされたことのないメモリ領域も判る。後者のメモリ領域には定数などがデータ保持されており、その中には応用演算で頻繁に参照されるデータもあれば、異常時など稀にしか参照されないデータもあるところ、それらを含んだデータが定値診断処理によって照合回路の比較対象データにされるので、頻繁に参照されるデータばかりか稀にしか参照されないデータについても、データ値の不所望な変化といった異常が発生すると、データ参照を待たずに素早く異常が検出される。   Furthermore, in the multi-computer computer program of the present invention (solution means 4), in the multi-computer equipped with the program, the memory area which has been set as the write target memory area by the confirmation area data update processing. , The memory area which has not been set as the write target memory area is also found. The latter memory area holds constants and other data, some of which are frequently referenced in applied calculations and some of which are rarely referenced, such as in the event of abnormalities. Is used as comparison target data in the matching circuit by the constant value diagnosis processing. Therefore, not only data that is frequently referred to but also data that is rarely referred to when an abnormality such as an undesired change in the data value occurs is awaited. Anomaly is detected quickly without being.

また、本発明の多重系電子計算機用プログラムにあっては(解決手段5)、それを搭載した多重系電子計算機において、確認領域データ更新処理に際して更新される確認領域データを定値診断処理が既定(既知)の手順で参照しうるようにもしたことにより、定値診断処理についても、上述した転送処理のように応用目的に依存しないプログラム構成で具現化できることとなるので、プログラムの作成やデバッグの負担が極めて少なくて済む。   In the multi-computer computer program according to the present invention (solution means 5), in the multi-computer equipped with the multi-computer computer, fixed-value diagnosis processing is performed by default for the confirmation area data updated at the confirmation area data update processing ( Since the reference value can be referred to in the known procedure, the fixed-value diagnostic processing can also be embodied in a program configuration that does not depend on the application purpose as in the above-described transfer processing. Is extremely small.

本発明の実施例1について、多重系電子計算機および多重系電子計算機用プログラムの構造を示し、(a)が多重系電子計算機の各計算機のライトプロテクト機能に関わるデータのイメージ図であり、(b)が多重系電子計算機の各計算機に搭載される多重系電子計算機用プログラムの概要フローチャートである。FIG. 3A shows the structure of a multiplex computer and a program for the multiplex computer according to the first embodiment of the present invention. FIG. 4A is an image diagram of data related to the write protect function of each computer of the multiplex computer. Is a schematic flowchart of a multiplex computer program installed in each computer of the multiplex computer. 本発明の実施例1について、多重系電子計算機の各計算機の動作に応じて変化するデータのイメージ図である。FIG. 5 is an image diagram of data that changes according to the operation of each computer of the multiplex computer in the first embodiment of the present invention. 本発明の実施例1について、多重系電子計算機の各計算機の動作に応じて変化するデータのイメージ図である。FIG. 5 is an image diagram of data that changes according to the operation of each computer of the multiplex computer in the first embodiment of the present invention. 本発明の実施例1について、多重系電子計算機の各計算機の動作に応じて変化するデータのイメージ図である。FIG. 5 is an image diagram of data that changes according to the operation of each computer of the multiplex computer in the first embodiment of the present invention. 本発明の実施例1について、多重系電子計算機の各計算機の動作に応じて変化するデータのイメージ図である。FIG. 5 is an image diagram of data that changes according to the operation of each computer of the multiplex computer in the first embodiment of the present invention. 従来の多重系電子計算機の全体ブロック図である。It is an overall block diagram of a conventional multiplex computer. 従来の多重系電子計算機の各計算機に搭載される多重系電子計算機用プログラムの概要フローチャートである。It is a general | schematic flowchart of the program for multi-system computer mounted in each computer of the conventional multi-system computer. 正常時の動作説明用タイムチャートである。6 is a time chart for explaining operation in a normal state. 異常時の動作説明用タイムチャートである。6 is a time chart for explaining the operation at the time of abnormality. 異常の発現例である。This is an example of occurrence of abnormality.

このような本発明の多重系電子計算機および多重系電子計算機用プログラムについて、これを実施するための具体的な形態を、以下の実施例1により説明する。
図1〜5に示した実施例1は、上述した解決手段1〜6(出願当初の請求項1〜6)を具現化したものである。
なお、それらの図示に際し従来と同様の構成要素には同一の符号を付して示したので、重複する再度の説明は割愛し、以下、背景技術欄において既述した従来例との相違点を中心に説明する。
A specific embodiment for implementing the multi-computer and the multi-computer program according to the present invention will be described with reference to a first embodiment.
The first embodiment shown in FIGS. 1 to 5 embodies the above-described solutions 1 to 6 (claims 1 to 6 at the beginning of the application).
In the drawings, the same constituent elements as those of the related art are denoted by the same reference numerals, so that the overlapping description will be omitted, and the differences from the related art described above in the background art section will be described below. I will explain mainly.

本発明の多重系電子計算機および多重系電子計算機用プログラムの実施例1について、その具体的な構成を、図面を引用して説明する。図1(a)は、二重系電子計算機の二台のプロセッサ10A,10Bそれぞれのメインメモリ13のライトプロテクト制御用データ41〜44のイメージ図であり、同図(b)は、プロセッサ10A,10Bそれぞれに搭載される多重系電子計算機用プログラムの概要フローチャートである。   A specific configuration of a first embodiment of a multiplex computer and a multiplex computer program according to the present invention will be described with reference to the drawings. FIG. 1A is an image diagram of the write protection control data 41 to 44 of the main memory 13 of each of the two processors 10A and 10B of the dual computer, and FIG. 1B is a diagram of the processors 10A and 10B. It is a general | schematic flowchart of the program for multiplex computer mounted in each.

この二重系電子計算機が従来機(図6参照)とハードウェア面で相違するのは、プロセッサ10すなわちプロセッサ10A,10Bが何れもライトプロテクト機能を具備したものになっている点である。
具体的には(図1(a)参照)、プロセッサ10は、該当系のメインメモリ13のうち少なくともデータ用のメモリ領域を8個のメモリ領域1〜メモリ領域8に分けて、それぞれの部分領域を指定してデータ書き込みの可否を設定しうるようになっている。
The difference between this dual computer and the conventional computer (see FIG. 6) in hardware is that the processor 10, that is, the processors 10A and 10B both have a write protect function.
Specifically, (see FIG. 1A), the processor 10 divides at least the data memory area of the main memory 13 of the relevant system into eight memory areas 1 to 8 and separates the respective partial areas. To specify whether data writing is possible or not.

なお、図示は割愛したが、プロセッサ10には部分領域毎にデータ書き込みの可否を制御するためのプロテクト設定レジスタが設けられており、このプロテクト設定レジスタは、プロテクト対象のメモリ領域の上記分割数“8”に対応した8ビットの設定データを書き込めるようになっていて、プロテクト設定レジスタの各ビットが各メモリ領域1〜メモリ領域8に一対一で対応している。例えば、下位から1番目のビット値が“0”ならメモリ領域1へのデータ書き込みを許可するが“1”なら書き込みを禁止し、下位から2番目のビット値が“0”ならメモリ領域2へのデータ書き込みを許可するが“1”なら書き込みを禁止し、上位の各ビットについても同様にデータ書き込みの可否を制御するようになっている。なお、データの読み出しはレジスタ設定値の如何によらず可能である。   Although illustration is omitted, the processor 10 is provided with a protect setting register for controlling whether data can be written or not for each partial area, and the protect setting register is provided with the above-mentioned number of divisions of the memory area to be protected. 8 bits of setting data corresponding to 8 ″ can be written, and each bit of the protection setting register corresponds to each of the memory areas 1 to 8 on a one-to-one basis. For example, if the first bit value from the low order is "0", data writing to the memory area 1 is permitted, but if "1", writing is prohibited, and if the second bit value from the low order is "0", the data is written to the memory area 2. However, if "1", writing is prohibited, and whether or not data writing is possible is similarly controlled for each upper bit. Note that data can be read regardless of the register setting value.

この二重系電子計算機が従来機とソフトウェア面で相違するのは、書禁設定プログラムと定値診断プログラムと確認領域データ初期化プログラムとが追加された点と、転送プログラムが改良された点と、ライトプロテクト制御用データ41〜44が追加規定された点である。すなわち、プロセッサ10に搭載される多重系電子計算機用プログラムが従来品(図7参照)と相違するのは、書禁設定プログラムとライトプロテクト制御用データ41〜44とが追加されて上述のライトプロテクト機能を稼動させるようになった点と、その書禁設定時のデータを転送処理時にも利用するようにしたことで転送プログラムを使い易くなった点と、新たな確認領域データ初期化プログラムと定値診断プログラムとが追加されて定数等の異常までも早期に検出されるようになった点である。   The differences between this dual computer and the conventional computer in terms of software are that a write-protection setting program, constant value diagnosis program, and confirmation area data initialization program have been added, and that the transfer program has been improved. The point is that the write protection control data 41 to 44 are additionally defined. That is, the difference between the multiplex computer program installed in the processor 10 and the conventional product (see FIG. 7) is that the write protection setting program and the write protection control data 41 to 44 are added and the above write protection is performed. The function has been activated, the data at the time of setting the write-protection has been used during the transfer process, making the transfer program easier to use, and a new confirmation area data initialization program and fixed value A diagnostic program is added to detect an abnormality such as a constant at an early stage.

具体的には(図1(b)参照)、多重系電子計算機用プログラムが、既述した入力処理i(iは1〜Nの何れか)と応用演算i(iは1〜Nの何れか)と出力処理i(iは1〜Nの何れか)とを規定している応用プログラム16と、それらの各処理i(iは1〜Nの何れか)に直接依存することなく処理内容が各処理i(iは1〜Nの何れか)に共通化されて呼び出し手順が簡素化された転送処理を行う新たな転送プログラムと、既述した同期プログラム35とに加えて、メモリ領域指定に基づいてプロテクト設定レジスタにライトプロテクト設定を行う書禁設定i(iは1〜Nの何れか)を行う書禁設定プログラムと、従来は比較対象データに含められなかったデータを比較対象データに含めさせる定値診断処理を行う定値診断プログラムと、ライトプロテクト制御用データ41〜44の値を初期化する確認領域データ初期化プログラムとを具えたものとなっている。   Specifically (see FIG. 1 (b)), the program for the multiplex computer includes the input processing i (i is any one of 1 to N) and the applied operation i (i is any one of 1 to N). ) And an output process i (i is any one of 1 to N), and the processing content is not directly dependent on each of the processes i (i is any one of 1 to N). In addition to the new transfer program for performing the transfer process in which the calling procedure is simplified by being common to each process i (i is any one of 1 to N) and the synchronous program 35 described above, A write-protection setting program that performs write-protection setting (i is any one of 1 to N) for performing write-protection setting on a write-protection register based on the write-protection setting register; Fixed-value diagnosis program that performs fixed-value diagnosis processing , Has become that comprises a confirmation area data initialization program to initialize the value of the write protect control data 41-44.

そのプログラムによる処理や設定では、書禁設定iと同期処理と入力処理iと応用演算iと同期処理と転送処理と同期処理と出力処理iとが基本的な処理単位となり(iは1〜Nの何れか)、その処理単位が応用種別等に応じて必要なだけ(1〜N)行われて全応用対応の組合せ処理となり、確認領域データ初期化と組合せ処理と定値診断処理とがその順に行われて一纏まりの一連処理となり、さらに、その一連処理が繰り返されるように、多重系電子計算機用プログラムが構成されている。   In the processing and setting by the program, the write protection setting i, the synchronization processing, the input processing i, the applied operation i, the synchronization processing, the transfer processing, the synchronization processing, and the output processing i are the basic processing units (i is 1 to N ), The processing unit is performed as necessary (1 to N) according to the application type and the like, and the combination processing is performed for all applications. The confirmation area data initialization, the combination processing, and the fixed value diagnosis processing are performed in this order. A program for a multiplex computer is configured so that the program is executed to form a series of processes, and the series of processes is repeated.

従来との相違点について詳述すると、ライトプロテクト制御用データ41〜44は(図1(a)参照)、書禁メモリ領域指定データ41と確認領域データ42と全照合領域データ43と未確認領域データ44とを含んでいる。何れのデータ41,42,43,44も、下位から上位への各ビットをプロテクト設定レジスタの各ビットに一対一で対応づけることができることからビット数がプロテクト設定レジスタのそれ以上であれば良いので本例ではプロテクト設定レジスタと同じ8ビットからなり、応用プログラム16の書き込み対象にされることがないメモリ領域1に割り付けられている。   The differences from the prior art will be described in detail. The write protection control data 41 to 44 (see FIG. 1A) include write-protected memory area designation data 41, confirmation area data 42, all collation area data 43, and unconfirmed area data. 44. In any of the data 41, 42, 43, and 44, each bit from lower to higher can be associated with each bit of the protection setting register on a one-to-one basis. In this example, the same 8 bits as the protection setting register are used, and are allocated to the memory area 1 which is not to be written in the application program 16.

書禁メモリ領域指定データ41は、プロテクト設定レジスタに設定される値または設定された値をデータ保持するためのものであり、プロテクト設定レジスタに対する直接アクセスにて間に合う場合は省くことも可能である。プロテクト設定レジスタと同じく、各ビット値は、“0”が該当メモリ領域に対するデータの読み書きを許可し、“1”が該当メモリ領域に対するデータ読み出しは許可するがデータ書き込みは禁止する意味である。
確認領域データ42は、確認領域データ初期化の後に一度でもデータ書き込みが許可されたメモリ領域を示すための言わば履歴集約データであり、各ビットは、値“1”が一度はデータ書き込み許可のあったことを示し、値“0”が一度もデータ書き込み許可のなかったことを示すものとなっている。
The write-protection memory area designation data 41 is for holding the value set in the protect setting register or the set value, and can be omitted when direct access to the protect setting register is sufficient. As with the protect setting register, each bit value of "0" means that reading and writing of data to the corresponding memory area is permitted, and "1" means that data reading of the corresponding memory area is permitted but data writing is prohibited.
The confirmation area data 42 is so-called history aggregated data for indicating a memory area to which data writing has been permitted at least once after the confirmation area data initialization, and each bit has a value "1" indicating that data writing permission has been performed once. The value “0” indicates that no data writing has been permitted.

全照合領域データ43は、少なくとも応用プログラム16の実行によってアクセスされる可能性のあるメモリ領域さらに望ましくは応用プログラム16だけでなく他のプログラムの実行によってもアクセスされる可能性のあるメモリ領域を示すためのものであり、本例ではメモリ領域2〜メモリ領域6までの領域に書込アクセス又は読出アクセスがなされる可能性があるので、一定値“00111110”が初期設定されている。
未確認領域データ44は、確認領域データ初期化の後に一度もデータ書き込みが許可されなかったメモリ領域を示すための言わば履歴集約データであり、各ビットは、値“0”が一度はデータ書き込み許可のあったことを示し、値“1”が一度もデータ書き込み許可のなかったことを示すが、所期の提示の範囲すなわち値“1”を採りうるビット位置が、アクセスされる可能性のあるメモリ領域である全照合領域データ43のビット値“1”の部分に限定されるものとなっている。
The total collation area data 43 indicates at least a memory area that can be accessed by executing the application program 16, and more desirably a memory area that can be accessed by not only the application program 16 but also other programs. In this example, since there is a possibility that a write access or a read access is made to the memory area 2 to the memory area 6, a constant value “00111110” is initially set.
The unconfirmed area data 44 is so-called history aggregated data for indicating a memory area to which data writing has never been permitted after the confirmation area data initialization. Each bit has a value “0” indicating that data writing is permitted once. This indicates that the value “1” has never been permitted to write data, but the intended presentation range, that is, the bit position that can take the value “1”, is a memory that may be accessed. The area is limited to the bit value “1” of the entire collation area data 43 which is the area.

確認領域データ初期化プログラムは、パラメータやアーギュメント等と呼ばれる引数が無くても良い呼び出し形式で起動されるものであり、起動後の確認領域データ初期化の処理では、プロテクト設定レジスタにアクセスしてメインメモリ13のメモリ領域1を一時的にデータ書き込み許可状態にしたうえで、確認領域データ42の内容をクリアすることにより、それらの全ビットの値を“0”にするようになっている。
そして、この確認領域データ初期化が上述したように一連処理の先頭で実施されることにより、上記の確認領域データ42が、一連処理において一度でもデータ書き込みが許可されたことのあるメモリ領域を示す履歴集約データとなる。
The confirmation area data initialization program is started in a calling format that does not require arguments called parameters and arguments.In the confirmation area data initialization processing after startup, the protection setting register is accessed and the main After temporarily setting the memory area 1 of the memory 13 to the data write permission state and clearing the contents of the confirmation area data 42, the values of all these bits are set to “0”.
Since the confirmation area data initialization is performed at the beginning of the series processing as described above, the confirmation area data 42 indicates a memory area to which data writing has been permitted at least once in the series processing. It becomes history aggregate data.

書禁設定プログラムは、引数を伴う呼び出し形式で起動されるものであり、その引数には、書禁メモリ領域指定データ41に対応したメモリ領域指定を含めておく必要がある。書禁設定iの呼び出し時のメモリ領域指定は、応用演算iの演算結果を書き込む可能性のある書込対象メモリ領域にはデータの読み書きを許可しそれ以外の非書込メモリ領域にはデータ読み出しは許すがデータ書き込みは禁止するというメモリプロテクトを書禁設定時に確立させるためのデータなので、引数のメモリ領域指定の各ビットにはプロテクト設定レジスタや書禁メモリ領域指定データ41に設定したいビット値そのままかビット反転値といった可逆性を備えた対応値(可逆値)が設定されている必要がある。   The write-protection setting program is started in a call format with an argument, and the argument needs to include a memory area specification corresponding to the write-protection memory area specification data 41. Specifying the memory area at the time of calling the write-protection setting i allows reading and writing of data in the writing target memory area where the operation result of the applied operation i may be written, and reads data in the other non-writing memory areas. Is permitted, but data writing is prohibited. This is data for establishing memory protection when write-protection is set. Therefore, the bit value to be set in the protect setting register or the write-protection memory area specification data 41 is used in each bit of the memory area specification of the argument as it is. It is necessary that a corresponding value (reversible value) having reversibility, such as a bit reversal value, is set.

そして、そのような引数を伴って起動された書禁設定iの処理では、メインメモリ13のメモリ領域1を一時的にデータ書き込み許可状態にしたうえで、引数のメモリ領域指定に基づいて書禁メモリ領域指定データ41とプロテクト設定レジスタの値を更新することにより、その後のライトプロテクト機能が応用演算iに適合させられる。しかも、書禁設定iの処理では、上述したように引数のメモリ領域指定の可逆値がプロテクト設定レジスタや書禁メモリ領域指定データ41に設定されることから、その可逆値を読み出せば直ちに又はビット反転等の逆算を行うだけで、引数のメモリ領域指定が得られるので、書禁設定プログラムは書禁設定に際してメモリ領域指定を他のプログラム特に転送処理プログラムが引数の不要な既定の手順で参照しうる態様でデータ保持するものとなっている。   In the process of the write-protection setting i started with such an argument, the memory area 1 of the main memory 13 is temporarily set to the data write permission state, and then the write-protection is performed based on the memory area designation of the argument. By updating the value of the memory area designation data 41 and the value of the protection setting register, the subsequent write protection function is adapted to the applied operation i. Moreover, in the process of the write-protection setting i, as described above, the reversible value of the memory area specification of the argument is set in the protect setting register and the write-protection memory area specification data 41. The memory area specification of the argument can be obtained simply by performing an inverse operation such as bit inversion, so the write-protection setting program refers to the memory area specification at the time of write-protection by other programs, especially the transfer processing program, in a default procedure that does not require an argument. The data is held in a possible manner.

また、書禁設定iの処理では、メインメモリ13のメモリ領域1が一時的にデータ書き込み許可状態になっているときに、書禁メモリ領域指定データ41の各ビット値を確認領域データ42の論理状態に適合させるために論理反転させたデータと確認領域データ42の各ビット値そのままのデータとについてビット毎に論理和を採り、そのデータを確認領域データ42に書き込むことも行われる。これにより、書禁設定プログラムは、該当系のメインメモリのうち引数のメモリ領域指定にて書込対象メモリ領域にされたことのある部分領域を示す確認領域データ42を書禁設定において該当部分領域の和集合を採る態様で更新する確認領域データ更新処理を行うものとなるとともに、その確認領域データ更新処理に際して確認領域データ42を他のプログラム特に定値診断プログラムが引数の不要な既定の手順で参照しうる態様でデータ保持させるものとなっている。   Further, in the processing of the write-protection setting i, when the memory area 1 of the main memory 13 is temporarily in the data write permission state, each bit value of the write-protection memory area designation data 41 is changed to the logical value of the check area data 42. An OR operation is also performed for each bit of the data logically inverted to conform to the state and the data of each bit value of the confirmation area data 42, and the data is written to the confirmation area data 42. Accordingly, the write-protection setting program sets the confirmation area data 42 indicating the partial area which has been set as the write target memory area by specifying the memory area of the argument in the main memory of the relevant system in the write-protection setting. The confirmation area data updating process for updating in a manner of taking the union of the above is performed, and at the time of the confirmation region data updating process, the confirmation region data 42 is referred to by another program, particularly the fixed-value diagnosis program, in a predetermined procedure that does not require an argument. The data is held in a possible manner.

転送プログラムは、従来とは異なり引数が無くても良い呼び出し形式で起動されるものとなっており、起動後の転送処理では、メインメモリ13のうち書禁メモリ領域指定データ41のビット値“0”に対応しているメモリ領域が、書禁設定iの引数のメモリ領域指定で書込対象メモリ領域にされた部分領域であって、直前の応用演算iで書き込まれた可能性のあるデータを含んでいる部分領域でもあることから、そのメモリ領域のデータが該当系のデュアルポートメモリ31へ転送される。このような転送プログラムは、書禁設定プログラムの引数のメモリ領域指定に基づいて書込対象メモリ領域のデータを該当系のデュアルポートメモリへ転送する転送処理を行うものとなっている。   The transfer program is activated in a call format that does not require an argument unlike the conventional one. In the transfer process after activation, the bit value “0” of the write-protected memory area designation data 41 in the main memory 13 is set. Is a partial area set as a write target memory area by specifying a memory area of an argument of write-protection setting i, and stores data that may have been written in the immediately preceding applied operation i. Since it is a partial area including the data, the data in the memory area is transferred to the dual port memory 31 of the corresponding system. Such a transfer program performs a transfer process of transferring the data in the write target memory area to the dual port memory of the relevant system based on the memory area designation of the argument of the write protection setting program.

定値診断プログラムは、やはり引数が無くても良い呼び出し形式で起動されるものであり、起動後の定値診断処理では、次に述べる未確認領域データ44の設定と、既述した同期処理と、上述した転送処理とをその順に行うようになっている。未確認領域データ44の設定処理は、メインメモリ13のメモリ領域1を一時的にデータ書き込み許可状態にしたうえで、確認領域データ42の各ビット値を全照合領域データ43の論理状態に適合させるために論理反転させたデータと全照合領域データ43の各ビット値そのままのデータとについてビット毎に論理積を採り、そのデータを全照合領域データ43に書き込み、さらにデータ転送プログラムを利用するために全照合領域データ43の各ビット値を論理反転させたデータを書禁メモリ領域指定データ41に書き込むようになっている。   The fixed-value diagnosis program is also started in a call format that does not require an argument. In the fixed-value diagnosis processing after the start, the setting of the unconfirmed area data 44 described below, the synchronization processing described above, and the above-described synchronization processing are performed. The transfer process is performed in that order. The setting process of the unconfirmed area data 44 is performed to temporarily set the memory area 1 of the main memory 13 to the data write permission state and then adapt each bit value of the confirmed area data 42 to the logical state of all the collation area data 43. A logical product is obtained for each bit of the logically inverted data and the data of each bit value of the entire collation area data 43, and the data is written to the entire collation area data 43. Data obtained by logically inverting each bit value of the collation area data 43 is written in the write-protection memory area designation data 41.

そして、この未確認領域データ44の設定処理によって、書禁メモリ領域指定データ41が該当系のメインメモリ13のうち確認領域データ42で示された部分領域から外れた部分領域を示すことになる。さらに、未確認領域データ44の設定処理に続けて、上述したように同期処理と転送処理とが行われると、メインメモリ13のうち書禁メモリ領域指定データ41のビット値“0”に対応しているメモリ領域のデータが該当系のデュアルポートメモリ31へ転送される。これにより、応用プログラム16の実行によって読み出しアクセスされた可能性はあるが書き込みアクセスはされなかったデータすなわち上述の組合せ処理では照合回路20の比較対象データにならなかったデータを保持しているメモリ領域については、定値診断処理のときに照合回路20の照合に付されることとなる。   As a result of the setting processing of the unconfirmed area data 44, the write-protected memory area designation data 41 indicates a partial area of the main memory 13 of the relevant system which is outside the partial area indicated by the confirmed area data 42. Further, when the synchronization processing and the transfer processing are performed as described above following the setting processing of the unconfirmed area data 44, the bit value “0” of the write-protected memory area designation data 41 in the main memory 13 corresponds to the bit value “0”. The data in the existing memory area is transferred to the dual port memory 31 of the corresponding system. As a result, a memory area that holds data that may have been read-accessed but not written-accessed by execution of the application program 16, that is, data that did not become comparison target data of the matching circuit 20 in the above-described combination processing Is added to the collation of the collation circuit 20 at the time of the fixed value diagnosis processing.

また、この定値診断プログラムと上述の書禁設定プログラムは、応用プログラム等による予期しない不正な書き込みから保護する必要のあるプロテクト設定レジスタやライトプロテクト制御用データ41〜44に対して書き込みアクセスを行うので、ミドルウェアにて具現化されている。同様のアクセスを行うことがあれば他のプログラム例えば転送プログラムもミドルウェア化される。ミドルウェアは、マクロ同期式の多重系電子計算機の各プロセッサに特化しているので、単体のプロセッサにも使えるオペレーティングシステムより汎用性が低い。しかも、ミドルウェアでは、呼び出された時かその後にライトプロテクト機能に係るプロセッサ動作モードの変更がなされるに対し、通常のサブルーチンやアプリケーションプログラムではそのようなモード変更が必要ない。ミドルウェアは、例えばソフトウェア割込とか例外割込とか割出とか拡張用特権命令などと呼ばれるプログラム指令にて一般モード下で呼び出され、特権モードに移行して所定の処理を行う。   In addition, since the fixed value diagnosis program and the above-described write protection setting program perform write access to the protection setting register and the write protection control data 41 to 44 which need to be protected from unexpected illegal writing by an application program or the like. , Is embodied in middleware. If the same access is performed, other programs, for example, a transfer program are also implemented as middleware. Middleware is specialized for each processor of a macro-synchronous multiplex computer, and is less versatile than an operating system that can be used for a single processor. Moreover, in the middleware, the processor operation mode related to the write protection function is changed at the time of being called or thereafter, whereas such a mode change is not required in a normal subroutine or an application program. The middleware is called in the general mode by a program command called, for example, a software interrupt, an exception interrupt, an index, or an extended privileged instruction, and shifts to the privileged mode to perform a predetermined process.

この実施例1の多重系電子計算機および多重系電子計算機用プログラムについて、その使用態様及び動作を、図面を引用して説明する。   The usage mode and operation of the multiplex computer and the multiplex computer program according to the first embodiment will be described with reference to the drawings.

図2〜図5は、何れもプロセッサ10A,10Bそれぞれの動作に応じて変化するライトプロテクト制御用データ41〜44のイメージ図であり、時系列に並んでいる。
なお、簡明化のため、Nが“3”であり、応用演算1の書き込みがメモリ領域4に限られ、応用演算2の書き込みがメモリ領域5に限られ、応用演算3の書き込みがメモリ領域4とメモリ領域6とに限られるという具体的な事例について、説明する。
2 to 5 are image diagrams of the write protection control data 41 to 44 which change according to the operation of each of the processors 10A and 10B, and are arranged in chronological order.
For the sake of simplicity, N is "3", writing of the applied operation 1 is limited to the memory area 4, writing of the applied operation 2 is limited to the memory area 5, and writing of the applied operation 3 is limited to the memory area 4. A specific case in which the present embodiment is limited to the memory area 6 and the memory area 6 will be described.

プロセッサ10Aでもプロセッサ10Bでも上述した一纏まりの一連処理が繰り返され(図1(b)参照)、それぞれの一連処理では、順に、確認領域データ初期化と、書禁設定1と同期処理と入力処理1と応用演算1と同期処理と転送処理と同期処理と出力処理1とをその順に行う組合せ処理1と、書禁設定2と同期処理と入力処理2と応用演算2と同期処理と転送処理と同期処理と出力処理2とをその順に行う組合せ処理2と、書禁設定3と同期処理と入力処理3と応用演算3と同期処理と転送処理と同期処理と出力処理3とをその順に行う組合せ処理3と、定値診断処理とが行われる。   The above-described series of series of processing is repeated by both the processor 10A and the processor 10B (see FIG. 1B). In each series of processing, confirmation area data initialization, write-protection setting 1, synchronization processing, and input processing are sequentially performed. 1, combined operation 1, synchronous processing, transfer processing, synchronous processing, and output processing 1 in that order, write-protection setting 2, synchronous processing, input processing 2, applied arithmetic 2, synchronous processing, and transfer processing. A combination process 2 in which the synchronization process and the output process 2 are performed in that order, and a combination in which the write-protection setting 3, the synchronization process, the input process 3, the applied operation 3, the synchronization process, the transfer process, the synchronization process, and the output process 3 are performed in that order. Processing 3 and fixed value diagnosis processing are performed.

詳述すると、或る一連処理では、先ず確認領域データ初期化が実行されて、確認領域データ42がクリアされ、それから組合せ処理1が行われる。
この組合せ処理1では、先ず、ビットパターン“11110111”のメモリ領域指定を引数として書禁設定1が起動される。そして(図2参照)、その引数が書禁メモリ領域指定データ41とプロテクト設定レジスタに設定されるので、メモリ領域4が読み書きアクセス可能になり他のメモリ領域は読出アクセスだけ可能で書込アクセスが禁止される。また(図2参照)、確認領域データ42には、メモリ領域4が一度はデータ書き込み許可のあったことを示すビットパターン“00001000”が設定される。
More specifically, in a certain series of processing, first, confirmation area data initialization is performed, the confirmation area data 42 is cleared, and then the combination processing 1 is performed.
In this combination process 1, first, write-protection setting 1 is started with the memory area designation of the bit pattern "11110111" as an argument. Then (see FIG. 2), the argument is set in the write-protected memory area designation data 41 and the protection setting register, so that the memory area 4 can be accessed for reading and writing, the other memory areas can be accessed only for reading, and the writing access is allowed. It is forbidden. Also (see FIG. 2), a bit pattern “00001000” is set in the confirmation area data 42, indicating that the memory area 4 has once been permitted to write data.

さらに、組合せ処理1では、同期処理と入力処理1と応用演算1とがその順に実行されるが、その起動手順や処理内容は、応用演算1に適合したメモリプロテクト機能が稼動していること以外、既述した従来のものと同様である。それから、更に続けて、同期処理と転送処理と同期処理と出力処理1もその順に実行されるが、そのうち転送処理では、書禁メモリ領域指定データ41の参照によってメインメモリ13のうちメモリ領域4のデータが比較対象データとしてデュアルポートメモリ31に転送される。そのため、転送プログラムは、メモリ領域指定の引数が不要で、既述した従来のものより起動手順が簡便なものとなっている。その転送処理の前後に実行される同期処理と後に実行される出力処理1の起動手順や処理内容は、既述した従来のものと同様である。また、上述したように初期設定された全照合領域データ43は一定値“00111110”を維持している。   Further, in the combination process 1, the synchronization process, the input process 1, and the application operation 1 are executed in this order. The activation procedure and processing contents are different from those in the case where the memory protection function suitable for the application operation 1 is operating. This is the same as the conventional one described above. Then, subsequently, the synchronization processing, the transfer processing, the synchronization processing, and the output processing 1 are also performed in that order. In the transfer processing, the transfer of the memory area 4 in the main memory 13 is performed by referring to the write-protected memory area designation data 41. The data is transferred to the dual port memory 31 as comparison target data. For this reason, the transfer program does not require an argument for specifying a memory area, and has a simpler startup procedure than the above-described conventional program. The starting procedure and processing contents of the synchronous processing executed before and after the transfer processing and the output processing 1 executed later are the same as those of the above-described conventional processing. Further, the all collation area data 43 initialized as described above maintains a constant value “00111110”.

次の組合せ処理2では、ビットパターン“11101111”のメモリ領域指定を引数として書禁設定2が起動される。そして(図3参照)、その引数が書禁メモリ領域指定データ41とプロテクト設定レジスタに設定されるので、メモリ領域5が読み書きアクセス可能になり他のメモリ領域は読出アクセスだけ可能で書込アクセスが禁止される。また、確認領域データ42には、先のメモリ領域4に加えてメモリ領域5も一度はデータ書き込み許可のあったことを示すビットパターン“00011000”が設定される。それから、同期処理と入力処理2と応用演算2と同期処理と転送処理と同期処理と出力処理2が順次実行され、その際、応用演算2ではメモリプロテクト機能が働き、転送プログラムが引数なしでも起動され、転送処理が書禁メモリ領域指定データ41の参照にて的確になされるが、その他は既述した従来のものと同様に遂行される。   In the next combination process 2, write-protection setting 2 is activated with the memory area designation of the bit pattern "11101111" as an argument. Then (see FIG. 3), the argument is set in the write-protected memory area designation data 41 and the protection setting register, so that the memory area 5 can be accessed for reading and writing, and the other memory areas can be accessed only for reading, and writing access is allowed. It is forbidden. In the confirmation area data 42, a bit pattern "00011000" indicating that data writing has been permitted once in the memory area 5 in addition to the memory area 4 is set. Then, synchronous processing, input processing 2, application processing 2, synchronization processing, transfer processing, synchronization processing, and output processing 2 are sequentially performed. At this time, the memory protection function is activated in the application processing 2, and the transfer program is started even without arguments. The transfer process is properly performed by referring to the write-protected memory area designation data 41, but the other processes are performed in the same manner as the above-described conventional one.

さらに、その後の組合せ処理3では、ビットパターン“11010111”のメモリ領域指定を引数として書禁設定3が起動される。そして(図4参照)、その引数が書禁メモリ領域指定データ41とプロテクト設定レジスタに設定されるので、二つのメモリ領域4,6が読み書きアクセス可能になり他のメモリ領域は読出アクセスだけ可能で書込アクセスが禁止される。また、確認領域データ42には、先のメモリ領域4,5に加えてメモリ領域6も一度はデータ書き込み許可のあったことを示すビットパターン“00111000”が設定される。それから、同期処理と入力処理3と応用演算3と同期処理と転送処理と同期処理と出力処理3が順に実行され、その際、応用演算3ではメモリプロテクト機能が働き、転送プログラムが引数なしで起動され、転送処理が書禁メモリ領域指定データ41の参照にて的確になされるが、その他は既述した従来のものと同様に遂行される。   Further, in the subsequent combination processing 3, the write-protection setting 3 is activated using the memory area designation of the bit pattern "11010111" as an argument. Then (see FIG. 4), the arguments are set in the write-protected memory area designation data 41 and the protection setting register, so that the two memory areas 4 and 6 can be accessed for reading and writing, and the other memory areas can be accessed only for reading. Write access is prohibited. In addition, in the confirmation area data 42, a bit pattern “00111000” indicating that data writing is once permitted in the memory area 6 in addition to the previous memory areas 4 and 5 is set. Then, synchronous processing, input processing 3, application processing 3, synchronous processing, transfer processing, synchronization processing, and output processing 3 are sequentially performed. At this time, in the applied calculation 3, the memory protection function is activated, and the transfer program is started without arguments. The transfer process is properly performed by referring to the write-protected memory area designation data 41, but the other processes are performed in the same manner as the above-described conventional one.

この一連処理の中で最後に実行される定値診断処理プログラムも引数なしで起動され、その定値診断処理の中で、未確認領域データ44の設定と、上述した同期処理と転送処理とが、その順に行われる。そして(図5参照)、未確認領域データ44の設定では、同じ一連処理において先行実施された組合せ処理1〜3で更新された確認領域データ42のビットパターン“00111000”と、値変更の無い全照合領域データ43のビットパターン“00111110”とから、上述した論理演算にて、メインメモリ13のメモリ領域1〜8のうち組合せ処理1〜3で一度も書込アクセスが許可されなかったメモリ領域2,3を示すビットパターン“00000110”が得られ、それが未確認領域データ44に書き込まれるとともに、そのビット反転データが書禁メモリ領域指定データ41に書き込まれる(図5の右下部分を参照)。   The fixed value diagnosis processing program executed last in this series of processing is also started without an argument. In the fixed value diagnosis processing, the setting of the unconfirmed area data 44 and the above-described synchronization processing and transfer processing are performed in this order. Done. In the setting of the unconfirmed area data 44 (see FIG. 5), the bit pattern “00111000” of the confirmed area data 42 updated in the combination processing 1 to 3 previously executed in the same series of processing is compared with all the collation without value change. From the bit pattern “00111110” of the area data 43, in the above-described logical operation, the memory areas 2, for which the write access has never been permitted in the combination processing 1 to 3 among the memory areas 1 to 8 of the main memory 13. Thus, a bit pattern "00000110" indicating "3" is obtained, which is written to the unconfirmed area data 44, and its bit-inverted data is written to the write-protected memory area designation data 41 (see the lower right part in FIG. 5).

さらに、その後の同期処理に続く転送処理では、書禁メモリ領域指定データ41を参照することによりメインメモリ13のうちメモリ領域2,3のデータが比較対象データとされてデュアルポートメモリ31に転送される。このメモリ領域2,3は上述したように組合せ処理1〜3で一度も書込アクセスが許可されなかった部分領域なので、定数など応用演算では変更されないデータまでも定値診断処理時には照合回路20で照合される。
そして、このような一連処理が、メモリプロテクト管理下で、意図しないプログラムによる不正なデータ書換を避けつつ、プロセッサ10A,10Bそれぞれで繰り返される。
Further, in the subsequent transfer processing subsequent to the synchronization processing, the data in the memory areas 2 and 3 in the main memory 13 is referred to as the write-protected memory area designation data 41 and is transferred to the dual-port memory 31 as comparison target data. You. Since the memory areas 2 and 3 are partial areas for which write access has never been permitted in the combination processing 1 to 3 as described above, even the data such as constants which are not changed by the applied operation are collated by the collation circuit 20 in the constant value diagnosis processing. Is done.
Then, such a series of processing is repeated in each of the processors 10A and 10B under the memory protection management while avoiding unauthorized data rewriting by an unintended program.

そうすると、課題欄で挙げたような異常が発現した場合(図10参照)、時刻tbに10A,10Bの一方に異常が発生してプロセッサ10Aでは演算結果が“1”なのにプロセッサ10Bでは演算結果が“0”になると、その直ぐ後にそれらの演算結果がデュアルポートメモリ31に転送されて照合回路20のフェールセーフ比較回路21によって比較される。そして、既述したように、不一致が検出されて、出力比較回路23から外部へ出力データが出力されなくなる。そのため、マクロ同期式でも、不所望な出力がなされる前に異常が検知されて、不所望な制御等が未然に防止される。   Then, when the abnormality described in the task column occurs (see FIG. 10), an abnormality occurs in one of 10A and 10B at time tb, and the operation result is “1” in processor 10A, but the operation result in processor 10B is not. When the value becomes "0", the operation results are transferred to the dual port memory 31 immediately after that, and are compared by the fail-safe comparison circuit 21 of the verification circuit 20. Then, as described above, the mismatch is detected, and the output comparison circuit 23 does not output the output data to the outside. Therefore, even in the macro-synchronous method, an abnormality is detected before an undesired output is performed, and undesired control or the like is prevented.

しかも、メモリプロテクト管理のために導入された書禁設定プログラムのメモリ領域指定を転送処理で援用するように転送プログラムが改造されていて、アプリケーションプログラムで転送プログラムを起動するときにメモリ領域指定の引数が無くて良いので、アプリケーションプログラムの作成やデバッグが簡便に行えることとなる。また、定数などを比較対象データにする定値診断処理まで繰り返し行われるので、応用演算のうち稀な事象に対応した演算のときしかアクセスされない定数等に不所望なデータ化けといった異常が発生したような場合でも、密結合バス同期式では稀な事象のときまで異常検出が遅れるのに対し、この多重系電子計算機では稀な事象を待たずに素早く異常が検出される。   In addition, the transfer program has been modified so that the transfer process uses the memory area designation of the write protection setting program introduced for memory protection management, and the argument of the memory area designation when the transfer program is started by the application program Since there is no need to create, application programs can be created and debugged easily. In addition, since the constant value diagnosis processing for making constants and the like data to be compared is repeatedly performed, it is likely that abnormalities such as undesired data corruption occur in constants and the like that are accessed only when performing operations corresponding to rare events among applied operations. Even in this case, in the tightly-coupled bus synchronous system, abnormality detection is delayed until a rare event, whereas in the multiplex computer, the abnormality is quickly detected without waiting for the rare event.

[その他]
上記実施例では多重系電子計算機用プログラムによる確認領域データ更新処理が書禁設定に際して実行されるようになっていたが、確認領域データ更新処理は、書禁設定時でなく転送処理に際して実行されるようにしても良く、書禁設定のときと転送処理のときとに分担して或いは重ねて実行されるようにしても良い。
上記実施例ではメインメモリ13を8個の部分領域に分割してライトプロテクト機能を働かせるようになっていたが、8個の分割に限られる訳でなく、ライトプロテクト制御用データ41〜44のビット数を分割数に適合させれば、16分割や32分割さらには不等分割などといった他の分割数でも、不都合なくライトプロテクト機能が働く。
[Others]
In the above embodiment, the confirmation area data update processing by the multiplex computer program is executed at the time of write-protection setting. However, the confirmation area data update processing is executed at the time of transfer processing, not at the time of write-protection setting. It may be configured such that it is executed in a shared or overlapped manner at the time of setting the forbidden setting and at the time of the transfer process.
In the above-described embodiment, the main memory 13 is divided into eight partial areas so as to operate the write protect function. However, the present invention is not limited to the eight divided areas, and the bits of the write protect control data 41 to 44 are not limited to eight. If the number is adapted to the number of divisions, the write protect function works without any problem even with other division numbers such as 16 divisions, 32 divisions, and unequal divisions.

照合回路20は、不一致検出時に少なくとも出力を停止するようになっていれば足りるが、その他の安全事項を行うようにしても良く、例えば出力停止に加えてプロセッサを停止させるようにしても良い。
バスライン11は、CPUバスラインの総てを含んでいる必要はなく、メモリバスと入出力バスを含んでいれば足りる。
待ち状態を制御する専用の信号入力端子が無いプロセッサの場合、起動信号Wを割込要求信号入力端子に送出する等のことで、待ち状態を解くようにしても良い。
The collation circuit 20 only needs to stop at least the output when a mismatch is detected. However, the collation circuit 20 may perform other safety items. For example, the processor may be stopped in addition to the output stop.
The bus line 11 does not need to include all of the CPU bus lines, but only needs to include the memory bus and the input / output bus.
In the case of a processor that does not have a dedicated signal input terminal for controlling the wait state, the wait state may be released by transmitting an activation signal W to an interrupt request signal input terminal or the like.

本発明は、上述した二重系電子計算機に適用が限られるものでなく、三重系以上の多重系電子計算機にも適用することができる。   The present invention is not limited to the above-described dual computer, but can also be applied to a triple computer or more multiple computer.

10…プロセッサ(CPU)、
11…バスライン、12…入力回路、13…メインメモリ、
14…出力回路、15…出力ライン、16…応用プログラム、
20…照合回路、
21…フェールセーフ比較回路(FS)、
22…フェールセーフ電源(FS)、23…出力比較回路、
30…バス模擬回路、
31…デュアルポートメモリ、32…読出制御回路、
33…同期制御回路、34…転送プログラム、35…同期プログラム、
41…書禁メモリ領域指定データ、42…確認領域データ、
43…全照合領域データ、44…未確認領域データ
10. Processor (CPU),
11 bus line, 12 input circuit, 13 main memory,
14 output circuit, 15 output line, 16 application program,
20 ... collation circuit,
21: fail-safe comparison circuit (FS),
22: fail-safe power supply (FS), 23: output comparison circuit,
30 ... Bus simulation circuit
31: dual port memory, 32: read control circuit,
33: synchronous control circuit, 34: transfer program, 35: synchronous program,
41: write-protected memory area designation data, 42: confirmation area data,
43: all collation area data, 44: unconfirmed area data

Claims (6)

各系毎にプロセッサとメインメモリを有し同じプログラムを搭載した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路と、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受ける複数系のデュアルポートメモリと、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路と、前記コンピュータそれぞれから出された同期要求が複数系の総てで出揃ったときに前記コンピュータの待ち状態を一斉に解く同期制御回路とを備えた多重系電子計算機において、
前記コンピュータが、該当系のメインメモリの部分領域を指定してデータ書き込みの可否を設定しうるライトプロテクト機能を具備したものであって、前記プログラムを実行することにより、応用目的に対応した応用演算の演算結果を書き込む可能性のある書込対象メモリ領域にはデータ書き込みを許可しそれ以外の非書込メモリ領域にはデータ書き込みを禁止するというメモリ領域指定に基づいて前記ライトプロテクト機能を稼動させる書禁設定と、前記応用演算と、前記同期要求を出して待ち状態になる同期処理と、前記メモリ領域指定に基づいて前記書込対象メモリ領域のデータを該当系のデュアルポートメモリへ転送する転送処理とを、繰り返し行うようになっていることを特徴とする多重系電子計算機。
A plurality of computers each having a processor and a main memory for each system and equipped with the same program; a matching circuit for comparing data of the plurality of systems and stopping output when a mismatch is detected; A plurality of dual-port memories receiving writing of data transferred at a specific timing from a processor via a corresponding bus line, and reading data from each of the dual-port memories at a timing common to an input timing of the matching circuit. A readout control circuit for sending the data to the matching circuit as data of a plurality of systems to be input, and a synchronization for simultaneously releasing the waiting states of the computers when synchronization requests issued from the computers are completed in all of the plurality of systems. In a multiplex computer having a control circuit,
The computer is provided with a write protection function capable of setting whether or not data can be written by designating a partial area of a main memory of a corresponding system. By executing the program, an application operation corresponding to an application purpose is performed. The write protect function is operated based on a memory area designation that data writing is permitted in a writing target memory area in which there is a possibility of writing the operation result and data writing is prohibited in other non-writing memory areas. A write-protection setting, the applied operation, a synchronization process for issuing the synchronization request and entering a wait state, and transferring the data of the write target memory area to the dual port memory of the corresponding system based on the memory area designation And a computer which repeatedly performs the processing.
各系毎にプロセッサとメインメモリを有するとともに該当系のメインメモリの部分領域を指定してデータ書き込みの可否を設定しうるライトプロテクト機能を具備した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路と、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受ける複数系のデュアルポートメモリと、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路と、前記コンピュータそれぞれから出された同期要求が複数系の総てで出揃ったときに前記コンピュータの待ち状態を一斉に解く同期制御回路とを備えた多重系電子計算機における前記コンピュータに搭載される多重系電子計算機用プログラムであって、
搭載先のコンピュータに、応用目的に対応した応用演算の演算結果を書き込む可能性のある書込対象メモリ領域にはデータ書き込みを許可しそれ以外の非書込メモリ領域にはデータ書き込みを禁止するというメモリ領域指定に基づいて前記ライトプロテクト機能を稼動させる書禁設定と、前記応用演算と、前記同期要求を出して待ち状態になる同期処理と、前記メモリ領域指定に基づいて前記書込対象メモリ領域のデータを該当系のデュアルポートメモリへ転送する転送処理とを、繰り返し行わせるようになっていることを特徴とする多重系電子計算機用プログラム。
Compare the data of multiple systems with a computer of multiple systems that has a processor and a main memory for each system, and has a write protection function that can specify the partial area of the main memory of the relevant system and set whether data can be written. A matching circuit that stops output when a mismatch is detected, a plurality of dual port memories provided for each of the computers and receiving writing of data transferred at a specific timing from a corresponding processor via a corresponding bus line, A read control circuit that reads data from each of the dual port memories at a timing common to the input timing of the matching circuit and sends the data to the matching circuit as data of a plurality of systems to be input, and a synchronization request issued from each of the computers. Waits for the computer when all A multi-system computer program to be installed in the computer in a multi-system computer that includes a synchronous control circuit for solving the state simultaneously,
Data writing is permitted in the write target memory area where the operation result of the applied operation corresponding to the application purpose may be written to the mounting destination computer, and data writing is prohibited in the other non-write memory areas. A write-protection setting for activating the write protection function based on the memory area specification, the application processing, a synchronization process for issuing the synchronization request and entering a wait state, and the write-target memory area based on the memory area specification And a transfer process for transferring the data to the dual-port memory of the corresponding system.
前記書禁設定に際して前記メモリ領域指定を前記転送処理が既定の手順で参照しうる態様でデータ保持させることを、搭載先のコンピュータに行わせるようになっている、ことを特徴とする請求項2記載の多重系電子計算機用プログラム。   3. The computer according to claim 2, wherein the computer on which the data is to be stored is configured to retain the data in the memory area specification in a manner that the transfer processing can refer to in a predetermined procedure when setting the write protection. The multiplex computer program according to the description. 該当系のメインメモリのうち前記メモリ領域指定にて書込対象メモリ領域にされたことのある部分領域を示す確認領域データを前記書禁設定および前記転送処理の何れか一方または双方において該当部分領域の和集合を採る態様で更新する確認領域データ更新処理と、該当系のメインメモリのうち前記確認領域データで示された部分領域から外れた部分領域に保持されているデータを該当系のデュアルポートメモリへ転送する定値診断処理とを、搭載先のコンピュータに行わせるようになっている、ことを特徴とする請求項3記載の多重系電子計算機用プログラム。   Confirmation area data indicating a partial area which has been designated as a memory area to be written by specifying the memory area in the main memory of the relevant system in the one or both of the write-protection setting and the transfer processing. Confirmation area data update processing for updating in a manner of taking the union of the data, and data held in a partial area out of the partial area indicated by the confirmation area data in the main memory of the corresponding system is dual port of the corresponding system. 4. The program for a multiplex computer according to claim 3, wherein the fixed-value diagnostic process to be transferred to the memory is performed by a computer on which the device is mounted. 前記確認領域データ更新処理に際して前記確認領域データを前記定値診断処理が既定の手順で参照しうる態様でデータ保持させることを、搭載先のコンピュータに行わせるようになっている、ことを特徴とする請求項4記載の多重系電子計算機用プログラム。   At the time of the confirmation area data update processing, the computer on which the confirmation area data is held in such a manner that the fixed-value diagnosis processing can refer to it in a predetermined procedure is performed. A program for a multiplex computer according to claim 4. 前記書禁設定がアプリケーションプログラムとオペレーティングシステムとの中間のミドルウェアにて具現化されていることを特徴とする請求項2乃至請求項5の何れか一項に記載された多重系電子計算機用プログラム。   The computer program according to any one of claims 2 to 5, wherein the write protection setting is embodied in middleware between an application program and an operating system.
JP2016056265A 2016-03-18 2016-03-18 Multi-system computer and program for multi-system computer Active JP6646322B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016056265A JP6646322B2 (en) 2016-03-18 2016-03-18 Multi-system computer and program for multi-system computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016056265A JP6646322B2 (en) 2016-03-18 2016-03-18 Multi-system computer and program for multi-system computer

Publications (2)

Publication Number Publication Date
JP2017173921A JP2017173921A (en) 2017-09-28
JP6646322B2 true JP6646322B2 (en) 2020-02-14

Family

ID=59971192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016056265A Active JP6646322B2 (en) 2016-03-18 2016-03-18 Multi-system computer and program for multi-system computer

Country Status (1)

Country Link
JP (1) JP6646322B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831405B (en) * 2019-04-18 2024-05-14 阿里巴巴集团控股有限公司 Data processing method, logic chip and equipment thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188690A (en) * 1999-12-28 2001-07-10 Toshiba Corp Computer system and checkpoint information preserving method
JP4454538B2 (en) * 2005-05-31 2010-04-21 大同信号株式会社 Multi-system computer
JP5094460B2 (en) * 2008-02-20 2012-12-12 株式会社日立製作所 Computer system, data matching method, and data matching processing program
JP5699691B2 (en) * 2011-03-03 2015-04-15 日本電気株式会社 Data transfer device, FT server, data transfer method, and program

Also Published As

Publication number Publication date
JP2017173921A (en) 2017-09-28

Similar Documents

Publication Publication Date Title
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
US20080126718A1 (en) Method And Device For Monitoring A Memory Unit In A Mutliprocessor System
JP5044387B2 (en) Information processing apparatus and stack pointer updating method thereof
US9063907B2 (en) Comparison for redundant threads
JP2006164277A (en) Device and method for removing error in processor, and processor
JP4454538B2 (en) Multi-system computer
JP2007249323A (en) Microcomputer
US6128709A (en) Atomic operation in remote storage and device for executing this operation
JP6646322B2 (en) Multi-system computer and program for multi-system computer
JP5716824B2 (en) Multi-core processor system
US5701437A (en) Dual-memory managing apparatus and method including prioritization of backup and update operations
JP2015158936A (en) Data processor
JPS58197553A (en) Program monitor
JP3746957B2 (en) Control method of logical partitioning system
JP5920509B2 (en) Controller control program and controller control method
WO2022239331A1 (en) Electronic controller and abnormality determination method
JP6645467B2 (en) Microcomputer
JPH08161185A (en) Guest execution control system for virtual computer system
JP2021152855A (en) Memory equivalent method for dual-series control system
JP2569693B2 (en) Microcomputer
JP2007213131A (en) Microprocessor and memory access system
JPS5834856B2 (en) Kiokuseigiyosouchi
JPS6011934A (en) Display device for action mode
JP2006178614A (en) Fault tolerant computer and its bus selection control method
JPS60193046A (en) Detecting system for instruction exception

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191226

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: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200107

R150 Certificate of patent or registration of utility model

Ref document number: 6646322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250