JPH02299052A - Dma controller - Google Patents
Dma controllerInfo
- Publication number
- JPH02299052A JPH02299052A JP11987689A JP11987689A JPH02299052A JP H02299052 A JPH02299052 A JP H02299052A JP 11987689 A JP11987689 A JP 11987689A JP 11987689 A JP11987689 A JP 11987689A JP H02299052 A JPH02299052 A JP H02299052A
- Authority
- JP
- Japan
- Prior art keywords
- address
- dma
- dma operation
- ram
- tail
- 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
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 6
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はDMA (Direct MemoryAc
c e s s)コントローラに関するものである。[Detailed Description of the Invention] [Industrial Application Field] The present invention is directed to DMA (Direct Memory Ac
c e s s) This relates to the controller.
従来、メモリと入出力インターフェースとの間でデータ
のやりとりをMPUを介さずに直接行うことを可能とす
るDMAコントローラがある。Conventionally, there is a DMA controller that allows data to be exchanged directly between a memory and an input/output interface without going through an MPU.
このDMAコントローラは一般に一定値ずつ増加又は減
少するアドレスをその人出力インターフェースに向けて
送りつつメモリにおけるそのアドレスに対し読出し書込
みのアクセスを行うようになっている。The DMA controller typically provides read and write access to addresses in memory while sending addresses that are incremented or decremented by a constant value toward the output interface.
第2図はその従来例となるDMAコントローラのブロッ
ク図である。FIG. 2 is a block diagram of a conventional DMA controller.
この図において、1はアドレスカウンタ、2はバッファ
である。In this figure, 1 is an address counter and 2 is a buffer.
アドレスカウンタ1は、クロックDACKによりカウン
トアツプするようになっているとともに、コントロール
バスからのラインと信号Wによりデー9t<スの値ヲロ
ードし、同コントロールバスからのリード信号Rにより
カウント内容をデータバスに出力するものである。The address counter 1 is designed to count up using the clock DACK, and also loads the value of data 9t<s by the line and signal W from the control bus, and transfers the count contents to the data bus by the read signal R from the control bus. This is what is output to.
このアドレスカウンタ1のカウント内容はバッファ2に
も供給され、クロックD A CKに同期してこのバッ
ファ2からアドレスバスにも送出されるようになってい
る。The count contents of the address counter 1 are also supplied to a buffer 2, and sent to the address bus from this buffer 2 in synchronization with the clock D ACK.
第3図はこのようなコントローラを通信回線と接続して
使用する場合のブロック図である。FIG. 3 is a block diagram when such a controller is used in connection with a communication line.
この図において、3はDMAコントローラ、4はD M
Aの対象となるRAM、5は通ず占回線制闘装置、6
はパスライン、7は通信回線である。In this figure, 3 is a DMA controller, 4 is a DMA controller, and 4 is a DMA controller.
RAM targeted by A, 5 is the unread line control device, 6
is a pass line, and 7 is a communication line.
D M Aコントローラ3は通信回線制御装置5からの
リクエスト信号DREQに応答してDMA動作を開始し
、RAM4をアクセスすると同時にクロック信号DAC
Kを通信回線制御装置5に供給する。The DMA controller 3 starts the DMA operation in response to the request signal DREQ from the communication line control device 5, accesses the RAM 4, and at the same time starts the clock signal DAC.
K is supplied to the communication line control device 5.
すると、通信回線制御装置5はこのクロック信号DAC
Kに同期してパスライン6にデータを送出してRAM4
に書込まれるようにし、またはパスライン6上のデータ
を取り込んで回線7に送出するようになっているもので
ある。Then, the communication line control device 5 receives this clock signal DAC.
Sends data to pass line 6 in synchronization with K and stores it in RAM 4.
The data on the pass line 6 is taken in and sent to the line 7.
ところで、当該RAM4はリングバッファ方式で使用さ
れることが多い。By the way, the RAM 4 is often used in a ring buffer manner.
第4図はそのRAM4の概念図である。FIG. 4 is a conceptual diagram of the RAM 4.
同図(イ)において、0000はRAM4の先頭アドレ
ス、1234は同RAM4の最終アドレスであるが、リ
ングバッファとは同図(ロ)に示すように、記憶領域を
あたかも先頭アドレス0000と最終アドレス1234
を繋げてリングの如くしたようにとらえるものである。In the same figure (A), 0000 is the start address of RAM4, and 1234 is the last address of the same RAM4, but the ring buffer is as shown in the same figure (B), as if the storage area is the start address 0000 and the end address 1234.
It can be seen as if they were connected like a ring.
よって、このリングバッファ方式の場合、アクセス途中
に最終アドレスへ至ったときには、先頭アドレスに帰っ
てアクセスを続行することとなる。Therefore, in the case of this ring buffer method, when the final address is reached during access, the access is continued by returning to the first address.
しかしながら、上記従来のDMAコントローラによりこ
のリングバッファ方式を用いた場合、そのDMAの領域
が第4図(イ)において符号Cで示すように領域の中間
に収まれば良いが、その領域が符号すで示すようにアク
セス途中に最終アドレスへ至るような場合、リングバッ
ファの最終アドレスがシステムによってまちまちである
ため、DMA動作を2回に別けて行うしかなく、その分
、データ転送時間が長くかかることとなっていた。However, when this ring buffer method is used with the conventional DMA controller described above, it is sufficient that the DMA area falls within the middle of the area as shown by the symbol C in FIG. As shown in the figure, when the final address is reached during the access, the final address of the ring buffer varies depending on the system, so the DMA operation has to be performed in two separate steps, which increases the data transfer time. It had become.
本発明は、上記の問題点に鑑みてなされたもので、その
目的とするところは、メモリの最終アドレスまで至って
も容量が確保できない場合であってもDMA動作を2回
に分けることを必要とすることなくそのDMA動作を完
了させるDMAコントローラを提供することにある。The present invention has been made in view of the above-mentioned problems, and its purpose is to make it necessary to divide the DMA operation into two even if the capacity cannot be secured even when the final address of the memory is reached. The object of the present invention is to provide a DMA controller that completes its DMA operations without having to do so.
本発明のDMAコントローラは、D M A動作毎にD
MA動作アドレスを一定値ずつ増加または減少させるア
ドレスカウント手段と、前記DMAの対象となるメモリ
の先頭アドレスを記憶する先頭アドレス記憶手段と、該
メモリの最終アドレスを記憶する最終アドレス記憶手段
と、前記DMA動作アドレスと前記最終アドレスとを比
較し両者が一致したときには前記先頭アドレスを前記ア
ドレスカウント手段にロードさせるアドレス補正手段と
を備えている。The DMA controller of the present invention performs D
address counting means for increasing or decreasing the MA operation address by a constant value; first address storage means for storing the first address of the memory to be subjected to the DMA; final address storage means for storing the final address of the memory; The DMA operation address and the final address are compared, and when the two match, the address correction means loads the first address into the address counting means.
本発明によれば、予めメモリの最終アドレスと先頭アド
レスを各記憶手段に設定しておくことて、アクセスが最
終アドレスに至ったときにはアドレスカウント手段に先
頭アドレスがロードされ、DMA動作が自動的にその先
頭アドレスへ続行されるようになる。According to the present invention, by setting the final address and the starting address of the memory in each storage means in advance, when the access reaches the final address, the starting address is loaded into the address counting means, and the DMA operation is automatically performed. It will now continue to that first address.
以下に本発明の実施例について図面を参照しつつ説明す
る。Embodiments of the present invention will be described below with reference to the drawings.
第1図は本発明の一実施例に係るDMAコントローラの
ブロック図である。FIG. 1 is a block diagram of a DMA controller according to an embodiment of the present invention.
この、図において、8は先頭アドレスレジスタであり、
この先頭アドレスレジスタ8にはRA M 4(この図
では省略されているが、そのアドレス入力端子はアドレ
スバスに接続され、データ入出力端子はデータバスに接
続される。)の先頭アドレスが設定される。In this figure, 8 is the start address register,
The start address of the RAM 4 (though omitted in this figure, its address input terminal is connected to the address bus, and its data input/output terminal is connected to the data bus) is set in this start address register 8. Ru.
9は最終アドレスレジスタであり、この最終アドレスレ
ジスタ9はRAM4の最終アドレスが設定されるもので
、且つアドレスカウンタ1の出力とその記憶内容とを比
較することによりDMA動作アドレスを監現し、両者が
一致したときには一致検出信号12を発生するようにな
っている。9 is a final address register, and this final address register 9 is used to set the final address of the RAM 4, and monitors the DMA operation address by comparing the output of the address counter 1 and its storage contents, so that both When a match occurs, a match detection signal 12 is generated.
10はマルチプレクサである。このマルチプレクサ10
はそのセレクトデータとしてデータバスからの信号と先
頭アドレスレジスタ8の出力とが入力されているもので
、最終アドレスレジスタ9から一致検出信号12が入力
されていないときにはデータバスからの信号をセレクト
し、一致検出信号12が人力されると先頭アドレスレジ
スタ8の出力をセレクトするようになっている。10 is a multiplexer. This multiplexer 10
The signal from the data bus and the output of the first address register 8 are input as the select data, and when the coincidence detection signal 12 is not input from the last address register 9, the signal from the data bus is selected, When the match detection signal 12 is input manually, the output of the head address register 8 is selected.
11はオアゲートであり、ライト信号Wはこのオアゲー
ト11を介してアドレスカウンタ1に人力されるように
なっている。最終アドレスレジスタ9からの一致検出信
号12もこのオアゲート11に人力されており、これに
よって一致検出16号12が発せられると、マルチプレ
クサ10から出力される先頭アドレスがアドレスカウン
タ]にロードされるようになっている。11 is an OR gate, and the write signal W is manually inputted to the address counter 1 via this OR gate 11. The match detection signal 12 from the final address register 9 is also input to this OR gate 11, so that when the match detection signal 16 is issued, the first address output from the multiplexer 10 is loaded into the address counter. It has become.
よって、DMAの容量がRAM4の記憶領域の中間に収
まる場合には、DMA動作アドレスが最終アドレスと一
致することかないため、先頭アドレスレジスタ8の内容
がアドレスカウンタ1にロードされることはない。Therefore, if the DMA capacity falls within the middle of the storage area of the RAM 4, the contents of the start address register 8 will not be loaded into the address counter 1 because the DMA operation address will never match the final address.
一方、DMAの容量がRAM4の記憶領域の中間に収ま
らず、そのDMA動作途中においてアドレスが最終アド
レスと一致すると、先頭アドレスレジスタ8の内容がア
ドレスカウンタ1にロードされ、アドレスカウンタ1は
DMA動作途中でその先頭アドレスからカウントアツプ
を行うようになる。On the other hand, if the capacity of the DMA does not fit in the middle of the storage area of the RAM 4 and the address matches the final address during the DMA operation, the contents of the first address register 8 are loaded into the address counter 1, and the address counter 1 is stored in the middle of the DMA operation. will start counting up from the first address.
これにより、DMA動作途中においてアドレスか最終ア
ドレスに至った場合、D M A動作アドレスが自動的
に先頭アドレスに引き継がれて、D M A動作の完了
に至ることとなる。As a result, when the address reaches the final address during the DMA operation, the DMA operation address is automatically taken over by the first address, and the DMA operation is completed.
したがって、レジスタ8.9に所定のアドレスを予め設
定しておけば、RAM4の最終アドレスまで至ってなお
容量が確保できない場合であってもDMA動作を2回に
分けることを必要とすることなくそのDMA動作を完了
させることとなる。Therefore, by setting a predetermined address in register 8.9 in advance, even if the capacity cannot be secured even after reaching the final address of RAM 4, the DMA operation can be performed without having to divide the DMA operation into two. This will complete the operation.
以上説明したように本発明によれば、予めメモリの最終
アドレスと先頭アドレスを各記憶手段に設定しておくこ
とで、アクセスが最終アドレスに至ったときにはアドレ
スカウント手段に先頭アドレスがロードされ、DMA動
作が自動的にその先頭アドレスへ引き継がれるようにな
るため、メモリの最終アドレスまで至ってもなお容量が
確保できない場合であってもDMA動作を2回に分ける
ことを必要とすることなくそのD〜IA動作を完γさせ
ることができるという効果を奏する。As explained above, according to the present invention, by setting the final address and the starting address of the memory in each storage means in advance, when the access reaches the final address, the starting address is loaded into the address counting means, and the DMA Since the operation is automatically taken over to the first address, even if the memory capacity cannot be secured even after reaching the final address of the memory, there is no need to divide the DMA operation into two, and the D~ This has the effect that the IA operation can be completed.
第1図は本発明の一実施例に係るDMAコントローラの
ブロック図、第2図は従来のDMAコントローラのブロ
ック図、第3図はDMAコントローラを通信回線と接続
して用いた場合のシステム構成を示すブロック図、第4
図はメモリのバッファ構成を示す概念図である。
1・・・アドレスカウンタ、2・・・バッファ、4・・
・RAM、8・・・先頭アドレスレジスタ、9・・最終
アドレスレジスタ、10・・・マルチプレクサ、11・
・・オアゲート。Fig. 1 is a block diagram of a DMA controller according to an embodiment of the present invention, Fig. 2 is a block diagram of a conventional DMA controller, and Fig. 3 shows a system configuration when the DMA controller is connected to a communication line. Block diagram shown, No. 4
The figure is a conceptual diagram showing a memory buffer configuration. 1...address counter, 2...buffer, 4...
・RAM, 8...Start address register, 9...Last address register, 10...Multiplexer, 11...
...orgate.
Claims (1)
たは減少させるアドレスカウント手段と、前記DMAの
対象となるメモリの先頭アドレスを記憶する先頭アドレ
ス記憶手段と、該メモリの最終アドレスを記憶する最終
アドレス記憶手段と、前記DMA動作アドレスと前記最
終アドレスとを比較し両者が一致したときには前記先頭
アドレスを前記アドレスカウント手段にロードさせるア
ドレス補正手段とを備えているDMAコントローラ。address counting means for increasing or decreasing a DMA operation address by a fixed value for each DMA operation; a first address storage means for storing a first address of the memory to be subjected to the DMA; and a final address memory for storing a final address of the memory. and address correction means for comparing the DMA operation address and the final address and loading the first address into the address counting means when they match.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11987689A JPH02299052A (en) | 1989-05-12 | 1989-05-12 | Dma controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11987689A JPH02299052A (en) | 1989-05-12 | 1989-05-12 | Dma controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02299052A true JPH02299052A (en) | 1990-12-11 |
Family
ID=14772434
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11987689A Pending JPH02299052A (en) | 1989-05-12 | 1989-05-12 | Dma controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02299052A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007122491A (en) * | 2005-10-28 | 2007-05-17 | Ricoh Co Ltd | Image forming apparatus |
| US7500028B2 (en) | 2003-03-20 | 2009-03-03 | Panasonic Corporation | DMA controller providing for ring buffer and rectangular block transfers |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60235269A (en) * | 1984-05-08 | 1985-11-21 | Toshiba Corp | Data transfer controller |
-
1989
- 1989-05-12 JP JP11987689A patent/JPH02299052A/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60235269A (en) * | 1984-05-08 | 1985-11-21 | Toshiba Corp | Data transfer controller |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7500028B2 (en) | 2003-03-20 | 2009-03-03 | Panasonic Corporation | DMA controller providing for ring buffer and rectangular block transfers |
| JP2007122491A (en) * | 2005-10-28 | 2007-05-17 | Ricoh Co Ltd | Image forming apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0458304A1 (en) | Direct memory access transfer controller | |
| US5287471A (en) | Data transfer controller using direct memory access method | |
| US5287486A (en) | DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts | |
| JPH02299052A (en) | Dma controller | |
| KR20010013137A (en) | Communication DMA Device | |
| JPH09305524A (en) | Multi-function peripheral | |
| EP0410382A2 (en) | Data transfer controller using direct memory access method | |
| JPH04323755A (en) | Dma device | |
| JP2594611B2 (en) | DMA transfer control device | |
| JPH0567035A (en) | Data alignment method in DMA transfer | |
| JPS6294042A (en) | Communication control equipment | |
| JP2588514Y2 (en) | Communication control device | |
| JP2604051B2 (en) | Data transfer method | |
| JPH0310354A (en) | Data transfer control system | |
| JPS63131254A (en) | Image signal processing device | |
| JPH02245959A (en) | Data transfer system of input/output controller | |
| JPH10240677A (en) | DMA device | |
| JPH06348645A (en) | Dma circuit | |
| JPH07146839A (en) | DMA circuit | |
| JP2000132498A (en) | Dma transfer controller | |
| JPH05197654A (en) | Communication control method | |
| JPS63223943A (en) | Direct memory access control system | |
| JPH0769885B2 (en) | Data transfer device | |
| JPS61117651A (en) | Interface device | |
| JPH0660011A (en) | Direct memory access controller |