JP2000227897A - Dma転送装置及びdma転送システム - Google Patents

Dma転送装置及びdma転送システム

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
English (en)
Other versions
JP4536189B2 (ja
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/ja
Publication of JP2000227897A publication Critical patent/JP2000227897A/ja
Application granted granted Critical
Publication of JP4536189B2 publication Critical patent/JP4536189B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

(57)【要約】 【課題】 高速ページアクセス可能なメモリと相性が良
くその性能を犠牲にすることなく高速なDMA転送を実
現する有用なDMA転送装置を提供する。 【解決手段】 部分領域判別部211(又は311)
は、転送元(又は転送先)のメモリ領域を構成する複数
の転送元(又は転送先)部分領域であって、前記メモリ
領域の先頭、ページ境界及び前記メモリ領域の末尾の何
れかとページ境界とにより区切られた複数の転送元(又
は転送先)部分領域を判別する。アクセス手段120
は、判別された転送元部分領域から高速ページアクセス
によりデータを読み出し、転送先部分領域に読み出され
たデータを高速ページアクセスにより書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】高速ページアクセス可能なメ
モリに対してページ単位での連続アクセスを保証するD
MAデータ転送装置
【0002】
【従来の技術】従来のDMAデータ転送装置は、メモリ
−メモリ間又はメモリ−入出力装置間で、高速にデータ
転送を行なう。同じバスに接続されたメモリ間の転送及
び同じメモリの異なる記憶領域間の転送では、DMAデ
ータ転送装置は、転送元の記憶領域から読み出したデー
タをDMAデータ転送装置内のバッファに一時的に保持
しさらにバッファから転送先の記憶領域に書き込むこと
により、DMAデータ転送を行なう。このバッファは、
メモリに対する1回のアクセスサイズ以上の容量を有す
る。従来の典型的なDMAデータ転送は、1アクセスサ
イズのデータ毎に、転送元からの読み出し、バッファへ
の格納、バッファから転送先記憶領域への書き込みを行
っている。これにより必要最小限のバッファサイズにて
DMAデータ転送が可能になる。
【0003】またバッファサイズがアクセスサイズの複
数倍の大きさである場合には、DMA転送装置は、転送
元からバッファサイズ分になるまでデータを読み出して
バッファに格納し、バッファからバッファサイズ分のデ
ータを転送先記憶領域書き込む。この場合は、読み出
し、書き込みはバッファサイズを単位になされる。
【0004】
【発明が解決しようとする課題】ところで、近年高速ペ
ージアクセス可能なSDRAMが主記憶として用いられ
ているが、このSDRAMが転送対象である場合に、S
DRAMの高速性能が犠牲になり、その有用性が十分に
活用できないという問題があった。なぜなら従来のDM
A転送装置は、転送元からバッファへの読み出し、バッ
ファから転送先への書き込みにおいてページ境界とは無
関係にアクセスするからである。
【0005】本発明は、高速ページアクセス可能なメモ
リと相性が良く、その性能を犠牲にすることなく高速な
DMA転送を実現する有用なDMA転送装置を提供する
ことを目的する。
【0006】
【課題を解決するための手段】本発明のDMA転送装置
は、高速ページアクセスに対応するメモリを対象とする
DMA転送装置であって、転送対象となるメモリ領域を
構成する複数の部分領域であって、前記メモリ領域の先
頭とページ境界との間、ページ境界間及びページ境界と
前記メモリ領域の末尾との間の各部分領域を判別する判
別手段と、判別された部分領域毎に高速ページアクセス
を行なうアクセス手段とを備える。
【0007】また、本発明のDMA転送装置は、転送元
となる第1メモリ領域を構成する複数の転送元部分領域
であって、前記第1メモリ領域の先頭とページ境界との
間、ページ境界間及びページ境界と前記第1メモリ領域
の末尾との間の各転送元部分領域を判別する第1判別手
段と、転送先となる第2メモリ領域を構成する複数の転
送先部分領域であって、前記第2メモリ領域の先頭とペ
ージ境界との間、ページ境界間及びページ境界と前記第
2メモリ領域の末尾との間の各転送先部分領域を判別す
る第2判別手段と、第1判別手段に判別された転送元部
分領域から高速ページアクセスによりデータを読み出し
てバッファ手段に格納し、バッファ手段に格納されたデ
ータを第2判別手段により判別された転送先部分領域に
高速ページアクセスにより書き込むアクセス手段とを備
える。
【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転送を再開するよう指示する。
【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チャネルの最初の部分領域の読
み出しを開始する。
【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を備える。
【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バ
イトであるものとする。
【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デコーダ(図
外)との間の転送等がある。
【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を備えて構成される。図
中の矢線に付与された()内は、当該符号のレジスタ類
の内容が入出力されることを意味する。
【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ビットであるものとする。
【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とを
備える。
【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転送中に更新しない。
【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の内
の未読み出しのデータサイズを表すことになる。
【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に設定する。
【0019】図3に、読み出し決定部210によって判
別される部分領域の一例を示す。同図は、SDRAM4
中の転送元の記憶領域を示している。この転送元の記憶
領域は、500C(16進)番地から始まる28バイト
分の記憶領域、つまり、SRC_A_102が500C番地、TRA
NSFER_SIZE_101が28バイト(7ワード:図中の〜
)であるものとする。SDRAM4のページサイズは
16バイト(4ワード)であるので、転送すべきデータ
(図中の〜の7ワード)は3つのページに跨って格
納される。
【0020】この場合、読み出し決定部210は、次の
第1〜第3の部分領域を順に判別する。第1の部分領域
は(PARTIAL_R_A_212、PARTIAL_R_SIZE_213)=(500C,
4)で表されるワードの記憶領域である。第2の部分領
域は(5010,16)で表されるワード〜の記憶領域であ
る。第3の部分領域は(5020,8)で表されるワードの
記憶領域である。このように各部分領域は、ページ境界
を含まないので高速ページアクセスに適している。
【0021】書き込み管理部300は、TRANSFER_SIZE_
101とDST_A_103とで特定される転送先記録領域内におけ
る、未書き込み領域の先頭アドレス(REMAIN_W_A_301と
略す)と、未書き込みデータサイズ(REMAIN_W_SIZE_30
2と略す)とを管理する。そのため、書き込み管理部3
00はアドレスカウンタ301とデータカウンタ302
とを備える。
【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転送中は更新しない。
【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の内
の未読み出しのデータサイズを表すことになる。
【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に次の
部分領域を設定する。
【0025】図4に、書き込み決定部310によって判
別される部分領域の一例を示す。同図は、SDRAM4
中の転送先の記憶領域の一部分を示している。この転送
先記憶領域は、6008番地から始まる28バイト分の記憶
領域、つまり、DST_A_103が6008(16進)番地、TRANS
FER_SIZE_101が28バイト(7ワード:図中の〜)
であるものとする。SDRAM4のページサイズは16
バイト(4ワード)であるので、転送先の記憶領域(図
中の〜)は3つのページに跨って格納されている。
【0026】この場合、書き込み決定部310は、次の
第4〜第6の部分領域を順に判別する。第4の部分領域
は(PARTIAL_W_A_302、PARTIAL_W_SIZE_303)=(6008,
8)で表されるワードの記憶領域である。第5の部分
領域は(6010,16)で表されるワード〜の記憶領域で
ある。第6の部分領域は(6020,4)で表されるワードの
記憶領域である。このように各部分領域は、ページ境界
を含まないので高速ページアクセスに適している。
【0027】アクセス決定部110は、バッファ管理部
111、リード/ライト決定部112を備え、読み出し
決定部210によって決定された転送元の部分領域から
の読み出し及びバッファ130への格納(以下リードと
略す)と、バッファ130に格納されたデータの読み出
し及び書き込み決定部310によって決定された転送先
の部分領域への書き込み(以下ライトと略す)のうちど
ちらをアクセス制御部120に実行させるかを、バッフ
ァ130のデータ量に応じて決定する。
【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に実行させると決定する。
【0029】アクセス制御部120は、リード/ライト
決定部112に決定に従って、読み出し決定部210に
より転送元の部分領域からデータを読み出してバッファ
130への格納し、また、バッファ130に格納された
データを読み出して書き込み決定部310によって決定
された転送先の部分領域への書き込みを行なう。バッフ
ァ130は、転送元から読み出されたデータを一時的に
保持し、さらに転送先に書き込まれた時点で消去され
る。バッファ130のサイズは、32バイト(2ページ
分)とする。 <部分領域判定部211の構成例>図5は、部分領域判
定部211の詳細な構成例を示すブロック図である。同
図のように部分領域判定部211は、減算器211a、
比較器211b、セレクタ211cとからなる。
【0030】減算器211aは、ページサイズに相当す
る定数(10H)から、REMAIN_R_A_201の下位4ビット
を減算する。この減算結果は、REMAIN_R_A_201から直近
のページ境界までのバイト数を意味し、本実施の形態で
は図6に示すように4種類の値の何れかになる。比較器
211bは、減算結果のバイト数(図中のA)と、REMA
IN_R_SIZE_202(図中のB)との大小関係を比較する。
【0031】セレクタ211cは、REMAIN_R_SIZE_202
の方が減算結果よりも大きい場合には減算結果を選択
し、そうでない場合(つまり未読み出しのデータが直近
のページ境界より手前までしか存在しない場合)にはRE
MAIN_R_SIZE_202を選択し、選択結果を次に読み出すべ
き部分領域のデータサイズPARTIAL_R_SIZE_213としてサ
イズレジスタ213に出力する。
【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について、その動作
を説明する。
【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バイト)を設定する。
【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との間で入出力される。以下、順を
追って説明する。
【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進)に設定
される。
【0036】これと並行して、書き込み決定部310
は、同様に、転送先のワードの記憶領域を最初の部
分領域と判別し、アドレスレジスタ312にPARTIAL_W_
A_312=6008を、サイズレジスタ313にPARTIAL_W
_SIZE_313=8を設定する。このようにして転送元の部
分領域と転送先の部分領域とが設定された後、アクセス
決定部110は、バッファ管理部111により管理され
ているバッファ130のデータ量が0なので、読み出し
決定部210により設定された転送元の部分領域の読み
出しをアクセス制御部120に指示する。
【0037】この指示を受けてアクセス制御部120
は、転送元の最初の部分領域(図中のワードを記憶す
る領域)からデータを読み出しバッファ130に書き込
む(図9、図10の(1))。 (2) 転送元の最初の部分領域(ワード)の読み出
し完了後、アクセス制御部120は、読み出し決定部2
10に読み出しを完了した旨を通知し、さらに読み出し
決定部210は、PARTIAL_R_SIZE_213を読み出しを完了
したサイズとして読み出し管理部200に通知する。
【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のまま
である。
【0039】この時点でアクセス決定部110は、バッ
ファ130に1ワードしか格納されていないので、読み
出し決定部210により設定された転送元の部分領域の
読み出しをすると決定し、その旨をアクセス制御部12
0に指示する。この指示を受けてアクセス制御部120
は、転送元の2番目の部分領域(ワード〜)からデ
ータを高速ページアクセスにより読み出してバッファ1
30に書き込む(図9、図10の(2))。
【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に指示する。
【0041】この指示を受けてアクセス制御部120
は、バッファ130からデータを読み出し転送先の最初
の部分領域(ワード)に連続アクセスにより書き込
む(図9、図10の(3))。(4)〜(6)以下、同
様にDMA転送装置1は図9、図10の(4)の部分領
域の読み出し、(5)の部分領域の書き込み、(6)の
部分領域の書き込みを順次行なう。
【0042】このように、DMA転送装置1は図9の
(2)の読み出し、(3)の書き込み(4)の読み出
し、(5)の書き込みでは、高速ページアクセスを行な
う。つまり、DMA転送装置1転送元、転送先それぞれ
について、最初と最後の部分領域以外の部分領域に対し
ては1ページを単位として高速ページアクセスを行い、
また、最初と最後の部分領域でも2ワード以上の場合に
高速ページアクセスを行なう。これにより、DMA転送
装置1は高速にDMA転送を完了することができる。ま
た、バッファ130の記憶容量は少なくとも2ページ分
(より正確には(2ページのサイズ)−(1ワード))
だけでよい。
【0043】なお、上記実施の形態では、転送元及び転
送先の両者がSDRAM4である場合を説明したが、い
すれか一方がSDRAM4である場合には、SDRAM
4に対して部分領域毎にアクセスすればよい。 <第2の実施の形態>本実施の形態のDMA転送システ
ムは、バッファ130を共用する複数のDMAチャネル
を有し、異なるDMAチャネルのDMA転送要求が競合
していない場合には、各DMAチャネルともに第1の実
施の形態と同様に部分領域毎にアクセスし、DMA転送
要求が競合する場合(DMA転送中により優先度の高い
他のDMAチャネルのDMA転送要求が発行された場
合)には、DMA転送を中断して、優先度の高いDMA
転送を実行してから、元のDMA転送を再開する。この
中断については、DMA転送システムは、優先度の低い
実行中のDMA転送のバッファに残されたデータを、部
分領域毎のアクセスではなくページ境界とは無関係に順
次転送先に書き込んでバッファを空にしてから、DMA
転送を中断する。
【0044】図11は、本発明の第2の実施の形態にお
けるDMA転送システムの構成を示すブロック図であ
る。このDMA転送システムは、DMAチャネル0に対
応するDMA転送装置6、DMAチャネル1に対応する
DMA転送装置7、バッファ130、アクセス要求調停
部1400から構成される。DMAチャネル1の優先度
はDMAチャネル0の優先度よりも高いものとする。
【0045】アクセス要求調停部1400は、DMA転
送装置6からのDMAチャネル0のアクセス要求と、D
MA転送装置7からのDMAチャネル1のアクセス要求
とが入力され、両者が競合する場合にはそれらを調停す
る。ここでアクセス要求とは、上記部分領域又はページ
境界を含むメモリ領域に対するリード又はライトの要求
をいう。
【0046】具体的には、アクセス要求調停部1400
は、DMA転送装置6、7にDMAチャネル0、1の未
完了のDMA転送要求が設定されているか否かを判定す
る。この判定は、例えば、書き込み管理部1300、書
き込み管理部2300にそれぞれ保持されている未書き
込みデータサイズ(REMAIN_W_SIZE_1302、REMAIN_W_SIZ
E_2302)が0であるか否かによる。
【0047】判定の結果、一方のDMAチャネルのDM
A転送要求が設定されている場合には、アクセス要求調
停部1400は、そのチャネルのアクセス要求を受け付
け、SDRAM I/F3に出力する。DMAチャネル
1のDMA転送中により優先度の低いDMAチャネル0
のDMA転送要求が設定された場合、アクセス要求調停
部1400は、DMAチャネル1のDMA転送が完了し
てから、DMAチャネル0のアクセス要求を受け付け、
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に再開指示を出力する。
【0049】DMA転送装置6は、モード設定部110
0、アクセス決定部1110、アクセス制御部112
0、読み出し管理部1200、読み出し決定部121
0、書き込み管理部1300、書き込み決定部1310
から構成される。このうちモード設定部1100、読み
出し管理部1200、読み出し決定部1210、書き込
み管理部1300は、図2に示したモード設定部10
0、読み出し管理部200、読み出し決定部210、書
き込み管理部300と同じ構成要素である。以下同じ構
成要素については説明を省略し、異なる点を中心に説明
する。
【0050】アクセス決定部1110は、図2に示した
アクセス決定部110と同じ機能を有し、加えて、アク
セス要求調停部1400からアクセス制御部1120を
介してDMA転送の中断指示、再開指示により転送中の
DMAを中断、再開するよう構成される。図12に示す
ようにアクセス決定部1110は、バッファ管理部11
11、リード/ライト決定部1112から構成される。
【0051】バッファ管理部1111は、図2に示した
バッファ管理部111と同様にバッファ130のデータ
量を管理する。リード/ライト決定部1112は、図2
に示したリード/ライト決定部112と比べて次の機能
が追加されている。すなわち、リード/ライト決定部1
112は、アクセス制御部1120から中断指示を受け
た場合に、以後リードを行なうという決定を行なわず、
部分領域判定部1311の動作を一時的に禁止し、バッ
ファ管理部1111に算出されたデータ量を書き込み決
定部1310に通知し、サイズレジスタ1313に当該
データ量を設定する。さらに、バッファ管理部1111
に算出されたデータ量が”0”になったとき、バッファ
130が空になった旨をアクセス制御部1120を介し
てアクセス要求調停部1400に通知する。
【0052】また、リード/ライト決定部1112は、
DMA転送中にアクセス制御部1120から再開指示を
受けた場合に、部分領域判定部1311の動作禁止を解
除し、図2に示したリード/ライト決定部112と同様
の判定を行なう。書き込み決定部1310は、図12に
示すように部分領域判定部1311、アドレスレジスタ
1312、サイズレジスタ1313とからなる。
【0053】アドレスレジスタ1312、サイズレジス
タ1313は、図2に示したアドレスレジスタ312、
サイズレジスタ313と同じである。ただし、PARTIAL_
W_SIZE_313 サイズレジスタ1313は、リード/ライ
ト決定部1112が中断指示を受けたときは、リード/
ライト決定部1112からデータ量を直接設定される。
これにより、サイズレジスタ1313には、バッファ1
30に残っているデータのサイズが設定される。
【0054】部分領域判定部1311は、リード/ライ
ト決定部1112により一時的に動作を禁止される点以
外は、図2に示した部分領域判定部311と同じであ
る。アクセス制御部1120は、図2に示したアクセス
制御部120の機能に加えて、アクセス要求調停部14
00から入力される中断指示及び再開指示をアクセス決
定部1110に出力し、アクセス決定部1110から入
力されるバッファ130が空になった旨の通知をアクセ
ス要求調停部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
転送要求が設定された場合のタイミングを示す。
【0056】同図では、(1)(2)(3)は、図10
と同様に、DMAチャネル0の転送元の部分領域からの
読み出し(1)(2)と、転送先の部分領域への書き込
み(3)のタイミングを示している。部分領域への書き
込み(3)の実行中に優先度の高いDMAチャネル1の
DMA転送要求がモード設定部2100に設定されたも
のとする。
【0057】アクセス要求調停部1400は、DMAチ
ャネル1のDMA転送要求が設定されたいると判定し、
既にDMAチャネル0のDMA転送要求が設定されてい
るので、DMA転送装置6に中断指示を出す。この中断
指示により、DMA転送装置6内のリード/ライト決定
部1112は、同図の(3)が完了したとき、新たにリ
ードを行なうと決定しないで、バッファ130内に存在
するデータ量をサイズレジスタ1313に設定して、ラ
イトを行なうと決定する。これによりアクセス制御部1
120は、DMAチェネル0の転送データでバッファ1
30に残っているデータの全てを転送先の記憶領域に書
き込む(同図(7))。
【0058】この書き込み完了後、リード/ライト決定
部1112は、バッファ130が空になった旨をアクセ
ス要求調停部1400に通知する。この通知を受けてア
クセス要求調停部1400は、DMAチャネル1に対す
るアクセス要求を優先してDMA転送装置7から受付け
て、SDRAM I/F3に出力する(同図(8))。
【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と同じ符号の構成要素は
同じ機能を有するので説明を省略し、以下異なる点を中
心に説明する。
【0060】バッファ4130は、書き込みと読み出し
との並行動作可能な2ポートメモリである。バッファ4
130の2つのポートは異なるバスに接続されている。
1つのポートはSDRAM I/F3を介してSDRA
M4に接続され、他のポートはSDRAM I/F40
03を介してSDRAM4004に接続される。いずれ
のポートからも読み出し動作と書き込み動作とが可能で
ある。一方のポートからの書き込み動作と同時に他方の
ポートからの読み出し動作が可能である。
【0061】アクセス決定部4110は、バッファ41
30に保持されているデータ量(バイト数)をバッファ
4130から直接取得して管理する。したがって、バッ
ファ4130に1ワードの書き込み及び読み出しが行わ
れる毎に、アクセス決定部4110は、データ量を更新
することになる。さらに、アクセス決定部411は、読
み出し決定部210に決定された部分領域のサイズ(PAR
TIAL_R_SIZE_213)以上の空き領域がバッファ4130に
存在すればリードを行なうと決定し、また、書き込み決
定部310に決定された部分領域のサイズ(PARTIAL_W_S
IZE_313)以上のデータがバッファ4130に存在すれば
ライトを行なうと決定しする。転送元部分領域のリード
の決定と、転送先の部分領域のライトの決定とは、択一
になされるのではなく独立に行われるので、ライトの決
定タイミングが第1の実施の形態に比べて早くなる。
【0062】アクセス制御部4120は、SDRAM4
とSDRAM4004に対する読み出しと書き込みとを
並行して行なう。すなわち、アクセス制御部4120
は、読み出し決定部210により決定された部分領域の
読み出しを行い、これと並行して、書き込み決定部43
10から入力されるアドレスに基づいて転送先領域に書
き込みを行なう。 <動作説明>図15は、本実施形態のDMA転送装置に
おけるDMA転送のタイミングを示すタイムチャートで
ある。
【0063】同図において上半分はアクセス制御部41
20からSDRAM I/F3に出力される信号群を、
下半分はSDRAM I/F4003に出力される信号
群を示している。また、転送元はSDRAM4の500
8番地から7ワード分の領域、転送先はSDRAM40
04の600C番地から7ワード分の領域としている。
【0064】図15と図10とを比較すると、図15で
は部分領域への書き込み(同図(3)(5)(6))の
開始タイミングが早くなっている。これは、アクセス決
定部4110がバッファ4130に保持されているデー
タ量をワード単位に管理しているので、アクセス決定部
4110は、転送先の部分領域への書き込みデータサイ
ズ分のデータがバッファ4130に書き込まれた時点で
ライトを決定することができるからでである。
【0065】このように本実施の形態におけるDMA転
送装置によれば、部分領域毎に高速ページアクセスを行
なうことに加えて、転送元メモリと転送元メモリが異な
るバスに接続されている場合に、転送元メモリからの読
み出しと、転送先メモリへの書き込みを並列に実行する
ことができる。 <第4の実施の形態>第2の実施の形態ではDMAチャ
ネル0、1ともに同一のメモリ(SDRAM4)又は同
一バス上の異なるメモリを転送対象としていたが、本実
施形態では、異なるバス上のメモリも転送対象とするD
MA転送システムについて説明する。
【0066】図16は、本発明の第4の実施の形態にお
けるDMA転送システムの構成を示すブロック図であ
る。同図は、第2の実施の形態における図11と比較し
て、アクセス要求調停部1400の代わりにアクセス要
求調停部4400を、バッファ130の代わりにバッフ
ァ4130を備える点が異なっている。図11と同じ符
号の構成要素は同じ機能であるので説明を省略し、以下
異なる点を中心に説明する。
【0067】バッファ4130は、書き込みと読み出し
との並行動作可能な2ポートメモリである。バッファ4
130の2つのポートは異なるバスに接続されている。
1つのポートはSDRAM I/F3を介してSDRA
M4に接続され、他のポートはSDRAM I/F40
03を介してSDRAM4004に接続される。いずれ
のポートからも読み出し動作と書き込み動作とが可能で
ある。
【0068】図17にバッファ4130の構成例を示
す。同図のバッファ4130は、マルチプレクサ413
0a、FIFO4130b、デマルチプレクサ4130
マルチプレクサ4130a、FIFO4130b、デマ
ルチプレクサ4130cとからなる。ポート0、1は、
いずれもマルチプレクサ4130a及びデマルチプレク
サ4130cに接続されている。これにより、バッファ
4130は、一方のポートからの書き込み動作と他方の
ポートからの読み出し動作とを並列実行可能である。
【0069】アクセス要求調停部4400は、DMAチ
ャネル0のDMA転送中に優先度の高いDMAチャネル
1の転送要求が設定され、かつ、DMAチャネル0の転
送先メモリとDMAチャネル1の転送元メモリが同じメ
モリ又は同一バス上のメモリである場合には、第2の実
施形態におけるアクセス要求調停部1400と同じ動作
を行う。
【0070】また、アクセス要求調停部4400は、D
MA転送中に他のDMAチャネルの転送要求が設定さ
れ、転送先メモリとDMAチャネルの転送元メモリが異
なるバス上のメモリである場合には、DMA転送におけ
る全転送データについての転送元からの読み出しが完了
し、かつ、バッファ4130にDMAチャネルの最初の
部分領域の読み出しサイズ分の空き領域が存在するとい
う状態になった時点で、DMAチャネルの最初の部分領
域の読み出しを開始する。
【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)の場合の動作例を
示すタイムチャートである。
【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の最初の部分
領域の読み出しを開始するように制御する。
【0073】以上のように本実施の形態におけるDMA
転送システムによれば、DMA転送中に他のDMAチャ
ネルのDMA転送要求が設定され、先行する転送中の転
送先メモリと、新たに設定されたDMA転送要求の転送
先メモリとが異なるバスに接続されている場合に、アク
セス要求調停部4400は、先行するDMA転送の最後
の部分領域の読み出しが完了し、かつバッファ4130
に他のDMAチャネルの最初の部分領域のサイズ分の空
きが生じた時点で、新たなDMA転送要求の読み出しを
開始するので、連続する2つのDMA転送要求によるバ
ス使用効率を向上させることができる。
【0074】なお、図18(a)〜(f)では、DMA
チャネル0のDMA転送中にDMAチャネル1のDMA
転送要求が設定された場合を示しているが、逆の場合つ
まりDMAチャネル1のDMA転送中にDMAチャネル
0のDMA転送要求が設定された場合も、先行するDM
A転送の転送先メモリと新たなDMA転送の転送元メモ
リとが異なるバス上にある限り同様である。
【0075】本実施の形態におけるDMA転送システム
は、3つ以上のDMA転送装置を備える構成としてもよ
い。その場合、アクセス要求調停部は、全てのDMA転
送装置から最後の部分領域の読み出しを完了したことを
検出し、かつ、各DMA転送装置における転送先と転送
元のメモリを判別し、それらに基づいて図19のような
制御を行うようにすればよい。 <その他>なお、上記各実施の形態において、転送元及
び転送先が何れも高速ページアクセス可能なメモリであ
ることを前提に説明したが、転送元及び転送先の一方が
高速ページアクセス可能なメモリである場合には、高速
ページアクセス可能なメモリに対してのみ、ページ境界
で区切られた部分領域毎にアクセスすることになる。例
えば、高速ページアクセス可能なメモリと、固定アドレ
スが割り当てられたI/Oとの間のDMA転送であって
も、メモリに対する高速ページアクセスを保証すること
ができ、かつバッファ130又は4130のバッファ容
量が少なくてもよい。
【0076】また、上記第1の実施の形態において減算
器211aの代わりに、図6のREMAIN_R_A_201の下位4
ビットを入力し、減算結果と同じ値を出力する入出力論
理をもつ論理回路又はテーブルを備えてもよい。
【0077】
【発明の効果】(1)本発明のDMA転送装置は、高速
ページアクセスに対応するメモリを対象とするDMA転
送装置であって、転送対象となるメモリ領域を構成する
複数の部分領域であって、前記メモリ領域の先頭とペー
ジ境界との間、ページ境界間及びページ境界と前記メモ
リ領域の末尾との間の各部分領域を判別する判別手段
と、判別された部分領域毎に高速ページアクセスを行な
うアクセス手段とを備える。
【0078】この構成によれば、DMA転送装置は、転
送元と転送先の少なくとも一方が高速ページアクセス可
能なメモリである場合に、転送対象のメモリ領域内にお
いてページ境界により区切られた部分領域毎に、高速ペ
ージアクセスすることを保証できる。その結果、本DM
A転送装置は、メモリの性能を犠牲にすることなく、高
速ページアクセス可能なメモリと相性が良く、バスの遊
休期間を低減しDMA転送時間を短縮することができ
る。
【0079】(2)前記判別手段は、転送対象となる領
域の先頭アドレスを初期値として保持し、アクセス手段
により高速ページアクセスがなされる毎に、保持内容を
転送対象のメモリ領域のうち未転送の領域の先頭アドレ
スに更新するアドレス更新手段と、転送対象となる領域
のデータサイズを初期値として保持し、アクセス手段に
より高速ページアクセスがなされる毎に保持内容を、転
送対象のデータサイズのうちの未転送データサイズに更
新するデータサイズ更新手段と、アドレス更新手段に初
期値として保持される先頭アドレスから直近のページ境
界までの部分領域を判別し、アドレス更新手段が更新す
る毎に、更新後の先頭アドレスから直近のページ境界又
は前記メモリ領域の末尾までの次の部分領域を判別する
部分領域判別手段とを備えるように構成してもよい。
【0080】この構成によれば、判別手段は、高速ペー
ジアクセスがなされる毎に、転送対象のメモリ領域の先
頭から直近のページ境界までの部分領域、そのページ境
界から次のページ境界までの部分領域、・・・、ページ
境界から前記メモリ領域の末尾までの部分領域というよ
うに複数の部分領域を順次判別することと、アクセス手
段が各部分領域に対して高速ページアクセスすることと
を並行して行なうことができる。
【0081】(3)前記部分領域判別手段は、アドレス
更新手段に保持された先頭アドレスから直近のページ境
界または前記メモリ領域の末尾までのサイズを判別する
サイズ判別手段と、サイズ判別手段により判別されたサ
イズを部分領域のサイズとして保持するサイズ保持手段
とを備え、前記アクセス手段は、アドレス更新手段に保
持されてい先頭アドレスからサイズ保持手段に保持され
たサイズ分の部分領域を高速ページアクセスするように
構成してもよい。
【0082】この構成によれば、部分領域判定手段は、
先頭アドレスとサイズとの組みというパラメータにより
表される部分領域を判別するので、アクセス手段に高速
ページアクセスに適したパラメータを出力することがで
きる。 (4)前記サイズ判別手段は、ページ領域のサイズか
ら、アドレス更新手段に保持された先頭アドレスの下位
ビットであってページ領域内の相対位置を表す下位ビッ
トを減算することにより、直近のページ境界までのサイ
ズを算出する減算手段と、減算手段により算出されたサ
イズと、データサイズ更新手段に保持された未転送デー
タサイズとを比較する比較手段と、比較手段の比較の結
果、大きくない方を選択する選択手段とを備え、前記サ
イズ保持手段は、選択手段の選択結果を部分領域のサイ
ズとして保持する構成としてもよい。
【0083】この構成によれば、サイズ判定手段は、減
算と比較という簡単な構成により部分領域のサイズを判
別することができる。 (5)また、本発明のDMA転送装置は、高速ページア
クセスに対応するメモリを転送対象とするDMA転送装
置であって、転送元となる第1メモリ領域を構成する複
数の転送元部分領域であって、前記第1メモリ領域の先
頭、ページ境界及び前記第1メモリ領域の末尾の何れか
とページ境界とにより区切られた複数の転送元部分領域
を判別する第1判別手段と、転送先となる第2メモリ領
域を構成する複数の転送先部分領域であって、前記第2
メモリ領域の先頭、ページ境界及び前記第2メモリ領域
の末尾の何れかとページ境界とにより区切られた複数の
転送先部分領域を判別する第2判別手段と、第1判別手
段に判別された転送元部分領域から高速ページアクセス
によりデータを読み出し、第2判別手段により判別され
た転送先部分領域に読み出されたデータを高速ページア
クセスにより書き込むアクセス手段とを備える。
【0084】この構成によれば、DMA転送装置は、転
送元と転送先とが高速ページアクセス可能なメモリであ
る場合に、転送対象の第1、第2メモリ領域内において
ページ境界により区切られた転送元部分領域、転送先部
分領域毎に、高速ページアクセスすることを保証でき
る。その結果、本DMA転送装置は、メモリの性能を犠
牲にすることなく、高速ページアクセス可能なメモリと
相性が良く、バスの遊休期間を低減しDMA転送時間を
短縮することができる。
【0085】(6)前記第1判別手段は、第1メモリ領
域の先頭アドレスを初期値として保持し、アクセス手段
のアクセスに応じて保持内容を、第1メモリ領域のうち
未転送の領域の先頭アドレスに更新する第1アドレス更
新手段と、第1メモリ領域のデータサイズを初期値とし
て保持し、アクセス手段のアクセスに応じて保持内容
を、第1メモリ領域のデータサイズのうちの未転送デー
タサイズに更新する第1データサイズ更新手段と、第1
アドレス更新手段に初期値として保持された先頭アドレ
スから直近のページ境界までの転送元部分領域を判別
し、第1アドレス更新手段が更新する毎に、更新後の先
頭アドレスから直近のページ境界又は前記第1メモリ領
域の末尾までの次の転送元部分領域を判別する第1部分
領域判別手段とを備える。
【0086】この構成によれば、第1判別手段は、高速
ページアクセスがなされる毎に、第1メモリ領域の先頭
から直近のページ境界までの転送元部分領域、そのペー
ジ境界から次のページ境界までの転送元部分領域、・・
・、ページ境界から前記第1メモリ領域の末尾までの転
送元部分領域というように複数の転送元部分領域を順次
判別することと、アクセス手段が各転送元部分領域に対
して高速ページアクセスすることとを並行して行なうこ
とができる。
【0087】(7)また、前記第1部分領域判別手段
は、第1アドレス更新手段に保持された先頭アドレスか
ら直近のページ境界または前記第1メモリ領域の末尾ま
でのデータサイズを判別する第1サイズ判別手段と、第
1サイズ判別手段により判別されたサイズを転送元部分
領域のサイズとして保持する第1サイズ保持手段とを備
える。前記アクセス手段は、第1アドレス保持手段に保
持された先頭アドレスから、第1サイズ保持手段に保持
されたサイズ分の転送元部分領域を高速ページアクセス
により読み出す。
【0088】この構成によれば、第1部分領域判定手段
は、先頭アドレスとサイズとの組みというパラメータに
より表される部分領域を判別するので、アクセス手段に
高速ページアクセスに適したパラメータを出力すること
ができる。 (8)前記第1サイズ判別手段は、ページ領域のサイズ
から、第1アドレス更新手段に保持された先頭アドレス
の下位ビットであってページ領域内の相対位置を表す下
位ビットを減算することにより、直近のページ境界まで
のサイズを算出する第1減算手段と、第1減算手段によ
り算出されたサイズと、第1データサイズ更新手段に保
持された未転送データサイズとを比較する第1比較手段
と、第1比較手段の比較の結果、大きくない方を選択す
る第1選択手段とを備え、前記第1サイズ保持手段は、
第1選択手段の選択結果を部分領域のサイズとして保持
する。
【0089】この構成によれば、第1サイズ判定手段
は、減算と比較という簡単な構成により部分領域のサイ
ズを判別することができる。 (9)前記第2判別手段は、第2メモリ領域の先頭アド
レスを初期値として保持し、アクセス手段のアクセスに
応じて保持内容を、第2メモリ領域のうち未転送の領域
の先頭アドレスに更新する第2アドレス更新手段と、第
2メモリ領域のデータサイズを初期値として保持し、ア
クセス手段のアクセスに応じて保持内容を、第2メモリ
領域のデータサイズのうちの未転送データサイズに更新
する第2データサイズ更新手段と、第2アドレス更新手
段に初期値として保持された先頭アドレスから直近のペ
ージ境界までの転送先部分領域を判別し、第2アドレス
更新手段が更新する毎に、更新後の先頭アドレスから直
近のページ境界又は前記第2メモリ領域の末尾までの次
の転送先部分領域を判別する第2部分領域判別手段とを
備える。
【0090】この構成によれば、第2判別手段が第2メ
モリ領域の先頭から直近のページ境界までの部分領域、
そのページ境界から次のページ境界までの部分領域、・
・・、ページ境界から前記メモリ領域の末尾までの部分
領域というように複数の部分領域を順次判別すること
と、アクセス手段が各部分領域に対して高速連続アクセ
スすることとを並行して行なうことができる。
【0091】(10)前記第2部分領域判別手段は、第
2アドレス更新手段に保持された先頭アドレスから直近
のページ境界または前記第2メモリ領域の末尾までのサ
イズを判別する第2サイズ判別手段と、第2サイズ判別
手段により判別されたサイズを転送先部分領域のサイズ
として保持する第2サイズ保持手段とを備え、前記アク
セス手段は、第2アドレス保持手段に保持された先頭ア
ドレスから、第2サイズ保持手段に保持されたサイズ分
の転送先部分領域を高速ページアクセスに書き込む。
【0092】この構成によれば、第2部分領域判別手段
は、転送対象のメモリ領域の先頭から直近のページ境界
までの部分領域、そのページ境界から次のページ境界ま
での部分領域、・・・、ページ境界から前記メモリ領域
の末尾までの部分領域というように複数の部分領域を順
次判別することと、アクセス手段が各部分領域に対して
高速連続アクセスすることとを並行して行なうことがで
きる。
【0093】(11)前記第2サイズ判別手段は、ペー
ジ領域のサイズから、第2アドレス更新手段に保持され
た先頭アドレスの下位ビットであってページ領域内の相
対位置を表す下位ビットを減算することにより、直近の
ページ境界までのサイズを算出する第2減算手段と、第
2減算手段により算出されたサイズと、第2データサイ
ズ更新手段に保持された未転送データサイズとを比較す
る第2比較手段と、第2比較手段の比較の結果、大きく
ない方を選択する第2選択手段とを備え、前記第2サイ
ズ保持手段は、第2選択手段の選択結果を部分領域のサ
イズとして保持する。
【0094】この構成によれば、第2サイズ判定手段
は、減算と比較という簡単な構成により部分領域のサイ
ズを判別することができる。 (12)また、本発明のDMA転送装置は、転送元とな
る第1メモリ領域を構成する複数の転送元部分領域であ
って、前記第1メモリ領域の先頭とページ境界との間、
ページ境界間及びページ境界と前記第1メモリ領域の末
尾との間の各転送元部分領域を判別する第1判別手段
と、転送先となる第2メモリ領域を構成する複数の転送
先部分領域であって、前記第2メモリ領域の先頭とペー
ジ境界との間、ページ境界間及びページ境界と前記第2
メモリ領域の末尾との間の各転送先部分領域を判別する
第2判別手段と、第1判別手段に判別された転送元部分
領域から高速ページアクセスによりデータを読み出して
バッファ手段に格納し、バッファ手段に格納されたデー
タを第2判別手段により判別された転送先部分領域に高
速ページアクセスにより書き込むアクセス手段とを備え
る。
【0095】この構成によれば、DMA転送装置は、転
送元と転送先の両者が高速ページアクセス可能なメモリ
である場合に、転送元の第1メモリ領域内においてペー
ジ境界により区切られた転送元部分領域毎に高速ページ
アクセスによる読み出しをすることを保証できる。加え
て、転送先の第2メモリ領域内においてページ境界によ
り区切られた転送先部分領域毎に高速yージアクセスに
よる書き込みをすることを保証できる。その結果、バス
の遊休期間を低減しDMA転送時間を短縮することがで
きる。
【0096】(13)また、前記第1メモリ領域と第2
メモリ領域とは、同一メモリ内の領域又は同じバスに接
続された異なるメモリ内の領域であって、前記アクセス
手段は、バッファ手段に保持されているデータのサイズ
及びバッファ手段の空きサイズと、転送元部分領域のサ
イズ及び転送先部分領域のサイズとを比較して、比較結
果に応じて転送元部分領域の読み出しと転送先部分領域
の書き込みの何れを行なうかを決定するリード/ライト
決定手段と、リード/ライト決定手段の決定に従って転
送元部分領域からの読み出しと転送先部分領域への書き
込みとを行なうアクセス制御手段とを備える。
【0097】(14)前記バッファ手段は、ページ領域
の2倍からメモリのアクセスサイズを引いた容量を少な
くとも有し、前記リード/ライト決定手段は、バッファ
手段の空きサイズが第1判別手段により判別された転送
元部分領域のサイズ以上である場合はリードを行なうと
判定し、バッファ管理手段に取得されたデータサイズ
が、第2判別手段により判別された転送先部分領域のサ
イズ以上である場合は、ライトを行なうと決定する。
【0098】この構成によれば、転送元部分領域毎に高
速ページアクセスによる読み出しを行い、転送先部分領
域毎にも高速ページアクセスによる書き込みをすること
を保証できる。さらに、バッファ手段の記憶容量は、ペ
ージ領域の2倍からメモリのアクセスサイズを引いた容
量を少なくとも有するだけでよいので、少ないバッファ
容量で効率よくDMA転送を実現できる。
【0099】(15)前記バッファ手段は2つのバスに
接続される2ポートメモリであり、前記第1メモリ領域
と第2メモリ領域とは、異なるバスに接続されたメモリ
内の領域であり、前記アクセス手段は、バッファ手段に
保持されているデータのサイズとバッファ手段の空きサ
イズとに応じて、転送元部分領域からの読み出しを行な
うか否かと決定し、これと独立に、転送先部分領域への
書き込みを行なうか否かを決定するリード/ライト決定
手段と、リード/ライト決定手段の決定に従って転送元
部分領域からの読み出しと転送先部分領域への書き込み
とを行なうアクセス制御手段とを備える。
【0100】この構成によれば、転送元の第1メモリ領
域と転送先の第2メモリ領域とが異なるバスに接続され
たメモリ内の領域である場合に、ページ境界で区切られ
た転送元部分領域からバッファへの転送と、バッファか
ら転送先部分領域への転送とを並行して行うことがで
き、しかも、少ないバッファ容量で効率よくDMA転送
を実現できる。
【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転送を再
開するよう指示する。
【0102】この構成によれば、転送対象のメモリ領域
内においてページ境界により区切られた部分領域毎に、
高速ページアクセスすることを保証できるとともに、D
MA転送中に優先度の高い他のDMA転送要求が受け付
けられた場合に、先行するDMA転送を中断して、優先
度の高いDMA転送に切り替えて実行することができ
る。
【0103】(18)前記先行するDMAチャネルに対
応する判別手段は、調停手段から中断を指示されたと
き、バッファ手段に保持されているデータに対応する転
送先領域を判別し、前記先行するDMAチャネルに対応
するアクセス要求生成手段は、調停手段から中断を指示
されたとき、判別手段に判別された転送先領域に対する
アクセス要求を生成し、前記調停手段は当該アクセス要
求に従って高速ページアクセスを行う。
【0104】この構成にうよれば、調停手段から中断を
指示されたとき、判別手段がバッファ手段に保持されて
いるデータに対応する転送先領域を判別し、アクセス要
求手段が判別された転送先領域にバッファ手段内のデー
タを書き込むようアクセス要求を生成し、調停手段が当
該アクセス要求を実行するので、中断指示後速やかにバ
ッファ手段を空にし、優先度の高いDMAチャネルに移
行することができる。
【0105】(19)前記先行するDMAチャネルに対
応する判別手段は、調停手段から再開を指示されたと
き、転送対象のメモリ領域中の未転送の領域を構成する
部分領域を判別する。この構成によれば、再開を指示さ
れたとき判別手段は、中断されていた未転送領域から部
分領域の判別を再開するので、再開指示の後速やかに元
のDMA転送に復帰することができる。
【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チャネルの最初の部分領域の読み出しを開始
する。
【0107】この構成によれば、転送対象のメモリ領域
内においてページ境界により区切られた部分領域毎に、
高速ページアクセスすることを保証できるとともに、先
行するDMA転送においてメモリ領域からバッファへの
全データの読み出しが終わった後、先行するDMA転送
の書き込みと、新たなDMA転送の書き込みとを並列に
実行することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるDMA転送
装置を備える情報処理装置の主要部の構成を示すブロッ
ク図である。
【図2】DMA転送装置の構成を示すブロック図であ
る。
【図3】読み出し決定部によって判別される部分領域の
一例を示す。
【図4】書き込み決定部によって判別される部分領域の
一例を示す。
【図5】部分領域判定部の詳細な構成例を示すブロック
図である。
【図6】ページサイズに相当する定数から、未読み出し
の領域の先頭アドレスの下位4ビットを減算した結果で
あって、当該先頭アドレスからから直近のページ境界ま
でのバイト数を示す図である。
【図7】部分領域判定部の詳細な構成例を示すブロック
図である。
【図8】ページサイズに相当する定数から、未書き込み
の領域の先頭アドレスの下位4ビットを減算した結果で
あって、当該先頭アドレスからから直近のページ境界ま
でのバイト数を示す図である。
【図9】図3、4に示した転送元、転送先の記憶領域間
において、DMA転送する様子を示す説明図である。
【図10】図9のDMA転送のタイミングを示すタイム
チャートである。
【図11】本発明の第2の実施の形態におけるDMA転
送システムの構成を示すブロック図である。
【図12】アクセス決定部の詳細な構成を示すブロック
図である。
【図13】DMA転送システムにおけるDMA転送のタ
イミングを示すタイムチャートである。
【図14】本発明の第3の実施の形態におけるDMA転
送装置8の構成を示すブロック図である。
【図15】本実施形態のDMA転送装置におけるDMA
転送のタイミングを示すタイムチャートである。
【図16】本発明の第4の実施の形態におけるDMA転
送システムの構成を示すブロック図である。
【図17】2ポートのバッファの構成例を示す。
【図18】DMAチャンネル0の転送先とDMAチャネ
ル1の転送元とが異なるメモリである場合を示す説明図
である。。
【図19】図18(a)の場合の動作例を示すタイムチ
ャートである。
【符号の説明】
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 アクセス決定部

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 高速ページアクセスに対応するメモリを
    対象とするDMA転送装置であって、 転送対象となるメモリ領域を構成する複数の部分領域で
    あって、前記メモリ領域の先頭、ページ境界及び前記メ
    モリ領域の末尾の何れかとページ境界とにより区切られ
    た複数の部分領域を判別する判別手段と、 判別された部分領域毎に高速ページアクセスを行なうア
    クセス手段と、 を備えることを特徴とするDMA転送装置。
  2. 【請求項2】 前記判別手段は、 転送対象となる領域の先頭アドレスを初期値として保持
    し、アクセス手段により高速ページアクセスがなされる
    毎に、保持内容を転送対象のメモリ領域のうち未転送の
    領域の先頭アドレスに更新するアドレス更新手段と、 転送対象となる領域のデータサイズを初期値として保持
    し、アクセス手段により高速ページアクセスがなされる
    毎に保持内容を、転送対象のデータサイズのうちの未転
    送データサイズに更新するデータサイズ更新手段と、 アドレス更新手段に初期値として保持される先頭アドレ
    スから直近のページ境界までの部分領域を判別し、アド
    レス更新手段が更新する毎に、更新後の先頭アドレスか
    ら直近のページ境界又は前記メモリ領域の末尾までの次
    の部分領域を判別する部分領域判別手段とを備えること
    を特徴とする請求項1記載のDMA転送装置。
  3. 【請求項3】 前記部分領域判別手段は、 アドレス更新手段に保持された先頭アドレスから直近の
    ページ境界または前記メモリ領域の末尾までのサイズを
    判別するサイズ判別手段と、 サイズ判別手段により判別されたサイズを部分領域のサ
    イズとして保持するサイズ保持手段とを備え、 前記アクセス手段は、アドレス更新手段に保持されてい
    先頭アドレスからサイズ保持手段に保持されたサイズ分
    の部分領域を高速ページアクセスすることを特徴とする
    請求項2記載のDMA転送装置。
  4. 【請求項4】 前記サイズ判別手段は、 ページ領域のサイズから、アドレス更新手段に保持され
    た先頭アドレスの下位ビットであってページ領域内の相
    対位置を表す下位ビットを減算することにより、直近の
    ページ境界までのサイズを算出する減算手段と、 減算手段により算出されたサイズと、データサイズ更新
    手段に保持された未転送データサイズとを比較する比較
    手段と、 比較手段の比較の結果、大きくない方を選択する選択手
    段とを備え、 前記サイズ保持手段は、選択手段の選択結果を部分領域
    のサイズとして保持することを特徴とする請求項3記載
    のDMA転送装置。
  5. 【請求項5】 高速ページアクセスに対応するメモリを
    転送対象とするDMA転送装置であって、 転送元となる第1メモリ領域を構成する複数の転送元部
    分領域であって、前記第1メモリ領域の先頭、ページ境
    界及び前記第1メモリ領域の末尾の何れかとページ境界
    とにより区切られた複数の転送元部分領域を判別する第
    1判別手段と、 転送先となる第2メモリ領域を構成する複数の転送先部
    分領域であって、前記第2メモリ領域の先頭、ページ境
    界及び前記第2メモリ領域の末尾の何れかとページ境界
    とにより区切られた複数の転送先部分領域を判別する第
    2判別手段と、 第1判別手段に判別された転送元部分領域から高速ペー
    ジアクセスによりデータを読み出し、第2判別手段によ
    り判別された転送先部分領域に読み出されたデータを高
    速ページアクセスにより書き込むアクセス手段とを備え
    ることを特徴とするDMA転送装置。
  6. 【請求項6】 前記第1判別手段は、 第1メモリ領域の先頭アドレスを初期値として保持し、
    アクセス手段のアクセスに応じて保持内容を、第1メモ
    リ領域のうち未転送の領域の先頭アドレスに更新する第
    1アドレス更新手段と、 第1メモリ領域のデータサイズを初期値として保持し、
    アクセス手段のアクセスに応じて保持内容を、第1メモ
    リ領域のデータサイズのうちの未転送データサイズに更
    新する第1データサイズ更新手段と、 第1アドレス更新手段に初期値として保持された先頭ア
    ドレスから直近のページ境界までの転送元部分領域を判
    別し、第1アドレス更新手段が更新する毎に、更新後の
    先頭アドレスから直近のページ境界又は前記第1メモリ
    領域の末尾までの次の転送元部分領域を判別する第1部
    分領域判別手段とを備えることを特徴とする請求項5記
    載のDMA転送装置。
  7. 【請求項7】 前記第1部分領域判別手段は、 第1アドレス更新手段に保持された先頭アドレスから直
    近のページ境界または前記第1メモリ領域の末尾までの
    データサイズを判別する第1サイズ判別手段と、 第1サイズ判別手段により判別されたサイズを転送元部
    分領域のサイズとして保持する第1サイズ保持手段とを
    備え、 前記アクセス手段は、第1アドレス保持手段に保持され
    た先頭アドレスから、第1サイズ保持手段に保持された
    サイズ分の転送元部分領域を高速ページアクセスにより
    読み出すことを特徴とする請求項6記載のDMA転送装
    置。
  8. 【請求項8】 前記第1サイズ判別手段は、 ページ領域のサイズから、第1アドレス更新手段に保持
    された先頭アドレスの下位ビットであってページ領域内
    の相対位置を表す下位ビットを減算することにより、直
    近のページ境界までのサイズを算出する第1減算手段
    と、 第1減算手段により算出されたサイズと、第1データサ
    イズ更新手段に保持された未転送データサイズとを比較
    する第1比較手段と、 第1比較手段の比較の結果、大きくない方を選択する第
    1選択手段と、を備え、 前記第1サイズ保持手段は、第1選択手段の選択結果を
    部分領域のサイズとして保持することを特徴とする請求
    項7記載のDMA転送装置。
  9. 【請求項9】 前記第2判別手段は、 第2メモリ領域の先頭アドレスを初期値として保持し、
    アクセス手段のアクセスに応じて保持内容を、第2メモ
    リ領域のうち未転送の領域の先頭アドレスに更新する第
    2アドレス更新手段と、 第2メモリ領域のデータサイズを初期値として保持し、
    アクセス手段のアクセスに応じて保持内容を、第2メモ
    リ領域のデータサイズのうちの未転送データサイズに更
    新する第2データサイズ更新手段と、 第2アドレス更新手段に初期値として保持された先頭ア
    ドレスから直近のページ境界までの転送先部分領域を判
    別し、第2アドレス更新手段が更新する毎に、更新後の
    先頭アドレスから直近のページ境界又は前記第2メモリ
    領域の末尾までの次の転送先部分領域を判別する第2部
    分領域判別手段とを備えることを特徴とする請求項8記
    載のDMA転送装置。
  10. 【請求項10】 前記第2部分領域判別手段は、 第2アドレス更新手段に保持された先頭アドレスから直
    近のページ境界または前記第2メモリ領域の末尾までの
    サイズを判別する第2サイズ判別手段と、 第2サイズ判別手段により判別されたサイズを転送先部
    分領域のサイズとして保持する第2サイズ保持手段とを
    備え、 前記アクセス手段は、第2アドレス保持手段に保持され
    た先頭アドレスから、第2サイズ保持手段に保持された
    サイズ分の転送先部分領域を高速ページアクセスに書き
    込むことを特徴とする請求項9記載のDMA転送装置。
  11. 【請求項11】 前記第2サイズ判別手段は、ページ領
    域のサイズから、第2アドレス更新手段に保持された先
    頭アドレスの下位ビットであってページ領域内の相対位
    置を表す下位ビットを減算することにより、直近のペー
    ジ境界までのサイズを算出する第2減算手段と、 第2減算手段により算出されたサイズと、第2データサ
    イズ更新手段に保持された未転送データサイズとを比較
    する第2比較手段と、 第2比較手段の比較の結果、大きくない方を選択する第
    2選択手段とを備え、 前記第2サイズ保持手段は、第2選択手段の選択結果を
    部分領域のサイズとして保持することを特徴とする請求
    項10記載のDMA転送装置。
  12. 【請求項12】 高速ページアクセスに対応するメモリ
    を転送対象とするDMA転送装置であって、 転送元となる第1メモリ領域を構成する複数の転送元部
    分領域であって、前記第1メモリ領域の先頭、ページ境
    界及び前記第1メモリ領域の末尾の何れかとページ境界
    とにより区切られた複数の転送元部分領域を判別する第
    1判別手段と、 転送先となる第2メモリ領域を構成する複数の転送先部
    分領域であって、前記第2メモリ領域の先頭、ページ境
    界及び前記第2メモリ領域の末尾の何れかとページ境界
    とにより区切られた複数の転送先部分領域を判別する第
    2判別手段と、 第1判別手段に判別された転送元部分領域から高速ペー
    ジアクセスによりデータを読み出してバッファ手段に格
    納し、バッファ手段に格納されたデータを第2判別手段
    により判別された転送先部分領域に高速ページアクセス
    により書き込むアクセス手段とを備えることを特徴とす
    るDMA転送装置。
  13. 【請求項13】 前記第1メモリ領域と第2メモリ領域
    とは、同一メモリ内の領域又は同じバスに接続された異
    なるメモリ内の領域であって、 前記アクセス手段は、 バッファ手段に保持されているデータのサイズ及びバッ
    ファ手段の空きサイズと、転送元部分領域のサイズ及び
    転送先部分領域のサイズとを比較して、比較結果に応じ
    て転送元部分領域の読み出しと転送先部分領域の書き込
    みの何れを行なうかを決定するリード/ライト決定手段
    と、 リード/ライト決定手段の決定に従って転送元部分領域
    からの読み出しと転送先部分領域への書き込みとを行な
    うアクセス制御手段とを備えることを特徴とする請求項
    12記載のDMA転送装置。
  14. 【請求項14】 前記バッファ手段は、ページ領域の2
    倍からメモリの1回のアクセスサイズを引いた容量を少
    なくとも有し、 前記リード/ライト決定手段は、バッファ手段の空きサ
    イズが第1判別手段により判別された転送元部分領域の
    サイズ以上である場合はリードを行なうと判定し、バッ
    ファ管理手段に取得されたデータサイズが、第2判別手
    段により判別された転送先部分領域のサイズ以上である
    場合は、ライトを行なうと決定するを備えることを特徴
    とする請求項13記載のDMA転送装置。
  15. 【請求項15】 前記バッファ手段は2つのバスに接続
    される2ポートメモリであり、 前記第1メモリ領域と第2メモリ領域とは、異なるバス
    に接続されたメモリ内の領域であり、 前記アクセス手段は、 バッファ手段に保持されているデータのサイズとバッフ
    ァ手段の空きサイズとに応じて、転送元部分領域からの
    読み出しを行なうか否かと決定し、これと独立に、転送
    先部分領域への書き込みを行なうか否かを決定するリー
    ド/ライト決定手段と、 リード/ライト決定手段の決定に従って転送元部分領域
    からの読み出しと転送先部分領域への書き込みとを行な
    うアクセス制御手段とを備えることを特徴とする請求項
    12記載のDMA転送装置。
  16. 【請求項16】 前記リード/ライト決定手段は、バッ
    ファ手段の空きサイズが第1判別手段により判別された
    転送元部分領域のサイズ以上である場合はリードを行な
    うと判定し、これと独立に、バッファ管理手段に取得さ
    れたデータサイズが、第2判別手段により判別された転
    送先部分領域のサイズ以上である場合は、ライトを行な
    うと決定することを特徴とする請求項15記載のDMA
    転送装置。
  17. 【請求項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転送システム。
  18. 【請求項18】 前記先行するDMAチャネルに対応す
    る判別手段は、調停手段から中断を指示されたとき、バ
    ッファ手段に保持されているデータに対応する転送先領
    域を判別し、 前記先行するDMAチャネルに対応するアクセス要求生
    成手段は、調停手段から中断を指示されたとき、判別手
    段に判別された転送先領域に対するアクセス要求を生成
    し、 前記調停手段は当該アクセス要求に従って高速ページア
    クセスを行うことを特徴とする請求項17記載のDMA
    転送システム。
  19. 【請求項19】 前記先行するDMAチャネルに対応す
    る判別手段は、調停手段から再開を指示されたとき、転
    送対象のメモリ領域中の未転送の領域を構成する部分領
    域を判別することを特徴とする請求項18記載のDMA
    転送システム。
  20. 【請求項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転送システム。
JP33962399A 1998-11-30 1999-11-30 Dma転送装置及びdma転送システム Expired - Fee Related JP4536189B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33962399A JP4536189B2 (ja) 1998-11-30 1999-11-30 Dma転送装置及びdma転送システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP33873998 1998-11-30
JP10-338739 1998-11-30
JP33962399A JP4536189B2 (ja) 1998-11-30 1999-11-30 Dma転送装置及びdma転送システム

Publications (2)

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

Family

ID=26576190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33962399A Expired - Fee Related JP4536189B2 (ja) 1998-11-30 1999-11-30 Dma転送装置及びdma転送システム

Country Status (1)

Country Link
JP (1) JP4536189B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140289A (ja) * 2000-09-08 2002-05-17 Texas Instruments Inc 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
JP2005141682A (ja) * 2003-11-10 2005-06-02 Digital Electronics Corp 高速メモリアクセス制御装置
JP2011034414A (ja) * 2009-08-03 2011-02-17 Canon Inc Dmaコントローラ
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン
JP5094727B2 (ja) * 2006-09-20 2012-12-12 パナソニック株式会社 データ転送装置、及び携帯電話機
CN114461552A (zh) * 2022-01-26 2022-05-10 北京经纬恒润科技股份有限公司 一种数据存储方法及装置
CN114546906A (zh) * 2022-01-28 2022-05-27 郑州信大捷安信息技术股份有限公司 一种基于ring通信机制的数据交互方法和系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289979A (ja) * 1992-04-06 1993-11-05 Hitachi Ltd データ転送制御方式、データ転送制御装置、及び通信制御システム
JPH06202984A (ja) * 1993-01-06 1994-07-22 Fuji Facom Corp バス間のデータ転送装置
JPH08328995A (ja) * 1995-06-05 1996-12-13 Nec Corp Dma転送方式およびdma転送方法
JPH09114772A (ja) * 1995-10-20 1997-05-02 Kofu Nippon Denki Kk Dma装置及びdmaアドレス変換装置
JPH09305527A (ja) * 1996-05-13 1997-11-28 Brother Ind Ltd Dmaコントローラ
JPH1063569A (ja) * 1996-08-19 1998-03-06 Hitachi Ltd 主メモリデータ書込み装置
JPH10207823A (ja) * 1997-01-17 1998-08-07 Sharp Corp Dma回路
JPH10307750A (ja) * 1997-03-06 1998-11-17 Fujitsu Ltd 記憶領域管理システムおよび記憶領域管理プログラムを記録した媒体
JPH10309950A (ja) * 1997-05-08 1998-11-24 Honda Motor Co Ltd 運搬車

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289979A (ja) * 1992-04-06 1993-11-05 Hitachi Ltd データ転送制御方式、データ転送制御装置、及び通信制御システム
JPH06202984A (ja) * 1993-01-06 1994-07-22 Fuji Facom Corp バス間のデータ転送装置
JPH08328995A (ja) * 1995-06-05 1996-12-13 Nec Corp Dma転送方式およびdma転送方法
JPH09114772A (ja) * 1995-10-20 1997-05-02 Kofu Nippon Denki Kk Dma装置及びdmaアドレス変換装置
JPH09305527A (ja) * 1996-05-13 1997-11-28 Brother Ind Ltd Dmaコントローラ
JPH1063569A (ja) * 1996-08-19 1998-03-06 Hitachi Ltd 主メモリデータ書込み装置
JPH10207823A (ja) * 1997-01-17 1998-08-07 Sharp Corp Dma回路
JPH10307750A (ja) * 1997-03-06 1998-11-17 Fujitsu Ltd 記憶領域管理システムおよび記憶領域管理プログラムを記録した媒体
JPH10309950A (ja) * 1997-05-08 1998-11-24 Honda Motor Co Ltd 運搬車

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140289A (ja) * 2000-09-08 2002-05-17 Texas Instruments Inc 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
JP2005141682A (ja) * 2003-11-10 2005-06-02 Digital Electronics Corp 高速メモリアクセス制御装置
JP5094727B2 (ja) * 2006-09-20 2012-12-12 パナソニック株式会社 データ転送装置、及び携帯電話機
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン
US8732382B2 (en) 2008-08-06 2014-05-20 Qualcomm Incorporated Haltable and restartable DMA engine
JP2011034414A (ja) * 2009-08-03 2011-02-17 Canon Inc Dmaコントローラ
CN114461552A (zh) * 2022-01-26 2022-05-10 北京经纬恒润科技股份有限公司 一种数据存储方法及装置
CN114461552B (zh) * 2022-01-26 2024-01-30 北京经纬恒润科技股份有限公司 一种数据存储方法及装置
CN114546906A (zh) * 2022-01-28 2022-05-27 郑州信大捷安信息技术股份有限公司 一种基于ring通信机制的数据交互方法和系统
CN114546906B (zh) * 2022-01-28 2023-06-23 郑州信大捷安信息技术股份有限公司 一种基于ring通信机制的数据交互方法和系统

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
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 (ja) メモリに対し非同期でデータの読出し/書込みを行う方法及びそのためのダイレクトメモリアクセス・コントローラ
JP5040050B2 (ja) 複数チャネルdmaコントローラおよびプロセッサシステム
JP2001216194A (ja) 演算処理装置
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
JP4536189B2 (ja) Dma転送装置及びdma転送システム
US20080016296A1 (en) Data processing system
US20060047874A1 (en) Resource management apparatus
JP2010146084A (ja) キャッシュメモリ制御部を備えるデータ処理装置
JP2005293427A (ja) データ転送処理装置及びデータ転送処理方法
US7822952B2 (en) Context switching device
US7185122B2 (en) Device and method for controlling data transfer
JP2006163711A (ja) 情報処理システム
US20100042754A1 (en) Data transmitting device and data transmitting method
JP4335327B2 (ja) 調停装置および方法
CN111045961B (zh) 数据处理方法及使用所述方法的存储控制器
KR100950356B1 (ko) 다중 코히런시 단위들을 지원하는 데이터 전송 유닛
JPS61125670A (ja) デ−タ転送装置
KR20020096650A (ko) 영상 처리기의 메모리 액세스 중재 장치 및 방법
JP2000040057A (ja) 計算機システム、バッファ制御装置及び転送方法
JP2004164202A (ja) データ送受システム、リングバッファ制御方法、制御プログラム
JP2005063358A (ja) 命令供給制御装置および半導体装置

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 Request for written amendment filed

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 Request for written amendment filed

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