JP2004094966A - 計算機および計算機システム - Google Patents

計算機および計算機システム Download PDF

Info

Publication number
JP2004094966A
JP2004094966A JP2003358162A JP2003358162A JP2004094966A JP 2004094966 A JP2004094966 A JP 2004094966A JP 2003358162 A JP2003358162 A JP 2003358162A JP 2003358162 A JP2003358162 A JP 2003358162A JP 2004094966 A JP2004094966 A JP 2004094966A
Authority
JP
Japan
Prior art keywords
computer
program
address
interrupt
trace
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003358162A
Other languages
English (en)
Inventor
Kenji Kojima
小島 賢二
Yasuharu Fukushima
福島 康晴
Mamoru Miyoshi
三好  守
Masatoshi Saito
斉藤 正年
Hiroyuki Nakano
中野 博之
Akio Toda
戸田 明男
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 JP2003358162A priority Critical patent/JP2004094966A/ja
Publication of JP2004094966A publication Critical patent/JP2004094966A/ja
Priority to CO06044336A priority patent/CO5690618A2/es
Pending legal-status Critical Current

Links

Images

Landscapes

  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Hardware Redundancy (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】 制御プログラムのトレース処理の効率化を図る。
【解決手段】 従来のアドレス一致開始レジスタ403aは、トレースすべきアドレスを全て登録しているが、この発明では、アドレス一致開始レジスタ403aの「トレース終了した後の開始アドレス」は、「次のトレースすべき開始アドレスに書き換える」ので、「トレース終了のアドレス」までトレースの要否を判断する必要がなくなる。即ち、一度トレースデータを収集した制御プログラムをトレース対象範囲から外すことにより、トレースデータ収集済みの制御プログラムアドレスでアドレス一致を検出しないので無駄な判定処理をしなくてよく、ループ制御などの繰り返し実行する部分でのトレースデータ収集のオーバーヘッドが削減され、計算機システムの負荷を軽減する。従って計算機処理の性能向上が図れる。
【選択図】図4

Description

この発明は、制御プログラムを実行してプラントの制御などを行う計算機、および、複数の計算機からなる計算機システムに関するもので、特に処理性能の向上、メンテナンス性の向上などの性能の向上を図るものある。
従来の技術1.
図37は例えば、特許文献1に示された従来の計算機システムを示す構成図である。
図において、1はプロセッサ(計算機)10の実行に必要な制御プログラム5a及び制御データや起動管理テーブル等の制御情報の開発と保守を行う保守ツールで、通常はパソコンなどの端末器が用いられる。
1aは制御プログラム等の制御情報を格納するハードディスク装置である。
2はシステムバス、3はシステムバス2によりプロセッサ10と接続されたIOインタフェース、4は制御対象機器のプラントシステムである。
10はプロセッサ(計算機)であり次に示す構成からなる。
5はプロセッサ10のメモリ、5aは制御プログラム、5bは制御プログラム5aをメモリ5上に格納するときの管理情報を保持するページ管理テーブル、5cは分岐先論理アドレスを格納する分岐ブロックであり、保守ツール1からの制御プログラム5a書き換え要求で指定される分岐ブロック情報を保持する。
分岐ブロック情報は、制御プログラムの先頭からの命令ステップ数を分岐先論理アドレスとして一つまたは複数の分岐先論理アドレスを保持する情報である。
6は保守ツール1から送られてきた制御情報をプロセッサ10に登録する要求処理部、6aは保守ツール1からの制御情報を受信する受信部、6bは制御情報を処理した結果を保守ツール1に送信する送信部である。
6cは保守ツール1からの制御情報を制御プログラム5aとして格納するための処理をするプログラム書き換え処理部、7は制御プログラム5aを実行するプログラム実行部である。
また、図40は、従来の計算機システムのページ管理テーブル5の構成例であり、モジュール分割された個々の制御プログラムの置かれているアドレス(メモリ先頭からの物理オフセットアドレス)をプログラム番号に対応させて保持する。
図41は、従来の計算機システムの分岐命令の構成を示しており、そのオペランド部には、分岐ブロックから分岐先論理アドレスを得るための識別子である分岐先ブロック番号を保持している。
図42は、分岐処理を説明する図で、分岐命令に基づいて分岐処理する場合を示している。図の左のプログラム5がこの場合の処理対象の制御プログラムを表し、このプログラムが図37に示すメモリ5上の制御プログラム5aに格納される。
次に動作について図38及び図39のフローに従って説明する。
先ず、図38のプログラム書き換えが要求された際の処理のフローを説明する。(1)保守ツール1から送られてきたプログラム書き換え処理要求を、要求処理部6の受信部6aが受信し、プログラム書き換え処理部6cに送る。
(2)プログラム書き換え処理部6cは、指定されたモジュールの制御プログラム(図42では、プログラム5)をメモリ部5の制御プログラム5a領域に書き込むと共に(ST000)、
(3)制御プログラム5aへの書き込み位置をメモリ部5の先頭からのオフセットアドレスである物理アドレスで表現し、指定されたプログラム番号に対応させてページ管理テーブル5bに登録する(ST001)。
即ち、図42のようにページ管理テーブル5bは、「プログラム1、プログラム2、・・・」の順に制御プログラム5の各プログラムの先頭からの物理アドレスが「アドレス1、アドレス2、・・アドレス5、・・・」と格納される。
(4)次に、指定されたモジュールの分岐ブロック情報をメモリ部5の分岐ブロック5c領域に書き込む(ST002)。
分岐ブロック5cは、図42のように制御プログラム(プログラム5)内に「分岐命令3」があると、その物理アドレスを分岐ブロック5cの3番目にアドレス4として格納する。
そして、このアドレス4とページ管理プログラム5bのプログラム5の先頭アドレス5とを加えたもの(図42のa)が「分岐先物理アドレス」となり、制御プログラム5aの分岐先の分岐プログラムの位置となる。
図39の分岐命令実行時の分岐命令処理のフローを説明する。
(1)プログラム実行部7は、メモリ部5の制御プログラム5aから命令を抽出し(ST005)、
(2)分岐命令であれば、例えば、図42の分岐命令3であれば(ST006)、
(3)図41に示すオペランド部の分岐先ブロック番号を識別子として使用し、分岐ブロック5c(図42のアドレス4)を参照して分岐先論理アドレスを取り出す(ST007)。
(3)ページ管理テーブル5bの情報(図42のアドレス5)を参照して分岐先論理アドレスを物理アドレスに変換する(ST008)。
(4)変換された物理アドレス(図42のa)を用いてプログラム実行部7は、分岐先の命令を実施する(ST009)。
従来の技術2.
制御プログラムの実行の際、トレースを行いそのトレース情報を収集する場合を説明する。
図37において、プログラム実行部7は、この中に図43の制御プログラム実行のトレース機能を有している。
図43において、400はトレース情報を格納するトレースメモリであり、401のトレースデータ収集部で収集されたトレースデータを格納する。
401のトレースデータ収集部は、401aのトレース履歴レジスタにトレースした履歴を記録しながら、トレースデータを収集する。
402は制御プログラム実行のための制御プログラムアドレスで、実行した制御プログラムのアドレスが格納されている。この制御アドレスはプログラムカウンタが用いられる。
403はアドレス一致検出部であり、402の制御プログラムアドレスを監視する。
403aはアドレス一致開始レジスタ、403bはアドレス一致終了レジスタである。
404は、アドレス一致開始レジスタ403aとアドレス一致終了レジスタ403bの間に制御プログラムアドレス402があることを検出すると出力するトレース要求信号である。
また、図44はトレース履歴レジスタ401aの構造図であり、トレース完了情報(この場合「1」の情報)は、アドレス一致開始アドレスからの相対番号に対応したビット位置に順次格納される。
次に図37の従来の計算機システムがトレースデータを収集する動作について
図45のフローチャートに従って説明する。
(1)アドレス一致検出部403は、制御プログラムアドレス402を監視し、トレース開始アドレス403aとトレース終了アドレス403bの間であると云うトレースデータ収集条件を満たした時、トレース要求信号404を出力する。(ST400)
(2)トレース要求信号404が出力されると、トレースデータ収集部401がこれを検知し(ST401)、
(3)トレース履歴レジスタ401aからトレースデータ収集済みか否かを判定する(ST402)。
(4)トレースデータ収集済みなら、その回のトレース収集処理を終了し、トレースデータ未収集なら、制御プログラムの実行結果、アクセスデータなどのトレースデータを、トレースメモリ400の中の制御プログラムアドレス402に対応した位置に格納する(ST403)。
(5)トレースデータの収集完了後、トレース完了の情報を、トレース履歴レジスタ401a内の制御プログラムアドレス402に対応した位置に格納する(ST404)。
(6)この一連の動作を、検出されたアドレスがトレース終了アドレスか否かを判定し、アドレス一致終了レジスタ403bに設定されたトレース終了アドレスのトレースデータ収集が完了するまで行う(ST405)。
従来の技術3.
従来の計算機システムの制御プログラム書き換え処理の動作について図46のフローチャートを用いて説明する。
なお、構成は図37と同一である。
(1)保守ツール1から新たな制御プログラムが出力されると、要求処理部6がこれを検知し(ST500)、
(2)プログラム実行部7に検知した旨を知らせると共に、受信部6aがその新たな制御プログラムを受信する(ST501)。
(3)受信部6aが変更に関わる制御プログラムが実行中であるか否かを判定し(ST502)、
(4)実行停止ならプログラム書き換え処理部6cに制御プログラム5aの書き換えを指示する(ST503)。
(5)プログラム書き換え処理部6cは、指示を受けて新たな制御プログラム及び管理情報に更新する(ST504)。
(6)必要であれば変更されたプログラムを実行可能にする(ST505)。
(7)制御プログラムが実行途中で他の処理に一時移っている等の実行中であれば実行完了まで待って(ST506)、制御プログラムが停止した後、制御プログラム5aを書き換える。
従来の技術4.
計算機システムの割込処理について説明する。
図47は、例えば特許文献2に示された従来の計算機システムを示すブロック図である。
図において、3はプラントシステム4に接続されている入出力インタフェース(IOインタフェース)である。
605はプラントシステム4からの割込を検出する割込検出部であり、602は割込検出部605が正常検出時に割込番号をセットする割込番号、603は異常検出時にエラー番号をセットするエラー番号、601はIO割込またはエラーをプロセッサ10に通知する割込通知部である。
604は制御対象であるプラントシステム4とプロセッサ10との間で入出力が行われるプラントデータである。
600はIOインタフェース3からの割込通知を受信するIO割込・エラー受信であり、プログラム実行部7に、割込もしくはエラーに対応する制御プログラム5aの起動を指示する。
従来の計算機システムにおけるIO割込通知の動作について説明する。
図48と図49は、従来のIOインタフェース3の割込通知処理およびプロセッサ10の割込受信処理のフローチャートであり、このフローチャートに従って説明する。
(1)割込検出部605がプラントシステム4からの割込検出を行う(ST700)。
(2)割込が正常検出であれば(ST701)、
(3)割込番号602をセットし(ST702)、
(4)割込通知部601がプロセッサ10にIO割込を通知する(ST703)。
(5)一方割込検出が正常検出でなければ、エラー番号603をセットし(ST704)、
(6)割込通知部601がプロセッサ10にIOエラーを通知する(ST705)。
(7)プロセッサ10では、IO割込・エラー受信600がIOインタフェース3からの通知を受信する(ST710)。
(8)IO割込通知であれば(ST711)、
(9)割込番号602の読み込みを行い(ST712)、
(10)読み出した割込番号の制御プログラム5aを起動する(ST713)。
(11)一方IO割込通知でなければ(ST711)、エラー番号603の読み込みを行い(ST714)、
(12)読み出したエラー番号の制御プログラム5aを起動する(ST715)。
従来の技術5.
図50は、例えば、特許文献3に示された従来の故障監視プロセッサの故障処理制御部である。
図において、2は各プロセッサ間を接続するシステムバス、11は計算機システム全体の故障監視を行い外部へ故障処理出力を行うと共にエラー履歴を残す故障監視プロセッサ、10ー1〜10−Nは、演算を主機能とするプロセッサである。
20は現在のシステムバスに接続されたカード構成情報がある構成テーブル部であり図52にその詳細を示す。
21は書き換え可能な不揮発性メモリにマッピングされた現在のシステムバスに接続されているカード分の故障処理設定テーブル部であり各カードでの故障発生時の処理方法を規定している。
22はプロセッサ10ー1〜10ーNからシステムバス2経由で通知される故障情報、23は22の故障情報を元に故障状態を外部に出力する故障出力部、24は構成テーブル部20の生成及び故障処理設定テーブル部21の生成及び故障情報22の受信及び故障出力部23を制御を処理する故障監視部である。
図51は従来の故障処理設定テーブル部21の内部構造である。
図において、30−1はシステムバス2に接続されたカード枚数、 31−1〜31−Nはプロセッサ10ー1〜10ーNが挿入されているスロット番号、
32−1〜32−Nはスロット番号31ー1〜31ーNに示されるスロットに挿入されているカードの種類を判別するカード種別コード、 33−1〜33−Nはそのカードの故障処理の設定内容で構成されており、スロットに挿入されているカード枚数分のみのテーブルに圧縮される。
図52は従来の構成テーブル部20の内部構造である。
図において、30−1bはシステムバス2に接続されたカード枚数、 32−0b〜32−Nbはスロット0〜Nに対応したカードの種類を判別するカード種別コードで構成されており、カード種別コードにデータ(0以外、例えば「1」)が入っていれば、そのスロット番号が有効となる。
次に動作について説明する。
あるプロセッサのカードにパリティエラー等の不具合があり、不良カードを抜き取って、再立ち上げを行った場合、故障監視部24の初期化処理において、現在のシステム構成と再立ち上げ前のシステム構成に変更があるかをチェックする。
このチェックを行うために、構成テーブル部20と前回まで使用されていた故障処理設定テーブル部21のカード構成とを比較する。
比較時に、カードを抜き取りを行っている場合、現在の構成テーブル部20と故障処理設定テーブル部21の情報が異なっているので、故障監視部24はシステムの再構築が行われたと判断し、どの設定内容で稼働すればよいか判断できない。
この場合、前回されていた設定内容は無視して、新規に予め用意していた、例えば、プロセッサの状態が重故障であれば計算機システム状態も重故障といったような標準の故障処理設定データ情報を故障処理設定テーブル部21に上書きして動作していた。
構成テーブル部20と故障処理設定テーブル部21との比較は、故障処理設定テーブル部内部の全カード枚数30ー1と、挿入されているカードのスロット番号31ー1〜31ーNと、カード枚数番号毎のカード種別コード32ー1〜32−Nが構成テーブル部の情報と整合性が取れているかにより判断する。
従来の比較方法を以下図53のフローチャートに従って説明する。
(1)現在のシステムを構成するカード構成が再立ち上げ前のシステムと同じ構成かをチェックするために、構成テーブル部20の全カード枚数30ー1bを読み取り(ST700)、
(2)現在のシステム構成カード枚数が立ち上げ前のシステム構成のカード枚数を示す故障処理設定テーブル部21内の全カード枚数30ー1と一致するかどうか比較する(ST701)。
(3)不一致であれば(ST702)、
(4)システム構成に変更があるため、予め用意していた標準の設定を故障処理設定テーブル部21に書き込む(ST707)。
(5)システム構成カード枚数が一致していれば(ST702)、
(6)次に現在挿入されている有効スロット番号をチェックするために、構成テーブル部20の有効カードのスロット番号が故障処理設定テーブル部21のスロット番号31ー1と一致するか比較する(ST703)。
(7)不一致であれば(ST704)、
(8)標準値を故障処理設定テーブル部21に書き込む(ST707)。
(9)一致していれば(ST704)、
(10)現在そのスロットに挿入されているカードの種類をチェックするために、構成テーブル部20のカード種別コード31ー2bが以前そのスロットに挿入されていたカードの種類を示す故障処理設定テーブル部21のカード種別コード32ー1と一致するか比較する(ST705)。
(11)不一致であれば(ST706)、
(12)予め用意していた標準値を、故障処理設定テーブル部21に書き込む(ST707)。
(13)一致すれば(ST706)、
(14)そのスロット番号に対してカード構成に変更がないため故障処理設定テーブル部21の設定内容33ー1は書き換えない。
(15)上記処理を現在の全カード枚数30ー1b分繰り返し行う(ST708)。
現在のシステム構成と再立ち上げ前のシステム構成に変更がなければ、故障処理設定テーブル部21を書き換えず、前回の値そのまま使用され、計算機システムの重/軽故障等の外部への故障出力を制御する条件として使用される。
特開平4−332002号公報 特開平7−141228号公報 特開平5−12236号公報
(1)従来の計算機システムは、以上のように構成されているので、メンテナンス処理時に、保守ツールがプロセッサから切り離されたとき、プロセッサは一定時間が経過後、タイムアウト処理を行うがタイムアウト時間中はプロセッサは高負荷状態で、かつ資源も少なくなるという問題があった。
この発明は、上記のような課題を解決するためになされたもので、プロセッサが保守ツールの切り離しを前記保守ツールに応答を返した時点で認識し、他のメンテナンス要求を終了させることを目的とする。
(2)また、プログラムのトレースを行う際、トレース開始アドレスとトレース終了アドレスの間に繰り返し実行を行うような制御プログラムが記述された場合には、繰り返し実行2回目以降で、トレースデータ収集済みにも関わらず、トレース要求信号が出力される。
トレースデータ収集部は、トレース履歴レジスタの内容を基にトレースデータの収集を行うか否かを判定するので、繰り返し実行2回目以降ではトレースデータが収集されることは無いが、繰り返しの回数が多くなるにつれ、トレースデータの収集を行うか否かの判定処理が無駄な処理となり、制御プログラムの実行のオーバーヘッドとなって実行効率の低下を招くという問題点があった。
この発明は上記のような課題を解決するためになされたものであり、制御プログラムの繰り返し部分で無駄となる判定処理を事前に省き、トレース処理による制御プログラム実行のオーバーヘッドを削減し、実行効率を低下させないことが出来る計算機を得ることを目的とする。
(3)また、従来の計算機システムは制御プログラムが実行中にあるとき制御プログラムを新たなものに書き換える要求があった場合、該制御プログラムが実行完了し、停止するまで待たなければならないため、制御プログラムを一定時間内に書き換えることが出来ないという問題点があった。
この発明は上記のような課題を解決するためになされたものであり、実行中の制御プログラムに対して制御プログラムの書き換え要求が出された場合に、時間監視を開始し、タイムアウトした時実行中の制御プログラムを強制エラー停止させて要求された書き換えを完了させる計算機を得ることを目的とする。
(4)また、複数のプロセッサ(計算機)で構成した場合、割込や割込検出時のエラーは全てのプロセッサに通知されるが、通知に対応して実行すべき制御プログラムを持たないプロセッサに対して通知を行うと、プロセッサのオーバヘッドが増加し、プロセッサの処理能力の低下を招くという問題点があった。
この発明は上記のような問題点を解決するためになされたもので、プラントからの割込および割込検出時のエラーの通知を、それぞれ関係付けられたプロセッサにのみ通知し、関係の無いプロセッサの処理能力に影響を与えない計算機システムを得ることを目的とする。
(5)また、この発明は上記(5)の問題点を解決するために、プラントからの割込および割込検出時のエラーの通知を、それぞれ関係付けられたプロセッサが故障状態であると、他のプロセッサに通知し、プラントシステムに影響を与えない計算機システムを得ることを目的とする。
(6)また、従来の故障処理設定テーブル部を持つ計算機システムでは、システムバスに接続されるカードの構成が変わると今まで設定していた故障処理設定テーブル部の設定内容が標準の設定になってしまう欠点があった。
例えば、不具合が発生し、故障部位を判別する際、不良カードの抜き取りを行い再立ち上げすると、故障処理設定テーブル部の内容が標準化され、稼働していた環境と異なってしまい、再度設定しなければならないという作業が発生した。 また、カード交換時の設定し忘れ等のヒューマンエラーにより、設定した値が標準値に戻ってしまい、本来、稼働時に設定しなければならない設定値で稼働しないという欠点があった。
この発明は上記のような課題を解決するためになされたものであり、カード構成を変更しても前回設定していれば、その情報を使用し、メンテナンス性の向上、ヒューマンエラーの防止に利用することができる。
 さらに従来の既存のカードのH/W構成の変更せずに、故障処理設定テーブル部を使用した適用の異なるシステム(工業プラントシステム、発電プラントシステムなどの種々のシステム)においても利用できることを目的とする。
(1)この発明による計算機は、プログラムの実行中に、トレースデータ収集開始アドレスからトレースデータ収集終了アドレスまでのトレースデータ収集範囲を監視しながらトレースデータをトレースメモリへ格納する計算機において、
一つのアドレス対応のデータを収集すると、トレースデータ収集開始アドレスをトレースデータを収集した次のプログラムのアドレスに更新する手段を備え、上記更新したトレースデータ収集開始アドレスから上記トレースデータ収集終了アドレスまでのトレースデータ収集範囲を監視しながらトレースデータをトレースメモリへ格納するようにしたものである。
(2)また、実行中のプログラムに対し書き換え要求があったとき、所定時間経過しても上記プログラムが実行中であると、そのプログラムの実行を停止してプログラム書き換えを行う手段を備えたものである。
(3)この発明の計算機システムは、制御対象を入出力インタフェースを介して複数の計算機で制御すると共に、上記入出力インタフェースは、上記制御対象から割込信号を入力として各計算機へ通知する計算機システムにおいて、
上記入出力インタフェースは、予め割込信号の内容に応じて実行する計算機を設定しておき、入力された割込信号を実行する計算機のみに通知する手段を備えたものである。
(4)また、制御対象を入出力インタフェースを介して複数の計算機で制御すると共に、上記入出力インタフェースは、上記制御対象から割込信号を入力として各計算機へ通知する計算機システムにおいて、
上記入出力インタフェースは、予め割込信号の内容に応じて実行する計算機を設定しておき、入力された割込信号を実行する計算機のみに通知する手段と、
上記入力された割込信号が正常でなければ予め設定された計算機に対してエラー情報を通知する手段とを備えたものである。
(5)また、入出力インタフェースは、計算機の故障を検出する故障検出手段と、予め計算機が故障した場合に変更する計算機を設定しておき、その変更する計算機に切り換える計算機変更手段とを備え、
割込通知先またはエラー情報通知先の計算機が上記故障検出手段で故障検出されると、上記計算機変更手段により計算機を変更するようにしたものである。
(6)また、各計算機が各々カード上に配設され、上記各計算機が互いに接続された計算機システムにおいて、
上記各カードの種別とその取付位置に対応して上記各計算機の設定内容をバックアップしておくバックアップ手段と、
カードを取り付ける際、取付位置に対応する種別のカードをその取付位置に取り付けると上記バックアップ手段に保持された設定内容で設定する第1の設定手段と、
カードを取り付ける際、取付位置に対応しない種別のカードをその取付位置に取り付けると、予め設定した標準値を用いて設定する第2の設定手段とを備えたものである。
(1)また、トレース開始アドレスを次のプログラムアドレスに設定するように構成することで、一度トレースデータを収集したプログラムに対してアドレス一致を検出しなくなるので、ループ制御などの繰り返し実行する部分でのトレースデータ収集のオーバーヘッドが削減され、計算機の負荷を軽減する効果がある。
(2)また、プログラム実行の時間監視を行い一定時間内に完了しない時は強制エラー停止させてプログラム書き換え可能な状態にしてからプログラムを書き換えるようにしたので、長時間待たされることなく一定時間内にプログラムの書き換えを行い、メンテナンス性を向上させる効果がある。
(3)また、この発明の計算機システムによれば、割込の通知が必要な計算機にのみ割込通知を行うため、割込の通知を必要としない計算機のオーバヘッドが削減され、システムのスループットを向上させるという効果がある。 また、一つの割込を一つまたは複数の計算機へ通知してのプログラムの処理可能なため、通知する計算機を適切に設定するにより各計算機への最適な負荷分散が可能になるという効果がある。
(4)また、IOインタフェースにおいて、制御対象からの割込検出処理での各エラーを、単一の計算機に通知することも、要因毎に各計算機へ通知することも、全ての計算機へ通知することも可能である。
このため、単一の計算機に通知することにより他の計算機にエラーの影響を及ぼさないシステムや、全ての計算機へ通知することにより同一の異常処理を行わせるシステム等の多様なシステムの構築が可能になるという効果がある。
(5)また、IOインタフェースにおいて、要求先計算機が故障状態になった場合でも、要求先計算機を変更するので、計算機故障時でも制御対象からの要求を処理できるという効果がある。
(6)また、スロットから一旦計算機カードを抜き、立ち上げ直しても、他の計算機カードに設定されていた設定内容の変更はなく、また、同一カードを同一スロットに差すと、前回そのカードに設定されていた設定内容で動作可能となり、また、前回設定されていたカードあるいは、前回設定されていなかったスロットにカードを差した場合、所定の設定データが設定できる効果がある。
実施の形態1.
以下、この発明の一実施の形態を図について説明する。
図1はこの発明の計算機システムのプログラム書換え時を示す構成図であり、従来のものと同一符号は説明を省略する。
図2及び図3はフローチャートで、図4は命令オペランド構成図、図5は制御プログラム実行時のアドレス変換処理を例示した図で、図6は制御プログラムの分岐処理を実行時の説明図である。
図5について説明する。プログラム1,2,3,・・・は、それぞれ複数のブロックから構成されており、プログラム1では4ブロックに分けられ、それぞれのブロックは、例えば128ステップの固定長にしている。
各ブロックの先頭アドレスに対応する物理アドレスの対象表をページ管理テーブル5bに登録し、この内容によりプログラム1では、制御プログラムの0,3,5,6の物理アドレスを先頭アドレスとするプログラムを実行する。
プログラム実行の際は、分岐アドレスを従来の図37、図42に示す分岐ブロック5cを必要としない。但し、プログラム書き換え時には、分岐ブロックを必要とする。
図6で分岐処理実行時について説明する。従来の図42と対比すると分かるように、プログラム実行時は、分岐ブロックを無くして、プログラム5の「分岐3」には図4のオペランドに直接プログラム先頭からのステップ数を記述しておき、ページ管理テーブル5bを参照してプログラム5の開始アドレスである「アドレス5」に、上記オペランドのステップ数を加えたものが分岐先物理アドレス(a)を表し、制御プログラム5aのa番目のアドレスが分岐先となり、その位置のプログラムから実行する。
次に動作について図2及び図3のフローチャートと共に説明する。
図2は分岐命令が含まれるプログラム書換え処理の動作フローを示したものである。
(1)保守ツール1から送られてきたプログラム書き換え処理要求を、要求処理部6の受信部6aが受信し、プログラム書き換え処理部6cに送る(ST100)。
(2)プログラム書き換え処理部6cは、制御プログラムをメモリ部5の制御プログラム5a領域に書き込むと共に(ST101)、
(3)制御プログラム5aへの書き込み位置をメモリ部5の先頭からのオフセットアドレスである物理アドレスで表現し、指定されたプログラム番号に対応させてページ管理テーブル5bに登録する(ST102)。
(4)前記プログラム書き込みが完了すると、プログラム書き換え処理部6cは、プログラム書き換え処理要求のあったプログラムから分岐命令の分岐先を抽出し、オペランドに保持されている分岐ブロック番号を識別子として用いて分岐ブロック情報を参照し、プログラムの先頭からの命令ステップ数である分岐先論理アドレスを獲得する(ST103)。
(5)獲得した前記分岐先論理アドレスを、分岐命令実行時に分岐先として知る必要があるため、図4に示すように前記分岐命令のオペランドとして登録する(ST104)。
(6)上記ST103〜ST104をプログラム中の分岐命令全てに対して行う(ST105)。
図3は分岐命令実行時の分岐命令処理の動作フローを示したものである。
(1)プログラム実行部7は、メモリ部5の制御プログラム5aから命令を抽出し(ST106)、
(2)分岐命令であれば(ST107)、図6では、プログラム5の「分岐3」。
(3)ページ管理テーブル5bを参照して、該プログラム番号に相当するメモリ5の先頭からの物理オフセットアドレス(図6のアドレス5)と、図4に示す前記分岐命令オペランドに格納された分岐先論理アドレス(図6の分岐3の論理アドレス)とを加算し、分岐先物理アドレスを得る(ST108)。
(4)プログラム実行部7は、算出した分岐先物理アドレスに分岐し実行する(ST109)。
(5)ST106にて抽出した命令が分岐命令でなければ(ST107)、
(6)各命令に従い実行する(ST110)。
(7)プログラム中の全ての命令の実行が完了すれば(ST111)、プログラム実行を終了する。
以上のように、命令実行時には分岐ブロックを参照することなく、分岐先論理アドレスを物理アドレスに変換し、指定された物理アドレスへ制御プログラムの制御移行を行うことができるため、プログラム書き換え後は分岐ブロック情報を保持する必要がなくなり、分岐ブロックの削除により命令実行時に必要なバックアップメモリサイズが大幅に削減できるので、計算機のコストを低下させ、制御プログラムの実行性能が向上する。
従って計算機処理の性能向上が図れる。
なお、バックアップメモリは、通常、電源OFFしても別電源がバックアップするメモリであるが、電源がバックアップしないメモリにも適用できる。
また、メモリの削減は、例えば25%程度削減できる。
実施の形態2.
図7は、プログラム実行時にページ管理テーブル5bを参照し、分岐先論理アドレスを分岐先物理アドレスに変換する処理を行う図1に対し、プログラム書き換え時に、分岐先論理アドレスを分岐先物理アドレスに変換する処理を行い、分岐命令実行時には、ページ管理テーブルを参照せず直接プログラムに記述された分岐先物理アドレスに基づいて分岐処理を行うものである。
図7において、従来のものと同一符号は説明を省略する。
図8及び図9はフローチャートで、図10は命令オペランド構成図である。
図11は分岐処理の実行時の説明図である。
次に動作について図8及び図9のフローチャートと共に説明する。
図8は分岐命令が含まれるプログラム書き換え処理の動作フローを示したものである。
(1)保守ツール1から送られてきたプログラム書き換え処理要求を、要求処理部6の受信部6aが受信し、プログラム書き換え処理部6cに送る(ST200)。
(2)プログラム書き換え処理部6cは、制御プログラムをメモリ部5の制御プログラム5a領域に書き込むと共に(ST201)、
(3)制御プログラム5aへの書き込み位置をメモリ部5の先頭からのオフセットアドレスである物理アドレスで表現し、指定されたプログラム番号に対応させてページ管理テーブル5bに登録する(ST202)。
(4)前記プログラム書き込みが完了すると、プログラム書き換え処理部6cは、プログラム書き換え処理要求のあったプログラムから分岐命令の分岐先を抽出し、オペランドに保持されている分岐ブロック番号を識別子として用いて分岐ブロック情報を参照し、プログラムの先頭からの命令ステップ数である分岐先論理アドレスを獲得する(ST203)。
(5)分岐先論理アドレスを獲得すると、プログラム書換え部6cは、前記ページ管理テーブル5bを参照して、該プログラム番号に相当するメモリ5の先頭からの物理オフセットアドレスに分岐先論理アドレスを加算し、分岐先物理アドレスを得る(ST204)。
(6)分岐先物理アドレスを図10に示すように前記分岐命令オペランドに書き込む(ST205)。
(7)上記ST203〜ST205をプログラム中の分岐命令全てに対して行う(ST206)。
図9は分岐命令実行時の分岐命令処理の動作フローを示したものである。
(1)プログラム実行部7は、メモリ部5の制御プログラム5a(図11ではプログラム5で説明)から命令を抽出し(ST207)、
(2)分岐命令であれば(ST208)、例えば図11の「分岐3」であれば、
(3)図10に示す分岐命令オペランドに格納された分岐先物理アドレスに分岐実行する(ST209)。
(4)抽出した命令が前記分岐命令でなければ、各命令に従い実行する(ST211)。
(5)プログラム中の全ての命令の実行が完了すれば(ST210)、プログラム実行を終了する。
以上のように、命令実行時には分岐ブロック及びページ管理テーブル共に参照することなく、指定された物理アドレスへ制御プログラムの制御移行を行うことができるため、プログラム書き換え後は分岐ブロック情報およびページ管理テーブルを保持する必要がなくなり、分岐ブロックおよびページ管理テーブルの削除により命令実行時に必要なバックアップメモリサイズが大幅に削減できて、計算機のコストを低下させ、また、制御プログラムの実行性能が向上する。
更に、命令実行時に論理アドレスから物理アドレスへ変換する処理が削除されるため、命令実行速度を向上させるという効果がある。
従って、計算機の処理性能が向上する。
実施の形態3.
この実施の形態はメンテナンス処理を効率的に行うものである。
図12はその構成図で、6dは受信部6aで受信した要求を処理するメンテナンス処理部、6fはメンテナンス処理をキャンセルするキャンセル処理部、5dはメンテナンス要求処理で使用する処理バッファである。
図13、図14、図15は処理動作のフローチャートである。
ここでメンテナンスとは、プログラムの変更・修正、制御情報の変更や、トレース開始、トレースデータの読み出し等種々のものがある。キャンセルもメンテナンスの一つであが、ここではキャンセルはメンテナンスとは別にして説明する。
また、パソコン等の保守ツールからのメンテナンス要求は、メンテナンス要求それ自身がプログラムの変更・修正内容である場合が多いが、保守ツールからのメンテナンス要求(指令)に応じて、計算機側で所定のメンテナンス処理をする場合もある。
次に動作について説明する。
図13は実施の形態3の計算機における要求受信処理の動作の流れを示すフローチャートである。
(1)保守ツール1からのメンテナンス処理要求を受信部6aが受信するとキャンセル要求かどうかを判定する(ST300)。
(2)判定結果がキャンセル要求でなく、メンテナンス処理要求であれば受信部6aはメンテナンス処理部6dに受信データを送り(ST301)、
(3)メンテナンス処理部6dは処理バッファ5dに受信データを登録する(ST302)。
(4)判定結果がキャンセル要求であれば、キャンセル処理部6fに受信データを送る(ST303)。
(5)キャンセル処理部6fは、図15のフローチャートのように、処理バッファ5dで処理中のメンテナンス処理が該保守ツール1からのコマンドかどうかを判定し(ST304)、
(6)該保守ツール1からのコマンドであれば、該保守ツール1のメンテナンス処理を登録している処理バッファ5dを削除する(ST305)。
また、図14は送信処理の流れを示すフローチャートである。
(1)メンテナンス処理の応答受信待ち状態(ST306)で、メンテナンス処理部6dからのメンテナンス処理応答が無い場合は、受信待ちを続ける。
(2)メンテナンス処理部6dからの応答が来ると、保守ツール1に対し応答を送る(ST307)。
(3)前記応答処理でタイムアウト等の保守ツール1の接続断のエラーが検出されると(ST308)、
(4)再び応答をリトライし、規定されたリトライ回数を越えるとリトライオーバ(ST309)として応答を中止する(ST310)。
(5)このとき同じ保守ツール1からの他の要求を終了させるためキャンセル要求のコマンドを生成し、受信部6aに要求を送る(ST311)。
(6)受信部6aはこのキャンセル要求を受けて、該保守ツールからの受けているコマンド処理のキャンセル処理を図15のフローチャートで行う。
以上のように、保守ツールの接続が断となった場合、この保守ツールからのメンテナンス要求に対する応答時のエラーが検出されるので、エラーが検出された保守ツールからの一つまたは複数のメンテナンス要求に対応するメンテナンス処理が全てキャンセル処理されるため、既に受け付けている他の保守ツールからのメンテナンス処理はキャンセルされず、接続断となった保守ツールのみのメンテナンスをキャンセルするので、他の保守ツールからのメンテナンス処理要求が受け付け可能となりメンテナンス処理を効率的に行える。
従って計算機処理の性能向上が図れる。
実施の形態4.
この実施の形態は、制御プログラムのトレース処理の効率化を図るものである。
図16はこの発明の計算機システムの実施の形態4を示すブロック図である。
図において、400はトレースメモリ、401はトレースデータ収集部、402は制御プログラムアドレスで、実行した制御プログラムのアドレスが格納される。この制御アドレスはプログラムカウンタが用いられる。
403はアドレス一致検出部、404はトレース要求信号である。
405はアドレス書き換え部であり、次の制御プログラムアドレスを新たなアドレス一致開始アドレスとして、アドレス一致開始レジスタ403aに格納する。
次に動作について図17のフローチャートを用いて説明する。
(1)アドレス一致検出部403が制御プログラムアドレス(プログラムカウンタ)402と、アドレス一致開始レジスタ403aとのアドレス一致を検出し、トレース要求信号404をトレースデータ収集部401へ出力する(ST410)。
(2)トレースデータ収集部401はトレース要求信号404を検知し(ST411)、
(3)アドレス一致が検出されたアドレスはトレースデータ未収集であるか否かをトレース履歴レジスタ401aによって判定する(ST412)。
(4)トレースデータ未収集の場合はトレースデータを収集する(ST413)。
(5)トレースデータ収集完了後、トレース完了の情報を、トレース履歴レジスタ401a内の制御プログラムアドレス402に対応した位置に格納する(ST414)。
(6)アドレス書き換え部405が、制御プログラムアドレス402に1加算したアドレスを新しいトレース開始アドレスとして、アドレス一致検出部403のアドレス一致開始レジスタ403aに設定する(ST415)。
(7)トレース収集後検出されたアドレスが、トレース終了アドレスか否かを判定し、トレース終了アドレスのデータ収集が完了するまで実行する(ST416)。
従来のアドレス一致開始レジスタ403aは、図44のようにトレースすべきアドレスを全て登録しているが、この実施の形態では、図44のアドレス一致開始レジスタ403aのトレース終了した開始アドレスは次のトレースすべき開始アドレスに書き換えられるので、トレース終了のアドレスまでトレースの要否を判断する必要がなくなる。
以上のように、一度トレースデータを収集した制御プログラムをトレース対象範囲から外すことにより、トレースデータ収集済みの制御プログラムアドレスでアドレス一致を検出しないので無駄な判定処理をしなくてよく、ループ制御などの繰り返し実行する部分でのトレースデータ収集のオーバーヘッドが削減され、計算機システムの負荷を軽減する。
従って計算機処理の性能向上が図れる。
実施の形態5.
この実施の形態は、制御プログラムの書き換えを効率的に行うものである。
図18は、この発明の実施の形態5を示す計算機システムの構成図である。
図において、従来のものと同一符号は同一又は相当部分を示し説明を省略する。
6eは制御プログラムの実行完了を時間監視する時間監視部で、他の処理を行うため一時処理を移行している等の、実行中となっているモジュールに対して実行完了までの時間監視を行う。
時間監視部6eが実行完了のタイムアウトを出力すると、6gのプログラム強制停止部がタイムアウトとなったプログラムを強制エラー停止させる。
次に動作について図19のフローチャートを用いて説明する。
(2)保守ツール1から新たな制御プログラムが出力されると、要求処理部6がこれを検知し(ST510)、
(3)プログラム実行部7に検知した旨を知らせると共に受信部6aがその新たな制御プログラムを受信する(ST511)。
(4)受信部6aが更新に関わる制御プログラムが実行中であるか否かを判定し(ST512)、
(5)実行停止なら、プログラム書き換え処理部6cに制御プログラムの書き換えを指示する(ST513)。
(6)プログラム書き換え処理部6cは、指示を受けて新たな制御プログラムに更新する(ST514)。
(7)制御プログラムが実行中であれば、時間監視部6eに、例えば実行周期の3倍の時間の時間監視を指示し、変更に係る制御プログラムの実行完了を監視する(ST516)。
(8)一定時間経過しても実行完了しない場合は、プログラム強制停止部6gがプログラム実行部7に強制エラー停止を指示し、プログラムを停止させる(ST517)。
制御プログラムが停止した後、制御プログラム5aを書き換える。
以上のように、実行中の制御プログラムに対して書き換え要求があった場合、プログラム実行完了までの時間監視を行い、一定時間内に完了しない時は、強制エラー停止させて、プログラム書き換え可能な状態にしてからプログラムを書き換えるようにしたので、長時間待たされることなく一定時間内に制御プログラムの書き換えを行い、メンテナンス性を向上させる効果がある。
従って計算機処理の性能向上が図れる。
実施の形態6.
この発明の実施の形態は複数の計算機で構成された計算機システムにおいて、割込処理を効率的に行うものである。
図20は、この発明の実施の形態6を示す計算機システムの構成を示すブロック図である。図において、図47に同一符号を付した従来のそれと同一、あるいは相当部分の詳細な説明は省略する。
図20において、10−1〜10−Nはプロセッサ(計算機)である。これらのプロセッサ10−1〜10−Nはシステムバス2によって接続されている。
また、システムバス2によって各プロセッサ10−1〜10−NはそれぞれIOインタフェース3に接続される。そして4はIOインタフェース3により接続されるプラントシステムである。
なお、ここでは各プロセッサ10−1〜10−NおよびIOインタフェース
3はスロットに挿入されるカードとして実現する場合を例にとる。
各プロセッサ10−2〜10−Nもプロセッサ10−1と同一の構成であり、従来の図47のプロセッサ10とも同一の構成をとる。
606はプラントシステム4からの各割込毎に、通知先プロセッサへの関係付け情報を保持する割込対応情報であり詳細のデータ構造は図21に示す。
図21の割込対応情報の例では、
割込番号の値が0の時にはプロセッサ10−1へ通知し、割込番号の値が1の時には何れのプロセッサにも通知しない、割込番号の値が2の時にはプロセッサ10−Nへ通知することを示す情報である。
次に動作について説明する。
図22と図23は、IOインタフェース3の割込通知処理およびプロセッサ10−1〜10−Nの割込受信処理のフローチャートであり、図22および図23のフローに従って説明する。
(1)割込検出部605がプラントシステム4からの割込検出を行う(ST600)。
(2)割込が正常検出であれば(ST601)、ステップST602へ行く。
割込が正常か否かは、例えば、割込番号の範囲をチェックして、範囲内であれば正常、範囲外であれば異常と判定する。
(3)割込通知部601が割込対応情報606の割込番号に対応するプロセッサに、例えば、割込対応情報606の割込番号がプロセッサ10−1であれば、そのプロセッサに割込番号を通知する(ST602)。
(4)一方割込検出が正常検出でなければ、エラー番号603をセットし(ST604)、
(5)割込通知部601が、例えば、プロセッサ10−1にIOエラーを通知する(ST605)。
(6)図23で、プロセッサ10では、IO割込・エラー受信600がIOインタフェース3からの通知を受信する(ST610)。
(7)IO割込通知であれば(ST611)、
(8)通知された割込番号の制御プログラム5aを起動する(ST612)。
(9)一方IO割込通知でなければ(ST611)、
(10)エラー番号603の読み込みを行い(ST614)、
(11)読み出したエラー番号の制御プログラム5aを起動し、エラーに対応した処理を実行する(ST615)。
以上のように、計算機システムのIOインタフェースは、割込を検出すると、割込対応情報に指定されたプロセッサのみに割込を通知し、指定されていないプロセッサには割込を通知しないため、割込の通知を必要としないプロセッサのオーバヘッドが削減され、計算機システムのスループットを向上させる。従って、計算機システムの性能低下を防ぐことができる。
実施の形態7.
この発明の実施の形態は複数の計算機で構成された計算機システムにおいて、実施の形態6と同様の割込処理を効率的に行うものである。
図24は、この発明の実施の形態7を示す計算機システムの構成を示すブロック図である。
図24において、608はプラントシステム4からの各割込毎に、通知先プロセッサへの関係付け情報を保持する複数割込対応情報であり、その詳細は図25に示す。
また、実施の形態6の図20と同一符号は詳細な説明は省略する。
図25は、割込対応情報のデータ構造を例示するもので、割込番号の値が0の時にはプロセッサ10−1とプロセッサ10−5へ、割込番号の値が1の時には何れのプロセッサにも通知せず、割込番号の値が2の時にはプロセッサ10−2とプロセッサ10−3とプロセッサ10−Nへ通知することを示す情報である。
次に動作について説明する。
図26は、IOインタフェース3の割込通知処理のフローチャートである。
プロセッサ10−1〜10−Nの割込受信処理のフローチャートは、実施の形態6の図23と同一であるため省略する。
図26のフローに従って説明する。
(1)割込検出部605がプラントシステム4からの割込検出を行う(ST620)。
(2)割込が正常検出であれば(ST621)、
(3)割込通知部601が、複数割込対応情報608の割込番号に対応する一つまたは複数のプロセッサに割込番号を通知する(ST622)。
(4)一方割込検出が正常検出でなければ、エラー番号603をセットし(ST624)、
(5)割込通知部601がプロセッサにIOエラーを通知する(ST625)。
以降の処理は、図23と同一である。
以上のように、計算機システムのIOインタフェースは、割込を検出すると、割込対応情報に指定された1つまたは複数のプロセッサへ割込を通知し、指定されていないプロセッサには割込を通知しないため、計算機システムの性能低下を防ぐことができる。
また、適切な設定により各プロセッサへの最適な負荷分散が可能になるという効果がある。
従って計算機処理の性能向上が図れる。
実施の形態8.
この発明の実施の形態は複数の計算機で構成された計算機システムにおいて、割込処理を効率的に行うものである。
図27は、この発明の実施の形態8を示す計算機システムの構成を示すブロック図である。
図において、従来の図47と同一符号を付したものは同一部分であるので詳細な説明は省略する。
図において、10−1〜10−Nはプロセッサである。これらのプロセッサ10−1〜10−Nはシステムバス2によって接続されている。
また、システムバス2によって各プロセッサ10−1〜10−NはそれぞれIOインタフェース3に接続される。
そして、IOインタフェース3はプラントシステム4に接続されている。
なお、ここでは各プロセッサ10−1〜10−NおよびIOインタフェース3はスロットに挿入されるカードとして実現する場合を例にとる。
各プロセッサ10−2〜10−Nもプロセッサ10−1と同一の構成であり、従来の図47のプロセッサ10とも同一の構成をとる。
607はエラー番号毎に、通知先プロセッサへの関係付け情報を保持するエラー対応情報である。
また、図28は、例えば実施の形態8のエラー対応情報のデータ構造を例示したもので、
エラー番号の値が0の時には、プロセッサ10−1とプロセッサ10−5へ、エラー番号の値が1の時には、何れのプロセッサにも通知せず、エラー番号の値が2の時には、プロセッサ10−2とプロセッサ10−3とプロセッサ10−Nへ通知することを示す情報である。
次に動作について説明する。
図29と図30は、IOインタフェース3の割込通知処理およびプロセッサ10−1〜10−Nの割込受信処理のフローチャートである。
図29および図30のフローに従って説明する。
(1)割込検出部605がプラントシステム4からの割込検出を行う(ST630)。
(2)割込が正常検出であれば(ST631)、割込通知部601が、例えば図28に示す割込対応情報606の割込番号に対応する、一つまたは複数のプロセッサに割込番号(図21または図25に示すプロセッサ)を通知する(ST632)。
(3)一方割込検出が正常検出でなければ、割込通知部601がエラー対応情報607のエラー番号に対応する一つまたは複数のプロセッサにエラー番号を通知する(ST634)。
(4)プロセッサ10では、IO割込・エラー受信600がIOインタフェース3からの通知を受信する(ST640)。
(5)IO割込通知であれば(ST641)、
(6)通知された割込番号の制御プログラム5aを起動する(ST642)。
(7)一方IO割込通知でなければ(ST641)、
(8)通知されたエラー番号の制御プログラム5aを起動し、エラーに対応した処理を実行する(ST644)。
以上のように、計算機システムのIOインタフェースは、割込検出動作でエラー検出時に、割込を通知する代わりに、エラー要因毎のエラー対応情報で指定された1つまたは複数のプロセッサにエラーを通知し、指定されていないプロセッサにはエラーを通知しないため、計算機システムの性能低下を防ぐことができる。
また、プラントからの割込検出処理での各エラーを、単一のプロセッサに通知することも、要因毎に各プロセッサへ通知することも、全てのプロセッサへ通知することも可能であり、このため、単一のプロセッサに通知することにより他のプロセッサにエラーの影響を及ぼさないシステムや、全てのプロセッサへ通知することにより同一の異常処理を行わせるシステム等の多様なシステムの構築が可能になるという効果がある。
従って計算機処理の性能向上が図れる。
実施の形態9.
この発明の実施の形態は複数の計算機で構成された計算機システムにおいて、故障に対するバックアップを行うものである。
図31は、この発明の実施の形態を示す計算機システムの構成を示すブロック図である。
図において、653はプロセッサ内で発生するエラーを検出し、このエラー情報を他プロセッサやIOインタフェース3に通知する故障検出部、650はプロセッサ10−1〜10−Nからの故障発生通知を受けるプロセッサカード故障検出部、651はプロセッサの故障発生により、割込対応情報606やエラー対応情報607を変更する割込/エラー対応情報更新部である。
652は割込/エラー対応情報部651が、故障プロセッサの変更の参照にするプロセッサ変更カードテーブルであり、図33に詳細を示す。
図33は、例えばIOインタフェース3に接続される保守ツールにより設定される。
次に動作について説明する。
図32は、プロセッサに故障が発生した場合の動作を示すフローチャートである。
(1)プロセッサ10−1にメモリのパリティエラー等の故障が発生したとすると、故障検出部653が認識し(ST670)、
(2)他プロセッサ及びIOインタフェース3に故障が発生したことを通知する(ST671)。
(3)IOインタフェース3のプロセッサカード故障検出部650はプロセッサからの故障通知を認識する。(ST672)
(4)プロセッサ故障カード検出部650は割込/エラー対応情報更新部651に割込対応情報606とエラー対応情報607の通知先プロセッサの変更が必要なことを通知する(ST673)。
(5)割込/エラー対応情報更新部651は、例えば図33に示すプロセッサ変更カードテーブル652を参照し(ST674)、
(6)故障となったプロセッサの変更プロセッサを得る(ST675)。
図33では、例として、プロセッサ10−1が故障の時はプロセッサ10−2、プロセッサ10−(N−1)が故障の時は、プロセッサ10−Nが対応する場合を示している。
(7)割込/エラー対応情報更新部651は、割込対応情報606とエラー対応情報607を検索し、故障となったプロセッサ番号が含まれているか否かを調べる(ST676)。
(8)プロセッサ番号が含まれていれば(ST677)、
(9)そのプロセッサ番号に対応する変更プロセッサ番号により、割込対応情報606とエラー対応情報607の故障となったプロセッサ番号を変更する(ST678)。
(10)プロセッサ番号が含まれていなければ(ST677)、割込対応情報606とエラー対応情報607はそのままとしておく(ST679)。
以上のように、この計算機システムは、要求先プロセッサが故障状態になった場合でも、該故障状態を認識するプロセッサカード故障認識部と、割込検出時/エラー検出時に、その通知先を変更する割込/エラー対応処理更新部により、要求先プロセッサを変更するので、プロセッサ故障時でもプラントシステムからの要求を処理できる。
従って計算機システムの性能向上が図れる。
実施の形態10.
この発明の実施の形態は複数の計算機(プロセッサ)の各々が各カード単位で構成された計算機システムにおいて、計算機(プロセッサ)の故障などでカードを差し替えたり、新たにカードを取り付けたりした場合に、カードの設定内容を自動的に設定するものである。
図34はこの発明の実施の形態を示す図であり、この図は従来の図50の故障監視プロセッサ11内にバックアップデータ情報エリア25を加えたものである。
このバックアップデータ情報エリア25は、故障監視プロセッサ11内の書き換え可能な不揮発性メモリに設けられ、前回設定された故障処理設定テーブル部の内容を格納するものである。
図35は、バックアップデータ情報エリア25の詳細情報である。
図において、32−0a〜32−Naはカードの枚数の枚数番号に対応したカードの種類を判別するカード種別コード、33−0a〜33−Naはそのカードの設定内容で構成され、スロット毎の設定情報となるためスロットに挿入されるカード枚数に係わらずバックアップデータ情報エリアは固定長としている。
また、構成テーブル部20のデータ構造は従来の図52のデータ構造であり、また、故障処理設定テーブル部21のデータ構造は従来の図51のデータ構造である。
図36は、故障監視部24の故障処理設定テーブル部21の初期化処理における動作のフローチャートである。
次に動作について説明する。
(1)図34のように構成された故障監視プロセッサ11において、故障監視部24の初期化処理において、現在のシステム構成が再立ち上げ前のシステム構成と同じかどうかチェックするために、構成テーブル部20からカード種別コード32ー0b〜32−Nb(図52で図示)が0以外であれば有効スロット番号とし、その有効スロット番号に相当するカード種別コード32ー0b〜32−Nbを読み取る(ST710)。
(2)前記のST710で得た有効スロット番号と再立ち上げ前のシステム構成で前回まで使用されていた故障処理設定テーブル部21のスロット番号31ー1とが一致するかどうか比較する(ST713)。
(3)一致する場合(ST714)、
(4)そのスロットに挿入されているカードの種類をチェックするために、ST710で得た該有効スロットのカード種別コード32ー1b(図52で図示)が故障処理設定テーブル部21(図51で図示)のカード種別コード32ー1と比較し、立ち上げ前のカード種別かを判断する(ST715)。
(5)一致する場合(ST716)、カード構成に変更がないと判断し、前回設定された設定内容33ー1がそのまま使用される。
(6)一方、図52の構成テーブル部20の有効スロット番号と図53の故障処理設定テーブル部21のスロット番号31ー1の比較(ST713)にて、
(7)不一致が発生すると(ST714)、
(8)再立ち上げ前の設定で稼働させるため、以前設定されていた故障処理設定テーブル部21を保存したバックアップデータ情報エリア25から設定内容を採取するが、そのバックアップデータ情報エリア25の内容が現在のシステム構成を満たしているかをチェックする。
まず、該当スロットに対応する図35のバックアップデータ情報エリア25のカード種別コード32−0aと図52の構成テーブル20のカード種別コードを比較する(ST719)。
(10)一致する場合(ST720)、
(11)該当スロットのバックアップデータ情報エリア25の設定内容33−0aが前回設定されていた設定であるため、そのデータをを故障処理設定テーブル部21の該当カード設定情報の設定内容33ー1に書き込む(ST722)。
(12)一致しない場合(ST720)、
(13)以前にその該当スロットに設定したことのないカードの種類が新規に挿入されたと判断し、予め用意していた設定内容の標準値をバックアップデータ情報エリア25の設定内容33−0aと、故障処理設定テーブル部21の設定内容33ー1にそれぞれ書き込む(ST721)。
(14)上記処理をカード枚数分繰り返し(ST723)行うことにより故障処理設定テーブル部が有効となる。
例えば、あるプロセッサにてパリティエラーが発生し、そのプロセッサを抜き取り、再立ち上げを行った場合、抜き取った以外の挿入されている他のプロセッサに対しては、構成テーブル部20の有効スロット番号のカード種別コード32ー1bとそのスロットに該当する故障処理設定テーブル部21のカード種別コードは一致するので、設定内容は変わらず処理される。
再び、不具合プロセッサと同じカード種別を持つプロセッサをスロットに差し再立ち上げを行うと、新たにスロットに差し込んだプロセッサの設定内容のみをバックアップデータ情報エリア25から読み取り、その設定内容を故障処理設定テーブルの該当エリアに書き込む。
よって、新規カードに伴う人手による新たな設定なしで不具合発生前の設定内容で、計算機システムが稼働することができる。
一方、バックアップデータ情報エリア25は、メンテナンスツール等から故障処理設定テーブルを書き換えるときに、同時に設定された内容を各スロット別に分類して書き込まれるため、設定値はその設定時点で保存される。
また、バックアップデータ情報エリア25にデータが全く設定されていない場合、予め用意している標準値をバックアップメモリデータ情報エリアに書き込み立ち上げを行う。
なお、故障処理プロセッサ11は、プロセッサ10ー1〜10ーNのいずれかにその機能を持たせるようにしてもよい。
以上のように、この計算機システムは、故障監視プロセッサにバックアップデータ情報エリアを設け、カード構成の変更が発生しても故障処理設定テーブル部の内容は前回使用されていた設定内容を使用でき、また、現状あるS/Wとのインタフェースの互換を保つ事ができ、H/Wの変更なしで実現できる。
それ故、スロットから一旦カードを抜き、立ち上げ直しても、他のカードに設定されていた故障処理設定テーブル部の変更はなく、また、同一カードを同一スロットに差すと、前回そのカードに設定されていた設定内容で動作可能となり、また、前回設定されていなかったカードを差した場合、あるいは、前回設定されていなかったスロットにカードを差した場合、標準値等の所定の設定データが故障処理設定テーブル部に格納され、その設定データを使用して外部出力、及び、ユニット制御を行うことが可能となる。
実施の形態11.
この実施の形態10の変形例として、故障処理設定テーブル部21にバックアップデータ情報エリア25の機能を持たせる例を説明する。
上記の実施の形態10では、例えば、現在設定されている故障処理設定テーブル21の内容を保守ツール等を用いて変更した後、トラブルなどによりカードを抜き取って再立ち上げした時、故障処理設定テーブル部21には、その抜き取ったカードの設定内容は削除される。
その後、カードの修理、交換などにより再びスロットに挿入して立ち上げると、前回設定していた内容は、故障処理設定テーブル部21に入っていないため、バックアップエリアから前回の設定内容を取ってくるようにしている。
この実施の形態11では、故障処理設定テーブル部21のデータにフラグを設け、カードを抜き取った場合は、「カードなし」のフラグを立てて、その設定内容が削除されないようにする。そしてカードが挿入された場合に、「カードあり」としてフラグを下ろして、故障処理設定テーブル部21の設定内容で挿入されたカードを設定する。
このように実施の形態11は、実施の形態10と同様の効果を有する。
 この発明の計算機および計算機システムは、鉄鋼所、発電所、その他の産業プラントを制御する計算機および計算機システム、鉄道や道路の交通管理計算機、および計算機システム、として利用することができる。
この発明の実施の形態1による計算機システムを示す構成図である。 図1の計算機システムのプログラム書換え部の動作を示すフローチャートである。 図1の計算機システムのプログラム実行部の動作を示すフローチャートである。 図1の計算機システムのオペランド構成図である。 この発明の実施の形態1による制御プログラム実行時のアドレス変換処理を説明する図である。 この発明の実施の形態1による分岐処理実行時の説明図である。 この発明の実施の形態2による計算機システムを示す構成図である。 図7の計算機システムのプログラム書換え部の動作を示すフローチャートである。 図7の計算機システムのプログラム実行部の動作を示すフローチャートである。 図7の計算機システムのオペランド作成の図である。 この発明の実施の形態2による分岐処理実行時の説明図である。 この発明の実施の形態3による計算機システムを示す構成図である。 図12の計算機システムの受信部の動作を示すフローチャートである。 図12の計算機システムの送信部の動作を示すフローチャートである。 図12の計算機システムのキャンセルコマンド構造例である。 この発明の実施の形態4による計算機システムを示す構成図である。 図16の計算機システムの動作を示すフローチャートである。 この発明の実施の形態5による計算機システムを示す構成図である。 図18の計算機システムのプログラム書き換え処理部の動作を示すフローチャートである。 この発明の実施の形態6による計算機システムを示すブロック図である。 この発明の実施の形態6による割込対応情報である。 実施の形態6のIOインタフェースの割込通知処理の流れを示すフローチャートである。 この発明の実施の形態6によるプロセッサの割込受信処理の流れを示すフローチャートである。 この発明の実施の形態7による計算機システムを示すブロック図である。 この発明の実施の形態7による割込対応情報の図である。 この発明の実施の形態7によるIOインタフェースの割込通知処理の流れを示すフローチャートである。
この発明の実施の形態8による計算機システムを示すブロック図である。 この発明の実施の形態8によるエラー対応情報の図である。 この発明の実施の形態8によるIOインタフェースの割込通知処理の流れを示すフローチャートである。 この発明の実施の形態8によるプロセッサの割込受信処理の流れを示すフローチャートである。 この発明の実施の形態9による計算機システムを示すブロック図である。。 この発明の実施の形態9による処理を示すフローチャートである。 この実施の形態9によるプロセッサ変更カードテーブルの構成図である。 この発明の実施の形態10による計算機システムの構成図である。 この発明の実施の形態10によるバックアップデータエリアの構成図である。 この発明の実施の形態10による故障処理設定テーブルの管理手段を示すフローチャートである。 従来の計算機システムのブロック図である。 従来の計算機システムの書換処理部の動作を示すフローチャートである。 従来の計算機システムの命令実行部の動作を示すフローチャートである。 従来の計算機システムのページ管理テーブルの構成図である。 従来の計算機システムのオペランド構成図である。 従来の計算機システムの分岐処理の説明図である。 従来の計算機システムのプログラム実行部のトレース機能のブロック図である。 図43のトレース履歴レジスタのデータの構成図である。 従来の計算機システムのプログラム実行部のトレース機能のフローチャートである。 従来の計算機システムのプログラム書き換え処理部の動作を示すフローチャートである。 従来の計算機システムのIO割込通知機能のブロック図である。 図47のIOインタフェースの割込通知処理の流れを示すフローチャートである。 図47のプロセッサの割込受信処理の流れを示すフローチャートである。 従来の計算機システムの構成図である。 従来の故障処理設定テーブルの構成図である。 従来の構成テーブル部の構成図である。 従来の故障処理設定テーブルの管理手段を示すフローチャートである。
符号の説明
1 保守ツール、1a ハードディスク、2 システムバス、
 4 プラント、 3 IOインタフェース、4 プラントシステム、
 5 メモリ、 5a 制御プログラム、5b ページ管理テーブル、
 5c 分岐ブロック、6 要求処理部、6a 受信部、6b 送信部、
6c プログラム書換え部、6d メンテナンス処理部、
 6e 時間監視部、 6f キャンセル処理部、
 6g プログラム強制停止部、 7 プログラム実行部、
 8 IO割込受信、
10、10−1〜10−N プロセッサ、20 構成テーブル部、
21 故障処理設定テーブル部、22 各カードの故障情報、
23 故障処理出力部、24 故障処理故障監視部、
25 バックアップデータ情報エリア、
400 トレースメモリ、401 トレースデータ収集部、
401a トレース履歴レジスタ、402 制御プログラムアドレス、
403 アドレス一致検出部、403a アドレス一致開始レジスタ、
403b アドレス一致終了レジスタ、404 トレース信号、
405 アドレス書き換え部、
600 IO割込・エラー受信、601 割込通知部、602 割込番号、
603 エラー番号、604 プラントデータ、605 割込検出部、
606 割込対応情報、607 エラー対応情報、
608 複数割込対応情報、650 プロセッサカード故障検出部、
651 割込/エラー対応情報更新部、
652 プロセッサ変更カードテーブル、653 故障検出部。

Claims (6)

  1.  プログラムの実行中に、トレースデータ収集開始アドレスからトレースデータ収集終了アドレスまでのトレースデータ収集範囲を監視しながらトレースデータをトレースメモリへ格納する計算機において、
    一つのアドレス対応のデータを収集すると、トレースデータ収集開始アドレスをトレースデータを収集した次のプログラムのアドレスに更新する手段を備え、
    上記更新したトレースデータ収集開始アドレスから上記トレースデータ収集終了アドレスまでのトレースデータ収集範囲を監視しながらトレースデータをトレースメモリへ格納するようにしたことを特徴とする計算機。
  2.  記憶装置を備えた計算機において、前記記憶装置に記憶しているプログラムを実行中に、このプログラムを書き換える要求があったとき、このプログラムの実行終了を監視し、前記書き換え要求のあったときからあらかじめ定めた所定時間を経過してもなお上記プログラムが実行中であると、そのプログラムの実行を停止して前記プログラムの書き換えを行う手段を備えたことを特徴とする計算機。
  3.  制御対象を入出力インタフェースを介して複数の計算機で制御すると共に、上記入出力インタフェースは、上記制御対象から送信された割込信号を入力として各計算機へ通知する計算機システムにおいて、
    上記入出力インタフェースは、予め割込信号の内容に応じてこの割込信号を実行させる計算機を記憶しておき、入力された割込信号の内容にもとづきこの割込信号を実行する計算機のみにねこの割込信号を通知する手段を備えたことを特徴とする計算機システム。
  4.  上記入力された割込信号が正常でなければ予め設定された計算機に対してエラー情報を通知する手段を備えたことを特徴とする請求項3に記載の計算機システム。
  5.  上記入出力インタフェースは、計算機の故障を検出する故障検出手段と、
    予め計算機が故障した場合に変更する計算機を設定しておき、その変更する計算機に切り換える計算機変更手段とを備え、
    割込通知先またはエラー情報通知先の計算機が上記故障検出手段で故障検出されると、上記計算機変更手段により計算機を変更することを特徴とする請求項3または4に記載の計算機システム。
  6.  各計算機が各々カード上に配設され、上記各計算機が互いに接続された計算機システムにおいて、
    上記各カードの種別とその取付位置に対応して上記各計算機の設定内容をバックアップしておくバックアップ手段と、
    カードを取り付ける際、取付位置に対応する種別のカードをその取付位置に取り付けると上記バックアップ手段に保持された設定内容で設定する第1の設定手段と、
    カードを取り付ける際、取付位置に対応しない種別のカードをその取付位置に取り付けると、予め設定した標準値を用いて設定する第2の設定手段とを備えたことを特徴とする計算機システム。
JP2003358162A 2003-10-17 2003-10-17 計算機および計算機システム Pending JP2004094966A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003358162A JP2004094966A (ja) 2003-10-17 2003-10-17 計算機および計算機システム
CO06044336A CO5690618A2 (es) 2003-10-17 2006-05-10 Agente terapeutico para el mesotelioma

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003358162A JP2004094966A (ja) 2003-10-17 2003-10-17 計算機および計算機システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002196234A Division JP2003067218A (ja) 2002-07-04 2002-07-04 計算機および計算機システム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2004228100A Division JP2005032267A (ja) 2004-08-04 2004-08-04 計算機および計算機システム
JP2004228099A Division JP2004310798A (ja) 2004-08-04 2004-08-04 計算機および計算機システム

Publications (1)

Publication Number Publication Date
JP2004094966A true JP2004094966A (ja) 2004-03-25

Family

ID=32064633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003358162A Pending JP2004094966A (ja) 2003-10-17 2003-10-17 計算機および計算機システム

Country Status (2)

Country Link
JP (1) JP2004094966A (ja)
CO (1) CO5690618A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084204A (ja) * 2006-09-28 2008-04-10 Fuji Electric Fa Components & Systems Co Ltd スレーブ装置
JP2009301417A (ja) * 2008-06-16 2009-12-24 Mitsubishi Electric Corp プラント監視制御システム
JP2013545150A (ja) * 2010-08-26 2013-12-19 インテル・コーポレーション 電力が最適化された割込み配信

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084204A (ja) * 2006-09-28 2008-04-10 Fuji Electric Fa Components & Systems Co Ltd スレーブ装置
JP2009301417A (ja) * 2008-06-16 2009-12-24 Mitsubishi Electric Corp プラント監視制御システム
JP2013545150A (ja) * 2010-08-26 2013-12-19 インテル・コーポレーション 電力が最適化された割込み配信

Also Published As

Publication number Publication date
CO5690618A2 (es) 2006-10-31

Similar Documents

Publication Publication Date Title
US5511164A (en) Method and apparatus for determining the source and nature of an error within a computer system
JP4523639B2 (ja) ファームウェアによるメモリエラーアドレス管理
CN100422945C (zh) 在信息存储和检索系统中提供故障恢复保护的设备和方法
US8479045B2 (en) Controller for disk array device, data transfer device, and method of power recovery process
US20070271468A1 (en) Method and Apparatus for Maintaining Data Integrity When Switching Between Different Data Protection Methods
US7725805B2 (en) Method and information apparatus for improving data reliability
US10078460B2 (en) Memory controller utilizing scatter gather list techniques
JP4387968B2 (ja) 障害検出装置および障害検出方法
JP3851093B2 (ja) データ転送方法及びデータ処理システム
US7308601B2 (en) Program, method and apparatus for disk array control
JP2004094966A (ja) 計算機および計算機システム
JP2011002889A (ja) コンピュータシステム
JP4394533B2 (ja) ディスクアレイシステム
JP2004310798A (ja) 計算機および計算機システム
JP2005032267A (ja) 計算機および計算機システム
EP2194458A2 (en) Request processing device, request processing system, and access testing method
JP3462001B2 (ja) 計算機および計算機システム
JP5427814B2 (ja) 障害解析情報収集装置
JP2007058873A (ja) 不揮発メモリを使用したディスク制御装置
JP2003067218A (ja) 計算機および計算機システム
US9047185B2 (en) Inadvertent freed storage recovery
US20060120183A1 (en) System and method for monitoring active device by restoring symbol table in duplexing system
JP2003203017A (ja) バックアップデータにより処理継続可能なデータ処理装置
KR0121442B1 (ko) 멀티프로세서 시스템에서 캐쉬부 오류검출 및 그 처리장치와 방법
JP4749812B2 (ja) 試験装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308