JP2000187636A - Dma転送システム - Google Patents

Dma転送システム

Info

Publication number
JP2000187636A
JP2000187636A JP10364878A JP36487898A JP2000187636A JP 2000187636 A JP2000187636 A JP 2000187636A JP 10364878 A JP10364878 A JP 10364878A JP 36487898 A JP36487898 A JP 36487898A JP 2000187636 A JP2000187636 A JP 2000187636A
Authority
JP
Japan
Prior art keywords
transfer
data
size
transferred
transfer data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP10364878A
Other languages
English (en)
Inventor
Shinya Ito
信也 伊藤
Hidenori Hida
秀憲 飛田
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.)
JFE Engineering Corp
Original Assignee
NKK Corp
Nippon Kokan 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 NKK Corp, Nippon Kokan Ltd filed Critical NKK Corp
Priority to JP10364878A priority Critical patent/JP2000187636A/ja
Publication of JP2000187636A publication Critical patent/JP2000187636A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】従来のDMA方式では、総転送バイト数が転送
データサイズの整数倍であるため、そのサイズに合わな
いと転送データサイズを小さくして転送回数が増え、転
送効率が悪くなる、または転送するデータの総転送バイ
ト数を整数倍に直すこととなり補正のためにソフトウエ
アに大きな負担が掛かる問題があった。 【解決手段】本発明は、転送されるデータのサイズを検
出し、転送データサイズの中から好適する転送データサ
イズを選択して通知する転送データサイズ選択通知部6
と、通知された転送データサイズの中から転送されるデ
ータサイズに照らし合わせて、そのデータサイズの転送
が最小転送回数で実現するように考慮して、転送データ
サイズを決定する転送データサイズ決定部7を備え、転
送するデータサイズに応じて、最小の転送回数になるよ
うに、転送データサイズを順次設定するDMA転送シス
テムである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サシステムにおける周辺装置とメモリ装置の間でデータ
転送を行うDMA(Direct Memory Access)方式を制御
するDMA転送システムに関する。
【0002】
【従来の技術】一般に、マイクロプロセッサシステムに
おいて、CPUの動作と独立して、周辺装置(コントロ
ーラ等)とメモリ装置の間でデータ転送を行う方式の1
つにDMA方式が知られており、これを制御するための
DMA転送回路が備えられている。このDMA方式は、
DMA転送回路がマイクロプロセッサにバスを要求し、
受け付けられるとバスを占有してデータの転送を行って
いるものである。
【0003】このDMA方式は、図4に示すように入出
力(I/O)制御部11からDMA転送回路12内の転
送コントロール部13に制御信号(DREQ)が指示さ
れると、転送単位レジスタ14に予め設定された転送デ
ータサイズ(バイト数)でDRAM等のメモリ装置16
から入出力制御部11に、若しくは入出力制御部11か
らメモリ装置16にデータが転送される。
【0004】図5を参照して、従来のDMA方式におけ
るデータ転送の特徴について説明する。
【0005】このDMA方式においては、あるデータサ
イズ単位で順次転送されるが、その転送データサイズと
しては、1,2,4,8,16,32,64,…バイト
(byte)と種々ある。通常は予め転送単位レジスタ
に定められたいずれかに設定された固定長となってい
る。
【0006】即ち、(総転送バイト数S)=(転送単位
U)×(総転送回数N)の関係となる。
【0007】例えば、図5(a)に示すように、転送デ
ータサイズが1バイトに設定されていた場合、転送すべ
きデータが64バイトであれば、総転送回数は、64回
となる。しかし図5(b)に示すように、転送データサ
イズが16バイトに設定されていた場合には、総転送回
数は、4回で済むこととなる。よって、転送効率は、転
送データサイズが大きいほど、転送時間が短くなり、転
送効率が高くなる。
【0008】
【発明が解決しようとする課題】従来のDMA方式にお
いては、転送の効率を高める目的に、転送データサイズ
を単純に大きくすることはできない。つまり、総転送回
数が整数であるため、総転送バイト数は転送単位の整数
倍でなければならない。しかし、実際に転送するデータ
のバイト数が整数倍にはならないことは多々ある。この
ため、転送データサイズを小さくするか、転送するデー
タの総転送バイト数を整数倍に直す必要がある。
【0009】その結果、転送データサイズを小さくする
と、転送回数が増えることとなり、転送効率が悪くな
る。一方、総転送バイト数を整数倍に直すことは可能で
あるが、そのためにソフトウエアへ大きな負担が掛かる
こととなり、装置自体の処理能力に大きく影響されるこ
ととなる。
【0010】そこで本発明は、転送データがどのような
データサイズの総転送バイト数であっても転送データサ
イズを対応させて、転送効率の高効率化を実現しつつ、
ソフトウエアへの負担が軽減して転送を行うDMA転送
システムを提供することを目的とする。
【0011】
【課題を解決するための手段】本発明は上記目的を達成
するために、マイクロプロセッサシステムにおける周辺
装置とメモリ装置の間で任意のデータを所定転送データ
サイズで転送するDMA方式において、転送する前記デ
ータのサイズを検出し、予め定められた転送データサイ
ズの中から転送に利用可能な転送データサイズをすべて
選択して通知する転送データサイズ選択通知手段と、前
記データの転送が最小転送回数になるように、通知され
た前記転送データサイズの中から決定する転送データサ
イズ決定手段とを備えるDMA転送システムを提供す
る。
【0012】以上のような構成のDMA転送システム
は、転送データサイズ選択通知手段が転送するデータの
サイズを検出し、予め設定された複数の転送データサイ
ズの中から転送可能な転送データサイズを選択して、転
送データサイズ決定手段に通知する、この転送データサ
イズ決定手段は、その転送可能な転送データサイズの中
から、最小回数で転送されるように大きいサイズの転送
データサイズから順次設定し、データの転送を行うこと
により、転送するデータがどのようなデータサイズであ
っても、適宜転送データサイズの設定してデータを転送
する。
【0013】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態について詳細に説明する。
【0014】図1には、本発明に係るDMA転送システ
ムの実施形態の構成例を示し説明する。尚、本システム
の説明にあたって、可能な転送データサイズは、例え
ば、1,8,16,32,64バイトの複数のサイズと
する。勿論、これは一例であり、限定されるものではな
い。また、データサイズは、データ長を意味する。
【0015】このDMA転送システムは、大別すると、
転送するデータを一時的に保持してその入出力と、転送
時の転送データサイズを通知する入出力(I/O)制御
回路1と、指示されたアドレス信号に基づき、DRAM
等のメモリ装置4と入出力御回路1の間でデータの転送
を行うメモリ制御回路2と、通知された転送データサイ
ズの中から好適する転送データサイズを決定し、入出力
制御回路1に転送指示及び、メモリ制御回路2にアドレ
ス信号を指示するDMA制御回路3とで構成される。
【0016】前記入出力制御回路1は、所定処理された
データや作成するデータを保持するデータ部9からメモ
リ装置4等へ記憶させるための転送すべきデータ若しく
は、メモリ装置4から読み出されデータ部9に転送され
るべきデータを一時的に保持するバッファ5と、バッフ
ァ5内に保持されるデータのサイズを検出し、予め定め
られ、利用可能な転送データサイズの中から好適する転
送データサイズを選択して、それらをDMA制御回路3
に通知する転送データサイズ選択通知部6とで構成され
る。
【0017】前記DMA制御回路3は、転送データサイ
ズ選択通知部6から通知された転送データサイズの中か
ら転送されるデータサイズに照らし合わせて、そのデー
タサイズの転送が最小転送回数で実現するように考慮し
て、転送データサイズを決定する転送データサイズ決定
部7と、決定した転送データサイズを入出力制御回路1
に指示して、転送を実行させる転送制御部8とで構成さ
れる。
【0018】図2に示すフローチャート及び図3に示す
転送時間の比較図を参照して、DMA転送システムにお
いて、メモリ装置へ記憶させるデータ転送の動作につい
て説明する。尚、転送されるデータのサイズは、例えば
97バイトとし、ルーチンで戻り、同じ手順で動作する
工程においては、同じステップ番号を用いて説明してい
る。
【0019】まず、CPU10からDMA転送システム
にデータ部9に保持されるデータを転送する命令が出さ
れる(ステップS1)。
【0020】この命令に従って、データ部9のデータを
バッファ5へ一時的に保持させる(ステップS2)。そ
して、転送データサイズ選択通知部6は、その転送され
るデータのデータサイズを検出し、その総バイト数(こ
こでは、97バイト)に基づき、予め設定されている転
送に使用可能な転送データサイズをすべて、DMA制御
回路3の転送サイズ決定部7に出力する(ステップS
3)。この例では、可能な転送データサイズとして転送
されるデータのサイズ以下である、1,8,16,3
2,64バイトがエントリーされる。
【0021】そして、転送データサイズ決定部7は、デ
ータサイズが97バイトであるため、図3(a)に示す
ように、97バイト以下で一番近い64バイトを転送デ
ータサイズに決定する(ステップS4)。
【0022】DMA制御回路3は、転送制御部8から決
定された転送データサイズ(64バイト)を入出力制御
回路1に指示し、それと共に、メモリ制御回路2にメモ
リ装置4の記憶すべき領域のアドレス信号を生成させる
(ステップS5)。この制御信号を受けたメモリ制御回
路2は、バッファ5から64バイトのデータを読み出
し、メモリ装置4にデータを転送して記憶させる(ステ
ップS6)。
【0023】次に、転送されるデータがメモり装置4に
すべて転送されたか否か判定する(ステップS7)。こ
の判定で、すべてのデータが転送されたならば(YE
S)、一連のデータ転送を終了する。しかし、すべての
データが転送されなければ(NO)、残ったデータのサ
イズ(33バイト)を転送データサイズ選択通知部6に
通知して(ステップS8)、ステップS3に戻る。
【0024】そしてバッファ5に残った転送データは、
図3(a)に示すように、[97−64=33]の33
バイトであるため、転送データサイズ選択通知部6は、
可能転送データサイズとして、1,8,16,32バイ
トを転送データサイズ決定部7に与える(ステップS
3)。
【0025】ここで、転送データサイズ決定部7は、3
3バイト以下で一番近い32バイトを転送データサイズ
に決定する(ステップS4)。そして前回と同様に制御
信号を受けたメモリ制御回路2はアドレス信号を生成し
(ステップS5)、バッファ5から32バイトのデータ
を読み出し、メモリ装置4にデータを転送して記憶させ
る(ステップS6)。
【0026】そして、再度転送されるデータがメモり装
置4にすべて転送されたか否か判定する(ステップS
7)。この判定で、すべてのデータが転送されたならば
(YES)、一連のデータ転送を終了する。しかし、す
べてのデータが転送されなければ(NO)、残ったデー
タのサイズ(1バイト)を転送データサイズ選択通知部
6に通知して(ステップS8)、ステップS3に戻る。
【0027】バッファ5に残った転送データが[33−
32=1]の1バイトであるため、転送データサイズ選
択通知部6は、可能転送サイズとして、1バイトを転送
サイズ決定部7に与える(ステップS3)。前回と同様
に制御信号を受けたメモリ制御回路2は、バッファ5か
ら1バイトのデータを読み出し、メモリ装置4にデータ
を転送して記憶させて(ステップS6)、転送されるデ
ータがメモり装置4にすべて転送されたならば、一連の
データ転送動作を終了する。
【0028】本実施形態の転送方式では、転送回数が最
小になるように、転送するデータサイズに合わせて、転
送サイズが適宜変更される。転送されるデータのサイズ
に対して、そのサイズ以下で一番近い転送データサイズ
の整数倍を設定して転送し、その残りのデータのサイズ
に対しても同様に、そのサイズ以下で一番近い転送デー
タサイズの整数倍を設定して再度、転送を行う。転送さ
れるデータが無くなるまで、このような手順を繰り返し
行う。よって、転送回数Sは、 S=Un ×Nn +Un-1 ×Nn-1 +Un-2 ×Nn-2 +…
+U0 ×N0 但し、
【数1】
【0029】尚、実際の転送には、転送のためのやりと
りを行うシェークハンド期間が必要であり、シェークハ
ンド期間が4cycle 、実際のデータ転送期間が1cycle
として、計5cycle が必要である。このシェークハンド
期間を考慮して、最小転送回数になるように転送データ
サイズを決定することが重要である。
【0030】図3(a)に示すように、転送するデータ
のサイズが例えば、97バイトであった場合、1回目の
転送データサイズが64バイト、2回目の転送データサ
イズが32バイト、3回目の転送データサイズが1バイ
トの3回の転送で済むため、図3(b)に示すように、
(4+1×64)+(4+1×32)+(4+1)=1
09cycle となる。
【0031】これに対し、従来のDMA方式において
は、予め設定される可能転送データサイズが1,2,
4,8,16,32,64バイトであった場合に、1バ
イト以外に97バイトに対して、整数倍のものはなく、
1バイトが転送データサイズにならざるを得ない。
【0032】従って、図3(c)に示すように、1回の
転送サイズが1バイトの場合は、5cycle が必要となる
ため、データサイズが同様に97バイトであった場合、
転送サイズが1バイトの転送を97回行うこことなり、
(4+1)×97=485cycle となる。
【0033】このように、従来のDMA方式であれば、
転送時間が485cycle であったものが、本実施形態を
用いれば、1/4以下の109cycle となる。勿論、こ
れは転送データのサイズが97バイトの例であり、転送
するデータのサイズによって転送時間は異なっている。
【0034】また、メモリ装置4からデータ部9へデー
タ転送について説明する。
【0035】メモリ装置4から読み出されるデータのサ
イズは、既知であり、メモリ制御回路2を介して、DM
A制御回路3に入力される。DMA制御回路3の転送デ
ータサイズ決定部7では、前述したと同じ転送データサ
イズ1,8,16,32,64バイトであるとして、前
述した転送回数Sを求める式に準じて、最小転送回数に
なるように転送データサイズを決定して、メモリ制御回
路2にアドレス信号を指示し、メモリ装置4からバッフ
ァ5に転送して保持させる。そしてバッファ5に保持さ
れるデータは、データ部9に出力される。
【0036】以上説明したように本実施形態のDMA転
送システムは、転送するデータに対して、最小の転送回
数に基づき、転送データサイズを順次設定することによ
り、高効率の転送が可能になる。
【0037】また、転送するデータの総転送バイト数を
整数倍に補正する必要がなく、ソフトウエアにおいても
負担が軽減される。
【0038】実施形態における転送でターサイズ選択通
知部は、総バイト数から予め設定された転送データサイ
ズを転送する機能であるため、構成が簡単で規模が小さ
い論理回路で構築できる。また転送データサイズ決定部
においても、同様に容易に構築できる。
【0039】また本実施形態では、入出力制御回路とD
MA制御回路における可能転送データサイズは、1,
8,16,32,64バイトのサイズで説明したが、勿
論これに限定されるものではなく、1,2,4バイトの
サイズで転送を行う低機能DMA転送システムや、1か
ら64バイト、それ以上の任意バイト数(通常は、2n
となる)が転送可能な高性能DMA転送システムとして
構築してもよく、それぞれのニーズに応じた構成にする
ことができる。
【0040】
【発明の効果】以上詳述したように本発明によれば、転
送データがどのようなデータ長の総転送バイト数であっ
ても転送データサイズを対応させて、転送効率の高効率
化を実現しつつ、ソフトウエアへの負担が軽減して転送
を行うDMA転送システムを提供することができる。
【図面の簡単な説明】
【図1】本発明に係るDMA転送システムの実施形態の
構成例を示し説明するための図である。
【図2】DMA転送システムのデータ転送の動作につい
て説明するためのフローチャートである。
【図3】本実施形態と従来のDMA転送方式による転送
時間の比較について説明するための図である。
【図4】従来のDMA転送方式の構成について説明する
ための図である。
【図5】従来のDMA方式におけるデータ転送の特徴に
ついて説明するための図である。
【符号の説明】
1…入出力(I/O)制御回路 2…メモリ制御回路 3…DMA制御回 4…メモリ装置 5…バッファ 6…転送データサイズ選択通知部 7…転送データサイズ決定部 8…転送制御部 9…データ部 10…CPU

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサシステムにおける周
    辺装置とメモリ装置の間で任意のデータを所定転送デー
    タサイズで転送するDMA(Direct MemoryAccess)方
    式において、 転送する前記データのサイズを検出し、予め定められた
    転送データサイズの中から転送に利用可能な転送データ
    サイズをすべて選択して通知する転送データサイズ選択
    通知手段と、 前記データの転送が最小転送回数になるように、通知さ
    れた前記転送データサイズの中から決定する転送データ
    サイズ決定手段と、を具備することを特徴とするDMA
    転送システム。
  2. 【請求項2】 マイクロプロセッサシステムにおける周
    辺装置からメモリ装置に任意のデータを所定転送データ
    サイズで転送するDMA方式において、 所定処理されたデータや作成されたデータを保持する前
    記周辺装置のデータ保持部から転送すべきデータを一時
    的に保持するバッファ部と、 前記バッファ内に保持されるデータのサイズを検出し、
    予め定められた複数の転送データサイズの中から転送に
    利用可能な転送データサイズをすべて選択して通知する
    転送データサイズ選択通知部と、 転送される前記データが最小回数で転送されるように、
    通知された前記転送データサイズの中から、転送される
    前記データのサイズ以下で最も近いサイズを1つ選択
    し、転送データサイズとして決定する転送データサイズ
    決定部と、 決定した前記転送データサイズに基づき、データ書き込
    み先の前記メモリ装置のアドレス番号を発生させて、前
    記バッファに保持されるデータを前記メモリ装置に書き
    込む転送制御部と、 を具備し、転送される前記データの全データが前記メモ
    リ装置に転送されるまで、順次、好適する転送データサ
    イズに更新して、転送を繰り返し行うことを特徴とする
    DMA転送システム。
  3. 【請求項3】 マイクロプロセッサシステムにおけるメ
    モリ装置から周辺装置へ任意のデータを所定転送データ
    サイズで転送するDMA方式において、 前記メモリ装置から読み出されたデータを一時的に保持
    するバッファ部と、 転送される前記データが最小回数で前記バッファ部に転
    送されるように、予め定められた複数の転送データサイ
    ズの中から、読み出される前記データのサイズ以下で最
    も近いサイズを1つ選択し、転送データサイズとして決
    定する転送データサイズ決定部と、 決定した前記転送データサイズに基づき、前記メモリ装
    置からデータを読み出し、前記バッファに保持させる転
    送制御部と、を具備し、読み出される前記データの全デ
    ータが前記バッファ部に転送されるまで、順次、好適す
    る転送データサイズに更新して、転送を繰り返し行うこ
    とを特徴とするDMA転送システム。
JP10364878A 1998-12-22 1998-12-22 Dma転送システム Withdrawn JP2000187636A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10364878A JP2000187636A (ja) 1998-12-22 1998-12-22 Dma転送システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10364878A JP2000187636A (ja) 1998-12-22 1998-12-22 Dma転送システム

Publications (1)

Publication Number Publication Date
JP2000187636A true JP2000187636A (ja) 2000-07-04

Family

ID=18482898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10364878A Withdrawn JP2000187636A (ja) 1998-12-22 1998-12-22 Dma転送システム

Country Status (1)

Country Link
JP (1) JP2000187636A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073992B2 (en) 2007-09-21 2011-12-06 Mitsubishi Electric Corporation Data transfer device and data transfer method
JP5955489B1 (ja) * 2015-11-26 2016-07-20 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
JP2020110476A (ja) * 2019-01-16 2020-07-27 株式会社藤商事 遊技機
JP2020110477A (ja) * 2019-01-16 2020-07-27 株式会社藤商事 遊技機
JP2020124331A (ja) * 2019-02-04 2020-08-20 株式会社藤商事 遊技機
JP2021132683A (ja) * 2020-02-21 2021-09-13 キヤノンメディカルシステムズ株式会社 超音波診断装置、超音波プローブ、及び制御プログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073992B2 (en) 2007-09-21 2011-12-06 Mitsubishi Electric Corporation Data transfer device and data transfer method
JP4937355B2 (ja) * 2007-09-21 2012-05-23 三菱電機株式会社 データ転送装置及びデータ転送方法
JP5955489B1 (ja) * 2015-11-26 2016-07-20 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
WO2017090138A1 (ja) * 2015-11-26 2017-06-01 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
JP2020110476A (ja) * 2019-01-16 2020-07-27 株式会社藤商事 遊技機
JP2020110477A (ja) * 2019-01-16 2020-07-27 株式会社藤商事 遊技機
JP7210296B2 (ja) 2019-01-16 2023-01-23 株式会社藤商事 遊技機
JP7210295B2 (ja) 2019-01-16 2023-01-23 株式会社藤商事 遊技機
JP2020124331A (ja) * 2019-02-04 2020-08-20 株式会社藤商事 遊技機
JP6998901B2 (ja) 2019-02-04 2022-01-18 株式会社藤商事 遊技機
JP2021132683A (ja) * 2020-02-21 2021-09-13 キヤノンメディカルシステムズ株式会社 超音波診断装置、超音波プローブ、及び制御プログラム
JP7471853B2 (ja) 2020-02-21 2024-04-22 キヤノンメディカルシステムズ株式会社 超音波診断装置、超音波プローブ、及び制御プログラム

Similar Documents

Publication Publication Date Title
JPH02227763A (ja) データ転送制御システム
US6728797B2 (en) DMA controller
JP2000187636A (ja) Dma転送システム
JPH10334037A (ja) 通信dma装置
JPH0619711B2 (ja) 優先ブランチ機構を備えたデータ処理システム
JP2004227501A (ja) データ転送制御装置および方法
US20040093439A1 (en) Data processing control apparatus and DMA controller
JPH096704A (ja) データ転送装置
JPH05173933A (ja) ダイレクトメモリアクセス転送方式
JP2002259326A (ja) Dmaコントローラ及びdma転送方法
JP2688245B2 (ja) Dma制御装置
JP4181268B2 (ja) 多チャンネル型メモリ・コントローラ
JP3139310B2 (ja) ディジタル信号処理装置
JP2002278753A (ja) データ処理システム
JP2856244B2 (ja) データ転送方式
JP2814849B2 (ja) 通信制御装置
JPS59144955A (ja) 情報処理装置
JPH0380470A (ja) 記憶制御装置
JPH0764900A (ja) Dmaデータ転送方式
JPH10214237A (ja) バス制御装置
JPH09114793A (ja) マルチプロセッサシステム及びその割り込み処理方法
JPS6365528A (ja) コ・プロセツサ
JPS63153635A (ja) デ−タ転送速度指定方式
JP2001232871A (ja) データ処理方法
JPH0619817A (ja) 通信プロセッサ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060307