JPH0683733A - 受信制御方式 - Google Patents
受信制御方式Info
- Publication number
- JPH0683733A JPH0683733A JP4232182A JP23218292A JPH0683733A JP H0683733 A JPH0683733 A JP H0683733A JP 4232182 A JP4232182 A JP 4232182A JP 23218292 A JP23218292 A JP 23218292A JP H0683733 A JPH0683733 A JP H0683733A
- Authority
- JP
- Japan
- Prior art keywords
- area
- dma
- descriptor
- reception
- address
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 ディスクリプタのチェイニング処理の遅延に
より受信制御部で発生するオーバーランを防ぐととも
に、外部記憶領域上の受信バッファの使用効率を向上さ
せる。 【構成】 DMAコントローラ1−9,受信制御部1−
17で構成される受信回路であり、受信バッファ領域の
情報、および外部記憶領域上のディスクリプタ1−1の
情報をDMAコントローラ内のレジスタに格納し、受信
バッファの先頭アドレス、および受信バッファの空き領
域を演算する回路1−15を含む。 【効果】 フレーム長の異なる複数のフレームを受信し
た場合でも、各フレームを1つのバッファ領域へディス
クリプタのチェイニングなしにDMA転送するため、受
信制御部でのデータ転送の遅延によるオーバーランを防
ぐとともに、受信フレームを転送する外部記憶領域の受
信バッファの使用領域を削減することが可能である。
より受信制御部で発生するオーバーランを防ぐととも
に、外部記憶領域上の受信バッファの使用効率を向上さ
せる。 【構成】 DMAコントローラ1−9,受信制御部1−
17で構成される受信回路であり、受信バッファ領域の
情報、および外部記憶領域上のディスクリプタ1−1の
情報をDMAコントローラ内のレジスタに格納し、受信
バッファの先頭アドレス、および受信バッファの空き領
域を演算する回路1−15を含む。 【効果】 フレーム長の異なる複数のフレームを受信し
た場合でも、各フレームを1つのバッファ領域へディス
クリプタのチェイニングなしにDMA転送するため、受
信制御部でのデータ転送の遅延によるオーバーランを防
ぐとともに、受信フレームを転送する外部記憶領域の受
信バッファの使用領域を削減することが可能である。
Description
【0001】
【産業上の利用分野】本発明は受信回路の制御方式に関
し、特にディスクリプタを用いた受信制御方式に関す
る。
し、特にディスクリプタを用いた受信制御方式に関す
る。
【0002】
【従来の技術】従来、通信システムの受信方式におい
て、DMAコントローラが受信回路から連続して受信デ
ータを読み出し外部記憶領域上のバッファ領域に転送す
る場合、ホスト・システムがリアルタイムにDMAコン
トローラを制御することによるシステム効率の低下を防
ぐため、以下に説明するディスクリプタ制御によるDM
Aコントローラの制御方式が提案されている。
て、DMAコントローラが受信回路から連続して受信デ
ータを読み出し外部記憶領域上のバッファ領域に転送す
る場合、ホスト・システムがリアルタイムにDMAコン
トローラを制御することによるシステム効率の低下を防
ぐため、以下に説明するディスクリプタ制御によるDM
Aコントローラの制御方式が提案されている。
【0003】たとえば、通信システムにおいてハイレベ
ル・データ・リンク・コントロール手順(以下、HDL
Cと呼ぶ)によるフレームの受信を行う場合、図3に示
すようにディスクリプタ制御により受信フレームを外部
記憶領域上の複数の受信バッファ3−7,3−8,3−
9にDMA転送する。ホスト・システムは図3に示すよ
うに所定のディスクリプタ・フォーマットに従って、あ
らかじめ外部記憶領域上に複数のディスクリプタの情報
を連続した領域に設定する。各ディスクリプタ3−1の
フォーマットは、DMAコントローラ3−10に対する
制御情報を格納するコマンド領域3−2,転送データを
格納する個々の受信バッファ3−7,3−8,3−9の
先頭アドレスを示すアドレス領域3−3,転送データ数
を格納する転送サイズ領域3−4,DMA転送の実行結
果を格納するステータス領域3−5を含んでいる。
ル・データ・リンク・コントロール手順(以下、HDL
Cと呼ぶ)によるフレームの受信を行う場合、図3に示
すようにディスクリプタ制御により受信フレームを外部
記憶領域上の複数の受信バッファ3−7,3−8,3−
9にDMA転送する。ホスト・システムは図3に示すよ
うに所定のディスクリプタ・フォーマットに従って、あ
らかじめ外部記憶領域上に複数のディスクリプタの情報
を連続した領域に設定する。各ディスクリプタ3−1の
フォーマットは、DMAコントローラ3−10に対する
制御情報を格納するコマンド領域3−2,転送データを
格納する個々の受信バッファ3−7,3−8,3−9の
先頭アドレスを示すアドレス領域3−3,転送データ数
を格納する転送サイズ領域3−4,DMA転送の実行結
果を格納するステータス領域3−5を含んでいる。
【0004】ホスト・システムは最初に実行するディス
クリプタの先頭アドレスをディスクリプタ・アドレス・
レジスタ3−11に設定し、DMAコントローラ3−1
0を起動する。DMAコントローラ3−10はディスク
リプタ・アドレス・レジスタ3−11の設定値をDMA
アドレス・レジスタ3−13に、あらかじめ規定された
ディスクリプタのサイズをDMAサイズ・レジスタ3−
14にそれぞれロードする。
クリプタの先頭アドレスをディスクリプタ・アドレス・
レジスタ3−11に設定し、DMAコントローラ3−1
0を起動する。DMAコントローラ3−10はディスク
リプタ・アドレス・レジスタ3−11の設定値をDMA
アドレス・レジスタ3−13に、あらかじめ規定された
ディスクリプタのサイズをDMAサイズ・レジスタ3−
14にそれぞれロードする。
【0005】DMAコントローラ3−10はDMAアド
レス・レジスタ3−13に設定されたアドレスからDM
Aサイズ・レジスタ3−14に設定されたデータ数だけ
DMA転送を開始する。この1回目のDMA転送により
外部記憶領域上の指定されたディスクリプタ3−1のコ
マンド領域3−2,アドレス領域3−3,転送サイズ領
域3−4がDMAコントローラ3−10に読み込まれ
る。
レス・レジスタ3−13に設定されたアドレスからDM
Aサイズ・レジスタ3−14に設定されたデータ数だけ
DMA転送を開始する。この1回目のDMA転送により
外部記憶領域上の指定されたディスクリプタ3−1のコ
マンド領域3−2,アドレス領域3−3,転送サイズ領
域3−4がDMAコントローラ3−10に読み込まれ
る。
【0006】DMAコントローラ3−10は読み込んだ
コマンド領域3−2の情報を制御レジスタ3−12,ア
ドレス領域3−3の情報をDMAアドレス・レジスタ3
−13,転送サイズ領域3−4の情報をDMAサイズ・
レジスタ3−14に設定し、再びDMA転送を開始す
る。この2回目のDMA転送により、受信制御部3−1
6により受信された受信データFIFO3−17に格納
されている受信フレームの各データはディスクリプタ3
−1で指定された外部記憶領域上の受信バッファ領域3
−6に格納される。
コマンド領域3−2の情報を制御レジスタ3−12,ア
ドレス領域3−3の情報をDMAアドレス・レジスタ3
−13,転送サイズ領域3−4の情報をDMAサイズ・
レジスタ3−14に設定し、再びDMA転送を開始す
る。この2回目のDMA転送により、受信制御部3−1
6により受信された受信データFIFO3−17に格納
されている受信フレームの各データはディスクリプタ3
−1で指定された外部記憶領域上の受信バッファ領域3
−6に格納される。
【0007】2回目のDMA転送によって受信データの
転送が終了すると、3回目のDMA転送としてDMAコ
ントローラ3−10は2回目のDMA転送で実際に転送
したデータ数をサイズ領域3−4に、またDMA転送の
実行結果及び受信フレームに関する情報をステータス領
域3−5にDMA転送する。上述した3回のDMA転送
による一連の動作により、受信フレームのバッファ領域
へのデータ転送が完了する。
転送が終了すると、3回目のDMA転送としてDMAコ
ントローラ3−10は2回目のDMA転送で実際に転送
したデータ数をサイズ領域3−4に、またDMA転送の
実行結果及び受信フレームに関する情報をステータス領
域3−5にDMA転送する。上述した3回のDMA転送
による一連の動作により、受信フレームのバッファ領域
へのデータ転送が完了する。
【0008】受信フレームが大きい場合、1つの受信バ
ッファ3−7に格納できないことがある。制御レジスタ
3−12に格納された制御情報により、更にディスクリ
プタによるチェイニングが指定されていれば、DMAコ
ントローラ3−10はディスクリプタ3−1に続くディ
スクリプタのアドレスをDMAアドレス・レジスタ3−
13に設定し、ディスクリプタ3−1に続くアドレスに
格納されているディスクリプタ情報を読み出す。更にこ
の情報に従い、指定されるバッファ領域へ残りの受信フ
レームを転送するためのDMA転送を起動する。
ッファ3−7に格納できないことがある。制御レジスタ
3−12に格納された制御情報により、更にディスクリ
プタによるチェイニングが指定されていれば、DMAコ
ントローラ3−10はディスクリプタ3−1に続くディ
スクリプタのアドレスをDMAアドレス・レジスタ3−
13に設定し、ディスクリプタ3−1に続くアドレスに
格納されているディスクリプタ情報を読み出す。更にこ
の情報に従い、指定されるバッファ領域へ残りの受信フ
レームを転送するためのDMA転送を起動する。
【0009】このようにしてディスクリプタのチェイニ
ングにより、1つの受信フレームを複数のディスクリプ
タで指定される複数の受信バッファに転送することが可
能である。ディスクリプタのチェイニングは、ディスク
リプタのコマンド領域3−2で指定された制御情報によ
りチェイニングの終了を指定されるまで連続して実行さ
れる。
ングにより、1つの受信フレームを複数のディスクリプ
タで指定される複数の受信バッファに転送することが可
能である。ディスクリプタのチェイニングは、ディスク
リプタのコマンド領域3−2で指定された制御情報によ
りチェイニングの終了を指定されるまで連続して実行さ
れる。
【0010】
【発明が解決しようとする課題】たとえば、HDLCに
おいて、受信した情報フレーム(以下、Iフレームと呼
ぶ)のオーバーランを避けるために受信したIフレーム
を1つのディスクリプタで指定されるバッファ領域に転
送しようとする場合、各バッファを最大フレーム長に合
わせて用意しておかなければならないため、監視フレー
ム(以下、Sフレームと呼ぶ)、あるいは非番号制フレ
ーム(以下、Uフレームと呼ぶ)等の短いフレームを受
信した場合にも大きなバッファに転送されることにな
る。従って、外部記憶領域の利用効率が低下するという
欠点がある。
おいて、受信した情報フレーム(以下、Iフレームと呼
ぶ)のオーバーランを避けるために受信したIフレーム
を1つのディスクリプタで指定されるバッファ領域に転
送しようとする場合、各バッファを最大フレーム長に合
わせて用意しておかなければならないため、監視フレー
ム(以下、Sフレームと呼ぶ)、あるいは非番号制フレ
ーム(以下、Uフレームと呼ぶ)等の短いフレームを受
信した場合にも大きなバッファに転送されることにな
る。従って、外部記憶領域の利用効率が低下するという
欠点がある。
【0011】また、これを回避するためディスクリプタ
のチェイニングにより1つの受信フレームを複数のバッ
ファ領域に転送していた。ところが上述した従来の方法
によると、ディスクリプタのチェイニングにより1つの
受信フレームの各フィールドを複数のバッファ領域に転
送する場合、各バッファ領域へ転送する間に2回のDM
A転送が入るため時間間隔が大きくなり、高速な通信で
は受信オーバーランを発生しやすくなる。
のチェイニングにより1つの受信フレームを複数のバッ
ファ領域に転送していた。ところが上述した従来の方法
によると、ディスクリプタのチェイニングにより1つの
受信フレームの各フィールドを複数のバッファ領域に転
送する場合、各バッファ領域へ転送する間に2回のDM
A転送が入るため時間間隔が大きくなり、高速な通信で
は受信オーバーランを発生しやすくなる。
【0012】これらの結果として、外部記憶領域の使用
効率の低下、あるいは送信側からの消失フレームの再送
信処理によるホスト・システムのオーバーヘッドが大き
くなり、また回線側のスループットが低下する等、シス
テム全体の実行効率が低下するという欠点がある。
効率の低下、あるいは送信側からの消失フレームの再送
信処理によるホスト・システムのオーバーヘッドが大き
くなり、また回線側のスループットが低下する等、シス
テム全体の実行効率が低下するという欠点がある。
【0013】本発明の目的は、オーバーランを防止する
とともに受信バッファの使用効率を向上させた受信制御
方式を提供することにある。
とともに受信バッファの使用効率を向上させた受信制御
方式を提供することにある。
【0014】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係る受信制御方式は、第1の記憶手段と、
第2の記憶手段と、第3の記憶手段と、演算回路とを有
し、外部記憶領域上にあらかじめ連続して設定された複
数のディスクリプタに従って受信フレームをMDA転送
する受信制御方式であって、第1の記憶手段は、前記デ
ィスクリプタの開始アドレスを格納するものであり、第
2の記憶手段は、前記受信フレームを格納する受信バッ
ファ領域の先頭アドレスを格納するものであり、第3の
記憶手段は、前記ディスクリプタに格納される制御情報
を格納するものであり、演算回路は、記憶内容に基づい
て前記受信バッファ領域の有無を判定するものであり、
前記外部記憶領域上に格納される複数の前記ディスクリ
プタに格納される制御情報により、前記複数の受信フレ
ームを各々1つの前記ディスクリプタの情報による1回
のDMA転送で前記受信バッファの連続した領域に転送
するものである。
め、本発明に係る受信制御方式は、第1の記憶手段と、
第2の記憶手段と、第3の記憶手段と、演算回路とを有
し、外部記憶領域上にあらかじめ連続して設定された複
数のディスクリプタに従って受信フレームをMDA転送
する受信制御方式であって、第1の記憶手段は、前記デ
ィスクリプタの開始アドレスを格納するものであり、第
2の記憶手段は、前記受信フレームを格納する受信バッ
ファ領域の先頭アドレスを格納するものであり、第3の
記憶手段は、前記ディスクリプタに格納される制御情報
を格納するものであり、演算回路は、記憶内容に基づい
て前記受信バッファ領域の有無を判定するものであり、
前記外部記憶領域上に格納される複数の前記ディスクリ
プタに格納される制御情報により、前記複数の受信フレ
ームを各々1つの前記ディスクリプタの情報による1回
のDMA転送で前記受信バッファの連続した領域に転送
するものである。
【0015】また、前記第3の記憶手段は、先頭アドレ
スと終了アドレスを格納するものである。
スと終了アドレスを格納するものである。
【0016】
【作用】フレーム長の異なる複数のフレームを受信した
場合でも、各フレームを1つのバッファ領域へディスク
リプタのチェイニングなしにDMA転送するため、受信
制御部でのデータ転送の遅延によるオーバーランを防ぐ
とともに、受信フレームを転送する外部記憶領域の受信
バッファの使用領域を削減することが可能である。
場合でも、各フレームを1つのバッファ領域へディスク
リプタのチェイニングなしにDMA転送するため、受信
制御部でのデータ転送の遅延によるオーバーランを防ぐ
とともに、受信フレームを転送する外部記憶領域の受信
バッファの使用領域を削減することが可能である。
【0017】
【実施例】次に、本発明について図面を参照して説明す
る。
る。
【0018】(実施例1)図1は、本発明の実施例1の
システム構成を示すブロック図である。図中1−1は外
部記憶領域1−17に設定された複数のディスクリプタ
の一つであり、コマンド領域1−2,アドレス領域1−
3,転送サイズ領域1−4,及びステータス領域1−5
から構成されている。
システム構成を示すブロック図である。図中1−1は外
部記憶領域1−17に設定された複数のディスクリプタ
の一つであり、コマンド領域1−2,アドレス領域1−
3,転送サイズ領域1−4,及びステータス領域1−5
から構成されている。
【0019】上述したディスクリプタで制御されるDM
Aコントローラ1−10により、フレーム長が可変のI
フレームや、固定長のUフレーム、あるいはSフレーム
を受信し、指定されるバッファ領域に格納する場合、ホ
スト・システムはまずフレーム受信のためのディスクリ
プタの設定を行う。コマンド領域1−2にディスクリプ
タの制御情報,アドレス領域1−3には受信バッファの
開始アドレスではなく、受信バッファ領域1−6全体の
終了アドレスを、また転送サイズ領域1−4には受信フ
レームの最大フレーム長を設定する。さらに受信バッフ
ァ領域1−6全体の先頭アドレスを受信バッファ・アド
レス・レジスタ1−15に設定する。
Aコントローラ1−10により、フレーム長が可変のI
フレームや、固定長のUフレーム、あるいはSフレーム
を受信し、指定されるバッファ領域に格納する場合、ホ
スト・システムはまずフレーム受信のためのディスクリ
プタの設定を行う。コマンド領域1−2にディスクリプ
タの制御情報,アドレス領域1−3には受信バッファの
開始アドレスではなく、受信バッファ領域1−6全体の
終了アドレスを、また転送サイズ領域1−4には受信フ
レームの最大フレーム長を設定する。さらに受信バッフ
ァ領域1−6全体の先頭アドレスを受信バッファ・アド
レス・レジスタ1−15に設定する。
【0020】この後DMAコントローラ1−10を起動
し、連続した外部記憶領域1−17上の複数のディスク
リプタにより、受信したフレームを各ディスクリプタが
指定する外部記憶領域1−17上の各受信バッファ1−
7,1−8,1−9に転送する。以下に各ディスクリプ
タのチェイニングにより連続してDMA転送を実行し、
受信バッファ領域1−6に転送する場合の動作について
説明する。
し、連続した外部記憶領域1−17上の複数のディスク
リプタにより、受信したフレームを各ディスクリプタが
指定する外部記憶領域1−17上の各受信バッファ1−
7,1−8,1−9に転送する。以下に各ディスクリプ
タのチェイニングにより連続してDMA転送を実行し、
受信バッファ領域1−6に転送する場合の動作について
説明する。
【0021】ホスト・システムは最初に実行するディス
クリプタの先頭アドレスをディスクリプタ・アドレス・
レジスタ1−11に設定し、DMAコントローラ1−1
0を起動する。DMAコントローラ1−10はディスク
リプタ・アドレス・レジスタ1−11の設定値をDMA
アドレス・レジスタ1−13に、あらかじめ規定された
ディスクリプタのサイズをDMAサイズ・レジスタ1−
14にそれぞれロードする。DMAコントローラ1−1
0はDMAアドレス・レジスタ1−13に設定されたア
ドレスからDMAサイズ・レジスタ1−14に設定され
た数だけDMA転送を開始する。このDMA転送により
外部記憶領域1−17上の指定されたディスクリプタ1
−1のコマンド領域1−2,アドレス領域1−3,転送
サイズ領域1−4がDMAコントローラ1−10に読み
込まれ、それぞれ制御レジスタ1−12,DMAアドレ
ス・レジスタ1−13,DMAサイズ・レジスタ1−1
4に転送される。
クリプタの先頭アドレスをディスクリプタ・アドレス・
レジスタ1−11に設定し、DMAコントローラ1−1
0を起動する。DMAコントローラ1−10はディスク
リプタ・アドレス・レジスタ1−11の設定値をDMA
アドレス・レジスタ1−13に、あらかじめ規定された
ディスクリプタのサイズをDMAサイズ・レジスタ1−
14にそれぞれロードする。DMAコントローラ1−1
0はDMAアドレス・レジスタ1−13に設定されたア
ドレスからDMAサイズ・レジスタ1−14に設定され
た数だけDMA転送を開始する。このDMA転送により
外部記憶領域1−17上の指定されたディスクリプタ1
−1のコマンド領域1−2,アドレス領域1−3,転送
サイズ領域1−4がDMAコントローラ1−10に読み
込まれ、それぞれ制御レジスタ1−12,DMAアドレ
ス・レジスタ1−13,DMAサイズ・レジスタ1−1
4に転送される。
【0022】ディスクリプタの情報が制御レジスタ1−
12,DMAアドレス・レジスタ1−13,DMAサイ
ズ・レジスタ1−14に転送されると、アドレス演算回
路1−16によりDMAアドレス・レジスタ1−13に
格納された受信バッファ領域1−6の終了アドレスと、
DMAサイズ・レジスタ1−14及び受信バッファ・ア
ドレス・レジスタ1−15の和の比較を行う。受信バッ
ファ領域1−6の終了アドレスの方が大きければ受信バ
ッファ領域1−6にまだ空きがあると判断し、DMAア
ドレス・レジスタ1−13に受信バッファ1−7の先頭
アドレスである受信バッファ・アドレス・レジスタ1−
15の内容を転送する。この後2回目のDMA転送とし
て受信制御部1−18により受信され受信データFIF
O1−19に格納されている受信フレームの各データは
指定された外部記憶領域上の受信バッファ領域1−6に
DMA転送される。すなわちDMAコントローラ1−1
0は、制御レジスタ1−12,DMAアドレス・レジス
タ1−13,DMAサイズ・レジスタ1−14で指定さ
れる受信バッファ1−7へのDMA転送を開始する。
12,DMAアドレス・レジスタ1−13,DMAサイ
ズ・レジスタ1−14に転送されると、アドレス演算回
路1−16によりDMAアドレス・レジスタ1−13に
格納された受信バッファ領域1−6の終了アドレスと、
DMAサイズ・レジスタ1−14及び受信バッファ・ア
ドレス・レジスタ1−15の和の比較を行う。受信バッ
ファ領域1−6の終了アドレスの方が大きければ受信バ
ッファ領域1−6にまだ空きがあると判断し、DMAア
ドレス・レジスタ1−13に受信バッファ1−7の先頭
アドレスである受信バッファ・アドレス・レジスタ1−
15の内容を転送する。この後2回目のDMA転送とし
て受信制御部1−18により受信され受信データFIF
O1−19に格納されている受信フレームの各データは
指定された外部記憶領域上の受信バッファ領域1−6に
DMA転送される。すなわちDMAコントローラ1−1
0は、制御レジスタ1−12,DMAアドレス・レジス
タ1−13,DMAサイズ・レジスタ1−14で指定さ
れる受信バッファ1−7へのDMA転送を開始する。
【0023】このようにして、DMAサイズ・レジスタ
1−14に設定された数だけのDMA転送を終了する
か、あるいは受信フレームの最終データの転送を終了す
ると、3回目のDMA転送として2回目のDMA転送の
先頭アドレス,転送サイズ数,実行結果のステータスを
ディスクリプタのアドレス領域1−3,転送サイズ領域
1−4,ステータス領域1−5にDMA転送で書き戻
す。また次の受信フレームを格納する受信バッファ1−
8の先頭アドレス、すなわち2回目のDMA転送の先頭
アドレスに転送サイズ数を加えたアドレスを、アドレス
演算回路1−16で計算し、受信バッファ・アドレス・
レジスタ1−15に書き戻す。
1−14に設定された数だけのDMA転送を終了する
か、あるいは受信フレームの最終データの転送を終了す
ると、3回目のDMA転送として2回目のDMA転送の
先頭アドレス,転送サイズ数,実行結果のステータスを
ディスクリプタのアドレス領域1−3,転送サイズ領域
1−4,ステータス領域1−5にDMA転送で書き戻
す。また次の受信フレームを格納する受信バッファ1−
8の先頭アドレス、すなわち2回目のDMA転送の先頭
アドレスに転送サイズ数を加えたアドレスを、アドレス
演算回路1−16で計算し、受信バッファ・アドレス・
レジスタ1−15に書き戻す。
【0024】上述した3回のDMA転送で1つのIフレ
ーム、またはU/Sフレームの受信バッファ領域1−6
への転送を完了する。このあとDMAコントローラ1−
10に、チェイニングされている次のディスクリプタを
再び読み込むことにより、次に受信するフレームを転送
することが可能である。
ーム、またはU/Sフレームの受信バッファ領域1−6
への転送を完了する。このあとDMAコントローラ1−
10に、チェイニングされている次のディスクリプタを
再び読み込むことにより、次に受信するフレームを転送
することが可能である。
【0025】上述したように、DMAコントローラは受
信したフレームの種別に関係なく受信バッファ領域1−
6に連続して複数の受信フレームを転送することが可能
である。また1つの受信フレームは1つのディスクリプ
タ情報により転送される。
信したフレームの種別に関係なく受信バッファ領域1−
6に連続して複数の受信フレームを転送することが可能
である。また1つの受信フレームは1つのディスクリプ
タ情報により転送される。
【0026】このためディスクリプタ・チェイニングに
より1フレームを複数バッファ領域に転送することによ
るデータ転送の遅れを無くし、受信制御部1−18での
受信オーバーランを回避できる。また任意長のIフレー
ムや、Uフレーム,Sフレームのような短い固定長のフ
レームを連続した受信バッファ領域1−6に転送するた
め、外部記憶領域の使用効率を高めることが可能であ
る。
より1フレームを複数バッファ領域に転送することによ
るデータ転送の遅れを無くし、受信制御部1−18での
受信オーバーランを回避できる。また任意長のIフレー
ムや、Uフレーム,Sフレームのような短い固定長のフ
レームを連続した受信バッファ領域1−6に転送するた
め、外部記憶領域の使用効率を高めることが可能であ
る。
【0027】従って相手局でのフレームの再送回数が減
少し、ホスト・システムのオーバーヘッドが低減すると
共に、回線効率が向上する等、システム効率を向上させ
ることが可能である。
少し、ホスト・システムのオーバーヘッドが低減すると
共に、回線効率が向上する等、システム効率を向上させ
ることが可能である。
【0028】(実施例2)図2は、本発明の実施例2の
システム構成を示すブロック図である。実施例1では受
信バッファ領域全体の先頭アドレスを受信バッファ・ア
ドレス・レジスタに設定していたが、実施例2では先頭
アドレスと終了アドレスを設定している。
システム構成を示すブロック図である。実施例1では受
信バッファ領域全体の先頭アドレスを受信バッファ・ア
ドレス・レジスタに設定していたが、実施例2では先頭
アドレスと終了アドレスを設定している。
【0029】図中2−1は外部記憶領域2−18に設定
された複数のディスクリプタの一つであり、コマンド領
域2−2,転送サイズ領域2−3,アドレス領域2−4
及びステータス領域2−5から構成されている。
された複数のディスクリプタの一つであり、コマンド領
域2−2,転送サイズ領域2−3,アドレス領域2−4
及びステータス領域2−5から構成されている。
【0030】上述したディスクリプタで制御されるDM
Aコントローラ2−10により、フレーム長が可変のI
フレームや、固定長のUフレーム、あるいはSフレーム
を受信し、指定されるバッファ領域に格納する場合、ホ
スト・システムはまずフレーム受信のためのディスクリ
プタの設定を行う。コマンド領域2−2にディスクリプ
タの制御情報,また転送サイズ領域2−3には受信フレ
ームの最大フレーム長を設定する。受信バッファ領域2
−6全体の先頭アドレスと終了アドレスをそれぞれ受信
バッファ・先頭アドレス・レジスタ2−15,受信バッ
ファ・終了アドレス・レジスタ2−16に設定する。
Aコントローラ2−10により、フレーム長が可変のI
フレームや、固定長のUフレーム、あるいはSフレーム
を受信し、指定されるバッファ領域に格納する場合、ホ
スト・システムはまずフレーム受信のためのディスクリ
プタの設定を行う。コマンド領域2−2にディスクリプ
タの制御情報,また転送サイズ領域2−3には受信フレ
ームの最大フレーム長を設定する。受信バッファ領域2
−6全体の先頭アドレスと終了アドレスをそれぞれ受信
バッファ・先頭アドレス・レジスタ2−15,受信バッ
ファ・終了アドレス・レジスタ2−16に設定する。
【0031】この後DMAコントローラ2−10を起動
し、連続した外部記憶領域2−18上の複数のディスク
リプタにより、受信したフレームを各ディスクリプタが
指定する外部記憶領域2−18上の各受信バッファ2−
7,2−8,2−9に転送する。以下に各ディスクリプ
タのチェイニングにより連続してDMA転送を実行し、
受信バッファ領域2−6に転送する場合の動作について
説明する。
し、連続した外部記憶領域2−18上の複数のディスク
リプタにより、受信したフレームを各ディスクリプタが
指定する外部記憶領域2−18上の各受信バッファ2−
7,2−8,2−9に転送する。以下に各ディスクリプ
タのチェイニングにより連続してDMA転送を実行し、
受信バッファ領域2−6に転送する場合の動作について
説明する。
【0032】ホスト・システムは最初に実行するディス
クリプタの先頭アドレスをディスクリプタ・アドレス・
レジスタ2−11に設定し、DMAコントローラ2−1
0を起動する。DMAコントローラ2−10はディスク
リプタ・アドレス・レジスタ2−11の設定値をDMA
アドレス・レジスタ2−14に、あらかじめ規定された
ディスクリプタのサイズをDMAサイズ・レジスタ2−
13にそれぞれロードする。DMAコントローラ2−1
0はDMAアドレス・レジスタ2−14に設定されたア
ドレスからDMAサイズ・レジスタ2−13に設定され
た数だけDMA転送を開始する。このDMA転送により
外部記憶領域2−18上の指定されたディスクリプタ2
−1のコマンド領域2−2,転送サイズ領域2−3がD
MAコントローラ2−10に読み込まれ、それぞれ制御
レジスタ2−12,DMAアドレス・レジスタ2−13
に転送される。
クリプタの先頭アドレスをディスクリプタ・アドレス・
レジスタ2−11に設定し、DMAコントローラ2−1
0を起動する。DMAコントローラ2−10はディスク
リプタ・アドレス・レジスタ2−11の設定値をDMA
アドレス・レジスタ2−14に、あらかじめ規定された
ディスクリプタのサイズをDMAサイズ・レジスタ2−
13にそれぞれロードする。DMAコントローラ2−1
0はDMAアドレス・レジスタ2−14に設定されたア
ドレスからDMAサイズ・レジスタ2−13に設定され
た数だけDMA転送を開始する。このDMA転送により
外部記憶領域2−18上の指定されたディスクリプタ2
−1のコマンド領域2−2,転送サイズ領域2−3がD
MAコントローラ2−10に読み込まれ、それぞれ制御
レジスタ2−12,DMAアドレス・レジスタ2−13
に転送される。
【0033】ディスクリプタの情報が制御レジスタ2−
12,DMAサイズ・レジスタ2−13に転送される
と、アドレス演算回路2−17により受信バッファ終了
アドレス・レジスタ2−16に格納された受信バッファ
領域2−6の終了アドレスと、DMAサイズ・レジスタ
2−13及び受信バッファ・先頭アドレス・レジスタ2
−15に格納された受信バッファ領域2−6の先頭アド
レスの和の比較を行う。受信バッファ領域2−6の終了
アドレスの方が大きければ受信バッファ領域2−6にま
だ空きがあると判断し、DMAアドレス・レジスタ2−
14に受信バッファ2−7の先頭アドレスである受信バ
ッファ・先頭アドレス・レジスタ2−15の内容を転送
する。この後2回目のDMA転送として受信制御部2−
19により受信され受信データFIFO2−20に格納
されている受信フレームの各データは指定された外部記
憶領域上の受信バッファ領域2−6にDMA転送され
る。すなわちDMAコントローラ2−10は、制御レジ
スタ2−12,DMAサイズ・レジスタ2−13,DM
Aアドレス・レジスタ2−14で指定される受信バッフ
ァ2−7へのDMA転送を開始する。
12,DMAサイズ・レジスタ2−13に転送される
と、アドレス演算回路2−17により受信バッファ終了
アドレス・レジスタ2−16に格納された受信バッファ
領域2−6の終了アドレスと、DMAサイズ・レジスタ
2−13及び受信バッファ・先頭アドレス・レジスタ2
−15に格納された受信バッファ領域2−6の先頭アド
レスの和の比較を行う。受信バッファ領域2−6の終了
アドレスの方が大きければ受信バッファ領域2−6にま
だ空きがあると判断し、DMAアドレス・レジスタ2−
14に受信バッファ2−7の先頭アドレスである受信バ
ッファ・先頭アドレス・レジスタ2−15の内容を転送
する。この後2回目のDMA転送として受信制御部2−
19により受信され受信データFIFO2−20に格納
されている受信フレームの各データは指定された外部記
憶領域上の受信バッファ領域2−6にDMA転送され
る。すなわちDMAコントローラ2−10は、制御レジ
スタ2−12,DMAサイズ・レジスタ2−13,DM
Aアドレス・レジスタ2−14で指定される受信バッフ
ァ2−7へのDMA転送を開始する。
【0034】このようにして、DMAサイズ・レジスタ
2−13に設定された数だけのDMA転送を終了する
か、あるいは受信フレームの最終データの転送を終了す
ると、3回目のDMA転送として2回目のDMA転送の
先頭アドレス,転送サイズ数,実行結果のステータスを
ディスクリプタの転送サイズ領域2−3,アドレス領域
2−4,ステータス領域2−5にDMA転送で書き戻
す。また次の受信フレームを格納する受信バッファ2−
8の先頭アドレス、すなわち2回目のDMA転送の先頭
アドレスに転送サイズ数を加えたアドレスを、アドレス
演算回路2−17で計算し、受信バッファ・アドレス・
レジスタ2−15に書き戻す。
2−13に設定された数だけのDMA転送を終了する
か、あるいは受信フレームの最終データの転送を終了す
ると、3回目のDMA転送として2回目のDMA転送の
先頭アドレス,転送サイズ数,実行結果のステータスを
ディスクリプタの転送サイズ領域2−3,アドレス領域
2−4,ステータス領域2−5にDMA転送で書き戻
す。また次の受信フレームを格納する受信バッファ2−
8の先頭アドレス、すなわち2回目のDMA転送の先頭
アドレスに転送サイズ数を加えたアドレスを、アドレス
演算回路2−17で計算し、受信バッファ・アドレス・
レジスタ2−15に書き戻す。
【0035】上述した3回のDMA転送で1つのIフレ
ーム、またはU/Sフレームの受信バッファ領域2−6
への転送を完了する。このあとDMAコントローラ2−
10に、チェイニングされている次のディスクリプタを
再び読み込むことにより、次に受信するフレームを転送
することが可能である。
ーム、またはU/Sフレームの受信バッファ領域2−6
への転送を完了する。このあとDMAコントローラ2−
10に、チェイニングされている次のディスクリプタを
再び読み込むことにより、次に受信するフレームを転送
することが可能である。
【0036】上述したように、DMAコントローラは受
信したフレームの種別に関係なく受信バッファ領域2−
6に連続して複数の受信フレームを転送することが可能
である。また1つの受信フレームは1つのディスクリプ
タ情報により転送される。
信したフレームの種別に関係なく受信バッファ領域2−
6に連続して複数の受信フレームを転送することが可能
である。また1つの受信フレームは1つのディスクリプ
タ情報により転送される。
【0037】このためディスクリプタ・チェイニングに
より1フレームを複数バッファ領域に転送することによ
るデータ転送の遅れを無くし、受信制御部2−19での
受信オーバーランを回避できる。また任意長のIフレー
ムや、Uフレーム,Sフレームのような短い固定長のフ
レームを連続した受信バッファ領域2−6に転送するた
め、外部記憶領域の使用効率を高めることが可能であ
る。
より1フレームを複数バッファ領域に転送することによ
るデータ転送の遅れを無くし、受信制御部2−19での
受信オーバーランを回避できる。また任意長のIフレー
ムや、Uフレーム,Sフレームのような短い固定長のフ
レームを連続した受信バッファ領域2−6に転送するた
め、外部記憶領域の使用効率を高めることが可能であ
る。
【0038】従って相手局でのフレームの再送回数が減
少し、ホスト・システムのオーバーヘッドが低減すると
共に、回線効率が向上する等、システム効率を向上させ
ることが可能である。
少し、ホスト・システムのオーバーヘッドが低減すると
共に、回線効率が向上する等、システム効率を向上させ
ることが可能である。
【0039】
【発明の効果】以上説明したように本発明によれば、固
定長、あるいは可変長のフレームを受信しディスクリプ
タで指定されるバッファ領域へ転送する場合、受信フレ
ームの種別によらず1つのディスクリプタにより転送可
能であるため外部記憶領域の利用効率が向上する。
定長、あるいは可変長のフレームを受信しディスクリプ
タで指定されるバッファ領域へ転送する場合、受信フレ
ームの種別によらず1つのディスクリプタにより転送可
能であるため外部記憶領域の利用効率が向上する。
【0040】また各バッファ領域のデータを受信制御部
との間でDMA転送する時に、複数のディスクリプタの
チェイニングによるDMA転送の実行間隔を無視するこ
とができるので、高速な通信であっても受信制御部での
受信オーバーランを防ぐことができる。従って相手局で
のフレームの再送等によってホスト・システムがディス
クリプタを再設定するオーバーヘッドが低減すると共
に、通信回線効率が向上する等、システム効率を向上さ
せることが可能である。
との間でDMA転送する時に、複数のディスクリプタの
チェイニングによるDMA転送の実行間隔を無視するこ
とができるので、高速な通信であっても受信制御部での
受信オーバーランを防ぐことができる。従って相手局で
のフレームの再送等によってホスト・システムがディス
クリプタを再設定するオーバーヘッドが低減すると共
に、通信回線効率が向上する等、システム効率を向上さ
せることが可能である。
【図1】本発明の実施例1のシステム構成を示すブロッ
ク図である。
ク図である。
【図2】本発明の実施例2のシステム構成を示すブロッ
ク図である。
ク図である。
【図3】従来例のシステム構成を示すブロック図であ
る。
る。
1−1 ディスクリプタ 1−2 コマンド領域 1−3 アドレス領域 1−4 転送サイズ領域 1−5 ステータス領域 1−6 受信バッファ領域 1−7 受信バッファ 1−8 受信バッファ 1−9 受信バッファ 1−10 DMAコントローラ 1−11 ディスクリプタ・アドレス・レジスタ 1−12 制御レジスタ 1−13 DMAアドレス・レジスタ 1−14 DMAサイズ・レジスタ 1−15 受信バッファ・アドレス・レジスタ 1−16 アドレス演算回路 1−17 外部記憶領域 1−18 受信制御部 1−19 受信データFIFO 2−1 ディスクリプタ 2−2 コマンド領域 2−3 転送サイズ領域 2−4 アドレス領域 2−5 ステータス領域 2−6 受信バッファ領域 2−7 受信バッファ 2−8 受信バッファ 2−9 受信バッファ 2−10 DMAコントローラ 2−11 ディスクリプタ・アドレス・レジスタ 2−12 制御レジスタ 2−13 DMAサイズ・レジスタ 2−14 DMAアドレス・レジスタ 2−15 受信バッファ・先頭アドレス・レジスタ 2−16 受信バッファ・終了アドレス・レジスタ 2−17 アドレス演算回路 2−18 外部記憶領域 2−19 受信制御部 2−20 受信データFIFO
Claims (2)
- 【請求項1】 第1の記憶手段と、第2の記憶手段と、
第3の記憶手段と、演算回路とを有し、外部記憶領域上
にあらかじめ連続して設定された複数のディスクリプタ
に従って受信フレームをMDA転送する受信制御方式で
あって、 第1の記憶手段は、前記ディスクリプタの開始アドレス
を格納するものであり、 第2の記憶手段は、前記受信フレームを格納する受信バ
ッファ領域の先頭アドレスを格納するものであり、 第3の記憶手段は、前記ディスクリプタに格納される制
御情報を格納するものであり、 演算回路は、記憶内容に基づいて前記受信バッファ領域
の有無を判定するものであり、 前記外部記憶領域上に格納される複数の前記ディスクリ
プタに格納される制御情報により、前記複数の受信フレ
ームを各々1つの前記ディスクリプタの情報による1回
のDMA転送で前記受信バッファの連続した領域に転送
することを特徴とする受信制御方式。 - 【請求項2】 前記第3の記憶手段は、先頭アドレスと
終了アドレスを格納するものであることを特徴とする請
求項1に記載の受信制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4232182A JP3064688B2 (ja) | 1992-08-31 | 1992-08-31 | データ受信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4232182A JP3064688B2 (ja) | 1992-08-31 | 1992-08-31 | データ受信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0683733A true JPH0683733A (ja) | 1994-03-25 |
JP3064688B2 JP3064688B2 (ja) | 2000-07-12 |
Family
ID=16935297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4232182A Expired - Fee Related JP3064688B2 (ja) | 1992-08-31 | 1992-08-31 | データ受信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3064688B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472205B2 (en) | 2002-04-24 | 2008-12-30 | Nec Corporation | Communication control apparatus which has descriptor cache controller that builds list of descriptors |
CN103339903A (zh) * | 2011-01-28 | 2013-10-02 | 纳派泰克股份公司 | 用于接收和转发数据分组的装置和方法 |
-
1992
- 1992-08-31 JP JP4232182A patent/JP3064688B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472205B2 (en) | 2002-04-24 | 2008-12-30 | Nec Corporation | Communication control apparatus which has descriptor cache controller that builds list of descriptors |
CN103339903A (zh) * | 2011-01-28 | 2013-10-02 | 纳派泰克股份公司 | 用于接收和转发数据分组的装置和方法 |
JP2014508454A (ja) * | 2011-01-28 | 2014-04-03 | ナパテック アクティーゼルスカブ | データパケットを受信及び転送する装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3064688B2 (ja) | 2000-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW453069B (en) | Packet accessing method with parallel multiplexing feature | |
CN109688606A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
JPH0683733A (ja) | 受信制御方式 | |
KR100821125B1 (ko) | 매체접근제어 하드웨어 및 소프트웨어 처리장치 간의버퍼관리 및 수신 인터럽트 처리를 위한 장치 및 그 방법 | |
JPH04177445A (ja) | ディスクリプタ制御方式 | |
JPH05257865A (ja) | ディスクリプタ制御方式 | |
JP2937218B2 (ja) | データリンクプロトコル制御装置のバッファメモリ管理方式 | |
JPH05276221A (ja) | 受信制御方式 | |
JPH06175948A (ja) | 受信制御方式 | |
JPH11149455A (ja) | メモリディスク共有方法及びその実施装置 | |
JPH05204829A (ja) | データ転送装置 | |
JP2817535B2 (ja) | Hdlcフレーム受信制御方式 | |
JPS6165649A (ja) | 通信制御方式 | |
JP2004318315A (ja) | データ通信装置 | |
JP2971157B2 (ja) | パケット交換方式 | |
JPH02170644A (ja) | マルチメディア通信システムの優先送信方法 | |
JP3705107B2 (ja) | ストリームデータ読み出し装置 | |
JP2953362B2 (ja) | Lanのスイッチング装置 | |
JP2000132498A (ja) | Dma転送制御装置 | |
JP2602946B2 (ja) | データ受信方式 | |
JP2002215567A (ja) | Usb制御装置 | |
JP2001154976A (ja) | Dmaコントローラ及びその制御方法 | |
JP2004056348A (ja) | データ転送装置 | |
JPH0440551A (ja) | データ転送方式 | |
JPH02149049A (ja) | 通信制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |