JPH0342762A - マルチプロセッサシステムのプロセッサ間通信方法 - Google Patents

マルチプロセッサシステムのプロセッサ間通信方法

Info

Publication number
JPH0342762A
JPH0342762A JP17847989A JP17847989A JPH0342762A JP H0342762 A JPH0342762 A JP H0342762A JP 17847989 A JP17847989 A JP 17847989A JP 17847989 A JP17847989 A JP 17847989A JP H0342762 A JPH0342762 A JP H0342762A
Authority
JP
Japan
Prior art keywords
processor
inter
communication
processing
interrupt
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
JP17847989A
Other languages
English (en)
Inventor
Atsushi Fujimoto
厚史 藤本
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP17847989A priority Critical patent/JPH0342762A/ja
Publication of JPH0342762A publication Critical patent/JPH0342762A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、マルチプロセッサシステムにおいて、複数
のプロセッサ間でメツセージ交換を行う場合のプロセッ
サ間通信方法に関する。
〔従来の技術〕
従来より、2つ以上のプロセッサと、その共有デバイス
をシステムバスを介して結合し、複数のプロセスを同時
並列処理するように構成されたマルチプロセッサシステ
ムが知られている。第3図は、従来のマルチプロセッサ
システムの火水構成を示すブロック図である。図におい
て、プロセッサ(ローカルメモリを含む)1〜nと共有
メモリ3]−は、システムバス32を介して共通に接続
されており、各プロセッサは、共有メモリ31にアクセ
スして他の任意のプロセッサに割り込みを発生させるこ
とにより、プロセッサ間通信を行うことができる。
第2図は、このようなマルチプロセッサシステムにおい
てプロセッサ間通信を行う場合の通信手順を示す説明図
である。なお、この例ではプロセッサ1とプロセッサ2
の間で通信をf−iうちのとし、左右に区切られた各ブ
ロックは、プロセッサ間通信を行う場合に用いられるプ
ロセッサの構成要素を示している。第2図の構成におい
て、共有メモリ(第3図)と割り込みを用いたプロセッ
サ間通信を行うには、まず、通信元のプロセッサ1(又
は2)が共有メモリの中の固定領域(通信する両者が共
にアドレスを認識している)にメツセージを書き込み、
通信7先のプロセッサ2(又は1)に割り込みを発生す
る。通信先のプロセッサ2(又は1)では、そのプロセ
ッサ間通信側り込み処理部22(又は26)で共有メモ
リに書き込まれたメツセージの内容を読み取り、タスク
23(叉は27)内の該当するタスクに通知する。
〔発明が解決しようとする課題〕
しかし、これらの通信は各プロセッサで動作しているオ
ペレーティングシステム(O3)24又は28とは無関
係に動作するため、一方が他ノjのプロセッサで動作し
ているオペレーティングシステムに対してシステムコー
ルを発行したい場合には、次のような2つのタスクが必
要となる。
(1)割り込み通知受付タスク 割り込みによって他のプロセッサからのメッセジがあっ
たことをプロセッサ間通信側り込み処理部22(又は2
6)から通知してもらい、メツセージにしたがってオペ
レーティングシステム24(又は28)にシステムコー
ルを発行した後、システムコールの結果を要求元のプロ
セッサ1(又は2)にメツセージと割り込みで通知する
タスク。
(2)他プロセツサへのシステムコール発行受イ:1タ
スク 同じプロセッサ1ノツの他のタスクからの依’jfiを
受けて、プロセッサ間通信処理部21 (又は25)に
より他のプロセッサにメツセージと割り込みてシステム
コール発行依頼を行うと共に、相手プロセッサの割り込
み通知受付タスクからの応答により、プロセッサ間通信
側り込み処理部22(又は26)からシステムコールの
結果をもらい、依頼を受けた同しプロセッサ内のタスク
に通知するタスク。
このように、従来のマルチプロセッサシステムでは、プ
ロセッサ間通信を行うにあたって、各プロセッサごとに
2つづつタスクを設けなければならなかった。このため
、そのタスクのインク−フェースのためにタスク間通信
が介在することになり、処理効率が低下するという問題
点があった。
また、リアルタイムシステムによく使用される簡単なマ
ルチタスクモニタには、O8の一部として動作するタス
クを考慮していないものが多いため、タスクを増加する
には大掛かりな変更が必要とされる上、コンパクト化さ
れているモニタをいたすらに肥大化させることになって
しまう。
この発明は、他のプロセッサで動作するオペレティング
システムのシステムコールを効率よく発行することがで
きるマルチプロセッサシステムのプロセッサ間通信方法
を提供することを目的とする。
〔課題を解決するための手段〕及び〔作用〕上記課題を
解決するため、この発明に係わるプロセッサ間通信方法
においては、システムバスに接続された共有メモリと、
この共有メモリを使った割り込みによりプロセッサ間通
信を行い、通信先のプロセッサの割り込み処理手段でオ
ペレーティングシステムに対するシステムコールを発行
し、その処理結果を別のプロセッサ間通信によって通信
元に通知することにより、割り込みを発生させた自分以
外のプロセッサで動作しているオペレティングシステム
のシステムコールを発行するようにしたものである。し
たがって、自己のオペレティングシステムにシステムコ
ールを発行し、そのシステムコールの結果を通知するタ
スクと、他のプロセッサにシステムコールの発行依頼を
送り、そのシステムコールの結果を受けるタスクを用い
る必要がなく、他のプロセッサで動作しているオペレー
ティングシステムに対してシステムコルを発行する機能
を最少限のタスクで大塊することができる。
〔実施例〕
以下、この発明に係わるマルチプロセッサシステムのプ
ロセッサ間通信方法の一実施例を説明する。
第1図は、この発明に係わるプロセッサ間通信方法によ
る通信手順の一実施例を示す説明図である。なお、この
実施例ではプロセッサ1とプロセッサ2の間で通信を行
うものとし、左右に区切られた各ブロックは、プロセッ
サ間通信を行う場合に用いられるプロセッサの構成要素
を示している。
第1図において、]1及び15はプロセッサ間通信処理
部、12及び]6はプロセッサ間通信側り込み処理部、
]3及び17は、各プロセッサで実行されるタスク、1
4及び18は各プロセッサの基本的な動作を制御するオ
ペレーティングシステム(O3)である。
プロセッサ間通信処理部1] (又は15)は、同一プ
ロセッサ内のタスクから受けた処理依頼を、共有メモリ
(第3図)と割り込みを使用して送信先プロセッサのブ
ロセッザ間通信割り込み処理部に依頼し、処理依頼を受
けたタスクを事象待ちにさせる。そして、後述するプロ
セッサ間通信側り込み処理部から処理結果を受けるか、
あるいはタイムアウトを検出した後、処理依頼を受けた
タスクに結果を通知する。
プロセッサ間通信側り込み処理部12(又は16)は、
2つの機能を実現する。1つは、依頼元のプロセッサ内
のプロセッサ間通信処理部からの処理依頼を割り込みを
使用して受は付け、自己のオペレーティングシステムに
対しシステムコールを発行した後、その結果を依頼元の
プロセッサ内のプロセッサ間通信側り込み処理部に割り
込みを使用して通知する機能、もう1つは、同一プロセ
ッサ内のプロセッサ間通信処理部が、依頼元のプロセッ
サ内のプロセッサ間通信側り込み処理部に発行した処理
依頼に対する処理結果を、依頼先プロセッサのプロセッ
サ間通信側り込み処理部から受け、それを同一プロセッ
サ内のプロセッサ間通信処理部に通知する機能である。
なお、同一プロセッサ内のプロセッサ間通信処理部に処
理結果を通知する方法としては、通常のオペレーティン
グシステムが持っているタスク間通信の機能が使用でき
る。これは、依頼を出したタスクがプロセッサ間通信処
理部を直接コールする形になるため、プロセッサ間通信
処理部は依頼タスクの一部として実行されているからで
ある。
また、タスク間通信機能がない場合には、タスク間の共
有メモリを設定するなどの方法で容易に実現することが
できる。
次に、上記構成のマルチプロセッサシステムにおいて、
プロセッサーからプロセッサ2に対してプロセッサ間通
信を行う場合の各部の動作について説明する。
まず、プロセッサ]のタスク]3から、プロセッサ間通
信処理部11に処理依頼1が出されると、プロセッサ間
通信処理部11は、共有メモリ(第3図)と割り込みを
使用してプロセッサ2のプロセッサ間通信側り込み処理
部16に割り込みを行う(割り込み1)。プロセッサ2
のプロセッサ間通信割り込み処理部16は、オペレーテ
ィングシステム18にシステムコールを発行(処理依頼
1)した後、それに対するの処理結果1をプロセッサ1
のプロセッサ間通信側り込み処理部12に割り込みを使
用して通知する(割り込み1′)。プロセッサ1のプロ
セッサ間通信側り込み処理部12は、送られてきた処理
結果をプロセッサ間通信処理部11に通知(結果通知1
)する。プロセッサ間通信処理部11は、この処理結果
1を処理依頼を受けたタスク13に通知する。なお、プ
ロセッサ2の側からプロセッサ]に対してプロセッサ間
通信を行う場合も同様である。
次に、上述したプロセッサ間通信を行う場合の各プロセ
ッサ内の処理手順を、第4図及び第5図のフローチャー
1・に址づいて説明する。
最初に、プロセッサ間通信側り込み処理部を中心とした
処理を第4図により説明する。
まず、プロセッサ間通信側り込み部は、他(依頼元)プ
ロセッサからの割り込みに伴って(ステップ101)、
自己のシステム内のレジスタの値0 を退避させる(ステップ102)。そして、共有メモリ
の固定領域からメツセージを読み取り(ステップ103
)、メツセージの中にシステムコルの発行依頼があるか
どうかを判断する(ステップ104)。ここで、システ
ムコールがあるときは、オペレーティングシステム(O
8)に対してシステムコールを発行しくステップ105
)、処理結果を依頼元プロセッサに共有メモリのメッセ
ジと割り込みを使用して通知する(ステップ106)。
そして、自己のシステム内のレジスタの値をリストアし
、オペレーティングシステムのスケジューラを呼ぶ(ス
テップ107)。
一方、ステップ104においてシステムコールの発行依
頼がないときは、システムコールの結果通知があるかど
うかを判断しくステップ108)、システムコールの結
果通知があるときは、同一プロセッサのプロセッサ間通
信処理部にタスク間通信を使用して結果を通知する(ス
テップ109)。
そして、自己のシステム内の、レジスタの値をリストア
し、オペレーティングシステムのスケシュ1 うを呼ぶ(ステップ107)。
次に、プロセッサ間通信処理部を中心とした処理を第5
図により説明する。
まず、プロセッサ間通信処理部は、同一プロセサ内のタ
スクから受けた処理依頼の要求を受け(=1け(ステッ
プ201)、依頼先プロセッサに共有メモリのメツセー
ジと割り込みを使用して依頼内容を通知する(ステップ
202)。次に、プロセッサ間通信側り込み処理部から
タスク間通b−4’Ijて処理結果をもらうまで事象待
ちとする−(ステップ203)。次に、タイムアウトし
たかどうかを1′す断する(ステップ204)。ここで
、タイムアウトしたときはエラーコードを設定しくステ
ップ205)、処理依頼を受けたタスクに結果を通知す
る(ステップ207)。また、タイムアウトシていない
ときは、処理結果をもらったかどうかを”fil断しく
ステップ206)、処理結果をもらったときは処理依頼
を受けたタスクに結果を通知する(ステップ207)。
上述した実施例では、主に2つのブロセッザ間2 について説明したが、システムバスに接続された任意の
プロセッサに対して、割り込みによるメツセージ通知を
行うことがてきるシステムであれば、プロセッサが幾つ
あってもよいし、またメッセジの伝達は」(有メモリ以
外の方法で行ってもよい。
〔発明の効果〕
以上説明したように、この発明に係わるマルチプロセッ
サシステムのプロセッサ間通信方法では、通信先のプロ
セッサの割り込み処理部でオペレティングシステムに対
するシステムコールを発行し、その処理結果を別のプロ
セッサ間通信によって通信元に通知するようにしたので
、各プロセッサごとにタスクを増加する必要がなくなり
、このため、他のプロセッサで動作しているオペレーテ
ィングシステムに対してシステムコールを発行する機能
を最少限のオーバーヘッドで実現できるようになり、処
理動量をより向上させることがijJ能となる。
【図面の簡単な説明】
] 3 第1図はこの発明に係わるプロセッサ間通信方法による
通信手順の一実施例を示す説明図、第2図はマルチプロ
セッサシステムにおいてプロセッサ間通信を行う場合の
通信手順を示す説明図、第3図は従来のマルチプロセッ
サシステムの基本構成を示すブロック図、第4図はブロ
セッザ間通信割り込み処理部を中心とした処理手順を示
すフロチャート、第5図はプロセッサ間通信処理部を中
心とした処理手順を示すフローチャー1・である。 1]、15・・・プロセッサ間通信処理部、12.16
・・プロセッサ間通信側り込み処理部、13.17・・
・タスク、1.4.1.8・・オペレーティングシステ
ム(O8)。  4

Claims (1)

  1. 【特許請求の範囲】 複数のプロセッサと、それらのプロセッサが共通にアク
    セスできる共有メモリをシステムバスを介して結合し、
    それぞれのプロセッサから他の任意のプロセッサに割り
    込みを発生させる割り込み処理手段を具えたマルチプロ
    セッサシステムにおいて、 共有メモリと割り込みを用いてプロセッサ間通信を行い
    、通信先のプロセッサの割り込み処理手段でオペレーテ
    ィングシステムのシステムコールを発行し、その処理結
    果を別のプロセッサ間通信で通信元に通知することによ
    り、割り込みを発生させたプロセッサ以外のプロセッサ
    で動作しているオペレーティングシステムのシステムコ
    ールを発行するようにしたことを特徴とするマルチプロ
    セッサシステムのプロセッサ間通信方法。
JP17847989A 1989-07-11 1989-07-11 マルチプロセッサシステムのプロセッサ間通信方法 Pending JPH0342762A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17847989A JPH0342762A (ja) 1989-07-11 1989-07-11 マルチプロセッサシステムのプロセッサ間通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17847989A JPH0342762A (ja) 1989-07-11 1989-07-11 マルチプロセッサシステムのプロセッサ間通信方法

Publications (1)

Publication Number Publication Date
JPH0342762A true JPH0342762A (ja) 1991-02-22

Family

ID=16049204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17847989A Pending JPH0342762A (ja) 1989-07-11 1989-07-11 マルチプロセッサシステムのプロセッサ間通信方法

Country Status (1)

Country Link
JP (1) JPH0342762A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050027914A1 (en) * 2003-07-31 2005-02-03 Per Hammalund Inter-processor interrupts
CN108228524A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种多核系统的核间交互方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050027914A1 (en) * 2003-07-31 2005-02-03 Per Hammalund Inter-processor interrupts
US8984199B2 (en) * 2003-07-31 2015-03-17 Intel Corporation Inter-processor interrupts
CN108228524A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种多核系统的核间交互方法
CN108228524B (zh) * 2016-12-14 2021-07-16 中国航空工业集团公司西安航空计算技术研究所 一种多核系统的核间交互方法

Similar Documents

Publication Publication Date Title
US6711643B2 (en) Method and apparatus for interrupt redirection for arm processors
KR960006502B1 (ko) 인터럽트 재시행 시도 감소 장치
US5892956A (en) Serial bus for transmitting interrupt information in a multiprocessing system
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
JPH1097490A (ja) スケーラブル対称型マルチプロセッサにおいてバス幅またはバス・プロトコルを変更せずに割り込みを分散する方法および装置
JPS61265661A (ja) 多重処理システム
JP2539352B2 (ja) 階層型多重計算機システム
JP3490473B2 (ja) プロセッサ間通信システム
US6012121A (en) Apparatus for flexible control of interrupts in multiprocessor systems
JPS63310051A (ja) プログラム入出力命令を含む入出力プロセスの実行方法および装置
JP2002024195A (ja) 並列処理装置、及び、並列処理方法
JPH0342762A (ja) マルチプロセッサシステムのプロセッサ間通信方法
CN114546654A (zh) 一种不同架构之间cpu调用的方法、装置及互联设备
JP2539436B2 (ja) プロセツサ間通信方式
JPH01305461A (ja) バス使用権制御方式
JP4129578B2 (ja) トランザクションを第1アドレスリピータと第2アドレスリピータとの間で効果的に同報通信するための方法および装置
JPH056333A (ja) マルチプロセサシステム
KR950012507B1 (ko) 고속중형 컴퓨터의 인터럽트 처리방법
JPH0573507A (ja) 電子計算機間メツセージ交信時の救済装置
JPS6232561A (ja) マルチプロセツサシステムの制御方式
KR920009447B1 (ko) 다중처리 시스템에서의 입출력 전담 처리장치.
JPS638962A (ja) バツフア管理方式
JPS61143858A (ja) 複数のオペレ−テイングシステムの下におけるフアイルの共用方法
JPS5856057A (ja) 割込信号発生装置
JPH04274524A (ja) プロセス間通信制御方式