JPH04277850A - Descriptor control system - Google Patents

Descriptor control system

Info

Publication number
JPH04277850A
JPH04277850A JP3969491A JP3969491A JPH04277850A JP H04277850 A JPH04277850 A JP H04277850A JP 3969491 A JP3969491 A JP 3969491A JP 3969491 A JP3969491 A JP 3969491A JP H04277850 A JPH04277850 A JP H04277850A
Authority
JP
Japan
Prior art keywords
descriptor
area
dma
address
transfer
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
JP3969491A
Other languages
Japanese (ja)
Inventor
Yuhei Kozu
神津 雄平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3969491A priority Critical patent/JPH04277850A/en
Publication of JPH04277850A publication Critical patent/JPH04277850A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To reduce overhead to the error frame of a host system, to improve efficiency for using an outside storage area 9 and to considerably improve system efficiency so as to report only the valid received frame to the host system. CONSTITUTION:A DMA controller 1 is connected through a bus 8 to an outside storage area 9. This outside storage area 9 is equipped with a descriptor 10 or a reception buffer area 11 and further, the descriptor 10 is equipped with a command area 12 having an overwrite select bit 13, address area 14, transfer size area 15 and status area 16. On the other hand, the DMA controller 1 reads information containing the overwrite select bit 13 in the command area 12 into a control register 3 and DMA-transfers only the valid frame in received frames to the reception buffer area 11 by selecting the address of the descriptor 10 by a descriptor address selecting circuit 7 together with the set data of a descriptor address register 2.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明はディスクリプタ制御方式
に関し、特にディスクリプタを用いてダイレクト・メモ
リ・アクセス・コントローラ(以下、DMAコントロー
ラと称す)を制御するディスクリプタ制御方式に関する
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a descriptor control system, and more particularly to a descriptor control system that uses descriptors to control a direct memory access controller (hereinafter referred to as a DMA controller).

【0002】0002

【従来の技術】従来、DMAコントローラが連続して外
部記憶領域上のバッファ領域をアクセスする場合、ホス
ト・システムがリアルタイムにDMAコントローラを制
御することによるシステム効率の低下を防ぐため、ディ
スクリプタ制御によるDMAコントローラの制御方式が
提案されている。例えば、通信システムにおいて連続し
てHDLCフレーム受信を行う場合、ディスクリプタ制
御により受信フレームを外部記憶領域上の複数のバッフ
ァ領域に連続してダイレクト・メモリ・アクセス(以下
、DMAと称す)転送する。すなわち、ホスト・システ
ムは所定のディスクリプタ・フォーマットに基づき、あ
らかじめ複数のディスクリプタの情報を外部記憶領域上
の連続した領域に設定する。
2. Description of the Related Art Conventionally, when a DMA controller continuously accesses a buffer area on an external storage area, in order to prevent system efficiency from decreasing due to the host system controlling the DMA controller in real time, DMA using descriptor control has been used. A controller control method has been proposed. For example, when continuously receiving HDLC frames in a communication system, the received frames are successively transferred to a plurality of buffer areas on an external storage area by direct memory access (hereinafter referred to as DMA) under descriptor control. That is, the host system sets information of a plurality of descriptors in advance in a continuous area on the external storage area based on a predetermined descriptor format.

【0003】図3はかかる従来の一例を説明するための
DMAコントローラおよび外部記憶領域の構成図である
。図3に示すように、DMAコントローラ1はバス8を
介して外部記憶領域9に接続されており、外部記憶領域
9は複数のディスクリプタ10と受信バッファ領域11
とを含んでいる。各ディスクリプタ10のフォーマット
はDMAコントローラ1に対する制御情報を格納するコ
マンド領域12と、転送データを格納するバッファ領域
11の先頭アドレスを示すアドレス領域14と、転送デ
ータ数を格納する転送サイズ領域15と、DMA転送の
実行結果を格納するステータス領域16とを含んでいる
。外部記憶領域9のディスクリプタ10におけるコマン
ド領域12のデータはDMAコントローラ1の制御レジ
スタ3に転送され、同様にアドレス領域14,転送サイ
ズ領域15の各データはそれぞれDMAアドレス・レジ
スタ4,DMAサイズ・レジスタ5に転送される。
FIG. 3 is a configuration diagram of a DMA controller and an external storage area for explaining an example of such a conventional system. As shown in FIG. 3, the DMA controller 1 is connected to an external storage area 9 via a bus 8, and the external storage area 9 stores a plurality of descriptors 10 and a reception buffer area 11.
Contains. The format of each descriptor 10 includes a command area 12 that stores control information for the DMA controller 1, an address area 14 that indicates the start address of the buffer area 11 that stores transfer data, and a transfer size area 15 that stores the number of transfer data. It also includes a status area 16 for storing execution results of DMA transfer. Data in the command area 12 in the descriptor 10 of the external storage area 9 is transferred to the control register 3 of the DMA controller 1, and similarly, data in the address area 14 and transfer size area 15 are transferred to the DMA address register 4 and DMA size register, respectively. Transferred to 5.

【0004】図4は図3に示す外部記憶領域のディスク
リプタおよび受信バッファ領域の対応図である。図4に
示すように、DMAコントローラ1はディスクリプタ1
0(10A〜10H)に対応するフレームすべてをホス
ト・システムに報告するとともに、受信バッファ領域1
1(11A〜11H)に書込んでいる。すなわち有効フ
レームだけでなく、エラーフレームも書込んでいる。
FIG. 4 is a diagram showing the correspondence between the descriptor of the external storage area shown in FIG. 3 and the reception buffer area. As shown in FIG. 4, the DMA controller 1 uses descriptor 1
All frames corresponding to 0 (10A to 10H) are reported to the host system, and the receive buffer area 1
1 (11A to 11H). In other words, not only valid frames but also error frames are written.

【0005】まず、ホスト・システムは最初に実行する
ディスクリプタ10の先頭アドレスをディスクリプタ・
アドレス・レジスタ2に設定し、DMAコントローラ1
を起動する。このDMAコントローラ1はディスクリプ
タ・アドレス・レジスタ2の設定値をDMAアドレス・
レジスタ4にロードし且つあらかじめ規定されたディス
クリプタ10のサイズnをDMAサイズ・レジスタ5に
ロードする。この後、ディスクリプタ・アドレス・レジ
スタ2の設定値は、加算器6によりサイズnだけインク
リメントされた値に書き換えられる。これにより、DM
Aコントローラ1はDMAアドレス・レジスタ4に設定
されたアドレスからDMAサイズ・レジスタ5に設定さ
れたデータ数だけDMA転送を開始する。この1回目の
DMA転送により外部記憶領域9上の指定されたディス
クリプタ10のコマンド領域12,アドレス領域14,
転送サイズ領域15がDMAコントローラ1に読み込ま
れる。再び、DMAコントローラ1は読み込んだコマン
ド領域12の情報を制御レジスタ3に設定し、同様にア
ドレス領域14,転送サイズ領域15の情報をそれぞれ
DMAアドレス・レジスタ4,DMAサイズ・レジスタ
5に設定し、再びDMA転送を起動する。この2回目の
DMA転送により、受信フレームの各データはディスク
リプタ10で指定された外部記憶領域9上の受信バッフ
ァ領域11に格納される。
First, the host system sets the start address of descriptor 10 to be executed first as a descriptor.
Set address register 2 and DMA controller 1
Start. This DMA controller 1 changes the set value of the descriptor address register 2 to the DMA address.
Load register 4 and load the predefined size n of descriptor 10 into DMA size register 5. Thereafter, the set value of the descriptor address register 2 is rewritten by the adder 6 to a value incremented by the size n. This allows DM
The A controller 1 starts DMA transfer for the number of data set in the DMA size register 5 from the address set in the DMA address register 4. By this first DMA transfer, the command area 12, address area 14, and
The transfer size area 15 is read into the DMA controller 1. Again, the DMA controller 1 sets the read information of the command area 12 in the control register 3, and similarly sets the information of the address area 14 and transfer size area 15 in the DMA address register 4 and DMA size register 5, respectively. Start DMA transfer again. By this second DMA transfer, each data of the received frame is stored in the reception buffer area 11 on the external storage area 9 specified by the descriptor 10.

【0006】かかる2回目のDMA転送によって受信デ
ータの転送が終了すると、3回目のDMA転送としてD
MAコントローラ1は2回目のDMA転送で実際に転送
したデータ数を転送サイズ領域15に、またDMA転送
の実行結果および受信フレームに関する情報をステータ
ス領域16にDMA転送する。上述した3回のDMA転
送による一連の動作により1回の受信バッファ領域11
のデータ転送が完了する。
[0006] When the transfer of the received data is completed by the second DMA transfer, the D is transferred as the third DMA transfer.
The MA controller 1 DMA-transfers the number of data actually transferred in the second DMA transfer to the transfer size area 15, and information regarding the execution result of the DMA transfer and the received frame to the status area 16. One reception buffer area 11 is created by the series of operations of three DMA transfers described above.
data transfer is completed.

【0007】次に、制御レジスタ3に格納された制御情
報により、更にディスクリプタ10によるDMA転送の
チェイニングが指定されていれば、DMAコントローラ
1はディスクリプタ10に続くアドレス、すなわちディ
スクリプタ・アドレス・レジスタ2に格納されている値
をDMAアドレス・レジスタ4に設定し、ディスクリプ
タ10に続くアドレスに格納されているディスクリプタ
情報を読み出す。更に、この情報に基づき、指定される
受信バッファ領域11へのデータ転送を行うためDMA
転送を起動する。このようにして、DMA転送のチェイ
ニングはディスクリプタ10のコマンド情報12で指定
されたDMAコントローラ1の制御情報によりチェイニ
ングの終了を指示されるまで連続して実行される。
Next, if the control information stored in the control register 3 further specifies DMA transfer chaining using the descriptor 10, the DMA controller 1 stores the address following the descriptor 10, that is, the descriptor address register 2. The value stored in the DMA address register 4 is set to the value stored in the DMA address register 4, and the descriptor information stored in the address following the descriptor 10 is read out. Furthermore, based on this information, the DMA is used to transfer data to the designated reception buffer area 11.
Start the transfer. In this way, chaining of DMA transfers is continuously executed until the end of chaining is instructed by the control information of the DMA controller 1 specified by the command information 12 of the descriptor 10.

【0008】[0008]

【発明が解決しようとする課題】上述した従来のディス
クリプタ制御方式は、複数のディスクリプタがチェイニ
ングされているとき、各ディスクリプタの情報に基づき
連続して受信されたフレームを順次外部記憶領域上の受
信バッファ領域にDMA転送している。
[Problems to be Solved by the Invention] In the conventional descriptor control method described above, when a plurality of descriptors are chained, consecutively received frames are sequentially received in an external storage area based on the information of each descriptor. DMA transfer is being performed to the buffer area.

【0009】しかるに、通常の通信システムでは、伝送
路や送信側・受信側の処理能力による影響により、受信
フレームがエラー・フレームとして受信されることがあ
る。しかし、受信側では1つの受信フレームの受信終了
までそのフレームがエラー・フレームであるか否かの判
定ができないので、受信フレームの受信開始とともに受
信フレームをDMA転送により外部記憶領域上の受信バ
ッファ領域に転送している。従って、外部記憶領域上の
複数の受信バッファ領域には正規の受信フレームと共に
エラー・フレーム、すなわち無効なフレームも存在する
ことになる。このため、外部記憶領域上の受信バッファ
領域の使用効率が悪くなると共に、エラー・フレーム処
理に関するホスト・システムのオーバーヘッドが大きく
なり、システム全体の実効効率が低下するという欠点が
ある。
However, in a normal communication system, a received frame may be received as an error frame due to the influence of the transmission path and the processing capabilities of the transmitting and receiving sides. However, on the receiving side, it is not possible to determine whether or not a frame is an error frame until the reception of one received frame is completed, so as soon as the reception of the received frame starts, the received frame is transferred to the reception buffer area on the external storage area by DMA transfer. is being transferred to. Therefore, error frames, that is, invalid frames, exist in the plurality of reception buffer areas on the external storage area in addition to normal reception frames. For this reason, there are disadvantages in that the usage efficiency of the receive buffer area on the external storage area deteriorates, the overhead of the host system related to error frame processing increases, and the effective efficiency of the entire system decreases.

【0010】本発明の目的は、かかるホスト・システム
のオーバーヘッドを低減させ且つ外部記憶領域の有効利
用と共にシステム効率を向上させることのできるディス
クリプタ制御方式を提供することにある。
An object of the present invention is to provide a descriptor control method that can reduce the overhead of such a host system, make effective use of external storage areas, and improve system efficiency.

【0011】[0011]

【課題を解決するための手段】本発明のディスクリプタ
制御方式は、あらかじめ連続して設定される複数のディ
スクリプタおよび受信バッファ領域を有する外部記憶領
域と、前記外部記憶領域にバス接続され且つ前記ディス
クリプタの開始アドレスを格納する第一の記憶手段と前
記ディスクリプタに格納される制御情報を格納する第二
の記憶手段と前記ディスクリプタの次のディスクリプタ
の開始アドレスを算出する加算手段および前記ディスク
リプタによるダイレクト・メモリ・アクセス転送の実行
結果を判定し且つ前記2つのディスクリプタの開始アド
レスを選択するディスクリプタ・アドレス選択手段とを
有するダイレクト・メモリ・アクセス・コントローラと
を備え、前記ダイレクト・メモリ・アクセス転送の実行
結果により前記ディスクリプタによるDMA転送を繰り
返し実行可能であることを指定するオーバーライト選択
ビット情報を前記外部記憶領域の前記ディスクリプタに
保有することにより、前記ディスクリプタによる複数回
の前記ダイレクト・メモリ・アクセス転送を行うように
構成される。
[Means for Solving the Problems] The descriptor control system of the present invention includes an external storage area having a plurality of descriptors and a reception buffer area that are successively set in advance, and a descriptor control system that is connected to the external storage area by a bus and that stores the descriptors. a first storage means for storing a start address; a second storage means for storing control information stored in the descriptor; an addition means for calculating a start address of a descriptor next to the descriptor; a direct memory access controller having descriptor address selection means for determining the execution result of the access transfer and selecting a start address of the two descriptors, By retaining overwrite selection bit information in the descriptor of the external storage area that specifies that DMA transfer by the descriptor can be repeatedly executed, the direct memory access transfer can be performed multiple times by the descriptor. configured.

【0012】0012

【実施例】次に、本発明の実施例について図面を参照し
て説明する。
Embodiments Next, embodiments of the present invention will be described with reference to the drawings.

【0013】図1は本発明の一実施例を説明するための
DMAコントローラおよび外部記憶領域の構成図である
。図1に示すように、本実施例はDMAコントローラ1
と外部記憶領域9とをバス8により接続しており、その
外部記憶領域9はコマンド領域12,アドレス領域14
,転送サイズ領域15およびステータス領域16を含む
ディスクリプタ10と、受信バッファ領域11とを有す
る。特に、このコマンド領域12はオーバーライト選択
ビット13を含んで構成される。このオーバーライト選
択ビット13はエラー・フレームが格納されている受信
バッファ領域11のオーバーライトが可能か否かを決定
する。すなわち、オーバーライト選択ビット13がイン
アクティブであれば、受信フレームはディスクリプタ1
0のアドレス領域14で指定されるアドレスを先頭アド
レスとする受信バッファ領域11に転送され、次の受信
フレームはディスクリプタ10に続くアドレスに格納さ
れている他のディスクリプタの情報によりDMA転送さ
れる。また、オーバーライト選択ビット13がアクティ
ブであれば、受信フレームがエラー・フレームであった
場合のみ、次の受信フレームもディスクリプタ10のア
ドレス領域14で指定されるアドレスを先頭アドレスと
する受信バッファ領域11に転送される。一方、DMA
コントローラ1は、前述した図3の従来例と比較し、加
算器6の出力とディスクリプタアドレス・レジスタ2に
設定された値およびオーバーライト選択ビット13を表
わす情報Aを入力してディスクリプタ10のアドレスを
選択するディスクリプタアドレス選択回路7を付加した
点が異なり、その他は同様である。
FIG. 1 is a configuration diagram of a DMA controller and an external storage area for explaining one embodiment of the present invention. As shown in FIG. 1, this embodiment uses a DMA controller 1
and an external storage area 9 are connected by a bus 8, and the external storage area 9 has a command area 12 and an address area 14.
, a descriptor 10 including a transfer size area 15 and a status area 16, and a reception buffer area 11. In particular, this command area 12 includes an overwrite selection bit 13. This overwrite selection bit 13 determines whether overwriting of the receive buffer area 11 in which error frames are stored is possible. That is, if overwrite selection bit 13 is inactive, the received frame will be descriptor 1.
The received frame is transferred to the receive buffer area 11 with the address specified in the address area 14 of 0 as the first address, and the next received frame is DMA transferred based on the information of other descriptors stored in the address following the descriptor 10. In addition, if the overwrite selection bit 13 is active, only if the received frame is an error frame, the next received frame will also be placed in the receive buffer area 11 whose starting address is the address specified in the address area 14 of the descriptor 10. will be forwarded to. On the other hand, DMA
In comparison with the conventional example shown in FIG. The difference is that a descriptor address selection circuit 7 for selection is added, and the rest is the same.

【0014】上述した外部記憶領域9のディスクリプタ
10で制御されるDMAコントローラ1により有効な受
信フレームのみを連続して受信バッファ領域11に格納
し且つエラー・フレームをすべて廃棄する場合、ホスト
・システムはまず各ディスクリプタ10のオーバーライ
ト選択ビット13をすべてアクティブに設定する。この
後、DMAコントローラ1を起動し、連続した外部記憶
領域9上の複数のディスクリプタ10により、各ディス
クリプタ10が指定する外部記憶領域9上の各受信バッ
ファ領域11へ転送を開始する。各ディスクリプタ10
のチェイニングにより連続してDMA転送を実行してい
る途中でエラー・フレームを受信すると、そのチェイニ
ングを中断し且つそのディスクリプタ10で指定される
受信バッファ領域11へ次に受信される最初の有効フレ
ームを再転送し再びディスクリプタ10のチェイニング
を続行する。以下、かかる場合の動作について説明する
When the DMA controller 1 controlled by the descriptor 10 of the external storage area 9 described above continuously stores only valid reception frames in the reception buffer area 11 and discards all error frames, the host system First, all overwrite selection bits 13 of each descriptor 10 are set to active. Thereafter, the DMA controller 1 is started, and the plurality of descriptors 10 on the continuous external storage area 9 start transferring to each receive buffer area 11 on the external storage area 9 specified by each descriptor 10. Each descriptor 10
If an error frame is received during successive DMA transfers by chaining, the chaining is interrupted and the next received valid frame is transferred to the receive buffer area 11 specified by the descriptor 10. The frame is retransmitted and chaining of descriptors 10 is continued again. The operation in such a case will be explained below.

【0015】ホスト・システムは最初に実行するディス
クリプタ10の先頭アドレスをディスクリプタ・アドレ
ス・レジスタ2に設定し、DMAコントローラ1を起動
する。このDMAコントローラ1はディスクリプタ・ア
ドレス・レジスタ2の設定値をDMAアドレス・レジス
タ4に、またあらかじめ規定されたディスクリプタ10
のサイズnをDMAサイズ・レジスタ5にそれぞれロー
ドする。DMAコントローラ1はDMAアドレス・レジ
スタ4に設定されたアドレスからDMAサイズ・レジス
タ5に設定されたデータ数だけDMA転送を開始する。 この1回目のDMA転送により、外部記憶領域9上の指
定されたディスクリプタ10のコマンド領域12,アド
レス領域14,転送サイズ領域15がDMAコントロー
ラ1に読み込まれる。DMAコントローラ1は読み込ん
だコマンド領域12の情報を制御レジスタ3に、またア
ドレス領域14の情報をDMAアドレス・レジスタ4に
、更に転送サイズ領域15の情報をDMAサイズ・レジ
スタ5にそれぞれ設定し、再びDMA転送を起動する。 この2回目のDMA転送により、受信データはディスク
リプタ10で指定された外部記憶領域9上の受信バッフ
ァ領域11に転送される。
The host system sets the start address of the descriptor 10 to be executed first in the descriptor address register 2, and starts the DMA controller 1. This DMA controller 1 transfers the setting value of the descriptor address register 2 to the DMA address register 4, and also transfers the setting value of the descriptor address register 2 to the DMA address register 4
The size n of each is loaded into the DMA size register 5. The DMA controller 1 starts DMA transfer by the number of data set in the DMA size register 5 from the address set in the DMA address register 4. By this first DMA transfer, the command area 12, address area 14, and transfer size area 15 of the designated descriptor 10 on the external storage area 9 are read into the DMA controller 1. The DMA controller 1 sets the read information of the command area 12 to the control register 3, the information of the address area 14 to the DMA address register 4, and the information of the transfer size area 15 to the DMA size register 5. Start DMA transfer. By this second DMA transfer, the received data is transferred to the receive buffer area 11 on the external storage area 9 designated by the descriptor 10.

【0016】かかる2回目のDMA転送によって受信フ
レームの転送が終了すると、この受信フレームがエラー
・フレームであるか否かを確認する。もし、エラー・フ
レームでなければ3回目のDMA転送としてDMAコン
トローラ1は2回目のDMA転送で実際に転送したデー
タ数を転送サイズ領域15に、またDMA転送の実行結
果および受信フレームに関する情報をステータス領域1
6にそれぞれDMA転送する。上述した3回のDMA転
送による一連の動作により1回の受信バッファ領域11
のデータ転送が完了する。この後、このディスクリプタ
10に続くアドレス、すなわちDMAコントローラ1の
加算器6によりディスクリプタ・アドレス・レジスタ2
の設定値にディスクリプタ10のサイズnが加算された
値が、ディスクリプタ・アドレス選択回路7により指定
され、DMAアドレス・レジスタ4およびディスクリプ
タ・アドレス・レジスタ2に転送される。従って、次の
受信フレームは新しいディスクリプタ10の情報により
DMA転送される。
[0016] When the transfer of the received frame is completed by the second DMA transfer, it is checked whether or not this received frame is an error frame. If it is not an error frame, as the third DMA transfer, the DMA controller 1 records the number of data actually transferred in the second DMA transfer in the transfer size area 15, and also records information regarding the execution result of the DMA transfer and the received frame in the status. Area 1
6, respectively. One reception buffer area 11 is created by the series of operations of three DMA transfers described above.
data transfer is completed. After this, the address following this descriptor 10, that is, the adder 6 of the DMA controller 1 is used to register the descriptor address register 2.
A value obtained by adding the size n of the descriptor 10 to the set value is designated by the descriptor address selection circuit 7 and transferred to the DMA address register 4 and the descriptor address register 2. Therefore, the next received frame is transferred by DMA using the new descriptor 10 information.

【0017】一方、受信フレームがエラー・フレームで
あった場合、DMAコントローラ1は3回目のDMA転
送を行わずに、ディスクリプタ10に関する一連の動作
を終了する。この後、次のディスクリプタ10の先頭ア
ドレスとしてディスクリプタ・アドレス・レジスタ2の
設定値がディスクリプタ・アドレス選択回路7により選
択され、DMAアドレス・レジスタ4に転送される。こ
のとき、ディスクリプタ・アドレス・レジスタ2の内容
は更新されない。従って、DMAコントローラ1は次の
ディスクリプタとして再びディスクリプタ10をDMA
転送で読み込み、次の受信フレームに対するDMA転送
を行う。このように、DMAコントローラ1はエラーの
ないフレームを受信するまでディスクリプタ10の情報
に基づき繰り返し同一の受信バッファ領域11にDMA
転送を行うので、有効な受信フレームのみが外部記憶領
域9上の受信バッファ領域11に格納される。
On the other hand, if the received frame is an error frame, the DMA controller 1 ends the series of operations regarding the descriptor 10 without performing the third DMA transfer. Thereafter, the set value of the descriptor address register 2 is selected by the descriptor address selection circuit 7 as the start address of the next descriptor 10 and transferred to the DMA address register 4. At this time, the contents of descriptor address register 2 are not updated. Therefore, the DMA controller 1 again uses descriptor 10 as the next descriptor.
It is read by transfer and performs DMA transfer for the next received frame. In this way, the DMA controller 1 repeatedly transfers DMA data to the same receive buffer area 11 based on the information in the descriptor 10 until it receives an error-free frame.
Since the transfer is performed, only valid received frames are stored in the receive buffer area 11 on the external storage area 9.

【0018】図2は図1に示す外部記憶領域のディスク
リプタおよび受信バッファ領域の対応図である。図2に
示すように、本実施例のディスクリプタ制御方式では、
ホスト・システムに対してエラー・フレームを受信した
ことを報告せず、有効受信フレーム11A〜11Dのみ
を報告するため、ホスト・システムのエラー・フレーム
処理に関するオーバーヘッドを低減することが可能であ
り、また外部記憶領域9上の受信バッファ領域11には
有効フレーム11A〜11Dしか格納しないので、未使
用領域11E〜11Hを増やし、外部記憶領域9の使用
効率を向上させるので、システム効率を大幅に向上させ
ることが可能である。
FIG. 2 is a correspondence diagram of the descriptor of the external storage area shown in FIG. 1 and the reception buffer area. As shown in FIG. 2, in the descriptor control method of this embodiment,
Since the reception of error frames is not reported to the host system, and only valid received frames 11A to 11D are reported, it is possible to reduce the overhead related to error frame processing in the host system. Since only valid frames 11A to 11D are stored in the reception buffer area 11 on the external storage area 9, the unused areas 11E to 11H are increased and the usage efficiency of the external storage area 9 is improved, thereby greatly improving system efficiency. Is possible.

【0019】また、上述した本実施例は図1に示す外部
記憶領域9のディスクリプタ10からステータス領域1
6を削除して構成することも可能である。この場合は前
述した一実施例の場合と同様に、ホスト・システムは最
初に実行するディスクリプタ10の先頭アドレスをディ
スクリプタ・アドレス・レジスタ2に設定し、DMAコ
ントローラ1を起動する。DMAコントローラ1はディ
スクリプタ・アドレス・レジスタ2の設定値をDMAア
ドレス・レジスタ4に、またあらかじめ規定されたディ
スクリプタ10のサイズnをDMAサイズ・レジスタ5
にそれぞれロードする。これにより、DMAコントロー
ラ1はDMAアドレス・レジスタ4に設定されたアドレ
スからDMAサイズ・レジスタ5に設定されたデータ数
nだけのDMA転送を開始する。この1回目のDMA転
送により、外部記憶領域9上の指定されたディスクリプ
タ10のコマンド領域12,アドレス領域14,転送サ
イズ領域15のデータがDMAコントローラ1に読み込
まれる。DMAコントローラ1は読み込んだコマンド領
域12の情報を制御レジスタ3に、またアドレス領域1
4の情報をDMAアドレス・レジスタ4に、更に転送サ
イズ領域15の情報をDMAサイズ・レジスタ4にそれ
ぞれ設定し、再びDMA転送を開始する。この2回目の
DMA転送により、ディスクリプタ10で指定された外
部記憶領域9上の受信バッファ領域11に受信フレーム
の転送が行われる。この2回目のDMA転送によって受
信フレームの転送が終了すると、受信フレームがエラー
・フレームであるか否か判定する。エラー・フレームで
なければ、3回目のDMA転送としてDMAコントロー
ラ1は2回目のDMA転送で実際に転送したデータ数お
よび実行結果に関する情報をディスクリプタ10以外の
あらかじめ指定された外部記憶領域9上にDMA転送す
る。この方式は各ディスクリプタ10の2回目のDMA
転送実行に関する情報量が可変の場合に有効である。こ
の後、このディスクリプタ10に続くアドレス、すなわ
ち加算器6によりディスクリプタ・アドレス・レジスタ
2の設定値にディスクリプタ10のサイズnが加算され
た値が、ディスクリプタ・アドレス選択回路7により指
定され、DMAアドレス・レジスタ4およびディスクリ
プタ・アドレス・レジスタ2に転送される。従って、次
の受信フレームは新しいディスクリプタ10の情報によ
りDMA転送される。一方、受信フレームがエラー・フ
レームであった場合、DMAコントローラ1は3回目の
DMA転送を行わずに、ディスクリプタ10に関する一
連の動作を終了する。この後、次のディスクリプタ10
の先頭アドレスとして、ディスクリプタ・アドレス・レ
ジスタ2の設定値がディスクリプタ・アドレス選択回路
7により選択され、DMAアドレス・レジスタ4に転送
される。このとき、ディスクリプタ・アドレス・レジス
タ2の内容は更新されない。従って、DMAコントロー
ラ1は次のディスクリプタとして再びディスクリプタ1
0をDMA転送で読み込み、次の受信フレームに対する
DMA転送を行う。このように、DMAコントローラ1
はエラーのないフレームを受信するまでディスクリプタ
10の情報に基づき繰り返し同一の受信バッファ領域1
1にDMA転送を行うので、有効な受信フレームのみを
外部記憶領域9上の受信バッファ領域11に格納するこ
とができる。
Furthermore, in the present embodiment described above, the status area 1 is transferred from the descriptor 10 of the external storage area 9 shown in FIG.
It is also possible to configure by deleting 6. In this case, the host system sets the start address of the descriptor 10 to be executed first in the descriptor address register 2, and starts the DMA controller 1, as in the above-described embodiment. The DMA controller 1 stores the setting value of the descriptor address register 2 in the DMA address register 4, and also stores the predefined size n of the descriptor 10 in the DMA size register 5.
Load each into As a result, the DMA controller 1 starts DMA transfer of the number n of data set in the DMA size register 5 from the address set in the DMA address register 4. By this first DMA transfer, data in the command area 12, address area 14, and transfer size area 15 of the designated descriptor 10 on the external storage area 9 is read into the DMA controller 1. The DMA controller 1 transfers the read information of the command area 12 to the control register 3 and also transfers it to the address area 1.
4 is set in the DMA address register 4, and information in the transfer size area 15 is set in the DMA size register 4, and DMA transfer is started again. By this second DMA transfer, the received frame is transferred to the receive buffer area 11 on the external storage area 9 specified by the descriptor 10. When the transfer of the received frame is completed by this second DMA transfer, it is determined whether the received frame is an error frame. If it is not an error frame, as the third DMA transfer, the DMA controller 1 transfers information regarding the number of data actually transferred in the second DMA transfer and the execution results to a prespecified external storage area 9 other than the descriptor 10. Forward. This method is used for the second DMA of each descriptor 10.
This is effective when the amount of information regarding transfer execution is variable. Thereafter, the address following this descriptor 10, that is, the value obtained by adding the size n of the descriptor 10 to the setting value of the descriptor address register 2 by the adder 6, is specified by the descriptor address selection circuit 7, and the DMA address Transferred to register 4 and descriptor address register 2. Therefore, the next received frame is transferred by DMA using the new descriptor 10 information. On the other hand, if the received frame is an error frame, the DMA controller 1 ends the series of operations related to the descriptor 10 without performing the third DMA transfer. After this, the next descriptor 10
The set value of the descriptor address register 2 is selected by the descriptor address selection circuit 7 as the start address of the DMA address register 4, and is transferred to the DMA address register 4. At this time, the contents of descriptor address register 2 are not updated. Therefore, DMA controller 1 again selects descriptor 1 as the next descriptor.
0 is read by DMA transfer, and DMA transfer is performed for the next received frame. In this way, DMA controller 1
repeats the same receive buffer area 1 based on the information in descriptor 10 until it receives an error-free frame.
Since DMA transfer is performed in 1, only valid received frames can be stored in the receive buffer area 11 on the external storage area 9.

【0020】[0020]

【発明の効果】以上説明したように、本発明のディスク
リプタ制御方式は、再実行させるディスクリプタを予め
ディスクリプタ内のオーバーライト選択ビットにより指
定することにより、連続した外部記憶領域上に格納され
た複数のディスクリプタのチェイニングに基づき外部記
憶領域上の複数の受信バッファ領域にDMA転送してい
る途中でエラー・フレームを受信しても、その受信バッ
ファ領域へのみ次に受信する有効フレームを再転送した
後、再び中断したディスクリプタのチェイニングを続行
させることができる。このため、ホスト・システムに対
してエラー・フレームを受信したことを報告せずに有効
受信フレームのみを報告するため、ホスト・システムの
エラー・フレーム処理に関するオーバーヘッドを低減す
ることができるという効果があり、また外部記憶領域上
の受信バッファ領域には有効フレームしか格納されない
ので、外部記憶領域の使用効率を向上させると共にシス
テム効率を大幅に向上できるという効果がある。
As explained above, the descriptor control method of the present invention allows the descriptor to be re-executed to be specified in advance by the overwrite selection bit in the descriptor, thereby controlling multiple Even if an error frame is received during DMA transfer to multiple receive buffer areas on an external storage area based on descriptor chaining, the next valid frame to be received will be retransferred only to that receive buffer area. , the interrupted descriptor chaining can be continued again. Therefore, only valid received frames are reported without reporting to the host system that an error frame has been received, which has the effect of reducing the overhead associated with error frame processing in the host system. Moreover, since only valid frames are stored in the reception buffer area on the external storage area, there is an effect that the usage efficiency of the external storage area can be improved and the system efficiency can be greatly improved.

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

【図1】本発明の一実施例を説明するためのDMAコン
トローラおよび外部記憶領域の構成図である。
FIG. 1 is a configuration diagram of a DMA controller and an external storage area for explaining one embodiment of the present invention.

【図2】図1に示す外部記憶領域のディスクリプタおよ
び受信バッファ領域の対応図である。
FIG. 2 is a correspondence diagram of a descriptor of an external storage area and a reception buffer area shown in FIG. 1;

【図3】従来の一例を説明するためのDMAコントロー
ラおよび外部記憶領域の構成図である。
FIG. 3 is a configuration diagram of a DMA controller and an external storage area for explaining a conventional example.

【図4】図3に示す外部記憶領域のディスクリプタおよ
び受信バッファ領域の対応図である。
FIG. 4 is a correspondence diagram of a descriptor of an external storage area and a reception buffer area shown in FIG. 3;

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

1    DMAコントローラ 2    ディスクリプタアドレス・レジスタ3   
 制御レジスタ 4    DMAアドレス・レジスタ 5    DMAサイズ・レジスタ 6    加算器 7    ディスクリプタアドレス選択回路8    
バス 9    外部記憶領域 10    ディスクリプタ 11    受信バッファ領域 12    コマンド領域 13    オーバーライト選択ビット14    ア
ドレス領域 15    転送サイズ領域 16    ステータス領域
1 DMA controller 2 Descriptor address register 3
Control register 4 DMA address register 5 DMA size register 6 Adder 7 Descriptor address selection circuit 8
Bus 9 External storage area 10 Descriptor 11 Receive buffer area 12 Command area 13 Overwrite selection bit 14 Address area 15 Transfer size area 16 Status area

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  あらかじめ連続して設定される複数の
ディスクリプタおよび受信バッファ領域を有する外部記
憶領域と、前記外部記憶領域にバス接続され且つ前記デ
ィスクリプタの開始アドレスを格納する第一の記憶手段
と前記ディスクリプタに格納される制御情報を格納する
第二の記憶手段と前記ディスクリプタの次のディスクリ
プタの開始アドレスを算出する加算手段および前記ディ
スクリプタによるダイレクト・メモリ・アクセス転送の
実行結果を判定し且つ前記2つのディスクリプタの開始
アドレスを選択するディスクリプタ・アドレス選択手段
とを有するダイレクト・メモリ・アクセス・コントロー
ラとを備え、前記ダイレクト・メモリ・アクセス転送の
実行結果により前記ディスクリプタによるDMA転送を
繰り返し実行可能であることを指定するオーバーライト
選択ビット情報を前記外部記憶領域の前記ディスクリプ
タに保有することにより、前記ディスクリプタによる複
数回の前記ダイレクト・メモリ・アクセス転送を行うこ
とを特徴とするディスクリプタ制御方式。
1. An external storage area having a plurality of descriptors and a reception buffer area that are consecutively set in advance; a first storage means connected to the external storage area by a bus and storing a start address of the descriptor; a second storage means for storing control information stored in a descriptor; an addition means for calculating a start address of a descriptor next to the descriptor; and a second storage means for determining the execution result of the direct memory access transfer by the descriptor; a direct memory access controller having descriptor address selection means for selecting a start address of a descriptor, and the DMA transfer using the descriptor can be repeatedly executed based on the execution result of the direct memory access transfer. A descriptor control method characterized in that the direct memory access transfer is performed a plurality of times using the descriptor by holding specified overwrite selection bit information in the descriptor of the external storage area.
JP3969491A 1991-03-06 1991-03-06 Descriptor control system Pending JPH04277850A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3969491A JPH04277850A (en) 1991-03-06 1991-03-06 Descriptor control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3969491A JPH04277850A (en) 1991-03-06 1991-03-06 Descriptor control system

Publications (1)

Publication Number Publication Date
JPH04277850A true JPH04277850A (en) 1992-10-02

Family

ID=12560147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3969491A Pending JPH04277850A (en) 1991-03-06 1991-03-06 Descriptor control system

Country Status (1)

Country Link
JP (1) JPH04277850A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183080A (en) * 2000-12-15 2002-06-28 Mega Chips Corp Data transfer controlling device and data transferring method
US7716390B2 (en) 2006-08-11 2010-05-11 Fujitsu Microelectronics Limited Direct memory access controller
JP2011103129A (en) * 2010-11-29 2011-05-26 Mega Chips Corp Data transfer controller and data transfer method
US9463692B2 (en) 2007-03-29 2016-10-11 Cypress Semiconductor Corporation Display control device to display image data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183080A (en) * 2000-12-15 2002-06-28 Mega Chips Corp Data transfer controlling device and data transferring method
US7716390B2 (en) 2006-08-11 2010-05-11 Fujitsu Microelectronics Limited Direct memory access controller
US8606974B2 (en) 2006-08-11 2013-12-10 Fujitsu Semiconductor Limited Direct memory access controller
US9463692B2 (en) 2007-03-29 2016-10-11 Cypress Semiconductor Corporation Display control device to display image data
JP2011103129A (en) * 2010-11-29 2011-05-26 Mega Chips Corp Data transfer controller and data transfer method

Similar Documents

Publication Publication Date Title
US7069373B2 (en) USB endpoint controller flexible memory management
JPH04277850A (en) Descriptor control system
US6112261A (en) Data transferring system reading and temporarily storing a record until a length of the record is different from a defined record length parameter value
JPH04177445A (en) Descriptor control system
JP2570187B2 (en) DMA transfer apparatus and method
JPS6335139B2 (en)
JP4478298B2 (en) Data transfer system
JP2718690B2 (en) Communication control system
KR20040066311A (en) Apparatus and method for data transmission in dma
KR100615694B1 (en) Control system for controlling plural function block
JPH11149455A (en) Memory disk sharing method and its executing device
JP2522412B2 (en) Communication method between programmable controller and input / output device
JP2000040057A (en) Computer system, buffer controller and transferring method
JPS6240736B2 (en)
JPS61123244A (en) Data communication processor
JP2738314B2 (en) Switching system of N + 1 redundant circuit controller
JP2817535B2 (en) HDLC frame reception control method
JPH0831076B2 (en) I / O processor
JPS6165649A (en) Communication control system
JPH05276221A (en) Reception control system
JP3227273B2 (en) Link processing method of programmable controller
JPH05233100A (en) External storage device initializing system
JPH0683733A (en) Reception control system
JP3457084B2 (en) Packet bus controller
JPH05227223A (en) Data transfer system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010227