JPS63211056A - マルチプロセツサシステム - Google Patents

マルチプロセツサシステム

Info

Publication number
JPS63211056A
JPS63211056A JP62042648A JP4264887A JPS63211056A JP S63211056 A JPS63211056 A JP S63211056A JP 62042648 A JP62042648 A JP 62042648A JP 4264887 A JP4264887 A JP 4264887A JP S63211056 A JPS63211056 A JP S63211056A
Authority
JP
Japan
Prior art keywords
processor
task
information
tasks
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.)
Pending
Application number
JP62042648A
Other languages
English (en)
Inventor
Sanshiro Obara
小原 三四郎
Shigeki Morinaga
茂樹 森永
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62042648A priority Critical patent/JPS63211056A/ja
Publication of JPS63211056A publication Critical patent/JPS63211056A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセッサシステムに係り、特にこのシ
ステムの構築に好適なプロセッサに関する。
〔従来の技術〕
膨大なデータを処理する大型コンピュータの分野では、
複数のプロセッサを用いたマルチプロセッサシステムを
構築している。また、0A(Office Autom
ation)  、  FA  (FactoryAu
tomation)機器制御の分野でも、複数個のプロ
セッサを用いて各機能処理を並列処理して高機能化、高
速化を実現したいという要望が強い、たとえば、OA種
機器複写機では高速に鮮明な多色刷りを行うために、複
数個のアクチュエータを同期駆動するマルチプロセッサ
システムが構築することが考えられている。さらに、F
A機器のロボットでも、手先速度の高速化と高精度化の
ために、各関節のサーボ系をマルチプロセッサシステム
を構築することが考えられている。
従来、このマルチプロセッサシステムについては、ロボ
ットの例で日本ロボット学会誌、3巻。
4号(1985)、pp、263−276に示されてい
るように、汎用プロセッサを複数個用いた共有バス、共
有メモリ形式である。このようなマルチプロセッサシス
テムは各プロセッサに機能分割された処理(以下タスク
と呼ぶ)を並列処理する。
各プロセッサに分割されたタスクの並列処理は共有メモ
リ内のフラグやカウンタと呼ばれる情報を参照すること
で実行される。
例えば、4ケのプロセッサA、B、C,Dを用いて、A
プロセッサのaタスク終了後、B、C。
Dプロセッサのす、c、dタスクを起動する場合を考え
る。まず、共有メモリ内に各プロセッサがタスク終了し
たことを示すフラグA、B、C,Dを設ける。Aプロセ
ッサはaタスク実行中、B。
C,Dプロセッサはす、c、dタスクの起動待ちで、共
有メモリ内のフラグAを参照し続ける。aタスクが終了
後、AプロセッサはフラグAをセットする。その後、B
、C,DプロセッサはそのフラグAを認識している各す
、c、dタスクを起動する。
また、b、Q、dタスク終了後、aタスクを起動するよ
うな場合は、共有メモリにカウンタを設けて各bt c
t dタスク終了時にカウンタをインクリメント(+1
)L、カウンタが所望の値たとえば“3”になったとき
にaタスクを起動する。
このよえな手法で、共有バス、共有メモリ形式のマルチ
プロセッサシステムは各タスクを実行する。
〔発明が解決しようとする問題点〕
上記のようなマルチプロセッサシステムにおいて、プロ
セッサは複数個のタスクを起動するために、タスク終了
を示すフラグあるいはカウンタの情報をチェックして新
たに実行すべきタスクを決定する。上記前者の場合−B
、C,DプロセッサはAプロセッサのaタスクが終了す
ると、タスク終了を示すフラグ情報だけで、b、c、d
タスクを起動するようにしなければならない、また、後
者の場合、Aプロセッサはす、c、dタスク終了を示す
カウンタの情報だけでaタスクを起動するようにしなけ
ればならない。
したがって、複数個のタスクを持つ各プロセッサはフラ
グやカウンタといった情報だけで他タスクに同期して並
列処理するために、各タスクの実行順序すなわちタスク
プログラムのメモリへの格納順序が重要な問題となる。
そのために、上記の各プロセッサのプログラムメモリに
実行順序に従って格納等を行うタスクのプログラミング
が複雑になる。
本発明の目的は各プロセッサに対するタスクのプログラ
ミングが容易な構造のプロセッサで構成したマルチプロ
セッサシステムを提供することにある。
〔問題点を解決するための手段〕
上記の目的は、各プロセッサ間で相互にプログラムカウ
ンタ情報を転送かつ直接設定可能なプロセッサを用いる
ことにより、達成される。
〔作用〕
タスク処理が終了したプロセッサは次に処理すべきタス
クを実行する1個あるいは2個以上のプロセッサのプロ
グラムカウンタに、直接、プロセッサ間通信路を介して
、タスクの先頭アドレスを示す情報を設定するように動
作する。同時に、転送モード(転送元プロセッサ番号、
転送数)や演算結果等のデータも転送する。
゛  それによって、各プロセッサ間で直接、タスクの
先頭アドレスを指定できるので、プロセッサのプログラ
ムメモリへのタスク格納順序は必ずしも実行順序でなく
てもよい。
〔実施例〕
以下1本発明の一実施例を第1図により説明する。第1
図は3個のプロセッサを用いたマルチプロセッサシステ
ムである。10.20.30は本発明の機能と4個の通
信路を持つプロセッサ。
11.21.31はプロセッサ内のアキュムレータやプ
ログラムカウンタ等のレジスタ群、演算部mユニット(
Ariths+atic and Logical U
nit  :ALU)そしてプログラムやデータ用メモ
リで構成した演算部、12,22.32はレジスタ群内
の一レジスタで実行中のプログラムのアドレスを示すプ
ログラムカウンタ、13〜15.23〜25.38〜3
5は各プロセッサ間と通信するためのバス・インターフ
ェイス回路、100〜400は上記バス・インターフェ
イス回路の入出力バスで各プロセッサ間の通信路である
まず、プロセッサ10,20.30の内部構成と通信路
100,200,300の通信情報について説明する。
第2図はプロセッサの内部構成でプロセッサ10を例に
示す、プロセッサは演算部11とバス・インターフェイ
ス回路13〜16に大別される。演算部11において、
500〜は複数のタスクプログラムを格納するプログラ
ムメモリ、600はプログラムメモリ500のプログラ
ムを解読してプロセッサ10内の制御信号を出力する制
御回路、700は演算結果や演算定数等を格納するデー
タメモリ、800はプログラムカウンタやアキュムレー
タ等のレジスタ群、900はプログラムに従って算術あ
るいは論理演算を行うALU (演算論理ユニット)で
ある。
一方、通信路100〜300から転送される情報の内容
を第3図に示す、(a)に示すモード1は各プロセッサ
のプログラムカウンタ(以下PCと呼ぶ)12,22.
32の設定値と演算結果などのデータ(DATA−1〜
k)を転送するためのモードであり、(b)のモード2
は演算結果などのデータ(DATA−1〜n)だけを転
送するためのモードである。先頭に転送される情報はモ
ード指定、プロセッサ番号そして転送数である。
本発明に示す通信路100〜300はシリアル通信路で
あっても、パラレル通信路であってもよい。
次に通信路100〜300に転送情報を出力するバスイ
ンターフェイス回路13〜16の回路構成と動作につい
て、通信路200を出力する。バスインターフェイス回
路23を例に説明する。
231は2つのボートから読込みや書込みができるデュ
アルポート・ランダムアクセス・メモリ(以下DPRA
Mと呼ぶ)で送受信情報を格納し、232はバスインタ
ーフェイス内を制御し、例えば第3図に示す受信情報に
よっては内部割込信号233を発生する。
通信路200を介して情報を送信する場合、演算部11
からDPRAM231にプログラムカウンタ情報pc、
演算結果等のデータDATAを書込むそしてモード、相
手のプロセッサ翫、転送数Nの書込み終了と同時に送信
が起動される。一方、受信の場合1通信路200.制御
回路232を介して順次受信し、その情報をDPRAM
231順に格納する。ただし、モードlの場合、 ff
NR回路232はPC情報をプログラムカウンタ12に
設定するため、内部割込み信号233を発生する。
信号233の発生により演算部11はプログラムカウン
タ12等レジスタ群800を退避させるとともに新たな
PC値をDPRAM231からレジスタ群800のプロ
グラムカウンタ12に設定する。受信したDPRAM2
31のデータDATA−1〜に、Qは新たなアドレスか
ら起動されるタスク内プログラムが必要に応じてデータ
メモリ700内に転送される。
また、受信情報がPC情報が含まれていないモード2の
場合、制御回路232は受信情報をDPRAM231の
DATAエリアのみに格納する。
なお、この場合内部割込信号233は発生しない。
このようにして、プロセッサ間で通信路を介してpc情
報や演算結果等のデータを送受信する。
上述したプロセッサ10,20.30を用いた第1図の
マルチプロセッサシステムにおいて、各プロセッサに処
理分割されたタスク■〜■を第5図のように実行する場
合を例に本発明の詳細な説明する。矢印は各タスクの流
れを示す0図はプロセッサ20.30でタスク■、■の
終了に同期してタスク■〜■を並列処理する例である。
すなわち、タスク■、■の演算結果が出揃った時点でタ
スク■〜■を実行する。
多数のタスクを持つマルチプロセッサシステムでは、同
期のとるべきタスク数や並列処理すべきタスク数の違い
はあれ、第5図の処理パターンが代表例と考えることが
できる。したがって、第5図の実行パターンを組合せる
ことにより、所望の並列、同期処理を含むマルチタスク
処理が実現できる。
第6図は各タスクの同期や並列処理するために、各タス
クが送受信する情報の流れを破線と一点鎖線で示す、破
線は通信路を介した場合を示し、一点鎖線はプロセッサ
内の場合を示す。
プロセッサ20はタスク■の最後に第7[!Iに示すよ
うなタスク終了を他のプロセッサ10.30に知らせる
処理を実行する。まず、プロセッサ10に対して、第3
図の「モード1」で次に実行すべきタスク■の先頭アド
レスを示すPC情報(PC=AAA)とXI 、Xsと
いうデータ情報を通信路100を介して送信する。さら
に、プロセッサ30に対しては、「モード24 Y!デ
ータ情報のみを通信路200を介して送信する。自プロ
セッサ20に対しては、一般的に用いられているCAL
L命令でプログラムカウンタ22にタスク■の先頭アド
レス(B B B)を設定し、タスク■を実行する。タ
スク■はタスク■、■終了に同期して実行されるので、
プロセッサ30のタスク■終了のみをチェックする。タ
スク■をチェックするために、第4図に示すバスインタ
ーフェイス回路23内(7)DPRAM231のPRX
X情報をレジスタ群内Rag、20に取込む、レジスタ
Rsg、20がプロセッサ30からのタスク■終了を示
す情報すなわちプロセッサ番号(30)であるかをチェ
ックし、Rsg、20=30であれば、Rag、20と
D231のPRXXをリセットして、チェック処理を終
了しタスク■のメイン処理を実行する。Rag、20≠
30であれば、まだ、タスク■が終了していないことを
示すので、そのチェック処理を続ける。
プロセッサ30はタスク■の最後にプロセッサ10.2
0に対して、PC情報の含まない「モード2」でデータ
情報X3.Y2を送信する。なぜなら、プロセッサ10
に対しては、タスク■の先頭アドレス(A A A)は
プロセッサ20のタスク■で第7図のように送信するか
らである。タスク■の先頭アドレスはCALLタスク■
命令でプログラムカウンタ32に設定される。そして、
タスク■が起動され、最初タスク■終了のチェックをバ
スインターフェイス回路34のDPRAMのP RX 
’XをレジスタRag、30に取込んで、タスク■終了
を示すReg、30=20かをチェックする。そのチェ
ック終了したならばReg、3QとDPRAM内のPR
XXをリセットして、タスク■のメイン処理も開始する
一方、プロセッサ10は第7図のようにPC情報を含む
「モード1」情報をプロセッサ2oがら転送されると、
内部割込み143(図示せず、第4図の233信号に相
当)が発生し、転送されたPC情報(PC=AAA)を
プログラムカウンタ12に設定してタスク■を起動する
。まず、始めに第7,8図の場合同様、プロセッサ20
,30のタスク■、■の終了をチェックするために1通
信路100,300に接続されているバスインターフェ
イス回路14.13のDPRAM内のプロセッサ番号P
RXXを各々取込んで加算し、その結果をレジスタRe
g、IQに格納する。そのレジスタReg、10=50
をチェックする。レジスタReg、10=50はプロセ
ッサ20,30のタスク■、■が終了し、各情報を受信
したことを示す。
チェック処理が終了すると、それを示すためにレジスタ
Rag、10、バスインターフェイス回路13.14の
PRXXをリセットする。引続きタスク■のメイン処理
を実行する。
第6図に示す各プロセッサのタスク■〜■はプログラミ
ング支援装置1例えばコンバラ等で実行されているタス
クのプログラミングすなわちタスクの生成、タスク実行
順序の決定として各プロセッサメモリへのタスクプログ
ラムの格納により。
プロセッサのプログラムメモリ500に格納される。
本発明のプロセッサのプログラムメモリ500の格納順
序はプロセッサ間でタスクの先頭アドレスを示すプログ
ラムカウンタ情報を送受信するので、必ずしも実行する
順序に格納されなくてもよい、第10図にプロセッサの
プログラムメモリ500の内容を示す、(a)に示すよ
うに従来例では、初期に作成したタスクTP20とマル
チプロセッサシステムのプログラムデパックで後から作
成して組込んだタスクTPII、25.26は実行順序
に従ってプログラムメモリ500に格納しなければなら
ない。
一方、(b)に示すように本発明のプロセッサのプログ
ラムメモリ500には、初期作成タスクTP20、プロ
グラムデパック中に作成したタスクTPII、25,2
6を実行順序を意識せずに、作成層に格納すればよい。
〔発明の効果〕
本発明によれば、各プロセッサ間で相互にプログラムカ
ウンタ情報を転送かつ直接設定可能なプロセッサを用い
ることにより、マルチプロセッサシステムにおけるタス
クのプログラミングが容易にできるので、マルチプロセ
ッサシステムの早期開発に効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すマルチプロセッサシス
テムの説明図、第2図は本発明のシステムに用いるプロ
セッサの内部構造図、第3図はプロセッサ間通信路の転
送情報説明図、第4図はバスインターフェイス回路の内
部構造図、第5図は本発明のマルチプロセッサシステム
の動作を説明するタスクの実行フロー図、第6図は各タ
スク間の通信路の情報フロー図、第7〜第9図はタスク
プログラムのフロー図、第10図はプロセッサのプログ
ラムメモリの内容説明図である。 10.20,30・・・プロセッサ、11,2.1゜3
1・・・演算部、12,22,32・・・プログラムカ
ウンタ、13〜15.23〜25.33〜35・・・バ
スインタフェイス回路、100,200,300・・・
通信路、231・・・デュアルポートRAM、232・
・・バスインターフェイス制御回路、500・・・ブロ
第 3 目 (久〕 第 4 凹 第 6 口 第 7 目 り′°昆剋゛′ハ 第 8 図 く75吊“′す〉 早 70 国

Claims (1)

    【特許請求の範囲】
  1. 1、少なくても2ケ以上のプロセッサで構成したマルチ
    プロセスにおいて、次に実行すべきタスクプログラムの
    先頭アドレスを示すプログラムカウンタ情報をプロセッ
    サ間の通信路を介して転送かつプログラムカウンタに設
    定することのできるプロセッサを用いることを特徴とす
    るマルチプロセッサシステム。
JP62042648A 1987-02-27 1987-02-27 マルチプロセツサシステム Pending JPS63211056A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62042648A JPS63211056A (ja) 1987-02-27 1987-02-27 マルチプロセツサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62042648A JPS63211056A (ja) 1987-02-27 1987-02-27 マルチプロセツサシステム

Publications (1)

Publication Number Publication Date
JPS63211056A true JPS63211056A (ja) 1988-09-01

Family

ID=12641831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62042648A Pending JPS63211056A (ja) 1987-02-27 1987-02-27 マルチプロセツサシステム

Country Status (1)

Country Link
JP (1) JPS63211056A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003732A (ja) * 2010-06-21 2012-01-05 Fuji Electric Co Ltd プログラマブルコントローラシステムおよびそのアプリケーション起動方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003732A (ja) * 2010-06-21 2012-01-05 Fuji Electric Co Ltd プログラマブルコントローラシステムおよびそのアプリケーション起動方法

Similar Documents

Publication Publication Date Title
JP2602240B2 (ja) マルチプロセツサシステム
KR101341286B1 (ko) 멀티-포트 메모리 디바이스의 포트간 통신
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPS62229359A (ja) 情報処理装置
KR970003321B1 (ko) 코프로세서 지정 시스템
US3947822A (en) Processor of micro-computer with division of micro-instruction
JPH0277867A (ja) マルチプロセッサシステム
JPS5911921B2 (ja) 数値制御装置
JPS63211056A (ja) マルチプロセツサシステム
JPH01214902A (ja) プログラマブル・コントローラ
JPS6136845A (ja) シングルチツプマイクロコンピユ−タ
JPH04149658A (ja) 情報処理装置
JP2744152B2 (ja) データ駆動型データ処理装置
JPH023821A (ja) 高速演算装置
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JP2965133B2 (ja) プロセッサシステム
JP2504535B2 (ja) バスユニットの構成方法
JPH0481938A (ja) 情報処理システム
JPS59178543A (ja) 相対アドレス形式プログラム実行可能な通信制御装置
JPH0218622A (ja) 数値演算プロセッサ
JPS62210564A (ja) プロセツサ
JP3039918B2 (ja) プロセッサシステム
JPS62293372A (ja) マスタスレ−ブプロセツサ
JPH0731661B2 (ja) プロセツサ
JPS62166463A (ja) デ−タ転送方式