JPH0544053B2 - - Google Patents
Info
- Publication number
- JPH0544053B2 JPH0544053B2 JP62290221A JP29022187A JPH0544053B2 JP H0544053 B2 JPH0544053 B2 JP H0544053B2 JP 62290221 A JP62290221 A JP 62290221A JP 29022187 A JP29022187 A JP 29022187A JP H0544053 B2 JPH0544053 B2 JP H0544053B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- received
- messages
- transmission
- node
- 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
Links
- 238000004891 communication Methods 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
【発明の詳細な説明】
『産業上の利用分野』
本発明は、計算機システム等の通信路上に設置
される少なくとも1個以上のノードの内部に設け
られる通信制御装置に関し、特に各々のノード内
の中央処理装置の負荷の軽減を図るものである。Detailed Description of the Invention [Field of Industrial Application] The present invention relates to a communication control device installed inside at least one or more nodes installed on a communication path of a computer system, etc. This aims to reduce the load on the central processing unit.
『従来の技術』
複数のノードが同一通信路に接続されたシステ
ムの例を第5図に表わす。"Prior Art" FIG. 5 shows an example of a system in which a plurality of nodes are connected to the same communication channel.
この図では、通信路Bにノード1、ノード2、
…、ノードi、…、ノードMが設置されている。 In this diagram, communication path B includes node 1, node 2,
..., node i, ..., node M are installed.
更に、ノードiは、中央処理装置CPU10、
主メモリ20、チヤネル30、通信制御装置4
0、I/Oインターフエイス50より構成され
る。CPU10は主メモリ20、チヤネル30と
メモリ・バスb1に接続され、チヤネル30、通
信制御装置40、I/Oインターフエイス50は
I/Oバスb2に接続される。通信制御装置40
は通信路Bを介して他のノードと通信動作を制御
する。 Furthermore, the node i has a central processing unit CPU10,
Main memory 20, channel 30, communication control device 4
0 and an I/O interface 50. CPU 10 is connected to main memory 20, channel 30 and memory bus b1, and channel 30, communication control device 40 and I/O interface 50 are connected to I/O bus b2. Communication control device 40
controls communication operations with other nodes via communication path B.
このようなノードiにあつて、CPU10で実
行されるドライバ・プログラムは、システムに設
定されるアプリケーシヨン・プログラムからの複
数の通信要求を1つにまとめてチヤネル30に指
令を出している。 In such a node i, a driver program executed by the CPU 10 compiles a plurality of communication requests from application programs set in the system into one and issues a command to the channel 30.
即ち、第6図A,Bに示すように、(a)CPU1
0のアプリケーシヨン・プログラムに発生する第
1番目の通信要求#1、第2番目の通信要求
#2、…、#Nは主メモリ20の領域A1に送信
メツセージとして格納され、(b)ドライバ・プログ
ラム内でそれぞれ送信メツセージのDMA
WRITE要求(データ長さ、先頭アドレス指定)
としてチヤネル30を指令し、(c)一旦通信制御装
置40内の送信バツフアの送信メツセージとして
蓄えられて、(d)順次通信路Bに送出される。 That is, as shown in FIG. 6A and B, (a) CPU1
The first communication request #1, second communication request #2, ..., #N generated in the application program No. 0 are stored as transmission messages in area A1 of the main memory 20, and DMA for each message sent within the program
WRITE request (data length, start address specification)
(c) is temporarily stored as a transmission message in the transmission buffer in the communication control device 40, and (d) is sequentially sent to the communication path B.
(e)送信メツセージを受信したノードより受信メ
ツセージが通信路Bから送信されると、送信側ノ
ードの通信制御装置40は内部の受信バツフアに
一旦これを取り込み、ドライバ・プログラムへ割
り込みを行なう。(f)更にドライバ・プログラムは
チヤネル30に受信メツセージのDMA READ
要求(データ長さ、先頭アドレス指定)を指令
し、(g)この受信メツセージをドライバ・プログラ
ム内受信バツフアに格納する。そして、ドライ
バ・プログラムは、この受信メツセージの宛て先
(対応する受信メツセージ)をチエツクし、(h)ア
プリケーシヨン・プログラムの受信バツフア(主
メモリ20上の領域A2)にコピーする。 (e) When the received message is transmitted from the node that received the transmitted message through the communication path B, the communication control device 40 of the transmitting side node temporarily imports it into its internal reception buffer and interrupts the driver program. (f) The driver program also sends a DMA READ of the received message to channel 30.
Issues a request (data length, start address specification), and (g) stores this received message in the receive buffer within the driver program. Then, the driver program checks the destination of this received message (corresponding received message), and (h) copies it to the application program's reception buffer (area A2 on main memory 20).
以上のような操作手順で送信メツセージ、受信
メツセージの授受が行われている。 Transmission messages and reception messages are exchanged using the operating procedure described above.
『発明が解決しようとする問題点』
しかしながら、上記手順にあつて、送信側ノー
ドは送信要求順に送信メツセージを送出するが、
相手側ノードから返信される受信メツセージの到
着順は送信メツセージの送信側とは異なる。即
ち、相手側の複数のノードはその動作状況によ
り、受信メツセージを返信するタイミングは一致
していない。``Problems to be Solved by the Invention'' However, in the above procedure, the sending node sends outgoing messages in the order of the sending requests;
The arrival order of received messages returned from the other party's node is different from that of the sender of outgoing messages. That is, the timings at which multiple nodes on the other side return received messages do not match depending on their operating conditions.
従つて、ドライバ・プログラムは、受信メツセ
ージの到着順が不定のため、逐一受信メツセージ
を一旦自己のバツフアに取り込んでその宛て先
(対応する送信メツセージ)をチエツクし(g)、宛
て先を確認してからアプリケーシヨン・プログラ
ムにコピーするという複雑な手続きが必要であ
り、CPUの負荷が大であつた。 Therefore, since the order in which received messages arrive is uncertain, the driver program first imports each received message into its own buffer and checks its destination (corresponding sent message) (g) to confirm the destination. This required a complicated procedure of copying the data to the application program, which placed a heavy load on the CPU.
本発明はこのような問題を解決するものであ
り、上記のようなな送信メツセージ、受信メツセ
ージを授受するノード内の中央処理装置の負荷の
軽減を図ることを目的とする。 The present invention is intended to solve such problems, and aims to reduce the load on central processing units within nodes that exchange transmitted and received messages as described above.
『問題を解決するための手段』
本発明は、通信制御装置内に新たに送受信用の
バツフア・メモリを設けたものであり、その具体
的な構成は次の通りである。"Means for Solving the Problem" The present invention newly provides a buffer memory for transmission and reception within a communication control device, and its specific configuration is as follows.
即ち、通信路に設置されるノード内部に設けら
れ、少なくとも1個以上のノードと送信メツセー
ジ及び受信メツセージを授受す通信制御装置にお
いて、当該ノードに発生する他ノードに対する全
ての送信要求を貯蔵するとともに、前記送信要求
に対する他ノードからの全ての受信情報を貯蔵す
るバツフア・メモリを設け、送信メツセージ発生
時にドライバ・プログラムにより送受信DMAが
起動され、受信メツセージ受信時にアプリケーシ
ヨン・プログラムにより前記バツフア・メモリの
受信メツセージが読み出されて送受信動作を完了
することを特徴とする通信制御装置である。 That is, in a communication control device that is installed inside a node installed on a communication path and exchanges transmitted messages and received messages with at least one or more nodes, it stores all transmission requests to other nodes that occur to the node. , a buffer memory is provided to store all received information from other nodes in response to the transmission request, and when a transmission message is generated, the transmission/reception DMA is activated by the driver program, and when the reception message is received, the application program stores the buffer memory. The communication control device is characterized in that a received message is read out and a transmission/reception operation is completed.
『作用』
本発明の通信制御装置は、通信要求が発生した
際に、ドライバ・プログラムのDMA送受信起動
によりバツフア・メモリに一括して送信要求を蓄
え、その応答である受信メツセージがこのバツフ
ア・メモリに蓄えられると、アプリケーシヨン・
プログラムはこのバツフア・メモリの内容をドラ
イバ・プログラムの介在なしに直接読み取り、送
受信動作を完了する。[Operation] When a communication request occurs, the communication control device of the present invention stores the transmission request in a buffer memory at once by activating the DMA transmission/reception of the driver program, and the received message as a response is stored in the buffer memory. Once stored in the application
The program directly reads the contents of this buffer memory without the intervention of a driver program and completes the transmit/receive operation.
『実施例』
第1図に本発明を実施した通信制御装置40の
構成を表わす。"Embodiment" FIG. 1 shows the configuration of a communication control device 40 in which the present invention is implemented.
この図において、41は通信路Bに直接結合す
る通信インターフエイス、42はCPU10と接
続するホスト・インターフエイス、43はこの通
信制御装置40の制御部、44は複数の送信メツ
セージ及び受信メツセージを蓄えることができる
バツフア・メモリである。通信インターフエイス
41はバツフア・メモリ44内の送信メツセージ
を通信路B上へ送出するとともに、通信路B上の
受信メツセージをバツフア・メモリ44に取り込
む。 In this figure, 41 is a communication interface directly connected to communication path B, 42 is a host interface connected to CPU 10, 43 is a control unit of this communication control device 40, and 44 stores a plurality of transmitted messages and received messages. It is a buffer memory that can be used. The communication interface 41 sends the transmitted message in the buffer memory 44 onto the communication path B, and also takes in the received message on the communication path B into the buffer memory 44.
また、バツフア・メモリ44は、CPU10で
発生する他ノードに対する送信メツセージを全て
格納する送信チヤネル部441と、通信路Bを介
して返信される全ての受信メツセージを格納する
受信チヤネル部442とにより構成される。 The buffer memory 44 also includes a transmission channel section 441 that stores all transmission messages to other nodes generated by the CPU 10, and a reception channel section 442 that stores all reception messages sent back via communication path B. be done.
このような通信制御装置40の動作のフローチ
ヤートを第2図に表わす。 A flowchart of the operation of such communication control device 40 is shown in FIG.
はじめに、CPU10から通信指令が与えられ
ると、変数I=0を設定する。 First, when a communication command is given from the CPU 10, a variable I=0 is set.
そして、CPU10から発生する送信メツセー
ジをバツフア・メモリ44の送信チヤネル部44
1に、I=I+1として順次格納していく。 The transmission message generated from the CPU 10 is transmitted to the transmission channel section 44 of the buffer memory 44.
1 and sequentially store them as I=I+1.
送信メツセージ格納完了となると、このときの
I値をMとし、再び変数I=0とし、送信チヤネ
ル部441に蓄えられている送信メツセージをI
=Mまでその相手先ノードへ送信する。 When the storage of the transmitted message is completed, the I value at this time is set to M, the variable I is set to 0 again, and the transmitted message stored in the transmission channel section 441 is stored as I.
= M to the destination node.
次に、受信メツセージの受信段階となり、到着
した受信メツセージを順次バツフア・メモリ44
の受信チヤネル部442に格納していく。このと
きも変数I=0を設定し、I=I+1としI=M
となるまで、送信メツセージの数だけ受信メツセ
ージを全て受信チヤネル部442に格納する。 Next, there is a step of receiving received messages, and the received messages are sequentially stored in the buffer memory 44.
The information is stored in the reception channel section 442 of . At this time as well, set the variable I=0, set I=I+1, and set I=M
All received messages equal to the number of transmitted messages are stored in the reception channel section 442 until .
ここで、各受信メツセージは各ノードのエコー
機能により対応する送信メツセージの識別情報
(宛て先)を含んでおり、アプリケーシヨン・プ
ログラムに受信チヤネル部442読み出し指令を
付加することにより、ドライバ・プログラムを介
さずに直接、受信メツセージを主メモリ20上の
領域A2に転送することができる。即ち、従来は
受信メツセージが返信される毎にドライバ・プロ
グラムが起動して、受信メツセージをアプリケー
シヨン・プログラムに転送していたが、このよう
な処理操作を省略することができる。 Here, each received message contains the identification information (destination) of the corresponding transmitted message by the echo function of each node, and by adding the reception channel section 442 read command to the application program, the driver program can be read. The received message can be directly transferred to the area A2 on the main memory 20 without any intervention. That is, conventionally, a driver program was activated every time a received message was returned and transferred the received message to the application program, but such processing operations can be omitted.
次に、バツフア・メモリ44を用いた具体的な
送受信メツセージの授受について第3図を参照し
て説明する。 Next, specific transmission and reception of messages using the buffer memory 44 will be explained with reference to FIG.
第3図aはアプリケーシヨン・プログラムにお
ける送信バツフア領域A1、受信ババツフア領域
A2(主メモリ20上の領域)を表わし、アプリケ
ーシヨン・プログラムは送信メツセージを要求発
生順(#1,#2,…,#N)に領域A1に格納
する。尚、領域A2は、送信メツセージの相手先
ノードから返信される受信メツセージが最終的に
格納される領域である。 Figure 3a shows the transmission buffer area A1 and reception buffer area in the application program.
A2 (area on the main memory 20), and the application program stores transmitted messages in the area A1 in the order of request generation (#1, #2, . . . , #N). Note that area A2 is an area where a received message returned from the destination node of the transmitted message is finally stored.
さて、(b)アプリケーシヨン・プログラム(主メ
モリ20の領域A1)からの送信メツセージは、
ドライバ・プログラムにより、(c)#1送信メツセ
ージDMA WR1TE(データ長さ、先頭アドレス)
から順次#N送信メツセージDMA WRITE(デ
ータ長さ、先頭アドレス)が設定されてチヤネル
30へ送られる。一方、この時点において、ドラ
イバ・プログラムは同時にチヤネル30へ#1〜
#Nの受信メツセージ(データ長さ、先頭アドレ
ス)のDMA READ起動を要求する。そして、
ドライバ・プログラムのDMA WRITE起動によ
り、送信メツセージは順次バツフア・メモリ44
の送信チヤネル部441に要求発生順に格納され
る。 Now, (b) the message sent from the application program (area A1 of main memory 20) is
Depending on the driver program, (c) #1 transmission message DMA WR1TE (data length, start address)
The #N transmission message DMA WRITE (data length, start address) is set and sent to the channel 30 in sequence. On the other hand, at this point, the driver program is simultaneously sending channels #1 to #30.
Requests activation of DMA READ for #N received message (data length, start address). and,
By starting the driver program's DMA WRITE, the transmitted messages are sequentially transferred to the buffer memory 44.
The requests are stored in the transmission channel section 441 in the order in which the requests were generated.
次に、通信制御部40内の制御部43により、
バツフア・メモリ44内の送信メツセージが通信
路Bに送出される。 Next, the control unit 43 in the communication control unit 40
The transmitted message in buffer memory 44 is sent to communication path B.
(d)各々の送信メツセージが宛て先ノードに到着
し、各ノードから受信メツセージが送出される
と、送信メツセージ発信元のノードはこの受信メ
ツセージを順次受け取る。 (d) When each transmitted message arrives at the destination node and each node sends out a received message, the node that sent the transmitted message receives the received message in sequence.
この時、受信チヤネル部442に受信メツセー
ジは到着順に格納される。但し、受信メツセージ
には該当する送信メツセージの識別情報が含まれ
ている。 At this time, the received messages are stored in the reception channel section 442 in the order of arrival. However, the received message includes identification information of the corresponding sent message.
(e)アプリケーシヨン・プログラムは、ドライ
バ・プログラムにより既に受信メツセージの
DMA READ起動がかけられているため、受信
チヤネル部442の受信メツセージを主メモリ2
0の領域A2に直ちに転送を開始する。転送終了
となると、ドライバ・プログラムに送受信完了割
り込みをかけ、送受信動作が完了する。 (e) The application program has already received the received message by the driver program.
Since DMA READ is activated, the received message in the receive channel section 442 is transferred to the main memory 2.
Immediately start transferring to area A2 of 0. When the transfer is completed, a transmission/reception completion interrupt is issued to the driver program, and the transmission/reception operation is completed.
以上のように送受信動作がなされるため、従来
行なわれていた、ドライバ・プログラムが到着し
た受信メツセージを一旦ドライバ・プログラム内
のバツフアに格納してその該当送信メツセージを
逐一チエツクし、その結果によりアプリケーシヨ
ン・プログラムへ受信メツセージを送信するとい
う動作を省略できる。 Since the transmission and reception operations are performed as described above, the driver program, which has conventionally done this, temporarily stores the received messages that have arrived in a buffer within the driver program, checks the corresponding transmitted messages one by one, and uses the results to execute the application. It is possible to omit the operation of transmitting the received message to the Yon program.
また、第2図のフローチヤートに示すように受
信メツセージが全て要求送信元に到着してから中
央処理装置CPU10に送信するのではなく、第
4図のように返信順序が#2,#1,#3,…の
時に、#1の受信メツセージが返信された時点で
直ちにこの#1受信メツセージをCPU10へ送
信し、以後#2受信メツセージ、#3受信メツセ
ージ、…を送信するようにしても良い。 Furthermore, instead of transmitting the received messages to the central processing unit CPU 10 after all received messages arrive at the request source as shown in the flowchart of FIG. 2, the reply order is #2, #1, #1, etc. as shown in FIG. At the time of #3,..., the #1 received message may be sent to the CPU 10 immediately when the #1 received message is returned, and then the #2 received message, #3 received message, etc. may be sent. .
『発明の効果』
以上述べたように、本発明の通信制御装置によ
れば次のような効果が得られる。"Effects of the Invention" As described above, the communication control device of the present invention provides the following effects.
受信メツセージの到着順が不定であつても、ド
ライバ・プログラムがその内容をチエツクしてア
プリケーシヨン・プログラムにコピーするという
複雑な手続きが省略され、CPUの負荷が軽減さ
れる。 Even if the order in which received messages arrive is undefined, the complicated procedure of the driver program checking the contents and copying them to the application program is omitted, reducing the load on the CPU.
第1図は本発明を実施した通信制御装置の構成
を表わす図、第2図は本発明装置の動作を表わす
フローチヤート、第3図は本発明装置の動作概略
図、第4図は本発明装置の動作を一部変更した際
の動作概略図、第5図は複数のノードが同一通信
路に接続されたシステムの例、第6図A,Bは従
来装置の送受信メツセージを授受する際の動作説
明図である。
10……中央処理装置CPU、20……主メモ
リ、30……チヤネル、40……通信制御装置、
41……通信インターフエイス、、42……ホス
ト・インターフエイス、43……制御部、44…
…バツフア・メモリ、441……送信チヤネル
部、442……受信チヤネル部、50……I/O
インターフエイス、B……通信路、b1……メモ
リ・バス、b2……I/Oバス。
FIG. 1 is a diagram showing the configuration of a communication control device embodying the present invention, FIG. 2 is a flowchart showing the operation of the device of the present invention, FIG. 3 is a schematic diagram of the operation of the device of the present invention, and FIG. 4 is a diagram showing the operation of the device of the present invention. A schematic diagram of the operation when the operation of the device is partially changed. Figure 5 is an example of a system in which multiple nodes are connected to the same communication path. Figures 6A and B are diagrams of the conventional device when sending and receiving messages. It is an operation explanatory diagram. 10... central processing unit CPU, 20... main memory, 30... channel, 40... communication control device,
41...Communication interface, 42...Host interface, 43...Control unit, 44...
...Buffer memory, 441...Transmission channel section, 442...Reception channel section, 50...I/O
Interface, B...communication path, b1...memory bus, b2...I/O bus.
Claims (1)
少なくとも1個以上のノードと送信メツセージ及
び受信メツセージを授受する通信制御装置におい
て、当該ノードに発生する他ノードに対する全て
の送信要求を貯蔵するとともに、前記送信要求に
対する他ノードからの全ての受信情報を貯蔵する
バツフア・メモリを設け、送信メツセージ発生時
にドライバ・プログラムにより送受信DMAが起
動され、受信メツセージ受信時にアプリケーシヨ
ン・プログラムにより前記バツフア・メモリの受
信メツセージが読み出されて送受信動作を完了す
ることを特徴とする通信制御装置。1 installed inside the node installed on the communication path,
In a communication control device that exchanges transmitted messages and received messages with at least one or more nodes, all transmission requests to other nodes generated at the node are stored, and all received information from other nodes in response to the transmission requests is stored. A buffer memory for storing is provided, and when a transmit message is generated, a transmit/receive DMA is activated by a driver program, and when a receive message is received, the received message is read from the buffer memory by an application program to complete the transmit/receive operation. Characteristic communication control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62290221A JPH01131945A (en) | 1987-11-17 | 1987-11-17 | Communication control equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62290221A JPH01131945A (en) | 1987-11-17 | 1987-11-17 | Communication control equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01131945A JPH01131945A (en) | 1989-05-24 |
JPH0544053B2 true JPH0544053B2 (en) | 1993-07-05 |
Family
ID=17753323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62290221A Granted JPH01131945A (en) | 1987-11-17 | 1987-11-17 | Communication control equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01131945A (en) |
-
1987
- 1987-11-17 JP JP62290221A patent/JPH01131945A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPH01131945A (en) | 1989-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6250862B2 (en) | ||
JPH08288941A (en) | Computer system and message transfer method | |
JP2004272386A (en) | Multiprocessor system | |
JPH07210519A (en) | Data transfer control method and transmission/reception controller | |
JPH0544053B2 (en) | ||
JPS5833970B2 (en) | Inter-processor communication method | |
JP2924783B2 (en) | Remote read processing method and device | |
JPH0666061B2 (en) | Multi CPU communication device | |
JP3016788B2 (en) | Device communication / cache matching processing method | |
JP3644158B2 (en) | Data transmission / reception method in parallel computer | |
JP3799741B2 (en) | Bus controller | |
JP2715815B2 (en) | Data writing method | |
JP2664208B2 (en) | Direct memory access control device and direct memory access control method | |
JPH11252150A (en) | Network connection device and network connection control method | |
JP3457084B2 (en) | Packet bus controller | |
JPS6298444A (en) | Data communication system | |
KR100290092B1 (en) | Device for interfacing input/output bus for processing defer reply signal | |
JP2853607B2 (en) | Communication system between jobs | |
JP2000244585A (en) | Bus interface circuit | |
JPH064401A (en) | Memory access circuit | |
JPH05314061A (en) | Bus interface control system | |
JP3339442B2 (en) | Communication processing system network | |
EP1459191B1 (en) | Communication bus system | |
JP2752456B2 (en) | Channel device | |
JPH03252848A (en) | Variable bus width designation/information reception system for split bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |