(57)【要約】【課題】  パッケージをまたいだメモリ初期化を行うことなく、初期化が必要な全てのメモリに対して初期化処理を行うことにより、メモリ初期化を高速化することができるようにする。【解決手段】  一般的に、各ＭＣＰ内のプロセッサから同一ＭＣＰ内の主記憶に対するアクセス時間と、あるＭＣＰ内のプロセッサから他のＭＣＰに実装された主記憶へのアクセス時間とでは、後者の方が時間を要する。よって、本実施形態では、メイン起動プロセッサ（Bootstrap-Processor）が各ＭＣＰ内に１つのサブ起動プロセッサ（Sub-Bootstrap-Processor）を選択して定義し、各ＭＣＰ配下の主記憶（ＭＭＵ）が当該ＭＣＰ内に定義されたメイン起動プロセッサまたはサブ起動プロセッサにより初期化処理されるものとする。【選択図】  図２
2006309332.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサと複数のメモリとを備えた計算機システムであって、
前記計算機システムの起動時に、プロセッサとメモリとが１パッケージ化されてなる各パッケージごとに、当該パッケージに含まれるＣＰＵが当該パッケージに含まれるメモリを初期化するよう構成されたことを特徴とする計算機システム。
【請求項２】
前記複数のプロセッサ中のメイン起動プロセッサは、当該メイン起動プロセッサが含まれるパッケージ以外の各パッケージに対して、当該パッケージに含まれるプロセッサの何れかをサブ起動プロセッサとして選択し、
選択されたサブ起動プロセッサは、起動要求を受けると、当該サブ起動プロセッサが含まれるパッケージに含まれているメモリを初期化し、他のパッケージに含まれているメモリの初期化を行わないことを特徴とする請求項１記載の計算機システム。
【請求項３】
前記メイン起動プロセッサが含まれるパッケージに対しては、当該パッケージに含まれるメモリを当該メイン起動プロセッサが初期化することを特徴とする請求項２記載の計算機システム。
【請求項４】
前記メイン起動プロセッサが含まれるパッケージに対しては、当該パッケージに含まれるメモリを初期化するサブ起動プロセッサを当該メイン起動プロセッサとは別に選択することを特徴とする請求項２記載の計算機システム。
【請求項５】
前記サブ起動プロセッサは、メモリの初期化が完了すると前記メイン起動プロセッサに完了通知を送信し、
前記メイン起動プロセッサは、該完了通知を受けた後、ＯＳ起動処理を実行することを特徴とする請求項２から４の何れか１項に記載の計算機システム。
【請求項６】
複数のプロセッサと複数のメモリとを備えたシステムにおけるメモリ初期化方法であって、
前記システムの起動処理として、プロセッサとメモリとが１パッケージ化されてなる各パッケージごとに、当該パッケージに含まれるＣＰＵが当該パッケージに含まれるメモリを初期化することを特徴とするメモリ初期化方法。
【請求項７】
前記複数のプロセッサ中のメイン起動プロセッサが、当該メイン起動プロセッサが含まれるパッケージ以外の各パッケージに対して、当該パッケージに含まれるプロセッサの何れかをサブ起動プロセッサとして選択するサブ起動プロセッサ選択工程と、
前記サブ起動プロセッサ選択工程で選択されたサブ起動プロセッサが、当該サブ起動プロセッサが含まれるパッケージに含まれているメモリを初期化する初期化工程とを備え、
前記初期化工程では、サブ起動プロセッサが、当該サブ起動プロセッサが含まれるパッケージ以外のパッケージに含まれているメモリの初期化を行わないことを特徴とする請求項６記載のメモリ初期化方法。
【請求項８】
前記サブ起動プロセッサ選択工程では、前記メイン起動プロセッサが含まれるパッケージに対しては当該メイン起動プロセッサ以外にサブ起動プロセッサを選択せず、
前記初期化工程では、当該パッケージに含まれるメモリを当該メイン起動プロセッサが初期化することを特徴とする請求項７記載のメモリ初期化方法。
【請求項９】
前記サブ起動プロセッサ選択工程では、前記メイン起動プロセッサが含まれるパッケージに対して、当該パッケージに含まれるメモリを初期化するサブ起動プロセッサを当該メイン起動プロセッサとは別に選択することを特徴とする請求項７記載のメモリ初期化方法。
【請求項１０】
前記初期化工程でメモリの初期化が完了した後、前記サブ起動プロセッサが前記メイン起動プロセッサに完了通知を送信する完了通知送信工程と、
前記メイン起動プロセッサが該完了通知を受けた後でＯＳ起動処理を実行するＯＳ起動工程とを備えたことを特徴とする請求項７から９の何れか１項に記載のメモリ初期化方法。
【請求項１１】
複数のプロセッサと複数のメモリとを備えた計算機システムのプログラムであって、
コンピュータに、
前記システムの起動処理の中で、プロセッサとメモリとが１パッケージ化されてなる各パッケージごとに、当該パッケージに含まれるＣＰＵが当該パッケージに含まれるメモリを初期化する初期化処理を実行させることを特徴とする計算機システムのプログラム。
【請求項１２】
前記複数のプロセッサ中のメイン起動プロセッサが、当該メイン起動プロセッサが含まれるパッケージ以外の各パッケージに対して、当該パッケージに含まれるプロセッサの何れかをサブ起動プロセッサとして選択するサブ起動プロセッサ選択処理を実行させ、
前記初期化処理では、前記サブ起動プロセッサ選択処理で選択されたサブ起動プロセッサが、当該サブ起動プロセッサが含まれるパッケージに含まれているメモリを初期化し、他のパッケージに含まれているメモリの初期化を行わないことを特徴とする請求項１１記載の計算機システムのプログラム。
【請求項１３】
前記サブ起動プロセッサ選択処理では、前記メイン起動プロセッサが含まれるパッケージに対しては当該メイン起動プロセッサ以外にサブ起動プロセッサを選択せず、
前記初期化処理では、当該パッケージに含まれるメモリを当該メイン起動プロセッサが初期化することを特徴とする請求項１２記載の計算機システムのプログラム。
【請求項１４】
前記サブ起動プロセッサ選択処理では、前記メイン起動プロセッサが含まれるパッケージに対して、当該パッケージに含まれるメモリを初期化するサブ起動プロセッサを当該メイン起動プロセッサとは別に選択することを特徴とする請求項１２記載の計算機システムのプログラム。
【請求項１５】
前記初期化処理でメモリの初期化が完了した後、前記サブ起動プロセッサが前記メイン起動プロセッサに完了通知を送信する完了通知送信処理と、
前記メイン起動プロセッサが該完了通知を受けた後でＯＳを起動させるＯＳ起動処理とを実行させることを特徴とする請求項１２から１４の何れか１項に記載の計算機システムのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサと複数のメモリとを備えたマルチプロセッサシステムの計算機システム、メモリ初期化方法、およびプログラムに関する。
【背景技術】
【０００２】
一般に、計算機システムでは主記憶にＤＲＡＭが使用されることが多い。しかし、このＤＲＡＭは電源投入時にデータを保証していないため、ＥＣＣメモリ（Error Check and Correct memory）等といった冗長コードも含めて計算機の起動時には初期化をする必要がある。
【０００３】
また、初期化を行う従来の技術として、ホストボードからのイニシャライズ指令により、複数のスレーブボードがイニシャライズ用のデータを生成し、回路のイニシャライズを行うものがある（例えば、特許文献１参照）。
【特許文献１】特開平２−６４８１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、大型サーバの主記憶容量は年々増加傾向にあり、こうした大容量メモリ搭載可能なサーバでは、電源投入時のメモリ初期化に時間がかかってしまう傾向にあった。
すなわち、上述した従来の計算機システムでは、対称型のマルチプロセッサシステムであっても何らかの手段で決定された１つのメイン起動プロセッサが全主記憶の初期処理を行っている。このように、大容量のメモリに対し、１つのプロセッサ処理能力で初期化処理を行っているため、システムの起動時間が遅くなってしまうという問題があった。
【０００５】
また、上述した特許文献１のものでは、複数のスレーブボードによりイニシャライズを分担するのみであり、プロセッサやメモリのパッケージへの実装状態に基づいて、パッケージをまたいだメモリ初期化処理を行わないようにすることについてまで考慮されたものではなかった。
すなわち、プロセッサやメモリが１パッケージ化されてなる各パッケージ内部でのメモリアクセスと、パッケージをまたいだメモリアクセスとでは、後者の方がメモリアクセスに時間がかかる。この時間差に着目してメモリ初期化を高速化することについてまで考慮されたものではなかった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、パッケージをまたいだメモリ初期化を行うことなく、初期化が必要な全てのメモリに対して初期化処理を行うことにより、メモリ初期化を高速化することができる計算機システム、メモリ初期化方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するために、本発明の第１の態様としての計算機システムは、複数のプロセッサと複数のメモリとを備えた計算機システムであって、計算機システムの起動時に、プロセッサとメモリとが１パッケージ化されてなる各パッケージごとに、当該パッケージに含まれるＣＰＵが当該パッケージに含まれるメモリを初期化するよう構成されたことを特徴とする。
【０００８】
上記した複数のプロセッサ中のメイン起動プロセッサは、当該メイン起動プロセッサが含まれるパッケージ以外の各パッケージに対して、当該パッケージに含まれるプロセッサの何れかをサブ起動プロセッサとして選択し、選択されたサブ起動プロセッサは、起動要求を受けると、当該サブ起動プロセッサが含まれるパッケージに含まれているメモリを初期化し、他のパッケージに含まれているメモリの初期化を行わないことが好ましい。
【０００９】
上記したメイン起動プロセッサが含まれるパッケージに対しては、当該パッケージに含まれるメモリを当該メイン起動プロセッサが初期化することが好ましい。
【００１０】
上記したメイン起動プロセッサが含まれるパッケージに対しては、当該パッケージに含まれるメモリを初期化するサブ起動プロセッサを当該メイン起動プロセッサとは別に選択することであってもよい。
【００１１】
上記したサブ起動プロセッサは、メモリの初期化が完了するとメイン起動プロセッサに完了通知を送信し、上記したメイン起動プロセッサは、該完了通知を受けた後、ＯＳ起動処理を実行することが好ましい。
【００１２】
また、本発明の第２の態様としてのメモリ初期化方法は、複数のプロセッサと複数のメモリとを備えたシステムにおけるメモリ初期化方法であって、システムの起動処理として、プロセッサとメモリとが１パッケージ化されてなる各パッケージごとに、当該パッケージに含まれるＣＰＵが当該パッケージに含まれるメモリを初期化することを特徴とする。
【００１３】
上記した複数のプロセッサ中のメイン起動プロセッサが、当該メイン起動プロセッサが含まれるパッケージ以外の各パッケージに対して、当該パッケージに含まれるプロセッサの何れかをサブ起動プロセッサとして選択するサブ起動プロセッサ選択工程と、サブ起動プロセッサ選択工程で選択されたサブ起動プロセッサが、当該サブ起動プロセッサが含まれるパッケージに含まれているメモリを初期化する初期化工程とを備え、上記した初期化工程では、サブ起動プロセッサが、当該サブ起動プロセッサが含まれるパッケージ以外のパッケージに含まれているメモリの初期化を行わないことが好ましい。
【００１４】
上記したサブ起動プロセッサ選択工程では、メイン起動プロセッサが含まれるパッケージに対しては当該メイン起動プロセッサ以外にサブ起動プロセッサを選択せず、上記した初期化工程では、当該パッケージに含まれるメモリを当該メイン起動プロセッサが初期化することが好ましい。
【００１５】
上記したサブ起動プロセッサ選択工程では、メイン起動プロセッサが含まれるパッケージに対して、当該パッケージに含まれるメモリを初期化するサブ起動プロセッサを当該メイン起動プロセッサとは別に選択することであってもよい。
【００１６】
上記した初期化工程でメモリの初期化が完了した後、サブ起動プロセッサがメイン起動プロセッサに完了通知を送信する完了通知送信工程と、メイン起動プロセッサが該完了通知を受けた後でＯＳ起動処理を実行するＯＳ起動工程とを備えたことが好ましい。
【００１７】
また、本発明の第３の態様としての計算機システムのプログラムは、複数のプロセッサと複数のメモリとを備えた計算機システムのプログラムであって、コンピュータに、システムの起動処理の中で、プロセッサとメモリとが１パッケージ化されてなる各パッケージごとに、当該パッケージに含まれるＣＰＵが当該パッケージに含まれるメモリを初期化する初期化処理を実行させることを特徴とする。
【００１８】
上記した複数のプロセッサ中のメイン起動プロセッサが、当該メイン起動プロセッサが含まれるパッケージ以外の各パッケージに対して、当該パッケージに含まれるプロセッサの何れかをサブ起動プロセッサとして選択するサブ起動プロセッサ選択処理を実行させ、上記した初期化処理では、サブ起動プロセッサ選択処理で選択されたサブ起動プロセッサが、当該サブ起動プロセッサが含まれるパッケージに含まれているメモリを初期化し、他のパッケージに含まれているメモリの初期化を行わないことが好ましい。
【００１９】
上記したサブ起動プロセッサ選択処理では、メイン起動プロセッサが含まれるパッケージに対しては当該メイン起動プロセッサ以外にサブ起動プロセッサを選択せず、上記した初期化処理では、当該パッケージに含まれるメモリを当該メイン起動プロセッサが初期化することが好ましい。
【００２０】
上記したサブ起動プロセッサ選択処理では、メイン起動プロセッサが含まれるパッケージに対して、当該パッケージに含まれるメモリを初期化するサブ起動プロセッサを当該メイン起動プロセッサとは別に選択することであってもよい。
【００２１】
上記した初期化処理でメモリの初期化が完了した後、サブ起動プロセッサがメイン起動プロセッサに完了通知を送信する完了通知送信処理と、メイン起動プロセッサが該完了通知を受けた後でＯＳを起動させるＯＳ起動処理とを実行させることが好ましい。
【発明の効果】
【００２２】
以上のように、本発明によれば、パッケージをまたいだメモリ初期化を行うことなく、初期化が必要な全てのメモリに対して初期化処理を行うことにより、メモリ初期化処理を高速化することができ、起動時間を短縮させることができる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明に係る計算機システム、メモリ初期化方法、およびプログラムをマルチプロセッサシステムに適用した一実施形態について、図面を用いて詳細に説明する。
本実施形態のマルチプロセッサシステムは、システム起動時におけるメモリ初期化処理をシステムの実装形式を考慮して行うことにより、初期化時間の短縮を図ることができる好適なものを例示している。
【００２４】
本発明の実施形態としてのマルチプロセッサシステム（１）は、図１に示すように、複数のプロセッサやメモリが１パッケージ化されたマルチチップパッケージ（以下、ＭＣＰ）としてＭＣＰ０〜３を備え、各ＭＣＰがＭＣＰ間接続（１００）を介して接続されて構成される。
【００２５】
各ＭＣＰの記憶部（メモリ）は、例えばＤＲＡＭなど、システム起動時に初期化を必要とするものが用いられている。このため、システム起動時には、全主記憶ユニット（ＭＭＵ００〜０２，ＭＭＵ１０〜１１，ＭＭＵ２０〜２２，ＭＭＵ３０〜３３）の初期化が行われる。
【００２６】
本実施形態としてのマルチプロセッサシステムでは、これらＭＭＵ（main memory unit）の初期化をプロセッサＣＰＵ００（１０１０），ＣＰＵ１０（２０１０），ＣＰＵ２０（３０１０），ＣＰＵ３０（４０１０）で並列して行うことにより、高速にメモリ初期化を行う。
このとき、前述の各ＣＰＵは、自分の所属するマルチチップパッケージ（以下、ＭＣＰ）配下のＭＭＵの初期化を担うものとする。これは、一般に同一ＭＣＰ内のメモリアクセスの方が、他のＭＣＰのメモリにアクセスするよりも高速に行えるためである。
本実施形態の図１に示す例では、ＣＰＵ１０（２０１０）は、ＭＭＵ１０（２０２０）、および、ＭＭＵ１１（２０２１）の初期化を担当することになる。
【００２７】
本実施形態のマルチプロセッサシステム（１）では、図１のように、マルチチップパッケージ（以下ＭＣＰ）の方式が採用され、複数個のプロセッサを搭載したパッケージ（１０，２０，３０，４０）の複数が互いに接続されることで、マルチプロセッサシステムが実現されている。
【００２８】
具体的には、マルチチップパッケージＭＣＰ０（１０）は、プロセッサをＣＰＵ００（１０１０），ＣＰＵ０１（１０１１），ＣＰＵ０２（１０１２），ＣＰＵ０３（１０１３）と４個搭載しており、また、主記憶をＭＭＵ００（１０２０），ＭＭＵ０１（１０２１），ＭＭＵ０２（１０２２）と３ユニット搭載している。そして、こうした複数のプロセッサと複数のＭＭＵとを備えたＭＣＰが、ＭＣＰ間接続機構（１００）で複数接続され、全体として本実施形態としてのマルチプロセッサシステムを構成している。
図１の例では４プロセッサ搭載のＭＣＰを４つ結合し、システム全体で１６プロセッサのマルチプロセッサシステムとなっている。
【００２９】
次に、本実施形態の動作について、図１を参照して詳細に説明する。
本実施形態では、メモリ初期化処理の時間を短縮するため、メモリクリア処理をメイン起動プロセッサのみでなく他プロセッサにも行わせるが、ここで、どのプロセッサがどこの主記憶領域を初期化するかが問題となる。
【００３０】
一般的に、図１のような計算機では、各ＭＣＰ内のプロセッサから同一ＭＣＰ内の主記憶に対するアクセス時間と、あるＭＣＰ内のプロセッサから他のＭＣＰに実装された主記憶へのアクセス時間とでは、後者の方が時間を要する。
【００３１】
よって、本実施形態では、メイン起動プロセッサ（Bootstrap-Processor）が各ＭＣＰ内に１つのサブ起動プロセッサ（Sub-Bootstrap-Processor）を選択して定義し、各ＭＣＰ配下の主記憶（ＭＭＵ）が当該ＭＣＰ内に定義されたメイン起動プロセッサまたはサブ起動プロセッサにより初期化処理されるものとする。
【００３２】
具体的に述べると、ＭＣＰ１（２０）に搭載されたＭＭＵ１０〜１１（２０２０，２０２１）は当該ＭＣＰ１（２０）のサブ起動プロセッサであるＣＰＵ１０（２０１０）によりメモリ初期化され、同様にＭＣＰ２（３０）ではＣＰＵ２０（３０１０）が、ＭＣＰ３（４０）ではＣＰＵ３０（４０１０）が、それぞれの含まれるＭＣＰ内のメモリ初期化を行う。
【００３３】
また、ＭＣＰ０（１０）に搭載されたＭＭＵ００〜０２（１０２０，１０２１，１０２２）は、当該ＭＣＰ０（１０）に含まれるメイン起動プロセッサであるＣＰＵ００（１０１０）によりメモリ初期化される。
換言すれば、メイン起動プロセッサが含まれるＭＣＰでは、メイン起動プロセッサ自身がサブ起動プロセッサの役割も兼ねる構成となっている。
【００３４】
こうした構成により、ＭＣＰ間をまたいだメモリクリア処理は行われなくなり、選択されたメイン起動プロセッサまたはサブ起動プロセッサがＭＣＰ内部でのメモリアクセスにより初期化処理を行うのみとなり、メモリ初期化時間を短縮することが可能となる。
【００３５】
この本実施形態としての動作を、図２のフローチャートを参照して、プロセッサの起動順序に沿って説明する。
図２の動作例では、メイン起動プロセッサとして選択されたプロセッサ例としてＣＰＵ００（１０１０）を挙げ、サブ起動プロセッサとして選択されたプロセッサ例としてＣＰＵ１０（２０１０）を挙げ、いずれとも選択されなかったプロセッサの例としてＣＰＵ１１（２０１１）を挙げている。
【００３６】
電源投入後（ステップＳ１０，Ｓ２０，Ｓ３０）、まず、対称型マルチプロセッサシステムにおいても、通常、ローダなどの処理を施すためにメイン起動プロセッサの選択は行われる（ステップＳ１１）。
このメイン起動プロセッサの選択は、本実施形態としてのマルチプロセッサシステムに含まれる何れか１つのプロセッサをメイン起動プロセッサとして定義するものであり、一般的にシステム上一意につけられたプロセッサＩＤの最若番であることが多い。
【００３７】
図１の構成例で、ＭＣＰ０上のＣＰＵ００（１０１０）がメイン起動プロセッサとして選択されたものとする。
他方、メイン起動プロセッサとして選ばれなかったプロセッサは、ブートランデブー待ちとなる（ステップＳ２１，Ｓ３１）。
【００３８】
次に、メイン起動プロセッサであるＣＰＵ００は、システムに含まれるプロセッサやメモリの実装状態をチェックする（ステップＳ１２）。これらの実装状態情報は、ＢＩＯＳから提供される情報や直接ハードウェアにアクセスすることにより得られる。
【００３９】
得られた情報に基づいて、メイン起動プロセッサは、各ＭＣＰ上の親となるひとつのプロセッサ、すなわち各ＭＣＰ内のＭＭＵ初期化を行う１つのプロセッサであるサブ起動プロセッサを選択し、起動要求を発信する（ステップＳ１３，Ｓ２３）。
このサブ起動プロセッサの選択は、メイン起動プロセッサが含まれるＭＣＰ以外の各ＭＣＰに含まれる何れか１つのプロセッサをサブ起動プロセッサとして定義するものであり、一般的には、各ＭＣＰの中でシステム上一意につけられたプロセッサＩＤの最若番であることが簡易的である。また、メイン起動プロセッサが含まれるＭＣＰについては、メイン起動プロセッサがサブ起動プロセッサの役割を兼任するため、新規のサブ起動プロセッサの定義は行わない。
【００４０】
起動要求を受けたサブ起動プロセッサは、自分の属するＭＣＰ配下のＭＭＵの初期化を行う（ステップＳ２４）。
初期化処理終了後、各サブ起動プロセッサは、メイン起動プロセッサに初期化処理完了通知を発行し（ステップＳ２５）、ＯＳ（Operating System）として起動をかけられるまで再びブートランデブー待ちに入る（ステップＳ２６）。
【００４１】
具体的には図１のＭＣＰ１を例にとると、ＣＰＵ１０がサブ起動プロセッサとして選択され、ＭＭＵ１０および、ＭＭＵ１１の初期化を完了させ、メイン起動プロセッサであるＣＰＵ００に対して初期化処理完了通知を発行する。完了通知を発行後は、再び、ＯＳとして起動のかかるまでブートランデブー待ち状態に入る。
【００４２】
一方、サブ起動プロセッサに起動をかけたメイン起動プロセッサは、自らの所属するＭＣＰ配下のメモリユニットの初期化を行う（ステップＳ１４）。すなわち、メイン起動プロセッサは、自らの所属するＭＣＰ内においてはサブ起動プロセッサの役割も兼任することとなり、図１の例で見ると、ＣＰＵ００がＭＭＵ００，ＭＭＵ０１，ＭＭＵ０２の初期化処理を担うこととなる。
【００４３】
自らの所属するＭＣＰ内での初期化処理を終えたメイン起動プロセッサは、処理分担をした各サブ起動プロセッサからの完了通知を確認する（ステップＳ１５）。完了通知が一定時間かえって来なかった場合には、別途エラー処理を行う。
【００４４】
全てのサブ起動プロセッサからのメモリ初期化完了通知を受理したら、通常のシステム立ち上げ処理を施し（ステップＳ１６）、全プロセッサ起動可能状態になったところで、全てのプロセッサに対してブートランデブー状態解除通知を発行し（ステップＳ１７）、通常のオペレーティングシステムによる立ち上げが行われる（ステップＳ２７，Ｓ３７）。なお、初期化処理を行わないＣＰＵ１１は、このとき初めて起動されることになる。
その後、通常のＯＳ動作状態に遷移する（ステップＳ８）。
【００４５】
以上のように、上述した実施形態のマルチプロセッサシステムによれば、ＭＣＰに搭載されたプロセッサやメモリの実装形式に応じてメモリ初期化処理を分散させることにより、プラットフォームのメモリアクセスレイテンシも考慮した高速メモリ初期化処理を実現することができる。
すなわち、各ＭＣＰに搭載されたプロセッサやメモリの実装形式に基づいて、ＭＣＰをまたいだメモリ初期化を行うことなく、ＭＣＰ内部でのメモリアクセスのみで初期化が必要な全てのメモリ（ＭＭＵ）に対して初期化処理を行うことができる。
このことにより、マルチプロセッサシステムに実装されたメモリが大容量であっても高速に初期化することができる。このため、システムの起動処理を高速化することができ、立ち上げ時間を短縮させることができる。
【００４６】
〔他の実施形態〕
次に、本発明の他の実施形態としてのマルチプロセッサシステムについて説明する。
上述した実施形態では、メイン起動プロセッサが他のＭＣＰ内のサブ起動プロセッサの起動と、完了通知確認と、自分の属するＭＣＰ０（１０）配下のメモリ初期化とを行っているが、ここで説明する他の実施形態の場合、メイン起動プロセッサの処理が複雑になることを避けるため、メイン起動プロセッサの役割を
〈１〉サブ起動プロセッサの起動、および、完了通知確認
〈２〉自分の属するＭＣＰ配下のメモリ初期化処理
に分割し、メイン起動プロセッサ処理の単純化を図るようにしている。
【００４７】
すなわち、ここで説明する他の実施形態では、メイン起動プロセッサが上記〈１〉の処理のみを担い、ＭＣＰ０（１０）内に対してもサブ起動プロセッサを選択して上記〈２〉の処理を担当させるようにしている。
このことにより、メモリ初期化処理とメイン起動プロセッサによる完了通知確認処理とが、ＭＣＰ０のみで特殊にならなくて済むようにすることができ、システムとしてシンプル化、簡単化させることができる。
【００４８】
この他の実施形態における動作を、図３のフローチャートを参照して説明する。上述した図２のフローチャートによる動作と同様の動作については、同符号とし、説明を省略する。
【００４９】
メイン起動プロセッサは、システムに含まれるプロセッサやメモリの実装状態情報を取得すると（ステップＳ１２）、得られた情報に基づいて、各ＭＣＰ上の親となるひとつのプロセッサ、すなわち各ＭＣＰ内のＭＭＵ初期化を行う１つのプロセッサであるサブ起動プロセッサを、メイン起動プロセッサが含まれるＭＣＰも含めた全てのＭＣＰについて選択し、選択されたサブ起動プロセッサに対して起動要求を発信する（ステップＳ４３，Ｓ５３）。
【００５０】
起動要求を受けたサブ起動プロセッサは、自分の属するＭＣＰ配下のＭＭＵの初期化を行う（ステップＳ５４）。
初期化処理終了後、各サブ起動プロセッサは、メイン起動プロセッサに初期化処理完了通知を発行し（ステップＳ５５）、ＯＳとして起動をかけられるまで再びブートランデブー待ちに入る（ステップＳ２６）。
【００５１】
また、本発明のさらに他の実施形態として、ＭＣＰ内のメモリを搭載プロセッサ数で分割し、搭載プロセッサそれぞれが上述した各実施形態におけるサブ起動プロセッサとして機能して、並列にメモリ初期化処理を行うこととしてもよい。
図１の例で示すと、ＭＭＵ３０，ＭＭＵ３１，ＭＭＵ３２，ＭＭＵ３３をＭＣＰ３上の４つのプロセッサで分割してクリアすることを意味する。
この場合にもＭＣＰ間をまたいだメモリクリア（初期化）は生じないようにすることができ、メモリ初期化をさらに高速化させることができる。
【００５２】
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
例えば、上述した各実施形態としてのマルチプロセッサシステムを実現するための処理手順をプログラムとして記録媒体に記録することにより、本発明の各実施形態による上述した各機能を、その記録媒体から供給されるプログラムによって、システムを構成するコンピュータのＣＰＵに処理を行わせて実現させることができる。
この場合、上記の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
すなわち、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体および該記録媒体から読み出された信号は本発明を構成することになる。
この記録媒体としては、例えば、フロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ等を用いてよい。
【００５３】
この本発明に係るプログラムによれば、当該プログラムによって制御される計算機システムに、上述した本発明に係る各実施形態としてのマルチプロセッサシステムにおける各機能を実現させることができる。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施形態としてのマルチプロセッサシステムの構成例を示す図である。
【図２】該マルチプロセッサシステムのメモリ初期化動作を示すフローチャートである。
【図３】他の実施形態としてのマルチプロセッサシステムにおけるメイン起動プロセッサを含むパッケージでのメモリ初期化動作を示すフローチャートである。
【符号の説明】
【００５５】
１    マルチプロセッサシステム
１０，２０，３０，４０    ＭＣＰ（マルチチップパッケージ）
１０１０〜１０１３，２０１０〜２０１３，３０１０〜３０１３，４０１０〜４０１３    ＣＰＵ（プロセッサ）
１０２０〜１０２２，２０２０〜２０２１，３０２０〜３０２２，４０２０〜４０２３    ＭＭＵ（メインメモリユニット）
【図１】
2006309332.tif 000003
【図２】
2006309332.tif 000004
【図３】
2006309332.tif 000005