JPH11338703A - ファームウェアダウンロード方式 - Google Patents

ファームウェアダウンロード方式

Info

Publication number
JPH11338703A
JPH11338703A JP14273198A JP14273198A JPH11338703A JP H11338703 A JPH11338703 A JP H11338703A JP 14273198 A JP14273198 A JP 14273198A JP 14273198 A JP14273198 A JP 14273198A JP H11338703 A JPH11338703 A JP H11338703A
Authority
JP
Japan
Prior art keywords
cpu
download
firmware
mediation
execution
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.)
Withdrawn
Application number
JP14273198A
Other languages
English (en)
Inventor
Yasutaka Umemoto
泰孝 梅元
Hideomi Shiiki
秀臣 椎木
Kenichi Minamino
謙一 南野
Kazuya Egawa
和也 江川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP14273198A priority Critical patent/JPH11338703A/ja
Publication of JPH11338703A publication Critical patent/JPH11338703A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 ファームウェアダウンロード方式に関し、マ
ルチCPUシステムにおける任意CPUへのファームウ
ェアダウンロードを該CPUにおける本来の処理遅延を
起こさずに効率良く行えることを課題とする。 【解決手段】 CPUとメモリ(MEM)とデータ通信
手段(COM)とを備える複数のプロセッサ手段1〜4
がメモリアクセスをするための共通バス6を介して相互
に接続するマルチCPUシステムのファームウェアダウ
ンロード方式において、外部装置200よりあるプロセ
ッサ手段2にデータ通信手段を介してダウンロードされ
たファームウェアを該プロセッサ手段2のCPU2が前
記共通バス6に対するメモリアクセスを介して他のCP
U(例えばプロセッサ手段3)のメモリに直接書き込
む。従って、CPU3へのダウンロードを該CPU3に
おける本来の処理遅延を起こさずに他のCPU2から効
率良く行える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はファームウェアダウ
ンロード方式に関し、更に詳しくはCPUとメモリとデ
ータ通信手段とを備える複数のプロセッサ手段がメモリ
アクセスをするための共通バスを介して相互に接続する
マルチCPUシステムのファームウェアダウンロード方
式に関する。
【0002】近年、データ通信及び情報処理の多種多様
化と需要の拡大に伴い、処理システムの高機能化、大容
量化が進んでいる。このため、システムにはより高い処
理能力が求められ、この要求はCPUの高速化やマルチ
CPU(負荷分散)化により改善が図られている。
【0003】
【従来の技術】この種の処理システムでは、ファームウ
ェア交換によりサービス機能の変更、改善、拡大等を図
れるが、その都度ROMを交換するのは煩わしいため、
外部装置(パーソナルコンピュータ等)からファームウ
ェアをダウンロードする方式が一般的である。
【0004】この点、従来は、シングルCPUシステム
におけるファームウェアダウンロードを効率良く行うこ
とを目的とした、ファームウェアダウンロード方式(特
開平3−99327号)や、ダウンロード装置(特開平
8−194621号)等が知られている。しかし、これ
らはいずれもファームウェアダウンロードを受けるCP
U自信が、本来実行すべきデータ交換制御等の処理を一
時的に止めて、又は本来実行すべき処理と並行して、外
部装置から送られるファームウェアデータを自メモリ
(バッファメモリ等)に書き込むものであった。
【0005】
【発明が解決しようとする課題】ところで、一般にマル
チCPUシステムでは共通の制御対象(データ交換・伝
送制御等)を各CPUが機能(又は負荷)分担をして制
御する場合が少なくない。このため、どのCPUにも常
にフル稼働できる体制が要求される。しかるに、かかる
システムのあるCPUにつきダウンロードを実施しよう
とすると、上記従来方式ではダウンロードを受けるCP
U自信が自メモリへのデータ書込制御に直接関与するた
め、該CPUの負荷が固定的に高くなり、本来の制御・
処理に遅延が生じていた。またこの処理遅延がシステム
全体の処理に悪影響を及ぼすこともあった。
【0006】また、ダウンロード対象のCPUが障害
(特にソフト障害)等でダウンロード処理が出来ない状
態にあるような場合には、そのEEPROMを交換する
以外に復旧の方法がなかった。本発明は上記従来技術の
問題点に鑑み成されたものであって、その目的とする所
は、マルチCPUシステムにおける任意CPUへのファ
ームウェアダウンロードを該CPUにおける本来の処理
遅延を起こさずに効率良く行えるファームウェアダウン
ロード方式を提供することにある。
【0007】
【課題を解決するための手段】上記の課題は例えば図1
の構成により解決される。即ち、本発明(1)のファー
ムウェアダウンロード方式は、CPUとメモリ(ME
M)とデータ通信手段(COM)とを備える複数のプロ
セッサ手段1〜4がメモリアクセスをするための共通バ
ス6を介して相互に接続するマルチCPUシステム10
0のファームウェアダウンロード方式において、外部装
置200よりあるプロセッサ手段(例えばプロセッサ手
段2)にデータ通信手段を介してダウンロードされたフ
ァームウェアを該プロセッサ手段2のCPU2(なお、
プロセッサ手段2のCPUをCPU2と呼ぶ、以下も同
様)が前記共通バス6に対するメモリアクセスを介して
他のCPU(例えばCPU3)のメモリに直接書き込む
ものである。
【0008】本発明(1)によれば、システムの当面の
目的であるプロセッサ手段3へのファームウェアダウン
ロードを、他のCPU2が共通バス6を介して仲介処理
することにより、CPU3は自メモリへのファームウェ
アダウンロードに係る処理(メモリアクセス等)を一切
行う必要がない。従って、もともと負荷率の高かったよ
うなCPU3は専ら本来のデータ通信制御処理等に専念
できる。一方、負荷率の低くかったCPU2は、CPU
3へのダウンロード仲介処理を実施することで負荷率が
増加する。こうして、マルチCPUシステムにおける負
荷分担の公平化、適正化が容易に図れる。
【0009】又は、仮にCPU3がバグ等によりソフト
ウェア障害を起こしており、自らは復帰できない場合で
も、他のCPU2がCPU3へのダウンロード処理を仲
介することで、CPU3は新たなファームウェアにより
復帰できる。好ましくは、本発明(2)においては、上
記本発明(1)において、各CPU1〜4は各データ通
信手段を介して相互に接続すると共に、該データ通信手
段を介して、外部装置200からダウンロード制御の指
示を受けた制御CPU(例えばCPU1)が、自CPU
1又は他のCPU2〜4を選択して、該選択されたCP
U(例えばCPU3)にダウンロード又は(例えばCP
U2)に前記ダウンロードの仲介処理を実施させるもの
である。
【0010】ここで、もし制御CPU1がCPU2を選
択した場合は、該CPU2はCPU3のメモリへのダウ
ンロード処理を仲介することになり、また制御CPU1
がCPU3を選択した場合は、該CPU3は自メモリへ
のダウンロード処理を自ら実施することになる。本発明
(2)によれば、マルチCPUシステムの例えばCPU
1にダウンロード処理の指揮権を与える構成により、シ
ステム内でダウンロード処理の様々な運用(制御)が可
能となる。一方、外部装置200は、所望の制御CPU
を選択した後は、単にダウンロード実施CPUからのフ
ァイル転送要求に応じてファイルデータを転送するだけ
で良く、よって外部装置200の処理負担が小さい。即
ち、外部装置200に要求される機能は従来のものと殆
ど変わらない。
【0011】また好ましくは、本発明(3)において
は、上記本発明(2)において、制御CPU(例えばC
PU1)は、各CPU1〜4から負荷率を収集して比較
すると共に、負荷率最小のCPU(例えばCPU3)に
ダウンロード又は(例えばCPU2に)その仲介処理を
実施させる。従って、各CPU1〜4の負荷分担を公平
化,適正化でき、よって所望のCPU(例えばCPU
3)へのダウンロード処理を効率良く行える。
【0012】また好ましくは、本発明(4)において
は、上記本発明(2)又は(3)において、ダウンロー
ド又はその仲介処理を実施しているダウンロード実施C
PUは、定期的にダウンロード又はその仲介処理の引継
情報を作成して制御CPUに通知する。ここで、定期的
にとは、ファイル転送の所定時間(例えば30秒)毎
に、又はファイル転送の所定回数(例えば10フレー
ム)毎に、又は転送ファイルの所定データ量(例えば1
0ブロック)毎に、等を意味する。以下も同様である。
【0013】本発明(4)によれば、制御CPUはダウ
ンロード及びその仲介処理の進行状況を定期的に把握
(更新)できるので、ダウンロード実施CPUが不測の
事態(障害等)によりその処理を継続できなくなって
も、その続きを他のCPUに実施させることが可能とな
る。また好ましくは、本発明(5)においては、上記本
発明(4)において、制御CPUは、ダウンロード実施
CPUからの引継情報の通知が所定時間内に得られない
ことにより、他のCPUにダウンロード又はその仲介処
理を引き継がせる。
【0014】従って、ダウンロード実施途中で不測の事
態(障害等)が発生しても、他のCPUによりダウンロ
ード処理を最後まで遂行できる。また好ましくは、本発
明(6)においては、上記本発明(2)〜(4)におい
て、制御CPU1は、各CPU1〜4から定期的に負荷
率を収集して比較すると共に、ダウンロード又はその仲
介処理を実施しているダウンロード実施CPU(例えば
CPU2)よりも他のCPU4の負荷率が低い場合は、
前記ダウンロード実施CPU2のダウンロード又はその
仲介処理を中断させ、かつ他の負荷率最小のCPU4に
ダウンロード又はその仲介処理を引き継がせる。
【0015】例えば、データ通信制御処理を担うような
マルチCPUシステムでは、通信トラフィックの増減に
応じて、各CPU1〜4の負荷率も様々に変動する。係
る場合でも、本発明(6)によれば、各CPU1〜4の
負荷分担を定期的(例えば30秒等毎)に公平化,適正
化できるため、システムの本来の目的であるデータ通信
制御処理に悪影響を与えることは無い。
【0016】また、負荷率を定期的に収集して比較する
構成により、各CPUの負荷率が頻繁かつ小刻みに変動
することによてダウンロード実施CPUの切替えが頻繁
に発生してしまうような状況を抑制できる。また好まし
くは、本発明(7)においては、上記本発明(6)にお
いて、ダウンロード中断の指示を受けたダウンロード実
施CPUは、ダウンロード又はその仲介処理を中断する
と共に、ダウンロード又はその仲介処理の引継情報を作
成して制御CPUに通知する。
【0017】本発明(7)によれば、制御CPUには処
理中断時点の最新の引継情報がリアルタイムに得られ
る。従って、その続きのダウンロード又はその仲介処理
を過不足無く、他のCPUに引き継がせることが可能と
なる。また好ましくは、本発明(8)においては、上記
本発明(2)〜(4)において、ダウンロード又はその
仲介処理を実施しているダウンロード実施CPUは、自
CPUの負荷率が所定以上(例えば過負荷状態)となっ
たことによりダウンロード又はその仲介処理の引継情報
を作成して制御CPUに通知する。
【0018】本発明(8)によれば、制御CPUは、ダ
ウンロード実施CPUが過負荷状態になったことをリア
ルタイムに知ることができる。従って、システム本来の
サービス対象である通信トラフィック等の急激な増加に
対しても瞬時に対応できる。また好ましくは、本発明
(9)においては、上記本発明(2)〜(4)におい
て、ダウンロード及びその仲介処理を実施していないC
PUは、自CPUの負荷率が所定以下(例えば軽負荷状
態)となったことによりその旨を制御CPUに通知す
る。
【0019】本発明(9)によれば、制御CPUは、ダ
ウンロード実施CPU以外のあるCPUが軽負荷状態に
なったことをリアルタイムに知ることができる。従っ
て、通信トラフィック等に急激な変動があっても、瞬時
に負荷分担の公平化、適正化が図れる。また好ましく
は、本発明(10)においては、上記本発明(6),
(8)又は(9)において、制御CPUは、ダウンロー
ド実施CPUからの引継情報を元にダウンロード又はそ
の仲介処理の残量を求め、該残量が所定以下の場合はダ
ウンロード実施CPUのダウンロード又はその仲介処理
を中断させない。
【0020】本発明(10)によれば、ダウンロード処
理の残量が所定(例えば10%)以下となったような場
合には、むしろダウンロード実施CPUにそのまま処理
を継続させることにより、中断,引継による処理遅延を
発生させることも無く、残りの処理を速やかに完了でき
る。また好ましくは、本発明(11)においては、上記
本発明(1)において、各CPUは各データ通信手段を
介して相互に接続すると共に、予めダウンロード又はそ
の仲介処理を実施するCPUの順番を定めておき、かつ
前記データ通信手段を介して、まず外部装置からダウン
ロード開始の指示を受けたCPUが所定時間のダウンロ
ード又はその仲介処理を実施し、次に該CPUが前記順
番に従ってダウンロード又はその仲介処理を次のCPU
に引き継がせ、こうして、各所定時間のダウンロード又
はその仲介処理を各CPU間の持ち回りで順次実施す
る。
【0021】本発明(11)によれば、所望のCPU
(例えばCPU3)に対するダウンロード又はその仲介
処理を、各CPU1〜4が各所定時間毎の持ち回りで順
次実施する構成により、特定の制御CPU(例えばCP
U1)に制御負担を掛けることも無く、ダウンロード負
荷を公平に分担処理できる。また好ましくは、本発明
(12)においては、上記本発明(1)において、各C
PUは各データ通信手段を介して相互に接続すると共
に、予めダウンロード又はその仲介処理を実施するCP
Uの順番を定めておき、かつ前記データ通信手段を介し
て、まず外部装置からダウンロード開始の指示を受けた
CPUが所定量のダウンロード又はその仲介処理を実施
し、次に該CPUが前記順番に従ってダウンロード又は
その仲介処理を次のCPUに引き継がせ、こうして、各
所定量のダウンロード又はその仲介処理を各CPU間の
持ち回りで順次実施する。
【0022】本発明(12)によれば、所望のCPU
(例えばCPU3)に対するダウンロード又はその仲介
処理を、各CPU1〜4が各所定量(所定データ転送
量)毎の持ち回りで順次実施する構成により、特定の制
御CPU(例えばCPU1)に制御負担を掛けることも
無く、ダウンロード負荷を公平に分担処理できる。
【0023】
【発明の実施の形態】以下、添付図面に従って本発明に
好適なる実施の形態を詳細に説明する。なお、全図を通
して同一符号は同一又は相当部分を示すものとする。図
2は実施の形態によるマルチCPUシステムのブロック
図で、図において、100は例えば不図示のデータ伝送
装置の通信制御処理を4つのCPUにより負荷(又は機
能)分担処理するマルチCPUシステム、1〜4は好ま
しくは同一構成からなるCPU1〜4盤(基板等)、5
はマルチCPUシステムの立ち上げ情報を保持している
メモリ(MEM)盤、6はCPU1〜4盤及びMEM盤
間のメモリアクセスを可能にするユニバーサルアクセス
バス、7はユニバーサルアクセスバスのバス調停を行う
バスアービタ(UAB)、200はデータ伝送装置の保
守,運用,監視等を行うための保守コンソール(パーソ
ナルコンピュータ等)、300はCPU1〜4盤及び保
守コンソール間をデータ通信回線で接続するローカルエ
リアネットワーク(LAN)である。
【0024】CPU1盤において、11はCPU1盤の
主制御処理(本来の通信制御処理及び後述のファームウ
ェアダウンロードに係る処理等)を行うCPU、12は
CPU11がワークエリアとして使用するRAM、1
3,14はCPU11が使用するファームウェア(但
し、一方は実行ファームウェア、他方はダウンロードフ
ァームウェア)を夫々記憶するEEPROM(フラッシ
ュROM等)、15はCPU1盤(即ち、CPU11)
に固有の番号(例えば1)を設定するためのDIPスイ
ッチ(DSW)、16は各CPU間及び保守コンソール
との間でデータ通信を行うための通信制御部(CO
M)、17はCPU11のホスト(ローカル)バス、1
8はホストバス17のバス調停を行うバスアービタ(H
AB)、19はホストバス17とユニバーサルアクセス
バス6間におけるデータ,アドレス及び制御信号の接続
制御を行うバスブリッジ(HUB)である。CPU2〜
4盤についても同様である。
【0025】MEM盤5において、52はマルチCPU
システム(即ち、各CPU)の立ち上げ用ファームウェ
アを格納しているBOOT−ROM、53はCPU毎の
ファーム実行アドレス及びダウンロードアドレスを記憶
しているEEPROM、57はメモリバス、59はメモ
リバス57とユニバーサルアクセスバス6間の信号接続
制御を行うバスブリッジ(MUB)である。
【0026】係る構成により、各CPUはLAN300
を介して保守コンソール200及び他のCPUと相互に
データ通信可能である。各CPU間及び保守コンソール
との間の各種メッセージのやり取りはLAN300を介
して行われる。また、保守コンソール200からダウン
ロード実施CPUへのファームウェアデータの一次的な
転送もLAN300を介して行われる。
【0027】この場合に、例えばCPU31がダウンロ
ード実施CPUとなって自己のEEPROM34にファ
ームウェアをダウンロードする場合は、従来と同様に、
保守コンソール200から通信制御部36を介して受信
される各ファイルデータをCPU31のメモリアクセス
制御下でEEPROM34に直接書き込む。一方、他の
例えばCPU21がダウンロード仲介CPUとなってC
PU31のEEPROM34にファームウェアをダウン
ロードする場合は、保守コンソール200から通信制御
部26を介して受信される各ファイルデータを、CPU
21によるホストバス27,ユニバーサルアクセスバス
7及びホストバス37のメモリアクセス制御下で、CP
U21がEEPROM34に直接書き込む。
【0028】なお、一例の各バスは、夫々が32ビット
+αのバス構成から成っており、例えばPCI(Periphe
ral Component interconnect) バス方式で採用されてい
るように、まずメモリアクセスのアドレス信号と制御
(リード/ライト等)信号とをバスに出力し、必要なら
バスアービタからのアクセス許可信号GTを待ち、最終
的にターゲットバスの支配権を得たことにより、上記ア
ドレス信号に代えて1又は2以上のデータ信号をバスに
出力し、ターゲットメモリのアクセス(リード/ライ
ト)を行う。なお、動作の詳細は後述する。
【0029】図3は実施の形態によるマルチCPUシス
テムのメモリマップを説明する図である。本マルチCP
Uシステムは例えば最大32ビットのアドレス空間(メ
モリ空間,I/O空間)を有しており、その内の上位ビ
ット31〜24を使用してMEM盤5及びCPU1〜4
盤に夫々図示のようなメモリ空間を割り付けている。な
お、図示しないが、DIPスイッチは通信制御部と共に
I/O空間に割り付けられる。
【0030】MEM盤5において、アドレス「0000
000H」〜「00FFFFFH」(Hはヘキサデシマ
ル表示)はBOOT−ROM52に割り付けられ、ここ
にはシステム(各CPU)立ち上げ用のBOOTプログ
ラムが格納されている。アドレス「0100000H」
〜「01FFFFFH」はEEPROM53に割り付け
られ、ここにはCPU毎のファーム実行アドレス及びバ
ージョンアップ等されたファームウェアのダウンロード
アドレスが各CPU番号の対応に格納されている。
【0031】挿入図(a),(b)にダウンロード実行
前/後におけるEPROM53の各記憶内容を示す。
今、CPU3盤に着目すると、ダウンロード実行前のC
PU31のファーム実行アドレス=「0900000
H」(EEPROM33)で、かつファームダウンロー
ドアドレス=「0A00000H」(EEPROM3
4)であった。またダウンロード実行後のCPU31の
ファーム実行アドレス=「0A00000H」(EEP
ROM34)で、かつファームダウンロードアドレス=
「0900000H」(EEPROM33)となってい
る。そして、このダウンロード実行後のCPU31をリ
セットすると、該CPU31はEEPROM34のファ
ームウェアで立ち上がることになる。このように、本マ
ルチCPUシステムではEEPROM53のファーム実
行アドレスとダウンロードアドレスとを書き換えること
により、EEPROM33,34の選択が切り換わる。
【0032】CPU1盤において、アドレス「0200
000H」〜「02FFFFFH」はRAM12に、ま
たアドレス「0300000H」〜「03FFFFF
H」はEEPROM13に、そしてアドレス「0400
000H」〜「04FFFFFH」はEEPROM14
に夫々割り付けられている。CPU2〜4盤についても
同様である。
【0033】図2に戻り、上記の如く保守コンソール2
00はLAN300を介して本マルチCPUシステムの
各CPUと相互にデータ通信可能である。但し、本実施
の形態における保守コンソール200は、保守オペレー
タの指示入力に従い、ダウンロード処理の上位(全体的
な)制御を行う特定のCPU(以下、制御CPUとも呼
ぶ)に対してダウンロード指示のメッセージを送出した
り、又は実際にダウンロード処理を実施しているCPU
(以下、ダウンロード実施CPUとも呼ぶ)からのファ
イル転送要求メッセージに対して当該CPUにダウンロ
ードデータの転送等を行う。
【0034】図15に実施の形態による保守コンソール
−CPU間の通信パケットを示す。図において、「D
A」はパケットの送信先アドレス、「SA」は送信元ア
ドレス、「種別」はダウンロード処理の機能種別、「対
象CPU」はダウンロード対象のCPU番号、「ファイ
ル名」はダウンロードファイルのファイル名、「ファイ
ルサイズ」はダウンロードファイルのトータルのファイ
ルサイズ、「結果」はダウンロードの処理結果、「ファ
イルアドレス」はファイルサイズ中の何ブロック目かを
表すブロック番号、「転送サイズ」はファイル1ブロッ
ク(1フレーム)分の転送サイズ、「ダウンロードデー
タ」はダウンロードファイルのファイルデータ(ファー
ムウェア)を夫々表す。
【0035】例えば、保守コンソールから制御CPUに
送られる「ダウンロード指示」のメッセージについて説
明すると、「SA」=コンソール200、「DA」=制
御CPU1、「種別」=ダウンロード指示、「対象CP
U」=CPU3(但し、3はCPU番号を表す)、「フ
ァイル名」=download.hex、「ファイルサイズ」=10
0ブロックである。
【0036】またダウンロード実施CPUから保守コン
ソールに送られる「ファイル転送要求」のメッセージに
ついて説明すると、「SA」=ダウンロード実施CPU
n、「DA」=コンソール200、「種別」=ファイル
転送要求、「ファイルアドレス」=10ブロック目、
「転送サイズ」=1024バイト等である。また保守コ
ンソールからダウンロード実施CPUに送られる「デー
タ転送」のメッセージについて説明すると、「SA」=
コンソール200、「DA」=ダウンロード実施CPU
n、「種別」=データ転送、「ファイルアドレス」=1
0ブロック目、「転送サイズ」=1024バイト、「ダ
ウンロードデータ」=ファームウェアデータである。
【0037】また、図2に戻り、上記の如く本マルチC
PUシステムの各CPUはLAN300を介して相互に
データ通信可能である。図16に実施の形態によるCP
U−CPU間の通信パケットを示す。図において、「負
荷率」は各CPUの負荷率(使用率,稼働率等)、「次
ファイルアドレス」は保守コンソール200がダウンロ
ード実施CPUからの次ファイル転送要求に対して送信
すべきファイルデータのファイルアドレス、「次メモリ
アドレス」はダウンロード実施CPUが次の転送ファイ
ルデータを格納すべきEEPROMの格納開始アドレス
を夫々表す。
【0038】ここで、上記負荷率は、各CPUにおい
て、単位時間(例えば1秒)当たりのアイドルタスクの
実行時間に基づき、OS等により時々刻々と求められ
る。例えば1秒間にアイドルタスクがトータルで0.7
秒間実行された時の負荷率は30%である。例えば、ダ
ウンロード実施CPUから制御CPUに対して定期的に
通知される「引継情報定期通知」のメッセージについて
説明すると、「SA」=ダウンロード実施CPUn、
「DA」=制御CPU1、「種別」=引継情報定期通
知、「対象CPU」=CPU3、「ファイルサイズ」=
100ブロック、「次ファイルアドレス」=80ブロッ
ク目、「次メモリアドレス」=0A008000H等で
ある。他の各種メッセージについても同様に理解でき
る。
【0039】図2に戻り、更に、上記した如く、保守コ
ンソール200からダウンロード実施CPUn(例えば
CPU2)に転送されたファームウェアデータは、一旦
当該CPU21のRAM22に蓄えられ、その後にユニ
バーサルアクセスバス6を介してダウンロード対象CP
Un(例えばCPU3)のバックアップ用EEPROM
34に直接に書き込まれる。即ち、ダウンロード実施C
PU21はEEPROM34へのダウンロードデータの
書き込みを、ダウンロード対象のCPU31の処理を介
さずに、直接に行う。以下、この動作を具体的に説明す
る。
【0040】今、CPU21がEEPROM34へのデ
ータ書込サイクルを起動(データ書込制御信号及びアド
レス信号を付勢)すると、バスブリッジ29は、ホスト
バス27のデータ書込アドレスがCPU2盤のメモリ空
間の外側にあることにより、バスアービタ7に対してバ
ス要求信号RQ2を出力する。やがて、バスアービタ7
よりバス許可信号GT2が返されると、バスブリッジ2
9が閉成され、これによりユニバーサルバス6は上記C
PU21の出力したデータ書込制御信号及びアドレス信
号によりドライブされる。
【0041】この時、CPU3盤のバスブリッジ39
は、ユニバーサルバス6のアドレス信号がCPU3盤の
メモリ空間の内側を指していることにより、バスアービ
タ38に対してバス要求信号RQを出力する。やがて、
バスアービタ38よりバス許可信号GTが返されると、
バスブリッジ39が閉成され、これによりホストバス3
7は上記CPU21の出力したデータ書込制御信号及び
アドレス信号によりドライブされる。
【0042】一方、CPU21に対しては、メモリアク
セスの最終ターゲットに係るホストバス37につきバス
許可GTが得られたことがバスアービタ38,7,28
等を介して知らされ、これを受けたCPU21は上記ア
ドレスサイクルに続くデータ書込サイクルを付勢するこ
とで、1又は2以上のデータをEEPROM34に直接
書き込む。かくして、本マルチCPUシステムにいて
は、どのCPUからどのメモリ(RAM,EEPRO
M,BOOT−ROM)へでも直接にメモリアクセスが
可能である。
【0043】以下、実施の形態によるファームウェアダ
ウンロード処理を詳細に説明する。なお、以下の説明で
は図2のCPU11〜41を夫々のCPU番号1〜4に
従ってCPU1〜4と呼ぶ。図4は実施の形態によるB
OOT処理のフローチャートである。本マルチCPUシ
ステム100に電源投入され、又は各CPUが個別にリ
セットされると、この処理に入力する。
【0044】即ち、例えばリセットされたCPUのプロ
グラムカウンタ=0により、当該CPUのプログラム
(ファームウェア)はBOOT−ROM52の0番地か
ら実行開始される。ステップS1では自CPU盤のDI
Pスイッチより自CPUの番号を求める。ステップS2
ではMEM盤5のEEPROM53から自CPU番号に
対応する欄のファーム実行アドレスを求める。ステップ
S3では前記求めた実行アドレスにジャンプする。以後
このCPUは自CPU盤のEEPROM(実行ファーム
ウェア)を使用して処理を続行する。
【0045】図5〜図7は実施の形態による制御CPU
処理のフローチャート(1)〜(3)である。なお、図
5〜図7において、ステップS5,S6の各処理は所謂
マルチプログラミング方式によるOSの処理であり、そ
れ以外の処理はこのOSにより起動されるタスク処理と
考えて良い。図5において、ステップS5ではOSがイ
ベント(メッセージ受信割込、タイマ割込等)の発生を
待ち、何らかのイベントが発生すると、ステップS6で
はイベント種別に応じて処理分岐(対応するタスクを起
動)する。
【0046】今、制御CPU1が保守コンソール200
からCPU3に対するダウンロード指示を受けると、ス
テップS11以降の処理に入力する。ステップS11で
は各CPU(制御CPU1を含む)の負荷率を収集す
る。ステップS12では負荷率最小のCPU(例えばC
PU2)を求める。ステップS13では制御CPU1が
負荷率最小のCPU2に対してCPU3へのダウンロー
ド開始を指示する。ステップS14ではダウンロード処
理進行を管理するためのダウンロード管理情報を設定す
る。ステップS15では次回の負荷率収集タイミングを
決めるための定期監視用タイマ(例えば30秒)を起動
する。ステップS16ではダウンロード実施CPU2に
対する障害監視用タイマ(例えば2分)を起動し、この
処理を抜ける。
【0047】挿入図(a)に一例のダウンロード管理情
報を示す。例えば、「ダウンロード対象CPU」=CP
U3、「ファイル名」=download.hex、「ファイルサイ
ズ」=100ブロック、「ダウンロード実施CPU」=
CPU2、「次ファイルアドレス」=1ブロック目、
「次メモリアドレス」=0A000000Hが記録され
る。
【0048】図6に進み、制御CPU1がダウンロード
実施CPU2からのダウンロード引継情報定期通知を受
けると、ステップS31以降の処理に入力する。このダ
ウンロード引継情報定期通知はダウンロード実施CPU
2が所定ブロック数(例えば10ブロック程度)のダウ
ンロードを行った時点でダウンロード実施CPU2によ
り生成され、制御CPU1に送られる。
【0049】ステップS31では、ダウンロード実施C
PU2が稼働(ダウンロードを実施)していることによ
り、障害監視用タイマ(2分)を再起動する。ステップ
S32ではダウンロード管理情報(次ファイルアドレ
ス,次メモリアドレス等)を更新し、この処理を抜け
る。図5に戻り、制御CPU1の上記定期監視用タイマ
(30秒)がタイムアウトすると、ステップS21以降
の処理に入力する。
【0050】ステップS21ではダウンロード管理情報
に基づきダウンロードファイルの残量が所定(例えば1
0%)以下か否かを判別する。残量が所定以下の場合
は、このまま最後まで現時点のダウンロード実施CPU
2にダウンロード処理を続行させるのが能率的と考える
ので、ステップS30で定期監視用タイマ(30秒)を
再起動し、この処理を抜ける。
【0051】また残量が所定以下でない場合は、ステッ
プS22で各CPU(制御CPU1を含む)の負荷率を
収集する。ステップS23では負荷率最小のCPUを求
める。ステップS24ではこの負荷率最小のCPUが現
時点のダウンロード実施CPUと同一か否かを判別す
る。ダウンロード実施CPUと同一の場合は、このまま
ダウンロード処理を継続させれば良いので、ステップS
30で定期監視用タイマ(30秒)を再起動し、この処
理を抜ける。
【0052】またダウンロード実施CPUと同一でない
場合は、ステップS25でダウンロード実施CPUにダ
ウンロード中止を指示する。ステップS26では当該C
PUからのダウンロード中断通知(中断通知引継情報メ
ッセージに相当)を待つ。やがて、ダウンロード中断通
知を受けると、該通知には中断時最新の次ファイルアド
レス、次メモリアドレス等の情報が含まれている。制御
はステップS27に進み、この負荷率最小のCPU(例
えばCPU4)にダウンロード引継を指示する。ステッ
プS28ではダウンロード管理情報(ダウンロード実施
CPU等)を更新する。ステップS29では障害監視用
タイマ(2分)を再起動する。ステップS30では定期
監視用タイマ(30秒)を再起動し、この処理を抜け
る。
【0053】図6に進み、ダウンロード実施CPU2が
何らかの理由で障害(ファームの暴走等)になると、制
御CPU1には上記ダウンロード引継情報の定期通知が
行われず、やがて障害監視用タイマ(2分)がタイムア
ウトし、ステップS41以降の処理に入力する。ステッ
プS41ではダウンロード実施CPU2を除く各CPU
(制御CPU1を含む)の負荷率を収集する。ステップ
S42では負荷率最小のCPU(例えばCPU4)を求
める。ステップS43ではダウンロード管理情報に基づ
きダウンロード引継メッセージを作成する。ステップS
44では負荷率最小のCPU4にダウンロード引継を指
示する。ステップS45では定期監視用タイマ(30
秒)を再起動する。ステップS46では障害監視用タイ
マ(2分)を再起動し、この処理を抜ける。
【0054】また制御CPU1がダウンロード実施CP
U2からの自発的(過負荷状態等の理由による)なダウ
ンロード中断通知を受けると、ステップS51以降の処
理に入力する。テップS51ではダウンロード実施CP
U2を除く各CPU(制御CPU1を含む)の負荷率を
収集する。ステップS52では負荷率最小のCPU(例
えばCPU4)を求める。ステップS53では負荷率最
小のCPU4にダウンロード引継を指示する。ステップ
S54ではダウンロード管理情報を更新する。ステップ
S55では定期監視用タイマ(30秒)を再起動する。
ステップS46では障害監視用タイマ(2分)を再起動
し、この処理を抜ける。
【0055】図7において、制御CPU1がダウンロー
ド非実施CPU(例えばCPU4)からダウンロード引
受通知(例えば軽負荷状態による)を受けると、ステッ
プS61以降の処理に入力する。ステップS61ではダ
ウンロード実施CPU2にダウンロード中止を指示す
る。ステップS62では当該CPU2からのダウンロー
ド中断通知を待つ。やがて、ダウンロード中断通知を受
けると、ステップS63に進み、ダウンロード引受CP
U4にダウンロード引継を指示する。ステップS64で
はダウンロード管理情報を更新する。ステップS65で
は定期監視用タイマ(30秒)を再起動する。そして、
ステップS66では障害監視用タイマ(2分)を再起動
し、この処理を抜ける。
【0056】また、制御CPU1がダウンロード実施C
PU2からのダウンロード完了通知を受けると、ステッ
プS71以降の処理に入力する。ステップS71では定
期監視用タイマを停止する。ステップS72では障害監
視用タイマを停止する。ステップS73では保守コンソ
ール200にダウンロード終了の通知を行う。
【0057】図8,図9は実施の形態によるダウンロー
ド実施CPU処理のフローチャート(1),(2)であ
る。なお、図8,図9において、ステップS5ではOS
がイベント(メッセージ受信割込、タスク割付処理等)
の発生を待ち、何らかのイベントが発生すると、ステッ
プS6ではイベント種別に応じて処理分岐(対応するタ
スクを起動)する。
【0058】図8において、負荷率最小のCPU(例え
ばCPU2)が制御CPU1からCPU3に対するダウ
ンロード開始メッセージを受けると、ステップS81以
降の処理に入力する。ステップS81ではMEM盤5の
EEPROM53よりダウンロード対象CPU3のダウ
ンロードアドレスを求める。ステップS82ではダウン
ロード管理情報を作成する。ステップS83では図9に
示すダウンロードタスクを生成してOSに対する処理待
ち状態となし、この処理を抜ける。
【0059】挿入図(a)に一例のダウンロード管理情
報を示す。例えば、「ダウンロード対象CPU」=CP
U3、「ファイル名」=download.hex、「ファイルサイ
ズ」=100ブロック、「ダウンロード実施回数」=
0、「次ファイルアドレス」=1ブロック目、「次メモ
リアドレス」=0A000000Hが記録される。
【0060】又は、負荷率最小のCPU(例えばCPU
4)が制御CPU1からのダウンロード引継メッセージ
を受けると、ステップS84の処理に入力する。ステッ
プS84ではダウンロード引継メッセージのダウンロー
ド引継情報に従い上記挿入図(a)と同様のダウンロー
ド管理情報(但し、次ファイルアドレス,次メモリアド
レスの内容は異なる)を作成する。ステップS85では
図9に示すダウンロードタスクを生成してOSに対する
処理待ち状態となし、この処理を抜ける。
【0061】また、ダウンロード実施CPU(例えばC
PU2)が制御CPU1からのダウンロード中止メッセ
ージを受けると、ステップS86以降の処理に入力す
る。ステップS86ではダウンロード管理情報に基づき
中断通知引継情報メッセージを作成する。ステップS8
7では制御CPU1にダウンロード中断(中断通知引継
情報メッセージ)を通知する。ステップS87ではダウ
ンロードタスクのOSに対する処理待ち状態を消勢す
る。
【0062】図9において、例えばダウンロード実施C
PU2のOSが処理待ちのダウンロードタスクを実行に
移すとステップS91以降の処理に入力する。ステップ
S91では保守コンソール200にファイル転送要求メ
ッセージを送信する。ステップS92では保守コンソー
ル200からのファイルデータ転送を待つ。やがて、保
守コンソール200からファイルデータが転送される
と、ステップS93では受信データを一旦RAM22に
書き込み、その後に該受信データをRAM22から読み
出し、これらを共通バス6のバスアクセスを介してダウ
ンロード対象CPU(例えばCPU3)のダウンロード
用EEPROM34に直接書き込む。ステップS94で
はダウンロード管理情報(ダウンロード実施回数,次フ
ァイルアドレス,次メモリアドレス)を更新する。
【0063】ステップS95ではダウンロード処理完了
か否かを判別する。ダウンロード完了でない場合は、更
にステップS96でダウンロードサイクルを所定回数
(例えば10回)実施したか否かを判別する。未だ所定
回数実施していない場合はこのまま処理を抜ける。こう
して、次にこのダウンロードタスクが実行に移される
と、上記同様の処理を繰り返す。
【0064】また上記ステップS96の判別でダウンロ
ードサイクルを所定回数実施した場合は更にステップS
97で自CPUの負荷率が所定(例えば60%)未満か
否かを判別する。なお、この自CPUの負荷率について
は、例えばOSが常時監視・管理しており、このダウン
ロードタスクからOSに問い合わせることにより、容易
に得られる。そして、自CPUの負荷率が60%未満
(過負荷状態ではない)の場合は、ステップS98でダ
ウンロード引継情報を作成し、制御CPU1に定期通知
する。
【0065】また、自CPUの負荷率が60%以上(過
負荷状態)の場合は、ステップS99に進み、ダウンロ
ード管理情報に基づき当該ダウンロードの中断通知引継
情報メッセージを作成する。ステップS100では制御
CPU1にダウンロード中断(中断通知引継情報メッセ
ージ)を通知する。ステップS101ではダウンロード
タスクのOSに対する処理待ち状態を消勢し、この処理
を抜ける。
【0066】また、上記ステップS95の判別でダウン
ロード完了の場合は、ステップS102でMEM盤5の
EEPROM34の実行アドレスとダウンロードアドレ
スとを入れ替える。ステップS103では制御CPU1
にダウンロード完了を通知し、ステップS101に進
む。なお、上記実施の形態では、自CPUの負荷率の検
査(即ち、ステップS97の判別)をダウンロード処理
の10サイクルイ毎に行う構成としたが、これに限らな
い。例えばダウンロード処理の1サイクルイ毎に毎回行
うように構成しても良い。
【0067】但し、通常この自CPUの負荷率は、本来
のデータ通信制御処理における通信トラフィックの増減
に伴い、比較的大きくかつ頻繁に変動することが予想さ
れるので、ダウンロード処理の1サイクル毎に行うより
も、複数サイクル毎に行う方が、瞬時的な過負荷状態を
検出してしまう機会が少ない。即ち、これによりダウン
ロード実施CPUが頻繁に切り換わるような状態を緩和
できる。
【0068】なお、図示しないが、ダウンロード実施C
PU2以外の、例えば軽負荷状態となったCPU4がダ
ウンロード引受メッセージを作成して制御CPU1に送
出するような処理等は、上記各処理の説明より容易に作
成できる。図10〜図14は実施の形態によるダウンロ
ード処理のシーケンス図(1)〜(5)である。図10
は制御CPU1が定期的に全CPUの負荷率を収集・比
較することにより、各時点で負荷率最小のCPUにダウ
ンロード処理を実行させる場合を示している。
【0069】保守コンソール200は制御CPU1にC
PU3へのダウンロード指示を送信する。これを受けた
制御CPU1は、CPU2〜4に負荷率の送出を要求す
る。これに対して各CPU2〜4は、制御CPU1に現
時点の負荷率(例えば20%,50%,30%)を通知
する。制御CPU1は通知された各負荷率及び自CPU
1の負荷率(例えば40%)を比較し、負荷率の最も低
いCPU2にCPU3のダウンロード開始を指示する。
【0070】これを受けたダウンロード実施CPU2
は、まずMEM盤5のEEPROM53からCPU3
(EPROM34)のダウンロード開始アドレス「0A
000000H」を求める。次に保守コンソール200
にファイルデータの転送を要求する。次いで保守コンソ
ールからのダウンロードデータを受信し、該受信データ
をユニバーサルアクセスバス6を介してEPROM34
のダウンロード開始アドレスから書き込む。
【0071】以下、同様にしてダウンロード処理を繰り
返し、やがて、ダウンロード実施CPU2は例えば10
フレーム分のデータ書込を終了すると、その時点のダウ
ンロード引継情報を生成し、制御CPU1に通知する。
制御CPU1は通知されたダウンロード引継情報に基づ
き自己のダウンロード管理情報を更新する。更に、ダウ
ンロード実施CPU2は、ダウンロード処理を継続す
る。
【0072】一方、制御CPU1は、上記ダウンロード
開始の指示から例えば30秒を経過したことにより、再
び各CPU2〜4より負荷率(今度は例えば40%,5
0%,20%)を収集し、該収集した各負荷率及び自C
PU1の負荷率(例えば40%)を比較する。そして、
この例ではダウンロード実施CPU2よりも負荷率の低
いCPU(例えばCPU4)があることにより、これま
でのダウンロード実施CPU2にダウンロード中断(中
止)を指示する。これを受けたダウンロード実施CPU
2は、ダウンロード処理を中止すると共に、ダウンロー
ド中断通知引継情報メッセージを生成して、これを制御
CPU1に通知する。
【0073】これを受けた制御CPU1は、ダウンロー
ド引継情報と共に上記負荷率最小のCPU4にダウンロ
ード引継を指示する。これを受けたCPU4は、以後は
ダウンロード実施CPU4として上記と同様のダウンロ
ード処理を実行する。そして、ダウンロード実施CPU
4は、やがて全てのダウンロード処理を完了すると、制
御CPU1にダウンロード完了を通知する。
【0074】これを受けた制御CPU1は、保守コンソ
ール200にダウンロード終了を通知し、これによりE
EPROM34へのファームウェアダウンロード処理を
終了する。なお、上記の如く、制御CPU1は所定時間
(例えば20秒)間隔で全CPUの負荷率を収集し、各
時点で負荷最小のCPUにダウンロード処理を引き継が
せているが、ある時点におけるダウンロードデータの残
量が既に所定(例えば10%)を切っていたような場合
には、その後のダウンロード引継処理を行なう時間内に
ダウンロード処理を完了できるため、他のCPUへのダ
ウンロード引継を行わない。
【0075】図11はダウンロード実施中のCPU2が
自ら過負荷状態を検出してダウンロード処理を中断した
ことにより、これを受けた制御CPU1が他のCPUに
ダウンロード処理を引き継がせる場合を示している。C
PU2は、当初は負荷率最小(20%)によりダウンロ
ード実施CPU2となってダウンロード処理を実行して
いたが、ダウンロード処理実行によりCPU2の負荷率
が増加したことに加え、その後の通信トフィックの増大
等によりCPU2本来のデータ通信制御量が大幅に増大
したことにより、図示の時点では過負荷状態となってい
る。
【0076】この場合のダウンロード実施CPU2は、
図9のステップS97の判別で過負荷状態を検出したこ
とによりダウンロード中断通知引継情報メッセージを制
御CPU1に送信して、自らダウンロード処理を中断す
る。これを受けた制御CPU1は、ダウンロードを中断
したCPU2を除く各CPU3,4から負荷率(例えば
50%,20%)を収集すると共に、自CPU1の負荷
率(40%)をも含めて負荷率の比較を行い、この時点
で負荷率最小のCPU4にダウンロード引継の指示を行
う。以後、このCPU4はダウンロード実施CPU4と
なって上記ダウンロード処理の続きを実行する。
【0077】図12はダウンロード実施中のCPU2に
ソフトウェア障害等が発生したことにより、これを検出
した制御CPU1が他のCPUにダウンロード処理を引
き継がせる場合を示している。CPU2は、当初は負荷
率最小(20%)によりダウンロード実施CPU2とな
ってダウンロード処理を実行していたが、その後のファ
ームウェアの暴走又はループ等により図示の時点では障
害状態となっている。
【0078】制御CPU1では、ダウンロード実施CP
U2からの引継情報定期通知が定期的(2分以内)に得
られないことにより内部で障害監視用タイマがタイムア
ウトし、ダウンロード実施CPU2の障害を検出する。
これにより、制御CPU1は障害CPU2を除く各CP
U3,4から負荷率(例えば50%,20%)を収集す
ると共に、自CPU1の負荷率(40%)をも含めて負
荷率の比較を行い、この時点で負荷率最小のCPU4に
ダウンロード引継の指示を行う。以後、このCPU4は
ダウンロード実施CPU4となって上記ダウンロード処
理の続きを実行する。
【0079】図13は、CPU2によるダウンロード実
施中に、制御CPU1に対して自己の負荷率が所定(例
えば20%)以下の旨を通知した例えばCPU4に対し
て、制御CPU1がダウンロード処理を引き継がせる場
合を示している。CPU2は、当初は負荷率最小(20
%)によりダウンロード実施CPU2となってダウンロ
ード処理を実行している。
【0080】一方、他のCPU(例えばCPU4)は既
に制御CPU1より1回又は2回以上の負荷率の送信要
求を受けたことにより、本マルチCPUシステムにおい
てダウンロード処理が進行中であることを自ら認識でき
る。係る状況下で、CPU4は自己の負荷率が所定(例
えば20%)以下となったことにより制御CPU1に対
してダウンロード引受通知を送信する。
【0081】これを受けた制御CPU1は、ダウンロー
ド実施CPU2に対してダウンロード中断を指示する。
これを受けたCPU2は、自己のダウンロード処理を中
止してダウンロード引継情報を作成し、ダウンロード中
断の旨と共に制御CPU1に通知する。これを受けた制
御CPU1は、ダウンロード引継情報を伴ってCPU4
にダウンロード引継の指示を行う。以後、このCPU4
はダウンロード実施CPU4となって上記ダウンロード
処理の続きを実行する。
【0082】なお、上記制御CPU1がCPU4からダ
ウンロード引受通知を受信した場合であっても、例えば
制御CPU1がCPU2とCPU4の負荷率を比較する
ことにより、もしダウンロード実施CPU2の負荷率が
低い場合は、CPU4にダウンロードを引き継がせない
事が可能である。図14は、本マルチCPUシステムの
各CPU1〜4が、システムで予め定められた順番に従
って、所定時間(例えば30秒)毎にダウンロード処理
を持ち回りで実行する場合を示している。
【0083】まず保守コンソール200より制御CPU
1に対しCPU3(EEPROM34)へのファームウ
ェアダウンロード実施を指示する。これを受けた制御C
PU1は、内部タイマ(例えば30秒)を起動し、CP
U3に対するダウンロードを実施する。やがて、内部タ
イマがタイムアウトすると、ダウンロード引継情報を作
成し、制御CPU1からCPU2にダウンロード引継を
指示する。
【0084】これを受けたCPU2は、内部タイマ(例
えば30秒)を起動し、CPU3に対するダウンロード
を実施する。やがて、内部タイマがタイムアウトする
と、ダウンロード引継情報を作成し、CPU2からCP
U3にダウンロード引継を指示する。以下同様にして、
このダウンロード処理はCPU3→CPU4→CPU1
→CPU2等と順次引き継がれる。そして、ダウンロー
ド処理を完了したCPUは制御CPU1にダウンロード
完了を通知し、これを受けた制御CPU1は保守コンソ
ール200にダウンロード終了を通知する。
【0085】なお、上記ダウンロード処理を各CPU1
〜4が各所定時間間隔で持ち回る代わりに、各CPU1
〜4がダウンロードサイクルの所定回数(又は所定デー
タ量等)で持ち回るように構成しても良いことは明らか
である。また、上記実施の形態では制御CPU1は各C
PUの負荷率に基づき負荷率最小のCPUをダウンロー
ド実施CPUに決定したが、その際には各CPUの機能
分担等を考慮に入れても良い。例えば、CPU4は実時
間性の高い(レスポンスの速い)処理を担当しているた
め、比較の対象から外されるか、又はCPU4の実際の
負荷率に例えば10%程度上乗せされた負荷率で比較さ
れる。
【0086】また、上記実施の形態では各CPU間の通
信をLAN300を介して行ったが、ユニバーサルアク
セスバス6を介して行うように構成しても良い。また、
上記本発明に好適なる実施の形態を述べたが、本発明思
想を逸脱しない範囲内で各部の構成、制御、及びこれら
の組合せの様々な変更が行えることは言うまでも無い。
例えばバス構造やLANの構造等は、上記実施の形態に
は限定されず、他にも様々な構造を採用できる。
【0087】
【発明の効果】以上述べた如く本発明によれば、マルチ
CPUシステムにおける任意CPUへのファームウェア
ダウンロードを何時でも他のどのCPUからでも効率良
く行えるので、システムの安定度を高め、かつサービス
品質の向上に寄与するところが極めて大きい。
【図面の簡単な説明】
【図1】本発明の原理を説明する図である。
【図2】実施の形態によるマルチCPUシステムのブロ
ック図である。
【図3】実施の形態によるマルチCPUシステムのメモ
リマップを説明する図である。
【図4】図4は実施の形態によるBOOT処理のフロー
チャートである。
【図5】実施の形態による制御CPU処理のフローチャ
ート(1)である。
【図6】実施の形態による制御CPU処理のフローチャ
ート(2)である。
【図7】実施の形態による制御CPU処理のフローチャ
ート(3)である。
【図8】実施の形態によるダウンロード実施CPU処理
のフローチャート(1)である。
【図9】実施の形態によるダウンロード実施CPU処理
のフローチャート(2)である。
【図10】実施の形態によるダウンロード処理のシーケ
ンス図(1)である。
【図11】実施の形態によるダウンロード処理のシーケ
ンス図(2)である。
【図12】実施の形態によるダウンロード処理のシーケ
ンス図(3)である。
【図13】実施の形態によるダウンロード処理のシーケ
ンス図(4)である。
【図14】実施の形態によるダウンロード処理のシーケ
ンス図(5)である。
【図15】実施の形態による保守コンソール−CPU間
の通信パケットを説明する図である。
【図16】実施の形態によるCPU−CPU間の通信パ
ケットを説明する図である。
【符号の説明】
1〜4 CPU1〜4盤 5 メモリ(MEM)盤 6 ユニバーサルアクセスバス 7 バスアービタ(UAB) 15〜45 DIPスイッチ(DSW) 16〜46 通信制御部(COM) 17〜47 ホストバス 57 メモリバス 18〜48 バスアービタ(HAB) 19〜59 バスブリッジ(HUB) 100 マルチCPUシステム 200 保守コンソール 300 ローカルエリアネットワーク(LAN)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 南野 謙一 石川県金沢市広岡3丁目1番1号 富士通 北陸通信システム株式会社内 (72)発明者 江川 和也 石川県金沢市広岡3丁目1番1号 富士通 北陸通信システム株式会社内

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 CPUとメモリとデータ通信手段とを備
    える複数のプロセッサ手段がメモリアクセスをするため
    の共通バスを介して相互に接続するマルチCPUシステ
    ムのファームウェアダウンロード方式において、 外部装置よりあるプロセッサ手段にデータ通信手段を介
    してダウンロードされたファームウェアを該プロセッサ
    手段のCPUが前記共通バスに対するメモリアクセスを
    介して他のCPUのメモリに直接書き込むことを特徴と
    するファームウェアダウンロード方式。
  2. 【請求項2】 各CPUは各データ通信手段を介して相
    互に接続すると共に、該データ通信手段を介して、外部
    装置からダウンロード制御の指示を受けた制御CPU
    が、自CPU又は他のCPUを選択して、該選択された
    CPUにダウンロード又は前記ダウンロードの仲介処理
    を実施させることを特徴とする請求項1に記載のファー
    ムウェアダウンロード方式。
  3. 【請求項3】 制御CPUは、各CPUから負荷率を収
    集して比較すると共に、負荷率最小のCPUにダウンロ
    ード又はその仲介処理を実施させることを特徴とする請
    求項2に記載のファームウェアダウンロード方式。
  4. 【請求項4】 ダウンロード又はその仲介処理を実施し
    ているダウンロード実施CPUは、定期的にダウンロー
    ド又はその仲介処理の引継情報を作成して制御CPUに
    通知することを特徴とする請求項2又は3に記載のファ
    ームウェアダウンロード方式。
  5. 【請求項5】 制御CPUは、ダウンロード実施CPU
    からの引継情報の通知が所定時間内に得られないことに
    より、他のCPUにダウンロード又はその仲介処理を引
    き継がせることを特徴とする請求項4に記載のファーム
    ウェアダウンロード方式。
  6. 【請求項6】 制御CPUは、各CPUから定期的に負
    荷率を収集して比較すると共に、ダウンロード又はその
    仲介処理を実施しているダウンロード実施CPUよりも
    他のCPUの負荷率が低い場合は、前記ダウンロード実
    施CPUのダウンロード又はその仲介処理を中断させ、
    かつ他の負荷率最小のCPUにダウンロード又はその仲
    介処理を引き継がせることを特徴とする請求項2乃至4
    の何れか一つに記載のファームウェアダウンロード方
    式。
  7. 【請求項7】 ダウンロード中断の指示を受けたダウン
    ロード実施CPUは、ダウンロード又はその仲介処理を
    中断すると共に、ダウンロード又はその仲介処理の引継
    情報を作成して制御CPUに通知することを特徴とする
    請求項6に記載のファームウェアダウンロード方式。
  8. 【請求項8】 ダウンロード又はその仲介処理を実施し
    ているダウンロード実施CPUは、自CPUの負荷率が
    所定以上となったことによりダウンロード又はその仲介
    処理の引継情報を作成して制御CPUに通知することを
    特徴とする請求項2乃至4の何れか一つに記載のファー
    ムウェアダウンロード方式。
  9. 【請求項9】 ダウンロード及びその仲介処理を実施し
    ていないCPUは、自CPUの負荷率が所定以下となっ
    たことによりその旨を制御CPUに通知することを特徴
    とする請求項2乃至4の何れか一つに記載のファームウ
    ェアダウンロード方式。
  10. 【請求項10】 制御CPUは、ダウンロード実施CP
    Uからの引継情報を元にダウンロード又はその仲介処理
    の残量を求め、該残量が所定以下の場合はダウンロード
    実施CPUのダウンロード又はその仲介処理を中断させ
    ないことを特徴とする請求項6,8又は9に記載のファ
    ームウェアダウンロード方式。
  11. 【請求項11】 各CPUは各データ通信手段を介して
    相互に接続すると共に、予めダウンロード又はその仲介
    処理を実施するCPUの順番を定めておき、かつ前記デ
    ータ通信手段を介して、まず外部装置からダウンロード
    開始の指示を受けたCPUが所定時間のダウンロード又
    はその仲介処理を実施し、次に該CPUが前記順番に従
    ってダウンロード又はその仲介処理を次のCPUに引き
    継がせ、こうして、各所定時間のダウンロード又はその
    仲介処理を各CPU間の持ち回りで順次実施することを
    特徴とする請求項1に記載のファームウェアダウンロー
    ド方式。
  12. 【請求項12】 各CPUは各データ通信手段を介して
    相互に接続すると共に、予めダウンロード又はその仲介
    処理を実施するCPUの順番を定めておき、かつ前記デ
    ータ通信手段を介して、まず外部装置からダウンロード
    開始の指示を受けたCPUが所定量のダウンロード又は
    その仲介処理を実施し、次に該CPUが前記順番に従っ
    てダウンロード又はその仲介処理を次のCPUに引き継
    がせ、こうして、各所定量のダウンロード又はその仲介
    処理を各CPU間の持ち回りで順次実施することを特徴
    とする請求項1に記載のファームウェアダウンロード方
    式。
JP14273198A 1998-05-25 1998-05-25 ファームウェアダウンロード方式 Withdrawn JPH11338703A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14273198A JPH11338703A (ja) 1998-05-25 1998-05-25 ファームウェアダウンロード方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14273198A JPH11338703A (ja) 1998-05-25 1998-05-25 ファームウェアダウンロード方式

Publications (1)

Publication Number Publication Date
JPH11338703A true JPH11338703A (ja) 1999-12-10

Family

ID=15322278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14273198A Withdrawn JPH11338703A (ja) 1998-05-25 1998-05-25 ファームウェアダウンロード方式

Country Status (1)

Country Link
JP (1) JPH11338703A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072532A (ja) * 2005-09-02 2007-03-22 Fujitsu Ltd 複数チップの起動方法
JP2007072938A (ja) * 2005-09-09 2007-03-22 Hitachi-Lg Data Storage Inc 電子機器及びそのエラー対処方法
JP2013099557A (ja) * 2013-01-11 2013-05-23 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP2016001441A (ja) * 2014-06-12 2016-01-07 富士通株式会社 システムおよび配下装置
JP2017027484A (ja) * 2015-07-27 2017-02-02 富士通フロンテック株式会社 ダウンロード処理プログラム、端末装置及びダウンロード方法
CN115344292A (zh) * 2022-10-13 2022-11-15 深圳古瑞瓦特新能源有限公司 固件自动升级方法、装置、电子设备及可读存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072532A (ja) * 2005-09-02 2007-03-22 Fujitsu Ltd 複数チップの起動方法
KR100796473B1 (ko) 2005-09-02 2008-01-21 후지쯔 가부시끼가이샤 복수 칩의 기동 방법
US7822957B2 (en) 2005-09-02 2010-10-26 Fujitsu Semiconductor Limited Method for carrying out an information processing in accordance with firmware in a plurality of chips
JP4644569B2 (ja) * 2005-09-02 2011-03-02 富士通セミコンダクター株式会社 複数チップの起動方法
JP2007072938A (ja) * 2005-09-09 2007-03-22 Hitachi-Lg Data Storage Inc 電子機器及びそのエラー対処方法
JP2013099557A (ja) * 2013-01-11 2013-05-23 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP2016001441A (ja) * 2014-06-12 2016-01-07 富士通株式会社 システムおよび配下装置
JP2017027484A (ja) * 2015-07-27 2017-02-02 富士通フロンテック株式会社 ダウンロード処理プログラム、端末装置及びダウンロード方法
CN115344292A (zh) * 2022-10-13 2022-11-15 深圳古瑞瓦特新能源有限公司 固件自动升级方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
JPH10187638A (ja) クラスタ制御システム
US8046520B2 (en) Compound computer system and method for sharing PCI devices thereof
US6529978B1 (en) Computer input/output (I/O) interface with dynamic I/O adaptor processor bindings
CN104508634A (zh) 虚拟机的动态资源分配
US7007192B2 (en) Information processing system, and method and program for controlling the same
JPH1097490A (ja) スケーラブル対称型マルチプロセッサにおいてバス幅またはバス・プロトコルを変更せずに割り込みを分散する方法および装置
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
JPH0795317B2 (ja) マルチプロセッサ・システムのジョブの割当方法
US20240345844A1 (en) Cluster Management Method, Device, and Computing System
JPH11338703A (ja) ファームウェアダウンロード方式
JP3490002B2 (ja) マルチクラスタシステムを構成する計算機
JP2003316752A (ja) マルチプロセッサシステムおよびリソース割り当て方法
JPH03241448A (ja) Ipl方式
JP2003271404A (ja) マルチプロセッサシステム
JPS6383856A (ja) マルチプロセッサシステムおよび同システムの初期化方法
JP2001027951A (ja) マルチプロセッサ構成の情報処理システムにおけるファイルロード装置と記録媒体
JPH1069470A (ja) マルチプロセッサシステム
JPH11232233A (ja) ネットワークコンピュータ管理方法及びネットワークコンピュータシステム
JP2004151824A (ja) ネットワークシステム
JPH07262067A (ja) ネットワーク型ファイルバックアップ装置
JP2001290678A (ja) 非同期メモリダンプ実行方式
US7688840B2 (en) Method for incorporating new device in information processing apparatus, information processing apparatus and computer readable information recording medium
JP3302158B2 (ja) コンピュータシステム
KR0168947B1 (ko) 실시간 분산시스템에서 디스크를 갖지 않는 노드의 부팅 방법
JP2004151825A (ja) ネットワークシステム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050802