JPS63200261A - Dmaデ−タ転送装置 - Google Patents

Dmaデ−タ転送装置

Info

Publication number
JPS63200261A
JPS63200261A JP3067787A JP3067787A JPS63200261A JP S63200261 A JPS63200261 A JP S63200261A JP 3067787 A JP3067787 A JP 3067787A JP 3067787 A JP3067787 A JP 3067787A JP S63200261 A JPS63200261 A JP S63200261A
Authority
JP
Japan
Prior art keywords
data
output
circuit
pdc
transfer
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
JP3067787A
Other languages
English (en)
Inventor
Mikio Yonekura
米倉 幹夫
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP3067787A priority Critical patent/JPS63200261A/ja
Priority to PCT/JP1988/000101 priority patent/WO1988006319A1/ja
Publication of JPS63200261A publication Critical patent/JPS63200261A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はDMA (ダイレクト・メモリ・アクセス)に
よるデータ転送装置に関する。
〔従来の技術〕
CPUを介することなく、システムバスを利用して記憶
装置、入出力装置その他の周辺装置相互の間で直接にデ
ータの転送を行うDMA (ダイレクト・メモリ・アク
セス)によるデータ転送を行うには、専用の制御装置(
DMAコントローラ、以下ではDMACという)がLS
Iとして市販されており、広く用いられている。
第4図はこのようなりMACを用いた従来のDMAデー
タ転送装置を示すものである。本図において、1はDM
Aコントローラ(DMAC)、6はハスアービタ、30
は周辺装置、30−1はこの周辺装置のコントローラ(
peripheral device control
er 、以下ではPDCと略す)、20は双方向バッフ
ァ、40はRAM、51は16ビツトシステムバスであ
る。
DMAClはDMAによるデータ転送の制御を行うもの
である。バス・アービタ6はシステムバス51が複数の
装置によって共用されている場合に、他の装置との間で
該システムバス51の使用権の調停ヲとって、該DMA
Clのためにシステムバス51の使用権を得るためのも
のである。PDC30−1は、例えばフロッピーディス
クコントローラ、やCRTコントローラのように周辺装
置の制御を行うものである。双方向バッファ20は、D
MAClの制御によって、データの書込みまたは読出し
に対応して一方向のみを通過可能とするようなデータバ
ッファである。RAM 40は、ここでは、上記の周辺
装置30との間でシステムバス51を介してデータのや
りとりを行うものである。システムバス51は前述のよ
うに複数の装置に共有されるバスである。
第4図の聞へC1、PDC30−1、およびハス・アー
ビタ6における各入出力の意味について説明する。
PDC30−1におけるDRQは、DMAClに対する
DMAデータ転送要求(DMAリクエスト信号)の出力
端、DMAClにおけるDRQはその入力端、DMAC
lにおけるHLDRQはバス・アービタ6に対しシステ
ムバス51の使用権を要求するホールドリクエスト信号
の出力端、バス・アービタ6におけるGSELは前記H
LDRQの入力端、バス・アービタ6におけるBMMは
DMAClに対してシステムバス51の使用権を得たこ
とを知らせる(システムバス51の使用承認を知らせる
)バス・マスク・モード出力端、DMAClにおけるH
LDAKは前記BMMの入力端、DMAC1におけるD
ACKはPDC30−1に対してシステムバス51の使
用権を得たこと、つまり、使用承認を知らせるDMAア
クノリッジ信号の出力端、PDC30−1におけるDA
CKはその入力端、DMAClにおける* l0RDは
PDC30−1に対するデータ読出しくリード)信号(
負論理)の出力端、*■0誓RはPDC30−1に対す
るデータ書込み(ライト)信号(負論理)の出力端、W
Rはシステムバス51を介してRAM 40へ送るデー
タ書込み(ライト)信号出力端、RDはシステムバス5
1を介してRAM 40へ送るデータ読出しくリード)
信号出力端、PDC30−1におけるRDは前記* 1
0ROの入力端、WRは前記* l0WRの入力端、バ
ス・アービタ6における* XACKはRAM4からの
データ読出しまたはデータ書込完了を知らせる信号(*
は負論理を示す)の入力端、バス・アービタ6における
RDYは前記* XACKに応じて出力される、RAM
 40におけるデータ読出しまたはデータ書込み完了を
DMAClに知らせるレディ(READY)信号の出力
端、そして、DMAC1におけるRDYはその入力端で
ある。また、PDC30−1におけるDOO〜07は周
辺装置30へ、あるいは周辺装置30からの転送データ
の入出力端である。
以下に、第4図の構成のDMAデータ転送装置の動作を
、PDC30−1からRAM 40ヘデータを転送する
場合について、第5A図のタイミング図を用いて説明す
る。まず周辺装置のPDC30−1内に一回の転送分の
データ(一般に8ビツトの場合が多い)が用意される。
するとPDC30−1はDMAClへD M Aリクエ
スト信号を送る。すなわち、DRQを“1”レベルとす
る。DMAClはこれを受けて、ハス・ア−ビタ6に対
してシステムバス51の使用権を要求するホールドリク
エスト信号を送る。すなわち、HLDRQを“1″とす
る(1)。バス・アービタ6は、上記HLDRQをGS
EL端子に入力する(2)と、システムバス51の使用
権に関して、他の装置との間で調停をとり(3)、より
高い優先権を有する他の装置によるシステムバス51の
使用が終了すると、該システムバス51の使用権が得ら
れる。
システムバス51の使用権が得られるとバス・アービタ
6はBMM(バス・マスク・モード)出力を“1″とし
て、DMACのHLDAK端子に伝える(4)。
DMAClはHLDAKが1″となると、PDC30−
1に対してDMAアクノリッジ信号を送って、データバ
スの使用権の確立を伝達する。すなわちDACKを“1
”とする(5)。DACKが+tl+tとなると共に、
DMAClはPDC30,1に対してはデータ読出し信
号* l0RDを、RAM 40に対してはシステムバ
ス51を介してデータ書込み信号WR(−は反転された
信号レベルを意味する)を送るすなわち■を“0”とす
る、5)。また、このとき、PDC30−1においては
DRQを0″とする(6)。そして、poc30−1に
おいてはDMAC1からの上記* TORDをRD端子
より入力し、これによって、周辺装置30に準備されて
いたデータをシステムバス51を介してRAM 40へ
転送する(7)。RAM 40において該データの書込
みが完了すると、RAM 40からバス・アービタ6に
対し、データの書込みの完了を、* XACK信号を“
0”とすることにより伝える。バス・アービタ6は、*
 XACKが“0″となると、DMAClに対してRD
Y信号を(RDYを“1”とすることにより)伝達する
(8)。DMAClにおいては、RDYの“1″を受信
して、データの書込完了を認識すると、前述の、PDC
30−1への* l0RD、およびRAM 40に対す
るWRを“1”に、またPDC30−1へのDACKを
0″に戻す(9)。DMAClにおいてはDACKが“
O″となったことにより、HLDRQを“O″に戻す(
10)。また、RAM 40からの* XACT’は、
DMAClからのWRが“1”に戻ったことに゛より、
再び“1゛に戻る(10)。これによってRDYも“0
”に戻る(11)。PDC30−1においてはDMAC
lからの* l0RD、すなわちRDが1″に戻ったこ
とにより、データの送出を止める(10)。
DMAClにおいてHLDRQが“0″となったことに
より、バス・アービタ6のGSELは0″となり (1
1)、これに従ってBMMも“O”となって(12) 
、さらに、これにより、DMAClのHLDAKも0″
に戻る(13)。以上が従来のDMAデータ転送装置に
おけるPDC30−1からRAM 40へのデータ転送
の1サイクルの動作である。
第4図の従来のDMAデータ転送装置におけるRAM 
40からPDC30−1へのデータ転送のタイミングは
第5B図に示されているが、その動作の手順およびタイ
ミングは前述の第5A図の場合と全く同様であって、第
5A図における■がWRに、そして、W丁がI丁に、さ
らに* l0RDが* l0WRに置き換わっただけで
ある。但し、RAM 40からの信号* XACTは、
第5B図においては、データの書込み完了時ではな(、
RAM 40からの転送データと同時に送られる。
〔発明が解決しようとする問題点〕
前述の第4図のような構成において、一般にPDC30
−1において1回に送出できるデータのビット数(通常
のPDCでは8ビツトのものが多い)は、システムバス
51やRAM 40のビット数(例えば16ビツト、あ
るいは32ビツト)より少ない場合が多い。
このような場合、前述の従来のDMAデータ転送装置に
おいては、システムバスのうち1部のビットしか使わな
いので、システムバスの使用効率が悪く、また、システ
ムバスの使用頻度が高くなり、システムバスを占有する
時間が長くなるという問題点がある。
マf、−1DMA要求に対するDMAコントローラ側の
応答時間に制限のあるような周辺装置(例えばフロッピ
ーディスクコントローラ等)においては、応答時間マー
ジンが少ないためデータの続落し、書落しの発生確率が
大きくなるという問題点もある。例えば、フロッピーデ
ィスク装置においては、フロッピーディスクとフロッピ
ーディスクコントローラ内のレジスタとの間では10μ
sec毎にデータの転送を行っており、この転送の後、
次の10μsec弱の間に他の装置との間でDMAによ
るデータ転送を行わねばならないという制限がDMAコ
ントローラの応答時間に課せられている。DMAコント
ローラがこの10μsec弱の間にシステムバスの使用
権を獲得できないときには、データの続落し、書落しが
生ずる。
〔問題点を解決するための手段〕
第1図は本発明の基本的構成を示す図である。
本図において、1はDMAコントローラ、2はバッファ
リング回路、3は第1の装置、4は第2の装置、5はシ
ステムバス、6はバス・アービタである。ここで第1の
装置3および第2の装置4はそれぞれ、上記システムバ
ス5を介してデータのやりとりをする記憶装置、入出力
装置その他の周辺装置の1つであるものとする。DMA
コントローラ1は前に〔従来の技術〕の項において説明
したように、上述のような記憶装置、入出力装置その他
の周辺装置の間でCPUを介することなしに、上記シス
テムバス5を利用してデータのやりとりを行うときにこ
のデータ転送の動作を制御するものである。バス・アー
ビタ6は、上記DMAコントローラ1から該システムバ
ス5の使用要求を受けると、前記システムバス5の使用
権について他の装置との間で調整を行って、他の、より
優先する装置による該システムバス5の使用が終って、
該システムバス5の使用権を確立すると、前記DMAコ
ントローラ1にこのことを知らせる。すなわち、ε亥D
MAコントローラ1に対し、3亥システムハス5の使用
承認を与える。システムバス5は、システム内の各種の
主要な情報、例えばデータ、アドレス、制御信号等を双
方向に伝達する手段である。
一般のDMAデータ転送装置は、上記のDMAコントロ
ーラ1、ハス・アービタ6、そしてシステムバス5から
構成され、上記の第1の装置3と第2の装置4との間で
データのやりとりを行うものであるが、本発明の特徴は
、この第1の装置3とシステムバス5との間に、バッフ
ァリング回路2を設けたことにある。このバッファリン
グ回路2は、前記第1の装置3から所定の回数のデータ
転送を受けて、該所定の回数のデータを同時且つ並列に
前記第2の装置4に転送し、また、該バッファリング回
路2は、前記第2の装置4から1回のデータ転送を受け
て、該1回のデータを前記所定の回数に分けて前記第1
の装置3へ転送する。
〔作 用〕
本発明のDMAデータ転送装置において、第1の装置3
のデータを第2の装置4へ転送する場合、本発明におい
て設けられたバッファリング回路2が、1回のデータ転
送におけるビット数の少ない第1の装置3からの転送デ
ータを所定の転送回数受けて後、第2の装置4へ転送し
、逆に第2の装置4からのデータ転送の際は、第1の装
置3へ転送できるビット数の所定倍のビット数で、該バ
ッファリング回路2へ転送し、その後、該バッファリン
グ回路2から第1の装置3へ、第1の装置3へ転送でき
るビット数で上記所定回数転送する。
こうして、本発明のDMAデータ転送装置においては、
システムバス5の利用効率を改善し、システムバス5の
使用回数も減小させ、且つ、DMAコントローラ側の応
答時間マージンを大きくすることができる。
〔実施例〕
第2A図および第2B図は、それぞれ、本発明の実施例
におけるPDC30−1よりRAM 40へのデータ転
送に関わる構成、および、RAl’l 40からPDC
30−1へのデータ転送に関わる構成を示す図である。
初めに第2A図に示される構成について説明する。
第2A図において、DMACl 、バス・アービタ6、
周辺装置30、PDC30−1、RAM40 、および
16ビツトシステムバス51は、第4図の構成における
ものと同一である。
前述のように、本発明においては、第4図の周辺装ff
30と16ビツトシステムバス51との間のデータ転送
の経路に設けられていた双方向バッファ20の代りにバ
ッファリング回路2が設けられている。第2A図におい
ては、このバッファリング回路2の構成のうちPDC3
0−1よりRAM 40へのデータ転送に関わる構成の
みを示している。
バッファリング回路2はバッファレジスターPDC転送
シーケンサ部2−1、第1の転送レジスタ指定部2−2
、第1のバッファレジスタ部2−3、および、第1のD
MAC転送制御部2−4からなる。
バッファレジスターPDC転送シーケンサ部2−1はバ
ッファリング回路2とPDC30−1との間でのデータ
転送を制御する。第1のバッファレジスタ部2−3は、
上記バッファレジスターPDC転送シーケンサ部2−1
の制御により転送されたデータを所定回数分(本実施例
では2回分)保持しておくための構成であり、第1の転
送レジスタ指定部2−2は上記第1のバッファレジスタ
部2−3内における、転送されてきたデータの保持の制
御を行い、また所定回数の転送が行われたことを計数し
て確認する。第1の叶AC転送制御装置2−4は、主に
、前記第1のバッファレジスタ部2−3内の上記所定回
数分のデータを、DMAClを用いてRAM 40へ転
送することを制御する。
以下において、上記各部の構成の詳細を説明する。
バッファレジスターPDC転送シーケンサ部2−1はS
Rフリップフロップ22およびシーケンサ23からなる
。SRフリップフロップ22は、PDC30−1と第1
のバッファレジスタ部2−3との間でデータ転送が行わ
れている状態かどうかを示すものでそのQ出力はPDC
30−1のDACK入力およびシーケンサ23のIN入
力に接続されている。シーケンサ23は、フリップフロ
ップ22のQ出力をIN入力で受けると直ちにバッファ
レジスタコントロール(BC)出力より第1のバッファ
レジスタ部2−3内のレジスタ31または32をデータ
書込み可能にする信号を出力すると共に、RD出力より
PDC30−1に対しデータ読出しくリード)信号を送
出する。そして、これらの信号によりPDC30−1か
らレジスタ31または32にデータ転送が完了するに充
分なタイミングの後、END出力よりエンド信号を出力
する。このエンド信号はPDC30−1からバッファリ
ング回路2への1回のデータ転送の終了を示すもので、
クロックに同期し、約クロック1周期のパルス幅を有し
ており、第1の転送レジスタ設定部2−2に入力される
と共に、前記フリップフロップ22をリセットしてPD
C30−1のDACK入力を0”レベルに戻す。シーケ
ンサ23の内部構成は図示しないが、IN入力の立上り
でトリガされて、3種類の所定幅を有するパルスをそれ
ぞれ、所定のタイミングの出力するものであるので、カ
ウンタと微分回路によって容易に構成される。
第1の転送レジスタ設定部2−2はTフリップフロ・/
プ24、および3つのアンド回路25 、26および2
7からなり、前記シーケンサ23からのエンド信号を入
力する毎にクロックの立上りに同期してQ出力を反転さ
せ、アンド回路25および26を順に開とする。アンド
回路25および26には、共に前記シーケンサのBC出
力が接続され、さらに、それぞれの出力は第1のバッフ
ァレジスタ部2−3内のレジスタの制御入力に接続され
ている。
こうして、シーケンサ23からのバッファレジスタコン
トロール(B C)信号、すなわちレジスタ31または
32を書込み可能とする信号は、該第1の転送レジスタ
設定部2−2を経ることにより、シーケンサ23のエン
ド信号が出力される毎、すなわちPDC30−1からバ
ッファリング回路2への1回のデータ転送が終了する毎
に別のレジスタの制御入力に入力されることになる。さ
らに前記フリップフロップ24のQ出力は、一方の入力
が前記シーケンサ23のEND出力に接続されたアンド
回路27の他方の入力に接続され、前記シーケンサ23
のバッファレジスタコントロール(BC)出力を第1の
バッファレジスタ部2−3内の最後のレジスタに入力さ
せるときには、アンド回路27においてもエンド信号が
通過できるように設定されている。つまり、アンド回路
27の出力は、PDC30−1から第1のバソファレジ
スク部2−3内の全ての(この例では2つの)レジスタ
31および32にデータ転送が終了したことを示すもの
である。
第1のバッファレジスタ部2−3は、2つの8ビツトの
レジスタ31および32、そしてバッファ回路33より
なる。レジスタ31および32は、各々PDC30−1
の8ピントのデータ出力端DOO〜07より人力され、
前記第1の転送レジスタ設定部2−2内のアンド回路2
5および26の出力を、それぞれの制御入力としている
。そしてこれらのレジスタ31および32の出力は並列
に16ビツトのバッファ回路33の入力に接続されてい
る。
このバッファ回路33は、DMAClのDACK出力を
制 ・御入力としており、DACKが″1″レベルのと
きにデータ通過可能となるが、この制御入力は、DMA
Clからの読出し信号の役割を果している。
第1のDMAC転送制御部2−4は、微分回路29、S
Rフリップフロフプ28、およびアンド回路21からな
る。微分回路29は、DMAClのDACK出力を入力
としており、DACK信号の立下り、すなわちDMAC
lによるバッファリング回路2からRAM 40へのデ
ータ転送の終了を検出して、D M A転送終了の信号
を出力する。この微分回路29の出力はSRフリップフ
ロップ28のリセット入力に接続されている。また前述
の第1の転送レジスタ設定部2−2のアンド回路27の
出力、つまり、第1のバッファレジスタ部2−3の全て
のレジスタにPDC30−1からのデータ転送が行われ
たことを示す信号は、該SRフリップフロップ28のセ
ント入力に接続されている。こうして、SRフリップフ
ロップ28は、該バッファリング回路2が、PDC30
−1との間でデータ転送を行っている状態か、あるいは
叶ΔC1によってRAM 40との間のデータ転送を行
っている状態かを示すものでQ出力が“0”の場合が前
者、Q出力が“1”の場合が後者に対応する。アンド回
路21はDMAClによるRAM40との間のデータ転
送中(−可一=“0”の間)はPDC30−1のDRQ
出力からの新たな信号を受は付けず、前記DMAClの
DACK出力が立下ってSRフリップフロップ28の一
σが“1”となって初めて、PIIC30−1からのD
RQ信号を通過させる。このアンド回路21の出力は、
前記バッファレジスターPDC転送シーケンサ部2−1
のSRフリップフロップ220セット入力に接続されて
おり、このアンド回路21が開となっていれば、PDC
30−1のDRQ出力からのDMAリクエスト信号がS
Rフリップフロップ22をセットして、前述のようなP
DC30−1から第1のバッファレジスタ部2−3への
データ転送が開始される。
以下においては、上述のような第2A図の構成の動作を
第3A図のタイミング図を用いて説明する。
まず初めに、PDC30−1に8ビツトのデータが準備
されると、PDC30−1はDRQ出力を“1”レベル
にする。フリップフロップ22 、24 、28の初期
状態が全てQ=“0”であるとするとアンド回路210
入力は共に1となってフリップフロップ22がセットさ
れ、そのQ出力は“1″となる。
(1)。フリップフロップ22のQ出力は、PDC30
−1の13ACK入力に接続されており、DACXが1
”となるぐ2)。他方、フリップフロップ22のQ出力
はシーケンサ23にも入力される。シーケンサ23はI
N入力の立上りによって、直ちにバッファレジスタコン
トロール出力BCをl′1″とし、PDC30−1に対
するリード信号出力RDを“0”レベルトスる(2)。
バッファレジスタコントロール出力BCはアンド回路2
5および26それぞれの一方の入力となっているが、フ
リップフロップ24の初期状態がQ=Oであることによ
り、アンド回路25のみが開となっている。他方、シー
ケンサのリード信号出力RDがPDC30−1に入力さ
れることにより、PDC30−1より前記の8ビツトの
データが送出され(3)、レジスタ31および32のう
ち、前述のアンド回路25からトリガ入力されるレジス
タ31に、この8ビツトのデータはロードされる。レジ
スタ31へのデータ転送力を完了すると該シーケンサ2
3は、前記BCおよびRDのレベルを元に戻し、さらに
END出力よりクロックパルスに同期してクロック1周
期の幅を有するパルス(エンド信号)を出力する(4)
。このEND出力はフリップフロップ22のリセット入
力に接続されており、フリップフロップ22のQ出力は
該エンド信号により、“0”となる(5)。
上記Q出力は、また、PDC30−1のDACK入力に
接続されているのでこれも“0”となる(5)。他方、
前記END出力は、また、Tフリップフロップ24のT
入力に入力されており、このQ出力を反転、すなわち“
1″とする(5)。これによって、このQ出力がそのま
ま一方の入力に接続されているアンド回路26が開とな
る。また、Tフリップフロップ24のQ出力はアンド回
路27の一方の入力にも接続されており、このアンド回
路27の他方の入力には前記END出力が接続されてい
るが、前述のように、エンド信号はシーケンサ23にお
いてクロックに同期してクロックの1周期の幅をもって
出力されたものであるので、Tフリ・7ブフロツプ24
にこのパルスが到達して、次のクロックパルスの立上り
に同期するのは、上記エンド信号パルスのほぼ立下り近
くとなって、このTフリップフロップ24のQ出力は0
”から′1”となり、このQ出力の立上りはアンド回路
27において該アンド回路27の他方に入力されている
エンド信号の立下り部分と競合し、アンド回路27から
は掻く短い幅のハザード(hazard)パルスが出力
される可能性があるが、このアンド回路27の出力をリ
セット入力とするSRフリップフロップ28はクロック
同期型であるので、上記ハザードパルスには影響されな
い。
PDC30−1においては、DACKが“θ″となって
いるので、周辺装置30から次の8ビツトのデータが送
られて来ると、再びDRQ出力を“1”とする(6)。
このDRQ出力は、前述のように、フリップフロップ2
2をセットしく 6 )、PDC30−1のDACK入
力を“1”とし、シーケンサ23を駆動してシーケンサ
23のBC出力を“l”に百出力を“0″にする(7)
。ここで、前述のように、フリップフロップ24のQ出
力が反転して“1″となっているのでアンド回路26が
開となっており、今回はレジスタ32にPDC30−1
からの8ビツトのデータがロードされる(8)。レジス
タ32へのデータ転送が終ると、BC出力およびRD出
力は元のレベルに戻され、シーケンサ23がらはエンド
信号が出力される(9)。このエンド信号は前回同様フ
リップフロップ22をリセットすることにより、PDC
30−1のDA(J入力を′″0”に戻しく10) 、
また、フリップフロップ24を反転するが、前回と同様
の理由により、アンド回路27の一方の入力に接続され
たフリップフロップ24のQ出力が反転する直前に、エ
ンド信号が、該アンド回路27の他方の入力を通過して
しまう。すなわち、今回のエンド信号は、アンド回路2
7のもう一方の入力がフリップフロップ24のQ出力の
反転前の“1”レベルにあるときに該アンド回路27に
入力されるので、このアンド回路27の出力は“1”と
なってフリップフロップ28をセットする(10)。こ
こで、フリップフロップ28の百出力が“0”となった
ことにより、PDC30−1がらのDRQ信号はアンド
回路21にてしゃ断されることになる。また、フリップ
フロップ28のQ出力はDMAClのDRQ入力に接続
されておりこれが“1”となったことにより (11)
 、DMAClは、先に第4図の説明で述べたとおりの
手順でバスアービタ6を介して(12)システムバス5
1の使用権を得るとDACK出力を“1”とする(13
)。DMAClのDACK出力はバッファ回路33の制
御入力となっており、これが“1”となったことにより
、バッファ回路33は通過可能となってレジスタ31お
よびレジスタ32にロードされていた合計16ビノトの
データをパラレルにシステムバス51を介してRAM 
40へ転送する。DMAClがらはRAM 40に対し
てデータ書込み信号がWRを“0”レベルとする形で送
られており、こうして、上記16ビツトのデータはRA
M 40に書込まれる。第4図の説明と同じ< 、RA
M 40においてデータの書込みが完了すると、RAM
40からバスアービタ6に対し、データの書込みの完了
を、* XACK信号を“0”とすることにより伝える
。これはDMAClへRDY入力が“1”となる形で伝
えられ(14) 、これによりDMAClはWRを元の
レベルに戻し、さらにDACK出力も“0”に戻す(1
5)。■が“1”に戻ったことによりRAM 40は*
 XACKを1″に戻しく16)、これによりDMAC
lのRDY入力(バスアービタ6のRDY出力)も“0
″に戻る(17)。DMAClのDACK出力は微分回
路29に接続されているが、この微分回路29は人力の
立下りを検出して所定の幅のパルスを出力するもので、
前述のDACKの“1”−“0” (15)の立下りを
検出して、フリップフロップ28をリセットするパルス
を出力する(18)。これにより再びPDC30−1か
らのDRQ信号は、アンド回路21を通過できるように
、つまり、受入れ可能になる。第3A図の19は、上記
のアンド回路21が開となるのを、先に“1”となって
いたPDC30−1のDRQが待っていた場合について
示すもので、フリップフロップ28がリセットされると
直ちに次の8ビツトデータの読出しが開始される様子を
示している。それ以後の手順は、それ以前のサイクルの
くり返しである。
次に第2B図の構成について説明する。
第2B図において、開^C1、バス・アービタ6、周i
22装置30 、P[]C30−1、RAM 40、お
よび16ビソトシステムバス51は、第4図および第2
A図の構成におけるものと同一である。
前述のように、本発明においては、第4図の周辺装置3
0と16ビツトシステムバス51との間のデータ転送の
経路に設けられていた双方向バッファ20の代りにバッ
ファリング回路2が設けられている。第2B図において
は、このバッファリング回路2の構成のうちPDC30
−1よりRAM 40へのデータ転送に関わる構成のみ
を示している。
バッファリング回路2はバッファレジスターPDC転送
シーケンス部2−1、第2の転送レジスタ指定部2−5
、第2のバッファレジスタ部2−6、および、第2のD
MAC転送制御部2−7からなる。これら各部の主な働
きは前述の第2A図における対応する各部の働きと基本
的に同一である。
バッファレジスターPDC転送シーケンサ部2−1は、
前述の第2A図中のものと全く同一である。第2A図に
おいては、シーケンサ23にRD端子が、第2B図にお
いてはWR端子が示されているが、これは、それぞれの
図の説明に直接関係のない端子の記載を省略したもので
実際にはRD端子、WR端子の両方を備えている。
第2の転送レジスタ設定部2−5についても、前述の第
2A図中の第1の転送レジスタ設定部2−2中のアンド
回路25 、26が、ナンド回路38゜39に置き換わ
ったに過ぎず、その他の働きは、前述の第1の転送レジ
スタ設定部2−2と全く同様である。但し、アンド回路
27の出力信号の意味は、以下の第2のバッファレジス
タ部2−6についての説明から明らかになるように、該
第2のバッファレジスタ部2−6の全てのレジスタ34
および35のデータがPDC30−1へ転送されたこと
を示すことになる。
第2のバッファレジスタ部2−6は2つの8ビツトのレ
ジスタ34および35.2つのバッファ回路36および
37からなる。2つのレジスタ34および35は、RA
M 40からシステムバス51を介して入力された16
ビツトのデータのうち、それぞれ上位8ビツト、下位8
ビツトを入力する。
また、これら2つのレジスタ34 、35はDMACl
の* l0WR出力を制御入力としている。バッファ回
路36および37は上記レジスタ34および35の出力
側に接続されており、それぞれ、前記第2の転送レジス
タ設定部2−5内のナンド回路38および39の出力を
制御入力としている。これら2つのバッファ回路38お
よび39の出力は並列に接続されてPDC30−1の8
ピントのデータ入出力端DOO〜07に入力される。
第2のDMAC転送制御部2−7もまた、前述の第1の
DMAC転送制御部2−4と類似しているが、両者の違
いはSRフリップフロップ28のセント、リセット入力
と、Q、  Q゛出力それぞれ、入れ替わっているとこ
ろにある。すなわち、第2B図の第2のDMAC転送制
御部2−7においては、DMACLのDACK出力の立
下りを検出する微分回路29がSRフリップフロップ2
80セント入力に、第2のバッファレジスタ部2−6と
PDC30−1との間のデータ転送の終了を知らせる第
2の転送レジスタ設定部2−5のアンド回路27が、該
SRフリノプフロソプ28のリセット入力に接続され、
該SRフリップフロップ28のQ出力は、PDC30−
1からのDMAリクエスト信号の前記バッファレジスタ
ーPDC転送シーケンサ部2−1への入力、遮断を制御
するアンド回路21の一方の入力へ接続されている。そ
して、該SRフリップフロップ28の百出力はDMAC
lのDRQ入力に接続されている。これによって、SR
フリップフロップ28のQ=“0”である初期状態にお
いては、アンド回路21における上記のPDC30−1
からのD M A IJクエスト信号はしゃ断され、百
=“1”がDMAClのDRQ入力に接続されているの
で、DMAClはDMAデータ転送の制御動作を行い、
第2のレジスタ部2−6内のレジスタ34および35へ
の*1OWR出力によるデータ書込制御、および、DM
AClのRD比出力よる16ビツトシステムバス51を
介してのRAM 40の読出し制御により、RAM 4
0のデータが該レジスタ34および35にロードされる
このロードの完了はDMAClのDACK出力の立下り
によって微分回路29において検出され、この出力はS
Rフリップフロップ28をセットしてQ出力を“1”と
し、アンド回路21におけるPDC30−1からのDR
Q出力を通過可能とする。また、前述のように、第2の
バッファレジスタ部2−6とPDC30−1との間のデ
ータ転送の終了を知らせる前記第2の転送レジスタ設定
部2−5のアンド回路27の出力は、該SRフリップフ
ロップ28をリセットし、再び叶へC1によるRAM 
40と第2のバッファレジスタ部2−6との間のデータ
転送を開始させる。
以下においては、上述のような第2B図の構成の動作を
第3B図のタイミング図を用いて説明する。
まず、第2B図の構成においてフリップフロップ22 
、24および28の初期状態は全てQ=“0”であると
する。すると、フリップフロップ28の百出力がDMA
ClのDRQ入力に接続されていて、Q−=″1″であ
るので、DMAClは、バスアービタ6を介してシステ
ムバス51の使用権を得ようとする(1)。他方フリッ
プフロップ28のQ出力はPDC30−1のDRQ出力
と共にアンド回路21の入力に接続されていて、Q=“
0”であることによりPDC30−1のDRQ出力を遮
断している。さて、DMAClは、バスアービタ6を介
してシステムバス51の使用権を得ると(2)、DAC
K出力を“1”とする他、*l0WRおよびRD比出力
“0”とする。
RDはRAM 40へ伝達され、* l0WRは前述の
ようにレジスタ34および35のトリガ入力となる。こ
うしてRAM 40からシステムバス51を介してレジ
スタ34およびレジスタ35に、16ビツトのデータの
うちそれぞれ上下位8ビツトずつがロードされる。RA
M 40からのデータの転送が行われると、バスアービ
タ6の* XACK入力がO″となり、前述の第5B図
の場合と同様にしてDMAClのDACKが1io+1
に戻る(3 、4)。DACK出力は微分回路29に接
続されており、微分回路29の出力はフリップフロップ
28をセットしく6) 、Q出力を“0”としてDMA
ClのDRQ入力を“0″に戻し、他方“1”となった
Q出力は前述のアンド回路21に入力されて、PDC3
0−1のDPQ出力を受入れ可能とする。ここでPDC
30−1においてデータの受入れ準備ができていると、
PDC30−1はDRQ出力を“1”とし、これは前記
アンド回路21を経てフリップフロップ22をセットし
、そのQ出力を“1”とする(7)。これによりPDC
30−1ODACK入力は1″となり(8)、他方、シ
ーケンサ23はIN入力が“1”となることにより、B
C(バンファコントロール)出力を“1”とし、WR小
出力“0”とする(データ書込み信号を送る、8)。B
C出力はナンド回路38および39各々の入力に接続さ
れているが、フリップフロップ24のQ出力が初期値“
0″であるので、ナンド回路38のみが開となっている
。こうして、BC出力はナンド回路38を経てバッファ
回路36の制御入力となって、バッファ回路36を通過
可能とする。また前記“0″となったWR小出力PDC
30−1の■入力として入力されているので、上記バッ
ファ回路36に接続されたレジスタ34の8ビツトのデ
ータがPDC30−1へ転送される(9)。
この8ビツトのデータ転送が終るとBC出力およびWB
出力は元のレベルに戻され(10)、シーケンサはEN
D出力よりエンド信号を出力する(11)。
このエンド信号は、前述の第2A図の構成におけるもの
と全(同様のものであって、フリップフロップ22をリ
セットしてPDC30−1のDACK入力を“O”に戻
して(11) 、PDC30−1からの次のDRQを受
は入れ可能とする一方、フリップフロップ4のQ出力を
反転して(11) 、ナンド回路34を開とする。こう
して第2A図の場合と同様に次のDRQによってバッフ
ァ回路37が通過可能となってレジスタ35の8ビツト
のデータがPDC30−1に転送される(121314
)。この2番目のレジスタ35に関わるデータ転送の後
のエンド信号によってフリップフロップ28がリセット
される(16)ことも第2A図の場合と同様である。第
2B図の構成においてはフリップフロップ28のQ出力
がアンド回路21の一方の入力に接続されているので、
このリセットにより、PDC30−1からのDRQ出力
をこのアンド回路21でしゃ断する。また、フリップフ
ロップ28の百出力はDMACl のDRQ入力に接続
されており、このDRQ入力を“1″とすることにより
 (16) 、RAM 40からの次のデータ転送のサ
イクルに入る。
以上の説明において、第2A図には本発明の実施例にお
けるバッファリング回路2のPIIC30−1からRA
M 40へのデータ転送に関わる構成を示し、第2B図
には、同じ<RAM40からPDC30−1へのデータ
転送に関わる構成を示したが、これまでの説明において
も述べたように、両者の構成には共通点が多い。
両者における構成の違いは、フリップフロ、プ28のセ
ット/リセット入力およびQ、Q出力をそれぞれ入れ換
えていること、そして、第2A図の第1の転送レジスタ
設定部2−2のアンド回路25および26が、それぞれ
、第2B図の第2の転送レジスタ設定部2−5において
ナンド回路38および39に置き換えられているのみで
あることであることがわかる。さらに、本発明における
DMAデータ転送装置は、システムの一部として、シス
テム全体を制御するホストコンピュータの制御下に行わ
れるものであるので、第2A図4−1、第2B図4−2
、各々における共通する構成は、PDC30−1→RA
M 40のデータ転送時においても、また、RAM 4
0→PDC30−1のデータ転送時においても共用する
ことにし、上述の異なる構成の部分だけを、予めホスト
プロセッサによって切換えられるセレクタによって選択
的に接続されるようにすることもできる(図示せず)。
なお、前述の実施例においては第1および第2のバッフ
ァレジスタ部2−3および2−5において8ビツトのレ
ジスタを2個並列に並べたものを示しているが、これは
2個でなく25個(kは1より大きい整数)とすること
もできる。そのためには例えば第6図に示すような構成
を用いればよい。
第6図は第2A図に示した、PDC30−1よりRAM
40へのデータ転送の場合の第1の転送レジスタ設定部
2−2および第1のバッファレジスタ部2−3の構成を
、第1のパフファレジスタ部2−3内のレジスタの数を
22=4個に増やした場合について示したものである。
なお、第6図においては、第2A図の構成と重複する構
成はできるだけ省略している。
第6図は、レジスタをH+  、Hz  、H3、H4
で示される4つに拡張したもので、これに伴い、それぞ
れのレジスタの制御入力のためのゲート(3人力のアン
ド回路?3 、74 、75 、76)が設けられ、さ
らに、シーケンサ23のEND出力から、前述のエンド
信号が1つ出る毎に上記の4つのゲートが順に開となる
ように、入力パルスの立下りで動作するTフリップフロ
ップ71 、72を2個接続したカウンタを設けている
。また、4番目のエンド信号がアンド回路27に達する
ときには、アンド回路27の他の2人力Q+  、Qz
 も共に“1″となっており、4番目のエンド信号はア
ンド回路27を通過することができる。
さらに、ここまでの説明においてPDCと直接やりとり
する場合のデータのビット数を8ビツトとしたが、これ
は、現在使われている周辺装置のコントローラ(PDC
)において8ビツトのものが多いためであって、本発明
においてはこのピント数は何ビットでも構わない。
〔発明の効果〕
本発明によれば、データバスの使用効率が良く、データ
バスの使用頻度も低く、データバスを占有する時間も短
く、且つ、DMA要求に対するDMAコントローラ側に
おける応答時間マージンを大きくするDMAデータ転送
装置が提供される。
【図面の簡単な説明】
第1図は本発明の基本的構成を示す図、第2A図は、本
発明の実施例においてPDC30−1よりRAM 40
へのデータ転送に関わる構成を示す図、第2B図は、本
発明の実施例においてRAM 40よりPDC30−1
へのデータ転送に関わる構成を示す図、第3A図は、第
2A図の構成におけるタイミングを示す図、 第3B図は、第2B図の構成におけるタイミングを示す
図、 第4図は、従来のDMAデータ転送装置を示す図、 第5A図は、第4図の構成におけるPDC30−1よQ
RAM40へのデータ転送のタイ1ミングを示す図、第
5B図は、第4図の構成におけるRAM 40よりPD
C30−1へのデータ転送のタイミングを示す図、第6
図は、バッファリング回路2の第1の転送レジスタ指定
部2−2および第1のバッファレジスタ部2−3の他の
実施例を示す図である。 (符号の説明) 1・・・DMAコントローラ(DM八へ)、2・・・バ
ッファリング回路、 2−1・・・バッファレジスターPDC転送シーケンサ
部、 2−2・・・第1の転送レジスタ指定部、2−3・・・
第1のバッファレジスタ部、2−4・・・第1のDMA
C転送制御部、2−5・・・第2の転送レジスタ指定部
、2−6・・・第2のバッファレジスタ部、2−7・・
・第2の叶AC転送制御部、3・・・第1の装置、  
 4・・・第2の装置、5・・・システムバス、   
6・・・バス・アービタ、20・・・双方向バッファ、 21 、25 、26 、27・・・アンド回路、22
 、28・・・SRフリップフロップ、23・・・シー
ケンサ、 24 、71 、72・・・Tフリップフロツブ、29
・・・微分回路、 31 、32 、34 、35 、77 、7B 、 
79 、80・・・レジスタ、33 、36 、37・
・・バッファ回路、38 、39・・・ナンド回路、 
 40・・・RAM、51・・・16ビツトシステムバ
ス、 52・・・32ビツトシステムバス、 73 、74 、75 、76・・・3人カアンド回路
。 第4図の構成ておけるPDC30−1よりRAM40へ
のデータ転送のタイミングを示す図 第5A図 第5B図

Claims (1)

  1. 【特許請求の範囲】 1、複数の装置によって共用されるシステムバス(5)
    と、該複数の装置のうちの第1の装置(3)が、該複数
    の装置のうちの第2の装置(4)との間で、前記システ
    ムバス(5)を利用してデータのやりとりを行う際の動
    作を制御するDMAコントローラ(1)と、 該DMAコントローラ(1)からシステムバス(5)の
    使用要求を受けて、前記DMAコントローラ(1)に該
    システムバス(5)の使用承認を与えるバス・アービタ
    (6)へとを備えてなるDMAデータ転送装置であって
    、 前記第1の装置(3)と前記システムバス(5)との間
    にバッファリング回路(2)を設け、 該バッファリング回路(2)は、前記第1の装置(3)
    から所定の回数のデータ転送を受けて、該所定の回数の
    データを同時且つ並列に前記第2の装置(4)に転送し
    、また、該バッファリング回路(2)は、前記第2の装
    置(4)から1回のデータ転送を受けて、該1回のデー
    タを前記所定の回数に分けて前記第1の装置(3)へ転
    送することを特徴とするDMAデータ転送装置。 2、前記バッファリング回路(2)は、前記第1の装置
    (3)と該バッファリング回路(2)との間でのデータ
    転送を制御するバッファレジスタ−PDC転送シーケン
    サ部(2−1)と、該データ転送によるデータを所定回
    数分保持しておくためのバッファレジスタ部(2−3、
    2−6)と、該バッファレジスタ部(2−3、2−6)
    内における転送されてきたデータの保持の制御を行い、
    また、所定回数の転送が行われたことを確認する転送レ
    ジスタ指定部(2−2、2−5)と、前記バッファレジ
    スタ部(2−3、2−6)と前記第2の装置(4)との
    間でのデータ転送を前記DMAコントローラ(1)を用
    いて行うことを制御するDMAC転送制御部(2−4、
    2−7)とを備えてなる特許請求の範囲第1項記載のD
    MAデータ転送装置。
JP3067787A 1987-02-14 1987-02-14 Dmaデ−タ転送装置 Pending JPS63200261A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3067787A JPS63200261A (ja) 1987-02-14 1987-02-14 Dmaデ−タ転送装置
PCT/JP1988/000101 WO1988006319A1 (en) 1987-02-14 1988-02-04 Dma data transfer apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3067787A JPS63200261A (ja) 1987-02-14 1987-02-14 Dmaデ−タ転送装置

Publications (1)

Publication Number Publication Date
JPS63200261A true JPS63200261A (ja) 1988-08-18

Family

ID=12310339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3067787A Pending JPS63200261A (ja) 1987-02-14 1987-02-14 Dmaデ−タ転送装置

Country Status (2)

Country Link
JP (1) JPS63200261A (ja)
WO (1) WO1988006319A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0276053A (ja) * 1988-09-13 1990-03-15 Fujitsu Ltd Dma転送制御回路
JPH03204752A (ja) * 1990-01-05 1991-09-06 Fuji Electric Co Ltd Dma転送装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593532A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd デ−タ処理装置
JPS60134365A (ja) * 1983-12-23 1985-07-17 Toshiba Corp バス調停方式
JPS61286955A (ja) * 1985-06-13 1986-12-17 Yokogawa Medical Syst Ltd デ−タ転送方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0276053A (ja) * 1988-09-13 1990-03-15 Fujitsu Ltd Dma転送制御回路
JPH03204752A (ja) * 1990-01-05 1991-09-06 Fuji Electric Co Ltd Dma転送装置

Also Published As

Publication number Publication date
WO1988006319A1 (en) 1988-08-25

Similar Documents

Publication Publication Date Title
CA2026737C (en) Bus master interface circuit with transparent preemption of a data transfer controller
US5555413A (en) Computer system and method with integrated level and edge interrupt requests at the same interrupt priority
US5717873A (en) Deadlock avoidance mechanism and method for multiple bus topology
JPH03191453A (ja) データ処理システム
US10983937B2 (en) Method for managing access to a shared bus and corresponding electronic device
JPS63200261A (ja) Dmaデ−タ転送装置
JPH04230563A (ja) データ処理システム
JPH01134557A (ja) アービタ回路
US5446847A (en) Programmable system bus priority network
US6868457B2 (en) Direct memory access controller, direct memory access device, and request device
EP0226053A1 (en) Bus arbitration controller
JP2848082B2 (ja) Dmaバス調停方式
JPH04323755A (ja) Dma装置
JP3077214B2 (ja) マルチポートアクセス制御回路
JPH0442342A (ja) バス調停回路
JPH02281356A (ja) 共有メモリ装置
JPH03102558A (ja) 転送先id指定回路
JP2001184305A (ja) 外部バス制御装置
JPS63244161A (ja) Dmaアクセスが可能なコンピユータ・システム
JPH01121968A (ja) 可変長データ処理装置
JPH0452749A (ja) バス調停回路
JPH0675906A (ja) バスアービタ
JPH0581172A (ja) 複数のデータ伝送用バスの切換制御方式
JPS6279558A (ja) 直接メモリアクセスコントロ−ラ
JPH05282239A (ja) Dma転送方式