JP3910340B2 - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
JP3910340B2
JP3910340B2 JP2000151828A JP2000151828A JP3910340B2 JP 3910340 B2 JP3910340 B2 JP 3910340B2 JP 2000151828 A JP2000151828 A JP 2000151828A JP 2000151828 A JP2000151828 A JP 2000151828A JP 3910340 B2 JP3910340 B2 JP 3910340B2
Authority
JP
Japan
Prior art keywords
tracking
computer system
input
control
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000151828A
Other languages
Japanese (ja)
Other versions
JP2001331201A (en
Inventor
明男 戸田
裕司 大津
康晴 福島
敏則 仁熊
三好  守
正年 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000151828A priority Critical patent/JP3910340B2/en
Publication of JP2001331201A publication Critical patent/JP2001331201A/en
Application granted granted Critical
Publication of JP3910340B2 publication Critical patent/JP3910340B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、例えばプログラマブルコントローラに適用して好適な計算機システムに関するものである。
【0002】
【従来の技術】
従来例1.
図17は、例えば特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図であり、図において100は制御系または運転系のプログラマブルコントローラ、110は待機系のプログラマブルコントローラ、101は運転系のトラッキングバッファ、111は待機系のトラッキングバッファ、102は運転系のバッファ分割手段、112は待機系のバッファ分割手段、115はトラッキングケーブルである。この従来の二重化計算機システムの構成においてはトラッキングすべきデータを参照するプログラムのスキャン周期が高速か低速かを判断し、それぞれのプログラムが扱うデータ量を計算し、高速トラッキングデータ用や低速トラッキングデータ用にバッファを分割する。トラッキング処理時には、高速トラッキングのみ、低速トラッキングのみ、または両方のトラッキングが必要かを判定し、トラッキングバッファを選択しトラッキング処理を行う。
【0003】
この従来の二重化計算機システムは、トラッキングバッファの分割によりオーバーヘッドを極力抑えるシステムとして構築されているが、待機系においても運転系と同一のアプリケーションを実行させておく方式(以下、ホットスタンバイ方式という)でこのシステムを運用する場合、トラッキングバッファのデータが待機系へ反映されるタイミングとアプリケーションの起動周期との同期を取る手段がないため、アプリケーション内で参照するメモリデータが運転系と待機系で同一であることを完全に保証できず、両系で同一の処理結果を保証することが難しい。
【0004】
従来例2.
また、図18は、例えば特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図であり、図において、200は制御系プロセッサ、210は待機系プロセッサ、201は制御系プロセッサ200のトラッキングバッファ、211は待機系プロセッサ210のトラッキングバッファ、202は制御系プロセッサ200のバッファ分割手段、212は待機系プロセッサ210のバッファ分割手段、215はトラッキングケーブルである。
【0005】
次に、この二重化計算機システムの動作について説明する。図19は、この二重化計算機システムの動作を示すフローチャートであり、制御系プロセッサ200がデータのトラッキングを行うとき、バッファ分割手段202は、トラッキングすべきデータを使用するプログラムのスキャン周期が高速か低速かを判断し、それぞれのプログラムが扱うデータ量を計算する(ステップST100)。そして、得られたデータ量とトラッキングバッファ201のサイズからトラッキングバッファ201でのブロック数を計算する(ステップST101)。そして、データをトラッキングする場合、高速トラッキングのみか、低速トラッキングのみか、高速と低速の両方のトラッキングが必要かのトラッキング方式をチェックし(ステップST102)、高速、低速、混合の分割方式を選択し(ステップST103,ステップST104,ステップST105)、トラッキング処理を行う。
【0006】
従来例3.
また、図20は、例えば特開平4−332002号公報に示された従来の計算機システムを示す構成図である。図において、301はプロセッサ、302はCPUカード、302aはプロセッサ301の命令実行部、303は入出力I/Fカード、303aは入出力カードエラー情報、304−1,…,304−Nは入出力カード、304a−1,…,304a−Nは入出力カード304−1,…,304−Nのデータ領域を示す。305はCPUカード302と入出力I/Fカード303とを接続した制御バス、306は入出力I/Fカード303と各入出力カード304−1,…,304−Nとを接続した入出力バスである。
【0007】
プロセッサ301は、CPUカード302と、制御バス305により前記CPUカード302と接続された入出力I/Fカード303とから構成されていることを示す。前記CPUカード302は、命令実行部302aにおいて前記入出力I/Fカード303と入出力バス306を介して入出力カード304−1,…,304−Nのデータ領域304a−1,…,304a−Nをアクセスする。
命令実行部302aが入出力カード304−1,…,304−Nをアクセスしたときのエラー情報は、前記入出力I/Fカード303の入出力カードエラー情報303aを読み出すことで認識できる。すなわち、前記エラー情報は、入出力カード304−1,…,304−Nのエラー情報として認識できる構成である。
【0008】
また、この計算機システムの入出力I/Fカード303のメモリマップ307を図21に示す。このメモリマップ307は、前記入出力カード304−1,…,304−Nに割り当てられたメモリ空間と前記入出力カードエラー情報303aとから構成される。
【0009】
次に、この計算機システムの動作について図22に示すフローチャートに従って説明する。先ず、CPUカード302の命令実行部302aは、入出力カード304−1,…,304−Nのデータ領域304a−1,…,304a−Nをアクセスし(ステップST111)、入出力I/Fカード303の入出力カードエラー情報303aを読み出す(ステップST112)。そして、前記読み出した入出力カードエラー情報303aによりエラーがあるかどうかを判定し(ステップST113)、エラーがなければ次のアドレスの入出力カードエラー情報303aを取り出す(ステップST115)。一方、前記ステップST113においてエラーがあればエラー情報を登録する(ステップST114)。
【0010】
従来例4.
また、図23は、特開平4−332002号公報に示された従来の計算機システムにおける制御プログラム実行時のプログラムカウンタ一致処理を示す構成図である。図において、401はプロセッサ500の実行に必要な制御プログラムコード、制御データ、および起動管理テーブル等の制御情報の開発と保守を行う保守ツールである。405はプロセッサ500の主メモリ、405aは前記制御プログラムコード、405bは制御プログラムコード405aの実行位置をそのカウンタ値として指し示すプログラムカウンタ、406は保守ツール401から送られてきた制御情報をプロセッサ500に登録する要求処理部、406aは保守ツール401からの保守操作情報であるプログラムカウンタ一致要求、407は制御プログラムコード405aを実行するプログラム実行部、407aは制御プログラムコード405aの実行をサポートするプログラム実行処理である。プログラムカウンタ一致検出処理407bは要求処理部406からのプログラムカウンタ一致要求406aによって登録される一致要求プログラムカウンタ407cのカウンタ値とプログラムカウンタ405bのカウンタ値との一致を検出するものである。
【0011】
次に動作について図24に示すフローチャートに従って説明する。
図24に示すフローチャートは、プログラム実行部407がプログラムカウンタ一致を検出する動作フローを示しており、プログラム実行処理407aは現在のプログラムカウンタ405bが指し示す制御プログラムコード格納位置を計算し、主メモリ405上から該当する制御プログラムコード405aをフェッチして実行する(ステップST120)。そして、1つの制御プログラム実行後、プログラムカウンタ一致検出処理407bは、プログラムカウンタ一致要求の有無をチェックする(ステップST121)。このプログラムカウンタ一致要求がなければ次の制御プログラムコード405aの実行へ移る。一方、プログラムカウンタ一致要求があれば、現在のプログラムカウンタ405bと一致要求プログラムカウンタ407cのカウンタ値を取り出し(ステップST22)、比較する(ステップST123)。この結果、不一致であれば次の制御プログラムコード405aの実行へ移る。一方、一致した場合には、アキュムレータや各レジスタ値などの制御プログラム実行時の情報を収集する(ステップST124)。情報の収集が完了した後、または要求処理部406からのプログラムカウンタ一致要求406aがキャンセルされたときなどには、プログラムカウンタ一致要求406aにより登録された一致要求プログラムカウンタ407cのカウンタ値をクリアする(ステップST125)。
【0012】
【発明が解決しようとする課題】
従来の計算機システムは以上のように構成されていたので、前記従来例1の技術では、ホットスタンバイ方式で運用する場合にはトラッキングバッファを分割することなく全データの転送が必要であり、トラッキングのオーバヘッドを抑えることが難しいという課題があった。
【0013】
また、前記従来例2の技術では、制御系でエラーが発生したり、手動操作による系の切り替わりが発生するまで、待機系のアプリケーションプログラムをWAIT状態としておく方式(以下、コールドスタンバイ方式という)では問題とはならないが、前記ホットスタンバイ方式にて運用するシステムにおいては、待機系と制御系で同一アプリケーションプログラムを並行動作させる関係上、待機系にてトラッキング処理を行う際に、該当データが制御系にて書き換え中のタイミングとなる可能性が高く、また一旦制御系と待機系のトラッキング処理タイミングが合致すればそれ以降も連続して書き換え中の状態と重なり、データ読み出し不可状態が続くことが想定され、制御系と待機系のデータ同値化の信頼性が確保されないという課題があった。
【0014】
また、前記従来例3の技術では、登録されたエラー情報に対し、命令のアクセス対象となる入出力カードのエラー情報か命令のアクセス対象以外の入出力カードのエラー情報かの判定が命令実行時に出来ないため、命令のアクセス対象以外の入出力カードが故障のときでもエラーを検出してしまうという課題があった。
【0015】
また、前記従来例4の技術では、プログラムカウンタ一致要求がある場合に、一つの制御プログラム実行毎にプログラムカウンタ一致要求有無のチェックとプログラムカウンタの比較処理を行う必要があり、また、プログラムカウンタの不一致状態が続く間、オーバーヘッドが増大していくという課題があった。
【0016】
この発明は上記のような課題を解決するためになされたものであり、待機系においても制御系と同一のアプリケーションを実行させておく方式において、制御系および待機系、両系のメモリデータを同一値とするトラッキング処理を実現する場合のトラッキングのオーバヘッドを抑制し、前記両系の制御アプリケーションについて同じ処理結果を保証できる計算機システムを得ることを目的とする。
【0017】
また、この発明は、制御系と待機系のトラッキング処理タイミングが合致した場合に対しても、待機系においても制御系と同一のアプリケーションを実行させておく方式における制御系と待機系のデータ同値化の確保と信頼性向上を図れる計算機システムを得ることを目的とする。
【0018】
また、この発明は、命令実行時のエラー情報として、命令のアクセス対象となる入出力カードのエラー情報のみ前記命令ごとに取り出すことが可能な計算機システムを得ることを目的とする。
【0019】
また、この発明は、プログラムカウンタ一致検出処理のオーバーヘッドを削減し、プログラムカウンタ一致要求時の制御プログラム実行速度を向上できる計算機システムを得ることを目的とする。
【0025】
【課題を解決するための手段】
この発明に係る計算機システムは、アプリケーションによって制御系が参照、更新する、前記アプリケーションの起動周期毎のトラッキングデータを、前記起動周期毎のトラッキング処理タイミングにおいて待機系の主メモリへ反映させ、前記待機系でのトラッキング処理タイミングに、前記制御系においてトラッキングデータの書き換え中であった場合、当該起動周期において実行すべきトラッキング処理以外の処理を先に実施した後、トラッキング処理手段が、再度、前記トラッキング処理を実施するようにしたものである。
【0026】
この発明に係る計算機システムは、トラッキング処理以外の処理を先に実施した後、制御系においてトラッキングデータの書き換え中の状態が継続していると、トラッキング処理手段は、当該起動周期における該当トラッキングデータのトラッキング処理を放棄するようにしたものである。
【0030】
【発明の実施の形態】
以下、この発明の実施の一形態について説明する。
実施の形態1.
図1は、この実施の形態1の計算機システムの構成を示すブロック図である。図において、1は常用系(運転系、制御系)システムと待機系システムとを備えたこの実施の形態1の計算機システム、10は常用系システムの制御アプリケーション、11はプログラム命令処理部、12はメモリ、13は制御系のトラッキングバッファ、14は参照アドレス管理テーブルである。また、15は前記常用系システムの制御アプリケーション10と同一の待機系システムの制御アプリケーション、16はプログラム命令処理部、17はメモリ(待機系の主メモリ)、18は待機系のトラッキングバッファである。19は常用系システムと待機系システムとに共用されるトラッキング処理部(トラッキング処理手段)である。
【0031】
20は制御アプリケーション21の作成などを行うための保守ツール、21は保守ツール20が備えている前記作成された制御アプリケーション(ソース)、22は前記制御アプリケーション21をコード化するコード変換処理部、23は前記コード化された制御アプリケーション(コード)、24は前記制御アプリケーションが参照、更新するメモリデータのアドレス情報を抽出する参照アドレス抽出部、25は前記抽出したアドレス情報を保持する参照アドレス保持部である。
【0032】
次に動作について説明する。
この実施の形態1の計算機システムでは、保守ツール20で制御アプリケーション21を作成し、該作成した制御アプリケーション21をコード変換処理部22において計算機システム1が高速に実行可能なコード化した制御アプリケーション23に変換するコード変換処理の中で、前記制御アプリケーションが参照するメモリデータのアドレス情報を参照アドレス抽出部24により抽出し、アプリケーション毎に設けた参照アドレス保持部25ヘ保持する。そして、計算機システム1ヘ前記コード変換処理したアプリケーション23を転送する。
【0033】
図1に示す常用系システムの制御アプリケーション10および待機系システムの制御アプリケーション15は前記転送された制御アプリケーション23により構成されている。
【0034】
そして、前記制御アプリケーション23の転送の際に、参照アドレス保持部25に保持した前記アドレス情報も転送し、そのアプリケーションの起動周期に対応した参照アドレス管理テーブル14に格納する。
【0035】
制御アプリケーション実行時には、起動周期のタイミングで該当起動周期に実行すべきモジュールを実行する。そして、該当起動周期に実行すべきモジュールの実行が全て完了すると、参照アドレス管理テーブル14に格納されている該当起動周期に更新するアドレス分のみのメモリデータをトラッキング処理部19により常用系システムのメモリ12から待機系システムのメモリ17に転送する。
図4は、このトラッキング処理部19によるトラッキング処理を示すタイミングチャートである。これにより、この起動周期で両系において実行された制御アプリケーションの参照データは同じメモリデータとなり、次の起動周期で同じ参照データにより実行されることが保証されるため、同じ実行結果を得ることが出来る。
【0036】
次に、以上の動作を常用系システムにおける動作と待機系システムにおける動作とに分けて説明する。
最初に常用系システムの動作について説明する。
図2は、常用系システムのアプリケーション起動処理とトラッキング処理を示すフローチャートである。先ず、ステップSTlにおいて時刻情報からアプリケーション起動タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST1でアプリケーション起動タイミングかどうかの判定を繰り返す。一方、前記判定の結果が“肯定”の場合にはステップST2へ進み、該当起動周期に設定されたアプリケーションを実行する。そして、次のステップST3において該当起動周期に実行すべきモジュールが全て起動されたか、あるいは、該当起動周期におけるアプリケーションの実行可能時間が終了したかを判定する。
【0037】
この判定の結果が“否定”の場合にはステップST2へ戻り、さらに前記アプリケーションの実行を続ける。一方、ステップST3で“肯定”の場合、続くステップST4へ進み、該当起動周期が起動周期1の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST6へ進む。一方、“肯定”の場合には、ステップST5へ進み、参照アドレス管理テーブル14の起動周期1におけるメモリデータのアドレス情報をもとに、トラッキング処理部19において、常用系システムのメモリ12のデータを待機系システムのメモリ17ヘトラッキング処理し、その後ステップST6へ進む。
【0038】
ステップST6では、該当起動周期が起動周期2の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST1へ戻る。一方、前記判定の結果が“肯定”の場合にはステップST7へ進み、参照アドレス管理テーブル14の起動周期2におけるメモリデータのアドレス情報をもとに、トラッキング処理部19において、常用系システムのメモリ12のデータを待機系システムのメモリ17ヘトラッキング処理し、ステップSTlへ戻る。
【0039】
次に待機系システムにおける動作について説明する。
図3は、待機系システムでのアプリケーション起動処理とトラッキング処理を示すフローチャートである。先ず、ステップST11において時刻情報からアプリケーション起動タイミングかどうかを判定する。この判定の結果、“否定”の場合にはアプリケーション起動タイミングかどうかの判定を繰り返す。一方、“肯定”の場合にはステップST12へ進み、該当起動周期に設定されたアプリケーションを実行する。次のステップST13では該当起動周期に実行すべきモジュールが全て起動されたか、または該当起動周期におけるアプリケーションの実行可能時間の終了かを判定する。この判定の結果が“否定”の場合にはステップST12へ戻り、さらに前記アプリケーションの実行を続ける。一方、前記判定の結果が“肯定”の場合にはステップST14へ進み、常用系システムのトラッキング処理によるトラッキングバッファ18ヘの書込み完了を待つ。続くステップST15では、該当起動周期が起動周期1の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST17へ進む。一方、前記判定の結果が“肯定”の場合には、ステップST16においてトラッキングバッファ18から起動周期1におけるメモリデータであるトラッキングデータを待機系システムのメモリ17ヘ転送し、続いてステップST17へ進む。
【0040】
ステップST17では、該当起動周期が起動周期2の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST11へ戻る。一方、前記判定の結果が“肯定”の場合にはステップST18へ進み、トラッキングバッファ18から起動周期2におけるメモリデータであるトラッキングデータを待機系システムのメモリ17ヘ転送し、ステップST11へ戻る。
【0041】
以上の説明では、アプリケーションの起動周期は2種類であったが、3種類以上の起動周期が混在した場合でもアプリケーション起動周期の判定振り分け処理を追加するだけで同様に実現可能である。
【0042】
以上のように、この実施の形態1によれば、制御アプリケーション実行時に、起動周期のタイミングで該当起動周期に実行すべきモジュールを実行し、該当起動周期に実行すべきモジュールの実行が全て完了すると、参照アドレス管理テーブル14に格納されている該当起動周期に更新するアドレス分のみのメモリデータをトラッキング処理部19により常用系システムのメモリ12から待機系システムのメモリ17に転送する。これにより、この起動周期で両系において実行された制御アプリケーションの参照データは同じメモリデータとなり、次の起動周期で同じ参照データにより実行されることが保証され、常用系システムと待機系システムとで同じ実行結果が得られる計算機システムが得られる効果がある。
【0043】
また、異なる起動周期のアプリケーションを実行する命令の同期を保証できないシステムにおいても、同一命令が参照するソースデータの値について同一であることを保証できるため、故障切り替えの際にもアプリケーションの再実行をすることなく、瞬時に切り替えることが出来る計算機システムが得られる効果がある。
【0044】
なお、以上の説明では、参照アドレス抽出部24を保守ツール20側に設けた例を示したが、計算機システム1側に設け、アプリケーション転送時に前記アドレス情報を抽出し参照アドレス管理テーブル14に格納することでも同様の効果を得ることが出来る。
【0045】
実施の形態2.
図5は、この実施の形態2の計算機システムの構成を示すブロック図である。図において、31は制御系(常用系)の計算機システム、32は制御系の計算機システム31の中央演算処理装置(トラッキング処理手段)、33は主メモリ、33aはソースメモリ、33bはトラッキングデータ転送用バッファ、34はトラッキングメモリ、35はトラッキング転送用DMA(トラッキング処理手段)、36は演算実行処理、37はソースメモリ33aからモジュールAの実行に伴うトラッキングデータを抽出し、トラッキングデータ転送用バッファ33bへ格納するトラッキングデータ抽出処理、38はトラッキング転送DMA起動処理、39はトラッキングデータ転送用バッファ33bからトラッキングデータをトラッキング転送用DMA35によりトラッキングメモリ34へ転送するDMA転送処理を示す。
【0046】
40は待機系の計算機システム、41は待機系の計算機システム40の中央演算処理装置(トラッキング処理手段)、42は主メモリ、42aはソースメモリ、42bはトラッキングデータ転送用バッファ、43はトラッキング転送用DMA(トラッキング処理手段)、44は演算実行処理、45はトラッキングデータ取込処理、46はトラッキング転送DMA起動処理、47はDMA転送処理、48はトラッキングバスを示す。
【0047】
次に動作について説明する。
最初に制御系の計算機システム31のトラッキング関連動作について説明する。
図8は、制御系の計算機システム31のトラッキング関連動作を示すフローチャートであり、先ず、ステップST21においてアプリケーションプログラムの起動タイミングを判定し、この判定の結果が“否定”であれば前記アプリケーションプログラムの起動タイミングについての判定を繰り返す。一方、前記判定の結果が“肯定”であれば、続くステップST22において該当する前記アプリケーションプログラムを実行する。続くステップST23では、前記アプリケーションプログラムの実行完了、または、1起動周期内におけるアプリケーション実行可能時間が終了したか否かを判定し、この判定の結果が“否定”であればステップST22へ戻り、前記アプリケーションプログラムの実行を続行する。一方、前記ステップST23における判定の結果が“肯定”であればステップST24へ進み、制御系トラッキング処理を行う。
【0048】
この制御系トラッキング処理は、ソースメモリ33aからモジュールAの実行に伴うトラッキングデータを抽出し、トラッキングデータ転送用バッファ33bへ格納するトラッキングデータ抽出処理37と、トラッキングデータ転送用バッファ33bから前記トラッキングデータをトラッキング転送用DMA35によりトラッキングメモリ34へ転送するDMA転送処理39である。
【0049】
この制御系トラッキング処理が完了すると、続くステップST25において前記起動周期内で処理すべき通信処置を実行し、さらに次のステップST26でI/O入出力処理等を実行し、ステップST21へ戻り、次の起動周期まで待機する。
【0050】
以上のように、この制御系の計算機システム31では各起動周期毎に前記アプリケーションプログラムの実行からI/O入出力処理までを繰り返し行う。
【0051】
次に、待機系システムの計算機40のトラッキング関連処理動作について説明する。
図9は、待機系システムの計算機40のトラッキング関連処理動作を示すフローチャートであり、先ず、ステップST31においてアプリケーションプログラムの起動タイミングを判定し、この判定の結果が“否定”であれば前記アプリケーションプログラムについての起動タイミングの判定を繰り返す。一方、前記判定の結果が“肯定”であれば、続くステップST32において該当する前記アプリケーションプログラムを実行する。続くステップST33では、前記アプリケーションプログラムの実行完了、または、1起動周期内におけるアプリケーション実行可能時間が経過したか否かを判定し、この判定の結果が“否定”であればステップST32へ戻り、前記アプリケーションプログラムの実行を続行する。一方、前記ステップST33における判定の結果が“肯定”であればステップST34へ進み、該当するトラッキングメモリ34が制御系トラッキング処理により書き換え中か否かのチェックを行い、この結果、書き換え中であった場合には該当するトラッキング処理を行なわず、ステップST38でこの起動周期で処理すべき通信処理を実行し、さらに続くステップST39でI/O入出力処理等を実施し、これら通信処理およびI/O入出力処理完了後、ステップST40で再度該当するトラッキングメモリ34の書き換え中か否かについてチェックを行う。このとき、該当するトラッキングメモリ34の書き換えが完了していれば、ステップST41で待機系トラッキング処理を行うが、未だ該当するトラッキングメモリが書き換え中であった場合には、ステップST31へ戻り、この起動周期での待機系トラッキング処理は行なわずに、次の起動周期まで待機する。
【0052】
前記ステップST34において書き換え中か否かのチェックを行なった結果、書き換え中でない場合、続くステップST35で待機系トラッキング処理を行い、その完了後、次のステップST36で通信処理を実行し、さらに次のステップST37でI/O入出力処理等を実施し、ステップST31へ戻り、次の起動周期まで待機する。
【0053】
この場合の待機系の計算機システム40で行う待機系トラッキング処理は、トラッキングメモリ34から前記トラッキングデータを待機系の計算機システム40のトラッキングデータ転送用バッファ42bへ、トラッキング転送用DMA43を介して転送するDMA転送処理47と、トラッキングデータ転送用バッファ42bのトラッキングデータをソースメモリ42aへ取り込むトラッキングデータ取込処理45などである。
【0054】
そして、各起動周期毎に、アプリケーションプログラムの実行からI/O入出力処理、または待機系トラッキング処理のリトライまでを繰り返し行う。
【0055】
図6は、図8のフローチャートに示した制御系システムのトラッキング関連処理動作と図9のフローチャートに示した待機系システムのトラッキング関連処理動作を、1起動周期についてタイミングチャートとして示した説明図である。
【0056】
図7は1起動周期を5msecとした場合に、起動周期が5msec、実行所要時間が2msecで動作するモジュールAと、起動周期が20msec、実行所要時間が5msecで動作するモジュールBの2つのモジュールが登録された場合を想定し、1起動周期を5msec、アプリケーション実行可能時間4msecとした場合の制御系システムまたは待機系システムのトラッキング関連処理動作をタイミングチャートとして示した説明図である。
【0057】
図7に示すタイミングチャートを制御系の計算機システム31におけるトラッキング関連処理動作とした場合、符号T1,T2で示す期間はモジュールAに関連したメモリデータについての制御系トラッキング処理期間、符号T3,T4で示す期間はモジュールA,Bに関連したメモリデータについての制御系トラッキング処理期間である。
【0058】
また、図7に示すタイミングチャートを待機系の計算機システム40におけるトラッキング関連処理動作とした場合、符号T1,T2で示す期間はモジュールAに関連したメモリデータについての待機系トラッキング処理期間、符号T3,T4で示す期間はモジュールA,Bに関連したメモリデータについての待機系トラッキング処理期間である。
【0059】
以上のように、この実施の形態2によれば、制御系の計算機システム31と待機系の計算機システム40ともにアプリケーションプログラムを実行させておくホットスタンバイ方式、制御系の計算機システム31でエラーが発生したり、手動操作による系の切り替わりが発生するまで、待機系の計算機システム40のアプリケーションプログラムをWAIT状態としておくコールドスタンバイ方式いずれにおいても、トラッキング処理のオーバーヘッド時間を最短に押さえつつ、制御系の計算機システム31と待機系の計算機システム40のソースメモリ33a,42aの内容を常に同値化できる計算機システムが得られる効果がある。
【0060】
実施の形態3.
図10は、この実施の形態3の計算システムの構成を示すブロック図である。
なお、この計算機システムは、CPUカード、入出力I/Fカード、および複数の入出力アドレスを持った複数の分散型の入出力カードなどから構成される計算機システムである。図において、51はプロセッサ、52はCPUカード(エラー情報取得手段)、52aは命令実行部、52bは初期化処理部、52cはエラー情報アドレステーブルである。53は入出力I/Fカード、53aはエラー情報テーブル、53bは接続情報テーブル、54−1から54−Nは入出力カード、54a−1は入出力カード54−1のデータ領域、54a−Nは入出力カード54−Nのデータ領域、55はCPUカード52と入出力I/Fカード53とを接続した制御バス、56は入出力I/Fカード53と入出力カード54−1,…,54−Nとを接続した入出力バスである。
【0061】
プロセッサ51は、CPUカード52と、入出力I/Fカード53と、前記CPUカード52と前記入出力I/Fカード53とを接続した制御バス55とを備えていることを示す。前記CPUカード52は、初期化処理部52bと、その初期化処理部52bが生成するエラー情報アドレステーブル52cと、命令実行部52aとを備えている。
【0062】
入出力I/Fカード53はエラー情報テーブル53aと接続情報テーブル53bとを備え、入出力バス56を介して入出力カード54−1,…,54−Nと接続されている。前記入出力カード54−1,…,54−Nはデータ領域54a−1,…,54a−Nを備えている。
【0063】
エラー情報アドレステーブル52cは、入出力アドレスと、その入出力アドレスに対応したエラー情報テーブルの入出力カードアドレスとが格納されたテーブルである。
【0064】
エラー情報テーブル53aは、各入出力カード54−1,…,54−Nごとにそのエラー情報が格納されたテーブルである。
【0065】
接続情報テーブル53bは、入出力カードと、その入出力カードに対応するサイズ情報(例えば、ポートの数)とを格納したテーブルである。
【0066】
図11は、エラー情報アドレステーブル52cの構成を示す説明図である。図12は、入出力I/Fカード53のメモリマップ57、エラー情報テーブル53a、接続情報テーブル53bの構成を示す説明図である。
【0067】
次に動作について説明する。
図13は、この計算機システムにおける初期化時のエラー情報アドレステーブル登録動作を示すフローチャートである。図14は、命令実行時のエラー情報の取り出し動作を示すフローチャートである。
図13に示すフローチャートにおいて、先ず、初期化時に、ステップST51において入出力アドレスの指定が行われると、続くステップST52において、前記CPUカード52の初期化処理部52bは前記指定された入出力アドレスに対し入出力アドレス単位で入出力I/Fカード53の接続情報テーブル53bを読み出す。続くステップST53では、前記接続情報テーブル53bから対応する入出力カード54−1,…,54−Nの入出力ポート数などのサイズ情報を取り出し各入出力カード54−1,…,54−Nのアドレスを計算する。
【0068】
そして、次のステップST54では、前記計算した各入出力カード54−1,…,54−Nのアドレスから、前記入出力アドレスに対応する入出力カード54−1,…,54−Nのエラー情報テーブル53aにおける入出力カードアドレスを取り出し、続くステップST55で前記取り出したエラー情報テーブル53aにおける入出力カードアドレスを前記入出力アドレスに対応させてエラー情報アドレステーブル52cに保存する。
【0069】
そして、次のステップST56では、順次、同様に次の入出力アドレスを指定し、ステップST57でエンドアドレスと判定されるまで、前記指定した入出力アドレスに対応するエラー情報テーブル53aの入出力カードアドレスを入出力の最終アドレスまでエラー情報アドレステーブル52cへ保存していく。
【0070】
次に、命令実行時には、図14のフローチャートに示すように、先ずステップST61で前記CPUカード52の命令実行部52aは入出力アドレスをアクセスした後、続くステップST62でエラー情報アドレステーブル52cから前記入出力アドレスをもとにエラー情報テーブル53aの入出力カードアドレスを取り出す。次に、ステップST63において該当する入出力カード54−1,…,54−Nのエラー情報を、前記取り出した入出力カードアドレスをもとにそのエラー情報テーブル53aより取り出す。
【0071】
そして、続くステップST64でエラーがあるかどうかを判定し、この判定の結果、エラーがなければステップST66へ進み、次のアドレスを取り出す。一方、ステップST64においてエラーがあれば、ステップST65へ進んで前記入出力アドレスをアクセスした命令に対しエラー情報を登録する。
【0072】
以上のように、この実施の形態3によれば、命令のアクセス対象となる入出力カードのエラー情報のみを、命令実行時にエラー情報のアドレスを計算することなく前記命令ごとに取り出すことが出来、また、入出力カードの変更等により入出力のアドレスが変更された場合や入出力カードが拡張された場合にも対応できる計算機システムが得られる効果がある。
【0073】
実施の形態4.
図15は、この実施の形態4の計算機システムにおけるプログラムカウンタ一致検出処理を実現する構成を示すブロック図である。図において、60は計算機システムのプロセッサ、61はプロセッサ60の実行に必要な制御プログラムコード、制御データ、および起動管理テーブル等の制御情報の開発と保守を行う保守ツールである。
【0074】
また、62はプロセッサ60の主メモリ、62aは前記制御プログラムコード、62bは制御プログラムコード62aの実行位置を指し示すプログラムカウンタ、64は保守ツール61から送られてきた制御情報をプロセッサ60に登録する要求処理部、64aは保守ツール61からの保守操作情報であるプログラムカウンタ一致要求、63は制御プログラムコード62aを実行するプログラム実行部、63aは制御プログラムコード62aの実行をサポートするプログラム実行処理である。63bは制御プログラムコード62aにプログラムカウンタ一致フラグが登録されているかをチェックするプログラムカウンタ一致検出処理(プログラムカウンタ一致検出処理手段)、65は一致要求プログラムカウンタ、66は一致フラグ登録処理(一致検出情報登録手段)である。
【0075】
一致フラグ登録処理66は、制御プログラムのプログラムカウンタ一致要求があると、あらかじめ制御プログラムの実行前に、一致要求されたプログラムカウンタ62bのカウンタ値をもとに該当する制御プログラムコード位置を計算し、その該当する制御プログラムコード内にプログラムカウンタ一致フラグを設定するものであり、制御プログラムコード62aを実行する前に、保守ツール61からのプログラムカウンタ一致要求64aにより、要求処理部64から要求された一致要求プログラムカウンタ65のカウンタ値に従って主メモリ62上の制御プログラムコード62aにプログラムカウンタ一致フラグを登録する。
【0076】
次に動作について説明する。
図16は、この実施の形態4の計算機システムにおけるプログラムカウンタ一致検出処理動作を示すフローチャートである。
先ず、ステップST71において、プログラム実行処理63aはプログラムカウンタ62bが指し示す制御プログラムコード格納位置を計算し、主メモリ62上から制御プログラムコード62aをフェッチし実行する。続くステップST72では、制御プログラム実行後、プログラムカウンタ一致検出処理63bは、制御プログラムコード62aにプログラムカウンタ一致フラグが登録されているかをチェックする。この結果、登録されていない場合には次の制御プログラムコード62aのフェッチ、実行に移る。一方、登録されている場合には、ステップST73においてアキュムレータや各レジスタ値などの制御プログラム実行時の情報を収集する。そして、続くステップST74では、情報の収集が完了したり要求処理部64からのプログラムカウンタ一致要求64aがキャンセルされたときなどに制御プログラムコード62aからプログラムカウンタ一致フラグを削除し、次のステップST75において、プログラムカウンタ一致要求64aにより登録された一致要求プログラムカウンタ65をクリアする。
【0077】
以上のように、この実施の形態4によれば、プログラムカウンタ一致要求があるときの制御プログラム実行前に、制御プログラム内に一致情報としてプログラムカウンタ一致フラグを登録することにより、1制御プログラム実行毎のプログラムカウンタ一致検出のための処理を前記プログラムカウンタ一致フラグが登録されているかいないかを判定するだけで行うことが出来、1制御プログラム実行毎のプログラムカウンタ一致検出のオーバーヘッドを削減することが出来、プログラムカウンタ一致要求時の制御プログラム実行速度を向上できる計算機システムが得られる効果がある。
【0078】
また、初期状態の制御プログラムコード62aをフラッシュメモリやバックアップSRAMメモリに登録し、計算機システムの立ち上がり時に主メモリ62上にコピーして使用することにより、プログラムカウンタ一致フラグが制御プログラムコード62a内に登録された状態でシステムリセットされた場合でも、再立ち上がり時に主メモリ62上へコピーし直すことで初期状態の制御プログラムコード62aを復旧することが出来る計算機システムが得られる効果がある。
【0084】
【発明の効果】
この発明によれば、アプリケーションによって制御系が参照、更新する、前記アプリケーションの起動周期毎のトラッキングデータを、前記起動周期毎のトラッキング処理タイミングにおいて待機系の主メモリへ反映させるトラッキング処理手段を備えるように構成したので、待機系においても制御系と同一のアプリケーションを実行させておく方式において、前記制御系および前記待機系、両系のメモリデータを同一値とするトラッキング処理を実現する場合のオーバヘッドが抑制でき、前記両系の制御アプリケーションについて同じ処理結果を保証でき、前記待機系でのトラッキング処理タイミングに、前記制御系においてトラッキングデータの書き換え中であった場合、当該起動周期において実行すべきトラッキング処理以外の処理を先に実施した後、トラッキング処理手段が、再度、前記トラッキング処理を実施するように構成したので、前記制御系と待機系のトラッキング処理タイミングが合致した場合に対しても、待機系においても制御系と同一のアプリケーションを実行させておく方式における前記制御系と前記待機系のメモリデータの同値化を確保でき信頼性向上を図れる効果がある。
【0085】
この発明によれば、トラッキング処理以外の処理を先に実施した後、制御系においてトラッキングデータの書き換え中の状態が継続していると、トラッキング処理手段が、当該起動周期における該当トラッキングデータのトラッキング処理を放棄するように構成したので、待機系においても制御系と同一のアプリケーションを実行させておく方式、制御系でエラーが発生したり、手動操作による系の切り替わりが発生するまで、待機系のアプリケーションプログラムをWAIT状態としておく方式いずれに対しても、トラッキング処理のオーバーヘッド時間を最短に押さえつつ、前記制御系と前記待機系のメモリデータの内容を常に同値化できる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1の計算機システムの構成を示すブロック図である。
【図2】 この発明の実施の形態1の計算機システムにおける常用系システムのアプリケーション起動処理とトラッキング処理を示すフローチャートである。
【図3】 この発明の実施の形態1の計算機システムにおける待機系システムでのアプリケーション起動処理とトラッキング処理を示すフローチャートである。
【図4】 この発明の実施の形態1の計算機システムにおけるトラッキング処理部によるトラッキング処理を示すタイミングチャートである。
【図5】 この発明の実施の形態2の計算機システムの構成を示すブロック図である。
【図6】 この発明の実施の形態2の計算機システムにおける常用系システムおよび待機系システムのトラッキング関連処理動作を示すタイミングチャートである。
【図7】 この発明の実施の形態2の計算機システムにおける制御系システムまたは待機系システムのトラッキング関連処理動作をタイミングチャートとして示した説明図である。
【図8】 この発明の実施の形態2の計算機システムにおける制御系システムのトラッキング関連動作を示すフローチャートである。
【図9】 この発明の実施の形態2の計算機システムにおける待機系システムのトラッキング関連動作を示すフローチャートである。
【図10】 この発明の実施の形態3の計算機システムの構成を示すブロック図である。
【図11】 この発明の実施の形態3の計算機システムにおけるエラー情報アドレステーブルの構成を示す説明図である。
【図12】 この発明の実施の形態3の計算機システムにおける入出力I/Fカードのメモリマップとエラー情報テーブルと接続情報テーブルの構成を示す説明図である。
【図13】 この発明の実施の形態3の計算機システムにおける初期化時のエラー情報アドレステーブル登録動作を示すフローチャートである。
【図14】 この発明の実施の形態3の計算機システムにおける命令実行時のエラー情報の取り出し動作を示すフローチャートである。
【図15】 この発明の実施の形態4の計算機システムの構成を示すブロック図である。
【図16】 この実施の形態4の計算機システムにおけるプログラムカウンタ一致検出処理動作を示すフローチャートである。
【図17】 特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図である。
【図18】 特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図である。
【図19】 特開平4−367903号公報に開示された従来の二重化計算機システムにおける二重化計算機システムの動作を示すフローチャートである。
【図20】 特開平4−332002号公報に示された従来の計算機システムを示す構成図である。
【図21】 特開平4−332002号公報に示された従来の計算機システムの入出力I/Fカードのメモリマップを示す説明図である。
【図22】 特開平4−332002号公報に示された従来の計算機システムの動作を示すフローチャートである。
【図23】 特開平4−332002号公報に示された従来の計算機システムにおける制御プログラム実行時のプログラムカウンタ一致処理を示す構成図である。
【図24】 特開平4−332002号公報に示された従来の計算機システムにおける制御プログラム実行部によるプログラムカウンタ一致検出動作を示すフローチャートである。
【符号の説明】
1 計算機システム、13 制御系のトラッキングバッファ、14 参照アドレス管理テーブル、17 メモリ(待機系の主メモリ)、18 待機系のトラッキングバッファ、19 トラッキング処理部(トラッキング処理手段)、24 参照アドレス抽出部、31 制御系の計算機システム、32,41 中央演算処理装置(トラッキング処理手段)、35,43 トラッキング転送用DMA(トラッキング処理手段)、40 待機系の計算機システム、52 CPUカード(エラー情報取得手段)、52c エラー情報アドレステーブル、53 入出力I/Fカード、53a エラー情報テーブル、53b 接続情報テーブル、54−1,…,54−N 入出力カード、63b プログラムカウンタ一致検出処理(プログラムカウンタ一致検出処理手段)、66 一致フラグ登録処理(一致検出情報登録手段)。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system suitable for application to, for example, a programmable controller.
[0002]
[Prior art]
Conventional Example 1
FIG. 17 is a block diagram showing a conventional dual computer system disclosed in, for example, Japanese Patent Laid-Open No. 4-367903. In the figure, 100 is a control system or operation system programmable controller, 110 is a standby system programmable controller, 101. Is a tracking buffer for the operating system, 111 is a tracking buffer for the standby system, 102 is a buffer dividing means for the operating system, 112 is a buffer dividing means for the standby system, and 115 is a tracking cable. In this conventional dual computer system configuration, it is determined whether the scan cycle of the program that references the data to be tracked is high speed or low speed, the amount of data handled by each program is calculated, and the high speed tracking data or low speed tracking data is used. Split the buffer into At the time of tracking processing, it is determined whether only high-speed tracking, only low-speed tracking, or both are necessary, and a tracking buffer is selected to perform tracking processing.
[0003]
This conventional redundant computer system is constructed as a system that suppresses overhead as much as possible by dividing the tracking buffer. In the standby system, the same application as the operation system is executed (hereinafter referred to as the hot standby system). When operating this system, there is no means to synchronize the timing at which the tracking buffer data is reflected in the standby system and the application startup cycle, so the memory data referenced in the application is the same in the operating system and the standby system. It cannot be completely guaranteed that there is, and it is difficult to guarantee the same processing result in both systems.
[0004]
Conventional Example 2
FIG. 18 is a block diagram showing a conventional dual computer system disclosed in, for example, Japanese Patent Laid-Open No. 4-367903. In the figure, 200 is a control processor, 210 is a standby processor, and 201 is a control processor. Reference numeral 200 denotes a tracking buffer, 211 denotes a tracking buffer of the standby processor 210, 202 denotes buffer dividing means of the control processor 200, 212 denotes buffer dividing means of the standby processor 210, and 215 denotes a tracking cable.
[0005]
Next, the operation of this redundant computer system will be described. FIG. 19 is a flowchart showing the operation of this redundant computer system. When the control processor 200 performs data tracking, the buffer dividing means 202 determines whether the scan cycle of the program that uses the data to be tracked is high or low. And the amount of data handled by each program is calculated (step ST100). Then, the number of blocks in the tracking buffer 201 is calculated from the obtained data amount and the size of the tracking buffer 201 (step ST101). Then, when tracking data, check the tracking method whether high-speed tracking only, low-speed tracking only, or both high-speed and low-speed tracking are required (step ST102), and select a high-speed, low-speed, and mixed division method. (Step ST103, Step ST104, Step ST105), tracking processing is performed.
[0006]
Conventional Example 3
FIG. 20 is a block diagram showing a conventional computer system disclosed in, for example, Japanese Patent Laid-Open No. 4-332002. In the figure, 301 is a processor, 302 is a CPU card, 302a is an instruction execution unit of the processor 301, 303 is an input / output I / F card, 303a is input / output card error information, 304-1, ..., 304-N are input / output. Cards 304a-1,..., 304a-N indicate data areas of the input / output cards 304-1,. Reference numeral 305 denotes a control bus connecting the CPU card 302 and the input / output I / F card 303, and reference numeral 306 denotes an input / output bus connecting the input / output I / F card 303 to each of the input / output cards 304-1,. It is.
[0007]
The processor 301 is composed of a CPU card 302 and an input / output I / F card 303 connected to the CPU card 302 via a control bus 305. The CPU card 302 includes data areas 304a-1,..., 304a- of the input / output cards 304-1,..., 304-N via the input / output I / F card 303 and the input / output bus 306 in the instruction execution unit 302a. N is accessed.
Error information when the instruction execution unit 302a accesses the input / output cards 304-1,..., 304-N can be recognized by reading the input / output card error information 303a of the input / output I / F card 303. That is, the error information can be recognized as error information of the input / output cards 304-1,..., 304-N.
[0008]
A memory map 307 of the input / output I / F card 303 of this computer system is shown in FIG. This memory map 307 includes a memory space allocated to the input / output cards 304-1,..., 304-N and the input / output card error information 303a.
[0009]
Next, the operation of this computer system will be described with reference to the flowchart shown in FIG. First, the instruction execution unit 302a of the CPU card 302 accesses the data areas 304a-1, ..., 304a-N of the input / output cards 304-1, ..., 304-N (step ST111), and the input / output I / F card. The input / output card error information 303a of 303 is read (step ST112). Then, it is determined whether or not there is an error based on the read input / output card error information 303a (step ST113). If there is no error, the input / output card error information 303a of the next address is extracted (step ST115). On the other hand, if there is an error in step ST113, error information is registered (step ST114).
[0010]
Conventional Example 4
FIG. 23 is a block diagram showing a program counter matching process when a control program is executed in a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002. In the figure, 401 is a maintenance tool for developing and maintaining control information such as control program code, control data, and startup management table necessary for execution of the processor 500. 405 is a main memory of the processor 500, 405a is the control program code, 405b is a program counter indicating the execution position of the control program code 405a as its counter value, and 406 is registered with the processor 500 the control information sent from the maintenance tool 401 406a is a program counter matching request that is maintenance operation information from the maintenance tool 401, 407 is a program execution unit that executes the control program code 405a, and 407a is a program execution process that supports execution of the control program code 405a. is there. The program counter coincidence detection process 407b detects a coincidence between the counter value of the coincidence request program counter 407c registered by the program counter coincidence request 406a from the request processing unit 406 and the counter value of the program counter 405b.
[0011]
Next, the operation will be described with reference to the flowchart shown in FIG.
The flowchart shown in FIG. 24 shows an operation flow in which the program execution unit 407 detects the match of the program counter, and the program execution processing 407a calculates the control program code storage location indicated by the current program counter 405b and stores it on the main memory 405. The corresponding control program code 405a is fetched and executed from (step ST120). Then, after executing one control program, the program counter match detection processing 407b checks whether there is a program counter match request (step ST121). If there is no program counter match request, the process proceeds to execution of the next control program code 405a. On the other hand, if there is a program counter match request, the counter values of the current program counter 405b and match request program counter 407c are extracted (step ST22) and compared (step ST123). As a result, if they do not match, the next control program code 405a is executed. On the other hand, if they match, information at the time of execution of the control program such as an accumulator and each register value is collected (step ST124). After the collection of information is completed or when the program counter match request 406a from the request processing unit 406 is canceled, the counter value of the match request program counter 407c registered by the program counter match request 406a is cleared ( Step ST125).
[0012]
[Problems to be solved by the invention]
Since the conventional computer system is configured as described above, in the technique of the conventional example 1, when operating in the hot standby system, it is necessary to transfer all data without dividing the tracking buffer. There was a problem that it was difficult to suppress the overhead.
[0013]
Further, in the technique of the above-described conventional example 2, the standby application program is kept in the WAIT state (hereinafter referred to as a cold standby method) until an error occurs in the control system or the system is switched manually. Although not a problem, in the system operated by the hot standby method, when the tracking process is performed in the standby system because the same application program is operated in parallel in the standby system and the control system, the corresponding data is transferred to the control system. It is highly likely that the timing during rewriting will be reached, and once the tracking processing timing of the control system and standby system match, it will continue to overlap with the state being rewritten and continue to be in an unreadable state. However, there is a problem that the reliability of data equivalence between the control system and standby system is not ensured. Was Tsu.
[0014]
In the technique of the conventional example 3, it is determined whether the error information of the input / output card that is the access target of the instruction or the error information of the input / output card other than the access target of the instruction with respect to the registered error information when the instruction is executed. Since this is not possible, there is a problem in that an error is detected even when an input / output card other than the instruction access target fails.
[0015]
Further, in the technique of the conventional example 4, when there is a program counter match request, it is necessary to perform a program counter match request check and a program counter comparison every time one control program is executed. There was a problem that the overhead increased while the inconsistency state continued.
[0016]
The present invention has been made in order to solve the above-described problems. In the system in which the same application as the control system is executed in the standby system, the memory data in the control system, the standby system, and both systems are the same. It is an object of the present invention to obtain a computer system capable of suppressing the tracking overhead when realizing the tracking processing as a value and guaranteeing the same processing result for the control applications of both systems.
[0017]
In addition, the present invention provides data equalization between the control system and the standby system in a system in which the same application as the control system is executed in the standby system even when the tracking processing timings of the control system and the standby system match. The purpose is to obtain a computer system that can secure and improve reliability.
[0018]
It is another object of the present invention to obtain a computer system that can extract only error information of an input / output card as an access target of an instruction for each instruction as error information at the time of instruction execution.
[0019]
Another object of the present invention is to obtain a computer system that can reduce the overhead of the program counter coincidence detection process and improve the control program execution speed when a program counter coincidence is requested.
[0025]
[Means for Solving the Problems]
  The computer system according to the present invention is:The control system is referred to and updated by the application, and the tracking data for each activation cycle of the application is reflected in the main memory of the standby system at the tracking processing timing for each activation cycle.In the tracking processing timing in the standby system,SaidWhen the tracking data is being rewritten in the control system, the tracking processing means performs the tracking processing again after performing processing other than the tracking processing to be executed in the start cycle first. is there.
[0026]
In the computer system according to the present invention, after the processing other than the tracking processing is performed first, and the tracking data is being rewritten in the control system, the tracking processing means The tracking process is abandoned.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described.
Embodiment 1 FIG.
FIG. 1 is a block diagram showing the configuration of the computer system according to the first embodiment. In the figure, reference numeral 1 denotes a computer system according to the first embodiment having an ordinary system (operation system, control system) and a standby system, 10 is a control application of an ordinary system, 11 is a program command processing unit, and 12 is A memory, 13 is a tracking buffer of the control system, and 14 is a reference address management table. Reference numeral 15 denotes a standby system control application that is the same as the normal system control application 10, reference numeral 16 denotes a program command processing unit, reference numeral 17 denotes a memory (standby main memory), and reference numeral 18 denotes a standby tracking buffer. Reference numeral 19 denotes a tracking processing unit (tracking processing means) shared by the normal system and the standby system.
[0031]
20 is a maintenance tool for creating the control application 21, 21 is the created control application (source) included in the maintenance tool 20, 22 is a code conversion processing unit that codes the control application 21, 23 Is a coded control application (code), 24 is a reference address extracting unit for extracting address information of memory data to be referenced and updated by the control application, and 25 is a reference address holding unit for holding the extracted address information. is there.
[0032]
Next, the operation will be described.
In the computer system according to the first embodiment, a control application 21 is created by the maintenance tool 20, and the created control application 21 is converted into a coded control application 23 that can be executed at high speed by the computer system 1 in the code conversion processing unit 22. In the code conversion process to be converted, the address information of the memory data referred to by the control application is extracted by the reference address extracting unit 24 and held in the reference address holding unit 25 provided for each application. Then, the code conversion-processed application 23 is transferred to the computer system 1.
[0033]
The normal system control application 10 and the standby system control application 15 shown in FIG. 1 are constituted by the transferred control application 23.
[0034]
When the control application 23 is transferred, the address information held in the reference address holding unit 25 is also transferred and stored in the reference address management table 14 corresponding to the activation cycle of the application.
[0035]
When executing the control application, a module to be executed in the corresponding activation cycle is executed at the timing of the activation cycle. When the execution of the modules to be executed in the corresponding activation cycle is completed, memory data for only the address updated in the corresponding activation cycle stored in the reference address management table 14 is stored in the memory of the normal system by the tracking processing unit 19. 12 to the memory 17 of the standby system.
FIG. 4 is a timing chart showing the tracking processing by the tracking processing unit 19. As a result, the reference data of the control application executed in both systems in this start cycle becomes the same memory data, and it is guaranteed that the same reference data is executed in the next start cycle, so that the same execution result can be obtained. I can do it.
[0036]
Next, the above operation will be described separately for the operation in the normal system and the operation in the standby system.
First, the operation of the regular system will be described.
FIG. 2 is a flowchart showing application activation processing and tracking processing of the regular system. First, in step ST1, it is determined from the time information whether it is an application activation timing. If the result of this determination is “No”, the determination as to whether it is the application activation timing is repeated in step ST1. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST2, and the application set in the corresponding activation cycle is executed. Then, in the next step ST3, it is determined whether all the modules to be executed in the corresponding activation cycle have been activated or whether the application executable time in the corresponding activation cycle has ended.
[0037]
If the result of this determination is “No”, the process returns to step ST2, and further the execution of the application is continued. On the other hand, if “Yes” in step ST3, the process proceeds to step ST4, where it is determined whether the corresponding activation cycle is the completion timing of the activation cycle 1. If the result of this determination is “No”, the process proceeds to step ST6. On the other hand, if “Yes”, the process proceeds to step ST 5, and the tracking processor 19 stores the data in the memory 12 of the regular system based on the address information of the memory data in the activation period 1 of the reference address management table 14. Tracking processing is performed on the memory 17 of the standby system, and then the process proceeds to step ST6.
[0038]
In step ST6, it is determined whether or not the corresponding activation cycle is the completion timing of activation cycle 2. If the result of this determination is “No”, the process returns to step ST1. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST7, and the tracking processor 19 uses the memory information of the normal system based on the address information of the memory data in the activation period 2 of the reference address management table 14. 12 data is tracked to the memory 17 of the standby system, and the process returns to step STl.
[0039]
Next, the operation in the standby system will be described.
FIG. 3 is a flowchart showing application activation processing and tracking processing in the standby system. First, in step ST11, it is determined from the time information whether it is an application activation timing. If the result of this determination is “No”, it is repeatedly determined whether or not it is the application activation timing. On the other hand, if “Yes”, the process proceeds to step ST12, and the application set in the corresponding activation cycle is executed. In the next step ST13, it is determined whether all modules to be executed in the corresponding activation cycle have been activated or whether the application executable time in the corresponding activation cycle has ended. If the result of this determination is “No”, the process returns to step ST12, and further execution of the application is continued. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST14 and waits for completion of writing to the tracking buffer 18 by the tracking processing of the regular system. In subsequent step ST15, it is determined whether or not the corresponding activation cycle is the completion timing of activation cycle 1. If the result of this determination is “No”, the process proceeds to step ST17. On the other hand, if the result of the determination is “Yes”, the tracking data that is the memory data in the activation cycle 1 is transferred from the tracking buffer 18 to the memory 17 of the standby system in step ST16, and then the process proceeds to step ST17.
[0040]
In step ST17, it is determined whether or not the corresponding activation cycle is the completion timing of the activation cycle 2. If the result of this determination is “No”, the process returns to step ST11. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST18, where the tracking data, which is the memory data in the activation cycle 2, is transferred from the tracking buffer 18 to the memory 17 of the standby system, and the process returns to step ST11.
[0041]
In the above description, there are two types of application start cycles. However, even when three or more types of start cycles are mixed, the application start cycle can be similarly realized by adding the application start cycle determination distribution process.
[0042]
As described above, according to the first embodiment, when the control application is executed, the module to be executed in the corresponding activation cycle is executed at the timing of the activation cycle, and all the modules to be executed in the corresponding activation cycle are completed. Then, the memory data for only the address updated in the corresponding activation cycle stored in the reference address management table 14 is transferred from the memory 12 of the normal system to the memory 17 of the standby system by the tracking processing unit 19. As a result, the reference data of the control application executed in both systems in this startup cycle becomes the same memory data, and it is guaranteed that the same reference data will be executed in the next startup cycle. There is an effect that a computer system capable of obtaining the same execution result can be obtained.
[0043]
In addition, even in a system that cannot guarantee the synchronization of instructions that execute applications with different startup cycles, it can be guaranteed that the source data values referenced by the same instructions are the same, so the application can be re-executed even when switching faults. There is an effect of obtaining a computer system that can be switched instantaneously without having to do so.
[0044]
In the above description, the reference address extraction unit 24 is provided on the maintenance tool 20 side. However, the reference address extraction unit 24 is provided on the computer system 1 side, and the address information is extracted and stored in the reference address management table 14 when the application is transferred. The same effect can be obtained.
[0045]
Embodiment 2. FIG.
FIG. 5 is a block diagram showing the configuration of the computer system according to the second embodiment. In the figure, 31 is a control system (ordinary system) computer system, 32 is a central processing unit (tracking processing means) of the control system 31, 33 is a main memory, 33 a is a source memory, and 33 b is for tracking data transfer. Buffer, 34 is a tracking memory, 35 is a DMA for tracking transfer (tracking processing means), 36 is an operation execution process, 37 is a tracking memory extracted from the source memory 33a, and tracking data is transferred to the tracking data transfer buffer 33b. The tracking data extraction process to be stored, 38 is a tracking transfer DMA activation process, and 39 is a DMA transfer process in which tracking data is transferred from the tracking data transfer buffer 33b to the tracking memory 34 by the tracking transfer DMA 35.
[0046]
40 is a standby computer system, 41 is a central processing unit (tracking processing means) of the standby computer system 40, 42 is a main memory, 42a is a source memory, 42b is a tracking data transfer buffer, and 43 is a tracking transfer. DMA (tracking processing means), 44 is an operation execution process, 45 is a tracking data fetch process, 46 is a tracking transfer DMA activation process, 47 is a DMA transfer process, and 48 is a tracking bus.
[0047]
Next, the operation will be described.
First, the tracking-related operation of the control computer system 31 will be described.
FIG. 8 is a flowchart showing the tracking-related operation of the computer system 31 of the control system. First, the activation timing of the application program is determined in step ST21. If the result of this determination is “No”, the application program is activated. Repeat the determination on timing. On the other hand, if the result of the determination is “Yes”, the corresponding application program is executed in subsequent step ST22. In the subsequent step ST23, it is determined whether or not the execution of the application program has been completed, or whether or not the application executable time within one activation cycle has ended. If the result of this determination is “No”, the process returns to step ST22. Continue execution of the application program. On the other hand, if the result of determination in step ST23 is “Yes”, the process proceeds to step ST24, where control system tracking processing is performed.
[0048]
In this control system tracking process, tracking data associated with the execution of module A is extracted from the source memory 33a and stored in the tracking data transfer buffer 33b. The tracking data is extracted from the tracking data transfer buffer 33b. This is a DMA transfer process 39 for transferring to the tracking memory 34 by the tracking transfer DMA 35.
[0049]
When this control system tracking process is completed, a communication procedure to be processed within the start cycle is executed in the subsequent step ST25, and further an I / O input / output process or the like is executed in the next step ST26, and the process returns to step ST21. Wait until the start cycle.
[0050]
As described above, in the computer system 31 of the control system, the execution from the execution of the application program to the I / O input / output processing is repeatedly performed at each start cycle.
[0051]
Next, the tracking related processing operation of the computer 40 of the standby system will be described.
FIG. 9 is a flowchart showing the tracking-related processing operation of the computer 40 of the standby system. First, the activation timing of the application program is determined in step ST31. If the result of this determination is “No”, the application program is determined. Repeat the start timing determination. On the other hand, if the result of the determination is “Yes”, the corresponding application program is executed in the subsequent step ST32. In the following step ST33, it is determined whether or not the application program has been executed or whether the application executable time within one activation cycle has elapsed. If the result of this determination is “No”, the process returns to step ST32. Continue execution of the application program. On the other hand, if the result of the determination in step ST33 is “Yes”, the process proceeds to step ST34, where it is checked whether or not the corresponding tracking memory 34 is being rewritten by the control system tracking process. In this case, the corresponding tracking process is not performed, and the communication process to be processed in this start cycle is executed in step ST38, and the I / O input / output process and the like are further performed in step ST39. After completion of the input / output processing, it is checked again whether or not the corresponding tracking memory 34 is being rewritten in step ST40. At this time, if rewriting of the corresponding tracking memory 34 is completed, standby tracking processing is performed in step ST41. If the corresponding tracking memory is still being rewritten, the process returns to step ST31, and this activation is performed. Waiting until the next start cycle is performed without performing the standby tracking processing in the cycle.
[0052]
As a result of checking whether or not rewriting is in progress in step ST34, if rewriting is not in progress, standby system tracking processing is performed in subsequent step ST35. After the completion, communication processing is executed in next step ST36, and further the next step In step ST37, I / O input / output processing and the like are performed, and the process returns to step ST31 and waits for the next activation cycle.
[0053]
In this case, the standby tracking processing performed in the standby computer system 40 is a DMA that transfers the tracking data from the tracking memory 34 to the tracking data transfer buffer 42b of the standby computer system 40 via the tracking transfer DMA 43. A transfer process 47 and a tracking data fetch process 45 for fetching the tracking data in the tracking data transfer buffer 42b into the source memory 42a.
[0054]
Then, for each activation cycle, the process from the execution of the application program to the retry of the I / O input / output process or standby system tracking process is repeated.
[0055]
FIG. 6 is an explanatory diagram showing the tracking-related processing operation of the control system shown in the flowchart of FIG. 8 and the tracking-related processing operation of the standby system shown in the flowchart of FIG. 9 as a timing chart for one activation cycle. .
[0056]
FIG. 7 shows that when one activation cycle is set to 5 msec, two modules, a module A that operates at a startup cycle of 5 msec and a required execution time of 2 msec, and a module B that operates at a startup cycle of 20 msec and a required execution time of 5 msec. FIG. 10 is an explanatory diagram showing, as a timing chart, tracking-related processing operations of a control system or standby system when one registered period is assumed to be 5 msec and an application executable time is 4 msec.
[0057]
When the timing chart shown in FIG. 7 is a tracking-related processing operation in the control-system computer system 31, the periods indicated by the symbols T1 and T2 are the control-system tracking processing periods for the memory data related to the module A, and the symbols T3 and T4. The period shown is a control system tracking process period for memory data related to modules A and B.
[0058]
When the timing chart shown in FIG. 7 is a tracking-related processing operation in the standby computer system 40, the periods indicated by reference characters T1 and T2 are standby-related tracking processing periods for memory data related to the module A, reference symbols T3 and T3. A period indicated by T4 is a standby tracking process period for memory data related to modules A and B.
[0059]
As described above, according to the second embodiment, an error occurs in the control computer system 31 in the hot standby system where the control computer system 31 and the standby computer system 40 execute application programs. In any of the cold standby systems in which the application program of the standby computer system 40 is kept in the WAIT state until the system is switched by manual operation, the control computer system is kept while keeping the tracking processing overhead time to a minimum. Thus, there is an effect that a computer system can be obtained in which the contents of the source memories 33a and 42a of the 31 and the standby computer system 40 can always be made equivalent.
[0060]
Embodiment 3 FIG.
FIG. 10 is a block diagram showing the configuration of the calculation system of the third embodiment.
This computer system is a computer system including a CPU card, an input / output I / F card, and a plurality of distributed input / output cards having a plurality of input / output addresses. In the figure, 51 is a processor, 52 is a CPU card (error information acquisition means), 52a is an instruction execution unit, 52b is an initialization processing unit, and 52c is an error information address table. 53 is an input / output I / F card, 53a is an error information table, 53b is a connection information table, 54-1 to 54-N are input / output cards, 54a-1 is a data area of the input / output card 54-1, 54a-N Is a data area of the input / output card 54-N, 55 is a control bus connecting the CPU card 52 and the input / output I / F card 53, 56 is an input / output I / F card 53 and the input / output card 54-1,. 54 is an input / output bus connected to 54-N.
[0061]
The processor 51 includes a CPU card 52, an input / output I / F card 53, and a control bus 55 that connects the CPU card 52 and the input / output I / F card 53. The CPU card 52 includes an initialization processing unit 52b, an error information address table 52c generated by the initialization processing unit 52b, and an instruction execution unit 52a.
[0062]
The input / output I / F card 53 includes an error information table 53a and a connection information table 53b, and is connected to the input / output cards 54-1,. The input / output cards 54-1,..., 54-N include data areas 54a-1,.
[0063]
The error information address table 52c is a table in which an input / output address and an input / output card address of the error information table corresponding to the input / output address are stored.
[0064]
The error information table 53a is a table in which error information is stored for each of the input / output cards 54-1,.
[0065]
The connection information table 53b is a table that stores input / output cards and size information (for example, the number of ports) corresponding to the input / output cards.
[0066]
FIG. 11 is an explanatory diagram showing the configuration of the error information address table 52c. FIG. 12 is an explanatory diagram showing the configuration of the memory map 57, error information table 53a, and connection information table 53b of the input / output I / F card 53.
[0067]
Next, the operation will be described.
FIG. 13 is a flowchart showing an error information address table registration operation at the time of initialization in this computer system. FIG. 14 is a flowchart showing an error information extraction operation during instruction execution.
In the flowchart shown in FIG. 13, first, when an input / output address is designated in step ST51 during initialization, in step ST52, the initialization processing unit 52b of the CPU card 52 sets the designated input / output address. On the other hand, the connection information table 53b of the input / output I / F card 53 is read in units of input / output addresses. In the next step ST53, size information such as the number of input / output ports of the corresponding input / output cards 54-1,..., 54-N is extracted from the connection information table 53b, and each of the input / output cards 54-1,. Calculate the address.
[0068]
In the next step ST54, error information of the input / output cards 54-1,..., 54-N corresponding to the input / output addresses is calculated from the calculated addresses of the input / output cards 54-1,. In step ST55, the input / output card address in the table 53a is extracted, and the input / output card address in the extracted error information table 53a is stored in the error information address table 52c in association with the input / output address.
[0069]
In the next step ST56, the next input / output address is sequentially designated in the same manner, and the input / output card address of the error information table 53a corresponding to the designated input / output address until it is determined as the end address in step ST57. Are stored in the error information address table 52c up to the final input / output address.
[0070]
Next, when executing an instruction, as shown in the flowchart of FIG. 14, the instruction execution unit 52a of the CPU card 52 first accesses the input / output address in step ST61, and then in the subsequent step ST62, the input from the error information address table 52c. Based on the output address, the input / output card address of the error information table 53a is extracted. Next, in step ST63, the error information of the corresponding input / output cards 54-1,..., 54-N is extracted from the error information table 53a based on the extracted input / output card address.
[0071]
In step ST64, it is determined whether there is an error. If there is no error as a result of this determination, the process proceeds to step ST66, and the next address is extracted. On the other hand, if there is an error in step ST64, the process proceeds to step ST65 to register error information for the instruction that accessed the input / output address.
[0072]
As described above, according to the third embodiment, only the error information of the input / output card to be accessed by the instruction can be extracted for each instruction without calculating the address of the error information at the time of executing the instruction. In addition, there is an effect that a computer system can be obtained that can cope with the case where the input / output address is changed due to the change of the input / output card or the input / output card is expanded.
[0073]
Embodiment 4 FIG.
FIG. 15 is a block diagram showing a configuration for realizing the program counter coincidence detection process in the computer system according to the fourth embodiment. In the figure, 60 is a processor of the computer system, and 61 is a maintenance tool for developing and maintaining control information such as control program code, control data, and startup management table necessary for execution of the processor 60.
[0074]
62 is a main memory of the processor 60, 62a is the control program code, 62b is a program counter indicating the execution position of the control program code 62a, and 64 is a request for registering control information sent from the maintenance tool 61 in the processor 60. A processing unit 64a is a program counter matching request that is maintenance operation information from the maintenance tool 61, 63 is a program execution unit that executes the control program code 62a, and 63a is a program execution process that supports the execution of the control program code 62a. 63b is a program counter match detection process (program counter match detection processing means) for checking whether a program counter match flag is registered in the control program code 62a, 65 is a match request program counter, 66 is a match flag registration process (match detection information) Registration means).
[0075]
When there is a program counter match request for the control program, the match flag registration process 66 calculates the corresponding control program code position based on the counter value of the program counter 62b requested to match before executing the control program in advance. The program counter match flag is set in the corresponding control program code, and the match requested from the request processing unit 64 by the program counter match request 64a from the maintenance tool 61 before executing the control program code 62a. A program counter match flag is registered in the control program code 62a on the main memory 62 according to the counter value of the request program counter 65.
[0076]
Next, the operation will be described.
FIG. 16 is a flowchart showing the program counter match detection processing operation in the computer system of the fourth embodiment.
First, in step ST71, the program execution process 63a calculates the control program code storage location indicated by the program counter 62b, and fetches and executes the control program code 62a from the main memory 62. In subsequent step ST72, after executing the control program, the program counter coincidence detection process 63b checks whether a program counter coincidence flag is registered in the control program code 62a. As a result, if it is not registered, the next control program code 62a is fetched and executed. On the other hand, if registered, information at the time of executing the control program such as an accumulator and each register value is collected in step ST73. In the subsequent step ST74, the program counter match flag is deleted from the control program code 62a when information collection is completed or the program counter match request 64a from the request processing unit 64 is canceled, and in the next step ST75. The match request program counter 65 registered by the program counter match request 64a is cleared.
[0077]
As described above, according to the fourth embodiment, before executing the control program when there is a program counter match request, by registering the program counter match flag as match information in the control program, It is possible to perform the process for detecting the program counter coincidence only by determining whether or not the program counter coincidence flag is registered, and the overhead of detecting the program counter coincidence for each control program execution can be reduced. There is an effect that a computer system capable of improving the control program execution speed at the time of the program counter coincidence request can be obtained.
[0078]
In addition, the control program code 62a in the initial state is registered in the flash memory or the backup SRAM memory, and the program counter match flag is registered in the control program code 62a by copying it to the main memory 62 when the computer system starts up. Even when the system is reset in the state of being executed, there is an effect that a computer system can be obtained in which the control program code 62a in the initial state can be restored by copying it back to the main memory 62 at the time of restart.
[0084]
【The invention's effect】
According to this invention,Since the control system is referred to and updated by the application, the tracking data for each activation cycle of the application is provided with tracking processing means for reflecting to the main memory of the standby system at the tracking processing timing for each activation cycle. In the system in which the same application as the control system is executed in the system, the overhead in the case of realizing the tracking processing for setting the memory data of the control system, the standby system, and both systems to the same value can be suppressed. The same processing result can be guaranteed for the control application ofIn the tracking processing timing in the standby system,SaidWhen tracking data is being rewritten in the control system, after performing processing other than the tracking processing to be executed in the start cycle first, the tracking processing means is configured to perform the tracking processing again. Even if the tracking processing timings of the control system and the standby system match, the memory data of the control system and the standby system are made equivalent in a system in which the same application as the control system is executed in the standby system. Can be ensured and the reliability can be improved.
[0085]
According to the present invention, after the processing other than the tracking processing is performed first, if the state in which the tracking data is being rewritten continues in the control system, the tracking processing means performs the tracking processing of the corresponding tracking data in the start cycle. Since the system is configured to abandon the system, the standby system will continue until the same application as the control system is executed in the standby system, until an error occurs in the control system or the system is switched manually. In any of the methods in which the program is set in the WAIT state, there is an effect that the contents of the memory data of the control system and the standby system can always be made equivalent while the tracking processing overhead time is minimized.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system according to a first embodiment of the present invention.
FIG. 2 is a flowchart showing application activation processing and tracking processing of a normal system in the computer system according to Embodiment 1 of the present invention;
FIG. 3 is a flowchart showing an application activation process and a tracking process in the standby system in the computer system according to the first embodiment of the present invention.
FIG. 4 is a timing chart showing tracking processing by a tracking processing unit in the computer system according to Embodiment 1 of the present invention;
FIG. 5 is a block diagram showing a configuration of a computer system according to a second embodiment of the present invention.
FIG. 6 is a timing chart showing tracking-related processing operations of the normal system and the standby system in the computer system according to the second embodiment of the present invention.
FIG. 7 is an explanatory diagram showing, as a timing chart, tracking-related processing operations of the control system or standby system in the computer system according to the second embodiment of the present invention.
FIG. 8 is a flowchart showing tracking-related operations of the control system in the computer system according to the second embodiment of the present invention.
FIG. 9 is a flowchart showing tracking-related operations of the standby system in the computer system according to the second embodiment of the present invention.
FIG. 10 is a block diagram showing a configuration of a computer system according to a third embodiment of the present invention.
FIG. 11 is an explanatory diagram showing a configuration of an error information address table in the computer system according to the third embodiment of the present invention.
FIG. 12 is an explanatory diagram showing the configurations of an input / output I / F card memory map, an error information table, and a connection information table in the computer system according to the third embodiment of the present invention;
FIG. 13 is a flowchart showing an error information address table registration operation at the time of initialization in the computer system according to the third embodiment of the present invention.
FIG. 14 is a flowchart showing an error information extraction operation when an instruction is executed in the computer system according to the third embodiment of the present invention;
FIG. 15 is a block diagram showing a configuration of a computer system according to a fourth embodiment of the present invention.
FIG. 16 is a flowchart showing a program counter match detection processing operation in the computer system according to the fourth embodiment.
FIG. 17 is a block diagram showing a conventional redundant computer system disclosed in Japanese Patent Laid-Open No. 4-367903.
FIG. 18 is a block diagram showing a conventional redundant computer system disclosed in Japanese Patent Laid-Open No. 4-367903.
FIG. 19 is a flowchart showing the operation of the redundant computer system in the conventional redundant computer system disclosed in Japanese Patent Laid-Open No. 4-367903.
FIG. 20 is a block diagram showing a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
FIG. 21 is an explanatory diagram showing a memory map of an input / output I / F card of a conventional computer system disclosed in Japanese Patent Application Laid-Open No. 4-332002.
FIG. 22 is a flowchart showing the operation of a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
FIG. 23 is a block diagram showing program counter matching processing when a control program is executed in a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
FIG. 24 is a flowchart showing a program counter coincidence detection operation by a control program execution unit in a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Computer system, 13 Control system tracking buffer, 14 Reference address management table, 17 Memory (standby system main memory), 18 Standby system tracking buffer, 19 Tracking processing part (tracking processing means), 24 Reference address extraction part, 31 Computer system of control system, 32, 41 Central processing unit (tracking processing means), 35, 43 DMA for tracking transfer (tracking processing means), 40 Computer system of standby system, 52 CPU card (error information acquisition means), 52c Error information address table, 53 I / O I / F card, 53a Error information table, 53b Connection information table, 54-1, ..., 54-N I / O card, 63b Program counter match detection processing (program counter match detection processing means , 66 match flag registration process (matching detection information registration means).

Claims (2)

中央演算処理装置と主メモリを有する制御系と待機系の両系で同一のアプリケーションの命令を実行する、二重系で構成された計算機システムにおいて、
前記アプリケーションによって前記制御系が参照、更新する、前記アプリケーションの起動周期毎のトラッキングデータを、前記起動周期毎のトラッキング処理タイミングにおいて前記待機系の主メモリへ反映させ、
前記待機系でのトラッキング処理タイミングに、前記制御系においてトラッキングデータの書き換え中であった場合、当該起動周期において実行すべきトラッキング処理以外の処理を先に実施した後、再度、前記トラッキング処理を実施するトラッキング処理手段を備えたことを特徴とする計算機システム。
In a computer system configured with a dual system that executes instructions of the same application in both a control system and a standby system having a central processing unit and a main memory,
The tracking data for each activation cycle of the application, which is referred to and updated by the control system by the application, is reflected in the main memory of the standby system at the tracking processing timing for each activation cycle,
The tracking processing timing in the standby, indicating an in rewriting the tracking data in the control system, after performing a process other than the tracking process should be performed in the activation period before again performing the tracking process A computer system comprising a tracking processing means.
トラッキング処理手段は、
トラッキング処理以外の処理を先に実施した後、制御系においてトラッキングデータの書き換え中の状態が継続していると、当該起動周期における該当トラッキングデータのトラッキング処理を放棄することを特徴とする請求項記載の計算機システム。
Tracking processing means
The tracking processing of the corresponding tracking data in the start cycle is abandoned when the state in which the tracking data is being rewritten in the control system continues after the processing other than the tracking processing is performed first. The computer system described.
JP2000151828A 2000-05-23 2000-05-23 Computer system Expired - Lifetime JP3910340B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000151828A JP3910340B2 (en) 2000-05-23 2000-05-23 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000151828A JP3910340B2 (en) 2000-05-23 2000-05-23 Computer system

Publications (2)

Publication Number Publication Date
JP2001331201A JP2001331201A (en) 2001-11-30
JP3910340B2 true JP3910340B2 (en) 2007-04-25

Family

ID=18657321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000151828A Expired - Lifetime JP3910340B2 (en) 2000-05-23 2000-05-23 Computer system

Country Status (1)

Country Link
JP (1) JP3910340B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5094460B2 (en) * 2008-02-20 2012-12-12 株式会社日立製作所 Computer system, data matching method, and data matching processing program
JP5509272B2 (en) * 2012-08-03 2014-06-04 株式会社日立製作所 Computer system, data matching method, and data matching processing program
JP6320253B2 (en) * 2014-09-10 2018-05-09 東芝エネルギーシステムズ株式会社 Redundant control system
JP2018156583A (en) * 2017-03-21 2018-10-04 株式会社東芝 Changeover method and monitoring control system

Also Published As

Publication number Publication date
JP2001331201A (en) 2001-11-30

Similar Documents

Publication Publication Date Title
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US6772327B2 (en) Floating point unit pipeline synchronized with processor pipeline
US5664137A (en) Method and apparatus for executing and dispatching store operations in a computer system
US5016169A (en) Data processor capable of correctly re-executing instructions
JPH0752399B2 (en) Storage system
US5751986A (en) Computer system with self-consistent ordering mechanism
WO2015138312A1 (en) Method and apparatus for transfer of wide command and data between a processor and coprocessor
EP0144249B1 (en) Buffer storage system
CN102184127A (en) Method for realizing pre-execution of processor and corresponding device
JPH0670779B2 (en) Fetch method
US20230350681A1 (en) Mechanism for interrupting and resuming execution on an unprotected pipeline processor
EP1622000A2 (en) Multi-threaded processor and register control method
CN105389271A (en) System and method for performing hardware prefetch table query with minimum table query priority
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
JP3910340B2 (en) Computer system
US11210098B2 (en) Variable latency instructions
US6421771B1 (en) Processor performing parallel operations subject to operand register interference using operand history storage
JP3858013B2 (en) Execution of variable-length instructions stored in multiple individual storage address areas
JP2000330791A (en) Computer system and its operating method
JPH0877126A (en) System and method for communication between devices
JPH08137751A (en) Processor device and its control method
JPS6329292B2 (en)
JP3471913B2 (en) Computer system
JP2564290B2 (en) Instruction restart processing method and apparatus
JPH0133856B2 (en)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3910340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100202

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140202

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term