JPH086914A - マルチプロセッサシステムにおける主記憶装置初期化方法 - Google Patents

マルチプロセッサシステムにおける主記憶装置初期化方法

Info

Publication number
JPH086914A
JPH086914A JP6135811A JP13581194A JPH086914A JP H086914 A JPH086914 A JP H086914A JP 6135811 A JP6135811 A JP 6135811A JP 13581194 A JP13581194 A JP 13581194A JP H086914 A JPH086914 A JP H086914A
Authority
JP
Japan
Prior art keywords
processor
main memory
processors
area
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
Application number
JP6135811A
Other languages
English (en)
Inventor
Ikuo Uchibori
郁夫 内堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP6135811A priority Critical patent/JPH086914A/ja
Publication of JPH086914A publication Critical patent/JPH086914A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】マルチプロセッサシステムの主記憶装置の初期
化処理を、システム構成を生かして各プロセッサで分担
して行うことができるようにする。 【構成】各プロセッサは電源投入時に自身のプロセッサ
ID、プロセッサ実装状態情報および主記憶実装容量情
報を読み込み、iをIDに設定した後(S1〜S4)、
主記憶装置MM上のアドレスi*BSIZEから始まる
サイズBSIZEのブロック(i)を初期化し、i値を
プロセッサ実装状態情報の示すプロセッサ数だけ加算し
た値に更新する(S5,S6)。更新後のi値とサイズ
BSIZEで決まるアドレスが主記憶実装容量情報の示
す主記憶実装容量の範囲内であるなら(S7)、各プロ
セッサはS5に戻って新たなブロック(i)を初期化
し、範囲内でないなら、マスタプロセッサであれば他の
初期化処理を行い(S8)、それ以外のプロセッサであ
ればマスタプロセッサからの起動指令を待つ(S9)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサが主
記憶装置を共有するマルチプロセッサシステムにおける
主記憶装置初期化方法に関する。
【0002】
【従来の技術】一般に、計算機システムの主記憶装置
は、DRAMと呼ばれる揮発性のメモリ素子で構成され
ることが多い。通常のDRAMでは、電源投入時のデー
タは保証されない。したがって、DRAM構成の主記憶
装置は、電源投入時には不定データが格納された状態に
ある。
【0003】一方、計算機システムの主記憶装置を構成
する場合に、メモリデータにECC等の冗長コードを付
加することにより、メモリデータの正当性をチェックす
る方法が知られている。こうした構成をとるシステムで
は、初期状態において、単にメモリデータが不定である
ばかりでなく、冗長コードも含め不定となっている。こ
のため主記憶装置の大部分は、そのまま読み出した場合
にメモリエラーとなる状態にある。こうした状態を解消
するために、主記憶装置の初期化が必要となる。
【0004】このようなDRAM構成の主記憶装置を持
つ計算機システムにおける電源投入初期のプロセッサの
動作(ブートストラップ動作)は、ブートROM等に格
納されたプログラム、或いはマイクロコードに依存する
のが一般的である。
【0005】他方、計算機システムの高速化の手法とし
て、主記憶装置を共有するマルチプロセッサ構成の計算
機システム(マルチプロセッサシステム)が知られてい
る。従来、この種のマルチプロセッサシステムのブート
ストラップ動作は、対称型のマルチプロセッサシステム
であっても、何らかの手段で決定されたマスタプロセッ
サのみが行うのが一般的であった。他のプロセッサは、
マスタプロセッサのブートストラップ動作の期間中待ち
状態にあり、その後マスタプロセッサからの指令を受け
て起動するようになっていた。通常、主記憶装置の初期
化処理(初期診断処理も含む)も、マスタプロセッサが
行っていた。
【0006】
【発明が解決しようとする課題】上記したように、従来
のマルチプロセッサシステムでは、主記憶装置の初期化
処理は単一のプロセッサによって行われていた。しかし
以前は、主記憶装置の容量が比較的少なかったことか
ら、主記憶装置の初期化処理に要する時間はそれ程多い
ものではなく、単一のプロセッサが行う主記憶初期化処
理に何ら問題はなかった。
【0007】ところが近年では、メモリ素子技術の発達
によりメモリのコスト低下が著しく、膨大な容量のメモ
リを実装することが可能になってきている。このため、
計算機システムの主記憶装置の容量も膨大なものとなっ
ており、主記憶装置の初期化に要する時間も増大してき
ている。特に制御用の計算機システムなどでは、信頼性
確保のために、単なる初期化だけでなく、主記憶装置の
初期診断や縮退を行うものもあるが、こうしたシステム
では、システムが立ち上がるまでに、膨大な時間を要す
ることになる。
【0008】このように主記憶装置の容量が膨大なもの
になってくると、たとえマルチプロセッサシステムであ
っても、主記憶装置の初期化処理が単一のプロセッサに
よって行われていたことから、初期化処理に膨大な時間
を要し、高速なシステム立ち上げが行えないという問題
があった。
【0009】この発明は上記事情を考慮してなされたも
のでその目的は、複数のプロセッサにより共有されるマ
ルチプロセッサシステムの主記憶装置の初期化処理を、
システム構成を生かして各プロセッサで分担して行うこ
とができ、もってシステム立ち上げに要する時間の短縮
が図れるマルチプロセッサシステムにおける主記憶装置
初期化方法を提供することにある。
【0010】
【課題を解決するための手段および作用】本発明の第1
の観点に係るマルチプロセッサシステムにおける主記憶
装置初期化方法は、主記憶装置の主記憶領域を複数の領
域に分割して、各領域をシステム内の各プロセッサに割
り当て、電源投入時には、各プロセッサが自身に割り当
てられた主記憶装置内の領域の初期化を行うことを特徴
とするものである。
【0011】上記構成の主記憶装置初期化方法におい
て、プロセッサ数と主記憶装置の容量が固定的に決まっ
ているマルチプロセッサシステムを想定すると、主記憶
領域の分割数と、各プロセッサへの各領域(分割領域)
の割り当ては予め固定的に決定される。ここで、ブート
ROMが各プロセッサに用意されているものとすると、
その内容もプロセッサ固有にすることで、電源投入時に
は、マスタプロセッサを含めた各々のプロセッサによ
り、自身が持つ当該ブートROMに従って、自身に割り
当てられた主記憶装置内の領域だけの初期化(と初期診
断処理)をさせることが可能となる。この割り当て領域
の初期化の後、マスタプロセッサはブートストラップ動
作を継続し、他のプロセッサは待ち状態となる。そし
て、マスタプロセッサのブートストラップ動作が終了し
たところで、マスタプロセッサから他の各プロセッサに
対して起動指令が発せられ、全プロセッサが起動する。
【0012】ここで、プロセッサ数をnとし、主記憶領
域をn台のプロセッサに理想的に配分できるならば、主
記憶装置の初期化に要する時間は、マスタプロセッサが
単独で初期化を行っていた従来システムに比べて、1/
nに短縮することが可能となる。
【0013】このように、上記の構成は、従来のマルチ
プロセッサシステムであればマスタプロセッサのブート
ストラップ動作中待ち状態にある他の各プロセッサに
も、主記憶装置の初期化については分担して行わせるよ
うにしたものである。
【0014】但し、各プロセッサのブートROMをプロ
セッサ固有の内容とするのは、一般的でない。他方、マ
ルチプロセッサシステムでは、各プロセッサに固有のプ
ロセッサ識別子(プロセッサID)が与えられているの
が一般的である。
【0015】そこで、本発明の第2の観点に係るマルチ
プロセッサシステムにおける主記憶装置初期化方法は、
主記憶装置の主記憶領域を複数の領域に分割して、各領
域を各プロセッサのプロセッサIDに割り当て、電源投
入時には、各プロセッサが自身のプロセッサIDを認識
して、そのプロセッサIDに割り当てられた主記憶装置
内の領域の初期化を行うことを特徴とするものである。
【0016】上記の構成においては、各プロセッサに用
意されるブートROMが同一内容(同一ブートルーチ
ン)であっても、或いは各プロセッサが共有するブート
ROMであっても、そのROM(に格納されているブー
トルーチン)中に、各プロセッサのIDと(初期化すべ
き)主記憶内の領域との対応を記述しておくことで、各
プロセッサは、自身のプロセッサIDに従って、そのプ
ロセッサIDに割当てられた主記憶装置内の領域を初期
化することが可能となる。
【0017】ところで、システムに実装可能な主記憶装
置の容量(主記憶容量)は可変となっていて、オプショ
ン等で増設できるようになっているものが多い。このよ
うなシステムでは、各プロセッサは、実装されている主
記憶容量を知る手段を持っている(実際の実装状態を判
別可能なものと、実際の状態とは独立に情報として外部
から設定されるものがある)が、主記憶容量(主記憶実
装容量)を認識できても、上記の構成は適用し難い。
【0018】そこで、本発明の第3の観点に係るマルチ
プロセッサシステムにおける主記憶装置初期化方法は、
電源投入時には、各プロセッサが自身のプロセッサID
および主記憶装置の実装容量を認識して、当該プロセッ
サIDおよび実装容量をもとに自律的に主記憶装置の主
記憶領域の配分を行い、自身に配分された領域の初期化
を行うことを特徴とするものである。
【0019】上記の構成においては、主記憶領域が、例
えばページングを行う際のページサイズ程度を単位とし
てブロック化され、これがプロセッサ数の剰余系を用い
て各プロセッサに配分される。例えば、プロセッサ数が
nのシステムにおけるプロセッサID=0のプロセッサ
であれば、ブロック番号が“0”,“n”,“2n”,
…のブロックが配分され、プロセッサID=1のプロセ
ッサであれば、ブロック番号が“1”,“n+1”,
“2n+1”,…のブロックが配分される。
【0020】各プロセッサは、自身のプロセッサIDお
よび実装されている主記憶容量を認識できるので、自身
に配分されるブロックを算出して、そのブロックを初期
化することが可能となる。
【0021】ところで、マルチプロセッサシステムに
は、上記の如く主記憶装置の実装容量が可変となってい
るだけでなく、システムに接続可能なプロセッサ数も可
変となっているものも多い。このようなシステムでは、
各プロセッサは、接続されているプロセッサ数、或いは
プロセッサID毎のプロセッサ接続状況を知る手段を持
っているのが一般的である(実際の接続状態を判別可能
なものと、実際の接続状態とは独立に情報として外部か
ら設定されるものがある)が、これだけでは、上記の構
成は適用し難い。
【0022】そこで、本発明の第4の観点に係るマルチ
プロセッサシステムにおける主記憶装置初期化方法は、
電源投入時には、システムに接続されている各プロセッ
サが、システムに接続されているプロセッサ数、自身の
プロセッサIDおよび主記憶装置の実装容量を認識し
て、当該プロセッサ数、プロセッサIDおよび実装容量
をもとに自律的に主記憶装置の主記憶領域の配分を行
い、自身に配分された領域の初期化を行うことを特徴と
するものである。
【0023】上記の構成において、電源投入時には、各
プロセッサは、従来より自身に用意されているプロセッ
サの接続状況を知る物理的手段により、システムに接続
されているプロセッサの数を認識する。もし、この種の
物理的手段が用意されていないプロセッサであっても、
主記憶装置の一部領域を先に初期化しておき、これを通
信領域として使用して、各プロセッサが例えば自身のプ
ロセッサIDを用いて相互に通信を行うことにより、論
理的にプロセッサの接続状況を認識することが可能とな
る。実際のプロセッサ数を認識することができれば、ブ
ロック化された主記憶領域が、プロセッサの数の剰余系
を用いて各プロセッサに配分される。各プロセッサは、
プロセッサ数、自身のプロセッサIDおよび実装されて
いる主記憶容量から自身に配分されるブロックを算出し
て、そのブロックを初期化することが可能となる。
【0024】
【実施例】図1は本発明の主記憶装置初期化方法を適用
するマルチプロセッサシステムの一実施例を示すブロッ
ク構成図である。図1のマルチプロセッサシステムは、
n台のプロセッサP0 〜Pn-1 と、主記憶装置MMと、
システムバスBと、主記憶制御装置MMCとを備えてい
る。
【0025】プロセッサP0 〜Pn-1 は、図示せぬプロ
セッサ接続スロットS0 〜Sn-1 を介してシステムバス
Bに接続されており、マルチプロセッサを構成する。こ
こで、スロットS0 〜Sn-1 は物理的に連続しているも
のとする。
【0026】プロセッサP0 〜Pn-1 は、それぞれ固有
のプロセッサID1-0〜1-n-1を有している。このプロ
セッサID1-0〜1-n-1の値(ID値)は、例えば0〜
n−1であり、連続しているものとする。
【0027】また、プロセッサP0 〜Pn-1 は、例えば
同一内容の(ブートルーチンが格納された)ブートRO
M(図示せず)を有している。本実施例において、シス
テムバスBに接続可能なプロセッサの台数は、プロセッ
サ接続スロット数の上限を越えない範囲で可変であるも
のとする。
【0028】主記憶装置MMは、システムバスBに接続
されたプロセッサ(P0 〜Pn-1 )により共有されるも
ので、その実装容量は増減可能なようになっている。シ
ステムバスBは、当該バスBに接続された各プロセッサ
(P0 〜Pn-1 )と主記憶装置MM(を制御する主記憶
制御装置MMC)との間のアドレスおよびデータの転送
に用いられる。
【0029】主記憶制御装置MMCは、システムバスB
に接続された各プロセッサ(P0 〜Pn-1 )から当該バ
スBを介して行われる主記憶装置MMへのアクセス動作
を制御するものである。主記憶制御装置MMCは、プロ
セッサの実装状態を示す情報(プロセッサ実装状態情
報)2と、主記憶装置MMの実装容量を示す情報(主記
憶実装容量情報)3を保持している。プロセッサ実装状
態情報2および主記憶実装容量情報3は、システムバス
Bに接続されている各プロセッサ(P0 〜Pn-1)から
読み出し可能なようになっている。
【0030】次に、図1の構成のマルチプロセッサシス
テムにおけるシステム電源投入時の動作を、図2のフロ
ーチャートを参照して説明する。まず、システム電源が
投入されると、システムバスBに接続されているプロセ
ッサP0 〜Pn-1 は、自身が有するブートROMに従う
ブートストラップ動作を開始する。
【0031】ここで、各プロセッサP0 〜Pn-1 の有す
るブートROMは同一内容であるが、マスタプロセッサ
とそれ以外のプロセッサとでは、異なるブートストラッ
プ動作を行うように構成されている。そのため、各プロ
セッサP0 〜Pn-1 は、自身がマスタプロセッサである
か否かを調べる必要がある。本実施例では、先頭のプロ
セッサ接続スロットS0 (図示せず)に接続されている
プロセッサがマスタプロセッサとなるように予め定めら
れているものとする。
【0032】そこでプロセッサP0 〜Pn-1 は、自身が
プロセッサ接続スロットS0 に接続されているか否かを
調べ、ブートストラップ動作においてマスタプロセッサ
として動作すべきか否かを判断する。ここでは、プロセ
ッサP0 がプロセッサ接続スロットS0 に接続されてい
ることから、プロセッサP0 がマスタプロセッサとな
る。なお、特定のプロセッサID、例えば値が“0”の
プロセッサIDを持つプロセッサがマスタプロセッサと
なるものであっても構わない。
【0033】さて、マスタプロセッサであるプロセッサ
P0 は、自身が有するブートROMに従い、図2(a)
のフローチャートに示すブートストラップ動作を開始す
る。一方、他のプロセッサP1 〜Pn-1 は、自身が有す
るブートROMに従い、図2(b)のフローチャートに
示すブートストラップ動作を開始する。このブートスト
ラップ動作は、主記憶装置MM内の領域の初期化処理に
ついては、マスタプロセッサと、その他のプロセッサ
(マスタプロセッサでないプロセッサ)とで、同一手順
となる。
【0034】各プロセッサP0 〜Pn-1 による主記憶装
置MM内の領域の初期化処理は、主記憶装置MMの主記
憶領域を図3に示すようにN個のブロック(0)〜(N
−1)に分割して、そのブロックを単位に行われるよう
になっている。各ブロック(0)〜(N−1)は、ブロ
ック番号0〜N−1により指定されるものとする。
【0035】ここで、各ブロックのサイズをBSIZE
とすると、このBSIZEは、主記憶装置MMの増設容
量単位以下であって、主記憶装置MMがどのような実装
状態であってもNで割り切れる値に、固定的に決められ
ている。BSIZEの具体例としては、ページングを行
う際のページサイズ(例えば4KB程度)である。ま
た、Nの値は、BSIZE*N≦(主記憶実装容量情報
3の示す)主記憶実装容量を満たす最大の自然数であ
る。
【0036】さて、プロセッサP0 〜Pn-1 はまず、図
2(a)または図2(b)のフローチャートに従い、自
身のプロセッサID1-0〜1-n-1(IDの値は0〜n−
1)を読み出す(ステップS1)。ここで、プロセッサ
ID1-0〜1-n-1は、スイッチ(DIPスイッチ)、或
いはEEPROM(電気的消去可能なプログラマブルR
OM)に代表される書き換え可能な不揮発性メモリを用
いて与えることが可能である。また、プロセッサP0 〜
Pn-1 が接続されているプロセッサ接続スロットS0 〜
Sn-1 (物理的なスロットの位置)により、プロセッサ
IDが自動的に決定されるものであっても構わない。
【0037】プロセッサP0 〜Pn-1 は更に、主記憶制
御装置MMC内に保持されているプロセッサ実装状態情
報2および主記憶実装容量情報3を読み出す(ステップ
S2,S3)。これらの情報2,3は、それぞれプロセ
ッサ(P0 〜Pn-1 )、主記憶装置MMの物理的な実装
状態により自動的に決定されるものであっても、上記の
プロセッサID同様にスイッチ等により与えられるもの
であっても構わない。
【0038】次に各プロセッサPk (k=0〜n−1)
は、まず自身のプロセッサID、即ちプロセッサID1
-k(=k)を、ブロック番号iとして設定する(ステッ
プS4)。続いて各プロセッサPk は、そのブロック番
号iで指定される、主記憶装置MMの主記憶領域内のブ
ロック(i)の初期化(初期診断処理を含む)を行う
(ステップS5)。更に具体的に述べるならば、プロセ
ッサPk はステップS5において、アドレスi*BSI
ZEから始まる1ブロック分(サイズBSIZE)の主
記憶装置MM内領域の初期化を行う。
【0039】各プロセッサPk は、1ブロック分の初期
化を完了すると、ブロック番号iをプロセッサ実装状態
情報2の示すプロセッサ数(ここではn)だけ加算した
値、即ちi=i+n)に更新する(ステップS6)。そ
して、更新後のブロック番号iとブロックサイズBSI
ZEで決まるアドレス(i*BSIZE)が、(ステッ
プS3で読み込んだ)主記憶実装容量情報3の示す主記
憶実装容量の範囲内であるならば(ステップS7)、プ
ロセッサPk は、ステップS5に戻って、そのアドレス
(i*BSIZE)から始まる新たなブロック(i)を
初期化する。
【0040】このように、各プロセッサPk は、自身の
プロセッサIDの値をブロック番号iの初期値として、
ブロック(i)の初期化を行った後は、その都度、i=
i+nとしてアドレス(i*BSIZE)から始まる新
たなブロック(i)を初期化する動作を、アドレス(i
*BSIZE)が主記憶実装容量の範囲内にある限り繰
り返す。
【0041】以上のような論理で各プロセッサPk 、即
ちプロセッサP0 〜Pn-1 が初期化を行うことにより、
主記憶装置MMの主記憶領域の初期化は、図3に示した
ように各プロセッサP0 〜Pn-1 が分担することにな
る。
【0042】さて、プロセッサPk は、上記したような
1ブロック単位の初期化を繰り返した結果、ステップS
6で更新された新たなブロック番号iとブロックサイズ
BSIZEで決まるアドレス(i*BSIZE)が主記
憶実装容量の範囲外となると、主記憶装置MMの初期化
完了を判断する(ステップS7)。
【0043】この場合、プロセッサPk は、自身がマス
タプロセッサであるならば、ブートストラップ動作を継
続する。これに対し、自身がマスタプロセッサでないな
らば、そのプロセッサPk は、マスタプロセッサによる
ブートストラップ動作の完了に従う起動指令を待つ。
【0044】したがって、プロセッサP0 がマスタプロ
セッサ、プロセッサP1 〜Pn-1 がその他のプロセッサ
である本実施例では、プロセッサP0 は、ステップS7
で主記憶装置MMの初期化完了を判断すると、ブートス
トラップ動作を継続して、その他の初期化処理(主記憶
初期化以外の初期化処理)を行う(ステップS8)。一
方、他のプロセッサP1 〜Pn-1 は、ステップS7で主
記憶装置MMの初期化完了を判断すると、待ち状態に入
り、プロセッサP0 からの起動指令を待つ(ステップS
9)。
【0045】その後、プロセッサP0 がステップS8で
の初期化処理(その他の初期化処理)を完了すると、ブ
ートストラップ動作の最後で、他のプロセッサP1 〜P
n-1に対して起動指令を発する(ステップS10)。
【0046】これを受けて、プロセッサP1 〜Pn-1 は
一斉に起動する。同時に、起動指令を発したプロセッサ
P0 も起動する。以上に述べたように、主記憶装置MM
の初期化を全プロセッサP0 〜Pn-1 で分担して行うこ
とにより、図4(a)に示すようにマスタプロセッサで
あるプロセッサP0 が全て主記憶初期化処理を行うこと
になる従来システムに比べて、図4(b)に示すよう
に、主記憶装置MM自体の初期化に要する時間はほぼ1
/nに短縮される。この結果、ブートストラップ動作全
体に要する時間も短縮される。
【0047】なお、以上の説明では、電源投入時におけ
るブートストラップ動作について、マスタプロセッサP
0 とそれ以外のプロセッサP1 〜Pn-1 の動作の違いを
理解しやすくするために、図2(a),(b)に示すよ
うに、それぞれ別のフローチャートを用いたが、実際に
は、各プロセッサP0 〜Pn-1 の持つブートROMは同
一内容であり、各プロセッサP0 〜Pn-1 は同一のフロ
ーチャートに従ってブートストラップ動作を行う。即
ち、各プロセッサP0 〜Pn-1 は、主記憶実装容量と自
身のプロセッサIDをもとに自動決定される主記憶装置
MM内領域の初期化処理を全て完了すると(ステップS
7)、前記した論理により自身がマスタプロセッサであ
るか否かを判断し、マスタプロセッサであればステップ
S8の処理(その他の初期化処理)に進み、マスタプロ
セッサでなければステップS9のマスタプロセッサから
の起動指令待ち状態に進む。したがって各プロセッサP
0 〜Pn-1 は、自身がマスタプロセッサであるか否か
を、前記したようにブートストラップ動作を開始する際
に判断する必要はない。
【0048】なお、上記のブートROMを各プロセッサ
P0 〜Pn-1 が個々に持つ必要はなく、共有使用するよ
うにしても構わない。以上は、システムバスBに接続可
能なプロセッサの台数が、プロセッサ接続スロット数の
上限を越えない範囲で可変である場合について説明し
た。
【0049】次に、図1のシステムがプロセッサ数固
定、主記憶実装容量可変であるものとした場合につい
て、図5のフローチャートを参照して説明する。なお、
この例では、プロセッサ数がプロセッサP0 〜P3 の4
台に固定され、プロセッサP0 がマスタプロセッサであ
るものとする。また、プロセッサP0 〜P3 のプロセッ
サID(プロセッサID1-0〜1-3)の値は0〜3であ
り、連続しているものとする。ここでは、プロセッサ数
固定であることから、主記憶制御装置MMC内のプロセ
ッサ実装状態情報2は必ずしも必要でない。
【0050】まず、システム電源が投入されると、プロ
セッサP0 〜P3 は、図5(a)または図5(b)のフ
ローチャートに従い、自身のプロセッサID1-0〜1-3
を読み出すと共に、主記憶実装容量情報3を読み出す
(ステップS1,S3)。図2のフローチャートとの違
いは、プロセッサ実装状態情報2の読み出しがないこと
である。
【0051】次にプロセッサP0 〜P3 は、自身のプロ
セッサIDをブロック番号iとして設定した後、そのブ
ロック番号iで指定される、主記憶装置MMの主記憶領
域内のブロック(i)の初期化を行う(ステップS4,
S5)。
【0052】プロセッサP0 〜P3 は、ブロック(i)
の初期化を完了すると、ブロック番号iを固定値である
プロセッサ数4(この値4はブートROM中に固定的に
記述されている)だけ加算した値、即ちi=i+4に更
新する(ステップS6′)。
【0053】もし、更新後のブロック番号iとブロック
サイズBSIZEで決まるアドレス(i*BSIZE)
が、(ステップS3で読み込んだ)主記憶実装容量情報
3の示す主記憶実装容量の範囲内であるならば(ステッ
プS7)、プロセッサP0 〜P3 はステップS5に戻っ
て、そのアドレス(i*BSIZE)から始まる新たな
ブロック(i)を初期化する。
【0054】一方、更新後のブロック番号iとブロック
サイズBSIZEで決まるアドレス(i*BSIZE)
が主記憶実装容量の範囲外であるならば、プロセッサP
0 〜P3 は自身がマスタプロセッサであるか否かを判断
する。以降の動作は、前記したプロセッサ数が可変の場
合(におけるマスタプロセッサとそれ以外のプロセッサ
の動作と)と同様である。
【0055】次に、図1のシステムがプロセッサ数固定
で且つ主記憶実装容量固定であるものとした場合につい
て、図6のフローチャートおよび図7の主記憶初期化領
域割り当てマップを参照して説明する。なお、この例で
は、プロセッサ数がプロセッサP0 〜P3 の4台に固定
され、プロセッサP0 がマスタプロセッサであるものと
する。ここでは、プロセッサ数固定、主記憶実装容量固
定であることから、主記憶制御装置MMC内のプロセッ
サ実装状態情報2および主記憶実装容量情報3は必ずし
も必要でない。
【0056】まず、システム電源が投入されると、プロ
セッサPk (k=0〜3)は、自身が有するブートRO
Mに従って、図6のフローチャートに示すブートストラ
ップ動作を開始し、自身のプロセッサID1-kを読み出
す(ステップS11)。
【0057】次にプロセッサPk は、読み出したプロセ
ッサID1-kの値がID=0〜ID=3のいずれである
かを調べる(ステップS12)。そしてプロセッサPk
は、自身のプロセッサID1-kのID値k(ID=k)
に応じて、そのID値kに割り当てられている主記憶装
置MM内領域を初期化する。
【0058】ここで、主記憶装置MMの主記憶領域は、
図7に示すように、プロセッサ数分の領域、即ち4つの
領域A0 〜A3 に分割され、各領域A0 〜A3 はそれぞ
れID=0〜ID=3に割り当てられている。ここで領
域A0 〜A3 は、主記憶初期化に要する時間をより少な
くする点で、同一サイズであることが望ましい。また、
主記憶実装容量の関係で同一サイズの領域A0 〜A3 に
分割できない場合には、各領域A0 〜A3 を極力同一サ
イズに近付けることが好ましい。
【0059】プロセッサPk は、上記ステップS12で
自身のプロセッサID1-kのID値がk(ID=k)で
あることを検出すると、主記憶装置MM内の領域Ak を
初期化する処理を行う。即ち、各プロセッサP0 〜P3
は、図7に示すように、自身のプロセッサIDに割り当
てられている主記憶装置MM内領域A0 〜A3 を初期化
する(ステップS20〜S23)。
【0060】以降の動作は、前記したプロセッサ数と主
記憶実装容量とが可変の場合における主記憶初期化完了
後の動作と同様である。即ちプロセッサP0 〜P3 は、
まず自身がマスタプロセッサであるか否かを判断し、マ
スタプロセッサであればブートストラップ動作を継続し
て主記憶初期化処理以外の初期化処理を行い、マスタプ
ロセッサでなければマスタプロセッサからの起動指令待
ちとなる。
【0061】なお、プロセッサ数固定、主記憶実装容量
固定の場合に、上記のように主記憶装置MMの各分割領
域をプロセッサIDに割り当てる代わりに、プロセッサ
自体に割り当てるようにしても構わない。但し、この場
合、各プロセッサP0 〜P3は、それぞれ固有の内容の
ブートROMを持ち、そのブートROMにしたがって固
有の主記憶初期化処理(ブートストラップ動作)を行う
必要がある。この動作を、プロセッサP0 〜P3 のうち
のマスタプロセッサP0 とそれ以外のプロセッサP1 を
例に、図8のフローチャートおよび図9の主記憶初期化
領域割り当てマップを参照して説明する。
【0062】まず、主記憶装置MMの主記憶領域は、図
9に示すように、プロセッサ数分の領域、即ち4つの領
域A0 〜A3 に分割され、各領域A0 〜A3 はそれぞれ
プロセッサP0 〜P3 に割り当てられているものとす
る。
【0063】ここで、システム電源が投入されると、プ
ロセッサP0 ,P1 は、自身が有する固有のブートRO
Mに従って、図8(a),(b)のフローチャートに示
すブートストラップ動作を開始し、主記憶装置MM内の
領域A0 ,A1 を初期化する(ステップS30,S3
1)。以降の動作は、前記したプロセッサ数と主記憶実
装容量とが可変の場合における主記憶初期化完了後の動
作と同様である。また、プロセッサP2 ,P3 の動作
は、(主記憶装置MM内の領域A1 ではなくて)領域A
2 ,A3 を初期化する点を除いて、プロセッサP1 と同
様である。なお、この例では、各プロセッサP0 〜P3
は固有のブートROMを有していることから、マスタプ
ロセッサを固定しておくならば、マスタプロセッサであ
るか否かの判断は必ずしも必要ない。
【0064】
【発明の効果】以上詳述したようにこの発明の第1の観
点に係るマルチプロセッサシステムにおける主記憶装置
初期化方法によれば、主記憶装置の主記憶領域を複数の
領域に分割して、各領域をシステム内の各プロセッサに
割り当て、電源投入時には、各プロセッサが自身に割り
当てられた主記憶装置内の領域の初期化を行う構成とす
ることにより、主記憶装置の初期化処理を、システム構
成を生かして各プロセッサで分担して行うことができ、
この結果、システム立ち上げに要する時間の短縮が図れ
る。
【0065】また、この発明の第2の観点に係るマルチ
プロセッサシステムにおける主記憶装置初期化方法によ
れば、主記憶装置の主記憶領域を複数の領域に分割し
て、各領域を各プロセッサのプロセッサIDに割り当
て、電源投入時には、各プロセッサが自身のプロセッサ
IDを認識して、そのプロセッサIDに割り当てられた
主記憶装置内の領域の初期化を行う構成とすることによ
り、各プロセッサに用意されるブートROMが同一内容
(同一ブートルーチン)であっても、或いは各プロセッ
サが共有するブートROMであっても、主記憶装置の初
期化処理を各プロセッサで分担して行うことができる。
【0066】また、この発明の第3の観点に係るマルチ
プロセッサシステムにおける主記憶装置初期化方法によ
れば、電源投入時には、各プロセッサが自身のプロセッ
サIDおよび主記憶装置の実装容量を認識して、当該プ
ロセッサIDおよび実装容量をもとに自律的に主記憶装
置の主記憶領域の配分を行い、自身に配分された領域の
初期化を行う構成とすることにより、主記憶実装容量が
可変であり、更に各プロセッサに用意されるブートRO
Mが同一内容(同一ブートルーチン)であっても、或い
は各プロセッサが共有するブートROMであっても、主
記憶装置の初期化処理を各プロセッサで分担して行うこ
とができる。
【0067】また、この発明の第4の観点に係るマルチ
プロセッサシステムにおける主記憶装置初期化方法によ
れば、電源投入時には、システムに接続されている各プ
ロセッサが、システムに接続されているプロセッサ数、
自身のプロセッサIDおよび主記憶装置の実装容量を認
識して、当該プロセッサ数、プロセッサIDおよび実装
容量をもとに自律的に主記憶装置の主記憶領域の配分を
行い、自身に配分された領域の初期化を行う構成とする
ことにより、プロセッサ数および主記憶実装容量がいず
れも可変であり、更に各プロセッサに用意されるブート
ROMが同一内容(同一ブートルーチン)であっても、
或いは各プロセッサが共有するブートROMであって
も、主記憶装置の初期化処理を各プロセッサで分担して
行うことができる。
【図面の簡単な説明】
【図1】本発明の主記憶装置初期化方法を適用するマル
チプロセッサシステムの一実施例を示すブロック構成
図。
【図2】図1の構成のマルチプロセッサシステムにおけ
るシステム電源投入時の動作を、プロセッサ数および主
記憶実装容量が可変である場合について説明するための
フローチャート。
【図3】主記憶装置MMの主記憶領域が各プロセッサP
0 〜Pn-1 によりブロック単位で初期化される様子を説
明するための図。
【図4】図2のフローチャートに従って行われる(主記
憶初期化処理を含む)ブートストラップ動作を、従来シ
ステムと対比して示すタイミングチャート。
【図5】図1の構成のマルチプロセッサシステムにおけ
るシステム電源投入時の動作を、プロセッサ数固定、主
記憶実装容量可変である場合について説明するためのフ
ローチャート。
【図6】図1の構成のマルチプロセッサシステムにおけ
るシステム電源投入時の動作を、プロセッサ数が4台に
固定され、且つ主記憶実装容量も固定である場合につい
て説明するためのフローチャート。
【図7】プロセッサID=0〜3に割り当てられた主記
憶装置MM内の領域A0 〜A3がそのプロセッサID=
0〜3のプロセッサP0 〜P3 により初期化される様子
を説明するための図。
【図8】図1の構成のマルチプロセッサシステムにおけ
るシステム電源投入時の動作を、プロセッサ数が4台に
固定され、且つ主記憶実装容量も固定である場合につい
て、プロセッサP0 ,P1 を例に説明するためのフロー
チャート。
【図9】プロセッサP0 〜P3 に割り当てられた主記憶
装置MM内の領域A0 〜A3 が当該プロセッサP0 〜P
3 により初期化される様子を説明するための図。
【符号の説明】
P0 〜Pn-1 …プロセッサ、MM…主記憶装置、B…シ
ステムバス、MMC…主記憶制御装置、1-0〜1-n-1…
プロセッサID、2…プロセッサ実装状態情報、3…主
記憶実装容量情報。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサが主記憶装置を共有す
    るマルチプロセッサシステムにおける主記憶装置初期化
    方法であって、 前記主記憶装置の主記憶領域を複数の領域に分割して、
    各領域を前記複数のプロセッサに割り当て、 電源投入時には、前記各プロセッサが自身に割り当てら
    れた前記主記憶装置内の領域の初期化を行うことを特徴
    とするマルチプロセッサシステムにおける主記憶装置初
    期化方法。
  2. 【請求項2】 複数のプロセッサが主記憶装置を共有す
    るマルチプロセッサシステムにおける主記憶装置初期化
    方法であって、 前記各プロセッサにそれぞれ固有のプロセッサ識別子を
    割り当てると共に、前記主記憶装置の主記憶領域を複数
    の領域に分割して、各領域を前記複数のプロセッサ識別
    子に割り当て、 電源投入時には、前記各プロセッサが自身のプロセッサ
    識別子を認識して、そのプロセッサ識別子に割り当てら
    れた前記主記憶装置内の領域の初期化を行うことを特徴
    とするマルチプロセッサシステムにおける主記憶装置初
    期化方法。
  3. 【請求項3】 複数のプロセッサが主記憶装置を共有
    し、前記主記憶装置の実装容量の増減が可能なマルチプ
    ロセッサシステムにおける主記憶装置初期化方法であっ
    て、 前記各プロセッサにそれぞれ固有のプロセッサ識別子を
    割り当て、 電源投入時には、前記各プロセッサが自身のプロセッサ
    識別子および前記主記憶装置の実装容量を認識して、当
    該プロセッサ識別子および実装容量をもとに自律的に前
    記主記憶装置の主記憶領域の配分を行い、自身に配分さ
    れた領域の初期化を行うことを特徴とするマルチプロセ
    ッサシステムにおける主記憶装置初期化方法。
  4. 【請求項4】 複数のプロセッサが主記憶装置を共有
    し、前記主記憶装置の実装容量の増減とシステムに接続
    されるプロセッサ数の増減が可能なマルチプロセッサシ
    ステムにおける主記憶装置初期化方法であって、 前記各プロセッサにそれぞれ固有のプロセッサ識別子を
    割り当て、 電源投入時には、前記システムに接続されている前記各
    プロセッサが、前記システムに接続されているプロセッ
    サ数、自身のプロセッサ識別子および前記主記憶装置の
    実装容量を認識して、当該プロセッサ数、プロセッサ識
    別子および実装容量をもとに自律的に前記主記憶装置の
    主記憶領域の配分を行い、自身に配分された領域の初期
    化を行うことを特徴とするマルチプロセッサシステムに
    おける主記憶装置初期化方法。
JP6135811A 1994-06-17 1994-06-17 マルチプロセッサシステムにおける主記憶装置初期化方法 Pending JPH086914A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6135811A JPH086914A (ja) 1994-06-17 1994-06-17 マルチプロセッサシステムにおける主記憶装置初期化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6135811A JPH086914A (ja) 1994-06-17 1994-06-17 マルチプロセッサシステムにおける主記憶装置初期化方法

Publications (1)

Publication Number Publication Date
JPH086914A true JPH086914A (ja) 1996-01-12

Family

ID=15160375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6135811A Pending JPH086914A (ja) 1994-06-17 1994-06-17 マルチプロセッサシステムにおける主記憶装置初期化方法

Country Status (1)

Country Link
JP (1) JPH086914A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352677A (ja) * 2004-06-09 2005-12-22 Sony Corp マルチプロセッサシステム
WO2008093638A1 (ja) * 2007-01-29 2008-08-07 Toyota Jidosha Kabushiki Kaisha オペレーティングシステムの起動制御方法及び情報処理装置
WO2010058440A1 (ja) * 2008-11-19 2010-05-27 富士通株式会社 メモリ初期化方法、メモリ初期化プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352677A (ja) * 2004-06-09 2005-12-22 Sony Corp マルチプロセッサシステム
JP4525188B2 (ja) * 2004-06-09 2010-08-18 ソニー株式会社 マルチプロセッサシステム
WO2008093638A1 (ja) * 2007-01-29 2008-08-07 Toyota Jidosha Kabushiki Kaisha オペレーティングシステムの起動制御方法及び情報処理装置
US8051281B2 (en) 2007-01-29 2011-11-01 Toyota Jidosha Kabushiki Kaisha Operating system startup control method and information processing apparatus
WO2010058440A1 (ja) * 2008-11-19 2010-05-27 富士通株式会社 メモリ初期化方法、メモリ初期化プログラム
JP5158206B2 (ja) * 2008-11-19 2013-03-06 富士通株式会社 メモリ初期化方法、メモリ初期化プログラム
US8423757B2 (en) 2008-11-19 2013-04-16 Fujitsu Limited Memory initialization by performing parallel execution of firmware and kernel by different CPUs

Similar Documents

Publication Publication Date Title
EP0281999B1 (en) Data processing system with pluggable option card
US6282647B1 (en) Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
US5038320A (en) Computer system with automatic initialization of pluggable option cards
US4984149A (en) Memory access control apparatus
WO1997014095A1 (en) System for providing bios to host computer
CN106227683B (zh) 电子设备及信息处理方法
EP3438816B1 (en) Bios starting method and device
US5860142A (en) Method and apparatus for mapping the memory system of a computer for maximizing memory usage
US6446139B1 (en) Multiple chip single image BIOS
US5675761A (en) Method and system for providing discontiguous drive support
CN110297726B (zh) 具有串行存在检测数据的计算机系统及内存模块控制方法
JPH086914A (ja) マルチプロセッサシステムにおける主記憶装置初期化方法
CN112035393A (zh) 一种节约双片上系统存储资源的方法、双片上系统
EP1890229A1 (en) System controller, data processor, and input output request control method
JPH0766368B2 (ja) ブ−トプロセツサ決定方式
JPS63184147A (ja) チャネル制御装置のイニシャライズ方法及びそのイニシャライズのためのシステム
CN110941452B (zh) 一种配置方法、bios芯片和电子设备
JP2002024024A (ja) 異なる操作モードを利用してアダプタ構成ルーチンを実行する方法およびシステム
JPS5925320B2 (ja) 共有記憶装置の制御装置
JPH0619867A (ja) メモリチェック方式
CN117407066A (zh) 初始化pcie设备的配置空间的方法及装置
JPH08305652A (ja) ドライバソフト内蔵ボード
JPH03232032A (ja) メモリ制御装置
JPH06175880A (ja) 情報処理装置
JPS6273354A (ja) デ−タ処理装置