JPH0962610A - Dmaコントローラ - Google Patents

Dmaコントローラ

Info

Publication number
JPH0962610A
JPH0962610A JP21380595A JP21380595A JPH0962610A JP H0962610 A JPH0962610 A JP H0962610A JP 21380595 A JP21380595 A JP 21380595A JP 21380595 A JP21380595 A JP 21380595A JP H0962610 A JPH0962610 A JP H0962610A
Authority
JP
Japan
Prior art keywords
transfer
dma
data
count
block
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
JP21380595A
Other languages
English (en)
Inventor
Shoichi Kitagami
尚一 北上
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP21380595A priority Critical patent/JPH0962610A/ja
Publication of JPH0962610A publication Critical patent/JPH0962610A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 従来は CPU による制御が必要であり、且つ
あるデータブロックの転送終了から次ブロックの転送開
始までの間に時間を要して遅延が生じていた。 【解決手段】 現在DMA転送実行中のデータブロック
の次に転送すべきデータブロックの少なくとも転送元の
開始アドレスと転送先アドレスとデータサイズを示すデ
ータとを含む転送パラメータをメモリから予めロードす
ることが可能で、第1のDMA転送チャネルの転送パラ
メータを制御する第1カウント制御部121と、同じく第
2のDMA転送チャネルの転送パラメータを制御する第
2カウント制御部122 とを備え、両カウント制御部121,
122を交互に制御して複数のブロックのデータ転送を実
行する際に、両カウント制御部121, 122は、一方による
データ転送の空きサイクル中に、他方が次に転送すべき
データブロックの転送パラメータをメモリからロードす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リロード機能を有
する、即ち現在転送中のデータブロックの次に転送され
るべきデータのブロックの転送パラメータを予め用意す
ることが可能な機能を有する DMAコントローラに関す
る。
【0002】
【従来の技術】DMA(Direct Memory Access)とは、主記
憶からプロセッサを切り離した状態において、プロセッ
サの制御無しに、専用のコントローラ(DMAコントロー
ラ) の制御によりバスを通じて直接データの転送を行な
うデータ転送方法である。
【0003】そのような DMA転送方式の一つにリロード
モードと称される方式がある。これは、転送元開始アド
レス(以下、ソースアドレスと言う),転送先アドレス
(以下、デスティネーションアドレスと言う),転送サ
イズ、即ち転送されるべきデータの量(以下、バイトカ
ウントと言う)等の DMA制御に必要な転送パラメータ用
に二種類のレジスタを備えている。その内の一種類はカ
レントレジスタと通常称され、 DMA転送の動作に直接関
係するレジスタであり、 DMA転送の実行中において各転
送パラメータの現在値を示す。他方はベースレジスタと
通常称され、 DMA転送中であると否とには拘わらず書き
込みが可能であり、 DMA転送の動作に直接には関係しな
い。但し、このベースレジスタの値は、 DMA転送動作が
一旦終了した時点で前述のカレントレジスタに自動的に
ロードされる。換言すれば、ベースレジスタは、現在 D
MA転送中のデータノ次に DMA転送されるべきデータの各
転送パラメータを保持し、それをカレントレジスタにロ
ードするリロードレジスタとして機能する。
【0004】図3は上述のようなリロード機能を有する
DMA転送を行なう DMAコントローラを含むシステム(以
下、第1の従来例と言う) の一構成例を示すブロック図
である。
【0005】図3において、参照符号1は DMAコントロ
ーラを示しており、主として DMA制御部11及びカウント
制御部12にて構成されている。参照符号2は DMA転送の
要求源を示しており、 DMA転送要求を発生して DMAコン
トローラ1の DMA制御部11に与える。
【0006】参照符号3はCPU を、参照符号4はメモリ
を、参照符号5はI/O を、参照符号6はアドレスバス,
データバス及び制御信号(以下、これらを総称してバス
と言う) を、参照符号7は割り込み信号INT を伝送する
割り込み信号線をそれぞれ示している。なお、上述の D
MAコントローラ1, CPU 3, メモリ4,I/O 5はバス6
によって相互に接続されており、割り込み信号線7は D
MA制御部11から出力された割り込み信号INT をCPU 3入
力させる。
【0007】DMAコントローラ1には前述のように DMA
制御部11とカウント制御部12とが備えられているが、カ
ウント制御部12内には参照符号13乃至15にて示されてい
るカレントレジスタ, 参照符号16乃至18にて示されてい
るベースレジスタが備えられている。
【0008】参照符号13は転送されるべきデータの先頭
アドレス (転送開始アドレス) を保持するソースアドレ
スカレントレジスタ(以下、SACRと言う) を、参照符号
14は転送されるべきデータの転送先のアドレスを保持す
るデスティネーションアドレスカレントレジスタ(以
下、DACRと言う) を、参照符号15は転送されるべきデー
タのサイズを保持するバイトカウントカレントレジスタ
(以下、BCR と言う) をそれぞれしめしている。また、
参照符号16は次に転送されるべきデータの先頭アドレス
(転送開始アドレス) を保持するソースアドレスベース
レジスタ(以下、SABRと言う) を、参照符号17は次に転
送されるべきデータの転送先のアドレスを保持するデス
ティネーションアドレスベースレジスタ(以下、DABRと
言う) を、参照符号18は次に転送されるべきデータのサ
イズを保持するバイトカウントベースレジスタ(以下、
BBR と言う) をそれぞれ示している。
【0009】メモリ4内には DMA転送に関するデータ領
域として参照符号41, 42, 43及び44が設定されている。
参照符号41〜43は DMAコントローラ1によって転送され
るべき複数のデータのブロックの領域を示しており、”
XXXX, Xn”, ”YYYY, Yn”,”ZZZZ, Zn”はそれぞれの
領域の転送開始アドレスと転送サイズとを表す。即
ち、”XXXX”, ”YYYY”, ”ZZZZ”がそれぞれのブロッ
クの転送開始アドレス (先頭アドレス) を、”Xn”, ”
Yn”, ”Zn”がそれぞれのブロックの転送サイズ (デー
タ量) を表す。
【0010】また、メモリ4内の参照符号44は、上述の
DMA転送の対象である各ブロック41, 42, 43の転送パラ
メータである”XXXX”, ”Xn”等とそれぞれの転送先ア
ドレスとを格納するための転送パラメータ領域である。
【0011】I/O 5はたとえばこの図3に示されている
システムが外部との間で種々のデータの送受を行なうた
めのハードウェアである。たとえばメモリ4内のデータ
をこのシステムの外部へ出力する場合には、そのデータ
を一旦I/O 5に転送した上で外部へデータが出力され
る。また逆に、データが外部からこのシステムに入力さ
れる場合には、一旦I/O 5がデータを受け取った上で内
部のCPU 3, メモリ4等へデータが転送される。
【0012】I/O 5内の参照符号51はアドレス”PPPP”
がマッピングされた記憶領域であり、アドレス”PPPP”
を指定することによりリード/ライトアクセスが可能で
ある。なお、以下の説明では、 DMA転送の転送先はこの
I/O 5内の記憶領域51であるとする。
【0013】次に、上述の図3に示されているような構
成の第1の従来例の DMAコントローラの動作について、
メモリ4中のデータのブロック41, 42, 43を順にI/O 5
内の記憶領域51へ転送する際のタイミングを示す図4の
タイミングチャートを参照して説明する。
【0014】まずCPU 3は、メモリ4の転送パラメータ
領域44から最初に DMA転送されるべきデータのブロック
41の転送パラメータ、即ち先頭アドレスである”XXX
X”, 転送先のアドレスである”PPPP”, 転送サイズで
ある”Xn”を読み出してそれぞれSACR13, DACR14, BCR
15に設定すると共に、二番目に DMA転送されるべきデー
タの転送パラメータ、即ちブロック42の先頭アドレスで
ある”YYYY”, 転送先のアドレスである”PPPP”, 転送
サイズである”Yn”を読み出してそれぞれSABR16,DABR1
7, BBR 18に設定する。この後に DMA転送動作がスター
トする。
【0015】図4(a) に示されているように、 DMA転送
の要求源2から DMA転送要求が発生すると、 DMAコント
ローラ1はCPU 3からバス権を獲得して図4(b) に示さ
れているように DMAサイクルを起動して DMA転送を開始
する。通常は、一つの DMA転送要求に対して1回の DMA
サイクルにより DMA転送が行なわれ、所定量 (バス6の
有効幅に対応した量) のデータが転送される。これに応
じてSACR13の値は所定値だけインクリメントまたはデク
リメントされるので、次の DMAサイクルでの DMA転送に
必要な転送アドレスがSACR13に設定され、またBCR 15の
値は所定値だけデクリメントされる。但し、SABR16, DA
BR17, BBR 18のデータは DMA転送中も変化せず、初期状
態を維持している。
【0016】なお、この図3に示されているシステムで
は、メモリ4からI/O 5内のアドレス”PPPP”が割り付
けられている記憶領域51への DMA転送であるため、I/O
5側のアドレス、即ちBCR 15は常に”PPPP”のまま固定
されている。
【0017】以下、 DMA転送の要求源2からの DMA転送
要求に応じて DMA転送が複数回数実行されるが、BCR 15
の値が”0”になると、換言すれば転送されるべきデー
タのサイズの残りの値が”0”になると DMA転送が終了
する。この時点で DMA制御部11は割り込み信号INT を発
生して割り込み信号線7を介してCPU 3に与える。これ
により、図4(d) に示されているように、CPU 3ではCP
U サイクルが起動されて所定の割り込みハンドラが起動
される。
【0018】ところで、通常のモードでは、BCR 15の値
が”0”になって割り込み信号INTを発生した後に DMA
コントローラ1はディスエーブル状態に入るため、CPU
3によって新たに起動されない限りはたとえ新たに DMA
転送要求が発生しても、それを受け付けることはない。
【0019】これに対してリロード機能を使用した場合
は、 DMA転送が終了しても DMAコントローラ1はイネー
ブル状態を維持すると共に、リロードレジスタであるSA
BR16, DABR17, BBR 18がそれぞれ保持しているデータ、
即ち次に転送すべきブロック42の転送パラメータをそれ
ぞれSACR13, DACR14, BCR 15にロードする。そして、DM
A転送要求があればSACR13, DACR14, BCR 15に新たにロ
ードされた各転送パラメータに従ってブロック42の転送
が直ちに開始される。また同時に、ブロック41の転送終
了により起動された割り込みハンドラに従ってCPU 3も
動作し、転送パラメータ領域44内に格納されている3番
目に転送されるべきブロック43用のソース側転送開始ア
ドレス”ZZZZ”, デスティネーション側転送開始アドレ
ス”PPPP”及び転送サイズ”Zn”をブロック42の DMA転
送の空きを利用して読み出し、それぞれSABR16, DABR1
7, BBR 18に格納する。
【0020】図4(d) に示されているCPU サイクルにお
いて、ハッチングで示されているサイクルがCPU 3が転
送パラメータを設定するサイクルである。
【0021】図5は第2の従来例の構成例を示すブロッ
ク図であり、図6はその動作状態を示すフローチャート
である。なお、この図5においては、前述の第1の従来
例の説明で参照した図3と同一の参照符号は同一又は相
当する機能を有する部分を示しており、それらに関する
説明は省略する。
【0022】図5に示されている第2の従来例の構成で
は、前述の図3に示されている第1の従来例の構成と比
較して、カウント制御部12内のSABR16, DABR17, BBR 18
が備えられていない代わりに、 DMA制御部11内に参照符
号19にて示されている一般にアレイチェインと称される
機能が付加されている。このアレイチェイン19は、 DMA
転送動作の終了時に、次転送パラメータを読み込むため
に備えられている。また、メモリ4内の転送パラメータ
領域44には予め各ブロックの転送パラメータが格納され
ていることは第1の従来と同様である。
【0023】その他の構成は図3のブロック図に示され
ている第1の従来例の構成例と同様である。
【0024】次に、図5に示されている第2の従来例の
動作について、図6のタイミングチャートを参照して説
明する。
【0025】ブロック41の DMA転送が終了までは前述の
図3に示されている第1の従来例と同様である。この第
2の従来例の場合、図6(d) に示されているように、前
述の第1の従来で行なわれていたCPU 3による DMA転送
の空きを利用した次ブロックの転送パラメータの転送パ
ラメータ領域44からのSABR16, DABR17, BBR 18への設定
は行なわれず、 DMAコントローラ1自身が行なう。即
ち、図6(b) に示されているように、ブロック42の転送
が終了した後において、転送パラメータ領域44に格納さ
れている次ブロック43の転送パラメータを DMAコントロ
ーラ1自身が転送パラメータ領域44からSACR13, DACR1
4, BCR 15にロードし、その後に DMA転送要求を受け付
けて DMA転送を実行する。
【0026】図6(b) の DMAサイクルにおいて、ハッチ
ングで示されているサイクルが DMAコントローラ1自身
による転送パラメータを設定するためのサイクルであ
る。
【0027】
【発明が解決しようとする課題】ところで、上述のよう
に構成されている第1の従来例では、3番目のデータの
ブロックの転送パラメータをリロードレジスタ (SABR:
ソースアドレスベースレジスタ, DABR:デスティネーシ
ョンアドレスベースレジスタ, BBR:バイトカウントベー
スレジスタ) にロードする際にCPU による制御を必要と
する。
【0028】また、第2の従来例では、CPU による制御
は必要とはしないものの、 DMA転送の終了後に次に転送
されるべきブロックの転送パラメータのロードを DMAコ
ントローラが行なうため、その間に時間を要し、遅延が
発生する。この遅延はたとえばシリアルプリンタにおけ
る印字データ転送に DMA転送を利用するような場合に、
印字速度が低下するという問題を招来する。
【0029】本発明はこのような事情に鑑みてなされた
ものであり、CPU による制御を不要とし、且つあるデー
タブロックの転送終了から次ブロックの転送開始までの
間に遅延が生じない DMAコントローラの提供を目的とす
る。
【0030】
【課題を解決するための手段】本発明に係る DMAコント
ローラは端的には、 DMA転送の空きサイクルにおいてCP
U ではなく DMAコントローラ自身が自動的に次転送パラ
メータをカレントレジスタにロードするように構成され
ている。
【0031】本発明に係る DMAコントローラは基本的に
は、現在 DMA転送実行中のデータブロックの次に転送す
べきデータブロックの少なくとも転送元の開始アドレス
と転送先アドレスとデータサイズを示すデータとを含む
転送パラメータをメモリから予めロードすることが可能
で、それぞれに対応する DMA転送チャネルの転送パラメ
ータを制御する複数の転送パラメータ制御部を備え、複
数のカウント制御部を順次的に制御して複数のブロック
のデータ転送を実行する DMAコントローラであって、複
数のカウント制御部は、現在 DMA転送実行中のカウント
制御部によるデータ転送の空きサイクル中に、他のいず
れかが次に転送すべきデータブロックの転送パラメータ
をメモリからロードすべくなしてある。
【0032】また、本発明の DMAコントローラは2チャ
ネルの DMA転送を行なう場合には、現在DMA転送実行中
のデータブロックの次に転送すべきデータブロックの少
なくとも転送元の開始アドレスと転送先アドレスとデー
タサイズを示すデータとを含む転送パラメータをメモリ
から予めロードすることが可能で、第1のDMA転送チャ
ネルの転送パラメータを制御する第1の転送パラメータ
制御部と、現在DMA転送実行中のデータブロックの次に
転送すべきデータブロックの少なくとも転送元の開始ア
ドレスと転送先アドレスとデータサイズを示すデータと
を含む転送パラメータをメモリから予めロードすること
が可能で、第2のDMA転送チャネルの転送パラメータを
制御する第2の転送パラメータ制御部とを備え、両カウ
ント制御部を交互に制御して複数のブロックのデータ転
送を実行するDMAコントローラであって、両カウント制
御部は、一方によるデータ転送の空きサイクル中に、他
方が次に転送すべきデータブロックの転送パラメータを
メモリからロードすべくなしてある。
【0033】更に本発明に係る DMAコントローラは、一
方のカウント制御部による DMA転送中に他方のカウント
制御部による次ブロックの転送パラメータのロードが一
方のカウント制御部による次ブロックの転送開始時まで
に完了しない場合に、外部に所定の信号を出力する手段
を備えている。
【0034】このような本発明の DMAコントローラで
は、各チャネルの次ブロックの転送パラメータの設定を
DMAコントローラ自身が現在 DMA転送を実行中のチャネ
ルの空きサイクルを利用して実行するため、CPU の介在
が不要となり、またあるデータのブロックの転送終了か
ら次ブロックの転送開始までの間に遅延が生じることが
なくなる。
【0035】更に、次ブロックの転送パラメータの設定
が間に合わない場合には所定の警報信号が出力される。
【0036】
【発明の実施の形態】以下、本発明をその実施の形態を
示す図面に基づいて詳述する。
【0037】図1は本発明に係る DMAコントローラの実
施の形態の一構成例を示すブロック図である。なお、こ
の図1においては、前述の従来例の説明で参照した図3
及び図5と同一の参照符号は同一又は相当部分を示して
いる。
【0038】本発明では、 DMAコントローラ1は二つの
DMA転送のチャネルを交互に制御する。ここで言う DMA
転送のチャネルとは、一組のカレントレジスタの保持デ
ータに従って制御される DMA転送の意味であり、複数組
のカレントレジスタを備えてそれぞれの保持データに従
って DMA転送を制御すれば複数チャネルの DMA転送にな
る。
【0039】図1において、参照符号1は DMAコントロ
ーラを示しており、主として DMA制御部11, 2チャネル
の DMA転送に対応した第1カウント制御部121,第2カウ
ント制御部122 及びフラグ(F)8にて構成されている。参
照符号2は DMA転送の要求源を示しており、 DMA転送要
求を発生して DMAコントローラ1の DMA制御部11に与え
る。
【0040】参照符号3はCPU を、参照符号4はメモリ
を、参照符号5はI/O を、参照符号6はアドレスバス,
データバス及び制御信号(以下、これらを総称してバス
と言う) を、参照符号7は割り込み信号INT を伝送する
割り込み信号線をそれぞれ示している。なお、上述の D
MAコントローラ1, CPU 3, メモリ4,I/O 5はバス6
によって相互に接続されており、割り込み信号線7は D
MA制御部11から出力された割り込み信号INT をCPU 3入
力させる。
【0041】DMAコントローラ1には前述のように第1
カウント制御部121 及び第2カウント制御部122 が備え
られているが、第1カウント制御部121 内には参照符号
130,140, 150 にて示されているレジスタが、また第2
カウント制御部122 内には参照符号131, 141, 151 にて
示されているレジスタが備えられている。
【0042】参照符号130, 131は転送されるべきデータ
の先頭アドレス (転送開始アドレス) を保持するソース
アドレスカレントレジスタを示しており、以下の説明で
は第1カウント制御部121 のそれをSACR(0)130と称し、
第2カウント制御部122 のそれをSACR(1)131と称す。参
照符号140, 141は転送されるべきデータの転送先のアド
レスを保持するデスティネーションアドレスカレントレ
ジスタを示しており、以下の説明では第1カウント制御
部121 のそれをDACR(0)140と称し、第2カウント制御部
122 のそれをDACR(1)141と称す。参照符号150 は転送さ
れるべきデータのサイズを保持するバイトカウントカレ
ントレジスタを示しており、以下の説明では第1カウン
ト制御部121 のそれをBCR(0)150 と称し、第2カウント
制御部122 のそれをBCR(1)151 と称す。
【0043】なお、本発明の DMAコントローラでは、従
来例に見られたようなリロードレジスタとして機能する
種々のベースレジスタ、即ち次に転送されるべきデータ
の先頭アドレス (転送開始アドレス) を保持するソース
アドレスベースレジスタ(SABR)、次に転送されるべきデ
ータの転送先のアドレスを保持するデスティネーション
アドレスベースレジスタ(DABR)、次に転送されるべきデ
ータのサイズを保持するバイトカウントベースレジスタ
(BBR) 等は第1カウント制御部121 にも第2カウント制
御部122 にも備えられていない。
【0044】メモリ4内には DMA転送に関するデータ領
域として参照符号41, 42, 43及び44が設定されている。
参照符号41〜43は DMAコントローラ1によって転送され
るべき複数のデータのブロックの領域を示しており、”
XXXX, Xn”, ”YYYY, Yn”,”ZZZZ, Zn”はそれぞれの
領域の転送開始アドレスと転送サイズとを表す。即
ち、”XXXX”, ”YYYY”, ”ZZZZ”がそれぞれのブロッ
クの転送開始アドレス (先頭アドレス) を、”Xn”, ”
Yn”, ”Zn”がそれぞれのブロックの転送サイズ (デー
タ量) を表す。
【0045】また、メモリ4内の参照符号44は、上述の
DMA転送の対象である各ブロック41, 42, 43の転送パラ
メータを格納するための転送パラメータ領域である。
【0046】I/O 5はたとえばこの図1に示されている
システムが外部との間で種々のデータの送受を行なうた
めのハードウェアである。たとえばメモリ4内のデータ
をこのシステムの外部へ出力する場合には、そのデータ
を一旦I/O 5に転送した上で外部へデータが出力され
る。また逆に、データが外部からこのシステムに入力さ
れる場合には、一旦I/O 5がデータを受け取った上で内
部のCPU 3, メモリ4等へデータが転送される。
【0047】I/O 5内の参照符号51はアドレス”PPPP”
がマッピングされた記憶領域であり、アドレス”PPPP”
を指定することによりリード/ライトアクセスが可能で
ある。なお、以下の説明では、 DMA転送の転送先はこの
I/O 5内の記憶領域51であるとする。
【0048】更に、図1において、参照符号111 は DMA
制御部11内に新たに備えられた調停回路を示しており、
DMA転送を実行するチャネルと転送パラメータをロード
するチャネルとを決定し、実行するタイミングを生成す
る。具体的には、調停回路111 は、第1カウント制御部
121 と第2カウント制御部122 との内のいずれにバス6
を使用させて DMA転送を実行させるか、またいずれにバ
ス6を使用させて転送パラメータのロードを行なうかを
調停する。
【0049】次に、上述のような構成の本発明の DMAコ
ントローラの動作について、図2のタイミングチャート
を参照して説明する。なお、以下の動作説明において
は、2チャネルの DMA転送を行なうが、デスティネーシ
ョンアドレスはいずれもI/O 5のアドレス”PPPP”がマ
ッピングされている記憶領域51であるとする。また、チ
ャネル0によりメモリ4のデータのブロック41及び43
が、チャネル1によりメモリ4の42がいずれも記憶領域
51へ DMA転送されるものとする。
【0050】まずCPU 3は、メモリ4の転送パラメータ
領域44から最初に DMA転送すべきデータのブロック41の
各転送パラメータ”XXXX”, ”PPPP”, ”Xn”を読み出
し、それぞれをチャネル0側の第1カウント制御部121
内のSACR(0)130, DACR(0)140, BCR(0)150 に設定すると
共に、XXXX”, ”PPPP”, ”Xn”を読み出し、それぞれ
をチャネル1側の第2カウント制御部122 内のSACR(1)1
31, DACR(1)141, BCR(1)151 に設定する。
【0051】その後、調停回路111 の制御によりまず第
1カウント制御部121 が DMA転送を開始し、図2(a) に
示されているように DMA転送の要求源2が DMA転送要求
を発生すると、それに応じて図2(b) に示されているよ
うにまずチャネル0側の第1カウント制御部121 による
制御によってメモリ4中のデータのブロック41がI/O5
のアドレス”PPPP”の記憶領域51へ転送される。そして
BCR(0)150 の値が”0”になった時点で図2(d) に示さ
れているように割り込み信号INT が発生すると共に直ち
に調停回路111 の制御によりチャネルが0側の第1カウ
ント制御部121による制御からチャネル1側の第2カウ
ント制御部122 による制御に切り換えられ、 DMA転送要
求に応じて DMA転送が継続される。
【0052】一方、データのブロック41の転送が完了し
たチャネル0側の第1カウント制御部121 は次の DMA転
送、即ちブロック43の転送のために転送パラメータ領域
44からブロック43の各転送パラメータをSACR(0)130, DA
CR(0)140, BCR(0)150 へ転送してロードする制御を開始
する。もちろん、この第1カウント制御部121 によるブ
ロック43の各パラメータの転送にはバス6を使用する必
要があるため、調停回路111 の制御により図2(c) にハ
ッチングにて示されているように、チャネル1側の第2
カウント制御部122 によるブロック42の DMA転送の空き
時間が利用される。この場合、チャネル0側の第1カウ
ント制御部121 による次転送パラメータの設定がチャネ
ル1側の第2カウント制御部122 によるブロック42の D
MA転送の終了までに完了しない場合は、 DMA制御部11は
フラグ8をセットして外部へ知らせると共に、 DMAコン
トローラ1はディスエーブル状態となり、 DMA転送要求
があっても次のブロック43の DMA転送は行なわれない。
【0053】なお、ブロック43の DMA転送が終了したこ
とによる図2(d) に示されている割り込み信号INT の発
生に応じて起動される図2(e) に示されている割り込み
ハンドラ中でフラグ8をチェックすることにより、CPU
3はリロード機能を使用したDMA転送が正常に継続して
いるか、あるいは異常が発生して停止しているかを確認
することが可能である。
【0054】ところで、上述の説明においては、リロー
ド機能を使用した DMA転送が正常に実行されているか否
かを検出するためにフラグを使用しているが、専用の割
り込み信号によってもよいことは言うまでもない。ま
た、チャネル数は2チャネルに限定されるものではな
く、カウント制御部を増設することによりチャネル数の
増加に対応させれば、3チャネル以上の場合にも本発明
が適用可能であることは言うまでもない。
【0055】
【発明の効果】以上に詳述したように本発明の DMAコン
トローラによれば、各チャネルの次ブロックの転送パラ
メータの設定を DMAコントローラ自身が現在 DMA転送を
実行中のチャネルの空きサイクルを利用して実行するた
め、CPU の介在が不要となり、またあるデータのブロッ
クの転送終了から次ブロックの転送開始までの間に遅延
が生じることがなくなる。
【0056】また、次ブロックの転送パラメータの設定
が間に合わない場合には所定の警報信号が出力される。
【図面の簡単な説明】
【図1】 本発明に係る DMAコントローラを含むシステ
ムの構成例を示すブロック図である。
【図2】 図1に示されているシステムにおいて実行さ
れる DMA転送の状態を示すタイミングチャートである。
【図3】 リロード機能を有する DMA転送を行なう DMA
コントローラを含むシステムの第1の従来の構成例を示
すブロック図である。
【図4】 図3に示されているシステムにおいて実行さ
れる DMA転送の状態を示すタイミングチャートである。
【図5】 リロード機能を有する DMA転送を行なう DMA
コントローラを含むシステムの第2の従来の構成例を示
すブロック図である。
【図6】 図5に示されているシステムにおいて実行さ
れる DMA転送の状態を示すタイミングチャートである。
【符号の説明】
1 DMAコントローラ、4 メモリ、8 フラグ、11
DMA制御部、 121 第1カウント制御部、 122 第2カ
ウント制御部。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 現在DMA転送実行中のデータブロック
    の次に転送すべきデータブロックの少なくとも転送元の
    開始アドレスと転送先アドレスとデータサイズを示すデ
    ータとを含む転送パラメータをメモリから予めロードす
    ることが可能で、それぞれに対応するDMA転送チャネ
    ルの転送パラメータを制御する複数の転送パラメータ制
    御部を備え、 前記複数のカウント制御部を順次的に制御して複数のブ
    ロックのデータ転送を実行するDMAコントローラにお
    いて、 前記複数のカウント制御部は、現在DMA転送実行中の
    カウント制御部によるデータ転送の空きサイクル中に、
    他のいずれかが次に転送すべきデータブロックの転送パ
    ラメータを前記メモリからロードすべくなしてあること
    を特徴とするDMAコントローラ。
  2. 【請求項2】 いずれか一つのカウント制御部によるD
    MA転送中に他のいずれかのカウント制御部による次ブ
    ロックの転送パラメータのロードが前記いずれか一つの
    カウント制御部による次ブロックの転送開始時までに完
    了しない場合に、外部に所定の信号を出力する手段を備
    えたことを特徴とする請求項1に記載のDMAコントロ
    ーラ。
  3. 【請求項3】 現在DMA転送実行中のデータブロック
    の次に転送すべきデータブロックの少なくとも転送元の
    開始アドレスと転送先アドレスとデータサイズを示すデ
    ータとを含む転送パラメータをメモリから予めロードす
    ることが可能で、第1のDMA転送チャネルの転送パラ
    メータを制御する第1の転送パラメータ制御部と、 現在DMA転送実行中のデータブロックの次に転送すべ
    きデータブロックの少なくとも転送元の開始アドレスと
    転送先アドレスとデータサイズを示すデータとを含む転
    送パラメータを前記メモリから予めロードすることが可
    能で、第2のDMA転送チャネルの転送パラメータを制
    御する第2の転送パラメータ制御部とを備え、 前記両カウント制御部を交互に制御して複数のブロック
    のデータ転送を実行するDMAコントローラにおいて、 前記両カウント制御部は、一方によるデータ転送の空き
    サイクル中に、他方が次に転送すべきデータブロックの
    転送パラメータを前記メモリからロードすべくなしてあ
    ることを特徴とするDMAコントローラ。
  4. 【請求項4】 一方のカウント制御部によるDMA転送
    中に他方のカウント制御部による次ブロックの転送パラ
    メータのロードが一方のカウント制御部による次ブロッ
    クの転送開始時までに完了しない場合に、外部に所定の
    信号を出力する手段を備えたことを特徴とする請求項3
    に記載のDMAコントローラ。
JP21380595A 1995-08-22 1995-08-22 Dmaコントローラ Pending JPH0962610A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21380595A JPH0962610A (ja) 1995-08-22 1995-08-22 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21380595A JPH0962610A (ja) 1995-08-22 1995-08-22 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JPH0962610A true JPH0962610A (ja) 1997-03-07

Family

ID=16645341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21380595A Pending JPH0962610A (ja) 1995-08-22 1995-08-22 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JPH0962610A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061620A (ja) * 2008-09-08 2010-03-18 Nec Electronics Corp Dma装置及びdma転送方法
WO2011154986A1 (en) 2010-06-07 2011-12-15 Hitachi, Ltd. Data transfer device and data transfer method
WO2011161722A1 (en) 2010-06-24 2011-12-29 Hitachi, Ltd. Data transfer system and data transfer method
JP2013246778A (ja) * 2012-05-29 2013-12-09 Nec Corp Dma転送装置、dma転送方法及びdma転送プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061620A (ja) * 2008-09-08 2010-03-18 Nec Electronics Corp Dma装置及びdma転送方法
WO2011154986A1 (en) 2010-06-07 2011-12-15 Hitachi, Ltd. Data transfer device and data transfer method
US8495164B2 (en) 2010-06-07 2013-07-23 Hitachi, Ltd. Data transfer device and data transfer method
WO2011161722A1 (en) 2010-06-24 2011-12-29 Hitachi, Ltd. Data transfer system and data transfer method
US8296478B2 (en) 2010-06-24 2012-10-23 Hitachi, Ltd. Data transfer system and data transfer method
JP2013246778A (ja) * 2012-05-29 2013-12-09 Nec Corp Dma転送装置、dma転送方法及びdma転送プログラム

Similar Documents

Publication Publication Date Title
JP2628079B2 (ja) マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置
KR880001167B1 (ko) 외부 기억 장치 제어용 회로
JP3797491B2 (ja) データインタフェースおよびこれを使用した高速通信システム
JPH10187359A (ja) データ記憶システム及び同システムに適用するデータ転送方法
JPH01229354A (ja) Dmaコントローラ
JPH0962610A (ja) Dmaコントローラ
JPH0221619B2 (ja)
US6134642A (en) Direct memory access (DMA) data transfer requiring no processor DMA support
JPH1069470A (ja) マルチプロセッサシステム
JP2004213666A (ja) Dmaモジュールとその操作方法
JPH0140432B2 (ja)
JPH022176B2 (ja)
JP3266610B2 (ja) Dma転送方式
JPS59127153A (ja) プログラム・ロ−デイング処理方式
JP2533886B2 (ja) デ―タ転送方式
JP2594611B2 (ja) Dma転送制御装置
JPH11212904A (ja) データ転送システム
JPS5917039Y2 (ja) Romチエツカ−
JPH08202650A (ja) Dma転送制御装置
JPS60205652A (ja) Dma転送方式
JPS58182737A (ja) 情報処理装置
EP0503390A1 (en) Microcomputer having direct memory access mode
JPH0333951A (ja) マイクロコンピュータシステム
JPH02307149A (ja) 直接メモリアクセス制御方式
JPH04361348A (ja) データ転送方法