JP2594611B2 - Dma転送制御装置 - Google Patents

Dma転送制御装置

Info

Publication number
JP2594611B2
JP2594611B2 JP63090942A JP9094288A JP2594611B2 JP 2594611 B2 JP2594611 B2 JP 2594611B2 JP 63090942 A JP63090942 A JP 63090942A JP 9094288 A JP9094288 A JP 9094288A JP 2594611 B2 JP2594611 B2 JP 2594611B2
Authority
JP
Japan
Prior art keywords
transfer
data
descriptor
unit
dma
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.)
Expired - Fee Related
Application number
JP63090942A
Other languages
English (en)
Other versions
JPH01261763A (ja
Inventor
淳 藤平
高吉 谷合
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=14012509&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2594611(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63090942A priority Critical patent/JP2594611B2/ja
Priority to US07/318,283 priority patent/US5077664A/en
Priority to DE68925048T priority patent/DE68925048D1/de
Priority to KR1019890002811A priority patent/KR920007950B1/ko
Priority to EP89104032A priority patent/EP0332151B1/en
Publication of JPH01261763A publication Critical patent/JPH01261763A/ja
Application granted granted Critical
Publication of JP2594611B2 publication Critical patent/JP2594611B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 本発明の一実施例(第1、2図) 発明の効果 〔概要〕 DMA転送制御装置に関し、 転送の途中で終了させられても処理可能なDMA転送制
御装置を提供することを目的とし、 外部記憶装置にテーブル化して格納された転送情報を
順次内部記憶に保持し、該保持された転送情報に基づい
て複数のデータを転送するDMA転送制御装置において、
前記内部記憶に保持され、データ転送に伴って更新され
た転送情報をデータ転送終了時に前記外部記憶装置の所
定の位置に出力する転送手段を設け、前記データ転送終
了時に前記データの転送状況を認識できるようにすると
ともに、 また、データ転送終了時に転送情報を記憶装置の所定
の位置に出力するか否かを決定する決定手段を設け、前
記データ転送終了時に前記記憶装置に前記転送情報を出
力させるか否かを任意に設定可能とするように構成す
る。
〔産業上の利用分野〕
本発明は、DMA転送制御装置に関し、詳細には、ブロ
ック転送の終了状況をメモリエリアに書き出すDMA転送
制御装置に関する。
近時、コンピュータシステムでは扱うことのできるデ
ータ量の増加に伴い、例えば磁気ディスク装置等補助記
憶装置との間の入出力、あるいは画像データ処理等非常
に多量のデータを高速に扱う必要があり、これらに対応
してCPUを介さずにデータ転送を行ういわゆるDMA転送が
行われている。すなわち、通常のデータ転送はCPUを介
して行われていることから、データ転送の処理速度はCP
Uの処理速度が支配的であり、CPUの処理速度が追いつか
ないような高速なデータ転送を行うことは不可能であ
る。また、さほど高速ではないデータ転送であってもそ
の量が多い場合には転送処理に時間がかかる。そこで、
DMA転送制御装置を用いて処理速度の遅いCPUを介さずに
外部の周辺装置とメモリあるいはメモリ同志でデータ転
送を直接行うことにより、データ転送速度の高速化を図
って高速あるいは多量のデータ転送を効率よく処理して
いる。
〔従来の技術〕
DMA転送制御装置(以下、DMAコントローラ:DMACとい
う)は前述のようなコンピュータシステムの一部であ
り、通常はCPUがシステム内部のバスを専有してデータ
転送を行っている。すなわち、バスの専有権は通常CPU
が保有しており、一般的に一つのシステム内ではCPUの
専有権が最も高い。
DMA転送の要求が発生すると、CPUはバスの専有権をDM
ACに譲ってバスをDMACに開放し、DMACがCPUに代わって
バスを専有し、DMA転送を行う。この場合、DMA転送の方
法には大別してレジスタダイレクトとディスクリプタチ
ェインの二つがあり、前者は転送開始以前にCPUによりD
MAC内のレジスタに書き込まれた情報、例えば、転送元
のアドレス(ソースアドレス)、転送先のアドレス(デ
ィストネーションアドレス)、転送データの量(バイト
カウント)等転送に必要な転送情報に基づきDMA転送を
行う。後者はCPUがDMA転送に先立ってシステム内のメモ
リに登録するテーブル化された転送情報(ディスクリプ
タ)をDMACが順次読み出して内部のレジスに格納し、該
レジスタの情報に基づいてDMA転送を行う。ディスクリ
プタチェインによるDMA転送では一組のディスクリプタ
で示されるブロック、すなわち、ソースあるいはディス
トネーションの各アドレスとバイトカウントで示される
メモリ内の連続したエリアのデータの転送が終了する
と、次のディスクリプタを読み込むことで複数のブロッ
ク転送が連続的に行われる。
具体的には、DMACによるDMA転送に先立ってCPUはディ
スクリプタをテーブル化してメモリに書き込むととも
に、DMAC内のディスクリプタアドレスレジスタ(DSR)
にブロック転送の先頭ブロックのディスクリプタが格納
されているアドレス(以下、ディスクリプタアドレスと
いう)を書き込む。転送要求が発生すると、DMACはDSR
に示されるアドレスからディスクリプタを内部のメモリ
アドレスレジスタ(MAR)およびバイトカウントレジス
タ(BCR)に登録し、MARおよびBCRに示される1つのデ
ータブロックのDMA転送を開始する。1つのブロックのD
MA転送が終了すると、DMACは内部のマイクロプログラム
に従ってDSRの値を更新するとともに、次のディスクリ
プタを読み込んで内部のMARおよびBCRに登録し、次のデ
ータブロックの転送を開始する。このように、次に転送
するデータブロックのディスクリプタを順次読み込むこ
とによって複数のデータブロックのDMA転送が行われ
る。
〔発明が解決しようとする課題〕
しかしながら、このような従来のDMA転送装置にあっ
ては、複数のブロックのデータ転送を行うとき、1つの
ブロックのデータ転送が終了する毎に次のディスクリプ
タを内部に格納して更新する構成となっていたため、次
のような問題点があった。
すなわち、DMACが転送を終了する場合、入出力制御装
置(以下、IOCという)からの転送終了要求による終
了、転送するデータのバイトカウント値が零になったこ
とによる終了あるいはバスエラー等の致命的なエラーに
よる終了等があるが、致命的なエラーによる終了時は次
のデイスクリプタを読み込むことがないので、CPUはDMA
C内部のレジスタを読むことによって今回の終了状況を
知ることができる。ところが、通常の転送終了時は該情
報が次のディスクリプタを読み込むことによって消滅す
るので、DMACが転送を終了したときの終了状況をCPUは
知ることができない。例えば、転送が終了した場合、既
に転送されたデータが格納されていたメモリエリアが不
明であるため、有効なデータが、どこから、どこのアド
レスに入っているのかわからなくなり、システム処理が
困難になる。
そこで本発明は、ブロック転送の終了状況を必要に応
じてメモリに書き出すことにより、CPUがブロック転送
の終了状況を知ることができるようにして、転送を途中
で終了させても、処理可能なDMA転送制御装置を提供す
ることを目的としている。
〔課題を解決するための手段〕
本発明によるDMA転送制御装置は上記目的達成のた
め、外部記憶装置にテーブル化して格納された転送情報
を順次内部記憶に保持し、該保持された転送情報に基づ
いて複数のデータを転送するDMA転送制御装置におい
て、前記内部記憶に保持され、データ転送に伴って更新
された転送情報をデータ転送終了時に前記外部記憶装置
の所定の位置に出力する転送手段を設け、前記データ転
送終了時に前記データの転送状況を認識できるようにし
ている。
また、データ転送終了時に転送情報を記憶装置の所定
の位置に出力するか否かを決定する決定手段を設け、前
記データ転送終了時に前記記憶装置に前記転送情報を出
力させるか否かを任意に設定可能としている。
〔作用〕
本発明では、ブロック転送を終了すると、転送終了時
のレジタスの値がシステム内の所定のメモリエリアに転
送される。
したがって、ブロック転送が終了してバス権がCPUに
返還されると同時に転送終了時の情報がCPUのテリトリ
ーに移行し、CPUによってブロック転送の終了状況がシ
ステムのアプリケーションに応じて確認される。
〔実施例〕
以下、本発明の実施例を図面に基いて説明する。
第1、2図は本発明に係るDMA転送制御装置の一実施
例を示す図である。
まず、構成を説明するが、説明の都合上、システムの
メモリとシステム外部の装置間でブロック転送を行うも
のとして以下にこれを述べる。
第1図において、1はDMACであり、DMAC1はデータ制
御ユニット(以下、Dユニットという)2、マイクロシ
ーケンス制御ユニット(以下、Mユニットという)3お
よび転送要求制御ユニット(以下、Rユニットという)
4を有し、各ユニット2、3、4はDMAC1内部のデータ
バス5およびアドレスバス6を介して相互に接続され
る。DMAC1は第2図に示すように、システムのデータバ
ス7、アドレスバス8およびコントロールバス9を介し
てRAM10、IOC11およびCPU19等と接続される。Dユニッ
ト2はデータバス7、アドレスバス8およびコントロー
ルバス9に接続されており、主にDMAC1の入出力データ
を制御する。Rユニット4は行うべき処理の決定を行っ
ており、例えば、転送要求信号REQや転送終了要求信号D
ONEを受け付け、次に行うべき処理を決定する。Mユニ
ット3はRユニット4の決定した処理に従って、転送制
御情報の操作を行い、必要な制御情報をDユニット2に
出力する。
CPU19はDMA転送開始の指示に先立ってRAM10の所定の
エリアにディスクリプタをテーブル化したディスクリプ
タテーブル13を書込み、DMAC1内部のディスクリプタア
ドレスレジスタDSR15にディスクリプタテーブル13の先
頭アドレスを、ディスクリプタテーブルの更新を指示す
るレジスタDTU20にディスクリプタテーブルを更新する
かどうかを書き込む。本実施例においては1つのデータ
ブロックに対応するディスクリプタテーブルはメモリア
ドレスMAnとバイトカウントBCn(nは自然数)の2ワー
ドで構成され、ディスクリプタテーブルは転送が実行さ
れる順番に連続したメモリ領域に格納されるものとす
る。CPU19によってDMA転送開始が指示され、IOC11から
転送要求信号REQが出力されると、Rユニット4は転送
要求信号REQを受け付け、転送要求が発生していること
をMユニット3内のマイクロシーケンスコントローラ
(以下、MCユニットという)12およびDユニット2に通
知する。転送要求の発生を受けるDユニット2はCPU19
に対してバスの専有権を要求するホールド要求信号HREQ
を送出し、CPU19はバスの解放が可能ならばホールド許
可信号HACKをDユニット2に返送し、Dユニット2はホ
ールド許可信号HACKを受けて、バスの専有権を獲得した
ことをMユニット3に通知する。バスの専有権を獲得す
るとMユニット3のMCユニット12は内部に格納されたマ
イクロプログラムに従ってDMA転送を行うために必要な
制御情報をDユニット2に出力する。このとき、DMAC1
はシステムのデータバス7、アドレスバス8およびコン
トロールバス9を介してDMA転送を開始する。
なお、第2図に示すDMAC1においては、データバス
7、アドレスバス8、コントロールバス9が伝達する各
情報とDSR15、MAR16、BCR17、DSRW18およびDTU20からな
るレジスタ群14の関係を明確にするため、レジスタ群14
のみを示して他は省略してある。
前記Dユニット2、データバス5、アドレスバス6、
MCユニット12、DSR15およびDSRW18は転送手段を構成す
るとともに、MCユニット12およびDTU20は決定手段を構
成しており、MCユニット12が格納している前記マイクロ
プログラムに従って所定の機能を発揮するものである
が、詳細は後述する。
次に、作用を説明する。
DMAC1がDMA転送を開始すると、MCユニット12によって
DSR15の内容がDSRW18に転送されるとともに、Dユニッ
ト2によってDSR15に示されるRAM10のアドレスがアクセ
スされる。アクセスされたRAM10のアドレスには先頭の
データブロックに対応するディスクリプタ、すなわち、
メモリアドレスMAR1およびバイトカウントBCR1が書き込
まれており、該ディスクリプタはディスクリプタテーブ
ル13から読み出されてそれぞれMAR16およびBCR17に保持
され、DSR15は読み込んだディスクリプタのワード数だ
け更新される。そして、MCユニット12に格納されたマイ
クロプログラムに基づくMユニット3の指示によってMA
R16およびBCR17に示されるRAM10とIOC11間の転送がDユ
ニットにより行われ、MCユニット12によって転送された
バイト数づつMAR16およびBCR17が更新される。例えば、
RAM10からIOC11にDMA転送を行う場合、データバス7、
アドレス8およびコントロールバス9を介してMAR16お
よびBCR17に示されるメモリエリアのデータブロックが
読み出され、IOC11に転送される。1つのデータブロッ
クの転送が終了すると、MCユニット12によってDTU20が
参照され、ディスクリプタテーブルの更新が指示されて
いる時はDSR15とDSRW18の内容が変換され、DSR15に示さ
れるRAM10のアドレスにMAR16およびBCR17の内容が書き
込まれ、その後再びDSR15とDSRW18の内容が変換され
る。すなわち、ディスクリプタが読み出されたアドレス
に、DMA転送によって更新されたディスクリプタの値が
書き込まれる。ディスクリプタテーブルの更新が指示さ
れていない時は更新されたディスクリプタのメモリへの
書込みは行われない。ここでMCユニット12によって、予
め指示されている転送終了条件の成立の有無が確認さ
れ、転送終了条件が成立していないときは、更新されて
いるDSR15に示される、次のブロックに対応するディス
クリプタが読み込まれる。転送終了条件は、例えば、予
め決められた個数のデータブロックの転送が行われる、
等である。以後、転送終了条件が成立するまでディスク
リプタテーブル13から順次ディスクリプタが読み込まれ
RAM10とIOC11の間でDMA転送が行われるとともに、1つ
のデータブロックの転送が終了する毎に、DTU20にディ
スクリプタテーブルの更新が指示されている時は、更新
されたディスクリプタが、それが読み出されたRAM10の
アドレスに書き込まれる。
DTU20にディスクリプタテーブルの更新が指示されて
いる場合は、全てのデータブロックの転送が終了した後
に、CPU19はRAM10のディスクリプタテーブル13を読み出
すことによって各データブロックの終了状態を知ること
ができる。すなわち、バイトカウント値が零になって終
了したブロックのディスクリプタテーブルはバイトカウ
ントが零であり、転送終了要求信号DONEが入力されて終
了したブロックのディスクリプタテーブルのバイトカウ
ントは初期に設定された値から転送されたバイト数を引
いた値、すなわち転送されなかったバイト数をしめして
いる。
また、DTU20を参照してからディスクリプタテーブル
の更新を行うか否かをMCユニット12が判断するようにし
ているので、ブロック転送のみならず同じテーブルを用
いて一連のデータ転送を繰返し行うような場合にも速や
かに対応することができる。
なお、本実施例ではRAM10に対するディスクリプタの
転送をマイクロプログラムを用いて実現しているが、本
発明の適用はこれに限られるものではなく、例えば、ハ
ードウエアにより実現することも可能である。
また、本実施例ではDSR15に加えてDSRW18を設けてデ
ィスクリプタアドレスを保持しておくようにしたが、各
ディスクリプタのアドレスが連続している場合、DSRW18
に換えてDSR15の値を1つのデータブロックの転送が終
了する毎に2ワードに対応するバイト数ずつディクリメ
ントしてカウントするようにしてもよい。
〔効果〕
本発明によれば、ブロック転送を終了すると、転送終
了時のレジスタの値を所定のメモリエリアに転送する転
送制御手段を設け、ブロック転送が終了してバス権がCP
Uに返還されると同時に転送終了時の情報をCPUのテリト
リーに移行させているので、CPUはブロック転送の終了
状況をシステムのアプリケーションに応じて確認するこ
とができ、転送の途中で終了させられても処理可能なDM
A転送制御装置を得ることができる。
【図面の簡単な説明】
第1、2図は本発明に係るDMA転送制御装置の一実施例
を示す図であり、 第1図はその全体構成を示すブロック図、 第2図はそのシステムを示す要部構成図、 である。 1……DMAC、 2……Dユニット(転送制御手段)、 5……データバス(転送制御手段)、 6……アドレスバス(転送制御手段)、 12……MCユニット(転送制御手段)、 15……DSR(転送制御手段)、 18……DSRW(転送制御手段)、 12……MCユニット(決定手段)、 20……DTU(決定手段)。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】外部記憶装置にテーブル化して格納された
    転送情報を順次内部記憶に保持し、該保持された転送情
    報に基づいて複数のデータを転送するDMA転送制御装置
    において、前記内部記憶に保持され、データ転送に伴っ
    て更新された転送情報をデータ転送終了時に前記外部記
    憶装置の所定の位置に出力する転送手段を設け、前記デ
    ータ転送終了時に前記データの転送状況を認識できるよ
    うにしたことを特徴とするDMA転送制御装置。
  2. 【請求項2】データ転送終了時に転送情報を記憶装置の
    所定の位置に出力するか否かを決定する決定手段を設
    け、前記データ転送終了時に前記記憶装置に前記転送情
    報を出力させるか否かを任意に設定可能とした請求項第
    1項記載のDMA転送制御装置。
JP63090942A 1988-03-08 1988-04-13 Dma転送制御装置 Expired - Fee Related JP2594611B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63090942A JP2594611B2 (ja) 1988-04-13 1988-04-13 Dma転送制御装置
US07/318,283 US5077664A (en) 1988-03-08 1989-03-03 Direct memory access controller
DE68925048T DE68925048D1 (de) 1988-03-08 1989-03-07 Direktspeicherzugriffssteuerung
KR1019890002811A KR920007950B1 (ko) 1988-03-08 1989-03-07 다이렉트 메모리 액세스 제어장치
EP89104032A EP0332151B1 (en) 1988-03-08 1989-03-07 Direct memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63090942A JP2594611B2 (ja) 1988-04-13 1988-04-13 Dma転送制御装置

Publications (2)

Publication Number Publication Date
JPH01261763A JPH01261763A (ja) 1989-10-18
JP2594611B2 true JP2594611B2 (ja) 1997-03-26

Family

ID=14012509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63090942A Expired - Fee Related JP2594611B2 (ja) 1988-03-08 1988-04-13 Dma転送制御装置

Country Status (1)

Country Link
JP (1) JP2594611B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078596A (ja) * 2003-09-03 2005-03-24 Hitachi Ltd データ転送装置の制御方法、データ転送装置、チャネル制御装置、及び記憶デバイス制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55154623A (en) * 1979-05-23 1980-12-02 Hitachi Ltd Input and output control system
JPS56108121A (en) * 1980-01-31 1981-08-27 Nec Corp Reporting system for end of dma data transfer

Also Published As

Publication number Publication date
JPH01261763A (ja) 1989-10-18

Similar Documents

Publication Publication Date Title
US5905911A (en) Data transfer system which determines a size of data being transferred between a memory and an input/output device
US5077664A (en) Direct memory access controller
US5901328A (en) System for transferring data between main computer multiport memory and external device in parallel system utilizing memory protection scheme and changing memory protection area
JPS6375955A (ja) プログラムモ−ド・アクセス制御方式
JP2594611B2 (ja) Dma転送制御装置
JPH01125644A (ja) データ転送装置
JPH05165761A (ja) Dmaコントローラ
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JP3057754B2 (ja) メモリ回路および分散処理システム
JP2687716B2 (ja) 情報処理装置
JP3293838B2 (ja) データ転送方式
JP3265582B2 (ja) マイクロコンピュータ
JPH0736806A (ja) Dma方式
JP3585052B2 (ja) インターフェース制御装置
JPH02166548A (ja) 共通バス制御方式
JPH0310354A (ja) データ転送制御システム
JPH02133854A (ja) 転送可否メモリにアクセス可能なdmaコントローラ
JPH07146839A (ja) Dma回路
JPH07111711B2 (ja) 処理終了割込制御システム
JPH0355642A (ja) メモリー制御方式
JPH0425581B2 (ja)
JPS63155346A (ja) Ramチエツク方式
JPS63113749A (ja) チヤネル装置
JPH0778760B2 (ja) バイトアライン制御方法
JPH0769885B2 (ja) デ−タ転送装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees