JPH1031648A - Dma controller - Google Patents

Dma controller

Info

Publication number
JPH1031648A
JPH1031648A JP20532296A JP20532296A JPH1031648A JP H1031648 A JPH1031648 A JP H1031648A JP 20532296 A JP20532296 A JP 20532296A JP 20532296 A JP20532296 A JP 20532296A JP H1031648 A JPH1031648 A JP H1031648A
Authority
JP
Japan
Prior art keywords
address
signal
dma controller
input
address set
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
JP20532296A
Other languages
Japanese (ja)
Inventor
Masahiko Murata
昌彦 村田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP20532296A priority Critical patent/JPH1031648A/en
Publication of JPH1031648A publication Critical patent/JPH1031648A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To miniaturize the circuit of a DMA controller by preparing the address storage means, a write means, an address write means and a common address addition means in the DMA controller against every channel, setting only the requested address, and adding together the addresses of executed channels. SOLUTION: The flip-flops 107 to 109 are provided in a DMA controller as the address storage means serving as the registers which hold the addresses against every channel. An address set pulse generator 102 outputs an address set pulse to a selector 104 and also to an address ACK generation circuit 118. During the output of these pulses, the address information is sent to an address set bus. The address information functions to add together the value equivalent to the number of words which are accessed by a common adder 11 and adds only the added address information to an address register 107 to update the addresses.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、デバイスからのダイレ
クトメモリアクセス(DMA)を制御するDMAコント
ローラに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DMA controller for controlling direct memory access (DMA) from a device.

【0002】[0002]

【従来の技術】従来、この種のDMAコントローラにつ
いては、それぞれのチャンネルにアドレスカウンタが設
けられていた。また、アドレスの設定は、CPU等のラ
イトで行っていた。
2. Description of the Related Art Conventionally, in this type of DMA controller, an address counter is provided for each channel. Further, the setting of the address has been performed by a write of a CPU or the like.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、上記従
来例では、構成する回路が大規模になり、特に多チャン
ネルの場合は、それが顕著に現れるという欠点があっ
た。
However, in the above-mentioned conventional example, there is a drawback that the circuit to be constituted becomes large-scale, and especially in the case of a multi-channel circuit, this is noticeable.

【0004】したがって、本発明の目的は、多チャンネ
ルのDMAコントローラにおいて、回路がコンパクトに
構成できるDMAコントローラを提供することにある。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a multi-channel DMA controller whose circuit can be made compact.

【0005】[0005]

【課題を解決するための手段】前述の目的を達成するた
めに、本発明では、DMAコントローラの内部に、各チ
ャンネルに対してアドレス記憶手段と、書き込み手段
と、共通のアドレス加算手段と、各チャンネルに対して
書き込み手段を設け、要求のあったアドレス設定のみが
設定され、実行されたチャンネルのアドレスが加算され
るように構成する。
In order to achieve the above object, according to the present invention, an address storage means, a writing means, a common address adding means, A writing means is provided for the channel so that only the requested address setting is set, and the address of the executed channel is added.

【0006】さらに、アドレスのセットとアドレスの加
算に対して、調停手段を設け、メモリアクセスとアドレ
スの設定が同時に実行されないように構成する。
Further, arbitration means is provided for address setting and address addition so that memory access and address setting are not performed simultaneously.

【0007】さらにまた、複数のチャンネルを複数のグ
ループに分け、それぞれのグループ内に前記調停手段を
設け、異なったグループ同士の処理が並列して動作する
ように構成する。
Furthermore, a plurality of channels are divided into a plurality of groups, and the arbitration means is provided in each group, so that processing of different groups operates in parallel.

【0008】[0008]

【実施例】次に、本発明の実施例を図面を参照して説明
する。
Next, an embodiment of the present invention will be described with reference to the drawings.

【0009】(実施例1)図1は、本発明の実施例1の
DMAコントローラの回路ブロック図である。図2は、
説明の便宜上、図1で示す回路ブロック図のうち1チャ
ンネルの構成だけを示す回路ブロック図である。図1に
おいて、101はアドレスセットアビタ(調停器)、1
02はアドレスセットパルス発生器、103〜106は
セレクタ、107〜109は各チャンネルのアドレスを
保持するレジスタであるフリップフロップ、110はア
ドレスセレクタ、111は加算器、112はDREQア
ビタ、113はラッチ回路、114はオアゲート、11
5はアドレスライトパルス発生器、116はタイミング
発生器、117はデータEN発生回路、118はアドレ
スACK発生器である。
FIG. 1 is a circuit block diagram of a DMA controller according to a first embodiment of the present invention. FIG.
2 is a circuit block diagram showing only one channel configuration in the circuit block diagram shown in FIG. 1 for convenience of explanation. In FIG. 1, 101 is an address set arbiter (arbiter), 1
02 is an address set pulse generator, 103 to 106 are selectors, 107 to 109 are flip-flops which hold the addresses of the respective channels, 110 is an address selector, 111 is an adder, 112 is a DREQ arbiter, and 113 is a latch circuit. , 114 are OR gates, 11
5 is an address write pulse generator, 116 is a timing generator, 117 is a data EN generation circuit, and 118 is an address ACK generator.

【0010】図2は、動作説明をわかりやすくするため
に、図1で示す回路ブロック図のうち1チャンネルの構
成だけを示す回路ブロック図である。図1で複数チャン
ネルのために存在する要素は取り除いてあるが、その他
の部分は図1の構成と同じである。DMAコントローラ
は、2つの動作プロセスがある。第1は、サービスをう
ける外部デバイスからDMAを行う先頭アドレスをDM
Aコントローラ内部のアドレスレジスタにセットするプ
ロセスであり、第2はサービスを受ける外部デバイスが
DMA転送を行うメモリアクセスのプロセスである。
FIG. 2 is a circuit block diagram showing only one channel configuration in the circuit block diagram shown in FIG. 1 for easy understanding of the operation. In FIG. 1, elements existing for a plurality of channels are removed, but the other parts are the same as those in FIG. The DMA controller has two operating processes. The first is that the start address for performing DMA from an external device to be serviced is DM
This is a process of setting in an address register inside the A controller, and the second is a process of a memory access in which an external device to be serviced performs a DMA transfer.

【0011】最初に、第1のプロセスの動作から説明す
る。サービスを受ける外部デバイスは、アドレスREQ
信号を出力し、アドレスセットをDMAコントローラに
要求する。アドレスREQ信号は、アドレスセットパル
ス発生器102に入力され、アドレスセットパルス発生
器102は、まず、セレクタ103、104に対してセ
レクト信号を出力して、アドレスセット処理側に入力を
切り換える(即ち、セレクタ103において、アドレス
セットバスと加算器111からの入力のうちアドレスセ
ットバスを選択し、セレクタ104においてアドレスセ
ットパルスとアドレスライト信号のうちアドレスセット
パルスを選択する)。
First, the operation of the first process will be described. The external device to be serviced has the address REQ
Signal to request the DMA controller for an address set. The address REQ signal is input to the address set pulse generator 102. The address set pulse generator 102 first outputs a select signal to the selectors 103 and 104 and switches the input to the address set processing side (that is, the address set pulse generator 102). The selector 103 selects the address set bus from the address set bus and the input from the adder 111, and the selector 104 selects the address set pulse from the address set pulse and the address write signal.

【0012】次に、アドレスセットパルスをセレクタ1
04に出力すると同時にアドレスACK発生回路118
にパルスを出力する。アドレスACK発生回路はアドレ
スACK信号を出力し、外部デバイスはアドレスACK
信号が出力されている期間、アドレスセットバスにセッ
トするアドレス情報をドライブする。アドレス情報はセ
レクタ103を通して、アドレスレジスタ107に入力
される。一方、セレクタ104に入力されたアドレスセ
ットパルスは、アドレスレジスタ107のEN入力に入
力され、アドレスレジスタ107の書き込みをイネーブ
ルにする。
Next, the address set pulse is supplied to the selector 1
04 and an address ACK generation circuit 118 at the same time.
Output pulse. The address ACK generation circuit outputs an address ACK signal, and the external device outputs the address ACK.
While the signal is being output, the address information to be set on the address set bus is driven. The address information is input to the address register 107 through the selector 103. On the other hand, the address set pulse input to the selector 104 is input to the EN input of the address register 107 to enable writing of the address register 107.

【0013】そして、次のCLK信号の立ち上がりエッ
ジでアドレスレジスタ107にアドレス情報がセットさ
れる。また、アドレス情報がアドレスレジスタ107に
セットされるCLKの立ち上がりエッジで、外部デバイ
スはアドレスREQ信号をオフし、アドレスセットの動
作プロセスが終了する。
The address information is set in the address register 107 at the next rising edge of the CLK signal. At the rising edge of CLK at which the address information is set in the address register 107, the external device turns off the address REQ signal, and the operation process of the address set ends.

【0014】次に、第2のプロセスについて説明する。
メモリアクセスのサービスを希望する外部デバイスは、
DMAリクエスト信号、すなわち、DREQ信号をオン
し、メモリアクセスをDMAコントローラに要求する。
DREQ信号は、そのまま、図示しないメモリコントロ
ーラにメモリリクエスト信号として出力されると共に、
ラッチ回路113に入力される。ラッチ回路113はト
ランスペアレントタイプのラッチで、メモリACK信号
がオフ状態では入力信号を透過し、オン状態に変化する
とき入力データを保持する。従って、ラッチ113はD
REQ信号を透過し、アドレスライトパルス発生器11
5に入力される。
Next, the second process will be described.
External devices wishing to access memory access
The DMA request signal, that is, the DREQ signal is turned on, and a memory access is requested to the DMA controller.
The DREQ signal is output as it is to a memory controller (not shown) as a memory request signal,
The signal is input to the latch circuit 113. The latch circuit 113 is a transparent type latch and transmits an input signal when the memory ACK signal is in an off state and holds input data when the memory ACK signal changes to an on state. Therefore, the latch 113
The REQ signal is transmitted and the address write pulse generator 11
5 is input.

【0015】メモリコントローラはメモリアクセスのサ
ービスが可能であれば、メモリACK信号をメモリアク
セスの期間中オンする。このとき、113のラッチ回路
にDREQ信号が保持される。一方、アドレスレジスタ
107に書き込まれたアドレス情報は、リクエストアド
レスバスを通じてメモリコントローラに入力されてお
り、メモリコントローラはこのアドレスのメモリをアク
セスする。
The memory controller turns on the memory ACK signal during the memory access if the memory access service is available. At this time, the DREQ signal is held in the latch circuit 113. On the other hand, the address information written in the address register 107 is input to the memory controller via the request address bus, and the memory controller accesses the memory at this address.

【0016】また、アドレス情報は、加算器111に入
力されており、加算器111でアクセスするワード数分
の値が加算される。すなわち、ワードアクセスであれば
1が、4ワードアクセスであれば4が加算されて、セレ
クタ103に入力される。このとき、セレクタ103に
切り換え信号が出力されていないので、この加算された
セレクタ信号はアドレスレジスタ107に入力される。
The address information is input to the adder 111, and the adder 111 adds the value of the number of words to be accessed. That is, 1 is added for word access, and 4 is added for 4-word access, and input to the selector 103. At this time, since the switching signal is not output to the selector 103, the added selector signal is input to the address register 107.

【0017】タイミング発生回路116は、入力された
メモリACK信号によって、所定のタイミングでデータ
EN発生回路117にタイミング信号を送る。データE
N発生回路117は、このタイミング信号によってデー
タ信号をサービスを要求した外部デバイスに出力する。
外部デバイスはこのデータ信号によって、メモリコント
ローラからメモリデータを受け取る。又は、メモリコン
トローラに対して書き込みデータを渡す。それと同時に
DREQ信号をオフする。
The timing generation circuit 116 sends a timing signal to the data EN generation circuit 117 at a predetermined timing according to the input memory ACK signal. Data E
The N generation circuit 117 outputs a data signal to the external device that has requested the service according to the timing signal.
The external device receives memory data from the memory controller according to the data signal. Alternatively, the write data is passed to the memory controller. At the same time, the DREQ signal is turned off.

【0018】タイミング発生回路116は、メモリアク
セスの終了に合わせて、アドレスライトパルス発生回路
115にタイミング信号を送る。アドレスライトパルス
発生回路115は、セレクタ104を通してアドレスレ
ジスタ107のEN入力にアドレスライト信号を出力す
る。アドレスレジスタ107に、次のCLK信号の立ち
上がりエッジで、加算器111で加算されたアドレス情
報が書き込まれ、アドレスが更新される。メモリサービ
スの終了とともに、メモリACK信号はオフされ、ラッ
チ回路113は再び透過状態にもどる。
The timing generation circuit 116 sends a timing signal to the address write pulse generation circuit 115 at the end of the memory access. The address write pulse generation circuit 115 outputs an address write signal to the EN input of the address register 107 through the selector 104. At the next rising edge of the CLK signal, the address information added by the adder 111 is written to the address register 107, and the address is updated. At the end of the memory service, the memory ACK signal is turned off, and the latch circuit 113 returns to the transparent state again.

【0019】以上の第1のプロセスと第2のプロセスに
よって、1回のアドレスセットで連続したDMA転送が
可能となる。
The above first and second processes enable continuous DMA transfer with one address set.

【0020】次に、図1を参照して、複数の、すなわ
ち、nチャンネルに拡張したDMAコントローラの動作
を第1のプロセス及び第2のプロセスに関してそれぞれ
説明する。第1のプロセスに対してはn個の外部デバイ
スからアドレスREQ1、アドレスREQ2、... アド
レスREQn信号を通してアドレスのセットを要求して
くる。アドレスセットアビタ101は、n本のアドレス
REQ信号のうち、同時に入力されたもののうち1番優
先順位の高いものを透過し、他はマスク(遮断)する。
ただし、優先順位の決定方法に対しては、どの様なもの
でもよい。透過されたものに対しては、1チャンネルの
場合と同様に、そのチャンネルに対してのアドレスセッ
トパルスが発生されると同時にアドレス信号が出力さ
れ、アドレスセットバスを通じてアドレスがアドレスレ
ジスタにセットされる。
Next, with reference to FIG. 1, the operation of a plurality of DMA controllers, that is, the DMA controller extended to n channels will be described with respect to the first process and the second process, respectively. For the first process, n sets of addresses are requested from n external devices through address REQ1, address REQ2, ... Address REQn signals. The address set arbiter 101 transmits one of the n address REQ signals that has the highest priority among those input simultaneously, and masks (blocks) the others.
However, any method may be used for determining the priority. For the transmitted signal, an address signal is output at the same time when an address set pulse is generated for that channel, as in the case of one channel, and the address is set in the address register through the address set bus. .

【0021】第2のプロセスに対しては、n個の外部デ
バイスから、DREQ1、DREQ2、... DREQn
信号がそれぞれ入力される。DREQアビタ112は、
同時に入力されたDREQ信号のうち、一番優先順位の
高いものを透過し、他はマスクする。透過したDREQ
信号は、オアゲート114を通じて、メモリコントロー
ラに対してメモリリクエスト信号を出力する。メモリの
サービスが開始され、メモリACK信号が入力される
と、DREQアビタ112を透過したその時点でのDR
EQ信号が、ラッチ回路113に保持される。ラッチ回
路113の出力はアドレスセレクタ110に入力され、
選択された外部デバイスのアドレス情報がリクエストバ
スを通してメモリコントローラから出力され、そのアド
レスのメモリアクセスがサービスされる。メモリサービ
スが終了するまで、ラッチ回路113は保持され、以降
の処理は、1チャンネルの場合と同様で、選択されたチ
ャンネルに対してのみ動作する。
[0021] For the second process, from the n-number of external devices, DREQ1, DREQ2, ... DREQn
Each signal is input. DREQ Abita 112
Of the DREQ signals input at the same time, the signal with the highest priority is transmitted, and the others are masked. DREQ transmitted
The signal outputs a memory request signal to the memory controller through the OR gate 114. When the service of the memory is started and the memory ACK signal is input, the current DR signal transmitted through the DREQ arbiter 112 is output.
The EQ signal is held in the latch circuit 113. The output of the latch circuit 113 is input to the address selector 110,
The address information of the selected external device is output from the memory controller through the request bus, and the memory access of the address is serviced. Until the memory service ends, the latch circuit 113 is held, and the subsequent processing is the same as in the case of one channel, and operates only on the selected channel.

【0022】ところで、多チャンネルの場合に考慮しな
ければならないのは、アドレスセット(すなわち、第1
のプロセス)と、メモリアクセス(すなわち、第2のプ
ロセス)が同時に起こりえるということである。
By the way, what should be considered in the case of multi-channel is an address set (that is, the first set).
And the memory access (ie, the second process) can occur simultaneously.

【0023】本発明においては、アドレス書き込みバス
の衝突を避けるため、以下のアービトレーション手段を
有する。すなわち、アドレスREQが出力され、アドレ
スセットが実行されるとき、アドレスパルス発生器10
2からマスク信号がDREQアビタ112に入力され、
全てのDREQ信号がマスクされる。又、DMAアクセ
スのサービスが行われ、加算されたアドレスがアドレス
レジスタにセットされるとき、アドレスライトパルス発
生器115からアドレスセットアビタ101にマスク信
号が出力され、すべてのアドレスREQ信号がマスクさ
れる。
The present invention has the following arbitration means in order to avoid collision of the address write bus. That is, when the address REQ is output and the address set is executed, the address pulse generator 10
2, the mask signal is input to the DREQ arbiter 112,
All DREQ signals are masked. When the DMA access service is performed and the added address is set in the address register, a mask signal is output from the address write pulse generator 115 to the address set arbiter 101, and all the address REQ signals are masked. .

【0024】以上説明したように、本発明によれば、複
数のDMAソースを持つ外部デバイスに対して、効率よ
く、安価にDMAコントローラが実現できる。
As described above, according to the present invention, a DMA controller can be realized efficiently and inexpensively for an external device having a plurality of DMA sources.

【0025】(実施例2)図3は、本発明の実施例2の
DMAコントローラの回路ブロック図である。実施例2
においては、DMAのサービスを受ける外部デバイスを
2つのグループA、Bに分け、動作効率を高めたもので
ある。図3において、301はアドレスセットアビタ
A、302はアドレスセットパルス発生器A、303は
アドレスACK発生器A、304はアドレスセットアビ
タB、305はアドレスセットパルス発生器B、306
はアドレスACK発生器B、307〜314はセレク
タ、315〜320はアドレスレジスタ、321はアド
レスセレクタ、322は加算器、323はマスクA、3
24はマスクB、325はDREQアビタ、326はオ
アゲート、327はDREQラッチ回路、328はアド
レスライトパルス発生器A、329はアドレスライトパ
ルス発生器B、330はタイミング発生器、331はデ
ータEN発生回路である。
(Embodiment 2) FIG. 3 is a circuit block diagram of a DMA controller according to Embodiment 2 of the present invention. Example 2
In, the external devices that receive the DMA service are divided into two groups A and B to improve the operation efficiency. In FIG. 3, 301 is an address set arbiter A, 302 is an address set pulse generator A, 303 is an address ACK generator A, 304 is an address set arbiter B, 305 is an address set pulse generator B, 306
Is an address ACK generator B, 307 to 314 are selectors, 315 to 320 are address registers, 321 is an address selector, 322 is an adder, 323 is a mask A, 3
24 is a mask B, 325 is a DREQ abiter, 326 is an OR gate, 327 is a DREQ latch circuit, 328 is an address write pulse generator A, 329 is an address write pulse generator B, 330 is a timing generator, and 331 is a data EN generation circuit. It is.

【0026】本実施例においては、基本的な動作は第1
の実施例と同様であるが、グループAとグループBにそ
れぞれ、301、304のアドレスセットアビタAおよ
びB、302、305のアドレスセットパルス発生器A
およびB、303、306のアドレスACK発生器Aお
よびB、307、311のセレクタを設け、他のグルー
プとのアドレスセットと同時に独立してアドレスセット
を可能としたものである。又、各グループのDREQ入
力に323、324のマスクAおよびマスクBを、32
8、329のアドレスライトパルス発生器AおよびBを
それぞれ設け、メモリアクセスとアドレスセットも、グ
ループ外では互いに干渉せず行える様にしたものであ
る。すなわち、グループAがアドレスセット時には、3
02のアドレスセットパルス発生器がマスク信号を出力
し、グループAのDREQのみを323のマスクAにて
全てマスクする。同様に、グループBがアドレスセット
時には、305のアドレスセットパルス発生器がマスク
信号を出力し、グループBのDREQのみを324のマ
スクBにて全てマスクする。
In this embodiment, the basic operation is the first
Is similar to that of the first embodiment, except that the address set arbiters A and B 302 and 305 of the address set pulse generators A and B of the groups A and B respectively belong to the groups A and B.
And the selectors of the address ACK generators A, B, 307, and 311 of B, 303, and 306 are provided to enable address setting independently and simultaneously with address setting with other groups. Also, 323 and 324 masks A and B are applied to the DREQ input of each group, respectively.
8, 329 address write pulse generators A and B are provided, respectively, so that memory access and address setting can be performed without interference with each other outside the group. That is, when group A sets an address, 3
The 02 address set pulse generator outputs a mask signal, and masks only the DREQ of the group A with the mask A of 323. Similarly, when the address of the group B is set, the address set pulse generator 305 outputs a mask signal, and only the DREQ of the group B is entirely masked by the mask B 324.

【0027】一方、グループAがメモリ転送中は、32
8のアドレスライトパルス発生器がマスク信号を出力
し、301のアドレスセットアビタAにて、グループA
のアドレスREQを全てマスクする。同様に、グループ
Bがメモリ転送中には、329のアドレスライトパルス
発生器がマスク信号を出力し、304のアドレスセット
アビタBにて、グループBのアドレスREQを全てマス
クする。
On the other hand, while the group A is performing the memory transfer, 32
The address write pulse generator of No. 8 outputs a mask signal, and the address set arbiter A of 301 outputs the group A
Are masked. Similarly, during the memory transfer of the group B, the address write pulse generator 329 outputs a mask signal, and the address set arbiter B 304 masks all the addresses REQ of the group B.

【0028】図4は、それぞれグループ内、グループ外
に対して、アドレスセット及びメモリ転送の競合が起こ
ったときの処理を示す図表である。図中、Aはアビトレ
ーションを行い、どれか1つが実行されるもの、←→印
は互いに干渉せず同時に実行するものである。以上説明
したように、本実施例においては、DMAコントローラ
の動作効率を飛躍的に高めることができる。また、本実
施例においては、グループはA、Bの2つであるが、グ
ループが多数あっても同様に拡張できる。また、グルー
プ内の複数のチャンネルは複数であるが、これはもちろ
ん、1チャンネルのみであっても良い。
FIG. 4 is a chart showing processing when a conflict occurs between an address set and a memory transfer in a group and outside a group. In the figure, A indicates that an arbitration is performed, and any one is executed, and ← → indicates that the arbitration is executed simultaneously without interfering with each other. As described above, in the present embodiment, the operation efficiency of the DMA controller can be dramatically improved. In the present embodiment, there are two groups, A and B. However, even if there are a large number of groups, the group can be similarly expanded. In addition, although there are a plurality of channels in the group, this may of course be only one channel.

【0029】[0029]

【発明の効果】以上説明したように、本発明によれば、
1、アドレスのインクリメントが共通にできるので、シ
ンプルな回路構成で多チャンネルDMAコントローラが
実現できる。各チャンネルが独立にアドレスを再設定で
きるので、多様なアプリケーションが可能となる。2、
外部デバイスが特別なインテリジェンス無しに、DMA
のサービスが受けられる。3、グループに分けることに
よって、効率的な動作が実現される。
As described above, according to the present invention,
1. Since the address increment can be made common, a multi-channel DMA controller can be realized with a simple circuit configuration. Since each channel can independently reset the address, various applications are possible. 2,
External devices can use DMA without special intelligence
Service is available. 3. Efficient operation is realized by grouping.

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

【図1】図1は、本発明の実施例1のDMAコントロー
ラの回路ブロック図である。
FIG. 1 is a circuit block diagram of a DMA controller according to a first embodiment of the present invention.

【図2】図2は、図1に示すDMAコントローラのうち
の1チャンネルのみの回路ブロック図である。
FIG. 2 is a circuit block diagram of only one channel of the DMA controller shown in FIG. 1;

【図3】図3は、本発明の実施例2のDMAコントロー
ラの回路ブロック図である。
FIG. 3 is a circuit block diagram of a DMA controller according to a second embodiment of the present invention.

【図4】図4は、実施例2の競合時の処理を示す図表で
ある。
FIG. 4 is a chart illustrating processing during a conflict according to the second embodiment;

【符号の説明】[Explanation of symbols]

101 アドレスセットアビタ 102 アドレスセットパルス発生器 103〜106 セレクタ 107〜109 アドレスレジスタ 110 アドレスセレクタ 111 加算器 112 DREQアビタ 113 DREQラッチ回路 114 オアゲート 115 アドレスライトパルス発生器 116 タイミング発生器 117 データEN発生回路 118 アドレスACK発生器 Reference Signs List 101 address set arbiter 102 address set pulse generator 103-106 selector 107-109 address register 110 address selector 111 adder 112 DREQ arbiter 113 DREQ latch circuit 114 OR gate 115 address write pulse generator 116 timing generator 117 data EN generation circuit 118 Address ACK generator

Claims (17)

【特許請求の範囲】[Claims] 【請求項1】 複数のチャンネルを持つDMAコントロ
ーラにおいて、DMAコントローラの内部に設けられた
複数のチャンネルのうちの個々のチャンネルに対して、
それぞれ、アドレスレジスタ等のアドレス記憶手段と、
外部から前記アドレス記憶手段にDMAアドレスを設定
するアドレス書き込み手段と、DMAによるメモリアク
セス時に、処理しているチャンネルのアクセスアドレス
に対してアクセスしたワード数だけアドレスを加算する
アドレス加算手段と、前記アドレス加算手段により加算
されたアドレスを処理しているチャンネルのアドレス記
憶手段に書き込むアドレス書き込み手段を有することを
特徴とするDMAコントローラ。
In a DMA controller having a plurality of channels, for each of a plurality of channels provided inside the DMA controller,
Address storage means such as an address register,
Address writing means for externally setting a DMA address in the address storage means, address adding means for adding addresses by the number of words accessed to an access address of a channel being processed at the time of memory access by DMA; A DMA controller having address writing means for writing the address added by the addition means to address storage means of a channel which is processing.
【請求項2】 請求項1記載のDMAコントローラにお
いて、外部からのアドレス書き込み手段によるアドレス
レジスタへの書き込みと、前記加算手段によって加算さ
れたアドレスのアドレス書き込み手段との競合時に調停
するアビトレーション手段をさらに有することを特徴と
するDMAコントローラ。
2. The DMA controller according to claim 1, further comprising an arbitration means for arbitrating when a write to the address register by an external address writing means and a contention of the address added by said adding means conflict with the address writing means. A DMA controller, further comprising:
【請求項3】 請求項1記載のDMAコントローラにお
いて、複数のチャンネルを複数のグループに分け、それ
ぞれのグループ毎に、外部からのアドレス書き込み手段
と加算器からのアドレス書き込み手段との競合時に調停
するアビトレーション手段をさらに有することを特徴と
するDMAコントローラ。
3. The DMA controller according to claim 1, wherein a plurality of channels are divided into a plurality of groups, and arbitration is performed for each group when a conflict occurs between an external address writing unit and an address writing unit from an adder. A DMA controller, further comprising arbitration means.
【請求項4】 複数のチャンネルを持つDMAコントロ
ーラにおいて、 外部からのアドレスセット信号(REQ信号)に応じて
セレクト信号およびアドレスセットパルスを発生して出
力するアドレスセットパルス発生器と、 アドレスセットバスまたは加算器の出力のいずれかを選
択するように構成された第1セレクタと、 前記第1セレクタで選択された出力が選択的に入力され
て一時的に保持する複数のアドレスレジスタと、 該複数のアドレスレジスタで保持したアドレス値を選択
して出力するアドレスセレクタと、 該アドレスセレクタで選択したアドレス値にアクセスさ
れたメモリのワード数だけアドレス値を加算し、加算し
たアドレス値を前記第1セレクタに出力する加算器と、 外部からのメモリアクセス信号(DREQ信号)に応じ
てアドレスライトパルスを発生して出力するアドレスラ
イトパルス発生器と、 アドレスセットパルス発生器から入力される前記アドレ
スセットパルスと前記アドレスライトパルス発生器から
入力されるアドレスライトパルスを選択すると共にその
出力により前記複数のアドレスレジスタのうちの対応す
る1つを選択的にイネーブルにする複数の第2セレクタ
と、を有し、 前記第1セレクタは前記アドレスセットパルス発生器か
ら前記セレクト信号が入力されたときは前記アドレスセ
ットバスを選択し、入力がないときには加算器の出力を
選択し、 前記複数の第2セレクタは前記アドレスセットパルス発
生器から前記セレクト信号が入力されたときは前記アド
レスセットパルス発生器からの前記アドレスセットパル
スを選択し、入力がないときには前記アドレスライトパ
ルス発生器からのアドレスライトパルスを選択するよう
に構成されている、 ことを特徴とするDMAコントローラ。
4. A DMA controller having a plurality of channels, comprising: an address set pulse generator for generating and outputting a select signal and an address set pulse in response to an external address set signal (REQ signal); A first selector configured to select one of the outputs of the adder, a plurality of address registers to which the output selected by the first selector is selectively input and temporarily held; An address selector for selecting and outputting the address value held in the address register; and adding the address value by the number of words of the memory accessed to the address value selected by the address selector, and adding the added address value to the first selector. According to the adder to be output and the memory access signal (DREQ signal) from outside An address write pulse generator for generating and outputting an address write pulse, and selecting and outputting the address set pulse input from the address set pulse generator and the address write pulse input from the address write pulse generator. And a plurality of second selectors for selectively enabling a corresponding one of the plurality of address registers, wherein the first selector receives the select signal from the address set pulse generator. When the address set bus is selected, the output of the adder is selected when there is no input, and the plurality of second selectors generate the address set pulse when the select signal is input from the address set pulse generator. Select the address set pulse from the DMA controller, wherein consists are, it to select the address write pulse from said address write pulse generator for.
【請求項5】 請求項4記載のDMAコントローラにお
いて、外部から1つのチャンネルのアドレスセット信号
が入力されたとき、前記アドレスセットパルス発生器に
よってセレクト信号およびアドレスセットパルスが発生
され、前記第1セレクタがアドレスセットバスを選択
し、前記複数の第2セレクタのうちのアドレスセットパ
ルスが入力された1つの第2セレクタが前記複数のアド
レスレジスタのうちの対応する1つをイネーブルにする
ことによって対応するアドレスレジスタにアドレス値を
保持し、また外部から1つのチャンネルのメモリアクセ
ス信号が入力されたとき、前記アドレスライトパルス発
生器によりアドレスライトパルスが発生され、複数の第
2セレクタのうちのアドレスライトパルスが入力された
1つの第2セレクタが複数のアドレスレジスタのうちの
対応する1つをイネーブルにすることによって対応する
アドレスレジスタにアドレス値にアクセスされたメモリ
のワード数を加算したアドレス値を保持する、 ことを特徴とするDMAコントローラ。
5. The DMA controller according to claim 4, wherein when an address set signal of one channel is externally input, a select signal and an address set pulse are generated by said address set pulse generator, and said first selector Selects an address set bus, and one of the plurality of second selectors, to which the address set pulse is input, enables a corresponding one of the plurality of address registers. When an address value is held in an address register and a memory access signal of one channel is input from outside, an address write pulse is generated by the address write pulse generator, and an address write pulse among a plurality of second selectors is output. Is input to the second selector A DMA controller, wherein a corresponding one of a plurality of address registers is enabled to hold an address value obtained by adding the number of words of a memory accessed to the address value to the corresponding address register.
【請求項6】 請求項4記載のDMAコントローラにお
いて、前記アドレスセレクタは外部から入力された1つ
のチャンネルのメモリアクセス信号に対応して複数のア
ドレスレジスタのうちの対応する1つを選択して出力す
ることを特徴とするDMAコントローラ。
6. The DMA controller according to claim 4, wherein said address selector selects and outputs a corresponding one of a plurality of address registers in response to an externally input memory access signal of one channel. A DMA controller.
【請求項7】 請求項4記載のDMAコントローラにお
いて、前記アドレスライトパルス発生器は外部からのメ
モリアクセス許可信号(メモリACK信号)の入力から
所定のタイミングでアドレスライトパルスを出力するこ
とを特徴とするDMAコントーラ。
7. The DMA controller according to claim 4, wherein said address write pulse generator outputs an address write pulse at a predetermined timing from input of an external memory access permission signal (memory ACK signal). DMA controller to do.
【請求項8】 請求項4乃至7のいずれか1つに記載の
DMAコントローラにおいて、複数のチャンネルのアド
レスセット信号のうちの1を選択して前記アドレスセッ
トパルス発生器に入力するアドレスセットアビタと、複
数のチャンネルのメモリアクセス信号のうちの1つを選
択して前記アドレスライト発生器に入力するDREQア
ビタをさらに有することを特徴とするDMAコントロー
ラ。
8. The DMA controller according to claim 4, wherein one of the address set signals of a plurality of channels is selected and input to the address set pulse generator. And a DREQ arbiter for selecting one of the memory access signals of a plurality of channels and inputting the selected signal to the address write generator.
【請求項9】 請求項8記載のDMAコントローラにお
いて、外部からアドレスセット信号の入力があったと
き、前記DREQアビタをマスクするDREQアビタマ
スク手段と、外部からメモリアクセス信号の入力があっ
たとき、前記アドレスセットアビタをマスクするアドレ
スセットアビタマスク手段をさらに有することを特徴と
するDMAコントローラ。
9. The DMA controller according to claim 8, wherein when an address set signal is inputted from outside, a DREQ arbiter mask means for masking said DREQ arbiter, and when a memory access signal is inputted from outside, A DMA controller further comprising address set arbiter mask means for masking the address set arbiter.
【請求項10】 請求項9記載のDMAコントローラに
おいて、前記DREQアビタマスク手段によるマスク
は、前記アドレスセットパルス発生器によって発生され
るマスク信号を前記DREQアビタに入力することによ
って行われ、前記アドレスセットアビタマスク手段によ
るマスクは、前記アドレスライトパルス発生器によって
発生されるマスク信号を前記アドレスセットアビタに入
力することによって行われることを特徴とするDMAコ
ントローラ。
10. The DMA controller according to claim 9, wherein masking by said DREQ arbiter masking means is performed by inputting a mask signal generated by said address set pulse generator to said DREQ arbiter, and wherein said address set arbiter is masked. The DMA controller is characterized in that masking by the mask means is performed by inputting a mask signal generated by the address write pulse generator to the address set arbiter.
【請求項11】 複数のチャンネルを持つDMAコント
ローラにおいて、複数のチャンネルを少なくとも2つの
グループに分け、各グループに対して、それぞれ、 外部からのアドレスセット信号(REQ信号)に応じて
セレクト信号およびアドレスセットパルスを発生して出
力するアドレスセットパルス発生器と、 アドレスセットバスまたは加算器の出力のいずれかを選
択するように構成された第1セレクタと、 前記第1セレクタで選択された出力を選択的に入力され
て一時的に保持する複数のアドレスレジスタと、 外部からのメモリアクセス信号(DREQ信号)に応じ
てアドレスライトパルスを発生して出力するアドレスラ
イトパルス発生器と、 アドレスセットパルス発生器から入力される前記アドレ
スセットパルスと前記アドレスライトパルス発生器から
入力されるアドレスライトパルスを選択すると共にその
出力により前記複数のアドレスレジスタのうちの対応す
る1つを選択的にイネーブルにする複数の第2セレクタ
と、を設け、 各グループに対して共通に、 前記複数のアドレスレジスタで保持したアドレス値を選
択して出力するアドレスセレクタと、 該アドレスセレクタで選択したアドレス値にアクセスさ
れたメモリのワード数だけアドレス値を加算し、加算し
たアドレス値を前記第1セレクタに出力する加算器と、
を設け各グループに対して、 前記第1セレクタは前記アドレスセットパルス発生器か
ら前記セレクト信号が入力されたときは前記アドレスセ
ットバスを選択し、入力がないときには加算器の出力を
選択し、 前記複数の第2セレクタは前記アドレスセットパルス発
生器から前記セレクト信号が入力されたときは前記アド
レスセットパルス発生器からの前記アドレスセットパル
スを選択し、入力がないときには前記アドレスライトパ
ルス発生器からのアドレスライトパルスを選択するよう
に構成されている、 ことを特徴とするDMAコントローラ。
11. A DMA controller having a plurality of channels, the plurality of channels are divided into at least two groups, and each group is provided with a select signal and an address according to an external address set signal (REQ signal). An address set pulse generator for generating and outputting a set pulse, a first selector configured to select either an address set bus or an output of an adder, and selecting an output selected by the first selector A plurality of address registers that are temporarily input and temporarily held, an address write pulse generator that generates and outputs an address write pulse in response to an external memory access signal (DREQ signal), and an address set pulse generator The address set pulse input from the A plurality of second selectors for selecting an address write pulse input from a pulse generator and selectively enabling a corresponding one of the plurality of address registers by an output thereof. And an address selector for selecting and outputting the address values held by the plurality of address registers, and adding the address values by the number of words of the memory accessed to the address values selected by the address selector, and adding the added addresses. An adder for outputting a value to the first selector;
For each group, the first selector selects the address set bus when the select signal is input from the address set pulse generator, and selects the output of the adder when there is no input, The plurality of second selectors select the address set pulse from the address set pulse generator when the select signal is input from the address set pulse generator, and select the address set pulse from the address write pulse generator when there is no input. A DMA controller configured to select an address write pulse.
【請求項12】 請求項11記載のDMAコントローラ
において、各グループに対して、外部から1つのチャン
ネルのアドレスセット信号が入力されたとき、前記アド
レスセットパルス発生器によってセレクト信号およびア
ドレスセットパルスが発生され、前記第1セレクタがア
ドレスセットバスを選択し、前記複数の第2セレクタの
うちのアドレスセットパルスが入力された1つの第2セ
レクタが前記複数のアドレスレジスタのうちの対応する
1つをイネーブルにすることによって対応するアドレス
レジスタにアドレス値を保持し、また外部から1つのチ
ャンネルのメモリアクセス信号が入力されたとき、前記
アドレスライトパルス発生器によりアドレスライトパル
スが発生され、複数の第2セレクタのうちのアドレスラ
イトパルスが入力された1つの第2セレクタが複数のア
ドレスレジスタのうちの対応する1つをイネーブルにす
ることによって対応するアドレスレジスタにアドレス値
にアクセスされたメモリのワード数を加算したアドレス
値を保持する、 ことを特徴とするDMAコントローラ。
12. The DMA controller according to claim 11, wherein when an address set signal of one channel is externally input to each group, a select signal and an address set pulse are generated by said address set pulse generator. The first selector selects an address set bus, and one of the plurality of second selectors to which an address set pulse is input enables a corresponding one of the plurality of address registers. The address write pulse is generated by the address write pulse generator when a memory access signal of one channel is externally input, and a plurality of second selectors are provided. Of the address write pulses The one second selector enables the corresponding one of the plurality of address registers to hold an address value obtained by adding the number of words of the memory accessed to the address value to the corresponding address register. A DMA controller.
【請求項13】 請求項11記載のDMAコントローラ
において、前記アドレスセレクタは、各グループに共通
に、外部から入力された1つのチャンネルのメモリアク
セス信号に対応して複数のアドレスレジスタのうちの対
応する1つを選択して出力することを特徴とするDMA
コントローラ。
13. The DMA controller according to claim 11, wherein said address selector is common to each group and corresponds to one of a plurality of address registers corresponding to a memory access signal of one channel externally input. DMA characterized by selecting and outputting one
controller.
【請求項14】 請求項11記載のDMAコントローラ
において、各グループに対して、前記アドレスライトパ
ルス発生器は外部からのメモリアクセス許可信号(メモ
リACK信号)の入力から所定のタイミングでアドレス
ライトパルスを出力することを特徴とするDMAコント
ーラ。
14. The DMA controller according to claim 11, wherein for each group, the address write pulse generator generates an address write pulse at a predetermined timing from the input of an external memory access enable signal (memory ACK signal). A DMA controller characterized by outputting.
【請求項15】 請求項11乃至14のいずれか1つに
記載のDMAコントローラにおいて、各グループに対し
て、複数のチャンネルのアドレスセット信号のうちの1
を選択して前記アドレスセットパルス発生器に入力する
アドレスセットアビタと、複数のチャンネルのメモリア
クセス信号のうちの1つを選択して前記アドレスライト
発生器に入力するDREQアビタをさらに有することを
特徴とするDMAコントローラ。
15. The DMA controller according to claim 11, wherein one of an address set signal of a plurality of channels is assigned to each group.
And an address set arbiter for selecting one of a plurality of memory access signals of a plurality of channels and inputting the selected signal to the address write generator. DMA controller.
【請求項16】 請求項15記載のDMAコントローラ
において、各グループに対して、外部からアドレスセッ
ト信号の入力があったとき、前記DREQアビタの入力
側に設けられたマスク手段を動作させるマスク動作手段
と、外部からメモリアクセス信号の入力があったとき、
前記アドレスセットアビタをマスクするアドレスセット
アビタマスク手段をさらに有することを特徴とするDM
Aコントローラ。
16. The DMA controller according to claim 15, wherein when an address set signal is input to each group from outside, a mask operating means for operating a mask means provided on an input side of said DREQ arbiter. And when a memory access signal is input from outside,
DM further comprising address set arbiter mask means for masking the address set arbiter.
A controller.
【請求項17】 請求項16記載のDMAコントローラ
において、各グループに対して、前記マスク動作手段の
動作は、前記アドレスセットパルス発生器によって発生
されるマスク信号が前記マスク動作手段に入力されるこ
とによって行われ、前記アドレスセットアビタマスク手
段によるマスクは、前記アドレスライトパルス発生器に
よって発生されるマスク信号を前記アドレスセットアビ
タに入力することによって行われることを特徴とするD
MAコントローラ。
17. The DMA controller according to claim 16, wherein for each group, the operation of the mask operation means is such that a mask signal generated by the address set pulse generator is input to the mask operation means. The masking by the address set arbiter mask means is performed by inputting a mask signal generated by the address write pulse generator to the address set arbiter.
MA controller.
JP20532296A 1996-07-16 1996-07-16 Dma controller Pending JPH1031648A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20532296A JPH1031648A (en) 1996-07-16 1996-07-16 Dma controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20532296A JPH1031648A (en) 1996-07-16 1996-07-16 Dma controller

Publications (1)

Publication Number Publication Date
JPH1031648A true JPH1031648A (en) 1998-02-03

Family

ID=16505027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20532296A Pending JPH1031648A (en) 1996-07-16 1996-07-16 Dma controller

Country Status (1)

Country Link
JP (1) JPH1031648A (en)

Similar Documents

Publication Publication Date Title
US5583999A (en) Bus arbiter and bus arbitrating method
US7032046B2 (en) Resource management device for managing access from bus masters to shared resources
JP2559906B2 (en) Arbitration system and method
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
US6292853B1 (en) DMA controller adapted for transferring data in two-dimensional mapped address space
JP4322116B2 (en) Method of interface between external memory and processor supporting burst mode
JPH1031648A (en) Dma controller
JP3094944B2 (en) Arbitration method and device
JP3240863B2 (en) Arbitration circuit
KR100190184B1 (en) Transmitting circuit for data with serial bus line
JPH01279354A (en) Data processing system having common bus and preference decision circuit
KR20000033265A (en) Device and method for interfacing chip embedded bus
JPH064401A (en) Memory access circuit
JP4642398B2 (en) Shared bus arbitration system
JP4181268B2 (en) Multi-channel memory controller
JP2690146B2 (en) Interrupt notification method
JP2002024157A (en) Method and device for processing dma
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JPH03214275A (en) Semiconductor integrated circuit
JP2912090B2 (en) Time slot interchange circuit
JPH04246744A (en) Arbitration circuit
JPS63271561A (en) Dma control circuit
JPS6324349A (en) Memory access device
JPH05143526A (en) Bus arbitration circuit
JPH1083373A (en) Programmable controller