KR100317329B1 - DMA(Direct Memory Access) controller - Google Patents

DMA(Direct Memory Access) controller Download PDF

Info

Publication number
KR100317329B1
KR100317329B1 KR1019990047986A KR19990047986A KR100317329B1 KR 100317329 B1 KR100317329 B1 KR 100317329B1 KR 1019990047986 A KR1019990047986 A KR 1019990047986A KR 19990047986 A KR19990047986 A KR 19990047986A KR 100317329 B1 KR100317329 B1 KR 100317329B1
Authority
KR
South Korea
Prior art keywords
address
dma
internal memory
register
output
Prior art date
Application number
KR1019990047986A
Other languages
Korean (ko)
Other versions
KR20010044926A (en
Inventor
고남곤
Original Assignee
박종섭
주식회사 하이닉스반도체
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 박종섭, 주식회사 하이닉스반도체 filed Critical 박종섭
Priority to KR1019990047986A priority Critical patent/KR100317329B1/en
Publication of KR20010044926A publication Critical patent/KR20010044926A/en
Application granted granted Critical
Publication of KR100317329B1 publication Critical patent/KR100317329B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 내부 메모리와 DMA를 결합시킨 구조의 DMA를 이용하여 듀얼 어드레스 트랜스퍼 모드로 전송해야 할 데이터를 싱글 어드레스 트랜스퍼 모드로 전송할 수 있도록 하여 전송시간을 보다 단축시키는데 적당한 DMA제어장치를 제공하기 위한 것으로, 외부 메모리 및 외부 입/출력장치와 내부 메모리간의 데이터 전송을 듀얼 어드레스 모드로 전송하기 위한 DMA제어장치에 있어서, 복수개의 채널들과, 상기 채널 및 DMA제어 그리고 내부 메모리를 제어하는 채널, DMA제어 및 내부 메모리 제어부와, 상기 각 채널들로부터 출력되는 어드레스를 먹싱하여 DMA어드레스를 출력하는 제 1 어드레스 먹스부와, 상기 각 채널들로부터 출력되는 어드레스를 먹싱하여 출력하는 제 2 어드레스 먹스부와, 상기 제 2 어드레스 먹스부의 출력 어드레스와 내부버스를 통해 입력되는 어드레스를 먹싱하여 출력하는 제 3 어드레스 먹스부와, 상기 제 3 어드레스 먹스부에서 출력되는 어드레스에 따른 데이터의 라이트 및 리드를 수행하는 내부 메모리를 포함하여 구성된다.The present invention provides a DMA controller suitable for shortening the transmission time by enabling data to be transferred in the dual address transfer mode to the dual address transfer mode using a DMA having a structure in which an internal memory and a DMA are combined. And a DMA controller for transferring data transfer between an external memory and an external input / output device and an internal memory in a dual address mode, comprising: a plurality of channels, the channel and the DMA control, and a channel controlling an internal memory, a DMA control An internal memory controller, a first address mux for muxing the addresses output from the channels, and outputting a DMA address; a second address mux for muxing and outputting addresses output from the channels; Input address of the second address mux unit and input via the internal bus Muxing an address that is output by the third address MUX unit, comprising an internal memory for performing write and read of data in accordance with an address outputted from the third address MUX unit.

Description

디 앰 에이(DMA) 제어장치{DMA(Direct Memory Access) controller}DDMA controller {Direct Memory Access (DMA) controller}

본 발명은 앰 씨 유(MCU:Micro Controller Unit;이하, 'MCU'라 약칭함)에 관한 것으로, 특히 MCU가 내부 메모리와 디 앰 에이(DMA:Direct Memory Access;이하, 'DMA'라 약칭함)제어기를 가지고 듀얼 어드레스 트랜스퍼 모드(dual address transfer mode)로 데이트 전송할 때, 전송 시간을 단축시키기 위해서 내부 메모리와 DMA를 결합시킨 구조의 DMA를 사용하여 듀얼 어드레스 트랜스퍼 모드(Dual address transfer mode)로 전송해야 할 것을 싱글 어드레스 트랜지스터 모드(single address transfer mode)로 전송할 수 있는 DMA제어기에 관한 것이다.The present invention relates to a microcontroller unit (MCU: hereinafter referred to as "MCU"), in particular, the MCU for the internal memory and DMA (Direct Memory Access; hereinafter referred to as "DMA") When transferring data in dual address transfer mode with a controller, transfer in dual address transfer mode using DMA with a combination of internal memory and DMA to shorten the transfer time. What is needed is a DMA controller capable of transferring in a single address transistor mode.

이하, 첨부된 도면을 참조하여 종래 기술에 따른 DMA제어기를 설명하기로 한다.Hereinafter, a DMA controller according to the prior art will be described with reference to the accompanying drawings.

도 1은 DMA를 갖는 MCU의 구성블록도이다.1 is a block diagram of a MCU having a DMA.

도 1에 도시한 바와 같이, MCU(11)는 CPU(11a), DMA(11b), 내부 메모리부(11c), 외부버스 컨트롤러(11d), MCU컨트롤러(11e), 그리고 복수개의 내부 입/출력 장치(11f_1,11f_2,...)들로 구성된다.As shown in FIG. 1, the MCU 11 includes a CPU 11a, a DMA 11b, an internal memory unit 11c, an external bus controller 11d, an MCU controller 11e, and a plurality of internal input / outputs. Devices 11f_1, 11f_2, ...

여기서, 상기 각각의 블록은 내부버스(12)에 공통으로 접속되어 있다.Here, the respective blocks are commonly connected to the internal bus 12.

한편, 상기 외부버스 컨트롤러(11d)는 MCU(11)의 외부에 위치한 외부버스(13)와 연결되고, 상기 외부버스(13)에는 상기 외부버스 컨트롤러(11d) 이외에 외부 메모리부(14) 및 복수개의 외부 입/출력 장치(15_1,15_2,...)들이공통으로 접속되어 있다.Meanwhile, the external bus controller 11d is connected to an external bus 13 located outside the MCU 11, and the external bus 13 has an external memory unit 14 and a plurality of external bus controllers in addition to the external bus controller 11d. External input / output devices 15_1, 15_2, ... are commonly connected.

여기서, 상기 DMA를 보다 상세하게 설명하기로 한다.Here, the DMA will be described in more detail.

도 2는 도 1의 DMA를 보다 상세하게 도시한 DMA의 구성블록도이다.FIG. 2 is a block diagram illustrating a DMA showing the DMA of FIG. 1 in more detail.

DMA는 도 2에 도시된 바와 같이, 채널 제어 및 DMA제어부(21)와, 복수개의 채널(CH0,CH1,....CHn)들과, 각각의 채널로부터 입력되는 어드레스를 상기 채널 및 DMA제어부(21)의 제어신호에 의해 먹싱하는 어드레스 먹스부(MUX)(22)와, DMA레지스터(23), 데이터 레지스터(24) 등으로 구성된다.As shown in FIG. 2, the DMA includes a channel control and DMA control unit 21, a plurality of channels CH0, CH1, ..., CHn, and an address input from each channel. An address mux (MUX) 22 muxed by the control signal of (21), a DMA register 23, a data register 24, and the like.

여기서, 데이터 레지스터(24) 및 DMA레지스터(23), 그리고 채널 및 DMA제어부(21)는 MCU의 내부버스(12)와 연결된다.Here, the data register 24 and the DMA register 23, and the channel and DMA control unit 21 is connected to the internal bus 12 of the MCU.

또한, 채널 및 DMA제어부(21)와 상기 DMA레지스터(23) 사이에는 시작/종료 레지스터(25)와 채널 제어 레지스터(26)가 연결된다.In addition, a start / end register 25 and a channel control register 26 are connected between the channel and the DMA control unit 21 and the DMA register 23.

각각의 채널들은 소오스 어드레스 레지스터(31)와, 목적지 어드레스 레지스터(32)와, 카운터 레지스터(33)와, 제어 레지스터(34)로 구성된다. 소오스 및 목적지 어드레스 레지스터(31,32)에는 어드레스가 출력된 후 레지스터값을 하나씩 증가시키는 카운터(35a,35b)가 연결된다.Each channel consists of a source address register 31, a destination address register 32, a counter register 33, and a control register 34. Counters 35a and 35b are connected to the source and destination address registers 31 and 32 to increment the register value by one after the address is output.

그리고 제어 레지스터(34)에는 인에이블(enable)비트, 싱글/듀얼 모드(single/dual mode) 비트, 버스트/싱글 스틸 모드(burst/single steal mode) 비트, 스테이터스(status) 비트가 저장된다.The enable register 34 stores an enable bit, a single / dual mode bit, a burst / single steal mode bit, and a status bit.

상기 소오스 어드레스 레지스터(31), 목적지 어드레스 레지스터(32), 카운터 레지스터(33) 및 제어 레지스터(34)의 출력을 받아 시퀀스를 제어하는 시퀀스 제어기(36)이 더 구성된다.A sequence controller 36 is further configured to receive outputs of the source address register 31, the destination address register 32, the counter register 33, and the control register 34 to control the sequence.

이와 같이 구성된 종래 기술에 따른 DMA의 동작을 도 1 및 도 2를 참조하여 설명하면 다음과 같다.The operation of the DMA according to the prior art configured as described above will be described with reference to FIGS. 1 and 2.

먼저, DMA의 전송모드는 버스트/사이클 스틸 모드(burst/cycle steal mode)와, 싱글/듀얼 어드레스 모드(single/dual address mode)가 있다. 이하, 종래 기술로서는 듀얼 어드레스 모드에 대해 설명하기로 한다.First, the transmission mode of the DMA includes a burst / cycle steal mode and a single / dual address mode. Hereinafter, the dual address mode will be described in the related art.

듀얼 어드레스 모드로 DMA를 사용하여 데이터를 전송하는 경우에는 먼저, 소오스 데이터를 읽기 위해 소오스 어드레스를 DMA(11b)가 출력한다. 따라서, 해당 장치(메모리 또는 입/출력 장치)에 저장되어 있는 데이터를 읽어오게 된다(소오스 어드레스 리드 사이클).When data is transferred using DMA in the dual address mode, first, the source address is output by the DMA 11b to read the source data. Therefore, data stored in the device (memory or input / output device) is read (source address read cycle).

이 데이터를 DMA의 내부 데이터 레지스터에 잠시 보관한 후, 바로 해당 목적지 어드레스로 라이트(write)한다(목적지 어드레스 라이트 사이클).After storing this data in the internal data register of the DMA for a while, the data is immediately written to the destination address (destination address write cycle).

먼저, 소오스 어드레스 리드 사이클에서는 데이터는 외부 메모리(14) 또는 외부 입/출력장치(15_1,15_2,...)로부터 읽혀진 데이터를 외부 시스템 버스에 싣고, 이 데이터는 MCU내부의 내부 버스(12)에 실린다. 이후, 다시 DMA내의 데이터 레지스터(24)로 저장되면 상기 소오스 어드레스 리드 사이클은 종료하게 된다.First, in the source address read cycle, the data is loaded from the external memory 14 or the external input / output devices 15_1, 15_2, ... onto the external system bus, and the data is loaded into the internal bus 12 of the MCU. On Thereafter, the source address read cycle ends when stored in the data register 24 in the DMA again.

이후, 쓰기 동작을 위한 목적지 어드레스 라이트 사이클이 시작된다. 즉, DMA내의 데이터 레지스터(24)에 저장되어 있던 데이터는 다시 내부 데이터 버스(12)에 실리게 되고, 목적지 어드레스가 내부의 입/출력장치(11f_1,11f_2,...) 또는 내부 메모리(11c)인 경우에는 MCU내부의 해당 메모리나 입/출력 장치로 라이트되고, 만일, 목적지 어드레스가 외부의 입/출력 장치(15_1,15_2,...)나 외부 메모리(14)인 경우에는 MCU밖으로 출력되어 외부 메모리 또는 외부의 입/출력 장치로 라이트 된다.Thereafter, the destination address write cycle for the write operation begins. That is, the data stored in the data register 24 in the DMA is loaded on the internal data bus 12 again, and the destination address is internal input / output devices 11f_1, 11f_2, ... or internal memory 11c. ) Is written to the corresponding memory or I / O device inside the MCU, and if the destination address is an external I / O device (15_1, 15_2, ...) or external memory (14) It can be written to external memory or an external input / output device.

이와 같은 과정을 도 3의 데이터 전송 타이밍도에 나타내었다.This process is illustrated in the data transmission timing diagram of FIG. 3.

한편, 소오스 어드레스 리드 사이클의 경우에는 소오스 어드레스 레지스터(31)의 값이 어드레스 먹스부(22))를 통해 DMA어드레스를 출력한다.On the other hand, in the case of the source address read cycle, the value of the source address register 31 outputs the DMA address via the address mux unit 22.

이때, 리드된 데이터는 데이터 레지스터(24)에 라이트되고, 다음 사이클인 목적지 어드레스 라이트 사이클에서는 목적지 어드레스가 어드레스 먹스부(22)를 통해 외부로 출력된다. 이때, 데이터 레지스터(24)에 저장된 데이터도 함께 출력되어 해당 번지에 데이터가 라이트된다.At this time, the read data is written to the data register 24, and in the next cycle of the destination address write cycle, the destination address is output to the outside through the address mux section 22. At this time, the data stored in the data register 24 is also outputted so that the data is written to the corresponding address.

그러나 상기와 같은 종래 DMA제어기는 다음과 같은 문제점이 있었다.However, the conventional DMA controller has the following problems.

내부메모리에 대해서 데이터를 듀얼 어드레스 모드로 전송 또는 수신해야 하는 경우에 있어서는 데이터를 전송하기 위한 수행 사이클이 리드된 후에 비로소 쓰는 동작을 하게 되므로 내부 메모리를 억세스하는 시간 만큼이 전송시간으로 더 소모되는 문제가 발생한다.When data needs to be transmitted or received in the dual address mode for the internal memory, the write operation is performed only after the execution cycle for data transmission is read. Therefore, the time required for accessing the internal memory is further consumed as the transmission time. Occurs.

본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 안출한 것으로, 내부 메모리와 DMA를 결합시킨 구조의 DMA를 이용하여 듀얼 어드레스 트랜스퍼 모드로 전송해야 할 데이터를 싱글 어드레스 트랜스퍼 모드로 전송할 수 있도록하여 전송시간을 보다 단축시키는데 적당한 DMA제어장치를 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems of the prior art, by using the DMA structure of the combination of the internal memory and the DMA to transmit the data to be transmitted in the dual address transfer mode in a single address transfer mode It is an object of the present invention to provide a DMA controller suitable for shortening the time.

도 1은 종래 기술에 따른 MCU의 구성도1 is a block diagram of a MCU according to the prior art

도 2는 종래 기술에 따른 DMA제어장치의 구성도2 is a block diagram of a conventional DMA control apparatus

도 3은 종래 기술에 따른 데이터 전송 타이밍도3 is a data transmission timing diagram according to the prior art.

도 4는 본 발명에 따른 DMA제어장치의 구성도4 is a block diagram of a DMA control apparatus according to the present invention;

도 5는 외부메모리 및 외부 입/출력장치로부터 내부 메모리로의 데이터 전송에 따른 타이밍도5 is a timing diagram according to data transfer from an external memory and an external input / output device to the internal memory.

도 6은 내부 메모리로부터 외부 메모리 및 외부 입/출력 장치로의 데이터 전송에 따른 타이밍도6 is a timing diagram according to data transfer from an internal memory to an external memory and an external input / output device.

도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings

41 : 채널, DMA제어 및 내부 메모리 제어부41: channel, DMA control and internal memory controller

42,43 : 제 1, 제 2 어드레스 먹스부 44 : DMA레지스터42,43: first and second address mux unit 44: DMA register

45 : 데이터 레지스터 46 : 제 3 어드레스 먹스부45: data register 46: third address mux unit

47 : 내부 메모리 51 : 소오스 어드레스 레지스터47: internal memory 51: source address register

52 : 목적지 어드레스 레지스터 53 :카운터 레지스터52: destination address register 53: counter register

54 : 제어 레지스터54: control register

상기의 목적을 달성하기 위한 본 발명의 DMA제어장치는 외부 메모리 및 외부 입/출력장치와 내부 메모리간의 데이터 전송을 듀얼 어드레스 모드로 전송하기 위한 DMA제어장치에 있어서, 복수개의 채널들과, 상기 채널 및 DMA제어 그리고 내부 메모리를 제어하는 채널, DMA제어 및 내부 메모리 제어부와, 상기 각 채널들로부터 출력되는 어드레스를 먹싱하여 DMA어드레스를 출력하는 제 1 어드레스 먹스부와, 상기 각 채널들로부터 출력되는 어드레스를 먹싱하여 출력하는 제 2 어드레스 먹스부와, 상기 제 2 어드레스 먹스부의 출력 어드레스와 내부버스를 통해 입력되는 어드레스를 먹싱하여 출력하는 제 3 어드레스 먹스부와, 상기 제 3 어드레스 먹스부에서 출력되는 어드레스에 따른 데이터의 라이트 및 리드를 수행하는 내부 메모리를 포함하여 구성된다.The DMA control apparatus of the present invention for achieving the above object in the DMA control apparatus for transmitting data transfer between the external memory and the external input / output device and the internal memory in a dual address mode, a plurality of channels, and the channel And a channel for controlling DMA control and internal memory, a DMA control and internal memory control unit, a first address mux unit for outputting a DMA address by muxing addresses output from the respective channels, and addresses output from the respective channels. A second address mux unit for muxing and outputting a second address, a third address mux unit for muxing and outputting an output address of the second address mux unit and an address input through an internal bus, and an address output from the third address mux unit It is configured to include an internal memory for performing the writing and reading of the data.

이하, 본 발명의 DMA제어장치를 첨부된 도면을 참조하여 설명하기로 한다.Hereinafter, a DMA control apparatus of the present invention will be described with reference to the accompanying drawings.

도 4는 본 발명의 DMA제어장치에 따른 구성블록도이다.4 is a block diagram of a DMA control apparatus according to the present invention.

도 4에 도시한 바와 같이, 채널, DMA제어 및 내부 메모리 제어부(41)와, 복수개의 채널(CH0,CH1,...)들과, 각각의 채널로부터 입력되는 어드레스를 상기 채널, DMA제어 및 내부 메모리 제어부(41)의 제어신호에 의해 먹싱하는 제 1, 제 2 어드레스 먹스부(42,43)와, DMA레지스터(44)와, 데이터 레지스터(45)와, 상기 제 2 어드레스 먹스부(43)에서 출력되는 어드레스와 내부 메모리 어드레스 버스를 통해입력되는 내부 메모리 어드레스을 입력하여 먹싱하는 제 3 어드레스 먹스부(46)와, 상기 제 3 어드레스 먹스부(46)의 출력을 어드레스로 하는 내부 메모리(47)로 구성된다.As shown in Fig. 4, the channel, DMA control and internal memory control section 41, a plurality of channels CH0, CH1, ..., and an address input from each channel are assigned to the channel, DMA control and the like. First and second address mux sections 42 and 43, the DMA register 44, the data register 45, and the second address mux section 43 muxed by control signals of the internal memory control section 41. The third address mux section 46 for inputting and muxing the address output from the second address and the internal memory address input through the internal memory address bus, and the internal memory 47 for addressing the output of the third address mux section 46. It is composed of

여기서, 상기 데이터 레지스터(45) 및 DMA레지스터(44), 그리고 채널 및 DMA제어부(41)는 MCU의 내부 버스와 연결된다.Here, the data register 45 and the DMA register 44, and the channel and DMA controller 41 are connected to the internal bus of the MCU.

각각의 채널들은 소오스 어드레스 레지스터(51)와, 목적지 어드레스 레지스터(52)와, 카운터 레지스터(53)와, 제어 레지스터(54)로 구성되며, 소오스 및 목적지 어드레스 레지스터(51,52)에는 어드레스가 출력된 후 레지스터값을 하나씩 증가시키는 카운터(55a,55b)가 연결된다.Each channel is composed of a source address register 51, a destination address register 52, a counter register 53, and a control register 54, and an address is output to the source and destination address registers 51 and 52. After that, the counters 55a and 55b which increase the register value one by one are connected.

그리고 제어 레지스터(54)에는 인에이블 비트, IM비트, 싱글/듀얼 모드 비트, 버스트/싱글 스틸 모드 비트, 스테이터스 비트가 저장된다.The enable register 54 stores enable bits, IM bits, single / dual mode bits, burst / single still mode bits, and status bits.

여기서, 상기 IM비트는 내부 메모리 트랜스퍼 모드 비트(internal memory transfer mode bit)이다.Herein, the IM bit is an internal memory transfer mode bit.

상기 제어 레지스터(54)에는 종래 기술에 따른 제어 레지스터에 저장되었던 IM비트가 추가로 저장되어 있다.The control register 54 further stores an IM bit that has been stored in a control register according to the prior art.

한편, 상기 제 2 어드레스 먹스부(43)는 그 출력을 제 3 어드레스 먹스부(46)의 입력으로 사용되는 반면에 제 1 어드레스 먹스부(42)는 종래와 마찬가지로 DMA어드레스를 출력한다.On the other hand, the second address mux unit 43 uses its output as the input of the third address mux unit 46, while the first address mux unit 42 outputs the DMA address as in the prior art.

한편, 내부 메모리의 데이터 버스(47a)는 MCU의 내부버스(12)와 연결된다.Meanwhile, the data bus 47a of the internal memory is connected to the internal bus 12 of the MCU.

또한, 채널, DMA제어 및 내부 메모리 제어부(41)와 상기 DMA레지스터(44) 사이에는 시작/종료 레지스터(48)와 채널 제어 레지스터(49)가 연결된다.In addition, a start / end register 48 and a channel control register 49 are connected between the channel, the DMA control, and the internal memory controller 41 and the DMA register 44.

상기 소오스 어드레스 레지스터(51), 목적지 어드레스 레지스터(52), 카운터 레지스터(53) 및 제어 레지스터(54)의 출력을 받아 시퀀스를 제어하는 시퀀스 제어기(56)이 더 구성된다.A sequence controller 56 is further configured to receive the output of the source address register 51, the destination address register 52, the counter register 53, and the control register 54 to control the sequence.

이와같이 구성된 본 발명의 DMA제어장치의 동작을 도 4 내지 도 6을 참조하여 설명하면 다음과 같다.The operation of the DMA control apparatus of the present invention configured as described above will be described with reference to FIGS. 4 to 6.

먼저, 도 4 및 도 5에 도시된 바와 같이, 외부의 입/출력 장치 또는 외부의 메모리에서 내부 메모리로 데이터를 가져오는 경우, 외부 메모리 또는 외부 입/출력 장치에서 출력된 데이터는 외부버스(도시되지 않음)에 실리고, 이 데이터는 MCU의 내부버스(12)에 실리게 된다.First, as illustrated in FIGS. 4 and 5, when data is imported from an external input / output device or an external memory into the internal memory, the data output from the external memory or the external input / output device may be an external bus. This data will be loaded on the MCU's internal bus 12.

이 데이터는 DMA의 데이터 레지스터(49)로 전달되지 않고, 직접 내부 메모리(47)의 해당 번지로 전송된다.This data is not transferred to the data register 49 of the DMA but is transferred directly to the corresponding address of the internal memory 47.

이와 반대의 경우, 즉, 내부 메모리(47)에서 외부의 입/출력 장치 또는 외부의 메모리로 데이터를 가져오는 경우에는 내부 메모리(47)의 데이터는 직접 DMA의 어드레스 출력 기능으로 바로 내부버스(12)로 출력되고, 이와동시에 출력된 외부 메모리 또는 외부의 입/출력 장치에 해당하는 어드레스는 MCU의 외부로 출력되어 데이터 라이트 동작을 완료한다.On the contrary, that is, when data is imported from the internal memory 47 to an external input / output device or an external memory, the data of the internal memory 47 is directly transferred to the internal bus 12 by the address output function of the DMA. ) And the address corresponding to the external memory or the external input / output device output at the same time is output to the outside of the MCU to complete the data write operation.

즉, 기존에 내부 메모리 관련 듀얼 사이클 억세스의 경우에 있어서 2번의 사이클이 한 번의 동시 사이클로 종료되어 DMA의 데이터 전송속도를 높이게 된다.That is, in the conventional case of dual cycle access related to the internal memory, two cycles are terminated in one simultaneous cycle to increase the data transfer speed of the DMA.

한편, 도 6에 도시된 바와 같이, 내부 메모리에서 외부 메모리로 듀얼 어드레스 모드로 전송할 경우에는 도 6에 도시된 바와 같이, 소오스 어드레스 레지스터(51)의 값은 내부 메모리의 어느 부분을 가르키고 있고, 이 값은 제 2 어드레스 먹스부(43)를 통해서 내부 메모리 어드레스 먹스인 제 3 어드레스 먹스부(46)로 전달되어 상기 내부 메모리(47)로 입력된다.On the other hand, as shown in FIG. 6, when transferring from the internal memory to the external memory in the dual address mode, as shown in FIG. 6, the value of the source address register 51 indicates a part of the internal memory. The value is transferred to the internal memory 47 through the second address mux section 43 to the third address mux section 46 which is the internal memory address mux.

이때, 채널, DMA제어 및 내부 메모리 제어부(41)에서 제어신호를 내부 메모리(47)에 주고 비로소 내부 메모리(47)의 데이터는 직접 MCU의 내부버스(12)에 실리게 된다.At this time, the channel, the DMA control and the internal memory control unit 41 transmits a control signal to the internal memory 47 until the data of the internal memory 47 is directly loaded on the internal bus 12 of the MCU.

이와 동시에, 목적지 어드레스 레지스터(52)의 값은 외부 메모리의 어느 어드레스를 지정하게 되고, 이 값은 제 1 어드레스 먹스부(42)를 통해 내부 버스에 실리게 되며, 이 어드레스는 내부 메모리(47)의 데이터와 같이 외부로 출력된다.At the same time, the value of the destination address register 52 designates any address of the external memory, and this value is carried on the internal bus through the first address mux section 42, and this address is stored in the internal memory 47. It is output to the outside as the data of.

외부로 출력된 어드레스와 데이터는 해당 외부 메모리에 저장되고 DMA사이클은 종료 된다.The externally output address and data are stored in the corresponding external memory and the DMA cycle ends.

이상 상술한 바와 같이, 본 발명의 DMA제어장치는 다음과 같은 효과가 있다.As described above, the DMA control apparatus of the present invention has the following effects.

내부 메모리쪽으로 듀얼 어드레스 모드로 DMA전송시 기존의 방법은 내부 메모리를 억세스하는데 필요한 클럭(최소 1클럭 이상)이 필요하나, 본 발명의 경우, 내부 메모리 관련 전송시 내부 메모리 사이클을 동시에 병렬로 처리하므로 이 클럭 만큼의 시간을 절약하여 DMA전송 속도를 향상시킬 수 있다.In the DMA transfer in dual address mode toward the internal memory, the conventional method requires a clock (at least 1 clock or more) required to access the internal memory. However, in the present invention, since the internal memory cycle is processed in parallel during internal memory-related transfer, Time savings by this clock can improve the DMA transfer rate.

Claims (4)

외부 메모리 및 외부 입/출력장치와 내부 메모리간의 데이터 전송을 듀얼 어드레스 모드로 전송하기 위한 DMA제어장치에 있어서,A DMA control apparatus for transferring data transfer between an external memory and an external input / output device and an internal memory in a dual address mode, 복수개의 채널들과,A plurality of channels, 상기 채널 및 DMA제어 그리고 내부 메모리를 제어하는 채널, DMA제어 및 내부 메모리 제어부와,A channel, a DMA control and an internal memory control unit for controlling the channel and the DMA control and the internal memory; 상기 각 채널들로부터 출력되는 어드레스를 먹싱하여 DMA어드레스를 출력하는 제 1 어드레스 먹스부와,A first address mux unit for muxing the addresses output from the channels and outputting a DMA address; 상기 각 채널들로부터 출력되는 어드레스를 먹싱하여 출력하는 제 2 어드레스 먹스부와,A second address mux unit for muxing and outputting addresses output from the respective channels; 상기 제 2 어드레스 먹스부의 출력 어드레스와 내부버스를 통해 입력되는 어드레스를 먹싱하여 출력하는 제 3 어드레스 먹스부와,A third address mux unit configured to mux and output an output address of the second address mux unit and an address input through an internal bus; 상기 제 3 어드레스 먹스부에서 출력되는 어드레스에 따른 데이터의 라이트 및 리드를 수행하는 내부 메모리를 포함하여 구성되는 것을 특징으로 하는 DMA제어장치.And an internal memory configured to write and read data according to the address output from the third address mux unit. 제 1 항에 있어서, 상기 각 채널은 소오스 어드레스 레지스터, 목적지 어드레스 레지스터, 카운터 레지스터, 그리고 제어 레지스터를 포함하여 구성되는 것을 특징으로 하는 DMA제어장치.The DMA control apparatus according to claim 1, wherein each channel comprises a source address register, a destination address register, a counter register, and a control register. 제 2 항에 있어서, 상기 제어 레지스터는 인에이블 비트, 싱글/듀얼 모드 비트, 버스트/사이클 스틸 모드 비트, 내부 메모리 트랜스퍼 모드 비트, 스테이터스 비트가 저장되어 있는 것을 특징으로 하는 DMA제어장치.3. The DMA controller according to claim 2, wherein the control register stores enable bits, single / dual mode bits, burst / cycle still mode bits, internal memory transfer mode bits, and status bits. 제 1 항에 있어서, 상기 내부 메모리는 입력되는 어드레스에 상응하는 데이터를 내부 버스로 전달하는 것을 특징으로 하는 DMA제어장치.The DMA control apparatus of claim 1, wherein the internal memory transfers data corresponding to an input address to an internal bus.
KR1019990047986A 1999-11-01 1999-11-01 DMA(Direct Memory Access) controller KR100317329B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990047986A KR100317329B1 (en) 1999-11-01 1999-11-01 DMA(Direct Memory Access) controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990047986A KR100317329B1 (en) 1999-11-01 1999-11-01 DMA(Direct Memory Access) controller

Publications (2)

Publication Number Publication Date
KR20010044926A KR20010044926A (en) 2001-06-05
KR100317329B1 true KR100317329B1 (en) 2001-12-24

Family

ID=19618038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990047986A KR100317329B1 (en) 1999-11-01 1999-11-01 DMA(Direct Memory Access) controller

Country Status (1)

Country Link
KR (1) KR100317329B1 (en)

Also Published As

Publication number Publication date
KR20010044926A (en) 2001-06-05

Similar Documents

Publication Publication Date Title
US5587957A (en) Circuit for sharing a memory of a microcontroller with an external device
KR100494201B1 (en) Memory Systems, I / O Subsystem Devices, and How to Operate Memory Devices
US5109490A (en) Data transfer using bus address lines
KR20070049676A (en) Method and apparatus for transmitting memory pre-fetch commands on a bus
US5448521A (en) Connecting a short word length non-volatile memory to a long word length address/data multiplexed bus
KR100375233B1 (en) Direct memory access controller being converted transfer mode flexibly according to data transfer counter value
KR19980032064A (en) Micro computer
US20020084333A1 (en) Data processing apparatus and memory card using the same
US5430844A (en) Communication control system for transmitting, from one data processing device to another, data along with an identification of the address at which the data is to be stored upon reception
US7003638B2 (en) Memory bus interface for use in a peripheral device
KR100317329B1 (en) DMA(Direct Memory Access) controller
KR100266963B1 (en) Method and apparatus for reducing latency rime on an interface by overlapping transmitted packets
EP3819778A1 (en) Bus system and method for operating a bus system
SU1322301A1 (en) Device for exchanging information with common bus
KR100295683B1 (en) General call acknowledge apparatus and method for inter-integrated circuit
KR100690597B1 (en) Single mode direct memory access application method using cpu applying dual mode direct memory access
KR100606698B1 (en) Interfacing apparatus
KR100662275B1 (en) apparatus for Direct Memory Access transfer using single address mode
KR100240923B1 (en) System and method for communicating between devices
JPH08202650A (en) Dma transfer controller
KR100331557B1 (en) Sequential transmitting data transfer circuit and memory system using the same
RU1837303C (en) Peripheral interface device
KR970002410B1 (en) Apparatus for interfacing between controller and peripheral in the computer system
KR100531729B1 (en) Apparatus for interface pheriperal device with PC using parallel port and method thereof
KR100346268B1 (en) Data bus control system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20051021

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee