JP2000227897A - Device and system for dma transfer - Google Patents

Device and system for dma transfer

Info

Publication number
JP2000227897A
JP2000227897A JP11339623A JP33962399A JP2000227897A JP 2000227897 A JP2000227897 A JP 2000227897A JP 11339623 A JP11339623 A JP 11339623A JP 33962399 A JP33962399 A JP 33962399A JP 2000227897 A JP2000227897 A JP 2000227897A
Authority
JP
Japan
Prior art keywords
size
transfer
dma
access
area
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.)
Granted
Application number
JP11339623A
Other languages
Japanese (ja)
Other versions
JP4536189B2 (en
Inventor
Masaaki Harada
昌明 原田
Tsutomu Kanbe
勉 関部
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP33962399A priority Critical patent/JP4536189B2/en
Publication of JP2000227897A publication Critical patent/JP2000227897A/en
Application granted granted Critical
Publication of JP4536189B2 publication Critical patent/JP4536189B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Dram (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a useful DMA transfer device which is compatible with a memory which capable of quick page access and actualizes high-speed DMA transfer without sacrificing performances. SOLUTION: A partial area discriminating parts 211 (or 311) discriminates plural transfer source (or transfer destination) partial areas which constitute a memory area at a transfer source (or transfer destination), i.e., plural transfer source (or transfer destination) partial areas which are sectioned between the head of the memory area, a page boundary or the end of the memory area and a page boundary. An access means 120 reads data by quick page access out of the discriminated transfer source partial areas and writes the read data to the transfer destination partial area by quick page access.

Description

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

【0001】[0001]

【発明の属する技術分野】高速ページアクセス可能なメ
モリに対してページ単位での連続アクセスを保証するD
MAデータ転送装置
BACKGROUND OF THE INVENTION D which guarantees continuous access in units of pages to a memory which can be accessed at high speed pages
MA data transfer device

【0002】[0002]

【従来の技術】従来のDMAデータ転送装置は、メモリ
−メモリ間又はメモリ−入出力装置間で、高速にデータ
転送を行なう。同じバスに接続されたメモリ間の転送及
び同じメモリの異なる記憶領域間の転送では、DMAデ
ータ転送装置は、転送元の記憶領域から読み出したデー
タをDMAデータ転送装置内のバッファに一時的に保持
しさらにバッファから転送先の記憶領域に書き込むこと
により、DMAデータ転送を行なう。このバッファは、
メモリに対する1回のアクセスサイズ以上の容量を有す
る。従来の典型的なDMAデータ転送は、1アクセスサ
イズのデータ毎に、転送元からの読み出し、バッファへ
の格納、バッファから転送先記憶領域への書き込みを行
っている。これにより必要最小限のバッファサイズにて
DMAデータ転送が可能になる。
2. Description of the Related Art A conventional DMA data transfer device performs high-speed data transfer between a memory and a memory or between a memory and an input / output device. In a transfer between memories connected to the same bus and a transfer between different storage areas of the same memory, the DMA data transfer apparatus temporarily holds data read from the transfer source storage area in a buffer in the DMA data transfer apparatus. Then, DMA data transfer is performed by writing data from the buffer to the storage area of the transfer destination. This buffer is
It has a capacity equal to or larger than the size of one access to the memory. In a typical conventional DMA data transfer, data is read from a transfer source, stored in a buffer, and written from a buffer to a transfer destination storage area for each data of one access size. This enables DMA data transfer with a minimum necessary buffer size.

【0003】またバッファサイズがアクセスサイズの複
数倍の大きさである場合には、DMA転送装置は、転送
元からバッファサイズ分になるまでデータを読み出して
バッファに格納し、バッファからバッファサイズ分のデ
ータを転送先記憶領域書き込む。この場合は、読み出
し、書き込みはバッファサイズを単位になされる。
If the buffer size is a multiple of the access size, the DMA transfer device reads data from the transfer source until the buffer size is reached and stores the data in the buffer. Write data to the destination storage area. In this case, reading and writing are performed in units of a buffer size.

【0004】[0004]

【発明が解決しようとする課題】ところで、近年高速ペ
ージアクセス可能なSDRAMが主記憶として用いられ
ているが、このSDRAMが転送対象である場合に、S
DRAMの高速性能が犠牲になり、その有用性が十分に
活用できないという問題があった。なぜなら従来のDM
A転送装置は、転送元からバッファへの読み出し、バッ
ファから転送先への書き込みにおいてページ境界とは無
関係にアクセスするからである。
In recent years, an SDRAM capable of high-speed page access has been used as a main memory.
There is a problem that the high speed performance of the DRAM is sacrificed and its usefulness cannot be fully utilized. Because the traditional DM
This is because the A transfer device accesses the buffer from the transfer source to the buffer and writes from the buffer to the transfer destination irrespective of the page boundary.

【0005】本発明は、高速ページアクセス可能なメモ
リと相性が良く、その性能を犠牲にすることなく高速な
DMA転送を実現する有用なDMA転送装置を提供する
ことを目的する。
SUMMARY OF THE INVENTION An object of the present invention is to provide a useful DMA transfer device which is compatible with high-speed page accessible memories and realizes high-speed DMA transfer without sacrificing its performance.

【0006】[0006]

【課題を解決するための手段】本発明のDMA転送装置
は、高速ページアクセスに対応するメモリを対象とする
DMA転送装置であって、転送対象となるメモリ領域を
構成する複数の部分領域であって、前記メモリ領域の先
頭とページ境界との間、ページ境界間及びページ境界と
前記メモリ領域の末尾との間の各部分領域を判別する判
別手段と、判別された部分領域毎に高速ページアクセス
を行なうアクセス手段とを備える。
A DMA transfer device according to the present invention is a DMA transfer device for a memory corresponding to a high-speed page access, and includes a plurality of partial areas constituting a memory area to be transferred. Determining means for determining each partial area between the beginning of the memory area and the page boundary, between page boundaries, and between the page boundary and the end of the memory area; and a high-speed page access for each determined partial area. And access means for performing the following.

【0007】また、本発明のDMA転送装置は、転送元
となる第1メモリ領域を構成する複数の転送元部分領域
であって、前記第1メモリ領域の先頭とページ境界との
間、ページ境界間及びページ境界と前記第1メモリ領域
の末尾との間の各転送元部分領域を判別する第1判別手
段と、転送先となる第2メモリ領域を構成する複数の転
送先部分領域であって、前記第2メモリ領域の先頭とペ
ージ境界との間、ページ境界間及びページ境界と前記第
2メモリ領域の末尾との間の各転送先部分領域を判別す
る第2判別手段と、第1判別手段に判別された転送元部
分領域から高速ページアクセスによりデータを読み出し
てバッファ手段に格納し、バッファ手段に格納されたデ
ータを第2判別手段により判別された転送先部分領域に
高速ページアクセスにより書き込むアクセス手段とを備
える。
Further, the DMA transfer device of the present invention is a plurality of transfer source partial areas constituting a first memory area serving as a transfer source, wherein a plurality of transfer source partial areas are provided between a head of the first memory area and a page boundary. A first discriminating means for discriminating each transfer-source partial area between the end of the first memory area and a page boundary, and a plurality of transfer-destination partial areas constituting a second memory area serving as a transfer destination. Second determining means for determining each transfer destination partial area between the beginning of the second memory area and the page boundary, between the page boundaries, and between the page boundary and the end of the second memory area; The data is read out from the transfer source partial area determined by the means by high-speed page access and stored in the buffer means, and the data stored in the buffer means is read into the transfer destination partial area determined by the second determination means at the high speed page access. And an access means for writing by.

【0008】また、本発明のDMA転送システムは、優
先度が異なる複数のDMAチャネルを有するDMA転送
システムであって、DMAチャネル毎に設けられ、対応
するDMAチャネルのDMA転送要求を受付け、DMA
転送の完了までDMA転送要求を保持する複数の受付手
段と、DMAチャネル毎に設けられ、対応するDMAチ
ャネルのDMA転送要求に指定された転送対象のメモリ
領域について、当該メモリ領域を構成する複数の部分領
域であって、前記メモリ領域の先頭とページ境界との
間、ページ境界間及びページ境界と前記メモリ領域の末
尾との間の各部分領域を判別する複数の判別手段と、D
MAチャネル毎に設けられ、対応するDMAチャネルの
判別手段により判別された部分領域毎に高速ページアク
セスを指示するアクセス要求を生成する複数のアクセス
要求生成手段と、各DMAチャネルに共用され、転送す
べきデータを一時的に保持するバッファ手段と、調停手
段とを備える。ここで、調停手段は、複数の受付け手段
において、ただ1つのDMAチャネルに対するDMA転
送要求が保持されている場合には、当該DMAチャネル
に対応するアクセス要求に従ってアクセスを行い、DM
A転送要求が保持されていて、かつ、優先度の高いDM
Aチャネルに対するDMA転送要求が受付けられた場合
には、先行するDMA転送要求のDMAチャネルに対応
する判別手段及びアクセス要求生成手段に対してバッフ
ァ手段を空にしてから中断するよう指示し、バッファ手
段が空になった時点で優先度の高いDMAチャネルのア
クセス要求に従ってアクセスを行い、優先度の高いDM
A転送完了後に、先行するDMA転送要求のDMAチャ
ネルに対応する判別手段及びアクセス要求生成手段に対
してDMA転送を再開するよう指示する。
A DMA transfer system according to the present invention is a DMA transfer system having a plurality of DMA channels having different priorities. The DMA transfer system is provided for each DMA channel and receives a DMA transfer request of a corresponding DMA channel.
A plurality of receiving means for holding a DMA transfer request until the completion of the transfer; and a plurality of receiving means provided for each DMA channel and constituting a memory area to be transferred specified in the DMA transfer request of the corresponding DMA channel. A plurality of discriminating means for discriminating each partial area between the beginning of the memory area and the page boundary, between the page boundaries and between the page boundary and the end of the memory area;
A plurality of access request generation means provided for each MA channel for generating an access request for instructing high-speed page access for each partial area determined by the corresponding DMA channel determination means; Buffer means for temporarily holding data to be transmitted, and arbitration means. Here, if the plurality of accepting units hold a DMA transfer request for only one DMA channel, the arbitrating unit performs access according to the access request corresponding to the DMA channel, and
A transfer request is held and DM with high priority
When the DMA transfer request for the A channel is accepted, the discriminating means and the access request generating means corresponding to the DMA channel of the preceding DMA transfer request are instructed to empty the buffer means and then suspend the processing. Becomes empty, access is made in accordance with the access request of the high-priority DMA channel, and the high-priority DM
After the completion of the A transfer, an instruction is issued to the determining means and the access request generating means corresponding to the DMA channel of the preceding DMA transfer request to restart the DMA transfer.

【0009】また、本発明のDMA転送システムは、複
数のDMAチャネルを有するDMA転送システムであっ
て、DMAチャネル毎に設けられ、対応するDMAチャ
ネルのDMA転送要求を受付け、DMA転送の完了まで
DMA転送要求を保持する複数の受付手段と、DMAチ
ャネル毎に設けられ、対応するDMAチャネルのDMA
転送要求に指定された転送対象のメモリ領域について、
当該メモリ領域を構成する複数の部分領域であって、前
記メモリ領域の先頭とページ境界との間、ページ境界間
及びページ境界と前記メモリ領域の末尾との間の各部分
領域を判別する複数の判別手段と、DMAチャネル毎に
設けられ、対応するDMAチャネルの判別手段により判
別された部分領域毎に高速ページアクセスを指示するア
クセス要求を生成する複数のアクセス要求生成手段と、
各DMAチャネルに共用され、2つのバスに接続された
2ポートメモリでありるバッファ手段と、調停手段とを
備える。ここで、調停手段は、複数の受付け手段におい
て、ただ1つのDMAチャネルに対するDMA転送要求
が保持されている場合には、当該DMAチャネルに対応
するアクセス要求に従ってアクセスを行い、既にDMA
転送要求が保持されていて、かつ、他のDMAチャネル
に対するDMA転送要求が受付けられ、かつ、先行する
DMA転送の転送先と新たなDMA転送の転送元とが異
なるバス上のメモリである場合には、転送中の全転送デ
ータについての転送元からの読み出しが完了し、かつ、
バッファ手段に他のDMAチャネルの最初の部分領域の
読み出しサイズ分の空き領域が存在するという状態にな
った時点で、他のDMAチャネルの最初の部分領域の読
み出しを開始する。
A DMA transfer system according to the present invention is a DMA transfer system having a plurality of DMA channels. The DMA transfer system is provided for each DMA channel, receives a DMA transfer request of a corresponding DMA channel, and waits until the DMA transfer is completed. A plurality of receiving means for holding transfer requests;
For the transfer target memory area specified in the transfer request,
A plurality of partial areas constituting the memory area, each of which identifies a respective partial area between the beginning of the memory area and a page boundary, between page boundaries, and between a page boundary and the end of the memory area. Determining means, and a plurality of access request generating means provided for each DMA channel and generating an access request for instructing high-speed page access for each partial area determined by the corresponding DMA channel determining means;
It comprises a buffer means, which is a two-port memory shared by each DMA channel and connected to two buses, and an arbitration means. Here, if the plurality of accepting units hold a DMA transfer request for only one DMA channel, the arbitrating unit performs access in accordance with the access request corresponding to the DMA channel,
When a transfer request is held, a DMA transfer request for another DMA channel is accepted, and a transfer destination of a preceding DMA transfer and a transfer source of a new DMA transfer are memories on different buses. Has been read from the transfer source for all transfer data being transferred, and
When the buffer unit has a free area corresponding to the read size of the first partial area of another DMA channel, the reading of the first partial area of the other DMA channel is started.

【0010】[0010]

【発明の実施の形態】<第1の実施の形態> <全体構成>図1は、本発明の第1の実施の形態におけ
るDMA(Direct Memory Access)転送装置を備える情報
処理装置の主要部の構成を示すブロック図である。同図
の情報処理装置は、例えばデジタル衛星放送受信装置
(以下STB(Set Top Box)と呼ぶ)や、DVD(Digita
l Video/Versatile Disk)、DVDーRAM等の光ディ
スク記録再生装置などの装置全体の制御に用いられ、I
/O部5、SDRAM4、SDRAM I/F3、CP
U2、DMA転送装置1を備える。
DESCRIPTION OF THE PREFERRED EMBODIMENTS <First Embodiment><OverallConfiguration> FIG. 1 shows a main part of an information processing apparatus having a DMA (Direct Memory Access) transfer device according to a first embodiment of the present invention. FIG. 3 is a block diagram illustrating a configuration. The information processing apparatus shown in FIG. 1 is, for example, a digital satellite broadcast receiver (hereinafter referred to as an STB (Set Top Box)) or a DVD (Digita
l Video / Versatile Disk), used for controlling the entire device such as an optical disk recording / reproducing device such as a DVD-RAM.
/ O unit 5, SDRAM4, SDRAM I / F3, CP
U2, a DMA transfer device 1 is provided.

【0011】I/O部5は、MPEGストリームの入出
力や、リモコン(図外)からのキーデータの入力を行な
う。SDRAM4は、高速ページアクセスに対応するメ
モリである。高速ページアクセスとは、予め定められた
ページと呼ばれる連続する記憶領域に対して高速にアク
セスすることことである。本実施の形態ではSDRAM
4は32ビット(以下、32ビットを1ワードとする)
のデータ幅であり、1ページを4ワード(16バイト)
毎の連続する記憶領域とする。ここで、1ページの大き
さは、2ワード、8ワード等他の大きさにすることもで
きるが、CPU2のキャッシュフィルサイズ(キャッシ
ュメモリを更新する単位)と同じ大きさにすることが望
ましい。SDRAM I/F3の構成を対CPU2と対
DMA転送装置1とで共通化でき簡略化できるからであ
る。本実施の形態ではキャッシュフィルサイズも16バ
イトであるものとする。
The I / O section 5 inputs and outputs an MPEG stream and inputs key data from a remote controller (not shown). The SDRAM 4 is a memory corresponding to high-speed page access. High-speed page access refers to high-speed access to a continuous storage area called a predetermined page. In this embodiment, the SDRAM
4 is 32 bits (hereinafter, 32 bits are defined as 1 word)
Data width of one page is 4 words (16 bytes)
It is a continuous storage area for each. Here, the size of one page can be set to another size such as 2 words or 8 words, but is preferably set to be the same as the cache fill size of the CPU 2 (unit for updating the cache memory). This is because the configuration of the SDRAM I / F 3 can be shared between the CPU 2 and the DMA transfer device 1 and can be simplified. In this embodiment, the cache fill size is also assumed to be 16 bytes.

【0012】SDRAM I/F3は、DMA転送装置
1、CPU2からバス上に送出されるアクセス信号群
(アドレス、データ、各種制御信号)を、SDRAM4
の入出力仕様に変換してSDRAM4をアクセスする。
CPU2は、内部にキャッシュメモリを有し、情報処理
装置全体の制御を行ない、DMA転送要求をDMA転送
装置1に設定する。図1におけるDMA転送は、SDR
AM4からSDRAM4への(つまりSDRAM4内の
異なる記憶領域間)転送と、SDRAM4とI/O部5
との間の転送と、SDRAM4とMPEGデコーダ(図
外)との間の転送等がある。
The SDRAM I / F 3 transfers an access signal group (address, data, various control signals) sent from the DMA transfer device 1 and the CPU 2 onto the bus to the SDRAM 4.
, And accesses the SDRAM 4.
The CPU 2 has a cache memory therein, controls the entire information processing apparatus, and sets a DMA transfer request to the DMA transfer apparatus 1. The DMA transfer in FIG.
Transfer from the AM 4 to the SDRAM 4 (that is, between different storage areas in the SDRAM 4), the SDRAM 4 and the I / O unit 5
And the transfer between the SDRAM 4 and the MPEG decoder (not shown).

【0013】DMA転送装置1は、SDRAM4の異な
る記憶領域間、SDRAM4とI/O部5間等でDMA
転送を行なう。その際、DMA転送装置1は、転送元又
は転送先がSDRAM4である場合には、SDRAM4
中の転送対象の領域内に存在するページ境界より区切ら
れる部分領域を判別し、部分領域毎に対して高速ページ
アクセスにより連続的にアクセスを行なう。 <DMA転送装置1の構成>図2は、DMA転送装置1
の構成を示すブロック図である。同図のようにDMA転
送装置1は、モード設定部100、読み出し管理部20
0、読み出し決定部210、書き込み管理部300、書
き込み決定部310、アクセス決定部110、アクセス
制御部120、バッファ130を備えて構成される。図
中の矢線に付与された()内は、当該符号のレジスタ類
の内容が入出力されることを意味する。
The DMA transfer device 1 performs DMA transfer between different storage areas of the SDRAM 4, between the SDRAM 4 and the I / O unit 5, and the like.
Perform a transfer. At this time, when the transfer source or the transfer destination is the SDRAM 4, the DMA transfer device 1
A partial area demarcated from a page boundary existing in the area to be transferred is determined, and continuous access is made to each partial area by high-speed page access. <Configuration of DMA Transfer Apparatus 1> FIG.
FIG. 3 is a block diagram showing the configuration of FIG. As shown in the figure, the DMA transfer device 1 includes a mode setting unit 100, a read management unit 20
0, a read determination unit 210, a write management unit 300, a write determination unit 310, an access determination unit 110, an access control unit 120, and a buffer 130. The parentheses () attached to the arrows in the figure mean that the contents of the registers with the corresponding codes are input / output.

【0014】モード設定部100は、CPU2から設定
されるDMA転送要求を保持するレジスタ101〜10
5を備える。ここで、DMA転送要求は、SDRAM4
の異なる領域間や、SDRAM4とI/O部5間でCP
U2を介さないDMA転送を要求する各種パラメータを
含む。各種パラメータは、(1)DMA転送サイズ、(2)読
み出し先頭アドレス、(3)書き込み先頭アドレス、(4)ア
ドレッシングモード、(5)アクセスサイズ等を含む。こ
こで(1)「転送サイズ」はDMA転送すべき全データ長
(バイト数とする)を示す。(2)「読み出し先頭アドレ
ス」は転送元(SDRAM4やI/O部5等)に記憶さ
れた転送すべきデータの先頭アドレスを指す。(3)「書
き込み先頭アドレス」は転送先(SDRAM4やI/O
部5等)の先頭アドレスを指す。(4)「アドレッシング
モード」は、転送元、転送先のそれぞれについてアドレ
ス昇順にアクセスするかアドレス固定でアクセスするか
を示す。(5)「アクセスサイズ」は、転送元、転送先の
それぞれについて1回のアクセスで読み出し又は書き込
むべきデータサイズを指す。本実施の形態では、アクセ
スサイズは32ビットであるものとする。
The mode setting unit 100 includes registers 101 to 10 for holding a DMA transfer request set by the CPU 2.
5 is provided. Here, the DMA transfer request is sent to the SDRAM 4
Between the SDRAM 4 and the I / O unit 5
It includes various parameters for requesting a DMA transfer not via U2. The various parameters include (1) DMA transfer size, (2) read start address, (3) write start address, (4) addressing mode, (5) access size, and the like. Here, (1) “transfer size” indicates the total data length (the number of bytes) to be DMA-transferred. (2) The “read start address” indicates a start address of data to be transferred stored in the transfer source (the SDRAM 4, the I / O unit 5, or the like). (3) The “write start address” is the transfer destination (SDRAM4 or I / O
Part 5). (4) The "addressing mode" indicates whether to access the transfer source and the transfer destination in ascending address or fixed address. (5) “Access size” indicates the data size to be read or written by one access for each of the transfer source and the transfer destination. In the present embodiment, it is assumed that the access size is 32 bits.

【0015】レジスタ101〜105は、順に転送サイ
ズ、読み出し先頭アドレス、書き込み先頭アドレス、ア
ドレッシングモード、アクセスサイズを保持し、DMA
転送要求によるDMA転送終了後にクリアされる。以下
ではレジスタ101〜103の各保持内容を、TRANSFER
_SIZE_101、SRC_A_102、DST_A_103と略記する。読み出
し管理部200は、TRANSFER_SIZE_101とSRC_A_10とで
特定される転送元記録領域内における、未読み出しのデ
ータの先頭アドレス(以下REMAIN_R_A_201と略す)と、
未読み出しのデータサイズ(以下REMAIN_R_SIZE_202と
略す)とを管理する。そのため、読み出し管理部200
はアドレスカウンタ201とデータカウンタ202とを
備える。
The registers 101 to 105 hold a transfer size, a read start address, a write start address, an addressing mode, and an access size in order.
It is cleared after the end of the DMA transfer by the transfer request. Hereinafter, the contents held in the registers 101 to 103 will be referred to as TRANSFER.
_SIZE_101, SRC_A_102, DST_A_103. The read management unit 200 determines the start address of unread data (hereinafter abbreviated as REMAIN_R_A_201) in the transfer source recording area specified by TRANSFER_SIZE_101 and SRC_A_10,
It manages the unread data size (hereinafter abbreviated as REMAIN_R_SIZE_202). Therefore, the read management unit 200
Has an address counter 201 and a data counter 202.

【0016】アドレスカウンタ201は、DMA転送要
求がモード設定部100に発行されたときに、レジスタ
102から入力されるSRC_A_102をREMAIN_R_A_201の初
期値として保持し、さらに、アドレッシングモードがア
ドレス昇順である場合には、読み出しを完了した部分領
域のバイト数についての通知を読み出し決定部210か
ら受ける毎に、通知されたバイト数をREMAIN_R_A_201に
加算することにより、REMAIN_R_A_201が次の部分領域の
先頭アドレスを指すように更新する。上記の読み出しを
完了した部分領域のバイト数は、アクセス制御部120
によって転送元の部分領域のデータが読み出されバッフ
ァ130へ格納された時点で、読み出し決定部210か
ら通知される。一方、アドレッシングモードがアドレス
固定である場合には、アドレスカウンタ201は、レジ
スタ102から入力されるSRC_A_102を記憶したままD
MA転送中に更新しない。
The address counter 201 holds the SRC_A_102 input from the register 102 as the initial value of the REMAIN_R_A_201 when the DMA transfer request is issued to the mode setting unit 100. Further, when the addressing mode is in the ascending address order, By adding the notified number of bytes to REMAIN_R_A_201 each time a notification about the number of bytes of the partial area that has been read is received from the read determination unit 210, the REMAIN_R_A_201 points to the start address of the next partial area. Update. The number of bytes of the partial area for which the reading has been completed is determined by the access control unit 120.
When the data of the transfer source partial area is read and stored in the buffer 130, the read determination unit 210 notifies. On the other hand, when the addressing mode is the fixed address, the address counter 201 stores the SRC_A_102 input from the register 102,
Do not update during MA transfer.

【0017】データカウンタ202は、DMA転送要求
がモード設定部100に発行されたときに、TRANSFER_S
IZE_101をREMAIN_R_SIZE_202の初期値として保持し、さ
らに、読み出しを完了した部分領域のバイト数が読み出
し決定部210から通知される毎に、REMAIN_R_SIZE_20
2から当該バイト数を減算することにより更新する。そ
の結果、REMAIN_R_SIZE_202は、TRANSFER_SIZE_101の内
の未読み出しのデータサイズを表すことになる。
When a DMA transfer request is issued to the mode setting unit 100, the data counter 202
IZE_101 is held as the initial value of REMAIN_R_SIZE_202, and every time the read determination unit 210 notifies the number of bytes of the read-completed partial area, REMAIN_R_SIZE_20
Update by subtracting the number of bytes from 2. As a result, REMAIN_R_SIZE_202 indicates the unread data size in TRANSFER_SIZE_101.

【0018】読み出し決定部210は、部分領域判定部
211、アドレスレジスタ212、サイズレジスタ21
3とを備え、DMA転送要求がモード設定部100に発
行された後、REMAIN_R_A_201及びREMAIN_R_SIZE_202に
より特定される未読み出しデータの記憶領域内におけ
る、ページ境界により区切られる部分領域を判別し、判
別した部分領域毎の先頭アドレス(以下PARTIAL_R_A_21
2と略す。)をアドレスレジスタ212に、判別した部
分領域のサイズ(PARTIAL_R_SIZE_213)をサイズレジス
タ213に設定する。設定後、読み出し決定部210
は、アクセス制御部120から当該部分領域の読み出し
およびバッファ130への格納を完了した旨の通知を受
けると、サイズレジスタ213のPARTIAL_R_SIZE_213
を、読み出しを完了した部分領域のサイズとして読み出
し管理部200に通知し、再度上記と同様にして次の部
分領域を判別してアドレスレジスタ212、サイズレジ
スタ213に設定する。
The read determining section 210 includes a partial area determining section 211, an address register 212, and a size register 21.
After a DMA transfer request is issued to the mode setting unit 100, a partial area delimited by a page boundary in a storage area of unread data specified by REMAIN_R_A_201 and REMAIN_R_SIZE_202 is determined, and the determined partial area is determined. Start address of each (hereinafter PARTIAL_R_A_21
Abbreviated as 2. ) Is set in the address register 212, and the size of the determined partial area (PARTIAL_R_SIZE_213) is set in the size register 213. After the setting, the read determination unit 210
Upon receiving notification from the access control unit 120 that the reading of the partial area and the storage in the buffer 130 have been completed, the PARTIAL_R_SIZE_213 of the size register 213
Is notified to the read management unit 200 as the size of the partial area for which reading has been completed, and the next partial area is determined again and set in the address register 212 and the size register 213 as described above.

【0019】図3に、読み出し決定部210によって判
別される部分領域の一例を示す。同図は、SDRAM4
中の転送元の記憶領域を示している。この転送元の記憶
領域は、500C(16進)番地から始まる28バイト
分の記憶領域、つまり、SRC_A_102が500C番地、TRA
NSFER_SIZE_101が28バイト(7ワード:図中の〜
)であるものとする。SDRAM4のページサイズは
16バイト(4ワード)であるので、転送すべきデータ
(図中の〜の7ワード)は3つのページに跨って格
納される。
FIG. 3 shows an example of a partial area determined by the read determination unit 210. The figure shows SDRAM4
The storage area of the transfer source in FIG. The storage area of this transfer source is a storage area of 28 bytes starting from the address 500C (hexadecimal), that is, the SRC_A_102 has the address 500C and the TRA
NSFER_SIZE_101 is 28 bytes (7 words: ~ in the figure)
). Since the page size of the SDRAM 4 is 16 bytes (4 words), the data to be transferred (7 words in the figure) is stored over three pages.

【0020】この場合、読み出し決定部210は、次の
第1〜第3の部分領域を順に判別する。第1の部分領域
は(PARTIAL_R_A_212、PARTIAL_R_SIZE_213)=(500C,
4)で表されるワードの記憶領域である。第2の部分領
域は(5010,16)で表されるワード〜の記憶領域であ
る。第3の部分領域は(5020,8)で表されるワードの
記憶領域である。このように各部分領域は、ページ境界
を含まないので高速ページアクセスに適している。
In this case, the read determination unit 210 determines the next first to third partial areas in order. The first partial area is (PARTIAL_R_A_212, PARTIAL_R_SIZE_213) = (500C,
This is the storage area for the word represented by 4). The second partial area is a storage area of a word or more represented by (5010, 16). The third partial area is a storage area for the word represented by (5020,8). Since each partial area does not include a page boundary, it is suitable for high-speed page access.

【0021】書き込み管理部300は、TRANSFER_SIZE_
101とDST_A_103とで特定される転送先記録領域内におけ
る、未書き込み領域の先頭アドレス(REMAIN_W_A_301と
略す)と、未書き込みデータサイズ(REMAIN_W_SIZE_30
2と略す)とを管理する。そのため、書き込み管理部3
00はアドレスカウンタ301とデータカウンタ302
とを備える。
The write management unit 300 transfers
In the transfer destination recording area specified by 101 and DST_A_103, the start address of the unwritten area (abbreviated as REMAIN_W_A_301) and the unwritten data size (REMAIN_W_SIZE_30)
2). Therefore, the write management unit 3
00 is an address counter 301 and a data counter 302
And

【0022】アドレスカウンタ301は、DMA転送要
求がモード設定部100に発行されたときに、レジスタ
103から入力されるDST_A_103をの初期値として保持
し、さらに、アドレッシングモードがアドレス昇順であ
る場合には、書き込みを完了した部分領域のバイト数に
ついての通知を書き込み決定部310から受ける毎に、
通知されたバイト数をREMAIN_W_A_301に加算することに
より、REMAIN_W_A_301が次の部分領域の先頭アドレスを
指すように更新する。上記の書き込みを完了した部分領
域のバイト数は、アクセス制御部120によって転送先
の部分領域にデータが書き込まれた時点で、書き込み決
定部310から通知される。一方、アドレッシングモー
ドがアドレス固定である場合には、アドレスカウンタ3
01は、レジスタ103から入力されるDST_A_103を記
憶したままDMA転送中は更新しない。
The address counter 301 holds DST_A_103 input from the register 103 as an initial value when a DMA transfer request is issued to the mode setting unit 100. Further, when the addressing mode is in the ascending address order, Each time a notification about the number of bytes of the partial area for which writing has been completed is received from the writing determination unit 310,
By adding the notified number of bytes to REMAIN_W_A_301, REMAIN_W_A_301 is updated so as to point to the start address of the next partial area. The write determining unit 310 notifies the number of bytes of the partial area for which the writing has been completed when the access control unit 120 writes data in the partial area of the transfer destination. On the other hand, if the addressing mode is fixed, the address counter 3
01 is not updated during DMA transfer while DST_A_103 input from the register 103 is stored.

【0023】データカウンタ302は、DMA転送要求
がモード設定部100に発行されたときに、TRANSFER_S
IZE_101をREMAIN_W_SIZE_302の初期値として保持し、さ
らに、書き込みを完了した部分領域のバイト数が書き込
み決定部310から通知される毎に、REMAIN_W_SIZE_30
2から当該バイト数を減算することにより更新する。そ
の結果、REMAIN_R_SIZE_202は、TRANSFER_SIZE_101の内
の未読み出しのデータサイズを表すことになる。
When a DMA transfer request is issued to the mode setting unit 100, the data counter 302
IZE_101 is held as the initial value of REMAIN_W_SIZE_302, and each time the number of bytes of the partial area for which writing has been completed is notified from the writing determination unit 310, REMAIN_W_SIZE_30
Update by subtracting the number of bytes from 2. As a result, REMAIN_R_SIZE_202 indicates the unread data size in TRANSFER_SIZE_101.

【0024】書き込み決定部310は、部分領域判定部
311、アドレスレジスタ312、サイズレジスタ31
3を備え、DMA転送要求がモード設定部100に発行
された後、REMAIN_W_A_301及びREMAIN_W_SIZE_302によ
り特定される未書き込みの記憶領域内における、ページ
境界により区切られる部分領域を判別し、判別した部分
領域毎の先頭アドレス(以下PARTIAL_W_A_312と略す)
をアドレスレジスタ312に、判別した部分領域のサイ
ズ(以下PARTIAL_W_SIZE_313と略す)をサイズレジスタ
313に設定する。設定後、アクセス制御部120から
当該部分領域への書き込みを完了した旨の通知を受ける
と、サイズレジスタ313のPARTIAL_W_SIZE_313を、書
き込みを完了したサイズとして書き込み管理部300に
通知し、再度上記と同様にして次の部分領域を判別して
アドレスレジスタ312、サイズレジスタ313に次の
部分領域を設定する。
The write determining section 310 includes a partial area determining section 311, an address register 312, and a size register 31.
After the DMA transfer request is issued to the mode setting unit 100, a partial area delimited by a page boundary in the unwritten storage area specified by REMAIN_W_A_301 and REMAIN_W_SIZE_302 is determined, and for each of the determined partial areas, Start address (hereinafter abbreviated as PARTIAL_W_A_312)
Is set in the address register 312 and the size of the determined partial area (hereinafter abbreviated as PARTIAL_W_SIZE_313) is set in the size register 313. After the setting, when a notification that the writing to the partial area is completed is received from the access control unit 120, the PARTIAL_W_SIZE_313 of the size register 313 is notified to the write management unit 300 as the size of the completed writing, and the same as above Then, the next partial area is set in the address register 312 and the size register 313 by determining the next partial area.

【0025】図4に、書き込み決定部310によって判
別される部分領域の一例を示す。同図は、SDRAM4
中の転送先の記憶領域の一部分を示している。この転送
先記憶領域は、6008番地から始まる28バイト分の記憶
領域、つまり、DST_A_103が6008(16進)番地、TRANS
FER_SIZE_101が28バイト(7ワード:図中の〜)
であるものとする。SDRAM4のページサイズは16
バイト(4ワード)であるので、転送先の記憶領域(図
中の〜)は3つのページに跨って格納されている。
FIG. 4 shows an example of a partial area determined by the write decision unit 310. The figure shows SDRAM4
3 shows a part of the storage area of the transfer destination in FIG. This transfer destination storage area is a storage area of 28 bytes starting from address 6008, that is, DST_A_103 is located at address 6008 (hexadecimal),
FER_SIZE_101 is 28 bytes (7 words: ~ in the figure)
It is assumed that The page size of SDRAM4 is 16
Since it is a byte (4 words), the storage area (-in the figure) of the transfer destination is stored over three pages.

【0026】この場合、書き込み決定部310は、次の
第4〜第6の部分領域を順に判別する。第4の部分領域
は(PARTIAL_W_A_302、PARTIAL_W_SIZE_303)=(6008,
8)で表されるワードの記憶領域である。第5の部分
領域は(6010,16)で表されるワード〜の記憶領域で
ある。第6の部分領域は(6020,4)で表されるワードの
記憶領域である。このように各部分領域は、ページ境界
を含まないので高速ページアクセスに適している。
In this case, the write determining section 310 sequentially determines the next fourth to sixth partial areas. The fourth partial area is (PARTIAL_W_A_302, PARTIAL_W_SIZE_303) = (6008,
This is the storage area for the word represented by 8). The fifth partial area is a storage area of a word or more represented by (6010, 16). The sixth partial area is a storage area for the word represented by (6020,4). Since each partial area does not include a page boundary, it is suitable for high-speed page access.

【0027】アクセス決定部110は、バッファ管理部
111、リード/ライト決定部112を備え、読み出し
決定部210によって決定された転送元の部分領域から
の読み出し及びバッファ130への格納(以下リードと
略す)と、バッファ130に格納されたデータの読み出
し及び書き込み決定部310によって決定された転送先
の部分領域への書き込み(以下ライトと略す)のうちど
ちらをアクセス制御部120に実行させるかを、バッフ
ァ130のデータ量に応じて決定する。
The access determination unit 110 includes a buffer management unit 111 and a read / write determination unit 112. The access determination unit 110 reads from the transfer source partial area determined by the read determination unit 210 and stores it in the buffer 130 (hereinafter abbreviated as read). ) And writing (hereinafter abbreviated as “write”) of the data stored in the buffer 130 to the transfer destination partial area determined by the write determining unit 310. 130 is determined according to the data amount.

【0028】バッファ管理部111は、REMAIN_R_SIZE_
202とREMAIN_W_SIZE_302とが入力され、REMAIN_R_SIZE_
202からREMAIN_W_SIZE_302を減算することにより、バッ
ファ130に一時的に保持されているデータ量を算出す
る。リード/ライト決定部112は、バッファ管理部1
11に算出されたデータ量がPARTIAL_W_SIZE_313よりも
小さい場合には、アクセス制御部120に読み出しを実
行させると決定し、そうでない場合には、ライトをアク
セス制御部120に実行させると決定する。
The buffer management unit 111 has a REMAIN_R_SIZE_
202 and REMAIN_W_SIZE_302 are entered, and REMAIN_R_SIZE_
By subtracting REMAIN_W_SIZE_302 from 202, the amount of data temporarily held in the buffer 130 is calculated. The read / write determination unit 112 is a buffer management unit 1
If the data amount calculated in 11 is smaller than PARTIAL_W_SIZE_313, it is determined that the access control unit 120 performs reading, and if not, it is determined that the access control unit 120 performs writing.

【0029】アクセス制御部120は、リード/ライト
決定部112に決定に従って、読み出し決定部210に
より転送元の部分領域からデータを読み出してバッファ
130への格納し、また、バッファ130に格納された
データを読み出して書き込み決定部310によって決定
された転送先の部分領域への書き込みを行なう。バッフ
ァ130は、転送元から読み出されたデータを一時的に
保持し、さらに転送先に書き込まれた時点で消去され
る。バッファ130のサイズは、32バイト(2ページ
分)とする。 <部分領域判定部211の構成例>図5は、部分領域判
定部211の詳細な構成例を示すブロック図である。同
図のように部分領域判定部211は、減算器211a、
比較器211b、セレクタ211cとからなる。
The access control unit 120 reads data from the partial area of the transfer source by the read determination unit 210 and stores it in the buffer 130 according to the determination by the read / write determination unit 112, and also stores the data stored in the buffer 130. Is read and written in the partial area of the transfer destination determined by the write determination unit 310. The buffer 130 temporarily holds data read from the transfer source, and is erased when the data is further written to the transfer destination. The size of the buffer 130 is 32 bytes (for two pages). <Example of Configuration of Partial Region Determining Unit 211> FIG. 5 is a block diagram showing a detailed example of the configuration of the partial region determining unit 211. As shown in the figure, the partial area determination unit 211 includes a subtractor 211a,
It comprises a comparator 211b and a selector 211c.

【0030】減算器211aは、ページサイズに相当す
る定数(10H)から、REMAIN_R_A_201の下位4ビット
を減算する。この減算結果は、REMAIN_R_A_201から直近
のページ境界までのバイト数を意味し、本実施の形態で
は図6に示すように4種類の値の何れかになる。比較器
211bは、減算結果のバイト数(図中のA)と、REMA
IN_R_SIZE_202(図中のB)との大小関係を比較する。
The subtractor 211a subtracts the lower 4 bits of REMAIN_R_A_201 from a constant (10H) corresponding to the page size. This subtraction result indicates the number of bytes from REMAIN_R_A_201 to the nearest page boundary, and in this embodiment, is one of four types of values as shown in FIG. The comparator 211b calculates the number of bytes of the subtraction result (A in the figure) and the REMA
Compare the magnitude relation with IN_R_SIZE_202 (B in the figure).

【0031】セレクタ211cは、REMAIN_R_SIZE_202
の方が減算結果よりも大きい場合には減算結果を選択
し、そうでない場合(つまり未読み出しのデータが直近
のページ境界より手前までしか存在しない場合)にはRE
MAIN_R_SIZE_202を選択し、選択結果を次に読み出すべ
き部分領域のデータサイズPARTIAL_R_SIZE_213としてサ
イズレジスタ213に出力する。
The selector 211c operates as follows: REMAIN_R_SIZE_202
Is larger than the subtraction result, select the subtraction result. Otherwise (that is, if unread data exists only before the nearest page boundary), select RE.
MAIN_R_SIZE_202 is selected, and the selection result is output to the size register 213 as the data size PARTIAL_R_SIZE_213 of the partial area to be read next.

【0032】このようにして1つの部分領域のデータサ
イズが決定される。また部分領域の先頭アドレスは、RE
MAIN_R_A_201(アドレスカウンタ201によって更新さ
れる)がそのものである。REMAIN_R_A_201は、セレクタ
211cの出力がサイズレジスタ213に設定されるの
と同時に、PARTIAL_R_A_212としてアドレスレジスタ2
12に設定される。 <部分領域判定部311>部分領域判定部311も図
7、8に示すような構成により転送先の部分領域を順次
判別する。図7、8は、図5、図6に示した部分領域判
定部211とほぼ同様の構成であるので、説明を省略す
る。 <動作説明>以上のように構成された本発明の第1の実
施の形態におけるDMA転送装置1について、その動作
を説明する。
Thus, the data size of one partial area is determined. The start address of the partial area is RE
MAIN_R_A_201 (updated by the address counter 201) is itself. REMAIN_R_A_201 sets the address register 2 as PARTIAL_R_A_212 at the same time that the output of the selector 211c is set in the size register 213.
It is set to 12. <Partial area determination section 311> The partial area determination section 311 also sequentially determines the partial area of the transfer destination by the configuration as shown in FIGS. FIGS. 7 and 8 have substantially the same configuration as the partial area determination unit 211 shown in FIGS. <Description of Operation> The operation of the DMA transfer device 1 according to the first embodiment of the present invention configured as described above will be described.

【0033】図9は、図3、4に示した転送元、転送先
の記憶領域間において、DMA転送する様子を示す説明
図である。この場合、CPU2は、モード設定部100
にTDMA転送要求として、TRANSFER_SIZE_101=28
(バイト、10進)、SRC_A_102=500C(16
進)、DST_A_103=6008(16進)を設定し、レジ
スタ104にはアドレッシングモードとして転送元、転
送先ともにアドレス昇順を、レジスタ105にはアクセ
スサイズとして4バイト)を設定する。
FIG. 9 is an explanatory diagram showing a state in which DMA transfer is performed between the transfer source and transfer destination storage areas shown in FIGS. In this case, the CPU 2
TRANSFER_SIZE_101 = 28 as a TDMA transfer request
(Byte, decimal), SRC_A_102 = 500C (16
Hexadecimal), DST_A_103 = 6008 (hexadecimal), the addressing mode is set in the register 104 for both the transfer source and the transfer destination in ascending order, and the register 105 is set to 4 bytes as the access size.

【0034】この設定を受けて、DMA転送装置1は、
転送元の記憶領域からの読み出し(SDRAM4→バッ
ファ130)を同図の(1)(2)(4)の部分領域毎
に、転送先の記憶領域への書き込み(バッファ130→
SDRAM4)を同図の(3)(5)(6)の部分領域
毎に、数字の順に行なう。図10は、図9のDMA転送
のタイミングを示すタイムチャートである。同図におい
て、XBRDはリード信号(負論理)、XBWTはライト信号
(負論理)、ADRはアドレス、SIZEはアクセスサイズ、D
ATAはリード/ライトデータ、XACKはアクノリッジ信号
を意味する。これらの信号は、アクセス制御部120と
SDRAMI/F3との間で入出力される。以下、順を
追って説明する。
In response to this setting, the DMA transfer device 1
Reading from the storage area of the transfer source (SDRAM 4 → buffer 130) is performed for each partial area of (1), (2) and (4) in FIG.
SDRAM 4) is performed in the numerical order for each of the partial areas (3), (5), and (6) in FIG. FIG. 10 is a time chart showing the timing of the DMA transfer of FIG. In the figure, XBRD is a read signal (negative logic), XBWT is a write signal (negative logic), ADR is address, SIZE is access size, D
ATA indicates read / write data, and XACK indicates an acknowledge signal. These signals are input and output between the access control unit 120 and the SDRAM I / F3. Hereinafter, description will be made in order.

【0035】(1) DMA転送要求の設定により読み
出し管理部200は、REMAIN_R_A_201=500C(16
進)、REMAIN_R_SIZE_202=28(10進)を初期値と
して保持する。また、書き込み管理部300は、REMAIN
_W_A_301=6008、REMAIN_W_SIZE_302=28を初期
値として保持する。読み出し決定部210は、読み出し
管理部200のREMAIN_R_A_201、REMAIN_R_SIZE_202及
びアドレッシングモード(アドレス昇順)、アクセスサ
イズに基づいて、最初の部分領域のサイズを判別する。
最初の部分領域は、図5の転送元のワードを記憶する
領域と判別され、その結果、アドレスレジスタ212、
サイズレジスタ213は、PARTIAL_R_A_212=500C
(16進)、PARTIAL_R_SIZE_213=4(10進)に設定
される。
(1) In response to the setting of the DMA transfer request, the read management unit 200 sets REMAIN_R_A_201 = 500C (16
), REMAIN_R_SIZE_202 = 28 (decimal) are held as initial values. In addition, the write management unit 300
_W_A_301 = 6008 and REMAIN_W_SIZE_302 = 28 are held as initial values. The read determination unit 210 determines the size of the first partial area based on REMAIN_R_A_201, REMAIN_R_SIZE_202, the addressing mode (in ascending order of address), and the access size of the read management unit 200.
The first partial area is determined to be an area for storing the source word in FIG. 5, and as a result, the address register 212,
The size register 213 has PARTIAL_R_A_212 = 500C
(Hexadecimal), PARTIAL_R_SIZE_213 = 4 (decimal).

【0036】これと並行して、書き込み決定部310
は、同様に、転送先のワードの記憶領域を最初の部
分領域と判別し、アドレスレジスタ312にPARTIAL_W_
A_312=6008を、サイズレジスタ313にPARTIAL_W
_SIZE_313=8を設定する。このようにして転送元の部
分領域と転送先の部分領域とが設定された後、アクセス
決定部110は、バッファ管理部111により管理され
ているバッファ130のデータ量が0なので、読み出し
決定部210により設定された転送元の部分領域の読み
出しをアクセス制御部120に指示する。
In parallel with this, the write decision unit 310
Similarly determines the storage area of the transfer destination word as the first partial area, and stores the PARTIAL_W_
A_312 = 6008 is stored in the size register 313 as PARTIAL_W
_SIZE_313 = 8 is set. After the transfer source partial area and the transfer destination partial area are set in this manner, the access determining unit 110 determines that the data amount of the buffer 130 managed by the buffer managing unit 111 is 0, and thus the read determining unit 210 The access control unit 120 is instructed to read the partial area of the transfer source set by (1).

【0037】この指示を受けてアクセス制御部120
は、転送元の最初の部分領域(図中のワードを記憶す
る領域)からデータを読み出しバッファ130に書き込
む(図9、図10の(1))。 (2) 転送元の最初の部分領域(ワード)の読み出
し完了後、アクセス制御部120は、読み出し決定部2
10に読み出しを完了した旨を通知し、さらに読み出し
決定部210は、PARTIAL_R_SIZE_213を読み出しを完了
したサイズとして読み出し管理部200に通知する。
In response to this instruction, access control unit 120
Reads data from the first partial area of the transfer source (area storing words in the figure) and writes it to the buffer 130 ((1) in FIGS. 9 and 10). (2) After reading of the first partial area (word) of the transfer source is completed, the access control unit 120 reads the read determination unit 2
10, the read determination unit 210 notifies the read management unit 200 of PARTIAL_R_SIZE_213 as the read completed size.

【0038】この通知により、読み出し管理部200
は、REMAIN_R_A_201、REMAIN_R_SIZE_202を、5010
h、24(バイト)に更新する。一方書き込み決定部3
10は、アクセス制御部120から書き込みを完了した
旨の通知を受けていないので、更新することなくPARTIA
L_W_A_312=6008、PARTIAL_W_SIZE_313=8のまま
である。
In response to this notification, the read management unit 200
Sets REMAIN_R_A_201 and REMAIN_R_SIZE_202 to 5010
h, updated to 24 (bytes). On the other hand, write decision unit 3
10 does not receive a notification from the access control unit 120 that the writing has been completed, and
L_W_A_312 = 6008 and PARTIAL_W_SIZE_313 = 8 remain.

【0039】この時点でアクセス決定部110は、バッ
ファ130に1ワードしか格納されていないので、読み
出し決定部210により設定された転送元の部分領域の
読み出しをすると決定し、その旨をアクセス制御部12
0に指示する。この指示を受けてアクセス制御部120
は、転送元の2番目の部分領域(ワード〜)からデ
ータを高速ページアクセスにより読み出してバッファ1
30に書き込む(図9、図10の(2))。
At this point, since only one word is stored in the buffer 130, the access determining unit 110 determines to read the partial area of the transfer source set by the reading determining unit 210, and instructs the access control unit 110 to that effect. 12
Indicate 0. Upon receiving this instruction, the access control unit 120
Reads data from the second partial area (words) of the transfer source by high-speed page access, and
30 ((2) in FIGS. 9 and 10).

【0040】(3)転送元の2番目の部分領域の読み出
し完了後、読み出し管理部200、読み出し決定部21
0は、REMAIN_R_A_201=5020(16進)、REMAIN_R
_SIZE_202=8(10進)、PARTIAL_R_A_212=5020
(16進)、PARTIAL_R_SIZE_213 サイズレジスタ21
3=8に更新する。この時点でアクセス決定部110
は、バッファ130に5ワード格納されていなるので、
書き込み決定部310により設定された転送先の最初の
部分領域の読み出しをすると決定し、その旨をアクセス
制御部120に指示する。
(3) After the reading of the second partial area of the transfer source is completed, the reading management unit 200 and the reading determining unit 21
0 is REMAIN_R_A_201 = 5020 (hexadecimal), REMAIN_R
_SIZE_202 = 8 (decimal), PARTIAL_R_A_212 = 5020
(Hex), PARTIAL_R_SIZE_213 size register 21
Update to 3 = 8. At this point, the access determination unit 110
Is stored in the buffer 130 as 5 words.
The write decision unit 310 decides to read the first partial area of the transfer destination, and instructs the access control unit 120 to that effect.

【0041】この指示を受けてアクセス制御部120
は、バッファ130からデータを読み出し転送先の最初
の部分領域(ワード)に連続アクセスにより書き込
む(図9、図10の(3))。(4)〜(6)以下、同
様にDMA転送装置1は図9、図10の(4)の部分領
域の読み出し、(5)の部分領域の書き込み、(6)の
部分領域の書き込みを順次行なう。
In response to this instruction, the access control unit 120
Reads data from the buffer 130 and writes the data in the first partial area (word) of the transfer destination by continuous access ((3) in FIGS. 9 and 10). (4) to (6) Hereinafter, similarly, the DMA transfer device 1 sequentially reads the partial area (4), writes the partial area (5), and writes the partial area (6) in FIGS. Do.

【0042】このように、DMA転送装置1は図9の
(2)の読み出し、(3)の書き込み(4)の読み出
し、(5)の書き込みでは、高速ページアクセスを行な
う。つまり、DMA転送装置1転送元、転送先それぞれ
について、最初と最後の部分領域以外の部分領域に対し
ては1ページを単位として高速ページアクセスを行い、
また、最初と最後の部分領域でも2ワード以上の場合に
高速ページアクセスを行なう。これにより、DMA転送
装置1は高速にDMA転送を完了することができる。ま
た、バッファ130の記憶容量は少なくとも2ページ分
(より正確には(2ページのサイズ)−(1ワード))
だけでよい。
As described above, the DMA transfer device 1 performs high-speed page access in (2) reading, (3) writing (4) reading, and (5) writing in FIG. That is, for the transfer source and the transfer destination of the DMA transfer apparatus 1, high-speed page access is performed in units of one page for partial areas other than the first and last partial areas,
In addition, high-speed page access is performed when there are two or more words in the first and last partial areas. Thereby, the DMA transfer device 1 can complete the DMA transfer at a high speed. The storage capacity of the buffer 130 is at least two pages (more precisely, (size of two pages)-(one word)).
Just need.

【0043】なお、上記実施の形態では、転送元及び転
送先の両者がSDRAM4である場合を説明したが、い
すれか一方がSDRAM4である場合には、SDRAM
4に対して部分領域毎にアクセスすればよい。 <第2の実施の形態>本実施の形態のDMA転送システ
ムは、バッファ130を共用する複数のDMAチャネル
を有し、異なるDMAチャネルのDMA転送要求が競合
していない場合には、各DMAチャネルともに第1の実
施の形態と同様に部分領域毎にアクセスし、DMA転送
要求が競合する場合(DMA転送中により優先度の高い
他のDMAチャネルのDMA転送要求が発行された場
合)には、DMA転送を中断して、優先度の高いDMA
転送を実行してから、元のDMA転送を再開する。この
中断については、DMA転送システムは、優先度の低い
実行中のDMA転送のバッファに残されたデータを、部
分領域毎のアクセスではなくページ境界とは無関係に順
次転送先に書き込んでバッファを空にしてから、DMA
転送を中断する。
In the above embodiment, the case where both the transfer source and the transfer destination are the SDRAMs 4 has been described.
4 may be accessed for each partial area. <Second Embodiment> A DMA transfer system according to the present embodiment has a plurality of DMA channels sharing a buffer 130, and when DMA transfer requests of different DMA channels do not conflict, each DMA channel In both cases, access is made for each partial area as in the first embodiment, and when DMA transfer requests conflict (when a DMA transfer request of another DMA channel with higher priority is issued during DMA transfer), DMA transfer is interrupted, and DMA with higher priority
After executing the transfer, the original DMA transfer is restarted. Regarding this interruption, the DMA transfer system writes the data left in the buffer of the currently executing DMA transfer with a low priority to the transfer destination sequentially, irrespective of the page boundary, instead of accessing each partial area, and emptying the buffer. And then DMA
Interrupt transfer.

【0044】図11は、本発明の第2の実施の形態にお
けるDMA転送システムの構成を示すブロック図であ
る。このDMA転送システムは、DMAチャネル0に対
応するDMA転送装置6、DMAチャネル1に対応する
DMA転送装置7、バッファ130、アクセス要求調停
部1400から構成される。DMAチャネル1の優先度
はDMAチャネル0の優先度よりも高いものとする。
FIG. 11 is a block diagram showing a configuration of a DMA transfer system according to the second embodiment of the present invention. This DMA transfer system includes a DMA transfer device 6 corresponding to DMA channel 0, a DMA transfer device 7 corresponding to DMA channel 1, a buffer 130, and an access request arbitration unit 1400. It is assumed that the priority of the DMA channel 1 is higher than the priority of the DMA channel 0.

【0045】アクセス要求調停部1400は、DMA転
送装置6からのDMAチャネル0のアクセス要求と、D
MA転送装置7からのDMAチャネル1のアクセス要求
とが入力され、両者が競合する場合にはそれらを調停す
る。ここでアクセス要求とは、上記部分領域又はページ
境界を含むメモリ領域に対するリード又はライトの要求
をいう。
The access request arbitration unit 1400 receives the access request for the DMA channel 0 from the DMA transfer device 6 and
An access request for the DMA channel 1 from the MA transfer device 7 is input, and when the two conflict, they are arbitrated. Here, the access request refers to a request for reading or writing to the partial area or the memory area including the page boundary.

【0046】具体的には、アクセス要求調停部1400
は、DMA転送装置6、7にDMAチャネル0、1の未
完了のDMA転送要求が設定されているか否かを判定す
る。この判定は、例えば、書き込み管理部1300、書
き込み管理部2300にそれぞれ保持されている未書き
込みデータサイズ(REMAIN_W_SIZE_1302、REMAIN_W_SIZ
E_2302)が0であるか否かによる。
Specifically, access request arbitration unit 1400
Determines whether DMA transfer requests for DMA channels 0 and 1 have not been set in the DMA transfer devices 6 and 7. This determination is made based on, for example, the unwritten data sizes (REMAIN_W_SIZE_1302, REMAIN_W_SIZ) held in the write management unit 1300 and the write management unit 2300, respectively.
E_2302) is 0 or not.

【0047】判定の結果、一方のDMAチャネルのDM
A転送要求が設定されている場合には、アクセス要求調
停部1400は、そのチャネルのアクセス要求を受け付
け、SDRAM I/F3に出力する。DMAチャネル
1のDMA転送中により優先度の低いDMAチャネル0
のDMA転送要求が設定された場合、アクセス要求調停
部1400は、DMAチャネル1のDMA転送が完了し
てから、DMAチャネル0のアクセス要求を受け付け、
SDRAM I/F3に出力する。
As a result of the determination, the DM of one DMA channel
When the A transfer request is set, the access request arbitration unit 1400 accepts the access request of the channel and outputs the request to the SDRAM I / F3. DMA channel 0 of lower priority during DMA transfer of DMA channel 1
When the DMA transfer request of the DMA channel 0 is set, the access request arbitration unit 1400 accepts the access request of the DMA channel 0 after the DMA transfer of the DMA channel 1 is completed.
Output to SDRAM I / F3.

【0048】DMAチャネル0のDMA転送中により優
先度の高いDMAチャネル1のDMA転送要求が設定さ
れた場合、アクセス要求調停部1400は、DMA転送
装置6に中断指示を出力し、中断指示に応じてDMA転
送装置6からバッファ130が空になった旨の通知を受
けると、DMA転送装置7からDMAチャンネル1のア
クセス要求を受け付けSDRAM I/F3に出力す
る。これによりDMAチャネル1のD間転送が完了する
と、DMA転送装置6に再開指示を出力する。
When a DMA transfer request of the DMA channel 1 having a higher priority is set during the DMA transfer of the DMA channel 0, the access request arbitration unit 1400 outputs an interruption instruction to the DMA transfer device 6 and responds to the interruption instruction. When the DMA transfer device 6 receives a notification that the buffer 130 has become empty, the DMA transfer device 7 receives an access request for the DMA channel 1 and outputs it to the SDRAM I / F 3. As a result, when the inter-D transfer of the DMA channel 1 is completed, a restart instruction is output to the DMA transfer device 6.

【0049】DMA転送装置6は、モード設定部110
0、アクセス決定部1110、アクセス制御部112
0、読み出し管理部1200、読み出し決定部121
0、書き込み管理部1300、書き込み決定部1310
から構成される。このうちモード設定部1100、読み
出し管理部1200、読み出し決定部1210、書き込
み管理部1300は、図2に示したモード設定部10
0、読み出し管理部200、読み出し決定部210、書
き込み管理部300と同じ構成要素である。以下同じ構
成要素については説明を省略し、異なる点を中心に説明
する。
The DMA transfer device 6 includes a mode setting unit 110
0, access determination unit 1110, access control unit 112
0, read management unit 1200, read determination unit 121
0, write management unit 1300, write determination unit 1310
Consists of The mode setting unit 1100, the read management unit 1200, the read determination unit 1210, and the write management unit 1300 include the mode setting unit 10 shown in FIG.
0, the read management unit 200, the read determination unit 210, and the write management unit 300. Hereinafter, description of the same components will be omitted, and different points will be mainly described.

【0050】アクセス決定部1110は、図2に示した
アクセス決定部110と同じ機能を有し、加えて、アク
セス要求調停部1400からアクセス制御部1120を
介してDMA転送の中断指示、再開指示により転送中の
DMAを中断、再開するよう構成される。図12に示す
ようにアクセス決定部1110は、バッファ管理部11
11、リード/ライト決定部1112から構成される。
The access determining unit 1110 has the same function as the access determining unit 110 shown in FIG. 2, and additionally receives a DMA transfer interruption instruction and a restart instruction from the access request arbitration unit 1400 via the access control unit 1120. It is configured to suspend and resume the DMA being transferred. As shown in FIG. 12, the access determination unit 1110
11, a read / write determination unit 1112.

【0051】バッファ管理部1111は、図2に示した
バッファ管理部111と同様にバッファ130のデータ
量を管理する。リード/ライト決定部1112は、図2
に示したリード/ライト決定部112と比べて次の機能
が追加されている。すなわち、リード/ライト決定部1
112は、アクセス制御部1120から中断指示を受け
た場合に、以後リードを行なうという決定を行なわず、
部分領域判定部1311の動作を一時的に禁止し、バッ
ファ管理部1111に算出されたデータ量を書き込み決
定部1310に通知し、サイズレジスタ1313に当該
データ量を設定する。さらに、バッファ管理部1111
に算出されたデータ量が”0”になったとき、バッファ
130が空になった旨をアクセス制御部1120を介し
てアクセス要求調停部1400に通知する。
The buffer management unit 1111 manages the data amount of the buffer 130 in the same manner as the buffer management unit 111 shown in FIG. The read / write deciding unit 1112 is the
The following functions are added as compared with the read / write determination unit 112 shown in FIG. That is, the read / write determination unit 1
112, when receiving an interruption instruction from the access control unit 1120, does not decide to perform read thereafter,
The operation of the partial area determination unit 1311 is temporarily prohibited, the calculated data amount is notified to the buffer management unit 1111 to the write determination unit 1310, and the data amount is set in the size register 1313. Further, the buffer management unit 1111
When the calculated data amount becomes “0”, it notifies the access request arbitration unit 1400 via the access control unit 1120 that the buffer 130 has become empty.

【0052】また、リード/ライト決定部1112は、
DMA転送中にアクセス制御部1120から再開指示を
受けた場合に、部分領域判定部1311の動作禁止を解
除し、図2に示したリード/ライト決定部112と同様
の判定を行なう。書き込み決定部1310は、図12に
示すように部分領域判定部1311、アドレスレジスタ
1312、サイズレジスタ1313とからなる。
The read / write determining unit 1112
When a restart instruction is received from the access control unit 1120 during the DMA transfer, the operation prohibition of the partial area determination unit 1311 is released, and the same determination as the read / write determination unit 112 illustrated in FIG. 2 is performed. The write determining unit 1310 includes a partial area determining unit 1311, an address register 1312, and a size register 1313 as shown in FIG.

【0053】アドレスレジスタ1312、サイズレジス
タ1313は、図2に示したアドレスレジスタ312、
サイズレジスタ313と同じである。ただし、PARTIAL_
W_SIZE_313 サイズレジスタ1313は、リード/ライ
ト決定部1112が中断指示を受けたときは、リード/
ライト決定部1112からデータ量を直接設定される。
これにより、サイズレジスタ1313には、バッファ1
30に残っているデータのサイズが設定される。
The address register 1312 and the size register 1313 correspond to the address register 312 shown in FIG.
It is the same as the size register 313. However, PARTIAL_
W_SIZE_313 The size register 1313 indicates that the read / write determination unit 1112 has received a read / write
The data amount is directly set by the write determination unit 1112.
Thereby, the buffer 1 is stored in the size register 1313.
The size of the data remaining in 30 is set.

【0054】部分領域判定部1311は、リード/ライ
ト決定部1112により一時的に動作を禁止される点以
外は、図2に示した部分領域判定部311と同じであ
る。アクセス制御部1120は、図2に示したアクセス
制御部120の機能に加えて、アクセス要求調停部14
00から入力される中断指示及び再開指示をアクセス決
定部1110に出力し、アクセス決定部1110から入
力されるバッファ130が空になった旨の通知をアクセ
ス要求調停部1400に出力する。
The partial area determination section 1311 is the same as the partial area determination section 311 shown in FIG. 2 except that the operation is temporarily prohibited by the read / write determination section 1112. The access control unit 1120 has an access request arbitration unit 14 in addition to the functions of the access control unit 120 shown in FIG.
It outputs the suspend instruction and the resume instruction input from 00 to the access determining unit 1110, and outputs a notification to the effect that the buffer 130 is empty from the access determining unit 1110 to the access request arbitrating unit 1400.

【0055】DMA転送装置7は、モード設定部210
0、アクセス決定部2110、アクセス制御部212
0、読み出し管理部2200、読み出し決定部221
0、書き込み管理部2300、書き込み決定部2310
から構成される。この構成は、図2に示したDMA転送
装置1と同じ構成であるので説明を省略する。 <動作説明>図13は、本実施形態のDMA転送システ
ムにおけるDMA転送のタイミングを示すタイムチャー
トである。同図において、XBRD、XBWT、ADR、SIZE、DAT
A、XACKは図10と同じである。同図では、DMA転送
装置6(DMAチャネル0)には図3、4、10と同様
のDMA転送要求が設定され、同図のT1のタイミング
でDMA転送装置7(DMAチャネル1)に他のDMA
転送要求が設定された場合のタイミングを示す。
The DMA transfer device 7 includes a mode setting section 210
0, access determination unit 2110, access control unit 212
0, read management unit 2200, read determination unit 221
0, write management unit 2300, write determination unit 2310
Consists of This configuration is the same as that of the DMA transfer device 1 shown in FIG. <Description of Operation> FIG. 13 is a time chart showing the timing of DMA transfer in the DMA transfer system of the present embodiment. In the figure, XBRD, XBWT, ADR, SIZE, DAT
A and XACK are the same as in FIG. In the figure, the same DMA transfer request as in FIGS. 3, 4, and 10 is set in the DMA transfer device 6 (DMA channel 0), and another DMA transfer request is sent to the DMA transfer device 7 (DMA channel 1) at the timing of T1 in FIG. DMA
This shows the timing when a transfer request is set.

【0056】同図では、(1)(2)(3)は、図10
と同様に、DMAチャネル0の転送元の部分領域からの
読み出し(1)(2)と、転送先の部分領域への書き込
み(3)のタイミングを示している。部分領域への書き
込み(3)の実行中に優先度の高いDMAチャネル1の
DMA転送要求がモード設定部2100に設定されたも
のとする。
In FIG. 10, (1), (2) and (3) correspond to FIG.
Similarly to the above, the timings of reading (1) and (2) from the transfer source partial area of the DMA channel 0 and writing (3) to the transfer destination partial area are shown. It is assumed that a DMA transfer request of the DMA channel 1 having a high priority is set in the mode setting unit 2100 during execution of writing (3) to the partial area.

【0057】アクセス要求調停部1400は、DMAチ
ャネル1のDMA転送要求が設定されたいると判定し、
既にDMAチャネル0のDMA転送要求が設定されてい
るので、DMA転送装置6に中断指示を出す。この中断
指示により、DMA転送装置6内のリード/ライト決定
部1112は、同図の(3)が完了したとき、新たにリ
ードを行なうと決定しないで、バッファ130内に存在
するデータ量をサイズレジスタ1313に設定して、ラ
イトを行なうと決定する。これによりアクセス制御部1
120は、DMAチェネル0の転送データでバッファ1
30に残っているデータの全てを転送先の記憶領域に書
き込む(同図(7))。
Access request arbitration unit 1400 determines that a DMA transfer request for DMA channel 1 is to be set, and
Since the DMA transfer request for the DMA channel 0 has already been set, an interruption instruction is issued to the DMA transfer device 6. In response to the interruption instruction, the read / write determination unit 1112 in the DMA transfer device 6 does not determine that a new read is to be performed when (3) in FIG. It is set in the register 1313 and it is determined that writing is performed. Thus, the access control unit 1
Reference numeral 120 denotes transfer data of DMA channel 0 and buffer 1
All of the data remaining in 30 is written to the transfer destination storage area (FIG. 7 (7)).

【0058】この書き込み完了後、リード/ライト決定
部1112は、バッファ130が空になった旨をアクセ
ス要求調停部1400に通知する。この通知を受けてア
クセス要求調停部1400は、DMAチャネル1に対す
るアクセス要求を優先してDMA転送装置7から受付け
て、SDRAM I/F3に出力する(同図(8))。
After the completion of the writing, the read / write determining unit 1112 notifies the access request arbitrating unit 1400 that the buffer 130 is empty. Upon receiving this notification, the access request arbitration unit 1400 receives the access request for the DMA channel 1 from the DMA transfer device 7 with priority, and outputs it to the SDRAM I / F 3 ((8) in the same figure).

【0059】この後、アクセス要求調停部1400は、
DMAチャネル1のDMAデータ転送が完了しているを
判定した場合、DMA転送装置6に再開指示を出す。こ
のように本実施の形態におけるDMAデータ転送システ
ムによれば、各チャネル毎に独立したバッファを備える
必要がなく、回路規模を抑えたままデータ転送中に他の
チャネルから優先度の高いDMA転送要求が発生した場
合に実行中のDMA転送を一時中断して、優先度の高い
DMA転送要求を先に処理することができる。 <第3の実施の形態>図14は、本発明の第3の実施の
形態におけるDMA転送装置8の構成を示すブロック図
である。同図は、図2と比べて、アクセス決定部11
0、書き込み管理部300、アクセス制御部120、バ
ッファ130の代わりにそれぞれアクセス決定部411
0、アクセス制御部4120、バッファ4130を備え
ている点が異なっている。図2と同じ符号の構成要素は
同じ機能を有するので説明を省略し、以下異なる点を中
心に説明する。
Thereafter, the access request arbitration unit 1400
When it is determined that the DMA data transfer of the DMA channel 1 has been completed, a restart instruction is issued to the DMA transfer device 6. As described above, according to the DMA data transfer system of the present embodiment, there is no need to provide an independent buffer for each channel, and a high-priority DMA transfer request is issued from another channel during data transfer while keeping the circuit size small. , The DMA transfer being executed can be temporarily suspended, and a DMA transfer request with a high priority can be processed first. <Third Embodiment> FIG. 14 is a block diagram showing a configuration of a DMA transfer device 8 according to a third embodiment of the present invention. This figure is different from FIG.
0, an access decision unit 411 instead of the write management unit 300, the access control unit 120, and the buffer 130.
0, an access control unit 4120, and a buffer 4130. Components having the same reference numerals as those in FIG. 2 have the same functions, and thus description thereof will be omitted, and different points will be mainly described below.

【0060】バッファ4130は、書き込みと読み出し
との並行動作可能な2ポートメモリである。バッファ4
130の2つのポートは異なるバスに接続されている。
1つのポートはSDRAM I/F3を介してSDRA
M4に接続され、他のポートはSDRAM I/F40
03を介してSDRAM4004に接続される。いずれ
のポートからも読み出し動作と書き込み動作とが可能で
ある。一方のポートからの書き込み動作と同時に他方の
ポートからの読み出し動作が可能である。
The buffer 4130 is a two-port memory that can perform write and read operations in parallel. Buffer 4
The two ports of 130 are connected to different buses.
One port is SDRA via SDRAM I / F3.
The other port is connected to M4 and SDRAM I / F40
03 is connected to the SDRAM 4004. A read operation and a write operation are possible from any of the ports. A write operation from one port and a read operation from the other port are possible at the same time.

【0061】アクセス決定部4110は、バッファ41
30に保持されているデータ量(バイト数)をバッファ
4130から直接取得して管理する。したがって、バッ
ファ4130に1ワードの書き込み及び読み出しが行わ
れる毎に、アクセス決定部4110は、データ量を更新
することになる。さらに、アクセス決定部411は、読
み出し決定部210に決定された部分領域のサイズ(PAR
TIAL_R_SIZE_213)以上の空き領域がバッファ4130に
存在すればリードを行なうと決定し、また、書き込み決
定部310に決定された部分領域のサイズ(PARTIAL_W_S
IZE_313)以上のデータがバッファ4130に存在すれば
ライトを行なうと決定しする。転送元部分領域のリード
の決定と、転送先の部分領域のライトの決定とは、択一
になされるのではなく独立に行われるので、ライトの決
定タイミングが第1の実施の形態に比べて早くなる。
The access determining unit 4110 determines whether the buffer 41
The amount of data (the number of bytes) held in 30 is directly acquired from the buffer 4130 and managed. Therefore, every time one word is written and read from / to the buffer 4130, the access determining unit 4110 updates the data amount. Further, the access determining unit 411 determines the size of the partial area (PAR
If a free area equal to or larger than TIAL_R_SIZE_213 exists in the buffer 4130, it is determined that reading is to be performed, and the size of the partial area (PARTIAL_W_S
If data equal to or greater than (IZE_313) exists in the buffer 4130, it is determined that writing is to be performed. The determination of the read of the transfer source partial area and the determination of the write of the transfer destination partial area are not performed alternately but are performed independently. Therefore, the write determination timing is shorter than that in the first embodiment. Be faster.

【0062】アクセス制御部4120は、SDRAM4
とSDRAM4004に対する読み出しと書き込みとを
並行して行なう。すなわち、アクセス制御部4120
は、読み出し決定部210により決定された部分領域の
読み出しを行い、これと並行して、書き込み決定部43
10から入力されるアドレスに基づいて転送先領域に書
き込みを行なう。 <動作説明>図15は、本実施形態のDMA転送装置に
おけるDMA転送のタイミングを示すタイムチャートで
ある。
The access control unit 4120 is connected to the SDRAM 4
And reading from and writing to the SDRAM 4004 are performed in parallel. That is, the access control unit 4120
Performs reading of the partial area determined by the reading determining unit 210, and in parallel with this, the writing determining unit 43
Writing is performed in the transfer destination area based on the address input from the address 10. <Description of Operation> FIG. 15 is a time chart showing the timing of DMA transfer in the DMA transfer device of the present embodiment.

【0063】同図において上半分はアクセス制御部41
20からSDRAM I/F3に出力される信号群を、
下半分はSDRAM I/F4003に出力される信号
群を示している。また、転送元はSDRAM4の500
8番地から7ワード分の領域、転送先はSDRAM40
04の600C番地から7ワード分の領域としている。
In the figure, the upper half is the access control unit 41
20 are output to the SDRAM I / F3 by:
The lower half shows a signal group output to the SDRAM I / F 4003. The transfer source is 500 of the SDRAM4.
An area of 7 words from address 8, the transfer destination is SDRAM 40
It is an area for 7 words from address 600C of 04.

【0064】図15と図10とを比較すると、図15で
は部分領域への書き込み(同図(3)(5)(6))の
開始タイミングが早くなっている。これは、アクセス決
定部4110がバッファ4130に保持されているデー
タ量をワード単位に管理しているので、アクセス決定部
4110は、転送先の部分領域への書き込みデータサイ
ズ分のデータがバッファ4130に書き込まれた時点で
ライトを決定することができるからでである。
When comparing FIG. 15 with FIG. 10, in FIG. 15, the start timing of writing to the partial area ((3), (5), (6) in FIG. 15) is advanced. Since the access determining unit 4110 manages the amount of data held in the buffer 4130 in word units, the access determining unit 4110 stores in the buffer 4130 the data corresponding to the data size to be written to the transfer destination partial area. This is because writing can be determined at the time of writing.

【0065】このように本実施の形態におけるDMA転
送装置によれば、部分領域毎に高速ページアクセスを行
なうことに加えて、転送元メモリと転送元メモリが異な
るバスに接続されている場合に、転送元メモリからの読
み出しと、転送先メモリへの書き込みを並列に実行する
ことができる。 <第4の実施の形態>第2の実施の形態ではDMAチャ
ネル0、1ともに同一のメモリ(SDRAM4)又は同
一バス上の異なるメモリを転送対象としていたが、本実
施形態では、異なるバス上のメモリも転送対象とするD
MA転送システムについて説明する。
As described above, according to the DMA transfer apparatus of the present embodiment, in addition to performing high-speed page access for each partial area, when the transfer source memory and the transfer source memory are connected to different buses, Reading from the source memory and writing to the destination memory can be performed in parallel. <Fourth Embodiment> In the second embodiment, the same memory (SDRAM 4) or a different memory on the same bus is to be transferred for both DMA channels 0 and 1. However, in the present embodiment, different DMAs on different buses are used. D to transfer data to memory
The MA transfer system will be described.

【0066】図16は、本発明の第4の実施の形態にお
けるDMA転送システムの構成を示すブロック図であ
る。同図は、第2の実施の形態における図11と比較し
て、アクセス要求調停部1400の代わりにアクセス要
求調停部4400を、バッファ130の代わりにバッフ
ァ4130を備える点が異なっている。図11と同じ符
号の構成要素は同じ機能であるので説明を省略し、以下
異なる点を中心に説明する。
FIG. 16 is a block diagram showing a configuration of a DMA transfer system according to the fourth embodiment of the present invention. 11 is different from FIG. 11 in the second embodiment in that an access request arbitration unit 4400 is provided instead of the access request arbitration unit 1400 and a buffer 4130 is provided instead of the buffer 130. Components having the same reference numerals as those in FIG. 11 have the same functions, and thus description thereof will be omitted, and different points will be mainly described below.

【0067】バッファ4130は、書き込みと読み出し
との並行動作可能な2ポートメモリである。バッファ4
130の2つのポートは異なるバスに接続されている。
1つのポートはSDRAM I/F3を介してSDRA
M4に接続され、他のポートはSDRAM I/F40
03を介してSDRAM4004に接続される。いずれ
のポートからも読み出し動作と書き込み動作とが可能で
ある。
The buffer 4130 is a two-port memory that can perform write and read operations in parallel. Buffer 4
The two ports of 130 are connected to different buses.
One port is SDRA via SDRAM I / F3.
The other port is connected to M4 and SDRAM I / F40
03 is connected to the SDRAM 4004. A read operation and a write operation are possible from any of the ports.

【0068】図17にバッファ4130の構成例を示
す。同図のバッファ4130は、マルチプレクサ413
0a、FIFO4130b、デマルチプレクサ4130
マルチプレクサ4130a、FIFO4130b、デマ
ルチプレクサ4130cとからなる。ポート0、1は、
いずれもマルチプレクサ4130a及びデマルチプレク
サ4130cに接続されている。これにより、バッファ
4130は、一方のポートからの書き込み動作と他方の
ポートからの読み出し動作とを並列実行可能である。
FIG. 17 shows a configuration example of the buffer 4130. The buffer 4130 in FIG.
0a, FIFO 4130b, demultiplexer 4130
It comprises a multiplexer 4130a, a FIFO 4130b, and a demultiplexer 4130c. Ports 0 and 1 are
Both are connected to the multiplexer 4130a and the demultiplexer 4130c. Thus, the buffer 4130 can execute the write operation from one port and the read operation from the other port in parallel.

【0069】アクセス要求調停部4400は、DMAチ
ャネル0のDMA転送中に優先度の高いDMAチャネル
1の転送要求が設定され、かつ、DMAチャネル0の転
送先メモリとDMAチャネル1の転送元メモリが同じメ
モリ又は同一バス上のメモリである場合には、第2の実
施形態におけるアクセス要求調停部1400と同じ動作
を行う。
The access request arbitration unit 4400 sets a transfer request of the high-priority DMA channel 1 during the DMA transfer of the DMA channel 0, and sets the transfer destination memory of the DMA channel 0 and the transfer source memory of the DMA channel 1 to the same. In the case of the same memory or a memory on the same bus, the same operation as the access request arbitration unit 1400 in the second embodiment is performed.

【0070】また、アクセス要求調停部4400は、D
MA転送中に他のDMAチャネルの転送要求が設定さ
れ、転送先メモリとDMAチャネルの転送元メモリが異
なるバス上のメモリである場合には、DMA転送におけ
る全転送データについての転送元からの読み出しが完了
し、かつ、バッファ4130にDMAチャネルの最初の
部分領域の読み出しサイズ分の空き領域が存在するとい
う状態になった時点で、DMAチャネルの最初の部分領
域の読み出しを開始する。
The access request arbitration unit 4400
When a transfer request of another DMA channel is set during MA transfer, and the transfer destination memory and the transfer source memory of the DMA channel are memories on different buses, reading of all transfer data in the DMA transfer from the transfer source is performed. Is completed, and the buffer 4130 starts to read the first partial area of the DMA channel when there is a free area of the read size of the first partial area of the DMA channel.

【0071】図18(a)〜図18(f)に、DMAチ
ャンネル0の転送先とDMAチャネル1の転送元とが異
なるメモリである場合を示す。同図においてSRC0、
DST0はDMAチャネル0の転送元の記憶領域、転送
先の記憶領域を、SRC1、DST1はDMAチャネル
1の転送元の記憶領域、転送先の記憶領域をそれぞれ示
す。また、図中のを付した破線は、DMAチャネル0
の最後の部分領域の読み出し(メモリ→バッファ413
0)を、の矢線はDMAチャネル0の最後の部分領域
の書き込み(バッファ4130→メモリ)を意味する。
またの矢線はDMAチャネル1の最初の部分領域の読
み出し(メモリ→バッファ4130)を意味する。アク
セス要求調停部4400は、ととが異なるバスに接
続された2つのメモリへの書き込みと読み出しであるの
で並列実行する。 <動作説明>図19は、図18(a)の場合の動作例を
示すタイムチャートである。
FIGS. 18A to 18F show a case where the transfer destination of the DMA channel 0 and the transfer source of the DMA channel 1 are different memories. In the figure, SRC0,
DST0 indicates a transfer source storage area and a transfer destination storage area of the DMA channel 0, and SRC1 and DST1 indicate a transfer source storage area and a transfer destination storage area of the DMA channel 1, respectively. The dashed line in FIG.
Of the last partial area of (memory → buffer 413)
0) indicates that the last partial area of the DMA channel 0 is written (from the buffer 4130 to the memory).
Another arrow indicates reading of the first partial area of the DMA channel 1 (memory → buffer 4130). The access request arbitration unit 4400 executes writing and reading to and from two memories connected to different buses in parallel. <Description of Operation> FIG. 19 is a time chart showing an example of operation in the case of FIG.

【0072】同図において上半分はアクセス要求調停部
4400からSDRAM I/F3に出力される信号群
を、下半分はSDRAM I/F4003に出力される
信号群を示している。図中のは図18(a)の
に対応する。同図のようにアクセス要求調停部44
00は、DMAチャネル0のDMA転送中に、DMAチ
ャネル1の転送要求が設定され、DMAチャンネル0の
転送先とDMAチャネル1の転送元とが異なるメモリ
(SDRAM4と4004)である場合には、DMAチ
ャネル0の全転送データについて転送元からの読み出し
が完了し(図中の完了時点)、かつ、バッファ413
0にDMAチャネル1の最初の部分領域の読み出しサイ
ズ分の空き領域が存在するという状態になった時点で
(図中の開始時点)、DMAチャネル1の最初の部分
領域の読み出しを開始するように制御する。
In the figure, the upper half shows a signal group output from the access request arbitration unit 4400 to the SDRAM I / F3, and the lower half shows a signal group output to the SDRAM I / F 4003. The figure in the figure corresponds to that in FIG. As shown in FIG.
00 indicates that a transfer request of the DMA channel 1 is set during the DMA transfer of the DMA channel 0 and the transfer destination of the DMA channel 0 and the transfer source of the DMA channel 1 are different memories (SDRAMs 4 and 4004). Reading of all the transfer data of the DMA channel 0 from the transfer source is completed (at the time of completion in the figure) and the buffer 413
At the time point when there is a free area corresponding to the read size of the first partial area of the DMA channel 1 at 0 (start time in the figure), the reading of the first partial area of the DMA channel 1 is started. Control.

【0073】以上のように本実施の形態におけるDMA
転送システムによれば、DMA転送中に他のDMAチャ
ネルのDMA転送要求が設定され、先行する転送中の転
送先メモリと、新たに設定されたDMA転送要求の転送
先メモリとが異なるバスに接続されている場合に、アク
セス要求調停部4400は、先行するDMA転送の最後
の部分領域の読み出しが完了し、かつバッファ4130
に他のDMAチャネルの最初の部分領域のサイズ分の空
きが生じた時点で、新たなDMA転送要求の読み出しを
開始するので、連続する2つのDMA転送要求によるバ
ス使用効率を向上させることができる。
As described above, the DMA in this embodiment is
According to the transfer system, a DMA transfer request of another DMA channel is set during the DMA transfer, and the transfer destination memory of the preceding transfer and the transfer destination memory of the newly set DMA transfer request are connected to different buses. In this case, the access request arbitration unit 4400 completes reading the last partial area of the preceding DMA transfer, and
When a space corresponding to the size of the first partial area of another DMA channel is generated, the reading of a new DMA transfer request is started, so that the bus use efficiency due to two consecutive DMA transfer requests can be improved. .

【0074】なお、図18(a)〜(f)では、DMA
チャネル0のDMA転送中にDMAチャネル1のDMA
転送要求が設定された場合を示しているが、逆の場合つ
まりDMAチャネル1のDMA転送中にDMAチャネル
0のDMA転送要求が設定された場合も、先行するDM
A転送の転送先メモリと新たなDMA転送の転送元メモ
リとが異なるバス上にある限り同様である。
In FIGS. 18A to 18F, the DMA
DMA of DMA channel 1 during DMA transfer of channel 0
Although the case where a transfer request is set is shown, the opposite case, that is, the case where a DMA transfer request of DMA channel 0 is set during the DMA transfer of DMA channel 1 is also used.
This is the same as long as the transfer destination memory of the A transfer and the transfer source memory of the new DMA transfer are on different buses.

【0075】本実施の形態におけるDMA転送システム
は、3つ以上のDMA転送装置を備える構成としてもよ
い。その場合、アクセス要求調停部は、全てのDMA転
送装置から最後の部分領域の読み出しを完了したことを
検出し、かつ、各DMA転送装置における転送先と転送
元のメモリを判別し、それらに基づいて図19のような
制御を行うようにすればよい。 <その他>なお、上記各実施の形態において、転送元及
び転送先が何れも高速ページアクセス可能なメモリであ
ることを前提に説明したが、転送元及び転送先の一方が
高速ページアクセス可能なメモリである場合には、高速
ページアクセス可能なメモリに対してのみ、ページ境界
で区切られた部分領域毎にアクセスすることになる。例
えば、高速ページアクセス可能なメモリと、固定アドレ
スが割り当てられたI/Oとの間のDMA転送であって
も、メモリに対する高速ページアクセスを保証すること
ができ、かつバッファ130又は4130のバッファ容
量が少なくてもよい。
The DMA transfer system according to the present embodiment may include three or more DMA transfer devices. In that case, the access request arbitration unit detects that the reading of the last partial area has been completed from all the DMA transfer devices, and determines the transfer destination and transfer source memory in each DMA transfer device, and based on them. The control shown in FIG. <Others> In each of the above embodiments, the description has been made on the assumption that both the transfer source and the transfer destination are memories capable of high-speed page access. In this case, only the memory that can be accessed at high speed is accessed for each partial area separated by the page boundary. For example, high-speed page access to the memory can be guaranteed even in the case of DMA transfer between a memory capable of high-speed page access and I / O to which a fixed address is allocated, and the buffer capacity of the buffer 130 or 4130 May be less.

【0076】また、上記第1の実施の形態において減算
器211aの代わりに、図6のREMAIN_R_A_201の下位4
ビットを入力し、減算結果と同じ値を出力する入出力論
理をもつ論理回路又はテーブルを備えてもよい。
In the first embodiment, the lower four bits of REMAIN_R_A_201 in FIG.
A logic circuit or a table having input / output logic for inputting bits and outputting the same value as the subtraction result may be provided.

【0077】[0077]

【発明の効果】(1)本発明のDMA転送装置は、高速
ページアクセスに対応するメモリを対象とするDMA転
送装置であって、転送対象となるメモリ領域を構成する
複数の部分領域であって、前記メモリ領域の先頭とペー
ジ境界との間、ページ境界間及びページ境界と前記メモ
リ領域の末尾との間の各部分領域を判別する判別手段
と、判別された部分領域毎に高速ページアクセスを行な
うアクセス手段とを備える。
(1) The DMA transfer device of the present invention is a DMA transfer device for a memory corresponding to high-speed page access, and includes a plurality of partial areas constituting a memory area to be transferred. Determining means for determining each partial area between the beginning of the memory area and the page boundary, between page boundaries, and between the page boundary and the end of the memory area; and performing high-speed page access for each determined partial area. Performing access means.

【0078】この構成によれば、DMA転送装置は、転
送元と転送先の少なくとも一方が高速ページアクセス可
能なメモリである場合に、転送対象のメモリ領域内にお
いてページ境界により区切られた部分領域毎に、高速ペ
ージアクセスすることを保証できる。その結果、本DM
A転送装置は、メモリの性能を犠牲にすることなく、高
速ページアクセス可能なメモリと相性が良く、バスの遊
休期間を低減しDMA転送時間を短縮することができ
る。
According to this configuration, when at least one of the transfer source and the transfer destination is a memory capable of high-speed page access, the DMA transfer device can be used for each partial area divided by a page boundary in the memory area to be transferred. In addition, high-speed page access can be guaranteed. As a result, this DM
The A transfer device is compatible with a memory capable of high-speed page access without sacrificing the performance of the memory, and can reduce the idle period of the bus and the DMA transfer time.

【0079】(2)前記判別手段は、転送対象となる領
域の先頭アドレスを初期値として保持し、アクセス手段
により高速ページアクセスがなされる毎に、保持内容を
転送対象のメモリ領域のうち未転送の領域の先頭アドレ
スに更新するアドレス更新手段と、転送対象となる領域
のデータサイズを初期値として保持し、アクセス手段に
より高速ページアクセスがなされる毎に保持内容を、転
送対象のデータサイズのうちの未転送データサイズに更
新するデータサイズ更新手段と、アドレス更新手段に初
期値として保持される先頭アドレスから直近のページ境
界までの部分領域を判別し、アドレス更新手段が更新す
る毎に、更新後の先頭アドレスから直近のページ境界又
は前記メモリ領域の末尾までの次の部分領域を判別する
部分領域判別手段とを備えるように構成してもよい。
(2) The discriminating means holds the start address of the area to be transferred as an initial value, and every time a high-speed page access is made by the access means, the held content is stored in the untransferred area of the memory area to be transferred. Address updating means for updating to the start address of the area of the area, and holding the data size of the area to be transferred as an initial value, and each time the high-speed page access is performed by the access means, the held content is set to A data size updating unit for updating to the untransferred data size, and a partial area from a start address held as an initial value in the address updating unit to a nearest page boundary. Area determination means for determining the next partial area from the top address of the first to the nearest page boundary or the end of the memory area It may be configured with.

【0080】この構成によれば、判別手段は、高速ペー
ジアクセスがなされる毎に、転送対象のメモリ領域の先
頭から直近のページ境界までの部分領域、そのページ境
界から次のページ境界までの部分領域、・・・、ページ
境界から前記メモリ領域の末尾までの部分領域というよ
うに複数の部分領域を順次判別することと、アクセス手
段が各部分領域に対して高速ページアクセスすることと
を並行して行なうことができる。
According to this configuration, each time the high-speed page access is performed, the determination unit determines the partial area from the head of the memory area to be transferred to the nearest page boundary, and the part from the page boundary to the next page boundary. .., Sequentially determining a plurality of partial areas such as partial areas from a page boundary to the end of the memory area, and performing high-speed page access to each partial area by the access unit. Can be done.

【0081】(3)前記部分領域判別手段は、アドレス
更新手段に保持された先頭アドレスから直近のページ境
界または前記メモリ領域の末尾までのサイズを判別する
サイズ判別手段と、サイズ判別手段により判別されたサ
イズを部分領域のサイズとして保持するサイズ保持手段
とを備え、前記アクセス手段は、アドレス更新手段に保
持されてい先頭アドレスからサイズ保持手段に保持され
たサイズ分の部分領域を高速ページアクセスするように
構成してもよい。
(3) The partial area discriminating means is discriminated by a size discriminating means for discriminating a size from a head address held in the address updating means to a nearest page boundary or the end of the memory area, and a discriminating means. Size holding means for holding the size as the size of the partial area, wherein the access means accesses the partial area of the size held by the size holding means from the start address held by the address updating means at high speed page access. May be configured.

【0082】この構成によれば、部分領域判定手段は、
先頭アドレスとサイズとの組みというパラメータにより
表される部分領域を判別するので、アクセス手段に高速
ページアクセスに適したパラメータを出力することがで
きる。 (4)前記サイズ判別手段は、ページ領域のサイズか
ら、アドレス更新手段に保持された先頭アドレスの下位
ビットであってページ領域内の相対位置を表す下位ビッ
トを減算することにより、直近のページ境界までのサイ
ズを算出する減算手段と、減算手段により算出されたサ
イズと、データサイズ更新手段に保持された未転送デー
タサイズとを比較する比較手段と、比較手段の比較の結
果、大きくない方を選択する選択手段とを備え、前記サ
イズ保持手段は、選択手段の選択結果を部分領域のサイ
ズとして保持する構成としてもよい。
According to this configuration, the partial area determination means
Since the partial area represented by the parameter of the combination of the start address and the size is determined, it is possible to output a parameter suitable for high-speed page access to the access means. (4) The size discriminating means subtracts, from the size of the page area, lower bits representing the relative position in the page area, which are the lower bits of the head address held in the address updating means, thereby obtaining the nearest page boundary. Subtraction means for calculating the size up to, and comparison means for comparing the size calculated by the subtraction means with the untransferred data size held in the data size updating means. Selecting means for selecting, and the size holding means may hold the selection result of the selecting means as the size of the partial area.

【0083】この構成によれば、サイズ判定手段は、減
算と比較という簡単な構成により部分領域のサイズを判
別することができる。 (5)また、本発明のDMA転送装置は、高速ページア
クセスに対応するメモリを転送対象とするDMA転送装
置であって、転送元となる第1メモリ領域を構成する複
数の転送元部分領域であって、前記第1メモリ領域の先
頭、ページ境界及び前記第1メモリ領域の末尾の何れか
とページ境界とにより区切られた複数の転送元部分領域
を判別する第1判別手段と、転送先となる第2メモリ領
域を構成する複数の転送先部分領域であって、前記第2
メモリ領域の先頭、ページ境界及び前記第2メモリ領域
の末尾の何れかとページ境界とにより区切られた複数の
転送先部分領域を判別する第2判別手段と、第1判別手
段に判別された転送元部分領域から高速ページアクセス
によりデータを読み出し、第2判別手段により判別され
た転送先部分領域に読み出されたデータを高速ページア
クセスにより書き込むアクセス手段とを備える。
According to this configuration, the size determining means can determine the size of the partial area by a simple configuration of subtraction and comparison. (5) Further, the DMA transfer device of the present invention is a DMA transfer device for transferring a memory corresponding to high-speed page access, and includes a plurality of transfer source partial areas constituting a first memory area serving as a transfer source. A first discriminating means for discriminating a plurality of transfer source partial areas separated by any one of a head of the first memory area, a page boundary, and an end of the first memory area and a page boundary; and a transfer destination. A plurality of transfer destination partial areas constituting a second memory area;
Second determining means for determining a plurality of transfer destination partial areas demarcated by any one of a head of a memory area, a page boundary and the end of the second memory area, and a transfer source determined by the first determining means Access means for reading data from the partial area by high-speed page access and writing the read data to the transfer destination partial area determined by the second determination means by high-speed page access.

【0084】この構成によれば、DMA転送装置は、転
送元と転送先とが高速ページアクセス可能なメモリであ
る場合に、転送対象の第1、第2メモリ領域内において
ページ境界により区切られた転送元部分領域、転送先部
分領域毎に、高速ページアクセスすることを保証でき
る。その結果、本DMA転送装置は、メモリの性能を犠
牲にすることなく、高速ページアクセス可能なメモリと
相性が良く、バスの遊休期間を低減しDMA転送時間を
短縮することができる。
According to this configuration, in the DMA transfer device, when the transfer source and the transfer destination are high-speed page accessible memories, the DMA transfer device is separated by the page boundary in the first and second memory areas to be transferred. High-speed page access can be guaranteed for each of the transfer source partial area and the transfer destination partial area. As a result, the present DMA transfer device is compatible with a memory capable of high-speed page access without sacrificing the performance of the memory, and can reduce the idle period of the bus and the DMA transfer time.

【0085】(6)前記第1判別手段は、第1メモリ領
域の先頭アドレスを初期値として保持し、アクセス手段
のアクセスに応じて保持内容を、第1メモリ領域のうち
未転送の領域の先頭アドレスに更新する第1アドレス更
新手段と、第1メモリ領域のデータサイズを初期値とし
て保持し、アクセス手段のアクセスに応じて保持内容
を、第1メモリ領域のデータサイズのうちの未転送デー
タサイズに更新する第1データサイズ更新手段と、第1
アドレス更新手段に初期値として保持された先頭アドレ
スから直近のページ境界までの転送元部分領域を判別
し、第1アドレス更新手段が更新する毎に、更新後の先
頭アドレスから直近のページ境界又は前記第1メモリ領
域の末尾までの次の転送元部分領域を判別する第1部分
領域判別手段とを備える。
(6) The first discriminating means holds the start address of the first memory area as an initial value, and changes the held contents according to the access of the access means to the start address of the untransferred area of the first memory area. First address updating means for updating to an address, and holding the data size of the first memory area as an initial value, and storing the held content according to the access of the access means as the untransferred data size of the data size of the first memory area. First data size updating means for updating the first data size;
The transfer source partial area from the start address held as an initial value by the address update unit to the nearest page boundary is determined, and every time the first address update unit updates, the updated page address or the nearest page boundary from the updated start address is updated. A first partial area determining means for determining a next transfer source partial area up to the end of the first memory area;

【0086】この構成によれば、第1判別手段は、高速
ページアクセスがなされる毎に、第1メモリ領域の先頭
から直近のページ境界までの転送元部分領域、そのペー
ジ境界から次のページ境界までの転送元部分領域、・・
・、ページ境界から前記第1メモリ領域の末尾までの転
送元部分領域というように複数の転送元部分領域を順次
判別することと、アクセス手段が各転送元部分領域に対
して高速ページアクセスすることとを並行して行なうこ
とができる。
According to this configuration, each time the high-speed page access is performed, the first determination means determines the transfer source partial area from the head of the first memory area to the nearest page boundary, and the next page boundary from the page boundary. Source partial area up to ...
.. Sequentially determining a plurality of transfer source partial areas such as a transfer source partial area from a page boundary to the end of the first memory area, and an access unit performing high-speed page access to each transfer source partial area. Can be performed in parallel.

【0087】(7)また、前記第1部分領域判別手段
は、第1アドレス更新手段に保持された先頭アドレスか
ら直近のページ境界または前記第1メモリ領域の末尾ま
でのデータサイズを判別する第1サイズ判別手段と、第
1サイズ判別手段により判別されたサイズを転送元部分
領域のサイズとして保持する第1サイズ保持手段とを備
える。前記アクセス手段は、第1アドレス保持手段に保
持された先頭アドレスから、第1サイズ保持手段に保持
されたサイズ分の転送元部分領域を高速ページアクセス
により読み出す。
(7) The first partial area determining means determines the data size from the start address held by the first address updating means to the nearest page boundary or the end of the first memory area. There is provided a size discriminating means, and a first size holding means for holding the size determined by the first size discriminating means as the size of the transfer source partial area. The access unit reads a transfer source partial area of the size held in the first size holding unit from the head address held in the first address holding unit by high-speed page access.

【0088】この構成によれば、第1部分領域判定手段
は、先頭アドレスとサイズとの組みというパラメータに
より表される部分領域を判別するので、アクセス手段に
高速ページアクセスに適したパラメータを出力すること
ができる。 (8)前記第1サイズ判別手段は、ページ領域のサイズ
から、第1アドレス更新手段に保持された先頭アドレス
の下位ビットであってページ領域内の相対位置を表す下
位ビットを減算することにより、直近のページ境界まで
のサイズを算出する第1減算手段と、第1減算手段によ
り算出されたサイズと、第1データサイズ更新手段に保
持された未転送データサイズとを比較する第1比較手段
と、第1比較手段の比較の結果、大きくない方を選択す
る第1選択手段とを備え、前記第1サイズ保持手段は、
第1選択手段の選択結果を部分領域のサイズとして保持
する。
According to this configuration, the first partial area determining means determines the partial area represented by the parameter of the combination of the start address and the size, and outputs a parameter suitable for high-speed page access to the access means. be able to. (8) The first size discriminating means subtracts, from the size of the page area, lower bits representing the relative position in the page area, which are the lower bits of the start address held in the first address updating means, First subtraction means for calculating the size up to the nearest page boundary; first comparison means for comparing the size calculated by the first subtraction means with the untransferred data size held in the first data size updating means; And a first selecting means for selecting a smaller one as a result of the comparison by the first comparing means, wherein the first size holding means comprises:
The selection result of the first selection means is stored as the size of the partial area.

【0089】この構成によれば、第1サイズ判定手段
は、減算と比較という簡単な構成により部分領域のサイ
ズを判別することができる。 (9)前記第2判別手段は、第2メモリ領域の先頭アド
レスを初期値として保持し、アクセス手段のアクセスに
応じて保持内容を、第2メモリ領域のうち未転送の領域
の先頭アドレスに更新する第2アドレス更新手段と、第
2メモリ領域のデータサイズを初期値として保持し、ア
クセス手段のアクセスに応じて保持内容を、第2メモリ
領域のデータサイズのうちの未転送データサイズに更新
する第2データサイズ更新手段と、第2アドレス更新手
段に初期値として保持された先頭アドレスから直近のペ
ージ境界までの転送先部分領域を判別し、第2アドレス
更新手段が更新する毎に、更新後の先頭アドレスから直
近のページ境界又は前記第2メモリ領域の末尾までの次
の転送先部分領域を判別する第2部分領域判別手段とを
備える。
According to this configuration, the first size determination means can determine the size of the partial area by a simple configuration of subtraction and comparison. (9) The second determination means holds the start address of the second memory area as an initial value, and updates the held content to the start address of an untransferred area in the second memory area in response to access by the access means. A second address updating unit that holds the data size of the second memory area as an initial value, and updates the held content to an untransferred data size of the data size of the second memory area in response to access by the access unit. A second data size updating unit for determining a transfer destination partial area from a start address held as an initial value in the second address updating unit to a nearest page boundary, and each time the second address updating unit updates, And a second partial area determining means for determining a next transfer destination partial area from the start address of the first to the nearest page boundary or the end of the second memory area.

【0090】この構成によれば、第2判別手段が第2メ
モリ領域の先頭から直近のページ境界までの部分領域、
そのページ境界から次のページ境界までの部分領域、・
・・、ページ境界から前記メモリ領域の末尾までの部分
領域というように複数の部分領域を順次判別すること
と、アクセス手段が各部分領域に対して高速連続アクセ
スすることとを並行して行なうことができる。
According to this configuration, the second determining means determines the partial area from the head of the second memory area to the nearest page boundary,
Partial area from the page boundary to the next page boundary,
..Simultaneously determining a plurality of partial areas such as partial areas from a page boundary to the end of the memory area and performing high-speed continuous access to each partial area by the access unit in parallel Can be.

【0091】(10)前記第2部分領域判別手段は、第
2アドレス更新手段に保持された先頭アドレスから直近
のページ境界または前記第2メモリ領域の末尾までのサ
イズを判別する第2サイズ判別手段と、第2サイズ判別
手段により判別されたサイズを転送先部分領域のサイズ
として保持する第2サイズ保持手段とを備え、前記アク
セス手段は、第2アドレス保持手段に保持された先頭ア
ドレスから、第2サイズ保持手段に保持されたサイズ分
の転送先部分領域を高速ページアクセスに書き込む。
(10) The second partial area determination means determines the size from the start address held in the second address update means to the nearest page boundary or the end of the second memory area. And a second size holding unit for holding the size determined by the second size determining unit as the size of the transfer destination partial area, wherein the access unit determines the first address from the first address held in the second address holding unit. The transfer destination partial area of the size held in the two-size holding means is written in the high-speed page access.

【0092】この構成によれば、第2部分領域判別手段
は、転送対象のメモリ領域の先頭から直近のページ境界
までの部分領域、そのページ境界から次のページ境界ま
での部分領域、・・・、ページ境界から前記メモリ領域
の末尾までの部分領域というように複数の部分領域を順
次判別することと、アクセス手段が各部分領域に対して
高速連続アクセスすることとを並行して行なうことがで
きる。
According to this configuration, the second partial area determining means includes a partial area from the head of the memory area to be transferred to the nearest page boundary, a partial area from the page boundary to the next page boundary,... It is possible to simultaneously determine a plurality of partial areas, such as partial areas from a page boundary to the end of the memory area, and perform high-speed continuous access to each partial area by the access unit in parallel. .

【0093】(11)前記第2サイズ判別手段は、ペー
ジ領域のサイズから、第2アドレス更新手段に保持され
た先頭アドレスの下位ビットであってページ領域内の相
対位置を表す下位ビットを減算することにより、直近の
ページ境界までのサイズを算出する第2減算手段と、第
2減算手段により算出されたサイズと、第2データサイ
ズ更新手段に保持された未転送データサイズとを比較す
る第2比較手段と、第2比較手段の比較の結果、大きく
ない方を選択する第2選択手段とを備え、前記第2サイ
ズ保持手段は、第2選択手段の選択結果を部分領域のサ
イズとして保持する。
(11) The second size discriminating means subtracts, from the size of the page area, lower bits representing the relative position in the page area, which are the lower bits of the head address held in the second address updating means. Thus, the second subtraction means for calculating the size up to the nearest page boundary, and the second comparison means for comparing the size calculated by the second subtraction means with the untransferred data size held in the second data size updating means A comparison unit, and a second selection unit that selects a smaller one as a result of the comparison by the second comparison unit, wherein the second size holding unit holds the selection result of the second selection unit as a size of the partial area. .

【0094】この構成によれば、第2サイズ判定手段
は、減算と比較という簡単な構成により部分領域のサイ
ズを判別することができる。 (12)また、本発明のDMA転送装置は、転送元とな
る第1メモリ領域を構成する複数の転送元部分領域であ
って、前記第1メモリ領域の先頭とページ境界との間、
ページ境界間及びページ境界と前記第1メモリ領域の末
尾との間の各転送元部分領域を判別する第1判別手段
と、転送先となる第2メモリ領域を構成する複数の転送
先部分領域であって、前記第2メモリ領域の先頭とペー
ジ境界との間、ページ境界間及びページ境界と前記第2
メモリ領域の末尾との間の各転送先部分領域を判別する
第2判別手段と、第1判別手段に判別された転送元部分
領域から高速ページアクセスによりデータを読み出して
バッファ手段に格納し、バッファ手段に格納されたデー
タを第2判別手段により判別された転送先部分領域に高
速ページアクセスにより書き込むアクセス手段とを備え
る。
According to this configuration, the second size determination means can determine the size of the partial area by a simple configuration of subtraction and comparison. (12) Further, the DMA transfer device of the present invention includes a plurality of transfer source partial areas constituting a first memory area serving as a transfer source, wherein a plurality of transfer source partial areas are provided between a head of the first memory area and a page boundary.
First determining means for determining each source partial area between page boundaries and between the page boundary and the end of the first memory area; and a plurality of destination partial areas constituting a second memory area serving as a destination The second memory area, between the beginning and the page boundary, between the page boundaries, and between the page boundary and the second
A second determining means for determining each transfer destination partial area from the end of the memory area; and a high-speed page access to read data from the transfer source partial area determined by the first determination means and store the data in the buffer means. Access means for writing the data stored in the means into the transfer destination partial area determined by the second determination means by high-speed page access.

【0095】この構成によれば、DMA転送装置は、転
送元と転送先の両者が高速ページアクセス可能なメモリ
である場合に、転送元の第1メモリ領域内においてペー
ジ境界により区切られた転送元部分領域毎に高速ページ
アクセスによる読み出しをすることを保証できる。加え
て、転送先の第2メモリ領域内においてページ境界によ
り区切られた転送先部分領域毎に高速yージアクセスに
よる書き込みをすることを保証できる。その結果、バス
の遊休期間を低減しDMA転送時間を短縮することがで
きる。
According to this configuration, when both the transfer source and the transfer destination are memories that can be accessed at a high speed, the DMA transfer device can transfer the transfer source divided by the page boundary in the first memory area of the transfer source. Reading by high-speed page access can be guaranteed for each partial area. In addition, it is possible to guarantee that writing by high-speed page access is performed for each transfer destination partial area delimited by a page boundary in the transfer destination second memory area. As a result, the idle period of the bus can be reduced and the DMA transfer time can be reduced.

【0096】(13)また、前記第1メモリ領域と第2
メモリ領域とは、同一メモリ内の領域又は同じバスに接
続された異なるメモリ内の領域であって、前記アクセス
手段は、バッファ手段に保持されているデータのサイズ
及びバッファ手段の空きサイズと、転送元部分領域のサ
イズ及び転送先部分領域のサイズとを比較して、比較結
果に応じて転送元部分領域の読み出しと転送先部分領域
の書き込みの何れを行なうかを決定するリード/ライト
決定手段と、リード/ライト決定手段の決定に従って転
送元部分領域からの読み出しと転送先部分領域への書き
込みとを行なうアクセス制御手段とを備える。
(13) The first memory area and the second
The memory area is an area in the same memory or an area in a different memory connected to the same bus, and the access unit determines the size of data held in the buffer unit, the free size of the buffer unit, Read / write determining means for comparing the size of the source partial area with the size of the transfer destination partial area, and determining whether to read the transfer source partial area or write to the transfer destination partial area according to the comparison result; Access control means for reading from the transfer source partial area and writing to the transfer destination partial area in accordance with the determination of the read / write determination means.

【0097】(14)前記バッファ手段は、ページ領域
の2倍からメモリのアクセスサイズを引いた容量を少な
くとも有し、前記リード/ライト決定手段は、バッファ
手段の空きサイズが第1判別手段により判別された転送
元部分領域のサイズ以上である場合はリードを行なうと
判定し、バッファ管理手段に取得されたデータサイズ
が、第2判別手段により判別された転送先部分領域のサ
イズ以上である場合は、ライトを行なうと決定する。
(14) The buffer means has at least a capacity obtained by subtracting the memory access size from twice the page area, and the read / write determining means determines the free size of the buffer means by the first determining means. If the data size is equal to or larger than the size of the transfer source partial area, it is determined that reading is to be performed. If the data size acquired by the buffer management means is equal to or larger than the size of the transfer destination partial area determined by the second determination means, Is determined to be written.

【0098】この構成によれば、転送元部分領域毎に高
速ページアクセスによる読み出しを行い、転送先部分領
域毎にも高速ページアクセスによる書き込みをすること
を保証できる。さらに、バッファ手段の記憶容量は、ペ
ージ領域の2倍からメモリのアクセスサイズを引いた容
量を少なくとも有するだけでよいので、少ないバッファ
容量で効率よくDMA転送を実現できる。
According to this configuration, it is possible to guarantee that reading is performed by high-speed page access for each transfer source partial area, and that writing is performed for each transfer destination partial area by high-speed page access. Further, since the storage capacity of the buffer means only needs to have at least a capacity obtained by subtracting the access size of the memory from twice the page area, the DMA transfer can be efficiently realized with a small buffer capacity.

【0099】(15)前記バッファ手段は2つのバスに
接続される2ポートメモリであり、前記第1メモリ領域
と第2メモリ領域とは、異なるバスに接続されたメモリ
内の領域であり、前記アクセス手段は、バッファ手段に
保持されているデータのサイズとバッファ手段の空きサ
イズとに応じて、転送元部分領域からの読み出しを行な
うか否かと決定し、これと独立に、転送先部分領域への
書き込みを行なうか否かを決定するリード/ライト決定
手段と、リード/ライト決定手段の決定に従って転送元
部分領域からの読み出しと転送先部分領域への書き込み
とを行なうアクセス制御手段とを備える。
(15) The buffer means is a two-port memory connected to two buses, and the first memory area and the second memory area are areas in a memory connected to different buses. The access means determines whether or not to read from the source partial area according to the size of the data held in the buffer means and the free size of the buffer means. Read / write deciding means for deciding whether or not to write data, and access control means for reading from the source partial area and writing to the destination partial area in accordance with the decision of the read / write deciding means.

【0100】この構成によれば、転送元の第1メモリ領
域と転送先の第2メモリ領域とが異なるバスに接続され
たメモリ内の領域である場合に、ページ境界で区切られ
た転送元部分領域からバッファへの転送と、バッファか
ら転送先部分領域への転送とを並行して行うことがで
き、しかも、少ないバッファ容量で効率よくDMA転送
を実現できる。
According to this configuration, when the first memory area of the transfer source and the second memory area of the transfer destination are areas in a memory connected to different buses, the transfer source portion divided by the page boundary Transfer from the area to the buffer and transfer from the buffer to the transfer destination partial area can be performed in parallel, and DMA transfer can be efficiently realized with a small buffer capacity.

【0101】(17)本発明は、優先度が異なる複数の
DMAチャネルを有するDMA転送システムであって、
DMAチャネル毎に設けられ、対応するDMAチャネル
のDMA転送要求を受付け、DMA転送の完了までDM
A転送要求を保持する複数の受付手段と、DMAチャネ
ル毎に設けられ、対応するDMAチャネルのDMA転送
要求に指定された転送対象のメモリ領域について、当該
メモリ領域を構成する複数の部分領域であって、前記メ
モリ領域の先頭とページ境界との間、ページ境界間及び
ページ境界と前記メモリ領域の末尾との間の各部分領域
を判別する複数の判別手段と、DMAチャネル毎に設け
られ、対応するDMAチャネルの判別手段により判別さ
れた部分領域毎に高速ページアクセスを指示するアクセ
ス要求を生成する複数のアクセス要求生成手段と、各D
MAチャネルに共用され、転送すべきデータを一時的に
保持するバッファ手段と、調停手段とを備える。ここ
で、調停手段は、複数の受付け手段において、ただ1つ
のDMAチャネルに対するDMA転送要求が保持されて
いる場合には、当該DMAチャネルに対応するアクセス
要求に従ってアクセスを行い、DMA転送要求が保持さ
れていて、かつ、優先度の高いDMAチャネルに対する
DMA転送要求が受付けられた場合には、先行するDM
A転送要求のDMAチャネルに対応する判別手段及びア
クセス要求生成手段に対してバッファ手段を空にしてか
ら中断するよう指示し、バッファ手段が空になった時点
で優先度の高いDMAチャネルのアクセス要求に従って
アクセスを行い、優先度の高いDMA転送完了後に、先
行するDMA転送要求のDMAチャネルに対応する判別
手段及びアクセス要求生成手段に対してDMA転送を再
開するよう指示する。
(17) The present invention relates to a DMA transfer system having a plurality of DMA channels having different priorities,
A DMA transfer request is provided for each DMA channel and accepts a DMA transfer request of the corresponding DMA channel.
A: a plurality of accepting means for holding the transfer request; and a plurality of partial areas which are provided for each DMA channel and which constitute the memory area for the transfer target memory area specified in the DMA transfer request of the corresponding DMA channel. A plurality of determination means for determining each partial area between the beginning of the memory area and the page boundary, between the page boundaries, and between the page boundary and the end of the memory area; A plurality of access request generating means for generating an access request for instructing high-speed page access for each partial area determined by the DMA channel determining means;
It includes a buffer unit shared by the MA channel and temporarily holding data to be transferred, and an arbitration unit. Here, when the plurality of accepting units hold the DMA transfer request for only one DMA channel, the arbitrating unit performs access according to the access request corresponding to the DMA channel, and holds the DMA transfer request. If a DMA transfer request for a DMA channel with a higher priority is accepted, the preceding DM
A: Instruct the discriminating means and the access request generating means corresponding to the DMA channel of the transfer request to empty the buffer means and then suspend, and at the time when the buffer means becomes empty, the access request of the high priority DMA channel After completion of the high-priority DMA transfer, an instruction is issued to the determining means and the access request generating means corresponding to the DMA channel of the preceding DMA transfer request to restart the DMA transfer.

【0102】この構成によれば、転送対象のメモリ領域
内においてページ境界により区切られた部分領域毎に、
高速ページアクセスすることを保証できるとともに、D
MA転送中に優先度の高い他のDMA転送要求が受け付
けられた場合に、先行するDMA転送を中断して、優先
度の高いDMA転送に切り替えて実行することができ
る。
According to this configuration, in the memory area to be transferred, for each partial area delimited by the page boundary,
High-speed page access can be guaranteed, and D
If another high-priority DMA transfer request is accepted during the MA transfer, the preceding DMA transfer can be interrupted and switched to a high-priority DMA transfer for execution.

【0103】(18)前記先行するDMAチャネルに対
応する判別手段は、調停手段から中断を指示されたと
き、バッファ手段に保持されているデータに対応する転
送先領域を判別し、前記先行するDMAチャネルに対応
するアクセス要求生成手段は、調停手段から中断を指示
されたとき、判別手段に判別された転送先領域に対する
アクセス要求を生成し、前記調停手段は当該アクセス要
求に従って高速ページアクセスを行う。
(18) The discriminating means corresponding to the preceding DMA channel discriminates the transfer destination area corresponding to the data held in the buffer means when instructed to stop by the arbitrating means, and The access request generation means corresponding to the channel generates an access request to the transfer destination area determined by the determination means when instructed by the arbitration means to suspend, and the arbitration means performs high-speed page access according to the access request.

【0104】この構成にうよれば、調停手段から中断を
指示されたとき、判別手段がバッファ手段に保持されて
いるデータに対応する転送先領域を判別し、アクセス要
求手段が判別された転送先領域にバッファ手段内のデー
タを書き込むようアクセス要求を生成し、調停手段が当
該アクセス要求を実行するので、中断指示後速やかにバ
ッファ手段を空にし、優先度の高いDMAチャネルに移
行することができる。
According to this configuration, when an interruption is instructed from the arbitration means, the determination means determines the transfer destination area corresponding to the data held in the buffer means, and the access request means determines the transfer destination area determined. Since an access request is generated to write the data in the buffer unit to the area, and the arbitration unit executes the access request, the buffer unit can be emptied immediately after the interruption instruction, and the DMA channel can be shifted to a high priority DMA channel. .

【0105】(19)前記先行するDMAチャネルに対
応する判別手段は、調停手段から再開を指示されたと
き、転送対象のメモリ領域中の未転送の領域を構成する
部分領域を判別する。この構成によれば、再開を指示さ
れたとき判別手段は、中断されていた未転送領域から部
分領域の判別を再開するので、再開指示の後速やかに元
のDMA転送に復帰することができる。
(19) The discriminating means corresponding to the preceding DMA channel, when instructed to resume by the arbitrating means, discriminates a partial area constituting an untransferred area in the memory area to be transferred. According to this configuration, when the restart is instructed, the determination unit restarts the determination of the partial area from the interrupted untransferred area, and thus can immediately return to the original DMA transfer after the restart instruction.

【0106】(20)また、本発明は、複数のDMAチ
ャネルを有するDMA転送システムであって DMAチ
ャネル毎に設けられ、対応するDMAチャネルのDMA
転送要求を受付け、DMA転送の完了までDMA転送要
求を保持する複数の受付手段と、DMAチャネル毎に設
けられ、対応するDMAチャネルのDMA転送要求に指
定された転送対象のメモリ領域について、当該メモリ領
域を構成する複数の部分領域であって、前記メモリ領域
の先頭とページ境界との間、ページ境界間及びページ境
界と前記メモリ領域の末尾との間の各部分領域を判別す
る複数の判別手段と、DMAチャネル毎に設けられ、対
応するDMAチャネルの判別手段により判別された部分
領域毎に高速ページアクセスを指示するアクセス要求を
生成する複数のアクセス要求生成手段と、各DMAチャ
ネルに共用され、2つのバスに接続された2ポートメモ
リでありるバッファ手段と、調停手段とを備える。ここ
で、調停手段は、複数の受付け手段において、ただ1つ
のDMAチャネルに対するDMA転送要求が保持されて
いる場合には、当該DMAチャネルに対応するアクセス
要求に従ってアクセスを行い、既にDMA転送要求が保
持されていて、かつ、他のDMAチャネルに対するDM
A転送要求が受付けられ、かつ、先行するDMA転送の
転送先と新たなDMA転送の転送元とが異なるバス上の
メモリである場合には、転送中の全転送データについて
の転送元からの読み出しが完了し、かつ、バッファ手段
に他のDMAチャネルの最初の部分領域の読み出しサイ
ズ分の空き領域が存在するという状態になった時点で、
他のDMAチャネルの最初の部分領域の読み出しを開始
する。
(20) The present invention is also directed to a DMA transfer system having a plurality of DMA channels, wherein the DMA transfer system is provided for each DMA channel.
A plurality of receiving means for receiving a transfer request and holding the DMA transfer request until the completion of the DMA transfer; and a plurality of memory means provided for each DMA channel and for a transfer target memory area specified in the DMA transfer request of the corresponding DMA channel A plurality of determination means for determining a plurality of partial areas constituting an area, wherein each partial area is located between a head of the memory area and a page boundary, between page boundaries, and between a page boundary and an end of the memory area. A plurality of access request generation means provided for each DMA channel and generating an access request for instructing high-speed page access for each partial area determined by the corresponding DMA channel determination means; shared by each DMA channel; It comprises a buffer means which is a two-port memory connected to two buses, and an arbitration means. Here, if the plurality of accepting units hold the DMA transfer request for only one DMA channel, the arbitrating unit performs access according to the access request corresponding to the DMA channel, and the arbitrating unit already holds the DMA transfer request. And DM for other DMA channels
When the A transfer request is accepted and the transfer destination of the preceding DMA transfer and the transfer source of the new DMA transfer are memories on different buses, reading from the transfer source all transfer data being transferred. Is completed, and when the buffer means has a free area of the read size of the first partial area of another DMA channel,
The reading of the first partial area of another DMA channel is started.

【0107】この構成によれば、転送対象のメモリ領域
内においてページ境界により区切られた部分領域毎に、
高速ページアクセスすることを保証できるとともに、先
行するDMA転送においてメモリ領域からバッファへの
全データの読み出しが終わった後、先行するDMA転送
の書き込みと、新たなDMA転送の書き込みとを並列に
実行することができる。
According to this configuration, for each partial area delimited by a page boundary in the memory area to be transferred,
High-speed page access can be guaranteed, and after reading of all data from the memory area to the buffer in the preceding DMA transfer, writing of the preceding DMA transfer and writing of a new DMA transfer are executed in parallel. be able to.

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

【図1】本発明の第1の実施の形態におけるDMA転送
装置を備える情報処理装置の主要部の構成を示すブロッ
ク図である。
FIG. 1 is a block diagram illustrating a configuration of a main part of an information processing apparatus including a DMA transfer device according to a first embodiment of the present invention.

【図2】DMA転送装置の構成を示すブロック図であ
る。
FIG. 2 is a block diagram illustrating a configuration of a DMA transfer device.

【図3】読み出し決定部によって判別される部分領域の
一例を示す。
FIG. 3 shows an example of a partial area determined by a reading determination unit.

【図4】書き込み決定部によって判別される部分領域の
一例を示す。
FIG. 4 shows an example of a partial area determined by a writing determination unit.

【図5】部分領域判定部の詳細な構成例を示すブロック
図である。
FIG. 5 is a block diagram illustrating a detailed configuration example of a partial area determination unit.

【図6】ページサイズに相当する定数から、未読み出し
の領域の先頭アドレスの下位4ビットを減算した結果で
あって、当該先頭アドレスからから直近のページ境界ま
でのバイト数を示す図である。
FIG. 6 is a diagram showing the result of subtracting the lower 4 bits of the head address of an unread area from a constant corresponding to a page size, and showing the number of bytes from the head address to the nearest page boundary.

【図7】部分領域判定部の詳細な構成例を示すブロック
図である。
FIG. 7 is a block diagram illustrating a detailed configuration example of a partial area determination unit.

【図8】ページサイズに相当する定数から、未書き込み
の領域の先頭アドレスの下位4ビットを減算した結果で
あって、当該先頭アドレスからから直近のページ境界ま
でのバイト数を示す図である。
FIG. 8 is a diagram showing the result of subtracting the lower 4 bits of the head address of an unwritten area from a constant corresponding to a page size, and showing the number of bytes from the head address to the nearest page boundary.

【図9】図3、4に示した転送元、転送先の記憶領域間
において、DMA転送する様子を示す説明図である。
FIG. 9 is an explanatory diagram showing a state in which DMA transfer is performed between the transfer source and transfer destination storage areas shown in FIGS.

【図10】図9のDMA転送のタイミングを示すタイム
チャートである。
FIG. 10 is a time chart showing the timing of the DMA transfer of FIG. 9;

【図11】本発明の第2の実施の形態におけるDMA転
送システムの構成を示すブロック図である。
FIG. 11 is a block diagram illustrating a configuration of a DMA transfer system according to a second embodiment of the present invention.

【図12】アクセス決定部の詳細な構成を示すブロック
図である。
FIG. 12 is a block diagram illustrating a detailed configuration of an access determination unit.

【図13】DMA転送システムにおけるDMA転送のタ
イミングを示すタイムチャートである。
FIG. 13 is a time chart showing DMA transfer timing in the DMA transfer system.

【図14】本発明の第3の実施の形態におけるDMA転
送装置8の構成を示すブロック図である。
FIG. 14 is a block diagram illustrating a configuration of a DMA transfer device 8 according to a third embodiment of the present invention.

【図15】本実施形態のDMA転送装置におけるDMA
転送のタイミングを示すタイムチャートである。
FIG. 15 is a diagram illustrating a DMA in the DMA transfer device according to the embodiment;
6 is a time chart showing transfer timing.

【図16】本発明の第4の実施の形態におけるDMA転
送システムの構成を示すブロック図である。
FIG. 16 is a block diagram illustrating a configuration of a DMA transfer system according to a fourth embodiment of the present invention.

【図17】2ポートのバッファの構成例を示す。FIG. 17 shows a configuration example of a two-port buffer.

【図18】DMAチャンネル0の転送先とDMAチャネ
ル1の転送元とが異なるメモリである場合を示す説明図
である。。
FIG. 18 is an explanatory diagram showing a case where the transfer destination of the DMA channel 0 and the transfer source of the DMA channel 1 are different memories. .

【図19】図18(a)の場合の動作例を示すタイムチ
ャートである。
FIG. 19 is a time chart illustrating an operation example in the case of FIG.

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

1 DMA転送装置 2 CPU 3 SDRAM I/F 4 SDRAM 5 I/O部 100 モード設定部 101〜105 レジスタ 110 アクセス決定部 111 バッファ管理部 112 リード/ライト決定部 120 アクセス制御部 130 バッファ 200 読み出し管理部 201 アドレスカウンタ 202 データカウンタ 210 読み出し決定部 211 部分領域判定部 211a 減算器 211b 比較器 211c セレクタ 212 アドレスレジスタ 213 サイズレジスタ 300 書き込み管理部 301 アドレスカウンタ 302 データカウンタ 310 書き込み決定部 311 部分領域判定部 312 アドレスレジスタ 313 サイズレジスタ 411 アクセス決定部 DESCRIPTION OF SYMBOLS 1 DMA transfer apparatus 2 CPU 3 SDRAM I / F 4 SDRAM 5 I / O part 100 Mode setting part 101-105 Register 110 Access decision part 111 Buffer management part 112 Read / write decision part 120 Access control part 130 Buffer 200 Read management part 201 address counter 202 data counter 210 read determination section 211 partial area determination section 211a subtractor 211b comparator 211c selector 212 address register 213 size register 300 write management section 301 address counter 302 data counter 310 write determination section 311 partial area determination section 312 address Register 313 Size register 411 Access decision unit

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】 高速ページアクセスに対応するメモリを
対象とするDMA転送装置であって、 転送対象となるメモリ領域を構成する複数の部分領域で
あって、前記メモリ領域の先頭、ページ境界及び前記メ
モリ領域の末尾の何れかとページ境界とにより区切られ
た複数の部分領域を判別する判別手段と、 判別された部分領域毎に高速ページアクセスを行なうア
クセス手段と、 を備えることを特徴とするDMA転送装置。
1. A DMA transfer apparatus for a memory corresponding to a high-speed page access, comprising: a plurality of partial areas constituting a memory area to be transferred; A DMA transfer, comprising: a determination unit that determines a plurality of partial regions separated by any one of the end of the memory region and a page boundary; and an access unit that performs high-speed page access for each of the determined partial regions. apparatus.
【請求項2】 前記判別手段は、 転送対象となる領域の先頭アドレスを初期値として保持
し、アクセス手段により高速ページアクセスがなされる
毎に、保持内容を転送対象のメモリ領域のうち未転送の
領域の先頭アドレスに更新するアドレス更新手段と、 転送対象となる領域のデータサイズを初期値として保持
し、アクセス手段により高速ページアクセスがなされる
毎に保持内容を、転送対象のデータサイズのうちの未転
送データサイズに更新するデータサイズ更新手段と、 アドレス更新手段に初期値として保持される先頭アドレ
スから直近のページ境界までの部分領域を判別し、アド
レス更新手段が更新する毎に、更新後の先頭アドレスか
ら直近のページ境界又は前記メモリ領域の末尾までの次
の部分領域を判別する部分領域判別手段とを備えること
を特徴とする請求項1記載のDMA転送装置。
2. The method according to claim 1, wherein the determining unit stores, as an initial value, a start address of an area to be transferred, and each time a high-speed page access is performed by the access unit, stores the held content in an untransferred area of the memory area to be transferred. Address updating means for updating to the start address of the area; and holding the data size of the area to be transferred as an initial value, and each time a high-speed page access is performed by the access means, the held content is read out of the data size of the transfer target. A data size updating unit for updating to an untransferred data size; and a partial area from a start address held as an initial value in the address updating unit to a nearest page boundary. A partial area determining means for determining a next partial area from the start address to the nearest page boundary or the end of the memory area. 2. The DMA transfer device according to claim 1, further comprising:
【請求項3】 前記部分領域判別手段は、 アドレス更新手段に保持された先頭アドレスから直近の
ページ境界または前記メモリ領域の末尾までのサイズを
判別するサイズ判別手段と、 サイズ判別手段により判別されたサイズを部分領域のサ
イズとして保持するサイズ保持手段とを備え、 前記アクセス手段は、アドレス更新手段に保持されてい
先頭アドレスからサイズ保持手段に保持されたサイズ分
の部分領域を高速ページアクセスすることを特徴とする
請求項2記載のDMA転送装置。
3. The partial area discriminating means determines a size from a head address held in an address updating means to a nearest page boundary or an end of the memory area. Size holding means for holding the size as the size of the partial area, wherein the access means performs high-speed page access to the partial area of the size held in the size holding means from the start address held in the address updating means. 3. The DMA transfer device according to claim 2, wherein:
【請求項4】 前記サイズ判別手段は、 ページ領域のサイズから、アドレス更新手段に保持され
た先頭アドレスの下位ビットであってページ領域内の相
対位置を表す下位ビットを減算することにより、直近の
ページ境界までのサイズを算出する減算手段と、 減算手段により算出されたサイズと、データサイズ更新
手段に保持された未転送データサイズとを比較する比較
手段と、 比較手段の比較の結果、大きくない方を選択する選択手
段とを備え、 前記サイズ保持手段は、選択手段の選択結果を部分領域
のサイズとして保持することを特徴とする請求項3記載
のDMA転送装置。
4. The size discriminating means subtracts, from the size of the page area, lower bits representing the relative position in the page area, which are the lower bits of the head address held in the address updating means, thereby obtaining the most recent bit. Subtraction means for calculating the size up to the page boundary; comparison means for comparing the size calculated by the subtraction means with the untransferred data size held in the data size updating means; 4. The DMA transfer device according to claim 3, further comprising: a selection unit that selects the one of the two areas, wherein the size holding unit holds a selection result of the selection unit as a size of the partial area.
【請求項5】 高速ページアクセスに対応するメモリを
転送対象とするDMA転送装置であって、 転送元となる第1メモリ領域を構成する複数の転送元部
分領域であって、前記第1メモリ領域の先頭、ページ境
界及び前記第1メモリ領域の末尾の何れかとページ境界
とにより区切られた複数の転送元部分領域を判別する第
1判別手段と、 転送先となる第2メモリ領域を構成する複数の転送先部
分領域であって、前記第2メモリ領域の先頭、ページ境
界及び前記第2メモリ領域の末尾の何れかとページ境界
とにより区切られた複数の転送先部分領域を判別する第
2判別手段と、 第1判別手段に判別された転送元部分領域から高速ペー
ジアクセスによりデータを読み出し、第2判別手段によ
り判別された転送先部分領域に読み出されたデータを高
速ページアクセスにより書き込むアクセス手段とを備え
ることを特徴とするDMA転送装置。
5. A DMA transfer apparatus for transferring data to a memory corresponding to high-speed page access, comprising: a plurality of transfer source partial areas constituting a first memory area serving as a transfer source; First determining means for determining a plurality of transfer source partial areas separated by any one of a head, a page boundary, and the end of the first memory area and a page boundary; and a plurality of parts forming a second memory area serving as a transfer destination A second determination means for determining a plurality of transfer destination partial areas separated by any one of a head of the second memory area, a page boundary, and an end of the second memory area and a page boundary. Data is read out from the transfer source partial area determined by the first determination means by high-speed page access, and the data read into the transfer destination partial area determined by the second determination means is A DMA transfer device comprising: an access unit for writing by fast page access.
【請求項6】 前記第1判別手段は、 第1メモリ領域の先頭アドレスを初期値として保持し、
アクセス手段のアクセスに応じて保持内容を、第1メモ
リ領域のうち未転送の領域の先頭アドレスに更新する第
1アドレス更新手段と、 第1メモリ領域のデータサイズを初期値として保持し、
アクセス手段のアクセスに応じて保持内容を、第1メモ
リ領域のデータサイズのうちの未転送データサイズに更
新する第1データサイズ更新手段と、 第1アドレス更新手段に初期値として保持された先頭ア
ドレスから直近のページ境界までの転送元部分領域を判
別し、第1アドレス更新手段が更新する毎に、更新後の
先頭アドレスから直近のページ境界又は前記第1メモリ
領域の末尾までの次の転送元部分領域を判別する第1部
分領域判別手段とを備えることを特徴とする請求項5記
載のDMA転送装置。
6. The first determining means holds a start address of a first memory area as an initial value,
First address updating means for updating the held content to the start address of an untransferred area of the first memory area in response to access by the access means; holding the data size of the first memory area as an initial value;
First data size updating means for updating the held content to the untransferred data size of the data size of the first memory area in response to access by the access means; and a first address held as an initial value by the first address updating means. From the start address after the update to the nearest page boundary or the end of the first memory area every time the first address updating means updates the transfer source partial area from the transfer source partial area to the nearest page boundary or the end of the first memory area. 6. The DMA transfer device according to claim 5, further comprising: a first partial area determination unit that determines a partial area.
【請求項7】 前記第1部分領域判別手段は、 第1アドレス更新手段に保持された先頭アドレスから直
近のページ境界または前記第1メモリ領域の末尾までの
データサイズを判別する第1サイズ判別手段と、 第1サイズ判別手段により判別されたサイズを転送元部
分領域のサイズとして保持する第1サイズ保持手段とを
備え、 前記アクセス手段は、第1アドレス保持手段に保持され
た先頭アドレスから、第1サイズ保持手段に保持された
サイズ分の転送元部分領域を高速ページアクセスにより
読み出すことを特徴とする請求項6記載のDMA転送装
置。
7. The first size discriminating means, wherein the first partial area discriminating means discriminates a data size from a start address held in a first address updating means to a nearest page boundary or an end of the first memory area. And a first size holding means for holding the size determined by the first size determination means as the size of the transfer source partial area, wherein the access means determines a first address from the first address held by the first address holding means. 7. The DMA transfer apparatus according to claim 6, wherein the transfer source partial area of the size stored in the one-size storage unit is read by high-speed page access.
【請求項8】 前記第1サイズ判別手段は、 ページ領域のサイズから、第1アドレス更新手段に保持
された先頭アドレスの下位ビットであってページ領域内
の相対位置を表す下位ビットを減算することにより、直
近のページ境界までのサイズを算出する第1減算手段
と、 第1減算手段により算出されたサイズと、第1データサ
イズ更新手段に保持された未転送データサイズとを比較
する第1比較手段と、 第1比較手段の比較の結果、大きくない方を選択する第
1選択手段と、を備え、 前記第1サイズ保持手段は、第1選択手段の選択結果を
部分領域のサイズとして保持することを特徴とする請求
項7記載のDMA転送装置。
8. The first size discriminating means subtracts, from the size of the page area, lower bits representing a relative position in the page area, which are lower bits of the start address held by the first address updating means. A first subtraction means for calculating the size up to the nearest page boundary, and a first comparison for comparing the size calculated by the first subtraction means with the untransferred data size held in the first data size updating means. Means, and a first selection means for selecting a smaller one as a result of the comparison by the first comparison means, wherein the first size holding means holds the selection result of the first selection means as a size of the partial area. 8. The DMA transfer device according to claim 7, wherein:
【請求項9】 前記第2判別手段は、 第2メモリ領域の先頭アドレスを初期値として保持し、
アクセス手段のアクセスに応じて保持内容を、第2メモ
リ領域のうち未転送の領域の先頭アドレスに更新する第
2アドレス更新手段と、 第2メモリ領域のデータサイズを初期値として保持し、
アクセス手段のアクセスに応じて保持内容を、第2メモ
リ領域のデータサイズのうちの未転送データサイズに更
新する第2データサイズ更新手段と、 第2アドレス更新手段に初期値として保持された先頭ア
ドレスから直近のページ境界までの転送先部分領域を判
別し、第2アドレス更新手段が更新する毎に、更新後の
先頭アドレスから直近のページ境界又は前記第2メモリ
領域の末尾までの次の転送先部分領域を判別する第2部
分領域判別手段とを備えることを特徴とする請求項8記
載のDMA転送装置。
9. The method according to claim 9, wherein the second determination unit holds a start address of the second memory area as an initial value,
Second address updating means for updating the held content to the start address of an untransferred area in the second memory area in response to access by the access means; holding the data size of the second memory area as an initial value;
Second data size updating means for updating the held content to the untransferred data size of the data size of the second memory area in response to access by the access means; and a start address held as an initial value by the second address updating means. From the starting address after the update to the nearest page boundary or the end of the second memory area each time the second address updating means updates the transfer destination partial area from 9. The DMA transfer device according to claim 8, further comprising a second partial area determination unit that determines a partial area.
【請求項10】 前記第2部分領域判別手段は、 第2アドレス更新手段に保持された先頭アドレスから直
近のページ境界または前記第2メモリ領域の末尾までの
サイズを判別する第2サイズ判別手段と、 第2サイズ判別手段により判別されたサイズを転送先部
分領域のサイズとして保持する第2サイズ保持手段とを
備え、 前記アクセス手段は、第2アドレス保持手段に保持され
た先頭アドレスから、第2サイズ保持手段に保持された
サイズ分の転送先部分領域を高速ページアクセスに書き
込むことを特徴とする請求項9記載のDMA転送装置。
10. The second partial area discriminating means, a second size discriminating means for discriminating a size from a start address held in a second address updating means to a nearest page boundary or an end of the second memory area. And a second size holding means for holding the size determined by the second size determining means as the size of the transfer destination partial area, wherein the access means obtains a second address from the head address held by the second address holding means. 10. The DMA transfer device according to claim 9, wherein the transfer destination partial area of the size held in the size holding means is written in the high-speed page access.
【請求項11】 前記第2サイズ判別手段は、ページ領
域のサイズから、第2アドレス更新手段に保持された先
頭アドレスの下位ビットであってページ領域内の相対位
置を表す下位ビットを減算することにより、直近のペー
ジ境界までのサイズを算出する第2減算手段と、 第2減算手段により算出されたサイズと、第2データサ
イズ更新手段に保持された未転送データサイズとを比較
する第2比較手段と、 第2比較手段の比較の結果、大きくない方を選択する第
2選択手段とを備え、 前記第2サイズ保持手段は、第2選択手段の選択結果を
部分領域のサイズとして保持することを特徴とする請求
項10記載のDMA転送装置。
11. The second size discriminating means subtracts, from the size of the page area, lower bits representing a relative position in the page area, which are lower bits of a head address held in the second address updating means. A second subtraction means for calculating the size up to the nearest page boundary, and a second comparison for comparing the size calculated by the second subtraction means with the untransferred data size held in the second data size updating means. Means, and a second selecting means for selecting a smaller one as a result of the comparison by the second comparing means, wherein the second size holding means holds the selection result of the second selecting means as a size of the partial area. The DMA transfer device according to claim 10, wherein:
【請求項12】 高速ページアクセスに対応するメモリ
を転送対象とするDMA転送装置であって、 転送元となる第1メモリ領域を構成する複数の転送元部
分領域であって、前記第1メモリ領域の先頭、ページ境
界及び前記第1メモリ領域の末尾の何れかとページ境界
とにより区切られた複数の転送元部分領域を判別する第
1判別手段と、 転送先となる第2メモリ領域を構成する複数の転送先部
分領域であって、前記第2メモリ領域の先頭、ページ境
界及び前記第2メモリ領域の末尾の何れかとページ境界
とにより区切られた複数の転送先部分領域を判別する第
2判別手段と、 第1判別手段に判別された転送元部分領域から高速ペー
ジアクセスによりデータを読み出してバッファ手段に格
納し、バッファ手段に格納されたデータを第2判別手段
により判別された転送先部分領域に高速ページアクセス
により書き込むアクセス手段とを備えることを特徴とす
るDMA転送装置。
12. A DMA transfer device for transferring a memory corresponding to a high-speed page access to a plurality of transfer source partial areas constituting a first memory area serving as a transfer source, wherein the first memory area First determining means for determining a plurality of transfer source partial areas separated by any one of a head, a page boundary, and the end of the first memory area and a page boundary; and a plurality of parts forming a second memory area serving as a transfer destination A second determination means for determining a plurality of transfer destination partial areas separated by any one of a head of the second memory area, a page boundary, and an end of the second memory area and a page boundary. Data is read from the transfer source partial area determined by the first determination means by high-speed page access, stored in the buffer means, and the data stored in the buffer means is read by the second determination means. An access means for writing the transfer destination partial area determined by the stage by high-speed page access.
【請求項13】 前記第1メモリ領域と第2メモリ領域
とは、同一メモリ内の領域又は同じバスに接続された異
なるメモリ内の領域であって、 前記アクセス手段は、 バッファ手段に保持されているデータのサイズ及びバッ
ファ手段の空きサイズと、転送元部分領域のサイズ及び
転送先部分領域のサイズとを比較して、比較結果に応じ
て転送元部分領域の読み出しと転送先部分領域の書き込
みの何れを行なうかを決定するリード/ライト決定手段
と、 リード/ライト決定手段の決定に従って転送元部分領域
からの読み出しと転送先部分領域への書き込みとを行な
うアクセス制御手段とを備えることを特徴とする請求項
12記載のDMA転送装置。
13. The first memory area and the second memory area are areas in the same memory or areas in different memories connected to the same bus, and the access unit is held in a buffer unit. The size of the data and the free size of the buffer means are compared with the size of the transfer source partial area and the size of the transfer destination partial area, and the reading of the transfer source partial area and the writing of the transfer destination partial area are performed according to the comparison result. Read / write determining means for determining which one to perform, and access control means for performing reading from the source partial area and writing to the destination partial area in accordance with the determination of the read / write determining means. 13. The DMA transfer device according to claim 12, wherein:
【請求項14】 前記バッファ手段は、ページ領域の2
倍からメモリの1回のアクセスサイズを引いた容量を少
なくとも有し、 前記リード/ライト決定手段は、バッファ手段の空きサ
イズが第1判別手段により判別された転送元部分領域の
サイズ以上である場合はリードを行なうと判定し、バッ
ファ管理手段に取得されたデータサイズが、第2判別手
段により判別された転送先部分領域のサイズ以上である
場合は、ライトを行なうと決定するを備えることを特徴
とする請求項13記載のDMA転送装置。
14. The buffer unit according to claim 1, wherein the buffer unit is a page area.
The read / write determining means has at least a capacity obtained by subtracting one access size of the memory from the double, and the read / write deciding means has a vacant size of the buffer means equal to or larger than the size of the transfer source partial area determined by the first determining means. Determines that reading is to be performed, and determines that writing is to be performed if the data size acquired by the buffer management unit is equal to or larger than the size of the transfer destination partial area determined by the second determination unit. 14. The DMA transfer device according to claim 13, wherein:
【請求項15】 前記バッファ手段は2つのバスに接続
される2ポートメモリであり、 前記第1メモリ領域と第2メモリ領域とは、異なるバス
に接続されたメモリ内の領域であり、 前記アクセス手段は、 バッファ手段に保持されているデータのサイズとバッフ
ァ手段の空きサイズとに応じて、転送元部分領域からの
読み出しを行なうか否かと決定し、これと独立に、転送
先部分領域への書き込みを行なうか否かを決定するリー
ド/ライト決定手段と、 リード/ライト決定手段の決定に従って転送元部分領域
からの読み出しと転送先部分領域への書き込みとを行な
うアクセス制御手段とを備えることを特徴とする請求項
12記載のDMA転送装置。
15. The buffer means is a two-port memory connected to two buses, wherein the first memory area and the second memory area are areas in a memory connected to different buses. The means determines whether or not to read from the transfer source partial area according to the size of the data held in the buffer means and the free size of the buffer means. Read / write determining means for determining whether or not to perform writing; and access control means for performing reading from the source partial area and writing to the destination partial area in accordance with the determination by the read / write determining means. 13. The DMA transfer device according to claim 12, wherein:
【請求項16】 前記リード/ライト決定手段は、バッ
ファ手段の空きサイズが第1判別手段により判別された
転送元部分領域のサイズ以上である場合はリードを行な
うと判定し、これと独立に、バッファ管理手段に取得さ
れたデータサイズが、第2判別手段により判別された転
送先部分領域のサイズ以上である場合は、ライトを行な
うと決定することを特徴とする請求項15記載のDMA
転送装置。
16. The read / write determining means determines that reading is to be performed when the empty size of the buffer means is equal to or larger than the size of the transfer source partial area determined by the first determining means. 16. The DMA according to claim 15, wherein when the data size acquired by the buffer management unit is equal to or larger than the size of the transfer destination partial area determined by the second determination unit, it is determined that writing is performed.
Transfer device.
【請求項17】 優先度が異なる複数のDMAチャネル
を有するDMA転送システムであって、 DMAチャネル毎に設けられ、対応するDMAチャネル
のDMA転送要求を受付け、DMA転送の完了までDM
A転送要求を保持する複数の受付手段と、 DMAチャネル毎に設けられ、対応するDMAチャネル
のDMA転送要求に指定された転送対象のメモリ領域に
ついて、当該メモリ領域を構成する複数の部分領域であ
って、前記メモリ領域の先頭、ページ境界及び前記メモ
リ領域の末尾の何れかとページ境界とにより区切られた
複数の部分領域を判別する複数の判別手段と、 DMAチャネル毎に設けられ、対応するDMAチャネル
の判別手段により判別された部分領域毎に高速ページア
クセスを指示するアクセス要求を生成する複数のアクセ
ス要求生成手段と、 各DMAチャネルに共用され、転送すべきデータを一時
的に保持するバッファ手段と、 複数の受付け手段において、ただ1つのDMAチャネル
に対するDMA転送要求が保持されている場合には、当
該DMAチャネルに対応するアクセス要求に従ってアク
セスを行い、 DMA転送要求が保持されていて、かつ、優先度の高い
DMAチャネルに対するDMA転送要求が受付けられた
場合には、先行するDMA転送要求のDMAチャネルに
対応する判別手段及びアクセス要求生成手段に対してバ
ッファ手段を空にしてから中断するよう指示し、バッフ
ァ手段が空になった時点で優先度の高いDMAチャネル
のアクセス要求に従ってアクセスを行い、 優先度の高いDMA転送完了後に、先行するDMA転送
要求のDMAチャネルに対応する判別手段及びアクセス
要求生成手段に対してDMA転送を再開するよう指示す
る調停手段とを備え、 ことを特徴とするDMA転送システム。
17. A DMA transfer system having a plurality of DMA channels having different priorities, provided for each DMA channel, receiving a DMA transfer request of a corresponding DMA channel, and performing a DM transfer until completion of the DMA transfer.
A: a plurality of accepting means for holding the transfer request; and a plurality of partial areas which are provided for each DMA channel and which constitute the memory area of the transfer target memory area specified in the DMA transfer request of the corresponding DMA channel. A plurality of discriminating means for discriminating a plurality of partial areas demarcated by any one of the top of the memory area, the page boundary, and the end of the memory area and the page boundary; A plurality of access request generation means for generating an access request for instructing high-speed page access for each partial area determined by the determination means; and a buffer means shared by each DMA channel for temporarily holding data to be transferred. A plurality of accepting means hold a DMA transfer request for only one DMA channel. In this case, access is performed in accordance with the access request corresponding to the DMA channel. If the DMA transfer request is held and a DMA transfer request for a high-priority DMA channel is accepted, the preceding DMA transfer is performed. Instructing the determination means and the access request generation means corresponding to the requested DMA channel to empty the buffer means and then suspending the access, and when the buffer means becomes empty, access is performed according to the access request of the high-priority DMA channel. And arbitration means for instructing the access request generation means to resume the DMA transfer to the determination means corresponding to the DMA channel of the preceding DMA transfer request after the completion of the high-priority DMA transfer. DMA transfer system.
【請求項18】 前記先行するDMAチャネルに対応す
る判別手段は、調停手段から中断を指示されたとき、バ
ッファ手段に保持されているデータに対応する転送先領
域を判別し、 前記先行するDMAチャネルに対応するアクセス要求生
成手段は、調停手段から中断を指示されたとき、判別手
段に判別された転送先領域に対するアクセス要求を生成
し、 前記調停手段は当該アクセス要求に従って高速ページア
クセスを行うことを特徴とする請求項17記載のDMA
転送システム。
18. A determination means corresponding to the preceding DMA channel, when instructed to stop by the arbitration means, determines a transfer destination area corresponding to data held in a buffer means, and The access request generation means corresponding to the above, when instructed by the arbitration means to interrupt, generates an access request to the transfer destination area determined by the determination means, the arbitration means performs high-speed page access according to the access request 18. The DMA according to claim 17, wherein:
Transfer system.
【請求項19】 前記先行するDMAチャネルに対応す
る判別手段は、調停手段から再開を指示されたとき、転
送対象のメモリ領域中の未転送の領域を構成する部分領
域を判別することを特徴とする請求項18記載のDMA
転送システム。
19. A method according to claim 19, wherein the determining means corresponding to the preceding DMA channel determines a partial area constituting an untransferred area in the memory area to be transferred when instructed to resume by the arbitrating means. 19. The DMA according to claim 18,
Transfer system.
【請求項20】 複数のDMAチャネルを有するDMA
転送システムであってDMAチャネル毎に設けられ、対
応するDMAチャネルのDMA転送要求を受付け、DM
A転送の完了までDMA転送要求を保持する複数の受付
手段と、 DMAチャネル毎に設けられ、対応するDMAチャネル
のDMA転送要求に指定された転送対象のメモリ領域に
ついて、当該メモリ領域を構成する複数の部分領域であ
って、前記メモリ領域の先頭とページ境界との間、ペー
ジ境界間及びページ境界と前記メモリ領域の末尾との間
の各部分領域を判別する複数の判別手段と、 DMAチャネル毎に設けられ、対応するDMAチャネル
の判別手段により判別された部分領域毎に高速ページア
クセスを指示するアクセス要求を生成する複数のアクセ
ス要求生成手段と、 各DMAチャネルに共用され、2つのバスに接続された
2ポートメモリでありるバッファ手段と、 複数の受付け手段において、ただ1つのDMAチャネル
に対するDMA転送要求が保持されている場合には、当
該DMAチャネルに対応するアクセス要求に従ってアク
セスを行い、 既にDMA転送要求が保持されていて、かつ、他のDM
Aチャネルに対するDMA転送要求が受付けられ、か
つ、先行するDMA転送の転送先と新たなDMA転送の
転送元とが異なるバス上のメモリである場合には、転送
中の全転送データについての転送元からの読み出しが完
了し、かつ、バッファ手段に他のDMAチャネルの最初
の部分領域の読み出しサイズ分の空き領域が存在すると
いう状態になった時点で、他のDMAチャネルの最初の
部分領域の読み出しを開始する調停手段とを備えること
を特徴とするDMA転送システム。
20. A DMA having a plurality of DMA channels.
A transfer system, provided for each DMA channel, for receiving a DMA transfer request of a corresponding DMA channel,
A plurality of accepting means for holding a DMA transfer request until the completion of the A transfer; and a plurality of memory means provided for each DMA channel and constituting a memory area to be transferred specified in the DMA transfer request of the corresponding DMA channel. A plurality of determination means for determining each partial area between the beginning of the memory area and the page boundary, between the page boundaries, and between the page boundary and the end of the memory area; A plurality of access request generating means for generating an access request for instructing high-speed page access for each partial area determined by the corresponding DMA channel determining means; shared by each DMA channel and connected to two buses Buffer means, which is a two-port memory, and a plurality of receiving means, each of which has a D When the MA transfer request is held, the access is performed according to the access request corresponding to the DMA channel, and the DMA transfer request is already held and another DM transfer request is held.
When a DMA transfer request for the A channel is accepted and the transfer destination of the preceding DMA transfer and the transfer source of the new DMA transfer are memories on different buses, the transfer source for all transfer data being transferred is When the reading from the first DMA is completed and the buffer means has a free area of the read size of the first partial area of the other DMA channel, the first partial area of the other DMA channel is read. Arbitration means for starting the DMA transfer.
JP33962399A 1998-11-30 1999-11-30 DMA transfer apparatus and DMA transfer system Expired - Fee Related JP4536189B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33962399A JP4536189B2 (en) 1998-11-30 1999-11-30 DMA transfer apparatus and DMA transfer system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-338739 1998-11-30
JP33873998 1998-11-30
JP33962399A JP4536189B2 (en) 1998-11-30 1999-11-30 DMA transfer apparatus and DMA transfer system

Publications (2)

Publication Number Publication Date
JP2000227897A true JP2000227897A (en) 2000-08-15
JP4536189B2 JP4536189B2 (en) 2010-09-01

Family

ID=26576190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33962399A Expired - Fee Related JP4536189B2 (en) 1998-11-30 1999-11-30 DMA transfer apparatus and DMA transfer system

Country Status (1)

Country Link
JP (1) JP4536189B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140289A (en) * 2000-09-08 2002-05-17 Texas Instruments Inc Micro-controller dma operation with adjustable word size transfer and address array/increase
JP2005141682A (en) * 2003-11-10 2005-06-02 Digital Electronics Corp High-speed memory access control device
JP2011034414A (en) * 2009-08-03 2011-02-17 Canon Inc Dma controller
JP2011530744A (en) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション Stoppable and restartable DMA engine
JP5094727B2 (en) * 2006-09-20 2012-12-12 パナソニック株式会社 Data transfer device and mobile phone
CN114461552A (en) * 2022-01-26 2022-05-10 北京经纬恒润科技股份有限公司 Data storage method and device
CN114546906A (en) * 2022-01-28 2022-05-27 郑州信大捷安信息技术股份有限公司 Data interaction method and system based on ring communication mechanism

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140289A (en) * 2000-09-08 2002-05-17 Texas Instruments Inc Micro-controller dma operation with adjustable word size transfer and address array/increase
JP4729207B2 (en) * 2000-09-08 2011-07-20 テキサス インスツルメンツ インコーポレイテッド Microcontroller DMA operation with adjustable word size transfer and address alignment / increment
JP2005141682A (en) * 2003-11-10 2005-06-02 Digital Electronics Corp High-speed memory access control device
JP4606725B2 (en) * 2003-11-10 2011-01-05 株式会社デジタル High speed memory access controller
JP5094727B2 (en) * 2006-09-20 2012-12-12 パナソニック株式会社 Data transfer device and mobile phone
JP2011530744A (en) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション Stoppable and restartable DMA engine
US8732382B2 (en) 2008-08-06 2014-05-20 Qualcomm Incorporated Haltable and restartable DMA engine
JP2011034414A (en) * 2009-08-03 2011-02-17 Canon Inc Dma controller
CN114461552A (en) * 2022-01-26 2022-05-10 北京经纬恒润科技股份有限公司 Data storage method and device
CN114461552B (en) * 2022-01-26 2024-01-30 北京经纬恒润科技股份有限公司 Data storage method and device
CN114546906A (en) * 2022-01-28 2022-05-27 郑州信大捷安信息技术股份有限公司 Data interaction method and system based on ring communication mechanism
CN114546906B (en) * 2022-01-28 2023-06-23 郑州信大捷安信息技术股份有限公司 Data interaction method and system based on ring communication mechanism

Also Published As

Publication number Publication date
JP4536189B2 (en) 2010-09-01

Similar Documents

Publication Publication Date Title
JP4356765B2 (en) Information processing apparatus and method, and program
US6633926B1 (en) DMA transfer device capable of high-speed consecutive access to pages in a memory
US5968153A (en) Mechanism for high bandwidth DMA transfers in a PCI environment
US6697906B1 (en) Semiconductor device supporting integrated data transfer bridging between CPU memory and I/O device
JPH06236343A (en) Method for asynchronous read/write of data with reference to memory and direct memory access controller for it
JP5040050B2 (en) Multi-channel DMA controller and processor system
US5594878A (en) Bus interface structure and system for controlling the bus interface structure
JPH05173932A (en) Data transfer device
US20060047874A1 (en) Resource management apparatus
JP2001216194A (en) Arithmetic processor
US7822952B2 (en) Context switching device
JP2000227897A (en) Device and system for dma transfer
US7861012B2 (en) Data transmitting device and data transmitting method
US6457106B1 (en) Shared memory control system and shared memory control method
US20080016296A1 (en) Data processing system
US7185122B2 (en) Device and method for controlling data transfer
US20080209085A1 (en) Semiconductor device and dma transfer method
JP4335327B2 (en) Arbitration apparatus and method
JP4431492B2 (en) Data transfer unit that supports multiple coherency granules
JPS61125670A (en) Data transfer device
JP2006331008A (en) Memory interface
JP7062142B2 (en) Information processing equipment, information processing methods and information processing programs
JP2000040057A (en) Computer system, buffer controller and transferring method
JP2004164202A (en) Data sending/receiving system, method of controlling ring buffer, and control program
JPH06131294A (en) Data transfer device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100525

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100616

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees