(57)【要約】【課題】システム立ち上げ時に必ず運用継続を可能とすることができるマルチプロセッサシステムを実現する。【解決手段】システム立ち上げ時に前記複数のプロセッサのそれぞれが行った初期診断試験の結果を保持する構成レジスタを具備し、前記複数のプロセッサは、前記構成レジスタに保持されている初期診断試験の結果が正常であるプロセッサの中で、物理プロセッサ番号が最若番のプロセッサをブートストラッププロセッサとし、前記ブートストラッププロセッサは、エミュレーションで実現されるシステムの構成を定義する論理プロセッサ情報表にて、入出力制御用として定義されるプロセッサの中で物理プロセッサ番号が最若番のプロセッサに、自身の物理プロセッサ番号を割り当て、自身については無効とする。【選択図】図３
2007157060.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサを具備し、エミュレーションにより、各プロセッサが機能が異なるアーキテクチャのシステムを実現するマルチプロセッサシステムであって、
システム立ち上げ時に前記複数のプロセッサのそれぞれが行った初期診断試験の結果を保持する構成レジスタを具備し、
前記複数のプロセッサは、前記構成レジスタに保持されている初期診断試験の結果が正常であるプロセッサの中で、物理プロセッサ番号が最若番のプロセッサをブートストラッププロセッサとし、
前記ブートストラッププロセッサは、エミュレーションで実現されるシステムの構成を定義する論理プロセッサ情報表にて、入出力制御用として定義されるプロセッサの中で物理プロセッサ番号が最若番のプロセッサに、自身の物理プロセッサ番号を割り当て、自身については無効とすることを特徴とするマルチプロセッサシステム。
【請求項２】
複数のプロセッサを具備し、エミュレーションにより、各プロセッサが機能が異なるアーキテクチャのシステムを実現するマルチプロセッサシステムで行われる初期立ち上げ方法であって、
システム立ち上げ時に前記複数のプロセッサが、それぞれ初期診断試験を行うステップと、
前記初期診断試験の結果が正常であるプロセッサの中で、物理プロセッサ番号が最若番のプロセッサをブートストラッププロセッサとするステップと、
前記ブートストラッププロセッサが、エミュレーションで実現されるシステムの構成を定義する論理プロセッサ情報表にて、入出力制御用として定義されるプロセッサの中で物理プロセッサ番号が最若番のプロセッサに、自身の物理プロセッサ番号を割り当て、自身については無効とするステップと、を有することを特徴とするマルチプロセッサシステムの初期立ち上げ方法。
【請求項３】
請求項２記載の方法をコンピュータシステムに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるアーキテクチャのプロセッサ（ＣＰＵ：中央処理装置）をエミュレーションにより実現するマルチプロセッサシステムに関し、特に、マルチプロセッサシステム立ち上げ時の故障発生に対応した救済処理を可能とするマルチプロセッサシステムに関する。
【背景技術】
【０００２】
従来、複数のプロセッサを有するマルチプロセッサシステムにおいては、システムの立ち上げ時に故障したプロセッサが存在した場合、その故障したプロセッサを切り離して立ち上げていた。
【０００３】
上記のような故障したプロセッサを切り離すことによる性能低下を防止するための技術として、特許文献１（特開２０００−７６２１６号公報）には予備のプロセッサを複数予め設け、障害発生時にその予備のプロセッサへ切り替えるという技術が開示されている。
【０００４】
また、特許文献２（特開２０００−１８１８９０号公報）には、主プロセッサに故障が発生したときに、複数の従プロセッサの中から主プロセッサの機能を実行するに最適な従プロセッサを選択する技術が開示されている。
【０００５】
また、特許文献３（特開２００１−１４２９０号公報）には、各プロセッサのそれぞれにいずれかのプロセッサが故障した際に、故障していないプロセッサの中からシステム制御プロセッサを決定し、決定されたシステムプロセッサによりシステムを再開する手段を設けることが開示されている。
【特許文献１】特開２０００−７６２１６号公報
【特許文献２】特開２０００−１８１８９０号公報
【特許文献３】特開２００１−１４２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１ないし特許文献３のマルチプロセッサシステムのいずれにおいても、システムの立ち上げ時に故障したプロセッサが存在した場合、その故障したプロセッサを切り離して立ち上げていた。特許文献１に開示される技術では予備のプロセッサを複数予め設け、障害発生時にその予備のプロセッサへ切り替えられる。
【０００７】
また、特許文献２に開示される技術では、複数の従プロセッサの中から主プロセッサの機能を実行するに最適な従プロセッサが選択される。
【０００８】
特許文献３に開示される技術では、各プロセッサのそれぞれにいずれかのプロセッサが故障した際に、故障していないプロセッサの中からシステム制御プロセッサが決定されて使用される。
【０００９】
上記の特許文献に記載の技術のいずれにおいても、予め機能が限定された予備のプロセッサを主となるプロセッサとして用いることが行われているが、マルチプロセッサシステムでは、各プロセッサの機能は固有な機能とされることが多いため、各プロセッサの種類ごとに予備を設ける構成とするとシステムが冗長となるという問題点がある。
【００１０】
また、マルチプロセッサシステムを構成するプロセッサの機能のうち、入出力を制御する機能を備えるプロセッサはシステム制御する上で必須のものであり、このような必須の機能を有するプロセッサが機能しないと再立ち上げを行うことができず、システム運用継続は不可となり、特に重要である。
【００１１】
本発明は上述したような従来技術が有する問題点に鑑みてなされたものであって、確実な再立ち上げが行われるとともにシステムが冗長となることのないマルチプロセッサシステムを実現することを目的とする。
【００１２】
本発明の目的は、上記問題を解消し、システムに必須の機能を分担するプロセッサが故障しても次のシステム立ち上げ時に必ず運用継続を可能とすることができるマルチプロセッサシステムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明のマルチプロセッサシステムは、複数のプロセッサを具備し、エミュレーションにより、各プロセッサが機能が異なるアーキテクチャのシステムを実現するマルチプロセッサシステムであって、
システム立ち上げ時に前記複数のプロセッサのそれぞれが行った初期診断試験の結果を保持する構成レジスタを具備し、
前記複数のプロセッサは、前記構成レジスタに保持されている初期診断試験の結果が正常であるプロセッサの中で、物理プロセッサ番号が最若番のプロセッサをブートストラッププロセッサとし、
前記ブートストラッププロセッサは、エミュレーションで実現されるシステムの構成を定義する論理プロセッサ情報表にて、入出力制御用として定義されるプロセッサの中で物理プロセッサ番号が最若番のプロセッサに、自身の物理プロセッサ番号を割り当て、自身については無効とすることを特徴とする。
【００１４】
本発明のマルチプロセッサシステムの初期立ち上げ方法は、複数のプロセッサを具備し、エミュレーションにより、各プロセッサが機能が異なるアーキテクチャのシステムを実現するマルチプロセッサシステムで行われる初期立ち上げ方法であって、
システム立ち上げ時に前記複数のプロセッサが、それぞれ初期診断試験を行うステップと、
前記初期診断試験の結果が正常であるプロセッサの中で、物理プロセッサ番号が最若番のプロセッサをブートストラッププロセッサとするステップと、
前記ブートストラッププロセッサが、エミュレーションで実現されるシステムの構成を定義する論理プロセッサ情報表にて、入出力制御用として定義されるプロセッサの中で物理プロセッサ番号が最若番のプロセッサに、自身の物理プロセッサ番号を割り当て、自身については無効とするステップと、を有することを特徴とするマルチプロセッサシステムの初期立ち上げ方法。
【００１５】
本発明のプログラムは、上記の方法をコンピュータシステムに実行させる。
【００１６】
上記のように構成される本発明においては、初期診断試験の結果、正常とされたプロセッサが最初にブートストラッププロセッサとされる。ブートストラッププロセッサは、この後、入出力制御用と定義されたプロセッサに自身の物理プロセッサ番号を割り当てるので、以降は入出力制御用のプロセッサにより確実な立ち上げ処理が行われることとなる。
【発明の効果】
【００１７】
本発明による効果は、マルチプロセッサ上でエミュレーションにより異なるアーキテクチャのコンピュータを実現する場合、システムディスク等のシステムのコアとなるデバイスの入出力制御を行うプロセッサを常時構成する事を可能としてシステムが継続稼働出来ると言う効果がある。
【００１８】
その理由は、ベアのマルチプロセッサのＢＳＰ（ブートストラッププロセッサ）を上記入出力制御プロセッサに割り当てることにより常時該プロセッサを構成できる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
図１は、本発明の一実施の形態としてのマルチプロセッサシステムの構成を示すブロック図である。
【００２１】
図１に示すシステムは、ＣＰＵ（プロセッサ）１〜４と、チップセット５と、メモリ６と、ＩＤバス７と、ＣＰＵバス８から構成されている。
【００２２】
チップセット５は各ＣＰＵ１〜４、メモリ６、ＩＤバス７と、ＣＰＵバス８と接続している。
【００２３】
ＣＰＵ１〜４は、システムを構成するハードウェアとして物理的な識別番号が付与されたもので、ＣＰＵバス８を経由してチップセット５にその配下として接続され、チップセット５を介してメモリ６へのアクセスが可能とされ、また、ＩＯバス７を経由して周辺装置（不図示）へのアクセスが可能とされている。
【００２４】
ＣＰＵ１〜４のそれぞれには、システムにおいてユニークな識別番号９（物理ＩＤ＃０〜ＩＤ＃３）がチップセット５により分配されている。
【００２５】
チップセット５を構成する構成レジスタ５１は、システム立ち上げ時に行われる初期診断試験等の結果として異常が検出されたＣＰＵを記憶し、その有効／無効を記憶するレジスタである。
【００２６】
ＣＰＵ１〜４およびチップセット５はメモリ６に格納されたプログラムを実行する。このメモリ６としては、フロッピーディスク、ＣＤ−ＲＯＭ等の外部記憶媒体やＲＯＭ（リードオンリメモリ）が使用可能であり、本発明はメモリ６に格納されるプログラムを含む。
【００２７】
本発明はエミュレーションで実現されるコンピュータシステムである。各ＣＰＵ１〜４はエミュレーションにより、機能が異なるアーキテクチャのシステムを実現するものであり、チップセット５、メモリ６、およびＩＯバス７を介して接続される外部機器がエミュレータとして機能し、マルチプロセッサシステムの構成が決定される。
【００２８】
なお、以下の説明では、ＣＰＵ（プロセッサ）の識別番号として以下のものを用いる。
【００２９】
論理プロセッサ番号（０〜ｎ）：エミュレーションで実現されるコンピュータを構成するプロセッサの識別番号
物理プロセッサ番号（０〜ｍ）：図１に示されるハードウェアを構成する物理的なプロセッサの識別番号
識別番号９：物理プロセッサ番号を切り分ける為の信号で、物理プロセッサ番号と同じと考えてよいもの
物理ＩＤ：実際にコード化された物理プロセッサ番号を示すもので、内容は物理プロセッサ番号と同じ
以上、実施例の構成を述べたが、ＣＰＵ１〜４自体やチップセットの詳細は当業者にとってよく知られており、また、本発明とは直接関係しないので、その詳細な構成は省略する。
【００３０】
図３は本実施形態の動作を示すフローチャートであり、以下に、図３を参照して本実施形態の動作について説明する。
【００３１】
マルチプロセッサシステムは電源投入されると、最初に各プロセッサ（ＣＰＵ１〜４）のそれぞれが初期診断試験を開始し、その結果がＣＰＵバス８を介してチップセット５に送られ、チップセット５内の構成レジスタ５１に反映される（ステップＳ３１）。
【００３２】
構成レジスタ５１には、各プロセッサについて、初期診断結果が良好であれば「１」が設定され、異常あるいは設定するまで到達できない場合には「１」は設定されない。つまり、「１」が設定されたプロセッサは、存在し、異常のない正常なプロセッサであることを意味する。
【００３３】
次に、各プロセッサは、正常なプロセッサのうち、物理プロセッサ番号が最若番のプロセッサをＢＳＰ（ブートストラッププロセッサ）、つまり、第一のプロセッサとして決定する（ステップＳ３２）。図３に示す例では、物理プロセッサ番号が１のプロセッサ１（図１中のＣＰＵ１）がＢＳＰとして決定される。以降のステップＳ３３〜Ｓ３７は、プロセッサ１により行われる。
【００３４】
ＢＳＰとなったプロセッサ１は以降の初期設定処理のマスタとして動作し、以下の制御を行う。
【００３５】
まず、構成レジスタ５１の格納内容をチップセット５から取り込み、物理プロセッサ情報表を作成する（ステップＳ３３）。
【００３６】
物理プロセッサ情報表は、図２（ｂ）に示すように、物理プロセッサ番号０〜ｍに対して、有効（正常）かどうかの情報、ＢＳＰであるか否かの情報、物理ＩＤ等からなる。
【００３７】
物理プロセッサ情報表が生成され、その中のＢＳＰとなっている（ＢＳＰとなっているのは一つしかない）自身の物理ＩＤ（コード化された物理プロセッサ番号）を得る（ステップＳ３４）。
【００３８】
次に、初期の論理プロセッサ情報表を得る（ステップＳ３５）。論理プロセッサ情報表は、図２（ａ）に示すように、論理プロセッサ番号０〜ｎに対して、属性、論理ＩＤ、物理ＩＤ等からなる。
【００３９】
論理プロセッサ情報表はエミュレーションで実現されるコンピュータシステムの構成（障害等の無い初期の構成）を定義したもので、不図示の外部記憶装置あるいは内部記憶装置（フラッシュメモリ）等から取り込むことによって得られる。この論理プロセッサ情報表の初期値は、個々のプロセッサに予め決められた規定の構成を示している。
【００４０】
論理プロセッサ情報表に示される属性は、該プロセッサが演算処理プロセッサとして割り当てられたプロセッサか、あるいは入出力制御プロセッサとして割り当てられたプロセッサか等を表している。
【００４１】
ステップＳ３２にてＢＳＰと定められたプロセッサ１は、初期の論理プロセッサ情報表を得ると、これに示される属性が入出力制御プロセッサであるとともに物理ＩＤが示す物理プロセッサ番号が最若番のプロセッサを検索し、これにステップＳ３４にて得られた自身の物理ＩＤを割り当てる（ステップＳ３６）。
【００４２】
続いて、初期の論理プロセッサ情報表にて自身の物理ＩＤが割り当てられていた論理プロセッサ（自身）を無効として（ステップＳ３７）、終了する。
【００４３】
上記構成とすることにより、属性が入出力制御プロセッサで物理プロセッサ番号が最若番の論理プロセッサは、エミュレーションで実現するシステムのシステムディスク等、コアなデバイスの制御を行う。ＢＳＰである物理プロセッサは以上のとおり割り当て使用される。ＢＳＰは通常、物理プロセッサ番号が最若番のものであるが、プロセッサの故障により移動している可能性があり、この場合は新たにＢＳＰとなった物理プロセッサを初期値にて割り当てられていた論理プロセッサは有効表示が解除される。
【００４４】
以上により論理プロセッサ情報表の作成が完了し、エミュレーションで実現するマルチプロセッサの構成が決定し、以降論理プロセッサ構成表に従い各プロセッサの初期化が実施される。
【００４５】
なお、上記実施例では、新たにＢＳＰとなった物理プロセッサを元々使用する予定であった論理プロセッサの有効表示を解除して新たな構成を決定しているが、予め最若番の物理プロセッサ以降１以上の物理プロセッサを予備として確保し、初期の論理プロセッサ情報上で割り当てていなければ元々予定していた構成を縮小せず性能低下無しに新たな構成とするようにしてもよい。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施形態のハードウェア構成を示すブロック図である。
【図２】（ａ）は論理プロセッサ構成情報表の内容を示す図、（ｂ）は物理プロセッサ構成情報表の内容を示す図である。
【図３】本発明の一実施例の構成決定動作フローを示す。
【符号の説明】
【００４７】
１〜４  プロセッサ（ＣＰＵ）
５  チップセット
６  メモリ
７  ＩＯバス
８  ＣＰＵバス
９  プロセッサ個別専用線
５１  構成レジスタ
Ｓ３１〜Ｓ３７  処理ステップ
【図１】
2007157060.tif 000003
【図２】
2007157060.tif 000004
【図３】
2007157060.tif 000005