JPH08249266A - Data transfer circuit - Google Patents

Data transfer circuit

Info

Publication number
JPH08249266A
JPH08249266A JP5134795A JP5134795A JPH08249266A JP H08249266 A JPH08249266 A JP H08249266A JP 5134795 A JP5134795 A JP 5134795A JP 5134795 A JP5134795 A JP 5134795A JP H08249266 A JPH08249266 A JP H08249266A
Authority
JP
Japan
Prior art keywords
transfer
data transfer
data
channel
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
JP5134795A
Other languages
Japanese (ja)
Inventor
Yuji Tanaka
勇司 田中
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP5134795A priority Critical patent/JPH08249266A/en
Publication of JPH08249266A publication Critical patent/JPH08249266A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To continuously perform the operation of plural data transfer channels, to prevent a free clock cycle from being generated in a transfer bus, and to speed up the data transfer. CONSTITUTION: A transfer channel for transferring data through a data bus 233 is set between I/O devices 213 and 214 and a memory 215. When a data transfer request nDRQ is issued from the I/O devices 213 and 214. it is received by request signal confirmation parts 221 and 222 and the channel for transferring the data is decided corresponding to priority predetermined in a priority confirmation part 223. Corresponding to the decided channel, transfer preparation parts 224 and 225 and transfer parts 226 and 227 are operated, addresses from address counters 229 and 231 are selected by an address selector 232 and the memory 215 is accessed through an address bus 234. The selected I/O devices 213 and 214 start the operation by confirmation smgnals nDAK.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数のデータ転送チャ
ネルが存在するデータ転送回路であって、転送要求に応
じて高速にデータ転送が可能なデータ転送回路に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer circuit having a plurality of data transfer channels and capable of high speed data transfer in response to a transfer request.

【0002】[0002]

【従来の技術】従来から、コンピュータシステムには、
入出力装置(Input Output Device、以下「I/Oデバ
イス」と略称する)とメモリとの間で直接データ転送を
行うダイレクトメモリアクセス(以下「DMA」と略称
する)の機能が高速データ転送のために備えられてい
る。I/Oデバイスとメモリとの間の高速なデータ転送
は、たとえばコンピュータシステムと外部記憶装置との
間でのデータ転送や、グラフィック画像出力などのため
に必要である。一般にDMAは、中央処理装置(以下
「CPU」と略称する)がプログラム動作によってI/
Oデバイスとメモリとの間のデータ転送を行うよりも高
速なデータ転送が可能である。このようなコンピュータ
システムには、DMAの動作を制御するDMAコントロ
ーラが備えられる。I/Oデバイスは、コンピュータシ
ステムの外部の装置などとの間で、ハンドシェイク等を
行いながらデータの転送を行う。DMAコントローラの
基本的な動作手順は次のようになる。
2. Description of the Related Art Conventionally, computer systems have been
The function of direct memory access (hereinafter abbreviated as "DMA") that directly transfers data between an input / output device (Input Output Device, hereinafter abbreviated as "I / O device") and a memory is for high-speed data transfer. Is equipped with. High-speed data transfer between the I / O device and the memory is necessary for data transfer between the computer system and the external storage device, graphic image output, and the like. Generally, in the DMA, a central processing unit (hereinafter abbreviated as “CPU”) executes I / O by a program operation.
Higher-speed data transfer is possible than data transfer between the O device and the memory. Such a computer system is equipped with a DMA controller that controls the operation of the DMA. The I / O device transfers data while performing a handshake with an external device of the computer system. The basic operation procedure of the DMA controller is as follows.

【0003】(1)CPUが転送したいデータの存在す
る転送元のメモリやI/Oデバイスのアドレス、転送デ
ータ数、転送先のメモリやI/Oのアドレス、転送方法
などをDMAコントローラに設定する。このような設定
によって、I/Oデバイスとメモリとの間で1つのデー
タ転送チャネルが設定される。
(1) The CPU sets the address of the transfer source memory or I / O device in which the CPU wants to transfer data, the number of transfer data, the transfer destination memory or I / O address, the transfer method, etc. in the DMA controller. . By such setting, one data transfer channel is set between the I / O device and the memory.

【0004】(2)CPUは設定されたデータ転送チャ
ネルからデータ転送要求が出されるまでは通常のプログ
ラム動作を行う。設定されたデータ転送チャネルに属す
るI/Oデバイスから転送要求信号が発生されると、D
MAコントローラはCPUにDMA要求を行う。相手側
の外部装置の転送準備が終了していないようなときに
は、I/Oデバイスからの転送要求信号は発生されな
い。
(2) The CPU performs a normal program operation until a data transfer request is issued from the set data transfer channel. When a transfer request signal is generated from an I / O device belonging to the set data transfer channel, D
The MA controller makes a DMA request to the CPU. When the transfer preparation of the external device on the partner side is not completed, the transfer request signal from the I / O device is not generated.

【0005】(3)複数の要求信号が発生されるときに
は、DMAコントローラは予め設定されている優先順位
に従い、最優先のデータ転送チャネルに対するデータ転
送準備を行う。
(3) When a plurality of request signals are generated, the DMA controller prepares for data transfer to the highest priority data transfer channel according to a preset priority order.

【0006】(4)CPUがDMA要求を受け入れて、
メモリとI/Oデバイスとに対するデータバスとアドレ
スバスとの支配権を明け渡すと、DMAコントローラは
これらのバスを転送バスとしてメモリとI/Oデバイス
との間でデータ転送を行う。データ転送は転送要求信号
が継続する間行われる。転送要求を発生しているI/O
デバイスは、必要な量のデータが転送されると転送要求
信号を停止し、そのチャネルに対するデータ転送が終了
する。
(4) The CPU accepts the DMA request,
When the mastership of the data bus and the address bus over the memory and the I / O device is released, the DMA controller uses these buses as transfer buses to transfer data between the memory and the I / O device. Data transfer is performed while the transfer request signal continues. I / O requesting transfer
The device stops the transfer request signal when the required amount of data has been transferred, and the data transfer for that channel ends.

【0007】以上説明した基本的なデータ転送の手順の
うち、実際にデータ転送を行っているのは(3)および
(4)の手順である。これらの手順は、それぞれ1クロ
ック周期ずつ実行され、この転送モードはサイクルスチ
ールと呼ばれる。一般にバースト転送と呼ばれる転送モ
ードでは、一旦要求信号が検出されると、設定された転
送データ数分のデータ転送を連続して一気に行う。2回
目以降のデータ転送は(3)の手順を省いて1回の手順
で転送する処理を行うことが可能である。しかしなが
ら、転送中は転送バスが完全に1つのチャネルに占有さ
れてしまい、CPUを始めとする他のデバイスはバスの
支配権を明け渡した状態で停止してしまう。CPUが停
止すると、割込み処理などの受付も行われなくなる。割
込み処理の中には、要求発生から一定時間以内に一定量
の処理を実行する必要がある場合がある。たとえば各種
タイマ動作を行っているような場合である。このため
(3)と(4)との2回の手順を必要とするサイクルス
チール転送モードがよく使用される。
Of the basic data transfer procedure described above, the actual data transfer is performed in steps (3) and (4). Each of these procedures is executed for one clock cycle, and this transfer mode is called cycle steal. In a transfer mode generally called burst transfer, once a request signal is detected, data transfer for the set number of transfer data is continuously performed at once. For the second and subsequent data transfers, the process of (3) can be omitted and the process of transfer can be performed once. However, during the transfer, the transfer bus is completely occupied by one channel, and other devices such as the CPU stop in the state in which the mastership of the bus is released. When the CPU is stopped, acceptance of interrupt processing and the like is also stopped. In some interrupt processing, it is necessary to execute a certain amount of processing within a certain time after the request is generated. For example, this is a case where various timer operations are being performed. For this reason, the cycle steal transfer mode, which requires the procedure of (3) and (4) twice, is often used.

【0008】図6は、以上述べた従来技術による動作を
行うデータ転送回路の構成を示す。転送回路111は、
発振器112から発生されるクロック信号CLOCKの
基本周期を動作の単位周期としてデータ転送処理を行
う。データ転送のための複数のチャネル0、1は、複数
のI/Oデバイス113,114とメモリ115との間
でそれぞれ設定される。転送回路111内には、I/O
デバイス113,114からのデータ転送要求nDRQ
0,nDRQ1の有無を確認する要求信号確認部12
1,122、優先順位確認部123、転送準備部12
4、転送部125、1つのI/Oデバイス113につい
ての転送カウンタ126およびアドレスカウンタ12
7、他のI/Oデバイス114に対する転送カウンタ1
28およびアドレスカウンタ129、およびアドレスセ
レクタ130が含まれる。各転送チャネルにおけるデー
タはデータバス131を介して転送され、データ転送に
関与するメモリ115のアドレスはアドレスバス132
を介して指定される。なお「nDRQ0」などと表記し
てある場合の先頭の「n」は、負論理、すなわち論理値
「0」となるときにその信号が真であることを示す。
FIG. 6 shows the configuration of a data transfer circuit that operates according to the above-mentioned conventional technique. The transfer circuit 111 is
Data transfer processing is performed with the basic cycle of the clock signal CLOCK generated from the oscillator 112 as a unit cycle of the operation. A plurality of channels 0 and 1 for data transfer are set between the plurality of I / O devices 113 and 114 and the memory 115, respectively. In the transfer circuit 111, I / O
Data transfer request nDRQ from devices 113 and 114
Request signal confirming unit 12 for confirming presence / absence of 0, nDRQ1
1, 122, priority confirmation unit 123, transfer preparation unit 12
4, transfer unit 125, transfer counter 126 and address counter 12 for one I / O device 113
7. Transfer counter 1 for other I / O devices 114
28, an address counter 129, and an address selector 130. The data in each transfer channel is transferred via the data bus 131, and the address of the memory 115 involved in the data transfer is the address bus 132.
Specified via. Note that the leading "n" in the case of being written as "nDRQ0" indicates that the signal is true when it has a negative logic, that is, a logical value "0".

【0009】図6の回路の動作は次のようになる。The operation of the circuit of FIG. 6 is as follows.

【0010】(1)データ転送チャネルが複数のI/O
デバイス113,114に関連して設定された後、各I
/Oデバイス113,114からは、転送要求信号nD
RQm=0(m=0,1)として、転送回路111に対
してデータ転送要求を発生する。
(1) I / O having a plurality of data transfer channels
After being set in relation to the devices 113 and 114, each I
Transfer request signal nD from the I / O devices 113 and 114.
With RQm = 0 (m = 0, 1), a data transfer request is generated to the transfer circuit 111.

【0011】(2)転送回路111では、要求信号確認
部121,122で転送要求信号nDRQmを受信する
と、その結果を優先順位確認部123に伝える。優先順
位確認部123では、複数の転送要求が発生している場
合には、予め設定された優先順位に従ってデータ転送チ
ャネルを決定する。
(2) In the transfer circuit 111, when the request signal confirmation units 121 and 122 receive the transfer request signal nDRQm, the result is transmitted to the priority order confirmation unit 123. When a plurality of transfer requests are generated, the priority order confirmation unit 123 determines a data transfer channel according to a preset priority order.

【0012】(3)決定されたデータ転送チャネルは転
送準備部124に伝達される。転送準備部124は、メ
モリアクセス要求信号を転送部125に与え、決定され
たデータ転送チャネルに対応してアドレスセレクタ13
0を切換える。
(3) The determined data transfer channel is transmitted to the transfer preparation unit 124. The transfer preparation unit 124 gives a memory access request signal to the transfer unit 125, and responds to the determined data transfer channel by the address selector 13
Switch 0.

【0013】(4)転送部125は、決定されたデータ
転送チャネルのI/Oデバイス113,114に対し
て、応答信号nDAKm=0とし、決定されたデータ転
送チャネルに対応するアドレスカウンタ127,129
からアドレスセレクタ130を介してアドレスバス13
2にアドレス信号を導出させる。このアドレス信号によ
って指定されるメモリ115のアドレスとデータ転送の
応答信号nDAKm=0で選択されたI/Oデバイス1
13,114との間で、データバス131を占有しての
データ転送が、発振器112からのクロック信号CLO
CKの一周期の時間だけ行われる。
(4) The transfer unit 125 sets the response signal nDAKm = 0 to the I / O devices 113 and 114 of the determined data transfer channel and sets the address counters 127 and 129 corresponding to the determined data transfer channel.
From the address bus 13 via the address selector 130
2 causes the address signal to be derived. The address of the memory 115 designated by this address signal and the I / O device 1 selected by the data transfer response signal nDAKm = 0
13 and 114, the data transfer occupying the data bus 131 is performed by the clock signal CLO from the oscillator 112.
It is performed only for one cycle of CK.

【0014】(5)転送終了後、データ転送が行われた
データ転送チャネルの転送カウンタ126,128が1
だけ減少し、アドレスカウンタ127,129が次のア
ドレスに変化する。転送カウンタ126,128には最
初に転送データ数が設定されるので、これらの計数値が
0になると対応する要求信号確認部121,122に対
して転送要求の受信を停止する信号が発生され、そのデ
ータ転送チャネルに対する転送を終了する。
(5) After the transfer is completed, the transfer counters 126 and 128 of the data transfer channel in which the data is transferred are set to 1
However, the address counters 127 and 129 change to the next address. Since the transfer data numbers are initially set in the transfer counters 126 and 128, when the count values become 0, a signal for stopping the reception of the transfer request is generated to the corresponding request signal confirmation units 121 and 122, The transfer for the data transfer channel is completed.

【0015】図7および図8は、以上説明した転送動作
の手順と、クロック信号CLOCKに対して同期して行
われる転送タイミングとをそれぞれ示す。ステップ10
0で電源スイッチがON状態となり、コンピュータシス
テムの動作が開始すると、発振器112によるクロック
信号CLOCKの発生も開始される。転送回路111
は、ステップ101でデータ転送チャネルが有効に設定
されてから、データ転送が可能になる。ステップ102
は、設定されたデータ転送チャネルに含まれるI/Oデ
バイス113,114からの転送要求信号nDRQmの
有無をチェックし、転送要求信号があればステップ10
3に移る。ステップ101および102は、クロック信
号CLOCK=1、すなわち1クロック周期の半分で実
行される。
7 and 8 show the procedure of the transfer operation described above and the transfer timing which is performed in synchronization with the clock signal CLOCK. Step 10
When the power switch is turned on at 0 and the operation of the computer system is started, generation of the clock signal CLOCK by the oscillator 112 is also started. Transfer circuit 111
Allows data transfer after the data transfer channel is enabled in step 101. Step 102
Checks the presence / absence of a transfer request signal nDRQm from the I / O devices 113 and 114 included in the set data transfer channel, and if there is a transfer request signal, step 10
Move to 3. Steps 101 and 102 are carried out with the clock signal CLOCK = 1, ie half a clock period.

【0016】ステップ103では、優先順位確認部12
3によって最優先チャネルの確認が行われ、ステップ1
04でそのチャネルについての転送準備が転送準備部1
24によって行われる。ステップ103および104
は、1クロック周期の間に処理される。
At step 103, the priority confirmation unit 12
The highest priority channel is confirmed by step 3, and step 1
In 04, the transfer preparation for the channel is made in the transfer preparation unit 1.
24. Steps 103 and 104
Are processed during one clock period.

【0017】ステップ105ではデータバス131を占
有してデータ転送が行われる。この時間内で、I/Oデ
バイス113,114やメモリ115のアクセスを終了
する必要がある。クロック信号CLOCK=0である期
間、すなわち1クロック周期の半分をこの時間に対応さ
せると、クロック信号COLOCKの周波数が決定され
る。
At step 105, data transfer is performed by occupying the data bus 131. It is necessary to finish the access to the I / O devices 113 and 114 and the memory 115 within this time. When the period in which the clock signal CLOCK = 0, that is, one half of one clock period is associated with this time, the frequency of the clock signal COLOCK is determined.

【0018】ステップ106では転送カウンタ126,
128のカウント値から残り転送データ数が判定され、
0となっていなければステップ101に戻る。残り転送
データ数が0であれば、ステップ107でそのデータ転
送チャネルを転送無効にしてステップ101に戻る。ス
テップ106および107は、クロック信号CLOCK
=1である1クロック周期の半分で、ステップ101お
よび102と同時に実行される。
In step 106, the transfer counter 126,
The remaining transfer data number is determined from the count value of 128,
If not 0, the process returns to step 101. If the number of remaining transfer data is 0, the data transfer channel is disabled in step 107 and the process returns to step 101. Steps 106 and 107 are clock signal CLOCK.
In the half of one clock cycle where = 1, steps 101 and 102 are executed simultaneously.

【0019】図8に示すように、I/Oデバイス11
3,114がそれぞれ関連するデータ転送チャネルは、
転送要求nDRQ0,nDRQ1を競合して発生する場
合がありうる。I/Oデバイス113側のチャネル0の
方が優先順位が高いとすると、図7のステップ102で
転送要求信号の有無を確認した後、ステップ103の最
優先チャネルとしてはI/Oデバイス113側と判定さ
れる。ステップ104では転送準備が行われ、ステップ
105ではデータ転送が行われる。優先順位が高いI/
Oデバイス113側の転送チャネルが2回のデータ転送
を要求すると、それが終了してからI/Oデバイス11
4側のチャネルについてのデータ転送が行われる。
As shown in FIG. 8, the I / O device 11
The data transfer channels to which 3 and 114 are respectively related,
The transfer requests nDRQ0 and nDRQ1 may conflict with each other and be generated. Assuming that the channel 0 on the I / O device 113 side has a higher priority, the presence / absence of a transfer request signal is confirmed in step 102 of FIG. 7, and then the I / O device 113 side is selected as the highest priority channel in step 103. To be judged. In step 104, transfer preparation is performed, and in step 105, data transfer is performed. Higher priority I /
When the transfer channel on the O device 113 side requests data transfer twice, the I / O device 11
Data transfer is performed for the channels on the 4-side.

【0020】データ転送を伴う並列処理についての先行
技術は、たとえば特開昭63−301351号公報、特
公平5−70867号公報(特開平1−232461号
公報)、あるいは特開平4−195361号公報などに
も開示されている。特開昭63−301351号公報で
は、複数個のプロセッサが並列に動作し、相互間でデー
タ通信を行う場合の制御方式が開示されている。特公平
5−70867号公報では、マルチプロセッサシステム
を構成する複数個のプロセッサ間で、複数の処理要求を
割当てて並列処理を行う技術が開示されている。特開平
4−195361号公報では、複数の入出力ポート間で
バーストモードでデータ転送を行う場合の調定に関連す
る技術が開示されている。
Prior arts relating to parallel processing involving data transfer include, for example, Japanese Patent Laid-Open No. 63-301351, Japanese Patent Publication No. 5-70867 (Japanese Patent Laid-Open No. 1-2232461), and Japanese Patent Laid-Open No. 4-195361. Etc. are also disclosed. Japanese Unexamined Patent Publication No. 63-301351 discloses a control method when a plurality of processors operate in parallel and perform data communication with each other. Japanese Patent Publication No. 5-70867 discloses a technique of allocating a plurality of processing requests among a plurality of processors constituting a multiprocessor system and performing parallel processing. Japanese Unexamined Patent Publication No. 4-195361 discloses a technique related to adjustment when data is transferred in burst mode between a plurality of input / output ports.

【0021】[0021]

【発明が解決しようとする課題】図8に示すように、デ
ータの転送のステップ104と、データの転送のステッ
プ105とを1クロック周期毎にシーケンシャルに繰返
すと、1回のデータ転送が行われると必ず1クロック周
期の時間をあけてから次のデータ転送を行うことにな
る。近年、CPUなどでは、RISC(Reduced Instru
ction Set Computer)などの思想を取込み、またパイプ
ライン処理などを可能にして、1クロック周期で1つの
データ転送処理が可能な高速CPUや高速アクセス可能
なメモリあるいはI/Oデバイスなどが開発されてい
る。このようなデバイスを含むコンピュータシステムで
は、DMA転送毎に2クロック周期以上の時間がかかる
と、高速性を充分に活かすことができない。
As shown in FIG. 8, when data transfer step 104 and data transfer step 105 are sequentially repeated every clock cycle, one data transfer is performed. Therefore, the next data transfer is always performed after a time of one clock cycle. In recent years, in CPUs, RISC (Reduced Instrument
ction set computer), and enabled pipeline processing, and developed a high-speed CPU, high-speed accessible memory or I / O device that can process one data transfer in one clock cycle. There is. In a computer system including such a device, if a time of 2 clock cycles or more is required for each DMA transfer, high speed cannot be fully utilized.

【0022】また、優先順位の高いチャネル、たとえば
I/Oデバイス113に関連するチャネル0の要求が続
けて入力されると、そのデータ転送チャネルの転送ばか
りが行われる。他のI/Oデバイス114に関連するチ
ャネルは、データバス131が転送準備のステップ10
4で空いているにも拘わらずに、チャネル0の転送終了
までずっと待たなければならない。
When a request for a channel with a high priority, for example, channel 0 related to the I / O device 113 is continuously input, only the data transfer channel is transferred. For channels associated with other I / O devices 114, data bus 131 prepares for transfer step 10.
Despite being free at 4, we have to wait forever until the end of the channel 0 transfer.

【0023】バーストモードでデータ転送を行えば、最
初に設定した条件の範囲内では空きサイクルを生じるこ
となく連続したデータ転送が可能である。しかしなが
ら、一旦転送要求が入力され転送を開始すると、次に要
求を解除しても、もう1回余分に転送が行われてしま
う。要求信号確認と転送とを同時に実行するために、要
求信号確認が行われた時点では転送が終了してしまうか
らである。したがってバーストモードによる転送は、転
送データ数が決まっている場合や、バッファをもった相
手との間で転送する場合しか有効に利用することができ
ない。それ以外の場合は、余分に転送されたデータを受
取ることができず、動作が無駄になるか、誤動作を引起
こす場合もある。このことは、パイプライン処理によっ
て、データ転送と次のデータの準備とを並列に行うよう
にしても同様である。
If data transfer is performed in the burst mode, continuous data transfer is possible within the range of the condition set at the beginning without generating an empty cycle. However, once the transfer request is input and the transfer is started, even if the request is canceled next time, the transfer is performed once again. This is because the request signal confirmation and the transfer are executed at the same time, so that the transfer ends when the request signal confirmation is performed. Therefore, the transfer in the burst mode can be effectively used only when the number of transfer data is fixed or when transfer is performed with a partner having a buffer. In other cases, the extra transferred data cannot be received, and the operation may be wasted or cause a malfunction. This is the same even if data transfer and preparation of the next data are performed in parallel by pipeline processing.

【0024】特開昭63−301351号公報、特公平
5−70867号公報あるいは特開平4−195361
号公報などの先行技術でも、シーケンシャルなデータ転
送を行う際に、転送バスに空きサイクルが生じることに
ついての対策は講じられていない。
JP-A-63-301351, JP-B-5-70867 or JP-A-4-195361.
Even in the prior art such as Japanese Patent Publication, no countermeasure is taken against the occurrence of an empty cycle in the transfer bus when performing sequential data transfer.

【0025】本発明の目的は、複数のデータ転送チャネ
ルの各チャネル毎に、転送要求の確認などの転送準備と
転送バスを占有してのデータ転送とをシーケンシャルに
交互に行いながら、全体としては転送バスを空けること
なく連続したデータ転送が可能なデータ転送回路を提供
することである。
An object of the present invention is to perform, as a whole, alternating transfer preparation such as confirmation of a transfer request and data transfer occupying a transfer bus alternately for each of a plurality of data transfer channels. An object of the present invention is to provide a data transfer circuit capable of continuous data transfer without opening a transfer bus.

【0026】[0026]

【課題を解決するための手段】本発明は、データ転送に
必要な時間を規定する転送用クロックが設定される共通
の転送バスに対して、複数のデータ転送チャネルが存在
するデータ転送回路において、各データ転送チャネル
は、データ転送処理として、データ転送チャネル数以下
の予め定める複数の転送用クロック周期で、データ転送
のために必要な準備と転送用クロックの1周期だけ転送
バスを占有してのデータ転送とを行うように構成され、
転送要求のある複数のデータ転送チャネルで並列にデー
タ転送処理を行わせ、予め定める優先順位に従って、転
送バスを占有してデータ転送を行うデータ転送チャネル
を切換える調停手段を備えることを特徴とするデータ転
送回路である。 また本発明の前記調停手段は、1つのデータ転送チャネ
ルが転送バスを転送クロックの1周期だけ占有した後で
は、他のデータ転送チャネルに転送バスを転送用クロッ
クの1周期だけ占有させるように切換えることを特徴と
する。 また本発明の前記データ転送チャネルは、コンピュータ
システムのダイレクトメモリアクセス動作用に備えられ
ることを特徴とする。
The present invention provides a data transfer circuit having a plurality of data transfer channels for a common transfer bus in which a transfer clock defining a time required for data transfer is set. In each data transfer channel, as a data transfer process, a plurality of transfer clock cycles that are less than or equal to the number of data transfer channels are preset, and the transfer bus is occupied for one cycle of preparation and transfer clock necessary for data transfer. Configured for data transfer and
Data characterized by comprising arbitration means for causing data transfer processing to be performed in parallel by a plurality of data transfer channels having a transfer request, and switching a data transfer channel for occupying a transfer bus for data transfer according to a predetermined priority order. It is a transfer circuit. Further, the arbitration means of the present invention is switched so that after one data transfer channel occupies the transfer bus for one cycle of the transfer clock, another data transfer channel occupies the transfer bus for one cycle of the transfer clock. It is characterized by Also, the data transfer channel of the present invention is provided for a direct memory access operation of a computer system.

【0027】[0027]

【作用】本発明に従えば、共通の転送バスに対して複数
のデータ転送チャネルが存在し、転送用クロックの周期
として規定された時間に従ってデータ転送が行われる。
各データ転送チャネルは、転送バスを占有しないでデー
タ転送の準備を行い、転送用クロックの1周期だけ転送
バスを占有してデータ転送を行う。調停手段は、転送要
求のある複数のデータ転送チャネルで並列にデータ転送
処理を行わせ、優先順位に従って転送バスを占有する転
送チャネルを切換える。優先順位が高いデータ転送チャ
ネルもデータ転送の準備の際には転送バスを占有しない
ので、優先順位の低いデータ転送チャネルも転送バスを
占有することが可能になり、並列のデータ転送処理を全
体として高速に行うことができる。各データ転送チャネ
ルは、データ転送の前に準備段階があるので、必要な数
だけデータ転送を行うことができる。
According to the present invention, there are a plurality of data transfer channels for the common transfer bus, and data transfer is performed according to the time defined as the cycle of the transfer clock.
Each data transfer channel prepares for data transfer without occupying the transfer bus, and occupies the transfer bus for one cycle of the transfer clock to perform data transfer. The arbitration means causes the plurality of data transfer channels having transfer requests to perform data transfer processing in parallel, and switches the transfer channels occupying the transfer bus according to the priority order. Since the data transfer channels with high priority do not occupy the transfer bus when preparing for data transfer, it is possible for the data transfer channels with low priority to occupy the transfer bus, and the parallel data transfer processing as a whole can be performed. It can be done at high speed. Since each data transfer channel has a preparatory stage before data transfer, the required number of data transfers can be performed.

【0028】また本発明に従えば、1つのデータ転送チ
ャネルが転送バスを転送用クロックの1周期だけ占有し
た後では、他のデータ転送チャネルに転送バスを転送用
クロックの1周期だけ占有させるので、優先順位が高い
データ転送チャネルが転送バスを続けて占有することが
なく、優先順位の高いデータ転送チャネルの転送準備の
間に優先順位の低いデータ転送チャネルのデータを転送
バスを介して転送することができる。
According to the invention, after one data transfer channel occupies the transfer bus for one cycle of the transfer clock, the other data transfer channels occupy the transfer bus for one cycle of the transfer clock. , The data transfer channels of higher priority do not continuously occupy the transfer bus, and the data of the data transfer channels of lower priority are transferred through the transfer bus during the preparation for transfer of the data transfer channels of higher priority. be able to.

【0029】また本発明に従えば、コンピュータシステ
ムのダイレクトメモリアクセスを複数のチャネルについ
て高速に行うことができるので、CPUやメモリI/O
デバイスなどが高速化されても、充分高速なDMA動作
を行うことができる。
Further, according to the present invention, since direct memory access of the computer system can be performed at high speed for a plurality of channels, the CPU and memory I / O
Even if the speed of the device is increased, a sufficiently high speed DMA operation can be performed.

【0030】[0030]

【実施例】図1は、本発明の一実施例について電気的に
等価な構成を示す。転送回路211は、コンピュータシ
ステム内に設けられるDMAコントローラであり、発振
器212から規則正しく発生されるクロック信号CLO
CKに同期してDMA動作を行う。たとえばクロック信
号CLOCKの基本周期をメモリやデバイスのアクセス
時間に合わせて設定し、これを動作の単位周期としてデ
ータ転送処理をできるだけ高速で行う。データ転送のた
めの複数のチャネル0、1は、複数のI/Oデバイス2
13,214とメモリ215との間でそれぞれ設定され
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows an electrically equivalent structure of an embodiment of the present invention. The transfer circuit 211 is a DMA controller provided in the computer system, and a clock signal CLO regularly generated from an oscillator 212.
The DMA operation is performed in synchronization with CK. For example, the basic cycle of the clock signal CLOCK is set according to the access time of the memory or device, and the data transfer process is performed as fast as possible using this as a unit cycle of the operation. A plurality of channels 0, 1 for data transfer are provided for a plurality of I / O devices 2
13 and 214 and the memory 215, respectively.

【0031】転送回路211内には、I/Oデバイス2
13,214からのデータ転送要求nDRQ0,nDR
Q1を受信し、その有無を確認する要求信号確認部22
1,222が設けられる。要求信号確認部221、22
2からの出力は、優先順位確認部223に与えられる。
転送準備部224,225、転送部226,227は、
チャネル0,1にそれぞれ対応して設けられる。さら
に、チャネル0についての転送カウンタ228およびア
ドレスカウンタ229、他のチャネル1に対する転送カ
ウンタ230およびアドレスカウンタ231、およびア
ドレスセレクタ232が含まれる。各転送チャネル0,
1における転送用データはデータバス233を介して転
送され、データ転送に関与するメモリ215のアドレス
はアドレスバス234を介して指定される。
In the transfer circuit 211, the I / O device 2
Data transfer request nDRQ0, nDR from 13, 214
Request signal confirmation unit 22 that receives Q1 and confirms the presence or absence of Q1
1, 222 are provided. Request signal confirmation unit 221, 22
The output from 2 is given to the priority confirmation unit 223.
The transfer preparation units 224 and 225 and the transfer units 226 and 227 are
It is provided corresponding to each of the channels 0 and 1. Further, a transfer counter 228 and an address counter 229 for channel 0, a transfer counter 230 and an address counter 231 for another channel 1, and an address selector 232 are included. Each transfer channel 0,
The data for transfer in 1 is transferred via the data bus 233, and the address of the memory 215 involved in the data transfer is designated via the address bus 234.

【0032】図2および図3は、図1の実施例による各
データ転送チャネル毎の転送動作の手順と、クロック信
号CLOCKに対して同期して行われる転送タイミング
とをそれぞれ示す。ステップ200で電源スイッチがO
N状態となり、コンピュータシステムの動作が開始する
と、発振器212によるクロック信号CLOCKの発生
も開始される。転送回路211は、ステップ201でデ
ータ転送チャネルが有効に設定されてから、データ転送
が可能になる。ステップ202では、設定されたデータ
転送チャネルに含まれるI/Oデバイス213,214
からの転送要求信号nDRQmの受信の有無をチェック
し、転送要求信号が受信されていればステップ203に
移る。ステップ201および202は、クロック信号C
LOCK=1の期間、すなわち1クロック周期の半分で
実行される。
FIGS. 2 and 3 show the procedure of the transfer operation for each data transfer channel according to the embodiment of FIG. 1 and the transfer timing performed in synchronization with the clock signal CLOCK. The power switch is turned off in step 200.
When the N state is entered and the operation of the computer system is started, the generation of the clock signal CLOCK by the oscillator 212 is also started. The transfer circuit 211 can transfer data after the data transfer channel is set valid in step 201. In step 202, the I / O devices 213 and 214 included in the set data transfer channel are included.
Whether or not the transfer request signal nDRQm has been received is checked, and if the transfer request signal has been received, the process proceeds to step 203. Steps 201 and 202 are clock signal C
It is executed in the period of LOCK = 1, that is, in half of one clock cycle.

【0033】ステップ203では、優先順位確認部22
3によって、他に、より優先順位の高いデータ転送チャ
ネルからも同時に転送要求が有るか否かの確認が行われ
る。より優先順位が高いデータ転送チャネルからの転送
要求がある場合は、ステップ203の状態を繰り返す。
他に優先度の高い転送要求が無ければ、ステップ204
で、そのデータ転送チャネルについての転送準備が、転
送準備部224または225によって行われる。ステッ
プ203および204は、クロック信号がCLOCK=
0およびCLOCK=1となる1クロック周期の間に処
理される。
In step 203, the priority confirmation section 22
According to 3, it is confirmed whether or not there is a transfer request simultaneously from a data transfer channel having a higher priority. If there is a transfer request from a data transfer channel having a higher priority, the state of step 203 is repeated.
If there is no other high-priority transfer request, step 204
Then, transfer preparation for the data transfer channel is performed by the transfer preparation unit 224 or 225. In steps 203 and 204, the clock signal is CLOCK =
It is processed during one clock cycle where 0 and CLOCK = 1.

【0034】ステップ205ではデータバス233を占
有してデータ転送が行われる。この時間は、CLOCK
=0、すなわち1クロック周期の半分であり、この時間
内で、I/Oデバイス213,214やメモリ215の
アクセスを終了する必要がある。
In step 205, data transfer is performed by occupying the data bus 233. This time is CLOCK
= 0, that is, half of one clock cycle, and it is necessary to finish the access to the I / O devices 213, 214 and the memory 215 within this time.

【0035】ステップ206では転送カウンタ228,
230のカウント値から残り転送データ数が判定され、
0となっていなければステップ201に戻る。残り転送
データ数が0であれば、ステップ207でそのデータ転
送チャネルを転送無効にしてからステップ201に戻
る。ステップ206および207は、クロック信号CL
OCK=1である1クロック周期の半分で、ステップ2
01および202と同時に並列に実行される。
In step 206, the transfer counter 228,
The remaining transfer data number is determined from the count value of 230,
If not 0, the process returns to step 201. If the number of remaining transfer data is 0, the transfer of the data transfer channel is disabled in step 207, and then the process returns to step 201. In steps 206 and 207, the clock signal CL
In half of one clock cycle where OCK = 1, step 2
01 and 202 are executed in parallel at the same time.

【0036】図3に示すように、I/Oデバイス21
3,214がそれぞれ関連する複数のデータ転送チャネ
ルは、転送要求nDRQ0,nDRQ1を競合して発生
する場合がありうる。I/Oデバイス213側のチャネ
ル0の方が優先順位が高いとすると、図2のステップ2
02で転送要求信号の有無を確認するまでは同等に取扱
われても、ステップ203ではI/Oデバイス213側
の方が優先順位が高いと判定される。ステップ204で
は転送準備が行われ、ステップ205でデータ転送が行
われる。その内にI/Oデバイス214側の転送要求が
受付けられ、I/Oデバイス213側の転送後、すぐI
/Oデバイス214側の転送が行われる。よってI/O
デバイス213側から2回のデータ転送要求とI/Oデ
バイス214側から1回のデータ転送要求とが同時に入
力された場合、I/Oデバイス213側転送、I/Oデ
バイス214側転送、I/Oデバイス213側転送と、
交互にデータ転送が行われる。
As shown in FIG. 3, the I / O device 21
A plurality of data transfer channels to which 3 and 214 are respectively related may generate transfer requests nDRQ0 and nDRQ1 in competition with each other. Assuming that channel 0 on the I / O device 213 side has a higher priority, step 2 in FIG.
Even if they are handled in the same way until the presence or absence of the transfer request signal is confirmed in 02, it is determined in step 203 that the I / O device 213 side has a higher priority. In step 204, transfer preparation is performed, and in step 205, data transfer is performed. The transfer request from the I / O device 214 side is accepted, and immediately after the transfer from the I / O device 213 side, I
The transfer on the side of the / O device 214 is performed. Therefore I / O
When two data transfer requests from the device 213 side and one data transfer request from the I / O device 214 side are simultaneously input, the I / O device 213 side transfer, the I / O device 214 side transfer, and the I / O device 214 side transfer are performed. O device 213 side transfer,
Data transfer is performed alternately.

【0037】図1の転送回路211の動作は次のように
なる。なお、2つのデータ転送チャネルは、I/Oデバ
イス213,214にそれぞれ関連し、これらのチャネ
ル0,1の間では、チャネル0側の方が優先順位が高い
ものとする。また、チャネル0は2回のデータ転送を必
要とし、チャネル1は1回のデータ転送を必要とするも
のとする。
The operation of the transfer circuit 211 shown in FIG. 1 is as follows. Note that the two data transfer channels are associated with the I / O devices 213 and 214, respectively, and between these channels 0 and 1, the channel 0 side has a higher priority. Further, it is assumed that channel 0 requires data transfer twice, and channel 1 requires data transfer once.

【0038】(1)各I/Oデバイス213,214か
らは、転送要求信号をnDRQm=0(m=0,1)で
アクティブな状態とし、転送回路211に対してデータ
転送要求を発生する。
(1) From each of the I / O devices 213 and 214, the transfer request signal is activated at nDRQm = 0 (m = 0, 1), and a data transfer request is issued to the transfer circuit 211.

【0039】(2)転送回路211では、要求信号確認
部221,222で転送要求信号nDRQmを受信する
と、その結果を優先順位確認部223に伝える。優先順
位確認部223では、予め設定された優先順位に従って
チャネル0をデータ転送チャネルとして選択決定する。
(2) In the transfer circuit 211, when the request signal confirmation units 221 and 222 receive the transfer request signal nDRQm, the result is transmitted to the priority order confirmation unit 223. The priority confirmation unit 223 selects and determines channel 0 as a data transfer channel according to a preset priority.

【0040】(3)決定されたチャネル0に関連する転
送準備部224は、優先順位確認部223から転送開始
の指示が与えられ、メモリアクセス要求信号を転送部2
26に与え、チャネル0側のアドレスカウンタ229か
らのアドレス値をアドレスバス234に導出するように
アドレスセレクタ232を切換える。チャネル1側の転
送準備部225へは、チャネル0の転送が終了するま
で、優先順位確認部223から転送開始を示す開始指示
が与えられない。チャネル1側は、開始指示があるまで
待つ。
(3) The transfer preparation section 224 associated with the determined channel 0 is given a transfer start instruction from the priority order confirmation section 223 and sends a memory access request signal to the transfer section 2.
26 and switches the address selector 232 so as to derive the address value from the address counter 229 on the channel 0 side to the address bus 234. Until the transfer on the channel 0 is completed, the priority order confirmation unit 223 does not give the transfer preparation unit 225 on the channel 1 side a start instruction indicating the start of transfer. The channel 1 side waits until there is a start instruction.

【0041】(4)転送部225は、同じチャネル0側
ののI/Oデバイス213に対して、応答信号nDAK
0=0とし、アドレスカウンタ229からアドレスセレ
クタ232を介してアドレスバス234にアドレス信号
を導出させる。このアドレス信号によって指定されるメ
モリ215のアドレスと応答信号nDAK0=0で選択
されたI/Oデバイス213との間で、データバス23
3を占有してのデータ転送が、発振器212からのクロ
ック信号CLOCKの一周期の時間だけ行われる。転送
カウンタ228は1だけ減算され、アドレスカウンタ2
29の値には所定の計算が施される。
(4) The transfer unit 225 sends a response signal nDAK to the I / O device 213 on the same channel 0 side.
0 = 0 is set, and an address signal is derived from the address counter 229 via the address selector 232 to the address bus 234. Between the address of the memory 215 designated by this address signal and the I / O device 213 selected by the response signal nDAK0 = 0, the data bus 23
The data transfer occupying 3 is performed only for one cycle time of the clock signal CLOCK from the oscillator 212. The transfer counter 228 is decremented by 1, and the address counter 2
A predetermined calculation is applied to the value of 29.

【0042】優先順位確認部223は、チャネル0の転
送準備が終了したので、他のチャネル1の方を選択し、
転送準備部225に開始指示を与える。転送準備部22
5は、メモリアクセス要求信号を導出し、アドレスカウ
ンタ231の値をアドレスセレクタ232からアドレス
バス234に導出させる。これによって、メモリ215
とI/Oデバイス214との間で、データバス233を
占有してのデータ転送がチャネル0に引き続いて行われ
る。転送カウンタ230は、1だけ減算されると0にな
るので、要求信号確認部222に対して要求を受付けな
いように指示し、チャネル1に対する転送処理を終了す
ることができる。
Since the priority confirmation section 223 has completed the transfer preparation for channel 0, it selects another channel 1,
A start instruction is given to the transfer preparation unit 225. Transfer preparation unit 22
5 derives the memory access request signal and causes the value of the address counter 231 to be derived from the address selector 232 to the address bus 234. This allows the memory 215
Between the I / O device 214 and the I / O device 214, the data transfer occupying the data bus 233 is continuously performed on the channel 0. The transfer counter 230 becomes 0 when only 1 is subtracted, so that the request signal confirmation unit 222 can be instructed not to accept the request and the transfer process for the channel 1 can be ended.

【0043】(5)チャネル0については、2回目のデ
ータ転送要求nDRQ0=0がI/Oデバイス213か
ら発生される。要求信号確認部221および優先順位確
認部223によって、再びチャネル0が選択され、上記
(3)以下と同様にして、転送終了後、チャネル0の転
送カウンタ228が1だけ減少して0になる。この結
果、要求信号確認部221に対しても、転送要求を受付
けないように指示が行われ、転送を終了することができ
る。
(5) For channel 0, the second data transfer request nDRQ0 = 0 is generated from the I / O device 213. The request signal confirmation unit 221 and the priority confirmation unit 223 select the channel 0 again, and after the transfer is completed, the transfer counter 228 of the channel 0 is decremented by 1 and becomes 0 in the same manner as the above (3). As a result, the request signal confirmation unit 221 is also instructed not to accept the transfer request, and the transfer can be ended.

【0044】図4および図5は、以上説明した転送回路
211をDMAコントローラとして含むコンピュータシ
ステムの概略的な構成と、クロック信号CLOCKに対
して同期して行われるDMA動作タイミングとをそれぞ
れ示す。CPU235と転送回路211とは、データバ
ス233およびアドレスバス234に対して、バスマス
タとなりうる。通常は、CPU235がバスの支配権を
有し、プログラム動作によって、所定の処理を行う。転
送回路211も従属的な周辺デバイスの一つとして扱わ
れ、チャネル設定のために、転送カウンタ228,23
0やアドレスカウンタ229,231等の内部レジスタ
に必要なデータが書き込まれたり、読み出されたりす
る。DMA動作は、転送回路211がI/Oデバイス2
13,214からの転送要求nDRQ0,1に応答し
て、CPU235にバス要求nBREQを与え、CPU
235がnBAKを返して動作停止状態になることによ
って開始される。
FIG. 4 and FIG. 5 respectively show a schematic configuration of a computer system including the transfer circuit 211 described above as a DMA controller, and DMA operation timings performed in synchronization with the clock signal CLOCK. The CPU 235 and the transfer circuit 211 can be a bus master for the data bus 233 and the address bus 234. Normally, the CPU 235 has control of the bus, and performs predetermined processing by a program operation. The transfer circuit 211 is also treated as one of the subordinate peripheral devices, and the transfer counters 228 and 23 are used for channel setting.
Necessary data is written in or read out from the internal registers such as 0 and the address counters 229 and 231. In the DMA operation, the transfer circuit 211 uses the I / O device 2
In response to the transfer request nDRQ0, 1 from the transfer request 13, DR, the bus request nBREQ is given to the CPU 235,
It is initiated by the 235 returning nBAK and going into an inactive state.

【0045】図5の動作フロー300で、CPU235
は通常動作を行い、転送回路211はnDRQ0=nD
RQ1=0となってチャネル0,1の両方から転送要求
を受ける。動作フロー301では、CPU235は通常
動作を続け、転送回路211は転送準備のためにバス要
求nBREQ=0としてCPU235にバス開放を促
す。動作フロー302で、CPU235は通常動作を続
けると共に、次のサイクルのクロック周期ではバスを開
放することを示すためnBAK=1からnBAK=0に
変化させる。転送回路211は、転送準備のため、アド
レスバス233にチャネル0の転送アドレスDMA01を
出力する。
In the operation flow 300 of FIG. 5, the CPU 235
Performs normal operation, and the transfer circuit 211 outputs nDRQ0 = nD
RQ1 = 0 and transfer requests are received from both channels 0 and 1. In the operation flow 301, the CPU 235 continues the normal operation, and the transfer circuit 211 sets the bus request nBREQ = 0 in order to prepare for the transfer and prompts the CPU 235 to release the bus. In operation flow 302, the CPU 235 continues normal operation and changes from nBAK = 1 to nBAK = 0 to indicate that the bus is released in the clock cycle of the next cycle. The transfer circuit 211 outputs the transfer address DMA01 of channel 0 to the address bus 233 in preparation for transfer.

【0046】動作フロー303で、CPU235はバス
の支配権を転送回路211に引き渡してバスを開放す
る。データD01の転送は、チャネル0としてメモリ2
15のアドレスDMA01とI/Oデバイス213との間
で行われる。この間に次のチャネル1の転送準備とし
て、アドレスバス233には次の転送アドレスDMA1
1が出力される。動作フロー304では、CPU235
はバス開放中であり、メモリ215のアドレスDMA11
とI/Oデバイス214との間でデータD11が転送され
る。この間に、次のアドレスDMA02が準備される。
In operation flow 303, the CPU 235 hands over the mastership of the bus to the transfer circuit 211 to release the bus. The data D01 is transferred to the memory 2 as channel 0.
It is performed between the 15th address DMA01 and the I / O device 213. In the meantime, in preparation for the transfer of the next channel 1, the next transfer address DMA1 is stored in the address bus 233.
1 is output. In the operation flow 304, the CPU 235
Is releasing the bus, and the address DMA11 of the memory 215 is
The data D11 is transferred between the I / O device 214 and the I / O device 214. During this period, the next address DMA02 is prepared.

【0047】動作フロー305では、CPU235はバ
ス開放中であり、チャネル0のデータD02の転送が行わ
れる。転送要求nDRQ0,1が無くなるので、nBR
EQ=1に戻す。動作フロー306で、CPU235は
通常動作に戻り、バスの支配権を取戻す。転送回路21
1は、転送要求が入力されるまで待機する。CPU23
5の通常動作中は、アドレスバス234にはたとえばC
PU1,CPU2,CPU3,CPU4の値を出力し、
これに対応してデータバス233ではデータDC1,D
C2,DC3,DC4の転送が行われる。
In operation flow 305, the CPU 235 is releasing the bus, and the data D02 of channel 0 is transferred. Since the transfer requests nDRQ0 and 1 are lost, nBRQ
Return to EQ = 1. In operation flow 306, the CPU 235 returns to normal operation and regains control of the bus. Transfer circuit 21
1 waits until a transfer request is input. CPU23
During the normal operation of 5, the address bus 234 has, for example, C
Output the values of PU1, CPU2, CPU3, CPU4,
Corresponding to this, data DC1, D on the data bus 233
Transfer of C2, DC3 and DC4 is performed.

【0048】なお、上述の実施例で転送回路211は独
立したDMAコントローラとして使用されているけれど
も、CPUをコアとして同一LSIチップ上に集積する
こともできる。また、データバスやアドレスバスのDM
Aに対する調停ばかりではなく、マルチプロセッサシス
テムや、GPIBあるいはSCSIなどのインターフェ
イスバスにも用いることができる。
Although the transfer circuit 211 is used as an independent DMA controller in the above embodiment, the CPU can be integrated on the same LSI chip as a core. In addition, DM of data bus and address bus
It can be used not only for arbitration with respect to A, but also for a multiprocessor system or an interface bus such as GPIB or SCSI.

【0049】また、上述の実施例では、データ転送チャ
ネルが2つの場合を示しているが、3チャネル以上の場
合でも、同様に実施可能である。ただし3つ以上の転送
要求が同時に入力され、各要求が2回以上のデータ転送
を要求している場合、優先順位の高い2つのデータ転送
チャネルがバスを占有してしまい、他のデータ転送チャ
ネルは上位の転送が終了するまで待たされる。このよう
なことがあっては困る用途では、転送が行われたチャネ
ルの優先順位が自動的に最下位になるようなラウンドロ
ビン等の回路が必要になる。
Further, in the above-mentioned embodiment, the case where the number of data transfer channels is two is shown, but the case of three or more channels can be similarly implemented. However, when three or more transfer requests are input at the same time, and each request requires data transfer of two or more times, two data transfer channels with high priority occupy the bus, and other data transfer channels Is kept waiting until the upper transfer is completed. For applications in which such a situation is difficult, a circuit such as a round robin that automatically sets the priority of the channel to which transfer is performed to the lowest level is required.

【0050】[0050]

【発明の効果】以上のように本発明によれば、複数のデ
ータ転送チャネルは、各データ転送チャネル毎に転送要
求信号の確認などの転送準備を行う機能を有し、転送バ
スを転送用クロックの1周期ずつ占有して実際のデータ
転送を行う。調停手段が、転送バスを占有するデータ転
送チャネルを切換えることによって、全体としては転送
バスを空けることなく高速でシーケンシャルなデータ転
送を行うことができる。
As described above, according to the present invention, a plurality of data transfer channels have a function of preparing transfer such as confirmation of a transfer request signal for each data transfer channel, and the transfer bus is provided with a transfer clock. The data is actually transferred by occupying each one cycle. By the arbitration means switching the data transfer channel that occupies the transfer bus, high-speed and sequential data transfer can be performed without leaving the transfer bus as a whole.

【0051】また本発明によれば、1つのデータ転送チ
ャネルについて転送用クロックの1周期だけ転送バスを
占有させた後は、他に転送要求を行っているデータ転送
チャネルがあれば、そのデータ転送チャネルが転送バス
を転送用クロックの1周期だけ占有してデータ転送を行
うことができる。これによって優先順位が高いデータ転
送チャネルなど、特定のデータ転送チャネルが転送バス
を続けて占有し、他のデータ転送チャネルが転送バスを
長い間使用することができないような事態を有効に避け
ることができる。
Further, according to the present invention, after occupying the transfer bus for one cycle of the transfer clock for one data transfer channel, if there is another data transfer channel requesting the transfer, that data transfer is performed. The channel can occupy the transfer bus for only one cycle of the transfer clock to transfer data. This effectively avoids situations where certain data transfer channels, such as high priority data transfer channels, continue to occupy the transfer bus and other data transfer channels cannot use the transfer bus for a long time. it can.

【0052】また本発明によれば、コンピュータシステ
ムのダイレクトメモリアクセス動作を、複数のチャネル
に対して全体として高速に行うことができる。特に、C
PUにRISC形プロセッサなどを使用して、全体とし
て高速動作が可能なコンピュータシステムにおいても、
充分に高速動作可能なDMAを実現することができる。
Further, according to the present invention, the direct memory access operation of the computer system can be performed at high speed for a plurality of channels as a whole. In particular, C
Even in a computer system capable of high-speed operation as a whole by using a RISC type processor for the PU,
It is possible to realize a DMA capable of operating at sufficiently high speed.

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

【図1】本発明の一実施例の等価的な電気的構成を示す
ブロック図である。
FIG. 1 is a block diagram showing an equivalent electrical configuration of an embodiment of the present invention.

【図2】図1の実施例の動作を示すフローチャートであ
る。
FIG. 2 is a flowchart showing the operation of the embodiment of FIG.

【図3】図1の実施例の動作タイミングを示すタイムチ
ャートである。
FIG. 3 is a time chart showing the operation timing of the embodiment of FIG.

【図4】図1の実施例による転送回路を含むコンピュー
タシステムの電気的構成を示すブロック図である。
4 is a block diagram showing an electrical configuration of a computer system including a transfer circuit according to the embodiment of FIG.

【図5】図4のコンピュータシステムの動作を示すタイ
ムチャートである。
5 is a time chart showing the operation of the computer system of FIG.

【図6】従来からの転送回路の電気的構成を示すブロッ
ク図である。
FIG. 6 is a block diagram showing an electrical configuration of a conventional transfer circuit.

【図7】図6の構成の動作を示すフローチャートであ
る。
FIG. 7 is a flowchart showing the operation of the configuration of FIG.

【図8】図6の構成の動作を示すタイムチャートであ
る。
FIG. 8 is a time chart showing the operation of the configuration of FIG.

【符号の説明】[Explanation of symbols]

211 転送回路 212 発振器 213,214 I/Oデバイス 215 メモリ 221,222 要求信号確認部 223 優先順位確認部 224,225 転送準備部 226,227 転送部 228,230 転送カウンタ 229,231 アドレスカウンタ 232 アドレスセレクタ 233 データバス 234 アドレスバス 235 CPU 211 transfer circuit 212 oscillator 213, 214 I / O device 215 memory 221 and 222 request signal confirmation unit 223 priority order confirmation unit 224 and 225 transfer preparation unit 226 and 227 transfer unit 228 and 230 transfer counter 229 and 231 address counter 232 address selector 233 Data bus 234 Address bus 235 CPU

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 データ転送に必要な時間を規定する転送
用クロックが設定される共通の転送バスに対して、複数
のデータ転送チャネルが存在するデータ転送回路におい
て、 各データ転送チャネルは、データ転送処理として、デー
タ転送チャネル数以下の予め定める複数の転送用クロッ
ク周期で、データ転送のために必要な準備と転送用クロ
ックの1周期だけ転送バスを占有してのデータ転送とを
行うように構成され、 転送要求のある複数のデータ転送チャネルで並列にデー
タ転送処理を行わせ、予め定める優先順位に従って、転
送バスを占有してデータ転送を行うデータ転送チャネル
を切換える調停手段を備えることを特徴とするデータ転
送回路。
1. In a data transfer circuit having a plurality of data transfer channels for a common transfer bus in which a transfer clock defining a time required for data transfer is set, each data transfer channel is a data transfer channel. As a process, a configuration necessary to prepare for data transfer and to occupy the transfer bus for one cycle of the transfer clock and to perform the data transfer with a plurality of predetermined transfer clock cycles equal to or less than the number of data transfer channels A plurality of data transfer channels that have transfer requests are performed in parallel, and an arbitration unit that switches the data transfer channels that occupy the transfer bus and perform data transfer according to a predetermined priority is provided. Data transfer circuit.
【請求項2】 前記調停手段は、1つのデータ転送チャ
ネルが転送バスを転送クロックの1周期だけ占有した後
では、他のデータ転送チャネルに転送バスを転送用クロ
ックの1周期だけ占有させるように切換えることを特徴
とする請求項1記載のデータ転送回路。
2. The arbitration means is arranged such that, after one data transfer channel occupies the transfer bus for one cycle of the transfer clock, another data transfer channel occupies the transfer bus for one cycle of the transfer clock. The data transfer circuit according to claim 1, wherein the data transfer circuit is switched.
【請求項3】 前記データ転送チャネルは、コンピュー
タシステムのダイレクトメモリアクセス動作用に備えら
れることを特徴とする請求項1または2記載のデータ転
送回路。
3. The data transfer circuit according to claim 1, wherein the data transfer channel is provided for a direct memory access operation of a computer system.
JP5134795A 1995-03-10 1995-03-10 Data transfer circuit Pending JPH08249266A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5134795A JPH08249266A (en) 1995-03-10 1995-03-10 Data transfer circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5134795A JPH08249266A (en) 1995-03-10 1995-03-10 Data transfer circuit

Publications (1)

Publication Number Publication Date
JPH08249266A true JPH08249266A (en) 1996-09-27

Family

ID=12884399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5134795A Pending JPH08249266A (en) 1995-03-10 1995-03-10 Data transfer circuit

Country Status (1)

Country Link
JP (1) JPH08249266A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327953B1 (en) * 1998-01-22 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 Memory access controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327953B1 (en) * 1998-01-22 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 Memory access controller

Similar Documents

Publication Publication Date Title
US5127089A (en) Synchronous bus lock mechanism permitting bus arbiter to change bus master during a plurality of successive locked operand transfer sequences after completion of current sequence
JPH07105146A (en) Common memory device
KR100708096B1 (en) Bus system and execution scheduling method for access commands thereof
JPH1063610A (en) Data processor provided with dma function
JPH08249266A (en) Data transfer circuit
JPH07295947A (en) Equipment and method for data transfer management
JPH10320349A (en) Processor and data transfer system using the processor
JP2504818B2 (en) Common memory control method in multiprocessor device
EP1193607B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
JPH0962640A (en) Access control method for shared memory
KR100243868B1 (en) Arbiter logic in main computer system
JPH1139266A (en) Multiprocessor device
JPH1195812A (en) Programmable controller
JPH05165541A (en) Electronic circuit
JPH08278939A (en) Method and device for data transfer
JPH0333966A (en) Memory control circuit
JPH06208543A (en) Bus arbitrating method of multi-cpu system
JPS6160162A (en) Bus arbitration system
JPH05282243A (en) Bus master device and electronic equipment using the same
JP2856709B2 (en) Bus coupling system
JPH05257860A (en) Information processor
JPH0773136A (en) Operation method for computer system
JPH05204826A (en) Data processor
JPH05204832A (en) Dma bus arbitration system
JP2002269026A (en) Microcomputer device