JPH01292560A - プロセッサ間通信方式 - Google Patents

プロセッサ間通信方式

Info

Publication number
JPH01292560A
JPH01292560A JP12214688A JP12214688A JPH01292560A JP H01292560 A JPH01292560 A JP H01292560A JP 12214688 A JP12214688 A JP 12214688A JP 12214688 A JP12214688 A JP 12214688A JP H01292560 A JPH01292560 A JP H01292560A
Authority
JP
Japan
Prior art keywords
mpu
flag
communication
processor
command
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
JP12214688A
Other languages
English (en)
Inventor
Kazuhiro Yuki
和博 結城
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 JP12214688A priority Critical patent/JPH01292560A/ja
Publication of JPH01292560A publication Critical patent/JPH01292560A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Communication Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概   要〕 中継メモリを用いたプロセッサ間通信方式に関し、 送信の確実性を高め、各プロセッサの独自処理の効率を
向上させるプロセッサ間通信方式を提供することを目的
とし、 AプロセッサとBプロセッサ間の通信を中継する中継メ
モリが該A、Bのプロセッサにそれぞれ対応するAフラ
グ、Bフラグを有するシステムにおいて、前記Aプロセ
ッサから前記Bプロセッサに通信を行う場合、前記Aプ
ロセッサが前記Aフラグの状態を前記Aプロセッサ内の
メモリに退避させ、A退避フラグとし、前記Aフラグを
オンにし、前記Bフラグがオンかオフかを判定し、該判
定の結果がオンであるとき、前記A退避フラグの状態を
前記Aフラグに戻し、通信を一時中止し、前記判定の結
果がオフであるとき、前記A退避フラグがオンかオフか
を判定し、該判定の結果がオンであるとき、前記A退避
フラグの状態を前記Aフラグに戻し、通信を一時中止し
、前記判定の結果がオフであるとき、前記Bプロセッサ
に通信を行い、該通信終了後に前記Bプロセッサが前記
Aフラグをオフにするように構成する。
〔産業上の利用分野] マルチプロセッサシステムにおりるプロセッサ間の通信
方式に係り、さらに詳しくは中継メモリを用いたプ1ク
セソザ間通信方式に関する。
〔従来の技術〕
コンピュータシステムの処理能力や信頼性の向」二を目
標としたマルチプロセッサシステムは現在多くの分野に
おいて実用されている。
このようなマルチプロセッサシステムにおいて、2つの
プロセッサ間でデータ伝送、あるいは通信を行う場合に
は、例えば中継メモリをプロセッサ間におき、これを経
由してデータを送ることになる。通信方式として、2つ
のプロセッサ間、で中継メモリを用いる優先環が決まっ
ている場合、例えばブロセソザへからはコマンド力(プ
ロセッサBに送られ、プロセッサBからはそのコマンド
に対する応答としてのステータスがプロセッサAに送ら
れるだけであるような場合には問題がないが、プロセッ
サBからもコマンドとは非同期にステータスがプロセッ
サAに送られるとすると、中継メモリをどちらのプロセ
ッサが使用しているか、即ち競合の問題が生ずる。
このような競合を防止し、2つのプロセッサ間で排他的
に通信を行うための、ロックビットを用いた従来の通信
方式第1例を第5図に示す。同図でMPU−Aは例えば
イメージ処理システムにおけるイメージ処理用プロセッ
サであり、M P 、tJ −Bばデイスプレィ側のプ
ロセッサである。両プロセッサの間でのイメージデータ
等の通信は中継メモリを経由して行われる。
第5図のシステムにおいてMPU=AからMPU−Hに
コマンド、逆にMPU−BからMPU−LAにステータ
スが送られるものとする。MPU−Bからのステータス
送出が、M P U、−Aからのコマンドと必ずしも同
期して行われないものとする。
そのような場合にMPU−AとMPU−Bのいずれが中
継メモリを用いて他方のプロセッサに対する通信を行う
かを制御するために、中継メモリの内部にロックビット
が設けられる。中継メモリばMPU−A、M’PU−B
のいずれのプロセッサからも参照可能なメモリ空間であ
り、例えばMPU−AからMPU−Bに通信を行う時に
は、MPU−Aはロックビットを参照し、これが“0゛
、即ち未使用の状態を確認後、通信を行う。MPU−B
からMPU−Aへの通信についても全く同様である。
ロックビットを用いた通信フローチャート従来例を第6
図により説明する。通信のフロ′−はMPU−人9MP
U−Bのいずれにおいても同様で、まずロックビットを
参照して、これが′0”であればロックビットを1”と
した後に相手プロセッサに通信を行う。両プロセッサ間
の通信状態が正常であれば、例えばMPU−Aからコマ
ンド□(1)が伝送された後に、そのコマンドへの応答
としてのステータス(1)がMPU−BからMPU−A
に伝送ぎれる。
2つのプロセッサ間で排他的通信を行うための従来の通
信方式第2例を第7図に示す。同図でMPU−AとMP
U−Bとの間では、常時一定時間6一 間隔でコマンドとステータスを交わしており、通信情報
はコマンド、あるいはステータス内にセントされた形式
で送出される。同図POLLコマンド、及びPOLLス
テータスはノーオペレーションのコマンド、及びノーオ
ペレーションステータスであり、これらに通信情報がセ
ントされて、実際のコマンド、及びステータスとなる。
即ち第7図で、MPU−AからMPU−Bに通知する事
象が起こった場合には、それがコマンド(1)としてM
PU−Bに伝えられ、このコマンド(1)に対する応答
、ステータス(1)がMpU−BからMPU−Aに伝え
られる。MPU−Bからコマンドと非同期に通知すべき
事象が起こった場合には、それはステータス(2)とし
てMPU−Aに伝えられる。
また、両方のプロセッサにおいて、相手のプロセッサに
通知する事象が同時に起ごった場合にはコマンドが優先
され、まずコマンド(1)とそれに対する応答としての
ステータス(1)が通信された後に、MPU−Bからス
テータス(2)がMPU−Aに伝えられる。
〔発明が解決しようとする課題〕
上述の従来のプロセッサ間通信方式の2つの例のうち、
第5図のロックビットを用いる方式においては、MPU
−Bからのステータスの通信は必ずしもコマンドと同期
していないので、第6図の下部に示すようにMPU−A
からはコマンド(1)を、MPU−Bからはそのコマン
ドと無関係のステータス(2)を同時に送ろうとする場
合には通信の競合が起り、コマンドやステータスの再発
行を行う処理が必要となるという問題が生ずる。このケ
ースばロックビットの参照時点が全く同時でなくとも、
例えばMPU−A側でロックビット“0′を確認してか
らロックビットを′1゛ とするまでのわずかの時間遅
れの間にMPU−B側からのロックビット参照が行われ
ても発生する。
MPU−AとMPU−B間でのデータ伝送が、例えば数
msというような短い間隔で行われるようになると、上
述のような競合の発生頻度は高くな−7〜 す、その度にコマンド等の再発行処理が必要になり、送
信の確実性が低下するという問題点があった。
次に第7図に示した第2例においては、ロックビットを
用いた第1例と異なり、競合の問題は起こらないが、2
つのM、PUの間でPOLLコマンドとPOLLステー
タスにより相互に常時監視を行う必要があり、それぞれ
のプロセッサにおける独自の処理の効率が低下するとい
う問題点があった。
本発明の課題は、送信の確実性を高め、各プロセッサの
独自処理の効率を向上させるプロセッサ間通信方式を提
供することである。
〔課題を解決するための手段及び作用〕本発明では第5
図の従来の通信方式第1例における中継メモリ内部に、
ロックビットの代わりに2つのプロセッサMPU、−A
とMPU−Bとにそれぞれ対応する2つのフラグ、へフ
ラグとBフラグを設ける。例えばMPU−AがM P、
Lj −Bに通信しようとするとき、MPU−AはAフ
ラグをオンとして通信を行い、MPU−Bはその通信デ
ータを受は取った後にAフラグをオフとする。MPU−
BからMPU−Aに通信を行うときも全く同様である。
第1図に本発明の機能ブロック図を示す。同図、により
MPU−AからMPU−Bへの通信を説明する。MPU
−Bへ通知ずべき事象、例えばコマンドが発行されると
、MPU−Aは、まず1で、中継メモリ内部のAフラグ
がオンかオフかをリードし、その状態をMPU−A内部
のメモリに記憶させ、これをA退避フラグとする。
次にMPLI−Aは、2でAフラグをオンにし、その後
3で中継メモリ内のBフラグがオンかオフかを判断する
。ここでAフラグをオンにするのは、MPU−Aが通信
の優先権を得るためである。Bフラグのオン、オフの判
定は、このときMPU−Bからの通信が既に優先状態に
なっているか否かを判定するために行われる。
判定の結果、BフラグがオンであればMPU−Bからの
通信が優先されるので、MPU−Aは通信できず、4で
A退避フラグの状態をAフラグに戻した後に、5で通信
を一時中止し、例えば通信のタスクを待ち行列に入れて
、処理を終了する。
Bフラグがオフの場合、MPU−Aは次に6で内部のメ
モリのA退避フラグがオンかオフかを判定する。オンで
あれば、ここでMPU−Aが通信を行おうとする以前か
らAフラグがオンであったことになる。この状態は以前
にMPU−AからMPU−Bに通信データが送出されて
いるが、まだMPU−Bがそのデータを受は取っていな
いことを意味する。そこで判定の結果がオンである場合
には、コマンド等の2重書きを防止するためにMPLJ
−八は4でへ退避フラグの状態をAフラグに戻した後に
、5で通信を一時中止し、通信のタスクを待ち行列に入
れて処理を終了する。
A退避フラグがオフであるときには通信が可能となり、
MPU−Aは7でコマンド、ステータス等のMPU−B
への通信を行う。MPU−Bは通信データを受は取った
後に8で中継メモリ内のAフラグをオフとし、通信が終
了する。
以上のように、本発明では中継メモリ内部にA。
B2つのフラグを設けることにより、通信の競合の問題
を避けることができる。
〔実  施  例〕
本発明の実施例フローチャー1・を第2図に示す。
同図でMPU−AからMPU−Bへのコマンドが発行さ
れると、ステップ1のエクスチェンジ(XCHG)命令
で、中継メモリ内のAフラグの状態が別の領域、例えば
MPU−Δ内のメモリに退避され、A退避フラグとされ
た後Aフラグがオンとされる。
次にステップ2で中継メモリ内のBフラグがオンかオフ
かが判定される。オンであれば、MPU−Bが送信の優
先権を既に保持しているのでコマンドの送出は不可であ
り、ステップ4でA退避フラグの状態を中継メモリ内の
Aフラグに戻し、通信を一時中止してコマンドを待ち行
列に入れ、処理を終了する。
ステップ2でBフラグがオフと判定されると、ステップ
3でA退避フラグがオンかオフかを判定する。これがオ
ンであることは、現在発行されているコマンドの以前に
発行されたコマンドがMPU−B側で受は取られていな
い状態を示す。例えばMPU−Aがイメージ処理用プロ
セッサ、MPU−Bがデイスプレィ側のプロセッサであ
り、データのイメージバッファへの書込みのコマンドが
MPU−Aから発行されると、MP’U−B側でそのデ
ータ書込みが終了するまで、即ちコマンドに対する処理
が終了するまでAフラグはオンになっている。このよう
な状態では、コマンドの2重書き防止のために、コマン
ド送出は不可となり、ステップ2でBフラグがオンの場
合と同様に、ステップ4の処理後、通信は一時中止され
て、コマンドは待ち行列に入れられ、処理が終了する。
ステップ3でA退避フラグがオフの場合にMPU−Bへ
の通信が行われる。MPU−B側でのステータス発行も
前述と全く同様に処理され、MPU−A側でのコマンド
発行の場合のAフラグがBフラグ、A退避フラグがB退
避フラグ、ステップ1が5、ステップ2が6、ステップ
3が7、ステップ4が8にそれぞれ対応することになる
MPU−Aでのコマンド発行とMPU−Bでのステータ
ス発行とのタイミングが異なる場合の通信実施例を第3
図に示す。例1はMPU−Bが第2のステップ5を実行
する前にMPU−Aがコマンドを発行する場合で、この
ときは競合は起こらず、コマンド送出の後にステータス
送出が行われる。即ぢ第2図のステップ1,2.3の処
理の後にMPU−AがコマンドをMPU−Bに送出し、
MPU−Bはこれを受は取り、中継メモリのAフラグを
オフにする。その後、MPU−Bはステップ5,6.7
の処理後にステータスをMPU−Aに送出し、MPU−
Aはこれを受は取った後に中継メモリのBフラグをオフ
にする。
例2はMPU−Aがステップ2を実行後にMPU−Bが
ステータスを発行する場合である。この場合MPU−A
からMpu−Bへのコマンド送出は例1と同様に問題な
く行われるが、MPU−Bからのステータス送出は、ス
テップ6で中継メモリのAフラグがオンと判別されるた
め不可となる。
例3はMPU−Aがステップ2を実行する前にMPU−
Bがステータスを発行する場合で、MPU−Aはステッ
プ2でBフラグがオンのため、またMPU−Bはステッ
プ6でAフラグがオンのため、ともに相手側プロセッサ
への通信は不可となる。
例4では、MPtJ−Aがコマンドを発行し、そのコマ
ンドをMPU−Bが受信する前に、MPTJ−Aが次の
コマンドを発行するが、次のコマンド送出処理の開始時
にへフラグがまだオフとなっていないため、ステップ3
でA退避フラグがオンと判定され、MPU−Aからのコ
マンド送出は不可となる。
第4図は第3図の通信実施例における各フラグの状態を
示したものである。同図でI、  II、  III。
1vは実行順序を示ず。例1ではMPU−AはIでAフ
ラグを′1” としてコマンドを送出し、MPU−Bは
このコマンド受信後■でAフラグを°0゛とする。同様
にMPU−Bは■でBフラグを1゛としてステータスを
送出し、MPU−Aは■でごのステータス受信後Bフラ
グを°0′とする。
例2でば、MPU−Aからのコマンド送出がIで行われ
る。このとき、MPtJ−B側ではHの状態、即ちBフ
ラグを“1°としてステータス送出処理を行おうとする
がへフラグも “l゛であるためステータス送出は不可
となる。MPU−BはMPU−Aからのコマンド受信後
、■でAフラグを“0゛ とする。そして、MPU−B
は第2図のステップ8でBフラグを“0゛に戻し、通信
を一時中止して、ステータスを待ち行列に入れ、適当な
待ち時間の後にステータス送出処理を再実行する。
例3では、IでMPU−Aがコマンド送出処理を実行し
ようとするが、Bフラグが“1゛ となっているためコ
マンド送出が不可となり、またMPU−B側でも■でA
フラグが“1゛ となっているためにステータス送出が
不可となる。この場合にはMPU−A側ではステップ4
でAフラグをオフに、またMPU−B側でばステップ8
でBフラグをオフとして送信が中止される。そして、例
えばMPU−A側ではコマンドを待ぢ行列に入れ、コマ
ンド送出処理を再実行することになる。
例4では最初のコマンドはIでMPU−Aから送出され
る。■で次のコマンドの送出処理を実行しようとするが
A退避フラグが1゛であるため次のコマンド送出は不可
となる。MPU−B側の111は最初のコマンドにこ対
する処理が終了していない状態を示し、処理が終了する
とMPU−BはAフラグを“0“ とする。
以上のように本発明ではMPU−AとMPU−Bとに対
してそれぞれAフラグとBフラグを設けることにより通
信の競合の問題を解決することが可能となる。
〔発明の効果〕
以上説明したように、本発明によれば、プロセッサ間の
通信の確実性を高め、また各プロセソ号独自の処理効率
を向上させることができる。
【図面の簡単な説明】
第1図は、本発明の機能ブロック図、 第2図は、本発明の実施例フローチャート、第3図は、
MPU−Aでのコマンド発行とMPU−Bでのステータ
ス発行のタイミングが異なる場合の通信実施例図、 第4図は、第3図の通信実施例図における各フラグの状
態を示す図、 第5図は、ロックピントを用いた従来通信方式第6図は
、ロックビットを用いた従来通信方式第1例のフローチ
ャート、 第7図は、従来の通信方式第2例図である。 特許出願人   富士通株式会社 番号1.  II、  I[l、 IVは実行された順
を示す。

Claims (1)

  1. 【特許請求の範囲】 1)AプロセッサとBプロセッサ間の通信を中継する中
    継メモリが該A、Bのプロセッサにそれぞれ対応するA
    フラグ、Bフラグを有するシステムにおいて、 前記Aプロセッサから前記Bプロセッサに通信を行う場
    合、前記Aプロセッサが前記Aフラグの状態を前記Aプ
    ロセッサ内のメモリに退避させ、A退避フラグとし(1
    )、 前記Aフラグをオンにし(2)、 前記Bフラグがオンかオフかを判定し(3)、該判定の
    結果がオンであるとき、前記A退避フラグの状態を前記
    Aフラグに戻し(4)、通信を一時中止し(5)、 前記判定の結果がオフであるとき、前記A退避フラグが
    オンかオフかを判定し(6)、 該判定の結果がオンであるとき、前記A退避フラグの状
    態を前記Aフラグに戻し(4)、通信を一時中止し(5
    )、 前記判定の結果がオフであるとき、前記Bプロセッサに
    通信を行い(7)、 該通信終了後に前記Bプロセッサが前記Aフラグをオフ
    にする(8)こととを特徴とするプロセッサ間通信方式
    。 2)前記通信の一時中止(5)後に、通信のタスクを待
    ち行列に入れ、前記Aフラグの状態をA退避フラグとす
    る(1)こと以後の動作を繰り返すことを特徴とする請
    求項1記載のプロセッサ間通信方式。
JP12214688A 1988-05-20 1988-05-20 プロセッサ間通信方式 Pending JPH01292560A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12214688A JPH01292560A (ja) 1988-05-20 1988-05-20 プロセッサ間通信方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12214688A JPH01292560A (ja) 1988-05-20 1988-05-20 プロセッサ間通信方式

Publications (1)

Publication Number Publication Date
JPH01292560A true JPH01292560A (ja) 1989-11-24

Family

ID=14828746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12214688A Pending JPH01292560A (ja) 1988-05-20 1988-05-20 プロセッサ間通信方式

Country Status (1)

Country Link
JP (1) JPH01292560A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001301136A (ja) * 2000-04-05 2001-10-30 Hewlett Packard Co <Hp> プリンタのインターフェース

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001301136A (ja) * 2000-04-05 2001-10-30 Hewlett Packard Co <Hp> プリンタのインターフェース

Similar Documents

Publication Publication Date Title
EP1386219B1 (en) Entering and exiting power managed states without disrupting accelerated graphics port transactions
JP2532191B2 (ja) 複式バス・ア―キテクチャを有する計算システムに使用するデ―タ伝送の管理方法
JPH07210500A (ja) データ転送制御装置
JP4584935B2 (ja) 動作モデルベースマルチスレッドアーキテクチャ
JP2003036101A (ja) 冗長化コントローラ
JPH01292560A (ja) プロセッサ間通信方式
JP6146508B1 (ja) 同期処理ユニット、デバイス、システムおよび方法
JP2792866B2 (ja) バッファプール事前拡張装置
JPH0675887A (ja) ポーリング間隔決定方式
JP2981618B2 (ja) パイプラインコンピュータシステムでの書き込み順序保存方法
JPH07129526A (ja) バリア同期における非同期通信完了保証方法
JP3399776B2 (ja) コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法
JP2875546B2 (ja) 情報処理システム
JP2638505B2 (ja) バスインタフェース装置
JPH11306076A (ja) 共有メモリ制御装置
JPH1139266A (ja) マルチプロセッサ装置
JPS63889A (ja) 磁気バブルメモリ装置のコントロ−ラ
JPH02244311A (ja) データ処理装置
JPH06131295A (ja) バス変換装置
JPH06214606A (ja) 二重化pcシステムにおける入出力方法
JP2001242915A (ja) プログラマブルコントローラのメッセージ通信方法
JPH0648473B2 (ja) 電文送受信処理方法
JPS61184639A (ja) メモリアクセス同期制御方式
JPH01147652A (ja) バス制御装置
JPH06222929A (ja) アプリケーション間通信方式