JPH10207823A - Dma circuit - Google Patents

Dma circuit

Info

Publication number
JPH10207823A
JPH10207823A JP9005969A JP596997A JPH10207823A JP H10207823 A JPH10207823 A JP H10207823A JP 9005969 A JP9005969 A JP 9005969A JP 596997 A JP596997 A JP 596997A JP H10207823 A JPH10207823 A JP H10207823A
Authority
JP
Japan
Prior art keywords
data
transfer
buffer
circuit
address
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
JP9005969A
Other languages
Japanese (ja)
Inventor
Yoshifumi Ishikawa
善文 石川
Masayuki Eto
正幸 江藤
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP9005969A priority Critical patent/JPH10207823A/en
Publication of JPH10207823A publication Critical patent/JPH10207823A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Input (AREA)
  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a DMA circuit of particlable level which is made small- sized in circuit scale as far as possible and able to perform a high-speed process even if the data bus width increases. SOLUTION: Input data is inputted to a clock-synchronous input buffer 1 first. Then a single rotary barrel shifter 2 which holds data of the bus width makes a shift in byte units according to the difference between the read address of transfer source and the write address of a transfer destination and writes the result in succeeding-stage buffers 30 to 34 for successive transfer. The shift quantity is determined by a data position in the data bus width specified as the address of the transfer destination and in this case, the data transfer is burst transfer of up to four times, so the buffers 30 , and 34 among 30 to 34 are used to hold effective data in relation with the shift quantity; and these buffers are selected by selectors 4 and 5 to output the data.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、DMA(Direct
Memory Address)回路に関し、より詳細には、イメー
ジデータの転送など、データバス幅での連続データ転送
を行う場合に必要となるシフト機能をもつDMA回路に
関する。
[0001] The present invention relates to a DMA (Direct).
More specifically, the present invention relates to a DMA circuit having a shift function required when performing continuous data transfer with a data bus width such as image data transfer.

【0002】[0002]

【従来の技術】従来、イメージデータの矩形転送など、
データバスのバス幅によって決まる転送方式をとる場
合、転送元および転送先のアドレスが該方式によるデー
タの単位ブロックの境界からずれているデータの転送に
は、その境界内のデータの転送を複数回行って対応して
いた。これを解決する方法として、特公平7−6634
9号公報に見られるようなシフタ回路が提案された。こ
のシフタ回路では図25に示すように、2つのバッファ
A1′0,バッファB1′1に交互にデータを読み込み、
それぞれのバッファの出力をデータバス幅(nビット)
の2倍の回転バレルシフタA2′0,B2′1(それぞれ
nビット)によってシフトしセレクタ4′からシフタ
A,Bを選ぶことによって有効なデータを得ていた。こ
の様子が図26及び図27に示され、ここでは、入力デ
ータがシフトされ出力データとなるまでの状態変化が説
明されている。図26は左シフト時の、図27は右シフ
ト時のそれぞれシフタA,Bの動作状態の遷移を表わ
す。また、連続データの転送には特開昭63−2444
84号公報に見られるような回路が提案された。この回
路では図28に示すように、一旦読み込んだ入力データ
を格納しておくためのバッファ1′0〜1′3が十分な数
(上記従来例の2→この例の4)付加された。
2. Description of the Related Art Conventionally, for example, rectangular transfer of image data, etc.
In the case of using a transfer method determined by the bus width of the data bus, the transfer of data in which the addresses of the transfer source and the transfer destination are deviated from the boundary of a unit block of data according to the transfer method requires a plurality of transfers of data within the boundary. I went and responded. As a method to solve this, Japanese Patent Publication No. 7-6634
No. 9 has proposed a shifter circuit. As this shifter circuit shown in FIG. 25, two buffers A1 '0, the buffer B1' reads alternately data to 1,
The output of each buffer is the data bus width (n bits)
Twice the rotational barrel shifter A2 of '0, B2' 1 had have valid data by selecting shifter A shift to the selector 4 'by (n bits each), the B. This situation is shown in FIGS. 26 and 27, where a state change from shifting of input data to output data is described. FIG. 26 shows the transition of the operation states of shifters A and B at the time of left shift, and FIG. For transferring continuous data, Japanese Patent Laid-Open No. 63-2444
No. 84 has proposed a circuit. As shown in FIG. 28 in this circuit it has been once read buffer 1 '0-1' 3 have enough for storing input data I (4 2 → example of the prior art) added.

【0003】[0003]

【発明が解決しようとする課題】しかし、特公平7−6
6349号公報に見られる従来技術では、データバス幅
が64ビット主流となった現在、128ビットの回転バ
レルシフトの使用が必要となり、回路規模の増大の要因
となっている。また、特開昭63−244484号公報
は概念的なレベルのものであって、具体的な回路構成を
開示するものではない。本発明は、このような従来技術
の問題点に鑑みてなされたもので、DMA回路において
データバス幅が増大しても回路規模を可及的に小型化
し、かつ、高速処理を可能とする実用化レベルの回路を
提供することをその解決すべき課題とする。
[Problems to be solved by the invention]
In the prior art disclosed in Japanese Patent No. 6349, the use of a 128-bit rotating barrel shift is required at present when the data bus width has become mainstream of 64 bits, which causes an increase in circuit scale. Japanese Patent Application Laid-Open No. 63-244484 is on a conceptual level and does not disclose a specific circuit configuration. SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems of the prior art, and has been developed to reduce the size of the circuit as much as possible and realize high-speed processing even if the data bus width is increased in the DMA circuit. It is an object of the present invention to provide a circuit of a generalization level.

【0004】[0004]

【課題を解決するための手段】請求項1の発明は、所定
のデータバス幅で送られるデータを所定アドレスの転送
先に連続して送るためのDMA回路において、入力され
るデータを所定バス幅で保持し、保持したデータを転送
先アドレスが指定可能なデータ単位でシフトする単一の
回転バレルシフタと、該回転バレルシフタの出力データ
が順次書き込まれ、格納された前記バス幅のデータをバ
ースト転送方式により連続転送するために用意される所
定数の転送用バッファと、転送用データを格納する前記
所定数の転送用バッファから選択したバッファのデータ
出力を行う転送用バッファ選択回路と、DMAによるデ
ータ転送の制御を行う制御回路を備え、該制御回路は、
アドレス指定された転送先データ位置によって前記回転
バレルシフタ、前記転送用バッファ及び転送用バッファ
選択回路の動作を制御するようにしたものである。
According to a first aspect of the present invention, there is provided a DMA circuit for continuously transmitting data transmitted at a predetermined data bus width to a destination of a predetermined address, wherein the input data is transmitted at a predetermined bus width. A single rotary barrel shifter that shifts the held data by a data unit whose transfer destination address can be specified, and the output data of the rotary barrel shifter is sequentially written, and the stored data of the bus width is transferred by a burst transfer method. , A predetermined number of transfer buffers prepared for continuous transfer, a transfer buffer selection circuit for outputting data of a buffer selected from the predetermined number of transfer buffers for storing transfer data, and data transfer by DMA A control circuit that performs the control of
The operation of the rotary barrel shifter, the transfer buffer, and the transfer buffer selection circuit is controlled according to the transfer destination data position specified by the address.

【0005】請求項2の発明は、請求項1の発明におい
て、前記制御回路は、前記回転バレルシフタによるシフ
ト後のデータ位置とアドレス指定された転送先のデータ
位置とが、バス幅の単位で一致するように前記動作制御
を行うように構成されたものである。
According to a second aspect of the present invention, in the first aspect of the present invention, the control circuit matches the data position after the shift by the rotary barrel shifter with the data position of the addressed transfer destination in a unit of a bus width. The operation control is performed as described above.

【0006】請求項3の発明は、請求項1の発明におい
て、前記制御回路は、所定のバス幅で入力されるデータ
中の有効データのデータ位置を前記所定数の転送用バッ
ファの先頭のバッファに転送データとして格納するよう
に前記動作制御を行うように構成されたものである。
According to a third aspect of the present invention, in the first aspect of the present invention, the control circuit determines a data position of valid data in data input with a predetermined bus width in a leading buffer of the predetermined number of transfer buffers. The operation control is performed so as to store the data as transfer data.

【0007】請求項4の発明は、請求項1ないし3のい
ずれかの発明において、所定数の前記転送用バッファを
複数のバースト転送分用意し、前記制御手段は、一方の
バースト転送分をリードとし、他方のバースト転送分を
ライトとして動作させるようにしたものである。
According to a fourth aspect of the present invention, in the first aspect, a predetermined number of the transfer buffers are prepared for a plurality of burst transfers, and the control means reads one of the burst transfers. And the other burst transfer is operated as a write.

【0008】[0008]

【発明の実施の形態】以下に、本発明の実施形態を添付
図に基づいて説明する。図1は、本発明によるDMA回
路の実施形態の一例を示すブロック図である。また、図
4及び図5は、本発明によるDMA回路の実施形態に用
いるレジスタ及びレジスタに関する仕様を示す。図1に
おいて、入力データは、まずクロック同期の入力バッフ
ァ1に取り込まれる。その後、回転バレルシフタ2にて
転送元の読み出しアドレスと転送先の書き込みアドレス
との差によってバイト単位でシフトを行い、その結果を
次段の連続転送用バッファ30〜34に書き込む。
Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 is a block diagram showing an example of an embodiment of a DMA circuit according to the present invention. FIGS. 4 and 5 show registers used in a DMA circuit according to an embodiment of the present invention and specifications related to the registers. In FIG. 1, input data is first taken into a clock synchronous input buffer 1. Thereafter, the shift in bytes by the difference between the write address source and destination of the read address by the rotation barrel shifter 2, and writes the result to the next stage of the continuous transfer buffers 3 0-3 4.

【0009】この回転バレルシフタ2と連続転送用バッ
ファ30〜34との配線、および連続転送用バッファの詳
細な回路構成の一例を図2,図3に示す。なお、この例
では、アドレスバス幅は32ビット、連続転送はバース
ト転送方式であり、転送元および転送先のアドレスはバ
イト境界に一致しており、最大バースト転送回数は4
回、データバス幅は64ビット(ダブルワード:D
W)、転送相手はシンクロナスDRAM(以下、略して
「SDRAM」と記す)タイプのメモリとする。
[0009] indicates wiring between the rotating barrel shifter 2 and the continuous transfer buffer 3 0-3 4, and an example of a detailed circuit configuration of the continuous transfer buffer 2, 3. In this example, the address bus width is 32 bits, the continuous transfer is a burst transfer method, the addresses of the transfer source and the transfer destination coincide with byte boundaries, and the maximum number of burst transfers is 4.
Times, the data bus width is 64 bits (double word: D
W) The transfer partner is a synchronous DRAM (hereinafter abbreviated as "SDRAM") type memory.

【0010】また、本実施形態のDMA回路では具体化
のために用いる制御レジスタとして、 1.転送元の(読み出しデータの)アドレス(バイト境
界に一致)→転送元アドレスレジスタ:ARrs 2.転送先の(書き込みデータの)アドレス(バイト境
界に一致)→転送先アドレスレジスタ:ARws 3.転送バイト数(バースト長以下)→転送バイト数レ
ジスタ:BNUMを持つ場合を考える。 上記した条件の制御レジスタを含む本実施形態で用いる
レジスタについて、その作成方法、仕様をまとめたもの
が図4(その1)及び図5(その2)に示されている。
なお、回路の動作を示す後述のタイミングチャート及び
フローチャートにおいて用いる略称は、図4及び図5中
と同じものを指す。
In the DMA circuit of this embodiment, the control registers used for realization are: 1. Source (read data) address (coincides with byte boundary) → Transfer source address register: ARrs 2. Transfer destination (write data) address (coincides with byte boundary) → transfer destination address register: ARws Transfer byte number (less than burst length) → Transfer byte number register: Consider a case where BNUM is provided. FIG. 4 (part 1) and FIG. 5 (part 2) summarize the creation method and specifications of the registers used in the present embodiment including the control registers under the above conditions.
Note that abbreviations used in timing charts and flow charts described later showing the operation of the circuit indicate the same as those in FIGS. 4 and 5.

【0011】図4及び図5において、 転送元アドレスレジスタ(ARrs):転送するデータ
の保存されているアドレス(転送元アドレス)を設定す
るレジスタ 転送先アドレスレジスタ(ARws):転送するデータ
の送り先のアドレス(転送先アドレス)を設定するレジ
スタ 転送バイト数レジスタ(BNUM):転送するデータの
データ量(バイト数)を設定するレジスタ リード転送開始アドレスレジスタ(ARrs0):初回
のリード転送(転送元からDMAへの転送)のアドレス
を表示するレジスタ 本実施形態ではデータバスは64ビットであるので、開
始アドレスの下位3ビットは000bとする。 リード転送継続アドレスレジスタ(ARrs1):2回
目以降のリード転送のアドレスを表示するレジスタ 本実施形態ではデータ転送は最大4回のバースト転送で
あるので、2回目以降のアドレスは前回のアドレス+3
2バイトとなる。このため、下位5ビットは0となる。
通常、ARrsの値をカウンタにロードし、ARrs0
およびARrs1として用いる。2回目以降の転送のA
Rrs1は、このカウンタの値をインクリメントして求
める。 リード転送回数レジスタ(TrNUM):残りの転送回
数を表示するレジスタ リード転送は64ビット(8バイト)単位で行われるた
め、ARrsの下位3ビットが000bでない場合に
は、転送バイト数を調整する必要が生じる。その調整後
の値がTrNUM0である。TrNUM0の下位3ビッ
トが000bでない場合、そのための転送が1回必要で
ある。よって、TrNUM0の下位3ビットを切り上げ
した、上位14ビットがTrNUMとなる。転送回数の
チェックは、転送終了毎にTrNUM0−1が0か否か
で行われる。 リード連続転送回数レジスタ(SrNUM):リード転
送のアドレスを更新するために用いるレジスタ リード転送のアドレスは32バイト(4回のバースト転
送長)の境界毎のインクリメントしなければならない。
このレジスタは、そのインクリメントされるタイミング
をチェックするために用いられる。そこで、初回の転送
時にはARrs[4:3]をカウンタロードして転送毎
にインクリメントし、タイミングを計る。 シフト量レジスタ(SIFT):シフトの大きさを表
す。算出方法は図4中に表記の通り。この値を図2のシ
フタに与えることによって、図9ないし図12のように
データをシフトさせる。 バッファ位置レジスタ(BPOS):有効な連続転送用
バッファの位置を示すレジスタ 本発明は、図1および図19に示すように、64ビット
(8バイト)の連続転送用バッファを複数個用いてい
る。このレジスタは、その内のどのバッファを有効にす
べきかを示している。算出方法は図4中に示す通りであ
る。 有効データ位置レジスタ(DPOS):連続転送用バッ
ファの中のどのバイトのデータが有効であるかを示す。
8ビットのレジスタで、SIFTの値によって図5中に
示すように設定される。 ライト転送用バッファセレクタ(BSEL):ライト転
送時に使用する連続転送用バッファを指定する。本発明
の実施例2(後述)の場合以外はSwNUMを代用す
る。 ライト転送開始アドレスレジスタ(ARws0):初回
のライト転送(DMAから転送先への転送)のアドレス
を表示するレジスタ ライト転送継続アドレスレジスタ(ARws1):2回
目以降のライト転送のアドレスを表示するレジスタ ライト転送回数レジスタ(TwNUM):ライト転送の
残りの転送回数を表示するレジスタ ライト連続転送回数レジスタ(SwNUM):ライト転
送のアドレス更新のタイミングを計るレジスタ なお、上記のライト転送の関連のレジスタは、リードの
レジスタと機能上同様である。
4 and 5, a transfer source address register (ARrs): a register for setting an address (transfer source address) at which data to be transferred is stored a transfer destination address register (ARws): a destination address of the transfer data Register for setting address (transfer destination address) Transfer byte number register (BNUM): Register for setting data amount (byte number) of data to be transferred Read transfer start address register (ARrs0): Initial read transfer (DMA from transfer source) In this embodiment, since the data bus is 64 bits, the lower 3 bits of the start address are 000b. Read transfer continuation address register (ARrs1): register for displaying the address of the second and subsequent read transfers In this embodiment, the data transfer is a maximum of four burst transfers, and the second and subsequent addresses are the previous address + 3.
It is 2 bytes. Therefore, the lower 5 bits become 0.
Normally, the value of ARrs is loaded into a counter, and ARrs0 is loaded.
And ARrs1. A for the second and subsequent transfers
Rrs1 is obtained by incrementing the value of this counter. Read transfer count register (TrNUM): Register for indicating the remaining transfer count Since read transfer is performed in units of 64 bits (8 bytes), if the lower 3 bits of ARrs are not 000b, the transfer byte count must be adjusted Occurs. The value after the adjustment is TrNUM0. If the lower 3 bits of TrNUM0 are not 000b, one transfer for that is necessary. Therefore, the upper 14 bits obtained by rounding up the lower 3 bits of TrNUM0 become TrNUM. The number of transfers is checked by checking whether or not TrNUM0-1 is 0 each time the transfer is completed. Read continuous transfer count register (SrNUM): a register used to update the address of read transfer The read transfer address must be incremented for each 32 byte (four burst transfer length) boundary.
This register is used to check the timing of the increment. Therefore, at the time of the first transfer, ARrs [4: 3] is counter-loaded and incremented every transfer to measure the timing. Shift amount register (SIFT): Indicates the magnitude of the shift. The calculation method is as shown in FIG. By giving this value to the shifter in FIG. 2, the data is shifted as shown in FIGS. Buffer Position Register (BPOS): Register indicating the position of an effective continuous transfer buffer The present invention uses a plurality of 64-bit (8-byte) continuous transfer buffers as shown in FIGS. This register indicates which buffers should be enabled. The calculation method is as shown in FIG. Valid data position register (DPOS): indicates which byte of data in the continuous transfer buffer is valid.
This is an 8-bit register, which is set as shown in FIG. 5 by the value of SIFT. Write transfer buffer selector (BSEL): Designates a continuous transfer buffer used at the time of write transfer. Except in the case of Example 2 (described later) of the present invention, SwNUM is used instead. Write transfer start address register (ARws0): Register for displaying the address of the first write transfer (transfer from DMA to transfer destination) Write transfer continuation address register (ARws1): Register for displaying the address of the second and subsequent write transfers Transfer count register (TwNUM): a register for displaying the remaining transfer count of the write transfer Write continuous transfer count register (SwNUM): a register for measuring the timing of updating the address of the write transfer The registers related to the write transfer are read The function is the same as that of the register.

【0012】図6は、図1ないし図5に示された本発明
の実施形態の回路における動作タイミングチャートであ
る。図6において、SDRAMへのコントロール信号
と、アドレスおよびデータの作り方が図4,図5のレジ
スタを用いて説明されるが、図6中、 CLK :SDRAMを動作させるクロック信号 /CS :SDRAMの制御信号(チップセレクト) /RAS:SDRAMの制御信号(ローアドレスストロ
ーブ) /CAS:SDRAMの制御信号(カラムアドレススト
ローブ) /WE :SDRAMの制御信号(ライトイネーブル) DQM :データのマスク信号 A0〜10およびA11:SDRAMのアドレスバス DQ :SDRAMのデータバス その他は、図4,図5で説明したレジスタの値である。
これらはすべてCLKに同期して変化する。また、“4
to1セレクタのセレクト信号”、および、“2to1セレ
クタのセレクト信号”は、図1のセレクタを指す。
FIG. 6 is an operation timing chart of the circuit according to the embodiment of the present invention shown in FIGS. In FIG. 6, a control signal to the SDRAM and a method of creating an address and data will be described with reference to the registers of FIGS. 4 and 5. In FIG. 6, CLK is a clock signal for operating the SDRAM. / CS is a control of the SDRAM. Signals (chip select) / RAS: SDRAM control signal (row address strobe) / CAS: SDRAM control signal (column address strobe) / WE: SDRAM control signal (write enable) DQM: data mask signal A0-10 and A11: Address bus of SDRAM DQ: Data bus of SDRAM Others are the register values described with reference to FIGS.
These all change in synchronization with CLK. Also, “4
The "select signal of the to1 selector" and the "select signal of the 2to1 selector" refer to the selector of FIG.

【0013】制御レジスタへの書き込みとデータバスの
使用権の取得後、制御回路はメモリへのリード命令を実
行する。この際、転送元アドレスと転送バイト数を考慮
して、図7のフローチャートに示すような制御を行う。
図7は、回路のデータリード部のフローチャートで、S
DRAMから図1の入力バッファ1へデータを読み込む
ための制御方法を示したフローチャートである。図7
中、ARrs0,ARrs1,TrNUM,SrNUM
の初期設定を行い、転送終了毎にそれ等の値を更新す
る。実際にSDRAMを制御するためには、この他にも
制御信号を作成しなければならないが、これについては
本発明の本題から外れるので省略した。その制御信号に
ついては、図6、図23及び図24のタイミングチャー
トを参照するとよい。なお、信号の変化はCLKに同期
している。この制御によってメモリから読み出されたデ
ータは、入力バッファ1へ順に、必要とされるダブルワ
ード数分だけ取り込まれる。
After writing to the control register and obtaining the right to use the data bus, the control circuit executes a read instruction to the memory. At this time, the control as shown in the flowchart of FIG. 7 is performed in consideration of the transfer source address and the number of transfer bytes.
FIG. 7 is a flowchart of the data read unit of the circuit.
2 is a flowchart showing a control method for reading data from a DRAM to an input buffer 1 of FIG. FIG.
Medium, ARrs0, ARrs1, TrNUM, SrNUM
Is initialized, and their values are updated each time transfer is completed. In order to actually control the SDRAM, other control signals must be created, but these are omitted because they depart from the scope of the present invention. For the control signal, the timing charts of FIGS. 6, 23 and 24 may be referred to. Note that the change of the signal is synchronized with CLK. The data read from the memory by this control is sequentially taken into the input buffer 1 by the required number of double words.

【0014】一方、制御回路はDMA回路内部に対し
て、図8のフローチャートに示すような制御を行う。図
8は、実施例1とするもので、図1の回路において、連
続転送用バッファコントロール部による連続転送用バッ
ファ30〜34への書き込み信号の制御方法を示したフロ
ーチャートである。SIFT,DPOS,BPOSの初
期設定を行い、入力バッファからのデータ入力がある毎
にBPOSの値を更新し、これらの値を用いて書き込み
信号を作成する。図9は、本実施例における右シフト時
の動作状態の遷移が示され、その動作に対応するWEの
作り方が図10に示しされる。また、図11は左シフト
時の動作状態の遷移とが示され、その動作に対応するW
Eの作り方が図12に示される。書き込み信号は図9な
いし12に示すように、BPOSをデコードして選択さ
れた連続転送用バッファにおいてDPOSが1の部分の
バイトと、BPOS+1をデコードして選択された連続
転送用バッファにおいてDPOSが0のバイトに対して
アサートされる。ここで言う書き込み信号とは、図2及
び図3のWE信号のことである。このような制御を行っ
た結果として、図9ないし図12に示されるような動作
で入力バッファに取り込まれたデータが、連続転送用バ
ッファに書き込まれ、図中の連続転送用バッファ内のデ
ータを見て分かるように、転送先アドレス(ARwr
(4:0))に合わせて入力データがシフトされる。
On the other hand, the control circuit controls the inside of the DMA circuit as shown in the flowchart of FIG. Figure 8 is for Example 1, in the circuit of FIG. 1 is a flow chart illustrating a method for controlling the write signal due to the continuous transfer buffer controller to continuously transfer buffer 3 0-3 4. Initial settings of SIFT, DPOS, and BPOS are performed, and the value of BPOS is updated each time data is input from the input buffer, and a write signal is created using these values. FIG. 9 shows a transition of the operation state at the time of right shift in the present embodiment, and FIG. 10 shows how to make a WE corresponding to the operation. FIG. 11 shows a transition of the operation state at the time of left shift, and W corresponding to the operation.
How to make E is shown in FIG. As shown in FIGS. 9 to 12, the write signal is a byte in which the DPOS is 1 in the continuous transfer buffer selected by decoding the BPOS and a DPOS is 0 in the continuous transfer buffer selected by decoding the BPOS + 1. Asserted for this byte. The write signal referred to here is the WE signal in FIGS. As a result of such control, the data fetched into the input buffer by the operation shown in FIGS. 9 to 12 is written into the continuous transfer buffer, and the data in the continuous transfer buffer shown in FIG. As can be seen, the transfer destination address (ARwr
(4: 0)), the input data is shifted.

【0015】また、このフローチャートによる回路の概
略図を図13に示している。なお、図13において、バ
ッファ位置レジスタBPOSおよび有効データ位置レジ
スタDPOSは、DMA動作開始時に図4および図7に
示す方法にて初期設定される。こうして、BPOSの初
期値を計算し、カウンタにロードする。このカウンタの
出力をデコーダでデコードし、あらかじめ計算しておい
たDPOSとのandをとってWEを作成する。カウン
タは入力バッファへの書き込みがある毎にEN信号でカ
ウントアップし、動作開始時にはBPOSの初期値を、
デコーダが4をアサートしたとき(BPOS[2:0]
が100bのとき)には000bをロードする。DPO
Sは動作中は不変である。WEは入力バッファへデータ
入力を検出したクロックでアサートされ、BPOSを作
成しているカウンタ(図13)の変化もこのタイミング
で行う。したがって、変化はCLKに同期することにな
る。
FIG. 13 is a schematic diagram of a circuit according to this flowchart. In FIG. 13, the buffer position register BPOS and the valid data position register DPOS are initialized at the start of the DMA operation by the method shown in FIGS. Thus, the initial value of BPOS is calculated and loaded into the counter. The output of this counter is decoded by a decoder, and an AND with the DPOS calculated in advance is calculated to create a WE. The counter counts up with the EN signal every time data is written to the input buffer. At the start of operation, the initial value of BPOS is
When the decoder asserts 4 (BPOS [2: 0]
Is 100b), 000b is loaded. DPO
S is unchanged during operation. WE is asserted by a clock that detects data input to the input buffer, and the counter (FIG. 13) that creates BPOS also changes at this timing. Therefore, the change will be synchronous with CLK.

【0016】図14及び図15は、本発明の実施例1の
DMA回路のデータライト部のフローチャート(その
1,その2)で、図1の連続転送用バッファからSDR
AMメモリへのライト命令と並行して、データを書き込
むための制御方法を示したフローチャートである。この
結果、目的とするアドレスのメモリにデータが書き込ま
れる。ARws0,ARws1,TwNUM,SwNU
Mの初期設定を行い、転送終了毎にそれ等の値を更新す
る。また、最初と最後の転送においては必要に応じてラ
イトマスク信号(DQM)をアサートする。マスク信号
の作成方法は図13及び図14中に示すように、最初の
転送のときは、開始位置以前のバイトに対してマスクさ
れるようにARws[2:0]を用いて、最後の転送の
ときには、データの最後のバイト以降に対してマスクさ
れるようにBNUMとARws[2:0]を用いてマス
クを作成する。転送はTwNUMとSwNUMをチェッ
クしながら行い、SwNUMが3になる毎にアドレスを
更新し、TwNUMが0になるまで行われる。実際にS
DRAMを制御するためには、この他にも制御信号を作
成しなければならないが、これについては本発明の要旨
から外れるので省略した。その制御信号については図6
のタイミングチャートを参照のこと。出力段の4to1セ
レクタは、セレクト信号が“0”の時に連続転送用バッ
ファ0(または4)の値が、“3”の時にバッファ3の
値がセレクトされる、ダブルワードのセレクタである。
効率を考慮して最大バースト転送回数の4と同じ4to1
セレクタとした。
FIGS. 14 and 15 are flowcharts (parts 1 and 2) of the data write section of the DMA circuit according to the first embodiment of the present invention.
9 is a flowchart illustrating a control method for writing data in parallel with a write instruction to an AM memory. As a result, data is written to the memory at the target address. ARws0, ARws1, TwNUM, SwNU
M is initialized and their values are updated each time transfer is completed. In the first and last transfers, a write mask signal (DQM) is asserted as necessary. As shown in FIGS. 13 and 14, the mask signal is created by using ARws [2: 0] at the time of the first transfer so that the byte before the start position is masked. In the case of, a mask is created using BNUM and ARws [2: 0] so as to mask the last byte of data. The transfer is performed while checking TwNUM and SwNUM, the address is updated every time SwNUM becomes 3, and the transfer is performed until TwNUM becomes 0. Actually S
In order to control the DRAM, other control signals must be generated, but these are omitted because they are out of the scope of the present invention. The control signal is shown in FIG.
See timing chart. The 4to1 selector at the output stage is a double word selector in which the value of the continuous transfer buffer 0 (or 4) is selected when the select signal is “0” and the value of the buffer 3 is selected when the select signal is “3”.
4to1 which is the same as the maximum burst transfer number of 4 considering efficiency
Selector.

【0017】しかし、この制御方法では転送先のアドレ
スがデータバスのバス幅によって決まる転送の境界から
ずれている場合には、十分なビット数の転送ができない
場合が発生する。すなわち、ARws(4:3)が11
bの場合には、最大でも2ダブルワード(16バイト)
までしか連続転送用バッファにデータが格納できない。
これを解決するためには後述する回路例のように連続転
送用バッファの段数を増やす方法と、制御方法を変更す
る方法とが考えられる。ここでは説明の重複を避けるた
め、制御方法を変更する場合の回路の実施例について説
明する。
However, in this control method, if the transfer destination address is shifted from the transfer boundary determined by the bus width of the data bus, transfer of a sufficient number of bits may not be possible. That is, ARws (4: 3) is 11
In case of b, at most 2 double words (16 bytes)
The data can be stored in the continuous transfer buffer only up to this point.
To solve this, a method of increasing the number of stages of the continuous transfer buffer as in a circuit example to be described later and a method of changing the control method can be considered. Here, in order to avoid repetition of the description, an embodiment of the circuit when the control method is changed will be described.

【0018】制御レジスタへの書き込みとデータバスの
使用権の取得後、制御回路はメモリへのリード命令を実
行する。この際、転送元アドレスと転送バイト数を考慮
して、上記した実施例1の回路の場合と同様に図7のフ
ローチャートに示すような制御をデータリード部で行
う。また、図16は、実施例2の回路の連続転送用バッ
ファコントロール部のフローチャートで、図1の連続転
送用バッファへの書き込み信号の制御方法を示したフロ
ーチャートである。SIFT,DPOS,BPOSの初
期設定を行い、入力バッファからのデータ入力が有る毎
にBPOSの値を更新し、これらの値を用いて書き込み
信号を作成する。上記実施例1のフローチャートである
図8との違いは、連続転送用バッファのどの位置からデ
ータを書き始めるかという点にある。図8の場合には、
ARrs[2:0]の値とARws[4:0]の値か
ら、転送先のバイト位置との有効なデータのバイト位置
が揃うようにBPOSを定めていたが、この場合には連
続転送用バッファの有効利用という面に着目して、有効
データが必ず連続転送用バッファ0から書き込まれるよ
うにBPOSを定めている。これが、初期設定における
BPOSの設定方法の違いであり、図8とこの実施例と
の違いである。制御回路はDMA回路内部に対して、図
16のフローチャートに示すような制御を行った結果と
して、ARws(4:3)に関係なく有効データが連続
転送用バッファ0から書き込まれる。
After writing to the control register and obtaining the right to use the data bus, the control circuit executes a read command to the memory. At this time, in consideration of the transfer source address and the number of transfer bytes, the control as shown in the flowchart of FIG. FIG. 16 is a flowchart of the continuous transfer buffer control unit of the circuit of the second embodiment, and is a flowchart showing a method of controlling a write signal to the continuous transfer buffer of FIG. Initial settings of SIFT, DPOS, and BPOS are performed, the value of BPOS is updated each time data is input from the input buffer, and a write signal is created using these values. The difference from FIG. 8 which is the flowchart of the first embodiment is that from which position in the continuous transfer buffer data writing is started. In the case of FIG. 8,
The BPOS is determined from the value of ARrs [2: 0] and the value of ARws [4: 0] so that the byte position of valid data is aligned with the byte position of the transfer destination. Focusing on the effective use of the buffer, the BPOS is determined so that valid data is always written from the continuous transfer buffer 0. This is the difference in the BPOS setting method in the initial setting, and is the difference between FIG. 8 and this embodiment. As a result of the control circuit performing control as shown in the flowchart of FIG. 16 on the inside of the DMA circuit, valid data is written from the continuous transfer buffer 0 regardless of ARws (4: 3).

【0019】図17は、本発明の実施例2の回路のデー
タライト部のフローチャート(その1)を示し、図18
は、本発明の実施例2の回路のデータライト部のフロー
チャート(その2)を示す。図17,18は、図1の連
続転送用バッファからSDRAMへデータを書き込むた
めの制御方法を示したフローチャートである。ARws
0,ARws1,TwNUM,SwNUM,BSELの
初期設定を行い、転送終了毎にそれ等の値を更新する。
上記実施例1のフローチャートである図14,15との
違いは、連続転送用バッファのどの位置のデータをセレ
クトしてメモリへ書き出すかという点にある。図14の
場合には、転送先のアドレスARws[4:3]と有効
なデータの存在する連続転送用バッファが揃っていたの
で、ARws[4:3]の値を初期値とするSwNUM
を用いて、セレクタの制御信号とアドレスの変化タイミ
ングを作成していたが、本図の場合には有効なデータが
連続転送用バッファ0から書き込まれているので、セレ
クタの制御信号BSELは00bから始まるカウンタの
出力を用い、アドレスの変更タイミングSwNUMは図
14,15と同じくARws[4:3]から始まるカウ
ンタの出力を用いる。その他に関しては、図14,15
と同じである。連続転送用バッファへのデータ書き込み
方法が上記実施例1の場合と変わったため、4to1セレ
クタに対して図17,図18のフローチャートに示すよ
うな制御を行う。この結果、目的とするアドレスのメモ
リにデータが書き込まれる。このように制御を変更する
ことによって、転送先のアドレスがどこであろうとも、
最低4ダブルワード(32バイト)の転送を保証するこ
とができるようになる。
FIG. 17 is a flowchart (part 1) of the data write section of the circuit according to the second embodiment of the present invention, and FIG.
9 shows a flowchart (part 2) of the data write section of the circuit according to the second embodiment of the present invention. 17 and 18 are flowcharts showing a control method for writing data from the continuous transfer buffer of FIG. 1 to the SDRAM. ARws
Initial settings of 0, ARws1, TwNUM, SwNUM, and BSEL are performed, and the values are updated each time transfer is completed.
The difference from the flowcharts of FIGS. 14 and 15 of the first embodiment is that the data at which position in the continuous transfer buffer is selected and written to the memory. In the case of FIG. 14, since the transfer destination address ARws [4: 3] and the continuous transfer buffer in which valid data exists are present, the SwNUM using the value of ARws [4: 3] as an initial value.
Is used to generate the selector control signal and the address change timing. However, in this case, since the valid data is written from the continuous transfer buffer 0, the selector control signal BSEL starts from 00b. The output of the counter starting from ARws [4: 3] is used for the address change timing SwNUM as in FIGS. For others, see FIGS.
Is the same as Since the method of writing data to the continuous transfer buffer is different from that in the first embodiment, control is performed on the 4to1 selector as shown in the flowcharts of FIGS. As a result, data is written to the memory at the target address. By changing the control in this way, no matter where the forwarding address is,
Transfer of at least four double words (32 bytes) can be guaranteed.

【0020】しかし、上記実施例の回路では、いずれ
も、最大でも5ダブルワード(40バイト)しか転送が
できない。これでは、大きな領域を対象とした矩形転送
を行うのに、複数回に分けて転送を実施しなくてはなら
ない。そこで、図19に示すように連続転送用バッファ
を8段に増加し、併せて出力バッファを設けることによ
ってデータの読み貯めに対応する。なお、図19では説
明を簡略化するために出力バッファをフリップフロップ
1段としたが、ここにFIFO形式のバッファを導入す
ることによって、読み貯めできるデータの量は自由に変
更できる。
However, the circuits of the above embodiments can transfer only 5 double words (40 bytes) at the maximum. In this case, in order to perform a rectangular transfer for a large area, the transfer must be performed a plurality of times. Therefore, as shown in FIG. 19, the number of continuous transfer buffers is increased to eight, and an output buffer is provided to cope with data reading and storing. In FIG. 19, the output buffer is one flip-flop for simplicity of description, but the amount of data that can be read and stored can be freely changed by introducing a FIFO type buffer here.

【0021】実際の制御であるが、これは上記実施例1
の場合に極めて近い。まず、メモリから入力バッファへ
のデータの読み込み部分は、上記実施例1の場合と同様
に、図7に示されるようなフローチャートにそって制御
される。図20は、本発明の実施例3(図19)の回路
の連続転送用バッファコントロール部の連続転送用バッ
ファへの書き込み信号の制御方法を示したフローチャー
トである。SIFT,DPOS,BPOSの初期設定を
行い、入力バッファからのデータ入力がある毎にBPO
Sの値を更新し、これらの値を用いて書き込み信号を作
成する。上記実施例1のフローチャートである図8との
違いは、連続転送用バッファから出力段バッファ(図1
9参照)へのデータの転送を行うという点にある。
The actual control is performed according to the first embodiment.
Very close to the case. First, the reading of data from the memory to the input buffer is controlled in accordance with a flowchart as shown in FIG. 7, as in the first embodiment. FIG. 20 is a flowchart showing a method of controlling a write signal to the continuous transfer buffer of the continuous transfer buffer control unit of the circuit according to the third embodiment (FIG. 19) of the present invention. Initialize SIFT, DPOS, and BPOS. Each time data is input from the input buffer, the BPO
The value of S is updated, and a write signal is created using these values. The difference from FIG. 8 which is the flowchart of the first embodiment is that the continuous transfer buffer
9) is performed.

【0022】図20では、入力バッファからの書き込み
がある毎にBPOSをカウントアップし、下記の条件の
ときに出力段バッファへのデータ転送を行う。 1:入力バッファへのデータの読み込みが終了した場
合。 2:有効データの連続転送用バッファへの書き込みが6
4ビット(8バイト)の境界をまたぐ場合(BPOS
[1:0]=11bのとき。ただし、図中の条件1で示
すように、初回の無効データのみの書き込みは除く)。
この際の、カラム・セレクタ(図19)のセレクト信号
は、BPOS[2]を利用して書き込みが終了している
側が選択されるようにアサートする。また、連続転送用
バッファが8個に増えたため、ARws[4:0]<A
Rrs2[4:0]の場合のBPOSの値が111bと
なる。データの連続転送用バッファへの書き込みは、こ
のフローチャートに従って行われる。即ち、連続転送用
バッファを4つずつ2組として利用し、出力バッファと
の連携でデータを格納する。片方の組の連続転送用バッ
ファはバッファ3(またはバッファ7)へのデータ書き
込みが終了すると、出力バッファへデータを移動させ、
次の入力バッファからのデータ転送に備える。
In FIG. 20, the BPOS is counted up every time data is written from the input buffer, and data is transferred to the output stage buffer under the following conditions. 1: When reading of data into the input buffer is completed. 2: Writing of valid data to the continuous transfer buffer is 6
When crossing 4 bit (8 byte) boundaries (BPOS
[1: 0] = 11b. However, as shown by the condition 1 in the drawing, the writing of only the first invalid data is excluded).
At this time, the select signal of the column selector (FIG. 19) is asserted using BPOS [2] so that the side on which writing has been completed is selected. Further, since the number of continuous transfer buffers is increased to eight, ARws [4: 0] <A
The value of BPOS in the case of Rrs2 [4: 0] is 111b. Writing of data to the continuous transfer buffer is performed according to this flowchart. That is, the data is stored in cooperation with the output buffer by using two continuous transfer buffers as four sets. When the writing of the data to the buffer 3 (or the buffer 7) is completed, the data for one of the continuous transfer buffers is moved to the output buffer.
Prepare for data transfer from the next input buffer.

【0023】また、図21は、本実施例の回路のデータ
ライト部のフローチャート(その1)、図22は、本実
施例の回路のデータライト部のフローチャート(その
2)を示すもので、これらの図は、図19の出力バッフ
ァからSDRAMへデータを書き込むための制御方法を
示したフローチャートである。ARws0,ARws
1,TwNUM,SwNUMの初期設定を行い、転送終
了毎にそれ等の値を更新する。上記実施例1のフローチ
ャートである図14,15との違いは、図1にあった2
to1セレクタが図19には存在しないので、その制御が
なくなっただけである。実際にSDRAMを制御するた
めには、この他にも制御信号を作成しなければならない
が、これについては本発明の要旨から外れるので省略し
た。その制御信号については図23,24のタイミング
チャートを参照するとよい。図23は、本実施例の回路
の動作タイミングチャート(その1)、図24は本実施
例の回路の動作タイミングチャート(その2)で、これ
らの図は、図6と基本的に同じものである。図6との相
違点は“2to1セレクタのセレクト信号”がなくなり、
“カラム・セレクタのセレクト信号”と“出力段バッフ
ァへのWE”、“出力段バッファ内のデータ”が増えて
いる点である。これらは、図1と図19に示されるよう
な構成上の相違によるものである。
FIG. 21 is a flowchart (part 1) of the data write section of the circuit of the present embodiment, and FIG. 22 is a flowchart (part 2) of the data write section of the circuit of the present embodiment. 19 is a flowchart showing a control method for writing data from the output buffer of FIG. 19 to the SDRAM. ARws0, ARws
1, TwNUM, and SwNUM are initialized, and their values are updated each time transfer is completed. The difference from the flowcharts of FIGS. 14 and 15 of the first embodiment is that
Since the to1 selector does not exist in FIG. 19, its control is simply lost. In order to actually control the SDRAM, other control signals must be created, but these are omitted from the scope of the present invention. For the control signal, see the timing charts of FIGS. FIG. 23 is an operation timing chart (part 1) of the circuit of this embodiment, and FIG. 24 is an operation timing chart (part 2) of the circuit of this embodiment. These figures are basically the same as FIG. is there. The difference from FIG. 6 is that the “2to1 selector select signal” is eliminated,
The point is that “selection signal of column selector”, “WE to output stage buffer”, and “data in output stage buffer” are increased. These are due to structural differences as shown in FIG. 1 and FIG.

【0024】このように、メモリへのライトは図21,
22に示すフローチャートのように行われる。出力段の
4to1セレクタのセレクトがバッファ3(またはバッフ
ァ7)に格納されていたデータとなり、そのデータのメ
モリへの転送が終了すると同時に、制御部は出力バッフ
ァのデータを更新する。図19の回路の場合、その前段
のカラム・セレクタを切り替えて連続転送用バッファか
らデータを読み込む。ここでFIFO形式のバッファを
用いた場合には、連続転送用バッファと出力段の間で、
より複雑な制御が必要となるが、この制御方法は本発明
の本筋とは離れるので説明は省略する。この実施例3の
回路を用い、必要とされるデータ長に対応するように出
力バッファの大きさを決定することにより、大きな領域
を対象とした矩形転送も1度の転送で終了することがで
きる。
As described above, writing to the memory is performed as shown in FIG.
This is performed as shown in the flowchart of FIG. The selection of the 4to1 selector at the output stage becomes the data stored in the buffer 3 (or the buffer 7), and at the same time when the transfer of the data to the memory is completed, the control unit updates the data in the output buffer. In the case of the circuit of FIG. 19, data is read from the continuous transfer buffer by switching the preceding column selector. In this case, when a FIFO type buffer is used, between the continuous transfer buffer and the output stage,
Although more complicated control is required, this control method is different from the main subject of the present invention, and the description is omitted. By using the circuit of the third embodiment and determining the size of the output buffer so as to correspond to the required data length, rectangular transfer for a large area can be completed in one transfer. .

【0025】[0025]

【発明の効果】【The invention's effect】

請求項1の効果:データバス幅のデータを保持する単一
の回転バレルシフタとバースト転送に対応する数のバッ
ファとバッファ選択回路およびアドレス指定された転送
先のデータ位置によって前記回路手段を制御する制御回
路を備えることにより、長大化するバス幅の影響による
回路の増加を少なくし、併せてビット単位のシフトにも
対応した回路の小型化を図ることができ、転送元および
転送先のアドレスがデータバスのバス幅によって決まる
転送の境界からずれているデータに対して、バースト転
送等の連続データ転送を行う際に、効率良くDMAによ
る転送を行うことができる。 請求項2の効果:請求項1の効果に加えて、バースト境
界から外れた転送先のアドレスに対するバースト転送を
可能にする。 請求項3の効果:請求項1の効果に加えて、転送先のア
ドレスがどこであろうとそれに関係なく、バースト転送
が可能な最小限のバッファでの転送が保証され連続転送
用バッファを有効活用することができる。 請求項4の効果:請求項1ないし3の効果に加えて、バ
ースト長以上のデータ転送を行う際に連続してリード又
はライトの一方を行うことが可能で、大きな範囲の矩形
転送も1回の転送で実行することができるようになり、
処理が高速になる。
According to the first aspect of the present invention, a single rotary barrel shifter for holding data of a data bus width, a number of buffers and buffer selection circuits corresponding to burst transfer, and control for controlling the circuit means by a data position of an addressed transfer destination. By providing a circuit, it is possible to reduce the increase in the number of circuits due to the effect of the bus width, which is becoming longer, and to reduce the size of the circuit corresponding to bit-by-bit shifts. When performing continuous data transfer such as burst transfer for data that deviates from the transfer boundary determined by the bus width of the bus, transfer by DMA can be performed efficiently. Effect of Claim 2: In addition to the effect of Claim 1, burst transfer to a transfer destination address outside the burst boundary is enabled. Effect of Claim 3: In addition to the effect of Claim 1, in addition to the address of the transfer destination, transfer with the minimum buffer capable of burst transfer is guaranteed regardless of the address of the transfer destination, and the continuous transfer buffer is effectively used. be able to. Effect of Claim 4: In addition to the effects of Claims 1 to 3, one of read and write can be performed continuously when transferring data longer than the burst length, and rectangular transfer of a large range is performed once. Can be performed with the transfer of
Processing speeds up.

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

【図1】本発明によるDMA回路の実施形態の一例を示
すブロック図である。
FIG. 1 is a block diagram illustrating an example of an embodiment of a DMA circuit according to the present invention.

【図2】図1のシフタと連続転送用バッファの詳細な回
路構成を示す図である。
FIG. 2 is a diagram showing a detailed circuit configuration of a shifter and a continuous transfer buffer of FIG. 1;

【図3】図2の連続転送用バッファの構成例で、EN付
きDFFを使用した例を示す図である。
FIG. 3 is a diagram illustrating an example of a configuration of the continuous transfer buffer of FIG. 2 using a DFF with EN.

【図4】本発明によるDMA回路の実施形態に用いるレ
ジスタ及びレジスタに関する仕様を示す図(その1)で
ある。
FIG. 4 is a diagram (part 1) showing a register used in an embodiment of the DMA circuit according to the present invention and specifications relating to the register;

【図5】本発明によるDMA回路の実施形態に用いるレ
ジスタ及びレジスタに関する仕様を示す図(その2)で
ある。
FIG. 5 is a diagram (part 2) showing a register used in the embodiment of the DMA circuit according to the present invention and specifications relating to the register;

【図6】本発明の実施形態の回路における動作タイミン
グチャートである。
FIG. 6 is an operation timing chart of the circuit according to the embodiment of the present invention.

【図7】SDRAMから入力バッファへデータを読み込
むための制御動作を示すフローチャートである。
FIG. 7 is a flowchart showing a control operation for reading data from an SDRAM to an input buffer.

【図8】本発明の実施例1の連続転送用バッファへの書
き込み信号の制御方法示すフローチャートである。
FIG. 8 is a flowchart illustrating a method for controlling a write signal to a continuous transfer buffer according to the first embodiment of the present invention.

【図9】本発明の実施例1の右シフト時の動作状態の遷
移を示す図である。
FIG. 9 is a diagram illustrating a transition of an operation state at the time of a right shift according to the first embodiment of the present invention.

【図10】図9の動作に対応するWEの作り方を説明す
るための図である。
FIG. 10 is a diagram for explaining how to create a WE corresponding to the operation in FIG. 9;

【図11】本発明の実施例1の左シフト時の動作状態の
遷移を示す図である。
FIG. 11 is a diagram illustrating a transition of an operation state at the time of a left shift according to the first embodiment of the present invention.

【図12】図10の動作に対応するWEの作り方を説明
するための図である。
FIG. 12 is a diagram for explaining how to create a WE corresponding to the operation in FIG. 10;

【図13】図10,図12の連続転送用バッファのWE
の作成回路の概略を示す図である。
FIG. 13 shows the WE of the continuous transfer buffer shown in FIGS. 10 and 12;
FIG. 3 is a diagram schematically showing a circuit for generating the data.

【図14】本発明の実施例の回路のデータライト部のフ
ローチャート(その1)である。
FIG. 14 is a flowchart (part 1) of a data write unit of the circuit according to the embodiment of the present invention.

【図15】本発明の実施例の回路のデータライト部のフ
ローチャート(その2)である。
FIG. 15 is a flowchart (part 2) of the data write section of the circuit according to the embodiment of the present invention.

【図16】本発明の実施例2の回路の連続転送用バッフ
ァコントロール部のフローチャートである。
FIG. 16 is a flowchart of a continuous transfer buffer control unit of the circuit according to the second embodiment of the present invention.

【図17】本発明の実施例2の回路のデータライト部の
フローチャート(その1)である。
FIG. 17 is a flowchart (part 1) of the data write unit of the circuit according to the second embodiment of the present invention.

【図18】本発明の実施例2の回路のデータライト部の
フローチャート(その2)である。
FIG. 18 is a flowchart (part 2) of the data write unit of the circuit according to the second embodiment of the present invention.

【図19】連続転送用バッファを8段とした本発明の実
施例3を示す図である。
FIG. 19 is a diagram showing a third embodiment of the present invention in which the number of continuous transfer buffers is eight.

【図20】本発明の実施例3の回路の連続転送用バッフ
ァコントロール部のフローチャートである。
FIG. 20 is a flowchart of a continuous transfer buffer control unit of the circuit according to the third embodiment of the present invention.

【図21】本発明の実施例3の回路のデータライト部の
フローチャート(その1)である。
FIG. 21 is a flowchart (part 1) of a data write unit of the circuit according to the third embodiment of the present invention.

【図22】本発明の実施例3の回路のデータライト部の
フローチャート(その2)である。
FIG. 22 is a flowchart (part 2) of the data write unit of the circuit according to the third embodiment of the present invention.

【図23】本発明の実施例3(図19)の回路における
動作タイミングチャート(その1)である。
FIG. 23 is an operation timing chart (part 1) of the circuit according to the third embodiment (FIG. 19) of the present invention;

【図24】本発明の実施例3(図19)の回路における
動作タイミングチャート(その2)である。
FIG. 24 is an operation timing chart (2) of the circuit according to the third embodiment (FIG. 19) of the present invention.

【図25】従来のシフタ回路の1例を示すブロック図で
ある。
FIG. 25 is a block diagram showing an example of a conventional shifter circuit.

【図26】図25のシフタ回路による左シフト動作を説
明する状態遷移図である。
26 is a state transition diagram illustrating a left shift operation by the shifter circuit of FIG. 25.

【図27】図25のシフタ回路による右シフト動作を説
明する状態遷移図である。
FIG. 27 is a state transition diagram illustrating a right shift operation by the shifter circuit of FIG. 25.

【図28】従来のシフタ回路の他の例を示すブロック図
である。
FIG. 28 is a block diagram showing another example of a conventional shifter circuit.

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

1…入力バッファ、2,2′0,2′1…回転バレルシフ
タ、1′0〜1′3,3,7…バッファ、30〜37…連続
転送用バッファ、4,40〜43,4′,4″,5…セレ
クタ、60〜63…出力段バッファ。
1 ... input buffer, 2,2 '0, 2' 1 ... rotating barrel shifter, 1 '0-1' 3, 3,7 ... buffer, 3 0-3 7 ... continuous transfer buffer, 4,4 0-4 3 , 4 ', 4 ", 5 ... selector, 6 0-6 3 ... output stage buffer.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 所定のデータバス幅で送られるデータを
所定アドレスの転送先に連続して送るためのDMA回路
において、入力されるデータを所定バス幅で保持し、保
持したデータを転送先アドレスが指定可能なデータ単位
でシフトする単一の回転バレルシフタと、該回転バレル
シフタの出力データが順次書き込まれ、格納された前記
バス幅のデータをバースト転送方式により連続転送する
ために用意される所定数の転送用バッファと、転送用デ
ータを格納する前記所定数の転送用バッファから選択し
たバッファのデータ出力を行う転送用バッファ選択回路
と、DMAによるデータ転送の制御を行う制御回路を備
え、該制御回路は、アドレス指定された転送先データ位
置によって前記回転バレルシフタ、前記転送用バッファ
及び転送用バッファ選択回路の動作を制御するようにし
たことを特徴とするDMA回路。
1. A DMA circuit for continuously transmitting data transmitted with a predetermined data bus width to a transfer destination of a predetermined address, holding input data with a predetermined bus width, and storing the held data in a transfer destination address. Is a single rotating barrel shifter that shifts by a data unit that can be specified, and a predetermined number prepared for sequentially writing output data of the rotating barrel shifter and continuously transferring the stored data of the bus width by a burst transfer method. Transfer buffer, a transfer buffer selecting circuit for outputting data of a buffer selected from the predetermined number of transfer buffers for storing transfer data, and a control circuit for controlling data transfer by DMA. A circuit includes: the rotary barrel shifter; the transfer buffer; and a transfer buffer according to an addressed transfer destination data position. A DMA circuit, wherein the operation of a selection circuit is controlled.
【請求項2】 前記制御回路は、前記回転バレルシフタ
によるシフト後のデータ位置とアドレス指定された転送
先のデータ位置とが、バス幅の単位で一致するように前
記動作制御を行うように構成されたことを特徴とする請
求項1記載のDMA回路。
2. The control circuit according to claim 1, wherein the control circuit controls the operation such that a data position after the shift by the rotary barrel shifter and a data position of an addressed transfer destination coincide in a unit of a bus width. 2. The DMA circuit according to claim 1, wherein:
【請求項3】 前記制御回路は、所定のバス幅で入力さ
れるデータ中の有効データのデータ位置を前記所定数の
転送用バッファの先頭のバッファに転送データとして格
納するように前記動作制御を行うように構成されたこと
を特徴とする請求項1記載のDMA回路。
3. The operation control according to claim 1, wherein the control circuit stores the data position of valid data in the data input with a predetermined bus width as transfer data in a first buffer of the predetermined number of transfer buffers. 2. The DMA circuit according to claim 1, wherein the DMA circuit is configured to perform the operation.
【請求項4】 所定数の前記転送用バッファを複数のバ
ースト転送分用意し、前記制御手段は、一方のバースト
転送分をリードとし、他方のバースト転送分をライトと
して動作させるようにしたことを特徴とする請求項1な
いし3のいずれかに記載のDMA回路。
4. A method according to claim 1, wherein a predetermined number of said transfer buffers are prepared for a plurality of burst transfers, and said control means operates one of the burst transfers as a read and the other as a write. 4. The DMA circuit according to claim 1, wherein
JP9005969A 1997-01-17 1997-01-17 Dma circuit Pending JPH10207823A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9005969A JPH10207823A (en) 1997-01-17 1997-01-17 Dma circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9005969A JPH10207823A (en) 1997-01-17 1997-01-17 Dma circuit

Publications (1)

Publication Number Publication Date
JPH10207823A true JPH10207823A (en) 1998-08-07

Family

ID=11625703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9005969A Pending JPH10207823A (en) 1997-01-17 1997-01-17 Dma circuit

Country Status (1)

Country Link
JP (1) JPH10207823A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030072525A (en) * 2002-03-04 2003-09-15 주식회사 엘지이아이 Direct memory access control apparatus and control method therof
JP2007249564A (en) * 2006-03-15 2007-09-27 Ricoh Co Ltd Image processor and image processing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030072525A (en) * 2002-03-04 2003-09-15 주식회사 엘지이아이 Direct memory access control apparatus and control method therof
JP2007249564A (en) * 2006-03-15 2007-09-27 Ricoh Co Ltd Image processor and image processing method

Similar Documents

Publication Publication Date Title
USRE36052E (en) Data processor with bus-sizing function
JP3841442B2 (en) Method and system for storing and processing multiple memory addresses
US5386385A (en) Method and apparatus for preventing invalid operating modes and an application to synchronous memory devices
JP2646854B2 (en) Microprocessor
US6789179B2 (en) Method and system for fast data access using a memory array
US6366992B2 (en) Method and system for bypassing pipelines in a pipelined memory command generator
KR20070107163A (en) Memory device and method having multiple internal data buses and memory bank interleaving
JPH0612863A (en) Dual port dram
JPH11203860A (en) Semiconductor memory device
JPH05265922A (en) Direct memory access controller
US6545942B2 (en) Semiconductor memory device and information processing unit
JPS6041769B2 (en) Addressing method
JP4266436B2 (en) Semiconductor memory device
JPH10207823A (en) Dma circuit
US20020188771A1 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
JP4549073B2 (en) Memory control circuit
JP2638484B2 (en) Data processing device
JP3520570B2 (en) Memory access control device
JP2009217310A (en) Memory access method and memory access device
JPH04106793A (en) Memory interface circuit
KR100190013B1 (en) Memory device
JPH10222460A (en) Data transfer controller
JP2003015952A (en) Data write circuit
JPH0743668B2 (en) Access control device
JPH04225453A (en) Data processor