JPH04296960A - Dma制御方式 - Google Patents

Dma制御方式

Info

Publication number
JPH04296960A
JPH04296960A JP3001323A JP132391A JPH04296960A JP H04296960 A JPH04296960 A JP H04296960A JP 3001323 A JP3001323 A JP 3001323A JP 132391 A JP132391 A JP 132391A JP H04296960 A JPH04296960 A JP H04296960A
Authority
JP
Japan
Prior art keywords
descriptor
address
area
dma
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
JP3001323A
Other languages
English (en)
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 JP3001323A priority Critical patent/JPH04296960A/ja
Publication of JPH04296960A publication Critical patent/JPH04296960A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はDMA制御方式に関し、
特にディスクリプタを用いたDMA制御方式に関する。
【0002】
【従来の技術】従来、DMAコントローラが連続して外
部記憶部上のバッファ領域をアクセスする場合、ソフト
システムがリアルタイムにDMAコントローラを制御す
ることによるシステム効率の低下を防ぐため、以下に説
明するディスクリプタ制御によるDMA制御方式が提案
されている。
【0003】例えば、通信システムにおいて連続してフ
レーム送信を行う場合、複数のバッファ領域に格納され
ている送信データを連続してDMA転送する。ホストシ
ステムは所定のディスクリプタ・フォーマットに従って
、あらかじめ外部記憶部上に複数のディスクリプタの情
報を連続した領域に設定する。
【0004】図4は従来のDMA制御方式の一例を示す
ブロック図である。
【0005】各ディスクリプタ30bのフォーマットは
、DMAコントローラ2bに対する制御情報を格納する
コマンド領域31b、転送データが格納されているバッ
ファ領域40の先頭アドレスを示すアドレス領域32、
転送データ数を格納する転送サイズ領域33、DMA転
送の実行結果を格納するステータス領域34を含んでい
る。
【0006】ホストシステム1bは、最初に実行するデ
ィスクリプタ30bの先頭アドレスをディスクリプタア
ドレス・レジスタ21に設定し、DMAコントローラ2
bを起動する。DMAコントローラ2bは、ディスクリ
プタアドレス・レジスタ21の設定値をDMAアドレス
レジスタ23に、あらかじめ規定されたディスクリプタ
のサイズをDMAサイズレジスタ24にそれぞれロード
する。DMAコントローラ2bは、DMAアドレスレジ
スタ23に設定されたアドレスからDMAサイズレジス
タ24に設定されたデータ数だけDMA転送を開始する
。
【0007】この1回目のDMA転送により外部記憶部
3b上の指定されたディスクリプタ30bのコマンド領
域31b,アドレス領域32,転送サイズ領域33がD
MAコントローラ2bに読み込まれる。DMAコントロ
ーラ2bは、読み込んだコマンド領域31bの情報を制
御レジスタ22、アドレス領域32の情報をDMAアド
レスレジスタ23、転送サイズ領域33の情報をDMA
サイズレジスタ24に設定し、再びDMA転送を開始す
る。この2回目のDMA転送により、ディスクリプタ3
0bで指定された外部記憶部3b上のバッファ領域40
に格納された送信データの転送が行われる。
【0008】2回目のDMA転送によって送信データの
転送が終了すると、3回目のDMA転送としてDMAコ
ントローラ2bは2回目のDMA転送で実際に転送した
データ数を転送サイズ領域33に、また実行結果に関す
る情報をステータス領域34にDMA転送する。上述し
た3回のDMA転送による一連の動作により1回のバッ
ファ領域40のデータ転送が完了する。
【0009】制御レジスタ22に格納された制御情報に
より、更にディスクリプタ30bによるDMA転送のチ
ェイニングが指定されていれば、DMAコントローラ2
bは、上述の実行したディスクリプタ30bに続く次の
ディスクリプタ30bのアドレスをDMAアドレスレジ
スタ23に設定し、次のディスクリプタ30bのディス
クリプタ情報を読み出す。更にこの情報に従い、指定さ
れるバッファ領域40のデータ転送を行うためDMA転
送を開始する。このようにしてDMA転送のチェイニン
グはディスクリプタ30bのコマンド領域31bで指定
されたDMAコントローラ2bの制御情報によりチェイ
ニングの終了を指示されるまで連続して実行される。
【0010】
【発明が解決しようとする課題】上述した従来のDMA
制御方式によると、複数のディスクリプタ30bがチェ
イニングされているとき、各ディスクリプタ30bは外
部記憶部3b上の連続した領域に格納されており、ディ
スクリプタ30bのチェイニングに従い外部記憶部3b
上のバッファ領域40のデータを転送している途中でチ
ェイニングを中断し、バッファ領域40の特定の領域の
み再転送して再び中断したディスクリプタ30bのチェ
イニングを続行したい場合、ホストシステム1bは、特
定のディスクリプタ30bのみチェイニングなしで実行
させ、そのDMA転送終了後、中断していたディスクリ
プタ30bから再びチェイニングによるバッファ領域4
0のDMA転送を起動させることになる。従って、ホス
トシステム1bがディスクリプタ30bによるDMA転
送の起動を2回以上行うことになり、その間、ホストシ
ステム1bがDMA転送の実行状態を監視する必要があ
るため、ホストシステム1bのオーバーヘッドが大きく
なり、システム全体の実効効率が低下するという欠点が
ある。
【0011】
【課題を解決するための手段】本発明のDMA制御方式
は、DMA転送の対象となるデータを格納するバッファ
領域と、制御情報を格納すると共にディスクリプタアド
レスの設定の有無を示すディスクリプタアドレス選択ビ
ットをもつコマンド領域、前記バッファ領域の転送デー
タ範囲の先頭アドレスを格納するアドレス領域、転送デ
ータ数を格納する転送サイズ領域、及び設定された前記
ディスクリプタアドレスを格納するディスクリプタアド
レス領域をそれぞれ備え順次配置された複数のディスク
リプタとを含む外部記憶部と、前記各ディスクリプタの
内容に従って前記バッファ領域のデータをDMA転送す
るDMAコントローラとを有し、前記各ディスクリプタ
の内容をこれらディスクリプタの配置順に実行するとき
は前記各ディスクリプタアドレス選択ビットをインアク
ティブとして前記各ディスクリプタアドレス領域にディ
スクリプタアドレスを設定せず、前記各ディスクリプタ
の内容をこれらディスクリプタの配置順とは異なる順で
実行するときは所定のディスクリプタのディスクリプタ
アドレス領域に次に実行するディスクリプタのディスク
リプタアドレスを設定格納しかつ対応するディスクリプ
タアドレス選択ビットをアクティブとする構成を有して
いる。
【0012】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0013】図1は本発明の第1の実施例を示すブロッ
ク図である。
【0014】外部記憶部3は、DMA転送の対象となる
データを格納するバッファ領域40と、制御情報を格納
すると共にディスクリプタアドレスの設定の有無を示す
ディスクリプタアドレス選択ビット31aをもつコマン
ド領域31、バッファ領域40の転送データ範囲の先頭
アドレスを格納するアドレス領域32、転送データ数を
格納する転送サイズ領域33、DMA転送の実行結果を
格納するステータス領域34、及び設定されたディスク
リプタアドレスを格納するディスクリプタアドレス領域
35をそれぞれ備え順次配置された複数のディスクリプ
タ30とを含んで構成される。
【0015】DMAコントローラ2は、ディスクリプタ
アドレス・レジスタ21,制御レジスタ22,DMAア
ドレスレジスタ23、及びDMAサイズレジスタ24を
含み、ホストシステム1の指示により外部記憶部3のデ
ィスクリプタ30の内容に従って順次バッファ領域40
のデータのDMA転送を行う。
【0016】この実施例においても、3回のDMA転送
による一連の動作により1回のバッファ領域40のデー
タ転送が完了することは従来例と同様である。
【0017】この実施例において、ディスクリプタ30
で制御されるDMAコントローラ2により連続してDM
A転送する場合、ホストシステム1は、まず各ディスク
リプタ30のディスクリプタアドレス選択ビット31a
をすべてインアクティブ“0”に設定する。この後、D
MAコントローラ2を起動し、連続した外部記憶部3上
の複数のディスクリプタ30により、各ディスクリプタ
30が指定する外部記憶部3上のバッファ領域40のデ
ータの転送を開始する。各ディスクリプタ30のチェイ
ニングにより連続してDMA転送を実行している途中で
そのチェイニングを中断し、バッファ領域40の特定の
領域のみ再転送して再びディスクリプタ30のチェイニ
ングを続行したい場合の動作について図2を参照して説
明する。
【0018】図2において、外部記憶部1上の各ディス
クリプタ30(アドレス201〜215)がすべてチェ
イニングされディスクリプタ30(201)から順次D
MA転送を行っていき、ディスクリプタ30(210)
によるDMA転送が終了したところでチェイニングが一
時中断され、ディスクリプタ30(202,204,2
05,208)で指定されるバッファ領域40のデータ
を再転送する場合について説明する。
【0019】ホストシステム1がディスクリプタ30(
210)のチェイニングの中断を認識すると、再実行さ
せる必要のある各ディスクリプタ30に対しそのコマン
ド領域31のディスクリプタアドレス選択ビット31a
をアクティブ“1”に設定し、ディスクリプタアドレス
領域35に次に実行させたいディスクリプタ30の先頭
アドレスを書き込む。例えば、ディスクリプタ30(2
02)ではそのコマンド領域31のディスクリプタアド
レス選択ビット31aをアクティブ“1”に書き直し、
ディスクリプタアドレス領域35には次に実行するディ
スクリプタ30(204)のアドレスを設定する。 またディスクリプタ30(204)の次はディスクリプ
タ30(205)を実行するので、ディスクリプタ30
(204)のディスクリプタアドレス選択ビット31a
はインアクティブ“0”のままで、かつディスクリプタ
アドレス領域35にもアドレスを設定しない。ディスク
リプタ30(205)ではそのコマンド領域31のディ
スクリプタアドレス選択ビット31aをアクティブ“1
”にするように書き直し、ディスクリプタアドレス領域
35には次に実行するディスクリプタ30(208)の
アドレスを設定する。
【0020】このようにして再実行させたいディスクリ
プタ30に関してディスクリプタアドレス領域35で次
のディスクリプタ30のアドレスを設定しチェイニング
する。再実行させるディスクリプタ30のチェイニング
作業終了後、中断されたディスクリプタ30(211)
に実行を移すために、最後に再実行させるディスクリプ
タ30(208)のディスクリプタアドレス領域35に
中断されたディスクリプタ30(211)のアドレスを
設定する。
【0021】ホストシステム1は、最初に再実行させる
ディスクリプタ30の先頭アドレス、すなわち、ディス
クリプタ30(202)の先頭アドレスをDMAコント
ローラ2のディスクリプタアドレス・レジスタ21に設
定してから、DMAコントローラ2を起動すると、再実
行を指定されたディスクリプタ30がそのチェイニング
機能により各ディスクリプタ30のディスクリプタアド
レス領域35に従って順次実行される。
【0022】このようにして、ホストシステム1は特定
のディスクリプタ30のみディスクリプタアドレス領域
35でチェイニングさせ、そのDMA転送終了後、ホス
トシステム1の介在無しに中断していたディスクリプタ
30から再びチェイニングによるバッファ領域40のデ
ータ転送を実行可能とする。このため、ホストシステム
1は再実行するディスクリプタ30が複数あっても、デ
ィスクリプタ30によるDMA転送の起動を1回行うだ
けであり、起動後はホストシステム1がDMA転送の実
行状態を監視する必要がないため、ホストシステム1の
オーバーヘッドを低減し、システム全体の実効効率の低
下を防ぐことができる。
【0023】図3は本発明の第2の実施例を示すブロッ
ク図である。
【0024】この実施例は、ディスクリプタ30aにス
テータス領域をもたず、DMA転送の実行結果は、ディ
スクリプタ30a以外の外部記憶部3aのあらかじめ指
定された領域に格納するようにしたもので、各ディスク
リプタ30aの2回目のDMA転送の実行に関する情報
量が可変の場合に有効である。
【0025】
【発明の効果】以上説明したように本発明は、ディスク
リプタのコマンド領域にディスクリプタアドレスの設定
の有無を示すディスクリプタアドレス選択ビットを設け
、このディスクリプタアドレス選択ビットがアクティブ
のとき次に実行するディスクリプタのディスクリプタア
ドレスを設定格納するディスクリプタアドレス領域をデ
ィスクリプタ内に設けた構成とすることにより、外部記
憶部上に連続配置された複数のディスクリプタのチェイ
ニングに従いバッファ領域のデータを転送している途中
でそのチェイニングを中断し、特定のバッファ領域のみ
再転送して再び中断したディスクリプタのチェイニング
を続行したい場合、再実行させる特定のディスクリプタ
のみディスクリプタアドレス領域でチェイニングさせ、
そのDMAて転送終了後、ホストシステムの介在無しに
中断していたディスクリプタから再びチェイニングによ
るバッファ領域の転送を実行可能であるため、ホストシ
ステムは再実行するディスクリプタが複数あっても、デ
ィスクリプタによるDMA転送の起動を1回行うだけで
済み、起動後はホストシステムがDMAの実行状態を監
視する必要がないため、ホストシステムのオーバーヘッ
ドを低減し、システム全体の実効効率の低下を防ぐこと
ができる効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示すブロック図である
。
【図2】図1に示された実施例の動作を説明するための
外部記憶部のデータ配置図である。
【図3】本発明の第2の実施例を示すブロック図である
。
【図4】従来のDMA制御方式の一例を示すブロック図
である。
【符号の説明】
1,1a,1b    ホストシステム2,2a,2b
    DMAコントローラ3,3a,3b    外
部記憶部 21    ディスクリプタアドレス・レジスタ22 
   制御レジスタ 23    DMAアドレスレジスタ 24    DMAサイズレジスタ 30,30a,30b    ディスクリプタ31,3
1b    コマンド領域 31a    ディスクリプタアドレス選択ビット32
    アドレス領域 33    転送サイズ領域 34    ステータス領域 35    ディスクリプタアドレス領域40    
バッファ領域

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  DMA転送の対象となるデータを格納
    するバッファ領域と、制御情報を格納すると共にディス
    クリプタアドレスの設定の有無を示すディスクリプタア
    ドレス選択ビットをもつコマンド領域、前記バッファ領
    域の転送データ範囲の先頭アドレスを格納するアドレス
    領域、転送データ数を格納する転送サイズ領域、及び設
    定された前記ディスクリプタアドレスを格納するディス
    クリプタアドレス領域をそれぞれ備え順次配置された複
    数のディスクリプタとを含む外部記憶部と、前記各ディ
    スクリプタの内容に従って前記バッファ領域のデータを
    DMA転送するDMAコントローラとを有し、前記各デ
    ィスクリプタの内容をこれらディスクリプタの配置順に
    実行するときは前記各ディスクリプタアドレス選択ビッ
    トをインアクティブとして前記各ディスクリプタアドレ
    ス領域にディスクリプタアドレスを設定せず、前記各デ
    ィスクリプタの内容をこれらディスクリプタの配置順と
    は異なる順で実行するときは所定のディスクリプタのデ
    ィスクリプタアドレス領域に次に実行するディスクリプ
    タのディスクリプタアドレスを設定格納しかつ対応する
    ディスクリプタアドレス選択ビットをアクティブとする
    ことを特徴とするDMA制御方式。
JP3001323A 1991-01-10 1991-01-10 Dma制御方式 Pending JPH04296960A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3001323A JPH04296960A (ja) 1991-01-10 1991-01-10 Dma制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3001323A JPH04296960A (ja) 1991-01-10 1991-01-10 Dma制御方式

Publications (1)

Publication Number Publication Date
JPH04296960A true JPH04296960A (ja) 1992-10-21

Family

ID=11498287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3001323A Pending JPH04296960A (ja) 1991-01-10 1991-01-10 Dma制御方式

Country Status (1)

Country Link
JP (1) JPH04296960A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014167670A1 (ja) * 2013-04-10 2014-10-16 三菱電機株式会社 データ転送装置及びデータ転送方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014167670A1 (ja) * 2013-04-10 2014-10-16 三菱電機株式会社 データ転送装置及びデータ転送方法
JP6038292B2 (ja) * 2013-04-10 2016-12-07 三菱電機株式会社 データ転送装置及びデータ転送方法
US9886411B2 (en) 2013-04-10 2018-02-06 Mitsubishi Electric Corporation Data transfer device and data transfer method

Similar Documents

Publication Publication Date Title
JP2829091B2 (ja) データ処理システム
JPH06282515A (ja) データ処理装置
JPH04277850A (ja) ディスクリプタ制御方式
JP3139310B2 (ja) ディジタル信号処理装置
JP3127737B2 (ja) ディジタル信号処理装置
JP2000298641A (ja) 情報処理装置およびそのデータ転送方法ならびにデータ転送制御プログラムを格納した記憶媒体
JPH071494B2 (ja) チャネルコマンド語チェイン装置
JPH02114294A (ja) グラフィックディスプレイ装置
JPS6048563A (ja) チャネル制御方式
JPH01234957A (ja) Dma制御方法及び装置
JPS5918733B2 (ja) デ−タ送受信制御装置
JPH01302456A (ja) チャネル制御ブロックを用いたデータ転送制御方式
JPH054694B2 (ja)
JPH03182945A (ja) 主記憶内データ転送方式
JPS63226757A (ja) 情報処理システムのデ−タ転送方式
JPS63168720A (ja) メモリバツフア装置
JPH02125303A (ja) ブログラマブル・コントローラ
JPH0285948A (ja) 直接記憶アクセス制御方式
JPH03269613A (ja) 外部記憶装置の多重記録方式
JPH04127230A (ja) 情報処理装置
JPS6378260A (ja) 入出力装置制御方式
JPS58217035A (ja) 計算機システムの入出力制御方式
JPS60112160A (ja) 入出力装置制御方式
JPS6113617B2 (ja)
JP2000010908A (ja) Dmaコントローラ