JPH03160544A - Direct memory access control system - Google Patents

Direct memory access control system

Info

Publication number
JPH03160544A
JPH03160544A JP30032989A JP30032989A JPH03160544A JP H03160544 A JPH03160544 A JP H03160544A JP 30032989 A JP30032989 A JP 30032989A JP 30032989 A JP30032989 A JP 30032989A JP H03160544 A JPH03160544 A JP H03160544A
Authority
JP
Japan
Prior art keywords
memory
data
output device
input
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP30032989A
Other languages
Japanese (ja)
Inventor
Tetsuo Yamamoto
哲夫 山本
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 JP30032989A priority Critical patent/JPH03160544A/en
Publication of JPH03160544A publication Critical patent/JPH03160544A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PURPOSE:To prevent the processing of a processor from being delayed by accessing a memory by the processor regardless of data transfer between an input/output device and the memory. CONSTITUTION:A processor 5 sets a reference address to an address designating means 8 and instructs data transmission to an input/output device 10. Otherwise, after instructing the reception of the data, the data transfer between a memory 7 and the input/output device 10 is executed through a data bus 11. Accordingly, the processor 5 can execute the data transfer with the memory 7 through a data bus 12. Thus, when the processor 5 executes plural jobs, the memory 7 can be accessed even in the case that the data transfer between the input/output device 10 and the memory 7 by one job, and accordingly, the processing of the other job is prevented from being delayed.

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 〔概要〕 入出力装置とメモリ間のデータ転送に無関係に、プロセ
ッサがメモリをアクセスすることを可能とする直接メモ
リアクセス制御方式に関し、プロセッサの処理に遅延が
発生しないようにすることを目的とし、 プロセッサと、プロセッサの制御によりデータ転送を行
う人出力装置と、複数のデータバスに対応する複数のポ
ートを持ち、プロセッサと入出力装置に対し、個別にデ
ータ転送を行うメモリと、人出力装置が送出するバス使
用要求に対し、バス使用を許可する割当信号の送出を行
うバス割当回路を備えたシステムにおいて、メモリには
、プロセッサが設定するアドレスを基準として、割当信
号に対応し、書込み/読出しデータのアドレスをインク
リメント又はデクリメントして指定するアドレス指定手
段を設け、プロセッサには、アドレス指定手段に対し、
基準アドレスの設定を指示する指示手段を設け、指示手
段の指示により、プロセッサがメモリのアドレス指定手
段に基準アドレスを設定した後は、プロセッサのメモリ
に対するアクセスとは無関係に、アドレス指定手段が送
出するアドレスによって、割当信号が指定する入出力装
置が送出するデータをメモリに順次書込むか、又は、メ
モリから1順次読出したデータを割当信号が指定する入
出力装置に書込む構成とする。
[Detailed description of the invention] [Table of contents] Overview Industrial field of application Conventional technology Problems to be solved by the invention Means for solving the problems Effects of the invention [Summary] Data between input/output devices and memory Regarding the direct memory access control method that allows the processor to access memory regardless of the transfer, the purpose is to prevent delays in processor processing, and to transfer data under the control of the processor and the processor. A memory that has multiple ports that correspond to human output devices and multiple data buses, and that transfers data individually to the processor and input/output devices, and a memory that handles bus usage in response to bus usage requests sent by human output devices. In a system equipped with a bus allocation circuit that sends a permission allocation signal, the address of write/read data is specified by incrementing or decrementing the address of the write/read data in response to the allocation signal, based on the address set by the processor. Addressing means are provided, and the processor is configured to:
An instruction means for instructing the setting of a reference address is provided, and after the processor sets the reference address in the memory addressing means according to the instruction of the instruction means, the addressing means sends out the reference address regardless of the processor's access to the memory. Depending on the address, the data sent out by the input/output device specified by the allocation signal is sequentially written into the memory, or the data sequentially read from the memory is written into the input/output device specified by the allocation signal.

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

本発明はメモリと入出力装置との間のデータ転送を直接
メモリアクセス(以後DMAと略す)モードにより実行
するシステムに係り、特に入出力装置とメモリ間のデー
タ転送に無関係に、プロセッサがメモリをアクセスする
ことを可能とする直接メモリアクセス制御方式に関する
The present invention relates to a system that executes data transfer between a memory and an input/output device in a direct memory access (hereinafter abbreviated as DMA) mode, and in particular, the present invention relates to a system that executes data transfer between a memory and an input/output device in a direct memory access (hereinafter abbreviated as DMA) mode. The present invention relates to a direct memory access control method that enables direct memory access.

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

ところで、DMA制御回路がメモリと人出力装置間のデ
ータ転送を行う場合、DMA制御回路がメモリをアクセ
スするサイクルは、プロセッサのメモリに対するアクセ
スを停止させるため、プロセッサの処理速度が低下する
が、このような処理速度の低下は防止されることが必要
である。
By the way, when the DMA control circuit transfers data between the memory and the human output device, the cycle in which the DMA control circuit accesses the memory stops the processor from accessing the memory, which reduces the processing speed of the processor. It is necessary to prevent such a decrease in processing speed.

〔従来の技術〕[Conventional technology]

第4図は従来技術の一例を説明するブロック図である。 FIG. 4 is a block diagram illustrating an example of the prior art.

プロセッサ1はDMA制御回路3の内部レジスタに、メ
モリ2から読出すデータの格納された領域、又は、メモ
リ2に書込むデータを格納する領域の先頭アドレスと、
人出力装置4のアドレスと、転送語数等を設定した後、
D M A ffilJ御回路3を起動ずる。
The processor 1 stores in the internal register of the DMA control circuit 3 the start address of the area where data to be read from the memory 2 is stored or the area where the data to be written to the memory 2 is stored;
After setting the address of the human output device 4 and the number of words to be transferred, etc.
Activate the DM AffilJ control circuit 3.

起動されたDMA制御回路3は、内部レジスタに設定さ
れたメモリ2の先頭アドレス及び入出力装置4のアドレ
スを参照し、メモリ2に存在する転送すべきデータの格
納領域の先頭アドレス及び転送語数を認識するか、又は
、メモリ2に書込むべきデータを格納するメモリ領域の
先頭アドレス及び転送語数を認識すると、メモリ2の指
定されたアドレスから指定された語数のデータを順次読
出して、入出力装置4に転送するか、又は、入出力装W
4のデータを指定された語数順次読出してメモリ2に転
送し、指定されたメモリ2のアドレス領域に格納する。
The activated DMA control circuit 3 refers to the start address of the memory 2 set in the internal register and the address of the input/output device 4, and determines the start address of the storage area of the data to be transferred existing in the memory 2 and the number of words to be transferred. or when the start address of the memory area storing the data to be written to the memory 2 and the number of transferred words are recognized, the data of the specified number of words is sequentially read from the specified address of the memory 2, and the input/output device 4 or input/output device W
The data of 4 is sequentially read out in the designated number of words, transferred to the memory 2, and stored in the designated address area of the memory 2.

第5図は第4図の動作を説明するタイムチャートである
. フロセッサ1とDMA制御装置3は、共に一つのバスを
共用しているため、メモリ2に対するアクセスを同時に
行うことは出来ない。従って、プロセッサ1はDMA制
御回路3がメモリ2をアクセスするサイクルを作り、例
えば、交互にメモリ2をアクセスする。
Figure 5 is a time chart explaining the operation of Figure 4. Since the processor 1 and the DMA control device 3 both share one bus, they cannot access the memory 2 at the same time. Therefore, the processor 1 creates a cycle in which the DMA control circuit 3 accesses the memory 2, and for example, accesses the memory 2 alternately.

即ち、第5図において、横軸に時間をとると、第5図(
a)に示す如く、プロセッサ1がメモリ2をアクセスす
るのみである場合、C P tJ■,CPU■,cpu
■,CPU■に示す如く、順次メモリ2をアクセスして
処理を実行するが、DMA制御回路3が動作する場合、
第5図(b)に示す如く、プロセッサ1がCPU■〜■
に示すサイクルでメモリ2をアクセスし、DMA制御回
路3はDMA■〜■に示すサイクルでメモリ2をアクセ
スする。
That is, in Figure 5, if time is plotted on the horizontal axis, Figure 5 (
As shown in a), when processor 1 only accesses memory 2, C P tJ■, CPU■, cpu
As shown in ■ and CPU■, the memory 2 is sequentially accessed to execute processing, but when the DMA control circuit 3 operates,
As shown in FIG. 5(b), the processor 1 is the CPU■~■
The DMA control circuit 3 accesses the memory 2 in cycles shown in DMA (1) to (4).

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

プロセッサ1はメモリ2からプログラムを読出して動作
しており、処理すべきデータもメモリ2に格納している
ため、上記の如く、従来のDMA制御回路3を使用した
データ転送では、DMA制御回路3がメモリ2をアクセ
スしている間、プロセッサlの処理が待たされることと
なる。
Since the processor 1 operates by reading a program from the memory 2 and also stores data to be processed in the memory 2, as described above, in data transfer using the conventional DMA control circuit 3, the DMA control circuit 3 While accessing the memory 2, the processing of the processor l is forced to wait.

従って、プロセッサ1がシングルタスクにより一つのジ
ョブを遂行している場合は、DMA制御回路3が動作し
ても、プロセッサ1の処理の遅延は目立たないが、複数
のジョブを遂行する時は、一つのジョブでDMA制御回
路3が起動されると、他のジョブの処理の遅れが目立つ
ようになるという問題がある。
Therefore, when the processor 1 is executing one job by a single task, the delay in the processing of the processor 1 is not noticeable even if the DMA control circuit 3 operates, but when executing multiple jobs, the delay in the processing of the processor 1 is not noticeable. When the DMA control circuit 3 is activated for one job, there is a problem that delays in processing other jobs become noticeable.

本発明はこのような問題点に鑑み、入出力装置4とメモ
リ2の間のデータ転送に無関係に、プロセッサlがメモ
リ2をアクセスすることを可能とし、プロセッサ1の処
理に遅延が発生しないようにすることを目的としている
In view of these problems, the present invention enables the processor 1 to access the memory 2 regardless of data transfer between the input/output device 4 and the memory 2, and prevents delays in the processing of the processor 1. It is intended to be.

[課題を解決するための手段] 第1図は本発明の原理を説明するブロック図である。[Means to solve the problem] FIG. 1 is a block diagram illustrating the principle of the present invention.

プロセッサ5は指示手段6の指示に基づき、メモリ7の
アドレス指定手段8に対し、入出力装置IOに転送する
データの格納された領域の先頭アドレス、又は、入出力
装置10が送出するデータを書込む領域の先頭アドレス
を基準アドレスとして設定する. 又、メモリ7はプロセッサ5に対するデータバスl2を
接続するボートと、入出力装置IOに対するデータバス
11を接続するポートとは、夫々個別に備えており、プ
ロセッサ5と人出力装置lOとの間のデータ転送は、夫
々独立して個別に実行することが出来る。
Based on the instruction from the instruction means 6, the processor 5 writes the start address of the area where the data to be transferred to the input/output device IO is stored, or the data to be sent by the input/output device 10, to the addressing means 8 of the memory 7. Set the start address of the area to be inserted as the reference address. Further, the memory 7 is provided with a port for connecting the data bus 12 to the processor 5 and a port for connecting the data bus 11 to the input/output device IO, respectively. Data transfers can be performed independently and individually.

プロセッサ5はメモリ7に格納されているデータを入出
力装置10に転送する場合、前記の如く、アドレス指定
千段8に基準アドレスを設定し、入出力装置10にデー
タ受信を指示する。
When transferring data stored in the memory 7 to the input/output device 10, the processor 5 sets a reference address in the addressing stage 8 and instructs the input/output device 10 to receive the data, as described above.

人出力装置10はデータ受信を指示されると、メモリ7
に対する出力イネーブル信号OEを、例えばオフのまま
とし、バス割当回路9にバス使用要求を送出する。バス
割当回路9は入出力装置10とメモリ7の間のデータバ
ス11が使用可能であると、入出力装i11fioとア
ドレス指定手段8にバス使用許可を通知する割当信号を
送出する.割当信号を受信したアドレス指定千段8は、
メモリ7に基準アドレスを送出し、出力イネーブル信号
OEがオフのため、メモリ7からは、例えば1ワ一ド(
語)のデータが読出され、入出力装置10に送出される
。入出力装置10はバス割当回路9から割当信号を受信
しているため、このデータを取り込み、例えば内藏する
バッファメモリに書込む。
When the human output device 10 is instructed to receive data, the memory 7
For example, the output enable signal OE is kept off, and a bus use request is sent to the bus allocation circuit 9. When the data bus 11 between the input/output device 10 and the memory 7 is usable, the bus assignment circuit 9 sends an assignment signal to the input/output device i11fio and the addressing means 8 to notify permission to use the bus. The addressing stage 8 which received the assignment signal,
The reference address is sent to the memory 7, and since the output enable signal OE is off, the memory 7 outputs, for example, one word (
(word) is read out and sent to the input/output device 10. Since the input/output device 10 receives the allocation signal from the bus allocation circuit 9, it takes in this data and writes it, for example, to an internal buffer memory.

人出力装1fIOは1ワードのデータが書込まれると、
バス割当回路9に次のバス使用要求を送出し、バス割当
回路9は人出力装置10とメモリ7間のデータバス1l
が使用可能であると、入出力装置10とアドレス指定手
段8にバス使用許可を通知する割当信号を送出する。
When one word of data is written to the human output device 1fIO,
The next bus use request is sent to the bus allocation circuit 9, and the bus allocation circuit 9 sends the data bus 1l between the human output device 10 and the memory 7.
If the bus is available for use, an assignment signal is sent to the input/output device 10 and the addressing means 8 to notify permission to use the bus.

アドレス指定千段8は、この割当信号を受信すると、ア
ドレスをインクリメント又はデクリメントして、メモリ
7に送出ずるため、メモリ7からは次の1ワードのデー
タが読出され、入出力装置10に転送される。そして、
前記同様入出力装置10のバッファメモリに書込まれる
When the addressing stage 8 receives this assignment signal, it increments or decrements the address and sends it to the memory 7, so that the next one word of data is read from the memory 7 and transferred to the input/output device 10. Ru. and,
Similarly to the above, it is written to the buffer memory of the input/output device 10.

このようにして、入出力装置10がバス使用要求を送出
する度に、バス割当回路9が割当信号をアドレス指定手
段8に送出し、メモリ7にはアドレス指定手段8からア
ドレスがインクリメント又はデクリメントされて送出さ
れるため、メモリ7に格納されたデータは1ワードずつ
順次入出力装置10に転送される。
In this way, each time the input/output device 10 sends a bus use request, the bus allocation circuit 9 sends an allocation signal to the addressing means 8, and the address is incremented or decremented from the addressing means 8 to the memory 7. Therefore, the data stored in the memory 7 is sequentially transferred word by word to the input/output device 10.

そして、入出力装置10からハッファメモリが一杯にな
って、パス使用要求が送出されなくなると、メモリ7か
ら入出力装置10に対するデータ転送は終了する。
Then, when the Huffer memory from the input/output device 10 becomes full and no path use request is sent, data transfer from the memory 7 to the input/output device 10 ends.

プロセッサ5は入出力装置lOにメモリ7へ転送するデ
ータが存在する場合、前記の如く、アドレス指定千段8
に基準アドレスを設定し、入出力装置10にデータ送信
を指示する。
When the processor 5 has data to be transferred to the memory 7 in the input/output device 10, the processor 5 uses the addressing stage 8 as described above.
A reference address is set to , and the input/output device 10 is instructed to transmit data.

入出力装置lOはデータ送信を指示されると、メモリ7
に対する出力イネーブル信号OEをオンとし、バス割当
回路9にバス使用要求を送出する。
When the input/output device 1O is instructed to send data, the memory 7
The output enable signal OE for the bus is turned on, and a bus use request is sent to the bus allocation circuit 9.

バス割当回路9は人出力装置10とメモリ7の間のデー
タバスl1が使用可能であると、入出力装置10とアド
レス指定千段8に、バス使用許可を通知する割当信号を
送出する。
When the data bus l1 between the human output device 10 and the memory 7 is usable, the bus assignment circuit 9 sends an assignment signal to the input/output device 10 and the addressing stage 8 to notify permission to use the bus.

割当信号を受信した入出力装置工0は、■ワ−ドのデー
タをデータバスIIに送出し、割当信号を受信したアド
レス指定手段8は、メモリ7に基準アドレスを送出する
。この時メモリ7は出力イネーブル信号OEがオンのた
め、人出力装置10が送出する1ワードのデータを基準
アドレスが指定する領域に書込む。
The input/output device 0, which has received the assignment signal, sends the data of word ① to the data bus II, and the address designation means 8, which has received the assignment signal, sends the reference address to the memory 7. At this time, since the output enable signal OE is on, the memory 7 writes one word of data sent from the human output device 10 into the area designated by the reference address.

人出力装置10は1ワードのデータ転送が完了すると、
バス割当回路9に次のバス使用要求を送出し、バス割当
回路9は入出力装置10とメモリ7の間のデータバス1
1が使用可能であると、入出力装置10とアドレス指定
手段8にバス使用許可を通知する割当信号を送出する。
When the data transfer of one word is completed, the human output device 10
The bus allocation circuit 9 sends the next bus use request to the bus allocation circuit 9, and the bus allocation circuit 9 connects the data bus 1 between the input/output device 10 and the memory 7.
1 is usable, an assignment signal is sent to the input/output device 10 and the addressing means 8 to notify permission to use the bus.

入出力装置10は割当信号を受信すると、次のlワード
のデータをデータバス11に送出し、メモリ7のアドレ
ス指定手段8は、前記割当信号を受信すると、アドレス
をインクリメント又はデクリメントして、メモリ7に送
出する。従って、前記同様にしてメモリ7には、アドレ
ス指定手段8がインクリメント又はデクリメントしたア
ドレスの指定する領域に、■ワードのデータが書込まれ
る。
When the input/output device 10 receives the assignment signal, it sends the next l word of data to the data bus 11, and when the address designation means 8 of the memory 7 receives the assignment signal, it increments or decrements the address and writes it to the memory. Send on 7. Therefore, in the same manner as described above, the data of the {circle around (1)} word is written in the area designated by the address incremented or decremented by the address designating means 8 in the memory 7.

このようにして、入出力装置10がバス使用要求を送出
する度に、バス割当回路9が割当信号をアドレス指定千
段8に送出し、メモリ7にはアドレス指定手段8からア
ドレスがインクリメント又はデクリメントされて送出さ
れるため、人出力装置10が送出するデータはメモリ7
に順次書込まれる。
In this way, each time the input/output device 10 sends a bus use request, the bus allocation circuit 9 sends an allocation signal to the addressing stage 8, and the address is incremented or decremented from the addressing means 8 to the memory 7. Therefore, the data sent by the human output device 10 is stored in the memory 7.
are written sequentially.

そして、人出力装置10から転送すべきデータが無くな
り、バス使用要求が送出されなくなると、入出力装置1
0からメモリ7に対するデータ転送は終了する。
Then, when there is no more data to be transferred from the human output device 10 and bus usage requests are no longer sent, the input/output device 1
Data transfer from 0 to memory 7 is completed.

ブロセ・冫サ5は指示手段6の指示により、アドレス指
定千段8にアドレスを設定した後は、入出力装置10の
メモリ7に対するアクセスに関係無く、データバス12
を経てメモリ7とデータ転送を行う。
After setting the address in the address designation stage 8 according to the instruction from the instruction means 6, the broker 5 transfers the data bus 12 regardless of access to the memory 7 of the input/output device 10.
Data is transferred to the memory 7 via the .

〔作用〕[Effect]

上記の如く構成することにより、プロセッサ5はアドレ
ス指定千段8に基準アドレスを設定し、入出力装置10
にデータの送信を指示するか、データの受信を指示した
後は、メモリ7と入出力装置1(10間のデータ転送は
データバスI1を介して実行されるため、プロセッサ5
はデータバス12を介してメモリ7とデータ転送を行う
ことが出来る。
With the above configuration, the processor 5 sets a reference address in the addressing stage 8, and the input/output device 10
After instructing the processor 5 to send data or to receive data, the processor 5
can perform data transfer with the memory 7 via the data bus 12.

従って、プロセッサ5は複数のジョブを遂行する場合、
一つのジョブで入出力装置10とメモリ7間でデータ転
送が行われても、メモリ7をアクセスすることが可能な
ため、他のジョブの処理の遅れを無くすことが出来る。
Therefore, when the processor 5 performs multiple jobs,
Even if data is transferred between the input/output device 10 and the memory 7 for one job, the memory 7 can be accessed, thereby eliminating delays in processing other jobs.

〔実施例] 第2図は本発明の一実施例を示す回路のブロンク図であ
る。
[Embodiment] FIG. 2 is a block diagram of a circuit showing an embodiment of the present invention.

プロセッサ5は、人出力装M1 0と13に夫々メモリ
7からデータを転送する場合、指示プログラムl7の指
示により、メモリ7のアドレス解析部l4に、カウンタ
15のアドレスを送出し、カウンタl5を選択させると
、このカウンタ15に対し、入出力装置10に送信する
データが格納されているメモリ7の領域の先頭アドレス
を設定する。
When transferring data from the memory 7 to the human output devices M1 0 and 13, the processor 5 sends the address of the counter 15 to the address analysis unit l4 of the memory 7 according to instructions from the instruction program l7, and selects the counter l5. Then, the counter 15 is set to the starting address of the area of the memory 7 in which data to be transmitted to the input/output device 10 is stored.

続いて、同様にカウンタ16を選択させると、このカウ
ンタl6に対し、入出力装置l3に送信するデータが格
納されているメモリ7の領域の先頭アドレスを設定する
Subsequently, when the counter 16 is selected in the same manner, the starting address of the area of the memory 7 in which data to be transmitted to the input/output device l3 is stored is set to the counter l6.

プロセッサ5は続いて、アドレスバスを経て入出力装置
10を選択すると、データバスl2を経て入出力装置1
0に対し、データの受信を指示する。そして、アドレス
バスを経て入出力装置13を選択すると、データバスl
2を経て人出力装置13に対し、データの受信を指示す
る。
The processor 5 then selects the input/output device 10 via the address bus, and selects the input/output device 1 via the data bus l2.
0 to receive data. Then, when the input/output device 13 is selected via the address bus, the data bus l
2, the human output device 13 is instructed to receive the data.

データ受信を指示された人出力装置10は、出力イネー
ブル信号OEをオフとしたまま、データバスl1の使用
要求をバス割当回路9に送出する。
The human output device 10 that has been instructed to receive data sends a request to use the data bus I1 to the bus allocation circuit 9 while keeping the output enable signal OE off.

バス割当回路9はデータバス11の使用状態を調べ、人
出力装置13が使用していないことを検出すると、入出
力装置lOとカウンタ15に割当信号を送出する。
The bus allocation circuit 9 checks the usage status of the data bus 11, and if it detects that the human output device 13 is not using it, it sends an allocation signal to the input/output device IO and the counter 15.

カウンタ15は、最初の割当信号が入力されると、プロ
セッサ5から設定されたアドレスをメモリ7に送出し、
メモリ7は出力イネーブル信号OEがオフであるため、
指定されたアドレスから1ワードのデータを読出して、
データノ\ス1lに送出する。
When the first assignment signal is input, the counter 15 sends the address set from the processor 5 to the memory 7,
Since the output enable signal OE of the memory 7 is off,
Read one word of data from the specified address,
Send to data node 1l.

入出力装置lOは割当信号を受信すると、データバス1
1に送出されたデータを取り込み、内部バッファメモリ
に書込む。
When the input/output device IO receives the assignment signal, it transfers the data bus 1
1 and writes it to the internal buffer memory.

データ受信を指示された人出力装置13は、出力イネー
ブル信号OEをオフとしたまま、データバス11の使用
要求をバス割当回路9に送出する。
The human output device 13 that has been instructed to receive data sends a request to use the data bus 11 to the bus allocation circuit 9 while keeping the output enable signal OE off.

バス割当回路9はデータバス11の使用状態を調べ、人
出力装置10が使用していないことを検出すると、入出
力装置13とカウンタ16に割当信号を送出する。
The bus allocation circuit 9 checks the usage status of the data bus 11, and if it detects that the human output device 10 is not using it, it sends an allocation signal to the input/output device 13 and the counter 16.

カウンタl6は、最初の割当信号が入力されると、プロ
セッサ5から設定されたアドレスをメモI7 7に送出
し、メモリ7は出力イネーブル信号OEがオフであるた
め、指定されたアドレスから1ワードのデータを読出し
て、データバス1lに送出する。
When the first allocation signal is input, the counter l6 sends the address set from the processor 5 to the memory I77, and since the output enable signal OE is off, the memory 7 receives one word from the specified address. The data is read and sent to the data bus 1l.

入出力装置13は割当信号を受信すると、データバス1
1に送出されたデータを取り込み、内部バッファメモリ
に書込む。
When the input/output device 13 receives the assignment signal, the input/output device 13 connects the data bus 1
1 and writes it to the internal buffer memory.

人出力装置10と13は、次のデータを受信するため、
再びバス使用要求をバス割当回路9に送出し、バス割当
回路9はデータバスl1の使用状態を調べ、使用可能と
なると、先に使用要求を送出した入出力装置に対し、割
当信号を送出する。
The human output devices 10 and 13 receive the following data:
The bus use request is sent to the bus allocation circuit 9 again, and the bus allocation circuit 9 checks the use status of the data bus l1, and when it becomes usable, sends an allocation signal to the input/output device that sent the use request earlier. .

例えば、人出力装置10が優先した場合、割当信号が入
出力装置10とカウンタ15に送出され、カウンタ15
は受信した割当信号が最初では無いことから、アドレス
を例えば一つカウントアップしてメモリ7に送出する。
For example, if the human output device 10 has priority, an allocation signal is sent to the input/output device 10 and the counter 15, and the
Since the received assignment signal is not the first one, the address is incremented by one, for example, and sent to the memory 7.

従って、メモリ7からは次のデータが1ワード読出され
、データ八゜ス11に送出される。そして、割当信号を
受信した入出力装W1 0のバッファメモリに書込まれ
る。
Therefore, one word of the next data is read from the memory 7 and sent to the data space 11. Then, it is written into the buffer memory of the input/output device W10 that received the assignment signal.

このようにして、入出力装置lOのバッファメモリに順
次1ワードずつデータが書込まれ、一杯になると入出力
装ffloはバス使用要求をバス割当回路9に送出しな
いため、入出力装置lOに対するデータ転送は終了し、
同様に、入出力装置l3のバッファメモリが一杯になる
と、人出力装置l3に対するデータ転送も終了する。
In this way, data is sequentially written into the buffer memory of the input/output device IO one word at a time, and when it becomes full, the input/output device fflo does not send a bus use request to the bus allocation circuit 9, so the data for the input/output device IO is The transfer is finished and
Similarly, when the buffer memory of the input/output device l3 becomes full, data transfer to the human output device l3 ends.

プロセッサ5は入出力装置10と13からメモリ7にデ
ータを転送させる場合、指示プログラム17の指示によ
り、メモリ7のアドレス解析部14にカウンタl5のア
ドレスを送出し、カウンタ15を選択させると、このカ
ウンタl5に対し、入出力装110から受信するデータ
を格納するメモリ7の領域の先頭アドレスを設定する。
When the processor 5 transfers data from the input/output devices 10 and 13 to the memory 7, the processor 5 sends the address of the counter 15 to the address analysis section 14 of the memory 7 according to instructions from the instruction program 17, and selects the counter 15. The starting address of the area of the memory 7 that stores data received from the input/output device 110 is set for the counter l5.

続いて、同様にカウンタl6を選択させると、このカウ
ンタ16に対し、人出力装置l3から受信するデータを
格納するメモリ7の領域の先頭アドレスを設定する。
Subsequently, when the counter 16 is selected in the same manner, the starting address of the area of the memory 7 that stores the data received from the human output device 13 is set for this counter 16.

プロセッサ5は続いて、アドレスバスを経て入出力装置
10を選択すると、データバス12を経て人出力装W1
 0に対し、データの送信を指示する。そして、アドレ
スバスを経て入出力装置l3を選択すると、データバス
12を経て入出力装置13に対し、データの送信を指示
する。
The processor 5 then selects the input/output device 10 via the address bus, and selects the input/output device W1 via the data bus 12.
0 to send data. When the input/output device 13 is selected via the address bus, the input/output device 13 is instructed to transmit data via the data bus 12.

データ送信を指示された人出力装置10は、出力イネー
ブル信号OEをオンとし、データバス1lの使用要求を
パス割当回路9に送出する。バス割当回路9はデータバ
スl1の使用状態を調べ、入出力装置l3が使用してい
ないことを検出すると、人出力装置10とカウンタl5
に割当信号を送出する。
The human output device 10 that has been instructed to transmit data turns on the output enable signal OE and sends a request to use the data bus 1l to the path allocation circuit 9. The bus allocation circuit 9 checks the usage status of the data bus l1, and when it detects that the input/output device l3 is not in use, it transfers the data bus l1 to the human output device 10 and the counter l5.
Sends an allocation signal to.

人出力装置10は割当信号を受信すると、バ・ソファメ
モリから1ワードのデータを読出して、データバス11
に送出する。
When the human output device 10 receives the assignment signal, it reads out one word of data from the bus memory and sends it to the data bus 11.
Send to.

カウンタ15は最初の割当信号が人力されると、プロセ
ッサ5から設定されたアドレスをメモリ7に送出し、メ
モリ7は出力イネーブル信号OEがオンであるため、デ
ータバスl1から人力されるlワードのデータを取り込
み、カウンタl5が指定するアドレスに書込む. データ送信を指示された人出力装置l3は、出カイネー
ブル信号OEをオンとし、データバス1lの使用要求を
バス割当回路9に送出する。バス割当回路9はデータバ
ス1lの使用状態を調べ、人出力装置10が使用してい
ないことを検出すると、入出力装置13とカウンタ16
に割当信号を送出する. 人出力装置13は割当信号を受信すると、バッファメモ
リから1ワードのデータを言売出して、データバス1l
に送出する。
When the first assignment signal is manually input, the counter 15 sends the address set from the processor 5 to the memory 7, and since the output enable signal OE is on, the memory 7 receives the l word manually input from the data bus l1. Take in the data and write it to the address specified by counter l5. The human output device 13, which has been instructed to transmit data, turns on the output enable signal OE and sends a request to use the data bus 11 to the bus allocation circuit 9. The bus allocation circuit 9 checks the usage status of the data bus 1l, and when it detects that the human output device 10 is not using it, the input/output device 13 and the counter 16
Sends an allocation signal to. When the human output device 13 receives the assignment signal, it outputs one word of data from the buffer memory and sends it to the data bus 1l.
Send to.

カウンタ16は最初の割当信号が入力されると、プロセ
ッサ5から設定されたアドレスをメモリ7に送出し、メ
モリ7は出力イネーブル信号OEがオンであるため、デ
ータバス11から人力されるlワードのデータを取り込
み、カウンタl6が指定するアドレスに書込む。
When the counter 16 receives the first allocation signal, it sends the address set from the processor 5 to the memory 7, and since the output enable signal OE is on, the memory 7 receives the l word manually input from the data bus 11. The data is taken in and written to the address specified by the counter l6.

人出力装置10と13は、次のデータを送信するため、
再びバス使用要求をバス割当回路9に送出し、バス割当
回路9はデータバス11の使用状態を調べ、使用可能と
なると、先に使用要求を送出した入出力装置に対し、割
当信号を送出する。
The human output devices 10 and 13 transmit the following data:
The bus use request is sent again to the bus allocation circuit 9, and the bus allocation circuit 9 checks the use status of the data bus 11, and when it becomes usable, sends an allocation signal to the input/output device that sent the use request earlier. .

例えば、入出力装置10が優先した場合、割当信号が入
出力装置10とカウンタl5に送出され、カウンタ15
は割当信号が最初では無いため、アドレスを例えば一つ
カウントアップしてメモリ7に送出する。
For example, if the input/output device 10 has priority, an allocation signal is sent to the input/output device 10 and counter l5, and counter 15
Since the allocation signal is not the first, the address is counted up by one and sent to the memory 7, for example.

割当信号を受信した入出力装置10のバッファメモリか
らは、次の1ワードのデータが読出され、データバス1
1に送出される。そして、メモリ7はデータバス11か
ら人力されるlワードのデータを取り込み、カウンタl
5が指定するアドレスに書込む。
The next one word of data is read from the buffer memory of the input/output device 10 that has received the assignment signal, and the data bus 1
1. Then, the memory 7 takes in l words of data manually inputted from the data bus 11, and stores the data in the counter l.
Write to the address specified by 5.

このようにして、入出力装置10のバッファメモリから
順次1ワードずつデータが読出され、バッファメモリが
空になると、人出力装110はバス使用要求をバス割当
回路9に送出しないため、人出力装置IOのデータ転送
は終了し、同様に、入出力装置13のバッファメモリが
空になると、人出力装置13のデータ転送も終了する。
In this way, data is read one word at a time from the buffer memory of the input/output device 10, and when the buffer memory becomes empty, the human output device 110 does not send a bus use request to the bus allocation circuit 9, so the human output device The IO data transfer ends, and similarly, when the buffer memory of the input/output device 13 becomes empty, the data transfer of the human output device 13 also ends.

第3図は第2図の動作を説明するタイムチャートである
FIG. 3 is a time chart explaining the operation of FIG. 2.

プロセッサ5は第3図(a)のDMA情報セットに示す
如く、或るサイクルで人出力装置lOと13にメモリ7
からデータを転送するか、入出力装置lOとl3からメ
モリ7にデータを転送させる必要が発生すると、前記の
如く、メモリ7のアドレス解析部14を経てカウンタl
5と16にアドレスを設定し、人出力装置10と13に
データの送信又は受信を指示する。
As shown in the DMA information set in FIG.
When it becomes necessary to transfer data from the input/output devices 1O and 13 to the memory 7, the data is transferred from the counter 1 via the address analysis section 14 of the memory 7, as described above.
5 and 16, and instruct the human output devices 10 and 13 to send or receive data.

人出力装置10と13は前記の如く動作し、第3図(b
)に示す如く、人出力装置10はDMA[相]に示すサ
イクルで、人出力装置13はDMA■に示すサイクルで
データバス11を介し、メモリ7とデータ転送を行う,
DMA[相]とDMA@が交互にデータバス1lを占有
しないのは、バス割当回路9に対するバス使用要求の送
出順によるものである。
The human output devices 10 and 13 operate as described above and are shown in FIG.
), the human output device 10 transfers data with the memory 7 via the data bus 11 in the cycle indicated by DMA [phase], and the human output device 13 transfers data to the memory 7 in the cycle indicated by DMA ■.
The reason why DMA[phase] and DMA@ do not alternately occupy the data bus 1l is due to the order in which bus use requests are sent to the bus allocation circuit 9.

又、プロセッサ5は第3図(a)のCPU■〜■に示す
サイクルで、入出力装Wl O又は13とメモI7 7
の間のデータ転送とは無関係に、データバス12を介し
てメモリ7とデータ転送を行う。
In addition, the processor 5 inputs and outputs the input/output device WlO or 13 and the memo I7 in the cycles shown by CPU■ to ■ in FIG. 3(a).
Data is transferred to and from the memory 7 via the data bus 12, regardless of the data transfer during that time.

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

以上説明した如く、本発明は複数のジップを遂行するプ
ロセッサが、一つのジョブで入出力装置とメモリ間でデ
ータ転送を行わせても、他のジョブの処理に遅れを発生
させることを防止することが出来る。
As explained above, the present invention prevents a processor that performs multiple zips from causing a delay in the processing of other jobs even if data is transferred between an input/output device and memory for one job. I can do it.

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

第1図は本発明の原理を説明するブロック図、第2図は
本発明の一実施例を示す回路のブロック図、 第3図は第2図の動作を説明するタイムチャート、第4
図は従来技術の一例を説明するブロック図、第5図は第
4図の動作を説明するタイムチャートである。 図において、 1.5はプロセッサ、 2.7はメモリ、3はDMA制
御回路、4, 10. 13は入出力装置、6は指示手
段、    8はアドレス指定手段、9はバス割当回路
、 11.12はデータバス、14はアドレス解析部、
15. 16はカウンタである。 従来技術の一イク1と説明i−3フ゛口・,7図第 4 図
FIG. 1 is a block diagram explaining 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 time chart explaining the operation of FIG. 2, and FIG.
The figure is a block diagram explaining an example of the prior art, and FIG. 5 is a time chart explaining the operation of FIG. 4. In the figure, 1.5 is a processor, 2.7 is a memory, 3 is a DMA control circuit, 4, 10. 13 is an input/output device, 6 is an instruction means, 8 is an address designation means, 9 is a bus allocation circuit, 11.12 is a data bus, 14 is an address analysis section,
15. 16 is a counter. Part 1 of the prior art and explanation i-3 Fig. 7 Fig. 4

Claims (1)

【特許請求の範囲】 プロセッサ(5)と、該プロセッサ(5)の制御により
データ転送を行う入出力装置(10)と、複数のデータ
バス(11)(12)に対応する複数のポートを持ち、
該プロセッサ(5)と該入出力装置(10)に対し、夫
々個別にデータ転送を行うメモリ(7)と、該入出力装
置(10)が送出するバス使用要求に対し、バスの使用
許可を通知する割当信号の送出を行うバス割当回路(9
)とを備えたシステムにおいて、 該メモリ(7)には、該プロセッサ(5)が設定するア
ドレスを基準として、該バス割当回路(9)が送出する
割当信号に対応して、書込み/読出しデータのアドレス
を順次インクリメント又はデクリメントして指定するア
ドレス指定手段(8)を設け、該プロセッサ(5)には
、該アドレス指定手段(8)に対し、前記基準アドレス
の設定を指示する指示手段(6)を設け、 該指示手段(6)の指示により、該プロセッサ(5)が
該メモリ(7)のアドレス指定手段(8)に基準アドレ
スを設定した後は、該プロセッサ(5)の該メモリ(7
)に対するアクセスとは無関係に、該アドレス指定手段
(8)に設定された基準アドレスに基づき、該アドレス
指定手段(8)が送出するアドレスによって、該バス割
当回路(9)の送出する割当信号が指定する入出力装置
(10)が送出するデータを該メモリ(7)に順次書込
むか、又は、該メモリ(7)から順次読出したデータを
該バス割当回路(9)の送出する割当信号が指定する入
出力装置(10)に書込むことを特徴とする直接メモリ
アクセス制御方式。
[Claims] A processor (5), an input/output device (10) that transfers data under the control of the processor (5), and a plurality of ports corresponding to a plurality of data buses (11) and (12). ,
Permission to use the bus is granted to the processor (5) and the input/output device (10), in response to bus usage requests sent by the memory (7) and the input/output device (10), respectively, which transfer data individually. A bus assignment circuit (9) that sends out assignment signals to be notified.
), the memory (7) stores write/read data based on the address set by the processor (5) and in response to the allocation signal sent by the bus allocation circuit (9). The processor (5) is provided with an addressing means (8) for sequentially incrementing or decrementing the addresses of ), and after the processor (5) sets a reference address in the addressing means (8) of the memory (7) according to the instruction of the instruction means (6), the memory ( 7
), the allocation signal sent out by the bus allocation circuit (9) is determined by the address sent out by the addressing means (8) based on the reference address set in the addressing means (8). The assignment signal sent by the bus assignment circuit (9) sequentially writes the data sent by the designated input/output device (10) to the memory (7), or sequentially reads the data from the memory (7). A direct memory access control method characterized by writing to a designated input/output device (10).
JP30032989A 1989-11-17 1989-11-17 Direct memory access control system Pending JPH03160544A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30032989A JPH03160544A (en) 1989-11-17 1989-11-17 Direct memory access control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30032989A JPH03160544A (en) 1989-11-17 1989-11-17 Direct memory access control system

Publications (1)

Publication Number Publication Date
JPH03160544A true JPH03160544A (en) 1991-07-10

Family

ID=17883463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30032989A Pending JPH03160544A (en) 1989-11-17 1989-11-17 Direct memory access control system

Country Status (1)

Country Link
JP (1) JPH03160544A (en)

Similar Documents

Publication Publication Date Title
US5685005A (en) Digital signal processor configured for multiprocessing
US5634076A (en) DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
JPS6040067B2 (en) Distributed control multiprocessing system
JPH01147647A (en) Data processor
US5901291A (en) Method and apparatus for maintaining message order in multi-user FIFO stacks
JPH04363746A (en) Microcomputer system having dma function
JP4642531B2 (en) Arbitration of data requests
JP2618223B2 (en) Single chip microcomputer
JPH03160544A (en) Direct memory access control system
JPH051504B2 (en)
JP3205992B2 (en) Direct memory access transfer controller
JP2522412B2 (en) Communication method between programmable controller and input / output device
JPH06175911A (en) Memory control system
JPS63180153A (en) Line-back control system for cache memory
JP3201439B2 (en) Direct memory access control circuit
JP2705955B2 (en) Parallel information processing device
JP2856709B2 (en) Bus coupling system
JP2589205B2 (en) Communication control system
JPS63231668A (en) Interruption queue control system
JPH1083373A (en) Programmable controller
JPH06314231A (en) Shared memory access control method
JPH10134013A (en) Multi-cpu system
JPS6146545A (en) Input and output instruction control system
JPS60142450A (en) Storage system
JP2004528633A (en) Harvard architecture microprocessor with linear addressable space.