JPH10254817A - Dma転送制御システム - Google Patents

Dma転送制御システム

Info

Publication number
JPH10254817A
JPH10254817A JP5738097A JP5738097A JPH10254817A JP H10254817 A JPH10254817 A JP H10254817A JP 5738097 A JP5738097 A JP 5738097A JP 5738097 A JP5738097 A JP 5738097A JP H10254817 A JPH10254817 A JP H10254817A
Authority
JP
Japan
Prior art keywords
data
transfer
bus
read
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5738097A
Other languages
English (en)
Inventor
Yukitaka Shigaki
幸貴 志垣
Naoki Kawasaki
直樹 河崎
Osamu Shibagaki
税 芝垣
Kazuyuki Nakamura
和幸 中村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5738097A priority Critical patent/JPH10254817A/ja
Publication of JPH10254817A publication Critical patent/JPH10254817A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 本発明はDMA転送制御システムに関し、第
1に如何なる開始アドレスからも高速にデータ転送で
き、第2に書き込みと読み出しを並行して行なうことに
より、高速データ転送を行なうことができるDMA転送
制御システムを提供することを目的としている。 【解決手段】 DMAコントローラとアドレスバス及び
データバスが接続され、これらアドレスバス及びデータ
バスには少なくともメモリが接続されたDMA転送制御
システムにおいて、前記DMAコントローラは、転送デ
ータの状況に応じて、ブロック転送,ワード転送,端数
転送と、随時最適な転送方法に自動的に切り替え転送を
実行する切り替え手段を具備して構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はDMA転送制御シス
テムに関し、特にマイクロプロセッサを使用する装置に
おいて、プロセッサからの起動処理のみでプロセッサと
は独立にデバイス間のデータの送受信を行なうDMA転
送制御システムに関する。
【0002】昨今の通信機器及びプロセッサを使用した
制御装置においては、データの大容量化が進み、それに
伴ってデータ転送の高速化が必須課題となってきてい
る。しかしながら、従来のDMA(ダイレクト・メモリ
・アクセス:プロセッサを介さずにデータ転送を行なう
こと)転送技術では、端数分の含まれる転送や、2つの
バスにまたがる転送において、あまり効率のいい転送方
法はなく、転送速度が遅いという問題がある。
【0003】
【従来の技術】図16は従来システムの構成例を示すブ
ロック図である。図において、1はMPU、2A,2B
はアドレスバス、3A,3Bはデータバスである。これ
ら2つのバスのうち、一方をAバス、他方をBバスと呼
ぶ。
【0004】6はAバスとBバス間に接続されたDMA
転送制御を行なうDMAコントローラ(DMAC)、G
1,G2はDMAコントローラ4によりその方向が制御
されるアドレスバスの双方向バッファ、G3,G4はD
MAコントローラ4によりその方向が制御されるデータ
バスの双方向バッファである。
【0005】4AはAバス側に設けられたメモリ、5A
はAバス側に設けられた入出力装置で何れもアドレスバ
ス2A及びデータバス3Aと接続されている。4BはB
バス側に設けられたメモリ、5BはBバス側に設けられ
た入出力装置で何れもアドレスバス2B及びデータバス
3Bと接続されている。
【0006】図17は従来システムのデータ転送の説明
図である。図16と同一のものは、同一の符号を付して
示す。図では、メモリ4Bに図に示すような構成のデー
タが記憶されているものとする。データバス幅は4バイ
トであるものとする。そして、最小矩形が1バイトデー
タを示し、4バイトで1ワードを構成しているものとす
ると、最初の〜までは1ワードに満たない端数デー
タである。
【0007】従来のシステムでは、これら端数データ
〜まではDMAC6により1個ずつ相手方メモリ4A
にDMA転送され、次に最初の1ワードデータである
がDMA転送される。この方式は、ワード転送以外はバ
イト単位に転送を行なうものである。
【0008】従来の転送方法について更に詳細に説明す
る。図18は転送データの構成例を示す図である。○1
(をこのように表わす。以下同じ)〜○12までのデ
ータを転送するものとする。○1,○2,○3は端数デ
ータ、○4〜○11はワードデータ、○12は1バイト
の端数データである。
【0009】図19は従来システムのデータ転送の第1
の例を示す図であり、ワード転送以外はバイト単位で転
送するものである(特開昭64−76356号公報)。
あるデータの転送から次のデータの転送にはバス調停モ
ードが入っている。即ち、端数データである○1〜○3
は1バイトずつ転送し、以降のワードデータはワード単
位に○4〜○11まで転送し、最後に1バイトの端数デ
ータ○12を転送している。
【0010】図20は従来システムのデータ転送の第2
の例を示す図である(特開平6−266612号公
報)。この例では、端数分の1ワードデータを取り込ん
で、一旦4バイト幅のデータに変換して転送するもので
ある。そして、○1〜○3までのデータを一括して転送
し、次には1ワード幅のデータを○4〜○11まで転送
し、最後の端数データ○12は端数分の1ワードデータ
を取り込んで、一旦4バイト幅のデータに変換して転送
する。
【0011】図21は従来システムのデータ転送の第3
の例を示す図であり、MPUを介在させている点でDM
Aとは呼べないものである(特開平2−024756号
公報)。この例では、端数転送は、最小限の端数データ
のみMPUにより転送し、他はDMAによる転送を行な
うものである。端数データの転送の時には、DMACよ
りMPUに端数通知を出すことが必要となる。
【0012】MPUは、この端数通知を受けると、端数
データを転送先に転送する。端数データの転送が終わる
と、MPUはDMACに転送完了通知を出す。図22は
2つのバス間にまたがる従来システムのデータ転送方式
の説明図であり、第4の例を示す(特開平1−2175
32号公報)。この例は、高速転送の実現方法として、
バス直結型のシングルアドレスモードを用いたものであ
る。図16と同一のものは、同一の符号を付して示す。
【0013】この例は、転送元、転送先のデータバスを
直結した形とし、高速転送を実現するものである。図2
3は2つのバス間にまたがる従来システムの他のデータ
転送方式の説明図であり、第5の例を示す(特開平4−
107666号公報)。図16と同一のものは、同一の
符号を付して示す。この例は、独立した各1対のアドレ
スバス,データバスを有することで、従来の欠点を除去
し、データ直結型のメモリ−メモリ間高速転送が可能と
なる。
【0014】
【発明が解決しようとする課題】前述した従来のデータ
転送システムのうち、図19に示す第1の例は、ワード
転送以外はバイト単位に転送を行なうので、端数データ
の転送に時間がかかってしまうという問題がある。
【0015】図20に示す第2の例は、4バイト幅のデ
ータを一旦取り込んで、該当バイトのデータを変換する
必要があることから、時間がかかってしまい、高速転送
ができないという問題がある。
【0016】図21に示す第3の例は、データ転送にM
PUを介在させているので、時間的ロスが発生し、また
MPUにとっても処理負荷が増大し、効率が悪いという
問題がある。
【0017】図22に示す第4の例の場合、アドレス情
報が1対しか出力できないため、メモリ4と入出力装置
5間の転送しかサポートできないという問題がある。図
23に示す第5の例の場合、データ直結であるため、デ
ータの並び替えができず、転送開始アドレスの異なるデ
バイス間の転送ができないという問題がある。
【0018】本発明はこのような課題に鑑みてなされた
ものであって、第1に如何なる開始アドレスからも高速
にデータ転送でき、第2に書き込みと読み出しを並行し
て行なうことにより、高速データ転送を行なうことがで
きるDMA転送制御システムを提供することを目的とし
ている。
【0019】
【課題を解決するための手段】
(1)図1は本発明の原理ブロック図である。図16と
同一のものは、同一の符号を付して示す。図に示すシス
テムは、DMAコントローラ10とアドレスバス2及び
データバス3が接続され、これらアドレスバス2及びデ
ータバス3には少なくともメモリ4が接続されたDMA
転送制御システムを構成している。
【0020】2A,3Aが一方の側(A側)のアドレス
バスとデータバスであり、2B,3Bが他方の側(B
側)のアドレスバスとデータバスである。11はDMA
コントローラ10内に設けられ、転送データの状況に応
じて、ブロック転送,ワード転送,端数転送と、随時最
適な転送方法に自動的に切り替え転送を実行する切り替
え手段である。
【0021】この発明の構成によれば、切り替え手段1
1が転送データの状況に応じて、ブロック転送,ワード
転送,端数転送と、随時最適な転送方法に自動的に切り
替え転送を実行することにより、如何なる開始アドレス
からも高速にデータ転送することができる。
【0022】(2)この場合において、前記アドレスバ
ス2とデータバス3を2対持たせ、前記DMAコントロ
ーラ10は2つのバスの転送を独立して行なうことを特
徴としている。
【0023】この発明の構成によれば、2対のアドレス
バスとデータバスを有し、それぞれのバスの独立転送制
御を行なうことにより、書き込みと読み出しを同時に並
行して行なうことができ、データの高速転送が可能とな
る。
【0024】(3)また、前記DMAコントローラ10
は、その内部バッファにデータを読み込みつつ、同時に
書き込み処理を行なうためにデータ書き込み数をカウン
トする書き込みカウンタと、読み出しデータ数をカウン
トする読み出しカウンタを設け、これら書き込みカウン
タと読み出しカウンタの突き合わせ比較により、2つの
バスの転送を並行処理することを特徴としている。
【0025】この発明の構成によれば、2つのバスの並
行処理が可能となり、転送元,転送先共にロスなく連続
的な高速データ転送を実現しつつ、任意の転送開始アド
レスからのデータ転送を実現することができる。
【0026】(4)更に、前記DMAコントローラ10
内に、読み出しデータを並び替える並び替え手段を設
け、読み込んだ側のデータの並びとは異なるデータの並
びで書き込み側にデータ転送することを特徴としてい
る。
【0027】この発明の構成によれば、並び替え手段を
用いて読み込んだデータとは異なるデータの並びで書き
込み側にデータ転送することができる。
【0028】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態例を詳細に説明する。 (A)端数バイト転送及びワード,ブロック転送の切り
替え 図2は本発明によるデータ転送の説明図である。図1と
同一のものは、同一の符号を付して示す。ここで、図に
示すように転送元メモリ4Bに記憶されているデータを
DMAC10内の切り替え手段11により転送先メモリ
4Aに転送することを考える。
【0029】4バイトで1ワードとしていると、○1〜
○3までのデータは端数となる。本発明では、バイト単
位ではなく、端数となる全てのバイトのみを有効とし、
有効エリアを示す信号を付与したワード転送とし、○1
〜○3までを一括転送する。このようにすることで、端
数を1バイトずつ転送していた従来のシステムに対して
高速転送が可能となる。
【0030】この場合において、切り替え手段11は、
総転送データ量,転送元アドレス,転送先アドレス,残
り転送バイト数等からハードウェア的に転送量を算出
し、随時変化する転送状況に応じて、ブロック転送可能
領域、ワード転送可能領域、1ワードに満たない3バイ
ト以下の端数転送をそれぞれ識別し、最適な転送モード
に自動的に切り替える。ここで、ブロック転送とは、複
数のワードデータを1つのブロックとして連続的に転送
処理を行なうことである。
【0031】この実施の形態例によれば、切り替え手段
11が転送データの状況に応じて、ブロック転送,ワー
ド転送,端数転送と、随時最適な転送方法に自動的に切
り替え転送を実行することにより、如何なる開始アドレ
スからも高速にデータ転送することができる。
【0032】図3は端数バイト転送及びブロック転送の
切り替え制御動作を示すフローチャートである。切り替
え手段11は、転送時に設定される、総転送データ量,
転送元アドレス,転送先アドレス,残り転送バイト数等
からハードウェア的に転送量を算出し、随時変化する転
送状況に応じて最適な転送モード切り替えを行なう。
【0033】即ち、先ず転送先の転送開始アドレス値の
下位2ビット(A30,A31)を参照し、“A30,
A31=0,0”であるかどうかチェックする(S
1)。転送データは1ワード当たり4バイト(32ビッ
ト)で表される。
【0034】A30,A31=0,0の場合には、デー
タはワードで始まり、端数データの場合にはA30,A
31の何れかに1があることになる。A30,A31=
0,0の場合にはワードデータとなり、それ以外の場合
には端数データとなることを更に詳細に説明する。図4
は32ビット(4バイト)メモリのマップを示してい
る。図より明らかなように、転送開始がワードで始まる
場合には、開始アドレスの値の最後が0,4,8,C
(16進)の何れかであり、それ以外はワードの途中か
ら始まることになり、これを端数とする。
【0035】このアドレスの最後の値をバイナリ(ビッ
トA0〜A31)で見てみると、以下のようになる。 となり、ワードで始まる場合には、下位2ビットA3
0,A31は必ず0,0となる。これに対して、それ以
外の端数の場合には、以下のようになる。
【0036】 となり、必ずA30,A31の何れかに1があることに
なる。従って、 A30,A31=0,0 の時はワード開始の転送 A30,A31≠0,0 の時は端数からの転送 と識別できることになる。
【0037】下位2ビットが“0,0”以外と判定した
時、切り替え手段11は、その2ビットの0/1の組み
合わせにより有効端数バイト位置を識別するバイトコン
トロール信号(BC)を生成する(S2)。
【0038】バイトコントロール信号BCは下位2ビッ
トに対応して4種類存在する。バイトコントロール信号
は以下の通りである。 転送開始アドレス下位2ビット=0,0の時0000(BC0) =0,1の時1000(BC1) =1,0の時1100(BC2) =1,1の時1110(BC3) これらコントロール信号BCは、4バイト(1ワード)
のどのバイトデータが有効かを示す信号である。
【0039】バイトコントロール信号が生成されたら、
端数分のデータ転送を実行する(S3)。即ち、切り替
え手段11は、このバイトコントロール信号により、転
送元から読み出してきたデータの先頭が有効端数データ
の先頭になるようにデータを並び替え、書き込みデータ
と同時にバイトコントロール信号を送出し、転送先有効
端数バイト領域に一度にデータを書き込む。
【0040】次に、切り替え手段11は、初期設定アド
レスを転送終了毎にからアドレス値を4(16進)だけ
減算する(S4)。その後、切り替え手段11は、アド
レス下位4ビットA28,A29,A30,A31=
0,0,0,0であるかどうかチェックする(S5)。
オール0でない場合には、データはワードデータ、オー
ル0の時にはそれ以外のデータ(ブロックデータ)であ
る。
【0041】次に、下位4ビットがオール0でない時に
はワードデータ、下位4ビットがオール0の時にはブロ
ックデータとなる理由について説明する。図5に示すよ
うに、1ブロックは16バイトからなり、ブロック転送
では、この1ブロックを1つの単位として転送する。こ
のため、ブロック転送の開始は、各ブロックの先頭であ
る00000000,00000010,000000
20,00000030,…のアドレスの時に可能であ
る。これをバイナリ情報で示すと、以下のようになる。
【0042】 A26,A27,A28,A29,A30,A31 00000000= 0 0 0 0 0 0 00000004= 0 0 0 1 0 0 00000008= 0 0 1 0 0 0 0000000C= 0 0 1 1 0 0 00000010= 0 1 0 0 0 0 00000014= 0 1 0 1 0 0 00000018= 0 1 1 0 0 0 0000001C= 0 1 1 1 0 0 00000020= 1 0 0 0 0 0 これより、ブロック可能アドレスの時には、A28〜A
31が必ずオール0の状態となることが分かる。
【0043】アドレス値がオール0でない時には、切り
替え手段11は、4バイト単位のデータ転送モード(ワ
ード転送モード)に切り替え、データのワード転送を実
行する(S6)。このワード転送モードは、ブロック転
送ができる領域まで実行される。1ワードの転送が終了
したら、アドレス値を4(16進)だけ減算し、A28
〜A31のアドレス値のチェックを行なう(S5)。下
位4ビットのアドレス値が4ビット共にオール0になる
までワード転送が続行される。
【0044】アドレスの下位4ビットがオール0になっ
たら、残りバイト数よりブロック転送可否判断を行なう
(S7)。この可否判断は、残りのバイト数に1ブロッ
ク単位の16バイトが含まれているかの判断になる。こ
のため、切り替え手段11は以下の演算を行なう。
【0045】総転送バイト数−(ブロック転送開始可能
アドレス−転送開始アドレス)=ブロック転送以降の残
り転送数 次に、切り替え手段11は、ブロック転送開始可能アド
レス以降の残り転送バイト数をチェックする(S8)。
そして、残り転送バイト数がブロック単位の整数倍より
も大きい場合には、ブロック転送を実行する(S9)。
1ブロックの転送が終了したら、残りバイト数を求め
(S7)、残りバイト数がブロック単位の整数倍あるか
どうかチェックする(S8)。以下、残りバイト数がブ
ロック単位の整数倍にならなくなるまでブロック転送を
続行する。
【0046】残りバイト数がブロック単位の整数倍にな
らなくなったら、切り替え手段11は、残りバイト数が
幾らであるかチェックする(S10)。残りバイト数が
4バイトよりも大きい場合にはワード転送を実行する
(S11)。残りバイト数が3バイト以下の場合にはバ
イトコントロール信号BCを生成した後(S12)、端
数分のデータの転送を行なう(S13)。これにて全デ
ータの転送が終了する。なお、ステップS10におい
て、残りバイト数が0の場合には、転送が終了する。
【0047】図6は本発明による転送データの割り振り
を示す図である。図の最小矩形が1バイト単位のデータ
である。最初のデータは○1〜○3までの3バイトの端
数データ、次の○4から○6までは3個の1ワードデー
タ、○7〜○10までは16バイトのブロック転送デー
タ、次の○11は1ワードデータ、最後の○12は1バ
イトの端数データである。
【0048】以下、本発明によるデータ転送時間が従来
のシステムよりどれだけ短縮されるかを示す。図7は本
発明によるモード切り替え転送の説明図であり、(a)
が従来例、(b)が本発明によるものである。(a)の
従来例は図19に示したものと同じである。
【0049】従来例の場合には、バス調停を含んで、端
数データ○1〜○3は1バイトずつの転送、以降の○4
〜○11はワード転送、余りの端数○12は端数データ
転送となっている。これに対して、本発明では、バス調
停を含んで端数○1〜○3は一括転送、次の○4〜○6
はワード転送、○7〜○10はブロック転送、○11は
ワード転送、最後の端数○12は端数転送となる。この
結果、従来例と本願発明との転送に要する時間の短縮量
は、図に示すようにΔT1となる。
【0050】図8は本発明によるモード切り替え転送の
他の説明図である。(a)は従来例によるもの、(b)
は本発明によるものである。(a)の従来例は図20に
示したものと同じである。従来例の場合には、バス調停
を含んで端数データである○1〜○3までの端数につい
ては、端数分の1ワードを読み込んでデータ書き替え操
作を行ない、○1〜○3の一括転送を行なう。次の○4
〜○11まではワード転送を行なう。最後の端数データ
○12については、端数分の1ワードを読み込んでデー
タの書き替えを行ない、データ転送する。(b)に示す
本発明のデータ転送は、図7と同じである。この結果、
従来例と本願発明との転送に要する時間の短縮量は、図
に示すようにΔT2となる。
【0051】図9は本発明によるモード切り替え転送の
他の説明図である。(a)は従来例によるもの、(b)
は本発明によるものである。(a)の従来例は図21に
示したものと同じである。従来例の場合には、バス調停
を含んで端数データである○1〜○3までの端数につい
ては、DMACによりMPUに対して端数通知を出し、
MPUからの端数転送になる。
【0052】MPUは、端数転送を終了したら、DMA
Cに転送完了通知を出す。転送完了通知を受けたDMA
Cは、残りの○4〜○11まではバス調停を含むワード
転送になる。最後の端数の○12については、DMAC
からMPUに端数通知がなされ、MPUがこの端数デー
タを転送する。この結果、従来例と本願発明との転送に
要する時間の短縮量は、図に示すようにΔT3となる。
【0053】(B)2バス間独立転送 上述の実施の形態例では、端数バイト転送及びワード,
ブロック転送について説明した。ここでは、2バス間独
立転送の場合について説明する。図10はバス間独立転
送の説明図である。(a)は従来例を、(b)は本発明
を示す。従来のシステムでは、転送元のバスと転送先の
データを独立に動作させるために2方向バッファGを設
けていた。
【0054】本発明では、2つのバス各々にアドレスバ
スとデータバスを設け、DMAC内部でお互いのバスの
転送状況を監視しながら、2つのバスを独立に動作させ
ることにより、転送先のデータ書き込み処理中に、次の
転送元からのデータ読み取り動作を並行して行わせるこ
とを可能にすることができ、データ転送処理の高速化を
図ることができる。
【0055】また、転送元、転送先で並行処理を行なう
ため、バス直結型のシングルアドレスモードと同程度の
高速転送を可能にする上、DMAC内部に一旦データを
取り込むため、DMAC内部でのデータの並び替えを行
なうことにより、転送元とは異なる任意の転送先アドレ
スにデータを転送することが可能となる。また、メモリ
−メモリ間転送もサポートすることが可能となる。
【0056】従来、2つのバスにまたがる転送を行なう
場合、アドレスバスとデータバスの両方のバスで切り替
えて転送する方式をとっている。図11は2つのバス間
にまたがる従来のデータ転送方式の説明図である。アド
レスバス32本、データバス32本の合計64本のバス
が設けられている。図中第1のハッチングはバスの占有
時間を、第2のハッチングはバス調停時間を示す。
【0057】デバイス4Cのデータ(Aバスのデータ)
をデバイス4D(Bバスのデータ)に転送する場合、D
MAC6は先ずAバスを介してデバイス4Cのデータ
を読み出して、バスの切り替えを行ない、Bバスを介し
てデバイス4Dにデータを書き込む。次に、DMAC
はAバスを介してデバイス4Cのデータを読み出し
て、バスの切り替えを行ない、Bバスを介してデバイス
4Dにデータを書き込む。以上のような操作をデータ
の数だけ行なう。
【0058】従来のシステムでは、このように転送元デ
バイスからのデータを読み出し、その後バスを切り替え
て転送先デバイスに対してデータを書き込む転送を行な
っている。このため、1回のデータ転送に2つのサイク
ル(読み出し1サイクル、書き込み1サイクル)を必要
とし、更にバス権を獲得するためにバス調停サイクルが
入り、即座にバス権が獲得できない場合には、バス権獲
得まで待たされることになり、全体的に図に示すように
非常に長い総転送時間を必要とする。
【0059】図12は2つのバス間にまたがる本発明の
データ転送方式の説明図である。本発明では、アドレス
バスとデータバスを2対持たせ、DMAC10内のバッ
ファにデータを読み込みつつ、同時に書き込み処理を行
なうものである。図より明らかなように、Aバスから1
回のバス調停処理の後、データ〜を連続して読み出
し、一方、Bバスでは1回のバス調停処理の後、Aバス
に若干遅れてデータ〜の書き込みを行なっている。
【0060】このような並行処理により、転送先にデー
タを書き込んでいる最中に次のデータを転送元から読み
出して来ることができ、転送元、転送先共にロスなく連
続的なデータ転送が可能となり、バスを直結させた形の
シングルアドレスモードと同等の転送速度を実現するこ
とができる。また、バス直結型とは異なり、両方のバス
のバス権が両方獲得できるまで待つ必要がなく、転送開
始までのロス時間をなくすことができる。このため、総
転送時間は、図11の従来システムの場合に比較して、
Δtだけ短縮される。
【0061】図13は本発明によるDMAコントローラ
10の一実施の形態例を示す回路図である。図におい
て、12は読み出されたデータの数をカウントする読み
出しカウンタ、13はデータを書き込む毎にカウントす
る書き込みカウンタである。14は読み出しカウンタ1
2の出力と、書き込みカウンタ13の出力とを比較し、
比較結果に応じてデータの読み込み開始と停止及び再開
処理を制御する比較器である。
【0062】15は読み出されたデータを受けるバッフ
ァ、17は読み出されたバッファを保持するデータバッ
ファ、16は該データバッファ17から読み出されたデ
ータを受けるバッファである。データバッファ17は、
比較器14により書き込みと読み出しが制御される。こ
のように構成された回路の動作を説明すれば、以下の通
りである。
【0063】読み込まれたデータがバッファ15を介し
て入力される度に、読み出しカウンタ12は1だけ更新
される。そして、データバッファ17に書き込まれる。
データバッファ17に保持されているデータは、読み出
されるが、この時、書き込みカウンタ13は1だけ更新
される。
【0064】比較器14は、読み出しカウンタ12の出
力と書き込みカウンタ13の出力を比較する。そして、
データバッファ17のフル状態又はエンプティ状態を監
視し、データの読み込み開始、停止及び再開処理を制御
する。つまり、比較器14はデータバッファ17にデー
タがあれば、読み出しを実行させ、空きがあれば書き込
みを実行させる。
【0065】この実施の形態例によれば、2つのバスの
並行処理が可能となり、転送元,転送先共にロスなく連
続的な高速データ転送を実現しつつ、任意の転送開始ア
ドレスからのデータ転送を実現することができる。
【0066】図14は本発明によるデータ並び替え転送
の説明図である。DMAC10において、18は読み込
んだデータの順を並び替えて出力する並び替え手段であ
る。2対のアドレスバスとデータバスを具備すると、ア
ドレスバスが個別にあることになり、2つのアドレスバ
スそれぞれに独立に転送元/転送先アドレス情報を出力
することができる。これにより、アドレスを必要とする
メモリ等のデバイス同士のデータ直接転送が可能とな
る。
【0067】また、並び替え手段18によりDMAC内
部でのデータの並び替えが可能となるため、転送元と転
送先のデータ構成が異なっていても転送することができ
る。即ち、並び替え手段18を用いて読み込んだデータ
とは異なるデータの並びで書き込み側にデータ転送する
ことができる。
【0068】図15は本発明による並び替え手段18の
一実施の形態例を示す回路図である。図において、20
は読み込みデータを切り替える読み込み方路制御部、2
1は書き込みデータを切り替える書き込み方路制御部で
ある。22は32ビット幅のデータを深さ方向にラッチ
する8ビット単位のフリップフロップである。このフリ
ップフロップ22は、読み出しデータを全部保持できる
だけの容量(深さ)が必要である。
【0069】23はバイト単位に設けられた読み込みカ
ウンタ、24はバイト単位に設けられた書き込みカウン
タである。この実施の形態例では、データ幅が32ビッ
ト(4バイト)であるので、それぞれ4個ずつ設けられ
ている。読み込みカウンタ23には転送元開始アドレス
値が初期値して入力され、書き込みカウンタ24には転
送先開始アドレス値が初期値として入力されている。読
み込みデータの並びと書き込みデータの並びは、図14
に示したものと同じであるものとする。
【0070】各読み込みカウンタ23の出力はそれぞれ
対応するフリップフロップ22のライトイネーブル(W
E)に接続され、各書き込みカウンタ24の出力は、そ
れぞれ対応するフリップフロップ22のアウトイネーブ
ル(OE)に接続されている。このように構成された回
路の動作を説明すれば、以下の通りである。
【0071】読み込みデータは、(A,B,C),
(D,E,F,G)の順に読み込み方路制御部20に入
力される。該読み込み方路制御部20は、転送元開始ア
ドレスを受けて入力された4バイトのデータの方路切り
替えを行なう。そして、該読み込み方路制御部20から
は方路の切り替えが行なわれたデータが出力され、読み
込みカウンタ23で指定される番地のフリップフロップ
22に書き込まれる。書き込み動作を繰り返して、全て
の読み込みデータがフリップフロップ22に書き込まれ
る。
【0072】一方、前記フリップフロップ22には、書
き込みカウンタ24の出力も入力されており、これら書
き込みカウンタ24で指定されるフリップフロップ22
の出力が読み出され、書き込み方路制御部21に入る。
該書き込み方路制御部21には、転送先開始アドレスが
入力されており、このアドレスに従ってその方路が切り
替えられる。この結果、先ず最初にデータAのみが読み
出され、次にデータ(B,C,D,E)が読み出され
る。
【0073】このように、この実施の形態例によれば、
並び替え手段を用いて読み込んだデータとは異なるデー
タの並びで書き込み側にデータ転送することができる。
【0074】
【発明の効果】以上、詳細に説明したように、本発明に
よれば、 (1)DMAコントローラとアドレスバス及びデータバ
スが接続され、これらアドレスバス及びデータバスには
少なくともメモリが接続されたDMA転送制御システム
において、前記DMAコントローラは、転送データの状
況に応じて、ブロック転送,ワード転送,端数転送と、
随時最適な転送方法に自動的に切り替え転送を実行する
切り替え手段を具備することにより、切り替え手段が転
送データの状況に応じて、ブロック転送,ワード転送,
端数転送と、随時最適な転送方法に自動的に切り替え転
送を実行することにより、如何なる開始アドレスからも
高速にデータ転送することができる。
【0075】(2)この場合において、前記アドレスバ
ス2とデータバスを2対持たせ、前記DMAコントロー
ラは2つのバスの転送を独立して行なうことにより、2
対のアドレスバスとデータバスを有し、それぞれのバス
の独立転送制御を行なうことにより、書き込みと読み出
しを同時に並行して行なうことができ、データの高速転
送が可能となる。
【0076】(3)また、前記DMAコントローラは、
その内部バッファにデータを読み込みつつ、同時に書き
込み処理を行なうためにデータ書き込み数をカウントす
る書き込みカウンタと、読み出しデータ数をカウントす
る読み出しカウンタを設け、これら書き込みカウンタと
読み出しカウンタの突き合わせ比較により、2つのバス
の転送を並行処理することにより、2つのバスの並行処
理が可能となり、転送元,転送先共にロスなく連続的な
高速データ転送を実現しつつ、任意の転送開始アドレス
からのデータ転送を実現することができる。
【0077】(4)更に、前記DMAコントローラ内
に、読み出しデータを並び替える並び替え手段を設け、
読み込んだ側のデータの並びとは異なるデータの並びで
書き込み側にデータ転送することにより、並び替え手段
を用いて読み込んだデータとは異なるデータの並びで書
き込み側にデータ転送することができる。
【0078】このように、本発明によれば、第1に如何
なる開始アドレスからも高速にデータ転送でき、第2に
書き込みと読み出しを並行して行なうことにより、高速
データ転送を行なうことができるDMA転送制御システ
ムを提供することができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明によるデータ転送の説明図である。
【図3】端数バイト転送及びブロック転送の切り替え制
御動作を示すフローチャートである。
【図4】32ビット(4バイト)メモリのマップを示す
図である。
【図5】32ビット(4バイト)メモリの他のマップを
示す図である。
【図6】本発明による転送データの割り振りを示す図で
ある。
【図7】本発明によるモード切り替え転送の説明図であ
る。
【図8】本発明によるモード切り替え転送の他の説明図
である。
【図9】本発明によるモード切り替え転送の他の説明図
である。
【図10】バス間独立転送の説明図である。
【図11】2つのバス間にまたがる従来のデータ転送方
式の説明図である。
【図12】2つのバスの間にまたがる本発明のデータ転
送方式の説明図である。
【図13】本発明によるDMAコントローラの一実施の
形態例を示す回路図である。
【図14】本発明によるデータ並び替え転送の説明図で
ある。
【図15】本発明による並び替え手段の一実施の形態例
を示す回路図である。
【図16】従来システムの構成例を示すブロック図であ
る。
【図17】従来システムのデータ転送の説明図である。
【図18】転送データの構成例を示す図である。
【図19】従来システムのデータ転送の第1の例を示す
図である。
【図20】従来システムのデータ転送の第2の例を示す
図である。
【図21】従来システムのデータ転送の第3の例を示す
図である。
【図22】従来システムのデータ転送の第4の例を示す
図である。
【図23】従来システムのデータ転送の第5の例を示す
図である。
【符号の説明】
1 MPU 2A アドレスバス 2B アドレスバス 3A データバス 3B データバス 4A メモリ 4B メモリ 5A 入出力装置 5B 入出力装置 10 DMAコントローラ 11 切り替え手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 芝垣 税 福岡県福岡市早良区百道浜2丁目2番1号 富士通九州通信システム株式会社内 (72)発明者 中村 和幸 福岡県福岡市早良区百道浜2丁目2番1号 富士通九州通信システム株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 DMAコントローラとアドレスバス及び
    データバスが接続され、これらアドレスバス及びデータ
    バスには少なくともメモリが接続されたDMA転送制御
    システムにおいて、 前記DMAコントローラは、転送データの状況に応じ
    て、ブロック転送,ワード転送,端数転送と、随時最適
    な転送方法に自動的に切り替え転送を実行する切り替え
    手段を具備することを特徴とするDMA転送制御システ
    ム。
  2. 【請求項2】 前記アドレスバスとデータバスを2対持
    たせ、前記DMAコントローラは2つのバスの転送を独
    立して行なうことを特徴とする請求項1記載のDMA転
    送制御システム。
  3. 【請求項3】 前記DMAコントローラは、その内部バ
    ッファにデータを読み込みつつ、同時に書き込み処理を
    行なうためにデータ書き込み数をカウントする書き込み
    カウンタと、読み出しデータ数をカウントする読み出し
    カウンタを設け、これら書き込みカウンタと読み出しカ
    ウンタの突き合わせ比較により、2つのバスの転送を並
    行処理することを特徴とする請求項2記載のDMA転送
    制御システム。
  4. 【請求項4】 前記DMAコントローラ内に、読み出し
    データを並び替える並び替え手段を設け、読み込んだ側
    のデータの並びとは異なるデータの並びで書き込み側に
    データ転送することを特徴とする請求項2記載のDMA
    転送制御システム。
JP5738097A 1997-03-12 1997-03-12 Dma転送制御システム Pending JPH10254817A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5738097A JPH10254817A (ja) 1997-03-12 1997-03-12 Dma転送制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5738097A JPH10254817A (ja) 1997-03-12 1997-03-12 Dma転送制御システム

Publications (1)

Publication Number Publication Date
JPH10254817A true JPH10254817A (ja) 1998-09-25

Family

ID=13054009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5738097A Pending JPH10254817A (ja) 1997-03-12 1997-03-12 Dma転送制御システム

Country Status (1)

Country Link
JP (1) JPH10254817A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954820B2 (en) 2001-10-01 2005-10-11 Matsushita Electric Industrial Co., Ltd. Bus bridge including first and second memory areas corresponding to first and second buses
WO2009037798A1 (ja) * 2007-09-21 2009-03-26 Mitsubishi Electric Corporation データ転送装置及びデータ転送方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954820B2 (en) 2001-10-01 2005-10-11 Matsushita Electric Industrial Co., Ltd. Bus bridge including first and second memory areas corresponding to first and second buses
US7185137B2 (en) 2001-10-01 2007-02-27 Matsushita Electric Industrial Co., Ltd. Bus bridge with stored controlling relay information
US7360009B2 (en) 2001-10-01 2008-04-15 Matsushita Electric Industrial Co., Ltd. Data transfer apparatus for limiting read data by a bus bridge with relay information
US7516262B2 (en) 2001-10-01 2009-04-07 Panasonic Corporation Data transfer apparatus with control of buses to enable reading of predetermined data sizes
US7685353B2 (en) 2001-10-01 2010-03-23 Panasonic Corporation Data transfer apparatus with control of buses to optimize different size data transfers
WO2009037798A1 (ja) * 2007-09-21 2009-03-26 Mitsubishi Electric Corporation データ転送装置及びデータ転送方法
US8073992B2 (en) 2007-09-21 2011-12-06 Mitsubishi Electric Corporation Data transfer device and data transfer method

Similar Documents

Publication Publication Date Title
US5444853A (en) System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's
US5594877A (en) System for transferring data onto buses having different widths
KR20020015047A (ko) 호스트 시스템과 호스트 어댑터 사이에서 입출력 블록을자동적으로 전송하는 방법과 장치
US20040221075A1 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
US4878173A (en) Controller burst multiplexor channel interface
KR20010013137A (ko) 통신 dma 장치
JP3703532B2 (ja) 多重化アドレスバスを備えたコンピュータシステム
US5754802A (en) Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation
JPH10254817A (ja) Dma転送制御システム
GB2271204A (en) Memory access system
JPH05282242A (ja) バス制御方式
JPS6368957A (ja) 情報処理装置におけるデ−タ転送方式
JPH0736806A (ja) Dma方式
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
EP0568678B1 (en) Device for transmission of data
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JP2594611B2 (ja) Dma転送制御装置
JP3266610B2 (ja) Dma転送方式
JP2710219B2 (ja) Dma制御装置
JP2980163B2 (ja) データ転送方式
JP2000132527A (ja) プロセッサ間通信制御装置
JP2820054B2 (ja) バスインタフェース装置
JPS6145343A (ja) スワツプ制御方式
JPS62212745A (ja) バツフア記憶を有するデ−タ処理装置
JPH0113575B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060811

Effective date: 20060811

Free format text: JAPANESE INTERMEDIATE CODE: A821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070710