JPH024024B2 - - Google Patents
Info
- Publication number
- JPH024024B2 JPH024024B2 JP56119916A JP11991681A JPH024024B2 JP H024024 B2 JPH024024 B2 JP H024024B2 JP 56119916 A JP56119916 A JP 56119916A JP 11991681 A JP11991681 A JP 11991681A JP H024024 B2 JPH024024 B2 JP H024024B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- cpu
- signal
- main memory
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 64
- 238000000034 method Methods 0.000 claims description 7
- 230000000630 rising effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
【発明の詳細な説明】
本発明は主メモリおよびマスタCPUを備えた
親機と、個別メモリおよびスレーブCPUを備え
た子機との間でメモリ間のデータ転送を行う
DMA転送方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention performs inter-memory data transfer between a master device equipped with a main memory and a master CPU and a slave device equipped with an individual memory and a slave CPU.
It concerns the DMA transfer method.
従来この種のDMAデータ転送においては、親
機に設けたDMA制御回路がまずマスタCPUから
主メモリのアドレスデータを受け取つて記憶して
おき、次にスレーブCPUがDMA制御回路に主メ
モリのアクセス要求を出して、主メモリの内容ご
読出して個別メモリに書込んだり、逆にスレーブ
CPUが個別メモリから読出した内容を主メモリ
に書込んだりしていた。しかしこの方式では、一
旦主メモリのアドレスデータをDMA制御回路に
記憶させる必要があるため、アクセスすべき主メ
モリのアドレスが頻繁に変化する場合あるいは多
数のスレーブCPUが主メモリをアクセスする場
合などに処理能力が大幅に低下するという欠点が
ある。 Conventionally, in this type of DMA data transfer, the DMA control circuit provided in the master device first receives and stores the main memory address data from the master CPU, and then the slave CPU issues a main memory access request to the DMA control circuit. You can read the contents of main memory and write them to individual memory, or vice versa.
The CPU read the contents from the individual memory and wrote them to the main memory. However, with this method, it is necessary to first store the main memory address data in the DMA control circuit, so it is difficult to use when the main memory address to be accessed changes frequently or when many slave CPUs access the main memory. The disadvantage is that processing capacity is significantly reduced.
またDMA制御回路を各子機に設けて、スレー
ブCPUから出力されるアドレスデータが主メモ
リのアドレスを示すときにDMA制御回路がこの
アドレスデータを受け取つて主メモリをアクセス
し、この主メモリの内容をスレーブCPUが読み
取つて個別メモリに書込んだり逆に個別メモリの
内容をスレーブCPUが読出したのち主メモリに
書込んだりするという方法もとられていた。しか
しこの方法も、1個のデータ転送に対してスレー
ブCPUが個別メモリのアドレスおよび主メモリ
のアドレスを出力して2回のアクセスを行う必要
があるためDMA転送速度が大幅に低下するとい
う欠点がある。 In addition, a DMA control circuit is provided in each slave device, and when the address data output from the slave CPU indicates the address of the main memory, the DMA control circuit receives this address data and accesses the main memory, and the contents of this main memory are A method was also used in which the slave CPU read the contents of the individual memory and wrote it to the individual memory, or conversely, the slave CPU read the contents of the individual memory and then wrote it to the main memory. However, this method also has the disadvantage that the slave CPU has to output the individual memory address and the main memory address and perform two accesses for one data transfer, which significantly reduces the DMA transfer speed. be.
本発明は上記の問題点を解決することを目的と
するものであり、比較的簡単な回路構成によつて
高速のデータ転送が可能なDMA転送方式を提供
するものである。 The present invention aims to solve the above problems, and provides a DMA transfer method that allows high-speed data transfer with a relatively simple circuit configuration.
以下本発明の構成を実施例図によつて詳述す
る。第1図において、システム全体を制御するマ
スタCPU1および主メモリ2には、システムバ
スを構成するアドレス3、データバス4およびコ
ントロールライン5,6,7を介して複数のスレ
ーブCPU11が接続されている。各スレーブ
CPU11にはそれぞれ個別メモリ12が付設さ
れており、個別バスを構成するアドレスバス1
3、データバス14およびコントロールライン1
5により相互に接続されている。これらの個別バ
ス13〜15はDMA制御回路22のラツチゲー
ト回路31,32,33,34をそれぞれ介して
システムバス3〜5に接続されている。 DESCRIPTION OF THE PREFERRED EMBODIMENTS The structure of the present invention will be explained in detail below with reference to embodiment figures. In FIG. 1, a plurality of slave CPUs 11 are connected to a master CPU 1 and main memory 2, which control the entire system, via an address 3, a data bus 4, and control lines 5, 6, and 7, which constitute a system bus. . each slave
Each CPU 11 is attached with an individual memory 12, and an address bus 1 constituting an individual bus.
3. Data bus 14 and control line 1
5 are interconnected. These individual buses 13-15 are connected to system buses 3-5 via latch gate circuits 31, 32, 33, and 34 of the DMA control circuit 22, respectively.
各スレーブCPUに対して、スレーブCPU11
のアドレス信号を入力とするデコーダ21すなわ
ちアドレス判定回路が設けられており、このデコ
ーダ21には主メモリ2に割当てられたアドレス
範囲があらかじめ設定されている。アドレスバス
13を介してデコーダ21に入力されるアドレス
がこの設定アドレス範囲内にあれば、デコーダ2
1からLレベルのドレス判定信号がDMA制
御回路22に送られる。このときスレーブCPU
11からアドレスバス13に出力されているアド
レス信号がアドレス判定信号の立上り(第2
図のb時点)によつてラツチゲート31にセツト
される。また主メモリへの書込みを行うときには
コントロールライン15は個別メモリ12に対し
て読出しモードすなわちHレベルとなつており、
ラツチゲート34にはこのコントロールライン1
5がNOT回路39を介して接続されていて、ア
ドレス判定信号の立上りによつてLレベルのコン
トロール信号がラツチゲート34にセツトされ
る。すなわちこのコントロール信号は主メモリ2
に対しては書込みモードとなつているのである。 For each slave CPU, slave CPU11
A decoder 21, ie, an address determination circuit, which receives an address signal as input, is provided, and the address range assigned to the main memory 2 is set in advance in this decoder 21. If the address input to the decoder 21 via the address bus 13 is within this set address range, the decoder 2
A dress determination signal ranging from 1 to L level is sent to the DMA control circuit 22. At this time, the slave CPU
11 to the address bus 13 at the rising edge of the address judgment signal (second
It is set to the latch gate 31 at point b in the figure). Furthermore, when writing to the main memory, the control line 15 is in a read mode for the individual memory 12, that is, at H level.
This control line 1 is connected to the latch gate 34.
5 is connected via a NOT circuit 39, and an L level control signal is set in the latch gate 34 by the rise of the address judgment signal. In other words, this control signal is
It is in write mode.
またアドレス判定信号はアドレス切替回路
16にも入力されており、この信号がLレベルす
なわちアドレス範囲が主メモリを示しているとき
にはアドレス13を別に設定されているアドレス
17に切替えて個別メモリ12に入力するように
なつている。本実施例では、アドレスバス13の
16ビツトA0〜A15のうち上位8ビツトがA′8〜
A′15に切替えられ下位8ビツトA0〜A7とともに
個別メモリ12に入力されるようになつている。
この構成はデータブロツク長が256バイトまでの
DMA転送に適している。なおアドレスバス17
の設定にはDIPスイツチなどが用いられる。 The address judgment signal is also input to the address switching circuit 16, and when this signal is at L level, that is, the address range indicates the main memory, the address 13 is switched to the separately set address 17 and input to the individual memory 12. I'm starting to do that. In this embodiment, the address bus 13 is
The top 8 bits of 16 bits A 0 ~ A 15 are A' 8 ~
A'15 is input to the individual memory 12 together with the lower 8 bits A0 to A7 .
This configuration supports data block lengths up to 256 bytes.
Suitable for DMA transfer. In addition, address bus 17
A DIP switch etc. is used for the setting.
このとき個別メモリ12には上述のように読出
しモードのコントロール信号15が入力されてい
るので、切替えられたアドレスの内容がデータバ
ス14に出力され、送信用ラツチゲート32には
アドレス判定信号DHの立上りによつてこのメモ
リデータがセツトされる。ゲート回路35〜38
はデータの送受信を制御するためのもので、コン
トロール信号15がHレベルのときはゲート回路
36が開かれアドレス判定信号の立上りによ
つて送信側ラツチゲート32にデータバス14の
内容がセツトされるのである。 At this time, since the read mode control signal 15 is input to the individual memory 12 as described above, the contents of the switched address are output to the data bus 14, and the transmitting latch gate 32 receives the rising edge of the address judgment signal DH. This memory data is set by. Gate circuits 35-38
is for controlling the transmission and reception of data, and when the control signal 15 is at H level, the gate circuit 36 is opened and the contents of the data bus 14 are set in the transmitting side latch gate 32 by the rise of the address judgment signal. be.
またアドレス判定信号はフリツプフロツプ
23のS入力に接続されており、フリツプフロツ
プ23はアドレス判定信号の立下り(第2図
のa時点)によつてセツトされる。それによつて
フリツプフロツプ23のQ出力にNOT回路27
を介して接続されているコントロールライン6の
DMA要求信号がLレベルとなる。DMA要求
信号がLレベルとなると、マスタCPU1はア
ドレスバス3データバス4コントロールライン5
を電気的に切離すとともにDMA許可信号を
コントロールライン7に出力する。 Further, the address judgment signal is connected to the S input of the flip-flop 23, and the flip-flop 23 is set by the falling edge of the address judgment signal (time point a in FIG. 2). Thereby, the Q output of the flip-flop 23 is connected to the NOT circuit 27.
of control line 6 connected via
The DMA request signal becomes L level. When the DMA request signal goes to L level, the master CPU 1 transfers the address bus 3 data bus 4 control line 5.
and outputs a DMA permission signal to the control line 7.
DMA許可信号が第2図のC時点でLレベ
ルになると、NOT回路26を介してNAND回路
28の出力がLレベルとなり、ラツチゲート3
1,32,34を開いてそれぞれのラツチゲート
に保持されていた内容をシステムバスのアドレス
バス3、データバス4、コントロールライン5に
出力する。このときシステムバスのコントロール
ライン5はLレベルすなわち書込みモードとなる
から、主メモリにはアドレスバス3に出力されて
いるアドレスにデータバス4に出力されているデ
ータが書込まれる。その後DMA許可信号の
立上り(第2図のd時点)でフリツプフロツプ2
3がリセツトされ、主メモリへのデータ書込みが
完了する。 When the DMA permission signal goes to the L level at time C in FIG. 2, the output of the NAND circuit 28 goes to the L level via the NOT circuit 26, and the latch gate 3
1, 32, and 34 are opened to output the contents held in the respective latch gates to the address bus 3, data bus 4, and control line 5 of the system bus. At this time, the control line 5 of the system bus is at the L level, that is, in the write mode, so that the data being output to the data bus 4 is written to the address being output to the address bus 3 in the main memory. After that, at the rising edge of the DMA permission signal (at point d in Figure 2), the flip-flop 2
3 is reset, and data writing to the main memory is completed.
なおプライオリテイ信号DPmは(m−1)番
目以下のスレーブCPU11がDMA要求をしてい
ないときにはLレベルとなつており、NOT回路
24の出力はHレベルとなつている。またm番目
のスレーブCPU11がDMA要求を行つていると
きは、フリツプフロツプ23の出力はLレベル
であるからNAND回路25の出力DPm+1はH
レベルとなり、(m+1)番目以降のスレーブ
CPU11はDMAが禁止される。 Note that the priority signal DPm is at the L level when the (m-1)th slave CPU 11 or lower is not making a DMA request, and the output of the NOT circuit 24 is at the H level. Furthermore, when the m-th slave CPU 11 is making a DMA request, the output of the flip-flop 23 is at the L level, so the output DPm+1 of the NAND circuit 25 is at the H level.
level, and the (m+1)th and subsequent slaves
DMA is prohibited for the CPU 11.
つぎに主メモリ2からデータを読出す場合に
は、コントロール信号15がLレベルとなりスレ
ーブCPU11からデータバス14′にデータが出
力されるが、両方向バスゲート18にアドレス判
定信号がNOT回路19を介して入力されて
いるので、データバス14と14′とは電気的に
切離されている。この場合はゲート回路37が開
いて、アドレス判定信号がLレベルのときラ
ツチゲート33の内容がデータバス14に出力さ
れ、個別メモリ12にはアドレス切替回路16で
定められるメモリアドレスにラツチゲート33の
内容が書込まれる。 Next, when reading data from the main memory 2, the control signal 15 goes to L level and the data is output from the slave CPU 11 to the data bus 14'. Therefore, data buses 14 and 14' are electrically separated. In this case, the gate circuit 37 is opened and the contents of the latch gate 33 are output to the data bus 14 when the address judgment signal is at L level, and the contents of the latch gate 33 are output to the individual memory 12 at the memory address determined by the address switching circuit 16. written.
一方主メモリへの書込みの場合と同様に、ラツ
チゲート31には主メモリのアドレスがセツトさ
れ、ラツチゲート34には読出レードすなわちH
レベルがセツトされるので、NAND回路28の
出力がDMA許可信号によつて反転すると、
アドレスバス3およびコントロールライン5にそ
れぞれ主メモリのアドレスおよび読出し信号が出
力され、主メモリ2の内容がデータバス4に出力
される。ゲート回路38はNAND回路28がL
レベルでコントロール信号5がHレベルのとき出
力がLレベルとなるから、DMA許可信号の
立上がりでデータバス4の内容がラツチゲート3
3にセツトされるのである。したがつて本回路例
では主メモリ2からの読取り要求を行うと、前回
の読取り要求の際に読出してラツチゲート33に
保持されている主メモリの内容が個別メモリ12
に書込まれ、今回読出した主メモリの内容がラツ
チゲート33にセツトされることになる。したが
つてこれが問題になる場合にはデータブロツクの
最後に1バイト以上のOデータを付加しておけば
よい。 On the other hand, as in the case of writing to the main memory, the latch gate 31 is set with the address of the main memory, and the latch gate 34 is set with the address of the main memory.
Since the level is set, when the output of the NAND circuit 28 is inverted by the DMA permission signal,
Main memory addresses and read signals are output to address bus 3 and control line 5, respectively, and the contents of main memory 2 are output to data bus 4. In the gate circuit 38, the NAND circuit 28 is L
When the control signal 5 is at the H level, the output goes to the L level, so the contents of the data bus 4 are transferred to the latch gate 3 at the rising edge of the DMA permission signal.
It is set to 3. Therefore, in this circuit example, when a read request is made from the main memory 2, the contents of the main memory that were read during the previous read request and held in the latch gate 33 are transferred to the individual memory 12.
The contents of the main memory read this time are set in the latch gate 33. Therefore, if this becomes a problem, one or more bytes of O data can be added to the end of the data block.
本発明は上述のように構成されたもので、各ス
レーブCPUに付設されている個別メモリと親機
の主メモリとの間でDMAデータ転送を行う場合
に、スレーブCPUは主メモリのアドレスを出力
するだけでDMA転送が可能となり、従来のよう
に主メモリと個別メモリとの両方のアドレスを順
次出力する必要がないので転送速度を速くするこ
とができるという利点がある。すなわち本発明に
よれば、スレーブCPUから出力されるアドレス
が主メモリのアドレス範囲に含まれているかどう
かを判定し、含まれていなければ個別メモリをア
クセスして通常の処理を行い、含まれていれば個
別メモリに入力されるアドレス信号を切替えるこ
とにより1個のアドレス出力によつて両方のメモ
リをアクセスすると共に、スレーブCPUから出
力されるコントロール信号の読み書きモードを反
転して主メモリへ送ることにより、1回のアクセ
スで読出しと書込みとを行えるようにしたもので
ある。 The present invention is configured as described above, and when performing DMA data transfer between the individual memory attached to each slave CPU and the main memory of the master device, the slave CPU outputs the address of the main memory. DMA transfer is possible just by doing this, and there is no need to sequentially output the addresses of both the main memory and individual memory as in the past, which has the advantage of increasing the transfer speed. In other words, according to the present invention, it is determined whether the address output from the slave CPU is included in the address range of the main memory, and if it is not included, the individual memory is accessed and normal processing is performed to determine whether the address is included. If so, by switching the address signals input to the individual memories, both memories can be accessed by one address output, and the read/write mode of the control signal output from the slave CPU can be reversed and sent to the main memory. This allows reading and writing to be performed in one access.
また本発明によれば、アドレスが主メモリのア
ドレス範囲にあることが判定され、必要なデータ
が各ラツチ回路に保持されたのちは、スレーブ
CPUはDMA転送とは無関係に次のプログラムを
処理することができるという利点がある。 Further, according to the present invention, after it is determined that the address is within the address range of the main memory and the necessary data is held in each latch circuit, the slave
The CPU has the advantage of being able to process the next program regardless of DMA transfer.
第1図は本発明に用いるシステムのブロツク
図、第2図は同上のタイミング図である。
1…マスタCPU、2…主メモリ、3…アドレ
スバス、4…データバス、5…コントロールライ
ン(リードライト)、6…コントロールライン
(DMA要求)、7…コントロールライン(DMA
許可)、11…スレーブCPU、12…個別メモ
リ、13…個別アドレスバス、14,14′…個
別データバス、15…個別コントロールライン
(リードライト)、16…アドレス切替回路、18
…ゲート回路、19…NOT回路、21…アドレ
ス判定回路、22…DMA制御回路、23…フリ
ツプフロツプ、31…アドレス用ラツチゲート、
32…送信用データラツチゲート、33…受信用
データラツチゲート、34…R/Wコントロール
信号用ラツチゲート、35〜38…送受信制御用
ゲート回路である。
FIG. 1 is a block diagram of a system used in the present invention, and FIG. 2 is a timing diagram of the same. 1...Master CPU, 2...Main memory, 3...Address bus, 4...Data bus, 5...Control line (read/write), 6...Control line (DMA request), 7...Control line (DMA
permission), 11...Slave CPU, 12...Individual memory, 13...Individual address bus, 14, 14'...Individual data bus, 15...Individual control line (read/write), 16...Address switching circuit, 18
... gate circuit, 19 ... NOT circuit, 21 ... address judgment circuit, 22 ... DMA control circuit, 23 ... flip-flop, 31 ... address latch gate,
32... Data latch gate for transmission, 33... Data latch gate for reception, 34... Latch gate for R/W control signal, 35-38... Gate circuit for controlling transmission and reception.
Claims (1)
それぞれに個別メモリおよびスレーブCPUを備
えた1台または複数台の子機とを、アドレスバ
ス、データバスおよびコントロールラインを含む
システムバスにて接続し、各子機にはスレーブ
CPUから出力されるアドレス信号が主メモリの
アドレス範囲に含まれるかどうかを判定するアド
レス判定回路と、アドレス判定回路の出力により
個別メモリに接続されているアドレスバスの一部
または全部を予めセツトされている別のアドレス
バスに切替えるアドレス切替回路と、上記アドレ
ス判定信号が出力されたときに上記アドレス信号
およびスレーブCPUから出力されているコント
ロール信号を一時記憶してマスタCPUにDMA要
求信号を送り、マスタCPUからDMA許可信号が
返送されたときに上記アドレス信号および読み書
きモードを反転した上記コントロール信号を主メ
モリに送るDMA制御回路とを設けて、スレーブ
CPUからの1回のアドレス出力によつて一方の
メモリから他方のメモリへデータを転送するよう
にしたことを特徴とするDMA転送方式。1 A master unit equipped with main memory and master CPU,
Connect one or more slave units, each with individual memory and slave CPU, via a system bus including an address bus, data bus, and control line, and each slave unit has a slave CPU.
An address judgment circuit that judges whether the address signal output from the CPU is included in the address range of the main memory, and a part or all of the address bus connected to the individual memory are set in advance by the output of the address judgment circuit. an address switching circuit that switches to another address bus, which temporarily stores the address signal and the control signal output from the slave CPU when the address judgment signal is output, and sends a DMA request signal to the master CPU; A DMA control circuit is provided that sends the address signal and the control signal with the read/write mode inverted to the main memory when the DMA permission signal is returned from the master CPU.
A DMA transfer method characterized in that data is transferred from one memory to another memory by one address output from the CPU.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56119916A JPS5819966A (en) | 1981-07-30 | 1981-07-30 | Dma transfer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56119916A JPS5819966A (en) | 1981-07-30 | 1981-07-30 | Dma transfer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5819966A JPS5819966A (en) | 1983-02-05 |
JPH024024B2 true JPH024024B2 (en) | 1990-01-25 |
Family
ID=14773357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56119916A Granted JPS5819966A (en) | 1981-07-30 | 1981-07-30 | Dma transfer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5819966A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60258670A (en) * | 1984-06-05 | 1985-12-20 | Fanuc Ltd | Data transmission and reception method |
-
1981
- 1981-07-30 JP JP56119916A patent/JPS5819966A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS5819966A (en) | 1983-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4141067A (en) | Multiprocessor system with cache memory | |
US5274795A (en) | Peripheral I/O bus and programmable bus interface for computer data acquisition | |
JP2001503889A (en) | System and method for maintaining memory coherence in a computer system having multiple system buses | |
JPS6335152U (en) | ||
US4513369A (en) | Information processing system | |
US5088028A (en) | Lock converting bus-to-bus interface system | |
JPH0146946B2 (en) | ||
JPH024024B2 (en) | ||
US5408612A (en) | Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register | |
JPH0227696B2 (en) | JOHOSHORISOCHI | |
JPS61166647A (en) | Accessing for reading out information microprocessor and addressable memory | |
US5440696A (en) | Data processing device for reducing the number of internal bus lines | |
JPS649563A (en) | Interprocessor data transfer system | |
GB2035632A (en) | Multiprocessor system | |
JP2574821B2 (en) | Direct memory access controller | |
JPS6233603B2 (en) | ||
JPH024020B2 (en) | ||
JP2640104B2 (en) | Data transfer device | |
JP2736352B2 (en) | Cache memory control method in multiprocessor system | |
JPH0160864B2 (en) | ||
JP2882202B2 (en) | Multi-port access control circuit | |
JPH04258886A (en) | Memory circuit | |
CA1113574A (en) | Multiprocessor system with cache memory | |
JPH0120781B2 (en) | ||
JPS6130300B2 (en) |