JP2594611B2 - DMA transfer control device - Google Patents

DMA transfer control device

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
Japanese (ja)
Other versions
JPH01261763A (en
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=google_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/en
Priority to US07/318,283 priority patent/US5077664A/en
Priority to KR1019890002811A priority patent/KR920007950B1/en
Priority to DE68925048T priority patent/DE68925048D1/en
Priority to EP89104032A priority patent/EP0332151B1/en
Publication of JPH01261763A publication Critical patent/JPH01261763A/en
Application granted granted Critical
Publication of JP2594611B2 publication Critical patent/JP2594611B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 本発明の一実施例(第1、2図) 発明の効果 〔概要〕 DMA転送制御装置に関し、 転送の途中で終了させられても処理可能なDMA転送制
御装置を提供することを目的とし、 外部記憶装置にテーブル化して格納された転送情報を
順次内部記憶に保持し、該保持された転送情報に基づい
て複数のデータを転送するDMA転送制御装置において、
前記内部記憶に保持され、データ転送に伴って更新され
た転送情報をデータ転送終了時に前記外部記憶装置の所
定の位置に出力する転送手段を設け、前記データ転送終
了時に前記データの転送状況を認識できるようにすると
ともに、 また、データ転送終了時に転送情報を記憶装置の所定
の位置に出力するか否かを決定する決定手段を設け、前
記データ転送終了時に前記記憶装置に前記転送情報を出
力させるか否かを任意に設定可能とするように構成す
る。
Detailed Description of the Invention [Table of Contents] Overview Industrial application Field of the Invention Prior Art Problems to be Solved by the Invention Means for Solving the Problems Action Embodiment One Embodiment of the Present Invention (FIGS. 1 and 2) [Outline] Regarding the DMA transfer control device, the purpose is to provide a DMA transfer control device capable of processing even if it is terminated in the middle of the transfer, and transfer information stored in a table in an external storage device and stored sequentially. In a DMA transfer control device that holds in storage and transfers a plurality of data based on the held transfer information,
Transfer means for outputting transfer information held in the internal storage and updated along with the data transfer to a predetermined position in the external storage device when the data transfer is completed, and recognizing the transfer status of the data when the data transfer is completed And determining means for determining whether or not to output the transfer information to a predetermined position of the storage device at the end of the data transfer, and causing the storage device to output the transfer information at the end of the data transfer. It is configured to be able to arbitrarily set whether or not.

〔産業上の利用分野〕[Industrial applications]

本発明は、DMA転送制御装置に関し、詳細には、ブロ
ック転送の終了状況をメモリエリアに書き出すDMA転送
制御装置に関する。
The present invention relates to a DMA transfer control device, and more particularly, to a DMA transfer control device that writes a block transfer end status to a memory area.

近時、コンピュータシステムでは扱うことのできるデ
ータ量の増加に伴い、例えば磁気ディスク装置等補助記
憶装置との間の入出力、あるいは画像データ処理等非常
に多量のデータを高速に扱う必要があり、これらに対応
してCPUを介さずにデータ転送を行ういわゆるDMA転送が
行われている。すなわち、通常のデータ転送はCPUを介
して行われていることから、データ転送の処理速度はCP
Uの処理速度が支配的であり、CPUの処理速度が追いつか
ないような高速なデータ転送を行うことは不可能であ
る。また、さほど高速ではないデータ転送であってもそ
の量が多い場合には転送処理に時間がかかる。そこで、
DMA転送制御装置を用いて処理速度の遅いCPUを介さずに
外部の周辺装置とメモリあるいはメモリ同志でデータ転
送を直接行うことにより、データ転送速度の高速化を図
って高速あるいは多量のデータ転送を効率よく処理して
いる。
Recently, with the increase in the amount of data that can be handled by computer systems, it is necessary to handle very large amounts of data at high speed, such as input / output with an auxiliary storage device such as a magnetic disk device, or image data processing. In response to these, so-called DMA transfer for performing data transfer without the intervention of a CPU is performed. That is, since normal data transfer is performed via the CPU, the processing speed of data transfer is CP
The processing speed of U is dominant, and it is impossible to perform high-speed data transfer that the processing speed of CPU cannot keep up with. Even if the data transfer is not so fast, the transfer process takes a long time if the amount is large. Therefore,
By using a DMA transfer control device to directly transfer data between an external peripheral device and memory or between memories without using a CPU with a slow processing speed, the data transfer speed is increased to achieve high-speed or large-volume data transfer. Processing efficiently.

〔従来の技術〕[Conventional technology]

DMA転送制御装置(以下、DMAコントローラ:DMACとい
う)は前述のようなコンピュータシステムの一部であ
り、通常はCPUがシステム内部のバスを専有してデータ
転送を行っている。すなわち、バスの専有権は通常CPU
が保有しており、一般的に一つのシステム内ではCPUの
専有権が最も高い。
A DMA transfer control device (hereinafter, referred to as a DMA controller: DMAC) is a part of the computer system as described above, and usually a CPU exclusively uses a bus in the system to transfer data. That is, the bus exclusive right is usually the CPU
And generally has the highest CPU ownership within a system.

DMA転送の要求が発生すると、CPUはバスの専有権をDM
ACに譲ってバスをDMACに開放し、DMACがCPUに代わって
バスを専有し、DMA転送を行う。この場合、DMA転送の方
法には大別してレジスタダイレクトとディスクリプタチ
ェインの二つがあり、前者は転送開始以前にCPUによりD
MAC内のレジスタに書き込まれた情報、例えば、転送元
のアドレス(ソースアドレス)、転送先のアドレス(デ
ィストネーションアドレス)、転送データの量(バイト
カウント)等転送に必要な転送情報に基づきDMA転送を
行う。後者はCPUがDMA転送に先立ってシステム内のメモ
リに登録するテーブル化された転送情報(ディスクリプ
タ)をDMACが順次読み出して内部のレジスに格納し、該
レジスタの情報に基づいてDMA転送を行う。ディスクリ
プタチェインによるDMA転送では一組のディスクリプタ
で示されるブロック、すなわち、ソースあるいはディス
トネーションの各アドレスとバイトカウントで示される
メモリ内の連続したエリアのデータの転送が終了する
と、次のディスクリプタを読み込むことで複数のブロッ
ク転送が連続的に行われる。
When a DMA transfer request occurs, the CPU changes the bus
The bus is transferred to the AC and released to the DMAC, and the DMAC occupies the bus in place of the CPU and performs DMA transfer. In this case, DMA transfer methods are roughly classified into two types: register direct and descriptor chain.
DMA transfer based on information written in registers in the MAC, for example, transfer source address (source address), transfer destination address (destination address), transfer data amount (byte count), and other transfer information necessary for transfer I do. In the latter case, the DMAC sequentially reads out tabulated transfer information (descriptor) registered in the memory in the system before the DMA transfer by the CPU, stores the information in an internal register, and performs DMA transfer based on the information in the register. In the DMA transfer by the descriptor chain, when the transfer of data of a block indicated by a set of descriptors, that is, data of a continuous area in the memory indicated by each address of a source or a destination and a byte count is completed, the next descriptor is read. , A plurality of block transfers are continuously performed.

具体的には、DMACによるDMA転送に先立ってCPUはディ
スクリプタをテーブル化してメモリに書き込むととも
に、DMAC内のディスクリプタアドレスレジスタ(DSR)
にブロック転送の先頭ブロックのディスクリプタが格納
されているアドレス(以下、ディスクリプタアドレスと
いう)を書き込む。転送要求が発生すると、DMACはDSR
に示されるアドレスからディスクリプタを内部のメモリ
アドレスレジスタ(MAR)およびバイトカウントレジス
タ(BCR)に登録し、MARおよびBCRに示される1つのデ
ータブロックのDMA転送を開始する。1つのブロックのD
MA転送が終了すると、DMACは内部のマイクロプログラム
に従ってDSRの値を更新するとともに、次のディスクリ
プタを読み込んで内部のMARおよびBCRに登録し、次のデ
ータブロックの転送を開始する。このように、次に転送
するデータブロックのディスクリプタを順次読み込むこ
とによって複数のデータブロックのDMA転送が行われ
る。
Specifically, prior to the DMA transfer by the DMAC, the CPU tabulates the descriptor and writes the table to the memory, and also writes a descriptor address register (DSR) in the DMAC.
The address at which the descriptor of the first block of the block transfer is stored (hereinafter, referred to as the descriptor address). When a transfer request occurs, the DMAC
The descriptor is registered in the internal memory address register (MAR) and the byte count register (BCR) from the address indicated by (1), and DMA transfer of one data block indicated by MAR and BCR is started. D of one block
When the MA transfer ends, the DMAC updates the DSR value according to the internal microprogram, reads the next descriptor, registers it in the internal MAR and BCR, and starts the transfer of the next data block. As described above, the DMA transfer of a plurality of data blocks is performed by sequentially reading the descriptor of the data block to be transferred next.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

しかしながら、このような従来のDMA転送装置にあっ
ては、複数のブロックのデータ転送を行うとき、1つの
ブロックのデータ転送が終了する毎に次のディスクリプ
タを内部に格納して更新する構成となっていたため、次
のような問題点があった。
However, in such a conventional DMA transfer device, when data transfer of a plurality of blocks is performed, each time data transfer of one block is completed, the next descriptor is stored and updated internally. Had the following problems.

すなわち、DMACが転送を終了する場合、入出力制御装
置(以下、IOCという)からの転送終了要求による終
了、転送するデータのバイトカウント値が零になったこ
とによる終了あるいはバスエラー等の致命的なエラーに
よる終了等があるが、致命的なエラーによる終了時は次
のデイスクリプタを読み込むことがないので、CPUはDMA
C内部のレジスタを読むことによって今回の終了状況を
知ることができる。ところが、通常の転送終了時は該情
報が次のディスクリプタを読み込むことによって消滅す
るので、DMACが転送を終了したときの終了状況をCPUは
知ることができない。例えば、転送が終了した場合、既
に転送されたデータが格納されていたメモリエリアが不
明であるため、有効なデータが、どこから、どこのアド
レスに入っているのかわからなくなり、システム処理が
困難になる。
That is, when the DMAC terminates the transfer, it terminates due to a transfer termination request from an input / output controller (hereinafter referred to as IOC), terminates when the byte count value of the data to be transferred becomes zero, or causes a fatal error such as a bus error. However, when a fatal error occurs, the next descriptor is not read.
By reading the register inside C, the end status of this time can be known. However, at the end of the normal transfer, the information disappears when the next descriptor is read, so that the CPU cannot know the end status when the DMAC ends the transfer. For example, when the transfer is completed, the memory area in which the transferred data is already stored is unknown, so that it is difficult to know where valid data is stored and at what address, and system processing becomes difficult. .

そこで本発明は、ブロック転送の終了状況を必要に応
じてメモリに書き出すことにより、CPUがブロック転送
の終了状況を知ることができるようにして、転送を途中
で終了させても、処理可能なDMA転送制御装置を提供す
ることを目的としている。
Therefore, the present invention writes the block transfer end status to the memory as needed, so that the CPU can know the block transfer end status, and even if the transfer is ended halfway, the DMA that can be processed can be processed. It is intended to provide a transfer control device.

〔課題を解決するための手段〕[Means for solving the problem]

本発明によるDMA転送制御装置は上記目的達成のた
め、外部記憶装置にテーブル化して格納された転送情報
を順次内部記憶に保持し、該保持された転送情報に基づ
いて複数のデータを転送するDMA転送制御装置におい
て、前記内部記憶に保持され、データ転送に伴って更新
された転送情報をデータ転送終了時に前記外部記憶装置
の所定の位置に出力する転送手段を設け、前記データ転
送終了時に前記データの転送状況を認識できるようにし
ている。
In order to achieve the above object, a DMA transfer control device according to the present invention sequentially stores, in an internal storage, transfer information stored in a table in an external storage device, and transfers a plurality of data based on the held transfer information. In the transfer control device, there is provided transfer means for outputting transfer information held in the internal storage and updated at the time of data transfer to a predetermined position of the external storage device at the end of the data transfer, wherein the data at the end of the data transfer is provided. To be able to recognize the transfer status.

また、データ転送終了時に転送情報を記憶装置の所定
の位置に出力するか否かを決定する決定手段を設け、前
記データ転送終了時に前記記憶装置に前記転送情報を出
力させるか否かを任意に設定可能としている。
Further, a determination unit is provided for determining whether or not to output the transfer information to a predetermined position of the storage device at the end of the data transfer, and optionally determines whether or not to output the transfer information to the storage device at the end of the data transfer. Configurable.

〔作用〕[Action]

本発明では、ブロック転送を終了すると、転送終了時
のレジタスの値がシステム内の所定のメモリエリアに転
送される。
In the present invention, when the block transfer ends, the value of the status at the end of the transfer is transferred to a predetermined memory area in the system.

したがって、ブロック転送が終了してバス権がCPUに
返還されると同時に転送終了時の情報がCPUのテリトリ
ーに移行し、CPUによってブロック転送の終了状況がシ
ステムのアプリケーションに応じて確認される。
Therefore, at the same time when the block transfer is completed and the bus right is returned to the CPU, the information at the time of the transfer is transferred to the territory of the CPU, and the CPU confirms the end state of the block transfer according to the application of the system.

〔実施例〕〔Example〕

以下、本発明の実施例を図面に基いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.

第1、2図は本発明に係るDMA転送制御装置の一実施
例を示す図である。
FIGS. 1 and 2 show an embodiment of the DMA transfer control device according to the present invention.

まず、構成を説明するが、説明の都合上、システムの
メモリとシステム外部の装置間でブロック転送を行うも
のとして以下にこれを述べる。
First, the configuration will be described. For convenience of description, the following description is based on the assumption that block transfer is performed between a memory of the system and a device outside the system.

第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に
出力する。
In FIG. 1, reference numeral 1 denotes a DMAC, and DMAC 1 denotes a data control unit (hereinafter, referred to as a D unit) 2, a micro sequence control unit (hereinafter, referred to as an M unit) 3, and a transfer request control unit (hereinafter, referred to as an R unit).
The units 2, 3, and 4 are interconnected via a data bus 5 and an address bus 6 inside the DMAC 1. As shown in FIG. 2, the DMAC 1 is connected to the RAM 10, the IOC 11, the CPU 19 and the like via the data bus 7, address bus 8 and control bus 9 of the system. The D unit 2 is connected to the data bus 7, the address bus 8 and the control bus 9, and mainly controls input / output data of the DMAC1. The R unit 4 determines the processing to be performed, for example, a transfer request signal REQ and a transfer end request signal D.
ONE is accepted, and the processing to be performed next is determined. The M unit 3 operates the transfer control information in accordance with the processing determined by the R unit 4, and outputs necessary control information to the D unit 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転送を開始する。
Prior to the instruction to start the DMA transfer, the CPU 19 writes the descriptor table 13 in which the descriptor is tabulated in a predetermined area of the RAM 10 and instructs the descriptor address register DSR15 in the DMAC 1 to indicate the start address of the descriptor table 13 and to update the descriptor table. Write whether or not to update the descriptor table in register DTU20. In this embodiment, a descriptor table corresponding to one data block is composed of two words of a memory address MAn and a byte count BCn (n is a natural number), and the descriptor table is stored in a continuous memory area in the order in which transfer is performed. Shall be performed. When a DMA transfer start is instructed by the CPU 19 and a transfer request signal REQ is output from the IOC 11, the R unit 4 accepts the transfer request signal REQ and notifies the micro sequence controller (M) in the M unit 3 that a transfer request has occurred. This is notified to the MC unit 12 and the D unit 2. The D unit 2 that receives the transfer request generates the CPU 19
Hold request signal HREQ for requesting exclusive use of the bus to
The CPU 19 returns a hold permission signal HACK to the D unit 2 if the bus can be released, and the D unit 2 receives the hold permission signal HACK and notifies the M unit 3 that the exclusive right of the bus has been acquired. Notice. When the exclusive right of the bus is acquired, the MC unit 12 of the M unit 3 outputs control information necessary for performing the DMA transfer to the D unit 2 according to the microprogram stored therein. At this time, DMAC1
Starts a DMA transfer via the data bus 7, address bus 8 and control bus 9 of the system.

なお、第2図に示すDMAC1においては、データバス
7、アドレスバス8、コントロールバス9が伝達する各
情報とDSR15、MAR16、BCR17、DSRW18およびDTU20からな
るレジスタ群14の関係を明確にするため、レジスタ群14
のみを示して他は省略してある。
In the DMAC 1 shown in FIG. 2, in order to clarify the relationship between the information transmitted by the data bus 7, the address bus 8 and the control bus 9 and the register group 14 including DSR 15, MAR 16, BCR 17, DSRW 18 and DTU 20 Register group 14
Only the others are shown and the others are omitted.

前記Dユニット2、データバス5、アドレスバス6、
MCユニット12、DSR15およびDSRW18は転送手段を構成す
るとともに、MCユニット12およびDTU20は決定手段を構
成しており、MCユニット12が格納している前記マイクロ
プログラムに従って所定の機能を発揮するものである
が、詳細は後述する。
The D unit 2, the data bus 5, the address bus 6,
The MC unit 12, DSR15 and DSRW18 constitute transfer means, and the MC unit 12 and DTU20 constitute decision means, and exhibit predetermined functions according to the microprogram stored in the MC unit 12. However, details will be described later.

次に、作用を説明する。 Next, the operation will be described.

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の
アドレスに書き込まれる。
When DMAC1 starts DMA transfer, MC unit 12
The contents of DSR15 are transferred to DSRW18, and the D unit 2 accesses the address of RAM10 indicated in DSR15. The address of the accessed RAM 10 is a descriptor corresponding to the first data block, that is,
Are written memory address MAR 1 and byte count BCR 1 is the descriptor is held in the descriptor table 13, respectively MAR16 and BCR17 is read from, DSR15 is updated by the number of words descriptors read. Then, according to the instruction of the M unit 3 based on the microprogram stored in the MC unit 12, MA
The transfer between the RAM 10 and the IOC 11 indicated by R16 and BCR17 is performed by the D unit, and the MAR16 and BCR17 are updated by the number of bytes transferred by the MC unit 12. For example,
When performing a DMA transfer from the RAM 10 to the IOC 11, the data bus 7,
A data block in the memory area indicated by the MAR 16 and the BCR 17 is read out via the address 8 and the control bus 9, and transferred to the IOC 11. When the transfer of one data block is completed, the DTU 20 is referred to by the MC unit 12, and when the update of the descriptor table is instructed, the contents of the DSR 15 and the DSRW 18 are converted, and the MAR 16 and the BCR 17 are converted into the address of the RAM 10 indicated by the DSR 15. Is written, and then the contents of DSR15 and DSRW18 are converted again. That is, the value of the descriptor updated by the DMA transfer is written to the address where the descriptor was read. When the update of the descriptor table is not instructed, the updated descriptor is not written in the memory. Here, the MC unit 12 checks whether or not the transfer end condition specified in advance is satisfied. If the transfer end condition is not satisfied, the descriptor corresponding to the next block indicated in the updated DSR 15 Is read. The transfer end condition is, for example, a predetermined number of data blocks are transferred.
And so on. Thereafter, the descriptors are sequentially read from the descriptor table 13 until the transfer end condition is satisfied.
The DMA transfer is performed between the RAM 10 and the IOC 11, and when the DTU 20 is instructed to update the descriptor table every time the transfer of one data block is completed, the updated descriptor is read out. Is written to the address of the RAM 10.

DTU20にディスクリプタテーブルの更新が指示されて
いる場合は、全てのデータブロックの転送が終了した後
に、CPU19はRAM10のディスクリプタテーブル13を読み出
すことによって各データブロックの終了状態を知ること
ができる。すなわち、バイトカウント値が零になって終
了したブロックのディスクリプタテーブルはバイトカウ
ントが零であり、転送終了要求信号DONEが入力されて終
了したブロックのディスクリプタテーブルのバイトカウ
ントは初期に設定された値から転送されたバイト数を引
いた値、すなわち転送されなかったバイト数をしめして
いる。
When the update of the descriptor table is instructed to the DTU 20, after the transfer of all the data blocks is completed, the CPU 19 can know the end state of each data block by reading the descriptor table 13 of the RAM 10. In other words, the descriptor table of the block whose byte count value is zero and finished has a byte count of zero, and the byte count of the descriptor table of the block that is completed after the transfer end request signal DONE is input is calculated from the initially set value. It indicates the value obtained by subtracting the number of bytes transferred, that is, the number of bytes not transferred.

また、DTU20を参照してからディスクリプタテーブル
の更新を行うか否かをMCユニット12が判断するようにし
ているので、ブロック転送のみならず同じテーブルを用
いて一連のデータ転送を繰返し行うような場合にも速や
かに対応することができる。
In addition, since the MC unit 12 determines whether or not to update the descriptor table after referring to the DTU 20, when a series of data transfer is repeatedly performed using the same table as well as the block transfer Can respond quickly.

なお、本実施例ではRAM10に対するディスクリプタの
転送をマイクロプログラムを用いて実現しているが、本
発明の適用はこれに限られるものではなく、例えば、ハ
ードウエアにより実現することも可能である。
In this embodiment, the transfer of the descriptor to the RAM 10 is realized by using a microprogram. However, the application of the present invention is not limited to this. For example, the transfer can be realized by hardware.

また、本実施例ではDSR15に加えてDSRW18を設けてデ
ィスクリプタアドレスを保持しておくようにしたが、各
ディスクリプタのアドレスが連続している場合、DSRW18
に換えてDSR15の値を1つのデータブロックの転送が終
了する毎に2ワードに対応するバイト数ずつディクリメ
ントしてカウントするようにしてもよい。
Further, in this embodiment, the DSRW 18 is provided in addition to the DSR 15 to hold the descriptor address, but when the address of each descriptor is continuous, the DSRW 18
Instead, the value of DSR15 may be decremented and counted by the number of bytes corresponding to two words each time transfer of one data block is completed.

〔効果〕〔effect〕

本発明によれば、ブロック転送を終了すると、転送終
了時のレジスタの値を所定のメモリエリアに転送する転
送制御手段を設け、ブロック転送が終了してバス権がCP
Uに返還されると同時に転送終了時の情報をCPUのテリト
リーに移行させているので、CPUはブロック転送の終了
状況をシステムのアプリケーションに応じて確認するこ
とができ、転送の途中で終了させられても処理可能なDM
A転送制御装置を得ることができる。
According to the present invention, when the block transfer is completed, a transfer control means for transferring the value of the register at the time of completion of the transfer to a predetermined memory area is provided.
At the same time as returning to U, the information at the end of transfer is transferred to the territory of the CPU, so the CPU can check the end status of the block transfer according to the system application and it can be terminated in the middle of the transfer. DM that can be processed even
A transfer controller can be obtained.

【図面の簡単な説明】[Brief description of the drawings]

第1、2図は本発明に係るDMA転送制御装置の一実施例
を示す図であり、 第1図はその全体構成を示すブロック図、 第2図はそのシステムを示す要部構成図、 である。 1……DMAC、 2……Dユニット(転送制御手段)、 5……データバス(転送制御手段)、 6……アドレスバス(転送制御手段)、 12……MCユニット(転送制御手段)、 15……DSR(転送制御手段)、 18……DSRW(転送制御手段)、 12……MCユニット(決定手段)、 20……DTU(決定手段)。
1 and 2 are diagrams showing an embodiment of a DMA transfer control device according to the present invention, FIG. 1 is a block diagram showing an overall configuration thereof, and FIG. 2 is a main part configuration diagram showing the system. is there. 1 ... DMAC, 2 ... D unit (transfer control means), 5 ... data bus (transfer control means), 6 ... address bus (transfer control means), 12 ... MC unit (transfer control means), 15 ... DSR (transfer control means), 18 ... DSRW (transfer control means), 12 ... MC unit (decision means), 20 ... DTU (decision means).

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】外部記憶装置にテーブル化して格納された
転送情報を順次内部記憶に保持し、該保持された転送情
報に基づいて複数のデータを転送するDMA転送制御装置
において、前記内部記憶に保持され、データ転送に伴っ
て更新された転送情報をデータ転送終了時に前記外部記
憶装置の所定の位置に出力する転送手段を設け、前記デ
ータ転送終了時に前記データの転送状況を認識できるよ
うにしたことを特徴とするDMA転送制御装置。
1. A DMA transfer control device for sequentially holding transfer information stored in a table in an external storage device and storing the transfer information in an internal storage, and transferring a plurality of data based on the held transfer information. Transfer means is provided for outputting transfer information held and updated along with the data transfer to a predetermined position in the external storage device when the data transfer is completed, so that the transfer status of the data can be recognized when the data transfer is completed. A DMA transfer control device, characterized in that:
【請求項2】データ転送終了時に転送情報を記憶装置の
所定の位置に出力するか否かを決定する決定手段を設
け、前記データ転送終了時に前記記憶装置に前記転送情
報を出力させるか否かを任意に設定可能とした請求項第
1項記載のDMA転送制御装置。
And determining whether or not to output the transfer information to a predetermined position of the storage device at the end of the data transfer, and determining whether or not to output the transfer information to the storage device at the end of the data transfer. 2. The DMA transfer control device according to claim 1, wherein said DMA transfer control device can be set arbitrarily.
JP63090942A 1988-03-08 1988-04-13 DMA transfer control device Expired - Fee Related JP2594611B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63090942A JP2594611B2 (en) 1988-04-13 1988-04-13 DMA transfer control device
US07/318,283 US5077664A (en) 1988-03-08 1989-03-03 Direct memory access controller
KR1019890002811A KR920007950B1 (en) 1988-03-08 1989-03-07 Direct access memory controller
DE68925048T DE68925048D1 (en) 1988-03-08 1989-03-07 Direct memory access control
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 (en) 1988-04-13 1988-04-13 DMA transfer control device

Publications (2)

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

Family

ID=14012509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63090942A Expired - Fee Related JP2594611B2 (en) 1988-03-08 1988-04-13 DMA transfer control device

Country Status (1)

Country Link
JP (1) JP2594611B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078596A (en) * 2003-09-03 2005-03-24 Hitachi Ltd Control method for data transfer device, data transfer device, channel controller, and storage device controller

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 (en) 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 (en) Program mode access control system
JP2594611B2 (en) DMA transfer control device
JPH01125644A (en) Data transfer equipment
JPH05165761A (en) Dma controller
JP2574821B2 (en) Direct memory access controller
JP3057754B2 (en) Memory circuit and distributed processing system
JP2687716B2 (en) Information processing device
JP3293838B2 (en) Data transfer method
JP3265582B2 (en) Microcomputer
JPH0736806A (en) Dma system
JP3585052B2 (en) Interface control device
JPH02166548A (en) Common bus control system
JPH0310354A (en) Data transfer control system
JPH02133854A (en) Dma controller capable of access to transfer enable/ unable memory
JPH07146839A (en) Dma circuit
JPH07111711B2 (en) Processing end interrupt control system
JPH0355642A (en) Memory control system
JPH0425581B2 (en)
JPS63155346A (en) Ram check system
JPS63113749A (en) Channel device
JPH0778760B2 (en) Bite alignment control method
JPH0769885B2 (en) Data transfer device

Legal Events

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