JPH03211652A - Direct memory access circuit - Google Patents
Direct memory access circuitInfo
- Publication number
- JPH03211652A JPH03211652A JP805990A JP805990A JPH03211652A JP H03211652 A JPH03211652 A JP H03211652A JP 805990 A JP805990 A JP 805990A JP 805990 A JP805990 A JP 805990A JP H03211652 A JPH03211652 A JP H03211652A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- addresses
- counter
- start address
- 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
Links
Landscapes
- Bus Control (AREA)
Abstract
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、プロセッサを介さずにバス上に接続された複
数のメモリブロック間のデータ転送を行なうダイレクト
メモリアクセス回路に関する。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a direct memory access circuit that transfers data between a plurality of memory blocks connected on a bus without using a processor.
従来の技術
従来、この種のダイレクトメモリアクセス(DMA)回
路において、メモリブロック間のデータ転送にはDMA
コントローラは転送元と転送先との双方のアドレシング
を行なう必要がある。そこで、例えば[3種類の転送モ
ードを備える68000用DMAコントローラ」 (雑
誌rNIKKEIELECTRONIC51982,8
,2J中の第148頁)に示されるように、転送先のア
ドレス、転送元のアドレスをDMA本体が2度出すとい
う2アドレス方式(2重アドレスモード)によりメモリ
間のデータ転送を行なうようにしたものがある。Conventionally, in this type of direct memory access (DMA) circuit, DMA is used to transfer data between memory blocks.
The controller needs to address both the transfer source and transfer destination. Therefore, for example, [68000 DMA controller with three types of transfer modes] (magazine rNIKKEI ELECTRONIC51982, 8
, 2J, page 148), data transfer between memories is performed using a two-address method (double address mode) in which the DMA itself issues the transfer destination address and transfer source address twice. There is something I did.
発明が解決しようとする課題
2アドレス方式とするのは、前記バスのアドレス線が1
組しかないためであるが、2バスサイクルでデータ1転
送となるため、サイクル時間が長くなり、データ転送速
度の遅いものである。Problem 2 to be Solved by the Invention The address method is used when the address line of the bus is 1
This is because there is only one set of data, but since one data transfer takes two bus cycles, the cycle time is long and the data transfer speed is slow.
課題を解決するための手段
バス上に接続された複数のメモリブロック間のデータ転
送を、プロセッサを介さずにコントローラによるシーケ
ンス制御で直接性なうダイレクトメモリアクセス回路に
おいて、前記バスのアドレス線に接続されて開始アドレ
スが書込まれるとともに前記コントローラからのクロッ
クを計数するカウンタを各メモリブロック内に内蔵し、
各々のカウンタのカウント値によりロードされるアドレ
ス回路を各メモリブロックに設けた。Means for Solving the Problem In a direct memory access circuit that directly transfers data between multiple memory blocks connected on a bus through sequence control by a controller without going through a processor, a direct memory access circuit is connected to the address line of the bus. each memory block has a built-in counter that counts clocks from the controller, and a start address is written therein.
Each memory block was provided with an address circuit loaded with the count value of each counter.
作用
各メモリブロックはカウンタを内蔵しており、メモリブ
ロック間のデータ転送に際して、最初に転送元、転送先
の開始アドレスを各々のカウンタに書込んでおくことに
より、データ転送を開始させると該当するアドレス間で
データの読出し・書込みが行なわれる。データ転送後に
、各カウンタにクロックを送ることにより開始アドレス
からアドレスが1増加され、次のアドレス間でデータの
読出し・書込みが行なわれる。以後、同様であり、結局
、各メモリブロック内において開始アドレス以後のアド
レスがクロックにより生成されることになり、1データ
転送につき2アドレス方式をとる必要がなく、データ転
送を高速化させることができる。ここに、アドレスは連
続するものに限らず、例えばカウンタを駆動するコント
ローラからのクロック数を任意に変えることにより不連
続なアドレスであってもロードさせることもできる。Effect Each memory block has a built-in counter, and when transferring data between memory blocks, first write the start address of the transfer source and transfer destination to each counter, and then start the data transfer. Data is read and written between addresses. After data transfer, the address is incremented by 1 from the start address by sending a clock to each counter, and data is read and written between the next addresses. The process is the same thereafter, and in the end, the addresses after the start address in each memory block are generated by the clock, so there is no need to use a two-address method for one data transfer, and data transfer can be speeded up. . Here, the addresses are not limited to consecutive addresses; for example, by arbitrarily changing the number of clocks from the controller that drives the counter, even discontinuous addresses can be loaded.
実施例 本発明の一実施例を図面に基づいて説明する。Example An embodiment of the present invention will be described based on the drawings.
まず、本実施例のDM、A回路は第2図に示すようにバ
スlを介してCPU2とDMAコントローラ(DMAC
)3と例えば2つの第1.2メモリブロック4,5とを
接続して構成される。First, as shown in FIG. 2, the DM and A circuits of this embodiment connect to the CPU 2 and the DMA controller (DMAC
) 3 and, for example, two 1.2-th memory blocks 4 and 5.
ここに、1つのメモリブロック、例えば第1メモリブロ
ツク4についてみると、第1図に示すようにバス1中の
データ線lDに接続されたメモリ6のアドレス入力と、
前記バスl上のアドレス線IAとの間にカウンタ7を介
在させたアドレス回路8が形成されている。前記カウン
タ7はロード機能付きのもので、そのカウント値により
メモリ6のアドレスをロードする。カウンタ7は前記C
PU2に接続されて開始アドレスが書込まれるとともに
、グロック端子は前記DMAC5に接続されて計数すべ
きクロックが入力されるものである。Here, regarding one memory block, for example, the first memory block 4, as shown in FIG. 1, the address input of the memory 6 connected to the data line ID in the bus 1,
An address circuit 8 with a counter 7 interposed between it and the address line IA on the bus l is formed. The counter 7 has a loading function, and loads the address of the memory 6 based on its count value. The counter 7 is
The clock terminal is connected to the PU 2 to write the start address, and the clock terminal is connected to the DMAC 5 to input the clock to be counted.
第2メモリブロツク5側でも同様である。The same applies to the second memory block 5 side.
このような構成において、例えば第1メモリブロツク4
から第2メモリブロツク5ヘデータを連続転送させる場
合の動作を第3図を参照して説明する。まず、CPU2
は転送するデータ語数をDMAC5に書込む。同時に、
第1メモリブロツク4内のカウンタ7には転送元の開始
アドレスを書込み、第2メモリブロツク5内のカウンタ
7には転送先の開始アドレスを書込む。ついで、CPU
2がDMAC5にDMA動作のコマンドを送る。In such a configuration, for example, the first memory block 4
The operation of continuously transferring data from the first memory block to the second memory block 5 will be explained with reference to FIG. First, CPU2
writes the number of data words to be transferred to DMAC5. at the same time,
The start address of the transfer source is written in the counter 7 in the first memory block 4, and the start address of the transfer destination is written in the counter 7 in the second memory block 5. Next, the CPU
2 sends a DMA operation command to the DMAC 5.
これを受けて、DMAC5は第1メモリブロツク4に対
してリード信号を出力し、第2メモリブロツク5に対し
てライト信号を出力することにより、第1メモリブロツ
ク4の開始アドレスから読出されたデータはバス1上の
データ線IDを通り、第2メモリブロツク5内のメモリ
6中の開始アドレスに書込まれる。次に、DMAC5か
ら各カウンタ7にクロックを出力すると、開始アドレス
より1増加したアドレスに変更され、これらのアドレス
間でデータ読出し・書込みが行なわれる。以後のデータ
転送も同様に行なわれる。よって、DMAC3はクロッ
クを順次出力してアドレスを更新・生成させればよいも
のとなる。In response, the DMAC 5 outputs a read signal to the first memory block 4 and a write signal to the second memory block 5, thereby writing the data read from the start address of the first memory block 4. is written to the starting address in the memory 6 in the second memory block 5 through the data line ID on the bus 1. Next, when the DMAC 5 outputs a clock to each counter 7, the start address is changed to an address incremented by 1, and data is read and written between these addresses. Subsequent data transfers are performed in the same manner. Therefore, the DMAC 3 only needs to sequentially output clocks to update and generate addresses.
ところで、DMAC5による各カウンタ7へのクロック
送出を、lクロックに固定せず、任意の複数クロックと
すれば、不連続なアドレスをロードさせることができる
。例えば、第4図に示すように各々の開始アドレス間で
の1語のデータ転送後に、転送先の第2メモリブロツク
5内のカウンタ7に対しては2つのクロックを送出する
と、転送先アドレスとしては2個先のアドレスが指定さ
れたことになり、このアドレスに対して書込みを行なわ
せることができ、任意のアドレスに対応できる。By the way, if the clock sent by the DMAC 5 to each counter 7 is not fixed to 1 clock but is set to a plurality of arbitrary clocks, discontinuous addresses can be loaded. For example, as shown in FIG. 4, after one word of data is transferred between each start address, if two clocks are sent to the counter 7 in the second memory block 5 as the transfer destination, This means that the address two addresses ahead is specified, and writing can be performed to this address, making it possible to correspond to any address.
発明の効果
本発明は、上述したように各メモリブロック内にカウン
タを内蔵させて各ブロック内のアドレス生成を開始アド
レス以後独立して行なうアドレス回路を構成したので、
メモリブロック間のデータ転送に際して2アドレス方式
とする必要がなく、コントローラによるクロック制御で
済み、高速データ転送を可能とすることができ、特に、
クロック数の制御によって不連続なアドレスであっても
ロード可能な融通性を持つものである。Effects of the Invention In the present invention, as described above, each memory block has a built-in counter and an address circuit is configured to independently generate addresses in each block after the start address.
There is no need to use a 2-address method when transferring data between memory blocks, clock control by the controller is sufficient, high-speed data transfer is possible, and in particular,
It has the flexibility to load even discontinuous addresses by controlling the number of clocks.
図面は本発明の一実施例を示すもので、第1図は要部の
ブロック図、第2図は全体構成を示すブロック図、第3
図は連続アドレスによるDMA動作を示す説明図、第4
図は不連続アドレスによるD M A動作を示す説明図
である。
1・・バス、IA・・・アドレス線、3・・・コントロ
ーラ、4.5・・・メモリブロック、7・・・カウンタ
、8・・・アドレス回路
3」
図
37図
」
、3図
印
一篤
lLL 図The drawings show one embodiment of the present invention, and Fig. 1 is a block diagram of the main parts, Fig. 2 is a block diagram showing the overall configuration, and Fig. 3 is a block diagram showing the overall configuration.
The figure is an explanatory diagram showing DMA operation using continuous addresses.
The figure is an explanatory diagram showing a DMA operation using discontinuous addresses. 1...Bus, IA...Address line, 3...Controller, 4.5...Memory block, 7...Counter, 8...Address circuit 3'' Figure 37'', 3 figure mark 1 Atsushi lll figure
Claims (1)
タ転送を、プロセッサを介さずにコントローラによるシ
ーケンス制御で直接行なうダイレクトメモリアクセス回
路において、前記バスのアドレス線に接続されて開始ア
ドレスが書込まれるとともに前記コントローラからのク
ロックを計数するカウンタを各メモリブロック内に内蔵
し、各々のカウンタのカウント値によりロードされるア
ドレス回路を各メモリブロックに設けたことを特徴とす
るダイレクトメモリアクセス回路。 2、カウンタを駆動するコントローラからのクロックの
数により不連続なアドレスをロードさせるようにしたこ
とを特徴とする請求項1記載のダイレクトメモリアクセ
ス回路。[Claims] 1. In a direct memory access circuit that directly performs data transfer between a plurality of memory blocks connected on a bus under sequence control by a controller without going through a processor, Each memory block has a built-in counter in which a start address is written and counts clocks from the controller, and each memory block is provided with an address circuit that is loaded by the count value of each counter. Direct memory access circuit. 2. The direct memory access circuit according to claim 1, wherein discontinuous addresses are loaded depending on the number of clocks from a controller that drives the counter.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP805990A JPH03211652A (en) | 1990-01-17 | 1990-01-17 | Direct memory access circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP805990A JPH03211652A (en) | 1990-01-17 | 1990-01-17 | Direct memory access circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03211652A true JPH03211652A (en) | 1991-09-17 |
Family
ID=11682766
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP805990A Pending JPH03211652A (en) | 1990-01-17 | 1990-01-17 | Direct memory access circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03211652A (en) |
-
1990
- 1990-01-17 JP JP805990A patent/JPH03211652A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000020451A (en) | Device and method for processing information and provision method | |
| JPH01144287A (en) | Data memory | |
| JPH03211652A (en) | Direct memory access circuit | |
| US6483753B1 (en) | Endianess independent memory interface | |
| JP3266610B2 (en) | DMA transfer method | |
| JPH0222748A (en) | Non-volatile memory control circuit | |
| JPH03204753A (en) | Dma controller | |
| JPS63142455A (en) | Semiconductor storage device | |
| JP3201439B2 (en) | Direct memory access control circuit | |
| JPS62249263A (en) | Direct memory access controller | |
| JP2000285087A (en) | Method for data communication between nodes | |
| JPS60189052A (en) | memory access control device | |
| JPH039453A (en) | Data transfer controller | |
| JPH03228163A (en) | Data transfer equipment | |
| JP2000132498A (en) | Dma transfer controller | |
| JPH03214275A (en) | Semiconductor integrated circuit | |
| JPH02211571A (en) | Information processor | |
| JPS63201810A (en) | Time system of information processing system | |
| JPH0357055A (en) | Dma transfer control system | |
| JPS6383854A (en) | Data transfer circuit | |
| JPS58146921A (en) | High-speed data transferring device of bus coupling system | |
| JPH02307149A (en) | Direct memory access control method | |
| JPH0375957A (en) | Dma transfer control system | |
| JPH08185370A (en) | Microprocessor controller | |
| JPH01250163A (en) | Bus controller |