JP6646322B2 - Multi-system computer and program for multi-system computer - Google Patents
Multi-system computer and program for multi-system computer Download PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 claims description 283
- 238000012545 processing Methods 0.000 claims description 144
- 238000000034 method Methods 0.000 claims description 70
- 230000009977 dual effect Effects 0.000 claims description 63
- 238000012546 transfer Methods 0.000 claims description 57
- 230000008569 process Effects 0.000 claims description 54
- 238000012790 confirmation Methods 0.000 claims description 43
- 230000001360 synchronised effect Effects 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 26
- 238000003745 diagnosis Methods 0.000 claims description 13
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000002405 diagnostic procedure Methods 0.000 claims description 2
- 230000005856 abnormality Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
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
すなわち、このマクロ同期式の多重系電子計算機は、各系毎にプロセッサとメインメモリを有し同じプログラムを搭載した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路と、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受けるデュアルポートメモリを複数系と、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路とを備えている。 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)
The
詳述すると、入力回路12は、例えば、ラッチ回路や割込要求回路等を具えていて、周辺装置や通信装置等から受けたデータをプロセッサ10に入力させるようになっている。なお、図6では、A系とB系に共有される一つの入力回路12をA系入力回路12AとB系入力回路12Bとに分けて示したが、これは図示を明瞭にするための便宜にすぎない。メインメモリ13は、例えば、プログラム保持に適したPROMやデータ保持に適したSRAMからなり、出力回路14は、例えば、バッファ等を具えていて、図示しない外部の周辺装置や通信装置等へ出力するデータを一時保持するようになっている。出力ライン15は、出力回路14の出力を照合回路20へ伝送するようになっている。
More specifically, the
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
The
また、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
照合回路20は、複数系のデータを比較して不一致検出時に出力を停止するために、フェールセーフ比較回路21とフェールセーフ電源22と出力比較回路23とを具えており、そのうちフェールセーフ比較回路21は、読出制御回路32によってデュアルポートメモリ31A,31Bそれぞれから読み出された二重系のデータDa,Dbを入力して、両データが一致しているか否かの比較を行うようになっている。
フェールセーフ比較回路21は、比較結果として照合信号Fを出力するが、いわゆる振り子回路を具有しており、これによって照合信号Fは、一致状態の継続している間は、一定周期で交互に値の変化する交番信号となり、比較結果に不一致が検出されると、値の変化しない一定信号となる。
The
The fail-
出力比較回路23は、例えばリレー回路からなり、図示の出力回路14と図示しない周辺装置や通信装置等の外部装置との間に介挿して設けられ、出力回路14A,Bの出力データについて出力ライン15の各ライン毎にA系とB系との論理積を採ってからその論理値を例えば24Vのリレー信号で図示しない外部装置へ送出するようになっている。
フェールセーフ電源22は、出力比較回路23に例えば24Vの動作電力を供給するものであるが、その電力供給を照合信号Fに応じて選択的に行う。具体的には、照合信号Fが交番信号のときだけ出力比較回路23に動作電力を供給し、照合信号Fが一定信号のときには出力比較回路23に動作電力を供給しないようになっている。
The
The fail-
デュアルポートメモリ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-
デュアルポートメモリ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
デュアルポートメモリ31におけるメモリ@1,@2のサイズ(記憶容量)はメインメモリ13より小さくて良く、例えば、メインメモリ13がメガバイトオーダのときデュアルポートメモリ31はキロバイトオーダで足りる。そのような各系のデュアルポートメモリ31に対するメモリ@1,@2の切り替えも読出制御回路32の制御で行われる。そして、メモリ@1が読出制御回路32によってデータ読出対象に選択されているときメモリ@2がバスライン11を介するデータ書込対象とされ、メモリ@2が読出制御回路32によってデータ読出対象に選択されているときメモリ@1がバスライン11を介するデータ書込対象とされるようになっている。
The size (storage capacity) of the
読出制御回路32は、デュアルポートメモリ31からのデータ読出を制御するためにアドレスカウンタ等を具備する他、バスライン11のクロックよりも通常は周波数の低いクロックCLKを発生する発振回路等も具えている。このクロックCLKが、デュアルポートメモリ31からのデータ読出制御に用いられるとともに、フェールセーフ比較回路21にデータ入力のクロックとして送出されているので、読出制御回路32は、照合回路20の入力タイミングと共通するタイミングでA系デュアルポートメモリ31A及びB系デュアルポートメモリ31BそれぞれからアドレスRa,Rbのデータを読み出して照合回路20にその入力対象の複数系のデータDa,Dbとして送出するものとなる。
The
また、読出制御回路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
さらに、読出制御回路32は、データ転送終了の通知や有効アドレス範囲の通知などを各系のコンピュータから受けるために、各系のバスライン11にも接続されている。そして、各系毎にデュアルポートメモリ31の何れか一つ即ちメモリ@1かメモリ@2か何れか一方をデータ読出対象に選択して行うデータDa,Dbの読出および照合回路20へのデータ送出を間断なく繰り返すようになっている。また、データ読出対象のメモリ切替は、A系,B系のコンピュータ両方からデータ転送終了の通知を受けたとき、A系デュアルポートメモリ31A及びB系デュアルポートメモリ31Bについて一斉に行うようになっている。
Further, the
同期制御回路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
応用プログラム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 (
転送プログラム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
このような従来の二重系電子計算機(多重系電子計算機)及び各計算機の搭載プログラム(多重系電子計算機用プログラム)について、その使用態様及び動作を、図面を引用して説明する。図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系,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系デュアルポートメモリ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
正常時には、両系のデュアルポートメモリ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-
Then, when a synchronization request is issued from the B-
入力処理の後は入力データに基づく応用演算が行われ、既述したようにメインメモリ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
転送処理はプロセッサ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
また、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-
そして、フェールセーフ比較回路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-
Then, when a synchronization request is also issued from the B-
これに対し、異常時には(図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
Then, the collation signal F output from the fail-
こうして、マクロ同期式の二重系電子計算機では、故障発生時には照合回路によってデータの外部出力が抑止されて、装置から外部への作用が安全状態に保持されるので、フェールセーフ性が確保される。また、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
このようなマクロ同期式の多重系電子計算機では、上述したようにバス模擬回路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
これに対し、転送プログラム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
かかる演算結果を比較対象データに含める必要性について図面を引用して説明する。図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
On the other hand, at time tb thereafter, an abnormality occurs in one of 10A and 10B and the operation result is "1" in
しかも、その後の時刻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
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
このような態様で異常が発現した場合、誤った演算結果に基づいて得られた出力値は誤っている可能性があるが、マクロ同期式では、出力値しか比較対象データに含めないと、上記態様の異常が検出されないで見逃されることも有り得る。そして、その場合、意図しない信号制御などを引き起こすおそれもある。そのため、上記のような異常発現態様でも、不所望な制御等の未然防止を図るには、不所望な出力がなされる前に異常が検知されるよう、出力値に限らず演算結果も比較対象データに含めることが必要なのである。 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
そして、各組のプログラム(タスク対応プログラム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
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
また、本発明の多重系電子計算機用プログラムは(解決手段4)、上記解決手段3の多重系電子計算機用プログラムであって、該当系のメインメモリのうち前記メモリ領域指定にて書込対象メモリ領域にされたことのある部分領域を示す確認領域データを前記書禁設定および前記転送処理の何れか一方または双方において該当部分領域の和集合を採る態様で更新する確認領域データ更新処理と、該当系のメインメモリのうち前記確認領域データで示された部分領域から外れた部分領域に保持されているデータを該当系のデュアルポートメモリへ転送する定値診断処理とを、搭載先のコンピュータに行わせるようになっていることを特徴とする。
The multi-computer computer program according to the present invention (Solution 4) is the multi-computer computer program of the above-mentioned
また、本発明の多重系電子計算機用プログラムは(解決手段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
また、本発明の多重系電子計算機用プログラムは(解決手段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 (
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により説明する。
図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
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
この二重系電子計算機が従来機(図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
Specifically, (see FIG. 1A), the processor 10 divides at least the data memory area of the
なお、図示は割愛したが、プロセッサ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
この二重系電子計算機が従来機とソフトウェア面で相違するのは、書禁設定プログラムと定値診断プログラムと確認領域データ初期化プログラムとが追加された点と、転送プログラムが改良された点と、ライトプロテクト制御用データ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
書禁メモリ領域指定データ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
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
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
また、書禁設定iの処理では、メインメモリ13のメモリ領域1が一時的にデータ書き込み許可状態になっているときに、書禁メモリ領域指定データ41の各ビット値を確認領域データ42の論理状態に適合させるために論理反転させたデータと確認領域データ42の各ビット値そのままのデータとについてビット毎に論理和を採り、そのデータを確認領域データ42に書き込むことも行われる。これにより、書禁設定プログラムは、該当系のメインメモリのうち引数のメモリ領域指定にて書込対象メモリ領域にされたことのある部分領域を示す確認領域データ42を書禁設定において該当部分領域の和集合を採る態様で更新する確認領域データ更新処理を行うものとなるとともに、その確認領域データ更新処理に際して確認領域データ42を他のプログラム特に定値診断プログラムが引数の不要な既定の手順で参照しうる態様でデータ保持させるものとなっている。
Further, in the processing of the write-protection setting i, when the
転送プログラムは、従来とは異なり引数が無くても良い呼び出し形式で起動されるものとなっており、起動後の転送処理では、メインメモリ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
定値診断プログラムは、やはり引数が無くても良い呼び出し形式で起動されるものであり、起動後の定値診断処理では、次に述べる未確認領域データ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
そして、この未確認領域データ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
また、この定値診断プログラムと上述の書禁設定プログラムは、応用プログラム等による予期しない不正な書き込みから保護する必要のあるプロテクト設定レジスタやライトプロテクト制御用データ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
For the sake of simplicity, N is "3", writing of the applied
プロセッサ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
詳述すると、或る一連処理では、先ず確認領域データ初期化が実行されて、確認領域データ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
In this
さらに、組合せ処理1では、同期処理と入力処理1と応用演算1とがその順に実行されるが、その起動手順や処理内容は、応用演算1に適合したメモリプロテクト機能が稼動していること以外、既述した従来のものと同様である。それから、更に続けて、同期処理と転送処理と同期処理と出力処理1もその順に実行されるが、そのうち転送処理では、書禁メモリ領域指定データ41の参照によってメインメモリ13のうちメモリ領域4のデータが比較対象データとしてデュアルポートメモリ31に転送される。そのため、転送プログラムは、メモリ領域指定の引数が不要で、既述した従来のものより起動手順が簡便なものとなっている。その転送処理の前後に実行される同期処理と後に実行される出力処理1の起動手順や処理内容は、既述した従来のものと同様である。また、上述したように初期設定された全照合領域データ43は一定値“00111110”を維持している。
Further, in the
次の組合せ処理2では、ビットパターン“11101111”のメモリ領域指定を引数として書禁設定2が起動される。そして(図3参照)、その引数が書禁メモリ領域指定データ41とプロテクト設定レジスタに設定されるので、メモリ領域5が読み書きアクセス可能になり他のメモリ領域は読出アクセスだけ可能で書込アクセスが禁止される。また、確認領域データ42には、先のメモリ領域4に加えてメモリ領域5も一度はデータ書き込み許可のあったことを示すビットパターン“00011000”が設定される。それから、同期処理と入力処理2と応用演算2と同期処理と転送処理と同期処理と出力処理2が順次実行され、その際、応用演算2ではメモリプロテクト機能が働き、転送プログラムが引数なしでも起動され、転送処理が書禁メモリ領域指定データ41の参照にて的確になされるが、その他は既述した従来のものと同様に遂行される。
In the
さらに、その後の組合せ処理3では、ビットパターン“11010111”のメモリ領域指定を引数として書禁設定3が起動される。そして(図4参照)、その引数が書禁メモリ領域指定データ41とプロテクト設定レジスタに設定されるので、二つのメモリ領域4,6が読み書きアクセス可能になり他のメモリ領域は読出アクセスだけ可能で書込アクセスが禁止される。また、確認領域データ42には、先のメモリ領域4,5に加えてメモリ領域6も一度はデータ書き込み許可のあったことを示すビットパターン“00111000”が設定される。それから、同期処理と入力処理3と応用演算3と同期処理と転送処理と同期処理と出力処理3が順に実行され、その際、応用演算3ではメモリプロテクト機能が働き、転送プログラムが引数なしで起動され、転送処理が書禁メモリ領域指定データ41の参照にて的確になされるが、その他は既述した従来のものと同様に遂行される。
Further, in the
この一連処理の中で最後に実行される定値診断処理プログラムも引数なしで起動され、その定値診断処理の中で、未確認領域データ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
さらに、その後の同期処理に続く転送処理では、書禁メモリ領域指定データ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
Then, such a series of processing is repeated in each of the
そうすると、課題欄で挙げたような異常が発現した場合(図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
しかも、メモリプロテクト管理のために導入された書禁設定プログラムのメモリ領域指定を転送処理で援用するように転送プログラムが改造されていて、アプリケーションプログラムで転送プログラムを起動するときにメモリ領域指定の引数が無くて良いので、アプリケーションプログラムの作成やデバッグが簡便に行えることとなる。また、定数などを比較対象データにする定値診断処理まで繰り返し行われるので、応用演算のうち稀な事象に対応した演算のときしかアクセスされない定数等に不所望なデータ化けといった異常が発生したような場合でも、密結合バス同期式では稀な事象のときまで異常検出が遅れるのに対し、この多重系電子計算機では稀な事象を待たずに素早く異常が検出される。 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
照合回路20は、不一致検出時に少なくとも出力を停止するようになっていれば足りるが、その他の安全事項を行うようにしても良く、例えば出力停止に加えてプロセッサを停止させるようにしても良い。
バスライン11は、CPUバスラインの総てを含んでいる必要はなく、メモリバスと入出力バスを含んでいれば足りる。
待ち状態を制御する専用の信号入力端子が無いプロセッサの場合、起動信号Wを割込要求信号入力端子に送出する等のことで、待ち状態を解くようにしても良い。
The
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.
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)
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)
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 |
-
2016
- 2016-03-18 JP JP2016056265A patent/JP6646322B2/en active Active
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 |