JPH10326248A - Dma controller - Google Patents

Dma controller

Info

Publication number
JPH10326248A
JPH10326248A JP13390497A JP13390497A JPH10326248A JP H10326248 A JPH10326248 A JP H10326248A JP 13390497 A JP13390497 A JP 13390497A JP 13390497 A JP13390497 A JP 13390497A JP H10326248 A JPH10326248 A JP H10326248A
Authority
JP
Japan
Prior art keywords
transfer
signal
state
burst
data
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
JP13390497A
Other languages
Japanese (ja)
Inventor
Katsuaki Suzuki
克明 鈴木
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP13390497A priority Critical patent/JPH10326248A/en
Publication of JPH10326248A publication Critical patent/JPH10326248A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a compact and high speed DMA controller in which burst length in burst transfer can be selectively switched. SOLUTION: A burst end decoder 52 outputs a burst end signal s5 indicating the end of data transfer with burst length based on a burst length designation signal s10 from a CPU 90. A state machine 10 changes the instruction timing of data transfer to a memory controller 80 and the output timing of an update signal s6 to an incremented 22 of an address counter 20 and a decrementer 32 of a transfer counter 30 based on the burst end signal s5. Also, the update of address relevant information by the incrementer 22 and the update of number of data relevant information by the decrementer 32 is constituted of hard made common based on the burst length designation signal s10.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、バースト転送をサ
ポートするDMA(Direct Memory Access )コントロ
ーラに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DMA (Direct Memory Access) controller that supports burst transfer.

【0002】[0002]

【従来の技術】従来、DMAには、DMAコントローラ
の指示に基づきメモリコントローラ等の転送実行手段が
複数バイト単位でデータの転送を行うバースト転送があ
った。このバースト転送では、DMAコントローラが、
メモリコントローラ等の転送実行手段に対し、例えば転
送先アドレスを指定し、転送実行を指示することによっ
て、転送実行手段が、所定の転送元アドレスから例えば
8バイトというような所定データ長のデータを読み出
し、DMAコントローラによって指定された転送先アド
レスを先頭とするアドレスへまとめて転送する。以下、
転送実行手段が1度にまとめて転送する所定データ長を
「バースト長」という。
2. Description of the Related Art Conventionally, in DMA, there has been a burst transfer in which a transfer executing means such as a memory controller transfers data in a unit of a plurality of bytes based on an instruction of a DMA controller. In this burst transfer, the DMA controller
For example, by designating a transfer destination address to a transfer execution unit such as a memory controller and instructing the transfer execution, the transfer execution unit reads data having a predetermined data length of, for example, 8 bytes from a predetermined transfer source address. , And to the addresses starting with the transfer destination address specified by the DMA controller. Less than,
The predetermined data length that the transfer execution means transfers at one time is called "burst length".

【0003】つまり、CPU等の制御手段から指定され
たバイト数の一連のデータ転送を実行する場合、DMA
コントローラは、上述のようなバースト長単位で転送先
アドレスを更新して指定し、転送実行を繰り返し指示す
る。このとき、DMAコントローラは、制御手段から指
定されたバイト数をバースト長単位で更新することによ
って一連のデータ転送の終了を判断する。
[0003] In other words, when a series of data transfer of the number of bytes specified by a control means such as a CPU is executed, a DMA transfer is performed.
The controller updates and specifies the transfer destination address in burst length units as described above, and repeatedly instructs execution of transfer. At this time, the DMA controller determines the end of a series of data transfer by updating the number of bytes specified by the control means in units of burst length.

【0004】通常、DMAコントローラは、バースト長
に合わせて転送先アドレスを更新するアドレスカウンタ
と、バースト長の単位で転送されたデータ数を更新する
転送カウンタと、それらアドレスカウンタ及び転送カウ
ンタの更新タイミングを判断し、転送実行手段への転送
実行指示を行うステートマシンを備えている。
Usually, a DMA controller includes an address counter for updating a transfer destination address in accordance with a burst length, a transfer counter for updating the number of data transferred in units of burst length, and an update timing of the address counter and the transfer counter. And a state machine for instructing the transfer execution means to execute the transfer is provided.

【0005】[0005]

【発明が解決しようとする課題】ところで、DMAの対
象となるメモリ装置やI/Oポートには、バースト転送
を実行する際のバースト長が異なるものが存在する。そ
のため、従来より、DMAコントローラには、バースト
長を切り替えることが可能なものがあった。
Incidentally, some memory devices and I / O ports to be subjected to DMA have different burst lengths when executing burst transfer. Therefore, some DMA controllers have conventionally been able to switch the burst length.

【0006】ところが、そのようなDMAコントローラ
では、選択的に指定されるそれぞれのバースト長に対応
するステートマシン、アドレスカウンタ及び転送カウン
タを備える構成となっていた。例えば、8バイトと16
バイトという2つのバースト長を選択的に切り替えるこ
とが可能なDMAコントローラには、ステートマシン、
アドレスカウンタ及び転送カウンタはそれぞれ2つずつ
用意されていた。その結果、バースト長を切り替えるこ
とができるDMAコントローラは、大型化することにな
り、クロック信号に対するクリティカルパスが長くなる
ことにより高速化できず、一般にバースト長の切り替え
られないDMAコントローラに比べて低速となってしま
っていた。
However, such a DMA controller has a configuration including a state machine, an address counter, and a transfer counter corresponding to each burst length selectively designated. For example, 8 bytes and 16
DMA controllers capable of selectively switching between two burst lengths of bytes include state machines,
Two address counters and two transfer counters were prepared. As a result, the DMA controller that can switch the burst length becomes large in size, cannot increase the speed due to the increase in the critical path for the clock signal, and generally has a lower speed than the DMA controller in which the burst length cannot be switched. Had become.

【0007】本発明は、上述した問題点を解決するため
になされたものであり、バースト長を選択的に切り替え
ることができ、従来のDMAコントローラに比べて小型
で高速なDMAコントローラを提供することを目的とす
る。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and provides a small-sized and high-speed DMA controller capable of selectively switching a burst length, as compared with a conventional DMA controller. With the goal.

【0008】[0008]

【課題を解決するための手段及び発明の効果】上述した
目的を達成するためになされた請求項1に記載のDMA
コントローラは、バースト長のデータをまとめて転送す
る転送実行手段に当該バースト長のデータ転送を指示す
ると共に、更新信号を出力する状態制御手段と、転送元
又は転送先の少なくとも一方のアドレス関連情報を保持
し、状態制御手段によって出力される更新信号が入力さ
れると、転送実行手段へ出力するアドレス関連情報を更
新するアドレス保持更新手段と、状態制御手段によって
出力される更新信号が入力されると、転送の完了したデ
ータ数を更新するデータ数保持更新手段と、データ数保
持更新手段によって更新されるデータ数関連情報に基づ
いて制御手段からの指示による一連のデータ転送の終了
を判断し、状態制御手段へ転送終了信号を出力する転送
終了判断手段とを備え、状態制御手段が、転送終了判断
手段からの転送終了信号が入力されたことを判断するま
で、転送実行手段に対し繰り返しバースト長のデータ転
送を指示することによって一連のデータ転送を実現する
DMAコントローラにおいて、複数のバースト長を選択
的に指定するための制御手段からのバースト長指定信号
及び転送実行手段によるデータの転送中に状態制御手段
から出力される転送期間信号に基づきバースト長のデー
タ転送の終了を判断してバースト終了信号を状態制御手
段へ出力するバースト終了判断手段を備え、状態制御手
段は、さらに、バースト終了判断手段からのバースト終
了信号に基づき、転送実行手段へのデータ転送の指示タ
イミングと、アドレス保持更新手段及びデータ数保持更
新手段への更新信号の出力タイミングとを変更するよう
構成されていることを特徴としている。
Means for Solving the Problems and Effects of the Invention The DMA according to claim 1 has been made to achieve the above object.
The controller instructs transfer execution means for collectively transferring the data of the burst length to transfer the data of the burst length, and outputs the update signal and the state control means for outputting the address-related information of at least one of the transfer source and the transfer destination. When an update signal that is held and output by the state control unit is input, an address holding and update unit that updates address-related information output to the transfer execution unit and an update signal that is output by the state control unit are input. Determining the end of a series of data transfer in accordance with an instruction from the control means based on the data number holding / updating means for updating the number of transferred data and the data number related information updated by the data number holding / updating means; Transfer end determining means for outputting a transfer end signal to the control means. A DMA controller which realizes a series of data transfers by repeatedly instructing the transfer execution means to transfer data of a burst length until it is determined that a signal has been input is provided for selectively designating a plurality of burst lengths. Based on the burst length designation signal from the control means and the transfer period signal output from the state control means during the data transfer by the transfer execution means, determine the end of the burst length data transfer and output a burst end signal to the state control means. The state control unit further includes a data transfer instruction timing to the transfer execution unit, and an address holding / updating unit and a data number holding / updating unit, based on the burst end signal from the burst end determining unit. And the output timing of the update signal of the .

【0009】本発明のDMAコントローラは、CPU等
の制御手段の指示に基づき一連のデータ転送を実行する
ためのものである。実質的なデータ転送は、例えばメモ
リコントローラ等の転送実行手段が実行する。ここで転
送実行手段は、DMAコントローラからの指示によっ
て、上述したようにバースト長のデータをまとめて転送
する。従って、DMAコントローラは、転送実行手段に
このようなバースト長のデータ転送を繰り返し実行させ
ることによって、制御手段から指示された一連のデータ
転送を実現する。
The DMA controller of the present invention is for executing a series of data transfer based on an instruction from a control means such as a CPU. Substantial data transfer is performed by a transfer execution unit such as a memory controller. Here, the transfer executing means collectively transfers the data of the burst length as described above in accordance with the instruction from the DMA controller. Therefore, the DMA controller realizes a series of data transfer instructed by the control unit by causing the transfer execution unit to repeatedly execute such data transfer with the burst length.

【0010】本DMAコントローラでは、ステートマシ
ンに代表される状態制御手段が転送実行手段に対してデ
ータ転送を繰り返し指示するのであるが、このとき、転
送実行手段に対して、転送元又は転送先の少なくとも一
方のアドレス関連情報を指定することが必要となってく
る。また、このアドレス関連情報は、転送実行手段にデ
ータ転送を繰り返し指示する度に更新していく必要があ
る。
In this DMA controller, the state control means represented by the state machine repeatedly instructs the transfer execution means to perform data transfer. It is necessary to specify at least one address-related information. Further, the address-related information needs to be updated each time the transfer execution means is repeatedly instructed to perform data transfer.

【0011】そこで、アドレス保持更新手段がアドレス
関連情報を保持し、状態制御手段からの更新信号に基づ
いてアドレス関連情報を更新するのである。なお、「転
送元又は転送先の少なくとも一方」としたのは、転送実
行手段によっては、転送元のアドレス関連情報のみを指
定するものも考えられるし、逆に転送先のアドレス関連
情報のみを指定するものも考えられるし、あるいは、両
方のアドレス関連情報を指定するものも考えられるから
である。例えば従来技術で説明したメモリコントローラ
は転送先アドレスのみを指示するものであった。また、
「アドレス関連情報」というのは、アドレスそのもので
あってもよいし、アドレスの上位5ビットというような
一部分であってもよい。
Therefore, the address holding / updating means holds the address-related information, and updates the address-related information based on an update signal from the state control means. It should be noted that “at least one of the transfer source and the transfer destination” may be specified by only the transfer source address-related information depending on the transfer execution means, or conversely, by specifying only the transfer destination address-related information. This is because there is also a case where the address-related information is specified. For example, the memory controller described in the related art indicates only a transfer destination address. Also,
The “address related information” may be the address itself or a part such as the upper 5 bits of the address.

【0012】また、本DMAコントローラは、CPU等
の制御手段からの指示に基づき一連のデータ転送を行う
のであるから、その一連のデータ転送の終了を判断する
ことが必要となってくる。そのため、データ数保持更新
手段及び転送終了判断手段を備えている。
Further, since the present DMA controller performs a series of data transfers based on an instruction from a control means such as a CPU, it is necessary to determine the end of the series of data transfers. For this purpose, a data number holding / updating unit and a transfer end determining unit are provided.

【0013】データ数保持更新手段は、転送の完了した
データ数に関連するデータ数関連情報を保持している。
このデータ数関連情報も、アドレス関連情報と同様、転
送実行手段にデータ転送を繰り返し指示する度に更新し
ていく必要がある。そこで、データ数保持更新手段は、
状態制御手段からの更新信号に基づいてデータ数関連情
報を更新するのである。
[0013] The data number holding / updating means holds data number related information related to the number of transferred data pieces.
Like the address-related information, the data-number-related information also needs to be updated each time the transfer execution unit is repeatedly instructed to transfer data. Therefore, the data number holding / updating means
The data number related information is updated based on the update signal from the state control means.

【0014】そして、転送終了判断手段は、データ数保
持更新手段に保持されたデータ数関連情報に基づいて、
一連のデータ転送の終了を判断し、転送終了信号を状態
制御手段へ出力する。例えば「データ数関連情報」は、
未転送のデータ数とすることが考えられる。その場合、
未転送のデータ数が「0」となったときに、一連のデー
タ転送の終了を判断する。
[0014] Then, the transfer end judging means, based on the data number related information held in the data number holding / updating means,
It determines the end of a series of data transfer and outputs a transfer end signal to the state control means. For example, "data number related information"
It is conceivable to use the number of untransferred data. In that case,
When the number of untransferred data becomes “0”, the end of a series of data transfer is determined.

【0015】状態制御手段は、転送終了判断手段からの
転送終了信号が入力されると、転送実行手段へのデータ
転送指示を止め、一連のデータ転送を終了する。本発明
のDMAコントローラは、バースト長の異なる複数の転
送実行手段に対してデータ転送の指示を行うものであ
り、CPU等の制御手段がバースト長指定信号によっ
て、それぞれの対象となる転送実行手段のデータ転送に
おけるバースト長を複数のバースト長の中から選択的に
指定する。
[0015] When the transfer end signal is input from the transfer end determining means, the state control means stops the data transfer instruction to the transfer executing means and ends a series of data transfer. The DMA controller of the present invention instructs a plurality of transfer execution units having different burst lengths to perform data transfer, and a control unit such as a CPU uses a burst length designation signal to specify each of the transfer execution units. A burst length in data transfer is selectively designated from a plurality of burst lengths.

【0016】従って、本発明のDMAコントローラで
は、上述した機能に加えて、バースト終了判断手段が、
転送実行手段によるデータの転送中に状態制御手段から
出力される転送期間信号に基づき、転送実行手段によっ
て転送されるデータ数をカウントし、制御手段からのバ
ースト指定信号に対応して転送実行手段によるバースト
長のデータ転送の終了を判断する。そして、バースト長
のデータ転送の終了を判断すると状態制御手段へバース
ト終了信号を出力する。
Therefore, in the DMA controller of the present invention, in addition to the above-described functions, the burst end determining means includes:
The number of data transferred by the transfer execution unit is counted based on the transfer period signal output from the state control unit during the data transfer by the transfer execution unit, and the transfer execution unit responds to the burst designation signal from the control unit. The end of the data transfer of the burst length is determined. When the end of the data transfer of the burst length is determined, a burst end signal is output to the state control means.

【0017】そして、状態制御手段は、バースト終了判
断手段からのバースト終了信号に基づき、転送実行手段
へのデータ転送の指示タイミングと、アドレス保持更新
手段及びデータ数保持更新手段への更新信号の出力タイ
ミングとを変更する。従来、DMAコントローラにおけ
る状態制御手段としてのステートマシンは、1つのバー
スト長に対応するタイミングで、転送実行手段へのデー
タ転送指示と、アドレス保持更新手段としてのアドレス
カウンタ及びデータ数保持更新手段としての転送カウン
タへの更新信号の出力を行っていた。つまり、複数のバ
ースト長を切り替えることのできるDMAコントローラ
では、選択されるバースト長にそれぞれ対応する個別の
ステートマシンが設けられていた。そのため、DMAコ
ントローラの大型化を招き、信号伝達の遅延によってク
ロック信号に対するクリティカルパスが長くなるため、
DMAコントローラを高速化することができなかった。
The state control means, based on the burst end signal from the burst end determination means, outputs a data transfer instruction timing to the transfer execution means and outputs an update signal to the address holding / update means and the data number holding / update means. Change the timing and. Conventionally, a state machine as a state control unit in a DMA controller has a data transfer instruction to a transfer execution unit and an address counter as an address holding / updating unit and a data number holding / updating unit as a data number holding / updating unit at a timing corresponding to one burst length. The update signal was output to the transfer counter. That is, in a DMA controller capable of switching a plurality of burst lengths, individual state machines corresponding to the selected burst lengths are provided. As a result, the size of the DMA controller is increased, and the critical path for the clock signal becomes longer due to the signal transmission delay.
The speed of the DMA controller could not be increased.

【0018】それに対して、本発明のDMAコントロー
ラでは、バースト終了判断手段が制御手段からのバース
ト長指定信号に基づき、転送実行手段によるバースト長
のデータ転送の終了を判断して、バースト終了信号を状
態制御手段へ出力する。状態制御手段は、バースト終了
信号を判断することによって、転送実行手段に対するデ
ータ転送指示とアドレス保持更新手段及びデータ数保持
更新手段に対する更新信号の出力とを、それぞれのバー
スト長に対応するタイミングで繰り返し行う。
On the other hand, in the DMA controller of the present invention, the burst end judging means judges the end of the burst length data transfer by the transfer executing means based on the burst length designation signal from the control means, and outputs the burst end signal. Output to the state control means. By judging the burst end signal, the state control means repeats the data transfer instruction to the transfer execution means and the output of the update signal to the address holding / updating means and the data number holding / updating means at timings corresponding to the respective burst lengths. Do.

【0019】これによって、状態制御手段は、複数のバ
ースト長がバースト長指定信号によって選択的に指定さ
れる場合であっても、選択されるバースト長にそれぞれ
対応するよう個別に設ける必要がなくなり、DMAコン
トローラを小型化することができる。その結果、信号の
伝達の遅れが少なくなりクロック信号に対するクリティ
カルパスが短くなるためDMAコントローラの高速化を
図ることができる。
Thus, even when a plurality of burst lengths are selectively designated by the burst length designation signal, the state control means does not need to be individually provided so as to correspond to each of the selected burst lengths. The size of the DMA controller can be reduced. As a result, the delay in signal transmission is reduced and the critical path for the clock signal is shortened, so that the speed of the DMA controller can be increased.

【0020】ところで、状態制御手段は、請求項2に示
す構成を採用することが考えられる。すなわち、状態制
御手段は、初期状態である第1の状態で制御手段からの
指示によって、転送実行手段にデータ転送の準備をさせ
るリクエスト信号を有効にすると共に、当該リクエスト
信号に対応して転送実行手段から送信されるアクノレッ
ジ信号の入力を判断する第2の状態へ移行し、当該第2
の状態で転送実行手段からのアクノレッジ信号が入力さ
れると、データ転送の開始を指示するコントロール信号
を転送実行手段へ出力すると共に、転送期間信号を出力
する第3の状態と、バースト終了信号の入力を判断する
と共に、転送期間信号を出力する第4の状態とを交互に
繰り返し、当該第4の状態でバースト終了信号が入力さ
れた場合、転送終了信号の入力を判断すると共に、リク
エスト信号を無効とし、更新信号を出力する第5の状態
へ移行し、当該第5の状態で転送終了信号が入力された
場合は第1の状態へ移行し、一方、当該第5の状態で転
送終了信号が入力されない場合は第2の状態へ移行する
よう構成されていることを特徴とするものである。
By the way, it is conceivable that the state control means adopts the configuration described in claim 2. That is, the state control means enables the request signal for preparing the transfer execution means for data transfer in accordance with an instruction from the control means in the first state which is the initial state, and executes the transfer execution in response to the request signal. Transitions to a second state in which the input of the acknowledge signal transmitted from the means is determined.
When the acknowledgment signal from the transfer execution means is input in the state of (1), a control signal instructing the start of data transfer is output to the transfer execution means, and a third state of outputting a transfer period signal and a burst end signal The input is determined, and the fourth state in which the transfer period signal is output is alternately repeated. When the burst end signal is input in the fourth state, the input of the transfer end signal is determined and the request signal is output. The state is invalidated, the state shifts to a fifth state in which an update signal is output, and if a transfer end signal is input in the fifth state, the state shifts to the first state. On the other hand, the transfer end signal is changed in the fifth state. If no is input, a transition to the second state is made.

【0021】この場合、状態制御手段は、第1〜第5の
状態を遷移する。第1の状態は、初期状態である。ここ
で、制御手段からの指示があると、第2の状態へ移行す
る。第2の状態では、転送実行手段へデータ転送の準備
をさせるリクエスト信号を有効にする。また、リクエス
ト信号に対応して転送実行手段から出力されるアクノレ
ッジ信号の入力されたか否かを判断する。ここで転送実
行手段からのアクノレッジ信号が有効となると第3の状
態へ移行する。
In this case, the state control means transitions between the first to fifth states. The first state is an initial state. Here, when there is an instruction from the control means, the state shifts to the second state. In the second state, a request signal for making the transfer execution unit prepare for data transfer is made valid. Further, it is determined whether or not an acknowledgment signal output from the transfer execution unit in response to the request signal has been input. Here, when the acknowledgment signal from the transfer executing means becomes valid, the state shifts to the third state.

【0022】第3の状態では、データ転送の開始を指示
するコントロール信号を転送実行手段へ出力する。これ
によって、転送実行手段は、データ転送を開始する。第
3の状態から第4の状態へは無条件で移行する。第4の
状態では、転送実行手段によって実行されるバースト長
のデータ転送終了を示すバースト終了判断手段からのバ
ースト終了信号の入力を判断する。ここでバースト終了
信号が入力されない場合、第3の状態へ移行する。一
方、バースト終了信号が入力された場合、第5の状態へ
移行する。
In the third state, a control signal instructing the start of data transfer is output to the transfer executing means. Thereby, the transfer execution means starts data transfer. The transition from the third state to the fourth state is unconditional. In the fourth state, the input of the burst end signal from the burst end determining means indicating the end of the data transfer of the burst length executed by the transfer executing means is determined. If the burst end signal is not input here, the state shifts to the third state. On the other hand, when the burst end signal is input, the state shifts to the fifth state.

【0023】転送実行手段がデータの転送中である場合
には、状態制御手段は第3及び第4の状態を交互に繰り
返すことになる。状態制御手段は、第3及び第4の状態
であるとき、転送実行手段によってデータ転送が実行さ
れていることを示す転送期間信号をバースト終了判断手
段へ出力する。これによって、バースト終了判断手段は
バースト長のデータ転送の終了を判断することができ
る。
When the transfer execution means is transferring data, the state control means alternately repeats the third and fourth states. The state control means, when in the third and fourth states, outputs a transfer period signal indicating that data transfer is being performed by the transfer execution means to the burst end determination means. Thus, the burst end determining means can determine the end of the data transfer of the burst length.

【0024】第5の状態では、転送実行手段へのリクエ
スト信号を無効として、バースト長のデータ転送を一旦
終了する。また、アドレス保持更新手段及びデータ数保
持更新手段へ更新信号を出力する。さらに、転送終了判
断手段からの転送終了信号が入力されたか否かを判断す
る。ここで転送終了信号が入力された場合、第1の状態
へ移行して一連のデータ転送を終了する。一方、転送終
了信号が入力されない場合、転送実行手段に次のデータ
転送を指示するため、第2の状態へ移行する。
In the fifth state, the request signal to the transfer execution means is invalidated, and the data transfer of the burst length is temporarily terminated. Further, it outputs an update signal to the address holding / updating unit and the data number holding / updating unit. Further, it is determined whether or not a transfer end signal has been input from the transfer end determining means. If a transfer end signal is input here, the state shifts to the first state and a series of data transfer ends. On the other hand, when the transfer end signal is not input, the state shifts to the second state in order to instruct the transfer executing means to transfer the next data.

【0025】つまり、状態制御手段は、転送実行手段へ
第2及び第3の状態でデータ転送の指示をし、バースト
終了判断手段からのバースト終了信号が入力されないう
ちは、第3及び第4の状態を交互に繰り返し、バースト
終了信号が第4の状態で入力されると第5の状態へ移行
し、アドレス保持更新手段及びデータ数保持更新手段へ
の更新信号を出力して再び第2の状態へ移行する。この
ように、状態遷移手段は、制御手段からの指示に基づく
一連のデータ転送を実行する場合、第2→第3→第4→
第3→第4→・・・→第3→第4→第5→第2という一
連の状態遷移を繰り返す。このとき、バースト終了判断
手段のバースト終了信号の入力タイミングに応じて第3
及び第4の状態の繰り返し回数が変化するため、上述し
たように第2及び第3の状態で行われる転送実行手段へ
のデータ転送指示と、第5の状態で行われるアドレス保
持更新手段及びデータ数保持更新手段への更新信号の出
力のタイミングを変えることができる。
That is, the state control means instructs the transfer execution means to perform data transfer in the second and third states, and the third and fourth state signals are not input unless a burst end signal is input from the burst end determination means. The states are alternately repeated, and when the burst end signal is input in the fourth state, the state shifts to the fifth state, and an update signal is output to the address holding / updating means and the data number holding / updating means, and the second state is returned again. Move to. As described above, when performing a series of data transfer based on an instruction from the control unit, the state transition unit performs the second → third → fourth →
A series of state transitions of third → fourth →... → third → fourth → fifth → second is repeated. At this time, a third signal is output according to the burst end signal input timing of the burst end determination means.
And the number of repetitions of the fourth state changes, as described above, the data transfer instruction to the transfer executing means performed in the second and third states, and the address holding / updating means and data performed in the fifth state. The output timing of the update signal to the number holding and updating means can be changed.

【0026】状態制御手段を、このように構成すること
により、複数のバースト長から選択的に指定されるバー
スト長に対応させることができ、DMAコントローラを
小型化できる。その結果、信号の伝達が速くなりクロッ
ク信号に対するクリティカルパスが短くなるためDMA
コントローラの高速化が実現できる。
By configuring the state control means in this way, it is possible to correspond to a burst length selectively designated from a plurality of burst lengths, and the size of the DMA controller can be reduced. As a result, the signal transmission becomes faster and the critical path for the clock signal becomes shorter, so that the DMA
Speed up of the controller can be realized.

【0027】ところで、DMAコントローラの小型化を
考えた場合、アドレス保持更新手段は、請求項3に示す
よう構成することが望ましい。すなわち、請求項1又は
2に示した構成に加えて、アドレス保持更新手段は、さ
らに、制御手段からのバースト長指定信号に基づき、複
数のバースト長から選択的に指定されたバースト長に対
応するアドレス関連情報の更新を共通のハード構成を利
用して行うよう構成するとよい。
By the way, in consideration of miniaturization of the DMA controller, it is desirable that the address holding / updating means is configured as described in claim 3. That is, in addition to the configuration described in claim 1 or 2, the address holding / updating means further corresponds to a burst length selectively designated from a plurality of burst lengths based on a burst length designation signal from the control means. It is preferable that the address-related information be updated using a common hardware configuration.

【0028】また、データ数保持更新手段は、請求項4
に示すように構成することが望ましい。すなわち、請求
項1〜3に示した構成に加えて、データ数保持更新手段
は、さらに、制御手段からのバースト長指定信号に基づ
き、複数のバースト長から選択的に指定されたバースト
長に対応するデータ数関連情報の更新を共通のハード構
成を利用して行うよう構成するとよい。
[0028] The data number holding / updating means may further comprise:
It is desirable to configure as shown in FIG. That is, in addition to the configuration described in claims 1 to 3, the data number holding / updating means further supports a burst length selectively designated from a plurality of burst lengths based on a burst length designation signal from the control means. The update of the data number related information to be performed may be performed using a common hardware configuration.

【0029】従来、複数のバースト長を選択的に切り替
えることが可能なDMAコントローラでは、アドレス保
持更新手段としてのいわゆるアドレスカウンタ、データ
数保持更新手段としてのいわゆる転送カウンタも、それ
ぞれのバースト長に対応するして個別に設けられてお
り、DMAコントローラの大型化を招き、さらに、それ
に伴うクリティカルパスの発生によってDMAコントロ
ーラの高速化は困難であった。
Conventionally, in a DMA controller capable of selectively switching a plurality of burst lengths, a so-called address counter as address holding / updating means and a so-called transfer counter as data number holding / updating means also correspond to each burst length. Therefore, the DMA controller is separately provided, which results in an increase in the size of the DMA controller, and further, the occurrence of a critical path, which makes it difficult to increase the speed of the DMA controller.

【0030】それに対して、請求項3に示すDMAコン
トローラでは、アドレス保持更新手段が複数のバースト
長に対応するアドレス関連情報の更新を共通のハード構
成で行い、請求項4に示すDMAコントローラでは、デ
ータ数保持更新手段が複数のバースト長に対応するアド
レス関連情報の更新を共通のハード構成で行う。これに
よって、DMAコントローラのさらなる小型化ができ、
結果としてクロック信号に対するクリティカルパスが短
くなるためさらなる高速化が実現できる。
On the other hand, in the DMA controller according to the third aspect, the address holding / updating means updates the address related information corresponding to a plurality of burst lengths with a common hardware configuration. The data number holding and updating means updates the address related information corresponding to a plurality of burst lengths with a common hardware configuration. This makes it possible to further reduce the size of the DMA controller,
As a result, the critical path for the clock signal is shortened, so that higher speed can be realized.

【0031】[0031]

【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面を参照して説明する。図1は、本実施形態の
DMAコントローラ1の概略構成を示すブロック図であ
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of the DMA controller 1 of the present embodiment.

【0032】DMAコントローラ1は、「転送実行手
段」としてのメモリコントローラ80と、「制御手段」
としてのCPU90に接続されており、CPU90の指
示に基づき一連のデータ転送を実行する。実質的なデー
タ転送は、メモリコントローラ80が実行する。メモリ
コントローラ80は、本実施形態のDMAコントローラ
1からの指示によって、バースト長のデータをまとめて
転送する。従って、DMAコントローラ1は、メモリコ
ントローラ80にこのようなバースト長のデータ転送を
繰り返し実行させることによって、CPU90から指示
された一連のデータ転送を実現する。
The DMA controller 1 includes a memory controller 80 as “transfer executing means” and a “control means”.
And performs a series of data transfers based on an instruction from the CPU 90. The substantial data transfer is performed by the memory controller 80. The memory controller 80 collectively transfers data of a burst length in accordance with an instruction from the DMA controller 1 of the present embodiment. Therefore, the DMA controller 1 realizes a series of data transfer instructed by the CPU 90 by causing the memory controller 80 to repeatedly execute the data transfer of such a burst length.

【0033】なお、本実施形態のメモリコントローラ8
0は、8バイトと16バイトの2つのバースト長でのデ
ータ転送を選択的に実行可能となっている。従って、本
実施形態のDMAコントローラ1はCPU90からのバ
ースト長指定信号s10によって選択的に指定される8
バイト,16バイトの2つのバースト長に対応して動作
する。8バイトのバースト長が指示される場合はバース
ト長指定信号s10がlowレベル、すなわち「0」と
なり、16バイトのバースト長が指定される場合はバー
スト長指定信号s10がhighレベル、すなわち
「1」となる。
The memory controller 8 of the present embodiment
0 indicates that data transfer with two burst lengths of 8 bytes and 16 bytes can be selectively executed. Therefore, the DMA controller 1 of this embodiment is selectively designated by the burst length designation signal s10 from the CPU 90.
It operates according to two burst lengths of byte and 16 bytes. When the burst length of 8 bytes is designated, the burst length designation signal s10 is at the low level, that is, “0”. When the burst length of 16 bytes is designated, the burst length designation signal s10 is at the high level, that is, “1”. Becomes

【0034】DMAコントローラ1は、「状態制御手
段」としてのステートマシン10と、「アドレス保持更
新手段」としてのアドレスカウンタ20と、「データ数
保持更新手段」としての転送カウンタ30と、一連のデ
ータ転送の終了を判断する「転送終了判断手段」として
の転送終了デコーダ40と、ステートマシン10からの
転送期間信号s4に基づいて、メモリコントローラ80
でのバースト長のデータ転送における転送データ数をカ
ウントするバーストカウンタ51と、バーストカウンタ
51のカウント値に基づいてメモリコントローラ80で
のバースト長のデータ転送の終了を判断するバースト終
了デコーダ52とを備えている。なお、バーストカウン
タ51及びバースト終了デコーダ52が「バースト終了
判断手段」に相当する。なお、図1に示した各ブロック
はクロック信号に基づいて動作するが、煩雑になること
を避けるためクロック信号に関する配線は図示しない。
The DMA controller 1 includes a state machine 10 as "state control means", an address counter 20 as "address holding / updating means", a transfer counter 30 as "data number holding / updating means", and a series of data. Based on the transfer end decoder 40 as “transfer end judging means” for judging the end of transfer, and the memory controller 80 based on the transfer period signal s4 from the state machine 10.
A burst counter 51 that counts the number of transfer data in the data transfer of the burst length in the memory, and a burst end decoder 52 that determines the end of the data transfer of the burst length in the memory controller 80 based on the count value of the burst counter 51. ing. Note that the burst counter 51 and the burst end decoder 52 correspond to “burst end determining means”. Although each block shown in FIG. 1 operates based on a clock signal, wiring for the clock signal is not shown in order to avoid complication.

【0035】アドレスカウンタ20は、アドレス関連情
報を保持するアドレスレジスタ21と、アドレスレジス
タ21に保持したアドレス関連情報を更新するインクリ
メンタ22とを備えている。アドレスレジスタ21は転
送先のアドレス情報をアドレス関連情報として保持す
る。アドレス関連情報の初期値は、CPU90によって
一連のデータ転送に先立ってセットされる(図1中の信
号s8)。アドレスレジスタ21に保持されるアドレス
関連情報はメモリコントローラ80へ出力される(図1
中の信号s7)。
The address counter 20 has an address register 21 for holding address-related information, and an incrementer 22 for updating the address-related information held in the address register 21. The address register 21 holds transfer destination address information as address related information. The initial value of the address related information is set by the CPU 90 prior to a series of data transfer (signal s8 in FIG. 1). The address-related information held in the address register 21 is output to the memory controller 80 (see FIG. 1).
Middle signal s7).

【0036】転送先のアドレス情報であるアドレス関連
情報とは、図6に示すように、転送先アドレスの下位3
ビットを除く8ビットのデータである。転送先アドレス
の下位3ビットは、メモリコントローラ80が8バイト
のデータ転送を行う場合、メモリコントローラによって
2進数で「000」〜「111」までカウントされる。
また、メモリコントローラが16バイトのデータ転送を
行う場合、メモリコントローラによって2進数で「00
0」〜「111」まで2回カウントされる。
As shown in FIG. 6, the address-related information, which is the address information of the transfer destination, is the lower three bits of the transfer destination address.
It is 8-bit data excluding bits. When the memory controller 80 performs 8-byte data transfer, the lower three bits of the transfer destination address are counted from "000" to "111" by a binary number by the memory controller.
When the memory controller performs 16-byte data transfer, the memory controller uses “00” in binary.
It is counted twice from "0" to "111".

【0037】つまり、転送先アドレスの下位3ビットは
メモリコントローラ80が保持するため、DMAコント
ローラ1におけるアドレスカウンタ20のアドレスレジ
スタ22は、転送先アドレスの下位3ビットを除いたア
ドレス関連情報を保持する。従って、メモリコントロー
ラが8バイトのバースト長でデータ転送を行う場合に
は、そのバースト長のデータ転送毎にアドレスカウンタ
20のインクリメンタ22がアドレス関連情報に「1」
を加算してアドレス関連情報を更新し、メモリコントロ
ーラ80が16バイトのバースト長でデータ転送を行う
場合には、そのバースト長のデータ転送毎にアドレスカ
ウンタ20のインクリメンタ22がアドレス関連情報に
「2」を加算してアドレス関連情報を更新する。
That is, since the lower three bits of the transfer destination address are held by the memory controller 80, the address register 22 of the address counter 20 in the DMA controller 1 holds the address-related information excluding the lower three bits of the transfer destination address. . Therefore, when the memory controller performs data transfer with a burst length of 8 bytes, the incrementer 22 of the address counter 20 sets “1” in the address-related information every time the data is transferred with the burst length.
Is added to the address-related information, and when the memory controller 80 performs data transfer with a burst length of 16 bytes, the incrementer 22 of the address counter 20 adds ""2" is added to update the address related information.

【0038】このインクリメンタ22は、図4に示す回
路構成となっている。この場合、CPU90からのバー
スト長指定信号s10が「0」であるとき、すなわち8
バイトのバースト長を示しているときに、ステートマシ
ン10からの更新信号s6が入力されると、入力された
8ビットのアドレス関連情報に「1」を加算して出力す
る。一方、CPU90からのバースト長指定信号s10
が「1」であるとき、すなわち16バイトのバースト長
を示しているときに、更新信号s6が入力されると、入
力された8ビットのアドレス関連情報に「2」を加算し
て出力する。
The incrementer 22 has a circuit configuration shown in FIG. In this case, when the burst length designation signal s10 from the CPU 90 is “0”,
When the update signal s6 from the state machine 10 is input while indicating the burst length of bytes, “1” is added to the input 8-bit address-related information and output. On the other hand, the burst length designation signal s10 from the CPU 90
Is "1", that is, when indicating the burst length of 16 bytes, when the update signal s6 is input, "2" is added to the input 8-bit address-related information and output.

【0039】一方、転送カウンタ30は、図1に示すよ
うに、データ数関連情報を保持する転送レジスタ31
と、転送レジスタ31に保持したデータ数関連情報を更
新するデクリメンタ32とを備えている。転送レジスタ
31は、一連のデータ転送における未転送のデータ数情
報をデータ数関連情報として保持する。このデータ数関
連情報の初期値は、CPU90によって一連のデータ転
送に先立ってセットされる(図1中の信号s9)。
On the other hand, as shown in FIG. 1, the transfer counter 30 has a transfer register 31 for holding data number related information.
And a decrementer 32 for updating the data number related information held in the transfer register 31. The transfer register 31 holds untransferred data count information in a series of data transfers as data count related information. The initial value of the data number related information is set by the CPU 90 prior to a series of data transfer (signal s9 in FIG. 1).

【0040】未転送のデータ数情報であるデータ数関連
情報とは、上述のアドレス関連情報と同様に、一連のデ
ータ転送における未転送のデータ数の下位3ビットを除
いた8ビットのデータである。アドレス関連情報で説明
した場合と同様に未転送のデータ数の下位3ビットはメ
モリコントローラ80がカウントする。
The number-of-data-related information, which is information on the number of untransferred data, is 8-bit data excluding the lower three bits of the number of untransferred data in a series of data transfer, as in the above-described address-related information. . As described in the address related information, the memory controller 80 counts the lower three bits of the number of untransferred data.

【0041】従って、デクリメンタ32は、CPU90
からのバースト長指定信号s10に基づいてメモリコン
トローラ80が8バイトのバースト長でデータ転送を行
う場合には、そのバースト長のデータ転送毎にデータ数
関連情報から「1」を減算してデータ数関連情報を更新
し、メモリコントローラ80が16バイトのバースト長
でデータ転送を行う場合には、そのバースト長のデータ
転送毎にデータ数関連情報から「2」を減算してデータ
数関連情報を更新する。
Accordingly, the decrementer 32 is
In the case where the memory controller 80 performs data transfer with a burst length of 8 bytes based on the burst length designation signal s10 from the CPU, "1" is subtracted from the data number related information for each data transfer of the burst length to thereby reduce the data number. When the related information is updated and the memory controller 80 performs data transfer with a burst length of 16 bytes, the data number related information is updated by subtracting “2” from the data number related information for each data transfer of the burst length. I do.

【0042】このデクリメンタ32は、図5に示す回路
構成となっている。この場合、CPU90からのバース
ト長指定信号がs10が「0」であるとき、すなわち8
バイトのバースト長が指定されたときに、ステートマシ
ン10からの更新信号s6が入力されると、入力された
データ数関連情報から「1」を減算し、CPU90から
のバースト長指定信号s10が「1」であるとき、すな
わち16バイトのバースト長が指定されたときに、更新
信号s6が入力されると、入力されたデータ数関連情報
から「2」を減算する。
The decrementer 32 has a circuit configuration shown in FIG. In this case, when the burst length designation signal from the CPU 90 indicates that s10 is "0",
When the update signal s6 from the state machine 10 is input when the burst length of the byte is specified, “1” is subtracted from the input data number related information, and the burst length specification signal s10 from the CPU 90 is “ When "1", that is, when the burst length of 16 bytes is specified, when the update signal s6 is input, "2" is subtracted from the input data number related information.

【0043】ステートマシン10は、CPU90からの
DMA信号s0がイネーブルとなると、一連のデータ転
送処理を開始する。そして、ステートマシン10は、メ
モリコントローラ80に対してバースト長のデータ転送
を繰り返し指示する。ステートマシン10がメモリコン
トローラ80に対してバースト長のデータ転送を指示す
る場合、まずステートマシン10がリクエスト信号s1
を有効にし、リクエスト信号s1に対応してメモリコン
トローラ80からのアクノレッジ信号s2が有効となっ
た状態で、ステートマシン10がデータ転送の開始を指
示するためのコントロール信号s3をメモリコントロー
ラ80へ出力する。
When the DMA signal s0 from the CPU 90 is enabled, the state machine 10 starts a series of data transfer processing. Then, the state machine 10 repeatedly instructs the memory controller 80 to transfer data of a burst length. When the state machine 10 instructs the memory controller 80 to transfer data of a burst length, first, the state machine 10 transmits the request signal s1.
Is enabled, and in a state where the acknowledge signal s2 from the memory controller 80 is enabled in response to the request signal s1, the state machine 10 outputs a control signal s3 for instructing the start of data transfer to the memory controller 80. .

【0044】また、バーストカウンタ51は、メモリコ
ントローラ80によってデータ転送が実行されているこ
とを示すステートマシン10からの転送期間信号s4に
基づき、メモリコントローラ80によって転送されたデ
ータ数をカウントする。バースト終了デコーダ52は、
このバーストカウンタ51のカウント値及びCPU90
からのバースト長指定信号s10に基づいてメモリコン
トローラ80によるバースト長のデータ転送の終了を判
断し、バースト終了信号s5を出力する。そして、ステ
ートマシン10は、このバースト終了デコーダ52から
のバースト終了信号s5に基づいて、8バイトと16バ
イトの2つのバースト長にそれぞれ対応するタイミング
で、メモリコントローラ80へのデータ転送指示及び更
新信号s6の出力を繰り返し行う。
The burst counter 51 counts the number of data transferred by the memory controller 80 based on a transfer period signal s4 from the state machine 10 indicating that data transfer is being performed by the memory controller 80. The burst end decoder 52
The count value of the burst counter 51 and the CPU 90
It determines the end of the data transfer of the burst length by the memory controller 80 on the basis of the burst length designation signal s10 from the controller and outputs a burst end signal s5. Then, based on the burst end signal s5 from the burst end decoder 52, the state machine 10 issues a data transfer instruction and an update signal to the memory controller 80 at timings corresponding to the two burst lengths of 8 bytes and 16 bytes, respectively. The output of s6 is repeated.

【0045】さらにまた、転送終了デコーダ40が転送
カウンタ30の転送レジスタ31に保持されるデータ数
関連情報に基づいて、一連のデータ転送の終了を判断す
ると転送終了信号s11を出力する。ステートマシン1
0は、この転送終了デコーダ40からの転送終了信号s
11が入力されると、一連のデータ転送処理を終了す
る。
Further, when the transfer end decoder 40 determines the end of a series of data transfers based on the data number related information held in the transfer register 31 of the transfer counter 30, it outputs a transfer end signal s11. State machine 1
0 is a transfer end signal s from the transfer end decoder 40.
When 11 is input, a series of data transfer processing ends.

【0046】次に、本実施形態のDMAコントローラ1
のステートマシン10の動作を図2に基づいて詳しく説
明する。図2は、ステートマシン10の状態遷移を示す
説明図である。まず、CPU90の指示に基づく一連の
データ転送の開始前、「第1の状態」としてのIDLE
状態となっている。ここで、CPU90からのDMA信
号s0が有効になると「第2の状態」であるWACK状
態へ移行する。
Next, the DMA controller 1 of this embodiment
The operation of the state machine 10 will be described in detail with reference to FIG. FIG. 2 is an explanatory diagram showing a state transition of the state machine 10. First, before starting a series of data transfer based on an instruction from the CPU 90, IDLE as a “first state”
It is in a state. Here, when the DMA signal s0 from the CPU 90 becomes valid, a transition is made to the WACK state, which is the “second state”.

【0047】WACK状態では、リクエスト信号s1を
有効とする。このリクエスト信号s1に対応してメモリ
コントローラ80からのアクノレッジ信号s2が入力さ
れると、「第3の状態」であるB1状態へ移行する。B
1状態では、コントロール信号s3を出力する。これに
よって、メモリコントローラ80ではバースト長のデー
タ転送が開始される。そして、メモリコントローラ80
のバースト長のデータ転送期間中は、B1とB2状態を
交互に繰り返す。B1及びB2状態では、転送期間信号
s4を出力する。
In the WACK state, the request signal s1 is valid. When the acknowledgment signal s2 from the memory controller 80 is input in response to the request signal s1, the state shifts to the B3 state, which is the “third state”. B
In state 1, the control signal s3 is output. As a result, the data transfer of the burst length is started in the memory controller 80. Then, the memory controller 80
During the data transfer period of the burst length of B, the states B1 and B2 are alternately repeated. In the B1 and B2 states, a transfer period signal s4 is output.

【0048】B2状態であるとき、バースト終了デコー
ダ52からのバースト終了信号s5が入力されると、
「第4の状態」としてのLAST状態へ移行する。LA
ST状態では、更新信号s6を出力する。ここで、転送
終了デコーダ40からの転送終了信号s11が入力され
ない場合、WACK状態へ移行し、上述した状態遷移を
繰り返す。一方、転送終了デコーダ40からの転送終了
信号s11が入力された場合、IDLE状態へ移行して
一連のデータ転送を終了する。
In the state B2, when the burst end signal s5 from the burst end decoder 52 is input,
The state shifts to the LAST state as the “fourth state”. LA
In the ST state, it outputs an update signal s6. Here, when the transfer end signal s11 from the transfer end decoder 40 is not input, the state shifts to the WACK state and the state transition described above is repeated. On the other hand, when the transfer end signal s11 is input from the transfer end decoder 40, the state shifts to the IDLE state and a series of data transfer ends.

【0049】以上図2に基づいて説明したステートマシ
ン10の状態遷移を、さらにクロック信号と対応させた
図3のタイミングチャートで説明する。図3は、ステー
トマシン10に対する入出力信号とステートマシンの状
態遷移を対応させたタイミングチャートである。
The state transition of the state machine 10 described above with reference to FIG. 2 will be described with reference to the timing chart of FIG. FIG. 3 is a timing chart in which input / output signals for the state machine 10 are associated with state transitions of the state machine.

【0050】まず、CPU90からのDMA信号s0が
イネーブルとなると(図3中の)WACK状態へ移行
し(図3中の)、リクエスト信号s1を有効にする
(図3中の)。そして、メモリコントローラ80から
のアクノレッジ信号s2が入力されると(図3中の)
B1及びB2状態を繰り返し(図3中の)、B2の状
態でバースト終了デコーダ52からのバースト終了信号
s5が入力されると(図3中の)、LAST状態へ移
行し、更新信号s6を出力する(図3中の)。LAS
T状態では、リクエスト信号s1を無効にし(図3中の
)、メモリコントローラ80によるバースト長のデー
タ転送が一旦終了する。
First, when the DMA signal s0 from the CPU 90 is enabled, a transition is made to the WACK state (in FIG. 3) (in FIG. 3), and the request signal s1 is enabled (in FIG. 3). Then, when the acknowledge signal s2 from the memory controller 80 is input (in FIG. 3).
The states B1 and B2 are repeated (in FIG. 3). When the burst end signal s5 from the burst end decoder 52 is input in the state of B2 (in FIG. 3), the state shifts to the LAST state and the update signal s6 is output. (In FIG. 3). LAS
In the T state, the request signal s1 is invalidated (in FIG. 3), and the data transfer of the burst length by the memory controller 80 is temporarily terminated.

【0051】次に、本実施形態のDMAコントローラ1
の効果を説明する。なお、ここでの説明に対する理解を
容易にするため、はじめに従来の問題点を簡単に説明す
る。従来、複数のバースト長を選択的に切り替えること
が可能なDMAコントローラでは、ステートマシン、ア
ドレスカウンタ、転送カウンタ等のバースト長に応じた
動作をするDMAコントローラ内のブロックは、選択さ
れるバースト長に応じてそれぞれ個別に設けられてい
た。そのため、複数のバースト長を選択的に切り替える
ことが可能なDMAコントローラは、大型化し、信号伝
達が遅れるためクロック信号に対するクリティカルパス
が長くなり高速化が困難であった。
Next, the DMA controller 1 of this embodiment
The effect of will be described. In order to facilitate understanding of the description, first, a conventional problem will be briefly described. Conventionally, in a DMA controller capable of selectively switching a plurality of burst lengths, blocks in the DMA controller that operate according to the burst length, such as a state machine, an address counter, and a transfer counter, have a block length corresponding to the selected burst length. It was provided individually according to each. Therefore, a DMA controller capable of selectively switching a plurality of burst lengths has been increased in size and has a delay in signal transmission, so that a critical path for a clock signal has been lengthened, making it difficult to increase the speed.

【0052】それに対して、本実施形態のDMAコント
ローラ1におけるステートマシン10は、上述したよう
なWACK状態からWACK状態までの一連の状態遷移
を繰り返してメモリコントローラ80へのデータ転送指
示及び更新信号s6の出力をする。このとき、図3に示
したように、バースト終了デコーダ52からのバースト
終了信号s5が入力されると(図3中の)LAST状
態へ移行する。
On the other hand, the state machine 10 in the DMA controller 1 of the present embodiment repeats a series of state transitions from the WACK state to the WACK state as described above, and issues a data transfer instruction to the memory controller 80 and an update signal s6. Output. At this time, as shown in FIG. 3, when the burst end signal s5 is input from the burst end decoder 52, the state shifts to the LAST state (in FIG. 3).

【0053】つまり、CPU90からのバースト長指定
信号s10に基づきバースト終了デコーダ52からのバ
ースト終了信号s5の出力タイミングが変わるため、一
連の状態遷移におけるB1及びB2状態の繰り返し期間
(図3中の)が変わる。すなわち、バースト長のデー
タ転送に対応する一連の状態遷移の期間が変わることに
なる。従って、バースト長指定信号s10によって選択
的に指定されるバースト長に対応するタイミングで、メ
モリコントローラ80へのデータ転送指示及び更新信号
s6の出力を行うことができる。
That is, since the output timing of the burst end signal s5 from the burst end decoder 52 changes based on the burst length designation signal s10 from the CPU 90, the repetition period of the B1 and B2 states in a series of state transitions (in FIG. 3). Changes. That is, the period of a series of state transitions corresponding to the data transfer of the burst length changes. Therefore, the data transfer instruction to the memory controller 80 and the output of the update signal s6 can be performed at the timing corresponding to the burst length selectively designated by the burst length designation signal s10.

【0054】これによって、本実施形態のDMAコント
ローラ1では、複数のバースト長を選択的に切り替え可
能であるにもかかわらず、図1に示すようにステートマ
シン10は1台のみとなっている。その結果、DMAコ
ントローラ1は従来に比べて小型化される。
Thus, in the DMA controller 1 of the present embodiment, although a plurality of burst lengths can be selectively switched, only one state machine 10 is provided as shown in FIG. As a result, the size of the DMA controller 1 is reduced as compared with the related art.

【0055】また、上述したように、本実施形態のDM
Aコントローラ1におけるアドレスカウンタ20のイン
クリメンタ22は図4に示す構成となっている。この回
路は、従来からの加算回路に、図中αに示す論理素子O
R及びNOTを新規に追加したものである。この回路に
よって、8バイト及び16バイトの2つのバースト長が
バースト長指定信号によって切り替えられた場合であっ
ても、それぞれのバースト長に対応してアドレス関連情
報に「1」又は「2」を加算することができる。
As described above, the DM of the present embodiment is
The incrementer 22 of the address counter 20 in the A controller 1 has a configuration shown in FIG. This circuit is different from a conventional addition circuit in that a logic element O indicated by α in FIG.
R and NOT are newly added. With this circuit, even if two burst lengths of 8 bytes and 16 bytes are switched by the burst length designation signal, "1" or "2" is added to the address-related information corresponding to each burst length. can do.

【0056】同様に、本実施形態のDMAコントローラ
1における転送カウンタ30のデクリメンタ32は、図
5に示す構成となっている。この回路は、従来からの減
算回路に、図中βに示す論理素子AND及びNOTを新
規に追加したものである。この回路によって、8バイト
及び16バイトの2つのバースト長がバースト長指定信
号s10によって切り替えられた場合であっても、それ
ぞれのバースト長に対応してデータ数関連情報から
「1」又は「2」を減算することができる。
Similarly, the decrementer 32 of the transfer counter 30 in the DMA controller 1 of the present embodiment has the configuration shown in FIG. This circuit is obtained by newly adding a logic element AND and NOT shown by β in the drawing to the conventional subtraction circuit. By this circuit, even when two burst lengths of 8 bytes and 16 bytes are switched by the burst length designation signal s10, "1" or "2" is obtained from the data number related information corresponding to each burst length. Can be subtracted.

【0057】つまり、図4及び図5に示したハード構成
によれば、選択されるバースト長に対応したアドレス関
連情報、データ数関連情報の更新を行うことができる。
これによって、従来のように複数のバースト長にそれぞ
れ対応するアドレスカウンタ及び転送カウンタを設ける
必要がなくなり、DMAコントローラ1はさらに小型化
される。その結果、クリティカルパスの発生を抑えるこ
とができるため高速化することができる。
That is, according to the hardware configuration shown in FIGS. 4 and 5, it is possible to update the address related information and the data number related information corresponding to the selected burst length.
As a result, it is not necessary to provide an address counter and a transfer counter respectively corresponding to a plurality of burst lengths as in the related art, and the size of the DMA controller 1 is further reduced. As a result, the occurrence of a critical path can be suppressed, so that the speed can be increased.

【0058】以上、本発明はこのような実施形態に何等
限定されるものではなく、本発明の主旨を逸脱しない範
囲において種々なる形態で実施し得る。例えば、上記実
施形態では、メモリコントローラ80が転送先のアドレ
ス関連情報を指定するものであったため、DMAコント
ローラ1のアドレスカウンタ20は、転送先のアドレス
関連情報を保持するアドレスレジスタ21を備えていた
が、メモリコントローラ等の転送実行手段が転送元及び
転送先の両方のアドレス関連情報を指定するものである
場合、アドレスカウンタが、転送元及び転送先の両方の
アドレス関連情報を保持するアドレスレジスタと、その
両方のアドレス関連情報を更新するインクリメンタを備
えることも考えられる。
As described above, the present invention is not limited to such an embodiment, and can be implemented in various forms without departing from the gist of the present invention. For example, in the above embodiment, since the memory controller 80 specifies the address-related information of the transfer destination, the address counter 20 of the DMA controller 1 includes the address register 21 that holds the address-related information of the transfer destination. However, if the transfer execution means such as a memory controller specifies both the source and destination address-related information, the address counter may include an address register that holds both the source and destination address-related information. It is also conceivable to provide an incrementer for updating both address related information.

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

【図1】実施形態のDMAコントローラの概略構成を示
すブロック図である。
FIG. 1 is a block diagram illustrating a schematic configuration of a DMA controller according to an embodiment.

【図2】ステートマシンの状態遷移を説明する説明図で
ある。
FIG. 2 is an explanatory diagram illustrating a state transition of a state machine.

【図3】ステートマシンに対する入出力信号と状態遷移
との関係を示すタイミングチャートである。
FIG. 3 is a timing chart showing a relationship between input / output signals to a state machine and state transitions.

【図4】アドレスカウンタのインクリメンタの構成を示
す回路図である。
FIG. 4 is a circuit diagram showing a configuration of an incrementer of an address counter.

【図5】転送カウンタのデクリメンタの構成を示す回路
図である。
FIG. 5 is a circuit diagram showing a configuration of a decrementer of a transfer counter.

【図6】アドレスカウンタのアドレスレジスタに保持さ
れるアドレス関連情報を説明する説明図である。
FIG. 6 is an explanatory diagram illustrating address-related information held in an address register of an address counter.

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

1…DMAコントローラ 10…ステートマシン 20…アドレス
カウンタ 21…アドレスレジスタ 22…インクリ
メンタ 30…転送カウンタ 31…転送レジ
スタ 32…デクリメンタ 40…転送終了
デコーダ 51…バーストカウンタ 52…バースト
終了デコーダ 80…メモリコントローラ 90…CPU s0…DMA信号 s1…リクエス
ト信号 s2…アクノレッジ信号 s3…コントロ
ール信号 s4…転送期間信号 s5…バースト
終了信号 s6…更新信号 s10…バースト
長指定信号 s11…転送終了信号
DESCRIPTION OF SYMBOLS 1 ... DMA controller 10 ... State machine 20 ... Address counter 21 ... Address register 22 ... Incrementer 30 ... Transfer counter 31 ... Transfer register 32 ... Decrementer 40 ... Transfer end decoder 51 ... Burst counter 52 ... Burst end decoder 80 ... Memory controller 90 ... CPU s0 ... DMA signal s1 ... request signal s2 ... acknowledge signal s3 ... control signal s4 ... transfer period signal s5 ... burst end signal s6 ... update signal s10 ... burst length designation signal s11 ... transfer end signal

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 バースト長のデータをまとめて転送する
転送実行手段に当該バースト長のデータ転送を指示する
と共に、更新信号を出力する状態制御手段と、 転送元又は転送先の少なくとも一方のアドレス関連情報
を保持し、前記状態制御手段によって出力される前記更
新信号が入力されると、前記転送実行手段へ出力する前
記アドレス関連情報を更新するアドレス保持更新手段
と、 前記状態制御手段によって出力される前記更新信号が入
力されると、転送の完了したデータ数を更新するデータ
数保持更新手段と、 該データ数保持更新手段によって更新されるデータ数関
連情報に基づいて制御手段からの指示による一連のデー
タ転送の終了を判断し、前記状態制御手段へ転送終了信
号を出力する転送終了判断手段とを備え、 前記状態制御手段が、前記転送終了判断手段からの前記
転送終了信号が入力されたことを判断するまで、前記転
送実行手段に対し繰り返し前記バースト長のデータ転送
を指示することによって前記一連のデータ転送を実現す
るDMAコントローラにおいて、 複数のバースト長を選択的に指定するための前記制御手
段からのバースト長指定信号及び前記転送実行手段によ
るデータの転送中に前記状態制御手段から出力される転
送期間信号に基づき前記バースト長のデータ転送の終了
を判断してバースト終了信号を前記状態制御手段へ出力
するバースト終了判断手段を備え、 前記状態制御手段は、さらに、前記バースト終了判断手
段からの前記バースト終了信号に基づき、前記転送実行
手段への前記データ転送の指示タイミングと、前記アド
レス保持更新手段及び前記データ数保持更新手段への前
記更新信号の出力タイミングとを変更するよう構成され
ていることを特徴とするDMAコントローラ。
1. A state control means for instructing a transfer execution means for collectively transferring data of a burst length to transfer data of the burst length, and outputting an update signal, and an address relation of at least one of a transfer source and a transfer destination. When information is held and the update signal output by the state control means is input, an address holding / update means for updating the address-related information output to the transfer execution means is output by the state control means. When the update signal is input, a data number holding / updating means for updating the number of data whose transfer has been completed; and a series of data instructed by the control means based on the data number related information updated by the data number holding / updating means. Transfer end determining means for judging the end of data transfer and outputting a transfer end signal to the state control means. DMA that realizes the series of data transfer by repeatedly instructing the transfer executing means to transfer the burst length data until it is determined that the transfer end signal is input from the transfer end determining means. A controller configured to selectively designate a plurality of burst lengths based on a burst length designation signal from the control unit and a transfer period signal output from the state control unit during data transfer by the transfer execution unit; A burst end determination unit that determines the end of the long data transfer and outputs a burst end signal to the state control unit.The state control unit further includes a burst end signal from the burst end determination unit. An instruction timing of the data transfer to the transfer execution means, DMA controller characterized by being configured so as to change the output timing of the update signal to said data number storing updating means.
【請求項2】 請求項1に記載のDMAコントローラに
おいて、 前記状態制御手段は、初期状態である第1の状態で前記
制御手段からの指示によって、前記転送実行手段にデー
タ転送の準備をさせるリクエスト信号を有効にすると共
に、当該リクエスト信号に対応して前記転送実行手段か
ら送信されるアクノレッジ信号の入力を判断する第2の
状態へ移行し、当該第2の状態で前記転送実行手段から
の前記アクノレッジ信号が入力されると、データ転送の
開始を指示するコントロール信号を前記転送実行手段へ
出力すると共に、前記転送期間信号を出力する第3の状
態と、前記バースト終了信号の入力を判断すると共に、
前記転送期間信号を出力する第4の状態とを交互に繰り
返し、当該第4の状態で前記バースト終了信号が入力さ
れた場合、前記転送終了信号の入力を判断すると共に、
前記リクエスト信号を無効とし、前記更新信号を出力す
る第5の状態へ移行し、当該第5の状態で前記転送終了
信号が入力された場合は前記第1の状態へ移行し、一
方、当該第5の状態で転送終了信号が入力されない場合
は前記第2の状態へ移行するよう構成されていることを
特徴とするDMAコントローラ。
2. The DMA controller according to claim 1, wherein the state control unit requests the transfer execution unit to prepare for data transfer in accordance with an instruction from the control unit in a first state which is an initial state. Signal, and shifts to a second state in which an input of an acknowledgment signal transmitted from the transfer execution unit is determined in response to the request signal. When the acknowledgment signal is input, a control signal instructing the start of data transfer is output to the transfer execution unit, and a third state in which the transfer period signal is output and the input of the burst end signal are determined. ,
The fourth state in which the transfer period signal is output is alternately repeated, and when the burst end signal is input in the fourth state, the input of the transfer end signal is determined,
The request signal is invalidated, and the state shifts to a fifth state in which the update signal is output. If the transfer end signal is input in the fifth state, the state shifts to the first state. A DMA controller configured to shift to the second state when a transfer end signal is not input in the state of (5).
【請求項3】 請求項1又は2に記載のDMAコントロ
ーラにおいて、 前記アドレス保持更新手段は、さらに、前記制御手段か
らのバースト長指定信号に基づき、複数のバースト長か
ら選択的に指定されたバースト長に対応するアドレス関
連情報の更新を共通のハード構成を利用して行うよう構
成されていることを特徴とするDMAコントローラ。
3. The DMA controller according to claim 1, wherein the address holding / updating unit further includes a burst selectively designated from a plurality of burst lengths based on a burst length designation signal from the control unit. A DMA controller configured to update address-related information corresponding to a length using a common hardware configuration.
【請求項4】 請求項1乃至3のいずれかに記載のDM
Aコントローラにおいて、 前記データ数保持更新手段は、さらに、前記制御手段か
らのバースト長指定信号に基づき、複数のバースト長か
ら選択的に指定されたバースト長に対応するデータ数関
連情報の更新を共通のハード構成を利用して行うよう構
成されていることを特徴とするDMAコントローラ。
4. The DM according to claim 1, wherein:
In the A controller, the data number holding / updating means may further update the data number related information corresponding to a burst length selectively designated from a plurality of burst lengths based on a burst length designation signal from the control means. A DMA controller configured to use the hardware configuration of the DMA controller.
JP13390497A 1997-05-23 1997-05-23 Dma controller Pending JPH10326248A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13390497A JPH10326248A (en) 1997-05-23 1997-05-23 Dma controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13390497A JPH10326248A (en) 1997-05-23 1997-05-23 Dma controller

Publications (1)

Publication Number Publication Date
JPH10326248A true JPH10326248A (en) 1998-12-08

Family

ID=15115828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13390497A Pending JPH10326248A (en) 1997-05-23 1997-05-23 Dma controller

Country Status (1)

Country Link
JP (1) JPH10326248A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375233B1 (en) * 2001-03-16 2003-03-08 삼성전자주식회사 Direct memory access controller being converted transfer mode flexibly according to data transfer counter value
WO2006057841A1 (en) * 2004-11-22 2006-06-01 Qlogic Corporation Method and system for dma optimization in host bus adapters
JP2008299969A (en) * 2007-05-31 2008-12-11 Oki Electric Ind Co Ltd Data processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375233B1 (en) * 2001-03-16 2003-03-08 삼성전자주식회사 Direct memory access controller being converted transfer mode flexibly according to data transfer counter value
WO2006057841A1 (en) * 2004-11-22 2006-06-01 Qlogic Corporation Method and system for dma optimization in host bus adapters
US7398335B2 (en) 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
JP2008299969A (en) * 2007-05-31 2008-12-11 Oki Electric Ind Co Ltd Data processor

Similar Documents

Publication Publication Date Title
US4670838A (en) Single chip microcomputer capable of debugging an external program without an increase of the number of terminals/ports
KR20050075722A (en) Processor system, dma control circuit, dma control method, control method for dma controller, graphic processing method, and graphic processing circuit
JPH08212101A (en) Method for testing of execution of instruction program executed by application-specific integrated circuit and application-specific integrated circuit for it
US5119487A (en) Dma controller having programmable logic array for outputting control information required during a next transfer cycle during one transfer cycle
WO2007037930A2 (en) PERFORMING AN N-BIT WRITE ACCESS TO AN MxN-BIT-ONLY PERIPHERAL
JPH10326248A (en) Dma controller
JP2577023B2 (en) Address extension control method for information processing equipment
US5889966A (en) Data processor having bus controller for controlling a plurality of buses independently of each other
JP6143577B2 (en) Semiconductor integrated circuit and operation method of semiconductor integrated circuit
JPS62232036A (en) Information processor
JP2003036248A (en) Small scale processor to be used for single chip microprocessor
JPS63228360A (en) Dma controller
JP2635863B2 (en) Central processing unit
JPS59136831A (en) Data transfer controller
JP2004362176A (en) Integrated circuit
JP2608286B2 (en) Data transfer device
JP2777133B2 (en) Central processing unit
JP2002268876A (en) Pipeline processing method and information processor
JP2504535B2 (en) Bus unit configuration method
JPH04255056A (en) Dma controller
JPH0736819A (en) Dma data transfer device
JPH10301776A (en) Information processor and pipe line processing method
JP2004206241A (en) Data transfer control method and its circuit
JPH0545984B2 (en)
JPH03268141A (en) Data processor