JP2000137690A - マルチcpuシステム - Google Patents

マルチcpuシステム

Info

Publication number
JP2000137690A
JP2000137690A JP10324542A JP32454298A JP2000137690A JP 2000137690 A JP2000137690 A JP 2000137690A JP 10324542 A JP10324542 A JP 10324542A JP 32454298 A JP32454298 A JP 32454298A JP 2000137690 A JP2000137690 A JP 2000137690A
Authority
JP
Japan
Prior art keywords
cpu
slave
program
block
master
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
JP10324542A
Other languages
English (en)
Inventor
Shoichi Hayashi
省一 林
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.)
UERUBIIN KK
Original Assignee
UERUBIIN KK
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 UERUBIIN KK filed Critical UERUBIIN KK
Priority to JP10324542A priority Critical patent/JP2000137690A/ja
Priority to US09/218,786 priority patent/US6253233B1/en
Publication of JP2000137690A publication Critical patent/JP2000137690A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 スレーブ側のCPUのプログラムの変更を容
易にし、また、スレーブ側のみで制御プログラムを構築
し、制御プログラムの作成を容易にすること。 【解決手段】 バス9、24に、ネットワークインター
フェース22と、ネットワークエミュレーション機能を
付加した共有メモリ23とを接続し、共有メモリ23を
境にしてマスタ側1とスレーブ側29とに分離するとと
もに、スレーブ側のバス24には、計測・制御対象機器
30に接続する計測・制御機能ブロック31、32と、
スレーブCPUブロック25のRAM28にプログラム
をダウンロードするための起動プログラムを記憶したR
OM27、45とを接続し、RAM28がバス9、24
を介してダウンロードしたプログラムを記憶して、この
プログラムに基づいて計測・制御対象機器30を制御す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、産業用のマルチ
CPUシステムに関し、特に、マスタCPUブロックと
スレーブCPUブロックとで異なるOSを搭載する場合
に適したシステムである。
【0002】
【従来の技術】従来のマルチCPUシステムを図5に示
す。CPU3には、ROM4とRAM5を接続してマス
タCPUブロック2を構成している。さらに、マスタC
PUブロック2には、記憶手段6と、キーボードやマウ
ス等の入力装置7と、モニター8が接続されている。こ
のマスタCPUブロック2とこれに直接接続される装置
はユーザーが操作する部分で、マスタ側1ということに
する。また、CPU3はバス9を介して、スレーブCP
Uブロック15、21に接続されている。そして、スレ
ーブCPUブロック15、21は、それぞれ、CPU1
1、17を備えている。上記CPU11、17には、通
信手段10、16と、ROM12、18と、RAM1
3、19と、計測・制御機能部14、20とを接続して
いる。そして、上記マスタCPUブロック2のCPU3
は、スレーブCPUブロック15、21の通信手段1
0、16にアクセスすることができる。
【0003】このようなスレーブCPUブロック15、
21は、ROM12、18に格納されたプログラムに基
づいて機能する。また、上記計測・制御機能部14、2
0は、計測・制御対象機器30に接続され、この計測・
制御対象機器30は、CPU11、17によって制御さ
れる。そして、計測・制御対象機器30を接続するスレ
ーブCPUブロック15、21をスレーブ側29とす
る。なお、計測・制御機能部14、20は、例えば、接
点入出力や、アナログデジタルコンバータ(以下ADC
という)、デジタルアナログコンバータ(以下DACと
いう)等の機能を備えている。そして、上記スレーブC
PUブロック15、21と同様に構成され、必要な機能
を備えたスレーブCPUブロックを増設することでマル
チCPUシステムを構成する。
【0004】
【発明が解決しようとする課題】上記スレーブCPUブ
ロック15、21の各CPU11、17のプログラム
は、ROM12、18に格納されているため、スレーブ
CPUブロックの機能を変更するためにプログラムの変
更が必要になった場合には、ROM自体を変更しなけれ
ばならない。このようなROMの変更は容易にはでき
ず、例えば、組み込み機器において現場でROMを交換
することは非常に大変なことで、メンテナンスのコスト
アップにつながる。また、それぞれのスレーブCPUブ
ロック15、21が別々のプログラムによって動作する
ようになっているため、他のスレーブCPUブロックの
動作と関連した動作タイミングの調整をするための調整
用プログラムが別に必要となり、この調整をマスタCP
Uブロック2のCPU3が行なわなければならない。
【0005】上記のことを図5のシステムをもとに説明
すると、次のようになる。計測・制御機能ブロック14
と20に接続された計測・制御対象機器30を制御する
場合、スレーブCPUブロック15と21のROM1
2、18にそれぞれ格納されたプログラムの他に、これ
らのプログラムの動作タイミングを調整する調整用プロ
グラムが必要である。つまり、ROM12、18に格納
されたプログラムと、マスタ側1のCPU3の調整用プ
ログラムとで、計測・制御対象機器30を制御する制御
プログラムを構成することになる。
【0006】例えば、スレーブCPUブロック15がD
AC動作をし、スレーブCPUブロック21がADC動
作をして、計測・制御対象機器30を介して信号のやり
取りをする場合には、以下のようになる。まず、スレー
ブCPUブロック15がDAC動作をし、アナログ信号
を計測・制御対象機器30に与えると、それにより計測
・制御対象機器30が何らかの動作を行う。そして、計
測・制御対象機器30は、動作結果をアナログ信号でス
レーブCPUブロック21へ出力し、スレーブCPUブ
ロック21は、信号をデジタル化してCPU3へ出力す
る。このような信号のやり取りを行なうとき、CPU1
1とCPU17とは別のプログラムで動作しているの
で、これらCPU11、17が備えているプログラムだ
けでは互いの動作タイミング調整をすることができな
い。そこで、CPU17がDACの信号を取り込むタイ
ミングの制御は、マスタ側1のCPU3より、通信手段
16を介して行われている。
【0007】しかし、通常、スレーブ側29のCPUに
は制御系に適したリアルタイム性のあるOSを搭載し、
マスタ側1のCPUにはリアルタイム性はないがユーザ
ーインターフェースに適したOSを搭載している。マス
タ側1のCPUに搭載されるリアルタイム性がないOS
は、各ブロックの動作タイミングの調整を行なうことに
は適していない。したがって、このようなOSによっ
て、各ブロックの動作タイミングの調整を行なうように
すると、全体のプログラムが複雑になり、制御プログラ
ムの作成が困難になる。そこで、この発明はスレーブ側
のCPUのプログラムの変更を容易にし、また、スレー
ブ側のみで制御プログラムを構築し、制御プログラムの
作成を容易にすることを目的とする。
【0008】
【課題を解決するための手段】第1の発明は、マスタC
PUブロックと、CPUとROMとRAMとからなるス
レーブCPUブロックと、これらマスタCPUブロック
とスレーブCPUブロックとを接続するバスと、このバ
スに接続したネットワークインターフェースと、上記バ
スの中間に接続したネットワークエミュレーション機能
を付加した共有メモリとを備え、この共有メモリを境に
してマスタ側とスレーブ側とに分離するとともに、スレ
ーブ側のバスには、計測・制御対象機器に接続する計測
・制御機能ブロックと、スレーブCPUブロックのRA
Mにプログラムをダウンロードするための起動プログラ
ムを記憶したROMとを接続し、上記スレーブCPUブ
ロックのRAMが上記バスを介してダウンロードしたプ
ログラムを記憶して、このプログラムに基づいて上記計
測・制御機能ブロックを介して計測・制御対象機器を制
御する点に特徴を有する。
【0009】第2の発明は、マスタ側にネットワークイ
ンターフェースを設けた点に特徴を有する。第3の発明
は、スレーブ側にネットワークインターフェースを設け
た点に特徴を有する。第4の発明は、スレーブCPUブ
ロックのRAMにプログラムをダウンロードするための
起動プログラムを記憶したROMを、スレーブ側のバス
に直接接続した点に特徴を有する。第5の発明は、共有
メモリをネットワークインターフェースとしてエミュレ
ートするためのドライバソフトを記憶させた記憶手段を
備えた点を特徴とする。
【0010】このようなシステムでは、スレーブ側のC
PUのプログラムをマスタCPUブロックからダウンロ
ードすることによって、スレーブCPUブロックのRA
Mに記憶させる。そのため、プログラムの変更時には、
ROMの変更は不要で、新しいプログラムをダウンロー
ドすれば良い。また、スレーブCPUブロックのRAM
が記憶しているプログラムによって、計測・制御対象機
器を制御する。制御プログラムがスレーブ側のみで構築
でき、メインCPUブロックのOSがかかわらないの
で、制御プログラムの作成が容易である。
【0011】なお、上記ネットワークインターフェース
とは、ISOのネットワーク7階層参照モデルにおける
データリンク層のプロトコルまでを実現するインターフ
ェースを意味する。例えば、LANカードやISDNカ
ード等においてデータリンク層までを実現するようにエ
ミュレートする適当なドライバソフトが実装されている
ものが該当する。また、上記共有メモリとは、マスタ
側、スレーブ側のそれぞれのCPUブロックがバスを介
してアクセスできるメモリのことで、例えば、デュアル
ポートメモリやFIFO等がこれに該当し、この発明で
は、これに、ネットワークエミュレーション機能を付加
して用いる。
【0012】
【発明の実施の形態】図1に示す第1実施例では、この
発明のマルチCPUシステム33に、ホストコンピュー
タ35を通信回線34によって接続した例である。上記
ホストコンピュータ35には、複数のマルチCPUシス
テム33を接続してネットワークを構成することができ
るが、個々のマルチCPUシステム33は、全て同じ構
成なので、ここでは、ひとつだけを図示し、その詳細を
以下に説明する。上記マルチCPUシステム33は、マ
スタ側1とスレーブ側29とを共有メモリ23を境にし
て分離している。そして、マスタ側1を構成するマスタ
CPUブロック2およびこれに接続した装置は、従来例
と同じなので説明を省略する。ただし、バス9はマスタ
側1のバスで、このバスには、ネットワークインターフ
ェース22を接続するとともに、バス9の一端には、共
有メモリ23を接続している。
【0013】上記共有メモリ23にはバス24を接続
し、このバス24がスレーブ側29のバスとして機能す
る。スレーブ側29のバス24にはスレーブCPUブロ
ック25と、計測・制御機能ブロック31、32とを接
続している。上記スレーブCPUブロック25は、CP
U26とROM27とRAM28とからなる。また、上
記計測・制御機能ブロック31、32はCPUを持たな
いブロックで、従来例の計測・制御機能ブロック14、
20と同様の機能を備え、計測・制御対象機器30を接
続している。そして、この計測・制御機能ブロック3
1、32には、バス24を介してCPU26からのみア
クセスできる。
【0014】さらに、上記ネットワークインターフェー
ス22には、通信回線34を介して、ホストコンピュー
タ35を接続している。このホストコンピュータ35
は、上記マスタ側1と同様の構成である。すなわち、C
PU37、ROM39、RAM38からなるCPUブロ
ック36に記憶手段40、入力装置41、モニター42
を接続するとともに、バス43を介して、ネットワーク
インターフェース44を接続している。このネットワー
クインターフェース44が、上記通信回線34を介し
て、上記マスタ側1のネットワークインターフェース2
2と接続している。上記ホストコンピュータ35の記憶
手段40には、ネットワークインターフェース44を駆
動するためのドライバソフトウエアおよび、スレーブ側
29のRAM28にダウンロードする動作プログラムを
格納しておく。
【0015】また、マスタ側1の記憶手段6には、ネッ
トワークインターフェース22を駆動するためのドライ
バソフトウエアと、共有メモリ23をネットワークイン
ターフェースとしてエミュレートするためのドライバソ
フトウエアとを格納している。さらに、スレーブCPU
ブロック25のROM27には、上記共有メモリ23を
ネットワークインターフェースとしてエミュレートする
ためのドライバソフトウエアと、CPU26の起動プロ
グラムが格納されている。
【0016】上記起動プログラムは、ネットワークイン
ターフェースとしてエミュレートされた共有メモリ23
を介して、上記ホストコンピュータ35からプログラム
をダウンロードさせるためだけのプログラムである。こ
の起動プログラムによって、システムの立ち上がり時
に、自動的にCPUブロック36のCPU37を介し
て、プログラムをスレーブCPUブロック25のRAM
28にダウンロードすることができる。上記RAM28
にダウンロードされるプログラムは、スレーブCPUブ
ロック25のCPU26の動作プログラムで、この動作
プログラムが、計測・制御機能ブロック31、32の機
能および動作タイミングを制御する制御プログラムであ
る。
【0017】以下に、このシステムにおいて計測・制御
対象機器30を制御する方法を説明する。まず、システ
ムを立ち上げると、マスタ側1では、オぺレーティング
システムが起動し、ネットワークインターフェース22
を利用可能にする。それとともに、上記記憶手段6に格
納されたドライバソフトウエアにより、共有メモリ23
が、マスタ側1からネットワークインターフェースとし
て機能できるようにして、データ転送などの必要性に応
じて上記共有メモリ23と上記ネットワークインターフ
ェース22とをソフトウエア的に結び付ける。同時に、
スレーブCPUブロック25のROM27に格納された
ドライバソフトウエアにより、上記共有メモリ23は、
スレーブ側29からも、ネットワークインターフェース
として機能できるようになり、上記共有メモリ23は、
マスタ側1とスレーブ側29の両方からネットワークイ
ンターフェースとして利用可能になる。
【0018】また、マルチCPUシステム33外のホス
トコンピュータ35でも、上記マスタ側1と同様にオぺ
レーティングシステムが起動し、ネットワークインター
フェース44を利用可能にする。これにより、通信回線
34を介して接続されている上記ホストコンピュータ3
5から、上記マスタ側1およびスレーブ側29に通信可
能になる。この後、スレーブCPUブロック25のRO
M27に格納され起動プログラムによって、動作プログ
ラムがスレーブCPUブロック25のRAM28にダウ
ンロードされる。この動作プログラムに基づいて、CP
U26が計測・制御機能ブロック31、32を制御す
る。ここでは、計測・制御機能ブロック31がDAC動
作し、計測・制御機能ブロック32がADC動作する場
合について説明する。
【0019】計測・制御機能ブロック31がDACとし
て機能し、アナログ信号を計測・制御対象機器30に対
して出力すると、計測・制御対象機器30がこの信号に
したがって動作し、その結果をアナログ信号で計測・制
御機能ブロック32へ出力する。計測・制御機能ブロッ
ク32は、計測・制御対象機器30からのアナログ信号
を取り込んで、ADC動作をしてデジタル信号をCPU
26へ返す。この時、計測・制御機能ブロック31がア
ナログ信号を出力するタイミングや、計測・制御対象機
器30が出力したアナログ信号を計測・制御機能ブロッ
ク32が取り込むタイミング、さらに、デジタル信号を
CPU26に対して出力するタイミングもCPU26が
制御する。このようなタイミング制御は従来ではマスタ
側1のCPUが行なっていたものである。
【0020】このようにスレーブ側29のバス24に接
続した計測・制御機能ブロック31、32の動作制御
は、CPU26のみが行ない、従来例のようにマスタ側
1のCPUがタイミング制御を行なう必要がない。つま
り、マスタ側1のOSがスレーブ側の制御プログラムに
かかわらない。したがって、制御プログラムの作成が簡
単である。また、上記CPU26の動作プログラムは、
ホストコンピュータ35からマスタ側1を介してRAM
28にダウンロードして実行されるので、プログラムの
変更時に従来例のようにROMを修正する必要がない。
新しい動作プログラムをホストコンピュータ35の記憶
手段40、たとえばFDDに格納しておくだけで良い。
【0021】さらに、上記ホストコンピュータ35に上
記マルチCPUシステム33と同様のマルチCPUシス
テムを複数接続して、ネットワークを構成した場合に
も、ISOのネットワーク7階層参照モデルにおけるデ
ータリンク層より上位に属するプロトコルを利用するソ
フトウエアからは、上記ネットワークインターフェース
22および共有メモリ23により接続されている全ての
CPUブロックを透過的にアクセスすることができる。
そのため、複数のマルチCPUシステム33の動作プロ
グラムの更新を、ひとつのホストコンピュータ35か
ら、通信を利用して、同時に行うことができる。もちろ
ん、個々のマルチCPUシステム33のROMを修正す
る必要はない。したがって、動作プログラムのバージョ
ン管理の手間が大幅に削減される。特に、分散配置され
ているマルチCPUシステムの数が多いほど、そのメリ
ットは大きい。
【0022】ここで、上記マスタCPUブロック2やス
レーブCPUブロック25は、市販されている、例えば
PC/AT互換ボードやVMEボード等を用いて実現す
ることができる。また、計測・制御機能ブロック31、
32も市販のボードを利用することができる。そして、
共有メモリ23と、バス9および24と、上記市販ボー
ド用のソケットを実装したバックボードを用いて、この
システムを実現することができる。ただし、市販ボード
のROM27には、共有メモリ23を介してマスタ側1
のプログラムをダウンロードする起動プログラムは設定
されていないので、ROM27に上記起動プログラムを
記憶させなければならない。なお、この第1実施例で
は、2個の計測・制御機能ブロック31、32をバス2
4に接続しているが、同一あるいは異なる機能を備えた
計測・制御機能ブロックを多数接続しても良い。この場
合にも、スレーブ側のバス24に接続した全ての計測・
制御機能ブロックをスレーブ側29のCPU26で制御
することができる。
【0023】また、上記第1実施例では、ひとつのホス
トコンピュータ35に、複数のマルチCPUシステム3
3を接続する例を説明したが、マルチCPUシステム3
3を互いに通信回線34を介して接続し、それらのマル
チCPUシステム33のうちの特定のひとつを、上記ホ
ストコンピュータ35と同様に機能させるようにしても
良い。すなわち、通常は、全てのマルチCPUシステム
が、同様に、それぞれのシステムに接続した計測・制御
対象機器30を制御しているが、あるひとつのマルチC
PUシステム33の記憶手段6にだけ、動作プログラム
を記憶させ、他のマルチCPUシステム33のスレーブ
側29へは、それぞれのマスタ側1を介して、そのプロ
グラムをダウンロードするようにすればよい。
【0024】さらに、上記共有メモリ23をマスタ側
1、スレーブ側29の両側からネットワークエミュレー
トするためのドライバソフトウエアを、マスタ側1とス
レーブ側29とに分けて格納しているが、どちらか一方
にまとめて格納しておくこともできる。ただし、上記実
施例のように、両側に分けて格納した方が、一方にまと
めて格納した場合より、上記共有メモリ23をネットワ
ークインターフェースとして、より素早く立ち上げるこ
とができる。また、上記マスタ側1において、上記ドラ
イバソフトウエアをマスタCPUブロック2に接続した
記憶手段6に格納しているが、マスタCPUブロック2
のROM4に格納しておくこともできる。
【0025】図2に示す第2実施例は、スレーブ側29
のバス24にネットワークインターフェース22を接続
した点が上記第1実施例と異なるが、他の構成は、第1
実施例と同じである。上記ネットワークインターフェー
ス22と通信回線34とを介して、ホストコンピュータ
35とスレーブ側29とを接続している。そして、マス
タ側1の記憶手段6には、共有メモリ23をネットワー
クインターフェースとしてエミュレートするためのドラ
イバソフトウエアが格納されている。
【0026】また、スレーブCPUブロック25のRO
M27には、上記共有メモリ23をスレーブ側29から
ネットワークインターフェースとしてエミュレートする
ためのドライバソフトウエアと、ネットワークインター
フェース22を駆動するドライバソフトウエアとが、格
納されている。さらに、上記ホストコンピュータ35の
記憶手段40には、上記第1実施例と同様に、ネットワ
ークインターフェース44を駆動するためのドライバソ
フトウエアと、スレーブCPUブロック25のRAM2
8にダウンロードする動作プログラムを格納している。
【0027】この第2実施例においても、マルチCPU
システム33およびホストコンピュータ35が起動され
ると、各ネットワークインターフェース22、44が駆
動されるとともに、上記共有メモリ23がネットワーク
インターフェースとしてエミュレートされる。その後、
スレーブCPUブロック25のROM27に格納された
起動プログラムによって、スレーブ側29のネットワー
クインターフェース22を介して、ホストコンピュータ
35の記憶手段40に格納されている動作プログラムを
スレーブCPUブロック25のRAM28にダウンロー
ドする。このような動作プログラムのダウンロードが終
了したら、スレーブ側29は、RAM28にロードされ
たプログラムを実行する。上記スレーブ側29におい
て、計測・制御対象機器30を制御する方法は、第1実
施例と同じである。また、ホストコンピュータ35のか
わりに、他のマルチCPUシステム33のマスタ側1を
用いたり、さらに多数のマルチCPUシステム33のス
レーブ側29を互いに接続したりできる点は、第1実施
例と同様である。
【0028】上記第1、第2実施例のように、ネットワ
ークインターフェース22は、マスタ側1に設けても、
スレーブ側29に設けてもかまわない。マスタ側1、ス
レーブ側29のどちらのOSに直接データを入力したい
かということによって、上記ネットワークインターフェ
ース22を設ける位置を決めればよい。また、どちらか
負荷が小さい方に、ネットワークインターフェース22
を設けるようにすれば、マルチCPUシステム33とし
て、負荷を分散することができる。なお、マルチCPU
システム33内では、マスタ側1とスレーブ側29とを
バス9、24および共有メモリ23を介して接続してい
るので、その間でのデータ通信は高速で行われる。上記
ホストコンピュータ35から通信回線34を介して入力
されたデータは、一旦、マルチCPUシステム33内に
入力されれば、外部の通信回線を用いたデータ送信とは
比較にならない速度で送信される。つまり、マスタ側
1、スレーブ側29のどちらに作用させるデータを入力
する場合でも、伝送速度に関して、ネットワークインタ
ーフェース22を設ける位置による差は考慮する必要は
ない。
【0029】図3に示す第3実施例は、スレーブ側29
のバス24にROM45を接続した点が図1に示す第1
実施例と異なる。また、スレーブCPUブロック25と
して、市販の例えばPC/AT互換ボード等を使用して
いる。その他、同様な構成要素には、第1実施例と同じ
符号を付けるとともに、詳細な説明は省略する。そし
て、上記ROM45は、第1実施例のROM27と同様
にスレーブCPUブロック25のRAM28にプログラ
ムをダウンロードするための起動プログラムを記憶して
いる。
【0030】このシステムは、立ち上げると同時に、ホ
ストコンピュータ35の記憶手段40に記憶させた制御
プログラムが、スレーブ側29のRAM28にダウンロ
ードされる。そして、RAM28に記憶させた制御プロ
グラムによって、CPU26が計測・制御機能ブロック
31、32を制御する点は、第1実施例と同じである。
この第3実施例は、ダウンロード用の起動プログラムを
ROM45に格納して、これをバス24に接続したの
で、スレーブCPUブロック25のROM27には起動
プログラムを設定する必要がない。そのため、ROM2
7には、起動プログラムを設定しない市販ボードをその
まま用いることができる。
【0031】図4に示す第4実施例は、スレーブ側29
のバス24にROM45を接続した点が図2に示す第2
実施例と異なる。また、上記第3実施例と同様に、スレ
ーブCPUブロック25として、市販の例えばPC/A
T互換ボード等を使用している。このシステムを立ち上
げると、ホストコンピュータ35の記憶手段40に記憶
させた動作プログラムがスレーブ側29のネットワーク
インターフェース22を介して、RAM28にダウンロ
ードされる。そして、RAM28に記憶させた動作プロ
グラムによって、CPU26が計測・制御機能ブロック
31、32を制御する点は、第2実施例と同じである。
そして、ダウンロード用の起動プログラムをROM45
に格納してバス24に接続することによって、ROM2
7には、起動プログラムを設定しない市販ボードをその
まま用いることができる点は、上記第3実施例と同じで
ある。
【0032】なお、上記第1〜第4実施例では、共有メ
モリ23をネットワークインターフェースとして利用す
るために、ネットワークエミュレートするためのソフト
ウエアを用いているが、上記共有メモリ23に対し、ハ
ードウエア的にネットワークエミュレーション機能を付
加することもできる。ただし、ソフトウエア的に機能を
付加するようにすれば、通常のデュアルポートメモリや
FIFO等を利用することができる。
【0033】
【発明の効果】この発明のマルチCPUシステムは、ス
レーブ側が1個のCPUによるプログラムで制御される
ので、マスタ側に搭載したリアルタイム性がないOSに
かかわらずにスレーブ側のみで制御プログラムを構築で
きる。したがって、制御プログラムの作成が容易であ
る。また、制御プログラムをスレーブ側のRAMにダウ
ンロードするので、プログラムの変更に伴いスレーブ側
のROMの変更をする必要がなく、プログラムの変更が
容易である。特に、通信によってマルチCPUシステム
外部の記憶手段より制御プログラムをダウンロードでき
るので、マルチCPUシステム自体を変更することな
く、プログラムの更新ができ、しかも、複数のマルチC
PUシステムの制御プログラムを同時に更新できる。し
たがって、メンテナンス性が向上する。
【0034】特に、第4の発明では、ダウンロード用の
起動プログラムを設定したROMをスレーブ側のバスに
直接接続するようにしたので、スレーブCPUブロック
として市販ボードをそのまま用いることができる。第5
の発明によれば、共有メモリに対し、ソフトウエアによ
って、ネットワークエミュレーション機能を付加するこ
とができる。したがって、通常のデュアルポートメモリ
やFIFO等を利用することもできる。
【図面の簡単な説明】
【図1】第1実施例のブロック図である。
【図2】第2実施例のブロック図である。
【図3】第3実施例のブロック図である。
【図4】第4実施例のブロック図である。
【図5】従来例のブロック図である。
【符号の説明】
1 マスタ側 2 マスタCPUブロック 6 記憶手段 9、24 バス 22、44 ネットワークインターフェース 23 共有メモリ 25 スレーブCPUブロック 26 CPU 27 ROM 28 RAM 29 スレーブ側 30 計測・制御対象機器 31、32 計測・制御機能ブロック 45 ROM
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年11月30日(1998.11.
30)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正内容】
【図2】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年10月12日(1999.10.
12)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】
【課題を解決するための手段】第1の発明は、マスタC
PUブロックと、CPUとROMとRAMとからなるス
レーブCPUブロックと、これらマスタCPUブロック
とスレーブCPUブロックとを接続するバスと、このバ
スに接続したネットワークインターフェースと、上記バ
スの中間に接続したネットワークエミュレーション機能
を付加した共有メモリとを備え、この共有メモリを境に
してマスタ側とスレーブ側とに分離するとともに、スレ
ーブ側のバスには、計測・制御対象機器に接続する計測
・制御機能ブロックと、スレーブCPUブロックのRA
Mにプログラムをダウンロードするための起動プログラ
ムを記憶したROMとを接続し、上記スレーブCPUブ
ロックのRAMが上記バスを介してダウンロードしたプ
ログラムを記憶して、このプログラムに基づいて上記計
測・制御機能ブロックを介して計測・制御対象機器を制
し、また、上記共有メモリは、上記ネットワークイン
ターフェースとソフトウェア的に結合された点に特徴を
有する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正内容】
【0033】
【発明の効果】第1〜第5の発明のマルチCPUシステ
ムは、スレーブ側が1個のCPUによるプログラムで制
御されるので、マスタ側に搭載したリアルタイム性がな
いOSに関係なく、スレーブ側のみで制御プログラムを
構築できる。したがって、制御プログラムの作成が容易
である。また、制御プログラムをスレーブ側のRAMに
ダウンロードするので、プログラムの変更に伴いスレー
ブ側のROMの変更をする必要がなく、プログラムの変
更が容易である。さらに、共有メモリをネットワークエ
ミュレートすることにより、バスに接続したネットワー
クインターフェースおよび上記共有メモリにより接続さ
れている全てのCPUブロック間で、透過的にアクセス
することができる。そのため、ネットワークインターフ
ェースおよび上記共有メモリを介して、マルチCPUシ
ステム外部の記憶手段からも制御プログラムをダウンロ
ードできる。すなわち、マルチCPUシステム自体を変
更することなく、プログラムの更新ができ、しかも、複
数のマルチCPUシステムの制御プログラムを同時に更
新できる。したがって、メンテナンス性が向上する。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 マスタCPUブロックと、CPUとRO
    MとRAMとからなるスレーブCPUブロックと、これ
    らマスタCPUブロックとスレーブCPUブロックとを
    接続するバスと、このバスに接続したネットワークイン
    ターフェースと、上記バスの中間に接続したネットワー
    クエミュレーション機能を付加した共有メモリとを備
    え、この共有メモリを境にしてマスタ側とスレーブ側と
    に分離するとともに、スレーブ側のバスには、計測・制
    御対象機器に接続する計測・制御機能ブロックと、スレ
    ーブCPUブロックのRAMにプログラムをダウンロー
    ドするための起動プログラムを記憶したROMとを接続
    し、上記スレーブCPUブロックのRAMが上記バスを
    介してダウンロードしたプログラムを記憶して、このプ
    ログラムに基づいて上記計測・制御機能ブロックを介し
    て計測・制御対象機器を制御するマルチCPUシステ
    ム。
  2. 【請求項2】 マスタ側にネットワークインターフェー
    スを設けたことを特徴とする請求項1に記載のマルチC
    PUシステム。
  3. 【請求項3】 スレーブ側にネットワークインターフェ
    ースを設けたことを特徴とする請求項1に記載のマルチ
    CPUシステム。
  4. 【請求項4】 スレーブCPUブロックのRAMにプロ
    グラムをダウンロードするための起動プログラムを記憶
    したROMを、スレーブ側のバスに直接接続した請求項
    1〜3のいずれか1に記載のマルチCPUシステム。
  5. 【請求項5】 共有メモリをネットワークインターフェ
    ースとしてエミュレートするためのドライバソフトを記
    憶させた記憶手段を備えたことを特徴とする請求項1〜
    4のいずれか1に記載のマルチCPUシステム。
JP10324542A 1998-10-29 1998-10-29 マルチcpuシステム Pending JP2000137690A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10324542A JP2000137690A (ja) 1998-10-29 1998-10-29 マルチcpuシステム
US09/218,786 US6253233B1 (en) 1998-10-29 1998-12-22 Multi-cut system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10324542A JP2000137690A (ja) 1998-10-29 1998-10-29 マルチcpuシステム

Publications (1)

Publication Number Publication Date
JP2000137690A true JP2000137690A (ja) 2000-05-16

Family

ID=18166977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10324542A Pending JP2000137690A (ja) 1998-10-29 1998-10-29 マルチcpuシステム

Country Status (2)

Country Link
US (1) US6253233B1 (ja)
JP (1) JP2000137690A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007021154A1 (en) * 2005-08-19 2007-02-22 Mtekvision Co., Ltd Memory sharing by a plurality of processors

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604189B1 (en) * 2000-05-22 2003-08-05 Lsi Logic Corporation Master/slave processor memory inter accessability in an integrated embedded system
KR100849296B1 (ko) * 2003-06-13 2008-07-29 삼성전자주식회사 주제어부와 보조제어부를 구비하는 시스템에서의보조제어부의 초기화 장치 및 방법
CN107172650B (zh) * 2016-03-08 2022-03-25 中兴通讯股份有限公司 一种大规模复杂无线通信系统的仿真方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04116746A (ja) * 1990-09-06 1992-04-17 Sharp Corp 通信処理装置
GB2305821B (en) * 1995-06-06 2000-02-23 Hitachi Telecomm Tech Telephone terminal and telephone exchange system housing the terminal
US5952932A (en) * 1997-12-08 1999-09-14 Interlego Ag Communication between master unit and slave unit with efficient protocol

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007021154A1 (en) * 2005-08-19 2007-02-22 Mtekvision Co., Ltd Memory sharing by a plurality of processors

Also Published As

Publication number Publication date
US6253233B1 (en) 2001-06-26

Similar Documents

Publication Publication Date Title
US7363480B1 (en) Method, system, and computer-readable medium for updating the firmware of a computing device via a communications network
US6055632A (en) Method and apparatus for transferring firmware to a non-volatile memory of a programmable controller system
US7614050B2 (en) Machine and method for deployment of OS image
US7363482B2 (en) Method and apparatus to support remote configuration code
US8219712B2 (en) Dynamic resource allocation
KR20080109708A (ko) 멀티프로세서 시스템, 및 슬레이브 시스템의 부팅 방법
US20030037180A1 (en) System and method to uniformly access devices
JPH0668729B2 (ja) マルチプロセッサシステムの新規プログラムの実行を開始する方法
US7487344B2 (en) Implementing a microprocessor boot configuration prom within an FPGA
US7380004B2 (en) Storage system, computer system, and method of configuring storage system
CN105653306A (zh) 显示启动设置界面的方法和装置
JPH06208548A (ja) スマート・バス制御ユニット
JP2000137690A (ja) マルチcpuシステム
CN108108314B (zh) 交换器系统
US20090133010A1 (en) Virtualized blade flash with management module
KR101951908B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 디바이스 공유 장치 및 방법
CN116848519A (zh) 硬件接口信号的生成方法、装置及电子设备
US20030065864A1 (en) System and method supporting remote data processing system management
JPH1131075A (ja) マルチcpuシステム
JP4791792B2 (ja) デジタルシグナルプロセッサシステムおよびそのブート方法。
US10942793B2 (en) Information processing system
US20030040839A1 (en) Information processing device, information processing method, and robot apparatus
JP2003036251A (ja) 信号処理装置
JP3562566B2 (ja) データ転送システム及びバスプロトコル変換器
CN106445571B (zh) 主机板及开机的方法