JP2674858B2 - DMA controller with function capable of multiple operations - Google Patents

DMA controller with function capable of multiple operations

Info

Publication number
JP2674858B2
JP2674858B2 JP2085005A JP8500590A JP2674858B2 JP 2674858 B2 JP2674858 B2 JP 2674858B2 JP 2085005 A JP2085005 A JP 2085005A JP 8500590 A JP8500590 A JP 8500590A JP 2674858 B2 JP2674858 B2 JP 2674858B2
Authority
JP
Japan
Prior art keywords
dma
register
holds
address
value
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.)
Expired - Fee Related
Application number
JP2085005A
Other languages
Japanese (ja)
Other versions
JPH03286354A (en
Inventor
八郎 澤田
譲二 中嶋
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 JP2085005A priority Critical patent/JP2674858B2/en
Publication of JPH03286354A publication Critical patent/JPH03286354A/en
Application granted granted Critical
Publication of JP2674858B2 publication Critical patent/JP2674858B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はDMAコントローラに関し、特に多重動作可
能な機能を持つDMAコントローラに関する。
The present invention relates to a DMA controller, and more particularly to a DMA controller having a function capable of performing multiple operations.

〔従来の技術〕 従来、この種のDMAコントローラは複数固有のDMAチヤ
ンネルと、DMA転送を行うアドレスを保持する1個のテ
ンポラリアドレスレジスタおよびDMA転送を行つた回数
を保持する1個のテンポラリワードカウンタレジスタを
備え、DMAサービスを行なつている。
[Prior Art] Conventionally, this type of DMA controller has a plurality of unique DMA channels, one temporary address register that holds an address for performing DMA transfer, and one temporary word counter that holds the number of times DMA transfer is performed. It has registers and performs DMA service.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上述した従来のDMAコントローラでは各DMAチヤンネル
が共有しているので、1つのDMAチヤンネルがサービス
中になると、そのチヤンネルのDMA動作が全て終了する
まで、他のDMAチヤンネルがサービスになれない。この
ため、他のDMAチヤンネルに接続しているI/Oコントロー
ラがこのDMAコントローラにDMAサービス要求を出して
も、先のDMAチヤンネルのサービスが終了するまで待た
されるため、I/Oコントローラの種類によつてはオーバ
ーランエラーとなる場合がある。そして、このオーバー
ランエラーを避けるために、プログラムで各チヤンネル
のDMAが競合してオーバーランエラーとならないように
制御しなければならないという欠点がある。
Since each DMA channel is shared in the above-mentioned conventional DMA controller, when one DMA channel is in service, other DMA channels cannot be in service until all the DMA operations of that channel are completed. For this reason, even if an I / O controller connected to another DMA channel issues a DMA service request to this DMA controller, it will wait until the service of the previous DMA channel ends. Therefore, an overrun error may occur. Then, in order to avoid this overrun error, there is a drawback in that the program must be controlled so that the DMAs of the respective channels do not compete with each other to cause an overrun error.

〔課題を解決するための手段〕[Means for solving the problem]

この発明に係る多重動作可能な機能付DMAコントロー
ラは、独立したDMA転送を行う最初のアドレスを保持す
るベースアドレスレジスタと、データバスへ接続してベ
ースアドレスレジスタの保持する値に対して1回のDMA
転送毎に1ずつ変更した値を保持するカレントアドレス
レジスタと、アドレスバスへ接続してカレントアドレス
レジスタが保持している値を保持するテンポラリアドレ
スレジスタと、DMA転送の回数を保持するベースワード
カウントレジスタと、データバスへ接続して1回のDMA
転送毎にベースワードカウントレジスタが保持している
値より1ずつ減らした値を保持するカレントワードカウ
ントレジスタと、アドレスバスへ接続してカレントワー
ドアドレスレジスタが保持している値を保持するテンポ
ラリワードカウントレジスタとを複数のDMAチヤンネル
それぞれに備え、DMAコントローラを回転優先順位およ
び各DMAチヤンネルをシングルトランスファーモードに
プログラミングするものである。
A DMA controller with a function capable of performing multiple operations according to the present invention is a base address register that holds an initial address for performing independent DMA transfer and a value that is stored once in the base address register connected to a data bus. DMA
A current address register that holds the value changed by 1 for each transfer, a temporary address register that holds the value held by the current address register by connecting to the address bus, and a base word count register that holds the number of DMA transfers And once connected to the data bus DMA
A current word count register that holds a value that is decremented by 1 from the value that the base word count register holds for each transfer, and a temporary word count that holds the value held in the current word address register by connecting to the address bus Registers are provided for each of a plurality of DMA channels, and a DMA controller is programmed for the rotation priority and each DMA channel is set to a single transfer mode.

〔作用〕[Action]

この発明は各DMAチヤンネル毎に独立してDMA転送を行
なうことができる。
According to the present invention, DMA transfer can be performed independently for each DMA channel.

〔実施例〕〔Example〕

図はこの発明に係る多重動作可能な機能付DMAコント
ローラの一実施例を示すブロツク図である。同図におい
て、1はデータバス、2はデータバスバツフア、3はモ
ードレジスタ、4はステータスレジスタ、5はコマンド
レジスタ、6はマスクレジスタ、7はリクエストレジス
タ、8は優先順位決定回路、9はアドレスバスバツフ
ア、10はホールドリクエスト信号線、11はアドレスバ
ス、12a〜12nはそれぞれ第1DMAリクエスト信号,第2DMA
リクエスト信号〜第nDMAリクエスト信号が入力する端
子、13はベースアドレスレジスタ、14はカレントアドレ
スレジスタ、15はアドレスを保持するテンポラリアドレ
スレジスタ、16はベースワードカウントレジスタ、17は
カレントワードカウントレジスタ、18はDMA転送を行な
つた回数を保持するランポラリワードカウントレジス
タ、19a〜19nはそれぞれベースアドレスレジスタ13,カ
レントアドレスレジスタ14,テンポラリアドレスレジス
タ15,ベースワードカウントレジスタ16,カレントワード
カウントレジスタ17およびテンポラリワードカウントレ
ジスタ18から構成した第1DMAチヤンネル〜第nDMAチヤン
ネルである。
FIG. 3 is a block diagram showing an embodiment of a DMA controller with a function capable of performing multiple operations according to the present invention. In the figure, 1 is a data bus, 2 is a data bus buffer, 3 is a mode register, 4 is a status register, 5 is a command register, 6 is a mask register, 7 is a request register, 8 is a priority determination circuit, and 9 is Address bus buffer, 10 is a hold request signal line, 11 is an address bus, and 12a to 12n are the first DMA request signal and the second DMA, respectively.
Request signal to n-th DMA request signal input terminal, 13 is a base address register, 14 is a current address register, 15 is a temporary address register holding an address, 16 is a base word count register, 17 is a current word count register, and 18 is A random-word count register that holds the number of times DMA transfer is performed, 19a to 19n are base address register 13, current address register 14, temporary address register 15, base word count register 16, current word count register 17, and temporary word, respectively. The first DMA channel to the n-th DMA channel configured by the count register 18.

次に、上記構成による多重動作可能な機能付DMAコン
トローラの動作について説明する。まず、あらかじめ各
DMAチヤンネル19a〜19nがシングルトランスフアーモー
ドで、および回転優先順位で設定されていれば第1DMAリ
クエスト信号が入力すると第1DMAチヤンネル19aはサー
ビス中となる。このとき、他にサービス中のDMAチヤン
ネルがない場合、1回のDMAリクエスト信号に対し1回
のDMA動作を行い、第1DMAチヤンネル19aのテンポラリア
ドレスレジスタ15は+1増加または−1減少し、テンポ
ラリワードカウントレジスタ17は−1減少すると同時
に、カレントアドレスレジスタ14およびカレントワード
カウントレジスタ17はそれぞれテンポラリアドレスレジ
スタ15またはテンポラリワードカウントレジスタ17と同
値に更新される。上述の動作を第1DMAチヤンネル19aの
テンポラリワードカウントレジスタ18が0になるまで繰
り返し、第1DMAチヤンネル19aのサービスは終了する。
ところで、この第1DMAチヤンネル19aがサービス中に他
のDMAチヤンネル、例えば第2DMAチヤンネル19bに第2DMA
リクエスト信号が入力すると、この第2DMAチヤンネル19
bもサービス中になる。そして回転優先順位が設定され
ているので、第1DMAチヤンネル19aがDMA動作実行中であ
ればそのDMA動作が終了した時点で、また次のDMAリクエ
ストを待つている状態であれば直ちに、第2DMAチヤンネ
ル19bがDMA動作を実行し、第2DMAチヤンネル19bのテン
ポラリアドレスレジスタ15、テンポラリワードカウント
レジスタ18、カレントアドレスレジスタ14およびカレン
タワードカウントレジスタ17がそれぞれ更新される。こ
のように、1つのDMAチヤンネルサービス中であつても
そのDMAサービスが終了するまで待たされることなくサ
ービスを受けることができ、DMAは多重化されて動作す
る。
Next, the operation of the function-equipped DMA controller having the above configuration will be described. First of all,
If the DMA channels 19a to 19n are set in the single transfer mode and in the rotation priority order, the first DMA channel 19a becomes in service when the first DMA request signal is input. At this time, if there is no other DMA channel in service, one DMA operation is performed for one DMA request signal, the temporary address register 15 of the first DMA channel 19a is incremented by +1 or decremented by 1, and the temporary word At the same time as the count register 17 decreases by -1, the current address register 14 and the current word count register 17 are updated to the same value as the temporary address register 15 or the temporary word count register 17, respectively. The above operation is repeated until the temporary word count register 18 of the first DMA channel 19a becomes 0, and the service of the first DMA channel 19a ends.
By the way, while this first DMA channel 19a is in service, another DMA channel, for example, the second DMA channel 19b, the second DMA channel
When the request signal is input, this second DMA channel 19
b is also in service. Then, since the rotation priority is set, if the first DMA channel 19a is in the middle of a DMA operation, when the DMA operation is finished, and if it is waiting for the next DMA request, the second DMA channel is immediately sent. 19b executes the DMA operation, and the temporary address register 15, the temporary word count register 18, the current address register 14 and the calendar word count register 17 of the second DMA channel 19b are updated. Thus, even during one DMA channel service, the service can be received without waiting until the DMA service is completed, and the DMA operates in a multiplexed manner.

〔発明の効果〕〔The invention's effect〕

以上詳細に説明したように、この発明に係る多重動作
可能な機能付DMAコントローラによれば、独立したDMA転
送を行う最初のアドレスを保持するベースアドレスレジ
スタと、データバスへ接続してベースアドレスレジスタ
の保持する値に対して1回のDMA転送毎に1ずつ変更し
た値を保持するカレントアドレスレジスタと、アドレス
バスへ接続してカレントアドレスレジスタが保持してい
る値を保持するテンポラリアドレスレジスタと、DMA転
送の回数を保持するベースワードカウントレジスタと、
データバスへ接続して1回のDMA転送毎にベースワード
カウントレジスタが保持している値より1ずつ減らした
値を保持するカレントワードカウントレジスタと、アド
レスバスへ接続してカレントワードアドレスレジスタが
保持している値を保持するテンポラリワードカウントレ
ジスタとを複数のDMAチヤンネルそれぞれに備えること
により、1つのDMAチヤンネルがシングルトランスフア
ーモードでサービス中であつても、そのチヤンネルが実
際にDMA動作を行つてない期間に他のDMAチヤンネルがサ
ービス中になることができ、また実際にDMA動作を行な
うことができるため、DMAサービス要求を行うI/Oコント
ローラがオーバーランエラーとなる種類のものであつて
もプログラムで制御する必要がないので、システムの処
理スピードが向上し、プログラムも簡素にできるなどの
効果がある。
As described in detail above, according to the DMA controller with a function capable of performing multiple operations according to the present invention, the base address register that holds the first address for independent DMA transfer and the base address register that is connected to the data bus A current address register that holds a value that is changed by 1 for each DMA transfer with respect to the value that is held by, and a temporary address register that holds the value held by the current address register by connecting to the address bus, A base word count register that holds the number of DMA transfers,
Connected to the data bus, the current word count register that holds a value that is reduced by 1 from the value that the base word count register holds for each DMA transfer, and the current word address register that is connected to the address bus and held by the current word address register By equipping each of the multiple DMA channels with a temporary word count register that holds the value being stored, even if one DMA channel is in service in single transfer mode, that channel can actually perform the DMA operation. Even if the I / O controller making the DMA service request has an overrun error, the other DMA channels can be in service during the idle period and can actually perform the DMA operation. Since there is no need for program control, the processing speed of the system is improved and There is an effect of, or the like can also be simplified.

【図面の簡単な説明】[Brief description of the drawings]

図はこの発明に係る多重動作可能な機能付DMAコントロ
ーラの一実施例を示すブロツク図である。 1……データバス、2……データバスバツフア、3……
モードレジスタ、4……ステータスレジスタ、5……コ
マンドレジスタ、6……マスクレジスタ、7……リクエ
ストレジスタ、8……優先順位決定回路、9……アドレ
スバスバツフア、10……ホールドリクエスト信号線、11
……アドレスバス、12a〜12n……端子、13……ベースア
ドレスレジスタ、14……カレントアドレスレジスタ、15
……テンポラリアドレスカウンタ、16……ベースワード
カウントレジスタ、17……カレントワードカウントレジ
スタ、18……テンポラリワードカウントレジスタ、19a
〜19n……第1DMAチヤンネル〜第nDMAチヤンネル。
FIG. 3 is a block diagram showing an embodiment of a DMA controller with a function capable of performing multiple operations according to the present invention. 1 ... Data bus, 2 ... Data bus buffer, 3 ...
Mode register, 4 ... Status register, 5 ... Command register, 6 ... Mask register, 7 ... Request register, 8 ... Priority determination circuit, 9 ... Address bus buffer, 10 ... Hold request signal line , 11
...... Address bus, 12a to 12n ...... Terminal, 13 ...... Base address register, 14 ...... Current address register, 15
...... Temporary address counter, 16 …… Base word count register, 17 …… Current word count register, 18 …… Temporary word count register, 19a
~ 19n ... 1st DMA channel ~ nth DMA channel.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】マイクロコンピュータシステムで使用する
DMAコントローラにおいて、 独立したDMA転送を行う最初のアドレスを保持するベー
スアドレスレジスタと、 データバスへ接続して前記ベースアドレスレジスタの保
持する値に対して1回のDMA転送毎に1ずつ変更した値
を保持するカレントアドレスレジスタと、 アドレスバスへ接続して前記カレントアドレスレジスタ
が保持している値を保持するテンポラリアドレスレジス
タと、 前記DMA転送の回数を保持するベースワードカウントレ
ジスタと、 前記データバスへ接続して1回のDMA転送毎に前記ベー
スワードカウントレジスタが保持している値より1ずつ
減らした値を保持するカレントワードカウントレジスタ
と、 前記アドレスバスへ接続して前記カレントワードアドレ
スレジスタが保持している値を保持するテンポラリワー
ドカウントレジスタと を複数のDMAチヤンネルそれぞれに備え、 前記DMAコントローラを回転優先順位および各DMAチヤン
ネルをシングルトランスファーモードにプログラミング
することを特徴とする多重動作可能な機能付DMAコント
ローラ。
1. Use in a microcomputer system
In the DMA controller, a base address register that holds the first address for independent DMA transfer and a value that is changed by 1 for each DMA transfer with respect to the value held by the base address register by connecting to the data bus To a data bus, a temporary address register that holds the value held by the current address register by connecting to the address bus, a base address count register that holds the number of DMA transfers, A current word count register that holds a value that is reduced by 1 from the value that the base word count register holds for each DMA transfer that is connected, and a current word address register that holds the current word address register when connected to the address bus Temporary word count register that holds the current value Preparative provided to each of the plurality of DMA channels, the DMA controller with multiple operational functions, characterized in that the rotating priority and each DMA channel of DMA controller programmed to single transfer mode.
JP2085005A 1990-04-02 1990-04-02 DMA controller with function capable of multiple operations Expired - Fee Related JP2674858B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2085005A JP2674858B2 (en) 1990-04-02 1990-04-02 DMA controller with function capable of multiple operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2085005A JP2674858B2 (en) 1990-04-02 1990-04-02 DMA controller with function capable of multiple operations

Publications (2)

Publication Number Publication Date
JPH03286354A JPH03286354A (en) 1991-12-17
JP2674858B2 true JP2674858B2 (en) 1997-11-12

Family

ID=13846617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2085005A Expired - Fee Related JP2674858B2 (en) 1990-04-02 1990-04-02 DMA controller with function capable of multiple operations

Country Status (1)

Country Link
JP (1) JP2674858B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2624989B2 (en) * 1988-02-19 1997-06-25 株式会社日立製作所 Data transfer control device

Also Published As

Publication number Publication date
JPH03286354A (en) 1991-12-17

Similar Documents

Publication Publication Date Title
JPS60112164A (en) Dynamically alterable interrupt preference circuit
US5031097A (en) Direct memory access controller
JP2674858B2 (en) DMA controller with function capable of multiple operations
JPS6242306B2 (en)
JPS6215899B2 (en)
JP2689523B2 (en) DMA transfer device
JP2579008B2 (en) Time-division multitasking execution device
JPS6162961A (en) Input/ouput device
JPS6336021B2 (en)
JP3025287B2 (en) DMA control method
JP3678537B2 (en) Data transfer method and apparatus
JPH06119287A (en) Data transfer system
JPH02294755A (en) Data processor
JPS62219153A (en) Dma controller
JPH0426744B2 (en)
JPS5858633A (en) Input/output channel processor
JPH02136949A (en) Input/output controller
JPS61117651A (en) Interface device
JPS6324349A (en) Memory access device
JPH04236648A (en) Direct memory access controller
JPS62145345A (en) Control system for direct memory access interval
JPS59211125A (en) Memory control system
JPS60153655A (en) Input/output data transfer device
JPH06161945A (en) Memory data transfer device
JPH01276261A (en) Interruption control device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees