JP3959891B2 - 情報処理システム及びそのシステムバス管理方法 - Google Patents
情報処理システム及びそのシステムバス管理方法 Download PDFInfo
- Publication number
- JP3959891B2 JP3959891B2 JP12978399A JP12978399A JP3959891B2 JP 3959891 B2 JP3959891 B2 JP 3959891B2 JP 12978399 A JP12978399 A JP 12978399A JP 12978399 A JP12978399 A JP 12978399A JP 3959891 B2 JP3959891 B2 JP 3959891B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- module
- bus master
- master
- modules
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、システムバスを介して複数のモジュールが接続される構成の情報処理システムに関し、更に詳しくは各モジュールを接続するシステムバスのバスマスタに関する。
【0002】
【従来の技術】
通信機能をもつ複数のモジュールをシステムバスに接続する構成のシステムを構築する場合、ユーザは1つのシステムバス上に1つバスマスタを設定しなければならない。このバスマスタは、システムバスを管理するもので、各モジュール間のバス使用の調停やバスのデータ転送用クロックの供給を行う。
【0003】
バスマスタとしての機能を備えるモジュールがバスマスタとしてシステムバスに設定されると、以降原則的にはそのモジュールがバスマスタとしてそのシステムバスを管理してゆく。またシステムバスに1台もバスマスタが設定されない場合や1つのシステムバスに複数のモジュールがバスマスタとして設定された場合、ハードウェアの制約からバスマスタの多重設定を行うとシステムバスは動作できないので、そのシステムバスは使用不能となりシステムダウンとなる。
【0004】
よってバスマスタとしての機能を備えるモジュールが複数システムバスに実装されていても、バスマスタとして機能するのはそのうちのバスマスタとして設定されている1つのモジュール(以降バスマスタモジュールという)だけであり、他のモジュールはバスマスタとしては機能しない。図10のシステム構成においては、システムバス101−1ではモジュール0、システムバス101−2ではモジュール5、システムバス101−3ではモジュール10をバスマスタモジュールとした場合、モジュール1〜4、6〜9、11〜14はバスマスタとしては動作しない。
【0005】
【発明が解決しようとする課題】
バスマスタの多重設定は出来ないので、バスマスタモジュールが故障した場合、他のバスマスタモジュールが切り換ってバス管理に携わることは出来ない。従ってバスマスタが故障するとそのシステムバスは使用不可能な状態となりシステムダウンする。例えば図10のシステム構成においてシステムバス101−1上のバスマスタモジュールであるモジュール0が故障した場合、モジュール1〜4にバスマスタとしての機能が備っていたとしてもこれらが新たなバスマスタモジュールに切り換わることはできない。よって、システムバス101−1は使用出来なくなってしまい、システムダウンに至ってしまう。
【0006】
また図10に示す様に、システムが複数のシステムバスを備え、各システムバスそれぞれにバスマスタを設定する構成の場合、1つのシステムバス上にバスマスタが必ず1台設定されなければシステムバスはアクセス動作できないので、バスマスタモジュールを有効設定するための手順を取り決めなければならない。
【0007】
更に、バスマスタモジュールが故障した場合、対応するシステムバスは使用出来なくなるが、これによってシステムダウンしないためには、非バスマスタ設定モジュールが新たなバスマスタモジュールとしてシステムバスに設定され、システムは縮退運転を行わなければならない。よって、このバスマスタモジュールの切り換えの為の手順を決めなければならない。
【0008】
本発明は、上記問題を鑑み、システム構成をフレキシブルにしたシステムバス構築のルールが確立された情報処理システム及びそのシステムバス管理方法を提供することを課題とする。
【0009】
【課題を解決するための手段】
本発明による情報処理システムは、バスマスタとしての機能を備える複数のモジュールが第1のバスで接続されることを前提とする。
【0010】
上記各モジュールは、識別番号設定手段、応答要求送信手段及びバスマスタ設定手段を備える。識別番号設定手段は、各モジュールを一意に識別するために用いる識別番号をスイッチにより予め設定する。
【0011】
応答要求送信手段は、上記識別番号設定手段により設定されている自己の識別番号が特定値である時、自己が実装されている第1のバスに実装されているモジュール全てに対して、応答要求を送信する。
【0012】
バスマスタ設定手段は、上記応答要求に対して1つも応答が返答されない時、自己をバスマスタとして設定する。
また情報システムは、上記第1のバスとは独立した第2のバスを備え、また上記モジュールはバスマスタモジュール監視手段、バスマスタ切換え選択手段を備える構成としてもよい。
【0013】
バスマスタモジュール監視手段は、自己が実装されている第1のバスのバスマスタとして設定されているバスマスタモジュールから、上記第2のバスを介して送信されてくる該バスマスタモジュールの状態を示すステータス情報を監視する。
【0014】
バスマスタ切換え選択手段は、上記ステータス情報が上記バスマスタモジュールが故障であることを示す時、上記識別番号設定手段により設定されている識別番号から自己をバスマスタとして設定するかどうかを決める。
【0015】
本発明によれば、バスマスタ設定時にモジュールは、応答要求送信手段により第1のバスに実装されているモジュール全てに対して、応答要求を送信し、バスマスタ設定手段が、上記応答要求に対して1つも応答が返答されないことを確認した後、自己をバスマスタとして設定する。この為バスマスタの多重設定がされず、1つのバスに1つのバスマスタが設定される。
【0016】
また、バスマスタが故障しても、そのバスマスタと同じバスに実装されているモジュールがバスマスタモジュール監視手段により監視しており、バスマスタ切換え手段が自己の識別番号に基づいて自己をバスマスタとして設定するかどうかを決めるので、バスマスタは多重設定されずにバスマスタモジュールが切換えられる。
【0017】
【発明の実施の形態】
以下に本発明の一実施形態として、バスによるデータ通信機能をもつ複数のモジュールがシステムバスによって接続される構成をもつプログラマブルコントローラに適用した場合について説明する。
【0018】
図1に本実施形態のプログラマブルコントローラのシステム構成概要を示す。
図1のシステムは、通信機能をもつ15のモジュール(モジュール0〜14)がバスによって接続される構成で、各モジュールは、モジュール0〜4がシステムバス1−1、モジュール5〜9がシステムバス1−2及びモジュール10〜14がシステムバス1−3と5つずつ各システムバス1−1〜1−3によって接続されている。また全モジュールは、モジュールの状態ステータスを通知する機能やメッセージ通信機能を備えたシリアルバスにより接続される。
【0019】
システムバス1は、モジュール間でのデータ転送において、高速アクセスを必要とする1、16、32ビットデータ転送に使用されるもので、例えばモジュール上で実行されるアプリケーションによるデータメモリアクセスに使用される。このシステムバスによるデータ転送では、絶対番地により相手先を指定してアクセスを行う。
【0020】
またシリアルバス2は、接続されているモジュール間でのサイクリックブロックデータ転送に用いられるもので、各モジュールの送信バッファにセットされたデータがサイクリックに転送される。このシリアルバス2では、各モジュールの運転状態ステータス、アプリケーション入出力(プロセスデータ)データが送信される。なおこのシリアルバス2は、全モジュール間でデータをやり取り出来るシステムバス1と独立した別系統のバスであれば、上記構成のもの以外の仕様のものでも良いし、シリアル転送を行うもので無くても良い。
【0021】
各モジュール0〜14には、ハードウエアスイッチによりそれぞれを一意に識別する識別番号が設定されている。この識別番号は、バスマスタ設定専用に各モジュールに設定するものとしても、あるいは各モジュールのシステムバスでの局アドレス又はシリアルバスでの局アドレスと共用してもよい。本実施形態では、この識別番号として各モジュールのシステムバスでの局アドレスを用いる。図1の場合、この識別番号はモジュール0には識別番号“0”、モジュール1には識別番号“1”、・・・、モジュール14には識別番号“14”という順番で各モジュールに設定されているものとする。
【0022】
図1のシステムでは、リセット解除後の初期動作としてシステムバス1を構築し、使用可能な状態にするが、その為にはまずシステムバス1−1〜1−3上にそれぞれバスマスタを設定しなければならない。本実施形態では、バスマスタには、そのシステムバスに実装されているモジュールのうちで一番小さな識別番号が割付けられているモジュールがそのシステムバスのバスマスタに設定されるものとする。
【0023】
尚図1のシステムでは、全モジュール0〜14がバスマスタとしての機能を有しているものとするが、1つのシステムバス上にバスマスタを多重設定するとクロック信号や送信データの衝突の発生等ハードウェアの制約によりシステムバスが正常動作できないので、バスマスタとして設定されるモジュールは各システムバスに対して1つのモジュールのみである。
【0024】
このバスマスタの設定は、以下の手順で行われる。
ステップ1
各モジュールは、リセット解除後の初期動作として、まず自己に設定されている識別番号を調べる。そしてこの識別番号に特定の値が設定されているモジュールが自己をバスマスタとして設定する為の処理を自律的に行ってゆく。本実施形態ではシステムバスに実装されているモジュールの中で識別番号値が最も小さなモジュールがバスマスタとなるので、この特定の値を最小値“0”とし、最初にこの識別番号を持つモジュール0がバスマスタとして自己を設定する為の処理動作を行う。
【0025】
モジュール0は、そのシステムバス1−1に対して、現在既にバスマスタが設定されて使用可能な状態なのかあるいはバスマスタが未設定の状態なのかを確認するため、システムバス1−1に接続されている全てのモジュールに対して返答を要求するデータを送信する。
【0026】
システムバス1を用いたモジュール間のデータ通信は、各モジュール内の特定アドレス空間にシステムバス1によるアクセス用の領域(以下I/O領域という)を設け、このI/O領域へアクセスすることによりデータ送受信を行う。
【0027】
図2は、そのI/O領域の例を示す図である。
図2の場合、I/O領域として000000Hから〜7FFFFFHまでの8Mワードのアドレス空間が設定されている。このI/O領域は16の領域に分けられ、それぞれの領域がシステムバス上の各局アドレスと対応している。例えば局アドレス1の領域にデータを書込むと、システムバス1−1に実装されているアドレス1のモジュールにそのデータが送信され、またアドレス1のモジュールからの返答は、局アドレス1の領域からデータを読み出すことによってデータ受信することができる。よってこのI/O領域の局アドレス0〜15の全ての領域へアクセスを行うことは、対応するシステムバス1に実装されている全てのモジュールに対してデータ送信を行うことを意味する。
【0028】
モジュール0は、システムバス1−1のバスマスタの有無や実装状態を確認するため、システムバス1−1に対応するI/O領域の全アドレス領域へアクセスを行い、応答要求に対して全てが無応答アクセスとなることを確認する。
【0029】
ここで無応答アクセスとは、応答要求を送信して一定時間内に送信相手から応答が無いことを示す。よって全アドレス領域へのアクセスに対して、全く応答が無いということは、システムバス1−1上にはバスマスタが設定されておらずシステムバス1−1は使用できない状態にあるのか、若しくはシステムバス1−1上に自モジュール以外のモジュールが1台も実装されていないことを示す。
【0030】
上記無応答アクセスを確認すると、モジュール0はシステムバス1−1にはまだバスマスタが設定されておらず、バスマスタを設定しても多重設定にはならないと判断し、自己をシステムバス1−1のバスマスタに設定する。
【0031】
ステップ2
各モジュール0〜14には、システムに対する設定情報としてユーザ登録情報がセットされており、このユーザ情報には各システムバス1−1〜1−3に対してどのモジュールがバスマスタとして設定されるか等バスマスタについての情報も設定されている。バスマスタとして設定されたモジュール0は、このユーザ登録情報の設定内容がシステムバス1−1の実装状態と一致していることを確認した上で自己をバスマスタとする設定を確定しなければならない。
【0032】
図3はユーザ登録情報の構成内容を示す図である。
同図に示すようにユーザ登録情報は、システム定義番号、サイズ情報(L,H)、モジュール構成情報数、シリアルバス直結モジュール数、及び各モジュール毎に構成されるモジュール構成情報からなる。
【0033】
システム定義番号は、このモジュールのプログラマブルコントローラとしての動作を定義する各システム設定の識別番号である。またサイズ情報はこのユーザ登録情報の大きさを示す2バイトのデータで、以下に続くモジュール構成情報数、シリアルバス直結モジュール数、及び各モジュール構成情報を合わせた全バイト数を示す。
【0034】
モジュール構成情報数は、ユーザ登録情報内に設定されているモジュール構成情報の数を示し、シリアルバス直結モジュール数は、バス制御LSIが実装され、シリアルバス2に実装されているモジュールの総数を示す。
【0035】
モジュール構成情報は、モジュールの種類、シリアル局アドレス等構成に関する情報を集約するもので、システム管理情報、シリアルバス局アドレス、モジュール種別1、2及びバスマスタのシリアルバス局アドレスより構成されている。
【0036】
システム管理情報は、RAS管理情報番号やモジュールの実装/未実装を設定するフラグである。
シリアルバス局アドレスは、そのモジュールに割り当てられたシリアルバス2での論理局アドレスを示す。尚このシリアルバス2の局アドレスは、システムバスの局アドレスと同一のもの、若しくはシステムバスの局アドレスから導き出せる形で形成されている。
【0037】
モジュール種別1及び2は、CPUモジュール、入出力モジュール等そのモジュールの種別を示す情報である。
バスマスタのシリアルバス局アドレスは、同一システムバスに実装されるバスマスタのシリアルバス局アドレスを定義するものである。本実施形態ではそのシステムバスに実装されているモジュールの中で最も小さい識別番号を持つものがバスマスタとなるので、この領域には識別番号が最も小さい、即ち最も小さいシステムバスの局アドレスを持つモジュールのシリアルバスの局アドレスが設定されている。尚上述したようにシリアルバスとシステムバスの局アドレスは、同じものか対応関係にあるのでシリアルバスの局アドレスからシステムバスの局アドレスは容易に求まる。
【0038】
モジュール0は、ステップ1により自己をシステムバス1−1のバスマスタに設定すると、次に再度システムバス1−1のI/O領域の全アドレス領域に対してアクセスを行う。このアクセスにより、再度、システムバス1−1に実装されている全モジュールに対して応答要求を行うこととなるが、今回はステップ1の場合と異なり、モジュール0はデータ転送用クロックの供給等、バスマスタとして振る舞うので、システムバス1−1は使用可能状態となっている。従ってシステムバス1−1に実装されているモジュールは、モジュール0からの応答要求に対してシステムバス1−1を用いて応答を返す。
【0039】
これに対しモジュール0は、I/O領域中で応答が返ってきた領域に対応する局アドレスには、システムバス1−1上にモジュールが実装されていると、また無応答アクセスであった領域に対応する局アドレスではモジュールが実装されていないと判断する。そして、これらの結果に基づく実際のシステムバス1−1の構成とユーザ登録情報内の実装構成が一致するかをチェックする。
【0040】
図1のシステム構成の場合、モジュール0は、全アドレス空間へのアクセスに対して、I/O領域の局アドレス1〜4の領域に応答が格納されることによって、システムバス1−1上にモジュール1、2、3及び4が実装されていることが認識できる。
【0041】
ステップ3
ステップ2により、システムバス1−1上の実際に実装されているモジュールはモジュール0〜4であることを認識すると、これをユーザ登録情報内の設定と比較する。
【0042】
この結果、両者の内容が一致すると、ユーザ登録情報の内容はシステムバス1−1の現状の実装状態を正確に表していることが分る。ユーザ登録情報中には、1つのシステムバスには1つのモジュールのみがバスマスタとして設定され、そのアドレスが格納されている。従って、ユーザ登録情報どおりに、自己をバスマスタとして登録することは、バスマスタの多重設定にはならない保証がとれる。このことからモジュール0は、自己をバスマスタと確定する。
【0043】
ステップ4
システムバス1−1上のバスマスタとしてモジュール0が確定されると、次にこのバスマスタとなったモジュール0は、シリアルバス2のメッセージ通信機能を利用して、システムバス1−1以外のシステムバスに実装されているモジュールのうち、最小の識別番号が設定されているモジュールに対してバスマスタ判定依頼3を通知する。このバスマスタ判定依頼は、送信相手のモジュールに自己が実装されているシステムバス1のバスマスタの設定を行わせるものである。
【0044】
図1のシステム構成では、モジュール0はモジュール5にバスマスタ判定依頼3−1をシリアルバス2を介して送信する。バスマスタ判定依頼3−1を受けたモジュール5は、上記ステップ1〜3と同様の処理を行い、自己をシステムバス1−2のバスマスタとして設定し、システムバス1−2を構築する。
【0045】
システムバス1−2のバスマスタの設定が正常に終わり、システムバス1−2が使用可能な状態となると、バスマスタとなったモジュール5は、システムバス1−1、1−2以外のシステムバス実装されているモジュールの中で最小の識別番号が設定されているモジュールに対して、バスマスタ判定依頼3を通知する。
【0046】
図1のシステム構成ではこのモジュールは、システムバス1−3のモジュール10となり、バスマスタ判定依頼3−1を受けたモジュール10は、上記ステップ1〜3と同様の処理を行い、自己をシステムバス1−2のバスマスタとして設定し、システムバス1−3を構築する。そして、モジュール10は、システムバス1−1、1−2及び1−3以外のシステムバスに実装されているモジュールで最小の識別番号が設定されているモジュールに対してバスマスタ判定依頼を送信する。
【0047】
以降、上記処理を繰り返すことにより、システム内の全システムバスを構築することができる。
図4は、バスマスタとして設定されるモジュールの動作処理を示すフローチャートである。
【0048】
リセットが解除されるとシステムを構成している各モジュールは、初期動作の1つとして、まずステップS1として自己に設定されている識別番号を調べる。そしてこの識別番号番号がバスマスタを設定する処理を行うモジュールを定める規定値(上記例では“0”)でなかったら(ステップS2、N)、このモジュールはバスマスタ設定処理を行うモジュールではないので処理を終了する。
【0049】
また識別番号が規定値であったならば(ステップS2、Y)、このモジュールはバスマスタ設定処理を行う為のモジュールなので、次にステップS3として、自己が実装されているシステムバスに対応するアドレス領域にアクセスし、全てのモジュールに対して応答要求を送信する。その結果応答が返ってきた場合(ステップS4、N)、そのシステムバスには既にバスマスタが設定されているので処理を終了する。また無応答アクセスであった場合(ステップS4、Y)、ステップS5として自己をそのシステムバスのバスマスタとして設定する。
【0050】
ステップS5の後、そのモジュールはシステムバスにデータ転送用クロックを供給する等バスマスタとして振る舞いつつ、ステップS6として再度そのシステムバスに実装されている全てのモジュールに対して、応答要求を送信する。そしてこの応答要求に対する返答から得られるシステムバスの実装状態とユーザ登録情報とを比較する(ステップS8)。その結果、両者が一致しなければ(ステップS8、N)、バスマスタの多重設定の可能性があるので、重故障状態であることを通知(ステップS10)した後、処理を終了する。また一致すれば(ステップS8、Y)、自己をそのシステムバスのバスマスタとして確定し、次にステップS9として、このシステムバス以外のシステムバスに実装されているモジュールの中から、特定の規則、例えば識別番号が最も小さいモジュールを選択し、バスマスタ判定依頼を送信した後、バスマスタ設定処理を終了する。
【0051】
このバスマスタ判定依頼を受信したバスマスタとしての機能を備えるモジュールは、図4の▲1▼部分、即ちステップS3から上記処理を行い、以降システム内の全てのシステムバスが構築されるまで、これらの処理が繰り返される。
【0052】
ステップ5
上記ステップ1〜4の処理により、システム内の全システムバス1が構築され使用可能な状態に入ると、バスマスタとしての機能を備え、バスマスタとして設定されなかったモジュール(以下非バスマスタモジュールという)は、シリアルバス2上を流れるモジュールの運用状態ステータスの監視を行う。この運用状態ステータスは各モジュールの運用状態を示すもので、非バスマスタモジュールは、自己が実装されているシステムバス1のバスマスタモジュールから送信される運用状態ステータスを監視する。
【0053】
図5は、この運用状態ステータスの構成例を示す図である。
図5の例の場合、この運用状態ステータスは8ビットのデータで、各ビットはバスマスタモジュールの状態をそれぞれ表す。例えば図5の場合ビット3がこの運用状態ステータスがバスマスタモジュールからのものであるかどうかを示す。またビット5及び6はバスマスタモジュールがハードウエア故障等の致命的故障である重故障及び一時的な故障である軽故障時にセットされ、ビット7は、バスマスタモジュールでアプリケーションプログラムが動作中かどうかを表す。
【0054】
非バスマスタモジュールは、シリアルバス上を定周期で送信されてくるバスマスタモジュールからの運用状態ステータスを監視し、バスマスタモジュールが正常に動作しているかどうかをチェックする。
【0055】
そしてバスマスタモジュールが故障状態となり、バスマスタとして機能できなくなった時、そのバスマスタモジュールと同じシステムバス1に実装されている非バスマスタモジュールが代わりにバスマスタとして設定されることによりシステムバスの運用状態は継続維持される。
【0056】
図1のシステム構成の場合、システムバス1−1では、非バスマスタモジュールであるモジュール1〜4は、バスマスタであるモジュール0がシリアルバス上に送信する運用状態ステータスの監視を常時行う。
【0057】
そしてモジュール0に故障が発生すると、システムバス1−1上でモジュール0の次に小さい識別番号が設定されているモジュール1が代わりにバスマスタとして設定されることにより、モジュール0からモジュール1ヘバスマスタが切り換わりシステムバスの動作を継承維持する。このことにより、システムバス1−1では、バスマスタモジュール0が故障しても非バスマスタモジュール1が新たなバスマスタとしてシステムバス1−1を管理するので、システムバス1−1はダウンすること無く正常に動作することが可能となる。他のシステムバス1−2、1−3上についても同様の処理が行われ、バスマスタモジュール5、10が故障してもバスマスタはモジュール6、モジュール11に切り換わるので、モジュール6〜9のデータ転送、モジュール11〜14のデータ転送は正常に行われる。
【0058】
図6は、このバスマスタの切り換えを行う非バスマスタモジュールの処理を示すフローチャートである。
各非バスマスタモジュールは、一定周期、例えば20ms周期毎に発生する割込み処理として、この様なプログラムを起動してバスマスタモジュールが故障した場合、新たなバスマスタモジュールを切り換える。
【0059】
このバスマスタ監視、切り換え処理が起動されると、まずステップS11として自モジュールが、重故障かどうかを調べる。重故障である場合(ステップS11、N)、バスマスタモジュールとしては機能できないので、ステップS18として自己が重故障状態であることを通知した後処理を終了する。また自己が重故障でない場合(ステップS11、Y)、次に自己が実装されているシステムバスのバスマスタモジュールの局番が設定されているかどうかを調べる(ステップS12)。その結果、登録されていなければステップS19として、運用状態ステータスからバスマスタモジュールの局番を検索して登録後、処理を終了する。
【0060】
またステップS12でバスマスタの局番が登録されていれば(ステップS12、Y)、次にステップS13として、運用状態ステータスから得られる他モジュールの状態から、重故障が発生したモジュールをモジュール脱落情報としてマスタモジュールに切り換え可能なモジュールから除く。
【0061】
次に、運用状態ステータスからバスマスタモジュールの状態を調べ、バスマスタモジュールに重故障等が発生して脱落しているかどうかを調べる(ステップS15)。その結果脱落していなければ(ステップS15、N)、バスマスタを切換える必要はないので処理を終了する。
【0062】
また脱落していた場合(ステップS15、Y)、新たなバスマスタモジュールに切換えなければならないので、自己をバスマスタモジュールとして設定するべきかどうかを決めるため、ステップS16として自己の識別番号とそのシステムバスに実装されている他のモジュールの識別番号を比較する。その結果そのシステムバスに実装されていて、バスマスタモジュールに切換え可能なモジュールのの中で自己の識別番号が最も小さければ(S16、Y)、S17として自己をバスマスタとして設定して処理を終了する。また自己の識別番号より小さい識別番号を持つモジュールが他に存在するならば(ステップS17、N)、そのモジュールがバスマスタモジュールに設定され処理を終了する。
【0063】
ステップ4の別形態
図7は、ステップ4の処理の別形態の説明図である。
図7(a)に示すように、ステップ4では、システムバス1−1上のバスマスタとなったモジュール0は、シリアルバス2のメッセージ通信機能を利用して、システムバス1−1以外のシステムバスに実装されているモジュールのうち、最小の識別番号が設定されているモジュール5に対してバスマスタ判定依頼3−1を通知する。そしてモジュール5がシステムバス1−2のバスマスタに設定されると、このモジュール5がシリアルバス2からシステムバス1−1及び1−2以外のシステムバスに実装されているモジュールのうち、最小の識別番号が設定されているモジュール10に対してバスマスタ判定依頼3−1を通知し、以降全てのシステムバス1にバスマスタが設定されるまでこの処理を繰り返す。
【0064】
しかし、本実施形態でのバスマスタ判定依頼3の送信方法は、この図7(a)の方式のみに限らない。
図7(b)に別方式によるバスマスタ判定依頼3の通知を示す。同図(b)の方式では、最初にバスマスタモジュールとなったモジュール0が、モジュール5のみだけではなく、システムバス1−1以外の残りの未構築システムバス1全てに対して実装されているバスマスタ機能を備えたモジュールのうち最も小さい識別番号が設定されているモジュールを調べ、そのモジュール全てにバスマスタ判定依頼3を送信する。図7(b)では、モジュール0は、モジュール5、モジュール10等宛てにバスマスタ判定依頼3を同時に若しくは連続して送信する。これを受取った各モジュールは、上記ステップ1〜3と同様の処理を行い、自己を各システムバス1のバスマスタとして設定し、システムバス1を構築する。
【0065】
この図7(b)の方式の場合、バスマスタ判定依頼3を受取った複数のモジュールが平行してバスマスタモジュールの設定の為の処理を行いシステムバス1を構築するので、図7(a)の方式に比して、短い処理時間で全システムバスが構築されシステムが稼動可能となる。
【0066】
図8は、本実施形態におけるバスマスタとしての機能を備えたモジュールの構成例を示す図である。
本実施形態のモジュールは、図8に示すCPU11、ROM、RAM等による主記憶装置12、ハードディスク装置13、ディスプレイ、キーボード等の入出力装置(I/O)14、システムバス1とモジュールを接続するバスマスタとしての機能を備えたシステムバスインタフェース15、シリアルバス2とモジュールを接続するシリアルバスインタフェース16及びディスク、磁気テープなどの可搬記憶媒体18から記憶内容を読み出す媒体読取り装置17の一部若しくは全部を備え、これらが互いに内部バス19により接続される構成を備えている。
【0067】
図8のモジュールでは、媒体読取り装置17により磁気テープ、フロッピーディスク、CD−ROM、MO等の記憶媒体18に記憶されているプログラム、データを読み出し、これを主記憶装置12またはハードディスク13にダウンロードする。そして本実施形態の各処理は、ハードウエア的手法のみならず、CPU11がこのプログラムやデータを実行することにより、ソフトウエア的に実現することも可能である。
【0068】
このモジュールでは、フロッピーディスク等の記憶媒体18を用いてアプリケーションソフトの交換が行われる場合がある。よって、本発明は、情報処理システム及びそのシステムバス管理方法に限らず、コンピュータにより使用されたときに、上述の本発明の実施の形態の機能をコンピュータに行わせるためのコンピュータ読み出し可能な記憶媒体18として構成することもできる。
【0069】
この場合、「記憶媒体」には、例えば図9に示されるように、CD−ROM、フロッピーディスク(あるいはMO、DVD、リムーバブルハードディスク等であってもよい)等の媒体駆動装置27に脱着可能な可搬記憶媒体26や、ネットワーク回線23経由で送信される外部の装置(サーバ等)内の記憶手段(データベース等)22、あるいは情報処理装置21の本体24内の記憶装置(RAM又はハードディスク等)25等が含まれる。可搬記憶媒体26や記憶手段(データベース等)22に記憶されているプログラムは、本体24内のメモリ(RAM又はハードディスク等)25にロードされて、実行される。尚本発明を実現するプログラムをROM内に保持し、ROM交換によってプログラムを変更する形態もあるので、上記可搬記憶媒体にはROMも含まれる。
【0070】
【発明の効果】
本発明によれば、複数システムバスを介して複数のモジュールが接続される情報処理システムにおいて、システム構成をフレキシブルにしたシステムバス構築のルールが確立される。また、このシステムバス構築時、バスマスタとして設定されるモジュールはそのシステムバスにバスマスタが多重設定されないよう確認しながら設定する。拠って、複数のバスマスタとしての機能を備えるモジュールが1つのシステムバスに実装されていても、バスマスタが多重設定されずに1つのシステムバスに1つのバスマスタが設定される。
【0071】
また、バスマスタが故障しても他のモジュールが新たなバスマスタとしてそのシステムバスを管理することが出来る。このため、バスマスタの故障によるシステムバスの使用不可能状態や、システムダウンの発生を防ぐことが出来る。
【図面の簡単な説明】
【図1】本実施形態のシステム構成の概要を示す図である。
【図2】I/O領域の例を示す図である。
【図3】各モジュールにセットされているユーザ登録情報の内容を示す図である。
【図4】バスマスタとして設定されるモジュールの動作処理を示すフローチャートである。
【図5】運用状態ステータスの構成例を示す図である。
【図6】バスマスタの切り換えを行う非バスマスタモジュールの処理を示すフローチャートである。
【図7】別方式によるバスマスタ判定依頼通知方式の説明図である。
【図8】モジュール構成を示す図である。
【図9】記憶媒体の例を示す図である。
【図10】従来のシステム構成の概要を示す図である。
【符号の説明】
1、101 システムバス
2、102 シリアルバス
3 バスマスタ判定依頼
11 CPU
12 主記憶装置
13 ハードディスク
14 入出力装置
15 システムバスインタフェース
16 シリアルバスインタフェース
17 媒体読取り装置
18 記憶媒体
19 内部バス
Claims (9)
- バスマスタとしての機能を備える複数のモジュールが第1のバスで接続される情報処理システムであって、
前記各モジュールは、
各モジュールを一意に識別するために用いる識別番号をスイッチにより予め設定する識別番号設定手段と、
前記識別番号設定手段により設定されている自己の識別番号が特定値であるとき、自己が実装されている第1のバスに実装されているモジュール全てに対して、バスマスタが未設定の状態なのかを確認するために応答要求を送信する応答要求送信手段と、
前記応答要求に対して1つも応答が返答されないとき、自己をバスマスタとして設定するバスマスタ設定手段と、
を備えることを特徴とする情報処理システム。 - 前記情報処理システムは前記第1のバスとは独立した第2のバスを備え、
前記モジュールは、
自己が実装されている第1のバスのバスマスタとして設定されているバスマスタモジュールから、前記第2のバスを介して送信されてくる該バスマスタモジュールの状態を示すステータス情報を監視するバスマスタモジュール監視手段と、前記ステータス情報が前記バスマスタモジュールが故障であることを示すとき、前記識別番号設定手段により設定されている識別番号から自己をバスマスタとして設定するかどうかを決めるバスマスタ切換え選択手段と
を更に備えることを特徴とする請求項1記載の情報処理システム。 - バスマスタとしての機能を備える複数のモジュールが1つ以上のシステムバスで接続される構成の情報処理システムでのシステムバス管理方法であって、
前記各モジュールは、
自己に設定されている各モジュールを一意に識別するために用いる識別番号がスイッチにより予め設定した特定値であるとき、自己が実装されているシステムバスに実装されているモジュール全てに対して、バスマスタが未設定の状態なのかを確認するために応答要求を送信し、
前記応答要求に対して1つも応答が返答されないとき、自己をバスマスタとして設定すること
を特徴とするシステムバス管理方法。 - バスマスタとしての機能を備える複数のモジュールが1つ以上のシステムバスで接続される構成の情報処理システムでのシステムバス管理方法であって、
前記各モジュールは、自己をバスマスタとして設定後、前記システムバスと独立したバスを用いて、バスマスタが設定されていないシステムバスに実装されているモジュールの1つに対して、バスマスタの設定を依頼するバスマスタ判定依頼を送信し、
前記バスマスタ判定依頼を受信したモジュールは、自己が実装されているシステムバスに実装されているモジュール全てに対して応答要求を送信し、
前記応答要求に対して1つも応答が返答されない時、自己をバスマスタとして設定すること
を特徴とするシステムバス管理方法。 - 前記モジュールは、自己をバスマスタとして設定後、自己が実装されているシステムバスに実装されているモジュール全てに対して、再度応答要求を送信し、該応答要求に対する各モジュールからの応答に基づいて前記システムバスの実装状態を求め、該実装状態と自己が記憶している実装状態に対する情報とを比較すること
を特徴とする請求項3又は4記載のシステムバス管理方法。 - 前記モジュールは、前記応答から求めた実装状態と前記実装状態に対する情報が一致したとき、自己をバスマスタとして確定すること
を特徴とする請求項5記載のシステムバス管理方法。 - 前記特定値は最小の識別番号であり、前記自己をバスマスタとして設定後のモジュールは、バスマスタが設定されていないシステムバスに実装されているモジュールの中で最小の識別番号が設定されているモジュールにバスマスタ判定依頼を送信する
こと
を特徴とする請求項6記載のシステムバス管理方法。 - コンピュータにより使用されたとき、自己に設定されている各モジュールを一意に識別するために用いる識別番号がスイッチにより予め設定した特定値であるとき、自己が実装されている第1のバスに実装されているモジュール全てに対して、バスマスタが未設定の状態なのかを確認するために応答要求を送信し、
前記応答要求に対して1つも応答が返答されないとき、自己を前記第1のバスのバスマスタとして設定すること
を前記コンピュータに行わせるためのプログラムを記憶した前記コンピュータが読み出し可能な記録媒体。 - 前記第1のバスとは独立した第2のバスから送信される、前記第1のバスのバスマスタとして設定されているバスマスタモジュールの状態を示すステータス情報を監視し、前記ステータス情報が前記バスマスタモジュールが故障であることを示すとき、前記識別番号から自己をバスマスタとして設定するかどうかを決めること
を特徴とする請求項8記載のコンピュータが読み出し可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12978399A JP3959891B2 (ja) | 1999-05-11 | 1999-05-11 | 情報処理システム及びそのシステムバス管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12978399A JP3959891B2 (ja) | 1999-05-11 | 1999-05-11 | 情報処理システム及びそのシステムバス管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000322372A JP2000322372A (ja) | 2000-11-24 |
JP3959891B2 true JP3959891B2 (ja) | 2007-08-15 |
Family
ID=15018124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12978399A Expired - Lifetime JP3959891B2 (ja) | 1999-05-11 | 1999-05-11 | 情報処理システム及びそのシステムバス管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3959891B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101650010B1 (ko) * | 2016-02-04 | 2016-09-08 | 주식회사 제이엔티이엔지 | 병렬운전정류장치 및 그 운용방법 |
-
1999
- 1999-05-11 JP JP12978399A patent/JP3959891B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000322372A (ja) | 2000-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4683531A (en) | Polling method for data processing system | |
CN100380334C (zh) | 启用远程直接存储器存取的网络接口控制器切换方法 | |
US5452420A (en) | Intelligent network interface circuit for establishing communication link between protocol machine and host processor employing counter proposal set parameter negotiation scheme | |
JPH1049507A (ja) | 並列計算機 | |
US7206947B2 (en) | System and method for providing a persistent power mask | |
WO2021004256A1 (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
JP2000209239A (ja) | ネットワ―クデバイス設定管理システム、ネットワ―クデバイス設定管理方法およびネットワ―クデバイス設定管理プログラムを記録した記録媒体 | |
US7499987B2 (en) | Deterministically electing an active node | |
CN105373345A (zh) | 存储器设备和模块 | |
WO2024120169A1 (zh) | 一种服务器及其资产信息获取方法、提供方法和装置 | |
TW560133B (en) | Media converter and transmission system using the same | |
JP2023543371A (ja) | 新型ポータブルプログラムアップグレード方法 | |
US6356985B1 (en) | Computer in multi-cluster system | |
JP3959891B2 (ja) | 情報処理システム及びそのシステムバス管理方法 | |
CN112003723A (zh) | Expander芯片的固件批量升级实现方法和系统 | |
TWI799179B (zh) | 運算系統及網路裝置管理方法 | |
JP2000293272A (ja) | 共有機器電源制御装置及び共有機器電源制御方法 | |
JPH1069470A (ja) | マルチプロセッサシステム | |
US6941451B2 (en) | Management subsystem and method for discovering management device functions | |
US10795848B2 (en) | Dual way communication method, system, and master device thereof | |
JP3137197B2 (ja) | マルチプロセッサシステム | |
JP2001333083A (ja) | フィールド機器の新規追加および削除の設定方法、並びにフィールド機器の新規追加方法 | |
JP3305202B2 (ja) | 二重化コントローラ用ネットワークシステム | |
US20220050139A1 (en) | System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol | |
JP2000040055A (ja) | マルチバスマスタ制御方法および制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060809 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060831 |
|
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: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 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 |