JPH03236654A - Data communication equipment - Google Patents

Data communication equipment

Info

Publication number
JPH03236654A
JPH03236654A JP2033252A JP3325290A JPH03236654A JP H03236654 A JPH03236654 A JP H03236654A JP 2033252 A JP2033252 A JP 2033252A JP 3325290 A JP3325290 A JP 3325290A JP H03236654 A JPH03236654 A JP H03236654A
Authority
JP
Japan
Prior art keywords
frame
queue
transmission
data
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.)
Pending
Application number
JP2033252A
Other languages
Japanese (ja)
Inventor
Shinji Tsuzuki
伸二 都築
Yasushi Kida
泰 木田
Akihiro Natsume
晃宏 夏目
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2033252A priority Critical patent/JPH03236654A/en
Publication of JPH03236654A publication Critical patent/JPH03236654A/en
Pending legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Abstract

PURPOSE:To relieve the software load by allowing a buffer memory management means to add a prescribed frame to an end of a transmission queue when a control means writes a head address of a transmission frame to a transmission register. CONSTITUTION:It is not required in the transmission to make a request of the transmission processing by the software, that is, to generate a frame chain in advance prior to address write in a transmission register R1. That is, to generate a frame chain, a value given to the transmission register R1 is written in a frame area succeeding to a head buffer of a frame pointed out by a tail pointer in a buffer memory when a transmission frame is put (PUTLOOP) to the transmission queue C, for example. Thus, the frame chain is generated sequentially and the software 11 has only to write the address of the transmission frame sequentially to the transmission register R1. Thus, the load of the software 11 at data transmission is light and the high speed data transmission is attained.

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、たとえばLAN (ローカル・エリア・ネッ
トワーク)などの通信網において、コンピュータ相互間
のデータ通信を行う場合などに実施されるデータ通信装
置およびデータ通信方法に関する。
[Detailed Description of the Invention] <Industrial Application Field> The present invention relates to a data communication device that is implemented when performing data communication between computers in a communication network such as a LAN (Local Area Network). and data communication methods.

〈従来の技術〉 たとえばデータ通信が可能なコンピュータなどでは、種
々の数値演算処理などを行う処理装置と、データ通信の
ための通信装置とが備えられている。
<Prior Art> For example, a computer capable of data communication is equipped with a processing device that performs various numerical calculations and the like, and a communication device for data communication.

通信装置には、処理装置内と通信路とのデータの流れの
速度や事象の発生時点の相違を調整するためのバッファ
メモリが備えられており、コンピュータ相互間のデータ
通信は、各コンピュータがそれぞれ有する通信装置間の
データ通信と、各コンピュータ内部における処理装置お
よび通信装置間のデータの授受とにより達成される。処
理装置と通信装置との間のデータの授受は、通信装置が
有するプロセッサにより、所定の処理プログラムに基づ
いて行われる。
The communication device is equipped with a buffer memory to adjust the speed of data flow between the processing device and the communication path and the difference in the timing of occurrence of an event, and data communication between computers is handled by each computer. This is accomplished by data communication between communication devices that have the computer, and data exchange between the processing device and the communication device within each computer. Data is exchanged between the processing device and the communication device by a processor included in the communication device based on a predetermined processing program.

前記バッファメモリとしては、FIFO(先入れ先出し
型)メモリや、リスト構造のメモリなどが用いられるが
、以下ではリスト構造のものを例にとって説明する。リ
スト構造のバッファメモリでは、バッファメモリ内の記
憶領域を所定の単位領域ずつに区分し、各区分が1つの
バッファとして用いられる。各バッファは、データが書
き込まれるデータ部と、たとえば当該バッファが記憶し
たデータに引き続くデータが記憶されたバッファを指示
するためのポインタ部とを有し、このポインタ部をたど
ることによって、系統立ったデータの読出など行うこと
ができる。
As the buffer memory, a FIFO (first-in-first-out) memory, a list-structured memory, or the like is used, and below, a list-structured memory will be explained as an example. In a list-structured buffer memory, the storage area in the buffer memory is divided into predetermined unit areas, and each division is used as one buffer. Each buffer has a data section into which data is written, and a pointer section for pointing to a buffer where data subsequent to the data stored in the buffer is stored. It is possible to read data, etc.

一般には、複数のバッファを用いてデータ通信の単位と
なる1フレームのデータが記憶され、各フレームを構成
するバッファは前記バッファのポインタ部によりつなげ
られて(チェーンされて)おり、またたとえば各フレー
ムの先頭のバッファのポインタ部に記憶したフレーム接
続情報に基゛づいて各フレーム相互間の接続が行われて
いる。
Generally, one frame of data, which is a unit of data communication, is stored using a plurality of buffers, and the buffers constituting each frame are connected (chained) by the pointer section of the buffer, and for example, each frame The frames are connected to each other based on the frame connection information stored in the pointer section of the buffer at the beginning of the frame.

この結果、バッファメモリ内では、たとえば送信すべき
データを記憶したフレームを順にっないだ待ち行列(以
下「送信待ちキュー」という)が概念的に形成されるこ
とになり、送信すべきデータを記憶したフレームはこの
送信待ちキューの末尾に順に付け加えられ(PUTされ
)でゆき、また送信待ちキューの先頭のフレームが順に
取り出され(GETされ)ながらデータの送信が行われ
ていく。データの受信に関しても同様であり、受信デー
タが書き込まれるべきフレームをチェーンした待ち行列
(以下「受信待ちキュー」という)を前記ポインタ部へ
の接続情報の書き込みにより予めバッファメモリ内で形
成しておき、この受信待ちキューの先頭のフレームを順
に取り出して(GETして)、各フレームを構成するバ
ッファのデータ部に受信データを逐次書き込むようにし
て受信が達成される。この受信待ちキューへのフレーム
の追加(PUT)は、データの書き込みが自由なバッフ
ァで構成したフレームをその末尾に付け加えるようにし
て行われる。
As a result, a queue (hereinafter referred to as a "transmission queue") is conceptually formed in the buffer memory, in which frames storing data to be transmitted are stored in order. The frames are sequentially added (PUT) to the end of the transmission waiting queue, and the frames at the head of the transmission waiting queue are sequentially taken out (GET) while data transmission is performed. The same goes for data reception; a queue (hereinafter referred to as a "reception queue") in which frames into which received data is to be written is formed in advance in the buffer memory by writing connection information to the pointer section. Reception is accomplished by sequentially taking out (GET) the frames at the head of this reception waiting queue and sequentially writing the received data into the data portion of the buffer constituting each frame. Addition (PUT) of a frame to this reception waiting queue is performed by adding a frame made up of a buffer in which data can be freely written to the end of the frame.

フレームのポインタ部(当該フレームの先頭バッファの
ポインタ部)への接続情報の書込にょる送信待ちキュー
および受信待ちキューの形成は、ソフトウェア処理によ
って実現され、各キューの形成の後にデータの送信また
は受信が行われる。
The formation of a transmission waiting queue and a reception waiting queue by writing connection information to the pointer part of a frame (the pointer part of the first buffer of the frame) is realized by software processing, and after the formation of each queue, data transmission or Reception is performed.

たとえばデータの送信が送信待ちキューの全部のフレー
ムに関して終了しないうちに、次のプレーの送信を指示
する場合には、上記送信待ちキューの末尾に当該送信を
行うべきフレームが付け加えられる。
For example, if the transmission of the next play is to be instructed before data transmission has been completed for all frames in the transmission queue, the frame to be transmitted is added to the end of the transmission queue.

この他に、同一のデータの送信を繰り返し行う場合には
、同一データを書き込んだフレームチェーン(ポインタ
部により接続された複数のフレームにより構成される。
In addition, when transmitting the same data repeatedly, a frame chain (consisting of a plurality of frames connected by a pointer section) in which the same data is written.

)を複数個作成するという無駄な処理を避けるために、
フレームのポインタ部をたどっていくと、始めのフレー
ムに戻ってしまうようなループ状のフレームチェーン(
以下「ループフレーム」という)が用いられる場合もあ
る。この場合にはソフトウェアで上記ループフレームが
作成され、その後にそのループフレームに記憶されたデ
ータが循環的に送信されることになる。
) to avoid the wasteful process of creating multiple
A loop-shaped frame chain that returns to the starting frame when you follow the frame pointer (
(hereinafter referred to as a "loop frame") may be used. In this case, the loop frame is created by software, and then the data stored in the loop frame is transmitted cyclically.

ループフレームはまた、データの受信時においても適用
することができ、データの書換えが自由なバッファで構
成したフレームを予めループ状につないでループフレー
ムを作成しておき、このループフレームに受信データを
順に書き込むようにすれば、有限のバッファにより見掛
は上無限の容量を有する受信用バッファを構成すること
ができる。
Loop frames can also be applied when receiving data; a loop frame is created by connecting frames made up of buffers in which data can be freely rewritten in a loop shape, and received data is transferred to this loop frame. By sequentially writing data, a receiving buffer with an apparently infinite capacity can be constructed using a finite buffer.

〈発明が解決しようとする課題〉 上記の従来技術では、ソフトウェアによりフレームのチ
ェーンを作成した後にデータの送信または受信が行われ
るので、前記チェーンの作成のために比較的長い時間を
要し、このためデータ通信全体に要する時間が長くなる
という問題がある。
<Problems to be Solved by the Invention> In the above-mentioned conventional technology, data is transmitted or received after a chain of frames is created by software, so it takes a relatively long time to create the chain. Therefore, there is a problem that the time required for the entire data communication becomes longer.

しかも、データ送信時に、送信待ちキューの末尾に新た
なフレームを付け加える処理が可能であるためには、送
信待ちキューの末尾のフレームをソフトウェアで認識す
る必要があるので、ソフトウェアでは送信待ちキューの
末尾のフレームのアドレス(たとえば当該フレームの先
頭バッファの先頭アドレス)などを記憶しておく必要が
ある。
Moreover, in order to be able to add a new frame to the end of the transmission queue when transmitting data, the software must recognize the frame at the end of the transmission queue. It is necessary to store the address of the frame (for example, the start address of the start buffer of the frame).

さらには、たとえば送信後に当該送信処理が確実に行わ
れたかどうかを確認する処理を行う場合などには、各バ
ッファのデータの情報の送信処理の完了とともに、各バ
ッファに設けた所定のデータ領域に、送信が確実に行わ
れたかどうかを示す情報が書き込まれるが、この場合に
送信処理が確実に行われたことの確認が可能であるため
は、その確認が必要なフレームチェーンの先頭と末尾の
フレームが認識される必要があり、このためソフトウェ
アではこれらのフレームのアドレスを送信処理前に予め
記憶しておく必要がある。
Furthermore, when performing processing to confirm whether the transmission processing was reliably performed after transmission, for example, when the transmission processing of the data information of each buffer is completed, the predetermined data area provided in each buffer is , information indicating whether the transmission was reliably performed is written, but in order to confirm that the transmission process was reliably performed in this case, it is necessary to write the information at the beginning and end of the frame chain that requires confirmation. The frames need to be recognized, so the software needs to pre-memorize the addresses of these frames before transmitting them.

また、送信後のデータに関して上記のような確認処理を
行うためには、ソフトウェアでは送信が終了したことを
知る必要があり、このため送信処理の進行状況をソフト
ウェアで管理する必要がある。この進行状況の管理が行
われなければ、たとえばフレームチェーンの先頭と末尾
のフレームの記憶をどの時点で消去すればよいかを判断
することができないという不具合も生じる。すなわち、
この場合には結局フレームチェーンの先頭と末尾のフレ
ームを終始記憶しておく必要があるが、この結果、送受
信の度に記憶すべきフレームが増加するので、メモリ効
率が極めて悪くなり実用性に劣ることになる。
Furthermore, in order to perform the above-described confirmation process regarding the data after transmission, the software needs to know that the transmission has ended, and therefore the software needs to manage the progress of the transmission process. If this progress status is not managed, a problem arises in that, for example, it is not possible to determine at what point the memory of the first and last frames of the frame chain should be erased. That is,
In this case, it is necessary to store the first and last frames of the frame chain from beginning to end, but as a result, the number of frames that must be stored increases each time it is sent and received, making memory efficiency extremely poor and impractical. It turns out.

さらに、上記のループフレームを用いた送受信を行う場
合において、送受信を中止するときには、ソフトウェア
においてループフレームのチェーン情報の書換え(ポイ
ンタ部の書換え)が必要となる。
Furthermore, when transmitting and receiving using the loop frame described above, it is necessary to rewrite the chain information (rewrite the pointer part) of the loop frame in software when canceling the transmission and reception.

このように、上記の従来技術では、ソフトウェアの負担
が極めて大きく、このためデータ通信の高速化が妨げら
れていた。
As described above, in the above-mentioned conventional technology, the burden on the software is extremely heavy, which prevents high-speed data communication.

そこで、本発明は、上述の技術的課題を解決し、ソフト
ウェアの負担を軽減して、高速なデータ通信を可能とし
たデータ通信装置を提供することを目的とする。
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a data communication device that solves the above-mentioned technical problems, reduces the burden on software, and enables high-speed data communication.

く課題を解決するための手段および作用〉上記の目的を
達成するための請求項1記載のデータ通信装置は、処理
装置での処理データを、リスト構造のバッファメモリを
用いて、1または複数のバッファに格納した所定のフレ
ーム毎に送受信し、前記処理装置とバッファメモリとの
間のデータの授受を所定の処理プログラムに基づいて動
作する制御手段によって行わせるようにしたデータ通信
装置において、 前記バッファメモリを管理し、このバッファメモリ内で
、送信すべきフレームをそのポインタ部により順につな
いだ送信待ちキューと受信データを格納させるべきフレ
ームをそのポインタ部により順につないだ受信待ちキュ
ーとデータ受信後のフレームをそのポインタ部により順
につないだ受信済キューとを形成させるとともに、各キ
ューの先頭のフレームを指示するヘッドポインタと各キ
ューの末尾のフレームを指示するテイルポインタとを各
キュー毎に有するバッファメモリ管理手段と、 前記制御手段から送信フレームを示すアドレスが書き込
まれ、この送信フレームを前記送信待ちキューの末尾に
付lす加えるための送信用レジスタと、 前記受信済キューに対応した前記ヘッドポインタの指示
値が保持され、受信後のフレームを前記制御手段に与え
るための受信用レジスタとを設け、前記バッファメモリ
管理手段は、データ送信に当たって前記送信用レジスタ
に送信フレームを示すアドレスが書き込まれると、これ
に応答して前記送信フレームを前記送信待ちキューの末
尾に付け加え、データ受信時には、前記受信待ちキュー
の先頭のフレームを取り出して受信データを書き込み、
このデータ書込後のフレームを前記受信済キューの末尾
に付け加えるとともに、前記制御手段による前記受信用
レジスタの保持値の読出に応答して前記受信済キューの
先頭のフレームを取り出して前記制御手段に与え、 さらに、前記バッファメモリ管理手段は、各キューの先
頭のフレームの取り出しに当たっては、各キューのヘッ
ドポインタが指示するフレームのポインタ部が指示する
フレームのアドレスにそのヘッドポインタの指示値を更
新させ、各キューの末尾にフレームを付け加える際には
、各キューのティルボインタが指示するフレームのポイ
ンタ部に、付け加えようとするフレームのアドレスを書
き込むとともに、当該アドレスにそのテイルポインタの
指示値を更新させるようにしたものである。
Means and Effects for Solving the Problems> A data communication device according to claim 1 for achieving the above object stores processing data in a processing device in one or more buffer memories having a list structure. A data communication device configured to send and receive data for each predetermined frame stored in a buffer, and to cause data transfer between the processing device and the buffer memory to be performed by a control means operating based on a predetermined processing program, comprising: It manages the memory, and within this buffer memory, there is a transmission waiting queue in which frames to be transmitted are connected in order by their pointer sections, a reception waiting queue in which frames to be stored received data are connected in order by their pointer sections, and after data reception. A buffer memory that forms a received queue in which frames are connected in order by their pointer sections, and has a head pointer that points to the first frame of each queue and a tail pointer that points to the last frame of each queue for each queue. management means; a transmission register into which an address indicating a transmission frame is written from the control means and for adding this transmission frame to the end of the transmission waiting queue; and a transmission register for adding the transmission frame to the end of the transmission waiting queue; A reception register is provided for holding an instruction value and for providing the received frame to the control means, and the buffer memory management means, when an address indicating a transmission frame is written in the transmission register at the time of data transmission, In response to this, the transmission frame is added to the end of the transmission waiting queue, and when data is received, the frame at the head of the reception waiting queue is taken out and the received data is written;
The frame after this data has been written is added to the end of the received queue, and in response to reading of the value held in the reception register by the control means, the first frame of the received queue is taken out and sent to the control means. Furthermore, when fetching the first frame of each queue, the buffer memory management means updates the indicated value of the head pointer to the address of the frame indicated by the pointer section of the frame indicated by the head pointer of each queue. When adding a frame to the end of each queue, the address of the frame to be added is written in the pointer section of the frame pointed to by the till pointer of each queue, and the value indicated by the tail pointer is updated at that address. This is what I did.

このような構成によれば、データの送信に当たり、送信
フレームの先頭アドレスを制御手段が送信用レジスタに
書き込むと、これに応答してバッファメモリ管理手段が
送信待ちキューの末尾に与えられたフレームを付け加え
ていく。これにより、制御手段が送信用レジスタにフレ
ームのアドレスを書き込んでいくと、フレームが順次チ
ェーンされていくことになり、この結果、ソフトウェア
処理によって予めフレームをチェーンさせる必要がない
。これにより、制御手段および処理プログラムにより形
成されるソフトウェアの負担が軽減される。また、デー
タの受信に当たっては、バッファメモリ管理手段が受信
待ちキューの先頭のフレームを取り出してこのフレーム
に受信データを書き込み、データ書込後のフレームを受
信済キューの末尾に付け加えるので、データの受信時に
もソフトウェアによるキューの管理は不必要である。
According to such a configuration, when transmitting data, when the control means writes the start address of the transmission frame to the transmission register, in response, the buffer memory management means writes the frame given to the end of the transmission waiting queue. I'll keep adding. As a result, when the control means writes the addresses of frames in the transmission register, the frames are sequentially chained, and as a result, there is no need to chain frames in advance by software processing. This reduces the burden on the software formed by the control means and the processing program. In addition, when receiving data, the buffer memory management means extracts the first frame of the reception waiting queue, writes the received data to this frame, and adds the frame after writing the data to the end of the received queue. Sometimes software queue management is unnecessary.

なお、前記受信済キューの先頭のフレームのアドレスは
受信用レジスタに書き込まれ、制御手段がこの受信用レ
ジスタの保持値を読み出すと、バッファメモリ管理手段
は前記先頭のフレームを制御手段に与え、このようにし
て制御手段では受信データを容易に得ることができる。
Note that the address of the first frame of the received queue is written in the reception register, and when the control means reads the value held in this reception register, the buffer memory management means gives the first frame to the control means, and the buffer memory management means gives the first frame to the control means. In this way, the control means can easily obtain the received data.

また、前述の各キューは、バッファメモリ管理手段にお
いて各キュー毎に設けたヘッドポインタおよびテイルポ
インタにより管理される。すなわちたとえば送信待ちキ
ューが空の状態から、制御手段が送信用レジスタに送信
フレームのアドレスを書き込むと、このアドレスが送信
待ちキューに対応したヘッドポインタおよびテイルポイ
ンタに書き込まれ、さらに次のフレームのアドレスが前
記送信用レジスタに書き込まれると、このアドレスが前
記テイルポインタの指示フレームのポインタ部に書き込
まれるとともに、当該アドレスに前記テイルポインタの
指示値が更新されることにより、キューの末尾にフレー
ムが付け加えられる。
Further, each of the aforementioned queues is managed by a head pointer and a tail pointer provided for each queue in the buffer memory management means. That is, for example, when the control means writes the address of a transmission frame to the transmission register when the transmission waiting queue is empty, this address is written to the head pointer and tail pointer corresponding to the transmission waiting queue, and then the address of the next frame is written. When is written to the transmission register, this address is written to the pointer section of the instruction frame of the tail pointer, and the instruction value of the tail pointer is updated to the address, thereby adding a frame to the end of the queue. It will be done.

また、たとえば送信待ちキューの先頭のフレームをバッ
ファメモリ管理手段が取り出すときには、このバッファ
メモリ管理手段は、当該ヘッドポインタが指示するフレ
ームのポインタ部が指示するフレームのアドレスに前記
ヘッドポインタの指示値を更新し、このようにしてキュ
ーの先頭のフレームを当該キューから解放させる。この
ようにして、バッファメモリ管理手段は、ヘッドポイン
タおよびテイルポインタによって各キューの先頭および
末尾のフレームを管理するとともに、各フレームのポイ
ンタ部を書き換えることにより、各キューにフレームを
付け加えたり、各キューからフレームを取り出したりす
る動作を実現している。
Further, for example, when the buffer memory management means retrieves the first frame of the transmission waiting queue, the buffer memory management means writes the indicated value of the head pointer to the address of the frame indicated by the pointer section of the frame indicated by the head pointer. The frame at the head of the queue is thus released from the queue. In this way, the buffer memory management means manages the first and last frames of each queue using the head pointer and tail pointer, and by rewriting the pointer part of each frame, the buffer memory management means can add frames to each queue, and add frames to each queue. It realizes operations such as extracting frames from.

また、請求項2記載のデータ通信装置は、フレームを前
記制御手段によりループ状につないで、このループ状の
フレームを用いてデータの送信を行い、データの送信に
当たっては、前記制御手段はループを形成するいずれか
のフレームのアドレスを送信用レジスタに書き込み、前
記バッファメモリ管理手段は送信待ちキューのヘッドポ
インタおよびテイルポインタに同一の指示値をセットし
て、両ポインタの指示値を同時に更新させるとともに、 前記ループ状のフレームによる送信を中止する中止命令
のためのコマンドレジスタを設け、このコマンドレジス
タに前記制御手段からの中止命令が与えられると、前記
バッファメモリ管理手段は、前記送信待ちキューのテイ
ルポインタの更新を停止して、そのヘッドポインタのみ
を更新させることにより、前記ループを解除するように
したものである。
Further, in the data communication device according to claim 2, frames are connected in a loop by the control means, and data is transmitted using this loop-like frame, and when transmitting data, the control means connects the frames in a loop. Writing the address of one of the frames to be formed into the transmission register, the buffer memory management means sets the same instruction value to the head pointer and tail pointer of the transmission waiting queue, and simultaneously updates the instruction values of both pointers. , a command register is provided for a stop command to stop transmission using the looped frame, and when a stop command from the control means is given to the command register, the buffer memory management means stores the tail of the transmission waiting queue. The loop is released by stopping the update of the pointer and updating only the head pointer.

さらに請求項3記載のデータ通信装置は、フレームを前
記制御手段によりループ状につないで、このループ状の
フレームを用いてデータの受信を行い、データの受信に
当たっては、前記制御手段はループを形成するいずれか
のフレームのアドレスを受信用レジスタに書き込み、前
記バッファメモリ管理手段は受信待ちキューのヘッドポ
インタおよびテイルポインタに同一の指示値をセットし
て、両ポインタの指示値を同時に更新させるとともに、 前記ループ状のフレ、−ムによる受信を中止する中止命
令のためのコマンドレジスタを設け、このコマンドレジ
スタに前記制御手段からの中止命令が与えられると、前
記バッファメモリ管理手段は、前記受信待ちキューのテ
ィルボインタの更新を停止して、そのヘッドポインタの
みを更新させることにより、前記ループを解除するよう
にしたものである。
Further, in the data communication device according to claim 3, the control means connects frames in a loop, and receives data using the loop-shaped frame, and when receiving data, the control means forms a loop. writes the address of one of the frames to be sent to the reception register, the buffer memory management means sets the same instruction value to the head pointer and tail pointer of the reception waiting queue, and simultaneously updates the instruction values of both pointers; A command register is provided for an abort instruction to abort reception by the loop frame, and when a abort instruction is given to the command register from the control means, the buffer memory management means reads the reception queue. The loop is released by stopping updating of the til pointer and updating only the head pointer.

上記のような請求項2または3記載の構成によれば、ル
ープ状につないだフレームにより同一のデータを繰り返
して送信したり、また見掛は上無限の受信バッファを形
成させたりすることができる。そして、ループの解除は
、制御手段からコマンドレジスタに中止命令を与え、こ
れに応答してバッファメモリ管理手段が送信待ちキュー
または受信待ちキューのティルボインタの指示値の更新
を停止して、ヘッドポインタの指示値のみを更新させる
ようにして、ヘッドポインタが指示するフレームを順次
解放していくことによって行われ、これによりソフトウ
ェアによるフレームのポインタ部の書換えを必要とする
ことなくループの解除が実現されることになる。
According to the configuration described in claim 2 or 3, it is possible to repeatedly transmit the same data using frames connected in a loop, and to form an apparently infinite receiving buffer. . To release the loop, the control means gives a stop command to the command register, and in response, the buffer memory management means stops updating the indicated value of the til pointer of the transmission waiting queue or the reception waiting queue, and changes the head pointer. This is done by updating only the indicated value and sequentially releasing the frames indicated by the head pointer. This allows the loop to be released without the need for software to rewrite the frame pointer section. It turns out.

請求項4記載のデータ通信装置は、前記バッファメモリ
内のバッファに、制御手段により設定されデータ送信後
に制御手段における処理が必要か否かを示す第1のバッ
ファ管理フラグと、バッファメモリ管理手段または制御
手段により設定されいずれかによる処理が終了した場合
に当該バッファを受信のために用いるかまたは制御手段
での用途に用いるかを示す第2のバッファ管理フラグと
を記憶させ、 前記バッファメモリ管理手段は、前記バッファメモリ内
で、送信後のフレームのうち制御手段による処理が必要
なフレームをつないだ送信済キューと、バッファメモリ
管理手段または制御手段での処理が終了したフレームを
順につないだ解放待チキューと、制御手段での用途に供
されるフレームをつないだフリーキューとを形成させる
とともに、送信処理後のフレームを前記第1のバッファ
管理フラグに従って前記送信済キューまたは解放待ちキ
ューの末尾に付け加え、解放待ちキューからのフレーム
をバッファ毎に分解して前記第2のバッファ管理フラグ
に従って前記受信待ちキューまたはフリーキューの末尾
に付け加えるようにしたものである。この場合に、各キ
ューの管理は、各キューの先頭および末尾のフレームを
それぞれ指示するヘッドポインタおよびテイルポインタ
をバッファメモリ管理手段に設けるようにして前述と同
様にすればよい。また、上記の各キューにそれぞれ対応
したレジスタを設けておけば、制御手段とバッファメモ
リ管理手段との間のフレームの授受は前述と同様にして
達成される。
The data communication device according to claim 4 is characterized in that the buffer in the buffer memory includes a first buffer management flag that is set by the control means and indicates whether or not processing by the control means is required after data transmission, and a buffer memory management means or and a second buffer management flag that is set by the control means and indicates whether the buffer is used for reception or for use by the control means when processing by either ends, and the buffer memory management means In the buffer memory, a transmitted queue which connects the frames that need to be processed by the control means among the frames after transmission, and a release queue which connects in order the frames that have been processed by the buffer memory management means or the control means. A free queue is formed by connecting a queue and a frame used by the control means, and the frame after transmission processing is added to the end of the transmitted queue or the queue waiting to be released according to the first buffer management flag. , frames from the release waiting queue are broken down into buffers and added to the end of the reception waiting queue or free queue according to the second buffer management flag. In this case, each queue may be managed in the same manner as described above by providing the buffer memory management means with a head pointer and a tail pointer that indicate the first and last frames of each queue, respectively. Further, by providing registers corresponding to each of the above-mentioned queues, frame transfer between the control means and the buffer memory management means can be achieved in the same manner as described above.

この構成によれば、送信後のフレームを再度ソフトウェ
ア側に移して、当該フレームのデータに対する処理を行
う必要がある場合に、前記バッファメモリ管理手段の管
理のもとに、バッファメモリ内に送信後のフレームをつ
ないだ送信済キューを形成させることにより、ソフトウ
ェアよるバッファメモリの管理を伴うことなく送信後の
フレームをソフトウェアに与えることができる。
According to this configuration, when it is necessary to transfer the transmitted frame to the software side again and process the data of the frame, the transmitted frame is stored in the buffer memory under the management of the buffer memory management means. By forming a transmitted queue in which frames are connected, the transmitted frame can be given to software without management of buffer memory by software.

また、この構成では、バッファメモリ内のバッファの管
理をすべてバッファメモリ管理手段で行わせるようにし
ているので、ソフトウェアの負担軽減に一層有利である
Furthermore, with this configuration, all buffers in the buffer memory are managed by the buffer memory management means, which is more advantageous in reducing the burden on software.

なお、前記受信用レジスタに受信済キューの先頭のフレ
ームのアドレスが保持されたり、前記送信済キューに対
応したレジスタ(以下「送信済レジスタ」という)に送
信済キューの先頭のフレームのアドレスが保持されたり
した場合に、バッファメモリ管理手段から前記制御手段
に対して割込を発生するようにすれば、制御手段では受
信用レジスタや送信済レジスタの監視を行う必要がない
Note that the address of the first frame of the received queue is held in the reception register, and the address of the first frame of the sent queue is held in the register corresponding to the sent queue (hereinafter referred to as "sent register"). If the buffer memory management means generates an interrupt to the control means when the data is sent, the control means does not need to monitor the receiving register or the transmitted register.

〈実施例〉 以下実施例を示す添付図面によって詳細に説明する。<Example> Embodiments will be described in detail below with reference to the accompanying drawings showing examples.

第2図は本発明の一実施例のデータ通信装置lを有する
コンピュータの基本的な構成を示すブロック図である。
FIG. 2 is a block diagram showing the basic configuration of a computer having a data communication device 1 according to an embodiment of the present invention.

このコンピュータは大略的に、各種の演算などのデータ
処理を行うための処理装置2と、この処理装置2で処理
されたデータを送信したり、または光ファイバなどで接
続した他のコンピュータ(図示せず)からのデータを受
信したりするための通信装置1とを含んで構成され、処
理装置2からの送信データおよび他のコンピュータなど
からの受信データは通信装置1が有するリスト構造のバ
ッファメモリ3に一時的に格納される。
This computer roughly consists of a processing device 2 that performs data processing such as various calculations, and another computer (not shown in the figure) that transmits the data processed by this processing device 2 or is connected to it via an optical fiber or the like. The communication device 1 is configured to include a communication device 1 for receiving data from a computer, etc., and data sent from the processing device 2 and data received from other computers are stored in a list-structured buffer memory 3 of the communication device 1. temporarily stored in .

処理装置2は、中央処理装置4と、この中央処理装置4
のワークエリアなどとして用いられるメモリ5とを備え
、これらはパスライン6に接続されている。通信装置1
は、処理装置2とバッファメモリ3との間のデータの授
受を制御するための制御部7と、この制御部7の動作を
規定する処理プログラムを記憶したメモリ8と、バッフ
ァメモリ3を管理するバッファメモリ管理部9とを有し
ており、バッファメモリ3、制御部7およびバッファメ
モリ管理部9はパスライン6に接続されている。
The processing device 2 includes a central processing device 4 and a central processing device 4.
and a memory 5 used as a work area, etc., and these are connected to a pass line 6. Communication device 1
, a control unit 7 for controlling the exchange of data between the processing device 2 and the buffer memory 3, a memory 8 storing a processing program that defines the operation of the control unit 7, and managing the buffer memory 3. The buffer memory 3 , the control unit 7 and the buffer memory management unit 9 are connected to the path line 6 .

第1図は通信装置1の構成を機能的に示す説明図である
。バッファメモリ3の記憶領域は、所定の領域毎に区分
されており、各区分がバッファとして用いられるが、こ
のバッファメモリ3が有する複数のバッファは、バッフ
ァメモリ管理部9の管理のもとに、各種のキューに分類
される。送信/受信は1または複数のバッファに記憶さ
れた1フレームのデータを単位として行われるので、各
キューはフレームをチェーンして形成されている。
FIG. 1 is an explanatory diagram functionally showing the configuration of the communication device 1. As shown in FIG. The storage area of the buffer memory 3 is divided into predetermined areas, and each division is used as a buffer. The plurality of buffers included in the buffer memory 3 are managed by a buffer memory management section 9. Classified into various types of queues. Since transmission/reception is performed in units of one frame of data stored in one or more buffers, each queue is formed by chaining frames.

バッファメモリ3と、制御部7およびメモリ8内の処理
プログラムにより形成されるソフトウェア11との間の
命令の授受は、バッファメモリ管理部9に設けられ複数
のレジスタR1〜R4,R6で構成した入出力ポート1
2を介して行われる。
Instructions are exchanged between the buffer memory 3 and the software 11 formed by the control unit 7 and the processing program in the memory 8 through inputs provided in the buffer memory management unit 9 and composed of a plurality of registers R1 to R4 and R6. Output port 1
2.

バッファメモリ3内には、ソフトウェア11により処理
された後の送信すべきデータを記憶したフレームをチェ
ーンして形成した送信待ちキュー01と、バッファメモ
リ管理部9の制御によって送信が行われたフレームのう
ち、たとえば送信が確実に行われたかどうかを確認する
処理などのソフトウェア11による後処理が必要なフレ
ームをチェーンした送信済キューC2と、送信が終了し
たフレームのうちソフトウェア11による後処理の必要
のないフレームなどをチェーンして形成した解放待ちキ
ューC3と、この解放待ちキューC3を形成するフレー
ムがバッファ毎に分解されて1バツフアで構成したフレ
ームとされた後、そのデータのソフトウェア11による
書換えが自由なフレームをチェーンして形成したフリー
キューC4と、前記解放待ちキューC3からの分解され
たフレームのうちデータの受信のために用いられるフレ
ームをチェーンして形成した受信待ちキューC5と、こ
の受信待ちキュー05から取り出されバッファメモリ管
理部9により受信データが書き込まれたフレームをチェ
ーンして形成した受信済キューC6とが形成される。バ
ッファメモリ管理部9には、第2図に示すように各キュ
ーC1〜C6の先頭のフレームの先頭バッファの先頭ア
ドレスを記憶したヘッドポインタH1〜H6および各キ
ューの末尾のフレームの先頭バッファの先頭アドレスを
記憶したテイルポインタT1〜T6が設けられている。
Inside the buffer memory 3, there is a transmission waiting queue 01 formed by chaining frames storing data to be transmitted after being processed by the software 11, and a queue 01 for transmitting frames stored under the control of the buffer memory management unit 9. Among these, there is a sent queue C2 in which frames that require post-processing by the software 11, such as processing to confirm whether the transmission has been reliably performed, are chained together, and a queue C2 that stores frames that require post-processing by the software 11 among frames that have been transmitted. After the release waiting queue C3 is formed by chaining unused frames, etc., and the frames forming this release waiting queue C3 are decomposed into buffers and made into a frame composed of one buffer, the data is rewritten by the software 11. A free queue C4 formed by chaining free frames; a reception waiting queue C5 formed by chaining frames used for data reception among the disassembled frames from the release waiting queue C3; A received queue C6 is formed by chaining frames taken out from the waiting queue 05 and into which received data is written by the buffer memory management unit 9. As shown in FIG. 2, the buffer memory management unit 9 includes head pointers H1 to H6 that store the starting addresses of the starting buffers of the starting frames of each queue C1 to C6, and head pointers H1 to H6 that store the starting addresses of the starting buffers of the ending frames of each queue. Tail pointers T1 to T6 storing addresses are provided.

第3図はバッファメモリ3を構成するバッファ30のデ
ータ構成を示す説明図である。バッファ30は、当該バ
ッファの属性および接続情報などを記憶するディスクリ
ブタ部31と、データの記憶ためのデータ部32とによ
り構成されている。
FIG. 3 is an explanatory diagram showing the data structure of the buffer 30 constituting the buffer memory 3. As shown in FIG. The buffer 30 is composed of a disc libter section 31 for storing attributes and connection information of the buffer, and a data section 32 for storing data.

ディスクリブタ部31には、ポインタ部である次バッフ
ァ領域33および次フレーム領域34が設けられており
、次バッファ領域33には当該バッファ30に記憶した
データに引き続くデータを記憶したバッファの先頭アド
レスNBが記憶され、次フレーム領域34には当該バッ
ファ31を含むフレームの次のフレームの先頭バッファ
の先頭アドレスNFが記憶される。各アドレスはたとえ
ば32ビツトの情報で表される。ディスクリブタ部31
にはこの他に、当該バッファが解放待ちキューC3を形
成した場合にこのバッファをフリーキューC4または受
信待ちキューC5のどちらに与えるかの決定、および当
該バッファが送信待ちキュー01を形成した場合に、送
信後に当該バッファを送信済キューC2または解放待ち
キューC3のどちらに与えるかの決定のためのバッファ
管理フラグMFを記憶したバッファ管理領域35(たと
えば8ビツト)と、当該バッファ30のデータ部32の
データの送信が完了したか否かを表す送信フラグTFを
記憶した送信フラグ記憶領域36と、データ部32への
受信データの書込が完了したか否かを示す受信フラグR
Fを記憶した受信フラグ記憶領域37とを有している。
The disc libter section 31 is provided with a next buffer area 33 and a next frame area 34 which are pointer sections, and the next buffer area 33 stores the starting address NB of the buffer storing data subsequent to the data stored in the buffer 30. is stored, and the start address NF of the start buffer of the frame next to the frame including the buffer 31 is stored in the next frame area 34. Each address is represented by, for example, 32 bits of information. Disk rib portion 31
In addition to this, when the buffer forms the release waiting queue C3, it is determined whether to give this buffer to the free queue C4 or the receiving queue C5, and when the relevant buffer forms the sending queue 01, , a buffer management area 35 (for example, 8 bits) that stores a buffer management flag MF for determining whether to give the buffer to the sent queue C2 or the release waiting queue C3 after transmission, and the data section 32 of the buffer 30. a transmission flag storage area 36 that stores a transmission flag TF indicating whether transmission of data has been completed; and a reception flag R indicating whether writing of received data to the data section 32 has been completed.
It also has a reception flag storage area 37 in which F is stored.

第4図は前記バッファ管理領域35の記憶態様の一例を
示す図である。この領域35にはたとえば8ビツトが割
り当てられ、その下位2ビットdl、d2にバッファ管
理フラグMFが記憶される。
FIG. 4 is a diagram showing an example of the storage format of the buffer management area 35. For example, 8 bits are allocated to this area 35, and a buffer management flag MF is stored in the lower two bits dl and d2.

たとえば第2ビツトd2が「0」のときは、解放待ちキ
ューC3にチェーンされた当該バッファはフリーキュー
C4の末尾に付け加えられ、また第2ビツトd2が「1
」であれば受信待ちキュー05の末尾の付け加えられる
。一方、最下位ビットd1が「0」のときは、当該バッ
ファのデータ部32のデータの送信完了の後に、当該バ
ッファは送信済キューの末尾に付け加えられ、「1」の
ときには送信後に当該バッファは解放待ちキュー03の
末尾にチェーンされる。このように、ビットdi、d2
はそれぞれ第1のバッファ管理フラグ、第2のバッファ
管理フラグとして機能する。
For example, when the second bit d2 is "0", the buffer chained to the release waiting queue C3 is added to the end of the free queue C4, and the second bit d2 is "1".
”, it is added to the end of the reception waiting queue 05. On the other hand, when the least significant bit d1 is "0", the buffer is added to the end of the transmitted queue after the data in the data section 32 of the buffer has been transmitted, and when it is "1", the buffer is added to the end of the transmitted queue after transmission. It is chained to the end of release waiting queue 03. In this way, bits di, d2
function as a first buffer management flag and a second buffer management flag, respectively.

第5図はたとえば送信待ちキューC1の構成を概念的に
示す図である。たとえば各フレームF1〜Fnは、それ
ぞれ複数のバッファBtt”” Bit’B−B、B−
B  を含んで構成されており、21  2j   n
l   nk 各フレームF1〜Fnをそれぞれ構成する複数のバッフ
ァは各バッファの次バッファ領域33に当該バッファの
データ部32に記憶したデータに引き続くデータを記憶
したバッファの先頭アドレスNB、NB、・・・、NB
、NB、・・・、 NB11   12     21
   22NB   ・・・を記憶するようにして相互
にチエnl’   nk’ 一ンされている。すなわちたとえば、フレームF1にお
いて、バッファB11の次バッファ領域33には次のバ
ッファB の先頭アドレスN B iiが記2 憶されている。各フレームの末尾のバッファBli’B
 、・・・、Bnkの次バッファ領域33にはたとえj ばデータr 0OOOOOOOJが記憶され、当該フレ
ームにおいてそのバッファに引き続くバッファが存在し
ないことを示している。
FIG. 5 is a diagram conceptually showing, for example, the configuration of the transmission waiting queue C1. For example, each frame F1 to Fn has a plurality of buffers Btt""Bit'B-B, B-
It is composed of 21 2j n
lnk The plurality of buffers constituting each frame F1 to Fn are stored in the next buffer area 33 of each buffer at the start address NB, NB, . , N.B.
, NB,..., NB11 12 21
22NB... are mutually linked so that nl'nk' is stored. That is, for example, in frame F1, the start address N B ii of the next buffer B is stored in the next buffer area 33 of the buffer B11. buffer Bli'B at the end of each frame
, . . . For example, data r0OOOOOOJ is stored in the next buffer area 33 of Bnk, indicating that there is no buffer following that buffer in the frame.

そして各フレームF1〜Fnの先頭のバッファB  、
B  、・・・”’nlの各次フレーム領域34に11
    21 は当該フレームの次に送信を行うべきデータを記憶した
フレームの先頭のバッファの先頭アドレスNF、NF、
・・・が記憶されている。モして当2 該キューC1の末尾のフレームFnの先頭のバッファB
nlの次フレーム領域34にはたとえばデータr 0O
OOOOOOJが記憶されており、このフレームFnに
引き続くフレームが存在しないことを示している。また
各フレームF1〜Fnにおいて先頭のバッファ以外のバ
ッファの次フレーム領域34には、何らのデータも記憶
されていない(第5図中では記号r XXXXXXXX
J テ示す。)。
And buffer B at the beginning of each frame F1 to Fn,
11 in each next frame area 34 of B,...'nl
21 is the start address NF, NF,
...is remembered. 2 Buffer B at the beginning of the last frame Fn of the queue C1
For example, data r0O is stored in the next frame area 34 of nl.
OOOOOOJ is stored, indicating that there is no frame following this frame Fn. Further, in each frame F1 to Fn, no data is stored in the next frame area 34 of the buffer other than the first buffer (symbol r XXXXXXXXX in FIG. 5).
J Show. ).

キューC1〜C6は、新たなフレームを各キューの末尾
のフレームにチェーンさせることによって順次形成され
る。キューC1〜C6へのフレ−ムのPUT(当該キュ
ーの末尾にフレームを付け加えること)は、バッファメ
モリ管理部9がソフトウェア11からの送信依頼などを
受けた場合、ソフトウェア11からバッファメモリ管理
部9′へのフレームの解放があった場合、および成るキ
ューのフレームを他のキューにつなぎ換える場合などに
、バッファメモリ管理部9において行われる。
Queues C1-C6 are formed sequentially by chaining new frames to the last frame of each queue. When the buffer memory management unit 9 receives a transmission request from the software 11, PUT of a frame to the queues C1 to C6 (adding a frame to the end of the queue) is performed from the software 11 to the buffer memory management unit 9. This is done in the buffer memory management unit 9 when a frame is released to ', or when a frame in a queue is transferred to another queue.

たとえば送信待ちキューC1にソフトウェア11から送
信すべきデータを記憶したフレームをPUTする場合に
は、この送信待ちキューC1に対応したテイルポインタ
T1が指示するフレームの先頭バッファの次フレーム領
域34に、PUTされるフレームの先頭バッファの先頭
アドレスが書き込まれ、これに伴ってテイルポインタT
1の指示値が当該先頭アドレスの値に更新される。
For example, when a frame storing data to be transmitted from the software 11 is stored in the transmission waiting queue C1 is to be put, the PUT is sent to the next frame area 34 of the head buffer of the frame indicated by the tail pointer T1 corresponding to the transmission waiting queue C1. The start address of the start buffer of the frame to be displayed is written, and the tail pointer T is accordingly written.
The instruction value of 1 is updated to the value of the start address.

キューC1〜C6からのフレームのGET (当該キュ
ーの先頭のフレームを取り出すこと)は、当該フレーム
に対して送信、受信およびソフトウェア11での処理を
行う場合、ならびに成るキューのフレームを他のキュー
につなぎ換える場合などにバッファメモリ管理部9によ
って行われる。
GET of frames from queues C1 to C6 (retrieving the first frame of the queue) is used when transmitting, receiving, and processing the frame in the software 11, and when transferring frames from the queue to other queues. This is performed by the buffer memory management unit 9 when changing connections.

たとえば送信待ちキューC1のフレームをGETする場
合には、送信待ちキューC1に対応したヘッドポインタ
H1が指示するフレームが取り出されるとともに、当該
ヘッドポインタH1の指示値がこのヘッドポインタH1
が指示するフレームの先頭バッファの次フレーム領域3
4に記憶されたアドレス値に更新される。他のキュー0
2〜C6からフレームがGETされる場合の動作も同様
であり、このような動作によって各キューの先頭のフレ
ームを各キューから解放させることができる。
For example, when getting a frame from the transmission queue C1, the frame indicated by the head pointer H1 corresponding to the transmission queue C1 is retrieved, and the indicated value of the head pointer H1 is set to the head pointer H1.
Next frame area 3 of the first buffer of the frame indicated by
The address value is updated to the address value stored in 4. 0 other queues
The operation when frames are GET from 2 to C6 is similar, and by such an operation, the frame at the head of each queue can be released from each queue.

バッファメモリ管理部9に設けた入出力ボート12を構
成するレジスタには、ソフトウェア11とバッファメモ
リ管理部9との間で授受されるフレームの先頭バッファ
の先頭アドレスが書き込まれる。すなわち、送信待ちキ
ューC1に対応した送信用レジスタR1はソフトウェア
11からの送信フレームを送信待ちキューC1にPUT
するためのものであるが、この送信用レジスタR1に送
信フレームの先頭バッファの先頭アドレスをソフトウェ
ア11(制御部7)から書き込むと、これに応答してバ
ッファメモリ管理部9は当該フレームを前述のようにし
てキュー01にPUTする。
The starting address of the starting buffer of the frame exchanged between the software 11 and the buffer memory managing section 9 is written in a register constituting the input/output boat 12 provided in the buffer memory managing section 9 . That is, the transmission register R1 corresponding to the transmission waiting queue C1 puts the transmission frame from the software 11 into the transmission waiting queue C1.
When the software 11 (control unit 7) writes the start address of the start buffer of the transmission frame to this transmission register R1, the buffer memory management unit 9 responds to this by writing the start address of the start buffer of the transmission frame into the transmission register R1. PUT to queue 01 in this way.

また、送信済キューC2に対応した送信済レジスタR2
には、バッファメモリ管理部9によって当該キューC2
に対応したヘッドポインタH2の値が書き込まれる。そ
して、このレジスタR2の内容がソフトウェア11によ
り読み出されると、これに応答してバッファメモリ管理
部9は前述のようなGET動作を行って当該キューC2
の先頭フレームを解放させ、これによってこの先頭フレ
ームがソフトウェア11にGETされることになる。
Also, the sent register R2 corresponding to the sent queue C2
, the buffer memory management unit 9 stores the queue C2.
The value of head pointer H2 corresponding to is written. Then, when the contents of this register R2 are read by the software 11, in response, the buffer memory management section 9 performs the above-mentioned GET operation to
This causes the first frame of the software 11 to be released, and the software 11 receives this first frame.

フリーキューC4および受信済キュー06からソフトウ
ェア11へのフレームのGETもまた同様にして達成さ
れる。
GET of frames from free queue C4 and received queue 06 to software 11 is also accomplished in a similar manner.

解放待ちキューC3には、送信待ちキューからの送信後
のフレームがPUTされるほか、ソフトウェア11での
処理が終了したフレームもPUTされるが、このソフト
ウェア11からキューC3へのフレームのPUTは、当
該キューC3に対応して設けたレジスタR3に、PUT
すべきフレームの先頭バッファの先頭アドレスを書き込
むようにして行われる。
In addition to the frames that have been sent from the transmission queue C3, frames that have been processed by the software 11 are also put to the release queue C3. The register R3 provided corresponding to the queue C3 is
This is done by writing the start address of the start buffer of the frame to be processed.

上述のような構成を有するデータ通信装置によってデー
タの送信が行われる場合には、先ずソフトウェア11で
フレーム単位の送信データが作成されて、当該フレーム
を構成する先頭バッファの先頭アドレスが送信用レジス
タR1に書き込まれる。これに応答してバッファメモリ
管理部9は、テイルポインタT1の指示値を送信用レジ
スタR1に与えられたアドレス値に更新する。このとき
、送信待ちキューC1にフレームが無い場合には、ヘッ
ドポインタH1の指示値もまた与えられたアドレス値と
される。送信待ちキューC1にフレームがあるときには
、ヘッドポインタH1の指示値は変化されない。また、
送信待ちキューC1にフレームがある場合には、テイル
ポインタT1が指示するフレームの次フレーム領域34
の値が、バッファメモリ管理部9によって送信用レジス
タR1に与えられた値に書き換えられる。
When data is transmitted by a data communication device having the above-mentioned configuration, first, the software 11 creates frame-by-frame transmission data, and the start address of the first buffer constituting the frame is stored in the transmission register R1. will be written to. In response, the buffer memory management section 9 updates the indicated value of the tail pointer T1 to the address value given to the transmission register R1. At this time, if there is no frame in the transmission waiting queue C1, the indicated value of the head pointer H1 is also set to the given address value. When there is a frame in the transmission waiting queue C1, the indicated value of the head pointer H1 is not changed. Also,
If there is a frame in the transmission waiting queue C1, the next frame area 34 of the frame indicated by the tail pointer T1
The value is rewritten by the buffer memory management unit 9 to the value given to the transmission register R1.

このようにして送信待ちキューc1にフレームがPUT
されていく一方で、バッファメモリ管理部9は、キュー
C1からフレームをGETLっつ当該フレームのデータ
を送信していく。そしてフレームの送信が完了すると、
当該フレームを構成するバッファの送信フラグTFが送
信完了を示す値に書き換えられる。送信後のフレームは
、バッファメモリ管理部9の制御のちとに、当該フレー
ムの先頭バッファにおけるディスクリブタ部31のバッ
ファ管理フラグMF (第3図参照)に基づいて送信済
キュー02または解放待ちキューC3のいずれか一方に
PUTされる。バッファ管理フラグMFは、バッファメ
モリ管理部9への送信依頼に先立ってソフトウェア11
において書き換えられ、送信が確実に行われたかどうか
の確認を行う処理を行うか否かが書き込まれる。
In this way, the frame is put into the transmission waiting queue c1.
Meanwhile, the buffer memory management unit 9 gets the frame from the queue C1 and transmits the data of the frame. And once the frame transmission is complete,
The transmission flag TF of the buffer constituting the frame is rewritten to a value indicating completion of transmission. The transmitted frame is stored in the transmitted queue 02 or release waiting queue C3 under the control of the buffer memory management unit 9 based on the buffer management flag MF (see FIG. 3) of the disc libter unit 31 in the first buffer of the frame. PUT to either one of them. The buffer management flag MF is set by the software 11 prior to sending a transmission request to the buffer memory management unit 9.
It is rewritten in , and it is written whether or not to perform the process of confirming whether or not the transmission was reliably performed.

送信確認の処理が必要なフレームは送信済キューC2に
PUTされるが、この送信済キューC2にフレームがP
UTされて対応するヘッドポインタH2および送信済レ
ジスタR2に当該フレームノ先頭バッファの先頭アドレ
スが書き込まれると、バッファメモリ管理部9はソフト
ウェア11に対して割込を連続的に(すなわちパルスで
なくレベルで)発生する。これに応答して、ソフトウェ
ア11は送信済レジスタR2の内容を読み取り、方バッ
ファメモリ管理部9はヘッドポインタH2の指示値を更
新しつつキューC2の先頭のフレームをソフトウェア1
1に解放していく。なお、送信済キューC2にフレーム
が無い場合には、バッファメモリ管理部9は、この送信
済レジスタR2にたとえば特定値「0」 (特定値は「
0」以外の値であってもよい。)を書き込む。これによ
り、ソフトウェア11では、送信済レジスタR2の保持
値を任意に読み出してその値が「0」か否かを調べるこ
とによって、送信済キューC2におけるフレームの有無
を知ることができる。このことはレジスタR4,R6に
関しても同様である。
Frames that require transmission confirmation processing are put into the sent queue C2;
When the start address of the start buffer of the frame is written to the corresponding head pointer H2 and sent register R2, the buffer memory management unit 9 continuously sends interrupts to the software 11 (in other words, in the form of a level instead of a pulse). ) occurs. In response, the software 11 reads the contents of the transmitted register R2, and the buffer memory management unit 9 updates the instruction value of the head pointer H2 and transfers the first frame of the queue C2 to the software 11.
I will release it to 1. Note that when there is no frame in the transmitted queue C2, the buffer memory management unit 9 sets, for example, a specific value "0" (the specific value is "0") in this transmitted register R2.
It may be a value other than 0. ). Thereby, the software 11 can know whether there is a frame in the transmitted queue C2 by arbitrarily reading the value held in the transmitted register R2 and checking whether the value is "0". This also applies to registers R4 and R6.

解放待ちキューC3にPUTされたフレームは、バッフ
ァメモリ管理部9によってバッファ毎に分解され、1バ
ツフアで1フレームを構成させるようにした後に、バッ
ファ管理フラグMFに基づいてフリーキューC4または
受信待ちキューc5にPUTされる。前記フレームの分
解は、解放待ちキューC3からGETしたフレームを構
成する各バッファの次バッファ領域33の記憶値をたと
えばr 0OOOOOOOJに初期化するようにして行
われる。
The frame put into the release waiting queue C3 is disassembled into buffers by the buffer memory management unit 9 so that one buffer constitutes one frame, and then the frame is put into the free queue C4 or the reception waiting queue based on the buffer management flag MF. PUT to c5. The decomposition of the frame is performed by initializing the storage value of the next buffer area 33 of each buffer constituting the frame received from the release waiting queue C3 to, for example, r0OOOOOOJ.

なおこのフレームの分解とともに、バッファメモリ管理
部9では、解放待ちキューc3からGETしたフレーム
を構成する各バッファのデータ部32の初期化を行う。
In addition to this frame decomposition, the buffer memory management unit 9 initializes the data section 32 of each buffer that constitutes the frame GET from the release waiting queue c3.

上記のような送信動作において、ソフトウェア11では
送信処理の依頼(送信用レジスタR1へのアドレスの書
込)に先立って予めフレームチェーンを作成しておく必
要がない。すなわちフレームチェーンの形成は、たとえ
ば送信待ちキューC1に送信フレームをPUTする際に
、ティルボインタT1が指示するフレームの先頭バッフ
ァの次フレーム領域34に送信用レジスタR1に与えら
れた値が書き込まれていくことによって、順次作成され
るので、ソフトウェア11は送信フレームのアドレスを
送信用レジスタR1に順次書き込んでいくだけよい。し
たがってデータ送信時のソフトウェア11の負担が軽く
、これによりデータ送信の高速化に寄与することができ
る。
In the above-described transmission operation, the software 11 does not need to create a frame chain in advance before requesting transmission processing (writing an address to the transmission register R1). That is, to form a frame chain, for example, when a transmission frame is put into the transmission waiting queue C1, the value given to the transmission register R1 is written to the next frame area 34 of the first buffer of the frame indicated by the till pointer T1. Therefore, the software 11 only needs to sequentially write the addresses of the transmission frames to the transmission register R1. Therefore, the burden on the software 11 during data transmission is light, and this can contribute to speeding up data transmission.

また、送信待ちキュー01に先に送信依頼したフレーム
チェーンが存在する状態で、さらに新たなフレームの送
信依頼を行う場合において、ソフトウェア11からこの
新たなフレームのアドレスを送信用レジスタR1に書き
込むと、このフレームは先のフレームチェーンの末尾に
必然的に付け加えられることになるので、従来のように
ソフトウェアで先に送信依頼したフレームチェーンの末
尾のフレームを記憶しておく必要がない。
Furthermore, when a new frame is requested to be transmitted while the previously requested frame chain exists in the transmission waiting queue 01, if the software 11 writes the address of this new frame to the transmission register R1, Since this frame is inevitably added to the end of the previous frame chain, there is no need to store the last frame of the frame chain that was previously requested to be transmitted using software, as is the case in the past.

さらに、送信後にソフトウェア11での処理(たとえば
送信の確認の処理)が必要なフレームは送信済キューC
2にPUTされるので、ソフトウェア11では前記処理
が必要なフレームの記憶の必要がない。しかも、送信済
キューc2にフレームが存在する状態では、バッファメ
モリ管理部9はソフトウェア11に対して割込を発生す
るので、ソフトウェア11では割込に応答して送信待ち
キューC2のフレームをGETすればよ<、シたがって
送信処理の進行状況を管理する必要がない。
Furthermore, frames that require processing in the software 11 (for example, transmission confirmation processing) after transmission are sent to the transmitted queue C.
2, the software 11 does not need to store the frame that requires the above processing. Moreover, when a frame exists in the transmitted queue c2, the buffer memory management unit 9 generates an interrupt to the software 11, so the software 11 must respond to the interrupt to GET the frame in the transmission waiting queue C2. Therefore, there is no need to manage the progress of the transmission process.

また、送信済キューC2にフレームが存在していないと
きには、送信済レジスタR2には特定値「0」が保持さ
れるので、ソフトウェア11は送信済キュー02にフレ
ームが存在しなくなったことを容易に知ることができる
。さらに、解放待ちキ二−C3にPUTされたフレーム
を構成するバッファは、バッファメモリ管理部9により
分解され、かつそのデータ部の初期化もまたバッファメ
モリ管理部9によって行われるので、ソフトウェア11
はバッファのデータ部の初期化処理を行う必要がない。
Furthermore, when there is no frame in the transmitted queue C2, the specific value "0" is held in the transmitted register R2, so the software 11 can easily detect that the frame no longer exists in the transmitted queue 02. You can know. Further, since the buffer constituting the frame put into the release waiting key C3 is disassembled by the buffer memory management section 9, and the data section is also initialized by the buffer memory management section 9, the software 11
There is no need to initialize the data section of the buffer.

このようにデータ送信に当たって、ソフトウェア11の
負担が大幅に低減される結果、データの送信の処理速度
が格段に低減され、高速なデータ通信が可能となる。
In this way, the burden on the software 11 during data transmission is significantly reduced, and as a result, the processing speed for data transmission is significantly reduced, and high-speed data communication becomes possible.

次に他のコンピュータなどからのデータの受信動作につ
いて説明する。受信待ちキューC5にフレームが存在す
る状態で、バッファメモリ管理部9がデータを受信する
と、バッファメモリ管理部9は受信待ちキューC5に対
応したヘッドポインタH5の指示値を更新することによ
ってキュー05の先頭のフレームをGETする。このG
ETL。
Next, the operation of receiving data from other computers will be explained. When the buffer memory management unit 9 receives data while there is a frame in the reception waiting queue C5, the buffer memory management unit 9 updates the instruction value of the head pointer H5 corresponding to the reception waiting queue C5, thereby updating the data in the queue 05. Get the first frame. This G
ETL.

たフレームに当該受信データが書き込まれる。ただし、
受信待ちキュー05においては、1フレームは1バツフ
アにより構成されているので、バッファメモリ管理部9
は、受信データのデータ量に応じて必要な数のフレーム
(バッファ)をキューC5からGETL、当該受信デー
タを格納することができる程度のフレームを再編成する
ことになる。データの受信に伴い、受信データを書き込
んだ受信フラグRFが、受信完了を示す値に書き換えら
れる。
The received data is written into the received frame. however,
In the reception waiting queue 05, since one frame consists of one buffer, the buffer memory management unit 9
In this case, a necessary number of frames (buffers) are sent from the queue C5 to GETL according to the amount of received data, and frames are reorganized to the extent that the received data can be stored. As data is received, the reception flag RF in which the received data is written is rewritten to a value indicating completion of reception.

受信後のフレームは、バッファメモリ管理部9により、
テイルポインタT6を更新するなどして受信済キュー0
6にPUTされる。このとき、キxc6にフレームが存
在していない場合には、対応するヘッドポインタH6の
指示値が当該フレームの先頭バッファの先頭アドレス値
に更新される。このヘッドポインタH6の指示値は、前
述のように受信用レジスタR6に保持されるのであるが
、この受信用レジスタR6の値は、キューC6にフレー
ムが存在していない場合には特定値「0」に初期化され
ており、ソフトウェア11は任意に受信用レジスタR6
の保持値を読み出して、その値が「0」か否かを調べる
ことにより、受信済キューC6の状態を知ることができ
る。
The received frame is processed by the buffer memory management unit 9.
Received queue 0 by updating tail pointer T6, etc.
PUT to 6. At this time, if no frame exists in key xc6, the indicated value of the corresponding head pointer H6 is updated to the start address value of the start buffer of the frame. The value indicated by the head pointer H6 is held in the reception register R6 as described above, but when there is no frame in the queue C6, the value of the reception register R6 is set to a specific value "0". ”, and the software 11 arbitrarily sets the reception register R6.
The state of the received queue C6 can be known by reading the held value of C6 and checking whether the value is "0" or not.

受信済キューC6にフレームがPUTされると、バッフ
ァメモリ管理部9はソフトウェア11に対して連続的に
割込を発生する。これに応答して、ソフトウェア11は
受信用レジスタR6の保持値を読み出し、これにより当
該フレームがソフトウェア11にGETされることにな
る。このようにしてGETされたフレームのデータは、
ソフトウェア11における処理の後に、たとえば解放待
ちキューC3などにPUTされることになる。解放待ち
キ二−C3にPUTされたフレームの処理は送信時と同
様である。
When a frame is put into the received queue C6, the buffer memory management unit 9 continuously generates interrupts to the software 11. In response to this, the software 11 reads the value held in the reception register R6, and thereby the software 11 receives the frame. The frame data obtained in this way is
After processing in the software 11, it is put into the release waiting queue C3, for example. The processing of the frame PUT to the release waiting key C3 is the same as that at the time of transmission.

このようにして、データの受信に当たり、受信待ちキュ
ーC5の管理は専らバッファメモリ管理部って行われ、
ソフトウェア11はバッファメモリ管理手段9からの割
込によりデータが受信されたことを知って、受信済キュ
ーC6から受信データを書き込んだフレームをGETす
ればよい。すなわち、データが受信されたかどうかを判
断するなどの処理は、バッファメモリ管理部って行われ
、ソフトウェア11では、結局、処理の進行状況を管理
する必要がないので、ソフトウェア11の負担が格段に
軽減され、この結果データの受信に要する時間が格段に
短縮されることになって、データ通信の高速化に寄与す
ることができる。受信データが無くなれば、受信用レジ
スタR6には特定値「0」が保持されるので、この特定
値rOJを読み出した時点でソフトウェア11では受信
データが無くなったことを知ることができる。
In this way, when receiving data, the buffer memory management section exclusively manages the reception waiting queue C5.
The software 11 only has to know that data has been received by an interrupt from the buffer memory management means 9 and GET the frame in which the received data has been written from the received queue C6. In other words, processing such as determining whether data has been received is performed by the buffer memory management unit, and the software 11 does not need to manage the progress of the processing, so the burden on the software 11 is significantly reduced. As a result, the time required to receive data is significantly shortened, contributing to faster data communication. When there is no more received data, the specific value "0" is held in the reception register R6, so the software 11 can know that there is no more received data when reading this specific value rOJ.

なお、フレームが無くなった場合に、対応するレジスタ
に特定値「0」が保持されるのは、フリ−キューC4に
関しても同様であるが、これによりソフトウェア11は
任意のタイミング(すなわちたとえばソフトウェア11
の処理が阻害されないタイミング)でレジスタR4を読
み出すことにより、フリーキューC4にフレームが存在
しているかどうかを容易に知ることができる。すなわち
、フリーキューC4にフレームが存在しているかどうか
をソフトウェア11で知るために、たとえばフレームが
PUTされた時点で割込を発生させることが考えられる
が、このようにしてはソフトウェア11の処理を一旦ス
トップさせてしまうので処理の高速化が阻害されるのに
対して、本実施例によればソフトウェア11の処理を良
好に継続させることができる。
Note that when there is no frame, the specific value "0" is held in the corresponding register in the same way as for the free queue C4, but this allows the software 11 to store the specified value "0" at any timing (for example, when the software 11
By reading the register R4 at a timing that does not interfere with the processing of the free queue C4, it is possible to easily know whether a frame exists in the free queue C4. That is, in order for the software 11 to know whether or not a frame exists in the free queue C4, it is conceivable to generate an interrupt at the time when a frame is put, for example, but in this way, the processing of the software 11 may be interrupted. Whereas once stopping the processing, speeding up the processing is hindered, the present embodiment allows the processing of the software 11 to continue smoothly.

第6図は本発明の他の実施例の構成を機能的に示す説明
図である。本実施例は前述の第1の実施例における各機
能に加えて、フレームをループ状のチェーンしたループ
フレームによるデータの送受信を実現したものである。
FIG. 6 is an explanatory diagram functionally showing the configuration of another embodiment of the present invention. In addition to the functions of the first embodiment described above, this embodiment realizes data transmission and reception using a loop frame in which frames are chained in a loop.

したがって、前述の第2図に示された各部に対応する部
分には同一の参照符号を付するとともに、前述の第2図
などを併せて参照し、第1の実施例との相違点を中心に
説明する。
Therefore, parts corresponding to those shown in the above-mentioned FIG. 2 will be given the same reference numerals, and the above-mentioned FIG. Explain.

同一のデータを繰り返して送信する場合には、フレーム
を循環的にチェーンさせたいわゆるループフレームを用
いることが、メモリ効率の向上およびデータ送信の高速
化のうえで好ましいと言える。ループフレームの作成は
、本実施例では、ソフトウェア11において行われる。
When transmitting the same data repeatedly, it is preferable to use a so-called loop frame in which frames are cyclically chained in order to improve memory efficiency and speed up data transmission. The loop frame is created in the software 11 in this embodiment.

そして、作成されたループフレームは命令rPUTLO
OP Jによって受信待ちキューC5または送信待ちキ
ュー01にPUTされる。
And the created loop frame is the instruction rPUTLO
The data is put into the reception waiting queue C5 or the transmission waiting queue 01 by OP J.

たとえば送信待ちキューC1にループフレームをPUT
する場合には、当該ループフレームを構成するフレーム
のうちのいずれか1つのフレームの先頭バッファの先頭
アドレスが、受信待ちキューC1対応して入出力ポート
12に設けた送信用レジスタRLIに与えられる。これ
によりバッファメモリ管理部9は、キュー01に対応し
たヘッドポインタH1およびテイルポインタT1に共通
に送信用レジスタRLIの保持アドレス値をセットする
。各フレームの送信に伴ってバッファメモリ管理部9は
、ヘッドポインタH1およびテイルポインタT1の指示
値を共通の値(すなわち次のフレームの先頭バッファの
先頭アドレス)に更新させる。バッファメモリ管理部9
は、フレームのチェーンを順にたどった場合に始めのフ
レームに戻っている場合には送信後のフレームを送信待
ちキューC1から外さず、したがってループフレームを
用いた送信時には当該ループフレームを構成するフレー
ムは終始キュー01に存在している。
For example, put a loop frame into the transmission waiting queue C1.
In this case, the start address of the start buffer of any one of the frames constituting the loop frame is given to the transmission register RLI provided in the input/output port 12 corresponding to the reception waiting queue C1. As a result, the buffer memory management unit 9 commonly sets the held address value of the transmission register RLI in the head pointer H1 and tail pointer T1 corresponding to the queue 01. With the transmission of each frame, the buffer memory management unit 9 updates the indicated values of the head pointer H1 and tail pointer T1 to a common value (ie, the start address of the start buffer of the next frame). Buffer memory management section 9
If the chain of frames is followed in order and the frame returns to the first frame, the transmitted frame is not removed from the transmission waiting queue C1. Therefore, when transmitting using a loop frame, the frames that make up the loop frame are It exists in queue 01 from beginning to end.

したがって、ヘッドポインタH1およびテイルポインタ
T1が共通に各フレームの先頭バッファの次フレーム領
域34(第3図参照。)に記憶したアドレス値に従って
その指示値が更新されることによって同一のデータを繰
り返し送信することができる。
Therefore, the head pointer H1 and tail pointer T1 repeatedly transmit the same data by updating their indicated values according to the address values commonly stored in the next frame area 34 (see FIG. 3) of the first buffer of each frame. can do.

ループフレームによる受信を行う場合も同様であり、予
めソフトウェア11で作成したフレームチェーン(ルー
プフレーム)が、そのいずれか1つのフレームの先頭バ
ッファの先頭アドレスを、受信待ちキ二−C5に対応し
て入出力ボート12に設けた受信用レジスタRL5に書
き込むことによって、当該キューC5にPUTされる。
The same is true when receiving loop frames, in which a frame chain (loop frame) created in advance by the software 11 sets the start address of the start buffer of any one frame in correspondence with the reception waiting key-C5. By writing to the reception register RL5 provided in the input/output boat 12, the data is put into the queue C5.

そしてこのキューC5に対応したヘッドポインタH5お
よびテイルポインタT5に前記レジスタRL5の保持値
が共通にセットされ、さらにデータの受信に伴ってヘッ
ドポインタH5およびテイルポインタT5の指示値が同
一の指示値となるように共通に更新される。この際バッ
ファメモリ管理部9は、フレームのチェーンをたどった
場合に最初のフレームに戻っている場合には、受信後の
フレームをキューC5から解放せず、したがってループ
フレームを構成する全てのフレームは終始キューC5に
存在している。
The value held in the register RL5 is set in common to the head pointer H5 and tail pointer T5 corresponding to this queue C5, and furthermore, as data is received, the indicated values of the head pointer H5 and tail pointer T5 become the same indicated value. Commonly updated so that At this time, if the buffer memory management unit 9 traces the chain of frames and returns to the first frame, it does not release the received frame from the queue C5, and therefore all frames constituting the loop frame are It exists in queue C5 from beginning to end.

このようにして循環的にチェーンされた複数のフレーム
に順にデータが書き込まれながらデータの受信が進行し
、この結果、見掛は上受信バッファが無限に存在するよ
うになる。ただし、本実施例では、データの受信のため
に用いられるループフレームは、1フレームを1バツフ
アで構成したものである(すなわち各バッファの次バッ
ファ領域33にデータr 0OOOOOOOJ書き込み
、次フレーム領域34へのアドレスの書き込みにより複
数のバッファがループ状にチェーンされている。なお、
次フレーム領域34でのチェーンの代わりに、次バッフ
ァ領域33でのチェーンとしてもよい。)。
In this way, data reception progresses as data is sequentially written in a plurality of frames that are cyclically chained, and as a result, there appears to be an infinite number of upper reception buffers. However, in this embodiment, the loop frame used for data reception is one in which one frame consists of one buffer (that is, data r0OOOOOOJ is written in the next buffer area 33 of each buffer, and data is written in the next frame area 34). Multiple buffers are chained in a loop by writing the address of .
Instead of a chain in the next frame area 34, a chain in the next buffer area 33 may be used. ).

これはフレームを複数のバッファで構成すると、受信デ
ータのデータ量が少ない場合に、各フレームで使用しな
いバッファが現れてメモリ効率が悪くなる恐れがあり、
これを解消しようとして未使用のバッファの回収を行う
と処理が極めて煩雑となるからである。その代わりに本
実施例では、各バッファのデータ部の容量を充分に大き
くして、はとんど全てのデータの受信が可能なようにし
ている。しかし、1バツフアのデータ容量を超えるデー
タに関してはその受信は断念せざるを得ない。
This is because if a frame is composed of multiple buffers, if the amount of received data is small, there is a risk that some buffers will not be used in each frame, resulting in poor memory efficiency.
This is because if unused buffers are collected in an attempt to solve this problem, the processing becomes extremely complicated. Instead, in this embodiment, the capacity of the data section of each buffer is made sufficiently large so that almost all data can be received. However, reception of data exceeding the data capacity of one buffer must be abandoned.

それでもなお、メモリ効率および処理の簡素化を考慮に
入れた場合には、1フレームを1バツフアで構成するこ
とが望ましく、そのデータ部の容量を充分に大きくとれ
ばほとんど全ての受信データに対応することができる。
Nevertheless, when considering memory efficiency and processing simplification, it is desirable to configure one frame with one buffer, and if the capacity of the data section is large enough, it can accommodate almost all received data. be able to.

入出力ポート12には、送信待ちキューC1または受信
待ちキューC5を形成するフレームを強制的に解放させ
るキュー・クリア命令QCLRのためのコマンドレジス
タRQが備えられている。
The input/output port 12 is provided with a command register RQ for a queue clear command QCLR for forcibly releasing frames forming the transmission queue C1 or the reception queue C5.

キュー・クリア命令QCLRは、具体的には、コマンド
レジスタRQに送信待ちキューC1または受信待ちキュ
ーC5に対応したキュ一番号を書き込むことによって実
現され、これによりキュC1、C5のいずれか一方のフ
レームが順に解放されて送信待ちキューC2または受信
待ちキューC5にPUTされる。
Specifically, the queue clear command QCLR is realized by writing the queue number corresponding to the transmission waiting queue C1 or the receiving waiting queue C5 to the command register RQ. are sequentially released and put into the transmission queue C2 or the reception queue C5.

たとえば、通信網の都合のために送信/受信が滞り、送
信待ちキューC1にPUTしたフレームまたは受信済キ
ューにPUTしたフレームの解放が行われなくなった場
合には、バッファメモリ3内のバッファは有限であるの
で、ソフトウェア11により使用することができるバッ
ファが減少してくる。したがって、このような場合には
、送信/受信を一時取り止めて、キューCI、C5を形
成するフレームを解放させ、これらのフレームをソフト
ウェア11に与えてこのソフトウェア11における処理
を進めることが処理効率の向上を図るうえで有効である
For example, if transmission/reception is delayed due to circumstances in the communication network and frames put into the transmission waiting queue C1 or frames put into the received queue are not released, the buffer in the buffer memory 3 is limited. Therefore, the buffer that can be used by the software 11 decreases. Therefore, in such a case, it is best to temporarily stop transmission/reception, release the frames forming the queues CI and C5, and give these frames to the software 11 to proceed with the processing in the software 11 in order to improve processing efficiency. It is effective for improving the performance.

また、前述のようなループフレームによる送信/受信を
行っている場合に、このような送信/受信を停止させた
り、データ送信時に他のループフレームにより新たなデ
ータを繰り返し送信したりする場合にも、キューCI、
C5からのフレームの解放が必要となる。
Also, when transmitting/receiving using loop frames as described above, you can stop such transmission/receiving, or when transmitting new data repeatedly using other loop frames when transmitting data. , Queue CI,
It will be necessary to release the frame from C5.

第7図(a)はキューC1の構成を概念的に示す説明図
である。キュー01にフレームF1〜F3(ループフレ
ームではない通常のチェーン)が存在している通常の状
態(以下r r norsalJ状態」という)におい
て、ヘッドポインタH1はその先頭のフレームF1を指
示し、テイルポインタT1はその末尾のフレームF3を
指示している。この状態から、キュー・クリア命令QC
LRによって、コマンドレジスタRQにキューC1のキ
ュ一番号がソフトウェア11から与えられると、バ・ソ
ファ管理部9は他のコマンドを受は付けず、テイルポイ
ンタT1の指示値を固定し、ヘッドポインタH1の指示
値のみを順次更新させる。これにより、フレームF1〜
F3が順にキューC1から解放される。さらに、バッフ
ァメモリ管理部9は、キューC1から解放されたフレー
ムを送信済キューC2にPUTしていく。この際にデー
タの送信は行われないので、送信フラグTFは書き換え
られない。上記のようなキュー・クリア命令QCLRに
伴うバッファメモリ管理部9の動作状態を「クリアA」
状態と定義する。
FIG. 7(a) is an explanatory diagram conceptually showing the configuration of the queue C1. In a normal state (hereinafter referred to as "r r normal J state") in which frames F1 to F3 (a normal chain that is not a loop frame) exist in queue 01, the head pointer H1 points to the first frame F1, and the tail pointer T1 indicates the last frame F3. From this state, queue clear command QC
When the queue number of the queue C1 is given from the software 11 to the command register RQ by LR, the bath manager 9 does not accept any other commands, fixes the indicated value of the tail pointer T1, and sets the head pointer H1. Only the indicated values of are updated sequentially. As a result, frames F1~
F3 is released from queue C1 in turn. Further, the buffer memory management unit 9 puts the frames released from the queue C1 into the transmitted queue C2. Since no data is transmitted at this time, the transmission flag TF is not rewritten. The operating state of the buffer memory management unit 9 in response to the above queue clear command QCLR is set to "clear A".
Define as state.

第7図(b)はループフレームによるデータの送信を行
っている場合の送信待ちキュー01の構成を概念的に示
す説明図である。フレームF3はフレームF1にチェー
ンされて、フレームF1〜F3はループ状につながれて
いる。このループフレームによる送信を行う場合には、
前述のようにヘッドポインタH1およびテイルポインタ
T1は同時に同一のフレームを指示し、各指示値が同時
に同−の値に更新される。この状態をr 1oopJ状
態と定義する。
FIG. 7(b) is an explanatory diagram conceptually showing the configuration of the transmission waiting queue 01 when data is transmitted using loop frames. Frame F3 is chained to frame F1, and frames F1 to F3 are connected in a loop. When transmitting using this loop frame,
As described above, the head pointer H1 and the tail pointer T1 simultaneously point to the same frame, and each pointer value is updated to the same value at the same time. This state is defined as r 1oopJ state.

このrloopJ状態から、キュー・クリア命令QCL
Rによってキュー01のキュ一番号がコマンドレジスタ
RQに書き込まれると、バッファメモリ管理部9は前述
の「クリアA」状態となる。このときのキューC1の状
態は第7図(C)に示されており、テイルポインタT1
の指示値が固定されて、ヘッドポインタH1の指示値の
みが順次更新されていくことによって、フレームチェー
ンをたどっても始めのチェーンに戻らない状態となるの
で、キューC1からフレームが順に躬放されてキューC
2に与えられていき、このようにしてループフレームが
解除されて、このループフレームによるデータの送信が
終了する。rloopJ状態からさらに、新たなループ
フレームをキューC1にPUTする場合にも、同様にし
てキューC1を形成するループフレームが解除される。
From this rloopJ state, the queue clear command QCL
When the queue number of queue 01 is written into the command register RQ by R, the buffer memory management section 9 enters the above-mentioned "clear A" state. The state of the queue C1 at this time is shown in FIG. 7(C), and the tail pointer T1
Since the indicated value of the queue C1 is fixed and only the indicated value of the head pointer H1 is updated sequentially, the frame chain cannot be returned to the beginning even if the frame chain is traced, so frames are sequentially released from the queue C1. Te cue C
In this way, the loop frame is released and data transmission using this loop frame is completed. When a new loop frame is further put into the queue C1 from the rloopJ state, the loop frames forming the queue C1 are released in the same way.

しかしキュー・クリア命令QCLRの場合には、最終的
にキューCIにフレームが存在しない「バッファなし」
状態となるのに対して、命令rPUTLOOP Jの場
合には新たなループフレームがキューC1にPUTされ
ることになる。この意味で、前述の「クリアA」状態と
区別して、r 1oopJ状態から命令rPUTLOO
P Jが与えられた場合のバッファメモリ管理部9の状
態を「クリアB」状態と定義する。
However, in the case of the queue clear command QCLR, the result is ``no buffer'' where there is no frame in the queue CI.
In contrast, in the case of the instruction rPUTLOOP J, a new loop frame will be put into the queue C1. In this sense, in distinction from the above-mentioned "clear A" state, from the r 1oopJ state the instruction rPUTLOO
The state of the buffer memory management unit 9 when PJ is given is defined as a "clear B" state.

第8図は以上のような状態の遷移をまとめて示す状態遷
移図である。たとえば、送信待ちキューC1において、
少なくとも1つのフレームが存在していれば、このキュ
ーC1に関してバッファメモリ管理部9はrnorg+
alJ状態となり、フレームが存在しない場合には「バ
ッファなし」状態となる。そして、「バッファなし」状
態からキューC1にループフレームがP U T (P
UTLOOP )されるとr 1oopJ状態となる。
FIG. 8 is a state transition diagram showing all the above state transitions. For example, in the transmission waiting queue C1,
If at least one frame exists, the buffer memory management unit 9 stores rnorg+ for this queue C1.
The state is set to alJ, and if there is no frame, the state is set to "no buffer". Then, the loop frame is transferred from the “no buffer” state to queue C1 as P UT (P
UTLOOP), the state becomes r1oopJ.

また、「バッファなし」状態から送信待ちキューC1に
フレームがPUTされればr normalJ状態に移
行し、r norsalJ状態から送信の進行によりバ
ッファがなくなれば(第8図において「*」で示す。)
「バッファなし」状態に遷移する。
Furthermore, if a frame is put into the transmission waiting queue C1 from the "no buffer" state, the state shifts to the r normalJ state, and if the buffer runs out due to the progress of transmission from the r normalJ state (indicated by "*" in FIG. 8).
Transition to "no buffer" state.

r normalJ状態において、ソフトウェア11か
らコマンドレジスタRQに、送信待ちキューC1をクリ
アするためのキュー・クリア命令QCLRが与えられる
と、バッファメモリ管理部9は、「クリアA」状態とな
る。そして、ヘッドポインタH1の指示値が順次更新さ
れてフレームの解放が行われていき、キューC1にフレ
ームが存在しない状態に至ると、「バッファなし」状態
に遷移する。rloopJ状態からキュー・クリア命令
QCLRが与えられた場合も同様であり、「クリアA」
状態を経て「バッファなし」状態に移行する。
In the r normalJ state, when a queue clear command QCLR for clearing the transmission waiting queue C1 is given from the software 11 to the command register RQ, the buffer memory management unit 9 enters the "clear A" state. Then, the indicated value of the head pointer H1 is sequentially updated and frames are released, and when a state where no frame exists in the queue C1 is reached, a transition is made to the "no buffer" state. The same is true when the queue clear command QCLR is given from the rloopJ state, and "clear A" is issued.
state and then transitions to the "no buffer" state.

r nor園all状態またはr 1oopJ状態から
、命令rPUTLOOP Jが与えられると、「クリア
B」状態となり、これによりキュー01にフレームが存
在しない状態に至ると、送信用レジスタRLIに与えら
れたアドレスにより表されるループフレームがキュー0
1に加えられてr 1oopJ状態に移行する。
When the instruction rPUTLOOP J is given from the rnor garden all state or the r1oopJ state, the "clear B" state is entered, and as a result, when there is no frame in the queue 01, the address given to the transmission register RLI The loop frame represented is queue 0
1 and moves to r 1oopJ state.

また、r I oopJ状態からキューC1にフレーム
がプロセッサされると、「クリアB」状態に移行し、さ
らにキューC1にフレームが無くなると、送信用レジス
タR1に与えられたアドレスにより表されるフレームが
キューC1に加えられてrn。
Also, when a frame is processed from the r I oopJ state to the queue C1, it moves to the "clear B" state, and when there are no more frames in the queue C1, the frame represented by the address given to the transmission register R1 is processed. rn added to queue C1.

r+5alJ状態に移行する(第8図において「**」
で示す。)。
Transition to r+5alJ state ("**" in Figure 8)
Indicated by ).

データの受信に関連する動作も同様であり、受信待ちキ
ューC5の状態およびキュー・クリア命令QCLRなら
びにループフレームの受信待ちキューC5へのP U 
T (PUTLOOP )などによって、この受信待ち
キューC5に関連して、「バッファなし」状態、r n
ormalJ状態、r IoopJ状態、「クリアA」
状態および「クリアB」状態が存在し、各状態に応じて
バッファメモリ管理部9がバッファメモリ3の管理を行
う。なお、受信待ちキューC6からキュー・クリア命令
QCLRなどによってデータの受信を伴うことなくフレ
ームの解放が行われる場合には、各バッファの受信フラ
グRFの書換えが行われないので、ソフトウェア11で
はこのフラグRFを参照して、当該バッファが受信デー
タを保持しているかどうかを判断することができる。
The operations related to data reception are also similar, including the state of the receive queue C5, the queue clear command QCLR, and the P U of the loop frame to the receive queue C5.
T (PUTLOOP) etc., a "no buffer" state, r n
normalJ state, r IoopJ state, “Clear A”
There are two states: "Clear B" and "Clear B", and the buffer memory management unit 9 manages the buffer memory 3 according to each state. Note that when a frame is released from the reception waiting queue C6 by a queue clear command QCLR or the like without data reception, the reception flag RF of each buffer is not rewritten, so the software 11 does not change this flag. The RF can be referenced to determine whether the buffer holds received data.

以上のように本実施例によれば、いわゆるループフレー
ムを用いたデータの送受信が実現され、この場合にルー
プフレームを用いた通信の中止は、ソフトウェア11か
ら送信待ちキューC1または受信待ちキューC5内のフ
レームを解放させるキュー・クリア命令QCLRを与え
るか、或いは新たなループフレームをP U T (P
UTLOOP ) L、これに応答してバッファメモリ
管理部9が各キューCI、C5に対応して設けたヘッド
ポインタH1゜R5およびテイルポインタTI、T5の
更新を制御するようにして実現される。このように、い
わばループフレームの解除がバッファメモリ管理部9で
行われることになるので、ソフトウェア11の負担が軽
減され、これによりループフレームを用いたデータの送
受信処理の高速化に寄与することができる。
As described above, according to this embodiment, data transmission and reception using so-called loop frames is realized, and in this case, communication using loop frames can be stopped by the software 11 in the transmission waiting queue C1 or the receiving waiting queue C5. Either give a queue clear command QCLR to release the frame of P U T (P
UTLOOP ) L. In response to this, the buffer memory management section 9 controls updating of the head pointer H1°R5 and the tail pointer TI, T5 provided corresponding to each queue CI, C5. In this way, so to speak, the loop frame is released by the buffer memory management unit 9, so the burden on the software 11 is reduced, which contributes to speeding up data transmission and reception processing using the loop frame. can.

なお、本発明は上述の第、第2の実施例に限定されるも
のではなく、たとえば上記第2の実施例においては送信
待ちキューC1および受信待ちキュー05に対する各キ
ュー・クリア命令QCLRに対してコマンドレジスタR
Qを共用するようにしたが、各キューC1,C5に対応
して各別のコマンドレジスタを設けてもよい。その他、
本発明の要旨を変更しない範囲で種々の変更を施すこと
が可能である。
Note that the present invention is not limited to the above-described second embodiment. For example, in the above-mentioned second embodiment, for each queue clear command QCLR for the transmission waiting queue C1 and the receiving waiting queue 05, Command register R
Although Q is shared, separate command registers may be provided corresponding to each of the queues C1 and C5. others,
Various changes can be made without departing from the gist of the invention.

〈発明の効果〉 以上のように本発明のデータ通信装置によれば、バッフ
ァメモリ管理手段においてバッファの管理を集中的に行
い、バッファの管理に関するソフトウェアの負担を格段
に軽減するようにしたので、データの送受信処理の高速
化に寄与することができる。
<Effects of the Invention> As described above, according to the data communication device of the present invention, buffer management is performed intensively in the buffer memory management means, and the burden on software related to buffer management is significantly reduced. This can contribute to speeding up data transmission and reception processing.

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

第1図は本発明の一実施例データ通信装置の構成を機能
的に示す説明図、 第2図は前記データ通信装置が適用されるコンピュータ
の基本的な構成を示すブロック図、第3図はバッファメ
モリ内のバッファのデータ構成を示す説明図、 第4図はそのバッファ管理領域の記憶態様を示す説明図
、 第5図はバッファおよびフレームのチェーンの様子を示
す説明図、 第6図は本発明の他の実施例のデータ通信装置の構成を
機能的に示す説明図、 第7図は送信待ちキューなどのフレームを強制的に解放
させるときの動作を説明するための説明図、 第8図はバッファメモリ管理部の動作状態の遷移を示す
状態遷移図である。 RQ・・・コマンドレジスタ
FIG. 1 is an explanatory diagram functionally showing the configuration of a data communication device according to an embodiment of the present invention, FIG. 2 is a block diagram showing the basic configuration of a computer to which the data communication device is applied, and FIG. FIG. 4 is an explanatory diagram showing the data structure of the buffer in the buffer memory. FIG. 4 is an explanatory diagram showing the storage format of the buffer management area. FIG. 5 is an explanatory diagram showing the buffer and frame chain. FIG. 7 is an explanatory diagram functionally showing the configuration of a data communication device according to another embodiment of the invention; FIG. 2 is a state transition diagram showing the transition of the operating state of the buffer memory management unit. FIG. RQ...command register

Claims (1)

【特許請求の範囲】 1、処理装置での処理データを、リスト構造のバッファ
メモリを用いて、1または複数のバッファに格納した所
定のフレーム毎に送受信し、前記処理装置とバッファメ
モリとの間のデータの授受を所定の処理プログラムに基
づいて動作する制御手段によって行わせるようにしたデ
ータ通信装置において、 前記バッファメモリを管理し、このバッファメモリ内で
、送信すべきフレームをそのポインタ部により順につな
いだ送信待ちキューと受信データを格納させるべきフレ
ームをそのポインタ部により順につないだ受信待ちキュ
ーとデータ受信後のフレームをそのポインタ部により順
につないだ受信済キューとを形成させるとともに、各キ
ューの先頭のフレームを指示するヘッドポインタと各キ
ューの末尾のフレームを指示するテイルポインタとを各
キュー毎に有するバッファメモリ管理手段と、 前記制御手段から送信フレームを示すアドレスが書き込
まれ、この送信フレームを前記送信待ちキューの末尾に
付け加えるための送信用レジスタと、 前記受信済キューに対応した前記ヘッドポインタの指示
値が保持され、受信後のフレームを前記制御手段に与え
るための受信用レジスタとを設け、 前記バッファメモリ管理手段は、データ送信に当たって
前記送信用レジスタに送信フレームを示すアドレスが書
き込まれると、これに応答して前記送信フレームを前記
送信待ちキューの末尾に付け加え、データ受信時には、
前記受信待ちキューの先頭のフレームを取り出して受信
データを書き込み、このデータ書込後のフレームを前記
受信済キューの末尾に付け加えるとともに、前記制御手
段による前記受信用レジスタの保持値の読出に応答して
前記受信済キューの先頭のフレームを取り出して前記制
御手段に与え、 さらに、前記バッファメモリ管理手段は、 各キューの先頭のフレームの取り出しに当たっては、各
キューのヘッドポインタが指示するフレームのポインタ
部が指示するフレームのアドレスにそのヘッドポインタ
の指示値を更新させ、各キューの末尾にフレームを付け
加える際には、各キューのテイルポインタが指示するフ
レームのポインタ部に、付け加えようとするフレームの
アドレスを書き込むとともに、当該アドレスにそのテイ
ルポインタの指示値を更新させることを特徴とするデー
タ通信装置。 2、フレームを前記制御手段によりループ状につないで
、このループ状のフレームを用いてデータの送信を行い
、データの送信に当たっては、前記制御手段はループを
形成するいずれかのフレームのアドレスを送信用レジス
タに書き込み、前記バッファメモリ管理手段は送信待ち
キューのヘッドポインタおよびテイルポインタに同一の
指示値をセットして、両ポインタの指示値を同時に更新
させるとともに、 前記ループ状のフレームによる送信を中止する中止命令
のためのコマンドレジスタを設け、このコマンドレジス
タに前記制御手段からの中止命令が与えられると、前記
バッファメモリ管理手段は、前記送信待ちキューのテイ
ルポインタの更新を停止して、そのヘッドポインタのみ
を更新させることにより、前記ループを解除するように
したことを特徴とする請求項1記載のデータ通信装置。 3、フレームを前記制御手段によりループ状につないで
、このループ状のフレームを用いてデータの受信を行い
、データの受信に当たっては、前記制御手段はループを
形成するいずれかのフレームのアドレスを受信用レジス
タに書き込み、前記バッファメモリ管理手段は受信待ち
キューのヘッドポインタおよびテイルポインタに同一の
指示値をセットして、両ポインタの指示値を同時に更新
させるとともに、 前記ループ状のフレームによる受信を中止する中止命令
のためのコマンドレジスタを設け、このコマンドレジス
タに前記制御手段からの中止命令が与えられると、前記
バッファメモリ管理手段は、前記受信待ちキューのテイ
ルポインタの更新を停止して、そのヘッドポインタのみ
を更新させることにより、前記ループを解除するように
したことを特徴とする請求項1記載のデータ通信装置。 4、前記バッファメモリ内のバッファに、制御手段によ
り設定されデータ送信後に制御手段における処理が必要
か否かを示す第1のバッファ管理フラグと、バッファメ
モリ管理手段または制御手段により設定されいずれかに
よる処理が終了した場合に当該バッファを受信のために
用いるかまたは制御手段での用途に用いるかを示す第2
のバッファ管理フラグとを記憶させ、 前記バッファメモリ管理手段は、前記バッファメモリ内
で、送信後のフレームのうち制御手段による処理が必要
なフレームをつないだ送信済キューと、バッファメモリ
管理手段または制御手段での処理が終了したフレームを
順につないだ解放待ちキューと、制御手段での用途に供
されるフレームをつないだフリーキューとを形成させる
とともに、送信処理後のフレームを前記第1のバッファ
管理フラグに従って前記送信済キューまたは解放待ちキ
ューの末尾に付け加え、解放待ちキューからのフレーム
をバッファ毎に分解して前記第2のバッファ管理フラグ
に従って前記受信待ちキューまたはフリーキューの末尾
に付け加えることを特徴とする請求項1、2または3記
載のデータ通信装置。
[Claims] 1. Transmitting and receiving processing data in a processing device using a list-structured buffer memory for each predetermined frame stored in one or more buffers, and transmitting and receiving processing data between the processing device and the buffer memory. In the data communication device, data transmission and reception are performed by a control means operating based on a predetermined processing program, the buffer memory being managed, and frames to be transmitted being sequentially designated by the pointer section within the buffer memory. A reception waiting queue is formed by connecting the connected transmission waiting queue, frames in which received data is to be stored, in order by their pointer parts, and a received queue is formed by connecting frames after data reception in order by their pointer parts. buffer memory management means having, for each queue, a head pointer that points to the first frame and a tail pointer that points to the last frame of each queue; A transmission register for adding to the end of the transmission waiting queue, and a reception register for holding an instruction value of the head pointer corresponding to the received queue and for providing the received frame to the control means. When an address indicating a transmission frame is written in the transmission register when transmitting data, the buffer memory management means adds the transmission frame to the end of the transmission waiting queue in response to this, and when receiving data,
Takes out a frame at the head of the reception waiting queue, writes received data therein, adds the frame after writing this data to the end of the received queue, and responds to reading of the value held in the reception register by the control means. The buffer memory management means extracts the head frame of the received queue and provides it to the control means, and further, when extracting the head frame of each queue, the buffer memory management means controls the pointer section of the frame indicated by the head pointer of each queue. When adding a frame to the end of each queue, the address of the frame to be added is updated to the address of the frame indicated by the tail pointer of each queue. What is claimed is: 1. A data communication device that writes a tail pointer to the address and updates a value indicated by a tail pointer at the address. 2. The control means connects the frames in a loop, and transmits data using the looped frame. When transmitting data, the control means transmits the address of one of the frames forming the loop. Writing to the trust register, the buffer memory management means sets the same instruction value to the head pointer and tail pointer of the transmission waiting queue, simultaneously updates the instruction values of both pointers, and stops the transmission using the looped frame. A command register is provided for an abort instruction, and when the abort instruction from the control means is given to the command register, the buffer memory management means stops updating the tail pointer of the transmission waiting queue and updates the head of the queue. 2. The data communication device according to claim 1, wherein the loop is released by updating only a pointer. 3. The control means connects frames in a loop, and receives data using the looped frames, and when receiving data, the control means receives an address of one of the frames forming the loop. the buffer memory management means sets the same instruction value to the head pointer and tail pointer of the reception waiting queue, simultaneously updates the instruction values of both pointers, and cancels reception by the loop frame. A command register is provided for an abort instruction, and when the abort instruction is given to the command register from the control means, the buffer memory management means stops updating the tail pointer of the receive queue and updates the head of the queue. 2. The data communication device according to claim 1, wherein the loop is released by updating only a pointer. 4. A first buffer management flag set in the buffer in the buffer memory by the control means and indicating whether processing by the control means is required after data transmission; and a first buffer management flag set by the buffer memory management means or the control means and determined by either the control means A second item indicating whether the buffer is used for reception or for use by the control means when processing is completed.
A buffer management flag is stored in the buffer memory, and the buffer memory management means stores, in the buffer memory, a transmitted queue that connects frames that need to be processed by the control means among the frames after transmission, and a buffer memory management means or control flag. A release waiting queue is formed in which frames that have been processed by the control means are sequentially connected together, and a free queue is formed by connecting frames that are used by the control means, and the frames after the transmission processing are managed by the first buffer. The frame is added to the end of the transmitted queue or the release waiting queue according to a flag, and the frames from the release waiting queue are broken down into buffers and added to the end of the reception waiting queue or free queue according to the second buffer management flag. 4. The data communication device according to claim 1, 2 or 3.
JP2033252A 1990-02-14 1990-02-14 Data communication equipment Pending JPH03236654A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2033252A JPH03236654A (en) 1990-02-14 1990-02-14 Data communication equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2033252A JPH03236654A (en) 1990-02-14 1990-02-14 Data communication equipment

Publications (1)

Publication Number Publication Date
JPH03236654A true JPH03236654A (en) 1991-10-22

Family

ID=12381307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2033252A Pending JPH03236654A (en) 1990-02-14 1990-02-14 Data communication equipment

Country Status (1)

Country Link
JP (1) JPH03236654A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015506027A (en) * 2011-12-14 2015-02-26 オプティス セルラー テクノロジー, エルエルシーOptis Cellular Technology,LLC Buffer resource management method and communication device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015506027A (en) * 2011-12-14 2015-02-26 オプティス セルラー テクノロジー, エルエルシーOptis Cellular Technology,LLC Buffer resource management method and communication device

Similar Documents

Publication Publication Date Title
US5418913A (en) System of two-way communication between processors using a single queue partitioned with pointers and limited overwrite privileges
JP2520576B2 (en) Data processing system and channel adapter
US7133981B2 (en) Prioritized bus request scheduling mechanism for processing devices
US4320455A (en) Queue structure for a data processing system
US20030126365A1 (en) Transfer of cache lines on-chip between processing cores in a multi-core system
US20080109573A1 (en) RDMA systems and methods for sending commands from a source node to a target node for local execution of commands at the target node
JPH0944424A (en) Message transmission method between remote information-processing systems
JP2007128369A (en) Data processing system and program
US20030195918A1 (en) System and method of scalable transaction processing
JPH0229849A (en) Computer, memory system and information storing apparatus
US6681270B1 (en) Effective channel priority processing for transfer controller with hub and ports
CN108470008B (en) Serial port data read-write method and device, computer equipment and storage medium
US20080109604A1 (en) Systems and methods for remote direct memory access to processor caches for RDMA reads and writes
US6708237B1 (en) Method and apparatus for managing data access and storage of data located on multiple storage devices
JP3288712B2 (en) Link cache for context data search
US7334056B2 (en) Scalable architecture for context execution
US20070180155A1 (en) Method and apparatus for implementing transfer ordering using hardware linked list
EP0037264A2 (en) Associative memory system
CN107391278A (en) A kind of front and back end communication means based on shared drive
CN108958903A (en) Embedded multi-core central processing unit method for scheduling task and device
JPH03236654A (en) Data communication equipment
KR100404374B1 (en) Method and apparatus for implementing automatic cache variable update
JPH08106443A (en) Data processing system and parallel computer
CN109426562A (en) Priority weighted robin scheduling device
JP2002198987A (en) Active port of transfer controller with hub and port