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

Dmaコントローラ

Info

Publication number
JPH047773A
JPH047773A JP11098490A JP11098490A JPH047773A JP H047773 A JPH047773 A JP H047773A JP 11098490 A JP11098490 A JP 11098490A JP 11098490 A JP11098490 A JP 11098490A JP H047773 A JPH047773 A JP H047773A
Authority
JP
Japan
Prior art keywords
dma
transfer
cpu
dma transfer
data bus
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
JP11098490A
Other languages
English (en)
Inventor
Kazuya Yonezu
米津 一弥
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 JP11098490A priority Critical patent/JPH047773A/ja
Publication of JPH047773A publication Critical patent/JPH047773A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、コンピュータシステムのデータバス上におけ
るメモリと周辺回路との間のダイレクト・メモリ・アク
セス(DMA)を制御するDMAコントローラに関し、
特にDMA転送を繰り返し行なう際に好適のDMAコン
トローラに関する。
[従来の技術] 一般にコンピュータシステムでは、CPU(中央処理装
置)がデータバスを使用していない期間にメモリと周辺
回路との間でDMA転送を行なうためのDMAコントロ
ーラを備えている。このようなコンピュータシステムの
構成を第3図に示す。
CPUI、DMAコントローラ2、メモリ3及び周辺l
10(入出力iり4は、データバス5を介して相互に接
続されている。
DMAコントローラ2は、周辺l104からDMA要求
信号DMARQを受は取ると、CPUIに対しバスホー
ルド要求信号BHRQを出力する。
また、CPU1はバスホールド要求信号BHRQに応じ
てDMAコントローラ2にバスホールド許可信号BHA
Kを返送するようになっている。
DMAコントローラ2は、シングルモード、デイマント
モード及びブロックモードの3つの転送モードでDMA
転送を制御する。シングルモードは、DMA転送を1度
行なう毎にデータバスの使用権をCPU1に戻す転送モ
ードであり、デイマントモードは、DMA要求がある限
りは連続してDMA転送を行い、DMA要求がなくなる
とデータバスの使用権をCPU 1に戻す転送モードで
ある。また、ブロックモードは、DMA要求がな(なっ
てもデータバスの使用権をCPUIには戻さずに前辺て
DMAコントローラに設定されている転送回数だけDM
A転送を行なう転送モードである。
第4図は、このような3つの転送モードを実現する従来
のDMAコントローラ2のブロック図である。
即チ、このDMAコントローラ2の内部には、前述した
データバス5に結合された内部データバス10が設けら
れており、この内部データバス10に、転送モードを設
定するためのDMA転送モードレジスタ34が接続され
ている。このDMA転送モードレジスタ34は、3つの
1ビットレジスタ34a、34b、34cからなり、こ
れらの出力が夫々ANDゲート23.25.26の各−
方の入力端に入力されている。
一方、DMA転送開始信号DMA5がカウンタ11に入
力され、このカウンタ11の出力がR−Sフリップフロ
ップ15のリセットR端子に供給されている。また、D
MA要求信号DMARQとバスホールド要求タイミング
信号BHRTとがANDゲート19に入力されており、
このANDゲート19の出力がR−Sフリップフロップ
15のセットS端子に供給されている。
また、データバス解放タイミング信号DBETがAND
ゲート21の一方の入力端に入力されている。このAN
Dゲート21の他方の入力端には、DMA要求信号DM
ARQのインバータ20による反転信号が入力されてい
る。そして、このANDゲート21の出力は、R−Sフ
リップフロップ17のリセットR端子に入力されている
。このR−Sフリップフロップ17のセットS端子には
、ANDゲート19の出力が供給されている。
ANDゲート19の出力は、更にR−Sフリップフロッ
プ18のセットS端子にも入力されている。そして、こ
のR−Sフリップフロップ18のリセットR端子には、
データバス解放タイミング信号DBETが入力されてい
る。
これらのR−8フリップフロップ15,17゜18のQ
出力は、夫々ANDゲート23.25゜26の他方の入
力端に入力されている。更に、ANDゲート23,25
.26(7)出力は、ORゲート30に入力され、OR
ゲー)30の出力がバスホールド要求信号BHRQとし
てCP’UIに出力されるようになっている。
次に、このDMAコントローラ2の各転送モードの転送
動作について説明する。
■シングルモード転送 シングルモード転送時には、レジスタ34cのみがハイ
レベル(以下、Hレベルと略す)に設定される。これに
より、ANDゲート26がらの出力がバスホールド要求
信号BHRQとして選択される。
第5図はシングルモードの転送動作を示すタイミング図
である。
DMA要求信号DMARQがHになり、更にバスホール
ド要求タイミング信号BHRTがHレベルになると、R
−Sフリップフロップ18のQ出力がセットされるので
、バスホールド要求信号BHRQがHレベルになる。こ
れにより、CPU1にデータバス5の使用権を要求する
。CPUIは、自らの処理を終了すると、バスホールド
許可信号BHAKをHレベルにしてDMAコントローラ
2にデータバス5の使用権を与える。バスホールド許可
信号BHAKがHレベルになると、DMAコントローラ
2は、周辺l104とメモリ3との間のDMA転送を開
始させる。
シングルモードでは、1回のDMA転送動作が行なわれ
ると、データバス解放タイミング信号DBETがHレベ
ルになり、R−Sフリップフロップ18がリセットされ
る。これにより、バスホールド要求信号BHRQがロー
レベル(以下、Lと略す)となり、CPUIにデータバ
ス5の使用権を戻すようにしている。CPU1は、バス
ホールド要求信号BHRQがLレベルになると、バスホ
ールド許可信号BHAKをLレベルにして、データバス
5をCPUIの管理下に置く。
/<7.t、−ルド許可信号BHAKがLレベルになる
と、再びDMAコントローラ2はバスホールド要求タイ
ミング信号BHRTをHレベルにして、上記と同様のシ
ングルモード転送動作を繰り返す。
■デイマントモード転送 デイマントモード転送時には、レジスタ34bのみがH
レベルに設定される。これにより、ANDゲート25か
らの出力がバスホールド要求信号BHRQとして選択さ
れる。
第6図はデイマントモードの転送動作を示すタイミング
図である。
DMA要求信号DMARQがHレベルになり、更にバス
ホールド要求タイミング信号BHRTがHレベルになる
と、R−Sフリップフロップ17のQ出力がセットされ
るので、バスホールド要求信号BHRQがHレベルにな
る。これにより、CPUIにデータバス5の使用権を要
求する。CPU1は、自らの処理を終了すると、バスホ
ールド許可信号BHAKをHレベルにしてDMAコント
ローラ2にデータバス5の使用権を与える。バスホール
ド許可信号BHAKがHレベルになると、DMAコント
ローラ2は、周辺l104とメモリ3との間のDMA転
送を開始させる。
デイマントモードでは、DMA要求信号DMARQがL
レベルになるまでDMA転送動作を続行する。即ち、D
MA要求信号DMARQがLレベルになった後、データ
バス解放タイミング信号DBETがHレベルになると、
R−Sフリップフロップ17がリセットされて、バスホ
ールド要求信号BHRQがLレベルに立ち下がる。これ
により、CPUIにデータバス5の使用権が戻される。
■ブロックモード転送 ブロックモード転送時には、レジスタ34aのみがHレ
ベルに設定される。これにより、ANDゲート23から
の出力がバスホールド要求信号BHRQとして選択され
る。
第7図はブロックモードの転送動作を示すタイミング図
である。
DMA要求信号DMARQがHになり、更にバスホール
ド要求タイミング信号BHRTがHレベルになると、R
−Sフリップフロップ15のQ出力がセットされるので
、バスホールド要求信号BHRQがHレベルになる。こ
れにより、CPU1にデータバス5の使用権を要求する
。CPUIは、自らの処理を終了すると、バスホールド
許可信号BHAKをHレベルにしてDMAコントローラ
2ニテータバス5の使用権を与える。バスホールド許可
信号BHAKがHレベルになると、DMAコントローラ
2は、周辺l104とメモリ3との間のDMA転送を開
始させる。
ブロックモードでは、予めカウンタ11に設定しておい
たDMA転送回数値がDMA転送開始信号DMA5によ
りカウントダウンされて、そのカウント値がOになるま
でR−Sフリップフロップ15がリセットされないので
、DMA要求信号DMARQがLレベルになっても、カ
ウント動作が終了するまではDMA転送動作を続行する
このブロックモードでは、カウンタ11の値が0になっ
てDMA転送が終了したのち、次のDMA転送回数値を
書き込む等のCPUIによる前処理がDMA転送の前に
必要になる。
[発明が解決しようとする課題] しかしながら、上述した従来のDMAコントローラでは
、次のような問題点があった。
即ち、シングルモードでは、DMA転送を1回行なう毎
にバスの使用権が戻ってくるため、DMA転送が連続せ
ず、処理効率が低下して遅くなると共に、バスの使用権
の切換えが煩雑になるため、オーバーヘッドが大きくな
るという問題点がある。
また、デイマントモードでは、DMA要求信号がアクテ
ィブである限りはDMA転送を続行するため、CPUが
バスの使用権を必要とするときにこれを取り戻すことが
できない。
更に、ブロックモードでは、予め設定した回数のDMA
転送が終了し、CPUにバス使用権を戻したのち、再度
DMA転送を開始しようとすると、前辺てCPUがDM
A転送回数値を再設定しなければならないなど、ブロッ
クモードを起動する毎に前処理が必要となり、CPUに
負担がかかるという問題がある。
本発明はかかる問題点に鑑みてなされたものであって、
CPUの負担を大幅に軽減すると共に、効率的なりMA
転送を行なうことができ、しかもデータバスを必要以上
に占有してしまうことがないDMAコントローラを提供
することを目的とする。
[課題を解決するための手段] 本発明に係るDMAコントローラは、データバスを介し
てCPU及び周辺回路と接続され、前記周辺回路からの
DMA要求信号に基づいて前記データバス上でのDMA
転送動作を制御するDMAコントローラにおいて、前記
CPUからの設定によってDMA転送回数を記憶する記
憶手段と、DMA転送の度にカウント動作を行なって前
記記憶手段に記憶された前記DMA転送回数のカウント
動作を行なうと所定の信号を出力するカウント手段と、
このカウント手段の出力によってDMA転送動作を中断
させる手段とを有することを特徴とする。
[作用] 本発明では、CPUが記憶手段に適当なりMA転送回数
を設定しておくと、カウント手段から上記転送回数毎に
所定の信号が出力され、DMA転送を中断させる。
従って、本発明によれば、DMA転送が設定された回数
だけ連続して行なわれるので、シングルモードのように
DMA転送が頻繁に途切れることがない。また、所定の
設定回数だけDMA転送が連続するとDMA転送が中断
されるので、デイマントモードのようにDMA転送要求
が連続してもデータバスを占有することがない。更に、
記憶手段にDMA転送回数が一度設定されると、この設
定値が繰り返し使用されるから、ブロックモードのよう
にDMA転送回数値等を頻繁に設定する必要がない。
このように、本発明によれば、CPUによる処理に支障
を来たさずに連続的なりMA転送処理を行なうことがで
きるので、CPUの負担を軽減することが可能であると
共に、効率的なりMA転送を行なうことができる。
[実施例] 以下、添付の図面を参照して本発明の実施例について説
明する。
第1図は本発明の実施例に係るDMAコントローラの構
成を示すブロック図である。なお、この第1図において
第4図と同一部分には同一符号を付し重複する部分の説
明は省略する。
このDMAコントローラが第4図に示した従来のDMA
コントローラと異なる点は、従来の3つの転送モードに
加え、新たにもう1つの転送モードを実現するための手
段が設けられている点にある。
即ち、DMA転送モードレジスタ14は、これらの4つ
の転送モードを設定するために4つの1ビットレジスタ
14a、14b、14c、14dから構成されている。
そして、新たに、ANDゲート24が追加され、その一
方の入力端にレジスタ14bの出力が与えられている。
また、内部データバス10には、レジスタ12が接続さ
れている。このレジスタ12は、CPU1により設定さ
れるDMA転送回数を格納するもので、その出力はカウ
ンタ13に入力されている。
カウンタ13は、カウンタ11と同様、DMA転送開始
信号DMA5によってカウントダウンし、そのカウント
値がOになったときに、カウンタ出力CTR2としてH
レベルをレジスタ12及びORゲート22に出力する。
ORゲート22は、このカウンタ出力CTR2によって
ANDゲート21の出力、つまり、デイマントモード時
のDMA転送終了を示す情報をマスクする。
このORゲート22の出力がR−Sフリップフロップ1
6のリセ、yトR端子に入力されている。
R−Sフリップフロップ16のセットS端子には、AN
Dゲート19の出力が入力されている。そして、このR
−Sフリップフロップ16のQ出力がANDゲート24
の他方の入力端に入力され、ANDゲート23乃至26
の出力がORゲート27を介してバスホールド要求信号
BHRQとして出力されている。
次に、このように構成されたDMAコントローラの動作
について説明する。
DMA転送モードレジスタの1ビツトレジスタ14a+
  14c+  14dは、夫々前述したブロックモー
ド、デイマントモード及びシングルモードを設定するた
めのレジスタであり、これらの転送モード時の動作は従
来と同様である。
レジスタ14bのみがHレベルに設定されると、新たに
追加した転送モードでのDMA転送が行なわれる。これ
により、ANDゲート24からの出力がバスホールド要
求信号BHRQとして選択される。
第2図は、この転送モードでのDMA転送動作を示すタ
イミング図である。
先ず、DMA転送に先立って、CPU1は、データバス
5を介してDMAコントローラのレジスタ12に、連続
させるDMA転送の最大回数の情報を転送する。ここで
は、この最大回数が“4′。
であるとし、レジスタ12に“4”が設定されていると
する。設定時においてはレジスタ12の値は、カウンタ
13に転送される。
続いて、DMA要求信号DMARQがHになり、更にバ
スホールド要求タイミング信号BHRTがHレベルにな
ると、R−Sフリップフロップ16のQ出力がセットさ
れるので、バスホールド要求信号BHRQがHレベルに
なる。これにより、CPUIにデータバス5の使用権を
要求する。CPU1は、自らの処理を終了すると、バス
ホールド許可信号BHAKをHレベルにしてDMAコン
トローラ2にデータバス5の使用権を与える。バスホー
ルド許可信号BHAKがHレベルになると、DMAコン
トローラ2は、周辺l104とメモリ3との間のDMA
転送を開始させる。
DMA転送は、DMA転送開始信号DMA5がHレベル
になることにより実行される。DMA転送開始信号DM
A5はカウンタ13のクロックとして入力されているの
で、転送動作の度にカウンタ13がカウントダウンする
。4回のDMA転送が実行されると、カウンタ13の出
力CTR2がHレベルになるので、ORゲート22の出
力がマスクされ、R−Sフリップフロップ16がリセ・
ソトされる。これにより、DMA要求信号DMARQが
Hレベルを維持していても、バスホールド要求信号BH
RQがLレベルになり、CPU1にデータバス5の使用
権が戻される。また、このときカウンタ13の出力CT
R2によって、カウンタ13には、レジスタ12の値が
転送される。
CPUIは、バスホールド要求信号BHRQがLL/ベ
ルにナルと、バスホールド許可信号BHAKをLレベル
にして、データバス5をCPUIの管理下に置く。
その後、CPU1の処理が終了して、バスホールド許可
信号BHAKがHレベルになると、次のバスホールド要
求タイミング信号BHRTの立ち上がりでR−Sフリッ
プフロップ16がセットされる。これにより、バスホー
ルド要求信号BHRQがHレベルになって、データバス
5の使用権か再びDMAコントローラに与えられる。
ここで、2回のDMA転送が行なわれた後に、DMA要
求信号DMARQがLレベルに立ち下がり、更にデータ
バス解放タイミング信号DBETがHレベルになると、
ANDゲート21の出力がHレベルになるので、カウン
タ13からの出力に拘らず、R−Sフリップフロップ1
6にリセットがかかり、バスホールド要求信号BHRQ
がLレベルになる。これにより、CPU1にデータバス
5の使用権が戻される。
このように、本実施例で示した新たな転送モードを実行
することにより、従来の7ングルモードのようにDMA
転送が頻繁に途切れることがなく、デイマントモードの
ようにDMA転送要求が連続しても、設定回数でデータ
バス5の使用権がCPU1に戻されるのでデータバスを
占有することがなく、更にブロックモードのようにDM
A転送回数値等を頻繁に設定する必要がないという利点
がある。
[発明の効果コ 以上説明したように、本発明によれば、DMA転送がC
PUで設定された回数だけ連続して行なわれるので、シ
ングルモードのようにDMA転送が頻繁に途切れること
がなく、所定の設定回数だけDMA転送が連続するとD
MA転送が中断されるので、デイマントモードのように
DMA転送要求が連続してもデータバスを占有すること
がなく、更に、記憶手段にDMA転送回数が一度設定さ
れると、この設定値が繰り返し使用されるから、ブロッ
クモードのようにDMA転送回数値等を頻繁に設定する
必要がない。
このため、CPUによる処理に支障を来たさずに連続的
なりMA転送処理を行なうことができ、CPUの負担を
軽減することが可能であると共に、効率的なりMA転送
を行なうことができる。
【図面の簡単な説明】
第1図は本発明の実施例に係るDMAコントローラのブ
ロック図、第2図は同コントローラの動作を示すタイミ
ング図、第3図はDMAコントローラを備えたコンピュ
ータシステムのブロック図、第4図は従来のDMAコン
トローラのブロック図、第5図は同コントローラによる
シングルモード時の転送動作を示すタイミング図、第6
図は同コントローラによるデイマントモード時の転送動
作を示すタイミング図、第7図は同コントローラによる
ブロックモード時の転送動作を示すタイミング図である
。 1 ; CPU、2 ; DMAコントローラ、3;メ
モリ、4;周辺I10.5;データバス、10;内部デ
ータバス、11,13;カウンタ、12;レジスタ、1
4;転送モードレジスタ、15乃至18;R−Sフリッ
プフロップ

Claims (1)

    【特許請求の範囲】
  1. (1)データバスを介してCPU及び周辺回路と接続さ
    れ、前記周辺回路からのDMA要求信号に基づいて前記
    データバス上でのDMA転送動作を制御するDMAコン
    トローラにおいて、前記CPUからの設定によってDM
    A転送回数を記憶する記憶手段と、DMA転送の度にカ
    ウント動作を行なって前記記憶手段に記憶された前記D
    MA転送回数のカウント動作を行なうと所定の信号を出
    力するカウント手段と、このカウント手段の出力によっ
    てDMA転送動作を中断させる手段とを有することを特
    徴とするDMAコントローラ。
JP11098490A 1990-04-26 1990-04-26 Dmaコントローラ Pending JPH047773A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11098490A JPH047773A (ja) 1990-04-26 1990-04-26 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11098490A JPH047773A (ja) 1990-04-26 1990-04-26 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JPH047773A true JPH047773A (ja) 1992-01-13

Family

ID=14549457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11098490A Pending JPH047773A (ja) 1990-04-26 1990-04-26 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JPH047773A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007124B2 (en) 2000-07-05 2006-02-28 Sharp Kabushiki Kaisha Image processing system, and semiconductor device and digital still camera apparatus using image processing system
JP2008065512A (ja) * 2006-09-06 2008-03-21 Denso Corp データ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007124B2 (en) 2000-07-05 2006-02-28 Sharp Kabushiki Kaisha Image processing system, and semiconductor device and digital still camera apparatus using image processing system
JP2008065512A (ja) * 2006-09-06 2008-03-21 Denso Corp データ処理装置

Similar Documents

Publication Publication Date Title
US4181938A (en) Processor device
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
EP0212636A2 (en) Bus state control circuit
US5287486A (en) DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts
JPH05307485A (ja) データ処理装置
US5410721A (en) System and method for incrementing a program counter
JP2661222B2 (ja) パルス出力装置
JP2002073527A (ja) Dmaコントローラ
JPS6339072A (ja) デ−タ処理システム
JPH047773A (ja) Dmaコントローラ
US6938118B1 (en) Controlling access to a primary memory
EP0462622B1 (en) Microprocessor capable of ensuring flexible recovery time for I/O device
JPH051504B2 (ja)
JPH04323755A (ja) Dma装置
EP0335502A2 (en) Microcontroller and associated method
JP2569534B2 (ja) マイクロコンピユ−タ
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JPS5810226A (ja) デ−タ処理装置
JPH03188547A (ja) データ転送制御装置
JP3168663B2 (ja) 情報処理装置
JP2539064B2 (ja) マイクロプロセッサ
JPS59194230A (ja) 入出力制御装置
JPH03226882A (ja) シングルチップマイクロコンピュータ
JPH05282239A (ja) Dma転送方式
JPS5981722A (ja) インタ−フエ−ス回路