JP2002215563A - Dma controller - Google Patents

Dma controller

Info

Publication number
JP2002215563A
JP2002215563A JP2001012033A JP2001012033A JP2002215563A JP 2002215563 A JP2002215563 A JP 2002215563A JP 2001012033 A JP2001012033 A JP 2001012033A JP 2001012033 A JP2001012033 A JP 2001012033A JP 2002215563 A JP2002215563 A JP 2002215563A
Authority
JP
Japan
Prior art keywords
data
address
stored
transfer
address value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001012033A
Other languages
Japanese (ja)
Inventor
Kenji Imamura
健二 今村
Hidetoshi Kuramoto
秀俊 藏本
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2001012033A priority Critical patent/JP2002215563A/en
Publication of JP2002215563A publication Critical patent/JP2002215563A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a DMA controller which is small in circuit scale and easily makes data transfer fast. SOLUTION: In a transfer-source device 20, a master read control part 11 inputs pieces of data stored in successive addresses areas following a 1st address at a burst and the data are stored in a buffer memory 13. The data stored in the buffer memory 13 are read by a buffer control part 12 in order according to the 1st address value of the transfer-source device 20 and the 2nd address value of a transfer-destination device 30, and a master write control part 14 outputs them at a burst to the successive address areas of the transfer- destination device 30 following the 2nd address value. When the 1st address value and 2nd address value are different, a buffer control part 12 rearranges the data according to the 1st address value and 2nd address value after they are read out of the buffer memory 13.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、転送元入出力装置
のデータを転送先入出力装置に転送する制御を行うDM
A制御装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DM for controlling the transfer of data from a source input / output device to a destination input / output device.
It relates to the A control device.

【0002】[0002]

【従来の技術】一般に情報処理システムは、複数のデバ
イスから構成されており、各々のデバイスの間でデータ
の転送を行い、このデータ転送を行いつつ目的の処置を
行う。例えば、情報処理システムの一例としてプリンタ
コントロールシステムを考えると、このシステムは、種
々の制御・演算を行うCPU(Central Processing Uni
t)、印刷すべき画像データ等を記憶するハードディス
ク、画像データを圧縮する圧縮器、画像データ等を一時
的に記憶するシステムメモリ、画像データに基づいて画
像を用紙上に印刷するプリンタエンジン、等のデバイス
を有しており、これらのデバイスの間で画像データの転
送を行う。
2. Description of the Related Art Generally, an information processing system is composed of a plurality of devices. Data is transferred between each device, and a target process is performed while performing the data transfer. For example, considering a printer control system as an example of an information processing system, this system has a CPU (Central Processing Uniform) that performs various controls and calculations.
t), a hard disk for storing image data to be printed, a compressor for compressing image data, a system memory for temporarily storing image data, etc., a printer engine for printing an image on paper based on image data, etc. And transfers image data between these devices.

【0003】このような情報処理システムにおける処理
の高速化が求められており、特に、デバイス間のデータ
転送の高速化が求められている。デバイス間のデータ転
送の高速化を図る技術としてDMA(Direct Memory Ac
cess)転送技術が知られている。DMA転送技術は、C
PUを介することなく転送元デバイスのデータを転送先
デバイスへ転送するものである。また、転送元デバイス
の連続する各アドレスに格納されているデータ列の読み
出し、および、転送先デバイスの連続する各アドレスへ
のデータ列の書き込みを、バーストサイクルで行うこと
によっても、デバイス間のデータ転送の高速化が図られ
る。
There is a demand for faster processing in such an information processing system, and in particular, a faster data transfer between devices. DMA (Direct Memory Ac) is a technology to speed up data transfer between devices.
cess) Transfer techniques are known. DMA transfer technology uses C
This is to transfer the data of the transfer source device to the transfer destination device without passing through the PU. Further, by reading a data string stored at each successive address of the transfer source device and writing a data string to each successive address of the transfer destination device in a burst cycle, data between the devices can be obtained. Transfer speed is improved.

【0004】例えば、特開平10−254817号公報
は、転送元デバイスのデータを転送先デバイスへバース
トサイクルでDMA転送するDMA転送制御システムを
開示している。特に、この公報は、転送元デバイスにお
いて読み出すべきデータ列が記憶されているアドレス領
域の先頭アドレス値を第1アドレス値とし、転送先デバ
イスにおいてデータ列を書き込むべきアドレス領域の先
頭アドレス値を第2アドレス値としたときに、第1アド
レズ値と第2アドレス値とが相違する場合におけるバー
ストサイクルによるDMA転送の技術(データ並び替え
技術)について開示している。なお、ここでの第1アド
レズ値と第2アドレス値との相違とは、データバスのビ
ット幅に基づく相違を意味する。例えば、データバスが
32ビット(4バイト分)であれば、第1アドレズ値と
第2アドレス値とは、下位2ビットが比較されて相違の
有無が判断される。
For example, Japanese Patent Laying-Open No. 10-254817 discloses a DMA transfer control system for performing DMA transfer of data of a transfer source device to a transfer destination device in a burst cycle. In particular, this publication discloses that a first address value of an address area storing a data string to be read in a transfer source device is a first address value, and a first address value of an address area to which a data string is to be written in a transfer destination device is a second address value. A technique (data rearranging technique) of a DMA transfer by a burst cycle when the first address value differs from the second address value when the address value is used is disclosed. Here, the difference between the first address value and the second address value means a difference based on the bit width of the data bus. For example, if the data bus is 32 bits (4 bytes), the lower two bits are compared between the first address value and the second address value to determine whether there is a difference.

【0005】図9は、上記公報に開示された従来のDM
A制御装置におけるデータ並び替え手段の概略構成図で
ある。このDMA制御装置は、転送元デバイスから入力
した32ビット(4バイト)のデータを並び替える4to
4のマルチプレクサMUX1、このマルチプレクサMU
X1により並び替えられたデータを保持する各々8ビッ
トのフリップフロップFFmn(m=1〜M、N=1〜
4)、および、これらフリップフロップFFのうち何れ
か4つのフリップフロップから出力された4バイトのデ
ータを並び替えて転送先デバイスへ出力する4to4のマ
ルチプレクサMUX2を備えている。また、図示はして
いないが、このDMA制御装置は、前段のマルチプレク
サMUX1より出力された4バイトのデータを格納すべ
きフリップフロップFFを選択する為の回路、および、
後段のマルチプレクサMUX2に入力させるべき4バイ
トのデータを出力させるフリップフロップFFを選択す
る為の回路をも備えている。
FIG. 9 shows a conventional DM disclosed in the above publication.
FIG. 3 is a schematic configuration diagram of a data rearranging unit in the A control device. This DMA control device rearranges 32 bits (4 bytes) of data input from a transfer source device.
4 multiplexer MUX1, this multiplexer MU
An 8-bit flip-flop FF mn (m = 1 to M, N = 1 to 8) holding data rearranged by X1
4) and a 4-to-4 multiplexer MUX2 for rearranging the 4-byte data output from any four of the flip-flops FF and outputting the rearranged data to the transfer destination device. Although not shown, the DMA control device includes a circuit for selecting a flip-flop FF to store the 4-byte data output from the multiplexer MUX1 at the preceding stage, and
There is also provided a circuit for selecting a flip-flop FF for outputting 4-byte data to be input to the multiplexer MUX2 at the subsequent stage.

【0006】そして、これらの選択回路による制御の下
に、この従来のDMA制御装置は、例えば以下のように
動作する。ここでは、転送元デバイスにおいて読み出す
べきデータ列が記憶されているアドレス領域の先頭アド
レス値(第1アドレス値)の下位2ビットを「01」と
する。また、転送先デバイスにおいてデータ列を書き込
むべきアドレス領域の先頭アドレス値(第2アドレス
値)の下位2ビットを「11」とする。
[0006] Under the control of these selection circuits, this conventional DMA controller operates, for example, as follows. Here, the lower two bits of the first address value (first address value) of the address area storing the data sequence to be read in the transfer source device are set to “01”. The lower two bits of the first address value (second address value) of the address area where the data string is to be written in the transfer destination device are set to “11”.

【0007】このとき、初めに、第1アドレス値から3
バイト分の第1〜第3のデータが、転送元デバイスから
DMA制御装置へ送られ、前段のマルチプレクサMUX
1により並べ替えられて、そのうちの第1のデータがフ
リップフロップFF11に格納され、第2のデータがフリ
ップフロップFF12に格納され、第3のデータがフリッ
プフロップFF13に格納される。続いて、4バイト分の
第4〜第7のデータが、転送元デバイスからDMA制御
装置へ送られ、前段のマルチプレクサMUX1により並
べ替えられて、そのうちの第4のデータがフリップフロ
ップFF14に格納され、第5のデータがフリップフロッ
プFF21に格納され、第6のデータがフリップフロップ
FF22に格納され、第7のデータがフリップフロップF
23に格納される。以降も同様である。
At this time, first, 3
The first to third bytes of data are sent from the transfer source device to the DMA controller, and the multiplexer MUX in the preceding stage is sent.
1 by sorted, the first data of which is stored in the flip-flop FF 11, the second data is stored in the flip-flop FF 12, are stored third data to the flip-flop FF 13. Subsequently, stores 4 bytes of the fourth to seventh data is sent from the transfer source device to the DMA controller, sorted by the preceding stage of the multiplexer MUX1, the fourth data of which the flip-flop FF 14 is, the fifth data is stored in the flip-flop FF 21, the data of the sixth is stored in the flip-flop FF 22, the seventh data flip-flop F of the
It is stored in the F 23. The same applies to the following.

【0008】一方、各フリップフロップに格納されたデ
ータは、以下のようにして転送先デバイスへ送られてい
く。すなわち、初めに、第2アドレス値から1バイト分
の第1のデータ(フリップフロップFF11に格納されて
いたデータ)が、後段のマルチプレクサMUX2により
並べ替えられて、転送先デバイスへ送られる。続いて、
4バイト分の第2〜第5のデータ(フリップフロップF
12〜FF14およびFF21それぞれに格納されていたデ
ータ)が、後段のマルチプレクサMUX2により並べ替
えられて、転送先デバイスへ送られる。さらに続いて、
4バイト分の第6〜第9のデータ(フリップフロップF
22〜FF24およびFF31それぞれに格納されていたデ
ータ)が、後段のマルチプレクサMUX2により並べ替
えられて、転送先デバイスへ送られる。以降も同様であ
る。
On the other hand, the data stored in each flip-flop is sent to the transfer destination device as follows. That is, in the beginning, the first one byte of data from the second address value (data stored in the flip-flop FF 11) are sorted by subsequent multiplexer MUX2, sent to the transfer destination device. continue,
Four bytes of second to fifth data (flip-flop F
F 12 to ff 14 and FF 21 data that was stored in, respectively), sorted by subsequent multiplexer MUX2, sent to the transfer destination device. Further on,
Sixth to ninth data of four bytes (flip-flop F
F 22 to ff 24 and FF 31 data that was stored in, respectively), sorted by subsequent multiplexer MUX2, sent to the transfer destination device. The same applies to the following.

【0009】[0009]

【発明が解決しようとする課題】上記従来のDMA制御
装置は、2つの4to4マルチプレクサおよび多数のフリ
ップフロップの他に、データを書き込む又は読む出すフ
リップフロップを選択するための選択回路を設ける必要
があることから、回路規模が大きくなって、高価なもの
となる。また、このDMA制御装置は、レイテンシが増
加して、データ転送の高速化が困難である。
In the above-mentioned conventional DMA controller, it is necessary to provide, in addition to the two 4-to-4 multiplexers and a large number of flip-flops, a selection circuit for selecting a flip-flop from which data is written or from which data is read. As a result, the circuit scale becomes large and expensive. In addition, this DMA control device has an increased latency, and it is difficult to speed up data transfer.

【0010】また、書き込み時に必ず決まった位置から
書き込む必要があるため、データ並び替えの対象は常に
1つのDMAブロックとなる。データ保持のFFが増加
されたとしても、読み出しがすべて終了するまで、次の
DMAブロックの書き込みは行えないので、実際に使用
されるFFは限られてしまい無駄になる。
In addition, since data must be written from a fixed position at the time of writing, data is always rearranged into one DMA block. Even if the number of FFs for holding data is increased, writing of the next DMA block cannot be performed until all readings have been completed, so that the FFs actually used are limited and wasted.

【0011】本発明は、上記問題点を解消する為になさ
れたものであり、回路規模が小さくデータ転送の高速化
が容易であるDMA制御装置を提供することを目的とす
る。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and has as its object to provide a DMA controller which has a small circuit scale and facilitates high-speed data transfer.

【0012】[0012]

【課題を解決するための手段】本発明に係るDMA制御
装置は、CPUを介さずに単一または独立したバスに接
続される入出力装置間のデータの転送を制御するダイレ
クトアクセス(DMA)装置であって、(1) 転送元入出
力装置から開始アドレス(アドレス1)とサイズとで指
定されるブロックデータを読み出し、1回または複数回
のアクセスで自身に取り込む制御を行うデータ入力手段
と、(2) データ入力手段が取り込んだデータを一時的に
保持する一時記憶手段と、(3) 転送先入出力装置に対し
て、開始アドレス(アドレス2)とサイズとで指定され
るブロックデータを一時記憶手段から読み出して1回ま
たは複数回のアクセスで出力する制御を行うデータ出力
手段と、(4) 転送元入出力装置のアドレス値と転送先入
出力装置のアドレス値とに基づいて、データ出力手段が
出力すべきデータを順次に一時記憶手段から読み出して
データ出力手段へ送るバッファ制御手段と、を備えるこ
とを特徴とする。
SUMMARY OF THE INVENTION A DMA control device according to the present invention is a direct access (DMA) device for controlling data transfer between input / output devices connected to a single or independent bus without using a CPU. (1) data input means for performing control to read block data specified by a start address (address 1) and a size from a transfer source input / output device and to take in block data by one or more accesses; (2) temporary storage means for temporarily holding data fetched by the data input means; and (3) temporary storage of block data specified by a start address (address 2) and a size in a transfer destination input / output device. Data output means for performing control to read from the means and output the data in one or more accesses; and (4) the address value of the source input / output device and the address value of the destination input / output device. Buffer control means for sequentially reading data to be output by the data output means from the temporary storage means and sending the data to the data output means based on the data.

【0013】このDMA制御装置によれば、転送元入出
力装置において開始アドレス値以降の連続するアドレス
領域に記憶されている各データは、データ入力手段によ
り入力され、一時記憶手段に格納される。そして、一時
記憶手段に格納された各データは、転送元入出力装置に
おける開始アドレス値と転送先入出力装置における開始
アドレス値とに基づいて、バッファ制御手段により順次
に読み出されてデータ出力手段へ送られ、このデータ出
力手段により、転送先入出力装置における開始アドレス
値以降の連続するアドレス領域に対して出力される。転
送元および転送先それぞれのアドレスが相違する場合に
はデータの並び替えが必要になるが、本発明に係るDM
A制御装置では、バッファ制御手段により、両アドレス
値に基づいて一時記憶手段からデータが読み出されると
同時にデータの並び替えが行われる。
According to this DMA control device, each data stored in a continuous address area after the start address value in the transfer source input / output device is input by the data input means and stored in the temporary storage means. Each data stored in the temporary storage means is sequentially read out by the buffer control means based on the start address value in the transfer source input / output device and the start address value in the transfer destination input / output device, and is read out to the data output means. The data is output by the data output means to a continuous address area after the start address value in the transfer destination input / output device. If the addresses of the transfer source and the transfer destination are different, it is necessary to rearrange the data.
In the A control device, the buffer control unit reads the data from the temporary storage unit based on the two address values, and at the same time, rearranges the data.

【0014】また、本発明に係るDMA制御装置では、
一時記憶手段は、複数の単位バッファを含み、アドレス
差異が異なる2つ以上のDMAブロックを連続して扱う
のが好適である。単位バッファは、転送すべきデータと
属性情報とを含み、属性情報は、転送元の開始アドレス
のうち単位バッファのバイト数を表現するのに充分なビ
ット数のアドレスと、単位バッファに格納された有効バ
イト数と、ブロックの開始を示す開始ブロックビット
と、ブロックの終了を示す終了アドレスビットとを有す
るのが好適である。
Further, in the DMA control device according to the present invention,
It is preferable that the temporary storage means includes a plurality of unit buffers and sequentially handles two or more DMA blocks having different address differences. The unit buffer includes data to be transferred and attribute information, and the attribute information is stored in the unit buffer with an address having a sufficient number of bits to represent the number of bytes of the unit buffer among the start addresses of the transfer source. Preferably, it has a valid number of bytes, a start block bit indicating the start of the block, and an end address bit indicating the end of the block.

【0015】また、本発明に係るDMA制御装置では、
一時記憶手段の読み出しに使用するアドレスは、転送先
入出力装置に出力すべきアドレスを、転送元入出力装置
のアドレス値と転送先入出力装置のアドレス値との差異
に基づいて変換して生成するのが好適である。一時記憶
手段は、転送先または転送元のデータ幅nと同数のn個
のRAMを含むのが好適である。一時記憶手段は、n個
のRAMそれぞれに対して、データ出力手段からの読み
出し時には、転送元および転送先それぞれの開始アドレ
スの差異から計算されるシフト量に応じてn個のバイト
を2つの領域に分割し、変換後のアドレスまたは変換後
のアドレスから1差し引いたアドレスを与えるのが好適
である。転送先の都合でサイクルが中断された場合に
は、シフト量と転送先に対する開始アドレスからの差分
アドレスとを使用し、再開後の一時記憶手段に対するア
ドレス変換を行うのが好適である。
Further, in the DMA control device according to the present invention,
The address used for reading the temporary storage means is generated by converting an address to be output to the destination input / output device based on a difference between the address value of the source input / output device and the address value of the destination input / output device. Is preferred. The temporary storage means preferably includes n RAMs of the same number as the data width n of the transfer destination or transfer source. The temporary storage means stores the n bytes into two areas according to the shift amount calculated from the difference between the start addresses of the transfer source and the transfer destination when reading from the data output means for each of the n RAMs. It is preferable to give the converted address or an address obtained by subtracting 1 from the converted address. When the cycle is interrupted due to the transfer destination, it is preferable to use the shift amount and the difference address from the start address for the transfer destination to perform the address conversion for the temporary storage unit after the restart.

【0016】[0016]

【発明の実施の形態】以下、添付図面を参照して本発明
の実施の形態を詳細に説明する。なお、図面の説明にお
いて同一の要素には同一の符号を付し、重複する説明を
省略する。
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In the description of the drawings, the same elements will be denoted by the same reference symbols, without redundant description.

【0017】図1は、本実施形態に係るDMA制御装置
10の構成を示すブロック図である。この図には、DM
A制御装置10の他に、転送元デバイス20、転送先デ
バイス30およびCPU40も示されている。DMA制
御装置10は、第1バス50を介して転送元デバイス2
0と接続されており、第2バス60を介して転送先デバ
イス30と接続されており、CPUバス70を介してC
PU40と接続されている。第1バス50、第2バス6
0およびCPUバス70それぞれは、アドレス信号を送
るアドレス線、データ信号を送るデータ線、および、各
種制御信号を送る制御信号線を含む。DMA制御装置1
0は、マスタリード制御部11、バッファ制御部12、
バッファメモリ13、マスタライト制御部14、レジス
タ15およびレジスタ制御部16を備える。
FIG. 1 is a block diagram showing a configuration of a DMA control device 10 according to the present embodiment. In this figure, DM
In addition to the A control device 10, a transfer source device 20, a transfer destination device 30, and a CPU 40 are also shown. The DMA controller 10 communicates with the transfer source device 2 via the first bus 50.
0, is connected to the transfer destination device 30 via the second bus 60, and is connected to the C
It is connected to PU40. First bus 50, second bus 6
0 and the CPU bus 70 each include an address line for transmitting an address signal, a data line for transmitting a data signal, and a control signal line for transmitting various control signals. DMA controller 1
0 is the master read control unit 11, the buffer control unit 12,
It includes a buffer memory 13, a master write control unit 14, a register 15, and a register control unit 16.

【0018】マスタリード制御部11は、自らマスタと
なって、第1バス50の使用権の獲得を要求する旨を示
すバス使用要求信号を出力し、第1バス50の使用が許
可された旨を示すバス使用許可信号を入力する。その後
に、マスタリード制御部11は、転送元デバイス20に
おいて読み出すべきデータ列が記憶されているアドレス
領域の先頭アドレス値(第1アドレス値)、および、読
み出すべきデータのサイズを、第1バス50を介して、
ターゲットである転送元デバイス20に対して送信す
る。そして、マスタリード制御部(データ入力手段)1
1は、転送元デバイス20において第1アドレス値以降
の連続するアドレス領域に記憶されている各データを、
第1バス50を介してバースト入力して、バッファ制御
部12へ送る。
The master read control unit 11 itself becomes a master and outputs a bus use request signal indicating that a request to acquire the right to use the first bus 50 is issued, indicating that the use of the first bus 50 has been permitted. Is input. After that, the master read control unit 11 determines the first address value (first address value) of the address area where the data sequence to be read in the transfer source device 20 is stored, and the size of the data to be read, on the first bus 50. Through
It transmits to the transfer source device 20 which is the target. Then, a master read control unit (data input means) 1
1 represents each data stored in a continuous address area after the first address value in the transfer source device 20,
A burst is input via the first bus 50 and sent to the buffer control unit 12.

【0019】バッファ制御部12は、マスタリード制御
部11より送られてきたデータをバッファメモリ13に
格納するとともに、バッファメモリ13に格納されてい
るデータを読み出してマスタライト制御部14へ送る。
バッファメモリ13は、バッファ制御部12によりデー
タが書き込まれ又は読み出される。なお、バッファ制御
部12およびバッファメモリ13それぞれの詳細につい
ては後述する。
The buffer control unit 12 stores the data sent from the master read control unit 11 in the buffer memory 13, reads the data stored in the buffer memory 13 and sends the data to the master write control unit 14.
Data is written to or read from the buffer memory 13 by the buffer control unit 12. The details of the buffer control unit 12 and the buffer memory 13 will be described later.

【0020】マスタライト制御部14は、自らマスタと
なって、第2バス60の使用権の獲得を要求する旨を示
すバス使用要求信号を出力し、第2バス60の使用が許
可された旨を示すバス使用許可信号を入力する。その後
に、マスタライト制御部14は、転送先デバイス30に
おいてデータ列を書き込むべきアドレス領域の先頭アド
レス値(第2アドレス値)、および、書き込むべきデー
タのサイズを、第2バス60を介して、ターゲットであ
る転送先デバイス30に対して送信する。そして、マス
タライト制御部(データ出力手段)14は、転送先デバ
イス30における第2アドレス値以降の連続するアドレ
ス領域に対して、バッファメモリ13に格納された各デ
ータを、第2バス60を介してバースト出力する。
The master write control unit 14 itself becomes a master and outputs a bus use request signal indicating a request to acquire the right to use the second bus 60, indicating that the use of the second bus 60 has been permitted. Is input. After that, the master write control unit 14 determines, via the second bus 60, the start address value (second address value) of the address area where the data string is to be written in the transfer destination device 30 and the size of the data to be written. It transmits to the transfer destination device 30 which is the target. Then, the master write control unit (data output unit) 14 transfers each data stored in the buffer memory 13 to the continuous address area after the second address value in the transfer destination device 30 via the second bus 60. Output burst.

【0021】レジスタ15は、上述した第1アドレス
値、第2アドレス値およびデータサイズを記憶する。マ
スタリード制御部11、バッファ制御部12およびマス
タライト制御部14それぞれは、このレジスタ15に記
憶されている上記各パラメータに基づいて動作する。レ
ジスタ制御部16は、CPUバス70を介してCPU4
0と接続されており、第1アドレス値、第2アドレス値
およびデータサイズをCPU30より受け取ってレジス
タ15に格納する。
The register 15 stores the first address value, the second address value, and the data size described above. Each of the master read control unit 11, the buffer control unit 12, and the master write control unit 14 operates based on the parameters stored in the register 15. The register control unit 16 controls the CPU 4 via the CPU bus 70.
It is connected to 0 and receives the first address value, the second address value and the data size from the CPU 30 and stores them in the register 15.

【0022】図2は、本実施形態に係るDMA制御装置
10のバッファメモリ13の構成を示す図である。バッ
ファメモリ13は8つのブロックを含む。各ブロックに
は、転送元デバイス20よりバースト入力して格納した
データ列、ならびに、そのデータ列の先頭アドレス値お
よびデータサイズが格納される。また、図3は、本実施
形態に係るDMA制御装置10のバッファメモリ13の
各ブロックにおけるデータ格納部の構成を示す図であ
る。各ブロックにおけるデータ格納部は、8ビットRA
Mが配列されて構成されている。
FIG. 2 is a diagram showing a configuration of the buffer memory 13 of the DMA control device 10 according to the present embodiment. Buffer memory 13 includes eight blocks. Each block stores a data string burst-inputted from the transfer source device 20 and stored, and a head address value and a data size of the data string. FIG. 3 is a diagram illustrating a configuration of a data storage unit in each block of the buffer memory 13 of the DMA control device 10 according to the present embodiment. The data storage unit in each block is an 8-bit RA
M are arranged.

【0023】以下では、第1バス50および第2バス6
0それぞれが32本(4バイト分)データ線DATA 0〜31
を有するとする。1回のバーストで転送元デバイス20
よりDMA制御装置10へ転送し得るデータの最大サイ
ズが256バイトであり、各ブロックにおけるデータ列
を格納する領域のサイズが256バイトであるとする。
このとき、図3に示すように、各ブロックにおけるデー
タ格納部は、4×64個の各々8ビットのRAM
m,n(m=1〜64、N=1〜4)が配列されたもので
ある。
In the following, the first bus 50 and the second bus 6
0 each 32 data lines (4 bytes) DATA 0-31
It is assumed that Source device 20 in one burst
It is assumed that the maximum size of data that can be transferred to the DMA controller 10 is 256 bytes, and the size of an area for storing a data string in each block is 256 bytes.
At this time, as shown in FIG. 3, the data storage unit in each block is composed of 4 × 64 8 bit RAMs each.
m, n (m = 1 to 64, N = 1 to 4) are arranged.

【0024】また、第1アドレス値が16進表記で10
001hであり、転送元デバイス20から読み出すべき
全データのサイズが1024バイトであるとする。転送
元デバイス20において第1アドレス値「10001
h」以降の連続するアドレス領域に順に記憶されていた
1024バイトのデータをD0〜D1023と表す。
The first address value is 10 in hexadecimal notation.
001h, and the size of all data to be read from the transfer source device 20 is 1024 bytes. In the transfer source device 20, the first address value "10001"
h "subsequent to consecutive address area 1024 bytes of data stored in the order represented as D 0 to D 1023.

【0025】このとき、第1ブロックでは、図2に示す
ように、最初のバースト転送に対応して、先頭アドレス
値として第1アドレス値「10001h」が格納され、
データサイズとして「255」が格納され、データ列と
してD0〜D254が格納される。このバースト転送では、
初めに3バイトのデータD0〜D2がDMA制御装置10
へ転送されてきて、図4に示すように、データD0がR
AM1,2に格納され、データD1がRAM1,3に格納さ
れ、データD2がRAM1,4に格納される。続いて4バイ
トのデータD3〜D6がDMA制御装置10へ転送されて
きて、データD3がRAM2,1に格納され、データD4
RAM2,2に格納され、データD5がRAM2, 3に格納さ
れ、データD6がRAM2,4に格納される。以下同様にし
て各データが各RAMに格納されていき、データD251
がRAM64,1に格納され、データD252がRAM64,2
格納され、データD253がRAM64,3に格納され、デー
タD254がRAM64,4に格納される。
At this time, in the first block, as shown in FIG.
The first address corresponding to the first burst transfer
The first address value "10001h" is stored as the value,
“255” is stored as the data size, and the data string
And D0~ D254Is stored. In this burst transfer,
First 3 bytes of data D0~ DTwoIs the DMA controller 10
To the data D as shown in FIG.0Is R
AM1,2And the data D1Is RAM1,3Stored in
And data DTwoIs RAM1,4Is stored in Then 4 buy
Data DThree~ D6Is transferred to the DMA controller 10
Come, data DThreeIs RAM2,1And the data DFourBut
RAM2,2And the data DFiveIs RAM2, ThreeStored in
And data D6Is RAM2,4Is stored in And so on
Each data is stored in each RAM, and the data D251
Is RAM64,1And the data D252Is RAM64,2To
Stored and data D253Is RAM64,3Stored in the
TA D254Is RAM64,4Is stored in

【0026】第2ブロックでは、図2に示すように、2
回目のバースト転送に対応して、先頭アドレス値として
「10100h」が格納され、データサイズとして「2
56」が格納され、データ列としてD255〜D510が格納
される。このバースト転送では、初めに4バイトのデー
タD255〜D258がDMA制御装置10へ転送されてき
て、図5に示すように、データD255がRAM1,1に格納
され、データD256がRAM1,2に格納され、データD
257がRAM1,3に格納され、データD258がRAM 1,4
格納される。続いて4バイトのデータD259〜D262がD
MA制御装置10へ転送されてきて、データD259がR
AM2,1に格納され、データD260がRAM2 ,2に格納さ
れ、データD261がRAM2,3に格納され、データD262
がRAM2,4に格納される。以下同様にして各データが
各RAMに格納されていき、データD50 7がRAM64,1
に格納され、データD508がRAM64,2に格納され、デ
ータD509がRAM64,3に格納され、データD510がRA
64,4に格納される。
In the second block, as shown in FIG.
As the first address value corresponding to the second burst transfer
“10100h” is stored, and “2” is set as the data size.
56 "is stored, and D255~ D510Is stored
Is done. In this burst transfer, four bytes of data are first
TA D255~ D258Is transferred to the DMA controller 10.
As shown in FIG.255Is RAM1,1Stored in
And data D256Is RAM1,2And the data D
257Is RAM1,3And the data D258Is RAM 1,4To
Is stored. Then, 4-byte data D259~ D262Is D
The data D transferred to the MA controller 10259Is R
AM2,1And the data D260Is RAMTwo , 2Stored in
And data D261Is RAM2,3And the data D262
Is RAM2,4Is stored in In the same way, each data
Stored in each RAM, data D50 7Is RAM64,1
And the data D508Is RAM64,2Stored in
Data D509Is RAM64,3And the data D510Is RA
M64,4Is stored in

【0027】第3ブロックでは、図2に示すように、3
回目のバースト転送に対応して、先頭アドレス値として
「10200h」が格納され、データサイズとして「2
56」が格納され、データ列としてD511〜D766が格納
される。このバースト転送では、初めに4バイトのデー
タD511〜D514がDMA制御装置10へ転送されてき
て、図6に示すように、データD511がRAM1,1に格納
され、データD512がRAM1,2に格納され、データD
513がRAM1,3に格納され、データD514がRAM 1,4
格納される。続いて4バイトのデータD515〜D518がD
MA制御装置10へ転送されてきて、データD515がR
AM2,1に格納され、データD516がRAM2 ,2に格納さ
れ、データD517がRAM2,3に格納され、データD518
がRAM2,4に格納される。以下同様にして各データが
各RAMに格納されていき、データD76 3がRAM64,1
に格納され、データD764がRAM64,2に格納され、デ
ータD765がRAM64,3に格納され、データD766がRA
64,4に格納される。
In the third block, as shown in FIG.
As the first address value corresponding to the second burst transfer
“10200h” is stored, and the data size is “2”.
56 "is stored, and D511~ D766Is stored
Is done. In this burst transfer, four bytes of data are first
TA D511~ D514Is transferred to the DMA controller 10.
Thus, as shown in FIG.511Is RAM1,1Stored in
And data D512Is RAM1,2And the data D
513Is RAM1,3And the data D514Is RAM 1,4To
Is stored. Then, 4-byte data D515~ D518Is D
The data D transferred to the MA controller 10515Is R
AM2,1And the data D516Is RAMTwo , 2Stored in
And data D517Is RAM2,3And the data D518
Is RAM2,4Is stored in In the same way, each data
Stored in each RAM, data D76 ThreeIs RAM64,1
And the data D764Is RAM64,2Stored in
Data D765Is RAM64,3And the data D766Is RA
M64,4Is stored in

【0028】第4ブロックでは、図2に示すように、4
回目のバースト転送に対応して、先頭アドレス値として
「10300h」が格納され、データサイズとして「2
56」が格納され、データ列としてD767〜D1022が格
納される。このバースト転送では、初めに4バイトのデ
ータD767〜D770がDMA制御装置10へ転送されてき
て、図7に示すように、データD767がRAM1,1に格納
され、データD768がRAM1,2に格納され、データD
769がRAM1,3に格納され、データD770がRAM1,4
格納される。続いて4バイトのデータD770〜D773がD
MA制御装置10へ転送されてきて、データD771がR
AM2,1に格納され、データD772がRAM2,2に格納さ
れ、データD773がRAM2,3に格納され、データD774
がRAM2, 4に格納される。以下同様にして各データが
各RAMに格納されていき、データD1019がRAM64,1
に格納され、データD1020がRAM64,2に格納され、デ
ータD1021がRAM64,3に格納され、データD1022がR
AM64,4に格納される。
In the fourth block, as shown in FIG.
As the first address value corresponding to the second burst transfer
“10300h” is stored, and the data size is “2”.
56 "is stored, and D767~ D1022But
Will be delivered. In this burst transfer, first 4-byte data
Data D767~ D770Is transferred to the DMA controller 10.
As shown in FIG.767Is RAM1,1Stored in
And data D768Is RAM1,2And the data D
769Is RAM1,3And the data D770Is RAM1,4To
Is stored. Then, 4-byte data D770~ D773Is D
The data D transferred to the MA controller 10771Is R
AM2,1And the data D772Is RAM2,2Stored in
And data D773Is RAM2,3And the data D774
Is RAM2, FourIs stored in In the same way, each data
Stored in each RAM, data D1019Is RAM64,1
And the data D1020Is RAM64,2Stored in
Data D1021Is RAM64,3And the data D1022Is R
AM64,4Is stored in

【0029】また、第5ブロックでは、図2に示すよう
に、5回目のバースト転送に対応して、先頭アドレス値
として「10400h」が格納され、データサイズとし
て「1」が格納され、図8に示すように、データとして
1023がRAM1,1に格納される。
In the fifth block, as shown in FIG. 2, "10400h" is stored as the head address value and "1" is stored as the data size in response to the fifth burst transfer. As shown in FIG. 7, D 1023 is stored in the RAM 1,1 as data.

【0030】バッファ制御部12は、マスタリード制御
部11より送られてきたデータを、以上のようにしてバ
ッファメモリ13の各ブロックに格納する。すなわち、
バッファ制御部12は、バッファメモリ13の8つのブ
ロックのうちデータ書き込み可能なブロック(データが
全く格納されていないブロック、或いは、格納されたデ
ータの全てが既に読み出されて転送先デバイスへ送られ
たブロック)を選択して、マスタリード制御部11より
送られてきたデータを、この選択したブロックに格納し
ていく。また、バッファ制御部12は、この選択したブ
ロックに、このブロックに格納されるデータ列の先頭ア
ドレス値およびデータサイズをも格納する。この選択し
たブロックへのデータの格納が満杯になったら、バッフ
ァ制御部12は、次のデータ書き込み可能なブロックを
選択して、マスタリード制御部11より送られてきたデ
ータ等を、この選択したブロックに格納していく。
The buffer controller 12 stores the data sent from the master read controller 11 in each block of the buffer memory 13 as described above. That is,
The buffer control unit 12 sends a data writable block (a block in which no data is stored, or all stored data has been already read out and sent to the transfer destination device) among the eight blocks in the buffer memory 13. Block), and the data sent from the master read control unit 11 is stored in the selected block. The buffer control unit 12 also stores, in the selected block, the start address value and the data size of the data string stored in this block. When the storage of data in the selected block is full, the buffer control unit 12 selects the next block in which data can be written, and transfers the data and the like sent from the master read control unit 11 to the selected block. Store in blocks.

【0031】このとき、バッファ制御部12は、第1バ
ス50のデータ線DATA 0〜7を伝送されてきたデータを
RAMm,1(m=1〜64)に順に格納し、第1バス5
0のデータ線DATA 8〜15を伝送されてきたデータをRA
m,2(m=1〜64)に順に格納し、第1バス50の
データ線DATA 16〜23を伝送されてきたデータをRAM
m,3(m=1〜64)に順に格納し、第1バス50のデ
ータ線DATA 24〜31を伝送されてきたデータをRAMm,4
(m=1〜64)に順に格納する。
At this time, the buffer control unit 12 stores the data transmitted on the data lines DATA 0 to DATA 7 of the first bus 50 in the RAM m, 1 (m = 1 to 64) in order, and
The data transmitted on the data lines DATA 8 to 15 of 0
M m, 2 (m = 1 to 64) in order, and the data transmitted through the data lines DATA 16 to 23 of the first bus 50 is stored in the RAM
m, 3 (m = 1 to 64) in order, and the data transmitted on the data lines DATA 24 to 31 of the first bus 50 is stored in the RAM m, 4
(M = 1 to 64).

【0032】ただし、上記の例のように、初めは、転送
元デバイス20における第1アドレス以降の連続する3
バイトのデータD0〜D2が第1バスのデータ線DATA 8〜
23を介してDMA制御装置10へ送られてくる。このと
きには、バッファ制御部12は、データD0をRAM1,2
に格納し、データD1をRAM1,3に格納し、データD 2
をRAM1,4に格納する。また、上記の例のように、最
後は、転送元デバイス20における最終アドレスの1バ
イトのデータD1023が第1バスのデータ線DATA0〜7を介
してDMA制御装置10へ送られてくる。このときに
は、バッファ制御部12は、このデータD1023をRAM
64,1に格納する。
However, as in the above example, at first, the transfer
3 consecutive after the first address in the original device 20
Byte data D0~ DTwoAre the data lines DATA 8 of the first bus
It is sent to the DMA control device 10 via 23. This and
At this time, the buffer control unit 120The RAM1,2
And the data D1The RAM1,3And the data D Two
The RAM1,4To store. Also, as in the above example,
After that, one byte of the last address in the transfer source device 20
Site data D1023Via the data lines DATA0 to DATA7 of the first bus
And sent to the DMA controller 10. At this time
Indicates that the data D1023The RAM
64,1To store.

【0033】次に、バッファメモリ13に格納されてい
るデータの読み出しについて説明する。バッファ制御部
12は、バッファメモリ13の各ブロックへのデータ書
き込みが終了すると、この書き込みが終了したブロック
に格納されたデータを読み出してマスタライト制御部1
4へ送ることが可能となる。この読み出しに際しては、
バッファ制御部12は、レジスタ15に記憶されている
第1アドレス値および第2アドレス値それぞれの下位2
ビットを比較して、この比較結果に基づいて、各ブロッ
クに格納されているデータを所定の順序で読み出す。
Next, reading of data stored in the buffer memory 13 will be described. When the data writing to each block of the buffer memory 13 is completed, the buffer control unit 12 reads the data stored in the block where the writing has been completed, and
4 can be sent. When reading this,
The buffer control unit 12 stores the lower 2 bits of each of the first address value and the second address value stored in the register 15.
Bits are compared, and data stored in each block is read out in a predetermined order based on the comparison result.

【0034】上記の例のように第1アドレス値を100
01hとし、また、第2アドレス値を20003hとす
ると、各々の下位2ビットの差は2であるから、バッフ
ァ制御部12は、RAMm,1およびRAMm,2それぞれに
格納されているデータ、ならびに、RAMm-1,3および
RAMm-1,4それぞれに格納されているデータを、同時
に読み出し並び替えてマスタライト制御部14へ送る。
このデータの並び替えに際しては4to4マルチプレクサ
MUXが用いられる(図3参照)。
The first address value is set to 100 as in the above example.
01h and the second address value 20003h, the difference between the lower two bits is 2, so that the buffer controller 12 stores the data stored in RAM m, 1 and RAM m, 2 respectively. The data stored in the RAMs m-1,3 and m-1,4 are simultaneously read and rearranged and sent to the master write controller 14.
When rearranging this data, a 4 to 4 multiplexer MUX is used (see FIG. 3).

【0035】すなわち、バッファメモリ13の第1ブロ
ックへのデータ書き込みが終了すると、初めに、バッフ
ァ制御部12は、第1ブロックのデータ格納部(図4参
照)のRAM1,2に格納されているデータD0を読み出し
て、このデータD0を第2バス60のデータ線DATA 24〜
31に送出し得るようにして、データD0をマスタライト
制御部14へ送る。続いて、バッファ制御部12は、第
1ブロックのデータ格納部のRAM1,3に格納されてい
るデータD1、RAM1,4に格納されているデータD2
RAM2,1に格納されているデータD3、および、RAM
2,2に格納されているデータD4を、同時に読み出して、
これら4バイトのデータを並び替えることで、データD
1を第2バス60のデータ線DATA 0〜7に送出し得るよう
にし、データD2を第2バス60のデータ線DATA 8〜15
に送出し得るようにし、データD3を第2バス60のデ
ータ線DATA 16〜23に送出し得るようにし、データD4
第2バス60のデータ線DATA 24〜31に送出し得るよう
にして、これら4バイトのデータD1〜D4をマスタライ
ト制御部14へ送る。以下同様にして、バッファ制御部
12は、第1ブロックのデータ格納部の各RAMに格納
されているデータを4バイト毎に読み出してマスタライ
ト制御部14へ送る。
That is, when data writing to the first block of the buffer memory 13 is completed, first, the buffer control unit 12 stores the data in the RAMs 1 and 2 of the data storage unit (see FIG. 4) of the first block. It reads the data D 0 you are, the data D 0 data line dATA. 24 to the second bus 60
The data D 0 is sent to the master write control unit 14 so that the data D 0 can be sent to the master write control unit 14. Subsequently, the buffer control unit 12 stores the data D 1 stored in the RAMs 1 and 3 of the data storage unit of the first block, the data D 2 stored in the RAMs 1 and 4 ,
Data D 3 stored in RAMs 2 and 1 and RAM
Data D 4 stored in 2 and 2 are simultaneously read out,
By rearranging these 4-byte data, the data D
1 is adapted to be sent to the data line DATA 0 to 7 of the second bus 60, the data line DATA 8 to 15 of the data D 2 second bus 60
As it may be sent to, and adapted to send data D 3 to data lines DATA 16 to 23 of the second bus 60, and adapted to send data D 4 to the data line DATA 24 to 31 of the second bus 60 Then, these 4-byte data D 1 to D 4 are sent to the master write control unit 14. Similarly, the buffer control unit 12 reads the data stored in each RAM of the data storage unit of the first block every 4 bytes and sends the data to the master write control unit 14.

【0036】バッファメモリ13の第2ブロックへのデ
ータ書き込みが終了すると、バッファ制御部12は、第
1ブロックのデータ格納部(図4参照)のRAM64,3
格納されているデータD253、第1ブロックのデータ格
納部のRAM64,4に格納されているデータD254、第2
ブロックのデータ格納部(図5参照)のRAM1,1に格
納されているデータD255、および、第2ブロックのデ
ータ格納部のRAM1,2に格納されているデータD
256を、同時に読み出して、これら4バイトのデータを
並び替えることで、データD253を第2バス60のデー
タ線DATA 0〜7に送出し得るようにし、データD254を第
2バス60のデータ線DATA 8〜15に送出し得るように
し、データD255を第2バス60のデータ線DATA 16〜23
に送出し得るようにし、データD256を第2バス60の
データ線DATA 24〜31に送出し得るようにして、これら
4バイトのデータD253〜D256をマスタライト制御部1
4へ送る。続いて、バッファ制御部12は、第2ブロッ
クのデータ格納部のRAM1,3に格納されているデータ
257、RAM1,4に格納されているデータD258、RA
2,1に格納されているデータD259、および、RAM
2,2に格納されているデータD260を、同時に読み出し
て、これら4バイトのデータを並び替えることで、デー
タD25 7を第2バス60のデータ線DATA 0〜7に送出し得
るようにし、データD258を第2バス60のデータ線DAT
A 8〜15に送出し得るようにし、データD259を第2バス
60のデータ線DATA 16〜23に送出し得るようにし、デ
ータD260を第2バス60のデータ線DATA 24〜31に送出
し得るようにして、これら4バイトのデータD2 57〜D
260をマスタライト制御部14へ送る。以下同様にし
て、バッファ制御部12は、第2ブロックのデータ格納
部の各RAMに格納されているデータを4バイト毎に読
み出してマスタライト制御部14へ送る。
The data stored in the second block of the buffer memory 13 is
When the data writing is completed, the buffer control unit 12
RAM of one block data storage unit (see FIG. 4)64,3To
Stored data D253, Data case of the first block
RAM in storage64,4Data D stored in254, Second
RAM of block data storage (see FIG. 5)1,1Case
Data D stored255, And the data of the second block
RAM for data storage1,2Data D stored in
256Are read at the same time, and these 4 bytes of data are
By rearranging, the data D253On the second bus 60
Data D0 to DATA7, and the data D254The
2 so that it can be sent to the data lines DATA 8 to 15 of the bus 60
And data D255To the data lines DATA 16 to 23 of the second bus 60.
And the data D256Of the second bus 60
So that they can be sent to the data lines DATA 24-31.
4-byte data D253~ D256To the master light control unit 1
Send to 4. Subsequently, the buffer control unit 12
RAM for data storage1,3Data stored in
D257, RAM1,4Data D stored in258, RA
M2,1Data D stored in259And RAM
2,2Data D stored in260At the same time
By rearranging these 4 bytes of data,
TA Dtwenty five 7To the data lines DATA 0 to DATA 7 of the second bus 60.
Data D258To the data line DAT of the second bus 60
A so that it can be sent to259The second bus
60 data lines DATA 16 to 23, and
Data D260To the data lines DATA 24 to 31 of the second bus 60
As a result, these four bytes of data DTwo 57~ D
260To the master write control unit 14. And so on
The buffer control unit 12 stores the data of the second block.
The data stored in each RAM of the
The data is sent to the master write control unit 14.

【0037】バッファメモリ13の第3ブロックへのデ
ータ書き込みが終了すると、バッファ制御部12は、第
2ブロックのデータ格納部(図5参照)のRAM64,3
格納されているデータD509、第2ブロックのデータ格
納部のRAM64,4に格納されているデータD510、第3
ブロックのデータ格納部(図6参照)のRAM1,1に格
納されているデータD511、および、第3ブロックのデ
ータ格納部のRAM1,2に格納されているデータD
512を、同時に読み出して、これら4バイトのデータを
並び替えることで、データD509を第2バス60のデー
タ線DATA 0〜7に送出し得るようにし、データD510を第
2バス60のデータ線DATA 8〜15に送出し得るように
し、データD511を第2バス60のデータ線DATA 16〜23
に送出し得るようにし、データD512を第2バス60の
データ線DATA 24〜31に送出し得るようにして、これら
4バイトのデータD509〜D512をマスタライト制御部1
4へ送る。続いて、バッファ制御部12は、第3ブロッ
クのデータ格納部のRAM1,3に格納されているデータ
513、RAM1,4に格納されているデータD514、RA
2,1に格納されているデータD515、および、RAM
2,2に格納されているデータD516を、同時に読み出し
て、これら4バイトのデータを並び替えることで、デー
タD51 3を第2バス60のデータ線DATA 0〜7に送出し得
るようにし、データD514を第2バス60のデータ線DAT
A 8〜15に送出し得るようにし、データD515を第2バス
60のデータ線DATA 16〜23に送出し得るようにし、デ
ータD516を第2バス60のデータ線DATA 24〜31に送出
し得るようにして、これら4バイトのデータD5 13〜D
516をマスタライト制御部14へ送る。以下同様にし
て、バッファ制御部12は、第3ブロックのデータ格納
部の各RAMに格納されているデータを4バイト毎に読
み出してマスタライト制御部14へ送る。
The data stored in the third block of the buffer memory 13 is
When the data writing is completed, the buffer control unit 12
RAM of data storage unit of two blocks (see FIG. 5)64,3To
Stored data D509, Data case of the second block
RAM in storage64,4Data D stored in510, Third
RAM of block data storage (see FIG. 6)1,1Case
Data D stored511, And the third block
RAM for data storage1,2Data D stored in
512Are read at the same time, and these 4 bytes of data are
By rearranging, the data D509On the second bus 60
Data D0 to DATA7, and the data D510The
2 so that it can be sent to the data lines DATA 8 to 15 of the bus 60
And data D511To the data lines DATA 16 to 23 of the second bus 60.
And the data D512Of the second bus 60
So that they can be sent to the data lines DATA 24-31.
4-byte data D509~ D512To the master light control unit 1
Send to 4. Subsequently, the buffer control unit 12
RAM for data storage1,3Data stored in
D513, RAM1,4Data D stored in514, RA
M2,1Data D stored in515And RAM
2,2Data D stored in516At the same time
By rearranging these 4 bytes of data,
TA D51 ThreeTo the data lines DATA 0 to DATA 7 of the second bus 60.
Data D514To the data line DAT of the second bus 60
A so that it can be sent to515The second bus
60 data lines DATA 16 to 23, and
Data D516To the data lines DATA 24 to 31 of the second bus 60
As a result, these four bytes of data DFive 13~ D
516To the master write control unit 14. And so on
The buffer control unit 12 stores the data of the third block.
The data stored in each RAM of the
The data is sent to the master write control unit 14.

【0038】バッファメモリ13の第4ブロックへのデ
ータ書き込みが終了すると、バッファ制御部12は、第
3ブロックのデータ格納部(図6参照)のRAM64,3
格納されているデータD765、第3ブロックのデータ格
納部のRAM64,4に格納されているデータD766、第4
ブロックのデータ格納部(図7参照)のRAM1,1に格
納されているデータD767、および、第4ブロックのデ
ータ格納部のRAM1,2に格納されているデータD
768を、同時に読み出して、これら4バイトのデータを
並び替えることで、データD765を第2バス60のデー
タ線DATA 0〜7に送出し得るようにし、データD766を第
2バス60のデータ線DATA 8〜15に送出し得るように
し、データD767を第2バス60のデータ線DATA 16〜23
に送出し得るようにし、データD768を第2バス60の
データ線DATA 24〜31に送出し得るようにして、これら
4バイトのデータD765〜D768をマスタライト制御部1
4へ送る。続いて、バッファ制御部12は、第3ブロッ
クのデータ格納部のRAM1,3に格納されているデータ
769、RAM1,4に格納されているデータD770、RA
2,1に格納されているデータD771、および、RAM
2,2に格納されているデータD772を、同時に読み出し
て、これら4バイトのデータを並び替えることで、デー
タD76 9を第2バス60のデータ線DATA 0〜7に送出し得
るようにし、データD770を第2バス60のデータ線DAT
A 8〜15に送出し得るようにし、データD771を第2バス
60のデータ線DATA 16〜23に送出し得るようにし、デ
ータD772を第2バス60のデータ線DATA 24〜31に送出
し得るようにして、これら4バイトのデータD7 69〜D
772をマスタライト制御部14へ送る。以下同様にし
て、バッファ制御部12は、第4ブロックのデータ格納
部の各RAMに格納されているデータを4バイト毎に読
み出してマスタライト制御部14へ送る。
The data stored in the fourth block of the buffer memory 13 is
When the data writing is completed, the buffer control unit 12
RAM of data storage unit of three blocks (see FIG. 6)64,3To
Stored data D765, Data case of the third block
RAM in storage64,4Data D stored in766, Fourth
RAM of block data storage (see FIG. 7)1,1Case
Data D stored767, And the fourth block
RAM for data storage1,2Data D stored in
768Are read at the same time, and these 4 bytes of data are
By rearranging, the data D765On the second bus 60
Data D0 to DATA7, and the data D766The
2 so that it can be sent to the data lines DATA 8 to 15 of the bus 60
And data D767To the data lines DATA 16 to 23 of the second bus 60.
And the data D768Of the second bus 60
So that they can be sent to the data lines DATA 24-31.
4-byte data D765~ D768To the master light control unit 1
Send to 4. Subsequently, the buffer control unit 12
RAM for data storage1,3Data stored in
D769, RAM1,4Data D stored in770, RA
M2,1Data D stored in771And RAM
2,2Data D stored in772At the same time
By rearranging these 4 bytes of data,
TA D76 9To the data lines DATA 0 to DATA 7 of the second bus 60.
Data D770To the data line DAT of the second bus 60
A so that it can be sent to771The second bus
60 data lines DATA 16 to 23, and
Data D772To the data lines DATA 24 to 31 of the second bus 60
As a result, these four bytes of data D7 69~ D
772To the master write control unit 14. And so on
The buffer control unit 12 stores the data of the fourth block.
The data stored in each RAM of the
The data is sent to the master write control unit 14.

【0039】バッファメモリ13の第5ブロックへのデ
ータ書き込みが終了すると、バッファ制御部12は、第
4ブロックのデータ格納部(図7参照)のRAM64,3
格納されているデータD1021、第4ブロックのデータ格
納部のRAM64,4に格納されているデータD1022、およ
び、第5ブロックのデータ格納部(図8参照)のRAM
1,1に格納されているデータD1023を、同時に読み出し
て、これら3バイトのデータを並び替えることで、デー
タD1021を第2バス60のデータ線DATA 0〜7に送出し
得るようにし、データD1022を第2バス60のデータ線
DATA 8〜15に送出し得るようにし、データD1023を第2
バス60のデータ線DATA 16〜23に送出し得るようにし
て、これら3バイトのデータD1021〜D1023をマスタラ
イト制御部14へ送る。
When the data writing to the fifth block of the buffer memory 13 is completed, the buffer control unit 12 sets the data D 1021 and D 1021 stored in the RAMs 64 and 3 of the data storage unit of the fourth block (see FIG. 7). The data D 1022 stored in the RAMs 64 and 4 of the data storage unit of the fourth block, and the RAM of the data storage unit (see FIG. 8) of the fifth block.
By reading out the data D 1023 stored in 1 , 1 at the same time and rearranging these three bytes of data, the data D 1021 can be transmitted to the data lines DATA 0 to DATA 7 of the second bus 60, Data D 1022 to the data line of the second bus 60
DATA 8 to 15 and transmit the data D 1023 to the second
The three-byte data D 1021 to D 1023 are sent to the master write control unit 14 so that they can be sent to the data lines DATA 16 to 23 of the bus 60.

【0040】マスタライト制御部14は、自らマスタと
なって第2バス60の使用権を獲得した後に、上記のよ
うにしてバッファ制御部12より送られてきたデータを
受け取って、これらのデータを転送先デバイス30に対
してバースト出力する。
The master write control unit 14 receives the data sent from the buffer control unit 12 as described above after acquiring the right to use the second bus 60 as a master, and Burst output to the transfer destination device 30.

【0041】以上のように、本実施形態に係るDMA制
御装置10では、バッファメモリ14をRAMにより構
成して、転送元デバイス20からバースト入力したデー
タを並び替えることなくバッファメモリ14に格納し、
その一方で、バッファメモリ14に格納したデータを読
み出して、必要に応じてデータを並び替えた後に、デー
タを転送先デバイス30へバースト出力する。このデー
タ並び替えに際しては、バッファ制御部12は、転送元
デバイス20における第1アドレス値と転送先デバイス
30における第2アドレス値とに基づいて、マスタライ
ト制御部14がバースト出力するべき各データを順次に
バッファメモリ13より読み出して並べ替えてマスタラ
イト制御部14へ送る。
As described above, in the DMA control device 10 according to the present embodiment, the buffer memory 14 is constituted by a RAM, and the data burst-input from the transfer source device 20 is stored in the buffer memory 14 without being rearranged.
On the other hand, the data stored in the buffer memory 14 is read, the data is rearranged as necessary, and then the data is burst output to the transfer destination device 30. At the time of this data rearrangement, the buffer control unit 12 determines each data to be burst output by the master write control unit 14 based on the first address value in the transfer source device 20 and the second address value in the transfer destination device 30. The data is sequentially read from the buffer memory 13, rearranged, and sent to the master write control unit 14.

【0042】したがって、このDMA制御装置10は、
データ並び替えの為の回路として1つの4to4マルチプ
レクサのみを備えるだけでよいから、回路規模が小さ
く、安価なものとなる。また、このDMA制御装置10
は、レイテンシが小さく、データ転送の高速化を図るこ
とが容易である。また、第1アドレス値および第2アド
レス値の何れについても制限が無いことから、第1バス
50および第2バス60それぞれのデータ幅が互いに異
なる場合であっても、また、転送元デバイス20および
転送先デバイス30それぞれの種類が如何なるものであ
っても、このDMA制御装置10は利用可能である。
Therefore, this DMA control device 10
Since it is sufficient to provide only one 4to4 multiplexer as a circuit for rearranging data, the circuit scale is small and inexpensive. Also, this DMA control device 10
Has a low latency and is easy to speed up data transfer. Further, since there is no limitation on either the first address value or the second address value, even if the data widths of the first bus 50 and the second bus 60 are different from each other, the transfer source device 20 and the This DMA control device 10 can be used regardless of the type of each of the transfer destination devices 30.

【0043】[0043]

【発明の効果】以上、詳細に説明したとおり、本発明に
係るDMA制御装置によれば、転送元入出力装置におい
て開始アドレス値以降の連続するアドレス領域に記憶さ
れている各データは、データ入力手段により入力され、
一時記憶手段に格納される。そして、一時記憶手段に格
納された各データは、転送元入出力装置における開始ア
ドレス値と転送先入出力装置における開始アドレス値と
に基づいて、バッファ制御手段により順次に読み出され
てデータ出力手段へ送られ、このデータ出力手段によ
り、転送先入出力装置における開始アドレス値以降の連
続するアドレス領域に対して出力される。転送元および
転送先それぞれのアドレスが相違する場合にはデータの
並び替えが必要になるが、本発明に係るDMA制御装置
では、バッファ制御手段により、両アドレス値に基づい
て一時記憶手段からデータが読み出されると同時にデー
タの並び替えが行われる。
As described above in detail, according to the DMA control device of the present invention, each data stored in the continuous address area after the start address value in the transfer source input / output device is the data input / output device. Input by means,
It is stored in the temporary storage means. Each data stored in the temporary storage means is sequentially read out by the buffer control means based on the start address value in the transfer source input / output device and the start address value in the transfer destination input / output device, and is read out to the data output means. The data is output by the data output means to a continuous address area after the start address value in the transfer destination input / output device. If the addresses of the transfer source and the transfer destination are different, the data must be rearranged. However, in the DMA control device according to the present invention, the buffer control means transfers data from the temporary storage means based on both address values. At the same time as the data is read, the data is rearranged.

【0044】したがって、本発明に係るDMA制御装置
は、データ並び替えの為の回路として1つのマルチプレ
クサのみを備えるだけでよいから、回路規模が小さく、
安価なものとなる。また、このDMA制御装置は、レイ
テンシが小さく、データ転送の高速化を図ることが容易
である。加えて、複数の単位バッファから構成したこと
により、アドレス差異量が異なるブロックを複数個連続
して転送することができる。単位バッファに対してのア
ドレス変換を行っているので、データ出力の途中でサイ
クルが中断された場合にも、再開後の転送先アドレスを
使用してのアクセスが可能である。
Therefore, the DMA control device according to the present invention only needs to include only one multiplexer as a circuit for rearranging data.
It will be cheap. Further, this DMA control device has a small latency and can easily achieve high-speed data transfer. In addition, since a plurality of unit buffers are used, a plurality of blocks having different address difference amounts can be continuously transferred. Since the address conversion is performed on the unit buffer, even if the cycle is interrupted in the middle of the data output, the access using the transfer destination address after the restart is possible.

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

【図1】本実施形態に係るDMA制御装置10の構成を
示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a DMA control device 10 according to the present embodiment.

【図2】本実施形態に係るDMA制御装置10のバッフ
ァメモリ13の構成を示す図である。
FIG. 2 is a diagram showing a configuration of a buffer memory 13 of the DMA control device 10 according to the present embodiment.

【図3】本実施形態に係るDMA制御装置10のバッフ
ァメモリ13の各ブロックにおけるデータ格納部の構成
を示す図である。
FIG. 3 is a diagram showing a configuration of a data storage unit in each block of a buffer memory 13 of the DMA control device 10 according to the present embodiment.

【図4】本実施形態に係るDMA制御装置10のバッフ
ァメモリ13の第1ブロックにおけるデータ格納部への
データの格納の様子を説明する図である。
FIG. 4 is a diagram illustrating a state of storing data in a data storage unit in a first block of a buffer memory 13 of the DMA control device 10 according to the present embodiment.

【図5】本実施形態に係るDMA制御装置10のバッフ
ァメモリ13の第2ブロックにおけるデータ格納部への
データの格納の様子を説明する図である。
FIG. 5 is a diagram illustrating a state of storing data in a data storage unit in a second block of the buffer memory 13 of the DMA control device 10 according to the present embodiment.

【図6】本実施形態に係るDMA制御装置10のバッフ
ァメモリ13の第3ブロックにおけるデータ格納部への
データの格納の様子を説明する図である。
FIG. 6 is a diagram illustrating a state of storing data in a data storage unit in a third block of the buffer memory 13 of the DMA control device 10 according to the present embodiment.

【図7】本実施形態に係るDMA制御装置10のバッフ
ァメモリ13の第4ブロックにおけるデータ格納部への
データの格納の様子を説明する図である。
FIG. 7 is a diagram illustrating a state of storing data in a data storage unit in a fourth block of the buffer memory 13 of the DMA control device 10 according to the present embodiment.

【図8】本実施形態に係るDMA制御装置10のバッフ
ァメモリ13の第5ブロックにおけるデータ格納部への
データの格納の様子を説明する図である。
FIG. 8 is a diagram illustrating a state of storing data in a data storage unit in a fifth block of the buffer memory 13 of the DMA control device 10 according to the present embodiment.

【図9】従来のDMA制御装置におけるデータ並び替え
手段の概略構成図である。
FIG. 9 is a schematic configuration diagram of a data rearranging unit in a conventional DMA control device.

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

10…DMA制御装置、11…マスタリード制御部、1
2…バッファ制御部、13…バッファメモリ、14…マ
スタライト制御部、15…レジスタ、16…レジスタ制
御部、20…転送元デバイス、30…転送先デバイス、
40…CPU、50…第1バス、60…第2バス、70
…CPUバス。
10 DMA controller, 11 Master read controller, 1
2 ... Buffer control unit, 13 ... Buffer memory, 14 ... Master write control unit, 15 ... Register, 16 ... Register control unit, 20 ... Transfer source device, 30 ... Transfer destination device,
40: CPU, 50: First bus, 60: Second bus, 70
... CPU bus.

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 CPUを介さずに単一または独立したバ
スに接続される入出力装置間のデータの転送を制御する
ダイレクトアクセス(DMA)装置であって、 転送元入出力装置から開始アドレス(アドレス1)とサ
イズとで指定されるブロックデータを読み出し、1回ま
たは複数回のアクセスで自身に取り込む制御を行うデー
タ入力手段と、 前記データ入力手段が取り込んだデータを一時的に保持
する一時記憶手段と、 転送先入出力装置に対して、開始アドレス(アドレス
2)とサイズとで指定されるブロックデータを前記一時
記憶手段から読み出して1回または複数回のアクセスで
出力する制御を行うデータ出力手段と、 前記転送元入出力装置のアドレス値と前記転送先入出力
装置のアドレス値とに基づいて、前記データ出力手段が
出力すべきデータを順次に前記一時記憶手段から読み出
して前記データ出力手段へ送るバッファ制御手段と、 を備えることを特徴とするDMA制御装置。
1. A direct access (DMA) device for controlling data transfer between input / output devices connected to a single or independent bus without passing through a CPU, comprising: Data input means for reading out block data specified by the address 1) and the size and taking in the data by itself once or plural times; and temporary storage for temporarily holding the data taken in by the data input means Data output means for controlling a transfer destination input / output device to read block data specified by a start address (address 2) and a size from the temporary storage means and to output the data in one or more accesses. The data output means outputs based on an address value of the transfer source input / output device and an address value of the transfer destination input / output device. DMA controller, characterized in that it comprises successively the buffer control means for sending read from the temporary storage means to said data output means, the the data should.
【請求項2】 前記一時記憶手段は、複数の単位バッフ
ァを含み、アドレス差異が異なる2つ以上のDMAブロ
ックを連続して扱う、ことを特徴とする請求項1記載の
DMA制御装置。
2. The DMA control device according to claim 1, wherein said temporary storage means includes a plurality of unit buffers, and sequentially handles two or more DMA blocks having different address differences.
【請求項3】 前記単位バッファは、転送すべきデータ
と属性情報とを含み、前記属性情報は、前記転送元の開
始アドレスのうち単位バッファのバイト数を表現するの
に充分なビット数のアドレスと、単位バッファに格納さ
れた有効バイト数と、ブロックの開始を示す開始ブロッ
クビットと、ブロックの終了を示す終了アドレスビット
とを有する、ことを特徴とする請求項2記載のDMA制
御装置。
3. The unit buffer includes data to be transferred and attribute information, and the attribute information includes an address having a sufficient number of bits to represent the number of bytes of the unit buffer in the start address of the transfer source. 3. The DMA control device according to claim 2, comprising: a number of valid bytes stored in a unit buffer, a start block bit indicating the start of a block, and an end address bit indicating an end of the block.
【請求項4】 前記一時記憶手段の読み出しに使用する
アドレスは、前記転送先入出力装置に出力すべきアドレ
スを、前記転送元入出力装置のアドレス値と前記転送先
入出力装置のアドレス値との差異に基づいて変換して生
成する、ことを特徴とする請求項1記載のDMA制御装
置。
4. An address used for reading from said temporary storage means is an address to be output to said transfer destination input / output device, and a difference between an address value of said transfer source input / output device and an address value of said transfer destination input / output device. 2. The DMA control device according to claim 1, wherein the DMA control device generates the data based on the conversion.
【請求項5】 前記一時記憶手段は、転送先または転送
元のデータ幅nと同数のn個のRAMを含む、ことを特
徴とする請求項4記載のDMA制御装置。
5. The DMA control device according to claim 4, wherein said temporary storage means includes n RAMs equal in number to a data width n of a transfer destination or a transfer source.
【請求項6】 前記一時記憶手段は、前記n個のRAM
それぞれに対して、前記データ出力手段からの読み出し
時には、転送元および転送先それぞれの開始アドレスの
差異から計算されるシフト量に応じてn個のバイトを2
つの領域に分割し、変換後のアドレスまたは変換後のア
ドレスから1差し引いたアドレスを与える、ことを特徴
とする請求項5記載のDMA制御装置。
6. The temporary storage means comprises: the n RAMs
For each of them, at the time of reading from the data output means, n bytes are stored in accordance with the shift amount calculated from the difference between the start addresses of the transfer source and the transfer destination.
6. The DMA control device according to claim 5, wherein the DMA control device is divided into two areas, and the converted address or the address obtained by subtracting one from the converted address is given.
【請求項7】 転送先の都合でサイクルが中断された場
合には、前記シフト量と転送先に対する開始アドレスか
らの差分アドレスとを使用し、再開後の前記一時記憶手
段に対するアドレス変換を行う、ことを特徴とする請求
項6記載のDMA制御装置。
7. When a cycle is interrupted due to a transfer destination, an address conversion for the temporary storage means after resumption is performed by using the shift amount and a difference address from a start address for the transfer destination. 7. The DMA controller according to claim 6, wherein:
JP2001012033A 2001-01-19 2001-01-19 Dma controller Pending JP2002215563A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001012033A JP2002215563A (en) 2001-01-19 2001-01-19 Dma controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001012033A JP2002215563A (en) 2001-01-19 2001-01-19 Dma controller

Publications (1)

Publication Number Publication Date
JP2002215563A true JP2002215563A (en) 2002-08-02

Family

ID=18879096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001012033A Pending JP2002215563A (en) 2001-01-19 2001-01-19 Dma controller

Country Status (1)

Country Link
JP (1) JP2002215563A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876537B1 (en) 2007-05-04 2008-12-31 (주)씨앤에스 테크놀로지 DM controller device and control method using multi parameter set
JP2010170164A (en) * 2009-01-20 2010-08-05 Nec Engineering Ltd Dma transfer control device
US7930445B2 (en) 2006-09-06 2011-04-19 Hitachi, Ltd. Computer system using remote I/O and I/O data transfer method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930445B2 (en) 2006-09-06 2011-04-19 Hitachi, Ltd. Computer system using remote I/O and I/O data transfer method
KR100876537B1 (en) 2007-05-04 2008-12-31 (주)씨앤에스 테크놀로지 DM controller device and control method using multi parameter set
JP2010170164A (en) * 2009-01-20 2010-08-05 Nec Engineering Ltd Dma transfer control device

Similar Documents

Publication Publication Date Title
JP4532542B2 (en) System and method for organizing data transfer in a memory module with a memory hub
JPH0619752B2 (en) Data transfer method and device
JPS62297952A (en) Storage system for variable length data
JPS6261185B2 (en)
JP2002215563A (en) Dma controller
JPH10162157A (en) Graphic controller
JPH09265367A (en) Device and method for printer control
JP2617252B2 (en) Printer
JPS59132479A (en) Data processing circuit
JPS6367702B2 (en)
JPS6349809B2 (en)
JP2849804B2 (en) Memory access interface circuit and memory access method
JP4024502B2 (en) Control method for information processing apparatus
JPH07319840A (en) Multi-cpu device
JPH06274450A (en) Data transfer system
JP3495746B2 (en) Audio playback device
JP2806376B2 (en) Image processing apparatus and image processing method
JPS60168677A (en) Rule image generator
JP2002041447A (en) Printer
JPH11119975A (en) Bit width converter
JP2006018536A (en) Memory device, method for controlling memory and information processor
JPH11249958A (en) Memory control system
JPH01307990A (en) Bubble memory device
JPS62121580A (en) Image transcription device
JPH06274405A (en) Memory write control circuit