JPH0285948A - Direct memory access system - Google Patents

Direct memory access system

Info

Publication number
JPH0285948A
JPH0285948A JP23780988A JP23780988A JPH0285948A JP H0285948 A JPH0285948 A JP H0285948A JP 23780988 A JP23780988 A JP 23780988A JP 23780988 A JP23780988 A JP 23780988A JP H0285948 A JPH0285948 A JP H0285948A
Authority
JP
Japan
Prior art keywords
memory
address
input
processor
output 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
JP23780988A
Other languages
Japanese (ja)
Inventor
Masabumi Asano
正文 浅野
Yuichi Kaneko
裕一 金子
Michihiro Shinchi
新地 通宏
Seiji Inaba
稲葉 誠司
Minoru Ishii
実 石井
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23780988A priority Critical patent/JPH0285948A/en
Publication of JPH0285948A publication Critical patent/JPH0285948A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the overall processing efficiency of a system by starting a direct memory access (DMA) control circuit after storing the information instructed by an instruction means into a memory means of the DMA control circuit via a processor and then completing the transfer of data between an input/output device and a memory with no second intervention of the processor. CONSTITUTION:An instruction means 7 gives an instruction to a processor 5 to store the information into a memory means 8 of a DMA control circuit 6 so that plural data blocks are transferred between an input/output device 4 and a memory 2. Then a control means 9 uses the information stored in the means 8 of the circuit 6 to transfer plural data blocks stored in the device 4 to the memory 2 and to store plural data blocks received from the memory 2 into the device 4. Thus the processor 5 starts the circuit 6 just in one time and does not need any more intervention any more. As a result, the load of the processor 5 is reduced and the overall processing efficiency of a system is improved.

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 〔概要〕 メモリと入出力装置間のデータ転送を直接記憶アクセス
モードにより実行するシステムで、プロセッサの一回の
介入によりデータ転送が完了する直接記憶アクセス制御
方式に関し、 プロセッサの負担を軽減し、システム全体の処理効率を
高めることを目的とし、 プロセッサと、メモリと、メモリとデータ転送を行う入
出力装置と、プロセッサが設定する情報に基づきメモリ
と入出力装置間のデータ転送を制御する直接記憶アクセ
ス制御回路とを備えたシステムにおいて、直接記憶アク
セス制御回路には、入出力装置とメモリ間で複数のデー
タブロックを転送するための情報を記憶する記憶手段と
、記憶手段に格納された情報に基づき、入出力装置とメ
モリ間の複数のデータブロックの転送を制御する制御手
段を設け、プロセッサには直接記憶アクセス制御回路に
設けた記憶手段に、入出力装置とメモリ間で複数のデー
タブロックを転送するための情報を格納する指示を行う
指示手段を設け、プロセッサが直接記迫アクセス制御回
路の記憶手段に、指示手段が指示する情報を格納してか
ら、直接記憶アクセス制御回路を起動した後は、プロセ
ッサが再度介入することなく、入出力装置とメモリとの
間のデータ転送を完了させる構成とする。
[Detailed Description of the Invention] [Table of Contents] Overview Industrial Application Fields Conventional Technology Problems to be Solved by the Invention Means for Solving the Problems Actions Examples Effects of the Invention [Summary] Data between memory and input/output devices This is a system that executes data transfer in direct memory access mode, with the aim of reducing the burden on the processor and increasing the processing efficiency of the entire system. In a system that includes a processor, a memory, an input/output device that transfers data to the memory, and a direct storage access control circuit that controls data transfer between the memory and the input/output device based on information set by the processor, The access control circuit includes a storage unit that stores information for transferring multiple data blocks between the input/output device and the memory, and a storage unit that stores information for transferring multiple data blocks between the input/output device and the memory based on the information stored in the storage unit. A control means for controlling block transfer is provided, and the processor is instructed to instruct the storage means provided in the direct memory access control circuit to store information for transferring a plurality of data blocks between the input/output device and the memory. After the processor stores the information instructed by the instruction means in the storage means of the direct write access control circuit and starts the direct memory access control circuit, input/output is performed without the processor's intervention again. The configuration is such that data transfer between the device and the memory is completed.

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

本発明はメモリと入出力装置との間のデータ転送を直接
記憶アクセス(以後DMAと略す)モードにより実行す
るシステムに係り、特に入出力装置とメモリ間で複数の
データブロックを転送する際に、プロセッサの一回の介
入によりデータ転送が完了する直接記憶アクセス制御方
式に関する。
The present invention relates to a system that transfers data between a memory and an input/output device using a direct memory access (hereinafter abbreviated as DMA) mode, and particularly when transferring a plurality of data blocks between an input/output device and a memory. The present invention relates to a direct storage access control method in which data transfer is completed with a single intervention by a processor.

DMAモードにより動作するシステムにおいて、例えば
、メモリと入出力装置との間でデータ転送を行う場合、
プロセッサがDMA制御回路を起動することにより、そ
の後はプロセッサの介入を必要とせず、DMA制御回路
の制御によりデータ転送が実行されるようになっている
In a system operating in DMA mode, for example, when transferring data between memory and input/output devices,
When the processor activates the DMA control circuit, data transfer is thereafter executed under the control of the DMA control circuit without requiring intervention by the processor.

ところで、プロセッサの1回の介入でメモリ側から複数
のデータブロックを入出力装置側に転送し、入出力装置
側で一つのデータブロックとすることが出来るが、入出
力装置側はプロセッサの1回の介入で1データブロツク
をメモリ側に転送し得るのみであるため、入出力装置側
で転送するデータブロックが複数あるか、複数のデータ
ブロックに分けて受信する場合、■データブロックの転
送が済む度にプロセッサの介入が必要となるが、この介
入は不要であることが望ましい。
By the way, multiple data blocks can be transferred from the memory side to the input/output device side with one intervention by the processor, and the input/output device side can combine them into one data block, but the input/output device side can be transferred only once by the processor. Since only one data block can be transferred to the memory side with the intervention of processor intervention is required at each time, but it is desirable that this intervention not be necessary.

〔従来の技術〕[Conventional technology]

第4図は従来の技術を説明するブロック図で、第5図は
第4図の動作を説明する図である。
FIG. 4 is a block diagram illustrating the conventional technique, and FIG. 5 is a diagram illustrating the operation of FIG. 4.

プロセッサ1はDMA制御回路3の内部レジスタに、メ
モリ2に設けたテーブルの先頭アドレスと、入出力装置
4のアドレスを設定し、メモリ2に転送すべきデータブ
ロック数とそのアドレス及び転送語数等を記録したテー
ブルを設定した後、D M A II御回路3を起動す
る。
The processor 1 sets the start address of the table provided in the memory 2 and the address of the input/output device 4 in the internal register of the DMA control circuit 3, and determines the number of data blocks to be transferred to the memory 2, their addresses, the number of words to be transferred, etc. After setting the recorded table, the DMA II control circuit 3 is activated.

起動されたDMA制御回路3は、内部レジスタに設定さ
れたメキリ2のテーブルの先頭アドレス及び入出力装置
4のアドレスを参照し、メモリ2に設定されたテーブル
を索引して、メモリ2に存在する転送すべきデータブロ
ック数とそのアドレス及び転送語数を認識するか、又は
メモリ2に格納するデータブロック数と、格納するメモ
リ領域の先頭アドレス及び転送語数を認識すると、メモ
リ2の指定されたアドレスから指定された数のデータブ
ロックを読出して、入出力装置4に転送するか、又は、
入出力装置4のデータブロックを読出してメモリ2に転
送し、指定されたアドレス領域に格納する。
The activated DMA control circuit 3 refers to the start address of the table of the memory 2 set in the internal register and the address of the input/output device 4, indexes the table set in the memory 2, and searches the table that exists in the memory 2. When the number of data blocks to be transferred, their addresses, and the number of words to be transferred are recognized, or the number of data blocks to be stored in memory 2, the start address of the memory area to be stored, and the number of words to be transferred, the process starts from the specified address in memory 2. Read a specified number of data blocks and transfer them to the input/output device 4, or
A data block from the input/output device 4 is read out, transferred to the memory 2, and stored in a designated address area.

従来、DMA制御回路3の1ボートにおけるDMA制御
方式は、第5図(a)に示す如く、1データブロツクを
メモリ2側から入出力装置4側へ転送するか、又は、入
出力装置4側からメモリ2側へ転送する場合と、第5図
(b)に示す如く、メモリ2側から入出力装置4側には
複数のデータブロックを転送して、一つのデータブロッ
クとして、例えば入出力装置4のバッファメモリに格納
させ、入出力装置4側からメモリ2側にはlデータブロ
ックを転送して、メモリ2の指定されたアドレス領域に
分割して格納する場合とがある。
Conventionally, the DMA control method for one boat of the DMA control circuit 3 is to transfer one data block from the memory 2 side to the input/output device 4 side, or to transfer one data block from the input/output device 4 side, as shown in FIG. 5(a). In the case of transferring multiple data blocks from the memory 2 side to the input/output device 4 side, as shown in FIG. There is a case where one data block is stored in a buffer memory of No. 4, one data block is transferred from the input/output device 4 side to the memory 2 side, and the data block is divided and stored in a designated address area of the memory 2.

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

上記の如く、従来はプロセッサの1回の介入によりメモ
リ2側からは複数のデータブロックを転送することが出
来るが、入出力装置4側からはプロセッサの1回の介入
により、1データブロツクを転送することが出来るのみ
であって、複数のデータブロックを転送することは出来
ない。
As mentioned above, conventionally, multiple data blocks can be transferred from the memory 2 side with one intervention of the processor, but one data block can be transferred from the input/output device 4 side with one intervention of the processor. It is not possible to transfer multiple data blocks.

しかし、近年、メモリ容量の増大等により、入出力装置
4側のデータブロック数が増大してきている。このため
、従来の方式では入出力装置4側から転送する複数のデ
ータブロックに対して、データ転送を行わせる場合、D
 M A II御回路3に対するプロセッサ1の起動は
1回では完了せず、入出力装置4側から転送するデータ
ブロック数に対応して、DMA制御回路3に対する起動
を行う必要がある。
However, in recent years, the number of data blocks on the input/output device 4 side has been increasing due to increases in memory capacity and the like. Therefore, in the conventional method, when data transfer is performed for multiple data blocks to be transferred from the input/output device 4 side, D
Activation of the processor 1 to the MA II control circuit 3 is not completed in one go, and it is necessary to activate the DMA control circuit 3 in accordance with the number of data blocks to be transferred from the input/output device 4 side.

即ち、プロセッサ1がDMA制御回路3の起動を行う場
合、プロセ・ノサ1はその都度DMA制御回路3の内部
レジスタにメモリ2に設けたテーブルの先頭アドレスと
、入出力装置4のバッファメモリの各データブロック格
納領域のアドレスを設定し、メモリ2内にデータブロッ
ク数とそのアドレス及び転送語数を記録したテーブルを
設定する必要がある。
That is, when the processor 1 starts up the DMA control circuit 3, the processor 1 stores the start address of the table provided in the memory 2 and each buffer memory of the input/output device 4 in the internal register of the DMA control circuit 3. It is necessary to set the address of the data block storage area and to set a table in the memory 2 in which the number of data blocks, their addresses, and the number of transferred words are recorded.

又、メモリ2側から転送される複数のデータブロックを
入出力装置4側で複数のデータブロックに分割して受信
する場合も同様であり、プロセッサlの負担が大きく、
システム全体の処理効率を低下させるという問題がある
Further, the same is true when multiple data blocks transferred from the memory 2 side are divided into multiple data blocks and received on the input/output device 4 side, which places a large burden on the processor l.
There is a problem in that the processing efficiency of the entire system is reduced.

本発明はこのような問題点に鑑み、入出力装置4側のデ
ータブロック数に関係無く、プロセッサ1のDMA制御
回路3に対する起動は一回で済むようにして、プロセッ
サ1の負担を軽減し、システム全体の処理効率を高める
ことを目的としている。
In view of these problems, the present invention is designed so that the DMA control circuit 3 of the processor 1 only needs to be activated once, regardless of the number of data blocks on the input/output device 4 side, thereby reducing the burden on the processor 1 and reducing the load on the entire system. The aim is to increase processing efficiency.

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

第1図は本発明の原理ブロック図である。 FIG. 1 is a block diagram of the principle of the present invention.

第4図と同一符号は同一機能のものを示す。プロセッサ
5は指示手段7の指示に基づき、入出力袋W4とメモリ
2の間で複数のデータブロックを転送するための情報を
、DMA制御回路6の記憶手段8に格納する。そして、
DMA制御回路6に起動信号を送出する。
The same reference numerals as in FIG. 4 indicate the same functions. Based on instructions from the instruction means 7, the processor 5 stores information for transferring a plurality of data blocks between the input/output bag W4 and the memory 2 in the storage means 8 of the DMA control circuit 6. and,
A start signal is sent to the DMA control circuit 6.

DMA制御回路6は制御手段9の制御により、プロセッ
サ5から送出された起動信号により動作を開始し、記憶
手段8に格納された情報を読出す。
Under the control of the control means 9, the DMA control circuit 6 starts operating in response to an activation signal sent from the processor 5, and reads out information stored in the storage means 8.

記憶手段8に格納された情報は、例えば、入出力装置4
から転送するか、入出力装置4に格納するデータブロッ
ク数と、メモリ2に設けたテーブルのアドレスであり、
DMA制御回路6の制御手段9はこの情報で、メモリ2
に設けたテーブルを索引し、このテーブルから各データ
ブロックのアドレス及び転送語数を読出して、メモリ2
と入出力装置4の間のデータ転送を制御する。
The information stored in the storage means 8 is stored in the input/output device 4, for example.
The number of data blocks to be transferred from or stored in the input/output device 4 and the address of the table provided in the memory 2.
The control means 9 of the DMA control circuit 6 uses this information to control the memory 2.
The address and number of transferred words of each data block are read out from the table provided in the memory 2.
and the input/output device 4.

即ち、制御手段9は記憶手段8とメモリ2に設けたテー
ブルから、データブロック数とそのアドレスを知り、入
出力装置4からデータブロックを続出し、転送語数分の
データをメモリ2に転送して、第4図で説明した如く、
メモリ2に設けられたテーブルを参照して、指定された
メモリ2のアドレス領域に書込ませるか、メモリ2のデ
ータフロックを読出し、転送語数分のデータを入出力装
置4に転送して、テーブルから索引したアドレスが指示
する入出力装置4のバッファメモリのアドレス領域に書
込ませる。
That is, the control means 9 learns the number of data blocks and their addresses from the table provided in the storage means 8 and the memory 2, outputs data blocks one after another from the input/output device 4, and transfers data corresponding to the number of transfer words to the memory 2. , as explained in Figure 4,
Referring to the table provided in the memory 2, write to the specified address area of the memory 2, or read the data block of the memory 2, transfer data for the number of transfer words to the input/output device 4, and write the table. The data is written to the address area of the buffer memory of the input/output device 4 indicated by the address indexed from.

〔作用〕[Effect]

上記の如く構成することにより、指示手段7はプロセッ
サ5に指示して、入出力装置4とメモリ2の間で複数の
データブロックを転送するための情報を、DMA制御回
路6の記憶手段8に格納させ、制御手段9はD M A
 i制御回路6の記憶手段8に格納された情報を使用し
て、入出力装置4に存在する複数のデータブロックをメ
モリ2に転送し、メモリ2から転送された複数のデータ
ブロックを入出力装置4に格納するため、プロセッサ5
はDMA制御回路6の起動を一回行うだけで、その後は
介入する必要が無く、プロセッサ5の負担が軽減される
ため、システムの処理効率を高めることが出来る。
With the above configuration, the instruction means 7 instructs the processor 5 to transfer information for transferring a plurality of data blocks between the input/output device 4 and the memory 2 to the storage means 8 of the DMA control circuit 6. The control means 9 stores the DMA
Using the information stored in the storage means 8 of the i-control circuit 6, a plurality of data blocks existing in the input/output device 4 are transferred to the memory 2, and the plurality of data blocks transferred from the memory 2 are transferred to the input/output device. 4, the processor 5
The DMA control circuit 6 only needs to be activated once, and there is no need to intervene after that, reducing the burden on the processor 5, thereby increasing the processing efficiency of the system.

〔実施例〕〔Example〕

第2図は本発明の一実施例を示す回路のブロック図で、
第3図は第2図の動作を説明する図である。
FIG. 2 is a block diagram of a circuit showing an embodiment of the present invention.
FIG. 3 is a diagram illustrating the operation of FIG. 2.

プロセッサ5はプログラム23を読出して、このプログ
ラムの指示に従い、先ずバス24を経てメモリ2に転送
情報を格納するテーブルを作成する。
The processor 5 reads the program 23 and, according to the instructions of this program, first creates a table for storing transfer information in the memory 2 via the bus 24.

第3図(a)はアレイチエインモードで動作する場合を
示し、メモリ2に、例えば転送すべきデータブロック又
は、格納すべきデータブロックが■〜■に示す如く4ブ
ロツクあり、入出力装置4には転送すべきデータブロッ
ク又は、格納すべきデータブロックが■〜■に示す如く
3ブロツクあるものとする。
FIG. 3(a) shows the case of operation in the array chain mode, in which there are, for example, four data blocks to be transferred or stored in the memory 2 as shown in (■) to (■), and the input/output device 4 is Assume that there are three data blocks to be transferred or data blocks to be stored as shown in (1) to (2).

プロセッサ5はメモリ2に第3図(a)に示す如く、テ
ーブルXとYを作成し、テーブルXにはデータブロック
■〜■の各ブロック領域の先頭アドレス(以後メモリア
ドレスと称する)及び転送語数■〜[相]と、テーブル
Yにはデータブロック■〜■の各ブロック領域の先頭ア
ドレス(以後デバイスアドレスと称する)及び転送語数
■〜0を設定する。
The processor 5 creates tables X and Y in the memory 2, as shown in FIG. (1) to [phase], the start address of each block area of data blocks (1) to (2) (hereinafter referred to as device address), and the number of transfer words (2) to 0 are set in table Y.

そして、プロセッサ5はバス24を経てDMA制御回路
6の主制御部10を制御し、バス制御部11を経てテー
ブルアドレスレジスタ18に対し、メモリ2に設けたテ
ーブルXの先頭アドレスを設定させ、ブロックカウント
レジスタ20には転送するデータブロック数(本例の場
合4)を設定させ、バス制御部22を経てテーブルアド
レスレジスタ19に対し、メモリ2に設けたテーブルY
の先頭アドレスを設定させ、ブロックカウントレジスタ
21には転送するデータブロック数(本例の場合3)を
設定させる。
Then, the processor 5 controls the main control section 10 of the DMA control circuit 6 via the bus 24, causes the table address register 18 to set the start address of the table X provided in the memory 2 via the bus control section 11, and blocks The number of data blocks to be transferred (4 in this example) is set in the count register 20, and the table Y provided in the memory 2 is sent to the table address register 19 via the bus control unit 22.
The number of data blocks to be transferred (3 in this example) is set in the block count register 21.

ここで、プロセッサ5は主制御部10に起動を指示する
。起動を指示された主制御部10はバス制御部11を経
てテーブルアドレスレジスタ18が記憶するテーブルX
の先頭アドレスと、ブロックカウントレジスタ20が記
憶するデータブロック数を読取り、又、バス制御部22
を経てテーブルアドレスレジスタ19が記憶するテーブ
ルYの先頭アドレスと、ブロックカウントレジスタ21
が記憶するデータブロック数を読取る。
Here, the processor 5 instructs the main control unit 10 to start up. The main control unit 10 that has been instructed to start uses the table X stored in the table address register 18 via the bus control unit 11.
The bus controller 22 reads the start address of the block count register 20 and the number of data blocks stored in the block count register 20.
The start address of table Y stored in the table address register 19 via the block count register 21
Reads the number of data blocks stored by.

主記憶部10はテーブルアドレスレジスタ18と19か
ら読出したテーブルXとYの先頭アドレスを用いてメモ
リ2をアクセスし、メモリ2のテーブルXとYの内容を
読取り、アドレスレジスタ12にメモリアドレス■を、
語カウントレジスタ14に転送語数■を格納し、アドレ
スレジスタ13にデバイスアドレス■を、語カウントレ
ジスタ15に転送語数■を格納する。
The main storage unit 10 accesses the memory 2 using the start addresses of tables X and Y read from the table address registers 18 and 19, reads the contents of tables X and Y in the memory 2, and writes the memory address ,
The number of transferred words ■ is stored in the word count register 14 , the device address ■ is stored in the address register 13 , and the number of transferred words ■ is stored in the word count register 15 .

主制御部IOはメモリ2から入出力装置4にデータブロ
ックを転送する場合、メモリアドレス■が指定するアド
レスで、メモリ2のデータブロック■を続出し、バス2
4を経て入出力装置4のデバイスアドレス■が指定する
バッファメモリ領域■に格納する。ここで、転送語数■
と■が同じであれば、データブロック■はデータブロッ
ク■に示す領域に総て転送される。
When transferring a data block from the memory 2 to the input/output device 4, the main control unit IO sequentially transfers the data block ■ of the memory 2 at the address specified by the memory address ■, and transfers the data block ■ to the bus 2.
4, and is stored in the buffer memory area (2) specified by the device address (2) of the input/output device 4. Here, the number of transferred words■
If and ■ are the same, the entire data block ■ is transferred to the area indicated by the data block ■.

次に主制御部10はアドレスレジスタ12にメモリアド
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス@を、語
カウントレジスタ15に転送語数@を格納する。
Next, the main control unit 10 stores the memory address ■ in the address register 12, the number of transferred words ■ in the word count register 14, the device address @ in the address register 13, and the number of transferred words @ in the word count register 15.

そして、メモリアドレス■が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス@が指定するバッファメモリ領域■に格
納する。ここで、転送語数■と@が同じであれば、デー
タブロック■はデータブロック■に示す領域に総て転送
される。
Then, the data block (2) is successively generated at the address specified by the memory address (2) and stored in the buffer memory area (2) specified by the device address @ of the input/output device 4 via the bus 24. Here, if the number of transferred words ■ and @ are the same, the entire data block ■ is transferred to the area indicated by the data block ■.

次に主制御部10はアドレスレジスタ12にメモリアド
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス0を、語
カウントレジスタ15に転送語数0を格納する。
Next, the main control unit 10 stores the memory address ■ in the address register 12, the number of transferred words ■ in the word count register 14, the device address 0 in the address register 13, and the number of transferred words 0 in the word count register 15.

そして、メモリアドレス■が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス0が指定するノ<・ソ・ファメモリ領域
■に格納する。
Then, the data block (2) is successively generated at the address specified by the memory address (2) and stored in the sofa memory area (2) specified by the device address 0 of the input/output device 4 via the bus 24.

ここで、転送語数■が0より少ないため、データブロッ
ク■はデータブロック■に示す領域に総て転送されるが
、主制御部10はプロ・ツクカウントレジスタ20と2
1の記憶するデータプロ・ツタ数の差を認識しており、
メモリ2から更に1データブロツクが転送されて来るた
め、転送語数0と■の差から、次のデータブロックを格
納するためのバッファメモリ領域■における先頭アドレ
スを認識する。
Here, since the number of transferred words ■ is less than 0, the data block ■ is all transferred to the area indicated by the data block ■, but the main control unit 10
I am aware of the difference in the number of data pro ivy stored in 1.
Since one more data block is transferred from the memory 2, the starting address in the buffer memory area (2) for storing the next data block is recognized from the difference between the number of transferred words 0 and (2).

そして、主制御部10はアドレスレジスタ12にメモリ
アドレス[相]を、語カウントレジスタ14に転送語数
[相]を格納し、メモリアドレス[相]が指定するアド
レスでデータブロック■を続出し、ノくス24を経て入
出力装置4のバ・ノファメモリ領域■に格納する。
Then, the main control unit 10 stores the memory address [phase] in the address register 12 and the number of transfer words [phase] in the word count register 14, and successively sends data blocks ■ at the address specified by the memory address [phase]. The data is stored in the buffer memory area (2) of the input/output device 4 via the storage device 24.

ここで、転送語数0と転送語数■+[相]が同じであれ
ば、データブロック■と■はデータブロック■に示す領
域に総て転送される。
Here, if the number of transferred words 0 and the number of transferred words ■+[phase] are the same, data blocks ■ and ■ are all transferred to the area indicated by data block ■.

主制御部10は入出力装置4からメモリ2にデータブロ
ックを転送する場合、テーブルXとYの内容を読取り、
アドレスレジスタ12にメモリアドレス■を、語カウン
トレジスタ14に転送語数■を格納し、アドレスレジス
タ13にデバイスアドレス0を、語カウントレジスタ1
5に転送語数■を格納する。
When transferring a data block from the input/output device 4 to the memory 2, the main control unit 10 reads the contents of tables X and Y,
Store the memory address ■ in the address register 12, the number of transferred words ■ in the word count register 14, store the device address 0 in the address register 13, and store the word count register 1.
The number of transferred words ■ is stored in 5.

そして、デバイスアドレス0が指定する入出力装置4の
バッファメモリ領域のデータブロック■を続出し、バス
24を経てメモリアドレス■が指定するメモリ2の領域
■に格納する。ここで、転送語数■と■が同じであれば
、データブロック■は、データブロック■に示す領域に
総て転送される。
Then, the data block (2) in the buffer memory area of the input/output device 4 specified by the device address 0 is sequentially output and stored in the area (2) of the memory 2 specified by the memory address (2) via the bus 24. Here, if the number of transferred words ■ and ■ are the same, the data block ■ is entirely transferred to the area indicated by the data block ■.

次に主制御部10はテーブルXとYの内容を読取り、ア
ドレスレジスタ12にメモリアドレス■を、語カウント
レジスタ14に転送語数■を格納し、アドレスレジスタ
13にデバイスアドレス0を、語カウントレジスタ15
に転送語数[相]を格納する。
Next, the main control unit 10 reads the contents of tables X and Y, stores the memory address ■ in the address register 12, the number of transferred words ■ in the word count register 14, the device address 0 in the address register 13, and the word count register 15.
The number of transferred words [phase] is stored in .

そして、デバイスアドレス@が指定する入出力装置4の
バッファメモリ領域のデータブロック■を続出し、バス
24を経てメモリアドレス■が指定するメモリ2の領域
■に格納する。ここで、転送語数■と0が同じであれば
、データブロック■は、データブロック■に示す領域に
総て転送される。
Then, the data block (2) is successively output from the buffer memory area of the input/output device 4 specified by the device address @, and stored in the area (2) of the memory 2 specified by the memory address (2) via the bus 24. Here, if the number of transferred words ■ is equal to 0, the entire data block ■ is transferred to the area indicated by the data block ■.

次に主制御部10はアドレスレジスタ12にメモリアド
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス0を、語
カウントレジスタ15に転送語数0を格納する。
Next, the main control unit 10 stores the memory address ■ in the address register 12, the number of transferred words ■ in the word count register 14, the device address 0 in the address register 13, and the number of transferred words 0 in the word count register 15.

そして、デバイスアドレス■が指定する入出力装置4の
データブロック■を続出し、メモリアドレス■が指定す
るメモリ2の領域■に転送するが、主制御部10はブロ
ックカウントレジスタ20と21の記憶するデータブロ
ック数の差を認識しており、転送語数■と同じ語数のデ
ータを転送すると、続いて、アドレスレジスタ12にメ
モリアドレス[相]を、語カウントレジスタ14に転送
語数[相]を格納し、データブロック■の残りのデータ
をメモリアドレス[相]が指定するメモリ2の領域■に
格納する。
Then, the data block ■ of the input/output device 4 specified by the device address ■ is sequentially output and transferred to the area ■ of the memory 2 specified by the memory address ■. The difference in the number of data blocks is recognized, and when data with the same number of words as the number of transferred words is transferred, the memory address [phase] is stored in the address register 12 and the number of transferred words [phase] is stored in the word count register 14. , the remaining data of the data block ■ is stored in the area ■ of the memory 2 specified by the memory address [phase].

ここで、転送語数0と転送語数■+[相]が同じであれ
ば、データブロック■はデータブロック■と■に示す領
域に総て転送される。
Here, if the number of transferred words 0 and the number of transferred words ■+[phase] are the same, the data block ■ is entirely transferred to the areas shown in the data blocks ■ and ■.

又、主制御部10はチャネル制御レジスタ16と17に
はDMA制御の起動、停止及びエラー情報等を格納して
、上記動作を遂行する。
Further, the main controller 10 stores DMA control start, stop, error information, etc. in the channel control registers 16 and 17, and performs the above operations.

第3図(b)はリンクアレイチエインモードで動作する
場合を示し、第3図(a)と同様にメモリ2に、転送す
べきデータブロック又は格納すべきデータブロックが■
〜■に示す如く4ブロツクあり、入出力装置4には転送
すべきデータブロック又は格納すべきデータブロックが
■〜■に示す如く3ブロツクあるものとする。
FIG. 3(b) shows the case of operation in the link array chain mode, and similarly to FIG. 3(a), the data block to be transferred or the data block to be stored is stored in the memory 2.
It is assumed that there are four blocks as shown in .about.--■, and that there are three data blocks to be transferred or stored in the input/output device 4 as shown in .--.

プロセッサ5はメモリ2にテーブルXとYを作成し、テ
ーブルXにはデータブロック■〜■のメモリアドレス、
転送語数及びリンクアドレス■〜[相]とデータブロッ
ク■のメそりアドレス、転送語数及びテーブル終了コー
ドOを設定し、テーブルYにはデータブロック■〜■の
デバイスアドレス、転送語数及びリンクアドレス@〜[
相]とデータブロック■のデバイスアドレス、転送語数
及びテーブル終了コード[相]を設定する。
Processor 5 creates tables X and Y in memory 2, and table X contains the memory addresses of data blocks ■~■,
Set the number of transferred words and link address ■~[phase] and the mesori address, number of transferred words, and table end code O of data block ■, and set the device address, number of transferred words, and link address @~ of data block ■~■ in table Y. [
Set the device address, number of transferred words, and table end code [phase] of the data block ■.

このリンクアレイチエインモードでは、テーブルXはリ
ンクアドレスで■から■まで結合されており、テーブル
Yはリンクアドレスで[相]からOまで結合されている
ため、プロセッサ5はテーブルアドレスレジスタ18に
対し、テーブルXの先頭アドレスを設定させ、テーブル
アドレスレジスタ19に対し、テーブルYの先頭アドレ
スを設定させるが、ブロックカウントレジスフ20と2
1にはデータブロック数を設定させない。
In this link array chain mode, tables X are linked from ■ to ■ by link addresses, and table Y is linked from [phase] to O by link addresses, so processor 5 uses The start address of table X is set, and the start address of table Y is set in table address register 19, but block count registers 20 and 2
1 does not allow the number of data blocks to be set.

ここで、プロセッサ5は主制御部10に起動を指示する
。起動を指示された主制御部10はバス制御部11を経
てテーブルアドレスレジスタ18が記憶するテーブルX
の先頭アドレスを読取り、バス制御部22を経てテーブ
ルアドレスレジスタ19が記憶するテーブルYの先頭ア
ドレスを読取る。
Here, the processor 5 instructs the main control unit 10 to start up. The main control unit 10 that has been instructed to start uses the table X stored in the table address register 18 via the bus control unit 11.
The first address of the table Y stored in the table address register 19 is read via the bus control unit 22.

主制御部10はテーブルXとYの先頭アドレスを用いて
メモリ2のテーブルXとYの内容を読取り、アドレスレ
ジスタ12にメモリアドレス@とリンクアドレス■を、
語カウントレジスク14に転送語数0を格納し、アドレ
スレジスタ13にデバイスアドレス[相]とリンクアド
レス[相]を、語カウントレジスタ15に転送語数[相
]を格納する。
The main control unit 10 reads the contents of tables X and Y in the memory 2 using the start addresses of tables X and Y, and stores the memory address @ and link address ■ in the address register 12.
The number of transferred words 0 is stored in the word count register 14, the device address [phase] and the link address [phase] are stored in the address register 13, and the number of transferred words [phase] is stored in the word count register 15.

主制御部10はメモリ2から入出力装置4にデータブロ
ックを転送する場合、メモリアドレス■が指定するアド
レスでデータブロック■を続出し、ハス24を経て入出
力装置4のデバイスアドレス[相]が指定するバッファ
メモリ領域■に格納する。
When the main control unit 10 transfers a data block from the memory 2 to the input/output device 4, it successively sends the data block ■ at the address specified by the memory address ■, and the device address [phase] of the input/output device 4 passes through the lotus 24. Store in the specified buffer memory area ■.

ここで、転送語数■と[相]が同じであれば、データブ
ロック■はデータブロック■に示す領域に総て転送され
る。
Here, if the number of transferred words ■ and [phase] are the same, the data block ■ is entirely transferred to the area indicated by the data block ■.

次に、主制御部10はリンクアドレス■を用いてテーブ
ルXからアドレスレジスタ12に、メモリアドレス[相
]とリンクアドレス■を、語カウントレジスタ14に転
送語数■を格納し、リンクアドレス[相]を用いてテー
ブルYからアドレスレジスタ13に、デバイスアドレス
[相]とリンクアドレス[相]を、語カウントレジスタ
15に転送語数[相]を格納する。
Next, the main control unit 10 stores the memory address [phase] and the link address ■ in the address register 12 from the table X using the link address ■, stores the number of transferred words ■ in the word count register 14, and stores the link address [phase] The device address [phase] and the link address [phase] are stored in the address register 13 from table Y using , and the number of transferred words [phase] is stored in the word count register 15 using .

そして、メモリアドレス■が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス[相]が指定するバッファメモリ領域■
に格納する。ここで、転送語数@と0が同じであれば、
データブロック■はデータブロック■に示す領域に総て
転送される。
Then, the data block ■ is successively generated at the address specified by the memory address ■, and the buffer memory area ■ specified by the device address [phase] of the input/output device 4 is sent via the bus 24.
Store in. Here, if the number of transferred words @ and 0 are the same,
Data block ■ is entirely transferred to the area indicated by data block ■.

次に、主制御部lOはリンクアドレス■を用いてテーブ
ルXからアドレスレジスタ12にメモリアドレス[相]
とリンクアドレス[相]を、語カウントレジスタ14に
転送語数[相]を格納し、リンクアドレスOを用いてア
ドレスレジスタ13に、デバイスアドレス[相]とテー
ブル終了コード[相]を、語カウントレジスタ15に転
送語数[相]を格納する。
Next, the main control unit IO uses the link address ■ to input the memory address [phase] from the table X into the address register 12.
Store the link address [phase] and the number of transferred words [phase] in the word count register 14, and store the device address [phase] and table end code [phase] in the address register 13 using the link address O. The number of transferred words [phase] is stored in 15.

そして、メモリアドレス@が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレスOが指定するバッファメモリ領域■に格
納する。ここで、転送語数[相]が[相]より少ないた
め、データブロック■はデータブロック■の領域に総て
転送されるが、主制御部10は転送語数[相]と[相]
の差から、次のデータブロックを格納するためのバッフ
ァメモリ領域■における先頭アドレスを認識する。
Then, the data block (2) is successively generated at the address specified by the memory address @ and stored in the buffer memory area (2) specified by the device address O of the input/output device 4 via the bus 24. Here, since the number of transferred words [phase] is less than [phase], data block ■ is entirely transferred to the area of data block ■, but the main control unit 10
From the difference, the starting address in the buffer memory area (■) for storing the next data block is recognized.

そして、主制御部IOはリンクアドレス@を用いて、テ
ーブルXからアドレスレジスタ12にメモリアドレス0
とテーブル終了コードOを、語カウントレジスタ14に
転送語数Oを格納し、メモリアドレス■が指定するアド
レスでデータブロック■を続出し、バス24を経て入出
力装置4のバッファメモリ領域■に格納する。
Then, the main control unit IO uses the link address @ to transfer the memory address 0 from the table X to the address register 12.
and the table end code O, and the number of transferred words O are stored in the word count register 14, and the data block ■ is successively generated at the address specified by the memory address ■, and is stored in the buffer memory area ■ of the input/output device 4 via the bus 24. .

ここで、転送語数[相]と転送語数[相]十〇が同じで
あれば、データブロック■と■はデータブロック■に示
す領域に総て転送される。
Here, if the number of transferred words [phase] and the number of transferred words [phase] 10 are the same, data blocks ■ and ■ are all transferred to the area indicated by data block ■.

主制御部10はアドレスレジスタ12と13に格納され
ているテーブル終了コードにより、データブロックの転
送が完了したことを認識する。
The main control unit 10 recognizes that the data block transfer is completed based on the table end code stored in the address registers 12 and 13.

主制御部10は入出力装置4からメモリ2にデータブロ
ックを転送する場合は上記同様であり、容易に類推し得
るため詳細説明は省略する。
When the main control unit 10 transfers a data block from the input/output device 4 to the memory 2, it is the same as described above, and since it can be easily inferred, a detailed explanation will be omitted.

〔発明の効果〕〔Effect of the invention〕

以上説明した如く、本発明はプロセッサ5がDMA制御
回路6の起動を一回行うだけで、その後は介入する必要
が無く、プロセッサ5の負担が軽減されるため、システ
ムの処理効率を高めることが出来る。
As explained above, according to the present invention, the processor 5 only needs to activate the DMA control circuit 6 once, and there is no need to intervene after that, reducing the burden on the processor 5, thereby increasing the processing efficiency of the system. I can do it.

第5図は第4図の動作を説明する図である。FIG. 5 is a diagram illustrating the operation of FIG. 4.

図において、 1.5はプロセッサ、   2はメモリ、3.6はDM
A制御回路、4は入出力装置、7は指示手段、    
8は記憶手段、9は制御手段、    10は主制御部
、11.22はバス制御部、 12.13はアドレスレジスタ、 14、15は語カウントレジスタ、 16、17はチャネル制御レジスタ、 18、19はテーブルアドレスレジスタ、20.21は
ブロックカウントレジスタ、23はプログラム、   
24はバスである。
In the figure, 1.5 is the processor, 2 is the memory, and 3.6 is the DM.
A control circuit, 4 an input/output device, 7 an instruction means,
8 is a storage means, 9 is a control means, 10 is a main control section, 11.22 is a bus control section, 12.13 is an address register, 14, 15 are word count registers, 16, 17 are channel control registers, 18, 19 is the table address register, 20.21 is the block count register, 23 is the program,
24 is a bus.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の原理ブロック図、 第2図は本発明の一実施例を示す回路のブロック図、 第3図は第2図の動作を説明する図、 第4図は従来の技術を説明するブロック図、(αン )司・2区の市がlと8L8月1ろ閉 本3 図Cイの1) FIG. 1 is a block diagram of the principle of the present invention. FIG. 2 is a block diagram of a circuit showing an embodiment of the present invention; Fig. 3 is a diagram explaining the operation of Fig. 2; Figure 4 is a block diagram illustrating the conventional technology. ) The city of Tsukasa and 2nd ward will be closed on August 1st. Book 3 Diagram C-A 1)

Claims (1)

【特許請求の範囲】 プロセッサ(5)と、該プロセッサ(5)が使用する命
令やデータを記憶するメモリ(2)と、該メモリ(2)
とデータ転送を行う入出力装置(4)と、該プロセッサ
(5)が設定する情報に基づき該メモリ(2)と該入出
力装置(4)との間のデータ転送を制御する直接記憶ア
クセス制御回路(6)とを備えたシステムにおいて、該
直接記憶アクセス制御回路(6)には、該入出力装置(
4)と該メモリ(2)間で複数のデータブロックを相互
に転送するための情報を記憶する記憶手段(8)と、該
記憶手段(8)に格納された情報に基づき、該入出力装
置(4)と該メモリ(2)間の複数のデータブロックの
転送を制御する制御手段(9)とを設け、該プロセッサ
(5)には、該直接記憶アクセス制御回路(6)に設け
た該記憶手段(8)に、該入出力装置(4)と該メモリ
(2)間で複数のデータブロックを相互に転送するため
の情報を格納する指示を行う指示手段(7)を設け、 該プロセッサ(5)が該直接記憶アクセス制御回路(6
)の該記憶手段(8)に、該指示手段(7)が指示する
情報を格納してから、該直接記憶アクセス制御回路(6
)を起動した後は、該プロセッサ(5)が再度介入する
ことなく、該直接記憶アクセス制御回路(6)の制御に
より、該入出力装置(4)と該メモリ(2)との間のデ
ータ転送を完了させることを特徴とする直接記憶アクセ
ス制御方式。
[Claims] A processor (5), a memory (2) that stores instructions and data used by the processor (5), and the memory (2)
an input/output device (4) that performs data transfer, and a direct storage access control that controls data transfer between the memory (2) and the input/output device (4) based on information set by the processor (5). In a system comprising a circuit (6), the direct memory access control circuit (6) includes the input/output device (
4) and a storage means (8) for storing information for mutually transferring a plurality of data blocks between the memory (2), and the input/output device based on the information stored in the storage means (8). (4) and a control means (9) for controlling the transfer of a plurality of data blocks between the memory (2), and the processor (5) is provided with a control means (9) for controlling the transfer of a plurality of data blocks between the memory (2), The storage means (8) is provided with instruction means (7) for instructing to store information for mutually transferring a plurality of data blocks between the input/output device (4) and the memory (2), and the processor (5) is the direct storage access control circuit (6
), the information instructed by the instruction means (7) is stored in the storage means (8) of the direct storage access control circuit (6).
), data between the input/output device (4) and the memory (2) is controlled by the direct storage access control circuit (6) without the processor (5) intervening again. A direct storage access control method characterized by completing a transfer.
JP23780988A 1988-09-22 1988-09-22 Direct memory access system Pending JPH0285948A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23780988A JPH0285948A (en) 1988-09-22 1988-09-22 Direct memory access system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23780988A JPH0285948A (en) 1988-09-22 1988-09-22 Direct memory access system

Publications (1)

Publication Number Publication Date
JPH0285948A true JPH0285948A (en) 1990-03-27

Family

ID=17020729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23780988A Pending JPH0285948A (en) 1988-09-22 1988-09-22 Direct memory access system

Country Status (1)

Country Link
JP (1) JPH0285948A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61276050A (en) * 1985-05-31 1986-12-06 Toshiba Corp Data transmission system
JPS63223943A (en) * 1987-03-13 1988-09-19 Fujitsu Ltd Direct memory access control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61276050A (en) * 1985-05-31 1986-12-06 Toshiba Corp Data transmission system
JPS63223943A (en) * 1987-03-13 1988-09-19 Fujitsu Ltd Direct memory access control system

Similar Documents

Publication Publication Date Title
JP2829091B2 (en) Data processing system
JPS6027964A (en) Memory access control circuit
JPH0285948A (en) Direct memory access system
JPH05197619A (en) Memory control circuit for multi-cpu
JPS592058B2 (en) Storage device
JPS62182857A (en) Input and output controller
JP2522412B2 (en) Communication method between programmable controller and input / output device
JPS6240736B2 (en)
JPS6143367A (en) Register control system
JPS63193252A (en) Macrocommand processor
JPH0477945B2 (en)
JPS60189052A (en) Memory access controller
JPH0316652B2 (en)
JPS63168720A (en) Memory buffer device
JPS60142450A (en) Storage system
JPH01248207A (en) Numerical controller
JPS61153728A (en) High speed control system of magnetic storage device
JPH0219926A (en) Microprogram storing system
JPH05158859A (en) Information processor
JPH04247540A (en) System for transferring block between memories
JPS6380332A (en) Microprocessor
JPH08161253A (en) Dma control method and dma controller
JPS61248149A (en) Data transfer controlling system between memories
JPH06110822A (en) Dma controller for information processor and data control method using the same controller
JPS61131152A (en) Dma buffer control system