JPH04177445A - ディスクリプタ制御方式 - Google Patents
ディスクリプタ制御方式Info
- Publication number
- JPH04177445A JPH04177445A JP2303448A JP30344890A JPH04177445A JP H04177445 A JPH04177445 A JP H04177445A JP 2303448 A JP2303448 A JP 2303448A JP 30344890 A JP30344890 A JP 30344890A JP H04177445 A JPH04177445 A JP H04177445A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- descriptor
- transfer
- area
- data
- 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
Links
- 238000000034 method Methods 0.000 claims description 10
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 34
- 235000014676 Phragmites communis Nutrition 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 101001093690 Homo sapiens Protein pitchfork Proteins 0.000 description 2
- 102100036065 Protein pitchfork Human genes 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Bus Control (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はディスクリプタ制御方式に関し、特にDMAコ
ントローラの制御のディスクリプタ制御方式に関する。
ントローラの制御のディスクリプタ制御方式に関する。
従来、DMAコントローラにより、連続して外部記憶領
域上のバッファ領域をアクセスする場合、ホスト・シス
テムがリアルタイムにDMAコントローラを制御するこ
とによるシステム効率の低下を防ぐため、以下に説明す
るディスクリプタ制御方式によるDMAコントローラの
制御方法が提案されている。
域上のバッファ領域をアクセスする場合、ホスト・シス
テムがリアルタイムにDMAコントローラを制御するこ
とによるシステム効率の低下を防ぐため、以下に説明す
るディスクリプタ制御方式によるDMAコントローラの
制御方法が提案されている。
たとえば、通信システムにおいて連続してデータ送信を
行う場合、複数のバッファ領域に格納されている送信デ
ータを連続して送信制御部にDMA転送する。ホスト・
システムは、第3図に示すように所定のディスクリプタ
・フォーマットに従って、あらかじめ外部記憶領域3−
11上に複数のディスクリプタの情報を連続した領域に
設定する。それぞれのディスクリプタ3−1のフォーマ
ットは、第3図に示すように、DMAコントローラー3
−6に対する制御情報を格納するコマンド領域3−2、
転送データが格納されているバッファ領域の先頭アドレ
スを示すアドレス領域3−3、転送データ数を格納する
転送サイズ領域3−4およびDMA転送の実行結果を格
納するステータス領域3−5を含んでいる。
行う場合、複数のバッファ領域に格納されている送信デ
ータを連続して送信制御部にDMA転送する。ホスト・
システムは、第3図に示すように所定のディスクリプタ
・フォーマットに従って、あらかじめ外部記憶領域3−
11上に複数のディスクリプタの情報を連続した領域に
設定する。それぞれのディスクリプタ3−1のフォーマ
ットは、第3図に示すように、DMAコントローラー3
−6に対する制御情報を格納するコマンド領域3−2、
転送データが格納されているバッファ領域の先頭アドレ
スを示すアドレス領域3−3、転送データ数を格納する
転送サイズ領域3−4およびDMA転送の実行結果を格
納するステータス領域3−5を含んでいる。
ホスト・システムは、最初に実行するディスクリプタ3
−1の先頭アドレスを、ディスクリプタ・アドレス・レ
ジスタ3−7に設定し、DAMコントローラ3−6を起
動する。DMAコントローラ3−6は、ディスクリプタ
・アドレス・レジスタ3−7の設定値をDMAアドレス
・レジスタ3−9に、あらかじめ規定されたディスクリ
プタ3−1のサイズをDMAサイズ・レジスタ3−10
にそれぞれロードする。DMAコントローラ3−6は、
DMAアドレス・レジスタ3−9に設定されたアドレス
から、DMAサイズ・レジスタ3−10に設定されたデ
ータ数だけDMA転送を開始する。この1回目のDMA
転送により、外部記憶領域上の指定されたディスクリプ
タ3−1のコマンド領域3−2、アドレス領域3−3、
転送サイズ領域3−4がDMAコントローラ3−6に読
み込まれる。DMAコントローラ3−6は、読み込んだ
コマンド領域の情報を制御レジスタ3−8、アドレス領
域3−3の情報をDMAアドレス・レジスタ3−9、転
送サイズ領域3−4の情報をDMAサイズ・レジスタ3
−10に設定し、再びDMA転送を開始する。この2回
目のDMA転送により、ディスクリプタ3−1で指定さ
れた外部記憶領域上のバッファ領域に格納された送信デ
ータの送信制御部への転送が行われる。
−1の先頭アドレスを、ディスクリプタ・アドレス・レ
ジスタ3−7に設定し、DAMコントローラ3−6を起
動する。DMAコントローラ3−6は、ディスクリプタ
・アドレス・レジスタ3−7の設定値をDMAアドレス
・レジスタ3−9に、あらかじめ規定されたディスクリ
プタ3−1のサイズをDMAサイズ・レジスタ3−10
にそれぞれロードする。DMAコントローラ3−6は、
DMAアドレス・レジスタ3−9に設定されたアドレス
から、DMAサイズ・レジスタ3−10に設定されたデ
ータ数だけDMA転送を開始する。この1回目のDMA
転送により、外部記憶領域上の指定されたディスクリプ
タ3−1のコマンド領域3−2、アドレス領域3−3、
転送サイズ領域3−4がDMAコントローラ3−6に読
み込まれる。DMAコントローラ3−6は、読み込んだ
コマンド領域の情報を制御レジスタ3−8、アドレス領
域3−3の情報をDMAアドレス・レジスタ3−9、転
送サイズ領域3−4の情報をDMAサイズ・レジスタ3
−10に設定し、再びDMA転送を開始する。この2回
目のDMA転送により、ディスクリプタ3−1で指定さ
れた外部記憶領域上のバッファ領域に格納された送信デ
ータの送信制御部への転送が行われる。
2回目のD M A、転送によって送信データの転送が
終了すると、3回目のDMA転送として、DMAコント
ラーラ3−6は2回目のDMA転送で実際に転送したデ
ータ数を転送サイズ領域3−4に、才な実行結果に関す
る情報をステータス領域3−5にDMA転送する。上述
した3回のDMA転送による一連の動作により1回のバ
ッファ領域のデータ転送が完了する。
終了すると、3回目のDMA転送として、DMAコント
ラーラ3−6は2回目のDMA転送で実際に転送したデ
ータ数を転送サイズ領域3−4に、才な実行結果に関す
る情報をステータス領域3−5にDMA転送する。上述
した3回のDMA転送による一連の動作により1回のバ
ッファ領域のデータ転送が完了する。
制御レジスタ3−8に格納された制御情報により、更に
ディスクリプタ3−1によるDMA転送のチエイニング
が指定されていれば、DMAコントローラ3−6は、デ
ィスクリプタ3−1に続くアドレスをDMAアドレス・
レジスタ3−9に設定し、ディスクリプタ3−1に続く
アドレスに格納されているディスクリプタ情報を読み出
す。更にこの情報に従い、指定されるバッファ領域のデ
ータ転送を行うためDMA転送を開始する。このように
して、DMA転送のチエイニングは、ディスクリプタ3
−1のコマンド領域で指定されたDMAコントローラ3
−6の制御情報により、チエイニングの終了を指示され
るまで連続して実行される。
ディスクリプタ3−1によるDMA転送のチエイニング
が指定されていれば、DMAコントローラ3−6は、デ
ィスクリプタ3−1に続くアドレスをDMAアドレス・
レジスタ3−9に設定し、ディスクリプタ3−1に続く
アドレスに格納されているディスクリプタ情報を読み出
す。更にこの情報に従い、指定されるバッファ領域のデ
ータ転送を行うためDMA転送を開始する。このように
して、DMA転送のチエイニングは、ディスクリプタ3
−1のコマンド領域で指定されたDMAコントローラ3
−6の制御情報により、チエイニングの終了を指示され
るまで連続して実行される。
上述した従来のディスクリプタ制御方式においては、D
MAコントローラは、各ディスクリプタに対する3回目
のDMA転送を終了してから、次のディスクリプタへの
アクセスを開始する。一つの送信フレームが複数のバッ
ファ領域に格納されるデータから構成される場合、複数
のディスクリプタのチエイニングにより、送信制御部に
各バッファ領域の送信データがDMA転送される。この
時、各バッファ領域の転送は、前のディスクリプタの3
回目のDAM転送終了後に開始され、そのディスクリプ
タの1回目のDMA転送により、ディスクリプタの情報
がDMAコントローラに読み込Jれな後に実行される。
MAコントローラは、各ディスクリプタに対する3回目
のDMA転送を終了してから、次のディスクリプタへの
アクセスを開始する。一つの送信フレームが複数のバッ
ファ領域に格納されるデータから構成される場合、複数
のディスクリプタのチエイニングにより、送信制御部に
各バッファ領域の送信データがDMA転送される。この
時、各バッファ領域の転送は、前のディスクリプタの3
回目のDAM転送終了後に開始され、そのディスクリプ
タの1回目のDMA転送により、ディスクリプタの情報
がDMAコントローラに読み込Jれな後に実行される。
従って、各バッファ領域のDMA転送の間に2回のディ
スクリプタへのDMA転送が介在する。
スクリプタへのDMA転送が介在する。
このため、各バッファ領域の送信データを送信制御部に
転送する時間間隔が大きく、送信アンダーランを発生し
やすくなる。従って、再送信処理によるホスト・システ
ムのオーバーヘッドが大きくなり、また回線側のスルー
プットが低下する等、システム全体の実効効率が低下す
るという欠点がある。
転送する時間間隔が大きく、送信アンダーランを発生し
やすくなる。従って、再送信処理によるホスト・システ
ムのオーバーヘッドが大きくなり、また回線側のスルー
プットが低下する等、システム全体の実効効率が低下す
るという欠点がある。
〔課題を解決するための手段〕
本発明のディスクリプタ制御方式は、外部記憶領域上に
、予め連続して設定される複数のディスクリプタに従っ
てDMA転送を行うデータ転送装置において、前記ディ
スクリプタの開始アドレスを格納する第1の記憶手段と
、前記ディスクリプタに格納されている、DMA転送に
対する制御情報を格納する複数の第2の記憶手段と、前
記制御情報を、予め前記データ転送装置にバッファリン
グする手段と、前記バッファリング手段を介して、前記
制御情報により指定される複数のデータ領域に対して、
連続してDMA転送を行う手段とを備えて構成される。
、予め連続して設定される複数のディスクリプタに従っ
てDMA転送を行うデータ転送装置において、前記ディ
スクリプタの開始アドレスを格納する第1の記憶手段と
、前記ディスクリプタに格納されている、DMA転送に
対する制御情報を格納する複数の第2の記憶手段と、前
記制御情報を、予め前記データ転送装置にバッファリン
グする手段と、前記バッファリング手段を介して、前記
制御情報により指定される複数のデータ領域に対して、
連続してDMA転送を行う手段とを備えて構成される。
次に、本発明について図面を参照して説明する。
第1図は本発明の第1の実施例のシステム構成を示すブ
ロック図である。第1図において、外部記憶領域1−1
7に設定されているディスクリプタ1−1は、コマンド
領域1−2、アドレス領域1−3、転送サイズ領域1−
4、およびステータス領域1−5を含んでいる。また、
コマンド領域1−2に含まれるEOFビット1−6は、
そのディスクリプタで指定されるバッファ領域内のデー
タが、送信フレームの最後の送信データであるが否かを
指定する。すなわち、EOFビット1−6がインアクテ
ィブであれば、そのディスクリプタで指定されるバッフ
ァ領域は、送信フレームの途中のデータで゛あることを
示し、アクティブであれば、バッファ領域が送信フレー
ムの最後のデータであることを示す。
ロック図である。第1図において、外部記憶領域1−1
7に設定されているディスクリプタ1−1は、コマンド
領域1−2、アドレス領域1−3、転送サイズ領域1−
4、およびステータス領域1−5を含んでいる。また、
コマンド領域1−2に含まれるEOFビット1−6は、
そのディスクリプタで指定されるバッファ領域内のデー
タが、送信フレームの最後の送信データであるが否かを
指定する。すなわち、EOFビット1−6がインアクテ
ィブであれば、そのディスクリプタで指定されるバッフ
ァ領域は、送信フレームの途中のデータで゛あることを
示し、アクティブであれば、バッファ領域が送信フレー
ムの最後のデータであることを示す。
上述したディスクリプタで制御されるDMAコントロー
ラ1−7により、複数のバッファ領域に格納された送信
データをマージして、一つのフレームとして送信する場
合、ホスト・システムは、まず各ディスクリプタのEO
Fビット1−6を、最後の送信データを指定するディス
クリプタを除き、すべてインアクティブに設定する。こ
の後、DMAコントローラ1−7を起動し、連続した外
部記憶領域1−17上の複数のディスクリプタにより、
各ディスクリプタが指定する、外部記憶領域1−17上
の各バッファ領域の転送を開始する。各ディスクリプタ
のチエイニングにより連続してDMA転送を実行し、転
送データを一つのフレームとして送信する場合の動作に
ついて以下に説明する。
ラ1−7により、複数のバッファ領域に格納された送信
データをマージして、一つのフレームとして送信する場
合、ホスト・システムは、まず各ディスクリプタのEO
Fビット1−6を、最後の送信データを指定するディス
クリプタを除き、すべてインアクティブに設定する。こ
の後、DMAコントローラ1−7を起動し、連続した外
部記憶領域1−17上の複数のディスクリプタにより、
各ディスクリプタが指定する、外部記憶領域1−17上
の各バッファ領域の転送を開始する。各ディスクリプタ
のチエイニングにより連続してDMA転送を実行し、転
送データを一つのフレームとして送信する場合の動作に
ついて以下に説明する。
ホスト・システムは、最初に実行するディスクリプタの
先頭アドレスをディスクリプタ・アドレス・レジスタ1
−8に設定し、DMAコントローラ1−7を起動する。
先頭アドレスをディスクリプタ・アドレス・レジスタ1
−8に設定し、DMAコントローラ1−7を起動する。
DMAコントローラ1−7は、ディスクリプタ・アドレ
ス・レジスタ1−8の設定値をDMAアドレス・レジス
タ1−10に、あらかじめ規定されたディスクリプタの
サイズをDMAサイズ・レジスタ1−11に、それぞれ
ロードする。DMAコントローラ1−7は、DMAアド
レス・レジスタ1−10に設定されたアドレスから、D
MAサイズ・レジスタ1−11に設定されたデータ数だ
けDMA転送を開始する。
ス・レジスタ1−8の設定値をDMAアドレス・レジス
タ1−10に、あらかじめ規定されたディスクリプタの
サイズをDMAサイズ・レジスタ1−11に、それぞれ
ロードする。DMAコントローラ1−7は、DMAアド
レス・レジスタ1−10に設定されたアドレスから、D
MAサイズ・レジスタ1−11に設定されたデータ数だ
けDMA転送を開始する。
このDMA転送により、外部記憶領域1−17上の指定
されたディスクリプタ1−1のコマンド領域1−2、ア
ドレス領域1−3、および転送サイズ領域1−4が、そ
れぞれDMAコントローラ1−7に読み込まれる。DM
Aコントローラ1−7は、読み込んだコマンド領域1−
2の情報を制御FIFOI−12に、アドレス領域1−
3の情報をDMA7)’IzスF I FOl−13に
、転送サイズ領域1−4の情報をDMAtイズF I
FOO−14に、それぞれ格納する。一つのディスクリ
プタの情報をDMAコントローラ1−7に転送すると、
EOF検出回路1−16は、制御FIF○1−12に格
納されているEOFビットにより、次に行うDMA転送
を指定する。すなわち、EOFビットがインアクティブ
であれば、そのディスクリプタで指定されるバッファ領
域に続くバッファ領域のデータが同一フレームで送信さ
れると判断し、次のディスクリプタの情報を外部記憶領
域1−17上から新たに読み出し、ディスクリプタ内の
各領域を、制御PIFOI−12、DMAアドレスFI
FOI−13、およびDMAサイズFIF○1−14に
転送する。
されたディスクリプタ1−1のコマンド領域1−2、ア
ドレス領域1−3、および転送サイズ領域1−4が、そ
れぞれDMAコントローラ1−7に読み込まれる。DM
Aコントローラ1−7は、読み込んだコマンド領域1−
2の情報を制御FIFOI−12に、アドレス領域1−
3の情報をDMA7)’IzスF I FOl−13に
、転送サイズ領域1−4の情報をDMAtイズF I
FOO−14に、それぞれ格納する。一つのディスクリ
プタの情報をDMAコントローラ1−7に転送すると、
EOF検出回路1−16は、制御FIF○1−12に格
納されているEOFビットにより、次に行うDMA転送
を指定する。すなわち、EOFビットがインアクティブ
であれば、そのディスクリプタで指定されるバッファ領
域に続くバッファ領域のデータが同一フレームで送信さ
れると判断し、次のディスクリプタの情報を外部記憶領
域1−17上から新たに読み出し、ディスクリプタ内の
各領域を、制御PIFOI−12、DMAアドレスFI
FOI−13、およびDMAサイズFIF○1−14に
転送する。
また、EOFビットがアクティブであれば、そのディス
クリプタで指定されるバッファ領域が送信フレームの最
後のデータであると判断し、ディスクリプタ情報のDM
Aコントローラ1−7への転送を終了する。
クリプタで指定されるバッファ領域が送信フレームの最
後のデータであると判断し、ディスクリプタ情報のDM
Aコントローラ1−7への転送を終了する。
ディスクリプタ情報の読み出しが終わると、次にバッフ
ァ領域のデータを送信制御部にDMA転送する。DMA
コントローラ1−7は、制御FIF○1−12、DMA
アドレスFIF○1−13、およびDMAサイズFIF
○1−14に格納されている先頭のデータを、制御レジ
スタ1−9、DMAアドレス・レジスタ1−10、およ
びDMAサイズ・レジスタ1−11にそれぞれロードし
、バッファ領域のDMA転送を開始する。
ァ領域のデータを送信制御部にDMA転送する。DMA
コントローラ1−7は、制御FIF○1−12、DMA
アドレスFIF○1−13、およびDMAサイズFIF
○1−14に格納されている先頭のデータを、制御レジ
スタ1−9、DMAアドレス・レジスタ1−10、およ
びDMAサイズ・レジスタ1−11にそれぞれロードし
、バッファ領域のDMA転送を開始する。
DMAサイズ・レジスタ1−11に設定された数だけの
DMA転送を終了すると、DMA転送に関する実行結果
のステータスや転送サイズ数をディスクリプタ1−1に
は書き戻さず、DMAコントローラ1−7内のステータ
スPIFOI−15に書き込む。これで一つのディスク
リプタに関するバッファ領域のデータ転送を終了する。
DMA転送を終了すると、DMA転送に関する実行結果
のステータスや転送サイズ数をディスクリプタ1−1に
は書き戻さず、DMAコントローラ1−7内のステータ
スPIFOI−15に書き込む。これで一つのディスク
リプタに関するバッファ領域のデータ転送を終了する。
DMAコントローラ1−7は、制御PIFOI−12、
DMAアドレスFIF○1−13、およびDMAサイズ
PIFOI−14にデータが格納されている限り、順次
これを読み出してDMA転送を実行する。こうして、各
FIFO内にデータが無くなるまでバッファ領域のデー
タ転送を続け、各DMA転送の実行ステータスは、送信
制御部からステータスFIF○1−15に書き込まれる
。
DMAアドレスFIF○1−13、およびDMAサイズ
PIFOI−14にデータが格納されている限り、順次
これを読み出してDMA転送を実行する。こうして、各
FIFO内にデータが無くなるまでバッファ領域のデー
タ転送を続け、各DMA転送の実行ステータスは、送信
制御部からステータスFIF○1−15に書き込まれる
。
ENDビットがアクティブであるディスクリプタで指定
されるバッファ領域のDMA転送を終了すると、DMA
コントローラ1−7は、ステータスFIFOI−15に
格納されているステータス情報を、各ディスクリプタの
転送サイズ領域1−4およびステータス領域1−5にD
MA転送する。
されるバッファ領域のDMA転送を終了すると、DMA
コントローラ1−7は、ステータスFIFOI−15に
格納されているステータス情報を、各ディスクリプタの
転送サイズ領域1−4およびステータス領域1−5にD
MA転送する。
上述したように、DMAコントローラは、同一のフレー
ムを構成するバッファ領域を指定する複数のディスクリ
プタの情報を一括してFIFOに読み込み、その後、複
数のバッファ領域の送信データ転送を連続して実行する
ことが可能である。
ムを構成するバッファ領域を指定する複数のディスクリ
プタの情報を一括してFIFOに読み込み、その後、複
数のバッファ領域の送信データ転送を連続して実行する
ことが可能である。
このため、各バッファ領域の送信データ転送の間に、送
信データ以外のDMA転送が行われないので、送信制御
部に対して送信データを高速に転送することが可能とな
り、送信制御部での送信アンダーランを防ぐことができ
る。従って、送信フレームの再−送回数が減少し、ホス
ト・システムのオーバーヘッドが低減すると共に、回線
効率が向上する等、システム効率を向上させることが可
能である。
信データ以外のDMA転送が行われないので、送信制御
部に対して送信データを高速に転送することが可能とな
り、送信制御部での送信アンダーランを防ぐことができ
る。従って、送信フレームの再−送回数が減少し、ホス
ト・システムのオーバーヘッドが低減すると共に、回線
効率が向上する等、システム効率を向上させることが可
能である。
第2図は、本発明の第2の実施例のシステム構成を示す
ブロック図である。本実施例は、第1図におけるディス
クリプタ制御方式が、送信制御に関するものであったの
に対し、受信制御に関するディスクリプタ制御方式を示
す一構成例である。
ブロック図である。本実施例は、第1図におけるディス
クリプタ制御方式が、送信制御に関するものであったの
に対し、受信制御に関するディスクリプタ制御方式を示
す一構成例である。
第2図において、外部記憶領域2−17に設定されてい
るディスクリプタ2−1は、コマンド領域2−2、アド
レス領域2−3、転送サイズ領域2−4、およびステー
タス領域2−5を含んでいる。また、EOFビット2−
6はステータス領域2−5に含績れ、そのディスクリプ
タで指定されるバッファ領域が受信フレームの最終デー
タを含むか否かを指定する。
るディスクリプタ2−1は、コマンド領域2−2、アド
レス領域2−3、転送サイズ領域2−4、およびステー
タス領域2−5を含んでいる。また、EOFビット2−
6はステータス領域2−5に含績れ、そのディスクリプ
タで指定されるバッファ領域が受信フレームの最終デー
タを含むか否かを指定する。
第1の実施例の場合と同様に、ホスト・システムは、最
初に実行するディスクリプタ2−9lの先頭アドレスを
ディスクリプタ・アドレス・レジスタ2−8に設定し、
DMAコントローラ2−7を起動する。DMAコントロ
ーラ2−7は、ディスクリプタ・アドレス・レジスタ2
−8の設定値をDMAアドレス・レジスタ2−10に、
あらかじめ規定されたディスクリプタのサイズをDMA
サイズ・レジスタ2−11に、それぞれロードする。D
MAコントローラ2−7は、DMAアドレス・レジスタ
2−11に設定されたデータ数だけDMA転送を開始す
る。
初に実行するディスクリプタ2−9lの先頭アドレスを
ディスクリプタ・アドレス・レジスタ2−8に設定し、
DMAコントローラ2−7を起動する。DMAコントロ
ーラ2−7は、ディスクリプタ・アドレス・レジスタ2
−8の設定値をDMAアドレス・レジスタ2−10に、
あらかじめ規定されたディスクリプタのサイズをDMA
サイズ・レジスタ2−11に、それぞれロードする。D
MAコントローラ2−7は、DMAアドレス・レジスタ
2−11に設定されたデータ数だけDMA転送を開始す
る。
このDMA転送により、外部記憶領域2−17上の指定
されたディスクリプタ2−1のコマンド領域2−2、ア
ドレス領域2−3、および転送サイズ領域2−4が、D
MAコントラーラ2−7に読み込まれる。DMAコント
ローラ2−7は、読み込んだコマンド領域2−2の情報
を、制御F I FO2−12に、アドレス領域2−3
の情報をDMAアドレスFIFO2−13に、転送サイ
ズ領域2−4の情報をDMAサイズF I FO2−1
4に、それぞれ格納する。一つのディスクリプタの情報
がDMAコントローラ2−7に転送されると、DMAコ
ントローラ2−7は、各FIFO2−12,2−13,
2−14に空きが存在するかを調べる。もし空きがあれ
ば、次のディスクリプタの情報を外部記憶領域2−17
上から新たに読み出し、ディスクリプタ内の各領域を、
制御FIF○2−12、DMAアドレスF I FO2
−13、およびDMAサイズFIFO2−14に転送す
る。このように、各FIFOに空きがあり、またディス
クリプタが外部記憶領域2−17に設定されている限り
、DMAコントローラ2−7は、ディスクリプタの情報
を読み込み続ける。
されたディスクリプタ2−1のコマンド領域2−2、ア
ドレス領域2−3、および転送サイズ領域2−4が、D
MAコントラーラ2−7に読み込まれる。DMAコント
ローラ2−7は、読み込んだコマンド領域2−2の情報
を、制御F I FO2−12に、アドレス領域2−3
の情報をDMAアドレスFIFO2−13に、転送サイ
ズ領域2−4の情報をDMAサイズF I FO2−1
4に、それぞれ格納する。一つのディスクリプタの情報
がDMAコントローラ2−7に転送されると、DMAコ
ントローラ2−7は、各FIFO2−12,2−13,
2−14に空きが存在するかを調べる。もし空きがあれ
ば、次のディスクリプタの情報を外部記憶領域2−17
上から新たに読み出し、ディスクリプタ内の各領域を、
制御FIF○2−12、DMAアドレスF I FO2
−13、およびDMAサイズFIFO2−14に転送す
る。このように、各FIFOに空きがあり、またディス
クリプタが外部記憶領域2−17に設定されている限り
、DMAコントローラ2−7は、ディスクリプタの情報
を読み込み続ける。
DMAコントローラ2−7がディスクリプタ情報を読み
込み中、あるいは読み込み終了後に、受信制御部がフレ
ームの受信を開始すると、受信データを外部記憶領域2
−17上のバッファ領域に転送する。そのためDMAコ
ントローラ2−7がディスクリプタ情報を読み込み中で
あれば、現在転送中のディスクリプタ読み込み後に、デ
ィスクリプタ情報の各FIFOへの読み込みを中断する
。次に、受信制御部のデータをバッファ領域にDMA転
送するため、DMAコントローラ2−7は、制御F I
FO2−12、DMAアドレスFIFO2−13、お
よびDMA?イズFIFO2−14に格納されている先
頭のデータを、制御レジスタ2−9、DMAアドレス・
レジスタ2−10、およびDMAサイズ・レジスタ2−
11にそれぞれロードし、バッファ領域へのDMA転送
を開始する。
込み中、あるいは読み込み終了後に、受信制御部がフレ
ームの受信を開始すると、受信データを外部記憶領域2
−17上のバッファ領域に転送する。そのためDMAコ
ントローラ2−7がディスクリプタ情報を読み込み中で
あれば、現在転送中のディスクリプタ読み込み後に、デ
ィスクリプタ情報の各FIFOへの読み込みを中断する
。次に、受信制御部のデータをバッファ領域にDMA転
送するため、DMAコントローラ2−7は、制御F I
FO2−12、DMAアドレスFIFO2−13、お
よびDMA?イズFIFO2−14に格納されている先
頭のデータを、制御レジスタ2−9、DMAアドレス・
レジスタ2−10、およびDMAサイズ・レジスタ2−
11にそれぞれロードし、バッファ領域へのDMA転送
を開始する。
DMAサイズ・レジスタ2−11に設定された数だけの
DMA転送を終了すると、DMA転送に関する実行結果
のステータスや転送データ数はディスクリプタ2−1に
は書き戻さず、DMAコントローラ2−7内のステータ
スFIF○2−15に書き込まれる。これで一つのディ
スクリプタに関するバッファ領域へのデータ転送を終了
する。
DMA転送を終了すると、DMA転送に関する実行結果
のステータスや転送データ数はディスクリプタ2−1に
は書き戻さず、DMAコントローラ2−7内のステータ
スFIF○2−15に書き込まれる。これで一つのディ
スクリプタに関するバッファ領域へのデータ転送を終了
する。
EOF検出回路2−16は、一つの受信フレームがバッ
ファ領域へすべて転送されたか否かを検出する。すなわ
ち、ステータスFIFO2−15内の各ステータス情報
のEOFビットが、アクティブであれば受信フレームの
最後のデータを転送終了したと判断し、バッファ領域へ
のDMA転送を終了する。一方、EOFビットがインア
クティブであれば、受信フレームがまだ続くと判断し、
制御F I FO2−12、DMAアドレスF工F02
−13、およびDMAサイズFIFO2−14にデータ
が格納されている限り、これを読み出し、再度DMA転
送を実行する。こうして、受信フレームの転送が終了す
るか、各FIFO内にデータが無くなるまで受信データ
転送を続け、各DMA転送の実行ステータスを、受信制
御部からステータスFIFO2−15に書き込む。
ファ領域へすべて転送されたか否かを検出する。すなわ
ち、ステータスFIFO2−15内の各ステータス情報
のEOFビットが、アクティブであれば受信フレームの
最後のデータを転送終了したと判断し、バッファ領域へ
のDMA転送を終了する。一方、EOFビットがインア
クティブであれば、受信フレームがまだ続くと判断し、
制御F I FO2−12、DMAアドレスF工F02
−13、およびDMAサイズFIFO2−14にデータ
が格納されている限り、これを読み出し、再度DMA転
送を実行する。こうして、受信フレームの転送が終了す
るか、各FIFO内にデータが無くなるまで受信データ
転送を続け、各DMA転送の実行ステータスを、受信制
御部からステータスFIFO2−15に書き込む。
ENDビットがアクティブであるステータス情報が検出
されると、DMAコントローラ2−7は、ステータスF
IFO2−15に格納されている実行ステータス情報を
、外部記憶領域2−17上の各ディスクリプタの転送サ
イズ領域2−4およびステータス領域2−5に転送する
。このようにして、一つの受信フレームの外部記憶領域
2−17への転送を終了する。
されると、DMAコントローラ2−7は、ステータスF
IFO2−15に格納されている実行ステータス情報を
、外部記憶領域2−17上の各ディスクリプタの転送サ
イズ領域2−4およびステータス領域2−5に転送する
。このようにして、一つの受信フレームの外部記憶領域
2−17への転送を終了する。
上述したように、DMAコントローラ2−7は、複数の
ディスクリプタの情報を一括してFIFOに読み込み、
その後、複数のバッファ領域への受信データ転送を連続
して実行することが可能である。第1の実施例と同様に
、各バッファ領域への受信データ転送の間に、受信デー
タ以外のDMA転送が行われないので、受信制御部から
、高速に受信データを転送することが可能なことは明か
である。
ディスクリプタの情報を一括してFIFOに読み込み、
その後、複数のバッファ領域への受信データ転送を連続
して実行することが可能である。第1の実施例と同様に
、各バッファ領域への受信データ転送の間に、受信デー
タ以外のDMA転送が行われないので、受信制御部から
、高速に受信データを転送することが可能なことは明か
である。
以上説明したように、本発明によれば、複数のバッファ
領域を指定する複数のディスクリプタの情報を一括して
FIFOに読み込み、その後、複数のバッファ領域のデ
ータ転送を連続して実行することが可能となる。このな
め、各バッファ領域のデータを送信制御部あるいは受信
制御部との間でDMA転送する時に、送信データ、受信
データ以外のDMA転送が行われないので、送信制御部
、受信制御部に対してデータを高速に転送することが可
能となり、送信制御部での送信アンダーラン、受信制御
部での受信オーバーランを防ぐことができる。従って、
送受信フレームの再送等によるホスト・システムのディ
スクリプタ再設定のオーバーヘッドが低減するとともに
、通信回線効率を改善し、システム効率を向上させるこ
とができるという効果がある。
領域を指定する複数のディスクリプタの情報を一括して
FIFOに読み込み、その後、複数のバッファ領域のデ
ータ転送を連続して実行することが可能となる。このな
め、各バッファ領域のデータを送信制御部あるいは受信
制御部との間でDMA転送する時に、送信データ、受信
データ以外のDMA転送が行われないので、送信制御部
、受信制御部に対してデータを高速に転送することが可
能となり、送信制御部での送信アンダーラン、受信制御
部での受信オーバーランを防ぐことができる。従って、
送受信フレームの再送等によるホスト・システムのディ
スクリプタ再設定のオーバーヘッドが低減するとともに
、通信回線効率を改善し、システム効率を向上させるこ
とができるという効果がある。
第1図および第2図は、それぞれ本発明の第1および第
2の実施例のシステム構成を示すブロック図、第3図は
従来例のシステムを示すブロック図である。 図において、1−1.2−1.3−1・・・ディスクリ
プタ、1−2.2−2.3−2・・・コマンド頭載、1
−3.2−3.3−3・・・アドレス領域、1−4.2
−4.3−4・・・転送サイズ領域、1−5.2−5.
3−4・・・ステータス領域、1−6゜2−6−E O
Fビット、1−7.2−7.3−6・・・DMAコント
ローラ、1−8.2−8.3−7・・・ディスクリプタ
・アドレス・レジスタ、1−9.2−9.3−8・・・
制御レジスタ、1−10゜2−10.3−9・・・DM
Aアドレス・レジスタ、1−11.2−11.3−10
・・・DMAサイズ・レジスタ、1−12.2−12・
・・制御FIFO11−13,2−13・・・DMAア
ドレスFIFO11−14,2−14・・・DMAサイ
ズFIFO11−15,2−15・・・ステータスPI
F0.1−16.2−16・・・EOF検出回路、1−
17.2−17.3−11・・・外部記憶領域。
2の実施例のシステム構成を示すブロック図、第3図は
従来例のシステムを示すブロック図である。 図において、1−1.2−1.3−1・・・ディスクリ
プタ、1−2.2−2.3−2・・・コマンド頭載、1
−3.2−3.3−3・・・アドレス領域、1−4.2
−4.3−4・・・転送サイズ領域、1−5.2−5.
3−4・・・ステータス領域、1−6゜2−6−E O
Fビット、1−7.2−7.3−6・・・DMAコント
ローラ、1−8.2−8.3−7・・・ディスクリプタ
・アドレス・レジスタ、1−9.2−9.3−8・・・
制御レジスタ、1−10゜2−10.3−9・・・DM
Aアドレス・レジスタ、1−11.2−11.3−10
・・・DMAサイズ・レジスタ、1−12.2−12・
・・制御FIFO11−13,2−13・・・DMAア
ドレスFIFO11−14,2−14・・・DMAサイ
ズFIFO11−15,2−15・・・ステータスPI
F0.1−16.2−16・・・EOF検出回路、1−
17.2−17.3−11・・・外部記憶領域。
Claims (1)
- 【特許請求の範囲】 外部記憶領域上に、予め連続して設定される複数のディ
スクリプタに従つてDMA転送を行うデータ転送装置に
おいて、 前記ディスクリプタの開始アドレスを格納する第1の記
憶手段と、 前記ディスクリプタに格納されている、DMA転送に対
する制御情報を格納する複数の第2の記憶手段と、 前記制御情報を、予め前記データ転送装置にバッファリ
ングする手段と、 前記バッファリング手段を介して、前記制御情報により
指定される複数のデータ領域に対して、連続してDMA
転送を行う手段と、 を備えることを特徴とするディスクリプタ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2303448A JPH04177445A (ja) | 1990-11-08 | 1990-11-08 | ディスクリプタ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2303448A JPH04177445A (ja) | 1990-11-08 | 1990-11-08 | ディスクリプタ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04177445A true JPH04177445A (ja) | 1992-06-24 |
Family
ID=17921115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2303448A Pending JPH04177445A (ja) | 1990-11-08 | 1990-11-08 | ディスクリプタ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04177445A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006293799A (ja) * | 2005-04-13 | 2006-10-26 | Sony Corp | 情報処理装置、および情報処理方法 |
JP2009048298A (ja) * | 2007-08-15 | 2009-03-05 | Sony Corp | 情報処理装置、情報処理方法、当該情報処理方法を実行するためのプログラム及び当該プログラムを記録した媒体、並びにdmaコントローラ、dma転送方法、当該dma転送方法を実行するためのプログラム及び当該プログラムを記録した媒体 |
JP2009187313A (ja) * | 2008-02-06 | 2009-08-20 | Nec System Technologies Ltd | ディスクリプタ制御方法、ダイレクトメモリ転送装置およびプログラム |
US7716390B2 (en) | 2006-08-11 | 2010-05-11 | Fujitsu Microelectronics Limited | Direct memory access controller |
JP2010211322A (ja) * | 2009-03-06 | 2010-09-24 | Renesas Electronics Corp | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 |
JP2011204269A (ja) * | 2003-06-30 | 2011-10-13 | Intel Corp | リードアドレス可能バーチャルdmaコントロール及び状態レジスタ |
-
1990
- 1990-11-08 JP JP2303448A patent/JPH04177445A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011204269A (ja) * | 2003-06-30 | 2011-10-13 | Intel Corp | リードアドレス可能バーチャルdmaコントロール及び状態レジスタ |
JP2006293799A (ja) * | 2005-04-13 | 2006-10-26 | Sony Corp | 情報処理装置、および情報処理方法 |
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 |
JP2009048298A (ja) * | 2007-08-15 | 2009-03-05 | Sony Corp | 情報処理装置、情報処理方法、当該情報処理方法を実行するためのプログラム及び当該プログラムを記録した媒体、並びにdmaコントローラ、dma転送方法、当該dma転送方法を実行するためのプログラム及び当該プログラムを記録した媒体 |
US8151015B2 (en) | 2007-08-15 | 2012-04-03 | Sony Corporation | Systems and methods for effecting DMA data transfers |
JP2009187313A (ja) * | 2008-02-06 | 2009-08-20 | Nec System Technologies Ltd | ディスクリプタ制御方法、ダイレクトメモリ転送装置およびプログラム |
JP2010211322A (ja) * | 2009-03-06 | 2010-09-24 | Renesas Electronics Corp | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101303685B (zh) | 可提升通用序列总线储存设备的读写数据速率的方法 | |
JPH04177445A (ja) | ディスクリプタ制御方式 | |
JP2962787B2 (ja) | 通信制御方式 | |
JP3064688B2 (ja) | データ受信装置 | |
CN101855623A (zh) | 具有可间接存取的存储器的控制器 | |
JPH05257865A (ja) | ディスクリプタ制御方式 | |
JPH04277850A (ja) | ディスクリプタ制御方式 | |
JPH05276221A (ja) | 受信制御方式 | |
JPH11149455A (ja) | メモリディスク共有方法及びその実施装置 | |
JPH06175948A (ja) | 受信制御方式 | |
JPH02170644A (ja) | マルチメディア通信システムの優先送信方法 | |
JPH05204829A (ja) | データ転送装置 | |
EP1195685B1 (en) | A process for interfacing a microprocessor with a packet based device and respective system | |
JPS63293660A (ja) | 通信制御装置 | |
JPH0310354A (ja) | データ転送制御システム | |
JPH04373054A (ja) | ファイル装置制御装置 | |
JPS6077217A (ja) | 主記憶装置のメモリクリア方式 | |
JPS63137350A (ja) | チヤネルプログラム実行制御方式 | |
JP2817535B2 (ja) | Hdlcフレーム受信制御方式 | |
JPH01283656A (ja) | チャネルコマンド語チェイン装置 | |
JPH0380470A (ja) | 記憶制御装置 | |
JPS63113749A (ja) | チヤネル装置 | |
JPS5922462A (ja) | 通信制御方式 | |
JPS61260743A (ja) | 通信制御装置 | |
JPS6165649A (ja) | 通信制御方式 |