JP3424644B2 - プロセッサ間通信の方法 - Google Patents

プロセッサ間通信の方法

Info

Publication number
JP3424644B2
JP3424644B2 JP2000078733A JP2000078733A JP3424644B2 JP 3424644 B2 JP3424644 B2 JP 3424644B2 JP 2000078733 A JP2000078733 A JP 2000078733A JP 2000078733 A JP2000078733 A JP 2000078733A JP 3424644 B2 JP3424644 B2 JP 3424644B2
Authority
JP
Japan
Prior art keywords
header
memory
message
address
value
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
JP2000078733A
Other languages
English (en)
Other versions
JP2000311150A (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
Original Assignee
NEC Corp
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 filed Critical NEC Corp
Priority to JP2000078733A priority Critical patent/JP3424644B2/ja
Publication of JP2000311150A publication Critical patent/JP2000311150A/ja
Application granted granted Critical
Publication of JP3424644B2 publication Critical patent/JP3424644B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPU(中央処理ユニ
ット)と、メモリと、受信装置および送信装置を有する
プロセッサ間の通信装置とを備え、プロセッサ間ネット
ワークにより接続される複数のプロセッサの間の通信に
ついての方法および装置に関し、特に、複数のUP(ユ
ーザプロセス)によるメッセージの送信処理要求に対し
て送信処理速度を改善し、かつ、送信処理を安全にでき
るプロセッサ間通信の方法および装置に関する。
【0002】
【従来の技術】従来、この種のプロセッサ間通信の方法
および装置では、プロセッサ内にプロセッサ間通信の装
置を備え、この送信装置がCPUによる処理動作のバッ
クアップを受け、複数のプロセッサを接続するネットワ
ークを介してプロセッサ間の通信を行なっている。
【0003】従来のプロセッサ内の通信装置とCPUと
のインタフェースにおいては、通信装置内のコマンドバ
ッファにCPUがコマンドを書き込むことにより、メッ
セージの送信処理を開始するという方法が採られている
ものがある。
【0004】この方式では、CPUが1つのメッセージ
を送信依頼した後、次に送信依頼を行なう際に、コマン
ドバッファ内のコマンドの処理の終了を知るため、送信
装置内の状態レジスタを読みに行く必要がある。
【0005】また、UP(ユーザプロセス)からのメッ
セージの送信を処理する場合、UPがOSに対してシス
テムコールすることにより、OSがUPに代わってメッ
セージヘッダを作成し、通信装置を使用して通信を行な
う方式がある。
【0006】この方式では、UPからOSへのプロセス
切り替え処理が発生し、このプロセス切り替え処理時の
レジスタの待避と回復の処理とがプロセッサ間の通信に
対してオーバヘッドの一要因となる。特に、短いメッセ
ージを多数送信するような場合には、このオーバヘッド
が顕著になり、通信処理に悪影響を及ぼす。
【0007】他方、UPがOS同様、メッセージヘッダ
を作成して、通信装置に処理を依頼する場合、作成され
るメッセージヘッダに誤った情報が指定される確率が高
い。
【0008】メッセージヘッダには、宛先プロセッサ番
号、ソースアドレス、宛先メモリアドレス等、が含まれ
ており、宛先プロセッサ番号を間違った場合、別のUP
を実行中のプロセッサに間違ったメッセージが届いてし
まう。また、ソースアドレスを間違えた場合、メモリに
マップされていないアドレスからメッセージ本体を読み
出し、バスエラーが発生する。更に、宛先メモリアドレ
スを間違えた場合、OSが使用中のデータを破壊してし
まうなど、システムダウンを引き起こす可能性がある。
【0009】この問題を解決する手段として、ユーザが
指定する宛先プロセッサ番号、ソースアドレス、宛先メ
モリアドレスの全てを論理値とし、プロセッサ間の通信
装置内にそれぞれの情報に関する論理値から物理値に変
換するテーブルを持つことにより、これらの情報が保護
されている方式がある。
【0010】この構成では、送信装置の場合、論理宛先
プロセッサ番号は物理宛先プロセッサ番号に置き換えら
れ、また、論理ソースアドレスは物理ソースアドレスに
変換されて、メッセージ本体が送信される。受信処理の
場合には、メッセージヘッダ内の論理宛先メモリアドレ
スは物理宛先メモリアドレスに変換されてメモリに書き
込まれる。また、処理しようとする際、UPにより指定
された論理値に対応する変換テーブルがない場合、この
処理はエラーとなる。
【0011】また、1つのプロセッサ上の複数のUPが
プロセッサ間通信する場合には、OSに対しシステムコ
ールを行なうことで、プロセッサ間通信を行なってい
た。この方法では、複数のUPからの要求をOSが受け
ることにより、プロセッサ間通信装置を使用するのはO
Sだけとなるが、システムコールを用いるので、上述の
ようなプロセッサ間通信性能の劣化の問題が起こる。
【0012】
【発明が解決しようとする課題】上述した従来のプロセ
ッサ間通信の方法および装置のうち、通信装置内のコマ
ンドバッファにCPUがコマンドを書き込むことによ
り、メッセージの送信処理を開始する方法では、CPU
が1つのメッセージを送信依頼した後、次の送信依頼を
行なう際、送信装置内の状態レジスタの状態を読みに行
く必要がある。この結果、CPUから送信装置への送信
依頼が連続して行なえない。また、送信依頼による実行
が完了したことを確認するため、送信依頼を行なう前に
送信装置内の状態レジスタへのアクセスが必要になり、
通信処理時間を増加させるという問題点がある。
【0013】また、UPからのメッセージの送信を、プ
ロセッサがOSに対してシステムコールすることによ
り、OSがUPに代わってメッセージヘッダを作成し、
送信する方式では、UPからOSに対するプロセス切り
替え処理が発生する。この結果、このプロセス切り替え
処理に必要なレジスタの退避と回復の処理とによりプロ
セッサ間の通信に対して発生するオーバヘッドがプロセ
ッサ間の通信の性能を劣化させるという問題点がある。
【0014】また、プロセッサ間の通信装置内にそれぞ
れの情報に関する論理値から物理値に変換するテーブル
を持つ構成では、ソースアドレスと宛先メモリアドレス
に関してCPUが取り扱っているページテーブルと同じ
ものが必要になる。この結果、ページテーブル全体を通
信装置内に格納するには大きなメモリが必要になるとい
う問題点がある。更に、CPUが論理アドレスと物理ア
ドレスとのマッピングを変更する毎に、通信装置内のペ
ージテーブルを変更する必要があるので、この結果、発
生するオーバヘッドが非常に大きいという問題点があ
る。
【0015】さらに、複数のUPを1つのプロセッサで
処理する場合には、OSによるシステムコールを使用し
て、OSによるプロセッサ間通信を行なう。しかし、こ
の場合には、上述したようにシステムコール時のプロセ
ス切り替えのオーバヘッドの問題点がある。
【0016】また、2つのUP(UP1とUP2)間で
プロセス切り替えを行なう時点では送信装置に依頼され
た送信処理がすべて完了していない場合が起こる。即
ち、CPUは、UP1からUP2に割り当てが変更され
るが、その時点で、UP1のHB(メッセージヘッダバ
ッファ)には未処理のヘッダが残ったままになっている
場合が起こる。これらのUP1の送信処理はCPUがU
P2に切り替えた後も処理しなければならない。従っ
て、ある時点では、CPUで実行されているUPと、送
信装置で実行されている送信処理依頼を行なったUPが
異なる場合が起こる。
【0017】本発明の課題は、プロセッサのメモリ上に
メッセージヘッダの書き込み領域を指示する送信装置の
ポインタレジスタと同一の指示値を格納するポインタレ
ジスタコピーを備え、送信処理依頼の際、CPUによ
り、送信装置内のポインタレジスタの代わりに、ポイン
タレジスタコピーが指示する領域にメッセージヘッダの
書き込みを行ない、また、送信装置からアドレスの読み
出しを、メモリ上でラストポインタとポインタレジスタ
のコピーとの指示値が一致した場合だけとし、ユーザプ
ロセスからの送信を、システムコールすることなく直接
処理し、また、ユーザプロセスから送信できるプロセッ
サの場合、ソースアドレス、および、宛先メモリアドレ
スを、OSにより所定の範囲に限定し、ユーザプロセス
からのすべての送信処理依頼の完了を知らせる割り込み
を設けることにより、プロセッサ内で、CPUと通信装
置との間の情報の授受回数を減少させ、ユーザプロセス
からの通信を直接、安全に、かつ、高速にでき、1つの
プロセッサ上で複数のユーザプロセスを処理できるプロ
セッサ間通信の方法および装置を提供することにある。
【0018】
【課題を解決するための手段】本発明によるプロセッサ
間通信の方法では、CPUと、メモリと、受信装置およ
び送信装置を有するプロセッサ間の通信装置とを備え、
プロセッサ間ネットワークにより接続される複数のプロ
セッサ間通信の方法において、前記メモリは、前記CP
Uにより送信されるメッセージのヘッダを格納するHB
(メッセージヘッダバッファ)と、該ヘッダの次に書き
込まれるヘッダのアドレスを指示するPR(ポインタレ
ジスタ)と同一の指示値を格納するPRコピーとを備
え、また、前記送信装置は、前記HBに対する前記PR
と、次に処理するヘッダのアドレスを指示するCT(カ
ウンタ)とを備えている。
【0019】一方、前記CPUは、前記メモリ上にある
PRコピーの指示値により指示されるHBのアドレスに
ヘッダを書き込んだのち、前記PRの指示値と該PRコ
ピーの指示値とを次のヘッダを書き込むアドレスに更新
し、また、前記送信装置は、前記PRの指示値と前記C
Tの指示値との相違により送信処理要求を知った際、該
CTにより指示されるメモリ領域からヘッダを読み出し
てメッセージの送信処理を行ない、該送信処理の終了時
点で、次に処理するヘッダの格納アドレスを指示するよ
うに前記CTを更新し、前記PRの指示値とCTの指示
値とが一致するまで、前記送信処理を行なっている。
【0020】また、追加の手段として、前記メモリはH
Bで使用できる最後の領域を指示するLP(ラストポイ
ンタ)を有し、前記CPUは、CPUがヘッダを書き込
む際、メモリ上で該LPの指示値と前記PRコピーの指
示値とを比較し、同一値の場合のみ、前記送信装置のC
Tの指示値を読み出して該LPの指示値を該CTが指示
する前記HBアドレスのアドレスの1つ手前に更新設定
する一方、該更新設定ののち、なお、LPの指示値とP
Rのコピーの指示値とが一致した場合にはヘッダの書き
込みを中止している。
【0021】また、更に追加の手段として、前記HB、
PR、CT、PRコピー、および、LPそれぞれがUP
(ユーザプロセス)用およびOS(オペレーティングシ
ステム)用の2組を備え、前記CPU上でUPとOSが
動作する際、前記送信装置は、UP用で前記PRの指示
値と前記CTの指示値とが相違する場合にはUPからの
送信処理依頼と判断する一方、OS用でPRの指示値と
CTの指示値とが相違する場合にはOSからの送信処理
要求依頼と判断し、また、UP用およびOS用両者の指
示値が相違する場合には、OSからの送信依頼と判断し
て送信処理を行なっている。
【0022】上記手段において、前記UPがプロセッサ
間通信を行なう場合、前記送信装置は、前記OSにより
予め設定されたマスク値を有するMKR(マスクレジス
タ)と、前記OSにより予め設定されたオフセット値を
有するOFF(オフセットレジスタ)とを備え、前記U
Pのヘッダにより指定された宛先プロセッサ番号を、前
記マスク値およびオフセット値によって制限された番号
に置き換えて送信処理している。また、前記送信装置
は、前記OSにより予め指定されたビットをSAR(ソ
ースアドレスレジスタ)に有し、前記UPのヘッダによ
り指定された、送信するデータを格納するソースアドレ
スのビットの一部を、該SARに予め指定されたビット
に置き換える一方、前記OSにより予め指定されたビッ
トをDAR(デスティネーションアドレスレジスタ)に
有し、前記UPのヘッダにより指定された、宛先プロセ
ッサのメモリ上の書き込み領域を示す宛先メモリアドレ
スのビットの一部を、該DARに予め指定されたビット
に置き換えて、送信処理している。
【0023】前記手段において、複数のUPが前記プロ
セッサ上で動作している場合、前記OSは、各UPごと
に前記HBをメモリ上に設けている。また、前記OS
は、現在実行しているUPであるUP1を他のあるUP
2に切替える時点で、UP2から参照される前記UP用
PRとCTの論理アドレスを、送信装置内のレジスタで
ある前記UP用PRとCTの物理アドレスではなく、前
記メモリ上に設けた仮PRと仮CTの物理アドレスに変
換されるようにページテーブルを設定し、前記メモリ上
にあるUP2用の退避領域から退避したPRとCTの値
を読み出しメモリ上の仮PRと仮CTに設定し、前記送
信装置内のアイドル割り込み許可ビットに1を書き込
み、UP1用HB内の処理すべき送信処理依頼がすべて
処理されたことを示す前記送信装置からのアイドル割り
込みを待ち、CPUをUP2に割り当てる。前記送信装
置内は、前記UP用PRとCTが同じ値になったときに
CPUに対してアイドル割り込みを起こし、STOPビ
ットを1にし、送信処理を停止する。
【0024】また、前記OSは、前記送信装置からアイ
ドル割り込みが起こると、前記送信装置内のUP用P
R、CT、SAR、DAR、MKR、OFRの値を前記
メモリ上にあるUP1用の退避領域に格納し、前記メモ
リにあるUP2用の退避領域内のSAR、DAR、MK
R、OFRの値を前記送信装置の各レジスタに設定し、
メモリ上にあるUP2の前記仮PRと前記仮CTの値を
前記送信装置内のUP用PRとCTに設定し、UP2か
ら参照される前記UP用PRとCTの論理アドレスを、
送信装置内のレジスタである前記UP用PRとCTの物
理アドレスに変換されるようにページテーブルを設定
し、前記アイドル割り込み許可ビットを0にし、前記S
TOPビットを0にし前記停止状態を解除し、割り込み
から復帰することにより、前記CPUでのUP2を実行
を継続する。
【0025】また、本発明によるプロセッサ間通信の装
置は、プロセッサ間ネットワークにより接続される複数
のプロセッサそれぞれに備えられ、プロセッサ間の通信
を行なう装置において、該プロセッサは、CPU(中央
処理ユニット)と、メモリと、受信装置および送信装置
を有するプロセッサ間の通信装置とを備えている。
【0026】メモリは、前記CPUにより送信されるメ
ッセージのヘッダを格納するHB(メッセージバッフ
ァ)と、前記CPUにより該HBに次に書き込まれるヘ
ッダを格納する領域のアドレスを格納するPR(ポイン
タレジスタ)と同一の指示値を格納するPRコピーと、
前記HBで使用できる最後の領域を示すLP(ラストポ
インタ)とを備えている。
【0027】また、前記送信装置は、該PRと、次に処
理するメッセージのヘッダを前記メモリ上に指示するC
T(カウンタ)と、該PRの指示値と該CTの指示値と
を比較し、相違を検出するRL(比較器)と、該RLに
より相違が検出された場合、送信処理要求と判断し、該
CTにより指示されるメモリ箇所からヘッダを読み出し
てメッセージの送信処理を行ない、該送信処理の終了時
点で、次に処理するヘッダの格納アドレスを指示するよ
うに前記CTを更新し、前記PRの指示値とCTの指示
値とが一致するまで、前記送信処理を行なう送信処理手
段とを備えており、また、前記受信装置は、前記プロセ
ッサ間ネットワークから受けたメッセージのヘッダを格
納するHR(メモリヘッダレジスタ)と、前記メモリ上
に予め用意されたMB(メッセージバッファ)のアドレ
スを格納するBAR(バッファアドレスレジスタ)とを
備え、メッセージを受けた際、ヘッダを該HRに格納す
ると共に、ヘッダ内にある宛先メモリアドレスまたは、
前記BARにより指示されるメモリのアドレスに格納す
る受信処理手段を備えている。
【0028】更に、前記CPUは、前記メモリ上にある
PRコピーにより指示されるHBのアドレスにヘッダを
書き込んだのち、前記PRと前記PRコピーとの指示値
を次のヘッダを書き込むアドレスに更新するPR更新手
段と、該PR更新の際、該PRコピーと前記LPとの指
示値を比較する比較手段と、該比較手段から指示値の一
致を通知された場合、前記送信装置のCTの指示値を読
み出し、前記LPの指示値を該CTの指示値の1つ手前
の値に更新するCT更新手段と、該CT更新の後も、P
RとLPの指示値が同一の場合にはヘッダの書き込みを
中止する中止手段とを備えている。
【0029】また、上記構成に追加して、前記送信装置
は、前記PR、CT、およびRLをUP(ユーザプロセ
ス)用およびOS(オペレーティングシステム)用に2
組備え、かつ、送信するメッセージの種類を格納し、U
P用RLおよびOS用RL両方の出力を受け、前記CP
UでUPおよびOSが動作する際、UP用RLで指示値
の相違が検出された場合にはUPからの送信処理依頼の
発生と判断する一方、OS用RLで指示値の相違が検出
された場合にはOSからの送信処理依頼の発生と判断
し、また、両者が相違する場合には、OSからの送信処
理依頼の発生と判断することによりUPおよびOSの一
方を選択するSQ(シーケンサ)と、該SQから送信処
理依頼の発生を通知された際、該当するCTが指示して
いるメモリのアドレスからヘッダを読み出し、該ヘッダ
内の各情報を該当する各レジスタに格納すると共に、該
当メッセージがUP用かOS用かを示すメッセージの種
別情報を設定して送信処理を行ない、該メッセージの処
理を終了する際、次のメッセージヘッダを指示するよう
に該当するCTの指示値を更新する送信処理手段とを備
えている。
【0030】また、更に追加される構成として、前記ヘ
ッダは、少なくとも、宛先プロセッサを指定する情報
(以後、宛先プロセッサ番号)、メッセージの受信終了
時に割り込みを起こすか否かを指定する受信終了割り込
みビット、メッセージの長さ情報(以後、メッセージ語
数)、メモリに格納されているメッセージ本体の先頭ア
ドレス(以後、ソースアドレス)、メッセージを送る送
り先プロセッサのメモリアドレス(以後、宛先メモリア
ドレス)、並びに、少なくとも、メッセージの処理先お
よび書き込み先を区別するメッセージの種類を表す情報
(以後、メッセージ種別)を含んでおり、前記送信装置
は、前記PR、CT、RLに加えて、宛先プロセッサ番
号を格納するER(宛先プロセッサ番号レジスタ)と、
前記ソースアドレスを格納するSAR(ソースアドレス
レジスタ)と、前記宛先メモリアドレスを格納するDA
R(宛先アドレスレジスタ)とを、UP(ユーザプロセ
ス)用およびOS(オペレーティングシステム)用に2
組備え、かつ、前記SQに加えて、転送する前記メッセ
ージ語数を格納するLR(メッセージ語数レジスタ)
と、前記UPのヘッダ内の宛先プロセッサ番号を制限す
るための数値を前記OSにより格納されるMKR(マス
クレジスタ)およびOFR(オフセットレジスタ)と、
前記UPによる送信処理依頼があった場合、UP用の前
記HBからヘッダ内の宛先プロセッサ番号を読み出し、
読み出した該宛先プロセッサ番号と前記MKRの格納値
とを入力する論理積回路と、論理積回路の出力値と前記
OFRの格納値とを入力し、前記ERに宛先プロセッサ
番号として出力する論理和回路とを備えている。
【0031】また、上記構成に加えて、UP用の前記S
ARは、UPのメッセージのヘッダ内に含まれるソース
アドレスの一部のビットに置き換えるためにOSにより
予め指定された置換ビットを格納する領域と、該置換ビ
ット以外の部分を格納するUPにより指定されたソース
アドレス部分の領域とを有し、前記送信装置は、UPに
よる送信処理依頼があった場合、前記メモリ内のヘッダ
から読み出されたソースアドレスをUP用のSARに格
納し、メッセージの本体を読み出す際には、UPに指定
されてSARに格納されたソースアドレスに前記置換ビ
ットの数値を組み合わせたアドレスから、メッセージ本
体を読み出して、プロセッサ間ネットワークに送出する
送信処理手段を有している。
【0032】他方、UP用の前記DARは、UPのメッ
セージのヘッダ内に含まれる宛先メモリアドレスの一部
のビットに置き換えるためOSにより予め指定された置
換ビットを格納する領域と、該置換ビット以外の部分を
格納するUPにより指定された宛先メモリアドレス部分
の領域とを比較し、前記送信装置は、UPによる送信処
理依頼があった場合、前記メモリ内のヘッダから読み出
された宛先メモリアドレスをUP用のDARに格納し、
メッセージをプロセッサ間ネットワークに送出する際に
は、UPに指定されてDARに格納された宛先メモリア
ドレスに前記置換ビットの数値を組み合わせたアドレス
をメッセージの宛先メモリアドレスとして送出する送信
処理手段を有している。
【0033】さらに、前記SQは、1を書き込むと新た
な送信処理の開始を行なわなくなるSTOPビットと、
アイドル割り込み許可ビットを有し、前記CPUが該ア
イドル割り込み許可ビットに1を書き込むと、SQは、
UP用PRとUP用CTの値が等しくなったときにCP
Uに割り込みを行ない、STOPビットに1を書き込み
停止するアイドル割り込み発生手段を有している。
【0034】
【作用】上記構成により、CPUと通信装置間との間の
送信処理依頼が、メモリ上のHB(メッセージヘッダバ
ッファ)を介して独立して動作し、実行できる。また、
PRコピーの指示値がLP(ラストポインタ)の指示値
と同じになるまでは、CPUが送信装置の処理の進み具
合を確かめずに送信処理要求の依頼ができる。
【0035】また、UP用とOS用の2つのHB(メッ
セージヘッダバッファ)を用いることにより、各HBを
異なるメモリページ上に設けられるので、UP(ユーザ
プロセス)とOS(オペレーティングシステム)との間
でのメッセージヘッダの破壊等をなくすことができる。
また、UPが直接メッセージヘッダを作成して通信装置
に送信処理を要求することができるので、UPからのプ
ロセッサ間の高速な通信が実現できる。
【0036】更に、この構成により、プロセッサ間の通
信上、誤りのない指定を必要とする、宛先プロセッサ番
号、ソースアドレス、宛先メモリアドレスに関しても、
少ないハードウェア量で保護されることができ、システ
ムダウンが完全に回避できる。
【0037】また、宛先プロセッサ番号は、OSにより
予め指定されたMKRとOFRとによって、同じプロセ
ッサの集合に制限される。この結果、誤った宛先プロセ
ッサ番号を指定しても、メッセージは、同一のUP内に
届き、他のUPには届くことはない。
【0038】また、アドレスレジスタの一部を使用し
て、ソースアドレスと宛先メモリアドレスの一部のビッ
トをOSが指定したビットと置き換えるため、メモリの
一部分しかアクセスすることができない。この結果、メ
モリマップされていないアドレスからの読み出しがな
く、かつ、OSのデータが破壊されることない。
【0039】メモリ上にHBを設けているため、複数の
UPのHBをメモリ上に同時にとることができ、アイド
ル割り込みを用いることにより、OSは、CPUのプロ
セス切り替え時に、送信装置が処理しているUPのすべ
ての送信処理の完了を知ることができる。その時点で、
送信装置内のUP用PR、UP用CT、MKR、OF
R、SAR、DARをこのUPの退避領域に退避し、次
に実行するUPの退避してある値を送信装置内のMK
R、OFR、SAR、DARに設定することにより、U
Pの切り替え処理を行なうことができる。この結果、複
数のUPを1つのプロセッサ上で処理する場合でも、U
Pが直接、プロセッサ間通信装置を使用して、高速かつ
安全な通信を行なうことが可能である。
【0040】
【実施例】次に、本発明について図を参照して説明す
る。
【0041】図1は、本発明の一実施例を示す機能ブロ
ック図である。図1に示されるように、複数のプロセッ
サ1は、プロセッサ間ネットワーク2によって接続され
ており、バス10により接続される。CPU11、メモ
リ12、および、通信装置13を備え、通信装置13
は、送信装置15および受信装置16を有している。
【0042】メモリ12は、UP(ユーザプロセス)用
HB(メッセージヘッダバッファ)21、OS(オペレ
ーティングシステム)用HB22、および、MB(メッ
セージバッファ)23を有している。このMB23は、
通常、HB21、22と同様にUP用およびOS用を設
けているが、図1では省略して1つのバッファだけが示
されている。各HB21、22には、メッセージヘッダ
24が、また、メモリ12上にはメッセージの本体25
がそれぞれ格納されている。また、各HB21、22に
対してはメモリ12上に、LP(ラストポインタ)21
1、22およびPR(ポインタレジスタ)コピー21
2、222が設けられている。メモリ12の詳細につい
ては、図2を参照して後述する。
【0043】通信装置13の送信装置15は、UP用お
よびOS用にAR(アドレスレジスタ)30、40、P
R(ポインタレジスタ)31、41、CT(カウンタ)
32、42、および、ER(宛先プロセッサ番号レジス
タ)33、43を備え、更に、UP用には、MKR(マ
スクレジスタ)51およびOFR(オフセットレジス
タ)52を備えている。また、送信装置には、UPのH
Bに処理すべきヘッダがない時に割り込みが起こること
を指定するアイドル割り込みビットを備えている。この
詳細については、図4を参照して後述する。
【0044】通信装置13の受信装置16は、UP用の
BAR(バッファアドレスレジスタ)61およびOS用
のBAR62、並びにHR(メッセージヘッダレジス
タ)63を備えている。BAR61、62は、受けたメ
ッセージ本体をメモリ12上に格納するMB23におけ
るアドレスを格納する。また、HR63は受けたメッセ
ージヘッダを格納する。
【0045】ここで、図1、図2および図3を併せ参照
してプロセッサ1のメモリ12に格納されるメッセージ
について説明する。
【0046】メッセージはヘッダ24および本体25を
有し、図示されているUP用のメッセージでは、ヘッダ
24はHB21に格納され、本体はメモリ12上に格納
されているものとする。
【0047】図2に示されているように、UP用のHB
21に対して、メモリ12(図1)上には、LP211
と送信装置15のUP用PR31(図1)と同一の内容
を示すPRコピー212とが設けられ、PRコピー21
2により示されるHB21のヘッダ領域に、次のメッセ
ージのヘッダが書き込まれる。LP211はHB21上
で、メッセージヘッダを書き込む最後のヘッダ領域を指
示し、この指示は、CPU11(図1)がメッセージヘ
ッダを書き込む際、PRコピー212の指示と比較され
る。
【0048】この比較の結果、図2に示されるように、
LP211の指示とPRコピー212の指示とが一致し
た場合、CPU11は、送信装置15のUP用CT32
(図1)から指示値213を読み出し、図3に示される
ように、CT32の指示値213の1つ前のヘッダ領域
を指示するようにLP215を設定すると共に、PRコ
ピー212により指示されているヘッダ領域にメッセー
ジヘッダを書き込み、送信装置15に送信処理を依頼す
る。
【0049】CPU11がメッセージヘッダを書き込む
際、図3に示される状態からメッセージヘッダが順次書
き込まれ、PRコピー212の指示値がLP214の指
示値と一致したにも拘らず、送信処理が終了せず、CT
32の指示値213が変化しなかった場合にも、上記の
動作が実行されるが、LP214の指示設定に変化がな
いことになる。このことは、メッセージヘッダの書き込
み領域が満杯状態を意味しているので、この送信処理は
エラーにしている。
【0050】OS用のHB22についても同様である。
【0051】次に図2を参照してメッセージのヘッダ2
4の内容について説明する。
【0052】メッセージヘッダ24には、図2に示され
るように、宛先プロセッサ番号241、メッセージ語数
242、ソースアドレス243、宛先メモリアドレス2
44、および、メッセージ種別245が格納されるもの
とする。
【0053】メッセージ語数242は転送されるデータ
であるメッセージ本体の長さを示す。ソースアドレス2
43はメッセージ本体25を格納するメモリ12(図
1)の本体25の格納アドレスを示す。宛先メモリアド
レス244には、転送元プロセッサにより転送先プロセ
ッサのメモリアドレスが指定される際に、この指定され
るメモリアドレスが格納される。
【0054】メッセージ種別245には、メッセージの
種類を示すビットがある。即ち、メッセージ種別245
には、(1)格納先アドレスが、転送元プロセッサによ
り指定された転送先プロセッサのメモリアドレスか、ま
たは、転送先プロセッサにより指定されるアドレス、即
ち、図1に示されたBAR61、62によって指定され
るアドレスかを示す情報、(2)格納するメッセージ
が、UPからのものか、または、OSからのものかを示
す情報、等がある。
【0055】次に、図5を参照して図1の送信装置15
の構成について説明する。
【0056】送信装置15では、上記、図1を参照して
説明したように、UP(ユーザプロセス)用とOS(オ
ペレーティングシステム)用とのほぼ2組の構成要素が
備えられ、図1で説明した構成要素に対して、RL(比
較器)34、44が加えられ、また、AR(アドレスレ
ジスタ)30、40、には、SAR(ソースアドレスレ
ジスタ)35、45、およびDAR(宛先メモリアドレ
スレジスタ)36、46が設けられている。更に、UP
用には、宛先プロセッサ番号の制限に使用される論理積
回路53および論理和回路54が備えられ、また、U
P、OS共通に、LR(メッセージ語数レジスタ)5
5、SQ(シーケンサ)56、および、MUX(多重変
換装置)57、58が備えられている。
【0057】また、UP用のHBに処理すべきヘッダが
なくなったことを伝えるためのアイドル割り込み回路が
備えられている。アイドル割り込み回路には、アイドル
割り込みを発生させるかどうかを決めるアイドル割り込
みビットがある。
【0058】RL34、44は、PR31、41とCT
32、42とに格納されている数値を比較し、相違する
際に相違をSQ56に通知する。SAR35、45に
は、メッセージヘッダ24(図2参照)のソースアドレ
ス243が格納され、DAR36、46には、メッセー
ジヘッダ24の宛先メモリアドレス244が格納され
る。また、LR55には、メッセージヘッダ24のメッ
セージ語数242が格納される。SQ56は、RL34
およびRL44の少なくとも一方から、格納指示値の相
違通知を受けた際、この格納指示値の相違通知を受けた
ことを、CPU11から送信装置15が受けた送信処理
依頼と判断し、送信処理を開始する。
【0059】また、SQ56は、RL34、44の両者
から格納指示値の相違を受けた場合、OS用RL44か
らの通知を優先とし、OSからのメッセージ送信処理依
頼と判断して送信処理をする。
【0060】次に、図1および図5を併せ参照し、OS
によるメッセージの送信について説明する。
【0061】CPU11は、メモリ12のOS用HB2
2上にあるOS用PRコピー222に格納されるアドレ
スにより指示されるヘッダ領域にメッセージのヘッダを
作成格納する。この際、PRコピー222の指示がOS
用LP221の指示と同一の場合、CPU11は、LP
221の更新を行なうと共に、OS用ヘッダをHB22
に書き込む。この手順で、LP221の更新ができない
場合、上述のように、このメッセージヘッダをHB22
に書き込むことはできない。
【0062】CPU11は、OS用メッセージのヘッダ
をHB22に書き込んだ後、メモリ12上のPRコピー
222と、送信装置15内のOS用PR41とのアドレ
スを、次のヘッダを書き込むアドレスに更新して格納す
る。送信装置15のOS用では、RL(比較器)44
が、CPU11により格納されたPR41の格納指示値
をCT42の格納指示値と比較し、格納指示値の相違を
SQ(シーケンサ)56に通知する。SQ56は、この
格納指示値の相違通知を受けたことを、CPU11から
送信装置15が受けた送信処理依頼と判断し、送信処理
を開始する。
【0063】送信処理では、まず、送信装置15が、O
S用のCT42に格納されているアドレスにより、メモ
リ12のOS用HB22に格納されているメッセージの
ヘッダから、図2に示されると同様の、宛先プロセッサ
番号、メッセージ語数、ソースアドレス、および、メッ
セージ種別を読み出し、さらに、メッセージ種別で送信
側が指定した受信側のメモリアドレスにメッセージ本体
を書き込む場合には、宛先メモリアドレスも読み出す。
【0064】送信装置15は、読み出した宛先プロセッ
サ番号をOS用のER(宛先プロセッサ番号レジスタ)
43に、メッセージ語数をLR55に、ソースアドレス
をOS用のSAR45に、また、宛先メモリアドレスを
OS用のDAR46に、それぞれ格納した後、MUX5
8でヘッダを改めて構築してプロセッサ間ネットワーク
2に送出する。この場合、送出されるヘッダのメッセー
ジの種別には、OSからのメッセージである情報が加え
られる。
【0065】ヘッダの送出に続いて、送信装置15は、
OS用のSAR45に格納されたアドレスによりメモリ
12から、LR55に格納されたメッセージ語数分のメ
ッセージ本体を読み出し、MUX58を介してプロセッ
サ間ネットワーク2に送出してメッセージの送信を終了
する。
【0066】メッセージの送信処理終了により、送信装
置15は、OS用CT42の計数値を次に送出するメッ
セージのヘッダ格納領域を指示する数値に更新する。
【0067】次に、図1、図2および図4を併せ参照し
て、1つのプロセッサで1つのUPが実行されている場
合を例にとり、UPからのメッセージの転送について説
明する。
【0068】OSは、送信装置15の初期設定で、UP
用SAR35の一部のSAR37、および、DAR36
の一部のDAR38にそれぞれ所定のビットを予め設定
するものとする。
【0069】また、OSは、送信装置15内のMKR
(マスクレジスタ)51およびOFR(オフセットレジ
スタ)52の値を、UP用に割り当てられたプロセッサ
番号の集合を表現するように、予め設定するものとす
る。
【0070】まず、前述のOSの場合と同様、CPU1
1は、メモリ12のUP用HB21上にあるUP用PR
コピー212に格納されるアドレスにより指示されるヘ
ッダ領域にメッセージのヘッダを作成格納する。この
際、UP用PRコピー212の指示がUP用LP211
の指示と同一の場合、CPU11は、LP211の更新
を行なうと共に、UP用のヘッダをHB21に書き込
む。この手順で、LP211の更新ができない場合、上
述のように、このメッセージのヘッダを書き込むことが
できない。
【0071】CPU11は、UP用メッセージのヘッダ
をHB21に書き込んだ後、メモリ12上のPRコピー
212と、送信装置15内のUP用PR31とのアドレ
スを、次のヘッダを書き込むアドレスに更新して格納す
る。送信装置15のUP用側では、RL(比較器)34
が、CPU11により格納されたPR31の格納指示値
をCT32の格納指示値と比較し、格納指示値の相違を
SQ(シーケンサ)56に通知する。SQ56は、この
格納指示値の相違通知をOSからではなく、UPからだ
け受けたことを、CPU11から送信装置15が受けた
UPからの送信処理依頼と判断し、送信処理を開始す
る。
【0072】送信処理では、まず、送信装置15が、U
P用のCT32に格納されているアドレスにより、メモ
リ12のUP用HB21に格納されているメッセージの
ヘッダ24(図2参照)から、宛先プロセッサ番号24
1、メッセージ語数242、ソースアドレス243、お
よび、メッセージ種別245を読み出し、さらに、メッ
セージ種別245で送信側が指定した受信側のメモリア
ドレスにメッセージ本体を書き込む場合には、宛先メモ
リアドレス244も読み出す。ここまでの手順はOSの
場合と同様である。
【0073】送信装置15は、読み出したメッセージ語
数をLR55に格納するが、UP用のER(宛先プロセ
ッサ番号レジスタ)33には、UP用のメッセージヘッ
ダ24に作成された宛先プロセッサ番号241とMKR
51に格納されている数値とを論理積回路53に入力し
て論理積をとり、この論理積値とOFR52に格納され
ている数値とを論理和回路54に入力して得た論理和値
が格納される。
【0074】また、UP用のメッセージヘッダ24に格
納されたソースアドレス243は、OSによりSAR3
7に予め設定された部分以外の分だけ、UP用のSAR
35に書き込まれる。宛先メモリアドレス244につい
ても、UP用のメッセージヘッダ24に作成された宛先
メモリアドレス244は、OSによりDAR38に予め
設定された部分以外の分だけ、UP用のDAR36に書
き込まれる。更に、メッセージ種別245には、このメ
ッセージがUPからのメッセージであるとの情報が加え
られる。
【0075】メモリ12からヘッダ24に含まれる情報
を送信装置15のUP用の各レジスタに格納した後、送
信装置15は、MUX58でヘッダを改めて構築してプ
ロセッサ間ネットワーク2に送出する。送出の際、送出
されるヘッダの宛先メモリアドレスは、今回書き込まれ
たDAR36のアドレス値と、OSにより予め設定され
たDAR38のアドレス値とを組み合わせたアドレスに
形成される。
【0076】ヘッダの送出に続いて、送信装置15は、
UP用のSAR35に格納されたアドレス値と、OSに
より予め設定されたSAR37のアドレス値とを組み合
わせたアドレスによりメモリ12から、LR55に格納
されたメッセージ語数分のメッセージ本体を読み出し、
MUX58を介してプロセッサ間ネットワーク2に送出
してメッセージの送信を終了する。
【0077】メッセージの送信処理終了により、送信装
置15は、UP用CT32の計数値を次に送出するメッ
セージのヘッダ格納領域を指示する数値に更新する。
【0078】次に、図1を参照してメッセージの受信に
ついて説明する。
【0079】プロセッサ1の受信装置16は、メッセー
ジをプロセッサ間ネットワーク2から受けた際、メッセ
ージのヘッダをHR63に格納する。以下の処理は、ヘ
ッダに含まれるメッセージ種別により相違する。
【0080】まず、OSからのメッセージで、かつ、受
信したプロセッサ1が設けたMB23に書き込む場合、
受信装置16は、受信装置16のOS用BAR62に格
納されているアドレスにより指定された、メモリ12の
MB23のメモリ領域に、受けたメッセージの本体を書
き込む。この結果、BAR62の値は、メッセージ本体
のメッセージ語数分だけ増加した値に更新される。
【0081】次に、UPからのメッセージで、かつ、受
信したプロセッサ1が設けたMB23に書き込む場合、
受信装置16は、受信装置16のUP用BAR61に格
納されているアドレスにより指定された、メモリ12の
MB23のメモリ領域に、受けたメッセージの本体を書
き込む。この結果、BAR61の値は、メッセージ本体
のメッセージ語数分だけ増加した値に更新される。
【0082】次に、受けたメッセージ本体を、受けたメ
ッセージヘッダに指示される宛先メモリアドレスに書き
込む場合には、先に受け、HR63に格納されたメッセ
ージヘッダに含まれている宛先メモリアドレスにより指
示されたメモリ12に、受けたメッセージの本体を書き
込む。
【0083】次に図1と図4と図5を併せ参照し、複数
のUPが1つのプロセッサ上で実行される場合のUPの
切り替え方法について説明する。
【0084】プロセッサ上では、UP1とUP2の2つ
のユーザプロセスが実行されているとする。UP1とU
P2は、メモリ12上に、それぞれのUP用HB21を
持っており、それぞれのHBのヘッダを指示するUP用
PR31、UP用CT32の値、また、OSが予め設定
して制限する、SAR37、DAR38、MKR51、
OFR52の値は、UP1、UP2でそれぞれ異なって
いる。
【0085】現在、UP1が実行されており、今、プロ
セス切り替えの時刻となり、OSはUP1からUP2へ
のプロセスの切り替えを実行しようとしているとする。
【0086】OSは、まず、通常のプロセス切り替えと
同じようにUP1が使用していたCPU内のレジスタ等
をメモリ12上のUP1用の退避領域に退避し、メモリ
12上のUP2の退避領域から、CPUのレジスタ等の
UP2の実行環境の復元を行なう。次に、OSは、UP
2から参照されるPRとCTの論理アドレスを、送信装
置15内のレジスタであるUP用PR31、UP用CT
32の物理アドレスではなく、メモリ12上の仮PRと
仮CTの物理アドレスに変換するようにページテーブル
を設定する。また、OSは、メモリ12上にあるUP2
用の退避領域から退避されていたPRとCTの値を読み
出し、仮PRと仮CTに設定する。そして、OSは、送
信装置15内のSQ(シーケンサ)56内のアイドル割
り込み許可ビット71に1を書き込み、アイドル割り込
み許可とし、UP1が送信装置15に依頼した送信処理
がすべて終った時点でアイドル割り込みが起こるように
する。そして、OSは、CPUをUP2に割り当て、C
PUにおけるプロセス切り替えを終了する。
【0087】新しくCPUに割り当てられたUP2が、
送信装置に送信処理を依頼する場合には、上述の通り、
UP2用のHB21にヘッダを書き込み、PRコピーと
仮PRを次のヘッダ領域を指示するように設定してい
く。この時点では、送信装置15は、まだ、UP1のH
B21に残っている送信処理依頼を処理しているので、
UP2が書き込んだヘッダは送信装置15によって処理
されない。
【0088】送信装置15内のSQ56は、UP用のR
L(比較器)34からの出力が、UP用のPR(ポイン
タレジスタ)31とUP用のCT(カウンタ)32が等
しくなったことを示した時に、STOPビット72を1
にして新たな送信処理依頼を処理しないようにし、割り
込み発生回路73を用いて、CPU1に対してアイドル
割り込みを発生させる。
【0089】アイドル割り込み処理ルーチンで、OS
は、いままで送信装置15が実行していたUP1のUP
用PR31、UP用CT32、SAR37、DAR3
8、MKR51、OFR52の値をメモリ12上にある
UP1用の退避領域に退避する。
【0090】次に、OSは、メモリ12上のUP2用退
避領域から値を読み出し、送信装置15内のSAR3
7、DAR38、MKR51、OFR52に書き込む。
そして、メモリ12上にあるUP2の仮PRと仮CTの
値を送信装置15内のUP用PR31とUP用CT32
に書き込み、UP2から参照されるPRとCTの論理ア
ドレスを、送信装置15内のUP用PR31とCT32
の物理アドレスに変換するようにページテーブルを設定
する。最後に、OSは、アイドル割り込みビット71に
0を書き込み、STOPビット72に0を書き込み、送
信装置15が新たな送信処理依頼を処理できるように
し、割り込み処理ルーチンから復帰する。
【0091】この時点で、送信装置15もCPU1と同
じプロセスUP2を実行することになる。
【0092】
【発明の効果】以上説明したように本発明によれば、プ
ロセッサのメモリ上にあるメッセージヘッダバッファに
ポインタレジスタのコピーを備え、このポインタレジス
タコピーがヘッダの書き込み領域を指示する送信装置の
ポインタレジスタと同一の指示値を有している。この結
果、送信処理依頼の際、CPUは、送信装置内のポイン
タレジスタからアドレスの読み出しをせず、メモリ上の
ポインタレジスタのコピーの指示値によりヘッダの書き
込みを行なっている。また、送信装置からのアドレスの
読み出しは、メモリ上でラストポインタの指示値とポイ
ンタレジスタコピーの指示値とが一致した場合だけ必要
である。
【0093】この構成によって、メモリ上のデータを読
み出す時間より時間が長くかかる送信装置内のポインタ
レジスタ(PR)への読み出しをなくすことができ、更
に、送信装置内のカウンタ(CT)の読み出し頻度を、
メッセージヘッダバッファ内に格納できるヘッダ数分の
一に押えることができるので、通信時の処理速度を改善
し、速くできる。
【0094】また、ユーザプロセスからの送信処理を、
システムコールすることなく、直接処理している。この
結果、プロセス切り替え処理のオーバヘッドがなくな
り、高速なプロセッサ間通信が実現できる。
【0095】また、ユーザプロセスから送信できるプロ
セッサの場合、および、ソースアドレス、宛先メモリア
ドレスなど、OSにより予め設定された範囲に限定でき
るため、ユーザプロセスで間違ったメッセージヘッダの
設定があっても、他のユーザが使用中のプロセッサに間
違ってメッセージが送られることが回避でき、また、O
Sが使用中のメモリ領域が壊れされることが防止でき
る。
【0096】更に、論理的な値を使用していないので、
論理値から物理値に変換する処理は不要であり、ユーザ
プロセスが通信する場合でも、OSが行なう送信処理と
同一の処理時間で、送信処理ができる。
【0097】また、ユーザプロセスが1つのプロセッサ
に複数ある場合、CPUと送信装置で異なるプロセスが
処理される状態でも、システムコールを用いず、ユーザ
プロセスが直接、安全にプロセッサ間通信を実行するこ
とが可能である。
【図面の簡単な説明】
【図1】本発明の一実施例を示す機能ブロック図であ
る。
【図2】図1のメモリ部分の一実施例を示す構成説明図
である。
【図3】図2の別の一実施例を示す構成図である。
【図4】図1の送信装置の一実施例を示す機能ブロック
図である。
【図5】図4のシーケンサの一実施例を示す機能ブロッ
ク図である。
【符号の説明】
1 プロセッサ 2 プロセッサ間ネットワーク 10 バス 11 CPU(中央処理ユニット) 12 メモリ 13 通信装置 15 送信装置 16 受信装置 21、22 HB(メッセージヘッダバッファ) 23 MB(メッセージバッファ) 24 ヘッダ(メッセージヘッダ) 25 本体(メッセージ本体) 30、40 AR(アドレスレジスタ) 31、41 PR(ポインタレジスタ) 32、42 CT(カウンタ) 33、43 ER(宛先プロセッサ番号レジスタ) 34、44 RL(比較器) 35、45 SAR(ソースアドレスレジスタ) 36、46 DAR(宛先アドレスレジスタ) 51 MKR(マスクレジスタ) 52 OFR(オフセットレジスタ) 53 論理積回路 54 論理和回路 55 LR(メッセージ語数レジスタ) 56 SQ(シーケンサ) 57、58 MUX(多重変換装置) 61、62 BAR(バッファアドレスレジスタ) 63 HR(ヘッダレジスタ) 71 アイドル割り込み許可ビット 72 STOPビット 73 割り込み発生回路 211、221 LP(ラストポインタ) 212、222 PRコピー(ポインタレジスタコピ
ー) 241 宛先プロセッサ番号 242 メッセージ語数 243 ソースアドレス 244 宛先メモリアドレス 245 メッセージ種別
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 G06F 13/00 G06F 9/46 - 9/54

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】CPU(中央処理ユニット)と、メモリ
    と、受信装置および送信装置を有するプロセッサ間の通
    信装置とを備え、プロセッサ間ネットワークにより接続
    される複数のプロセッサ間通信の方法において、 前記メモリは、前記CPUにより送信されるメッセージ
    のヘッダを格納するHB(メッセージヘッダバッファ)
    と、該ヘッダの次に書き込まれるヘッダのアドレスを指
    示するPR(ポインタレジスタ)と同一の指示値を格納
    するPRコピーとを備え、 また、前記送信装置は、前記HBに対する前記PRと、
    次に処理するヘッダのアドレスを指示するCT(カウン
    タ)とを備え、前記CPUは、前記メモリ上にあるPR
    コピーの指示値により指示されるHBのアドレスにヘッ
    ダを書き込んだのち、前記PRの指示値と該PRコピー
    の指示値とを次のヘッダを書き込むアドレスに更新し、 また、前記送信装置は、前記PRの指示値と前記CTの
    指示値との相違により送信装置要求を知った際、該CT
    により指示されるメモリ領域からヘッダを読み出してメ
    ッセージの送信処理を行い、該送信処理の終了時点で、
    次に処理するヘッダの格納アドレスを指示するように前
    記CTを更新し、前記PRの指示値とCTの指示値とが
    一致するまで、前記送信処理を行い、 前記メモリ上に、HBで使用できる最後の領域を指示す
    るLP(ラストポインタ)を有し、前記CPUは、CP
    Uがヘッダを書き込む際、メモリ上で該LPの指示値と
    前記PRコピーの指示値とを比較し、同一値の場合にの
    み、前記送信装置のCTの指示値を読み出して該LPの
    指示値を該CTが指示する前記HBのアドレスの1つ手
    前に更新設定する一方、該更新設定ののち、なお、LP
    の指示値とPRのコピーの指示値とが一致した場合には
    ヘッダの書き込みを中止し、 前記HB、PR、CT、PRコピー、および、LPそれ
    ぞれがUP(ユーザプロセス)用およびOS(オペレー
    ティングシステム)用の2組を備え、前記CPU上でU
    PとOSが動作する際、前記送信装置は、UP用で前記
    PRの指示値と前記CTの指示値とが相違する場合には
    UPからの送信処理依頼と判断する一方、OS用でPR
    の指示値とCTの指示値とが相違する場合にはOSから
    の送信処理要求依頼と判定し、また、UP用およびOS
    用両者の指示値が相違する場合には、OSからの送信依
    頼と判断して送信処理を行い、 複数のUPが前記プロセッサ上で動作している場合、前
    記OSは、各UPごとに前記HBをメモリ上に設け、現
    在実行しているUPであるUP1を他のあるUP2に切
    替える時点で、UP2から参照される前記UP用PRと
    CTの論理アドレスを、送信装置内のレジスタである前
    記UP用PRとCTの物理アドレスではなく、前記メモ
    リ上に設けた仮PRと仮CTの物理アドレスに変換され
    るようにページテーブルを設定し、前記メモリ上にある
    UP2用の退避領域から退避したPRとCTの値を読み
    出しメモリ上の仮PRと仮CTに設定し、前記送信装置
    内のアイドル割り込み許可ビットに1を書き込み、UP
    1用HB内の処理すべき送信処理依頼がすべて処理され
    たことを示す前記送信装置からのアイドル割り込みを待
    ち、CPUをUP2に割り当て、また、前記送信装置内
    は、前記UP用PRとCTが同じ値になったときにCP
    Uに対してアイドル割り込みを起こし、STOPビット
    を1にし、送信処理を停止することを特徴とするプロセ
    ッサ間通信の方法。
  2. 【請求項2】前記OSは、前記送信装置からアイドル割
    り込みが起こると、前記送信装置内のUP用PR、C
    T、SAR、DAR、MKR、OFRの値を前記メモリ
    上にあるUP1用の退避領域に格納し、前記メモリにあ
    るUP2用の退避領域内のSAR、DAR、MKR、O
    FRの値を前記送信装置の各レジスタに設定し、メモリ
    上にあるUP2の前記仮PRと前記仮CTの値を前記送
    信装置内のUP用PRとCTに設定し、UP2から参照
    される前記UP用PRとCTの論理アドレスを、送信装
    置内のレジスタである前記UP用PRとCTの物理アド
    レスに変換されるようにページテーブルを設定し、前記
    アイドル割り込み許可ビットを0にし、前記STOPビ
    ットを0にし前記停止状態を解除し、割り込みから復帰
    することにより、前記CPUでのUP2の実行を継続す
    ることを特徴とする請求項1に記載のプロセッサ間通信
    の方法。
JP2000078733A 1995-02-09 2000-03-21 プロセッサ間通信の方法 Expired - Fee Related JP3424644B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000078733A JP3424644B2 (ja) 1995-02-09 2000-03-21 プロセッサ間通信の方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-21939 1995-02-09
JP2193995 1995-02-09
JP2000078733A JP3424644B2 (ja) 1995-02-09 2000-03-21 プロセッサ間通信の方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP18873495A Division JP3457432B2 (ja) 1995-02-09 1995-07-25 プロセッサ間通信の方法およびそれに用いるプロセッサ

Publications (2)

Publication Number Publication Date
JP2000311150A JP2000311150A (ja) 2000-11-07
JP3424644B2 true JP3424644B2 (ja) 2003-07-07

Family

ID=27624520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000078733A Expired - Fee Related JP3424644B2 (ja) 1995-02-09 2000-03-21 プロセッサ間通信の方法

Country Status (1)

Country Link
JP (1) JP3424644B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008066511A1 (en) * 2006-11-27 2008-06-05 Intel Corporation Centralized interrupt controller

Also Published As

Publication number Publication date
JP2000311150A (ja) 2000-11-07

Similar Documents

Publication Publication Date Title
US5561809A (en) In a multiprocessing system having a coupling facility, communicating messages between the processors and the coupling facility in either a synchronous operation or an asynchronous operation
US6785892B1 (en) Communications between partitioned host processors and management processor
EP0305068B1 (en) Controlling asynchronously operating peripherals
US5784617A (en) Resource-capability-based method and system for handling service processor requests
US6687849B1 (en) Method and apparatus for implementing fault-tolerant processing without duplicating working process
US4484275A (en) Multiprocessor system
US5649092A (en) Fault tolerant apparatus and method for maintaining one or more queues that are shared by multiple processors
JPS60160463A (ja) プロセツサシステム
JPH04233653A (ja) 速度差が大きい協同プロセッサ間のメッセージ・キュー処理
EP0603994B1 (en) Method and apparatus for transferring and processing data
JPS5935232A (ja) プロセサとデジタル伝送手段との間の多重通信インタフエ−ス
JPH06187298A (ja) データ転送処理方法及びデータ転送処理装置
JP3424644B2 (ja) プロセッサ間通信の方法
JP3457432B2 (ja) プロセッサ間通信の方法およびそれに用いるプロセッサ
US5740359A (en) Program execution system having a plurality of program versions
JP3169624B2 (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JP3130892B2 (ja) 二重化システム
JP3141948B2 (ja) 計算機システム
JP2992394B2 (ja) マルチプロセッサシステム
US6275915B1 (en) Selective memory duplication arrangement
JPH0148574B2 (ja)
JP2583169B2 (ja) 通信処理装置の運用プログラム切替方法
JPH06242975A (ja) 多重情報処理システムの仮想計算機ディスパッチ方式
JPS63233451A (ja) 主記憶ペ−ジリプレ−ス方式
EP0139727A1 (en) Multi-computer computer architecture

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030401

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090502

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100502

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140502

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees