JPH0769892B2 - プログラムロ−ド方式 - Google Patents

プログラムロ−ド方式

Info

Publication number
JPH0769892B2
JPH0769892B2 JP62100290A JP10029087A JPH0769892B2 JP H0769892 B2 JPH0769892 B2 JP H0769892B2 JP 62100290 A JP62100290 A JP 62100290A JP 10029087 A JP10029087 A JP 10029087A JP H0769892 B2 JPH0769892 B2 JP H0769892B2
Authority
JP
Japan
Prior art keywords
processor
program
slave
storage device
processors
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.)
Expired - Fee Related
Application number
JP62100290A
Other languages
English (en)
Other versions
JPS63265346A (ja
Inventor
勉 宇津木
次男 菅原
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.)
NEC Corp
NEC Communication Systems Ltd
Original Assignee
NEC Corp
NEC Communication Systems 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 NEC Corp, NEC Communication Systems Ltd filed Critical NEC Corp
Priority to JP62100290A priority Critical patent/JPH0769892B2/ja
Publication of JPS63265346A publication Critical patent/JPS63265346A/ja
Publication of JPH0769892B2 publication Critical patent/JPH0769892B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/177Initialisation or configuration control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセッサシステムに於けるプログラム
ロード方式に関する。
〔従来の技術〕
従来、バスに複数のプロセッサを接続したマルチプロセ
ッサシステムに於いては、各プロセッサそれぞれにロー
ドプログラムの格納されたプログラムロード専用のROM
を持たせておき、リセット,電源投入等によりプログラ
ムをロードすることが必要になった場合、各プロセッサ
に、それぞれが有しているROMに格納されているロード
プログラムに従ったロード処理を行なわせるようにして
いる。
〔発明が解決しようとする問題点〕
従来は上述したように、各プロセッサそれぞれにプログ
ラムロード専用のROMを持たせていたため、ROMがプロセ
ッサの数だけ必要になり、ロードプログラムの書換えも
ROM数つまりロードプログラム数が多い分だけ手間取る
問題があった。
本発明は前述の如き問題点を解決したものであり、その
目的は各プロセッサに共通な1つのロードプログラムを
格納するROMを使用して全てのプログラムに必要なプロ
グラムのロードが可能な方式を提供することにある。
〔問題点を解決するための手段〕
本発明は前述の如き問題点を解決するため、 バスに接続された複数個のプロセッサと、 前記バスに接続された主記憶装置と、 前記バスに接続され、前記プロセッサ用のプログラムが
格納されている外部記憶装置とを含むマルチプロセッサ
システムに於いて、 前記複数個のプロセッサの内のマスタプロセッサとすべ
きプロセッサを指示すると共に残りのプロセッサをスレ
ーブプロセッサとして指示する指示手段と、 前記バスに接続されて前記各プロセッサからアクセス可
能であり、且つ、マスタプロセッサであるか否かの判断
処理と該判断処理によりマスタプロセッサであると判断
されたときに実行すべきマスタプロセッサ用処理とマス
タプロセッサでないと判断されたときに実行すべきスレ
ーブプロセッサ用処理とを記述したロードプログラムが
格納されたROMとを備え、 前記各プロセッサは自プロセッサのリセット時、前記RO
Mに格納されているロードプログラムの同一アドレスの
命令から実行を開始し、 前記ロードプログラム中の前記判断処理の実行により自
プロセッサが前記指示手段でマスタプロセッサとして指
示されていると判断したプロセッサは、前記ロードプロ
グラム中の前記マスタプロセッサ用処理を実行すること
により前記外部記憶装置に格納されているマスタプロセ
ッサ用プログラム及びスレーブプロセッサ用プログラム
を前記主記憶装置に読上げた後、マスタプロセッサ用プ
ログラムに実行を移し、 前記ロードプログラム中の前記判断処理の実行により自
プログラムが前記指示手段でスレーブプロセッサとして
指示されていると判断したプロセッサは、前記ロードプ
ログラム中の前記スレーブプロセッサ用処理を実行する
ことにより前記主記憶装置に読上げられたスレーブプロ
セッサ用プログラムに実行を移す。
〔作用〕
各プロセッサは自プロセッサのリセット時、ROMに格納
されているロードプログラムの同一アドレスの命令から
実行を開始する。ロードプログラムにはマスタプロセッ
サであるか否かの判断処理と、この判断処理によりマス
タプロセッサであると判断さたときに実行すべきマスタ
プロセッサ用処理と、マスタプロセッサでないと判断さ
れたときに実行すべきスレーブプロセッサ用処理とが記
述されている。
判断処理の実行により、マスタプロセッサとして指示さ
れていると判断したプロセッサは、マスタプロセッサ用
処理を実行することにより、外部記憶装置に格納されて
いるマスタプロセッサ用プログラム及びスレーブプロセ
ッサ用プログラムを主記憶装置に読上げた後、マスタプ
ロセッサ用プログラムに実行を移し、スレーブプロセッ
サとして指示されていると判断したプロセッサは、ロー
ドプログラム中のスレーブプロセッサ用処理を実行する
ことにより、主記憶装置に読上げられたスレーブプロセ
ッサ用プログラムに制御を移す。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の実施例のブロック図である。バス10に
はマスタプロセッサとして指示されたプロセッサ1と、
スレーブプロセッサとして指示されたn台のプロセッサ
2−1〜2−nと、ロードプログラムが格納され、各プ
ロセッサ1,2−1〜2−nからアクセス可能なROM20と、
主記憶装置30と、プロセッサ1及びプロセッサ2−1〜
2−nで実行するプログラムが格納されている外部記憶
装置40とが接続されている。プロセッサ1及びプロセッ
サ2−1〜2−nにはそれぞれのプロセッサ番号及びマ
スタであるかスレーブであるかを示す情報を与える指示
手段11,12−1〜12−nが設けられている。この指示手
段11,12−1〜12−nは、例えばプロセッサユニットを
搭載するボードのある端子が接地されているか否かによ
ってマスタかスレーブかを指示する機構と、例えば手動
でプロセッサ番号を設定し得る番号設定回路とで構成さ
れ、今の例では指示手段11はマスタ及びそのプロセッサ
番号を指示し、指示手段12−1〜12−nはスレーブ及び
そのプロセッサ番号を指示している。
第2図は外部記憶装置40の構成例を示す図であり、領域
#0にはマスタプロセッサ用のプログラムが格納され、
領域#1〜#nにはそれぞれ異なるスレーブプロセッサ
用のプログラムが格納されている。また、領域#0〜#
nに格納されている各プログラムは、それ自身が主記憶
装置30上のどの領域にロードされるものなのかを示す格
納位置情報及びそれ自身が実行されるプロセッサのプロ
セッサ番号を含んでいる。
第3図は主記憶装置30の構成例を示す図であり、マスタ
プロセッサ用の領域#0′の各スレーブプロセッサ用の
領域#1′〜#n′とが設けられている。また、マスタ
プロセッサ用の領域#0′には、ロード完了宣言フラグ
が格納される領域#aと、読上げ完了フラグが格納され
る領域#bと、引取り完了フラグが格納される領域#c
とが設けられている。
第4図はROM20に格納されているロードプログラムの処
理内容の一例を示すフローチャートである。
次に、本発明の実施例の動作を説明する。
電源投入時,リセット時等に於いては、外部記憶装置40
に格納されているプログラムを主記憶装置30にロードす
る必要があり、このような場合、プロセッサ1、プロセ
ッサ2−1〜2−nにはリセット信号が加えられる。
プロセッサ1及びプロセッサ2−1〜2−nはリセット
信号が加えられると、ロードプログラムが格納されてい
るROM20の同一アドレスからそれぞれ独立に命令をフェ
ッチし、第4図のフローチャートに示す処理を開始す
る。
先ず、プロセッサ1及びプロセッサ2−1〜2−nは、
主記憶装置30の領域#a,#b,#cに格納されているロー
ド完了宣言フラグ,読上げ完了フラグ,引取り完了フラ
グをリセット状態にし(ステップS1)、次いで、指示手
段11,12−1〜12−nからの情報に基づいてそれ自身が
マスタプロセッサであるか否かを判断する(ステップS
2)。ステップS2でマスタプロセッサであると判断した
プロセッサ(今の例ではプロセッサ1)は、外部記憶装
置40の領域#1〜#nに格納されているスレーブプロセ
ッサ用のプログラムの内の1つを主記憶装置30のマスタ
プロセッサ用領域#0′に読上げ、読上げが完了すると
領域#bに格納されている読上げ完了フラグをセット状
態にし(ステップS3)、スレーブプロセッサが読上げた
プログラムを引取るのを待つ(ステップS4)。尚、スレ
ーブプロセッサが上記読上げたプログラムを引取ったか
否かは、主記憶装置30の領域#cに格納されている引取
り完了フラグがセットされているか否かに基づいて判断
するものである。
一方、ステップS2でマスタプロセッサでないと判断した
プロセッサ(この例ではプロセッサ2−1〜2−n)
は、マスタプロセッサとは異なる処理ステップS9〜S12
を実行する。先ず、主記憶装置30の領域#bに格納され
ている読上げ完了フラグに基づいてプログラムの読上げ
が完了したと判断すると(ステップS9)、読上げられた
プログラムが自プロセッサ用のものなのか否かを判断す
る(ステップS10)。この判断は、指示手段12−1〜12
−nからのプロセッサ番号と読上げられたプログラムに
含まれているプロセッサ番号とを比較することにより行
なわれる。そして、主記憶装置30の領域#0′に読上げ
られたプログラムが自プロセッサ用のプログラムである
と判断したプロセッサは、主記憶装置30の領域#0′に
読上げられたプログラムをプログラム中に含まれる格納
位置情報に基づいた領域に格納することにより、プログ
ラムを引取り、プログラムの引取りが完了すると領域#
cに格納されている引取り完了フラグをセットし(ステ
ップS11)、全てのプログラムのロードが完了するのを
待つ(ステップS12)。尚、全てのプログラムのロード
が完了したか否かは、主記憶装置30の領域#aに格納さ
れているロード完了宣言フラグがセットされているか否
かに基づいて判断するものである。
また、ステップS4に於いてプログラムが引取られるのを
待っていたプロセッサ1は、プログラムが引取られたこ
とを、主記憶装置30の領域#cに格納されている引取り
完了フラグがセットされたことにより検出すると、領域
#b,#cに格納されている読上げ完了フラグ及び引取り
完了フラグをリセットし(ステップS5)、次いで全ての
スレーブプロセッサであるプロセッサ2−1〜2−nに
対するプログラムのロードが終了したか否かを判断する
(ステップS6)。そして、終了していないと判断した場
合は、ステップS3の処理に戻り、主記憶装置30のマスタ
プロセッサ用の領域#0′に残りのスレーブプロセッサ
用のプログラムを読上げる処理を行なう。また、終了し
たと判断した場合は外部記憶装置40の領域#0に格納さ
れているマスタプロセッサ用のプログラムを主記憶装置
30のマスタプロセッサ用の領域#0′に読上げ(ステッ
プS7)、次いで主記憶装置30の領域aに格納されている
ロード完了宣言フラグをセットすることにより、プログ
ラムロードが完了したことを宣言する(ステップS8)。
そして、プログラムロードが完了したことが宣言される
と、プロセッサ1、プロセッサ2−1〜2−nはこれに
同期して、主記憶装置30にロードされたプログラムに従
った処理を開始する。
上述した実施例では、スレーブプロセッサとされる各プ
ロセッサ2−1〜2−n用のプログラムをロードするた
めに、指示手段12−1〜12−nにより各プロセッサ2−
1〜2−nにスレーブかマスタかの種別を示す情報以外
にプロセッサ番号を与える番号があるが、ROM20に格納
されているロードプログラムの処理内容を第5図に示す
ものとし、主記憶装置30の構成を第6図に示すものとす
ることにより、各プロセッサ2−1〜2−nに種別を示
す情報を与えるだけで、そのプログラムのロードを行な
うことが可能となる。尚、第6図に於いて、マスタプロ
セッサ用の領域#0′に設けられた領域#dはロック用
フラグを格納する領域であり、他の第3図と同一符号は
同一部分を表している。
プロセッサ1及びプロセッサ2−1〜2−nはリセット
信号が加えられると、前述したと同様に、ロードプログ
ラムが格納されているROM20からそれぞれ独立に命令を
フェッチし、第5図のフローチャートに示す処理を開始
する。
先ず、プロセッサ1及びプロセッサ2−1〜2−nは、
主記憶装置30の領域#a,#b,#c,#dに格納されている
各フラグをリセット状態にし(ステップS21)、次い
で、指示手段11,12−1〜12−nからの情報に基づいて
それ自身がマスタプロセッサであるか否かを判断する
(ステップS22)。マスタプロセッサであると判断した
プロセッサ(今の例ではプロセッサ1)は、ステップS2
5で読上げ完了フラグ,引取り完了フラグ及びロック用
フラグをリセットする以外、前述したと同様の動作を行
なう(ステップS23〜S28)。
一方、ステップS29でマスタプロセッサでないと判断し
たプロセッサ(今の例では2−1〜2−n)は主記憶装
置30の領域bに格納されている読上げ完了フラグに基づ
いてプログラムの読上げが完了したと判断すると(ステ
ップS29)、主記憶装置30の領域#dに格納されている
ロック用フラグがセットされているか否かを判断する
(ステップS30)。そして、ロック用フラグがセットさ
れていないと判断した場合は、ロック用フラグをセット
して他のプロセッサからのプログラムの引取を禁止し
(ステップS31)、次いで主記憶装置30の領域#0′に
読上げられたプログラムをそのプログラムに含まれる格
納位置情報対応の領域に格納することにより、プログラ
ムを引取り、プログラムの引取りが完了すると、引取り
完了フラグをセットし(ステップS32)、全てのプログ
ラムのロードが完了するのを待つ(ステップS33)。
尚、或るプロセッサがロック用フラグ=リセットと判別
し、これをセットする以前に他のプロセッサがロック用
フラグ=リセットと判別することによる問題を避けるた
めに、所謂セマフォを用いて各スレーブプロセッサ間で
の排他性を確保するようにしても良い。このように、本
実施例では、主記憶装置30の領域#0′にプログラムが
読上げられたことを最初に検出したスレーブプロセッサ
がそのプログラムを引取ることになり、各スレーブプロ
セッサはそれぞれ異なるスレーブプロセッサ用プログラ
ムを1つずつ引取ることになるので、各プロセッサ2−
1〜2−nに指示手段12−1〜12−nによりプロセッサ
番号を与えておく必要がなくなる。
尚、上述した実施例では、外部記憶装置40に格納されて
いる各プログラムに格納位置情報を含ませ、その格納位
置情報に基づいてプログラムの格納位置を管理するよう
にしたが、マスタプロセッサに指示されたプロセッサ1
にて主記憶装置30の領域割当て処理を行ない、プロセッ
サ1は例えば主記憶装置30からスレーブプロセッサ用の
プログラムを読上げると、これに上記処理で決定される
格納位置情報を付加し、このプログラムの引取側スレー
ブプロセッサは上記付加された格納位置情報に従ってプ
ログラムをプログラムを移送するように構成することも
できる。尚、マスタプロセッサに於ける主記憶装置30の
領域割当て処理を実現するプログラムはROM20に格納し
ておいても、外部記憶装置40のマスタプロセッサ用プロ
グラムに含めておいても良く、後者の場合、マスタプロ
セッサはスレーブプロセッサ用のプログラムを読上げる
前にマスタプロセッサ用プログラムの少なくとも領域割
当て処理部分を先に主記憶装置30に読上げることが必要
である。
また、上述した実施例では外部記憶装置40に格納されて
いるプログラムを主記憶装置30の所定領域#0′に読上
げた後、各スレーブプロセッサ対応の領域に格納するよ
うにしたが、最初から各スレーブプロセッサ対応の領域
に格納するようにすることもできる。しかし、そのよう
にした場合は、マスタプロセッサは常に読上げたプログ
ラムを主記憶装置30のどの領域に格納するかを判断しな
ければならず、マスタプロセッサに於ける処理は多少複
雑になる。
〔発明の効果〕
以上説明したように、本発明は、各プロセッサから自由
にアクセスできるROMにロードプログラムを格納するこ
とにより、従来、プロセッサの数だけ必要だったロード
プログラム格納用のROMの数を1つにすることができ、
従ってその書換えも容易になる。また、リセット時、各
プロセッサは、ROMの同一アドレスを実行するので、各
プロセッサのリスタート番地を同じにでき、共通バスを
介してROM,主記憶装置,外部記憶装置に全てのプロセッ
サが共通に接続される構成を採用したことと相俟って、
各プロセッサの仕様を標準化できる効果がある。また、
プログラムロードに関して必要となるハードウェアは、
ROM以外に指示手段があれば良く特別なハードウェア機
構が必要ないという効果もある。更に、ロードプログラ
ムを、マスタプロセッサであるか否かの判断処理と、マ
スタプロセッサ用処理と、スレーブプロセッサ用処理と
から構成したものであるので、ロードプログラムの構造
や制御が簡易になる効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、 第2図は外部記憶装置40の構成例を示す図、 第3図は主記憶装置30の構成例を示す図、 第4図はロードプログラムの処理内容の一例を示すフロ
ーチャート、 第5図はロードプログラムの処理内容の他の例を示すフ
ローチャート及び、 第6図は主記憶装置30の他の構成例を示す図である。 図に於いて、1,2−1〜2−n……プロセッサ、10……
バス、11,12−1〜12−n……指示手段、20……ロード
プログラムの格納されているROM、30……主記憶装置、4
0……外部記憶装置。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−92045(JP,A) 特開 昭63−148354(JP,A) 特開 昭61−84765(JP,A) 特開 昭56−40935(JP,A) 特開 昭63−104167(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】バスに接続された複数個のプロセッサと、 前記バスに接続された主記憶装置と、 前記バスに接続され、前記各プロセッサ用のプログラム
    が格納されている外部記憶装置とを含むマルチプロセッ
    サシステムに於いて、 前記複数個のプロセッサの内のマスタプロセッサとすべ
    きプロセッサを指示すると共に残りのプロセッサをスレ
    ーブプロセッサとして指示する指示手段と、 前記バスに接続されて前記各プロセッサからアクセス可
    能であり、且つ、マスタプロセッサであるか否かの判断
    処理と該判断処理によりマスタプロセッサであると判断
    されたときに実行すべきマスタプロセッサ用処理とマス
    タプロセッサでないと判断されたときに実行すべきスレ
    ーブプロセッサ用処理とを記述したロードプログラムが
    格納されたROMとを備え、 前記各プロセッサは自プロセッサのリセット時、前記RO
    Mに格納されているロードプログラムの同一アドレスの
    命令から実行を開始し、 前記ロードプログラム中の前記判断処理の実行により自
    プロセッサが前記指示手段でマスタプロセッサとして指
    示されていると判断したプロセッサは、前記ロードプロ
    グラム中の前記マスタプロセッサ用処理を実行すること
    により前記外部記憶装置に格納されているマスタプロセ
    ッサ用プログラム及びスレーブプロセッサ用プログラム
    を前記主記憶装置に読上げた後、マスタプロセッサ用プ
    ログラムに実行を移し、 前記ロードプログラム中の前記判断処理の実行により自
    プログラムが前記指示手段でスレーブプロセッサとして
    指示されていると判断したプロセッサは、前記ロードプ
    ログラム中の前記スレーブプロセッサ用処理を実行する
    ことにより前記主記憶装置に読上げられたスレーブプロ
    セッサ用プログラムに実行を移すことを特徴とするプロ
    グラムロード方式。
JP62100290A 1987-04-23 1987-04-23 プログラムロ−ド方式 Expired - Fee Related JPH0769892B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62100290A JPH0769892B2 (ja) 1987-04-23 1987-04-23 プログラムロ−ド方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62100290A JPH0769892B2 (ja) 1987-04-23 1987-04-23 プログラムロ−ド方式

Publications (2)

Publication Number Publication Date
JPS63265346A JPS63265346A (ja) 1988-11-01
JPH0769892B2 true JPH0769892B2 (ja) 1995-07-31

Family

ID=14270052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62100290A Expired - Fee Related JPH0769892B2 (ja) 1987-04-23 1987-04-23 プログラムロ−ド方式

Country Status (1)

Country Link
JP (1) JPH0769892B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2760363B2 (ja) * 1990-11-14 1998-05-28 株式会社ピーエフユー 初期化処理装置
JP5106147B2 (ja) * 2008-01-23 2012-12-26 アルパイン株式会社 マルチプロセッサ処理システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5640935A (en) * 1979-09-11 1981-04-17 Fujitsu Ltd Initial set processing system for multiprocessor system
JPS6184765A (ja) * 1984-10-02 1986-04-30 Matsushita Electric Ind Co Ltd マルチプロセツサシステム

Also Published As

Publication number Publication date
JPS63265346A (ja) 1988-11-01

Similar Documents

Publication Publication Date Title
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
US5765025A (en) Digital signal processor with on board program having arithmetic instructions and direct memory access instructions for controlling direct memory access thereof
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH0769892B2 (ja) プログラムロ−ド方式
JP3317361B2 (ja) メモリのバッテリバックアップ制御方式
JPH01286029A (ja) マイクロプログラムのパッチ方式
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JP2800540B2 (ja) パネル監視方式
JP2587468B2 (ja) ロツクデータ設定装置
JPH082727Y2 (ja) プログラマブルシ−ケンサ
JP2507964B2 (ja) プログラム転送方式
JP3130798B2 (ja) バス転送装置
JP3393475B2 (ja) プログラマブル・コントローラ
JP3168845B2 (ja) ディジタル信号処理装置
JP3139310B2 (ja) ディジタル信号処理装置
JP2506591B2 (ja) 補助処理装置
JP3127737B2 (ja) ディジタル信号処理装置
JPS601657B2 (ja) アドレス変換方法
JPH03103924A (ja) データ処理装置
JP2582294B2 (ja) モジュール間結合実行制御方式
JP2547329B2 (ja) ロツクデータ設定装置
JP2551075B2 (ja) オーバレイ構造プログラム実行方式
JPH0239817B2 (ja) Warikomiseigyohoshiki
JPH01286028A (ja) マイクロプログラムのパッチ方式
JPS5822765B2 (ja) 電子計算機システムにおけるプログラムロ−ド方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees