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

データ転送装置

Info

Publication number
JPH0644183A
JPH0644183A JP19500192A JP19500192A JPH0644183A JP H0644183 A JPH0644183 A JP H0644183A JP 19500192 A JP19500192 A JP 19500192A JP 19500192 A JP19500192 A JP 19500192A JP H0644183 A JPH0644183 A JP H0644183A
Authority
JP
Japan
Prior art keywords
data
transfer
dma
data transfer
bus
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
JP19500192A
Other languages
English (en)
Inventor
Katsuyoshi Sekine
勝義 関根
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.)
Fuji Facom Corp
Original Assignee
Fuji Facom 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 Fuji Facom Corp filed Critical Fuji Facom Corp
Priority to JP19500192A priority Critical patent/JPH0644183A/ja
Publication of JPH0644183A publication Critical patent/JPH0644183A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】 データ転送のサイクルを少なくする。 【構成】 データ送信手段1がメモリ2にバスを介して
データを転送する場合、DMAコントローラ4はこのデ
ータ転送を制御する。データ受信手段3は、データ転送
手段1がDMAコントローラ4からのDMA許可を受け
ており、CPU15からこのデータ転送手段1のデータを
受信することを許可されている場合、データバス6上の
データを受信する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、周辺装置間のDMAデ
ータ転送を行うデータ転送装置に関する。
【0002】
【従来の技術】大量のデータをCPUで処理するだけで
なく、周辺デバイスでも処理するようなシステム、例え
ば、大量のデータを連続的に収集し、そのデータをディ
スクに格納したり、処理して結果をリアルタイムに表示
するというようなシステムにおいては、CPUの処理が
多いため、特定のデータ処理を周辺デバイスに行わせる
分散処理が行われる。例えば、CPUがある処理を実施
中、並行してA/D変換器でアナログデータをデジタル
データに変換する。このようなシステムにおいては、周
辺デバイスとのデータ転送を主記憶との間で行うだけで
なく、そのデータを再度他の周辺デバイスに転送するこ
とが行われる。以下、データ転送の方式について従来行
われている方法を説明する。
【0003】周辺装置からのデータを他の周辺装置に転
送する場合、主記憶に一旦格納し、主記憶より目的の周
辺装置へ転送される。図6はCPUの命令を使って周辺
デバイスからのデータをメモリに転送する場合のデータ
転送経路とタイミングチャートを示す。
【0004】図6(a)において、リクエスタはデータ
転送を行う周辺デバイスであり、ターゲットは転送デー
タを格納する主記憶である。リクエスタからのデータは
CPU内のレジスタに読み込まれ、次にこのレジスタの
データがターゲットに書き込まれる。(b)はタイミン
グチャートを示し、まずリクエスタからCPU内のレジ
スタに読み込む周辺リードサイクルと、次にこのレジス
タのデータをターゲットに書き込むメモリライトサイク
ルの2つのサイクルが必要となる。このターゲット内の
データを他の周辺デバイスへ転送する場合は、この逆
で、まずメモリ内のデータをCPUのレジスタに読み込
むメモリリードサイクルと、このレジスタ内のデータを
他の周辺デバイスに書き込む周辺ライトサイクルの2つ
のサイクルが必要となり、ある周辺デバイスから他の周
辺デバイスへデータ転送する場合は合計4サイクルが必
要となる。
【0005】図7は図6と同じデータ転送をシングルア
ドレスモードDMAによって転送する場合のデータ転送
経路とタイミングチャートである。DMA転送の場合、
(a)に示すようにDMAコントローラによってデータ
転送を希望する周辺デバイスであるリクエスタと、この
データを格納する主記憶であるターゲット間で直接デー
タ転送が行われる。(b)はタイミングチャートでリク
エスタから読み出しターゲットに書き込む動作を1サイ
クルで行うことができる。故に主記憶のデータを他の周
辺デバイスに転送する場合も同様に1サイクルで行うこ
とができ、ある周辺デバイスから他の周辺デバイスへは
2サイクルでデータ転送ができる。
【0006】次にパラレルアービトレーション方式のD
MAコントローラについて説明する。このDMAコント
ローラは、複数の周辺デバイスからのDMA要求に対し
て各DMAチャネル優先制御を行い、最も優先度の高い
DMAチャネルを使用する周辺デバイスにDMA許可を
与える。図8は、パラレルアービトレーション方式のD
MAコントローラを使用したデータバスの構成を示す図
である。データバス、アドレスバス、制御信号バスに
は、CPU、DMAコントローラ、ターゲットメモリお
よび周辺デバイスであるリクエスタ#0〜#nが接続さ
れている。また、リクエスタとDMAコントローラの間
にはDMA転送を要求するDMA要求信号(DMARE
Qk)とDMA許可信号(DMAACKk)を伝送する
バスが設けられている。
【0007】図9はパラレルアービトレーション方式の
DMAコントローラとDMA制御信号接続例を示す図で
ある。DMAコントローラは、各リクエスタからDMA
要求信号を受けると、CPUにバスの使用許可を受ける
ためのバス要求信号BR(Bus Request)を出力する。C
PUは、バスの使用を認めるとバス使用許可BG(Bus
Grant)をDMAコントローラに出力する。DMAコント
ローラは、BGを受けると最も優先レベルの高いリクエ
スタのチャネルに対応するDMA許可信号DMAACK
kを出力する。
【0008】ここでリクエスタからのDMA要求が複数
ある場合、どのリクエスタからのDMA要求を認めるか
を定める方式について説明する。1つは上述のパラレル
アービトレーション方式で、これは複数のDMA要求が
DMAコントローラに出された場合、DMAコントロー
ラは所定の優先レベルに従い決定する。優先レベルの決
め方としては、プログラムで予め定められている場合、
オペレータが設定できる場合、リクエスタ番号の若いも
の順、早くDMA要求を出したもの、ランダムに選ぶな
ど各種の方法がある。また他の方式としてデイジーチェ
ーン(daisy chain)方式がある。これはリクエスタを一
列に接続してしまい、始の方に接続しているリクエスタ
のDMA要求から認めてゆく方式である。
【0009】図10は、上記2つの内のいずれかの方式の
DMAで複数周辺デバイス間のデータ転送を行う場合の
データ転送経路とタイミングチャートである。(a)は
リクエスタからのデータをメモリに読み込み、このメモ
リのデータを、他の周辺デバイスに1つづつ転送を行う
経路を示し、(b)はタイミングチャートで、まずリク
エスタからのデータをターゲットに読み込むサイクル
と、このターゲットのデータをこのデータを希望する他
の周辺デバイスの1つに送るサイクル、次の他の周辺デ
バイスへ送るサイクル、…が示されている。このように
してk個の他の周辺デバイスにリクエスタのデータを転
送するにはk+1サイクルが必要となる。
【0010】
【発明が解決しようとする課題】ある周辺デバイスから
他の周辺デバイスへデータ転送する場合、従来は、一
旦、ある周辺デバイスと主記憶間でDMA転送を行い、
そのデータを再度主記憶から他の周辺デバイスに順々に
転送する方法がとられている。この方法ではバス転送サ
イクルがデータ転送先の数が増加するにつれて増加する
ため、CPUがバスを使用できる時間が制限され、処理
速度が低下するという問題があった。なお、従来はある
周辺デバイスのデータを他の複数の周辺デバイスに送る
場合、受け取る周辺デバイスの数も少なかったので、図
10に示すDMA転送方式で間に合っていたが、受け取る
周辺デバイスの数が増加してくると図10に示す方式では
バスの使用時間が増大し、CPUの動作が制限される時
間が多くなってきた。
【0011】本発明は、上述の問題点に鑑みてなされた
もので、ある周辺デバイスから他の周辺デバイスへのデ
ータ転送を少ないサイクルで実施するデータ転送装置を
提供することを目的とする。
【0012】
【課題を解決するための手段】制御および処理を行うC
PU5と、このCPU5が実行するプログラムやデータ
を格納するメモリ2と、このメモリ2との間でデータバ
ス6を介してDMAデータ転送を行うデータ転送手段1
と、前記データバス6上の転送データを前記CPU5の
指示により同時に受信する受信手段3と、各前記データ
転送手段1からのDMA要求に対してその1つを選択し
てDMA転送許可信号を出力するDMAコントローラ4
とを備えたものである。
【0013】また、前記データ受信手段3は、データ転
送を示すストローブ信号が出力され、かつ、データ転送
中の前記データ転送手段1が、前記DMA許可信号の出
されたデータ転送手段1であり、前記CPU5によっ
て、その転送データを受信するよう予め指定されたデー
タ転送手段1である場合、前記データバス6上の転送デ
ータを受信するようにする。
【0014】
【作用】データ転送手段1がメモリ2との間で、データ
バス6を介してデータの転送を行う場合、DMAコント
ローラ4は、複数のデータ転送手段1の内からのDMA
要求に対して1つのデータ転送手段1のDMA要求を選
択し、そのDMA要求に対してDMA転送許可信号を出
力する。この許可されたデータ転送手段1がデータバス
6上にデータを転送しているとき、CPU5により指示
されたデータ受信手段3も同時にデータバス6上の転送
中のデータを取り込む。これによりデータ転送手段1よ
りメモリ2へのデータ転送とデータ受信手段3へのデー
タ転送が1サイクルで行われる。つまりデータ転送手段
1よりデータ受信手段3へのデータ転送が1サイクルで
行われるわけで、これはデータ転送手段1よりn個のデ
ータ受信手段3へのデータ転送の場合も同様に1サイク
ルで行われる。これに対し、図10で説明した従来の方法
では、n個のデータ受信手段3へのデータ転送サイクル
はn+1サイクルとなる。このように本発明はデータを
受信するデータ受信手段3の数が多くなる程従来の方法
に比べて有利となる。
【0015】データ受信手段3がデータバス6上の転送
データを読み込む場合は、ストローブ信号が出されてい
ること、現在転送中のデータ転送手段1に対しDMA許
可信号が出力されていること、および現在転送中のデー
タ転送手段1のデータを読み込むようCPU5より予め
指示が出されていることの条件が全て満たされたとき、
となるようにする。
【0016】
【実施例】以下、本発明の実施例を図面を参照して説明
する。図2は本実施例の全体構成を示すブロック図であ
る。11はリクエスタでデータ転送手段1に該当しデータ
入出力装置である。12はターゲットでメモリ2に該当し
リクエスタ11よりのデータ転送を受けるメモリである。
13はアクセプタでデータ受信手段3に該当し、リクエス
タ11とターゲット12間で転送するデータを受信し、その
数はシステムの構成によって異なる。14はDMAコント
ローラであり、リクエスタ11からのDMA転送要求に対
して所定の方法により1つのリクエスタ11を選びそのリ
クエスタ11に対してDMA転送許可信号を出力する。リ
クエスタ11を選択する方法としては、プログラムで予め
指定されている場合、リクエスタ11の番号の若い順、最
早にDMA要求を出したものなど各種あるので、状況に
適合した方法が選択される。CPU15は、DMAコント
ローラ14からバス要求信号があるとバス使用許可をDM
Aコントローラ14に出力する。また、バス上のデータを
受信するアクセプタ13に対して受信すべきDMAチャネ
ルを指定する。16はデータバス、17はアドレスバス、18
は制御信号バスである。また、19、20はDMA制御信号
バスであり、リクエスタ11からのDMA要求信号と、こ
れに対応する許可信号を伝送する。
【0017】図3はアクセプタ13のメモリライトDMA
データ受信制御回路構成例を示す。21はデータ受信チャ
ネル指定レジスタで、データバス16上のターゲット12へ
の転送データを受信するアクセプタ13を指定するレジス
タであり、CPU15により指定される。このデータ受信
チャネル指定レジスタ21には、システムに接続している
全てのリクエスタ11毎に1ビットづづが割り当てられ、
CPU15がこのビットを1(又は0のいずれか)に設定
した場合、この1(又は0)を設定されたリクエスタ11
の転送データがデータバス16上を転送されている場合、
その転送データをこの1を設定されたデータ受信チャネ
ル指定レジスタ21を有するアクセプタ13が受信できる。
つまり、CPU15がデータバス16上の転送データを受信
できるアクセプタ13を選択する。22はアンドゲートで、
このデータ受信チャネル指定レジスタ21の出力と、DM
Aコントローラ14より出力される許可信号( DMAAC
Kk,k=1〜n)との論理積をとる。23はアンドゲー
トで、アンドゲート22の出力とDMAコントローラ14か
らのデータストローブ信号DSTBとの論理積をとる。24は
データバッファで、各リクエスタ11毎に設けられリクエ
スタ11よりターゲット12へ転送中のデータを格納する。
アンドゲート23の論理積が1となったデータバッファ24
にデータバス16上の転送データが格納される。なお、デ
ータ受信チャネル指定レジスタ21、アンドゲート22、23
がDMAデータ受信制御回路を構成し、データバッファ
24と共にアクセプタ13毎にそれぞれ設けられる。このア
クセプタ13で受信したデータは、アクセプタ13の機能に
応じて処理される。例えば、アクセプタ13が表示装置で
あれば、受信したデータを表示する。
【0018】図4は図3に示すDMAデータ受信制御回
路のタイミングチャート例である。アクセプタmについ
て、そのアクセプタmのデータ受信チャネル指定レジス
タ21のリクエスタkのビットに1がCPU15によって設
定され、DMAコントローラ14よりDMAACKkが出
力されている。DMAコントローラ14よりストローブ信
号が出力され、データバス16上にリクエスタkよりデー
タが出力される。アクセプタmではストローブ信号の立
上りより規定時間後、ストア信号を作成しデータを図3
のデータバッファkに取り込む。
【0019】図5は本発明の実施例におけるDMAデー
タ転送経路とタイミングチャートを示す。(a)はDM
Aデータ転送経路で、リクエスタ11よりデータバス16に
データが出力されると、このデータはターゲット12で読
み込まれると共に、CPU15で指定されたアクセプタ13
が同時に読み込む。この場合、同時に読み込むアクセプ
タ13の数は複数でもよい。(b)はDMAデータ転送タ
イミングチャートで、リクエスタ11よりリード、および
ターゲット12、アクセプタ13の書き込みを1サイクルで
実施する。このようにリクエスタ11よりアクセプタ13へ
1サイクルでデータ転送が可能となる。アクセプタ13が
複数の場合も、CPU15に受信許可されたアクセプタ13
であれば1サイクルで受信される。
【0020】
【発明の効果】以上の説明から明らかなように、本発明
はある周辺デバイスから複数の周辺デバイスに1サイク
ルでデータ転送を実施することができる。また、既存の
データバスをそのまま使用できるので、利用範囲が広
い。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の実施例によるDMA転送システムの構
成例を示す図である。
【図3】アクセプタのDMAデータ受信制御回路構成例
を示す図である。
【図4】アクセプタのデータ取り込みタイミングチャー
トである。
【図5】本発明の実施例によるDMAデータ転送経路と
タイミングチャートを示す図である。
【図6】命令によるデータ転送経路とタイミングチャー
トを示す図である。
【図7】シングルアドレスモードDMAによる転送経路
とタイミングチャートを示す図である。
【図8】パラレルアービトレーション方式DMAコント
ローラを使用したデータバスの構成例を示す図である。
【図9】パラレルアービトレーション方式DMAコント
ローラとDMA制御信号接続例を示す図である。
【図10】従来のDMA転送方式による複数デバイス間
のデータ転送経路と転送タイミングチャートを示す図で
ある。
【符号の説明】
11 リクエスタ 12 ターゲット 13 アクセプタ 14 DMAコントローラ 15 CPU 16 データバス 21 データ受信チャネル指定レジスタ 22, 23 アンドゲート 24 データバッファ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 制御および処理を行うCPU(5)と、
    このCPU(5)が実行するプログラムやデータを格納
    するメモリ(2)と、このメモリ(2)との間でデータ
    バス(6)を介してDMAデータ転送を行うデータ転送
    手段(1)と、前記データバス(6)上の転送データを
    前記CPU(5)の指示により同時に受信する受信手段
    (3)と、各前記データ転送手段(1)からのDMA要
    求に対してその1つを選択してDMA転送許可信号を出
    力するDMAコントローラ(4)とを備えたことを特徴
    とするデータ転送装置。
  2. 【請求項2】 前記データ受信手段(3)は、データ転
    送を示すストローブ信号が出力され、かつ、データ転送
    中の前記データ転送手段(1)が、前記DMA許可信号
    の出されたデータ転送手段(1)であり、前記CPU
    (5)によって、その転送データを受信するよう予め指
    定されたデータ転送手段(1)である場合、前記データ
    バス(6)上の転送データを受信するようにしたことを
    特徴とする請求項1記載のデータ転送装置。
JP19500192A 1992-07-22 1992-07-22 データ転送装置 Pending JPH0644183A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19500192A JPH0644183A (ja) 1992-07-22 1992-07-22 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19500192A JPH0644183A (ja) 1992-07-22 1992-07-22 データ転送装置

Publications (1)

Publication Number Publication Date
JPH0644183A true JPH0644183A (ja) 1994-02-18

Family

ID=16333885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19500192A Pending JPH0644183A (ja) 1992-07-22 1992-07-22 データ転送装置

Country Status (1)

Country Link
JP (1) JPH0644183A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2747600A1 (fr) * 1996-04-23 1997-10-24 Mig Weld Devidoir de bobine de fil a souder, en particulier de fil d'aluminium
JP2007272643A (ja) * 2006-03-31 2007-10-18 Nec Corp Usbデバイス共有システム、これで用いるサーバのインタフェース装置、及びその動作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2747600A1 (fr) * 1996-04-23 1997-10-24 Mig Weld Devidoir de bobine de fil a souder, en particulier de fil d'aluminium
JP2007272643A (ja) * 2006-03-31 2007-10-18 Nec Corp Usbデバイス共有システム、これで用いるサーバのインタフェース装置、及びその動作方法

Similar Documents

Publication Publication Date Title
KR910017296A (ko) 멀티-마스터 버스 파이프라이닝 실행방법 및 장치
US20080276021A1 (en) Data transfer control apparatus
KR920008448B1 (ko) 데이터 프로세서
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JPH08161254A (ja) 情報処理システムおよびそのバス調停方式
JPH0644183A (ja) データ転送装置
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
US7031337B2 (en) Data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
EP0191939A1 (en) Data processing bus system
US7107374B1 (en) Method for bus mastering for devices resident in configurable system logic
JPH05282242A (ja) バス制御方式
JP3094944B2 (ja) アービトレーション方法及びその装置
JP2534321B2 (ja) デ―タ転送制御方法及び装置
JPH0844661A (ja) 情報処理装置
JP3098550B2 (ja) バス制御方式
US20010005870A1 (en) External bus control system
JPH07319829A (ja) データ転送方法
JPS5931736B2 (ja) 待ち行列管理方式
JPH0833869B2 (ja) データ処理装置
JP2643116B2 (ja) 主記憶制御装置
JP2803616B2 (ja) 入出力バスインタフェース制御方式
JPH02219157A (ja) コンピュータシステム内のバスアービタ
JPH0362249A (ja) データ処理装置
JPS6049465A (ja) マイクロコンピユ−タ間のデ−タ転送方法