JP2905041B2 - メッセージ送受信装置 - Google Patents

メッセージ送受信装置

Info

Publication number
JP2905041B2
JP2905041B2 JP5164824A JP16482493A JP2905041B2 JP 2905041 B2 JP2905041 B2 JP 2905041B2 JP 5164824 A JP5164824 A JP 5164824A JP 16482493 A JP16482493 A JP 16482493A JP 2905041 B2 JP2905041 B2 JP 2905041B2
Authority
JP
Japan
Prior art keywords
address
port
reception
buffer
memory
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 - Lifetime
Application number
JP5164824A
Other languages
English (en)
Other versions
JPH0721102A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5164824A priority Critical patent/JP2905041B2/ja
Publication of JPH0721102A publication Critical patent/JPH0721102A/ja
Application granted granted Critical
Publication of JP2905041B2 publication Critical patent/JP2905041B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、マルチプロセッサシ
ステムにおけるメッセージ送受信装置に関するものであ
る。
【0002】
【従来の技術】図7に例えば、平成4年特許願第114
281号に添付された明細書および図面に示された、従
来のメッセージ送受信装置を示すブロック図であり、図
6はこの発明および従来のメッセージ送受信装置が用い
られるマルチプロセッサシステムを示すブロック図であ
る。図6において、1はメッセージの送信を行うプロセ
ッサA、2はこのプロセッサA1と同様なハードウェア
を有して、メッセージの受信を行うプロセッサBであ
り、3はこれらのプロセッサA1とプロセッサB2とを
接続するシステムバスである。また、プロセッサA1内
において、4はメッセージ転送における送信操作をソフ
トウェア的に実行する送信タスクであり、5はメッセー
ジ転送において送信側で使用されるポートA、6は同じ
くメッセージ転送において送信側で使用されるカレント
アドレスAである。同様に、プロセッサB2内におい
て、7はメッセージ転送における送信操作をハードウェ
ア的に実行する受信制御部であり、8はメッセージ転送
において受信側で使用されるポートB、9は同じくメッ
セージ転送において受信側で使われるカレントアドレス
Bである。
【0003】次に、図7において、2はプロセッサB、
7は受信制御部で、図6に同一の符号を付して示したも
のである。10は図7では図示を省略したシステムバス
3上を流れる受信メッセージであり、例えば、パケット
ID、ソースアドレス、ディスティネーションアドレ
ス、タイプ、ポートID、カレントアドレス、メモリア
クセス情報等を含んだ、メモリをアクセスするために必
要な32バイトの情報である。
【0004】また、11は受信メッセージ10を受信し
てバッファリングを行う、受信メモリとしての受信ファ
ーストイン・ファーストアウト・メモリ(以下受信FI
FOという)である。この受信FIFO11より出力さ
れる情報中、20は受信メッセージ10内の情報の1つ
であるポートID、21は同じくカレントアドレスであ
り、22は同じくメモリアクセス情報(例えば、アドレ
ス、データ、コマンド等)である。なお、ポートID2
0は前記ポートB8に対応する情報であり、カレントア
ドレス21は後述する受信バッファのメモリブロックの
下位アドレスで、例えば1つのポートのメモリ容量が4
KBであれば、そのアドレス値の範囲は000H〜ff
fHとなる。
【0005】12はベースアドレス23を格納する、書
き換え可能なベースアドレスレジスタであり、13はこ
のベースアドレスレジスタ12からのベースアドレス2
3と前記受信FIFO11からのポートID20とを加
算して、ポートアドレス24を生成するポートアドレス
生成部である。14はポート指定アドレス25をデータ
として格納するポート指定アドレス格納テーブルであ
り、15はこのポート指定アドレス格納テーブル14か
らのポート指定アドレス25と受信FIFO11からの
カレントアドレス21とを加算してバッファアドレス2
6を生成するバッファアドレス生成部である。16はバ
ッファアドレス生成部15からのバッファアドレス26
に従って受信FIFO11からのメモリアクセス情報2
2を格納する受信バッファである。
【0006】ここで、前記ベースアドレス23はポート
指定アドレス格納テーブル14の先頭物理アドレスであ
り、ポートアドレス24はポート指定アドレス格納テー
ブル14の物理アドレスである。ポート指定アドレス2
5はポートに対応する、受信バッファ16におけるメモ
リブロックの先頭物理アドレスであり、バッファアドレ
ス26はメモリアクセス情報21が格納される受信バッ
ファ16のメモリブロックの物理アドレスである。
【0007】なお、受信制御部7は受信FIFO11か
ら、ポートID20、カレントアドレス21、およびメ
モリアクセス情報22を取り出して、種々の受信操作を
実行するものである。
【0008】次に動作について説明する。マルチプロセ
ッサシステムにおけるプロセッサ間のメッセージ転送は
通常、ポートを介して行われる。ここでは、プロセッサ
A1がプロセッサB2にアクセスする時の受信メッセー
ジ10は、例えば、そのサイズを32バイトとし、パケ
ットID、タイプ、ソースアドレス、ディスティネーシ
ョンアドレス、カレントアドレス21、ポートID2
0、メモリアクセス情報22等の情報が特定の場所に割
り付けられている。ここでは、図6において、プロセッ
サA1が、ポートA5、ポートB8を使用したメッセー
ジ転送をプロセッサB2に対して行った時、受信制御部
7が受信FIFO11に受信メッセージ10を受信して
から、受信制御部7が受信バッファ16にメモリアクセ
ス情報22を格納するまでの受信処理を説明する。
【0009】プロセッサA1において、ポートA5を使
用して、プロセッサB2に送信された受信メッセージ1
0は、プロセッサB2において受信FIFO11で受信
される。いま、ベースアドレスレジスタ12にあるベー
スアドレス23(以下、ベースアドレスを“30000
H”として、記述する)を予め設定しておき、ポート指
定アドレス格納テーブル14にあるポート指定アドレス
25(以下、30000Hに“46000H”を、30
001Hに“47000H”を、30002Hに“41
000H”を格納していたとして、記述する)を予め格
納していたとすると、受信制御部7は先ず、メモリアク
セス情報22を設定する受信バッファ16のメモリブロ
ックを選択するため、受信FIFO11にポートID2
0(以下、ポートIDを“2H”として、記述する)を
送信させると共に、カレントアドレス21(以下、カレ
ントアドレスを“770H”として、記述する)を送信
させる。ポートアドレス生成部13においては、ポート
ID20(2H)とベースアドレス23(30000
H)を加算したポートアドレス24(30000H+2
H=30002H)を出力する。
【0010】そのポートアドレス24を受けたポート指
定アドレス格納テーブル14からは、当該ポートアドレ
ス24(30002H)に対応するデータであるポート
指定アドレス25(41000H)が、バッファアドレ
ス生成部15に対して出力される(メモリブロック2が
選択される)。バッファアドレス生成部15は、受信F
IFO11が出力したカレントアドレス21(770
H)と、このポート指定アドレス格納テーブル14が出
力したポート指定アドレス25(41000H)を加算
してバッファアドレス26(41000H+770H=
41770H)を生成し、受信バッファ16に出力す
る。受信バッファ16では、受信FIFO11から出力
されるメモリアクセス情報22が、このバッファアドレ
ス生成部15からのバッファアドレス26(41770
H)で示されるメモリブロック(メモリブロック2)に
格納される。
【0011】
【発明が解決しようとする課題】従来のメッセージ送受
信装置は以上のように構成されているので、同一のポー
トIDへの受信時には、前回の転送数を記憶しておいて
所定の転送域に設定する必要があり、送信側の転送開始
に時間がかかり、また、転送量が増大すると、他のポー
トIDの指定領域までデータが書き込まれて、他のポー
トIDで転送されたデータが破壊される危険性があるば
かりか、受信側のプロセッサの中央演算処理装置(以下
CPUという)が送信側のプロセッサから送られてきた
データをリードする場合に、ベースアドレスレジスタ1
2に設定されたベースアドレス23およびポート指定ア
ドレス格納テーブル14内の情報を計算して、受信バッ
ファ16のアドレスを決定しなければならず、データリ
ードに長時間要するなどの問題点があった。
【0012】この発明は上記のような問題点を解消する
ためになされたもので、メッセージの送受信動作、およ
び受信データのCPUリード動作の高速化がはかれ、ど
のような転送量においても転送データを確実に保護する
ことのできるメッセージ送受信装置を得ることを目的と
する。
【0013】
【課題を解決するための手段】請求項1に記載の発明に
係るメッセージ送受信装置は、受信バッファに格納され
るメモリアクセス情報の格納数を、受信メモリより出力
されるポートID毎に計数するカレントアドレスカウン
ト部、およびこのカレントアドレスカウント部の計数値
にメモリアクセス情報のバイト数を乗算して疑似カレン
トアドレスを生成するカレントアドレス生成部を設け、
バッファアドレス生成部が、このカレントアドレス生成
部の出力する疑似カレントアドレスを、ポート指定アド
レス格納テーブルより出力されるポート指定アドレスに
加算してバッファアドレスを生成するようにしたもので
ある。
【0014】また、請求項2に記載の発明に係るメッセ
ージ送受信装置は、受信バッファの各メモリブロックの
記憶容量を示すメモリブロック最大領域を、ポートアド
レスに従って格納するメモリブロック最大領域テーブ
ル、およびそのメモリブロック最大領域とカレントアド
レス生成部の出力する疑似カレントアドレスとの比較に
基づいて、バッファアドレスがメモリブロック最大領域
を越えたことを示すオーバランエラー信号を生成するオ
ーバランチェック部を設けたものである。
【0015】また、請求項3に記載の発明に係るメッセ
ージ送受信装置は、加算分アドレスが格納される加算レ
ジスタ、およびオーバランエラー信号が無意のときには
ベースアドレスレジスタからのベースアドレスをそのま
ま、有意のときにはそれに加算分アドレスを加算してポ
ートアドレス生成部に入力するベースアドレス変換部を
設けたものである。
【0016】また、請求項4に記載の発明に係るメッセ
ージ送受信装置は、読み取りが行われるメモリブロック
のポートIDが設定されるポートIDレジスタ、受信バ
ッファの書き込み/読み取りのセレクト信号によりその
ポートIDレジスタと受信メモリの送出するポートID
の一方を選択して、ポートアドレス生成部とカレントア
ドレスカウント部に送るポートIDセレクタ、および前
記セレクト信号により必要な情報の相対アドレスと疑似
カレントアドレスの一方を選択して、バッファアドレス
生成部に送るカレントアドレスセレクタを設けたもので
ある。
【0017】また、請求項5に記載の発明に係るメッセ
ージ送受信装置は、ポートIDセレクタに、必要な情報
格納されたメモリブロックのポートIDを指定する上
位アドレスをポートIDレジスタからのポートIDに代
えて入力し、ポートIDセレクタはセレクト信号により
その上位アドレスと受信メモリからのポートIDの一方
を選択して、ポートアドレス生成部とカレントアドレス
カウント部に送出するものである。
【0018】
【作用】請求項1に記載の発明におけるバッファアドレ
ス生成部は、受信メモリより出力されるポートID毎に
計数した受信バッファに格納されるメモリアクセス情報
の格納数に、メモリアクセス情報のバイト数を乗算して
得られた疑似カレントアドレスと、ポート指定アドレス
格納テーブルより出力されるポート指定アドレスとを加
算してバッファアドレスを生成することにより、受信メ
ッセージへのカレントアドレスの設定を無用とする。
【0019】また、請求項2に記載の発明におけるオー
バランチェック部は、ポートアドレスに従ってメモリブ
ロック最大領域テーブルに格納されたメモリブロック最
大領域と、カレントアドレス生成部の出力する疑似カレ
ントアドレスとを比較し、バッファアドレスがメモリブ
ロック最大領域を越えたことを示すオーバランエラー信
号を生成することにより、他のポートIDがもつメモリ
ブロックの記憶内容が破壊されるのを防止する。
【0020】また、請求項3に記載の発明におけるベー
スアドレス変換部は、オーバランエラー信号が無意のと
きにはベースアドレスレジスタからのベースアドレスを
そのまま、有意のときにはそのベースアドレスに加算レ
ジスタに格納されている加算分アドレスを加算してポー
トアドレス生成部に入力することにより、領域をオーバ
したデータについてもその転送を保障する。
【0021】また、請求項4に記載の発明におけるポー
トIDセレクタは、ポートIDレジスタに設定されたポ
ートIDと受信メモリの送出するポートIDの一方を、
受信バッファの書き込み/読み取りのセレクト信号にて
選択してポートアドレス生成部とカレントアドレスカウ
ント部に送り、カレントアドレスセレクタは、受信バッ
ファ上の必要な情報の相対アドレスとカレントアドレス
生成部からの疑似カレントアドレスの一方をセレクト信
号にて選択してバッファアドレス生成部に送ることによ
り、データリードに際して、ポート指定アドレス格納テ
ーブルの内容からアクセスアドレスをいちいち計算する
ことを不要とする。
【0022】また、請求項5に記載の発明におけるポー
トIDセレクタは、ポートIDレジスタからのポートI
Dに代えて入力される、必要な情報格納されたメモリ
ブロックのポートIDを指定する上位アドレスと、受信
メモリからのポートIDの一方をセレクト信号にて選択
して、ポートアドレス生成部とカレントアドレスカウン
ト部に送出することにより、ポートIDレジスタを削除
し、当該ポートIDレジスタへのポートIDの設定処理
を不要にする。
【0023】
【実施例】
実施例1.以下、この発明の実施例1を図について説明
する。図1は請求項1に記載の発明の一実施例を示すブ
ロック図である。図において、2はプロセッサB、12
はベースアドレスレジスタ、13はポートアドレス生成
部、14はポート指定アドレス格納テーブル、15はバ
ッファアドレス生成部、16は受信バッファ、20はポ
ートID、21はカレントアドレス、22はメモリアク
セス情報、23はベースアドレス、24はポートアドレ
ス、25はポート指定アドレス、26はバッファアドレ
スであり、図7に同一符号を付した従来のそれらと同
一、もしくは相当部分であるため詳細な説明は省略す
る。なお、10はカレントアドレス21を含んでいない
点で図7に同一符号を付した従来のものとは異なる受信
メッセージ、11はカレントアドレス21を出力しない
点で図7に示す同一符号を付した従来のものとは異なる
受信FIFOであり、7はその受信FIFO11からポ
ートID20とメモリアクセス情報22とを取り出して
種々の受信操作を実行する点で、図7に同一符号を付し
た従来のものとは異なる受信制御部である。
【0024】また、30は前記受信メッセージ10が受
信FIFO11に受信されたことを通知するために、受
信制御部7が出力するカウント信号であり、31は各ポ
ートID20毎にカウンタを備えて、受信制御部7から
のカウント信号30が受信されると、受信FIFO11
からの受信したポートID20に対応する前記カウンタ
をカウントアップし、その結果である計数値を出力する
とともに、当該プロセッサB2の図示を省略したCPU
が、その計数値の読み込みを完了するまで保持している
カレントアドレスカウント部である。32はカレントア
ドレスカウント部31が出力するポートID20に対応
した計数値と、受信FIFO11より受信バッファ16
に送られるメモリアクセス情報22のバイト数を乗算
し、その結果を疑似カレントアドレス33バッファア
ドレス生成部15に出力するカレントアドレス生成部で
ある。なお、この疑似カレントアドレス33は、図7に
符号21を付して示した従来のカレントアドレスと同様
なアドレスであるが、カレントアドレス生成部32によ
って生成、出力されるものであって、受信メッセージ1
0に含まれているカレントアドレスではない。
【0025】次に動作について説明する。まず、プロセ
ッサA1がプロセッサB2にアクセスする時の受信メッ
セージ10は、従来の場合と同様に、例えば、そのサイ
ズを32バイトとし、パケットID,タイプ,ソースア
ドレス,ディスティネーションアドレス,ポートID2
0、メモリアクセス情報22等の情報が特定の場所に割
り付けられている。ここでは、図6において、プロセッ
サA1が、ポートA5、ポートB8を使用して、カレン
トアドレスA6とカレントアドレスBは使用しないメ
ッセージ転送をプロセッサB4に対して行った時、受信
制御部7が受信FIFO11に受信メッセージ10を受
信してから、受信制御部7が受信バッファ16にメモリ
アクセス情報22を格納するまでの受信処理を説明す
る。
【0026】プロセッサA1において、ポートA5を使
用して、プロセッサB2に送信された受信メッセージ1
0は、プロセッサB2において受信FIFO11で受信
される。受信制御部7は受信FIFO11が受信メッセ
ージ10を受信した時、カウント信号30を生成してカ
レントアドレスカウント部31に送信する。カレントア
ドレスカウント部31はこのカウント信号30を受信す
ると、受信メッセージ10内のポートID20に対応す
るカウンタをカウントアップし、その結果である計数値
(ここでは、“4H”として記述する)がカレントアド
レス生成部32に出力される。カレントアドレス生成部
32では入力された前記カウント値(4H)と、FIF
O11より受信バッファ16に格納されるメモリアクセ
ス情報22のバイト数(ここでは、4Kバイト、“10
00H”として記述する)を乗算し、その結果である疑
似カレントアドレス33(1000H×4=4000
H)を生成してバッファアドレス生成部15に対して出
力する。
【0027】いま、従来の場合と同様に、ベースアドレ
スレジスタ12にベースアドレス23(“30000
H”)を、またポート指定アドレス格納テーブル14の
“30002H”にポート指定アドレス25(“410
00H”)を予め格納していたとすると、従来の場合と
同様な処理(ポートID20、“2H”)で、ポート指
定アドレス25(41000H)が、ポート指定アドレ
ス格納テーブル14よりバッファアドレス生成部15に
対して出力される。ここで、バッファアドレス生成部1
5は、カレントアドレス生成部32が出力した疑似カレ
ントアドレス33(“4000H”)と、ポート指定ア
ドレス格納テーブル14からのポート指定アドレス25
(41000H)を加算してバッファアドレス26(4
1000H+4000H=45000H)を生成して受
信バッファ16に出力する。受信バッファ16では、受
信FIFO11から出力されるメモリアクセス情報22
が、このバッファアドレス生成部15からのバッファア
ドレス26(45000H)で示されるメモリブロック
(メモリブロック2)に格納される。
【0028】これによって、送信側のプロセッサA1で
は受信メッセージ10内にカレントアドレス21を設定
する必要がなくなり、その分、送信時のメッセージ生成
時間が短縮され、メッセージの送受信を高速化できる。
【0029】実施例2.次に、この発明の実施例2を図
について説明する。図2は請求項2に記載した発明の一
実施例を示すブロック図で、相当部分には図1と同一符
号を付してその説明を省略する。図において、40は受
信バッファ16の対応するメモリブロックに格納し得る
最大バイト数を示す。ポート指定アドレス格納テーブル
14のポート指定アドレス25と1対1に対応したメモ
リブロック最大領域が、ポートアドレス生成部13から
のポートアドレス24を物理アドレスとして格納されて
いるメモリブロック最大領域テーブルである。41はメ
モリブロック最大領域テーブル40が出力するメモリブ
ロック最大領域と、カレントアドレス生成部32からの
疑似カレントアドレス33を比較し、バッファアドレス
生成部15の出力するバッファアドレス26がメモリブ
ロック最大領域を越えるか否かをチェックするオーバラ
ンチェック部であり、42はバッファアドレス26がメ
モリブロック最大領域を越えたことを検出した時、オー
バランチェック部41より受信制御部7に対して出力さ
れるオーバランエラー信号である。
【0030】次に動作について説明する。ここでは、実
施例1の場合と同様に、図6において、プロセッサA1
が、ポートA5、ポートB8を使用したメッセージ転送
をプロセッサB2に対して行った時、前記受信制御部7
が受信FIFO11に受信メッセージ10を受信してか
ら、受信制御部7が受信バッファ16にメモリアクセス
情報22を格納するまでの受信処理を説明する。なお、
ここでは、ポート指定アドレス25(ここでも実施例1
の場合と同様に、“41000H”として記述する)、
及び疑似カレントアドレス33(ここでも“45000
H”として記述する)の生成、出力までの受信処理は実
施例1の場合と同様であるため、その説明は省略する。
【0031】いま、前記メモリブロック最大領域テーブ
ル40の、ポートアドレス24(30002H)が示す
領域にメモリブロック最大領域(“3000H”)を予
め格納していたとする。受信制御部7は、前記メモリブ
ロック最大領域テーブル40を参照し、実施例1と同様
の処理(ポートID20が“2H”)でポートアドレス
生成部13が出力した、ポートアドレス24(3000
2H)に対応するメモリブロック最大領域(3000
H)をオーバランチェック部41に出力する。ここで、
オーバランチェック部41にはメモリブロック最大領域
(3000H)とともに、カレントアドレス生成部32
より疑似カレントアドレス33(4000H)も入力さ
れ、その両者が比較される。当該比較の結果、疑似カレ
ントアドレス33がメモリブロック最大領域以上である
場合には、受信制御部7に対して送出されているオーバ
ランエラー信号42が有意となり、疑似カレントアドレ
ス33がメモリブロック最大領域未満である場合には無
意となる。
【0032】従って、上述の例のように、疑似カレント
アドレス33(4000H)がメモリブロック最大領域
(3000H)以上である場合、受信制御部7に入力さ
れているオーバランエラー信号42は有意となるため、
それによってオーバランが発生したことを認知した受信
制御部7は、バッファアドレス生成部15によるバッフ
ァアドレス26の出力以降の受信信号を中止した後、エ
ラーの発生を受信側もしくは送信側のプロセッサに告知
する。一方、入力されているオーバランエラー信号42
が無意であれば、受信制御部7は実施例1の場合と同様
の処理を実行して、受信FIFO11からのメモリアク
セス情報22を受信バッファ16に格納する。
【0033】実施例3.次に、この発明の実施例3を図
について説明する。図3は請求項3に記載した発明の一
実施例を示すブロック図で、相当部分には図2と同一符
号を付してその説明を省略する。図において、50は図
示を省略した当該プロセッサB2のCPUから設定可能
に構成され、ベースアドレスレジスタ12における加算
分アドレス(ここでは、“10000H”として記述す
る)を格納する加算レジスタである。51はオーバラン
チェック部41の出力するオーバランエラー信号42が
有意となった場合、前記加算レジスタ50が出力する加
算分アドレス(10000H)と、ベースアドレスレジ
スタ12が出力するベースアドレス23(30000
H)を加算し、その結果である変換後ベースアドレス
(40000H)を出力し、オーバランエラー信号42
が無意である場合には、ベースアドレス23をそのまま
出力するベースアドレス変換部である。
【0034】次に動作について説明する。ここでも、実
施例2の場合と同様に、図6において、プロセッサA1
が、ポートA5、ポートB8を使用したメッセージ転送
をプロセッサB2に対して行った時、前記受信制御部7
が受信FIFO11に受信メッセージ10を受信してか
ら、受信制御部7が受信バッファ16にメモリアクセス
情報22を格納するまでの受信処理を説明する。なお、
ここでは、オーバランが発生した場合に、オーバランチ
ェック部41が出力しているオーバランエラー信号42
を有意にするまでの受信処理は実施例2と同様であるた
め、その説明は省略する。なお、オーバラン信号42が
無意の場合、ベースアドレス変換部51ではベースアド
レス23をそのまま出力する。
【0035】ここで、ポート指定アドレス格納テーブル
14とメモリブロック最大領域テーブル40の、ポート
アドレス24(“30002H”)が示すメモリ領域に
は、通常のポート指定アドレス25(ここでは“410
00H”)とメモリブロック最大領域(ここでは“30
00H”)をまた、加算レジスタ50の内容が加算され
たポートアドレス24(ここでは、“30002H+1
0000H=40002H”)が示すメモリ領域には、
オーバラン時の残分を格納すべきポート指定アドレス2
5(ここでは“53000H”)とメモリブロック最大
領域(ここでは“4000H”)を、予め格納してお
く。
【0036】受信制御部7は受信しているオーバランエ
ラー信号42が無意の間、実施例1の場合と同様の処理
によって受信バッファ16にメモリアクセス情報22を
格納する。一方、受信しているオーバランエラー信号4
2が有意になった場合、受信制御部7はオーバランが発
生したものと認識してバッファアドレス26の出力以降
の受信処理を一時停止する。その時、ベースアドレス変
換部51はベースアドレスレジスタ12からのベースア
ドレス23(30000H)に、加算レジスタ50の出
力する加算分アドレス(10000H)を加算して変換
後ベースアドレス(40000H)を生成し、それをポ
ートアドレス生成部13に対して出力する。ポートアド
レス生成部13はその変換後ベースアドレス(4000
0H)に受信FIFO11からのポートID20(2
H)を加算してポートアドレス24(40002H)を
生成する。このポートアドレス24(40002H)は
ポート指定アドレス格納テーブル14に送られ、当該ポ
ート指定アドレス格納テーブル14からは変更後のポー
ト指定アドレス25(53000H)がバッファアドレ
ス生成部15に出力される。
【0037】これによって、一時停止していたバッファ
アドレス26の出力以降の受信処理が再開され、バッフ
ァアドレス生成部15はそのポート指定アドレス25
(53000H)とカレントアドレス生成部32からの
疑似カレントアドレス33(4000H)を加算し、生
成したバッファアドレス26(53000H+4000
H=57000H)を受信バッファ16に送る。それを
受けた受信バッファ16では、受信FIFO11から出
力されるメモリアクセス情報22が、当該バッファアド
レス26(57000H)で示されるメモリブロックに
格納される。
【0038】実施例4.次に、この発明の実施例4を図
について説明する。図4は請求項4に記載した発明の一
実施例を示すブロック図で、相当部分には図1と同一符
号を付してその説明を省略する。図において、61は当
該プロセッサB2の演算制御を司るCPUであり、62
はこのCPU61が受信バッファ16へアクセスするこ
とを制御するCPUアクセス制御部であり、63はこの
CPUアクセス制御部62および受信制御部7から、受
信バッファ16をアクセスする要求を裁定し、その調停
結果を受信バッファ16の書き込み/読み取りを選択す
るセレクト信号67として出力する調停部である。64
はCPU61から出力される相対アドレス(CPUアド
レス)68と、カレントアドレス生成部32から出力さ
れる疑似カレントアドレス33の一方を、そのセレクト
信号67に従って選択するカレントアドレスセレクタで
ある。65は受信バッファ16の読み取りが行なわれる
メモリブロックのポートIDがCPU61によってポー
トID(CPUデータ)69として設定されるポートI
Dレジスタであり、66は前記ポートIDレジスタ65
の内容と受信FIFO11から出力されるポートID2
0の一方を、前記セレクト信号67に従って選択するポ
ートIDセレクタである。
【0039】次に、動作について説明する。ここでは、
受信したメモリアクセス情報をCPU61が受信バッフ
ァ16より獲得する際の動作について説明し、ポートか
らの受信動作については実施例1の場合と同様であるた
めその説明を省略する。なお、CPU61が受信バッフ
ァ16内のメモリアクセス情報を獲得する場合、CPU
61は必要とするメモリアクセス情報が格納されている
メモリブロックのポートIDを、CPUデータ69とし
てポートIDレジスタ65に予め設定しておく必要があ
る。
【0040】CPU61はまず、必要とするデータの相
対アドレス(データ群の先頭からのアドレス)をCPU
アドレス68としてカレントアドレスセレクタ64へ出
力すると同時にCPUアクセス制御部62を起動する。
起動されたCPUアクセス制御部62は調停部63に対
してアクセス要求を出力し、それを受けた調停部63は
受信制御部5からのアクセス要求との裁定を実施する。
即ち、CPU61からのアクセスが可能であればセレク
ト信号67を受信バッファ16の読み取り側、即ちCP
Uアクセス側に変更する。このセレクト信号67によっ
て、ポートIDセレクタ66はCPU61よりポートI
Dレジスタ65に設定されたポートIDをポートアドレ
ス生成部13へ出力することになる。以下、データ受信
時と同様の経路で、ポートIDレジスタ65に設定され
たポートIDに対応したポート指定アドレス25が、ポ
ート指定アドレス格納テーブル14よりバッファアドレ
ス生成部15へ入力される。一方、カレントアドレスセ
レクタ64では調停部63からのセレクト信号67によ
って、CPU61からのCPUアドレス68が選択さ
れ、バッファアドレス生成部15内で前述のポート指定
アドレス25と加算しバッファアドレス26が生成され
る。以上のことにより、ポートIDレジスタ65に設定
されたポートIDに対応する任意のメモリアクセス情報
が、相対アドレスを指定するだけで受信バッファ16よ
り読み出すことが可能となる。
【0041】実施例5.次に、この発明の実施例5を図
について説明する。図5は請求項5に記載した発明の一
実施例を示すブロック図で、相当部分には図4と同一符
号を付してその説明を省略する。図において、71はC
PUデータ69の代わりにCPU61より出力され、実
施例4におけるポートIDレジスタ65からのポートI
Dに代えてポートIDセレクタ66に直接入力される上
位アドレスであり、同じくCPU61より出力されてカ
レントアドレスセレクタ64に入力されているCPUア
ドレス68より上位のビットで、受信バッファ16の必
要な情報か格納されているメモリブロックのポートID
を指定する。
【0042】次に動作について説明する。CPU61は
CPUアクセス制御部62の起動時に、必要とするデー
タの相対アドレスをCPUアドレス68としてカレント
アドレスセレクタ64に出力し、同時にポートIDセレ
クタ66へは上位アドレスとして、当該必要とするデー
タが格納されているメモリブロックのポートIDを出力
する。即ち、CPU61のアクセスするアドレスは、ポ
ートIDをCPUアドレス68のビット数分だけシフト
(乗算)した値に、相対アドレスを加算した値になる。
CPU61はこのようなアドレスを上位アドレス71と
CPUアドレス68に分けて出力することにより、以降
の処理は実施例4で説明したものと同様になり、必要と
するデータを受信バッファ16より獲得することができ
る。
【0043】
【発明の効果】以上のように、請求項1に記載の発明に
よれば、受信メモリより出力されるポートID毎に、受
信バッファに格納されるメモリアクセス情報の格納数を
計数するカレントアドレスカウント部と、その計数値に
メモリアクセス情報のバイト数を乗算して疑似カレント
アドレスを生成するカレントアドレス生成部を設け、各
ポートIDの前回の転送数を記憶させるように構成した
ので、受信メッセージ内にカレントアドレスの情報が存
在しなくとも、同一のポートIDにおける分割されたメ
ッセージを受信バッファに格納することが可能となり、
送信時におけるメッセージの生成時間が削減されて、メ
ッセージの送受信動作をより高速化することができるメ
ッセージ送受信装置が得られる効果がある。
【0044】また、請求項2に記載の発明によれば、メ
モリブロック最大領域テーブルに設定されている各ポー
トIDの領域を越えた転送が発生した場合に、受信バッ
ファへの格納を停止するように構成したので、転送量が
膨大になってオーバランが発生した場合でも、他のポー
トIDの領域の記憶内容が破壊されるのを防止すること
ができ、より信頼性の高いメッセージの送受信が行える
効果がある。
【0045】また、請求項3に記載の発明によれば、オ
ーバランが発生した場合には、ポート指定アドレス格納
テーブルに入力されるポートアドレスを強制的に変更
し、当該ポートIDの領域を越えた転送分を他のポート
IDとオーバラップしない領域に転送するように構成し
たので、オーバランが発生しても受信動作を継続するこ
とが可能となり、領域をオーバしたデータについてもそ
の転送を保障することができる効果がある。
【0046】また、請求項4に記載の発明によれば、C
PUアクセス時には、カレントアドレスセレクタにCP
UからのCPUアドレスを、ポートIDセレクタにCP
UがポートIDレジスタに設定したポートIDを選択さ
せるように構成したので、受信バッファよりのデータリ
ードに際して、ポート指定アドレス格納テーブルの内容
からアクセスアドレスをいちいち計算する必要がなくな
り、受信バッファに格納されたメモリアクセス情報の獲
得を高速化できる効果がある。
【0047】また、請求項5に記載の発明によれば、必
要な情報格納されたメモリブロックのポートIDを指
定する上位アドレスを、直接ポートIDセレクタに入力
するように構成したので、CPUがポートIDレジスタ
にポートIDを設定する必要がなくなって、その設定処
理が不要となり、ポートIDレジスタも削除可能となる
効果がある。
【図面の簡単な説明】
【図1】この発明の実施例1によるメッセージ送受信装
置を示すブロック図である。
【図2】この発明の実施例2によるメッセージ送受信装
置を示すブロック図である。
【図3】この発明の実施例3によるメッセージ送受信装
置を示すブロック図である。
【図4】この発明の実施例4によるメッセージ送受信装
置を示すブロック図である。
【図5】この発明の実施例5によるメッセージ送受信装
置を示すブロック図である。
【図6】この発明および従来のメッセージ送受信装置が
用いられるマルチプロセッサシステムを示すブロック図
である。
【図7】従来のメッセージ送受信装置を示すブロック図
である。
【符号の説明】
7 受信制御部 10 受信メッセージ 11 受信メモリ(受信FIFO) 12 ベースアドレスレジスタ 13 ポートアドレス生成部 14 ポート指定アドレス格納テーブル 15 バッファアドレス生成部 16 受信バッファ 20 ポートID 22 メモリアクセス情報 23 ベースアドレス 24 ポートアドレス 25 ポート指定アドレス 26 バッファアドレス 31 カレントアドレスカウント部 32 カレントアドレス生成部 33 疑似カレントアドレス 40 メモリブロック最大領域テーブル 41 オーバランチェック部 42 オーバランエラー信号 50 加算レジスタ 51 ベースアドレス変換部 64 カレントアドレスセレクタ 65 ポートIDレジスタ 66 ポートIDセレクタ 67 セレクト信号 68 相対アドレス(CPUアドレス) 69 ポートID(CPUデータ) 71 上位アドレス
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 13/00 G06F 15/163

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 受信メッセージを受信するファーストイ
    ン・ファーストアウト形の受信メモリと、前記受信メモ
    リよりポートIDおよびメモリアクセス情報を取り出し
    て受信操作を制御する受信制御部と、前記受信メモリよ
    り取り出された前記メモリアクセス情報が格納される受
    信バッファと、前記受信バッファのメモリブロックを示
    すポート指定アドレスが格納されるポート指定アドレス
    格納テーブルと、前記ポート指定アドレス格納テーブル
    の先頭物理アドレス値であるベースアドレスを格納する
    ベースアドレスレジスタと、前記受信メモリより出力さ
    れる前記ポートIDと前記ベースアドレスレジスタより
    リードされる前記ベースアドレスを加算して、前記ポー
    ト指定アドレス格納テーブルに入力されるポートアドレ
    スを生成するポートアドレス生成部と、前記受信メモリ
    より出力されるポートID毎に、前記受信バッファに格
    納されるメモリアクセス情報の格納数を計数するカレン
    トアドレスカウント部と、前記カレントアドレスカウン
    ト部の計数値に前記メモリアクセス情報のバイト数を乗
    算して疑似カレントアドレスを生成するカレントアドレ
    ス生成部と、前記ポート指定アドレス格納テーブルより
    出力される前記ポート指定アドレスと前記カレントアド
    レス生成部より出力される前記疑似カレントアドレスと
    を加算して、前記受信バッファのバッファアドレスを生
    成するバッファアドレス生成部とを備えたメッセージ送
    受信装置。
  2. 【請求項2】 前記ポートアドレスの示す領域に、前記
    受信バッファの各メモリブロックの記憶容量を示すメモ
    リブロック最大領域を格納しているメモリブロック最大
    領域テーブルと、前記メモリブロック最大領域テーブル
    からのメモリブロック最大領域と前記カレントアドレス
    生成部からの疑似カレントアドレスとを比較して、前記
    バッファアドレス生成部の出力するバッファアドレスが
    前記メモリブロック最大領域を越えたか否かをチェック
    し、オーバランエラー信号を生成するオーバランチェッ
    ク部とを設けたことを特徴とする請求項1に記載のメッ
    セージ送受信装置。
  3. 【請求項3】 前記バッファアドレスが前記メモリブロ
    ック最大領域を越えた場合に、前記ベースアドレスに加
    算される加算分アドレスを格納する加算レジスタと、前
    記オーバランチェック部の出力する前記オーバランエラ
    ー信号が無意であれば前記ベースアドレスレジスタから
    のベースアドレスをそのまま、有意であれば前記ベース
    アドレスに前記加算分アドレスを加算して、前記ポート
    アドレス生成部に入力するベースアドレス変換部とを設
    けたことを特徴とする請求項2に記載のメッセージ送受
    信装置。
  4. 【請求項4】 前記受信バッファの読み取りが行われる
    メモリブロックのポートIDが設定されるポートIDレ
    ジスタと、前記受信メモリからのポートIDと前記ポー
    トIDレジスタからのポートIDの一方を、前記受信バ
    ッファの書き込み/読み取りを選択するセレクト信号に
    従って選択し、前記ポートアドレス生成部とカレントア
    ドレスカウント部とに送るポートIDセレクタと、前記
    受信バッファ上の必要な情報の相対アドレスと前記カレ
    ントアドレス生成部からの疑似カレントアドレスの一方
    を前記セレクト信号に従って選択し、前記バッファアド
    レス生成部に送るカレントアドレスセレクタとを設けた
    ことを特徴とする請求項1に記載のメッセージ送受信装
    置。
  5. 【請求項5】 前記受信バッファの読み取りが行われる
    メモリブロックのポートIDを示す上位アドレスと前記
    受信メモリからのポートIDの一方を、前記受信バッフ
    ァの書き込み/読み取りを選択するセレクト信号に従っ
    て選択し、前記ポートアドレス生成部とカレントアドレ
    スカウント部とに送るポートIDセレクタと、前記受信
    バッファ上の必要な情報の相対アドレスと前記カレント
    アドレス生成部からの疑似カレントアドレスの一方を前
    記セレクト信号に従って選択し、前記バッファアドレス
    生成部に送るカレントアドレスセレクタとを設けたこと
    を特徴とする請求項1に記載のメッセージ送受信装置。
JP5164824A 1993-07-02 1993-07-02 メッセージ送受信装置 Expired - Lifetime JP2905041B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5164824A JP2905041B2 (ja) 1993-07-02 1993-07-02 メッセージ送受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5164824A JP2905041B2 (ja) 1993-07-02 1993-07-02 メッセージ送受信装置

Publications (2)

Publication Number Publication Date
JPH0721102A JPH0721102A (ja) 1995-01-24
JP2905041B2 true JP2905041B2 (ja) 1999-06-14

Family

ID=15800618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5164824A Expired - Lifetime JP2905041B2 (ja) 1993-07-02 1993-07-02 メッセージ送受信装置

Country Status (1)

Country Link
JP (1) JP2905041B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK23891D0 (da) * 1991-02-12 1991-02-12 Gea Farmaceutisk Fabrik As 3-substituerede 1,2,3,4-oxa-triazol-5-iminforbindelser og fremgangsmaade til fremstilling deraf samt farmaceutisk praeparat indeholdende disse forbindelser
DE4321109C2 (de) * 1993-06-25 1998-01-29 Sanol Arznei Schwarz Gmbh Pharmakologisch aktive Verbindungen mit Nitrosohydrazinpartialstruktur

Also Published As

Publication number Publication date
JPH0721102A (ja) 1995-01-24

Similar Documents

Publication Publication Date Title
US6813653B2 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
JP2977688B2 (ja) マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
US7363389B2 (en) Apparatus and method for enhanced channel adapter performance through implementation of a completion queue engine and address translation engine
US5475858A (en) Real time multiprocessor system having a write only data link connected to one of the ports of the memory of each of the processor nodes
US6189062B1 (en) Apparatus and method for address translation in bus bridge devices
US20040107265A1 (en) Shared memory data transfer apparatus
JPH07282025A (ja) クロック回路
JP3210880B2 (ja) 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機
JP2774862B2 (ja) Dma制御装置および情報処理装置
AU603433B2 (en) Bus adapter unit for digital data processing system
JP2905041B2 (ja) メッセージ送受信装置
US5430844A (en) Communication control system for transmitting, from one data processing device to another, data along with an identification of the address at which the data is to be stored upon reception
US5588120A (en) Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller
US6961837B2 (en) Method and apparatus for address translation pre-fetch
JPS6259821B2 (ja)
JPS6027976A (ja) 先入先出メモリ装置
JP2502932B2 (ja) デ―タ転送方法及びデ―タ処理システム
JP2627355B2 (ja) データ通信方式
JP3442099B2 (ja) データ転送記憶装置
JPS605367A (ja) 通信制御処理装置
JP2000137676A (ja) バッファ制御方式
JPH04348442A (ja) アドレス変換装置
JPH0833869B2 (ja) データ処理装置
JPH05289961A (ja) アドレス生成装置
JPH10154115A (ja) キャッシュ付きlanコントローラを備えた情報処理装置