JPH08161279A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JPH08161279A JPH08161279A JP6304096A JP30409694A JPH08161279A JP H08161279 A JPH08161279 A JP H08161279A JP 6304096 A JP6304096 A JP 6304096A JP 30409694 A JP30409694 A JP 30409694A JP H08161279 A JPH08161279 A JP H08161279A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- board
- master
- register
- control unit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
CPUの切り離しを確実に実現できるマルチプロセッサ
システムを実現する。 【構成】 システムバス11に接続されたCPUボード
7には2つのCPU1、2が搭載されており、それらの
CPU制御部3、4はローカルバス6で記憶制御部5に
接続されている。立ち上げ時には、ボード内のCPU中
正常終了したCPUの中からボードマスタCPUを定
め、その後、ボードマスタCPUの中からシステムマス
タCPUを定める。
Description
するコンピュータシステムに関し、特に中小規模のマル
チプロセッサシステムに関する。中小規模のマルチプロ
セッサの中でも特に、耐故障システムとして注目される
サーバコンピュータシステムや、高信頼性を有するワー
クステーションシステムに適用される。
て、複数台のCPUを用いたマルチプロセッサシステム
が構築されている。特に、安価なCPUを多数使用して
価格性能比のよいコンピュータを実現できることから、
中小規模のシステムには有用な構成である。
ュータシステムにおいては、システムの立ち上げ時にお
いて故障したCPUが存在していた場合の処置が問題と
なる。この処置として、通常、この故障したCPUを切
り離して立ち上げを実行して縮退運用をする(デグレー
ドを行うともいう)ことが行われている。
電源投入直後より共通に使用可能な記憶装置部を設け、
この記憶装置部に各CPUの内部初期診断結果(ロード
命令やストア命令などの基本命令の実行診断結果)を書
き込み、故障したCPUが存在する場合にはシステム診
断装置(DGU)がこの故障したCPUを切り離すとい
う方式が採用される場合がある。一方、各CPUに接続
されたCPU制御部にCPUの内部初期診断結果を格納
するレジスタおよびこのレジスタの制御回路を設け、D
GUが各CPU制御部内のレジスタを読み出して、故障
したCPUが存在する場合にはそのCPUをDGUが切
り離すという方式が採用される場合もある。しかし、こ
うしたシステムはDGUのような特別の診断制御装置を
設けるために非常に高価になる傾向がある。
システムにおいては、1つのCPUをシステムマスタC
PUと予め定めておき、このシステムマスタCPUが自
CPUの内部初期診断を正常に終了した場合には、シス
テムマスタCPUが他のCPU(以後、スレーブCPU
と呼ぶ)の内部初期診断開始および終了を制御し、スレ
ーブCPUが正常終了できなかった場合にはシステムマ
スタCPUが故障したCPUを切り離して縮退運用を行
うという方式が多く採用されている。
Uが故障した場合にはシステムが立ち上がらず、システ
ム全体の信頼性が低いという問題点がある。
が接続されているシステムバス上にシステムマスタCP
Uを指定する番号(マスタ指定ID)を保持する不揮発
性メモリを設けて、マスタ指定IDで指定されるシステ
ムマスタCPUによるシステム初期化が失敗したときに
は、次順位のマスタ指定IDにより指定されるCPUが
システムマスタCPUとして動作する技術が開発されて
いる(特開平4―178871号公報)。
技術では、システムバスに接続されるプロセッサ数が増
大すると、システムバス上に設けられCPUの初期診断
を行うためのCPU初期化情報を格納したメモリやマス
タ指定IDを保持する不揮発性メモリと各CPU間の通
信回数が増加するために、システムバスの使用効率が低
下して初期化に要する時間が増大するという問題点があ
る。
熱量の低減を目的として、3.3Vで動作するシステム
バスを用いたマルチプロセッサシステムが実用化されて
いる。ところが、3.3Vで動作する制御用ゲートアレ
イは高価になる傾向があり、これを用いるプロセッサチ
ップもコスト的に不利となり、マルチプロセッサシステ
ムの長所である高コストパフォーマンスを阻む結果とな
っている。
いて障害を起こしたCPUの切り離しを確実に行うこと
で、信頼性の高いマルチプロセッサシステムを提供する
ことにある。
が増大してもシステムバスにかかる負担を抑えることの
できるマルチプロセッサシステムを提供することにあ
る。
動作するシステムバスを用いたマルチプロセッサシステ
ムにおいて、高いコストパフォーマンスを維持できるマ
ルチプロセッサシステムを提供することにある。
に本発明のマルチプロセッサシステムは、システムバス
に接続された複数のCPUボードを有するマルチプロセ
ッサシステムであって、各CPUボードは、一つ以上の
CPUと、これらのCPUのそれぞれに対応して設けら
れ、システムバスおよびローカルバスと当該CPUとの
間の通信を制御するCPU制御部と、このCPU制御部
とローカルバスを介して接続され、CPU初期化情報を
格納する記憶制御部とを有し、システム立ち上げ時にお
いて、各CPUは自ボード内の記憶制御部からCPU初
期化情報を読み出して初期診断を行い、この初期診断が
正常終了しなかったときには当該CPUに対応するCP
U制御部が当該CPUをシステムバスから切り離すよう
に構成されている。
CPUボード内において初期診断が正常終了したCPU
の内の特定のCPUをボードマスタCPUとし、その後
これらボードマスタCPUの内の特定のCPUをシステ
ムマスタCPUとすることができる。
に、プロセッサ間通信割り込みに成功したCPUのみが
ボードマスタCPUとして選択されるようにすることが
望ましい。
3Vであるようなシステムにおいては、ローカルバスの
動作電圧を5Vとすることができる。
合のシステムバスからの切り離しを行うものは当該CP
Uであってもよく、またシステムマスタCPUがCPU
制御部に指示することで行ってもよい。
実施例について図面を参照して詳細に説明する。
るマルチプロセッサシステムは、CPUボード7と、C
PUボード8の2つのCPUボードを有し、ともにシス
テムバス11に接続されている。システムバス11上に
は、さらに、メモリ装置9とI/O制御装置10が接続
されている。各CPUボードには各々2つのCPUが搭
載されている。メモリ装置9内にはシステム立ち上げ時
に行われる全CPUの内部初期診断結果を格納する全C
PU内部初期診断結果格納領域91が設けられている。
I/O制御装置10はシステムバス11を介した通信を
制御する。システムバス11は3.3Vで動作し、その
動作周波数は50MHzである。
と、それらに接続された2つのCPU制御部3、4と、
記憶制御部5と、2つのCPU制御部3、4と記憶制御
部5とを接続しているローカルバス6とを備えている。
21を有している。その内の3つのレジスタをそれぞれ
レジスタa、レジスタb、レジスタcとする。
には、CPU番号格納レジスタ31と、CPU制御レジ
スタ32と、ボード番号格納レジスタ33が備えられて
いる。CPU2に接続されているCPU制御部4も同様
に、CPU番号格納レジスタ41と、CPU制御レジス
タ42と、ボード番号格納レジスタ43とを備えてい
る。各CPU制御部には信号用に350ピン、電源およ
びGND用に169ピンが設けられているが、その内、
5Vで動作するものが信号用に120ピン、電源用に4
6ピンある。CPU番号格納レジスタ31、41には、
接続されているCPUを特定できる番号、具体的にはC
PU番号格納レジスタ31には「0」が、CPU番号格
納レジスタ41には「1」が、それぞれ格納されてい
る。CPU制御レジスタ32、42は、その内容が特定
の値、例えば「0」であればシステムバスと自CPU制
御部との通信を許可し、内容が他の特定の値、例えば
「1」であればシステムバスと自CPU制御部との通信
を禁止して当該CPUをシステムから切り離すように構
成されたレジスタである。ボード番号格納レジスタ3
3、43には自CPU制御部が搭載されているCPUボ
ード7を特定できる番号、具体的には「0」が格納され
ている。なおCPU番号格納レジスタおよびボード番号
格納レジスタは、システムの電源が切られている状態で
も内容を保持することができる不揮発性のレジスタであ
る。
Vの電圧になるバスであって、その動作周波数は25M
Hzである。
Uの初期診断動作を含む初期化動作に必要なCPU初期
化情報を格納している初期化情報格納領域51と、ボー
ド内の各CPUの内部初期診断結果を格納するための内
部初期診断格納領域52を有している。ここでCPUの
内部初期診断とは、ロード命令やストア命令などの基本
命令の実行チェックを指す。なお、記憶制御部5は不揮
発性RAMであってシステムの電源断時にもその内容を
失わない。
と同様の構成を有している。ただし、2つのCPU制御
部内の各CPU番号格納領域には「0」「1」以外の番
号、具体的には「2」および「3」がそれぞれ格納され
ており、ボード番号格納レジスタには「0」以外の番
号、具体的には「1」が格納されている。
3ないし図5のフローチャートを参照して説明する。こ
のフローチャートは各CPUがスレーブCPUとしてス
レーブ動作を行うステップまで、もしくはシステムマス
タCPUとしてマスタ動作を行うステップまで、または
故障を起こしたCPUとしてストールするまでのステッ
プを示している。実際の動作の際には、その時の状況に
応じて各CPUで異なったフローを辿る。前述のよう
に、本発明におけるマスタCPUの決定は、ボード内の
マスタCPU(ボードマスタCPU)の決定過程と、シ
ステム全体のマスタCPU(システムマスタCPU)の
決定過程とに分けて行われることを特徴とする。
Uは自己の属するボード内の記憶制御部内のCPU初期
化情報を読み込んで、内部初期診断を開始する(ステッ
プ301)。次に、各CPUは自己に接続されているC
PU制御部内のCPU番号格納レジスタから自CPU番
号を読み出して、レジスタaに格納する(ステップ30
2)。各CPUは自己の内部初期診断の終了後、その診
断結果により正常終了の可否を判断する(ステップ30
3)。
ドを(ステップ304)、また正常終了しなかった場合
にはエラーコードを(ステップ305)、それぞれレジ
スタa内の番号に基づき記憶制御部内の自CPUに対応
する内部初期診断結果格納領域にローカルバスを介して
格納する。
PUをシステムバス11から切り離すために、自CPU
に接続されているCPU制御部内のCPU制御レジスタ
に「1」を格納して自CPUの切り離しを指示し(ステ
ップ307)、その後ストールする(ステップ30
9)。
が内部初期診断結果を格納するのを一定期間だけ待ち合
わせた後(ステップ306)、ボード内の全CPUの内
部初期診断結果を記憶制御部からローカルバスを介して
読み出して、正常終了したCPU番号の内、最小の番号
を自CPU内にあるレジスタbに格納する(ステップ3
08)。この最小番号のCPUがボードマスタCPUの
候補となる。そして、レジスタb内の番号とレジスタa
内の番号とを比較して、自CPUがボード内で正常終了
したCPU中最小番号のCPU、すなわちボードマスタ
CPUの候補であるか否かを判定する(ステップ31
0)。
CPU中最小番号のCPUでなかった場合、ボードマス
タCPUからのボードマスタCPU宣言を示すプロセッ
サ間通信割り込みを一定期間待ち合わせる(ステップ3
12)。この期間中にボードマスタCPUからのプロセ
ッサ間通信割り込みがあった場合にはスレーブCPUと
なることが確定するので、システムマスタCPUからの
動作指示を待つスレーブ動作を実行する(ステップ31
5)。もし、期間内に割り込みがなかった場合には、ボ
ードマスタCPUの候補とされたCPUが正常動作でき
ないものと判断して、記憶制御部内の内部初期診断結果
格納領域にアクセスして、自ボード内でレジスタb内の
番号+1以降の番号を有するCPUの内、正常終了した
CPUの番号を得てこれをレジスタbに格納し(ステッ
プ316)、ステップ310に戻る。
CPU中最小番号のCPUであった場合、ボードマスタ
宣言を行うためにボード内の他のCPUに対してプロセ
ッサ間通信割り込みをかける(ステップ311)。
場合にはボードマスタCPUとして確定するが、もしこ
の割り込みが正常終了しなかった場合、基本命令実行以
外の障害があるものとしてステップ305にジャンプし
て、エラーコードを内部診断結果格納領域に格納して
(ステップ305)、自CPUに接続されているCPU
制御部内のCPU制御レジスタに「1」をセットして自
CPUをシステムバス11から切り離して(ステップ3
07)、その後ストールする(ステップ309)。な
お、この場合のエラーコードは内部初期診断の異常終了
時のコードと異なったコードとすることが望ましい。ま
た、エラーコードの格納場所も、適宜他の場所にとるこ
ともできる。
は、まず、各ボード内のボードマスタCPUが、自CP
Uと接続されたCPU制御部内のボード番号格納レジス
タから自ボード番号を読み出して、自CPU内のレジス
タb内に格納する(ステップ317)。次に自CPU内
部のレジスタcにシステムバスに接続されたボード番号
中の最小の番号「0」を設定し(ステップ318)、そ
して、レジスタbとレジスタcとの比較を行う(ステッ
プ319)。
い(ステップ320)、システムマスタCPUとして、
システム内の全CPUに対してプロセッサ間通信割り込
みをかけてシステムマスタCPU宣言を行う(ステップ
322)。もし、プロセッサ間通信割り込みに失敗した
ときには、ステップ305にジャンプして内部初期診断
で正常終了しなかったときと同様の処理を行ってストー
ルする(ステップ325)。割り込みに成功すると、自
CPUが属するCPUボード内の記憶制御手段内にある
各CPUの内部初期診断結果をメモリ装置9内に設けら
れた全CPU内部初期診断結果格納領域91に格納し
(ステップ327)、その後マスタ動作を実行する(ス
テップ329)。
比較が一致しなかった場合、そのボードマスタCPUは
システムマスタCPUからのシステムマスタCPU宣言
を一定期間待ち合わせて(ステップ321)、システム
マスタCPUからの割り込みがあれば、自CPUが属す
るCPUボード内の記憶制御部内にある各CPUの内部
初期診断結果をメモリ装置9内に設けられた全CPU内
部初期診断結果格納領域91に書き込み(ステップ32
6)、スレーブCPUとして動作する(ステップ32
8)。一定期間内に割り込みがなかった場合には、シス
テムマスタCPUの候補となるCPUが属するCPUボ
ード番号が格納されているレジスタcの内容を+1加算
して(ステップ324)、システムマスタCPUボード
の候補番号と自ボード番号との比較を行うステップ31
9に戻る。
動作を説明する。
PUa(図1におけるCPU1)、CPUb(同じくC
PU2)とし、CPUボード8上のCPUをCPUcお
よびCPUdとし、これらのCPU番号をそれぞれ
「0」、「1」、「2」、「3」とする。また、これら
の内、CPUaには基本命令の実行に障害があり、CP
Ub、CPUcおよびCPUdは正常に動作するものと
する。さらに、CPUボード7、8のボード番号をそれ
ぞれ「0」、「1」とする。
PUa、CPUb、CPUcおよびCPUdは、それぞ
れ自CPUの内部初期診断を開始する(ステップ30
1)。次に、各CPUは自己に接続されているCPU制
御部内のCPU番号格納レジスタから自CPU番号を読
み出して、レジスタaに格納する(ステップ302)。
すなわち、CPUa内のレジスタaには「0」が、CP
Ub内のレジスタaには「1」が、CPUc内のレジス
タaには「2」が、CPUd内のレジスタaには「3」
が、それぞれ格納される。
その診断結果により正常終了の可否を判断する(ステッ
プ303)。CPUaは正常終了しないから、エラーコ
ードをCPUaが属するCPUボード7内の記憶制御部
5内の内部初期診断結果格納領域52に書き込む(ステ
ップ305)。その後、自CPUをシステムから切り離
すために、自CPUに接続されているCPU制御部3内
のCPU制御レジスタ32に「1」を格納して自CPU
の切り離しを指示し(ステップ307)、その後CPU
aはストールする(ステップ309)。
PUdは、正常終了コードを各々が属するボード内の記
憶制御部内の内部初期診断結果格納領域に書き込む(ス
テップ304)。その後、自己以外のCPUが内部初期
診断結果を格納するのを一定期間だけ待ち合わせた後
(ステップ306)、各ボード内の全CPUの内部初期
診断結果を記憶制御部からローカルバスを介して読み出
して、正常終了したCPU番号の内、最小の番号を自C
PU内にあるレジスタbに格納する(ステップ30
8)。すなわち、CPUbはレジスタbに「1」を、C
PUcおよびCPUdはレジスタbに「2」をそれぞれ
格納する。この番号のCPUが各々のボードにおけるボ
ードマスタCPUの候補となる。そして、レジスタb内
の番号とレジスタa内の番号とを比較して、自CPUが
ボード内で正常終了したCPU中最小番号のCPU、す
なわちボードマスタCPUの候補であるか否かを判定す
る(ステップ310)。CPUd内のレジスタaは
「3」を、レジスタbは「2」をそれぞれ格納している
ので、自CPUがボード内で正常終了したCPU中最小
番号のCPUでなかった場合となり、スレーブCPUと
してボードマスタCPUからのボードマスタCPU宣言
を示すプロセッサ間通信割り込みを一定期間待ち合わせ
る(ステップ312)。この期間中にボードマスタCP
U(CPUc)からのプロセッサ間通信割り込みがあっ
た場合にはスレーブCPUとなることが確定するので、
システムマスタCPUからの動作指示を待つ(ステップ
315)。もし、期間内に割り込みがなかった場合に
は、ボードマスタCPUの候補とされたCPUcが正常
動作できないものと判断して、正常終了したCPU中の
次に小さい番号「3」をレジスタbに格納して(ステッ
プ316)、ステップ310に戻る。
は、レジスタaとレジスタbの内容が一致する、すなわ
ち自CPUがボード内で正常終了した最小番号であるの
で、ボードマスタ宣言を行うために、ボード内の他のC
PUに対してプロセッサ間通信割り込みをかける(ステ
ップ311)。CPUb、CPUcがボードマスタ宣言
を正常に終了させると、これらがボードマスタCPUと
なる(ステップ313の「yes」の流れ)。もし、プロ
セッサ間通信割り込みが失敗した場合には、ステップ3
05にジャンプして、エラーコードを自ボード内の記憶
制御部内の内部初期診断格納領域に格納して、自CPU
のシステムバスからの切り離しを行った(ステップ30
7)後に、ストールする(ステップ309)。
なったCPUbおよびCPUcは、自CPU内部のレジ
スタbに自CPUと接続されたCPU制御部内のボード
番号レジスタから読み出した自ボード番号を格納し(ス
テップ317)、またレジスタcにシステムマスタCP
Uボードの候補番号としての番号「0」を設定する(ス
テップ318)。すなわちCPUbはレジスタbに
「0」、レジスタcに「0」を、CPUcはレジスタb
に「1」を、レジスタcに「0」をそれぞれ格納する。
そして、ともにレジスタbとレジスタcとの比較を行う
(ステップ319)。
cとが等しいので、メモリ装置9の初期化を行い(ステ
ップ320)、システムマスタCPUとして、システム
内の全CPUに対してプロセッサ間通信割り込みを用い
てシステムマスタCPU宣言を行う(ステップ32
2)。割り込みが成功すれば、自ボード内のCPUa、
CPUbの内部初期診断結果をメモリ装置9内の全CP
U内部初期診断結果格納領域91の対応する箇所に書き
込み(ステップ327)、システムマスタCPUとして
の動作に移行する(ステップ329)。
タbとレジスタcとの比較が一致しないので、CPUc
はシステムマスタCPU、すなわちCPUbからのシス
テムマスタCPU宣言を一定期間待ち合わせて(ステッ
プ321)、システムマスタCPUからの割り込みがあ
れば、自CPUが属するCPUボード8内の記憶制御部
内にあるCPUcおよびCPUdの内部初期診断結果を
メモリ装置9内の全CPU内部初期診断結果格納領域9
1の対応する箇所に書き込み(ステップ326)、スレ
ーブCPUとして動作する(ステップ328)。もし、
割り込みがなければ、CPUbが正常に動作できないも
のと判断して、レジスタcの値を+1して「1」とし、
ステップ319に戻る。
診断において正常終了しなかったCPUおよびプロセッ
サ間通信割り込みができなかったCPUも、エラーコー
ドの内部初期診断結果格納領域への書き込み(ステップ
305)を行うことができるということを前提に説明し
たが、実際には障害を起こしたCPUがこの動作を行う
ことのできない場合もあり得る。そこで各CPUは、内
部初期診断結果格納領域に正常コードが入っていないC
PUは異常終了したものと判断して自己の処理を行うよ
うに構成することが望ましい。
障害を起こした場合には、メモリ装置9内の全CPU初
期診断結果格納領域91内に診断結果が格納されない箇
所が生じるが、この場合も、診断結果が格納されなかっ
たCPUは異常終了したものと判断するように構成する
ことが望ましい。ステップ325において割り込みが失
敗したときも同様である。これらの場合、記憶制御部内
に残された診断結果から異常の発生場所や原因を調べる
ことができる。なお、本実施例ではシステムマスタCP
Uの候補となったCPUがプロセッサ間通信割り込みに
失敗した場合、そのボード内に正常終了したCPUが他
にあっても、そのボード内の全CPUが故障したものと
判断されることになるが、他の正常終了したCPUを新
たにボードマスタCPUとして選択されるように構成す
ることもできる。
ステムの一実施例によれば、システムマスタCPUが動
的に決定されるため、最初に選択されたCPUがマスタ
動作できなくても他のCPUに代替させてシステムを立
ち上げることが可能となり、信頼性の高いマルチプロセ
ッサシステムが実現される。
ローカルバス上に設けられた記憶制御部にアクセスする
ので、ローカルバスを設けない場合に比べてアクセスの
競合が減少して、立ち上げ時のシステム性能が向上す
る。
障害があってメモリ装置に診断結果が格納されない場合
であっても、ローカルバス上の記憶制御部内に残される
情報を利用することで、CPUの内部初期診断結果を調
べることが可能となるため、エラー検出率が向上され
る。
よびシステムマスタCPUを決定する際に、プロセッサ
間通信割り込みが成功することを確認している(ステッ
プ313およびステップ325)ので、ボード/システ
ムマスタCPUとなるのは、単に内部初期診断で正常終
了しただけでなく、プロセッサ間通信割り込みも成功し
たCPUに限られ、システム全体の信頼性が高くなると
いう効果がある。
作電圧が3.3V動作でローカルバスの動作電圧が5V
であるため、CPU制御部が有するピンの内、ほぼ1/
3のピンが5Vで動作可能なので、この部分の制御用ゲ
ートアレイ部も5Vで動作すればよく、3.3V動作に
比べて安価な構成を実現できる。これらの動作電圧は他
の値をとることもできる。
Uが1つしか搭載されていなくともよいことは当然であ
る。また、一部のCPUがCPUボード上ではなくシス
テムバスに直接接続されていてもよい。この場合は1つ
のCPUを搭載したCPUボードがある場合と同様であ
る。
期化情報と内部初期診断結果を両方格納したが、個別に
記憶装置を設けて記憶させることもできる。
診断またはプロセッサ間通信割り込みにおいて異常終了
したCPUがある場合に、当該CPU自身がCPU制御
部内のCPU制御レジスタに対して自CPUのシステム
バスの切り離しを指示するように構成したが、実際には
障害を起こしたCPUが自CPUの切り離しをできない
ような障害を有していることがあり得る。このような事
態が発生すると、障害を起こしたCPUがシステムバス
に接続されたままになり、システムバスに異常な信号を
出すなどしてシステムの信頼性の低下を招くおそれがあ
る。これを改善した第2の実施例を次に示す。
が、CPU制御部内のCPU制御レジスタに自ボードお
よび他ボードにあるCPUがアクセスできる構成になっ
ている。本実施例は、図3ないし図5のフローチャート
の代わりに、図6ないし図8に示すようなフローチャー
トで各CPUが動作する。
動作を説明する。
Uは自己の属するボード内の記憶制御部内の初期化情報
を読み込んで、内部初期診断を開始する(ステップ60
1)。次に、各CPUは自己に接続されているCPU制
御部内のCPU番号格納レジスタから自CPU番号を読
み出して、レジスタaに格納する(ステップ602)。
各CPUは自己の内部初期診断の終了後、その診断結果
により正常終了の可否を判断する(ステップ603)。
ドを(ステップ604)、また正常終了しなかった場合
にはエラーコードを(ステップ605)、それぞれレジ
スタa内の番号を基に記憶制御部内の自CPUに対応す
る内部初期診断結果格納領域にローカルバスを介して格
納する。
の実施例の場合とは異なり、自CPUのシステムバス1
1から切り離しを行うことなくストールする(ステップ
607)。
初期診断結果を格納するのを一定期間だけ待ち合わせた
後(ステップ606)、ボード内の全CPUの内部初期
診断結果を記憶制御部からローカルバスを介して読み出
して、正常終了したCPU番号の内、最小の番号を自C
PU内にあるレジスタbに格納する(ステップ60
8)。この最小番号のCPUがボードマスタCPUの候
補となる。そして、レジスタa内の番号とレジスタb内
の番号とを比較して、自CPUがボード内で正常終了し
たCPU中最小番号のCPU、すなわちボードマスタC
PUの候補であるか否かを判定する(ステップ60
9)。
CPU中最小番号のCPUでなかった場合、ボードマス
タCPUからのボードマスタCPU宣言を示すプロセッ
サ間通信割り込みを一定期間待ち合わせる(ステップ6
11)。この期間中にボードマスタCPUからのプロセ
ッサ間通信割り込みがあった場合にはスレーブCPUと
なることが確定するので、システムマスタCPUからの
動作指示を待つスレーブ動作を実行する(ステップ61
4)。もし、期間内に割り込みがなかった場合には、ボ
ードマスタCPUの候補とされたCPUが正常動作でき
ないものと判断して、記憶制御部内の内部初期診断結果
格納領域にアクセスして、自ボード内でレジスタb内の
番号+1以降の番号を有するCPUの内、正常終了した
CPUの番号を得てこれをレジスタbに格納し(ステッ
プ615)、ステップ609に戻る。
CPU中最小番号のCPUであった場合、ボードマスタ
宣言を行うためにボード内の他のCPUに対してプロセ
ッサ間通信割り込みをかける(ステップ610)。
場合にはボードマスタCPUとして確定するが、もしこ
の割り込みが正常終了しなかった場合、基本命令実行以
外の障害があるものとしてステップ605にジャンプし
て、エラーコードを内部診断結果格納領域に格納して
(ステップ605)、ストールする(ステップ60
7)。
自CPUと接続されたCPU制御部内のボード番号格納
レジスタから自ボード番号を読み出して、自CPU内の
レジスタb内に格納する(ステップ616)。次に自C
PU内部のレジスタcにシステムバスに接続されたボー
ド番号中の最小の番号「0」を設定し(ステップ61
7)、そして、レジスタbとレジスタcとの比較を行う
(ステップ618)。
い(ステップ619)、システムマスタCPUとして、
システム内の全CPUに対してプロセッサ間通信割り込
みをかけてシステムマスタCPU宣言を行う(ステップ
621)。もし、プロセッサ間通信割り込みに失敗した
ときには、ステップ605にジャンプしてエラーコード
を格納してストールする。割り込みに成功すると、自C
PUが属するCPUボード内の記憶制御手段内にある各
CPUの内部初期診断結果をメモリ装置9内に設けられ
た全CPU内部初期診断結果格納領域91に格納する
(ステップ626)。
間の待ち合わせを行って他のボードマスタCPUが全C
PU内部初期診断結果格納領域91に書き込みが終了す
るのを待ち(ステップ628)、全CPU初期診断結果
格納領域91を読み出して(ステップ629)、障害を
起こしたCPUがあるか否かを判別する(ステップ63
0)。この際、結果が格納されていないCPUは異常終
了したものとみなすことが望ましい。
るときは、そのCPUのCPU制御部内のCPU制御レ
ジスタに「1」をセットして、CPUのシステムバスか
らの切り離しを指示して(ステップ631)、システム
バスとしてマスタ動作を開始する(ステップ632)。
そのままマスタ動作に移る(ステップ632)。
したCPUが自己をシステムバスから切り離すことがで
きない場合であっても、システムマスタCPUが正常終
了しなかったCPUを認識してシステムバスからの切り
離しを行うので、よりシステムの信頼性が向上される。
よると、マスタCPUの決定を動的に行うことにより、
システム立ち上げ時において障害を起こしたCPUの切
り離しを確実に行うができ、信頼性の高いマルチプロセ
ッサシステムを実現できる。
ロセッサ間通信割り込みに成功したCPUのみがマスタ
CPUとして選択されるように構成することで、信頼性
がさらに向上される。
診断が正常終了しなかったCPUの切り離しをシステム
マスタCPUが指示するようにすることで、より信頼性
の高いシステムが実現される。
ード上にローカルバスを設けて、この上に記憶装置部を
備えることにより、プロセッサ数が増大してもシステム
バスにかかる負担を抑えることができ、システムの立ち
上がり動作の高速化が実現される。
Vでありようなシステムにおいて、ローカルバスの動作
電圧を5Vと設定することで、高いコストパフォーマン
スを維持したまま、低消費電力、低発熱なマルチプロセ
ッサシステムが実現される。
の構成を示すブロック図である。
の流れを示すフローチャートである。
の流れを示すフローチャートである。
Claims (5)
- 【請求項1】 システムバスに接続された複数のCPU
ボードを有するマルチプロセッサシステムであって、 各CPUボードは、 一つ以上のCPUと、 これらのCPUのそれぞれに対応して設けられ、前記シ
ステムバスおよびローカルバスと該CPUとの間の通信
を制御するCPU制御部と、 このCPU制御部と前記ローカルバスを介して接続さ
れ、CPU初期化情報を格納する記憶制御部とを有し、 システム立ち上げ時において、各CPUは自ボード内の
前記記憶制御部から前記CPU初期化情報を読み出して
初期診断を行い、この初期診断が正常終了しなかったと
きには該CPUに対応する前記CPU制御部が該CPU
をシステムバスから切り離すことを特徴とするマルチプ
ロセッサシステム。 - 【請求項2】 システム立ち上げ時において、各CPU
ボード内において初期診断が正常終了したCPUの内の
特定のCPUをボードマスタCPUとし、その後これら
ボードマスタCPUの内の特定のCPUをシステムマス
タCPUとすることを特徴とする請求項1記載のマルチ
プロセッサシステム。 - 【請求項3】 前記ボードマスタCPUを選択する場合
に、プロセッサ間通信割り込みに成功したCPUのみが
ボードマスタCPUとして選択されることを特徴とする
請求項2記載のマルチプロセッサシステム。 - 【請求項4】 前記システムバスの動作電圧が3.3V
であり、前記ローカルバスの動作電圧が5Vであること
を特徴とする請求項1記載のマルチプロセッサシステ
ム。 - 【請求項5】 システム立ち上げ時において、前記CP
Uは自ボード内の前記記憶制御部から前記CPU初期化
情報を読み出して初期診断を行い、この初期診断が正常
終了しなかったときには、該CPUに対応する前記CP
U制御部に対してシステムマスタCPUがシステムバス
からの切り離しを指示することを特徴とする請求項2記
載のマルチプロセッサシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30409694A JP3447404B2 (ja) | 1994-12-08 | 1994-12-08 | マルチプロセッサシステム |
US08/561,262 US5764882A (en) | 1994-12-08 | 1995-11-21 | Multiprocessor system capable of isolating failure processor based on initial diagnosis result |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30409694A JP3447404B2 (ja) | 1994-12-08 | 1994-12-08 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08161279A true JPH08161279A (ja) | 1996-06-21 |
JP3447404B2 JP3447404B2 (ja) | 2003-09-16 |
Family
ID=17928983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30409694A Expired - Fee Related JP3447404B2 (ja) | 1994-12-08 | 1994-12-08 | マルチプロセッサシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5764882A (ja) |
JP (1) | JP3447404B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272846A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | 情報処理システムのコアセル変更制御方式及びその制御プログラム |
CN100375044C (zh) * | 2005-03-17 | 2008-03-12 | 富士通株式会社 | 信息处理系统及其控制方法、控制程序以及冗余控制装置 |
JP2008117401A (ja) * | 2002-06-11 | 2008-05-22 | Intel Corp | システム起動処理のための良好な状態のプロセッサグループ及び関連するファームフェアを決定するシステム及び方法 |
JP2009532783A (ja) * | 2006-03-30 | 2009-09-10 | シリコン イメージ,インコーポレイテッド | 共用不揮発性メモリ・アーキテクチャ |
JP2012173762A (ja) * | 2011-02-17 | 2012-09-10 | Mitsubishi Electric Corp | マルチプロセッサシステム |
JP2012531138A (ja) * | 2009-06-24 | 2012-12-06 | 中▲興▼通▲訊▼股▲ふぇん▼有限公司 | メイン/スタンバイボードのスイッチング方法及びシステム |
JP2014041503A (ja) * | 2012-08-23 | 2014-03-06 | Nec Corp | フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラム |
US8716814B2 (en) | 2004-07-14 | 2014-05-06 | Semiconductor Energy Laboratory Co., Ltd. | Wireless processor, wireless memory, information system, and semiconductor device |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178445B1 (en) * | 1998-03-31 | 2001-01-23 | International Business Machines Corporation | System and method for determining which processor is the master processor in a symmetric multi-processor environment |
US6178522B1 (en) | 1998-06-02 | 2001-01-23 | Alliedsignal Inc. | Method and apparatus for managing redundant computer-based systems for fault tolerant computing |
US6370657B1 (en) | 1998-11-19 | 2002-04-09 | Compaq Computer Corporation | Hot processor swap in a multiprocessor personal computer system |
US6360333B1 (en) | 1998-11-19 | 2002-03-19 | Compaq Computer Corporation | Method and apparatus for determining a processor failure in a multiprocessor computer |
JP2000181890A (ja) * | 1998-12-15 | 2000-06-30 | Fujitsu Ltd | マルチプロセッサ交換機及びその主プロセッサ切替方法 |
US6393586B1 (en) | 1999-02-04 | 2002-05-21 | Dell Usa, L.P. | Method and apparatus for diagnosing and conveying an identification code in post on a non-booting personal computer |
US6393559B1 (en) | 1999-04-30 | 2002-05-21 | Dell Usa, L.P. | Method and computer for self-healing BIOS initialization code |
JP2001069585A (ja) * | 1999-08-31 | 2001-03-16 | Fujitsu Ltd | 二重化装置及びハイウェイインタフェース回路 |
US6611911B1 (en) | 1999-12-30 | 2003-08-26 | Intel Corporation | Bootstrap processor election mechanism on multiple cluster bus system |
US6487464B1 (en) * | 2000-02-25 | 2002-11-26 | Intel Corporation | Power-on software for robust boot |
US6826713B1 (en) * | 2001-01-02 | 2004-11-30 | Juniper Networks, Inc. | Diagnostic access to processors in a complex electrical system |
US20030093510A1 (en) * | 2001-11-14 | 2003-05-15 | Ling Cen | Method and apparatus for enumeration of a multi-node computer system |
US7117390B1 (en) * | 2002-05-20 | 2006-10-03 | Sandia Corporation | Practical, redundant, failure-tolerant, self-reconfiguring embedded system architecture |
US7065641B2 (en) * | 2002-06-13 | 2006-06-20 | Intel Corporation | Weighted processor selection apparatus and method for use in multiprocessor systems |
US7028218B2 (en) * | 2002-12-02 | 2006-04-11 | Emc Corporation | Redundant multi-processor and logical processor configuration for a file server |
GB0308708D0 (en) * | 2003-04-15 | 2003-05-21 | British Telecomm | A computer system |
US7257734B2 (en) * | 2003-07-17 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for managing processors in a multi-processor data processing system |
US20050193246A1 (en) * | 2004-02-19 | 2005-09-01 | Marconi Communications, Inc. | Method, apparatus and software for preventing switch failures in the presence of faults |
JP4289293B2 (ja) * | 2004-12-20 | 2009-07-01 | 日本電気株式会社 | 起動制御方法、二重化プラットフォームシステム及び情報処理装置 |
US7502957B2 (en) * | 2005-09-09 | 2009-03-10 | International Business Machines Corporation | Method and system to execute recovery in non-homogeneous multi processor environments |
JP5188493B2 (ja) * | 2006-03-30 | 2013-04-24 | シリコン イメージ,インコーポレイテッド | 可変のポート速度を有するマルチポート・メモリ・デバイス |
US10599442B2 (en) * | 2017-03-02 | 2020-03-24 | Qualcomm Incorporated | Selectable boot CPU |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6488768A (en) * | 1987-09-30 | 1989-04-03 | Toshiba Corp | Bus monitoring device for multi-cpu system |
JPH02306362A (ja) * | 1989-05-22 | 1990-12-19 | Mitsubishi Electric Corp | マルチプロセッサシステム |
JPH04178871A (ja) * | 1990-11-14 | 1992-06-25 | Pfu Ltd | 初期化処理装置 |
JPH04205162A (ja) * | 1990-11-29 | 1992-07-27 | Mitsubishi Electric Corp | マルチプロセッサシステム |
JPH0520290A (ja) * | 1991-07-15 | 1993-01-29 | Mitsubishi Electric Corp | マルチプロセツシングシステム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5023779A (en) * | 1982-09-21 | 1991-06-11 | Xerox Corporation | Distributed processing environment fault isolation |
US5163052A (en) * | 1989-10-12 | 1992-11-10 | Ncr Corporation | High reliability computer diagnostics system |
US5408647A (en) * | 1992-10-02 | 1995-04-18 | Compaq Computer Corporation | Automatic logical CPU assignment of physical CPUs |
US5434997A (en) * | 1992-10-02 | 1995-07-18 | Compaq Computer Corp. | Method and apparatus for testing and debugging a tightly coupled mirrored processing system |
US5491788A (en) * | 1993-09-10 | 1996-02-13 | Compaq Computer Corp. | Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error |
GB2290891B (en) * | 1994-06-29 | 1999-02-17 | Mitsubishi Electric Corp | Multiprocessor system |
-
1994
- 1994-12-08 JP JP30409694A patent/JP3447404B2/ja not_active Expired - Fee Related
-
1995
- 1995-11-21 US US08/561,262 patent/US5764882A/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6488768A (en) * | 1987-09-30 | 1989-04-03 | Toshiba Corp | Bus monitoring device for multi-cpu system |
JPH02306362A (ja) * | 1989-05-22 | 1990-12-19 | Mitsubishi Electric Corp | マルチプロセッサシステム |
JPH04178871A (ja) * | 1990-11-14 | 1992-06-25 | Pfu Ltd | 初期化処理装置 |
JPH04205162A (ja) * | 1990-11-29 | 1992-07-27 | Mitsubishi Electric Corp | マルチプロセッサシステム |
JPH0520290A (ja) * | 1991-07-15 | 1993-01-29 | Mitsubishi Electric Corp | マルチプロセツシングシステム |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117401A (ja) * | 2002-06-11 | 2008-05-22 | Intel Corp | システム起動処理のための良好な状態のプロセッサグループ及び関連するファームフェアを決定するシステム及び方法 |
US8716814B2 (en) | 2004-07-14 | 2014-05-06 | Semiconductor Energy Laboratory Co., Ltd. | Wireless processor, wireless memory, information system, and semiconductor device |
US9087280B2 (en) | 2004-07-14 | 2015-07-21 | Semiconductor Energy Laboratory Co., Ltd. | Wireless processor, wireless memory, information system, and semiconductor device |
US9425215B2 (en) | 2004-07-14 | 2016-08-23 | Semiconductor Energy Laboratory Co., Ltd. | Wireless processor, wireless memory, information system, and semiconductor device |
CN100375044C (zh) * | 2005-03-17 | 2008-03-12 | 富士通株式会社 | 信息处理系统及其控制方法、控制程序以及冗余控制装置 |
JP2009532783A (ja) * | 2006-03-30 | 2009-09-10 | シリコン イメージ,インコーポレイテッド | 共用不揮発性メモリ・アーキテクチャ |
JP2007272846A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | 情報処理システムのコアセル変更制御方式及びその制御プログラム |
JP2012531138A (ja) * | 2009-06-24 | 2012-12-06 | 中▲興▼通▲訊▼股▲ふぇん▼有限公司 | メイン/スタンバイボードのスイッチング方法及びシステム |
US9337892B2 (en) | 2009-06-24 | 2016-05-10 | Zte Corporation | Method and system for switching main board and standby board |
JP2012173762A (ja) * | 2011-02-17 | 2012-09-10 | Mitsubishi Electric Corp | マルチプロセッサシステム |
JP2014041503A (ja) * | 2012-08-23 | 2014-03-06 | Nec Corp | フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3447404B2 (ja) | 2003-09-16 |
US5764882A (en) | 1998-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3447404B2 (ja) | マルチプロセッサシステム | |
AU635551B2 (en) | An apparatus and method for preventing unauthorized access to bios in personal computer system | |
US6463550B1 (en) | Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory | |
AU635550B2 (en) | An apparatus and method for decreasing the memory requirements for bios in a personal computer system | |
US20010042225A1 (en) | Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory | |
JPH079625B2 (ja) | フォールトトレラントな能力を備えたコンピュータ | |
JP2002268900A (ja) | 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構 | |
US6601165B2 (en) | Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors | |
US6032234A (en) | Clustered multiprocessor system having main memory mapping shared expansion memory addresses and their accessibility states | |
JP2003186697A (ja) | 周辺デバイス試験システム及び方法 | |
US7725761B2 (en) | Computer system, fault tolerant system using the same and operation control method and program thereof | |
JPS63104167A (ja) | ブ−トプロセツサ決定方式 | |
JPS6113626B2 (ja) | ||
US8090991B2 (en) | Information processing apparatus, method, and computer program product for self-diagnosis for utilizing multiple diagnostic devices, each having exclusive access to a resource | |
JP3365282B2 (ja) | クラスタ接続マルチcpuシステムのcpuデグレード方式 | |
JP4853620B2 (ja) | マルチプロセッサシステムと初期立ち上げ方法およびプログラム | |
JPH08263455A (ja) | マルチ・プロセッサ・システムにおける故障プロセッサのデグレード方式 | |
JP2003196251A (ja) | マルチcpuシステム | |
KR19990057809A (ko) | 오류 방지 시스템 | |
JP3344432B2 (ja) | 情報処理装置 | |
JPH0320834A (ja) | 情報処理装置の初期診断方法 | |
JP2835896B2 (ja) | テストプログラムの実行制御方式 | |
JP3006487B2 (ja) | エミュレーション装置 | |
JP2003345515A (ja) | ディスク制御装置、ストレージシステム、及びその制御方法 | |
JPH10247185A (ja) | プロセッサの故障診断方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000118 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070704 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080704 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090704 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100704 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |