KR20040008909A - Data processing unit and method with multi-request channel DMA - Google Patents

Data processing unit and method with multi-request channel DMA Download PDF

Info

Publication number
KR20040008909A
KR20040008909A KR1020020042645A KR20020042645A KR20040008909A KR 20040008909 A KR20040008909 A KR 20040008909A KR 1020020042645 A KR1020020042645 A KR 1020020042645A KR 20020042645 A KR20020042645 A KR 20020042645A KR 20040008909 A KR20040008909 A KR 20040008909A
Authority
KR
South Korea
Prior art keywords
dma
data
slave
channel
exchange
Prior art date
Application number
KR1020020042645A
Other languages
Korean (ko)
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 KR1020020042645A priority Critical patent/KR20040008909A/en
Publication of KR20040008909A publication Critical patent/KR20040008909A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)

Abstract

PURPOSE: A data processing device and method including multi request channel direct memory access is provided to increase a processing speed by supplying a plurality of processing paths as to a specific master of a multi-master, thereby exchanging data with other slave instead of a split state in a plurality of split states. CONSTITUTION: A plurality of multi masters and a plurality of multi slaves transmit/receive data to a system bus(100). The master(123) is a DMA unit and includes two DMA channel(123-1) and DMA channel(123-2) capable of exchanging data interactively and independently by a DMA request signal. Two DMA request signals(DMA_req1, DMA_req2) are generated, the first DMA channel(123-1) is opened by the first DMA request signal(DMA_req1), and data are exchanged. In addition, the second DMA channel(123-2) is opened by the second DMA request signal(DMA_req2), and data are exchanged. Two DMA channel are not opened simultaneously, and thus one DMA channel is opened selectively.

Description

멀티 요구채널 직접 메모리 억세스를 구비한 데이타처리장치 및 방법{Data processing unit and method with multi-request channel DMA}Data processing unit and method with multi-request channel DMA

본 발명은 멀티마스터를 구비한 데이터 처리장치에 관한 것으로서, 보다 구체적으로는 멀티마스터중 특정 마스터에 대하여 다수의 처리경로를 두어 스플릿상태에서도 슬레이브와 데이터를 교환할 수 있는 멀티요구채널 직접 메모리 억세스를구비한 데이터 처리장치에 관한 것이다.The present invention relates to a data processing apparatus having a multimaster, and more particularly, to provide a multi-request channel direct memory access that can exchange data with a slave even in a split state by providing a plurality of processing paths to a specific master among the multimasters. It relates to a data processing apparatus provided.

마이크로 프로세서가 탑재된 대부분의 시스템은 데이터 버스가 중추적으로 존재하며, 동작속도가 천차만별인 서로 다른 유니트들이 서로 연결되어 동작한다.마스터는 시스템버스에 의해 데이터 상호 교환시, 버스에 대하여 자신의 필요에 따라 사용을 요구하고 사용허가를 얻으면 버스에 대한 권한을 가지고 데이터를 입출력할 수 있는 유니트이고, 슬레이브는 수동적인 요구에 따라 버스에서 데이터를 받거나 혹은 요구되는 데이터를 출력해주는 유니트이다.Most systems equipped with microprocessors have a central data bus, and different units with different speeds can be connected to each other. According to the request and use permission, the unit can input / output data with the authority of the bus, and the slave unit receives the data from the bus or outputs the required data according to the manual request.

도 1은 종래의 데이터 처리장치의 구성도를 도시한 것이다.1 is a block diagram of a conventional data processing apparatus.

도 1을 참조하면, 종래의 데이터 처리장치는 시스템버스(10)와 데이터를 주고 받기 위한 다수의 멀티 마스터(21-23)와 멀티 슬레이브(31-34)를 구비하며, DMA(23)가 하나의 마스터로서 각 슬레이브(21-23)가 발생하는 DMA 요구신호(DMA_req)에 의해 버스와 상호작용을 한다.Referring to FIG. 1, a conventional data processing apparatus includes a plurality of multi masters 21-23 and multiple slaves 31-34 for exchanging data with a system bus 10, and has one DMA 23. As slaves, each slave 21-23 interacts with the bus by a DMA request signal DMA_req.

상기한 바와같은 데이터 처리장치는 마스터와 슬레이브가 버스를 통해서 데이터를 주고 받는데, 마스터는 시스템 클럭을 통해 동작하므로 데이터 처리속도가 빠른 반면, 슬레이브중에는 데이터 처리속도가 상대적으로 느린 것들이 존재할 수 있다.In the data processing apparatus as described above, the master and the slave send and receive data through the bus. Since the master operates through the system clock, the data processing speed is high, while the slaves may have relatively slow data processing speed.

이와같이 서로 다른 처리속도를 갖는 데이터 처리장치에서, 하나의 마스터가 버스에 대한 권한을 얻어 원하는 슬레이브와 데이터 교환을 할 때, 규정시간보다 더 오랜시간을 슬레이브가 처리하지 못하는 경우에 데이터를 분할하여 나머지 데이터는 나중에 교환하는데, 이러한 데이터 교환방식을 스플릿데이타교환(split datatransfer) 방식이라 한다.In a data processing device having different processing speeds as described above, when one master acquires the authority of a bus and exchanges data with a desired slave, the data is divided and remaining when the slave cannot process longer than a specified time. The data is exchanged later. This data exchange method is called a split data transfer method.

이때, 슬레이브는 스플릿신호를 발생하게 되는데, 이 스플릿신호는 현재의 데이터를 처리하는데 시간이 많이 걸리므로 버스를 다른 마스터에게 넘겨주라는 신호이다.At this time, the slave generates a split signal, which takes a long time to process the current data, and thus is a signal to pass the bus to another master.

이와같이 스플릿 데이터 교환방식을 이용하면, 여러개의 마스터중 상기 슬레이브와 데이터를 교환하던 마스터를 제외한 다른 마스터는 버스를 사용할 수 있으므로, 버스가 아무런 데이터의 전송없이 아이들상태로 있는 것을 부분적으로 막을 수 있게 된다.Using the split data exchange method as described above, a bus can be used by any other master except for the master exchanging data with the slave, thereby partially preventing the bus from being idle without transmitting any data. .

그러나, 상기 스플릿 데이터 전달방식은 처리속도가 느린 슬레이브가 DMA 사용을 요구하여 스플릿신호를 발생하면, 스플릿을 요청한 슬레이브와 데이터를 주고받던 마스터는 상기 슬레이브와 스플릿 데이타전달중이므로, 다른 데이터 교환을 위해 사용될 수 없다. 그러므로, 상기 마스터는 실제적으로는 아무런 데이터 처리도 하지 않으며, 아이들(idle)상태로 슬레이브의 느린 처리가 끝날 때까지 기다리게 되는 문제점이 있었다.However, in the split data transfer method, when a slave having a slow processing speed generates a split signal by using a DMA, the master, which has exchanged data with the slave requesting the split, is transferring split data with the slave, and thus may be used for other data exchange. Can't. Therefore, the master does not actually perform any data processing, and there is a problem of waiting for the slow processing of the slave to end in an idle state.

또한, 다른 마스터가 또 다른 데이터 교환을 위하여 버스를 사용하게 되면 버스의 사용빈도가 유지될 수 있으나, 스플릿에 걸려있는 마스터를 다시 사용하고자 하는 경우에는 버스가 아이들상태가 되며, 이는 버스의 효율을 저하시키는 문제점이 있었다.In addition, if another master uses the bus for another data exchange, the frequency of bus usage can be maintained. However, if the master is stuck in the split, the bus becomes idle, which reduces the efficiency of the bus. There was a problem of deterioration.

특히, 마스터중에서 DMA(direct memory access) 유니트는 DMA 요구신호에 의해 메모리와 연결되어 그 사용빈도가 높은 마스터로서, 이 DMA 유니트가 처리속도가 느린 슬레이브와 데이터 교환을 하던 중에 다른 슬레이브에서 데이터 교환요청이 들어오는 경우에 스플릿상태가 되면, 상기 처리속도가 느린 슬레이브의 처리가 끝날 때까지 모든 시스템이 정지되는 문제점이 있었다.In particular, the direct memory access (DMA) unit in the master is connected to the memory by a DMA request signal and is frequently used as a master.This DMA unit requests data exchange from another slave while exchanging data with a slow processing slave. When the system enters the split state when there is a problem, all systems are stopped until the processing of the slave having the slow processing speed is completed.

본 발명은 상기한 바와같은 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명은 멀티마스터중 특정 마스터에 대하여 다수의 처리경로를 두어 다수의 스플릿상태에서도 스플릿상태가 아닌 다른 슬레이브와 데이터를 교환가능하게 하여 처리속도를 향상시킬 수 있는 멀티요구채널 데이터처리장치 및 방법을 제공하는 데 그 목적이 있다.The present invention solves the problems of the prior art as described above, and the present invention provides a plurality of processing paths for a specific master of the multimaster, so that data can be exchanged with a slave other than the split state even in a plurality of split states. It is an object of the present invention to provide a multi-request channel data processing apparatus and method that can improve the processing speed.

도 1은 종래의 멀티마스터를 구비한 데이터 처리장치의 구성도,1 is a block diagram of a data processing apparatus having a conventional multimaster;

도 2는 본 발명의 실시예에 따른 멀티요구채널 직접 메모리 억세스를 구비한 데이터 처리장치의 구성도,2 is a block diagram of a data processing apparatus having multi-request channel direct memory access according to an embodiment of the present invention;

도 3은 본 발명의 데이터 처리장치에 있어서, 멀티요구채널을 구비한 DMA 유니트의 구성도,3 is a configuration diagram of a DMA unit having a multi-request channel in the data processing apparatus of the present invention;

도 4는 본 발명의 데이터 처리장치의 동작을 설명하기 위한 파형도,4 is a waveform diagram for explaining the operation of the data processing apparatus of the present invention;

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

100 : 시스템 버스 121 - 123 : 멀티 마스터100: system bus 121-123: multi-master

123-1, 123-2 : DAM 채널 131 - 133 : 멀티 슬레이브123-1, 123-2: DAM channel 131-133: multi slave

이와 같은 목적을 달성하기 위한 본 발명은 시스템버스와; 데이터를 주고 받기 위한 다수의 멀티 마스터와 멀티 슬레이브를 구비하며, 상기 다수의 멀티 마스터중 특정 마스터는 서로 독립적인 마스터로서 동작하여 다수의 요구신호에 의해 서로 독립적으로 데이터를 교환할 수 있는 다수의 채널을 구비하는 데이터처리장치를 제공하는 것을 특징으로 한다.The present invention for achieving the above object is a system bus; A plurality of multi-masters and multi-slaves for exchanging data, wherein a specific master of the plurality of multi-masters operates as an independent master and exchanges data independently by a plurality of request signals. It is characterized by providing a data processing apparatus having a.

상기 특정 마스터는 DMA유니트로서, 다수의 DMA 요구신호에 의해 다수의 DMA 채널이 서로 독립적으로 해당하는 슬레이브와 데이터를 교환하며, 상기 DMA유니트의 다수의 DMA 채널은 동시에 열리지 않고, 다수의 DMA 요구신호중 해당하는 하나의 요구신호에 의해 다수의 DMA 채널중 해당하는 DMA 채널만이 선택적으로 열려져 해당하는 슬레이브와 데이터를 교환하는 것을 특징으로 한다.The specific master is a DMA unit, in which a plurality of DMA channels exchange data with a slave corresponding to each other independently by a plurality of DMA request signals, and a plurality of DMA channels of the DMA unit are not opened at the same time. Only one corresponding DMA channel of the plurality of DMA channels is selectively opened by one corresponding request signal to exchange data with the corresponding slave.

본 발명은 시스템버스와; 데이터를 주고 받기 위한 다수의 멀티 마스터와 멀티 슬레이브를 구비하며, 상기 다수의 멀티 마스터중 하나가 서로 독립적으로 데이터를 교환할 수 있는 다수의 DMA 채널을 구비하는 DMA 유니트인 데이터 처리장치에 있어서, 다수의 슬레이브중 해당하는 슬레이브로부터 발생된 DMA 요구신호에 따라 상기 다수의 DMA 채널중 하나가 상기 슬레이브와 데이터를 교환하고, 상기 슬레이브가 상기 DMA 채널과 데이터교환중에 스플릿을 요청하면, 상기 데이터 교환중의 DMA 채널은 스플릿상태로 되고, 나머지 DMA채널이 상기 데이터 교환중인 슬레이브를 제외한 나머지 슬레이브와 DMA요구신호에 따라 데이터를 교환하는 데이터처리방법을 제공하는 것을 특징으로 한다.The present invention is a system bus; A data processing apparatus comprising a plurality of multi masters and multiple slaves for exchanging data, and wherein one of the plurality of multi masters is a DMA unit having a plurality of DMA channels capable of exchanging data independently of each other. When one of the plurality of DMA channels exchanges data with the slave according to a DMA request signal generated from a corresponding one of the slaves of the slave, and the slave requests splitting during the data exchange with the DMA channel, The DMA channel is split, and the remaining DMA channel is characterized in that it provides a data processing method for exchanging data with the remaining slaves except the slave in the data exchange according to the DMA request signal.

이하, 본 발명을 보다 구체적으로 설명하기 위하여 본 발명에 따른 실시예를 첨부 도면을 참조하면서 보다 상세하게 설명하고자 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to describe the present invention in more detail.

도 2은 본 발명의 데이터 처리장치의 구성도를 도시한 것이다.2 is a block diagram of a data processing apparatus of the present invention.

도 2를 참조하면, 본 발명의 데이터 처리장치는 시스템버스(100)와 데이터를 주고 받기 위한 다수의 멀티 마스터(121-123)와 멀티 슬레이브(131-133)를 구비한다. 상기 다수의 멀티 마스터(121-123)중 하나의 마스터(123)는 DMA 유니트로서, DMA 요구신호에 의해 서로 독립적으로 데이터를 교환할 수 있는 2개의 DMA 채널(DMA channel 1, 123-1), (DMA channel 2, 123-2)을 구비한다.Referring to FIG. 2, the data processing apparatus of the present invention includes a plurality of multi masters 121-123 and multiple slaves 131-133 for exchanging data with the system bus 100. One master 123 of the plurality of multi-masters 121-123 is a DMA unit, and includes two DMA channels (DMA channels 1 and 123-1), each capable of exchanging data independently by a DMA request signal. (DMA channels 2 and 123-2).

본 발명에서는 2개의 DMA 요구신호(DMA_req1, DMA_req2)를 발생하여, 제1DMA 요구신호(DMA_req1)에 의해 2개의 DMA 채널(123-1), (123-2)중 제1DMA 채널(123-1)이 열려져 데이터를 교환하고, 제2DMA 요구신호(DMA_req2)에 의해 제2DMA채널(123-2)이 열려져 데이터를 교환하도록 구성된다.In the present invention, two DMA request signals DMA_req1 and DMA_req2 are generated, and the first DMA channel 123-1 of the two DMA channels 123-1 and 123-2 is generated by the first DMA request signal DMA_req1. The data is opened to exchange data, and the second DMA channel 123-2 is opened by the second DMA request signal DMA_req2 to exchange data.

이때, 2개의 DMA 채널(123-1), (123-2)은 동시에 열리지 않으며, 이들중 하나만이 선택적으로 열려지게 된다.At this time, two DMA channels 123-1 and 123-2 are not opened at the same time, and only one of them is selectively opened.

상기한 바와같은 구성을 갖는 본 발명의 데이터처리장치의 동작을 개략적으로 설명하면 다음과 같다.The operation of the data processing apparatus of the present invention having the configuration as described above will be briefly described as follows.

먼저, 다수의 슬레이브(131-133)중 해당하는 슬레이브로부터 발생된 DMA 요구신호(DMA_req)를 감지하고, 상기 DMA 요구신호(DMA_req)를 발생한 슬레이브와 데이터 교환이 가능한 상태인가를 파악한다. 그결과, DMA 요구신호(DMA_req)를 발생한 슬레이브와 데이터의 교환이 가능한 경우에는, 허가신호(acknowledge)를 발생하여 상기 슬레이브와 데이터를 교환한다. 이때, 요구신호를 요구채널(request channel)이라고도 하며, 다수의 요구신호를 멀티요구채널이라 한다.First, the DMA request signal DMA_req generated from a corresponding slave among the plurality of slaves 131 to 133 is detected, and it is determined whether data exchange with the slave that generated the DMA request signal DMA_req is possible. As a result, when data can be exchanged with the slave that generated the DMA request signal DMA_req, an acknowledgment is generated to exchange data with the slave. In this case, the request signal is also called a request channel, and a plurality of request signals are called a multi request channel.

예를 들어, 상기 제1DMA 요구신호(DMA_req1)에 의해 2개의 DMA채널(123-1), (123-2)중 제1DMA 채널(123-1)이 열려져 데이터를 교환하던 중에, 상기 제1DMA채널(123-1)과 데이터를 교환하던 슬레이브가 스플릿신호를 발생하여 스플릿을 요청하면, 제2DMA 요구신호(DMA_req2)에 의해 제2DMA 채널(123-2)이 열려진다.For example, the first DMA channel 123-1 of the two DMA channels 123-1 and 123-2 is opened by the first DMA request signal DMA_req1 to exchange data. When the slave exchanging data with 123-1 generates a split signal and requests split, the second DMA channel 123-2 is opened by the second DMA request signal DMA_req2.

그러므로, 제2DMA채널(123-2)이 스플릿상태의 슬레이브를 제외한 나머지 슬레이브와 데이터교환을 하게 된다. 따라서, 하나의 DMA 유니트(123)가 마치 2개의 마스터처럼 동작을 하게 되어, 처리속도가 느린 슬레이브가 발생한 DMA 의 동작정지에 의한 버스의 아이들상태가 방지된다.Therefore, the second DMA channel 123-2 exchanges data with the remaining slaves except the split slave. Thus, one DMA unit 123 operates like two masters, and the idle state of the bus due to the operation stop of the DMA in which the slave having a slow processing speed occurs is prevented.

본 발명의 실시예에서는 하나의 DMA유니트가 2개의 DMA 채널을 구비하는 것으로 예시하였으나, 다수의 DMA채널을 구비하여 상기 설명한 바와같은 방식으로 다수의 DMA 채널요구신호에 의해 서로 독립적으로 데이터를 교환할 수도 있다.In the embodiment of the present invention, one DMA unit is illustrated as having two DMA channels, but a plurality of DMA channels are provided to exchange data independently by a plurality of DMA channel request signals as described above. It may be.

도 3은 도 2에 도시된 본 발명의 데이터처리장치에 있어서, 2개의 DMA 채널을 구비하여 서로 독립적인 마스터로서의 동작이 가능한 DMA유니트(123)의 구성도를 도시한 것이다.3 is a block diagram of a DMA unit 123 having two DMA channels and operating as independent masters in the data processing apparatus of FIG. 2.

상기 DMA 유니트(123)는 순수(pure) DMA 메모리블럭(123-8), 채널스위치(123-7), 제1DMA 채널(123-1)과 제2DMA 채널(123-2)을 위한 각각의 버퍼 및 콘트롤블럭(123-3), (123-4)과, 제1DMA 채널(123-1)과 제2DMA 채널(123-2)을 위한 각각의 시스템버스 인터페이스로직블럭(123-5), (123-6)을 각각 구비한다.The DMA unit 123 has respective buffers for a pure DMA memory block 123-8, a channel switch 123-7, a first DMA channel 123-1 and a second DMA channel 123-2. And control bus blocks 123-3 and 123-4, and respective system bus interface logic blocks 123-5 and 123 for the first DMA channel 123-1 and the second DMA channel 123-2. -6) each.

상기 순수DMA블럭(123-8)은 메모리와 인터페이스하는 블록으로서, 어드레스와 데이터를 가지고 메모리에 읽고 쓰고 하는 동작을 수행한다. 상기 채널스위치(123-7)는 2개의 DMA 채널(123-1), (123-2)에 대하여 메모리에 데이터를 읽고 쓰기 위한 경로가 되는 순수메모리블럭(123-8)이 하나만 존재하므로, 2개의 DMA 채널(123-1), (123-2)로부터 상기 순수 DMA 블록(123-8)으로 제공되는 신호들을 DMA 요구신호(DMA_req1), (DMA_req2)에 의해 멀티플렉싱해주는 콘트롤로직이다.The pure DMA block 123-8 is a block that interfaces with a memory and performs an operation of reading and writing to a memory with an address and data. Since the channel switch 123-7 has only one pure memory block 123-8, which is a path for reading and writing data in the memory, for two DMA channels 123-1 and 123-2. It is a control logic for multiplexing the signals provided from the DMA channels 123-1 and 123-2 to the pure DMA block 123-8 by the DMA request signals DMA_req1 and DMA_req2.

상기 채널스위치(123-7)는 2개의 DMA채널(123-1), (123-2)중 현재 어느 채널이 열려져 데이터를 교환하는가와 데이터 교환중 스플릿이 발생하여 나머지 다른 채널이 데이터교환을 하는지의 여부를 판단하여야 한다.Which channel of the two DMA channels 123-1 and 123-2 is open to exchange data and whether the other channel is to be exchanged due to splitting during data exchange. Should be judged.

상기 각 채널의 버퍼 및 콘트롤블럭(123-3), (123-4)은 다수의 버퍼의 독출 및 기입동작을 지원하는 통상적인 회로들과 스플릿이 발생한 경우 그 상태를 저장해야 하는 회로들로 구성되어 있다.The buffer and control blocks 123-3 and 123-4 of each channel are composed of conventional circuits that support reading and writing of a plurality of buffers, and circuits that need to store a state when a split occurs. It is.

상기 각 채널의 시스템버스 인터페이스로직블럭(123-5), (123-6)은 각 DMA 채널(123-1), (123-2)이 버스 마스터로서의 기능을 할 수 있도록 적절한 상태를 유지시켜주는 동작을 수행하게 된다.The system bus interface logic blocks 123-5 and 123-6 of the respective channels maintain appropriate states for the respective DMA channels 123-1 and 123-2 to function as bus masters. Will perform the action.

도 4는 본 발명의 데이터 처리장치에 있어서, 2개의 DMA 채널(123-1), (123-2)이 서로 독립적으로 데이터교환을 하는 동작을 설명하는 동작 파형도를 도시한 것이다.4 shows an operation waveform diagram illustrating an operation in which two DMA channels 123-1 and 123-2 exchange data independently of each other in the data processing apparatus of the present invention.

도 4를 참조하여 2개의 DMA 채널(123-1), (123-2)이 서로 독립적으로 데이터를 교환하는 동작을 설명하면, 멀티슬레이브(131-133)중 제1슬레이브(131)가 멀티마스터(121-123)중 DMA유니트(123)의 사용을 요구하는 DMA 요구신호(DMA_req_slave 1)를 발생하면, 상기 DMA 요구신호(DMA_req_slavw1)가 액티브되는 순간 DMA 유니트(123)의 제1DMA 채널(123-1)에서는 슬레이브에 대한 허가를 할 것인지를 판단한다.Referring to FIG. 4, when two DMA channels 123-1 and 123-2 exchange data independently from each other, the first slave 131 of the multi-slaves 131-133 is multi-master. If a DMA request signal (DMA_req_slave 1) is generated that requests the use of the DMA unit 123 among the 121-123, the first DMA channel 123- of the DMA unit 123 at the moment when the DMA request signal DMA_req_slavw1 is activated. In 1), it is determined whether to permit the slave.

판단결과 제1슬레이브(131)에 대해 DMA 유니트(123)의 제1DMA 채널(123-1)을 사용하는 것이 가능하다고 판단되면, 허가신호인 DMA_ch1_ack 를 액티브시킨다. 허가신호(DMA_ch1_ack)가 액티브상태로 되면, 제1슬레이브(131)와 정상적인 데이터 교환이 일어나, 데이터버스(100)에 제1슬레이브(131)와 교환되는 데이터가 실려짐을 알 수 있다.If it is determined that it is possible to use the first DMA channel 123-1 of the DMA unit 123 for the first slave 131, the permission signal DMA_ch1_ack is activated. When the permission signal DMA_ch1_ack becomes active, it can be seen that normal data exchange occurs with the first slave 131, so that data exchanged with the first slave 131 is loaded on the data bus 100.

상기 제1슬레이브(131)는 데이터교환에 대한 상태를 항상 리포트(report)하고 있는데, 리포트에 대한 결과를 Respond_slave 1 이라는 신호를 나타내는데, 처음에는 정상(NORMAL)신호를 발생하여 데이타에 대한 처리가 정상적으로 이루어지고 있음을 리포트한다.The first slave 131 always reports the status of the data exchange. The first slave 131 shows a signal of Respond_slave 1 as a result of the report. At first, the first slave 131 generates a NORMAL signal to process the data normally. Report that it is done.

이와같이 리포트하는 동안에 일정시간이 경과하면, 스플릿(SPLIT) 신호를 발생하여 현재의 데이터를 처리하는데 시간이 너무 많이 소요되므로 즉시 버스를 다른 마스터에게 넘겨주라는 신호를 발생한다.When a certain time elapses during the report, a split signal is generated, and it takes too much time to process the current data, thereby generating a signal to immediately pass the bus to another master.

이때, 제2슬레이브(132)가 DMA유니트(123)를 사용하고 싶다는 요구신호(DMA_req_slave2)를 발생하게 되는데, 상기 요구신호(DMA_req_slave2)가 액티브되면 DMA유니트(123)의 제2채널(123-2)이 열려져 데이터를 교환하게 된다. 그러므로, 시스템 버스(100)상에는 제2슬레이브(132)와 교환되는 데이터가 실리게 된다.At this time, the second slave 132 generates a request signal DMA_req_slave2 for using the DMA unit 123. When the request signal DMA_req_slave2 is activated, the second channel 123-2 of the DMA unit 123 is activated. ) Will open to exchange data. Therefore, data exchanged with the second slave 132 is carried on the system bus 100.

상기한 바와같이 제1슬레이브(131)가 데이터를 교환하던중 스플릿(SPLIT) 신호가 발생하면, 종래에는 DMA 허가신호(DMA_ack)는 발생되지 않아서 DMA유니트는 제1슬레이브(121)의 데이터 교환이 완료될 때까지 다른 처리를 수행하지 못하고 기다릴 수 밖에 없었다. 하지만, 본 발명에서는 DMA유니트(123)의 제2DMA 채널(123-2)을 허가신호(DMA_ch2_ack)가 발생되어 제2DMA 채널(123-2)이 열리면서 제2슬레이브(132)와 데이터를 교환하는 것이다.As described above, when the split signal occurs while the first slave 131 exchanges data, the DMA permission signal DMA_ack is not generated in the prior art, so that the DMA unit does not exchange data with the first slave 121. I could not wait to complete other processing until it was completed. However, in the present invention, the permission signal (DMA_ch2_ack) is generated on the second DMA channel 123-2 of the DMA unit 123, and the second DMA channel 123-2 is opened to exchange data with the second slave 132. .

상기한 바와같은 본 발명은 DMA 유니트에 다수의 데이터 처리경로를 두어 스플릿상태에서도 다른 슬레이브와의 데이터교환을 가능게 함으로써, 버스의 아이들상태를 방지하고 처리속도를 향상시킬 수 있는 이점이 있다.As described above, the present invention provides a plurality of data processing paths in the DMA unit to enable data exchange with other slaves even in the split state, thereby preventing the idle state of the bus and improving the processing speed.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

Claims (5)

시스템버스;System bus; 데이터를 주고 받기 위한 다수의 멀티 마스터와 멀티 슬레이브를 구비하며,It has a number of multi masters and multiple slaves to send and receive data, 상기 다수의 멀티 마스터중 특정 마스터는 서로 독립적인 마스터로서 동작하여 다수의 요구신호에 의해 서로 독립적으로 데이터를 교환할 수 있는 다수의 채널을 구비하는 것을 특징으로 하는 데이터처리장치.And a specific master of the plurality of multi-masters includes a plurality of channels that operate as independent masters and exchange data independently from each other by a plurality of request signals. 제1항에 있어서,The method of claim 1, 상기 특정 마스터는 DMA유니트로서, 다수의 DMA 요구신호에 의해 다수의 DMA 채널이 서로 독립적으로 해당하는 슬레이브와 데이터를 교환하는 것을 특징으로 하는 데이터 처리장치.The specific master is a DMA unit, and the data processing apparatus is characterized in that a plurality of DMA channels exchange data with corresponding slaves independently of each other by a plurality of DMA request signals. 제2항에 있어서,The method of claim 2, 상기 DMA유니트의 다수의 DMA 채널은 동시에 열리지 않고, 다수의 DMA 요구신호중 해당하는 하나의 요구신호에 의해 다수의 DMA 채널중 해당하는 DMA 채널만이 선택적으로 열려져 해당하는 슬레이브와 데이터를 교환하는 것을 특징으로 하는 데이터 처리장치.A plurality of DMA channels of the DMA unit is not opened at the same time, only a corresponding DMA channel of the plurality of DMA channels is selectively opened by a corresponding one of the plurality of DMA request signals to exchange data with the corresponding slave. Data processing apparatus. 제 3 항에 있어서,The method of claim 3, wherein 해당하는 DMA 요구신호는 상기 다수의 슬레이브중 해당하는 슬레이브로부터 발생되는 것을 특징으로 하는 데이터 처리장치.The corresponding DMA request signal is generated from a corresponding one of the plurality of slaves. 시스템버스; 데이터를 주고 받기 위한 다수의 멀티 마스터와 멀티 슬레이브를 구비하며, 상기 다수의 멀티 마스터중 하나가 서로 독립적으로 데이터를 교환할 수 있는 다수의 DMA 채널을 구비하는 DMA 유니트인 데이터 처리장치에 있어서,System bus; A data processing apparatus having a plurality of multi masters and multiple slaves for exchanging data, wherein the one of the plurality of multi masters is a DMA unit having a plurality of DMA channels capable of exchanging data independently of each other. 다수의 슬레이브중 해당하는 슬레이브로부터 발생된 DMA 요구신호에 따라 상기 다수의 DMA 채널중 하나가 상기 슬레이브와 데이터를 교환하고,One of the plurality of DMA channels exchanges data with the slave according to the DMA request signal generated from the corresponding one of the plurality of slaves, 상기 슬레이브가 상기 DMA 채널과 데이터교환중에 스플릿을 요청하면, 상기 데이터 교환중의 DMA 채널은 스플릿상태로 되고, 나머지 DMA채널이 상기 데이터 교환중인 슬레이브를 제외한 나머지 슬레이브와 DMA요구신호에 따라 데이터를 교환하는 것을 특징으로 하는 데이타처리방법.If the slave requests a split during data exchange with the DMA channel, the DMA channel during the data exchange is in a split state, and the remaining DMA channels exchange data with the remaining slaves except the slave with the data exchange according to the DMA request signal. Data processing method characterized in that.
KR1020020042645A 2002-07-19 2002-07-19 Data processing unit and method with multi-request channel DMA KR20040008909A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020042645A KR20040008909A (en) 2002-07-19 2002-07-19 Data processing unit and method with multi-request channel DMA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020042645A KR20040008909A (en) 2002-07-19 2002-07-19 Data processing unit and method with multi-request channel DMA

Publications (1)

Publication Number Publication Date
KR20040008909A true KR20040008909A (en) 2004-01-31

Family

ID=37317899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020042645A KR20040008909A (en) 2002-07-19 2002-07-19 Data processing unit and method with multi-request channel DMA

Country Status (1)

Country Link
KR (1) KR20040008909A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101065585B1 (en) * 2008-03-10 2011-09-19 주식회사 코아로직 Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101065585B1 (en) * 2008-03-10 2011-09-19 주식회사 코아로직 Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory

Similar Documents

Publication Publication Date Title
US8762616B2 (en) Bus system and bridge circuit connecting bus system and connection apparatus
US6850998B2 (en) Disk array system and a method for controlling the disk array system
EP2062147B1 (en) Method and apparatus for conditional broadcast of barrier operations
KR20020009823A (en) Bus system and bus arbitration method thereof
KR20020008955A (en) Bus system and execution scheduling method for access commands thereof
US5937167A (en) Communication controller for generating four timing signals each of selectable frequency for transferring data across a network
US7007121B1 (en) Method and apparatus for synchronized buses
KR20040008909A (en) Data processing unit and method with multi-request channel DMA
GB2366029A (en) Arbitration method to allow multiple translation lookaside buffers to access a common hardware page walker
JPH08161254A (en) Information processing system and bus arbitration system therefor
JP4838458B2 (en) Semiconductor device
EP1193605B1 (en) Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit
US20060026310A1 (en) Computer system having an I/O module directly connected to a main storage for DMA transfer
EP1380960B1 (en) Memory access from different clock domains
JP2000276435A (en) Method and device for data transfer
KR100666950B1 (en) Multiple memory access system and method for packet processing
CN115328826A (en) Controller with direct communication mode and redriver mode
TW320699B (en) Multi-channel direct memory access control circuit with distributed prefetch buffer
KR100278805B1 (en) Data Mediation Device and Method in Multi-Processing System
KR20020051545A (en) DMA controller for the high speed image processor at real time
KR0121973B1 (en) Common-bus circuit in an exchanger
JP2820054B2 (en) Bus interface device
JPH06250968A (en) Information processor
JP2005284580A (en) Bus device
JP2001156817A (en) Method and device for data transfer

Legal Events

Date Code Title Description
N231 Notification of change of applicant
SUBM Submission of document of abandonment before or after decision of registration