JPH07219913A - マルチプロセッサシステムの制御方法及び装置 - Google Patents
マルチプロセッサシステムの制御方法及び装置Info
- Publication number
- JPH07219913A JPH07219913A JP6008482A JP848294A JPH07219913A JP H07219913 A JPH07219913 A JP H07219913A JP 6008482 A JP6008482 A JP 6008482A JP 848294 A JP848294 A JP 848294A JP H07219913 A JPH07219913 A JP H07219913A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- slave
- master
- processors
- multiprocessor system
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】マスタプロセッサに異常が起きてもシステムを
縮退した動作が2以上のプロセッサが正常に動作する最
小構成となるまでは可能とする。 【構成】システムに有効接続されたプロセッサ10−1
〜10−4の1つをマスタプロセッサとし、残りをスレ
ーブプロセッサに割当てる。各プロセッサ10−1〜1
0−4は、プロセッサ番号レジスタ58の自分のプロセ
ッサ番号とプロセッサ有効レジスタ56の他のプロセッ
サのプロセッサ番号とを比較し、例えば自分のプロセッ
サ番号が他のプロセッサ番号と比較して最小の場合、自
分はマスタプロセッサであると認識する。割当後のマス
タ初期化診断処理はスレーブプロセッサで監視され、マ
スタ異常を認識するとシステムから切り離す縮退を行
い、再度、マスタ・スレーブの割当処理で再構成する。
縮退した動作が2以上のプロセッサが正常に動作する最
小構成となるまでは可能とする。 【構成】システムに有効接続されたプロセッサ10−1
〜10−4の1つをマスタプロセッサとし、残りをスレ
ーブプロセッサに割当てる。各プロセッサ10−1〜1
0−4は、プロセッサ番号レジスタ58の自分のプロセ
ッサ番号とプロセッサ有効レジスタ56の他のプロセッ
サのプロセッサ番号とを比較し、例えば自分のプロセッ
サ番号が他のプロセッサ番号と比較して最小の場合、自
分はマスタプロセッサであると認識する。割当後のマス
タ初期化診断処理はスレーブプロセッサで監視され、マ
スタ異常を認識するとシステムから切り離す縮退を行
い、再度、マスタ・スレーブの割当処理で再構成する。
Description
【0001】
【産業上の利用分野】本発明は、複数のプロセッサを共
有バスで接続して分散処理を行うマルチプロセッサシス
テムの制御方法及び装置に関し、特に、マルチプロセッ
サの分散処理におけるマスタ権限とスレーブ権限をシス
テム起動時の初期化処理でダイナミックに割当てるよう
にしたマルチプロセッサシステムの制御方法及び装置に
関する。
有バスで接続して分散処理を行うマルチプロセッサシス
テムの制御方法及び装置に関し、特に、マルチプロセッ
サの分散処理におけるマスタ権限とスレーブ権限をシス
テム起動時の初期化処理でダイナミックに割当てるよう
にしたマルチプロセッサシステムの制御方法及び装置に
関する。
【0002】現在、コンピュータシステムは、1プロセ
ッサ当たり100MIPS〜150MIPS(1億〜
1.5億命令/秒)の性能値を出すコンピュータがワー
クステーション、サーバ、パソコンにまで搭載されるよ
うになっている。このような性能値の実現は、マイクロ
プログラム技術により、コンパクトなサイズで大型汎用
機並の性能を発揮でき、かつ価格が安価でできるように
なったことが挙げられる。
ッサ当たり100MIPS〜150MIPS(1億〜
1.5億命令/秒)の性能値を出すコンピュータがワー
クステーション、サーバ、パソコンにまで搭載されるよ
うになっている。このような性能値の実現は、マイクロ
プログラム技術により、コンパクトなサイズで大型汎用
機並の性能を発揮でき、かつ価格が安価でできるように
なったことが挙げられる。
【0003】今後、さらに1プロセッサ当りの性能を上
げる努力をしていく一方で、マルチプロセッサ化して、
システム全体の性能を向上させる動きが、ディスクトッ
プ、ディスクサイドモデルの小型機モデルにもみられる
ようになってきた。マルチプロセッサシステムは、共有
バスを介して複数台のプロセッサを接続し、その内の1
台にマスタとしての権限を割当て、残りにスレーブとし
ての権限を割当てる。マスタ権限が割当てられた所謂マ
スタプロセッサは、メモリ、入出力装置等の共有部に対
する処理を実行する。スレーブ権限が割当てられた所謂
スレーブプロセッサは、主にジョブの分散処理を実行す
る。
げる努力をしていく一方で、マルチプロセッサ化して、
システム全体の性能を向上させる動きが、ディスクトッ
プ、ディスクサイドモデルの小型機モデルにもみられる
ようになってきた。マルチプロセッサシステムは、共有
バスを介して複数台のプロセッサを接続し、その内の1
台にマスタとしての権限を割当て、残りにスレーブとし
ての権限を割当てる。マスタ権限が割当てられた所謂マ
スタプロセッサは、メモリ、入出力装置等の共有部に対
する処理を実行する。スレーブ権限が割当てられた所謂
スレーブプロセッサは、主にジョブの分散処理を実行す
る。
【0004】複数のプロセッサに対するマスタプロセッ
サおよびスレーブプロセッサの割当ては固定的に決めら
れている。ところで、このようなマルチプロセッサシス
テムにあっては、プロセッサの異常時に異常を起したプ
ロセッサをシステムから切り離す縮退を行い、最小構成
でもシステムが動作できるような仕組みが必要である。
サおよびスレーブプロセッサの割当ては固定的に決めら
れている。ところで、このようなマルチプロセッサシス
テムにあっては、プロセッサの異常時に異常を起したプ
ロセッサをシステムから切り離す縮退を行い、最小構成
でもシステムが動作できるような仕組みが必要である。
【0005】そこで、従来のマルチプロセッサシステム
では、システム立ち上げ時の初期化処理の際に、マスタ
プロセッサが複数のスレーブプロセッサを監視し、異常
を起したスレーブプロセッサをシステムから切り離して
縮退し、マスタプロセッサ1台とスレーブプロセッサ1
台の最小構成でもシステムが動作できるようにしてい
る。
では、システム立ち上げ時の初期化処理の際に、マスタ
プロセッサが複数のスレーブプロセッサを監視し、異常
を起したスレーブプロセッサをシステムから切り離して
縮退し、マスタプロセッサ1台とスレーブプロセッサ1
台の最小構成でもシステムが動作できるようにしてい
る。
【0006】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のマルチプロセッサシステムでは、マスタプロ
セッサがその接続位置などにより固定的に定められてい
たため、マスタプロセッサが異常の場合は縮退運転がで
きず、複数のプロセッサが有効に動作可能であってもシ
ステムがハングしてしまう問題があった。
うな従来のマルチプロセッサシステムでは、マスタプロ
セッサがその接続位置などにより固定的に定められてい
たため、マスタプロセッサが異常の場合は縮退運転がで
きず、複数のプロセッサが有効に動作可能であってもシ
ステムがハングしてしまう問題があった。
【0007】本発明は、このような従来の問題点に鑑み
てなされたもので、マスタプロセッサに異常が起きても
システムを縮退した動作が2以上のプロセッサが正常に
動作する最小構成となるまで可能とするマルチプロセッ
サシステムの制御方法および装置を提供することを目的
とする。
てなされたもので、マスタプロセッサに異常が起きても
システムを縮退した動作が2以上のプロセッサが正常に
動作する最小構成となるまで可能とするマルチプロセッ
サシステムの制御方法および装置を提供することを目的
とする。
【0008】
【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明のマルチプロセッサシステムは、
共有バス18を介して複数のプロセッサ10−1〜10
−4を接続し、共有バス18に接続されたEEPROM
などの共有部のメモリユニット14に、複数のプロセッ
サ10−1〜10−4上でのマイクロプログラムを操向
させるための共通のプログラムコードを格納している。
このため複数のプロセッサ手段10−1〜10−4の各
々は、パワーオンスタートによる初期化処理の際には、
メモリユニット14上の同一のプログラムコードをフェ
ッチしながら自己の初期化処理を行うことになる。
図である。まず本発明のマルチプロセッサシステムは、
共有バス18を介して複数のプロセッサ10−1〜10
−4を接続し、共有バス18に接続されたEEPROM
などの共有部のメモリユニット14に、複数のプロセッ
サ10−1〜10−4上でのマイクロプログラムを操向
させるための共通のプログラムコードを格納している。
このため複数のプロセッサ手段10−1〜10−4の各
々は、パワーオンスタートによる初期化処理の際には、
メモリユニット14上の同一のプログラムコードをフェ
ッチしながら自己の初期化処理を行うことになる。
【0009】またプロセッサ10−1〜10−4の各々
には、メモリユニット14から1度フェッチしたプログ
ラムコードを格納する命令キャッシュ機構が内蔵されて
おり、メモリユニット14のプログラムコードのフェッ
チに伴なう共有バス18の占有を最小限に抑える。本発
明による動的なマスタプロセッサとスレーブプロセッサ
の割当は次のようになる。
には、メモリユニット14から1度フェッチしたプログ
ラムコードを格納する命令キャッシュ機構が内蔵されて
おり、メモリユニット14のプログラムコードのフェッ
チに伴なう共有バス18の占有を最小限に抑える。本発
明による動的なマスタプロセッサとスレーブプロセッサ
の割当は次のようになる。
【0010】パワーオンスタートによるシステム起動時
に、まず共有バス18を介して接続された複数のプロセ
ッサ10−1〜10−4、プロセッサ10−1〜10−
4に共通なプログラムコードを格納したメモリユニット
14を含む共有部の各々がリセットされる。リセットが
済むと、システムに有効に接続されたプロセッサ10−
1〜10−4を判別し、その中のプロセッサの内の1つ
にマスタ権限を割当ててマスタプロセッサ10−1と
し、残り全てのプロセッサに予め定められたスレーブ権
限を割当ててスレーブプロセッサ10−2〜10−4と
する。
に、まず共有バス18を介して接続された複数のプロセ
ッサ10−1〜10−4、プロセッサ10−1〜10−
4に共通なプログラムコードを格納したメモリユニット
14を含む共有部の各々がリセットされる。リセットが
済むと、システムに有効に接続されたプロセッサ10−
1〜10−4を判別し、その中のプロセッサの内の1つ
にマスタ権限を割当ててマスタプロセッサ10−1と
し、残り全てのプロセッサに予め定められたスレーブ権
限を割当ててスレーブプロセッサ10−2〜10−4と
する。
【0011】プロセッサ権限割当ては、各プロセッサ1
0−1〜10−4のリセット完了で各々に設けたウェイ
クアップレジスタ54のウェイクアップビットをセット
する。ウェイクアップビットのセットが行われたプロセ
ッサは、システムの有効なプロセッサとして各プロセッ
サに設けたプロセッサ有効レジスタ56の対応ビットに
セットされる。
0−1〜10−4のリセット完了で各々に設けたウェイ
クアップレジスタ54のウェイクアップビットをセット
する。ウェイクアップビットのセットが行われたプロセ
ッサは、システムの有効なプロセッサとして各プロセッ
サに設けたプロセッサ有効レジスタ56の対応ビットに
セットされる。
【0012】一方、共有バス18に対する物理的なプロ
セッサの接続を検出して対応ビットをセットしたプロセ
ッサ接続レジスタ62が共有部、例えばシステムバス制
御コントローラ18等に設けられている。そこで、各プ
ロセッサ10−1〜10−4の各々において、プロセッ
サ番号レジスタ58にセットされているプロセッサ番号
#0〜#3を認識し、プロセッサ有効レジスタ56で示
す他のプロセッサのプロセッサ番号と比較し、比較結果
に基づき自分がマスタプロセッサかスレーブプロセッサ
かを認識する。
セッサの接続を検出して対応ビットをセットしたプロセ
ッサ接続レジスタ62が共有部、例えばシステムバス制
御コントローラ18等に設けられている。そこで、各プ
ロセッサ10−1〜10−4の各々において、プロセッ
サ番号レジスタ58にセットされているプロセッサ番号
#0〜#3を認識し、プロセッサ有効レジスタ56で示
す他のプロセッサのプロセッサ番号と比較し、比較結果
に基づき自分がマスタプロセッサかスレーブプロセッサ
かを認識する。
【0013】例えば自分のプロセッサ番号が他のプロセ
ッサ番号と比較して最小の場合、自分はマスタプロセッ
サであると認識する。即ち、プロセッサ10−1が最小
プロセッサ番号#0であることからマスタプロセッサで
あると認識し、残りのプロセッサ10−2〜10−4
は、最小プロセッサ番号でないことからスレーブプロセ
ッサであると認識する。
ッサ番号と比較して最小の場合、自分はマスタプロセッ
サであると認識する。即ち、プロセッサ10−1が最小
プロセッサ番号#0であることからマスタプロセッサで
あると認識し、残りのプロセッサ10−2〜10−4
は、最小プロセッサ番号でないことからスレーブプロセ
ッサであると認識する。
【0014】逆に自分のプロセッサ番号が他のプロセッ
サ番号と比較して最大の場合、自分はマスタプロセッサ
であると認識するようにしてもよい。プロセッサ権限の
割当てが済むと初期化診断を行う。初期化診断は、マス
タプロセッサ、スレーブプロセッサの順番に行われる。
マスタプロセッサ10−1の初期化診断の際には、初期
化診断が正常に終了するか否かをスレーブプロセッサ1
0−2〜10−4の各々で監視している。
サ番号と比較して最大の場合、自分はマスタプロセッサ
であると認識するようにしてもよい。プロセッサ権限の
割当てが済むと初期化診断を行う。初期化診断は、マス
タプロセッサ、スレーブプロセッサの順番に行われる。
マスタプロセッサ10−1の初期化診断の際には、初期
化診断が正常に終了するか否かをスレーブプロセッサ1
0−2〜10−4の各々で監視している。
【0015】マスタ監視過程でスレーブプロセッサ10
−2〜10−4のいずれかでマスタプロセッサ10−1
の異常を検出した場合、マスタプロセッサ10−1をシ
ステムから切り離して縮退させ、残されたプロセッサ1
0−2〜10−4を対象に新たなマスタプロセッサとス
レーブプロセッサを割当ててから再度処理を行わせる。
−2〜10−4のいずれかでマスタプロセッサ10−1
の異常を検出した場合、マスタプロセッサ10−1をシ
ステムから切り離して縮退させ、残されたプロセッサ1
0−2〜10−4を対象に新たなマスタプロセッサとス
レーブプロセッサを割当ててから再度処理を行わせる。
【0016】このマスタ監視は、プロセッサ番号#iで
決まるマスタ権限割当ての優先順位に従ってスレーブプ
ロセッサは自分のマスタ監視の閾値時間Tiを設定す
る。マスタプロセッサ10−1が初期化診断処理を開始
すると、スレーブプロセッサ10−2〜10−4の各々
がマスタ監視時間Tの計測を開始する。計測時間Tが自
分の閾値時間Ti以内に初期化診断の終了を認識した場
合は、マスタプロセッサ10−1は正常と判断して次の
スレーブプロセッサ10−2〜10−4の初期化診断処
理に移行する。
決まるマスタ権限割当ての優先順位に従ってスレーブプ
ロセッサは自分のマスタ監視の閾値時間Tiを設定す
る。マスタプロセッサ10−1が初期化診断処理を開始
すると、スレーブプロセッサ10−2〜10−4の各々
がマスタ監視時間Tの計測を開始する。計測時間Tが自
分の閾値時間Ti以内に初期化診断の終了を認識した場
合は、マスタプロセッサ10−1は正常と判断して次の
スレーブプロセッサ10−2〜10−4の初期化診断処
理に移行する。
【0017】しかし、計測時間Tが自分の閾値時間Ti
に達しても初期化診断の終了を認識できなかった場合
は、マスタプロセッサ10−1の異常と判断して縮退処
理に移行する。この場合、マスタプロセッサ10−1の
異常を認識したスレーブプロセッサ10−2が次にマス
タプロセッサに割当られる。マスタ監視は具体的にはタ
イマを使用して行う。まず閾値時間Tiをタイマにセッ
トし、マスタ監視中に亘りタイマの値を単位時間経過毎
に減算する。タイマ値が零となる以前にマスタの初期化
診断の終了を認識した場合は、マスタプロセッサ10−
1は正常と判断して次のスレーブプロセッサ10−2〜
10−4の初期化診断処理に移行する。タイマ値が零に
達してもマスタの初期化診断の終了を認識できなかった
場合は、マスタプロセッサ10−1の異常と判断して縮
退処理に移行する。
に達しても初期化診断の終了を認識できなかった場合
は、マスタプロセッサ10−1の異常と判断して縮退処
理に移行する。この場合、マスタプロセッサ10−1の
異常を認識したスレーブプロセッサ10−2が次にマス
タプロセッサに割当られる。マスタ監視は具体的にはタ
イマを使用して行う。まず閾値時間Tiをタイマにセッ
トし、マスタ監視中に亘りタイマの値を単位時間経過毎
に減算する。タイマ値が零となる以前にマスタの初期化
診断の終了を認識した場合は、マスタプロセッサ10−
1は正常と判断して次のスレーブプロセッサ10−2〜
10−4の初期化診断処理に移行する。タイマ値が零に
達してもマスタの初期化診断の終了を認識できなかった
場合は、マスタプロセッサ10−1の異常と判断して縮
退処理に移行する。
【0018】またスレーブプロセッサによるマスタ初期
化診断の終了の有無は、マスタプロセッサ10−1に設
けたフラグレジスタ60の参照で認識できる。マスタプ
ロセッサ10−1の初期化診断が終了すると、次にスレ
ーブプロセッサ10−2〜10−4の初期化診断を行
う。この場合、マスタプロセッサ10−1がスレーブプ
ロセッサ10−2〜10−4の初期化診断が正常に終了
するか否かを監視する。
化診断の終了の有無は、マスタプロセッサ10−1に設
けたフラグレジスタ60の参照で認識できる。マスタプ
ロセッサ10−1の初期化診断が終了すると、次にスレ
ーブプロセッサ10−2〜10−4の初期化診断を行
う。この場合、マスタプロセッサ10−1がスレーブプ
ロセッサ10−2〜10−4の初期化診断が正常に終了
するか否かを監視する。
【0019】マスタプロセッサ10−1がスレーブプロ
セッサの異常を検出した場合、異常を起こしたスレーブ
プロセッサをシステムから切り離して縮退させる。具体
的には、マスタプロセッサ10−1は、予め定めたスレ
ーブ監視の閾値時間T0 を設定し、マスタプロセッサ1
0−1の初期化診断終了に伴なうスレーブプロセッサ1
0−2〜10−4の初期化診断処理の開始でスレーブ監
視時間Tの計測を開始する。
セッサの異常を検出した場合、異常を起こしたスレーブ
プロセッサをシステムから切り離して縮退させる。具体
的には、マスタプロセッサ10−1は、予め定めたスレ
ーブ監視の閾値時間T0 を設定し、マスタプロセッサ1
0−1の初期化診断終了に伴なうスレーブプロセッサ1
0−2〜10−4の初期化診断処理の開始でスレーブ監
視時間Tの計測を開始する。
【0020】時間計測中にスレーブプロセッサ10−2
〜10−4による初期化診断の終了の有無を監視し、計
測時間が記閾値時間T0 以内に初期化診断の終了を認識
した場合は、そのスレーブプロセッサは正常と判断す
る。しかし、計測時間が閾値時間T0 に達しても初期化
診断の終了を認識できなかった場合は、そのスレーブプ
ロセッサの異常と判断してシステムから切り離す縮退処
理を行う。
〜10−4による初期化診断の終了の有無を監視し、計
測時間が記閾値時間T0 以内に初期化診断の終了を認識
した場合は、そのスレーブプロセッサは正常と判断す
る。しかし、計測時間が閾値時間T0 に達しても初期化
診断の終了を認識できなかった場合は、そのスレーブプ
ロセッサの異常と判断してシステムから切り離す縮退処
理を行う。
【0021】時間監視は、閾値時間T0 をセットしたタ
イマの値Tを単位時間経過毎に減算して行う。タイマ値
Tが零となる以前にスレーブ初期化診断の終了を認識し
た場合は、スレーブプロセッサは正常と判断する。一
方、タイマ値Tが零に達してもスレーブ初期化診断の終
了を認識できなかった場合は、スレーブプロセッサの異
常と判断して切り離す。
イマの値Tを単位時間経過毎に減算して行う。タイマ値
Tが零となる以前にスレーブ初期化診断の終了を認識し
た場合は、スレーブプロセッサは正常と判断する。一
方、タイマ値Tが零に達してもスレーブ初期化診断の終
了を認識できなかった場合は、スレーブプロセッサの異
常と判断して切り離す。
【0022】マスタプロセッサ10−1によるスレーブ
プロセッサ10−2〜10−4の初期化診断の終了の有
無は、スレーブプロセッサ10−2〜10−4の初期化
処理の終了に基づく待ち状態への到達で対応ビットをセ
ットする共有部の待ち状態到達レジスタ64を参照して
認識することができる。
プロセッサ10−2〜10−4の初期化診断の終了の有
無は、スレーブプロセッサ10−2〜10−4の初期化
処理の終了に基づく待ち状態への到達で対応ビットをセ
ットする共有部の待ち状態到達レジスタ64を参照して
認識することができる。
【0023】
【作用】このような本発明のマルチプロセッサシステム
の制御方法および装置によれば、自分の立ち上がりを示
すウェイクアップレジスタ、有効な全プロセッサの状態
が見えるプロセッサ有効レジスタ、物理的なプロセッサ
の接続を示すプロセッサ接続レジスタ、自分のCPU番
号を示すプロセッサ番号表示レジスタ、各プロセッサの
状態を示すフラグレジスタをハードウェアとして持つこ
とで、システム起動時にそれぞれのプロセッサのマイク
ロプログラムを同じROM上のプログラムコードで動作
させながら、マスタプロセッサとスレーブプロセッサを
動的に決めることができる。
の制御方法および装置によれば、自分の立ち上がりを示
すウェイクアップレジスタ、有効な全プロセッサの状態
が見えるプロセッサ有効レジスタ、物理的なプロセッサ
の接続を示すプロセッサ接続レジスタ、自分のCPU番
号を示すプロセッサ番号表示レジスタ、各プロセッサの
状態を示すフラグレジスタをハードウェアとして持つこ
とで、システム起動時にそれぞれのプロセッサのマイク
ロプログラムを同じROM上のプログラムコードで動作
させながら、マスタプロセッサとスレーブプロセッサを
動的に決めることができる。
【0024】すなわち、システム起動時に立ち上ったプ
ロセッサを対象に、その中で動的にマスタプロセッサと
スレーブプロセッサを決めることができ、マスタプロセ
ッサを接続位置で固定的に決めて立ち上がらなかった場
合のハングを確実に防止する。特に、システム起動時に
マスタプロセッサで行っている初期化診断処理を、スレ
ーブプロセッサで監視しており、マスタプロセッサの異
常を認識すると、マスタプロセッサをシステムから切り
離す縮退を行って再度、残された有効プロセッサの中で
マスタプロセッサとスレーブプロセッサを相対的に決め
る処理が行われる。
ロセッサを対象に、その中で動的にマスタプロセッサと
スレーブプロセッサを決めることができ、マスタプロセ
ッサを接続位置で固定的に決めて立ち上がらなかった場
合のハングを確実に防止する。特に、システム起動時に
マスタプロセッサで行っている初期化診断処理を、スレ
ーブプロセッサで監視しており、マスタプロセッサの異
常を認識すると、マスタプロセッサをシステムから切り
離す縮退を行って再度、残された有効プロセッサの中で
マスタプロセッサとスレーブプロセッサを相対的に決め
る処理が行われる。
【0025】またマスタプロセッサに続いて行われるス
レーブプロセッサの初期化診断処理は、マスタプロセッ
サで監視され、異常を認識すると異常を起したスレーブ
プロセッサをシステムから切り離す縮退が行われる。こ
の結果、マスタプロセッサおよびスレーブプロセッサの
異常のいずれについても、システムをハングさせること
なく最小構成による動作をダイナミックに実現する。
レーブプロセッサの初期化診断処理は、マスタプロセッ
サで監視され、異常を認識すると異常を起したスレーブ
プロセッサをシステムから切り離す縮退が行われる。こ
の結果、マスタプロセッサおよびスレーブプロセッサの
異常のいずれについても、システムをハングさせること
なく最小構成による動作をダイナミックに実現する。
【0026】一方、複数のプロセッサが共有メモリとし
て設けたEEPROM上の同一プログラムコードを使用
してプログラムを走行させると、共有バス配下のEEP
ROMにフェッチ動作が発生する。この場合、共有バス
のアービタ回路が常に共有バスには1つのプロセッサで
しか動作できないようにする占有制御を行い、他のプロ
セッサはバスビジィにより待たされる。この現象は、プ
ロセッサ数が増えれば増えるほど、CPUの待ち時間が
長くなり、性能は落ちていく。
て設けたEEPROM上の同一プログラムコードを使用
してプログラムを走行させると、共有バス配下のEEP
ROMにフェッチ動作が発生する。この場合、共有バス
のアービタ回路が常に共有バスには1つのプロセッサで
しか動作できないようにする占有制御を行い、他のプロ
セッサはバスビジィにより待たされる。この現象は、プ
ロセッサ数が増えれば増えるほど、CPUの待ち時間が
長くなり、性能は落ちていく。
【0027】本発明では、各プロセッサに共有メモリと
なるEEPROMから一度フェッチしたプログラムコー
ドを格納する命令キャッシュ機構を内蔵している。この
ためフェッチ後にスレーブプロセッサは、キャッシュ上
のプログラムコードを使用してマイクロプログラムを動
作させることができ、共有部のアクセスを中心としたマ
スタプロセッサに共有バスの使用を開放することができ
る。このためマスタプロセッサによる共有部のアクセス
がスレーブプロセッサの動作で抑止されることが少なく
なり、マルチプロセッサシステムにおけるバス性能の低
下を抑える。
なるEEPROMから一度フェッチしたプログラムコー
ドを格納する命令キャッシュ機構を内蔵している。この
ためフェッチ後にスレーブプロセッサは、キャッシュ上
のプログラムコードを使用してマイクロプログラムを動
作させることができ、共有部のアクセスを中心としたマ
スタプロセッサに共有バスの使用を開放することができ
る。このためマスタプロセッサによる共有部のアクセス
がスレーブプロセッサの動作で抑止されることが少なく
なり、マルチプロセッサシステムにおけるバス性能の低
下を抑える。
【0028】
<目 次> 1.システム構成とハードウェア 2.初期化処理の概略 3.リセット処理 4.マスタ・スレーブ割当処理 5.マスタの初期化診断とスレーブによる監視 6.スレーブの初期化診断のマスタによる監視 7.2回目のマスタ初期化診断と割込診断 1.システム構成とハードウェア 図2は本発明のマルチプロセッサシステムのシステム構
成の一例を示す。この実施例にあっては、4台のプロセ
ッサ10−1,10−2,10−3,10−4を共有バ
ス12を介して接続している。
成の一例を示す。この実施例にあっては、4台のプロセ
ッサ10−1,10−2,10−3,10−4を共有バ
ス12を介して接続している。
【0029】共有バス12にはプログラムメモリとして
機能するEEPROM14、共用メモリとして機能する
RAM16、システムバスコントローラ18、入出力装
置としてのハードディスク20、更にキーボード,マウ
ス,CRTなどを備えたユーザインタフェース装置20
を接続している。尚、RAM16としては、バッテリー
バックアップ付きのSRAMを使用している。
機能するEEPROM14、共用メモリとして機能する
RAM16、システムバスコントローラ18、入出力装
置としてのハードディスク20、更にキーボード,マウ
ス,CRTなどを備えたユーザインタフェース装置20
を接続している。尚、RAM16としては、バッテリー
バックアップ付きのSRAMを使用している。
【0030】プロセッサ10−1〜10−4は、例えば
図3に取り出して示す構成を備える。図3はプロセッサ
10−1を代表して示す。プロセッサ10−1はCPU
26を有する。CPU26には浮動小数点演算制御ユニ
ット28、浮動小数点演算実行ユニット30、整数演算
制御ユニット32、スーパースカラ整数演算実行ユニッ
ト34、命令キャッシュメモリユニット36、データキ
ャッシュメモリユニット38、メモリ管理ユニット(M
MU)40およびバスインタフェースユニット42が設
けられる。
図3に取り出して示す構成を備える。図3はプロセッサ
10−1を代表して示す。プロセッサ10−1はCPU
26を有する。CPU26には浮動小数点演算制御ユニ
ット28、浮動小数点演算実行ユニット30、整数演算
制御ユニット32、スーパースカラ整数演算実行ユニッ
ト34、命令キャッシュメモリユニット36、データキ
ャッシュメモリユニット38、メモリ管理ユニット(M
MU)40およびバスインタフェースユニット42が設
けられる。
【0031】浮動小数点演算実行ユニット30は浮動小
数点演算制御28の制御のもとに浮動小数点演算を実行
する。スーパースカラ整数演算実行ユニット34は整数
演算制御ユニット32の制御のもとに、動的に並列実行
可能な整数演算命令を判別し、並列的に整数演算を実行
する。命令キャッシュメモリユニット36は例えば20
キロバイトであり、メモリ管理ユニット40の制御のも
とにキャッシュ制御を受け、浮動小数点演算制御28お
よび整数演算制御ユニット32で使用する共有部のEE
PROM14からフェッチしたプログラムコードを格納
し、一度キャッシュした後については命令キャッシュメ
モリユニット36のプログラムコードを使用した演算実
行動作を行う。
数点演算制御28の制御のもとに浮動小数点演算を実行
する。スーパースカラ整数演算実行ユニット34は整数
演算制御ユニット32の制御のもとに、動的に並列実行
可能な整数演算命令を判別し、並列的に整数演算を実行
する。命令キャッシュメモリユニット36は例えば20
キロバイトであり、メモリ管理ユニット40の制御のも
とにキャッシュ制御を受け、浮動小数点演算制御28お
よび整数演算制御ユニット32で使用する共有部のEE
PROM14からフェッチしたプログラムコードを格納
し、一度キャッシュした後については命令キャッシュメ
モリユニット36のプログラムコードを使用した演算実
行動作を行う。
【0032】データキャッシュメモリユニット38は例
えば16キロバイトの容量をもち、浮動小数点演算実行
ユニット30およびスーパースカラ整数演算実行ユニッ
ト34の演算に使用する外部の共有部に設けたRAM1
6の共有メモリ領域から読み出したデータを格納する。
データキャッシュメモリユニット38のキャッシュ制御
もメモリ管理ユニット(MMU)40により行われる。
えば16キロバイトの容量をもち、浮動小数点演算実行
ユニット30およびスーパースカラ整数演算実行ユニッ
ト34の演算に使用する外部の共有部に設けたRAM1
6の共有メモリ領域から読み出したデータを格納する。
データキャッシュメモリユニット38のキャッシュ制御
もメモリ管理ユニット(MMU)40により行われる。
【0033】更に、プロセッサ10−1はCPU26の
外部に2次キャッシュメモリユニット44と2次キャッ
シュコントロールユニット46を設けている。2次キャ
ッシュメモリユニット44は、例えば1メガバイトのデ
ータキャッシュであり、2次キャッシュコントロールユ
ニット46により外部の共用メモリ領域となるRAM1
6からフェッチしたデータを登録している。
外部に2次キャッシュメモリユニット44と2次キャッ
シュコントロールユニット46を設けている。2次キャ
ッシュメモリユニット44は、例えば1メガバイトのデ
ータキャッシュであり、2次キャッシュコントロールユ
ニット46により外部の共用メモリ領域となるRAM1
6からフェッチしたデータを登録している。
【0034】このためCPU26のメモリ管理ユニット
40にあっては、データキャッシュメモリユニット38
でキャッシュヒットとならなかった場合には、外部の2
次キャッシュコントロールユニット46に処理を依頼
し、2次キャッシュメモリユニット44を検索して、キ
ャッシュヒットとなったデータを得られるようにしてい
る。
40にあっては、データキャッシュメモリユニット38
でキャッシュヒットとならなかった場合には、外部の2
次キャッシュコントロールユニット46に処理を依頼
し、2次キャッシュメモリユニット44を検索して、キ
ャッシュヒットとなったデータを得られるようにしてい
る。
【0035】図3のプロセッサ10−1の構成は他のプ
ロセッサ10−2〜10−4についても同様である。こ
のように本発明で使用するプロセッサ10−1〜10−
4のそれぞれは、命令キャッシュ機構およびデータキャ
ッシュ機構を内蔵することで、共有バス12に接続され
た共用部としてのEEPROM14、およびRAM16
のアクセスによる共有バス12の占有を可能な限り抑え
ることができる構成をとっている。
ロセッサ10−2〜10−4についても同様である。こ
のように本発明で使用するプロセッサ10−1〜10−
4のそれぞれは、命令キャッシュ機構およびデータキャ
ッシュ機構を内蔵することで、共有バス12に接続され
た共用部としてのEEPROM14、およびRAM16
のアクセスによる共有バス12の占有を可能な限り抑え
ることができる構成をとっている。
【0036】図4は本発明のプロセッサ10−1〜10
−4および共有部に配置されるレジスタと、プログラム
メモリとして機能するEEPROM14に格納されるプ
ログラム内容を示す。まずEEPROM14にはプロセ
ッサ10−1〜10−4の電源投入によるシステム起動
時のリセット処理、マスタ・スレーブ割当処理、更にマ
ルチプロセッサシステムとしての動作を制御するため、
ローダプログラム48、各種診断プログラム50および
マルチプロセッサ制御プログラム52が予め格納されて
いる。
−4および共有部に配置されるレジスタと、プログラム
メモリとして機能するEEPROM14に格納されるプ
ログラム内容を示す。まずEEPROM14にはプロセ
ッサ10−1〜10−4の電源投入によるシステム起動
時のリセット処理、マスタ・スレーブ割当処理、更にマ
ルチプロセッサシステムとしての動作を制御するため、
ローダプログラム48、各種診断プログラム50および
マルチプロセッサ制御プログラム52が予め格納されて
いる。
【0037】EEPROM14に格納された各プログラ
ムは、電源投入に伴うシステム起動時に全てのプロセッ
サ10−1〜10−4で一斉に走行する。即ち、プロセ
ッサ10−1〜10−4の電源が投入されると、それぞ
れのリセットベクタに一斉にプログラムカウンタが設定
されてプロセッサ10−1〜10−4の動作が始まる。
このとき全てのプロセッサ10−1〜10−4のリセッ
トベクタは共有バス12に接続されたEEPROM14
の同一番地にプログラムカウンタをセットし、プログラ
ムカウンタでセットされるプログラムコードをフェッチ
して同じマイクロプログラムを走行させることになる。
ムは、電源投入に伴うシステム起動時に全てのプロセッ
サ10−1〜10−4で一斉に走行する。即ち、プロセ
ッサ10−1〜10−4の電源が投入されると、それぞ
れのリセットベクタに一斉にプログラムカウンタが設定
されてプロセッサ10−1〜10−4の動作が始まる。
このとき全てのプロセッサ10−1〜10−4のリセッ
トベクタは共有バス12に接続されたEEPROM14
の同一番地にプログラムカウンタをセットし、プログラ
ムカウンタでセットされるプログラムコードをフェッチ
して同じマイクロプログラムを走行させることになる。
【0038】この場合、プロセッサ10−1〜10−4
は一斉に共有バス12に対する獲得要求を行うが、共有
バス12のバスアービタ回路(図示せず)が、いずれか
1つのプロセッサに共有バス12を占有させて、EEP
ROM14のプログラムコードのフェッチ動作を行わ
せ、その後のバス回復を待って次のプロセッサに共有バ
ス12の使用を開放する処理を繰り返す。
は一斉に共有バス12に対する獲得要求を行うが、共有
バス12のバスアービタ回路(図示せず)が、いずれか
1つのプロセッサに共有バス12を占有させて、EEP
ROM14のプログラムコードのフェッチ動作を行わ
せ、その後のバス回復を待って次のプロセッサに共有バ
ス12の使用を開放する処理を繰り返す。
【0039】プロセッサ10−1〜10−4のそれぞれ
には、ハードウェアとしてウェイクアップレジスタ54
−1〜54−4、プロセッサ有効レジスタ56−1〜5
6−4、プロセッサ番号レジスタ58−1〜58−4、
およびフラグレジスタ60−1〜60−4が設けられて
いる。また共有部としてのシステムバスコントローラ1
8にはプロセッサ接続レジスタ62とプロセッサ到達レ
ジスタ64が設けられている。
には、ハードウェアとしてウェイクアップレジスタ54
−1〜54−4、プロセッサ有効レジスタ56−1〜5
6−4、プロセッサ番号レジスタ58−1〜58−4、
およびフラグレジスタ60−1〜60−4が設けられて
いる。また共有部としてのシステムバスコントローラ1
8にはプロセッサ接続レジスタ62とプロセッサ到達レ
ジスタ64が設けられている。
【0040】図5はプロセッサ10−1に設けたウェイ
クアップレジスタ54−1を示したもので、プロセッサ
10−1の電源投入が行われて正常にリセット処理が済
むと、ウェイクアップビットb0 を1にセットすること
で、システムにおいてプロセッサ10−1自身が有効で
あることを示す。図6はプロセッサ10−1に設けたプ
ロセッサ有効レジスタ56−1を示す。この実施例にあ
っては、4台のプロセッサ10−1〜10−4を有する
ことから、プロセッサ有効レジスタ56−1には各プロ
セッサに対応してビットb0 〜b 3 が割り当てられてい
る。
クアップレジスタ54−1を示したもので、プロセッサ
10−1の電源投入が行われて正常にリセット処理が済
むと、ウェイクアップビットb0 を1にセットすること
で、システムにおいてプロセッサ10−1自身が有効で
あることを示す。図6はプロセッサ10−1に設けたプ
ロセッサ有効レジスタ56−1を示す。この実施例にあ
っては、4台のプロセッサ10−1〜10−4を有する
ことから、プロセッサ有効レジスタ56−1には各プロ
セッサに対応してビットb0 〜b 3 が割り当てられてい
る。
【0041】ここで、プロセッサ番号をプロセッサ10
−1につき#0、10−2につき#1、10−3につき
#2、更に10−4につき#3とすると、各プロセッサ
番号#0〜#3に対応したビットb0 〜b3 がプロセッ
サ有効レジスタ56−1に割り当てられる。プロセッサ
有効レジスタ56−1のビットb0 〜b3 は、対応する
プロセッサに設けているウェイクアップレジスタ54−
1〜54−4のウェイクアップビットが1にセットされ
ると、有効レジスタビットb0 〜b3 がセットされる。
したがって、プロセッサ有効レジスタ56−1を参照す
ることで、各プロセッサ10−1〜10−4はシステム
に接続されている有効なプロセッサを認識することがで
きる。
−1につき#0、10−2につき#1、10−3につき
#2、更に10−4につき#3とすると、各プロセッサ
番号#0〜#3に対応したビットb0 〜b3 がプロセッ
サ有効レジスタ56−1に割り当てられる。プロセッサ
有効レジスタ56−1のビットb0 〜b3 は、対応する
プロセッサに設けているウェイクアップレジスタ54−
1〜54−4のウェイクアップビットが1にセットされ
ると、有効レジスタビットb0 〜b3 がセットされる。
したがって、プロセッサ有効レジスタ56−1を参照す
ることで、各プロセッサ10−1〜10−4はシステム
に接続されている有効なプロセッサを認識することがで
きる。
【0042】図7は共有部としてのバスコントローラ1
8に設けられたプロセッサ接続レジスタ62を示してい
る。プロセッサ接続レジスタ62にはプロセッサ10−
1〜10−4をプロセッサ番号#0〜#3に対応して接
続レジスタビットb0 〜b3が割り当てられている。各
レジスタビットb0 〜b3 は共有バス12に対し、プロ
セッサ10−1〜10−4のユニット機番を差し込む物
理的接続によりビット1にセットされる。このためプロ
セッサ接続レジスタ58を参照することで、共有バス1
2に実装されているプロセッサを認識することができ
る。
8に設けられたプロセッサ接続レジスタ62を示してい
る。プロセッサ接続レジスタ62にはプロセッサ10−
1〜10−4をプロセッサ番号#0〜#3に対応して接
続レジスタビットb0 〜b3が割り当てられている。各
レジスタビットb0 〜b3 は共有バス12に対し、プロ
セッサ10−1〜10−4のユニット機番を差し込む物
理的接続によりビット1にセットされる。このためプロ
セッサ接続レジスタ58を参照することで、共有バス1
2に実装されているプロセッサを認識することができ
る。
【0043】図8はプロセッサ10−1に設けたプロセ
ッサ番号レジスタ58−1を示す。プロセッサ番号レジ
スタ58−1には、プロセッサ10−1に予め割り当て
られた自分のプロセッサ番号66が格納されている。本
発明にあっては、プロセッサ10−1〜10−4のプロ
セッサ番号#0〜#3はマスタ・スレーブ割当処理でマ
スタを決める際に有効に利用される。
ッサ番号レジスタ58−1を示す。プロセッサ番号レジ
スタ58−1には、プロセッサ10−1に予め割り当て
られた自分のプロセッサ番号66が格納されている。本
発明にあっては、プロセッサ10−1〜10−4のプロ
セッサ番号#0〜#3はマスタ・スレーブ割当処理でマ
スタを決める際に有効に利用される。
【0044】図9はプロセッサ10−1に設けたフラグ
レジスタ60−1を示す。フラグレジスタ60−1には
プロセッサ10−1の状態を示すフラグコード68が格
納される。本発明の起動時におけるリセット処理、マス
タ・スレーブ割当処理、初期化診断処理にあっては、4
種類のフラグコード0〜3が準備されている。フラグコ
ード0はプロセッサの正常動作を示している。フラグコ
ード1は、プロセッサ異常によるハングを示す。フラグ
コード2は、マスタプロセッサとなった場合に行うスレ
ーブスタートを示す。更にフラグコード3は、マスタ監
視またはスレーブ監視でタイムオーバとなったときのタ
イムリセットを示す。図10は共有部としてのシステム
バスコントローラ18に設けたプロセッサ到達レジスタ
64を示す。プロセッサ到達レジスタ64にはプロセッ
サ10−1〜10−4に対応し、プロセッサ番号#0〜
#3で示すように対応する到達レジスタビットb0 〜b
3 が割り当てられている。
レジスタ60−1を示す。フラグレジスタ60−1には
プロセッサ10−1の状態を示すフラグコード68が格
納される。本発明の起動時におけるリセット処理、マス
タ・スレーブ割当処理、初期化診断処理にあっては、4
種類のフラグコード0〜3が準備されている。フラグコ
ード0はプロセッサの正常動作を示している。フラグコ
ード1は、プロセッサ異常によるハングを示す。フラグ
コード2は、マスタプロセッサとなった場合に行うスレ
ーブスタートを示す。更にフラグコード3は、マスタ監
視またはスレーブ監視でタイムオーバとなったときのタ
イムリセットを示す。図10は共有部としてのシステム
バスコントローラ18に設けたプロセッサ到達レジスタ
64を示す。プロセッサ到達レジスタ64にはプロセッ
サ10−1〜10−4に対応し、プロセッサ番号#0〜
#3で示すように対応する到達レジスタビットb0 〜b
3 が割り当てられている。
【0045】到達レジスタビットb0 〜b3 は、プロセ
ッサが初期化診断処理などの処理を実行中は0にセット
されており、処理を終了して待ち関数を用いたアイドル
状態に入ると1にセットされる。このためプロセッサ到
達レジスタ64を参照することで、プロセッサ10−1
〜10−4が処理中か、待ち関数に到達してアイドル状
態にあるかを認識することができる。
ッサが初期化診断処理などの処理を実行中は0にセット
されており、処理を終了して待ち関数を用いたアイドル
状態に入ると1にセットされる。このためプロセッサ到
達レジスタ64を参照することで、プロセッサ10−1
〜10−4が処理中か、待ち関数に到達してアイドル状
態にあるかを認識することができる。
【0046】ここで図4に示したシステムバスコントロ
ーラ18に設けられたプロセッサ接続レジスタ62とプ
ロセッサ到達レジスタ64は、プロセッサ10−1〜1
0−4より共通に読み書きを行うレジスタであり、この
ためプロセッサ接続レジスタ62およびプロセッサ到達
レジスタ64のリード、ライトについて、プロセッサ1
0−1〜10−4は共有バス12の占有制御をもたらす
アトミック命令を使用しなければならない。 2.初期化処理の概要 図11は本発明のマルチプロセッサシステムにおける電
源投入直後に行われる処理機能を示している。
ーラ18に設けられたプロセッサ接続レジスタ62とプ
ロセッサ到達レジスタ64は、プロセッサ10−1〜1
0−4より共通に読み書きを行うレジスタであり、この
ためプロセッサ接続レジスタ62およびプロセッサ到達
レジスタ64のリード、ライトについて、プロセッサ1
0−1〜10−4は共有バス12の占有制御をもたらす
アトミック命令を使用しなければならない。 2.初期化処理の概要 図11は本発明のマルチプロセッサシステムにおける電
源投入直後に行われる処理機能を示している。
【0047】図11において、電源供給(パワーオン)
が行われると、まずリセット処理部100が動作し、全
てのプロセッサ10−1〜10−4においてリセット動
作が行われる。リセット動作が済むと、割当処理部10
2が動作し、正常にリセット処理が行われて、システム
において有効となったプロセッサを対象にマスタプロセ
ッサの割当てとスレーブプロセッサの割当てを行う。
が行われると、まずリセット処理部100が動作し、全
てのプロセッサ10−1〜10−4においてリセット動
作が行われる。リセット動作が済むと、割当処理部10
2が動作し、正常にリセット処理が行われて、システム
において有効となったプロセッサを対象にマスタプロセ
ッサの割当てとスレーブプロセッサの割当てを行う。
【0048】割当処理部102によるマスタプロセッサ
とスレーブプロセッサの割当処理が済むと、第1マスタ
初期化診断処理部104がマスタプロセッサを対象に初
期化診断処理を実行する。この第1マスタ初期化診断処
理部104の動作に並行して、スレーブプロセッサで実
現される第1マスタ監視部116が、マスタプロセッサ
で実現される第1マスタ初期化診断処理部104の処理
を監視する。
とスレーブプロセッサの割当処理が済むと、第1マスタ
初期化診断処理部104がマスタプロセッサを対象に初
期化診断処理を実行する。この第1マスタ初期化診断処
理部104の動作に並行して、スレーブプロセッサで実
現される第1マスタ監視部116が、マスタプロセッサ
で実現される第1マスタ初期化診断処理部104の処理
を監視する。
【0049】第1マスタ監視部116がマスタプロセッ
サの異常を認識すると、マスタ縮退処理部126を起動
し、異常を起こしたマスタプロセッサをシステムから切
り離し、再びリセット処理部100の処理に戻り、残さ
れたプロセッサを対象にリセット処理を行い、更に割当
処理部102で、縮退されたプロセッサ構成で再度マス
タプロセッサとスレーブプロセッサの割当てを行うよう
になる。
サの異常を認識すると、マスタ縮退処理部126を起動
し、異常を起こしたマスタプロセッサをシステムから切
り離し、再びリセット処理部100の処理に戻り、残さ
れたプロセッサを対象にリセット処理を行い、更に割当
処理部102で、縮退されたプロセッサ構成で再度マス
タプロセッサとスレーブプロセッサの割当てを行うよう
になる。
【0050】第1マスタ初期化診断処理部104による
マスタプロセッサの初期化診断処理が正常終了すると、
スレーブプロセッサの起動が行われ、スレーブ初期化診
断処理部118により各スレーブプロセッサにおける初
期化診断処理が実行される。スレーブ初期化診断処理部
118による各スレーブプロセッサの初期化診断処理
は、マスタプロセッサにより実現されるスレーブ監視部
106により監視されている。
マスタプロセッサの初期化診断処理が正常終了すると、
スレーブプロセッサの起動が行われ、スレーブ初期化診
断処理部118により各スレーブプロセッサにおける初
期化診断処理が実行される。スレーブ初期化診断処理部
118による各スレーブプロセッサの初期化診断処理
は、マスタプロセッサにより実現されるスレーブ監視部
106により監視されている。
【0051】スレーブ監視部106でいずれかのスレー
ブプロセッサの異常を認識するとスレーブ縮退処理部1
14を起動し、異常を起こしたスレーブプロセッサをシ
ステムから切り離す。この場合、マスタプロセッサの割
当変更はなく、スレーブプロセッサが1台少なくなるだ
けであり、再割当ては行わない。スレーブ初期化診断処
理部118によるスレーブプロセッサの初期化診断処理
が終了すると、この診断終了をマスタプロセッサ側で認
識し、第2マスタ初期化診断処理部108によるマスタ
プロセッサ側の2回目の初期化診断処理が行われる。こ
の第2マスタ初期化診断処理部108の診断処理は、ス
レーブプロセッサで実現される第2マスタ監視部120
で、第1マスタ監視部116の場合と同様に監視されて
いる。
ブプロセッサの異常を認識するとスレーブ縮退処理部1
14を起動し、異常を起こしたスレーブプロセッサをシ
ステムから切り離す。この場合、マスタプロセッサの割
当変更はなく、スレーブプロセッサが1台少なくなるだ
けであり、再割当ては行わない。スレーブ初期化診断処
理部118によるスレーブプロセッサの初期化診断処理
が終了すると、この診断終了をマスタプロセッサ側で認
識し、第2マスタ初期化診断処理部108によるマスタ
プロセッサ側の2回目の初期化診断処理が行われる。こ
の第2マスタ初期化診断処理部108の診断処理は、ス
レーブプロセッサで実現される第2マスタ監視部120
で、第1マスタ監視部116の場合と同様に監視されて
いる。
【0052】第2マスタ監視部120でマスタプロセッ
サの異常を認識すると、同様にマスタ縮退処理部126
を動作してマスタプロセッサをシステムから切り離し、
再度リセット処理部100に戻り、リセット処理後、割
当処理部102でマスタ・スレーブの再割当てを行っ
て、再度初期化処理に入る。第2マスタ初期化診断処理
部108による名スタックプロセッサの2回目の初期化
診断処理が終了すると、マスタ割込診断処理部110が
起動する。同時にスレーブ起動を受けて、スレーブプロ
セッサにおけるスレーブ割込診断処理部122が起動す
る。マスタ割込診断処理部110とスレーブ割込診断処
理部122は並行して動作し、マスタプロセッサおよび
スレーブプロセッサの両者間での割込診断処理を実行す
る。
サの異常を認識すると、同様にマスタ縮退処理部126
を動作してマスタプロセッサをシステムから切り離し、
再度リセット処理部100に戻り、リセット処理後、割
当処理部102でマスタ・スレーブの再割当てを行っ
て、再度初期化処理に入る。第2マスタ初期化診断処理
部108による名スタックプロセッサの2回目の初期化
診断処理が終了すると、マスタ割込診断処理部110が
起動する。同時にスレーブ起動を受けて、スレーブプロ
セッサにおけるスレーブ割込診断処理部122が起動す
る。マスタ割込診断処理部110とスレーブ割込診断処
理部122は並行して動作し、マスタプロセッサおよび
スレーブプロセッサの両者間での割込診断処理を実行す
る。
【0053】マスタ割込診断処理部110およびスレー
ブ割込診断処理部122による割込診断処理が終了する
と、一連のパワーオンスタートに伴う初期化処理が終了
し、マスタジョブ実行部112およびスレーブジョブ実
行部124による処理に進む。具体的には、初期化診断
処理の正常終了でマスタプロセッサは、システムを動作
するプログラムをハードディスク20からローディング
する。
ブ割込診断処理部122による割込診断処理が終了する
と、一連のパワーオンスタートに伴う初期化処理が終了
し、マスタジョブ実行部112およびスレーブジョブ実
行部124による処理に進む。具体的には、初期化診断
処理の正常終了でマスタプロセッサは、システムを動作
するプログラムをハードディスク20からローディング
する。
【0054】このローディング中、スレーブプロセッサ
はアイドルループにある。マスタプロセッサでハードデ
ィスクからのプログラムローディングが終了すると、ジ
ョブを分散実行するためスレーブプロセッサに対しスレ
ーブ起動が行われ、マルチプロセッサシステムとしての
並列的なジョブ実行が行われることになる。図12は本
発明の初期化処理の概略を示したジェネリックフローチ
ャートである。このフローチャートは図11に示した機
能ブロック図に対応している。
はアイドルループにある。マスタプロセッサでハードデ
ィスクからのプログラムローディングが終了すると、ジ
ョブを分散実行するためスレーブプロセッサに対しスレ
ーブ起動が行われ、マルチプロセッサシステムとしての
並列的なジョブ実行が行われることになる。図12は本
発明の初期化処理の概略を示したジェネリックフローチ
ャートである。このフローチャートは図11に示した機
能ブロック図に対応している。
【0055】即ち、パワーオンスタートを受けてステッ
プS1でプロセッサ10−1〜10−4のリセット処理
を行い、続いてステップS2でマスタプロセッサとスレ
ーブプロセッサの割当処理を行う。この割当処理が済む
と、マスタプロセッサ側はステップS3〜S7の処理を
行い、これに並行してスレーブプロセッサはステップS
8〜S12の処理を並行して行う。
プS1でプロセッサ10−1〜10−4のリセット処理
を行い、続いてステップS2でマスタプロセッサとスレ
ーブプロセッサの割当処理を行う。この割当処理が済む
と、マスタプロセッサ側はステップS3〜S7の処理を
行い、これに並行してスレーブプロセッサはステップS
8〜S12の処理を並行して行う。
【0056】即ち、ステップS3でマスタ初期化診断処
理が行われると、スレーブプロセッサにあっては、ステ
ップS8でマスタ監視処理を行い、マスタ異常を認識す
ると、ステップS3でマスタプロセッサをシステムから
切り離す縮退処理を行い、再びステップS1からの処理
に戻る。ステップS3のマスタ初期化診断が済むとスレ
ーブ起動が行われ、ステップS9に示すスレーブプロセ
ッサの初期化診断処理が行われる。このスレーブプロセ
ッサの初期化診断処理は、ステップS4に示すマスタプ
ロセッサのスレーブ監視処理で監視されている。スレー
ブ監視処理でスレーブプロセッサの異常を認識した場合
には、異常を起こしたスレーブプロセッサをシステムか
ら切り離すだけでよい。勿論、必要ならばステップS1
からのリセット処理を繰り返すことになる。
理が行われると、スレーブプロセッサにあっては、ステ
ップS8でマスタ監視処理を行い、マスタ異常を認識す
ると、ステップS3でマスタプロセッサをシステムから
切り離す縮退処理を行い、再びステップS1からの処理
に戻る。ステップS3のマスタ初期化診断が済むとスレ
ーブ起動が行われ、ステップS9に示すスレーブプロセ
ッサの初期化診断処理が行われる。このスレーブプロセ
ッサの初期化診断処理は、ステップS4に示すマスタプ
ロセッサのスレーブ監視処理で監視されている。スレー
ブ監視処理でスレーブプロセッサの異常を認識した場合
には、異常を起こしたスレーブプロセッサをシステムか
ら切り離すだけでよい。勿論、必要ならばステップS1
からのリセット処理を繰り返すことになる。
【0057】ステップS9のスレーブプロセッサの初期
化診断処理が済むと、マスタプロセッサ側にあっては、
ステップS5に示す2回目の初期化診断処理を行う。こ
のステップS5の初期化診断処理はスレーブプロセッサ
のステップS10のマスタ監視処理で監視されている。
もしマスタプロセッサの異常を認識すると、ステップS
14の縮退処理に進んで、異常を起こしたマスタプロセ
ッサをシステムから切り離し、ステップS1のリセット
処理に戻って、ステップS2でマスタとスレーブの再割
当てを行う。
化診断処理が済むと、マスタプロセッサ側にあっては、
ステップS5に示す2回目の初期化診断処理を行う。こ
のステップS5の初期化診断処理はスレーブプロセッサ
のステップS10のマスタ監視処理で監視されている。
もしマスタプロセッサの異常を認識すると、ステップS
14の縮退処理に進んで、異常を起こしたマスタプロセ
ッサをシステムから切り離し、ステップS1のリセット
処理に戻って、ステップS2でマスタとスレーブの再割
当てを行う。
【0058】ステップS5でマスタプロセッサの2回目
の初期化診断処理が済むとスレーブ起動を行い、その結
果、ステップS6に示すマスタの割込診断処理およびス
テップS11に示すスレーブの割込診断処理が並列的に
行われる。このマスタおよびスレーブの割込診断処理が
終了すると、一連の初期化処理が全て終わり、ステップ
S7およびステップS12に示すマスタジョブおよびス
レーブジョブに移行する。 3.リセット処理 図13は図12のステップS1に示したリセット処理の
詳細を示す。
の初期化診断処理が済むとスレーブ起動を行い、その結
果、ステップS6に示すマスタの割込診断処理およびス
テップS11に示すスレーブの割込診断処理が並列的に
行われる。このマスタおよびスレーブの割込診断処理が
終了すると、一連の初期化処理が全て終わり、ステップ
S7およびステップS12に示すマスタジョブおよびス
レーブジョブに移行する。 3.リセット処理 図13は図12のステップS1に示したリセット処理の
詳細を示す。
【0059】図13において、電源投入によるパワーオ
ンスタートを行うと、まずステップS1でプロセッサ1
0−1〜10−4に設けている暴走監視用のウォッチド
ックタイマのリセット済みの有無をチェックし、もしリ
セットされていなければステップS2に進み、ウォッチ
ドックタイマのリセット処理を行う。次にステップS3
で、プロセッサ10−1〜10−4のモジュールリセッ
トそのものが済んでいるか否かチェックし、もし済んで
いなければ、ステップS4でモジュールリセット処理を
行う。次にステップS5でシステムリセットの有無をチ
ェックし、システムリセットが正常に済んでいれば、ス
テップS7でパワーオンリセットを行う。
ンスタートを行うと、まずステップS1でプロセッサ1
0−1〜10−4に設けている暴走監視用のウォッチド
ックタイマのリセット済みの有無をチェックし、もしリ
セットされていなければステップS2に進み、ウォッチ
ドックタイマのリセット処理を行う。次にステップS3
で、プロセッサ10−1〜10−4のモジュールリセッ
トそのものが済んでいるか否かチェックし、もし済んで
いなければ、ステップS4でモジュールリセット処理を
行う。次にステップS5でシステムリセットの有無をチ
ェックし、システムリセットが正常に済んでいれば、ス
テップS7でパワーオンリセットを行う。
【0060】ステップS5でシステムリセットが済んで
いなかった場合には、ステップS6に進み、診断処理の
終了の有無をチェックする。もし診断処理が終了してい
れば、システムリセットを行うことなく、ステップS7
でパワーオンリセットを行う。ステップS6で診断処理
が終了していなければ、ステップS8でシステムリセッ
トを行う。
いなかった場合には、ステップS6に進み、診断処理の
終了の有無をチェックする。もし診断処理が終了してい
れば、システムリセットを行うことなく、ステップS7
でパワーオンリセットを行う。ステップS6で診断処理
が終了していなければ、ステップS8でシステムリセッ
トを行う。
【0061】このステップS6の診断処理の終了のチェ
ックは、初期化診断処理の途中でプロセッサが異常とな
ってシステムから切り離されて再度リセット処理に戻っ
た場合、診断途中の状態でパワーオンリセットを掛け
て、途中まで行った診断を無効とせず、ステップS8で
システムリセットを行って、既に行った初期化診断は再
度行うことなく、再構成後の残された診断処理を可能と
する。 4.マスタ・スレーブ割当処理 図14のフローチャートは図2のステップS2に示した
マスタプロセッサとスレーブプロセッサの割当処理の詳
細を示す。
ックは、初期化診断処理の途中でプロセッサが異常とな
ってシステムから切り離されて再度リセット処理に戻っ
た場合、診断途中の状態でパワーオンリセットを掛け
て、途中まで行った診断を無効とせず、ステップS8で
システムリセットを行って、既に行った初期化診断は再
度行うことなく、再構成後の残された診断処理を可能と
する。 4.マスタ・スレーブ割当処理 図14のフローチャートは図2のステップS2に示した
マスタプロセッサとスレーブプロセッサの割当処理の詳
細を示す。
【0062】図14において、図13に示したリセット
処理が終了すると、ステップS9でプロセッサ10−1
〜10−4のそれぞれは自分に設けているウェイクアッ
プレジスタ54−1〜54−4のウェイクアップビット
を1にセットする。この結果、全てのプロセッサ10−
1〜10−4に設けているプロセッサ有効レジスタ56
−1〜56−4のウェイクアップビットがセットされた
ウェイクアップレジスタ54−1〜54−4に対応する
ビットが1となり、システムに対し有効となったプロセ
ッサの表示が行われる。
処理が終了すると、ステップS9でプロセッサ10−1
〜10−4のそれぞれは自分に設けているウェイクアッ
プレジスタ54−1〜54−4のウェイクアップビット
を1にセットする。この結果、全てのプロセッサ10−
1〜10−4に設けているプロセッサ有効レジスタ56
−1〜56−4のウェイクアップビットがセットされた
ウェイクアップレジスタ54−1〜54−4に対応する
ビットが1となり、システムに対し有効となったプロセ
ッサの表示が行われる。
【0063】したがって、各プロセッサ10−1〜10
−4は自己のプロセッサ有効レジスタ56−1〜56−
4を参照することで、現在、システムで有効となってい
るプロセッサを認識することができる。続いてステップ
S11に進み、プロセッサ割当処理のために起動したタ
イマのタイムアウトの有無をチェックし、タイムアウト
していなければ、ステップS12でシステムバスコント
ローラ18に設けているプロセッサ接続レジスタ62の
内容とプロセッサ10−1〜10−4のそれぞれがもっ
ているプロセッサ有効レジスタ56−1〜56−4の内
容が一致するか否かチェックする。
−4は自己のプロセッサ有効レジスタ56−1〜56−
4を参照することで、現在、システムで有効となってい
るプロセッサを認識することができる。続いてステップ
S11に進み、プロセッサ割当処理のために起動したタ
イマのタイムアウトの有無をチェックし、タイムアウト
していなければ、ステップS12でシステムバスコント
ローラ18に設けているプロセッサ接続レジスタ62の
内容とプロセッサ10−1〜10−4のそれぞれがもっ
ているプロセッサ有効レジスタ56−1〜56−4の内
容が一致するか否かチェックする。
【0064】一致すればステップS14に進むが、一致
しない場合にはウェイクアップビットをセットして、立
ち上がってこないプロセッサがあるものとして、ステッ
プS11,S12の処理を繰り返す。ステップS11で
タイムアウトとなった場合には、ステップS13に進
み、プロセッサ有効レジスタの中に立ち上がってこない
プロセッサを認識し、システムから切り離す。
しない場合にはウェイクアップビットをセットして、立
ち上がってこないプロセッサがあるものとして、ステッ
プS11,S12の処理を繰り返す。ステップS11で
タイムアウトとなった場合には、ステップS13に進
み、プロセッサ有効レジスタの中に立ち上がってこない
プロセッサを認識し、システムから切り離す。
【0065】ステップS13におけるプロセッサの切離
しは、共有バス12に対しプロセッサモジュール自身が
接続されていない未実装の状態であり、未実装のプロセ
ッサをシステムから切り離すことになる。ステップS1
4にあっては、プロセッサ10−1〜10−4のそれぞ
れに設けているプロセッサ番号レジスタ58−1〜58
−4のプロセッサ番号を読み取り、ステップS14でプ
ロセッサ有効レジスタ56−1〜56−4に表示された
プロセッサの中で、自分のプロセッサ番号は一番小さい
か否かチェックする。自分のプロセッサ番号が一番小さ
ければ、ステップS16に進み、マスタプロセッサであ
ることを決定する。
しは、共有バス12に対しプロセッサモジュール自身が
接続されていない未実装の状態であり、未実装のプロセ
ッサをシステムから切り離すことになる。ステップS1
4にあっては、プロセッサ10−1〜10−4のそれぞ
れに設けているプロセッサ番号レジスタ58−1〜58
−4のプロセッサ番号を読み取り、ステップS14でプ
ロセッサ有効レジスタ56−1〜56−4に表示された
プロセッサの中で、自分のプロセッサ番号は一番小さい
か否かチェックする。自分のプロセッサ番号が一番小さ
ければ、ステップS16に進み、マスタプロセッサであ
ることを決定する。
【0066】自分のプロセッサ番号が一番小さくなけれ
ば、ステップS17に進み、スレーブプロセッサである
と決定する。図4の実施例の場合、プロセッサ10−1
のプロセッサ番号#0が一番小さいことから、プロセッ
サ10−1がマスタプロセッサに決定される。残りのプ
ロセッサ10−2〜10−4はスレーブプロセッサに決
定される。
ば、ステップS17に進み、スレーブプロセッサである
と決定する。図4の実施例の場合、プロセッサ10−1
のプロセッサ番号#0が一番小さいことから、プロセッ
サ10−1がマスタプロセッサに決定される。残りのプ
ロセッサ10−2〜10−4はスレーブプロセッサに決
定される。
【0067】以下の説明はプロセッサ10−1をマスタ
プロセッサ、プロセッサ10−2〜10−4をスレーブ
プロセッサとして説明する。また図14の処理にあって
は、プロセッサ番号が一番小さいプロセッサをマスタプ
ロセッサとしているが、逆にプロセッサ番号の一番大き
いプロセッサをマスタプロセッサとしてもよい。いずれ
にしても、システムに対し有効となった複数のプロセッ
サにおいて、プロセッサ番号の比較でそのうちの1つを
マスタプロセッサに割り当て、残りをスレーブプロセッ
サに割り当てるという相対的な割当てが行われる。 5.マスタ初期化診断処理とスレーブによる監視 図15は図12のステップS3の1回目のマスタプロセ
ッサにおける初期化診断処理の詳細を示す。まずステッ
プS18にあっては、マスタプロセッサ10−1のみで
EEPROM14のサムチェックによる診断を行う。続
いてステップS19で、バッテリバックアップを行って
いるSRAMを用いたRAM16のコンペアチェック並
びにサムチェックにより診断する。次にステップS20
でメモリ制御レジスタが正常にアクセスできるかどうか
コンペアテストを行う。ステップS21はメモリ容量の
搭載を認識してメモリ制御レジスタに設定する初期化処
理を行う。
プロセッサ、プロセッサ10−2〜10−4をスレーブ
プロセッサとして説明する。また図14の処理にあって
は、プロセッサ番号が一番小さいプロセッサをマスタプ
ロセッサとしているが、逆にプロセッサ番号の一番大き
いプロセッサをマスタプロセッサとしてもよい。いずれ
にしても、システムに対し有効となった複数のプロセッ
サにおいて、プロセッサ番号の比較でそのうちの1つを
マスタプロセッサに割り当て、残りをスレーブプロセッ
サに割り当てるという相対的な割当てが行われる。 5.マスタ初期化診断処理とスレーブによる監視 図15は図12のステップS3の1回目のマスタプロセ
ッサにおける初期化診断処理の詳細を示す。まずステッ
プS18にあっては、マスタプロセッサ10−1のみで
EEPROM14のサムチェックによる診断を行う。続
いてステップS19で、バッテリバックアップを行って
いるSRAMを用いたRAM16のコンペアチェック並
びにサムチェックにより診断する。次にステップS20
でメモリ制御レジスタが正常にアクセスできるかどうか
コンペアテストを行う。ステップS21はメモリ容量の
搭載を認識してメモリ制御レジスタに設定する初期化処
理を行う。
【0068】ステップS22はEEPROM14でリザ
ーブしている256キロバイトの領域についてメモリ診
断を行う。ステップS23にあっては、診断処理および
デバッカのためのデータ域をEEPROMの作業域に展
開する。ステップS24にあっては、EEPROM14
のプログラムをSRAM16に展開し、ブートモードか
らパススルーモードへの切替えを行う。
ーブしている256キロバイトの領域についてメモリ診
断を行う。ステップS23にあっては、診断処理および
デバッカのためのデータ域をEEPROMの作業域に展
開する。ステップS24にあっては、EEPROM14
のプログラムをSRAM16に展開し、ブートモードか
らパススルーモードへの切替えを行う。
【0069】ここでブートモードとパススルーモードを
説明する。マスタプロセッサ10−1のリセットでプロ
グラムカウンタがメモリの零番地を指定して処理をスタ
ートしようとする。しかしメモリの零番地に実際には何
もなく、例えば100番地となっている場合がある。そ
こでハードウェアによってプロセッサリセット時のアド
レスカウンタの零番地をメモリの100番地に似せてア
クセスする。これをブートモードという。このブートモ
ードに対しプロセッサのアドレスカウンタの値とメモリ
番地が1対1に対応する状態をパススルーモードとい
う。
説明する。マスタプロセッサ10−1のリセットでプロ
グラムカウンタがメモリの零番地を指定して処理をスタ
ートしようとする。しかしメモリの零番地に実際には何
もなく、例えば100番地となっている場合がある。そ
こでハードウェアによってプロセッサリセット時のアド
レスカウンタの零番地をメモリの100番地に似せてア
クセスする。これをブートモードという。このブートモ
ードに対しプロセッサのアドレスカウンタの値とメモリ
番地が1対1に対応する状態をパススルーモードとい
う。
【0070】次にステップS25で、図3に示したプロ
セッサ10−1のCPU26に設けているメモリ管理ユ
ニット40のレジスタアクセスとページエントリの機能
確認を行う。これがMMU診断となる。続いてステップ
S26で、メモリ管理ユニット40を有効にしてトラン
スレーションモードとする。この状態でステップS27
に進み、シリアルポートの診断と初期設定を行う。
セッサ10−1のCPU26に設けているメモリ管理ユ
ニット40のレジスタアクセスとページエントリの機能
確認を行う。これがMMU診断となる。続いてステップ
S26で、メモリ管理ユニット40を有効にしてトラン
スレーションモードとする。この状態でステップS27
に進み、シリアルポートの診断と初期設定を行う。
【0071】続いてステップS28でECCのシングル
ビット異常とビット修復の動作確認をECC診断パート
1として行う。続いてステップS29で、図3のマスタ
プロセッサ10−1に設けている命令キャッシュメモリ
36およびデータキャッシュメモリユニット38を対象
にキャッシング・インバリデート動作、データタグのア
クセステストのシミュレーションをキャッシュ診断とし
て行う。
ビット異常とビット修復の動作確認をECC診断パート
1として行う。続いてステップS29で、図3のマスタ
プロセッサ10−1に設けている命令キャッシュメモリ
36およびデータキャッシュメモリユニット38を対象
にキャッシング・インバリデート動作、データタグのア
クセステストのシミュレーションをキャッシュ診断とし
て行う。
【0072】キャッシュ診断が済むと、ステップS30
でキャッシュメモリの内容をインバリデート(無効化)
させるキャッシュ初期化を行い、ステップS31で命令
キャッシュメモリユニット36のみを有効状態とする。
以上で1回目のマスタプロセッサ10−1の初期化診断
処理が終了し、ステップS32でスレーブプロセッサを
起動するためのスレーブスタートを行う。具体的には、
マスタプロセッサ10−1に設けている図9に示したフ
ラグレジスタ60−1のフラグコードを、スレーブスタ
ートを示すフラグコード2にセットする。
でキャッシュメモリの内容をインバリデート(無効化)
させるキャッシュ初期化を行い、ステップS31で命令
キャッシュメモリユニット36のみを有効状態とする。
以上で1回目のマスタプロセッサ10−1の初期化診断
処理が終了し、ステップS32でスレーブプロセッサを
起動するためのスレーブスタートを行う。具体的には、
マスタプロセッサ10−1に設けている図9に示したフ
ラグレジスタ60−1のフラグコードを、スレーブスタ
ートを示すフラグコード2にセットする。
【0073】図16は図15に示したマスタプロセッサ
10−1の初期化診断処理に並行して、アイドル状態に
あるスレーブプロセッサ10−2〜10−4のそれぞれ
で行われているマスタ監視処理の詳細を示したフローチ
ャートである。図16において、スレーブプロセッサ1
0−2〜10−4のそれぞれは、まずステップS55で
自分のプロセッサ番号に従った優先度で自己のタイマ値
Tiを算出する。例えば、プロセッサ番号#1のスレー
ブプロセッサ10−2はタイマ値T1 を算出し、プロセ
ッサ番号#2のスレーブプロセッサ10−3はタイマ値
T2 を算出し、更にプロセッサ番号#3のスレーブプロ
セッサ10−4はタイマ値T3 を算出する。
10−1の初期化診断処理に並行して、アイドル状態に
あるスレーブプロセッサ10−2〜10−4のそれぞれ
で行われているマスタ監視処理の詳細を示したフローチ
ャートである。図16において、スレーブプロセッサ1
0−2〜10−4のそれぞれは、まずステップS55で
自分のプロセッサ番号に従った優先度で自己のタイマ値
Tiを算出する。例えば、プロセッサ番号#1のスレー
ブプロセッサ10−2はタイマ値T1 を算出し、プロセ
ッサ番号#2のスレーブプロセッサ10−3はタイマ値
T2 を算出し、更にプロセッサ番号#3のスレーブプロ
セッサ10−4はタイマ値T3 を算出する。
【0074】このようなタイマ値T1 〜T3 の間には、
プロセッサ番号の優先度が高いほどタイマ値が小さくな
る。 T1 <T2 <T3 となる関係に設定される。例えば、T1 に対しT2 =2
×T1 ,T3 =3×T1となるように設定される。
プロセッサ番号の優先度が高いほどタイマ値が小さくな
る。 T1 <T2 <T3 となる関係に設定される。例えば、T1 に対しT2 =2
×T1 ,T3 =3×T1となるように設定される。
【0075】続いてステップS56で、タイマTに算出
したタイマ値Tiをセットする。続いてステップS57
で待ち合わせ関数による同期処理を行う。この待ち合わ
せ関数による同期処理は、図10に示すプロセッサ到達
レジスタ64を参照して行われる。即ち、マスタプロセ
ッサ10−1およびスレーブプロセッサ10−2〜10
−4の全てが処理を終了して待ち関数によるアイドル状
態に入ると、プロセッサ10−1〜10−4に対応した
プロセッサ到達レジスタ64のビットb0〜b3 は全て
1となる。
したタイマ値Tiをセットする。続いてステップS57
で待ち合わせ関数による同期処理を行う。この待ち合わ
せ関数による同期処理は、図10に示すプロセッサ到達
レジスタ64を参照して行われる。即ち、マスタプロセ
ッサ10−1およびスレーブプロセッサ10−2〜10
−4の全てが処理を終了して待ち関数によるアイドル状
態に入ると、プロセッサ10−1〜10−4に対応した
プロセッサ到達レジスタ64のビットb0〜b3 は全て
1となる。
【0076】したがってプロセッサ到達レジスタ64を
参照して、有効プロセッサに対応する全ビットが1とな
ったタイミングを同期タイミングと認識して、ステップ
S58以降の処理に進む。ステップS58にあっては、
ステップS56でタイマ値TiがセットされたタイマT
のダウンカウントを開始し、ステップS58でT=0と
なってタイムアップするまで、ステップS59の単位時
間ごとのタイマ値Tの減算を繰り返す。ステップS59
で単位時間のタイマ値の減算が済むと、ステップS60
で自分はマスタプロセッサか否か判断する。もしマスタ
プロセッサであった場合には、ステップS61,S62
の処理は行わない。
参照して、有効プロセッサに対応する全ビットが1とな
ったタイミングを同期タイミングと認識して、ステップ
S58以降の処理に進む。ステップS58にあっては、
ステップS56でタイマ値TiがセットされたタイマT
のダウンカウントを開始し、ステップS58でT=0と
なってタイムアップするまで、ステップS59の単位時
間ごとのタイマ値Tの減算を繰り返す。ステップS59
で単位時間のタイマ値の減算が済むと、ステップS60
で自分はマスタプロセッサか否か判断する。もしマスタ
プロセッサであった場合には、ステップS61,S62
の処理は行わない。
【0077】スレーブプロセッサであった場合には、ス
テップS61に進み、自分のフラグレジスタを参照し、
フラグコードが2となるスレーブスタートか否かをステ
ップS62でチェックする。スレーブスタートが認識さ
れるまでステップS58〜S62の処理を繰り返す。ス
テップS58で、タイムアップする前にマスタプロセッ
サ10−1による図15に示す初期化診断処理が正常に
終了すると、ステップS62でフラグレジスタのフラグ
コード2でスレーブスタートが認識され、次の処理に進
む。
テップS61に進み、自分のフラグレジスタを参照し、
フラグコードが2となるスレーブスタートか否かをステ
ップS62でチェックする。スレーブスタートが認識さ
れるまでステップS58〜S62の処理を繰り返す。ス
テップS58で、タイムアップする前にマスタプロセッ
サ10−1による図15に示す初期化診断処理が正常に
終了すると、ステップS62でフラグレジスタのフラグ
コード2でスレーブスタートが認識され、次の処理に進
む。
【0078】一方、マスタプロセッサ10−1の異常で
初期化診断処理が正常に行われずに、フラグコード2に
よるスレーブスタートとならずにタイムアップした場合
には、ステップS63に進んで、マスタプロセッサ10
−1にリセットを掛ける。これによりマスタプロセッサ
をシステムから切り離し、再び図13に示したステップ
S1からのリセット処理に戻り、図14に示すマスタ・
スレーブ割当処理で残されたスレーブプロセッサ10−
2〜10−4について再度、マスタプロセッサとスレー
ブプロセッサの割当処理を行って、同様な初期化処理に
入る。
初期化診断処理が正常に行われずに、フラグコード2に
よるスレーブスタートとならずにタイムアップした場合
には、ステップS63に進んで、マスタプロセッサ10
−1にリセットを掛ける。これによりマスタプロセッサ
をシステムから切り離し、再び図13に示したステップ
S1からのリセット処理に戻り、図14に示すマスタ・
スレーブ割当処理で残されたスレーブプロセッサ10−
2〜10−4について再度、マスタプロセッサとスレー
ブプロセッサの割当処理を行って、同様な初期化処理に
入る。
【0079】図17は初期化診断中にマスタプロセッサ
に異常が起きた時の縮退処理を示している。図17にお
いて、まず時刻t1 で待ち合わせ関数による同期をとっ
た後、マスタプロセッサ10−1にあっては初期化診断
処理を開始し、スレーブプロセッサ10−2〜10−4
にあってはマスタ監視を行っている。この場合、スレー
ブプロセッサ10−2のタイマ値T1 が一番短く、次に
スレーブプロセッサ10−3のタイマ値T2 となり、優
先度の一番低いプロセッサ10−4のタイマ値はT3と
長くなっている。
に異常が起きた時の縮退処理を示している。図17にお
いて、まず時刻t1 で待ち合わせ関数による同期をとっ
た後、マスタプロセッサ10−1にあっては初期化診断
処理を開始し、スレーブプロセッサ10−2〜10−4
にあってはマスタ監視を行っている。この場合、スレー
ブプロセッサ10−2のタイマ値T1 が一番短く、次に
スレーブプロセッサ10−3のタイマ値T2 となり、優
先度の一番低いプロセッサ10−4のタイマ値はT3と
長くなっている。
【0080】マスタプロセッサ10−1が診断中に異常
となり、スレーブプロセッサ10−2が時刻t2 でT1
時間の経過によりタイムアップすると、リセット信号を
出力して、マスタプロセッサ10−1をシステムから切
り離し、マスタ・スレーブの再割当てを行う。この再割
当てにより新たにプロセッサ10−2がマスタプロセッ
サとなって、診断処理を開始する。しかしながら、新た
にマスタプロセッサとなったプロセッサ10−2も診断
の途中で異常を起こしたとする。このため、時刻t3 で
スレーブプロセッサ10−3の設定時間T2 がタイムオ
ーバとなってリセット信号を出力し、新たにマスタプロ
セッサとなったプロセッサ10−2をシステムから切り
離し、プロセッサ10−3が新たなマスタプロセッサと
して診断処理を開始し、時刻t4 で診断を正常終了す
る。
となり、スレーブプロセッサ10−2が時刻t2 でT1
時間の経過によりタイムアップすると、リセット信号を
出力して、マスタプロセッサ10−1をシステムから切
り離し、マスタ・スレーブの再割当てを行う。この再割
当てにより新たにプロセッサ10−2がマスタプロセッ
サとなって、診断処理を開始する。しかしながら、新た
にマスタプロセッサとなったプロセッサ10−2も診断
の途中で異常を起こしたとする。このため、時刻t3 で
スレーブプロセッサ10−3の設定時間T2 がタイムオ
ーバとなってリセット信号を出力し、新たにマスタプロ
セッサとなったプロセッサ10−2をシステムから切り
離し、プロセッサ10−3が新たなマスタプロセッサと
して診断処理を開始し、時刻t4 で診断を正常終了す
る。
【0081】このプロセッサ10−3によるマスタプロ
セッサとしての時刻t3 の診断正常終了で、残されたス
レーブプロセッサ10−4に対するスレーブスタートが
行われ、スレーブプロセッサ10−4の初期化診断処理
に入る。 6.スレーブ初期化診断処理とマスタによる監視 図18は図12のステップS9に示したスレーブプロセ
ッサの初期化診断処理の詳細を示す。まずステップS6
4で、スレーブプロセッサ10−2〜10−4のそれぞ
れが自分のCPU26に設けているメモリ管理ユニット
40のレジスタアクセスとページエントリの機能確認を
行い、次のステップS65でメモリ管理ユニット40を
有効にしてトランスレーションモードとする。
セッサとしての時刻t3 の診断正常終了で、残されたス
レーブプロセッサ10−4に対するスレーブスタートが
行われ、スレーブプロセッサ10−4の初期化診断処理
に入る。 6.スレーブ初期化診断処理とマスタによる監視 図18は図12のステップS9に示したスレーブプロセ
ッサの初期化診断処理の詳細を示す。まずステップS6
4で、スレーブプロセッサ10−2〜10−4のそれぞ
れが自分のCPU26に設けているメモリ管理ユニット
40のレジスタアクセスとページエントリの機能確認を
行い、次のステップS65でメモリ管理ユニット40を
有効にしてトランスレーションモードとする。
【0082】次にステップS66で、スレーブプロセッ
サ10−2〜10−4に設けている2次キャッシュメモ
リユニット44および2次キャッシュコントロールユニ
ット46の診断をシミュレーションで行う。続いてステ
ップS67で、CPU26に設けている命令キャッシュ
メモリユニット36およびデータキャッシュメモリユニ
ット38のキャッシング・インバリデート動作、データ
タグのアクセスディスクをキャッシュ診断として行い、
ステップS68でキャッシュメモリを無効化(インバリ
デート)させる初期化を行う。続いてステップS69で
命令キャッシュメモリユニット36のみを有効として、
一連のスレーブ側の初期化診断処理を終了する。
サ10−2〜10−4に設けている2次キャッシュメモ
リユニット44および2次キャッシュコントロールユニ
ット46の診断をシミュレーションで行う。続いてステ
ップS67で、CPU26に設けている命令キャッシュ
メモリユニット36およびデータキャッシュメモリユニ
ット38のキャッシング・インバリデート動作、データ
タグのアクセスディスクをキャッシュ診断として行い、
ステップS68でキャッシュメモリを無効化(インバリ
デート)させる初期化を行う。続いてステップS69で
命令キャッシュメモリユニット36のみを有効として、
一連のスレーブ側の初期化診断処理を終了する。
【0083】尚、次のステップS70の処理は、図12
のステップS10に示すマスタ監視処理を実現する図1
6に示したステップS55〜S63の処理を示してい
る。図19は図18に示したスレーブ初期化診断処理に
並行してマスタプロセッサ10−1で行われるスレーブ
監視処理の詳細を示す。図19において、マスタプロセ
ッサ10−1によるスレーブプロセッサ10−2〜10
−4の監視は、まずステップS34でマスタプロセッサ
10−1の初期化診断処理の完了で待ち合わせ関数によ
る処理、即ちアイドル状態に移行する。このアイドル状
態への移行に続き、ステップS35でシステムバスコン
トローラ18に設けたプロセッサ到達レジスタ64のマ
スタプロセッサ10−1の対応ビットb0 に1をセット
し、ステップS36でタイマTに予め定めたスレーブ監
視時間のタイマ値T0 をセットし、ステップS37に進
む。
のステップS10に示すマスタ監視処理を実現する図1
6に示したステップS55〜S63の処理を示してい
る。図19は図18に示したスレーブ初期化診断処理に
並行してマスタプロセッサ10−1で行われるスレーブ
監視処理の詳細を示す。図19において、マスタプロセ
ッサ10−1によるスレーブプロセッサ10−2〜10
−4の監視は、まずステップS34でマスタプロセッサ
10−1の初期化診断処理の完了で待ち合わせ関数によ
る処理、即ちアイドル状態に移行する。このアイドル状
態への移行に続き、ステップS35でシステムバスコン
トローラ18に設けたプロセッサ到達レジスタ64のマ
スタプロセッサ10−1の対応ビットb0 に1をセット
し、ステップS36でタイマTに予め定めたスレーブ監
視時間のタイマ値T0 をセットし、ステップS37に進
む。
【0084】ステップS37にあっては、タイマTのタ
イムアップの有無をチェックしており、タイムアップす
るまでステップS38でタイマ値Tを単位時間ごとに減
算する。ステップS38でタイマ値の減算が済むと、ス
テップS39で、マスタプロセッサ10−1に設けてい
るプロセッサ有効レジスタ56−1とシステムバスコン
トローラ18に設けているプロセッサ到達レジスタ64
の内容が一致するか否かチェックする。
イムアップの有無をチェックしており、タイムアップす
るまでステップS38でタイマ値Tを単位時間ごとに減
算する。ステップS38でタイマ値の減算が済むと、ス
テップS39で、マスタプロセッサ10−1に設けてい
るプロセッサ有効レジスタ56−1とシステムバスコン
トローラ18に設けているプロセッサ到達レジスタ64
の内容が一致するか否かチェックする。
【0085】初期化処理を行っているスレーブプロセッ
サ10−2〜10−4で初期化診断処理が正常に終了す
ると、待ち合わせ関数によるアイドルループに入ること
で、プロセッサ到達レジスタ64の対応するビットb1
〜b3 が1にセットされることになる。したがって、プ
ロセッサ到達レジスタがマスタプロセッサ10−1を含
めて全てビット1となってプロセッサ有効レジスタ56
−1の内容と一致すると、スレーブプロセッサ10−2
〜10−4の初期化診断処理が正常終了したものとして
次の処理に移行する。
サ10−2〜10−4で初期化診断処理が正常に終了す
ると、待ち合わせ関数によるアイドルループに入ること
で、プロセッサ到達レジスタ64の対応するビットb1
〜b3 が1にセットされることになる。したがって、プ
ロセッサ到達レジスタがマスタプロセッサ10−1を含
めて全てビット1となってプロセッサ有効レジスタ56
−1の内容と一致すると、スレーブプロセッサ10−2
〜10−4の初期化診断処理が正常終了したものとして
次の処理に移行する。
【0086】これに対し、ステップS37でタイムアッ
プとなっても、プロセッサ到達レジスタ64の参照で待
ち合わせ関数にこなかったスレーブプロセッサが存在し
た場合には、このスレーブプロセッサは異常を起こした
ものと判断してモジュールリセットを掛けてシステムか
ら切り離す縮退処理を行う。図20はマスタプロセッサ
10−1によるスレーブプロセッサ10−2〜10−4
の監視処理を示している。時刻t1 でマスタプロセッサ
10−1の診断が終了すると、スレーブスタートによる
スレーブプロセッサ10−2〜10−4の診断処理が開
始される。
プとなっても、プロセッサ到達レジスタ64の参照で待
ち合わせ関数にこなかったスレーブプロセッサが存在し
た場合には、このスレーブプロセッサは異常を起こした
ものと判断してモジュールリセットを掛けてシステムか
ら切り離す縮退処理を行う。図20はマスタプロセッサ
10−1によるスレーブプロセッサ10−2〜10−4
の監視処理を示している。時刻t1 でマスタプロセッサ
10−1の診断が終了すると、スレーブスタートによる
スレーブプロセッサ10−2〜10−4の診断処理が開
始される。
【0087】マスタプロセッサ10−1にあっては、診
断終了のスレーブスタートからタイマ値T0 による時間
経過を監視しており、設定時間T0 がタイムアップする
時刻t2 で、例えばスレーブプロセッサ10−4が待ち
合わせ関数にこなかった場合には、スレーブプロセッサ
10−4に対しモジュールリセット用のリセット信号を
出力してシステムから切り離すようになる。 7.2回目のマスタ初期化診断処理と割込診断処理 図21は図12のステップS5に示すマスタプロセッサ
10−1の2回目の初期化診断処理の詳細を示す。
断終了のスレーブスタートからタイマ値T0 による時間
経過を監視しており、設定時間T0 がタイムアップする
時刻t2 で、例えばスレーブプロセッサ10−4が待ち
合わせ関数にこなかった場合には、スレーブプロセッサ
10−4に対しモジュールリセット用のリセット信号を
出力してシステムから切り離すようになる。 7.2回目のマスタ初期化診断処理と割込診断処理 図21は図12のステップS5に示すマスタプロセッサ
10−1の2回目の初期化診断処理の詳細を示す。
【0088】図21において、まずステップS41でフ
レームバッファオプションとして設けられたシステムバ
スカードの搭載チェック並びに診断初期化を行う。続い
てステップS42でフレームバッファカードの有無をチ
ェックし、もしあればステップS43に進み、キーボー
ド用のLSIの診断並びに初期設定を行う。更に、必要
ならばオーディオ関係の診断も行う。
レームバッファオプションとして設けられたシステムバ
スカードの搭載チェック並びに診断初期化を行う。続い
てステップS42でフレームバッファカードの有無をチ
ェックし、もしあればステップS43に進み、キーボー
ド用のLSIの診断並びに初期設定を行う。更に、必要
ならばオーディオ関係の診断も行う。
【0089】次にステップS45で、予め定めたメッセ
ージの表示出力による初期化メッセージ表示を行う。続
いてステップS46で、ECCシングルビットおよびマ
ルチビットのマルチプル異常の診断をECCパート2と
して実行する。次のステップS47は、マスタプロセッ
サ10−1に設けている図3に示した2次キャッシュメ
モリユニット44および2次キャッシュコントロールユ
ニット46の動作をシミュレーションする診断テストを
行う。
ージの表示出力による初期化メッセージ表示を行う。続
いてステップS46で、ECCシングルビットおよびマ
ルチビットのマルチプル異常の診断をECCパート2と
して実行する。次のステップS47は、マスタプロセッ
サ10−1に設けている図3に示した2次キャッシュメ
モリユニット44および2次キャッシュコントロールユ
ニット46の動作をシミュレーションする診断テストを
行う。
【0090】続いてステップS48でメモリ診断を行
い、もしステップS49でメモリ診断の際にエラーが起
きると、図15に示した1回目のマスタ初期化処理にお
けるステップS22に戻って再度、診断処理を繰り返
す。ステップS19でエラーがなければ、ステップS5
0でメモリ診断の終了処理を行い、ステップS51で、
自分のフラグレジスタ60−1のフラグコードを2にセ
ットしてスレーブスタートを行う。続いてステップS5
2で、パトロールレジスタのアクセスと診断を行ってパ
トロール周期を設定する。
い、もしステップS49でメモリ診断の際にエラーが起
きると、図15に示した1回目のマスタ初期化処理にお
けるステップS22に戻って再度、診断処理を繰り返
す。ステップS19でエラーがなければ、ステップS5
0でメモリ診断の終了処理を行い、ステップS51で、
自分のフラグレジスタ60−1のフラグコードを2にセ
ットしてスレーブスタートを行う。続いてステップS5
2で、パトロールレジスタのアクセスと診断を行ってパ
トロール周期を設定する。
【0091】パトロールレジスタはハードウェアによっ
てメモリ内を一定周期ごとにリードしてECCチェック
を行うことになる。続いてステップS53で、ウォッチ
ドックタイマなどのタイマ診断を行い、ステップS54
で、プロセッサに設けているクロックの算出処理を行
い、図22に示す割込診断処理に進む。図22はマスタ
プロセッサ10−1およびスレーブプロセッサ10−2
〜10−4における割込診断処理を示している。
てメモリ内を一定周期ごとにリードしてECCチェック
を行うことになる。続いてステップS53で、ウォッチ
ドックタイマなどのタイマ診断を行い、ステップS54
で、プロセッサに設けているクロックの算出処理を行
い、図22に示す割込診断処理に進む。図22はマスタ
プロセッサ10−1およびスレーブプロセッサ10−2
〜10−4における割込診断処理を示している。
【0092】まずステップS71で、アドレスオーバエ
リアへリードした時の異常系診断処理を実行する。次に
ステップS72で、アドレスオーバエリアへライトした
時の異常系診断処理を行う。続いてステップS73で、
アクセスストップ処理を行う。ステップS74にあって
は、レベル1,6,11,12および14のソフトウェ
ア割込診断を行う。
リアへリードした時の異常系診断処理を実行する。次に
ステップS72で、アドレスオーバエリアへライトした
時の異常系診断処理を行う。続いてステップS73で、
アクセスストップ処理を行う。ステップS74にあって
は、レベル1,6,11,12および14のソフトウェ
ア割込診断を行う。
【0093】ステップS75では、図2に示したプロセ
ッサ10−1内のCPU26と2次キャッシュメモリユ
ニット44および2次キャッシュコントロールユニット
46を結ぶ内部バスのパリティ診断を行う。ステップS
76は、メモリロードアドレス領域のプロテクトテスト
およびライトアクセス異常系の処理を行う。以上の診断
処理が済むと、ステップS77で、プロセッサ10−1
に設けている命令キャッシュメモリユニット36、デー
タキャッシュメモリユニット38、更に2次キャッシュ
メモリユニット44の全てのキャッシュを初期化して使
用可能状態とする。続いてステップS78で、EEPR
OM14からSRAM16へプログラムの走行位置を戻
し、キャッシュ機構をオフする。
ッサ10−1内のCPU26と2次キャッシュメモリユ
ニット44および2次キャッシュコントロールユニット
46を結ぶ内部バスのパリティ診断を行う。ステップS
76は、メモリロードアドレス領域のプロテクトテスト
およびライトアクセス異常系の処理を行う。以上の診断
処理が済むと、ステップS77で、プロセッサ10−1
に設けている命令キャッシュメモリユニット36、デー
タキャッシュメモリユニット38、更に2次キャッシュ
メモリユニット44の全てのキャッシュを初期化して使
用可能状態とする。続いてステップS78で、EEPR
OM14からSRAM16へプログラムの走行位置を戻
し、キャッシュ機構をオフする。
【0094】続いてステップS79にあっては、マスタ
プロセッサ10−1がSCSIユニット、DMAユニッ
ト、FDCユニット、LANユニットなどのBOOT装
置の診断を実行する。続いてステップS80で、マスタ
プロセッサ10−1およびスレーブプロセッサ10−2
〜10−4についてファームウェア領域の初期設定を行
い、これをもって全てのパワーオンスタートに伴う初期
化処理を終了し、ステップS81でマスタジョブの実
行、ステップS82でスレーブジョブの実行に移行す
る。
プロセッサ10−1がSCSIユニット、DMAユニッ
ト、FDCユニット、LANユニットなどのBOOT装
置の診断を実行する。続いてステップS80で、マスタ
プロセッサ10−1およびスレーブプロセッサ10−2
〜10−4についてファームウェア領域の初期設定を行
い、これをもって全てのパワーオンスタートに伴う初期
化処理を終了し、ステップS81でマスタジョブの実
行、ステップS82でスレーブジョブの実行に移行す
る。
【0095】尚、上記の実施例は4台のプロセッサを共
有バスに接続した場合を例にとっているが、プロセッサ
の数は必要に応じて適宜に定めることができる。また2
次キャッシュを設けた場合を例にとっているが、2次キ
ャッシュを設けないプロセッサであってもよい。更に、
上記の実施例に示したマスタプロセッサおよびスレーブ
プロセッサの初期化診断処理は必要に応じて適宜に決め
られるものであり、実施例に示した診断内容による限定
は受けない。
有バスに接続した場合を例にとっているが、プロセッサ
の数は必要に応じて適宜に定めることができる。また2
次キャッシュを設けた場合を例にとっているが、2次キ
ャッシュを設けないプロセッサであってもよい。更に、
上記の実施例に示したマスタプロセッサおよびスレーブ
プロセッサの初期化診断処理は必要に応じて適宜に決め
られるものであり、実施例に示した診断内容による限定
は受けない。
【0096】
【発明の効果】以上説明してきたように本発明によれ
ば、電源投入時に有効となった複数のプロセッサを認識
して、その中でマスタ権限をもつプロセッサとスレーブ
権限をもつプロセッサの割当てをダイナミックに行うこ
とができ、特定のプロセッサが電源投入で立ち上がらな
くとも、立ち上がった有効なプロセッサの構成でマルチ
プロセッサシステムを構築することができる。
ば、電源投入時に有効となった複数のプロセッサを認識
して、その中でマスタ権限をもつプロセッサとスレーブ
権限をもつプロセッサの割当てをダイナミックに行うこ
とができ、特定のプロセッサが電源投入で立ち上がらな
くとも、立ち上がった有効なプロセッサの構成でマルチ
プロセッサシステムを構築することができる。
【0097】またマスタ・スレーブ割当てが済んだ後に
マスタプロセッサとスレーブプロセッサの順番に行う初
期化診断処理において、マスタプロセッサの初期化診断
処理をスレーブプロセッサで監視し、マスタプロセッサ
の異常を認識するとマスタプロセッサをシステムから切
り離して再度、マスタ・スレーブの割当処理を行うこと
で、マスタプロセッサを固定的に決めていたような場合
のマスタプロセッサの異常によるシステムハングを確実
に防止することができる。
マスタプロセッサとスレーブプロセッサの順番に行う初
期化診断処理において、マスタプロセッサの初期化診断
処理をスレーブプロセッサで監視し、マスタプロセッサ
の異常を認識するとマスタプロセッサをシステムから切
り離して再度、マスタ・スレーブの割当処理を行うこと
で、マスタプロセッサを固定的に決めていたような場合
のマスタプロセッサの異常によるシステムハングを確実
に防止することができる。
【0098】またスレーブプロセッサの初期化診断中に
は、マスタプロセッサがスレーブプロセッサの状態を監
視することで、もしスレーブプロセッサに異常があると
スレーブプロセッサをシステムから切り離し、この結
果、マスタプロセッサおよびスレーブプロセッサのいず
れかに初期化診断の際に異常が起きても、最小構成であ
ってもシステム動作ができる再構築を行うことができ
る。
は、マスタプロセッサがスレーブプロセッサの状態を監
視することで、もしスレーブプロセッサに異常があると
スレーブプロセッサをシステムから切り離し、この結
果、マスタプロセッサおよびスレーブプロセッサのいず
れかに初期化診断の際に異常が起きても、最小構成であ
ってもシステム動作ができる再構築を行うことができ
る。
【0099】更に共用メモリのプログラムコードを全て
のプロセッサで使用してプログラムを走行させる際に、
各プロセッサに一度フェッチしたプログラムコードを格
納して使用するキャッシュ機構を設けておくことで、シ
ステム動作におけるスレーブプロセッサからの共有部の
アクセスを必要最小限とし、共有部のアクセス機能を果
たすマスタプロセッサにシステムバスの使用を開放し、
マルチプロセッサシステムにおけるバス性能の低下を最
小限に抑えることができる。
のプロセッサで使用してプログラムを走行させる際に、
各プロセッサに一度フェッチしたプログラムコードを格
納して使用するキャッシュ機構を設けておくことで、シ
ステム動作におけるスレーブプロセッサからの共有部の
アクセスを必要最小限とし、共有部のアクセス機能を果
たすマスタプロセッサにシステムバスの使用を開放し、
マルチプロセッサシステムにおけるバス性能の低下を最
小限に抑えることができる。
【図1】本発明の原理説明図
【図2】本発明のハードウェア構成を示したシステム説
明図
明図
【図3】本発明で使用するプロセッサの詳細を示したブ
ロック図
ロック図
【図4】本発明で使用するレジスタ配置およびEEPR
OMの格納プログラムを示した説明図
OMの格納プログラムを示した説明図
【図5】ウェイクアップレジスタの説明図
【図6】プロセッサ有効レジスタの説明図
【図7】プロセッサ接続レジスタの説明図
【図8】プロセッサ番号レジスタの説明図
【図9】フラグレジスタの説明図
【図10】プロセッサ到達レジスタの説明図
【図11】本発明によるマスタ・スレーブ割当処理、初
期化診断処理、及び監視処理のシステム機能を示したブ
ロック図
期化診断処理、及び監視処理のシステム機能を示したブ
ロック図
【図12】本発明によるマスタ・スレーブ割当処理、初
期化診断処理、及び監視処理の概略を示したジェネリッ
クフローチャート
期化診断処理、及び監視処理の概略を示したジェネリッ
クフローチャート
【図13】図12のリセット処理詳細を示したフローチ
ャート
ャート
【図14】図12のマスタ・スレーブ割当処理の詳細を
示したフローチャート
示したフローチャート
【図15】図12の最初のマスタ初期化診断処理の詳細
を示したフローチャート
を示したフローチャート
【図16】図12のマスタ監視処理を示したフローチャ
ート
ート
【図17】図16のマスタ監視処理の動作を示したタイ
ミングチャート
ミングチャート
【図18】図12のスレーブ初期化診断処理を示したフ
ローチャート
ローチャート
【図19】図12のスレーブ監視処理を示したフローチ
ャート
ャート
【図20】図19のスレーブ監視処理の動作を示したタ
イミングチャート
イミングチャート
【図21】図12の2回目のマスタ初期化診断処理を示
したフローチャート
したフローチャート
【図22】図12のマスタ及びスレーブの割込診断処理
を示したフローチャート
を示したフローチャート
10−1〜10−4:プロセッサ 12:共有バス 14:EEPROM 16:RAM 18:システムバスコントローラ 20:ハードディスク 22:CRT 24:操作部 26:CPU 28:浮動小数点演算制御ユニット 30:浮動小数点演算実行ユニット 32:整数演算制御ユニット 34:スーパースカラ整数演算実行ユニット 36:命令キャッシュメモリユニット 38:データキャッシュメモリユニット 40:メモリ管理ユニット(MMU) 42:バスインタフェースユニット 44:2次キャッシュメモリユニット 46:2次キャッシュコントロールユニット 48:ローダプログラム 50:各種診断プログラム 52:マルチプロセッサ制御プログラム 54−1〜54−4:ウェイクアップレジスタ 56−1〜56−4:プロセッサ有効レジスタ 58−1〜58−4:プロセッサ番号レジスタ(CPU
番号レジスタ) 60−1〜60−4:フラグレジスタ 62:プロセッサ接続レジスタ 64:プロセッサ到達レジスタ 100:リセット処理部 102:割当処理部 104:第1マスタ初期化診断処理部 106:スレーブ監視部 108:第2マスタ初期化診断処理部 110:マスタ割込診断処理部 112:マスタジョブ実行部 114:スレーブ縮退処理部 116:第1マスタ監視部 118:スレーブ初期化診断処理部 120:第2マスタ監視部 122:スレーブ割込診断処理部 124:スレーブジョブ実行部 126:マスタ縮退処理部
番号レジスタ) 60−1〜60−4:フラグレジスタ 62:プロセッサ接続レジスタ 64:プロセッサ到達レジスタ 100:リセット処理部 102:割当処理部 104:第1マスタ初期化診断処理部 106:スレーブ監視部 108:第2マスタ初期化診断処理部 110:マスタ割込診断処理部 112:マスタジョブ実行部 114:スレーブ縮退処理部 116:第1マスタ監視部 118:スレーブ初期化診断処理部 120:第2マスタ監視部 122:スレーブ割込診断処理部 124:スレーブジョブ実行部 126:マスタ縮退処理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 勝又 幸宏 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 多幡 武朗 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 中村 晋一郎 石川県河北郡宇ノ気町字宇野気ヌ98番地の 2 株式会社ピーエフユー内
Claims (22)
- 【請求項1】システム起動時に、共有バス(18)を介
して接続された複数のプロセッサ、前記複数のプロセッ
サ(10−1〜10−4)で動作する共通のプログラム
情報を格納した読出専用のメモリユニット(14)を含
む共有部の各々をリセットするリセット過程と、 前記リセット過程によるリセット後に、システムに有効
に接続されたプロセッサ(10−1〜10−4)を判別
し、該複数の有効プロセッサの内の1つに予めマスタ権
限を割当ててマスタプロセッサ(10−1)とし、残り
全てのプロセッサにスレーブ権限を割当ててスレーブプ
ロセッサ(10−2〜10−4)とするプロセッサ権限
割当過程と、 前記マスタプロセッサ(10−1)および前記スレーブ
プロセッサ(10−2〜10−4)の順番に固有の初期
化診断処理を実行する初期化診断過程と、 前記初期化診断過程が正常に終了した段階で、前記複数
のプロセッサ(10−1〜10−4)に分散してジョブ
を実行する分散処理過程と、を備えたことを特徴とする
マルチプロセッサシステムの制御方法。 - 【請求項2】請求項1記載のマルチプロセッサシステム
の制御方法に於いて、 前記プロセッサ権限割当過程は、 前記各プロセッサ(10−1〜10−4)のリセット完
了で各々に設けたウェイクアップレジスタ(54)のウ
ェイクアップビットをセットするウェイクアップ過程
と、 前記ウェイクアップ過程でウェイクアップビットのセッ
トが行われたプロセッサを、システムで有効なプロセッ
サとして各プロセッサに設けたプロセッサ有効レジスタ
(56)の対応ビットをセットする有効プロセッサ設定
過程と、 前記共有バス(18)に対する物理的なプロセッサの接
続を検出し、全てのプロセッサで参照可能な共有部に設
けられたプロセッサ接続レジスタ(62)の対応ビット
をセットするシステム接続プロセッサ検出過程と、 前記プロセッサの各々に設けたプロセッサ番号レジスタ
(58)に予め格納された値から自分のプロセッサ番号
を認識し、前記有効プロセッサ設定過程で得られた有効
レジスタ(56)で示す他のプロセッサのプロセッサ番
号と比較し、該比較結果に基づき自分がマスタプロセッ
サかスレーブプロセッサかを認識する権限認識過程と、
を備えたことを特徴とするマルチプロセッサシステムの
制御方法。 - 【請求項3】請求項1記載のマルチプロセッサシステム
の制御方法に於いて、前記初期化診断過程は、 前記マスタプロセッサ(10−1)の初期化診断が正常
に終了するか否かを前記スレーブプロセッサ(10−2
〜10−4)の各々で監視するマスタ監視過程と、 前記マスタ監視過程でスレーブプロセッサ(10−2〜
10−4)のいずれかがマスタプロセッサ(10−1)
の異常を検出した場合、該マスタプロセッサ(10−
1)をシステムから切り離して縮退させ、残されたプロ
セッサ(10−2〜10−4)を対象に前記プロセッサ
権限割当過程による新たなマスタプロセッサとスレーブ
プロセッサを割当ててから再度処理を行わせる縮退処理
過程と、を備えたことを特徴とするマルチプロセッサシ
ステムの制御方法。 - 【請求項4】請求項3記載のマルチプロセッサシステム
の制御方法に於いて、前記マスタ監視過程は、 プロセッサ番号(i)で決まるマスタ権限割当ての優先
順位に従って自分のマスタ監視の閾値時間(Ti)を設
定する閾値時間設定過程と、 前記マスタプロセッサ(10−1)による初期化診断処
理の開始でマスタ監視時間(T)の計測を開始する計測
過程と、 前記計測過程の時間計測中に前記マスタプロセッサ(1
0−1)による初期化診断の終了の有無を監視し、計測
時間(T)が前記閾値時間(Ti)以内に初期化診断の
終了を認識した場合は、マスタプロセッサ(10−1)
は正常と判断して次のスレーブプロセッサ(10−2〜
10−4)の初期化診断処理に移行させ、計測時間
(T)が前記閾値時間(Ti)に達しても初期化診断の
終了を認識できなかった場合は、マスタプロセッサ(1
0−1)の異常と判断して前記縮退処理に移行させるマ
スタ異常判断過程と、を備えたことを特徴とするマルチ
プロセッサシステムの制御方法。 - 【請求項5】請求項4記載のマルチプロセッサシステム
の制御方法に於いて、 前記計測過程は、前記閾値時間(Ti)をセットしたタ
イマの値を単位時間経過毎に減算し、 前記マスタ異常判断過程は前記前記タイマ値が零となる
以前に初期化診断の終了を認識した場合は、マスタプロ
セッサ(10−1)は正常と判断して次のスレーブプロ
セッサ(10−2〜10−4)の初期化診断処理に移行
させ、前記タイマ値が零に達しても初期化診断の終了を
認識できなかった場合は、マスタプロセッサ(10−
1)の異常と判断して前記縮退処理に移行させることを
特徴とするマルチプロセッサシステムの制御方法。 - 【請求項6】請求項4記載のマルチプロセッサシステム
の制御方法に於いて、前記マスタ異常判断過程は、マス
タプロセッサ(10−1)に設けたフラグレジスタ(6
0)の参照で初期化診断の終了の有無を認識することを
特徴するマルチプロセッサシステムの制御方法。 - 【請求項7】請求項1記載のマルチプロセッサシステム
の制御方法に於いて、前記初期化診断過程は、 前記スレーブプロセッサ(10−2〜10−4)の初期
化診断が正常に終了するか否かを前記マスタプロセッサ
(10−1)で監視するスレーブ監視過程と、 前記スレーブ監視過程でマスタプロセッサ(10−1)
がスレーブプロセッサの異常を検出した場合、該スレー
ブプロセッサをシステムから切り離して縮退させる縮退
処理過程と、を備えたことを特徴とするマルチプロセッ
サシステムの制御方法。 - 【請求項8】請求項7記載のマルチプロセッサシステム
の制御方法に於いて、前記スレーブ監視過程は、 予め定めたスレーブ監視の閾値時間(T0 )を設定する
閾値時間設定過程と、 前記マスタプロセッサ(10−1)の初期化診断終了に
伴なうスレーブプロセッサ(10−2〜10−4)の初
期化診断処理の開始でスレーブ監視時間(T)の計測を
開始する計測過程と、 前記計測過程の時間計測中に前記スレーブプロセッサ
((10−2〜10−4)による初期化診断の終了の有
無を監視し、計測時間が前記閾値時間(T0 )以内に初
期化診断の終了を認識した場合は、該スレーブプロセッ
サは正常と判断し、計測時間が前記閾値時間(T0 )に
達しても初期化診断の終了を認識できなかった場合は、
該スレーブプロセッサの異常と判断して前記縮退処理に
移行させるスレーブ異常判断過程と、を備えたことを特
徴とするマルチプロセッサシステムの制御方法。 - 【請求項9】請求項8記載のマルチプロセッサシステム
の制御方法に於いて、 前記計測過程は、前記閾値時間(T0 )をセットしたタ
イマの値(T)を単位時間経過毎に減算し、 前記スレーブ異常判断過程は前記前記タイマ値(T)が
零となる以前に初期化診断の終了を認識した場合は、ス
レーブプロセッサは正常と判断し、前記タイマ値(T)
が零に達しても初期化診断の終了を認識できなかった場
合は、スレーブプロセッサの異常と判断して前記縮退処
理に移行させることを特徴とするマルチプロセッサシス
テムの制御方法。 - 【請求項10】請求項9記載のマルチプロセッサシステ
ムの制御方法に於いて、前記スレーブ異常判断過程は、
スレーブプロセッサ(10−2〜10−4)の初期化処
理の終了に基づく待ち状態への到達で対応ビットをセッ
トする前記共有部の待ち状態到達レジスタ(64)を参
照して初期化診断の終了の有無を認識することを特徴と
するマルチプロセッサシステムの制御方法。 - 【請求項11】共有バス(18)と、 共有バス(18)を介して接続された複数のプロセッサ
手段(10−1〜10−4)と、 前記複数のプロセッサ手段(10−1〜10−4)に共
通なプログラム情報を格納した読出専用のメモリユニッ
ト(14)を含む共有部と、 システム起動時に、前記複数のプロセッサ(10−1〜
10−4)及び共有部の各々をリセットするリセット処
理手段(100)と、 前記リセット処理手段(100)によるリセット後に、
システムに有効に接続されたプロセッサ手段(10−1
〜10−4)を判別し、該複数の有効プロセッサの内の
1つにマスタ権限を割当ててマスタプロセッサ(10−
1)とし、残り全てのプロセッサにスレーブ権限を割当
ててスレーブプロセッサ(10−2〜10−4)とする
割当処理手段(102)と、 前記マスタプロセッサ(10−1)および前記スレーブ
プロセッサ(10−2〜10−4)の順番に固有の初期
化診断処理を実行する初期化診断処理手段(104,1
08,118)と、 前記初期化診断処理手段(104,118)の処理が正
常に終了した段階で、前記複数のプロセッサ(10−1
〜10−4)に分散してジョブを実行するジョブ実行手
段(125)と、を備えたことを特徴とするマルチプロ
セッサシステムの制御装置。 - 【請求項12】請求項11記載のマルチプロセッサシス
テムの制御装置に於いて、前記プロセッサ手段(10−
1〜10−4)の各々は、 前記各プロセッサ手段(10−1〜10−4)のリセッ
ト完了でウェイクアップビットをセットするウェイクア
ップレジスタ手段(54)と、 前記ウェイクアップレジスタ手段(54)のビットセッ
トが行われたプロセッサ手段をシステムで有効なプロセ
ッサ手段として対応ビットをセットするプロセッサ有効
レジスタ手段(56)と、 自己のプロセッサ番号を格納したプロセッサ番号レジス
タ手段(58)と、 自己の動作状態を示すフラグレジスタ手段(62)とを
備え、 前記共有部は、前記共有バス(18)に対する物理的な
プロセッサの接続を検出して対応ビットをセットする全
てのプロセッサで参照可能なプロセッサ接続レジスタ手
段(62)を備え、 前記割当処理手段(102)は、前記プロセッサ番号レ
ジスタ手段(58)から自分のプロセッサ番号を認識
し、前記有効レジスタ(56)で示す他のプロセッサの
プロセッサ番号と比較し、該比較結果に基づき自分がマ
スタプロセッサかスレーブプロセッサかを認識すること
を特徴とするマルチプロセッサシステムの制御装置。 - 【請求項13】請求項11記載のマルチプロセッサシス
テムの制御方法に於いて、前記初期化診断手段は、 前記マスタプロセッサ手段(10−1)の初期化診断が
正常に終了するか否かを前記スレーブプロセッサ手段
(10−2〜10−4)の各々で監視するマスタ監視手
段(116)と、 前記マスタ監視手段(116)でスレーブプロセッサ
(10−2〜10−4)のいずれかがマスタプロセッサ
(10−1)の異常を検出した場合、該マスタプロセッ
サ(10−1)をシステムから切り離して縮退させ、残
されたプロセッサ(10−2〜10−4)を対象に前記
プロセッサ権限割当過程による新たなマスタプロセッサ
とスレーブプロセッサを割当ててから再度処理を行わせ
るマスタ縮退処理手段(126)と、を備えたことを特
徴とするマルチプロセッサシステムの制御装置。 - 【請求項14】請求項13記載のマルチプロセッサシス
テムの制御装置に於いて、前記マスタ監視手段(11
6)は、 プロセッサ番号(i)で決まるマスタ権限割当ての優先
順位に従って自分のマスタ監視の閾値時間(Ti)を設
定する閾値時間設定手段と、 前記マスタプロセッサ(10−1)による初期化診断処
理の開始でマスタ監視時間(T)の計測を開始する計測
手段と、 前記計測手段の時間計測中に前記マスタプロセッサ(1
0−1)による初期化診断の終了の有無を監視し、計測
時間(T)が前記閾値時間(Ti)以内に初期化診断の
終了を認識した場合は、マスタプロセッサ(10−1)
は正常と判断して次のスレーブプロセッサ(10−2〜
10−4)の初期化診断処理に移行させ、計測時間
(T)が前記閾値時間(Ti)に達しても初期化診断の
終了を認識できなかった場合は、マスタプロセッサ(1
0−1)の異常と判断して前記縮退処理に移行させるマ
スタ異常判断手段と、を備えたことを特徴とするマルチ
プロセッサシステムの制御装置。 - 【請求項15】請求項14記載のマルチプロセッサシス
テムの制御装置に於いて、 前記計測手段は、前記閾値時間(Ti)をセットしたタ
イマの値を単位時間経過毎に減算し、 前記マスタ異常判断手段は、前記タイマ値が零となる以
前に初期化診断の終了を認識した場合は、マスタプロセ
ッサ(10−1)は正常と判断して次のスレーブプロセ
ッサ(10−2〜10−4)の初期化診断処理に移行さ
せ、前記タイマ値が零に達しても初期化診断の終了を認
識できなかった場合は、マスタプロセッサ(10−1)
の異常と判断して前記縮退処理に移行させることを特徴
とするマルチプロセッサシステムの制御装置。 - 【請求項16】請求項14記載のマルチプロセッサシス
テムの制御装置に於いて、前記マスタ異常判断手段は、
マスタプロセッサ(10−1)に設けたフラグレジスタ
手段(60)の参照で初期化診断の終了の有無を認識す
ることを特徴とするマルチプロセッサシステムの制御装
置。 - 【請求項17】請求項11記載のマルチプロセッサシス
テムの制御装置に於いて、前記初期化診断手段は、 前記スレーブプロセッサ(10−2〜10−4)の初期
化診断が正常に終了するか否かを前記マスタプロセッサ
(10−1)で監視するスレーブ監視手段(106)
と、 前記スレーブ監視手段(106)でスレーブプロセッサ
の異常を検出した場合、該スレーブプロセッサをシステ
ムから切り離して縮退させるスレーブ縮退処理手段(1
14)と、を備えたことを特徴とするマルチプロセッサ
システムの制御装置。 - 【請求項18】請求項17記載のマルチプロセッサシス
テムの制御装置に於いて、前記スレーブ監視手段(10
6)は、 予め定めたスレーブ監視の閾値時間(T0 )を設定する
閾値時間設定手段と、 前記マスタプロセッサ(10−1)の初期化診断終了に
伴なうスレーブプロセッサ(10−2〜10−4)の初
期化診断処理の開始でスレーブ監視時間(T)の計測を
開始する計測手段と、 前記計測手段の時間計測中に前記スレーブプロセッサ
((10−2〜10−4)による初期化診断の終了の有
無を監視し、計測時間が前記閾値時間(T0 )以内に初
期化診断の終了を認識した場合は、該スレーブプロセッ
サは正常と判断し、計測時間が前記閾値時間(T0 )に
達しても初期化診断の終了を認識できなかった場合は、
該スレーブプロセッサの異常と判断して前記縮退処理に
移行させるスレーブ異常判断手段と、を備えたことを特
徴とするマルチプロセッサシステムの制御装置。 - 【請求項19】請求項18記載のマルチプロセッサシス
テムの制御装置に於いて、 前記計測手段は、前記閾値時間(T0 )をセットしたタ
イマの値(T)を単位時間経過毎に減算し、 前記スレーブ異常判断手段は、前記タイマ値(T)が零
となる以前に初期化診断の終了を認識した場合は、スレ
ーブプロセッサは正常と判断し、前記タイマ値(T)が
零に達しても初期化診断の終了を認識できなかった場合
は、スレーブプロセッサの異常と判断して前記縮退処理
に移行させることを特徴とするマルチプロセッサシステ
ムの制御装置。 - 【請求項20】請求項19記載のマルチプロセッサシス
テムの制御装置に於いて、前記スレーブ異常判断手段
は、スレーブプロセッサ(10−2〜10−4)の初期
化処理の終了に基づく待ち状態への到達で対応ビットを
セットする前記共有部の待ち状態到達レジスタ手段(6
4)を参照して初期化診断の終了の有無を認識すること
を特徴するマルチプロセッサシステムの制御装置。 - 【請求項21】共有バス(18)と、 前記共有バス(18)を介して接続された複数のプロセ
ッサ(10−1〜10−4)と、 前記共有バス(18)に接続され、前記複数のプロセッ
サ(10−1〜10−4)に共通なプログラム情報を格
納したメモリユニット(14)と、を備え、前記複数の
プロセッサ手段(10−1〜10−4)の各々で前記メ
モリユニット(14)の同一のプログラム情報をフェッ
チして動作させることを特徴とするマルチプロセッサシ
ステム。 - 【請求項22】請求項21記載のマルチプロセッサシス
テムの制御装置に於いて、前記プロセッサ手段(10−
1〜10−4)の各々は、前記メモリユニット(14)
から一度フェッチしたプログラム情報を格納する命令キ
ャッシュ機構を備えたことを特徴とするマルチプロセッ
サシステムの制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6008482A JPH07219913A (ja) | 1994-01-28 | 1994-01-28 | マルチプロセッサシステムの制御方法及び装置 |
GB9501336A GB2286268B (en) | 1994-01-28 | 1995-01-24 | Multiprocessor system and its control method |
US08/995,000 US5951683A (en) | 1994-01-28 | 1997-12-19 | Multiprocessor system and its control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6008482A JPH07219913A (ja) | 1994-01-28 | 1994-01-28 | マルチプロセッサシステムの制御方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07219913A true JPH07219913A (ja) | 1995-08-18 |
Family
ID=11694333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6008482A Pending JPH07219913A (ja) | 1994-01-28 | 1994-01-28 | マルチプロセッサシステムの制御方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5951683A (ja) |
JP (1) | JPH07219913A (ja) |
GB (1) | GB2286268B (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09168283A (ja) * | 1995-12-14 | 1997-06-24 | Mitsubishi Electric Corp | インバータ装置 |
JPH09218862A (ja) * | 1996-02-14 | 1997-08-19 | Nec Corp | マルチプロセッサシステム |
JPH10207849A (ja) * | 1997-01-17 | 1998-08-07 | Nippon Telegr & Teleph Corp <Ntt> | 分散システムにおける高信頼化と負荷分散方法 |
JPH1165868A (ja) * | 1997-08-26 | 1999-03-09 | Nec Corp | 冗長化起動方式 |
JP2000076216A (ja) * | 1998-09-02 | 2000-03-14 | Nec Corp | マルチプロセッサシステム及びそのプロセッサ二重化方法並びにその制御プログラムを記録した記録媒体 |
JP2000347859A (ja) * | 1998-01-20 | 2000-12-15 | Internatl Business Mach Corp <Ibm> | パイプライン同期によりシステム・パフォーマンスを改善コンピュータ・システム |
JP2001014290A (ja) * | 1999-06-28 | 2001-01-19 | Fujitsu Ltd | マルチプロセッサシステム |
JP2001155002A (ja) * | 1999-11-30 | 2001-06-08 | Ntt Comware Corp | 監視対象決定装置およびその記録媒体 |
JP2004508616A (ja) * | 2000-06-20 | 2004-03-18 | テラスプリング・インコーポレーテッド | 拡張可能コンピューティングシステムの制御方法および装置 |
KR100450868B1 (ko) * | 2000-08-03 | 2004-10-01 | 인터내셔널 비지네스 머신즈 코포레이션 | 자원 복구를 통한 최적의 시스템의 가용성을 위한 방법 |
KR100487367B1 (ko) * | 2000-07-11 | 2005-05-03 | 엘지전자 주식회사 | Hldc 버스를 사용하는 통신 노드 네트워크 |
JP2008217191A (ja) * | 2007-03-01 | 2008-09-18 | Nec Corp | 障害処理方法、プログラム及び情報処理装置 |
US7461194B2 (en) | 2005-01-28 | 2008-12-02 | Fujitsu Limited | Apparatus for interconnecting a plurality of process nodes by serial bus |
JP2014081819A (ja) * | 2012-10-17 | 2014-05-08 | Renesas Electronics Corp | 情報処理装置 |
JP2017004554A (ja) * | 2016-08-24 | 2017-01-05 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19637312A1 (de) * | 1996-09-12 | 1998-03-19 | Bosch Gmbh Robert | Verfahren zur Kontrolle der Verbindungen eines Übertragungssystems und Komponente zur Durchführung des Verfahrens |
US6298376B1 (en) * | 1997-03-07 | 2001-10-02 | General Electric Company | Fault tolerant communication monitor for a master/slave system |
JP3247330B2 (ja) * | 1997-12-25 | 2002-01-15 | 株式会社神戸製鋼所 | 複数プロセッサシステム |
US6202067B1 (en) * | 1998-04-07 | 2001-03-13 | Lucent Technologies, Inc. | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system |
US6336185B1 (en) * | 1998-09-24 | 2002-01-01 | Phoenix Technologies Ltd. | Use of other processors during BIOS boot sequence to minimize boot time |
US6601165B2 (en) * | 1999-03-26 | 2003-07-29 | Hewlett-Packard Company | 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 |
US6779016B1 (en) | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
US8234650B1 (en) | 1999-08-23 | 2012-07-31 | Oracle America, Inc. | Approach for allocating resources to an apparatus |
US8179809B1 (en) | 1999-08-23 | 2012-05-15 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on suspendable resource requirements |
US6597956B1 (en) * | 1999-08-23 | 2003-07-22 | Terraspring, Inc. | Method and apparatus for controlling an extensible computing system |
US8019870B1 (en) | 1999-08-23 | 2011-09-13 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on alternative resource requirements |
US8032634B1 (en) | 1999-08-23 | 2011-10-04 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on resource requirements |
US7703102B1 (en) | 1999-08-23 | 2010-04-20 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on preemptable resource requirements |
US7103647B2 (en) * | 1999-08-23 | 2006-09-05 | Terraspring, Inc. | Symbolic definition of a computer system |
US7463648B1 (en) | 1999-08-23 | 2008-12-09 | Sun Microsystems, Inc. | Approach for allocating resources to an apparatus based on optional resource requirements |
FR2798755B1 (fr) * | 1999-09-16 | 2001-11-02 | Bull Sa | Systeme d'administration pour machines multimodulaires multiprocesseurs |
US7117397B1 (en) * | 1999-12-15 | 2006-10-03 | Fujitsu Limited | Apparatus and method for preventing an erroneous operation at the time of detection of a system failure |
US7213167B1 (en) * | 2000-01-18 | 2007-05-01 | Verso Technologies, Inc. | Redundant state machines in network elements |
US7093005B2 (en) * | 2000-02-11 | 2006-08-15 | Terraspring, Inc. | Graphical editor for defining and creating a computer system |
US6714980B1 (en) | 2000-02-11 | 2004-03-30 | Terraspring, Inc. | Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device |
US20020103889A1 (en) * | 2000-02-11 | 2002-08-01 | Thomas Markson | Virtual storage layer approach for dynamically associating computer storage with processing hosts |
US7146233B2 (en) * | 2000-02-11 | 2006-12-05 | Sun Microsystems, Inc. | Request queue management |
US7292897B2 (en) * | 2000-04-28 | 2007-11-06 | Hitachi, Ltd. | Multiplexing control system and multiplexing method therefor |
US7530070B1 (en) * | 2000-08-10 | 2009-05-05 | Agere Systems Inc. | Dynamically configurable architecture for mixed data processing |
US7113995B1 (en) | 2000-10-19 | 2006-09-26 | International Business Machines Corporation | Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system |
US6978300B1 (en) | 2000-10-19 | 2005-12-20 | International Business Machines Corporation | Method and apparatus to perform fabric management |
US7099955B1 (en) | 2000-10-19 | 2006-08-29 | International Business Machines Corporation | End node partitioning using LMC for a system area network |
US6990528B1 (en) | 2000-10-19 | 2006-01-24 | International Business Machines Corporation | System area network of end-to-end context via reliable datagram domains |
US6941350B1 (en) * | 2000-10-19 | 2005-09-06 | International Business Machines Corporation | Method and apparatus for reliably choosing a master network manager during initialization of a network computing system |
US7636772B1 (en) | 2000-10-19 | 2009-12-22 | International Business Machines Corporation | Method and apparatus for dynamic retention of system area network management information in non-volatile store |
US20020073257A1 (en) * | 2000-12-07 | 2002-06-13 | Ibm Corporation | Transferring foreign protocols across a system area network |
US20020080807A1 (en) * | 2000-12-22 | 2002-06-27 | Lind Carina Maria | Systems and methods for queue-responsible node designation and queue-handling in an IP network |
US6891805B2 (en) * | 2001-02-06 | 2005-05-10 | Telephonics Corporation | Communications system |
US6845467B1 (en) | 2001-02-13 | 2005-01-18 | Cisco Systems Canada Co. | System and method of operation of dual redundant controllers |
US7631064B1 (en) | 2001-04-13 | 2009-12-08 | Sun Microsystems, Inc. | Method and apparatus for determining interconnections of network devices |
US7228328B2 (en) * | 2001-05-31 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Multinode activation and termination method and system |
US7389332B1 (en) | 2001-09-07 | 2008-06-17 | Cisco Technology, Inc. | Method and apparatus for supporting communications between nodes operating in a master-slave configuration |
US7975016B2 (en) * | 2001-10-29 | 2011-07-05 | Oracle America, Inc. | Method to manage high availability equipments |
US7421478B1 (en) | 2002-03-07 | 2008-09-02 | Cisco Technology, Inc. | Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration |
US7017074B2 (en) * | 2002-03-12 | 2006-03-21 | Sun Microsystems, Inc. | System architecture providing redundant components to improve die yields and system reliability |
US7373487B2 (en) * | 2002-04-10 | 2008-05-13 | Alps Electric Co., Ltd | Controller with fail-safe function |
US7415535B1 (en) | 2002-04-22 | 2008-08-19 | Cisco Technology, Inc. | Virtual MAC address system and method |
US7165258B1 (en) | 2002-04-22 | 2007-01-16 | Cisco Technology, Inc. | SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks |
US7200610B1 (en) | 2002-04-22 | 2007-04-03 | Cisco Technology, Inc. | System and method for configuring fibre-channel devices |
US7433952B1 (en) | 2002-04-22 | 2008-10-07 | Cisco Technology, Inc. | System and method for interconnecting a storage area network |
US7587465B1 (en) * | 2002-04-22 | 2009-09-08 | Cisco Technology, Inc. | Method and apparatus for configuring nodes as masters or slaves |
US7188194B1 (en) * | 2002-04-22 | 2007-03-06 | Cisco Technology, Inc. | Session-based target/LUN mapping for a storage area network and associated method |
US7240098B1 (en) | 2002-05-09 | 2007-07-03 | Cisco Technology, Inc. | System, method, and software for a virtual host bus adapter in a storage-area network |
US7580370B2 (en) | 2002-06-21 | 2009-08-25 | International Business Machines Corporation | Method and structure for autoconfiguration of network destinations |
US7769839B2 (en) * | 2002-06-21 | 2010-08-03 | International Business Machines Corporation | Method and structure for autoconfiguration of overlay networks by automatic selection of a network designated router |
US20040030881A1 (en) * | 2002-08-08 | 2004-02-12 | International Business Machines Corp. | Method, system, and computer program product for improved reboot capability |
US7831736B1 (en) | 2003-02-27 | 2010-11-09 | Cisco Technology, Inc. | System and method for supporting VLANs in an iSCSI |
US7295572B1 (en) | 2003-03-26 | 2007-11-13 | Cisco Technology, Inc. | Storage router and method for routing IP datagrams between data path processors using a fibre channel switch |
US7904599B1 (en) | 2003-03-28 | 2011-03-08 | Cisco Technology, Inc. | Synchronization and auditing of zone configuration data in storage-area networks |
US7433300B1 (en) | 2003-03-28 | 2008-10-07 | Cisco Technology, Inc. | Synchronization of configuration data in storage-area networks |
US7526527B1 (en) | 2003-03-31 | 2009-04-28 | Cisco Technology, Inc. | Storage area network interconnect server |
JP4196333B2 (ja) * | 2003-05-27 | 2008-12-17 | 日本電気株式会社 | 並列処理システム及び並列処理プログラム |
US7451208B1 (en) | 2003-06-28 | 2008-11-11 | Cisco Technology, Inc. | Systems and methods for network address failover |
US7512679B2 (en) * | 2003-08-29 | 2009-03-31 | International Business Machines Corporation | Apparatus and method to select a captain from a plurality of control nodes |
US7734797B2 (en) * | 2004-03-29 | 2010-06-08 | Marvell International Ltd. | Inter-processor communication link with manageability port |
US7624163B2 (en) * | 2004-10-21 | 2009-11-24 | Apple Inc. | Automatic configuration information generation for distributed computing environment |
JP2007115223A (ja) * | 2005-09-20 | 2007-05-10 | Sharp Corp | プロセッサおよびマルチプロセッサ構成方法 |
US7472266B2 (en) * | 2005-12-30 | 2008-12-30 | Intel Corporation | Fault resilient boot in multi-processor systems |
US7526639B2 (en) * | 2006-02-13 | 2009-04-28 | International Business Machines Corporation | Method to enhance boot time using redundant service processors |
US20070245120A1 (en) * | 2006-04-14 | 2007-10-18 | Chang Jung L | Multiple microcontroller system, instruction, and instruction execution method for the same |
US8032791B2 (en) * | 2009-07-07 | 2011-10-04 | International Business Machines Corporation | Diagnosis of and response to failure at reset in a data processing system |
EP2509263B1 (en) * | 2009-12-02 | 2016-08-10 | Toyota Jidosha Kabushiki Kaisha | Data communication network system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT335202B (de) * | 1973-08-13 | 1977-02-25 | Ibm Oesterreich | Datenverarbeitungsanlage zur parallelen ausfuhrung von verarbeitungsoperationen |
US4648035A (en) * | 1982-12-06 | 1987-03-03 | Digital Equipment Corporation | Address conversion unit for multiprocessor system |
US4634110A (en) * | 1983-07-28 | 1987-01-06 | Harris Corporation | Fault detection and redundancy management system |
GB8328396D0 (en) * | 1983-10-24 | 1983-11-23 | British Telecomm | Multiprocessor system |
US5297260A (en) * | 1986-03-12 | 1994-03-22 | Hitachi, Ltd. | Processor having a plurality of CPUS with one CPU being normally connected to common bus |
JPH0778785B2 (ja) * | 1986-03-29 | 1995-08-23 | 株式会社東芝 | プロセッサ選択方法 |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
CA2027799A1 (en) * | 1989-11-03 | 1991-05-04 | David A. Miller | Method and apparatus for independently resetting processors and cache controllers in multiple processor systems |
JPH0425962A (ja) * | 1990-05-21 | 1992-01-29 | Nec Corp | マルチ中央処理装置による制御システム |
JP2760363B2 (ja) * | 1990-11-14 | 1998-05-28 | 株式会社ピーエフユー | 初期化処理装置 |
JPH04181438A (ja) * | 1990-11-16 | 1992-06-29 | Fujitsu Ltd | マルチプロセッサ制御方式 |
US5257372A (en) * | 1990-12-19 | 1993-10-26 | Cray Research, Inc. | Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system |
EP0591437B1 (en) * | 1991-06-26 | 1997-10-01 | AST RESEARCH, Inc. | Multiprocessor distributed initialization and self-test system |
US5408647A (en) * | 1992-10-02 | 1995-04-18 | Compaq Computer Corporation | Automatic logical CPU assignment of physical CPUs |
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-01-28 JP JP6008482A patent/JPH07219913A/ja active Pending
-
1995
- 1995-01-24 GB GB9501336A patent/GB2286268B/en not_active Expired - Fee Related
-
1997
- 1997-12-19 US US08/995,000 patent/US5951683A/en not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09168283A (ja) * | 1995-12-14 | 1997-06-24 | Mitsubishi Electric Corp | インバータ装置 |
JPH09218862A (ja) * | 1996-02-14 | 1997-08-19 | Nec Corp | マルチプロセッサシステム |
JPH10207849A (ja) * | 1997-01-17 | 1998-08-07 | Nippon Telegr & Teleph Corp <Ntt> | 分散システムにおける高信頼化と負荷分散方法 |
JPH1165868A (ja) * | 1997-08-26 | 1999-03-09 | Nec Corp | 冗長化起動方式 |
JP2000347859A (ja) * | 1998-01-20 | 2000-12-15 | Internatl Business Mach Corp <Ibm> | パイプライン同期によりシステム・パフォーマンスを改善コンピュータ・システム |
JP2000076216A (ja) * | 1998-09-02 | 2000-03-14 | Nec Corp | マルチプロセッサシステム及びそのプロセッサ二重化方法並びにその制御プログラムを記録した記録媒体 |
JP2001014290A (ja) * | 1999-06-28 | 2001-01-19 | Fujitsu Ltd | マルチプロセッサシステム |
JP2001155002A (ja) * | 1999-11-30 | 2001-06-08 | Ntt Comware Corp | 監視対象決定装置およびその記録媒体 |
JP2004508616A (ja) * | 2000-06-20 | 2004-03-18 | テラスプリング・インコーポレーテッド | 拡張可能コンピューティングシステムの制御方法および装置 |
JP4712279B2 (ja) * | 2000-06-20 | 2011-06-29 | テラスプリング・インコーポレーテッド | 拡張可能コンピューティングシステムの制御方法および装置 |
KR100487367B1 (ko) * | 2000-07-11 | 2005-05-03 | 엘지전자 주식회사 | Hldc 버스를 사용하는 통신 노드 네트워크 |
KR100450868B1 (ko) * | 2000-08-03 | 2004-10-01 | 인터내셔널 비지네스 머신즈 코포레이션 | 자원 복구를 통한 최적의 시스템의 가용성을 위한 방법 |
US7461194B2 (en) | 2005-01-28 | 2008-12-02 | Fujitsu Limited | Apparatus for interconnecting a plurality of process nodes by serial bus |
JP2008217191A (ja) * | 2007-03-01 | 2008-09-18 | Nec Corp | 障害処理方法、プログラム及び情報処理装置 |
JP2014081819A (ja) * | 2012-10-17 | 2014-05-08 | Renesas Electronics Corp | 情報処理装置 |
JP2017004554A (ja) * | 2016-08-24 | 2017-01-05 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
GB2286268A (en) | 1995-08-09 |
GB2286268B (en) | 1998-07-15 |
GB9501336D0 (en) | 1995-03-15 |
US5951683A (en) | 1999-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07219913A (ja) | マルチプロセッサシステムの制御方法及び装置 | |
US5384906A (en) | Method and apparatus for synchronizing a plurality of processors | |
US5327553A (en) | Fault-tolerant computer system with /CONFIG filesystem | |
US5317726A (en) | Multiple-processor computer system with asynchronous execution of identical code streams | |
US5146589A (en) | Refresh control for dynamic memory in multiple processor system | |
US5890003A (en) | Interrupts between asynchronously operating CPUs in fault tolerant computer system | |
EP0479230B1 (en) | Recovery method and apparatus for a pipelined processing unit of a multiprocessor system | |
JP3461825B2 (ja) | マルチプロセッサ分散型初期化および自己テストシステム | |
JP2641819B2 (ja) | キャッシュ・コントローラ並びにフォールト・トレラント・コンピュータ及びそのデータ転送方式 | |
US6934879B2 (en) | Method and apparatus for backing up and restoring data from nonvolatile memory | |
US7007192B2 (en) | Information processing system, and method and program for controlling the same | |
JP3447404B2 (ja) | マルチプロセッサシステム | |
EP0433979A2 (en) | Fault-tolerant computer system with/config filesystem | |
US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
RU2137182C1 (ru) | Выполнение инструкции обработки данных | |
US6725396B2 (en) | Identifying field replaceable units responsible for faults detected with processor timeouts utilizing IPL boot progress indicator status | |
EP0683456B1 (en) | Fault-tolerant computer system with online reintegration and shutdown/restart | |
US5146569A (en) | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension | |
KR19990057809A (ko) | 오류 방지 시스템 | |
KR100251046B1 (ko) | 대칭형 다중처리장치 시스템에 포스트를 확대 적용하기위한 방법 | |
JPH1027114A (ja) | エラー検出回路 | |
JPH06259269A (ja) | マルチプロセッサの診断回路 | |
JPH10161931A (ja) | キャッシュ装置の同期方法 | |
JP2000298619A (ja) | キャッシュメモリの障害処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20031007 |