JPH06119289A - データ転送装置 - Google Patents

データ転送装置

Info

Publication number
JPH06119289A
JPH06119289A JP29200992A JP29200992A JPH06119289A JP H06119289 A JPH06119289 A JP H06119289A JP 29200992 A JP29200992 A JP 29200992A JP 29200992 A JP29200992 A JP 29200992A JP H06119289 A JPH06119289 A JP H06119289A
Authority
JP
Japan
Prior art keywords
data
register
address
transferred
peripheral device
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
JP29200992A
Other languages
English (en)
Inventor
Toshiya Ishibashi
俊哉 石橋
Yasuyuki Yamamoto
靖之 山本
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP29200992A priority Critical patent/JPH06119289A/ja
Publication of JPH06119289A publication Critical patent/JPH06119289A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 装置の処理能力を向上させる。 【構成】 メインメモリ3に記憶されたデータが少なく
とも1つのブロックに分割され、周辺デバイス4へ転送
される。このとき、転送したデータのアドレスを記憶し
ておき、そのアドレスに基づいて、次に転送するデータ
のスタートアドレスが設定される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばコンピュータシ
ステムなどに用いて好適なデータ転送装置に関する。
【0002】
【従来の技術】従来のコンピュータシステムにおいて
は、そのメインメモリから周辺デバイス(例えば画像処
理ボードや音声処理ボード)へのデータの転送は、CP
U(中央演算処理装置)を介して行われるようになって
いる。
【0003】即ち、例えば図5(a)に示すコンピュー
タシステムにおいては、そのメインメモリ3から周辺デ
バイス4へデータを転送する場合、CPU1は、リード
命令を受け取り、その解読を行う。そして、メインメモ
リ3に制御信号としてのリード信号を出力する。CPU
1よりメインメモリ3にリード信号が出力されると、メ
インメモリ3からデータが読み出され、CPU1の内蔵
するレジスタ1aに転送される。
【0004】レジスタ1aに転送されたデータは、そこ
で一時記憶され、CPU1から周辺デバイス4に制御信
号としてのライト信号が出力される。CPU1より周辺
デバイス4にライト信号が出力されると、レジスタ1a
に記憶されたデータがそこから読み出され、周辺デバイ
ス4に転送される。
【0005】なお、図中、太い矢印はデータの流れを示
し、細い矢印は制御信号を示す。
【0006】以上のように、このコンピュータシステム
においては、リード命令の受け取り→リード命令の解読
→メインメモリ3からのデータの読み出し→周辺デバイ
ス4へのデータの転送という4つのステップ(図5
(b))を1サイクルとして、メインメモリ3からCP
U1を介して周辺デバイス4へのデータの転送が行われ
るようになっている。
【0007】従って、データの転送に時間がかかる課題
があった。
【0008】そこで、メインメモリ3から周辺デバイス
4へのデータの転送を、CPU1を介さずに行うDMA
(Direct Memory Access)と呼ばれるデータ転送方式が
ある。DMAによりデータの転送を行うコンピュータシ
ステムにおいては、図6(a)に示すように、CPU1
に制御されるDMAコントローラ31がCPU1に代わ
って、メインメモリ3にリード信号を出力すると、メイ
ンメモリ3からデータが読み出される。さらに、DMA
コントローラ31がCPU1に代わって、周辺デバイス
4にライト信号を出力すると、メインメモリ3から読み
出されたデータが、CPU1を介さず、直接、周辺デバ
イス4に転送される。
【0009】従って、メインメモリ3からのデータの読
み出し→周辺デバイス4へのデータの転送という2つの
ステップ(図6(b))を1サイクルとして、メインメ
モリ3から周辺デバイス4へのデータの転送が行われる
ようになっているので、図5(a)における場合に比較
して、より短時間でデータを転送することができる。
【0010】さらに、この場合、CPU1はデータの転
送処理にほとんど関わる必要がないので、CPU1は他
の処理を行うことができ、従って装置の処理能力を向上
させることができる。
【0011】
【発明が解決しようとする課題】ところで、図6(a)
に示すようなDMAによるデータの転送を行うコンピュ
ータシステムでは、メインメモリ3から転送されたデー
タが、周辺デバイス4の内蔵するデータバッファ(図示
せず)に一時記憶されるようになっている。従って、周
辺デバイス4の内蔵するデータバッファの記憶容量が小
さい場合、大量のデータを転送することが困難であっ
た。
【0012】そこで、このような周辺デバイス4へ、メ
インメモリ3に記憶されているデータを転送する場合、
転送するデータが記憶されたメインメモリ3の領域をブ
ロックに分割し、即ちデータをブロックに分割し、各ブ
ロックごとにデータを転送する方法が考えられる。
【0013】しかしながら、DMAによりデータの転送
を行う場合、メインメモリ3に記憶されている、転送す
るデータの先頭アドレス(スタートアドレス)を、DM
Aコントローラ31に設定する必要があり、これはCP
U1により行われる。従って、上述した方法では、転送
するデータ量が多く、またそれをブロックに分割する分
割数が増加すると、CPU1がDMAコントローラ31
に設定する情報としてのスタートアドレスの数(データ
量)(ブロック数に対応する)も増加する。
【0014】よって、CPU1がデータの転送に関わる
時間が増加し、装置の処理能力が低下する課題があっ
た。
【0015】本発明は、このような状況に鑑みてなされ
たものであり、装置の処理能力を向上させるものであ
る。
【0016】
【課題を解決するための手段】請求項1に記載のデータ
転送装置は、中央演算処理装置を介さずに、例えばメイ
ンメモリ3などの任意の装置から、例えば周辺デバイス
4などの他の装置へのデータの転送を制御するデータ転
送装置において、メインメモリ3から周辺デバイス4へ
転送するデータのアドレスを記憶する記憶手段としての
アドレスレジスタ16を備え、メインメモリ3から周辺
デバイス4へのデータの転送が終了したときにアドレス
レジスタ16に記憶されているアドレスに基づいて、次
に転送するデータのスタートアドレスを設定することを
特徴とする。
【0017】請求項2に記載のデータ転送装置は、デー
タは、少なくとも1つのブロックに分割され、ブロック
ごとに転送され、ブロックに分割されたデータすべての
転送が終了したときに、中央演算処理装置に割り込みを
要求することができることを特徴とする。
【0018】請求項3に記載のデータ転送装置は、ブロ
ックの転送回数を設定する設定手段としての回数レジス
タ13をさらに備えることを特徴とする。
【0019】
【作用】上記構成のデータ転送装置においては、メイン
メモリ3に記憶されたデータを少なくとも1つのブロッ
クに分割し、周辺デバイス4へ転送する。このとき、転
送したデータのアドレスを記憶しておき、そのアドレス
に基づいて、次に転送するデータのスタートアドレスを
設定する。従って、データを転送するたびに、中央演算
処理装置がスタートアドレスを設定する必要がないの
で、その処理能力を向上させることができる。
【0020】
【実施例】図1は、本発明のデータ転送装置を応用した
コンピュータシステムの一実施例の構成を示すブロック
図である。図中、図5または図6における場合と対応す
る部分については、同一の符号を付してある。バスI/
F(バスインターフェイス)2は、CPU1へのデータ
または制御信号の入出力をCPU1に代わって制御す
る。DMAコントローラ5は、例えば図2に示すように
構成される。
【0021】即ち、データバスバッファ11は、メイン
バスのデータバス(図1)に入出力するデータを一時記
憶する。アドレスバスバッファ12は、メインバスのア
ドレスバス(図1)に入出力するアドレスを一時記憶す
る。
【0022】回数レジスタ13は、例えば8ビットのレ
ジスタで、そこには、メインメモリ3上でブロックに分
割されたデータを転送するDMAの回数がセットされ
る。即ち、回数レジスタ13には、転送するデータのブ
ロックの数がセットされる。
【0023】転送量レジスタ14は、例えば8ビットの
レジスタで、そこには、1ブロック分のデータを転送す
るためのDMAの繰り返し回数がセットされる。
【0024】即ち、例えばメインメモリ3におけるデー
タの語長がワード(32ビット)で、周辺デバイス4で
取り扱われるデータの語長がバイト(8ビット)であ
り、また周辺デバイス4が、1回の転送で受け取ること
のできるデータの量に基づいて、データを、例えば16
バイト(128ビット=8ビット×16)単位のブロッ
クに分割するとした場合、メインメモリ3から、ワード
単位でデータを読み出し、周辺デバイス4へ転送するD
MAの動作を4回だけ繰り返せば、1ブロック分、即ち
16バイト(=ワード(4バイト)×4回)のデータが
転送されることになる。従って、この場合、転送量レジ
スタ14には、1ブロック分のデータを転送するための
DMAの繰り返し回数としての4回がセットされる。
【0025】さらに、例えばメインメモリ3におけるデ
ータの語長がバイト(8ビット)で、周辺デバイス4で
取り扱われるデータの語長がワード(32ビット)であ
り、またデータが、上述した場合と同様に、16バイト
(128ビット=8ビット×16)単位のブロックに分
割されるものとすると、メインメモリ3から、バイト単
位でデータを4回読み出し、即ちデータを1ワード分読
み出し、周辺デバイス4へ転送するDMAの動作を4回
だけ繰り返せば、1ブロック分、即ち16バイトのデー
タが転送されることになる。従って、この場合において
も、転送量レジスタ14には、1ブロック分のデータを
転送するためのDMAの繰り返し回数としての4回がセ
ットされることになる。
【0026】つまり、転送量レジスタ14には、メイン
メモリ3におけるデータの語長、および周辺デバイス4
で取り扱われるデータの語長のうちの、いずれか大きい
方の値で、1ブロック分のデータ量を割った値がセット
される。
【0027】なお、上述したことから、転送量レジスタ
14にセットされた値と、メインメモリ3におけるデー
タの語長、および周辺デバイス4で取り扱われるデータ
の語長のうちの、いずれか大きい方の値とを乗算すれ
ば、1ブロックの大きさ(データ量)を求めることがで
きる。よって、メインメモリ3におけるデータの語長、
および周辺デバイス4で取り扱われるデータの語長は、
いずれも装置の設計段階で決まるものであるから、1ブ
ロックの大きさ(データ量)が、転送量レジスタ14に
セットされる値に基づいて決定されると考えることがで
きる。
【0028】DMA制御回路15は、内部制御バスを介
して、DMAコントローラ5を構成する各ブロックを監
視するとともに制御する。さらに、DMA制御回路15
は、周辺デバイス4(図1)からの、DMAの要求(D
MAリクエスト)(DMAReq)を受け(DMAリク
エスト信号を受信し)、コンピュータシステム(図1)
がDMAによるデータの転送をすることができる状態で
あれば、DMAの要求を出力した周辺デバイス4に、D
MAの許可(Ack)を与える(許可信号を出力す
る)。
【0029】アドレスレジスタ16は、例えば32ビッ
トのレジスタで、そこには、DMAにより転送されるデ
ータのブロックのアドレスがセットされる。なお、この
アドレスレジスタ16は、DMAによるデータの転送が
終了してもリセットされず、そのまま値を記憶(保持)
するようにすることができるようになっている(後
述)。
【0030】スタートアドレスレジスタ17は、例えば
32ビットのレジスタで、そこには、DMAにより転送
するデータのアドレスがあらかじめセットされている。
なお、スタートアドレスレジスタ17の記憶値は、CP
U1の制御により必要に応じて変更することができるよ
うになっている。
【0031】コントロールレジスタ18は、装置の動作
上必要な情報がセットされる、次に示すレジスタから構
成される。
【0032】アドレスINC/DECレジスタ・・・D
MAによるデータ転送中に、アドレスレジスタ16にセ
ットされるアドレスを増加(INC)/減少(DEC)
させることを設定するレジスタ。
【0033】DIRレジスタ・・・データの転送方向
を、メインメモリ3→周辺デバイス4/周辺デバイス4
→メインメモリ3に設定するレジスタ。
【0034】メモリ語長レジスタ・・・メインメモリ3
におけるデータの語長がセットされるレジスタ。なお、
このメモリ語長レジスタには、例えばバイト(8ビッ
ト)、ハーフワード(16ビット)、ワード(32ビッ
ト)のいずれかをセットすることができるようになって
いる。そして、本実施例においては、メインメモリ3に
おけるデータの語長が、例えば32ビットになってお
り、従ってメモリ語長レジスタには、ワードがあらかじ
めセットされている。
【0035】I/O語長レジスタ・・・周辺デバイス4
で取り扱われるデータの語長がセットされるレジスタ。
このI/O語長レジスタにおいても、メモリ語長レジス
タと同様に、バイト(8ビット)、ハーフワード(16
ビット)、ワード(32ビット)のいずれかをセットす
ることができるようになっている。そして、本実施例に
おいては、周辺デバイス4で取り扱われるデータの語長
が、例えばバイトになっており、従ってI/O語長レジ
スタには、バイトがあらかじめセットされている。
【0036】IRQENレジスタ・・・DMAによるデ
ータ(ブロック分割されたデータおよびブロック分割さ
れていないデータの両方を含む)の転送を終了した後
の、IRQ制御回路21のIRQ信号の出力の許可/禁
止を設定するレジスタ。
【0037】DMAENレジスタ・・・DMAコントロ
ーラ5の起動/停止を設定するレジスタ。
【0038】CHCLRレジスタ・・・転送するデータ
のブロックの初期化をする場合には、0および1のうち
の、例えば1がセットされるレジスタ。なお、通常時に
は、0および1のうちの、例えば0がセットされる。
【0039】BDMAENレジスタ・・・ブロック単位
でのデータの転送の許可/禁止を設定するレジスタ。
【0040】BIRQENレジスタ・・・ブロック分割
されたデータの、最後のブロックを転送した後の、IR
Q制御回路21のIRQ信号の出力の許可/禁止を設定
するレジスタ。なお、このBIRQENレジスタの設定
は、BDMAENレジスタに、ブロック単位でのデータ
の転送の許可が設定されている場合のみ有効になる。ま
た、IRQENレジスタの設定値には依存しない。
【0041】BFSADDENレジスタ・・・ブロック
分割されたデータの、最後のブロックを転送した後に、
スタートアドレスレジスタ17に記憶されているアドレ
スを、アドレスレジスタ16にセットすることを許可/
禁止することを設定するレジスタ。但し、CHCLRレ
ジスタに初期化モードがセットされ、DMAコントロー
ラ5が初期化された後、初めてDMAENレジスタに、
DMAコントローラ5の起動の設定が行われた場合、即
ちDMAコントローラ5が起動された場合、BFSAD
DENレジスタの設定値に関わらず、アドレスレジスタ
16には、スタートアドレスレジスタ17に記憶されて
いるアドレスがセットされる。
【0042】なお、上述したレジスタの説明で、例えば
許可/禁止などのように、○/×と記載した部分におい
て、○側を意味する場合には、0および1のうちの、例
えば1がレジスタにセットされるようになっており、ま
た、×側を意味する場合には、0および1のうちの、例
えば0がレジスタにセットされるようになっている。
【0043】周辺アドレスレジスタ19は、例えば32
ビットのレジスタで、そこには、DMAの対象となる周
辺デバイス(図1においては、周辺デバイス4)の内蔵
するバッファに割り当てられたアドレスがセットされ
る。
【0044】タイミング制御回路20は、例えばタイマ
IC(図示せず)などより供給されるクロックから所定
の同期信号を生成し、内部制御バスを介して、DMAコ
ントローラ5を構成する各ブロックに供給する。IRQ
(割り込み要求)制御回路21は、DMAコントローラ
5が所定の状態になったとき、バスI/F2を介し、C
PU1(図1)に対して割り込み要求を出す(割り込み
要求信号(IRQ信号)を出力する)。
【0045】バス制御回路22は、内部制御バスを制御
する他、DMA制御回路15で周辺デバイス4からのD
MAリクエスト信号が受信されると、メインバス(デー
タバス、アドレスバス、リード線、およびライト線のす
べて)をDMAによるデータの転送で使用することがで
きるように、バスI/F2を介し、CPU1(図1)に
対してバスリクエスト(Bus Req)を出す(バス
リクエスト信号を出力する)。そして、メインバスが空
くと(未使用状態になると)、CPU1が、メインバス
が空いたことを示す許可(Ack)信号を出力するの
で、バス制御回路22は、バスI/F2を介してこれを
受信し、内部制御バスを介して、DMA制御回路15に
メインバスが空いたことを知らせる。
【0046】さらに、バス制御回路22は、CPU1よ
りバスI/F2を介してメインバス(データバス、アド
レスバス、リード線、およびライト線)が空いたことが
知らされると、CPU1に代わって、リード線およびラ
イト線(メインバス)を制御する(リード信号およびラ
イト信号を出力するようになる)。
【0047】次に、その動作について説明する。例えば
メインメモリ3のアドレス10000000H乃至10
0000FFHに記憶されている256バイトのデータ
を、16バイトを1ブロックとして16ブロックに分割
し、下位アドレスに記憶されたデータから、DMAによ
り周辺デバイス4に転送する場合、まずCPU1におい
て、バスI/F2およびメインバスのデータバスを介し
て、DMAコントローラ5の回数レジスタ13、転送量
レジスタ14、アドレスレジスタ16、スタートアドレ
スレジスタ17、コントロールレジスタ18、または周
辺アドレスレジスタ19の設定がそれぞれ行われる。
【0048】ここで、本明細書中において、下位アドレ
スとは、値の小さいアドレスを意味する。
【0049】即ち、16のブロックのデータは、16回
のDMAにより転送することができるので、回数レジス
タ13には、メインメモリ3上でブロックに分割された
データを転送するDMAの回数としての16がセットさ
れる。
【0050】さらに、上述したように、メインメモリ3
におけるデータの語長がワード(32ビット)で、周辺
デバイス4で取り扱われるデータの語長がバイト(8ビ
ット)であり、またデータが、16バイト(128ビッ
ト=8ビット×16)単位のブロックに分割されるの
で、転送量レジスタ14には、メインメモリ3における
データの語長(ワード)、および周辺デバイス4で取り
扱われるデータの語長(バイト)のうちの大きい方の語
長(ワード)で、1ブロック分のデータ量(16バイト
=4ワード)を割った値としての4がセットされる。
【0051】スタートアドレスレジスタ17には、DM
Aによるデータの転送を開始するときのデータのアドレ
スとしてのメインメモリ3上のアドレス1000000
0Hがセットされ、周辺アドレスレジスタ19には、D
MAによるデータの転送先となる周辺デバイス4の内蔵
するバッファ(図示せず)のアドレスとしての、例えば
20000000Hがセットされる。
【0052】コントロールレジスタ18においては、ま
ずDMAENレジスタに0がセットされ、DMAコント
ローラ5の動作が停止されるとともに、CHCLRレジ
スタに0→1→0が順次セットされ、転送するデータの
ブロックの初期化が行われる。さらに、アドレスINC
/DECレジスタに1がセットされ、DMAによるデー
タ転送中に、アドレスレジスタ16にセットされたアド
レスが増加(INC)されるように設定されるととも
に、DIRレジスタに1がセットされ、データの転送方
向が、メインメモリ3→周辺デバイス4に設定される。
【0053】また、IRQENレジスタに0がセットさ
れ、DMAによるデータの転送を終了した後の、IRQ
制御回路21のIRQ信号の出力が禁止されるととも
に、BDMAENレジスタに1がセットされ、ブロック
単位でデータを転送するように設定される。同時に、B
IRQENレジスタに1がセットされ、ブロック分割さ
れたデータの、最後のブロックを転送した後の、IRQ
制御回路21のIRQ信号の出力が許可されるととも
に、BFSADDENレジスタに0がセットされ、ブロ
ック分割されたデータの、最後のブロックを転送した後
に、スタートアドレスレジスタ17に記憶されているア
ドレスを、アドレスレジスタ16にセットすることが禁
止される。
【0054】以上のように、回数レジスタ13、転送量
レジスタ14、アドレスレジスタ16、スタートアドレ
スレジスタ17、コントロールレジスタ18、または周
辺アドレスレジスタ19の設定がそれぞれ行われた後、
CPU1において、DMAコントローラ5におけるコン
トロールレジスタのうちの、DMAENレジスタに1が
セットされ、DMAコントローラ5が起動される。
【0055】そして、周辺デバイス4よりDMAリクエ
スト信号(図3(a))が出力され、それが、DMA制
御回路15に入力されると、バス制御回路22から、メ
インバス(データバス、アドレスバス、リード線、およ
びライト線)をDMAによるデータの転送で使用するこ
とができるように、バスI/F2を介し、CPU1(図
1)にバスリクエスト信号(図3(b))が出力され
る。その後、メインバスが空くと(未使用状態になる
と)、CPU1より、メインバスが空いたことを示す許
可(Ack)信号(図3(c))が出力され、それが、
バス制御回路22で受信される。バス制御回路22にお
いて、CPU1からの許可(Ack)信号が受信される
と、内部制御バスを介して、DMA制御回路15にメイ
ンバスが空いたことが知らされる。
【0056】DMA制御回路15において、メインバス
が空いたことが判ると、周辺デバイス4にDMAによる
データの転送を許可することを示す許可(Ack)信号
(図3(D))が出力され、メインメモリ3から周辺デ
バイス4への、DMAによるデータの転送が開始され
る。
【0057】即ち、まずスタートアドレスレジスタ17
の記憶値10000000Hが、アドレスレジスタ16
にセットされ、アドレスバスバッファ12、およびメイ
ンバス(アドレスバス)を介してメインメモリ3に供給
される。
【0058】そして、メインメモリ3におけるデータの
語長がワードであることから、メインメモリ3のアドレ
ス10000000Hから順次1ワードのデータが読み
出され、即ちメインメモリ3の任意の1アドレスに記憶
されている(記憶することのできる)データ長が、例え
ば1バイト(バイト)であるとすると、メインメモリ3
のアドレス10000000H乃至10000003H
に、それぞれ1バイトずつ記憶されているデータが読み
出され、合計4バイト(1ワード)(32ビット)のデ
ータが、32ビットのメインバス(データバス)を介し
てDMAコントローラ5のデータバスバッファ11に供
給されて記憶される。
【0059】32ビットのデータバスバッファ11の下
位ビット乃至上位ビットを、D0乃至D31と表すと、
周辺デバイス4で取り扱われるデータの語長がバイトで
あることから、まずデータバスバッファ11におけるビ
ットD0乃至D7のデータが、周辺アドレスレジスタ1
9にセットされた、周辺デバイス4の内蔵するバッファ
のアドレス20000000Hに転送され、その後さら
に、D8乃至D15のデータが周辺デバイス4の内蔵す
るバッファのアドレス20000000Hに転送され
る。以下同様にして、D16乃至D23のデータ、また
はD24乃至D31のデータが、周辺デバイス4の内蔵
するバッファのアドレス20000000Hに順次転送
される。
【0060】次に、アドレスレジスタ16が、メインメ
モリ3におけるデータの語長(32ビット)を、メイン
メモリ3の任意の1アドレスに記憶されている(記憶す
ることのできる)データ量としてのバイト(8ビット)
で除算した値、即ち4だけインクリメントされ、その記
憶値が10000004Hとされる。
【0061】そして、アドレスレジスタ16に記憶され
た、メインメモリ3上のアドレス10000004Hか
ら、上述した場合と同様にして1ワードのデータが周辺
デバイス4に転送される。
【0062】以下、上述の動作が合計、転送量レジスタ
14の記憶値、即ち4回だけ繰り返され、メインメモリ
3上のアドレス10000000H乃至1000000
FHに記憶された1ブロック分(16バイト)のデータ
(図4において、ブロックB1で示す部分)が、周辺デ
バイス4に転送され、DMAによるデータの転送処理を
終了する。
【0063】ここで、前述したように、IRQENレジ
スタに0がセットされ、DMAによるデータの転送を終
了した後の、IRQ制御回路21のIRQ信号の出力が
禁止されているので、ブロックB1(図4)のデータの
転送が終了しても、IRQ制御回路21よりCPU1に
IRQ信号は出力されない。
【0064】また、アドレスレジスタ16には、ブロッ
クB1(図4)のアドレス10000000C乃至10
00000FHに記憶された1ワードのデータが転送さ
れるときにセットされた値(アドレス)1000000
CHがそのまま記憶されている。
【0065】そして、周辺デバイス4より再びDMAリ
クエスト信号が出力されると、上述した場合と同様にし
て、DMA制御回路15から、周辺デバイス4にDMA
によるデータの転送を許可することを示す許可(Ac
k)信号が出力され、メインメモリ3から周辺デバイス
4への、DMAによるデータの転送が開始される。
【0066】この場合、まず、前のDMA処理が終了し
たときの、アドレスレジスタ16の記憶値が、上述した
ときと同様に、メインメモリ3におけるデータの語長
(32ビット)を、バイト(8ビット)で除算した値と
しての4だけインクリメントされる。
【0067】即ち、アドレスレジスタ16の記憶値(ア
ドレス)が、1000000CHから4だけインクリメ
ントされ、10000010Hとされる。
【0068】そして、このアドレスレジスタ16の記憶
値(アドレス)10000010Hをスタートアドレス
として、メインメモリ3から周辺デバイス4へのデータ
の転送が開始される。
【0069】つまり、図4に示すブロックB1のデータ
を転送した場合と同様にして、ブロックB2のデータが
転送される。
【0070】以下同様にして、周辺デバイス4よりDM
Aリクエスト信号が出力されるたびに、DMAによるデ
ータの転送が行われる。
【0071】そして、回数レジスタ13の記憶値の回数
(16回)だけ、周辺デバイス4よりDMAリクエスト
信号が出力され、最後のブロックB16(図4)のデータ
の転送が終了すると、BIRQENレジスタに1がセッ
トされ、ブロック分割されたデータの、最後のブロック
を転送した後の、IRQ制御回路21のIRQ信号の出
力が許可されているので、IRQ制御回路21よりCP
U1にIRQ信号(図3(e))が出力され、メインメ
モリ3のアドレス10000000H乃至100000
FFHに記憶されている256バイトのデータすべて
の、周辺デバイス4への転送が終了したことが知らされ
る。
【0072】以上のように、例えば周辺デバイス4の内
蔵するバッファの記憶容量が小さく、1回で大量のデー
タを転送することができない場合、そのデータを小さな
ブロックに分割して転送するようにし、さらに転送した
データのアドレスを記憶しておき、そのアドレスに基づ
いて、次に転送するデータのスタートアドレスを設定す
るようにしたので、データを転送するたびに、CPU1
がスタートアドレスを設定する必要がなく、装置の処理
能力を向上させることができる。即ち、CPU1がデー
タの転送に関わる時間が減少するので、CPU1に他の
処理を行わせるようにすることができる。
【0073】以上、本発明のデータ転送装置をコンピュ
ータシステムに適用した場合について説明したが、本発
明は、コンピュータシステムだけでなく、装置(回路)
間で、データを転送するあらゆるシステム(装置)に適
用することができる。
【0074】なお、本実施例においては、本来ならば1
回で転送する256バイトのデータを、1ブロックが1
6バイトのブロックに分割して転送するようにしたが、
例えば周辺デバイス4の内蔵するバッファの記憶容量が
十分大きければ、コントロールレジスタ18におけるB
DMAENレジスタを0にセットし、ブロック単位での
データの転送を禁止して、1回で256バイトのデータ
を転送するようにすることができる。
【0075】さらに、本実施例では、IRQENレジス
タに0をセットし、DMAによるデータの転送を終了し
た後の、IRQ制御回路21のIRQ信号の出力を禁止
するようにしたが、IRQENレジスタに1をセット
し、ブロックごとのデータの転送が終了するたびに、I
RQ制御回路21よりIRQ信号を出力させるようにす
ることができる。
【0076】また、本実施例においては、BFSADD
ENレジスタに0をセットし、ブロック分割されたデー
タの、最後のブロックB16(図4)を転送した後に、ス
タートアドレスレジスタ17に記憶されているアドレス
を、アドレスレジスタ16にセットすることを禁止する
ようにしたので、最後のブロックB16(図4)を転送し
た後、アドレスレジスタ16は、アドレス100000
FCHを記憶したままになる。従って、さらに周辺デバ
イス4よりDMAリクエスト信号が出力されると、アド
レスレジスタ16の記憶値(アドレス100000FC
H)が、上述したように4だけインクリメントされ、こ
れにより、メインメモリ4上のアドレス1000010
0H以下に記憶されたデータが、ブロックごとに転送さ
れることになる。
【0077】さらに、BFSADDENレジスタに1を
セットし、ブロック分割されたデータの、最後のブロッ
クB16(図4)を転送した後に、スタートアドレスレジ
スタ17に記憶されているアドレスを、アドレスレジス
タ16にセットすることを許可するようにすれば、最後
のブロックB16(図4)を転送した後、スタートアドレ
スレジスタ17に記憶されているアドレス100000
00Hを、アドレスレジスタ16にセットするようにす
ることができる。従って、この場合、さらに周辺デバイ
ス4よりDMAリクエスト信号が出力されると、アドレ
スレジスタ16にセットされたアドレス1000000
0H以下に記憶されたデータ(ブロックB1乃至B16
データ)が、再び転送されることになる。
【0078】また、本実施例では、説明を簡単にするた
めに、メインメモリ3と、周辺デバイス4との間のデー
タ転送について説明したが、例えばメインメモリ3と、
他の周辺デバイスとの間や、周辺デバイスどうしの間に
おいても、同様にしてデータ転送をするようにすること
ができる。
【0079】
【発明の効果】以上のように、本発明のデータ転送装置
によれば、任意の装置に記憶されたデータを少なくとも
1つのブロックに分割し、他の装置へ転送する。このと
き、転送したデータのアドレスを記憶しておき、そのア
ドレスに基づいて、次に転送するデータのスタートアド
レスを設定する。従って、データを転送するたびに、中
央演算処理装置がスタートアドレスを設定する必要がな
いので、その処理能力を向上させることができる。
【図面の簡単な説明】
【図1】本発明のデータ転送装置を応用したコンピュー
タシステムの一実施例の構成を示すブロック図である。
【図2】図1の実施例のDMAコントローラ5のより詳
細なブロック図である。
【図3】図1の実施例の動作を説明するためのタイミン
グチャートである。
【図4】図1の実施例のメインメモリ3および周辺デバ
イス4の内蔵するバッファのメモリマップである。
【図5】従来のコンピュータシステムの一例の構成を示
すブロック図である。
【図6】従来の、DMAによるデータの転送を行うコン
ピュータシステムの一例の構成を示すブロック図であ
る。
【符号の説明】
1 CPU 1a レジスタ 2 バスI/F 3 メインメモリ 4 周辺デバイス 5 DMAコントローラ 11 データバスバッファ 12 アドレスバスバッファ 13 回数レジスタ 14 転送量レジスタ 15 DMA制御回路 16 アドレスレジスタ 17 スタートアドレスレジスタ 18 コントロールレジスタ 19 周辺アドレスレジスタ 20 タイミング制御回路 21 IRQ制御回路 22 バス制御回路 31 DMAコントローラ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 中央演算処理装置を介さずに任意の装置
    から他の装置へのデータの転送を制御するデータ転送装
    置において、 前記任意の装置から前記他の装置へ転送するデータのア
    ドレスを記憶する記憶手段を備え、 前記任意の装置から前記他の装置へのデータの転送が終
    了したときに前記記憶手段に記憶されているアドレスに
    基づいて、次に転送するデータのスタートアドレスを設
    定することを特徴とするデータ転送装置。
  2. 【請求項2】 前記データは、少なくとも1つのブロッ
    クに分割され、前記ブロックごとに転送され、 前記ブロックに分割されたデータすべての転送が終了し
    たときに、前記中央演算処理装置に割り込みを要求する
    ことができることを特徴とする請求項1に記載のデータ
    転送装置。
  3. 【請求項3】 前記ブロックの転送回数を設定する設定
    手段をさらに備えることを特徴とする請求項2に記載の
    データ転送装置。
JP29200992A 1992-10-06 1992-10-06 データ転送装置 Pending JPH06119289A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29200992A JPH06119289A (ja) 1992-10-06 1992-10-06 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29200992A JPH06119289A (ja) 1992-10-06 1992-10-06 データ転送装置

Publications (1)

Publication Number Publication Date
JPH06119289A true JPH06119289A (ja) 1994-04-28

Family

ID=17776351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29200992A Pending JPH06119289A (ja) 1992-10-06 1992-10-06 データ転送装置

Country Status (1)

Country Link
JP (1) JPH06119289A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073527A (ja) * 2000-08-25 2002-03-12 Rohm Co Ltd Dmaコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073527A (ja) * 2000-08-25 2002-03-12 Rohm Co Ltd Dmaコントローラ

Similar Documents

Publication Publication Date Title
US5805927A (en) Direct memory access channel architecture and method for reception of network information
US5655151A (en) DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer
US5613162A (en) Method and apparatus for performing efficient direct memory access data transfers
KR100615659B1 (ko) 다수의 가상 직접 메모리 액세스 채널들을 지원하기 위한 직접 메모리 액세스 엔진
US7165126B2 (en) Direct memory access device
EP0464848B1 (en) Structure for enabling direct memory-to-memory transfer
US5689659A (en) Method and apparatus for bursting operand transfers during dynamic bus sizing
JPH07129537A (ja) 半導体集積回路装置
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
EP0331487B1 (en) Data transfer control system
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
CN1258362A (zh) 通信dma装置
US6938118B1 (en) Controlling access to a primary memory
JPH06119289A (ja) データ転送装置
JP2723970B2 (ja) データ転送制御装置
US5551052A (en) Data bus protocol for high speed chip to chip data transfer
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JPH06131294A (ja) データ転送装置
JP3270149B2 (ja) データ転送装置
JP3936694B2 (ja) 半導体集積回路装置および半導体集積回路装置のデータ転送方法
JP2826780B2 (ja) データ転送方法
JPH1011388A (ja) ダイレクトメモリアクセス制御装置
JPH0736806A (ja) Dma方式
JP2003150534A (ja) チェインブロック転送方法及び通信制御装置