JP2905041B2 - Message transceiver - Google Patents

Message transceiver

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
Japanese (ja)
Other versions
JPH0721102A (en
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/en
Publication of JPH0721102A publication Critical patent/JPH0721102A/en
Application granted granted Critical
Publication of JP2905041B2 publication Critical patent/JP2905041B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、マルチプロセッサシ
ステムにおけるメッセージ送受信装置に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a message transmitting / receiving apparatus in a multiprocessor system.

【0002】[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である。
2. Description of the Related Art FIG.
FIG. 7 is a block diagram showing a conventional message transmitting / receiving apparatus shown in the specification and the drawings attached to No. 281, and FIG. 6 is a block diagram showing a multiprocessor system using the present invention and the conventional message transmitting / receiving apparatus. . In FIG. 6, reference numeral 1 denotes a processor A for transmitting a message, reference numeral 2 denotes a processor B having the same hardware as that of the processor A1 and receiving a message, and reference numeral 3 denotes a processor for receiving the processor A1 and the processor B2. This is the system bus to be connected. In the processor A1, reference numeral 4 denotes a transmission task for executing a transmission operation in a message transfer by software, reference numeral 5 denotes a port A used on the transmission side in the message transfer, and reference numeral 6 denotes a port used in the message transfer on the transmission side. Current address A. Similarly, in the processor B2, reference numeral 7 denotes a reception control unit which executes a transmission operation in a message transfer by hardware, 8 denotes a port B used on the reception side in the message transfer, and 9 denotes a reception side in the message transfer. Is the current address B used in the.

【0003】次に、図7において、2はプロセッサB、
7は受信制御部で、図6に同一の符号を付して示したも
のである。10は図7では図示を省略したシステムバス
3上を流れる受信メッセージであり、例えば、パケット
ID、ソースアドレス、ディスティネーションアドレ
ス、タイプ、ポートID、カレントアドレス、メモリア
クセス情報等を含んだ、メモリをアクセスするために必
要な32バイトの情報である。
Next, in FIG. 7, 2 is a processor B,
Reference numeral 7 denotes a reception control unit, which is denoted by the same reference numeral in FIG. Reference numeral 10 denotes a received message flowing on the system bus 3 not shown in FIG. 7, and includes, for example, a memory including a packet ID, a source address, a destination address, a type, a port ID, a current address, and memory access information. This is 32-byte information necessary for access.

【0004】また、11は受信メッセージ10を受信し
てバッファリングを行う、受信メモリとしての受信ファ
ーストイン・ファーストアウト・メモリ(以下受信FI
FOという)である。この受信FIFO11より出力さ
れる情報中、20は受信メッセージ10内の情報の1つ
であるポートID、21は同じくカレントアドレスであ
り、22は同じくメモリアクセス情報(例えば、アドレ
ス、データ、コマンド等)である。なお、ポートID2
0は前記ポートB8に対応する情報であり、カレントア
ドレス21は後述する受信バッファのメモリブロックの
下位アドレスで、例えば1つのポートのメモリ容量が4
KBであれば、そのアドレス値の範囲は000H〜ff
fHとなる。
A reception first-in first-out memory (hereinafter referred to as reception FI) 11 is a reception memory for receiving and buffering the reception message 10.
FO). In the information output from the reception FIFO 11, reference numeral 20 denotes a port ID which is one of information in the reception message 10, reference numeral 21 denotes a current address, and reference numeral 22 denotes memory access information (for example, address, data, command, etc.). It is. Note that port ID2
0 is information corresponding to the port B8, and a current address 21 is a lower address of a memory block of a reception buffer described later.
If it is KB, the range of the address value is from 000H to 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を格納する受信バッファである。
Reference numeral 12 denotes a rewritable base address register for storing a base address 23, and reference numeral 13 denotes a base address 2 from the base address register 12.
3 is a port address generation unit that adds the port ID 20 from the reception FIFO 11 and generates a port address 24. Reference numeral 14 denotes a port designation address storage table for storing the port designation address 25 as data. Reference numeral 15 denotes a buffer address 2 obtained by adding the port designation address 25 from the port designation address storage table 14 and the current address 21 from the reception FIFO 11.
6 is a buffer address generating unit for generating the address No. 6. 16 is a buffer address 26 from the buffer address generator 15
Memory access information 2 from the reception FIFO 11 according to
2 is a reception buffer for storing the number 2.

【0006】ここで、前記ベースアドレス23はポート
指定アドレス格納テーブル14の先頭物理アドレスであ
り、ポートアドレス24はポート指定アドレス格納テー
ブル14の物理アドレスである。ポート指定アドレス2
5はポートに対応する、受信バッファ16におけるメモ
リブロックの先頭物理アドレスであり、バッファアドレ
ス26はメモリアクセス情報21が格納される受信バッ
ファ16のメモリブロックの物理アドレスである。
Here, the base address 23 is a leading physical address of the port designation address storage table 14, and the port address 24 is a physical address of the port designation address storage table 14. Port designation address 2
Reference numeral 5 denotes a head physical address of a memory block in the reception buffer 16 corresponding to the port, and a buffer address 26 is a physical address of a memory block of the reception buffer 16 in which the memory access information 21 is stored.

【0007】なお、受信制御部7は受信FIFO11か
ら、ポートID20、カレントアドレス21、およびメ
モリアクセス情報22を取り出して、種々の受信操作を
実行するものである。
The reception control unit 7 extracts the port ID 20, the current address 21, and the memory access information 22 from the reception FIFO 11 and executes various reception operations.

【0008】次に動作について説明する。マルチプロセ
ッサシステムにおけるプロセッサ間のメッセージ転送は
通常、ポートを介して行われる。ここでは、プロセッサ
A1がプロセッサB2にアクセスする時の受信メッセー
ジ10は、例えば、そのサイズを32バイトとし、パケ
ットID、タイプ、ソースアドレス、ディスティネーシ
ョンアドレス、カレントアドレス21、ポートID2
0、メモリアクセス情報22等の情報が特定の場所に割
り付けられている。ここでは、図6において、プロセッ
サA1が、ポートA5、ポートB8を使用したメッセー
ジ転送をプロセッサB2に対して行った時、受信制御部
7が受信FIFO11に受信メッセージ10を受信して
から、受信制御部7が受信バッファ16にメモリアクセ
ス情報22を格納するまでの受信処理を説明する。
Next, the operation will be described. Message transfer between processors in a multiprocessor system is usually performed via a port. Here, the received message 10 when the processor A1 accesses the processor B2 has, for example, a size of 32 bytes, a packet ID, a type, a source address, a destination address, a current address 21, and a port ID2.
Information such as 0, memory access information 22, etc. is allocated to a specific location. Here, in FIG. 6, when the processor A1 transfers a message using the ports A5 and B8 to the processor B2, the reception control unit 7 receives the reception message 10 in the reception FIFO 11 and then controls the reception. A reception process until the unit 7 stores the memory access information 22 in the reception buffer 16 will be described.

【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)を出力する。
[0009] In the processor A1, the received message 1 transmitted to the processor B2 using the port A5.
0 is received by the reception FIFO 11 in the processor B2. Now, the base address 23 in the base address register 12 (hereinafter referred to as “30000
H) is set in advance, and the port designation address 25 (hereinafter, “46000H” is added to 30,000H, 30
“47000H” to 001H and “41000” to 30002H
000H "is stored in advance), the reception control unit 7 first selects the memory block of the reception buffer 16 in which the memory access information 22 is to be set.
0 (hereinafter the port ID is described as "2H") and the current address 21 (hereinafter the current address is described as "770H") are transmitted. In the port address generation unit 13, the port ID 20 (2H) and the base address 23 (30000)
H) plus the port address 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)に
格納される。
[0010] From the port designation address storage table 14 receiving the port address 24, a port designation address 25 (41000H) which is data corresponding to the port address 24 (30002H) is output to the buffer address generator 15. (Memory block 2 is selected). The buffer address generation unit 15
The current address 21 (770
H) and the port designation address 25 (41000H) output from the port designation address storage table 14, and the buffer address 26 (41000H + 770H =
41770H) and outputs it to the reception buffer 16. In the reception buffer 16, the memory access information 22 output from the reception FIFO 11 is stored in the buffer address 26 (41770) from the buffer address generation unit 15.
H) is stored in a memory block (memory block 2).

【0011】[0011]

【発明が解決しようとする課題】従来のメッセージ送受
信装置は以上のように構成されているので、同一のポー
トIDへの受信時には、前回の転送数を記憶しておいて
所定の転送域に設定する必要があり、送信側の転送開始
に時間がかかり、また、転送量が増大すると、他のポー
トIDの指定領域までデータが書き込まれて、他のポー
トIDで転送されたデータが破壊される危険性があるば
かりか、受信側のプロセッサの中央演算処理装置(以下
CPUという)が送信側のプロセッサから送られてきた
データをリードする場合に、ベースアドレスレジスタ1
2に設定されたベースアドレス23およびポート指定ア
ドレス格納テーブル14内の情報を計算して、受信バッ
ファ16のアドレスを決定しなければならず、データリ
ードに長時間要するなどの問題点があった。
Since the conventional message transmitting / receiving apparatus is configured as described above, when receiving the same port ID, the previous transfer number is stored and set in a predetermined transfer area. It takes time to start the transfer on the transmitting side, and when the transfer amount increases, data is written to the designated area of another port ID, and the data transferred by the other port ID is destroyed. In addition to the danger, when the central processing unit (hereinafter referred to as CPU) of the receiving processor reads data sent from the transmitting processor, the base address register 1
The information in the base address 23 and the port designation address storage table 14 set to 2 must be calculated to determine the address of the reception buffer 16, and there is a problem that it takes a long time to read data. .

【0012】この発明は上記のような問題点を解消する
ためになされたもので、メッセージの送受信動作、およ
び受信データのCPUリード動作の高速化がはかれ、ど
のような転送量においても転送データを確実に保護する
ことのできるメッセージ送受信装置を得ることを目的と
する。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and the speed of the message transmission / reception operation and the speed of the CPU read operation of the reception data can be increased. It is an object of the present invention to obtain a message transmitting / receiving device that can reliably protect the message.

【0013】[0013]

【課題を解決するための手段】請求項1に記載の発明に
係るメッセージ送受信装置は、受信バッファに格納され
るメモリアクセス情報の格納数を、受信メモリより出力
されるポートID毎に計数するカレントアドレスカウン
ト部、およびこのカレントアドレスカウント部の計数値
にメモリアクセス情報のバイト数を乗算して疑似カレン
トアドレスを生成するカレントアドレス生成部を設け、
バッファアドレス生成部が、このカレントアドレス生成
部の出力する疑似カレントアドレスを、ポート指定アド
レス格納テーブルより出力されるポート指定アドレスに
加算してバッファアドレスを生成するようにしたもので
ある。
According to a first aspect of the present invention, there is provided a message transmitting / receiving apparatus for counting the number of memory access information stored in a receiving buffer for each port ID output from a receiving memory. An address counting unit, and a current address generating unit that generates a pseudo current address by multiplying the count value of the current address counting unit by the number of bytes of the memory access information,
The buffer address generation unit adds the pseudo current address output from the current address generation unit to the port designation address output from the port designation address storage table to generate a buffer address.

【0014】また、請求項2に記載の発明に係るメッセ
ージ送受信装置は、受信バッファの各メモリブロックの
記憶容量を示すメモリブロック最大領域を、ポートアド
レスに従って格納するメモリブロック最大領域テーブ
ル、およびそのメモリブロック最大領域とカレントアド
レス生成部の出力する疑似カレントアドレスとの比較に
基づいて、バッファアドレスがメモリブロック最大領域
を越えたことを示すオーバランエラー信号を生成するオ
ーバランチェック部を設けたものである。
According to a second aspect of the present invention, there is provided a message transmission / reception apparatus, comprising: a memory block maximum area table for storing a memory block maximum area indicating a storage capacity of each memory block of a reception buffer according to a port address; An overrun check section is provided for generating an overrun error signal indicating that the buffer address has exceeded the maximum memory block area based on a comparison between the block maximum area and the pseudo current address output from the current address generation section.

【0015】また、請求項3に記載の発明に係るメッセ
ージ送受信装置は、加算分アドレスが格納される加算レ
ジスタ、およびオーバランエラー信号が無意のときには
ベースアドレスレジスタからのベースアドレスをそのま
ま、有意のときにはそれに加算分アドレスを加算してポ
ートアドレス生成部に入力するベースアドレス変換部を
設けたものである。
According to a third aspect of the present invention, there is provided a message transmitting / receiving apparatus, wherein an adding register storing an added address, and a base address from a base address register when an overrun error signal is insignificant, and when a significant value is significant. In addition, a base address conversion unit is provided for adding the added address thereto and inputting it to the port address generation unit.

【0016】また、請求項4に記載の発明に係るメッセ
ージ送受信装置は、読み取りが行われるメモリブロック
のポートIDが設定されるポートIDレジスタ、受信バ
ッファの書き込み/読み取りのセレクト信号によりその
ポートIDレジスタと受信メモリの送出するポートID
の一方を選択して、ポートアドレス生成部とカレントア
ドレスカウント部に送るポートIDセレクタ、および前
記セレクト信号により必要な情報の相対アドレスと疑似
カレントアドレスの一方を選択して、バッファアドレス
生成部に送るカレントアドレスセレクタを設けたもので
ある。
According to a fourth aspect of the present invention, there is provided a message transmitting / receiving apparatus, wherein a port ID register in which a port ID of a memory block to be read is set, and a port ID register in response to a write / read select signal of a receiving buffer. And the port ID sent by the receiving memory
And a port ID selector for sending to the port address generator and the current address counter, and one of a relative address and a pseudo current address of necessary information by the select signal, and sending them to the buffer address generator. A current address selector is provided.

【0017】また、請求項5に記載の発明に係るメッセ
ージ送受信装置は、ポートIDセレクタに、必要な情報
格納されたメモリブロックのポートIDを指定する上
位アドレスをポートIDレジスタからのポートIDに代
えて入力し、ポートIDセレクタはセレクト信号により
その上位アドレスと受信メモリからのポートIDの一方
を選択して、ポートアドレス生成部とカレントアドレス
カウント部に送出するものである。
In the message transmitting / receiving apparatus according to the fifth aspect of the present invention, the information necessary for the port ID selector is stored in the port ID selector.
Is input instead of the port ID from the port ID register, and the port ID selector selects one of the upper address and the port ID from the receiving memory by a select signal. Is sent to the port address generator and the current address counter.

【0018】[0018]

【作用】請求項1に記載の発明におけるバッファアドレ
ス生成部は、受信メモリより出力されるポートID毎に
計数した受信バッファに格納されるメモリアクセス情報
の格納数に、メモリアクセス情報のバイト数を乗算して
得られた疑似カレントアドレスと、ポート指定アドレス
格納テーブルより出力されるポート指定アドレスとを加
算してバッファアドレスを生成することにより、受信メ
ッセージへのカレントアドレスの設定を無用とする。
According to the first aspect of the present invention, the buffer address generation unit adds the number of bytes of the memory access information to the number of memory access information stored in the reception buffer counted for each port ID output from the reception memory. By adding the pseudo current address obtained by the multiplication and the port designation address output from the port designation address storage table to generate a buffer address, the setting of the current address in the received message becomes unnecessary.

【0019】また、請求項2に記載の発明におけるオー
バランチェック部は、ポートアドレスに従ってメモリブ
ロック最大領域テーブルに格納されたメモリブロック最
大領域と、カレントアドレス生成部の出力する疑似カレ
ントアドレスとを比較し、バッファアドレスがメモリブ
ロック最大領域を越えたことを示すオーバランエラー信
号を生成することにより、他のポートIDがもつメモリ
ブロックの記憶内容が破壊されるのを防止する。
The overrun check unit according to the second aspect of the present invention compares the maximum memory block area stored in the maximum memory block area table according to the port address with the pseudo current address output from the current address generation unit. By generating an overrun error signal indicating that the buffer address has exceeded the maximum area of the memory block, it is possible to prevent the storage contents of the memory block of another port ID from being destroyed.

【0020】また、請求項3に記載の発明におけるベー
スアドレス変換部は、オーバランエラー信号が無意のと
きにはベースアドレスレジスタからのベースアドレスを
そのまま、有意のときにはそのベースアドレスに加算レ
ジスタに格納されている加算分アドレスを加算してポー
トアドレス生成部に入力することにより、領域をオーバ
したデータについてもその転送を保障する。
In the base address converter according to the third aspect of the invention, the base address from the base address register is stored as it is when the overrun error signal is insignificant, and is stored in the addition register when the overrun error signal is significant. By adding the added address and inputting it to the port address generation unit, the transfer of data over the area is guaranteed.

【0021】また、請求項4に記載の発明におけるポー
トIDセレクタは、ポートIDレジスタに設定されたポ
ートIDと受信メモリの送出するポートIDの一方を、
受信バッファの書き込み/読み取りのセレクト信号にて
選択してポートアドレス生成部とカレントアドレスカウ
ント部に送り、カレントアドレスセレクタは、受信バッ
ファ上の必要な情報の相対アドレスとカレントアドレス
生成部からの疑似カレントアドレスの一方をセレクト信
号にて選択してバッファアドレス生成部に送ることによ
り、データリードに際して、ポート指定アドレス格納テ
ーブルの内容からアクセスアドレスをいちいち計算する
ことを不要とする。
The port ID selector according to the fourth aspect of the present invention may be configured so that one of the port ID set in the port ID register and the port ID transmitted by the receiving memory is used.
The data is selected by the write / read select signal of the receive buffer and sent to the port address generator and the current address counter. The current address selector determines the relative address of the necessary information on the receive buffer and the pseudo current from the current address generator. By selecting one of the addresses by the select signal and sending it to the buffer address generator, it is not necessary to calculate the access address from the contents of the port designation address storage table for data reading.

【0022】また、請求項5に記載の発明におけるポー
トIDセレクタは、ポートIDレジスタからのポートI
Dに代えて入力される、必要な情報格納されたメモリ
ブロックのポートIDを指定する上位アドレスと、受信
メモリからのポートIDの一方をセレクト信号にて選択
して、ポートアドレス生成部とカレントアドレスカウン
ト部に送出することにより、ポートIDレジスタを削除
し、当該ポートIDレジスタへのポートIDの設定処理
を不要にする。
Further, the port ID selector according to the invention described in claim 5 is arranged so that the port I
D, one of the upper address specifying the port ID of the memory block in which the necessary information is stored and the port ID from the receiving memory are selected by a select signal, and the current address is set to the port address generator. By transmitting the data to the address counting unit, the port ID register is deleted, and the process of setting the port ID in the port ID register becomes unnecessary.

【0023】[0023]

【実施例】【Example】

実施例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に同一符号を付し
た従来のものとは異なる受信制御部である。
Embodiment 1 FIG. Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the first aspect of the present invention. In the figure, 2 is a processor B, 12
Is a base address register, 13 is a port address generation unit, 14 is a port designation address storage table, 15 is a buffer address generation unit, 16 is a reception buffer, 20 is a port ID, 21 is a current address, 22 is memory access information, and 23 is A base address, 24 is a port address, 25 is a port designation address, and 26 is a buffer address, which are the same as or equivalent to those in the related art denoted by the same reference numerals in FIG. Reference numeral 10 denotes a received message different from the conventional message having the same reference numeral in FIG. 7 in that the current address 21 is not included, and reference numeral 11 denotes a conventional message having the same reference numeral shown in FIG. 7 is different from the conventional FIFO having the same reference numeral in FIG. 7 in that it extracts the port ID 20 and the memory access information 22 from the reception FIFO 11 and executes various reception operations. This is a different reception control unit.

【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に含まれているカレントアドレスではない。
Reference numeral 30 denotes a count signal output by the reception control unit 7 for notifying that the reception message 10 has been received by the reception FIFO 11. Reference numeral 31 denotes a counter provided for each port ID 20. When the count signal 30 is received from the control unit 7, the reception FIFO 11
Counts up the counter corresponding to the port ID 20 received from the CPU, outputs a count value as a result thereof, and displays a CPU (not shown) of the processor B2.
Is a current address count section that is held until reading of the count value is completed. Reference numeral 32 denotes a count value corresponding to the port ID 20 output from the current address count unit 31 and the reception buffer 16 from the reception FIFO 11.
Is a current address generation unit that multiplies the number of bytes of the memory access information 22 sent to the buffer address generation unit 15 by multiplying the result by the pseudo current address 33 to the buffer address generation unit 15. The pseudo current address 33 is the same as the conventional current address indicated by reference numeral 21 in FIG. 7, but is generated and output by the current address generation unit 32, and the 1
It is not the current address contained in 0.

【0025】次に動作について説明する。まず、プロセ
ッサA1がプロセッサB2にアクセスする時の受信メッ
セージ10は、従来の場合と同様に、例えば、そのサイ
ズを32バイトとし、パケットID,タイプ,ソースア
ドレス,ディスティネーションアドレス,ポートID2
0、メモリアクセス情報22等の情報が特定の場所に割
り付けられている。ここでは、図6において、プロセッ
サA1が、ポートA5、ポートB8を使用して、カレン
トアドレスA6とカレントアドレスBは使用しないメ
ッセージ転送をプロセッサB4に対して行った時、受信
制御部7が受信FIFO11に受信メッセージ10を受
信してから、受信制御部7が受信バッファ16にメモリ
アクセス情報22を格納するまでの受信処理を説明す
る。
Next, the operation will be described. First, the received message 10 when the processor A1 accesses the processor B2 has, for example, a size of 32 bytes, a packet ID, a type, a source address, a destination address, and a port ID 2 as in the conventional case.
Information such as 0, memory access information 22, etc. is allocated to a specific location. Here, in FIG. 6, the processor A1 may, port A5, by using the port B8, when performing the current address A6 and current address B 9 is a message transfer does not use the processor B4, receiver control unit 7 receives A reception process from when the reception message 10 is received by the FIFO 11 to when the reception control unit 7 stores the memory access information 22 in the reception buffer 16 will be described.

【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に対して出
力する。
In the processor A1, the received message 1 transmitted to the processor B2 is transmitted using the port A5.
0 is received by the reception FIFO 11 in the processor B2. When the reception FIFO 11 receives the reception message 10, the reception control unit 7 generates a count signal 30 and transmits it to the current address count unit 31. When receiving the count signal 30, the current address counting unit 31 counts up the counter corresponding to the port ID 20 in the received message 10, and the resulting count value (here, described as “4H”) is the current address. Output to the generation unit 32. In the current address generation unit 32, the input count value (4H) and the FIFO
The number of bytes of the memory access information 22 stored in the reception buffer 16 from O11 (here, 4K bytes, “10
00H ”), and the resulting pseudo current address 33 (1000H × 4 = 4000)
H) is generated and output to the buffer address generator 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)に格納される。
Now, as in the conventional case, the base address 23 (“30000”) is stored in the base address register 12.
H ") and the port designation address 25 (" 410 ") in" 30002H "of the port designation address storage table 14.
00H ”) is stored in advance, the port designation address 25 (41000H) is stored in the buffer address generation unit 15 from the port designation address storage table 14 by the same processing (port ID 20,“ 2H ”) as in the conventional case. The buffer address generation unit 1
5 is a pseudo current address 33 (“4000H”) output from the current address generation unit 32 and a port designation address 25 from the port designation address storage table 14.
(41000H) and add the buffer address 26 (4
(1000H + 4000H = 45000H) and outputs it to the reception buffer 16. In the reception buffer 16, the memory access information 22 output from the reception FIFO 11
Is stored in the memory block (memory block 2) indicated by the buffer address 26 (45000H) from the buffer address generation unit 15.

【0028】これによって、送信側のプロセッサA1で
は受信メッセージ10内にカレントアドレス21を設定
する必要がなくなり、その分、送信時のメッセージ生成
時間が短縮され、メッセージの送受信を高速化できる。
As a result, the processor A1 on the transmitting side does not need to set the current address 21 in the received message 10, and accordingly, the time for generating a message at the time of transmission is shortened, and the speed of message transmission / reception can be increased.

【0029】実施例2.次に、この発明の実施例2を図
について説明する。図2は請求項2に記載した発明の一
実施例を示すブロック図で、相当部分には図1と同一符
号を付してその説明を省略する。図において、40は受
信バッファ16の対応するメモリブロックに格納し得る
最大バイト数を示す。ポート指定アドレス格納テーブル
14のポート指定アドレス25と1対1に対応したメモ
リブロック最大領域が、ポートアドレス生成部13から
のポートアドレス24を物理アドレスとして格納されて
いるメモリブロック最大領域テーブルである。41はメ
モリブロック最大領域テーブル40が出力するメモリブ
ロック最大領域と、カレントアドレス生成部32からの
疑似カレントアドレス33を比較し、バッファアドレス
生成部15の出力するバッファアドレス26がメモリブ
ロック最大領域を越えるか否かをチェックするオーバラ
ンチェック部であり、42はバッファアドレス26がメ
モリブロック最大領域を越えたことを検出した時、オー
バランチェック部41より受信制御部7に対して出力さ
れるオーバランエラー信号である。
Embodiment 2 FIG. Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing one embodiment of the invention described in claim 2, and the corresponding parts are denoted by the same reference numerals as in FIG. 1 and the description thereof is omitted. In the figure, 40 indicates the maximum number of bytes that can be stored in the corresponding memory block of the reception buffer 16. The memory block maximum area corresponding to the port specification address 25 in the port specification address storage table 14 is a memory block maximum area table in which the port address 24 from the port address generation unit 13 is stored as a physical address. Reference numeral 41 compares the memory block maximum area output from the memory block maximum area table 40 with the pseudo current address 33 from the current address generator 32, and the buffer address 26 output from the buffer address generator 15 exceeds the memory block maximum area. An overrun check unit 42 checks whether or not the buffer address 26 has exceeded the maximum area of the memory block. An overrun error signal 42 is output from the overrun check unit 41 to the reception control unit 7 when it detects that the buffer address 26 has exceeded the maximum memory block area. is there.

【0030】次に動作について説明する。ここでは、実
施例1の場合と同様に、図6において、プロセッサA1
が、ポートA5、ポートB8を使用したメッセージ転送
をプロセッサB2に対して行った時、前記受信制御部7
が受信FIFO11に受信メッセージ10を受信してか
ら、受信制御部7が受信バッファ16にメモリアクセス
情報22を格納するまでの受信処理を説明する。なお、
ここでは、ポート指定アドレス25(ここでも実施例1
の場合と同様に、“41000H”として記述する)、
及び疑似カレントアドレス33(ここでも“45000
H”として記述する)の生成、出力までの受信処理は実
施例1の場合と同様であるため、その説明は省略する。
Next, the operation will be described. Here, as in the case of the first embodiment, in FIG.
Performs the message transfer using the port A5 and the port B8 to the processor B2.
The reception processing from reception of the reception message 10 to the reception FIFO 11 until the reception control unit 7 stores the memory access information 22 in the reception buffer 16 will be described. In addition,
Here, the port designation address 25 (also in the first embodiment)
Described as “41000H” as in the case of
And the pseudo current address 33 (again, "45000
H ”) is the same as that in the first embodiment, and the description thereof is omitted.

【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がメモリブロック最大領域未満である場合には無
意となる。
Assume that the maximum memory block area ("3000H") is stored in advance in the area indicated by the port address 24 (30002H) in the memory block maximum area table 40. The reception control unit 7 refers to the memory block maximum area table 40 and performs the same processing as in the first embodiment (the port ID 20 is “2H”), and the port address 24 (3000) output by the port address generation unit 13.
2H) memory block maximum area (3000)
H) is output to the overrun check unit 41. here,
The overrun check unit 41 includes the current address generation unit 32 together with the maximum memory block area (3000H).
The pseudo current address 33 (4000H) is also input, and the two are compared. As a result of the comparison, when the pseudo current address 33 is larger than the memory block maximum area, the overrun error signal 42 sent to the reception control unit 7 becomes significant, and the pseudo current address 33 is smaller than the memory block maximum area. If it is, it becomes insignificant.

【0032】従って、上述の例のように、疑似カレント
アドレス33(4000H)がメモリブロック最大領域
(3000H)以上である場合、受信制御部7に入力さ
れているオーバランエラー信号42は有意となるため、
それによってオーバランが発生したことを認知した受信
制御部7は、バッファアドレス生成部15によるバッフ
ァアドレス26の出力以降の受信信号を中止した後、エ
ラーの発生を受信側もしくは送信側のプロセッサに告知
する。一方、入力されているオーバランエラー信号42
が無意であれば、受信制御部7は実施例1の場合と同様
の処理を実行して、受信FIFO11からのメモリアク
セス情報22を受信バッファ16に格納する。
Accordingly, when the pseudo current address 33 (4000H) is equal to or larger than the maximum memory block area (3000H) as in the above example, the overrun error signal 42 input to the reception control unit 7 becomes significant. ,
The reception control unit 7, which recognizes that the overrun has occurred, stops the reception signal after the output of the buffer address 26 by the buffer address generation unit 15, and then notifies the reception side or the transmission side processor of the occurrence of the error. . On the other hand, the input overrun error signal 42
If the request is invalid, the reception control unit 7 executes the same processing as in the first embodiment, and stores the memory access information 22 from the reception FIFO 11 in the reception buffer 16.

【0033】実施例3.次に、この発明の実施例3を図
について説明する。図3は請求項3に記載した発明の一
実施例を示すブロック図で、相当部分には図2と同一符
号を付してその説明を省略する。図において、50は図
示を省略した当該プロセッサB2のCPUから設定可能
に構成され、ベースアドレスレジスタ12における加算
分アドレス(ここでは、“10000H”として記述す
る)を格納する加算レジスタである。51はオーバラン
チェック部41の出力するオーバランエラー信号42が
有意となった場合、前記加算レジスタ50が出力する加
算分アドレス(10000H)と、ベースアドレスレジ
スタ12が出力するベースアドレス23(30000
H)を加算し、その結果である変換後ベースアドレス
(40000H)を出力し、オーバランエラー信号42
が無意である場合には、ベースアドレス23をそのまま
出力するベースアドレス変換部である。
Embodiment 3 FIG. Next, a third embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a block diagram showing one embodiment of the invention described in claim 3, and the corresponding parts are denoted by the same reference numerals as in FIG. 2 and description thereof is omitted. In the figure, reference numeral 50 denotes an addition register which can be set by the CPU of the processor B2 (not shown) and stores an addition address (here, described as "10000H") in the base address register 12. Reference numeral 51 denotes an addition address (10000H) output from the addition register 50 and a base address 23 (30000) output from the base address register 12 when the overrun error signal 42 output from the overrun check unit 41 becomes significant.
H) is added, and the resulting converted base address (40000H) is output.
Is insignificant, the base address conversion unit outputs the base address 23 as it is.

【0034】次に動作について説明する。ここでも、実
施例2の場合と同様に、図6において、プロセッサA1
が、ポートA5、ポートB8を使用したメッセージ転送
をプロセッサB2に対して行った時、前記受信制御部7
が受信FIFO11に受信メッセージ10を受信してか
ら、受信制御部7が受信バッファ16にメモリアクセス
情報22を格納するまでの受信処理を説明する。なお、
ここでは、オーバランが発生した場合に、オーバランチ
ェック部41が出力しているオーバランエラー信号42
を有意にするまでの受信処理は実施例2と同様であるた
め、その説明は省略する。なお、オーバラン信号42が
無意の場合、ベースアドレス変換部51ではベースアド
レス23をそのまま出力する。
Next, the operation will be described. Here, as in the second embodiment, the processor A1 shown in FIG.
Performs the message transfer using the port A5 and the port B8 to the processor B2.
The reception processing from reception of the reception message 10 to the reception FIFO 11 until the reception control unit 7 stores the memory access information 22 in the reception buffer 16 will be described. In addition,
Here, when an overrun occurs, the overrun error signal 42 output by the overrun check unit 41 is output.
Is the same as that in the second embodiment, and a description thereof will be omitted. Note that the overrun signal 42 is
In the case of no intention, the base address conversion section 51 outputs the base address 23 as it is.

【0035】ここで、ポート指定アドレス格納テーブル
14とメモリブロック最大領域テーブル40の、ポート
アドレス24(“30002H”)が示すメモリ領域に
は、通常のポート指定アドレス25(ここでは“410
00H”)とメモリブロック最大領域(ここでは“30
00H”)をまた、加算レジスタ50の内容が加算され
たポートアドレス24(ここでは、“30002H+1
0000H=40002H”)が示すメモリ領域には、
オーバラン時の残分を格納すべきポート指定アドレス2
5(ここでは“53000H”)とメモリブロック最大
領域(ここでは“4000H”)を、予め格納してお
く。
Here, in the memory area indicated by the port address 24 ("30002H") in the port designation address storage table 14 and the memory block maximum area table 40, a normal port designation address 25 (here, "410
00H ”) and the maximum area of the memory block (here,“ 30
00H ”) and the port address 24 (here,“ 30002H + 1 ”) to which the content of the addition register 50 has been added.
0000H = 40002H "),
Port designation address 2 to store the remainder during overrun
5 (here, “53000H”) and the maximum memory block area (here, “4000H”) are stored in advance.

【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に出力される。
The reception control unit 7 stores the memory access information 22 in the reception buffer 16 by the same processing as in the first embodiment while the overrun error signal 42 being received is insignificant. On the other hand, the received overrun error signal 4
When 2 becomes significant, the reception control unit 7 recognizes that an overrun has occurred, and temporarily stops the reception processing after the output of the buffer address 26. At that time, the base address conversion unit 51 adds the added address (10000H) output from the addition register 50 to the base address 23 (30000H) from the base address register 12 to generate a converted base address (40000H). Is output to the port address generation unit 13. The port address generator 13 converts the converted base address (4000
0H) to the port ID 20 (2
H) is added to generate a port address 24 (40002H). The port address 24 (40002H) is sent to the port designation address storage table 14, from which the changed port designation address 25 (53000H) is output to the buffer address generation unit 15.

【0037】これによって、一時停止していたバッファ
アドレス26の出力以降の受信処理が再開され、バッフ
ァアドレス生成部15はそのポート指定アドレス25
(53000H)とカレントアドレス生成部32からの
疑似カレントアドレス33(4000H)を加算し、生
成したバッファアドレス26(53000H+4000
H=57000H)を受信バッファ16に送る。それを
受けた受信バッファ16では、受信FIFO11から出
力されるメモリアクセス情報22が、当該バッファアド
レス26(57000H)で示されるメモリブロックに
格納される。
As a result, the reception processing after the output of the buffer address 26 that has been temporarily stopped is restarted, and the buffer address generation unit 15 sends the port designation address 25
(53000H) and the pseudo current address 33 (4000H) from the current address generator 32 are added, and the generated buffer address 26 (53000H + 4000) is obtained.
H = 57000H) to the reception buffer 16. In the reception buffer 16 receiving the data, the memory access information 22 output from the reception FIFO 11 is stored in the memory block indicated by the buffer address 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セレクタである。
Embodiment 4 FIG. Next, a fourth embodiment of the present invention will be described with reference to the drawings. FIG. 4 is a block diagram showing one embodiment of the invention described in claim 4, and the corresponding parts are denoted by the same reference numerals as in FIG. 1 and description thereof is omitted. In the figure, reference numeral 61 denotes a CPU which controls the operation of the processor B2;
Reference numeral 63 denotes a CPU access control unit for controlling the access of the CPU 61 to the reception buffer 16, and 63 arbitrates a request for accessing the reception buffer 16 from the CPU access control unit 62 and the reception control unit 7, and the arbitration result is obtained. Of the receiving buffer 16 as a select signal 67 for selecting writing / reading. 64
Is a current address selector for selecting one of a relative address (CPU address) 68 output from the CPU 61 and a pseudo current address 33 output from the current address generator 32 in accordance with a select signal 67 thereof. Reference numeral 65 denotes a port I in which the port ID of the memory block from which the reception buffer 16 is read is set as the port ID (CPU data) 69 by the CPU 61.
D port register 66 is the port ID register 65
And the port ID 2 output from the reception FIFO 11
0 is a port ID selector that selects one of 0 according to the select signal 67.

【0039】次に、動作について説明する。ここでは、
受信したメモリアクセス情報をCPU61が受信バッフ
ァ16より獲得する際の動作について説明し、ポートか
らの受信動作については実施例1の場合と同様であるた
めその説明を省略する。なお、CPU61が受信バッフ
ァ16内のメモリアクセス情報を獲得する場合、CPU
61は必要とするメモリアクセス情報が格納されている
メモリブロックのポートIDを、CPUデータ69とし
てポートIDレジスタ65に予め設定しておく必要があ
る。
Next, the operation will be described. here,
The operation when the CPU 61 obtains the received memory access information from the reception buffer 16 will be described, and the operation of receiving from a port is the same as that in the first embodiment, and the description is omitted. When the CPU 61 acquires the memory access information in the reception buffer 16, the CPU 61
Reference numeral 61 indicates that the port ID of the memory block in which the required memory access information is stored must be set as CPU data 69 in the port ID register 65 in advance.

【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よ
り読み出すことが可能となる。
First, the CPU 61 stores the relative address of the required data (address from the head of the data group) in the CPU 61.
The CPU access control unit 62 is activated at the same time as outputting the address 68 to the current address selector 64.
The activated CPU access control unit 62 outputs an access request to the arbitration unit 63, and upon receiving the request, the arbitration unit 63 determines the access request from the reception control unit 5.
That is, if the access from the CPU 61 is possible, the select signal 67 is sent to the reading side of the reception buffer 16, that is, the CP.
Change to U access side. In response to the select signal 67, the port ID selector 66 makes the CPU 61
The port ID set in the D register 65 is output to the port address generator 13. Thereafter, the port designation address 25 corresponding to the port ID set in the port ID register 65 is input from the port designation address storage table 14 to the buffer address generation unit 15 along the same route as when data is received. On the other hand, in the current address selector 64, the CPU address 68 from the CPU 61 is selected by the select signal 67 from the arbitration unit 63, and is added to the port designation address 25 in the buffer address generation unit 15 to generate the buffer address 26. . As described above, any memory access information corresponding to the port ID set in the port ID register 65 can be read out from the reception buffer 16 simply by specifying a relative address.

【0041】実施例5.次に、この発明の実施例5を図
について説明する。図5は請求項5に記載した発明の一
実施例を示すブロック図で、相当部分には図4と同一符
号を付してその説明を省略する。図において、71はC
PUデータ69の代わりにCPU61より出力され、実
施例4におけるポートIDレジスタ65からのポートI
Dに代えてポートIDセレクタ66に直接入力される上
位アドレスであり、同じくCPU61より出力されてカ
レントアドレスセレクタ64に入力されているCPUア
ドレス68より上位のビットで、受信バッファ16の必
要な情報か格納されているメモリブロックのポートID
を指定する。
Embodiment 5 FIG. Next, a fifth embodiment of the present invention will be described with reference to the drawings. FIG. 5 is a block diagram showing one embodiment of the invention described in claim 5, and the corresponding parts are denoted by the same reference numerals as in FIG. 4 and description thereof is omitted. In the figure, 71 is C
The port I is output from the CPU 61 instead of the PU data 69, and is output from the port ID register 65 in the fourth embodiment.
This is an upper address directly input to the port ID selector 66 instead of D, and is a bit higher than the CPU address 68 which is also output from the CPU 61 and input to the current address selector 64. Port ID of the stored memory block
Is specified.

【0042】次に動作について説明する。CPU61は
CPUアクセス制御部62の起動時に、必要とするデー
タの相対アドレスをCPUアドレス68としてカレント
アドレスセレクタ64に出力し、同時にポートIDセレ
クタ66へは上位アドレスとして、当該必要とするデー
タが格納されているメモリブロックのポートIDを出力
する。即ち、CPU61のアクセスするアドレスは、ポ
ートIDをCPUアドレス68のビット数分だけシフト
(乗算)した値に、相対アドレスを加算した値になる。
CPU61はこのようなアドレスを上位アドレス71と
CPUアドレス68に分けて出力することにより、以降
の処理は実施例4で説明したものと同様になり、必要と
するデータを受信バッファ16より獲得することができ
る。
Next, the operation will be described. When the CPU access control unit 62 is activated, the CPU 61 outputs a relative address of required data to the current address selector 64 as a CPU address 68, and the port ID selector 66 stores the required data as an upper address. The port ID of the memory block being output is output. That is, the address to be accessed by the CPU 61 is a value obtained by shifting (multiplying) the port ID by the number of bits of the CPU address 68 and adding the relative address.
The CPU 61 divides and outputs such an address into the upper address 71 and the CPU address 68, so that the subsequent processing is the same as that described in the fourth embodiment, and obtains necessary data from the reception buffer 16. Can be.

【0043】[0043]

【発明の効果】以上のように、請求項1に記載の発明に
よれば、受信メモリより出力されるポートID毎に、受
信バッファに格納されるメモリアクセス情報の格納数を
計数するカレントアドレスカウント部と、その計数値に
メモリアクセス情報のバイト数を乗算して疑似カレント
アドレスを生成するカレントアドレス生成部を設け、各
ポートIDの前回の転送数を記憶させるように構成した
ので、受信メッセージ内にカレントアドレスの情報が存
在しなくとも、同一のポートIDにおける分割されたメ
ッセージを受信バッファに格納することが可能となり、
送信時におけるメッセージの生成時間が削減されて、メ
ッセージの送受信動作をより高速化することができるメ
ッセージ送受信装置が得られる効果がある。
As described above, according to the first aspect of the present invention, the current address count for counting the number of memory access information stored in the reception buffer for each port ID output from the reception memory. And a current address generating unit for generating a pseudo current address by multiplying the counted value by the number of bytes of the memory access information, and storing the previous transfer count of each port ID. , Even if there is no information of the current address, the divided message with the same port ID can be stored in the reception buffer.
There is an effect that a message transmission / reception device that can reduce the generation time of a message at the time of transmission and can further speed up the operation of transmitting / receiving a message can be obtained.

【0044】また、請求項2に記載の発明によれば、メ
モリブロック最大領域テーブルに設定されている各ポー
トIDの領域を越えた転送が発生した場合に、受信バッ
ファへの格納を停止するように構成したので、転送量が
膨大になってオーバランが発生した場合でも、他のポー
トIDの領域の記憶内容が破壊されるのを防止すること
ができ、より信頼性の高いメッセージの送受信が行える
効果がある。
According to the second aspect of the present invention, when a transfer exceeding the area of each port ID set in the memory block maximum area table occurs, the storage in the reception buffer is stopped. Therefore, even if the transfer amount becomes enormous and an overrun occurs, it is possible to prevent the storage contents of the other port ID areas from being destroyed, and to transmit and receive a message with higher reliability. effective.

【0045】また、請求項3に記載の発明によれば、オ
ーバランが発生した場合には、ポート指定アドレス格納
テーブルに入力されるポートアドレスを強制的に変更
し、当該ポートIDの領域を越えた転送分を他のポート
IDとオーバラップしない領域に転送するように構成し
たので、オーバランが発生しても受信動作を継続するこ
とが可能となり、領域をオーバしたデータについてもそ
の転送を保障することができる効果がある。
According to the third aspect of the invention, when an overrun occurs, the port address input to the port designation address storage table is forcibly changed to exceed the port ID area. Since the transfer is transferred to an area that does not overlap with other port IDs, the receiving operation can be continued even if an overrun occurs, and the transfer of data over the area is guaranteed. There is an effect that can be.

【0046】また、請求項4に記載の発明によれば、C
PUアクセス時には、カレントアドレスセレクタにCP
UからのCPUアドレスを、ポートIDセレクタにCP
UがポートIDレジスタに設定したポートIDを選択さ
せるように構成したので、受信バッファよりのデータリ
ードに際して、ポート指定アドレス格納テーブルの内容
からアクセスアドレスをいちいち計算する必要がなくな
り、受信バッファに格納されたメモリアクセス情報の獲
得を高速化できる効果がある。
According to the fourth aspect of the present invention, C
At the time of PU access, the current address selector
CPU address from U to the port ID selector
Since U is configured to select the port ID set in the port ID register, it is not necessary to calculate the access address from the contents of the port designation address storage table each time data is read from the reception buffer, and the data is stored in the reception buffer. This has the effect of speeding up the acquisition of memory access information.

【0047】また、請求項5に記載の発明によれば、必
要な情報格納されたメモリブロックのポートIDを指
定する上位アドレスを、直接ポートIDセレクタに入力
するように構成したので、CPUがポートIDレジスタ
にポートIDを設定する必要がなくなって、その設定処
理が不要となり、ポートIDレジスタも削除可能となる
効果がある。
According to the fifth aspect of the present invention, the upper address designating the port ID of the memory block in which the necessary information is stored is directly input to the port ID selector. There is no need to set a port ID in the port ID register, so that the setting process becomes unnecessary, and the port ID register can be deleted.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の実施例1によるメッセージ送受信装
置を示すブロック図である。
FIG. 1 is a block diagram showing a message transmitting / receiving apparatus according to Embodiment 1 of the present invention.

【図2】この発明の実施例2によるメッセージ送受信装
置を示すブロック図である。
FIG. 2 is a block diagram showing a message transmitting / receiving apparatus according to Embodiment 2 of the present invention.

【図3】この発明の実施例3によるメッセージ送受信装
置を示すブロック図である。
FIG. 3 is a block diagram showing a message transmitting / receiving apparatus according to Embodiment 3 of the present invention.

【図4】この発明の実施例4によるメッセージ送受信装
置を示すブロック図である。
FIG. 4 is a block diagram showing a message transmitting / receiving apparatus according to Embodiment 4 of the present invention.

【図5】この発明の実施例5によるメッセージ送受信装
置を示すブロック図である。
FIG. 5 is a block diagram showing a message transmitting / receiving apparatus according to Embodiment 5 of the present invention.

【図6】この発明および従来のメッセージ送受信装置が
用いられるマルチプロセッサシステムを示すブロック図
である。
FIG. 6 is a block diagram showing a multiprocessor system in which the present invention and a conventional message transmitting / receiving apparatus are used.

【図7】従来のメッセージ送受信装置を示すブロック図
である。
FIG. 7 is a block diagram showing a conventional message transmitting / receiving device.

【符号の説明】[Explanation of symbols]

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 上位アドレス 7 Reception control unit 10 Reception message 11 Reception memory (reception FIFO) 12 Base address register 13 Port address generation unit 14 Port designation address storage table 15 Buffer address generation unit 16 Reception buffer 20 Port ID 22 Memory access information 23 Base address 24 Port address 25 Port designation address 26 Buffer address 31 Current address count unit 32 Current address generation unit 33 Pseudo current address 40 Memory block maximum area table 41 Overrun check unit 42 Overrun error signal 50 Addition register 51 Base address conversion unit 64 Current address selector 65 Port ID Register 66 Port ID selector 67 Select signal 68 Relative address (CPU address) 69 Port ID (CPU data) 71 Upper address

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 13/00 G06F 15/163 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int. Cl. 6 , DB name) G06F 13/00 G06F 15/163

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 受信メッセージを受信するファーストイ
ン・ファーストアウト形の受信メモリと、前記受信メモ
リよりポートIDおよびメモリアクセス情報を取り出し
て受信操作を制御する受信制御部と、前記受信メモリよ
り取り出された前記メモリアクセス情報が格納される受
信バッファと、前記受信バッファのメモリブロックを示
すポート指定アドレスが格納されるポート指定アドレス
格納テーブルと、前記ポート指定アドレス格納テーブル
の先頭物理アドレス値であるベースアドレスを格納する
ベースアドレスレジスタと、前記受信メモリより出力さ
れる前記ポートIDと前記ベースアドレスレジスタより
リードされる前記ベースアドレスを加算して、前記ポー
ト指定アドレス格納テーブルに入力されるポートアドレ
スを生成するポートアドレス生成部と、前記受信メモリ
より出力されるポートID毎に、前記受信バッファに格
納されるメモリアクセス情報の格納数を計数するカレン
トアドレスカウント部と、前記カレントアドレスカウン
ト部の計数値に前記メモリアクセス情報のバイト数を乗
算して疑似カレントアドレスを生成するカレントアドレ
ス生成部と、前記ポート指定アドレス格納テーブルより
出力される前記ポート指定アドレスと前記カレントアド
レス生成部より出力される前記疑似カレントアドレスと
を加算して、前記受信バッファのバッファアドレスを生
成するバッファアドレス生成部とを備えたメッセージ送
受信装置。
1. A receiving memory of a first-in first-out type for receiving a received message, a receiving control unit for controlling a receiving operation by extracting a port ID and memory access information from the receiving memory, and a receiving control unit for controlling a receiving operation. A reception buffer storing the memory access information, a port designation address storage table storing a port designation address indicating a memory block of the reception buffer, and a base address which is a leading physical address value of the port designation address storage table. And the base address read from the base address register is added to the port ID output from the reception memory to generate a port address input to the port designation address storage table. port An address generation unit, a current address count unit that counts the number of memory access information stored in the reception buffer for each port ID output from the reception memory, A current address generation unit that generates a pseudo current address by multiplying the number of bytes of the access information; and a port specification address output from the port specification address storage table and the pseudo current address output from the current address generation unit. And a buffer address generation unit for generating a buffer address of the reception buffer.
【請求項2】 前記ポートアドレスの示す領域に、前記
受信バッファの各メモリブロックの記憶容量を示すメモ
リブロック最大領域を格納しているメモリブロック最大
領域テーブルと、前記メモリブロック最大領域テーブル
からのメモリブロック最大領域と前記カレントアドレス
生成部からの疑似カレントアドレスとを比較して、前記
バッファアドレス生成部の出力するバッファアドレスが
前記メモリブロック最大領域を越えたか否かをチェック
し、オーバランエラー信号を生成するオーバランチェッ
ク部とを設けたことを特徴とする請求項1に記載のメッ
セージ送受信装置。
2. A memory block maximum area table storing a memory block maximum area indicating a storage capacity of each memory block of the reception buffer in an area indicated by the port address, and a memory from the memory block maximum area table. A block maximum area is compared with a pseudo current address from the current address generation section to check whether a buffer address output from the buffer address generation section exceeds the memory block maximum area and generate an overrun error signal. The message transmission / reception device according to claim 1, further comprising an overrun check unit that performs the operation.
【請求項3】 前記バッファアドレスが前記メモリブロ
ック最大領域を越えた場合に、前記ベースアドレスに加
算される加算分アドレスを格納する加算レジスタと、前
記オーバランチェック部の出力する前記オーバランエラ
ー信号が無意であれば前記ベースアドレスレジスタから
のベースアドレスをそのまま、有意であれば前記ベース
アドレスに前記加算分アドレスを加算して、前記ポート
アドレス生成部に入力するベースアドレス変換部とを設
けたことを特徴とする請求項2に記載のメッセージ送受
信装置。
3. An addition register for storing an additional address to be added to the base address when the buffer address exceeds the maximum area of the memory block, and an overrun error signal output from the overrun check unit is insignificant. A base address conversion unit that adds the base address from the base address register as it is, and adds the base address to the base address if significant, and inputs the base address to the port address generation unit. The message transmitting / receiving device according to claim 2, wherein
【請求項4】 前記受信バッファの読み取りが行われる
メモリブロックのポートIDが設定されるポートIDレ
ジスタと、前記受信メモリからのポートIDと前記ポー
トIDレジスタからのポートIDの一方を、前記受信バ
ッファの書き込み/読み取りを選択するセレクト信号に
従って選択し、前記ポートアドレス生成部とカレントア
ドレスカウント部とに送るポートIDセレクタと、前記
受信バッファ上の必要な情報の相対アドレスと前記カレ
ントアドレス生成部からの疑似カレントアドレスの一方
を前記セレクト信号に従って選択し、前記バッファアド
レス生成部に送るカレントアドレスセレクタとを設けた
ことを特徴とする請求項1に記載のメッセージ送受信装
置。
4. A port ID register in which a port ID of a memory block from which the reception buffer is read is set, and one of a port ID from the reception memory and a port ID from the port ID register is stored in the reception buffer. A port ID selector for selecting according to a select signal for selecting writing / reading of data and sending it to the port address generation unit and the current address counting unit; a relative address of necessary information on the reception buffer; 2. The message transmitting / receiving apparatus according to claim 1, further comprising: a current address selector for selecting one of the pseudo current addresses according to the select signal and sending the selected pseudo current address to the buffer address generator.
【請求項5】 前記受信バッファの読み取りが行われる
メモリブロックのポートIDを示す上位アドレスと前記
受信メモリからのポートIDの一方を、前記受信バッフ
ァの書き込み/読み取りを選択するセレクト信号に従っ
て選択し、前記ポートアドレス生成部とカレントアドレ
スカウント部とに送るポートIDセレクタと、前記受信
バッファ上の必要な情報の相対アドレスと前記カレント
アドレス生成部からの疑似カレントアドレスの一方を前
記セレクト信号に従って選択し、前記バッファアドレス
生成部に送るカレントアドレスセレクタとを設けたこと
を特徴とする請求項1に記載のメッセージ送受信装置。
5. Selecting one of an upper address indicating a port ID of a memory block from which reading of the reception buffer is performed and a port ID from the reception memory in accordance with a select signal for selecting writing / reading of the reception buffer; A port ID selector for sending to the port address generation unit and the current address count unit, and selecting one of a relative address of necessary information on the reception buffer and a pseudo current address from the current address generation unit according to the select signal; 2. The message transmitting / receiving apparatus according to claim 1, further comprising a current address selector for sending to the buffer address generating unit.
JP5164824A 1993-07-02 1993-07-02 Message transceiver Expired - Lifetime JP2905041B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5164824A JP2905041B2 (en) 1993-07-02 1993-07-02 Message transceiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5164824A JP2905041B2 (en) 1993-07-02 1993-07-02 Message transceiver

Publications (2)

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

Family

ID=15800618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5164824A Expired - Lifetime JP2905041B2 (en) 1993-07-02 1993-07-02 Message transceiver

Country Status (1)

Country Link
JP (1) JP2905041B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK23891D0 (en) * 1991-02-12 1991-02-12 Gea Farmaceutisk Fabrik As 3-SUBSTITUTED 1,2,3,4-OXA-TRIAZOL-5 IMIN COMPOUNDS AND PROCEDURES FOR PREPARING IT, AND PHARMACEUTICAL PREPARATIONS CONTAINING THESE COMPOUNDS
DE4321109C2 (en) * 1993-06-25 1998-01-29 Sanol Arznei Schwarz Gmbh Pharmacologically active compounds with a partial structure of nitrosohydrazine

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2977688B2 (en) Multi-processing device, method, and processor used for the same
US7363389B2 (en) Apparatus and method for enhanced channel adapter performance through implementation of a completion queue engine and address translation engine
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
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 (en) Clock circuit
JP3210880B2 (en) Circuit for moving data between remote memories, and computer including such a circuit
JP2774862B2 (en) DMA control device and information processing device
AU603433B2 (en) Bus adapter unit for digital data processing system
JP2905041B2 (en) Message transceiver
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 (en)
JPS6027976A (en) First-in first-out memory device
JP2502932B2 (en) Data transfer method and data processing system
JP2627355B2 (en) Data communication method
JP3442099B2 (en) Data transfer storage device
JPS605367A (en) Communication control processor
JP2000137676A (en) Buffer control system
JPH04348442A (en) Address converter
JPH05289961A (en) Address generating device
JPH10154115A (en) Information processor provided with lan controller having cache
JPH0713918A (en) Data transfer method and data-processing system