Nothing Special   »   [go: up one dir, main page]

KR20110011528A - DMA controller with interrupt control processor - Google Patents

DMA controller with interrupt control processor Download PDF

Info

Publication number
KR20110011528A
KR20110011528A KR1020100052154A KR20100052154A KR20110011528A KR 20110011528 A KR20110011528 A KR 20110011528A KR 1020100052154 A KR1020100052154 A KR 1020100052154A KR 20100052154 A KR20100052154 A KR 20100052154A KR 20110011528 A KR20110011528 A KR 20110011528A
Authority
KR
South Korea
Prior art keywords
dma
interrupt
control
channel
processor
Prior art date
Application number
KR1020100052154A
Other languages
Korean (ko)
Other versions
KR101357300B1 (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 US12/843,801 priority Critical patent/US20110022767A1/en
Publication of KR20110011528A publication Critical patent/KR20110011528A/en
Application granted granted Critical
Publication of KR101357300B1 publication Critical patent/KR101357300B1/en

Links

Images

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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer

Landscapes

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

Abstract

본 발명은 인터럽트 처리 및 주변장치의 제어가 가능한 인터럽트 제어 프로세서를 구비한 DMA(Direct Memory Access) 제어기에 관한 것이다.
본 발명에 따른 DMA 제어기는, 외부 프로세서로부터 수신되는 DMA 채널동작요청 및 DMA 전송 제어를 위한 DMA 설정값을 저장하기 위한 DMA 채널 레지스터 뱅크와, DMA 전송에 관련된 인터럽트를 처리하기 위한 제어 프로그램을 저장하는 프로그램 메모리와, 주변 장치에서 발생하는 DMA 요청 인터럽트 또는 상기 외부 프로세서로부터 수신되는 상기 DMA 채널동작요청에 응답하여 상기 프로그램 메모리에 저장된 상기 제어 프로그램을 수행하는 인터럽트 제어 프로세서와, 상기 인터럽트 제어 프로세서의 DMA 채널 활성화 명령에 응답하여 상기 DMA 채널 레지스터 뱅크에 저장된 상기 DMA 설정값에 따라 DMA 채널의 동작을 제어하여 DMA 전송이 수행되도록 하는 DMA 채널 제어 모듈과, 상기 주변장치로부터 발생하는 상기 DMA 요청 인터럽트를 수신하여 상기 인터럽트 제어 프로세서에 전달하고 상기 인터럽트 제어 프로세서에 의해 처리완료된 인터럽트에 대한 해지 신호를 생성하는 인터럽트/DMA 요청 및 해지 모듈을 포함한다.
The present invention relates to a direct memory access (DMA) controller having an interrupt control processor capable of interrupt processing and peripheral device control.
The DMA controller according to the present invention stores a DMA channel register bank for storing a DMA channel operation request received from an external processor and a DMA setting value for DMA transfer control, and a control program for processing interrupts associated with the DMA transfer. An interrupt control processor for executing the control program stored in the program memory in response to a program memory, a DMA request interrupt generated from a peripheral device, or the DMA channel operation request received from the external processor, and a DMA channel of the interrupt control processor A DMA channel control module for controlling an operation of a DMA channel according to the DMA set value stored in the DMA channel register bank in response to an activation command to perform a DMA transfer, and receiving the DMA request interrupt generated from the peripheral device. The interrupt control An interrupt / DMA request and release module for delivering to a processor and generating a cancel signal for an interrupt processed by the interrupt control processor.

Description

인터럽트 제어 프로세서를 구비한 DMA 제어기{DMA controller with interrupt control processor}DMA controller with interrupt control processor

본 발명은 인터럽트 처리 및 주변장치의 제어가 가능한 인터럽트 제어 프로세서를 구비한 DMA(Direct Memory Access) 제어기에 관한 것으로서, 구체적으로는 DMA 전송 요청을 메인 프로세서가 아닌 DMA 제어기내의 인터럽트 제어 프로세서를 이용하여 처리함으로써 주변장치와 메모리간 데이터 전송 또는 주변장치와 주변장치간 데이터 전송을 제어하는 DMA 제어기에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a direct memory access (DMA) controller having an interrupt control processor capable of interrupt processing and peripheral devices. Specifically, a DMA transfer request is processed using an interrupt control processor in the DMA controller instead of the main processor. The present invention relates to a DMA controller for controlling data transfer between a peripheral device and a memory or data transfer between the peripheral device and the peripheral device.

다수의 주변장치에 의한 데이터 전송 및 메모리를 통한 데이터 전송의 경우 DMA를 통한 데이터 전송을 수행함으로써 시스템의 성능향상을 도모할 수 있다. 그러나 이러한 DMA 전송을 위해서는 DMA 제어기를 그 동작에 따라 설정해 주어야 하며 이와 같은 DMA 전송을 요청하기 위해 주변장치들은 인터럽트 신호를 이용한다. 특히 외부와의 인터페이스를 담당하는 주변장치의 경우 빈번한 데이터 전송에 따른 인터럽트 처리를 요하게 된다. In the case of data transfer by a plurality of peripheral devices and data transfer through a memory, performance of the system can be improved by performing data transfer through DMA. However, for such DMA transfers, the DMA controller must be configured according to its operation, and peripheral devices use interrupt signals to request such DMA transfers. In particular, the peripheral device in charge of the interface with the outside requires an interrupt process according to frequent data transmission.

이러한 인터럽트를 처리하기 위하여 메인 프로세서를 통해 인터럽트와 DMA 채널 설정을 수행하는 방법과 DMA 제어기의 인터럽트 처리 모듈을 통해 DMA 제어기 자체적으로 주변장치의 데이터 전송을 제어하는 방법이 사용된다. 그러나, 메인 프로세서에 의한 인터럽트 처리는 주변장치로부터의 빈번한 인터럽트 처리 요구와 그에 대한 DMA 채널 설정에 따른 시스템 성능저하를 가져온다.In order to handle such interrupts, a method of performing interrupt and DMA channel setting through a main processor and a method of controlling data transmission of a peripheral device by the DMA controller itself through an interrupt processing module of the DMA controller are used. However, interrupt processing by the main processor causes frequent interrupt processing requests from peripheral devices and system performance degradation due to the DMA channel setting.

한편, DMA 제어기의 자체적인 인터럽트 처리 방법은 메인 프로세서에 의한 인터럽트 처리로 인해 발생되는 시스템의 인터럽트 처리 부하를 줄일 수는 있으나 DMA 제어기 자체의 고정된 우선순위에 따른 인터럽트 처리와 DMA 채널 전송을 수행함으로써 다수의 주변장치로부터 발생되는 다양한 상황에 따른 인터럽트 처리에는 부적합하다. On the other hand, the DMA controller's own interrupt processing method can reduce the interrupt processing load of the system caused by the interrupt processing by the main processor, but by performing interrupt processing and DMA channel transfer according to the fixed priority of the DMA controller itself. It is not suitable for interrupt handling according to various situations generated from many peripheral devices.

또한, 하나의 시스템을 구성하는 프로세서의 수가 증가하고 다양한 주변장치들이 서로 유기적으로 통합되는 SoC(System on Chip)에서 DMA 전송 수행을 제어하는 DMA 제어기의 동작을 제어하기 위한 부하는 점점 증가하고 있으며, 이러한 DMA 채널에 대한 많은 동작 요청은 인터럽트의 증가로 나타날 수 있다. In addition, the load for controlling the operation of the DMA controller for controlling the DMA transfer performance in the SoC (System on Chip) in which the number of processors constituting a system is increasing and various peripherals are organically integrated with each other, Many operation requests for these DMA channels can result in increased interrupts.

따라서 다양한 주변장치들로 부터 발생되는 인터럽트를 효과적으로 수신하고 상황에 맞는 DMA 동작을 DMA 제어기에 전달하는 기능은 DMA 제어기와 함께 중요한 요소가 되고 있다.
Therefore, the ability to effectively receive interrupts from various peripheral devices and to deliver context-sensitive DMA operations to the DMA controller has become an important factor with the DMA controller.

따라서, 전술한 문제점, 즉, 메인 프로세서에 의한 인터럽트 처리와 DMA 채널 제어에 따른 메인 프로세서의 연산 성능 저하 문제와 점점 다양화되고 복합적인 시스템 구성에서의 DMA 채널 제어의 유연성 문제를 해결하기 위하여 본 발명은 인터럽트 제어 프로세서와 유기적으로 결합된 DMA 제어기 구조를 제안한다.Accordingly, the present invention solves the above-mentioned problems, namely, the interruption processing by the main processor and the operation performance degradation of the main processor according to the DMA channel control, and the flexibility of the DMA channel control in an increasingly diverse and complex system configuration. Proposes a DMA controller structure organically coupled with an interrupt control processor.

본 발명은 주변장치와 메모리 간, 메모리와 메모리 간의 데이터 전송에 있어서 인터럽트에 의해 이루어지는 DMA 전송 요청을 시스템의 메인 프로세서가 아닌 DMA 제어기내의 DMA 전송 모듈들과 유기적으로 연계된 인터럽트 제어 프로세서를 통해 유연하고 빠르게 제어함으로써 시스템의 인터럽트 처리 부하를 줄이고 사용자의 요구에 맞는 DMA 전송 설정을 가능하게 하여 DMA 제어기의 성능 및 시스템 제어 성능을 보완 향상시키는 것을 목적으로 한다.The present invention is flexible and flexible through an interrupt control processor in which an DMA transfer request made by an interrupt in data transfer between a peripheral device and a memory and between memory and memory is organically associated with DMA transfer modules in a DMA controller rather than the main processor of the system. It aims to improve the performance and system control performance of the DMA controller by reducing the interrupt processing load of the system and enabling the DMA transmission setting that meets the user's needs by controlling quickly.

또한, 본 발명은 인터럽트 을 보 의한 시스템 부하를 줄이고 다양한 시스템보 적용할 수 있도록 인터럽트를 제어하고 그에 따라 DMA 제어기의 레지스터를 빠르게 설정할 수 있는 인터럽트 제어 프로세서를 갖는 DMA 제어기를 제공하는 것을 목적으로 한다.
In addition, an object of the present invention is to provide a DMA controller having an interrupt control processor that can control the interrupt and quickly set the register of the DMA controller so as to reduce the system load caused by the interrupt and apply it to various systems.

전술한 목적을 달성하기 위해, 본 발명의 일실시예에 따른 DMA 제어기는, 외부 프로세서로부터 수신되는 DMA 채널동작요청 및 DMA 전송 제어를 위한 DMA 설정값을 저장하기 위한 DMA 채널 레지스터 뱅크와, DMA 전송에 관련된 인터럽트를 처리하기 위한 제어 프로그램을 저장하는 프로그램 메모리와, 주변 장치에서 발생하는 DMA 요청 인터럽트 또는 상기 외부 프로세서로부터 수신되는 상기 DMA 채널동작요청에 응답하여 상기 프로그램 메모리에 저장된 상기 제어 프로그램을 수행하는 인터럽트 제어 프로세서와, 상기 인터럽트 제어 프로세서의 DMA 채널 활성화 명령에 응답하여 상기 DMA 채널 레지스터 뱅크에 저장된 상기 DMA 설정값에 따라 DMA 채널의 동작을 제어하여 DMA 전송이 수행되도록 하는 DMA 채널 제어 모듈과, 상기 주변장치로부터 발생하는 상기 DMA 요청 인터럽트를 수신하여 상기 인터럽트 제어 프로세서에 전달하고 상기 인터럽트 제어 프로세서에 의해 처리완료된 인터럽트에 대한 해지 신호를 생성하는 인터럽트/DMA 요청 및 해지 모듈을 포함한다.
In order to achieve the above object, a DMA controller according to an embodiment of the present invention, a DMA channel register bank for storing a DMA channel operation request received from an external processor and a DMA setting value for DMA transfer control, and a DMA transfer A program memory for storing a control program for processing an interrupt associated with the program; and performing the control program stored in the program memory in response to a DMA request interrupt occurring in a peripheral device or the DMA channel operation request received from the external processor An interrupt control processor, a DMA channel control module for controlling an operation of a DMA channel according to the DMA set value stored in the DMA channel register bank in response to a DMA channel activation command of the interrupt control processor to perform DMA transfer; The DMA request from the peripheral device Transmission by receiving an interrupt to the interrupt control processor, and includes an interrupt / DMA request and termination module for generating a termination signal to complete the interrupt processing by the interrupt control processor.

본 발명에 따른 인터럽트 제어 프로세서를 구비한 DMA 제어기는 사용자가 인터럽트 제어에 관한 프로그램을 인터럽트 제어 프로세서에 프로그래밍 가능하도록 함으로써 다양한 구조의 통합 시스템에서 발생하는 인터럽트들에 대해 유연하고 효과적으로 대처할 수 있으며 DMA 제어기를 빠르게 설정함으로써 메인 프로세서들의 인터럽트 제어 부하를 줄일 수 있는 기능을 제공할 수 있도록 한다.
The DMA controller having an interrupt control processor according to the present invention enables a user to program an interrupt control program in an interrupt control processor, thereby flexibly and effectively coping with interrupts occurring in an integrated system having various structures. By setting it up quickly, it provides the ability to reduce the interrupt control load on the main processors.

도 1은 본 발명의 일실시예에 따른 DMA 제어기의 외부 인터페이스 구조를 도시한다.
도 2는 본 발명의 일실시예에 따른 DMA 제어기의 내부 구조를 도시한다.
도 3a 및 3b는 일반적인 메인 프로세서에 의한 DMA 채널 전송 제어 방법 및 본 발명의 인터럽트 제어 프로세서에 의한 DMA 채널 전송 제어 방법 각각을 도시한 제어 흐름도이다.
1 illustrates an external interface structure of a DMA controller according to an embodiment of the present invention.
2 illustrates an internal structure of a DMA controller according to an embodiment of the present invention.
3A and 3B are control flowcharts illustrating a method of controlling a DMA channel transmission by a general main processor and a method of controlling a DMA channel transmission by an interrupt control processor according to the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명하겠다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.
Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “module”, and the like described in the specification mean a unit that processes at least one function or operation, which means that the unit may be implemented in hardware, software, or a combination of hardware and software.

도 1은 본 발명의 일실시예에 따른 DMA 제어기의 외부 인터페이스 구조를 도시한다. 도 1에 예시된 바와 같이, 본 발명의 일실시예에 따른 DMA 제어기(100)는 DMA 제어버스(110), 인터럽트 제어 마스터 버스(120), 인터럽트 요청/해지 인터페이스(130), 인터럽트 전송 인터페이스(140) 및 DMA 채널(150)에 연결되어 있다. 1 illustrates an external interface structure of a DMA controller according to an embodiment of the present invention. As illustrated in FIG. 1, the DMA controller 100 according to an embodiment of the present invention may include a DMA control bus 110, an interrupt control master bus 120, an interrupt request / release interface 130, and an interrupt transmission interface ( 140 and DMA channel 150.

DMA 제어 버스(110)는 외부 버스와의 인터페이스를 담당한다. 메인 프로세서를 포함한 DMA 제어기 외부의 프로세서는 DMA 제어 버스(110)를 통해 DMA 데이터 전송을 수행하는 DMA 채널(150)의 동작을 설정하고 그 상태를 확인할 수 있으며, DMA 제어기 내부의 인터럽트 제어 프로세서에 의해 실행될 프로그램을 DMA 제어기 내부의 프로그램 메모리에 로드하고 DMA 채널 동작의 제어에 필요한 설정값을 전송함으로써 인터럽트 제어 프로세서의 동작을 제어할 수 있다. The DMA control bus 110 is responsible for the interface with the external bus. A processor external to the DMA controller, including the main processor, may set the operation of the DMA channel 150 to perform the DMA data transfer through the DMA control bus 110 and check its status, and may be checked by an interrupt control processor inside the DMA controller. The operation of the interrupt control processor can be controlled by loading the program to be executed into the program memory inside the DMA controller and transferring the setting values necessary for controlling the DMA channel operation.

인터럽트 제어 마스터 버스(120)는 인터럽트 제어 프로세서가 자체적으로 시스템을 구성하는 주변장치들의 내부 레지스터를 접근할 수 있는 인터페이스를 제공한다. The interrupt control master bus 120 provides an interface through which the interrupt control processor can access internal registers of peripheral devices that make up the system.

이 때, DMA 제어 버스(110)과 인터럽트 제어 마스터 버스(120)은 도 1과 같이 동일한 버스에 연결되거나 서로 분리된 버스에 연결될 수 있다.In this case, the DMA control bus 110 and the interrupt control master bus 120 may be connected to the same bus as shown in FIG. 1 or to buses separated from each other.

인터럽트 요청/해지 인터페이스(130)는 주변장치 및 기타 장치들로부터 DMA 전송 요청 인터럽트를 수신하거나 인터럽트 해지 신호를 전달한다.Interrupt request / cancellation interface 130 receives DMA transfer request interrupts from peripherals and other devices or transmits an interrupt cancel signal.

인터럽트 전송 인터페이스(140)는 DMA 제어기 자체 인터럽트를 시스템 내의 메인 프로세서 또는 인터럽트 제어기와 같은 인터럽트 처리기로 전송한다. The interrupt transfer interface 140 sends the DMA controller itself interrupts to an interrupt handler such as a main processor or an interrupt controller in the system.

DMA 채널(150)은 1 포트 또는 2 포트 DMA 채널로 구성될 수 있다. 또한, 물리적으로 분리된 다중 DMA 채널을 포함할 수 있다.
DMA channel 150 may be configured as a one-port or two-port DMA channel. It may also include multiple physically separated DMA channels.

도 2는 본 발명의 일실시예에 따른 DMA 제어기의 내부 구조를 도시한다. 도시된 바와 같이, DMA 제어기(200)는 DMA 제어 인터페이스(210), DMA 채널 레지스터 뱅크(220), 프로그램 메모리(230), 데이터 메모리(240), 인터럽트 제어 프로세서(250), 인터럽트/DMA 요청 및 해지 모듈(260), DMA 채널 제어 모듈(270) 및 DMA 채널 인터럽트 생성 모듈(280)을 포함할 수 있다.2 illustrates an internal structure of a DMA controller according to an embodiment of the present invention. As shown, the DMA controller 200 includes a DMA control interface 210, a DMA channel register bank 220, a program memory 230, a data memory 240, an interrupt control processor 250, an interrupt / DMA request, and the like. The cancellation module 260, the DMA channel control module 270, and the DMA channel interrupt generation module 280 may be included.

DMA 제어 인터페이스(210)는 메인 프로세서를 포함하는 외부 프로세서와 DMA제어기간의 인터페이스를 담당한다. DMA 제어 인터페이스(210)는 외부 프로세서로부터 인터럽트 제어 프로세서(250)에서 수행할 프로그램 및 관련 데이터를 수신하여 프로그램 메모리(220) 및 데이터 메모리(230)에 저장할 수 있다. 외부 프로세서는 DMA 제어 인터페이스(210)를 통해 DMA 채널 동작 요청 또는 DMA 채널 및 DMA 제어기 동작을 제어하기 위한 DMA 설정값(configuration value)값을 DMA 채널 레지스터 뱅크(240)에 설정할 수 있으며, 인터럽트 제어 프로세서(250)의 동작 및 중지 등의 동작을 제어하는 것에 관련된 데이터가 저장된 데이터 메모리(230)의 특정 메모리 영역 또는 DMA 채널 레지스터 뱅크(240)의 관련 레지스터를 액세스할 수 있다. 일실시예에서, DMA 설정값은 DMA 데이터 전송을 위한 소스 및 목적지 주소, 전송할 데이터 크기 및 DMA 채널 제어값을 포함한다.The DMA control interface 210 is responsible for the interface between the external processor including the main processor and the DMA control period. The DMA control interface 210 may receive a program and related data to be executed in the interrupt control processor 250 from an external processor and store the same in the program memory 220 and the data memory 230. The external processor may set a DMA channel configuration request value for controlling a DMA channel operation request or a DMA channel and DMA controller operation through the DMA control interface 210 to the DMA channel register bank 240, and interrupt control processor A particular memory region of data memory 230 or associated registers of DMA channel register bank 240 may be accessed where data related to controlling operations such as 250 and operations of 250 are stored. In one embodiment, the DMA setpoints include source and destination addresses for DMA data transfers, data size to be transferred and DMA channel control values.

프로그램 메모리(220)는 DMA 전송을 제어하기 위한 제어 프로그램이 저장되는 메모리로서, 상기 제어 프로그램은 인터럽트 제어 프로세서(250)에 의해 수행된다. The program memory 220 is a memory in which a control program for controlling a DMA transfer is stored. The control program is executed by the interrupt control processor 250.

데이터 메모리(230)는 인터럽트 제어 프로세서(250)의 수행과 관련된 데이터를 저장하는 메모리이다. 프로그램 메모리(220) 및 데이터 메모리(230)는 모두 DMA 제어 인터페이스(210)를 통해 외부 프로세서에 의해 액세스될 수 있다.The data memory 230 is a memory that stores data related to the execution of the interrupt control processor 250. Both program memory 220 and data memory 230 may be accessed by an external processor via DMA control interface 210.

DMA 채널 레지스터 뱅크(240)는 DMA 데이터 전송을 위한 소스 주소, 목적지 주소, 전송 데이터 크기 및 DMA 채널 제어 값과 같은 DMA 채널 및 DMA 제어기 동작을 제어하기 위한 DMA 설정값을 저장하는 레지스터들과, 인터럽트 제어 프로세서(250)의 동작을 제어하기 위해 메인 프로세서로부터 수신되는 DMA 채널 동작 요청을 저장하는 레지스터, DMA 채널 제어 모듈(270)의 상태를 저장하는 레지스터 및 DMA 채널 동작을 활성화시키는 DMA 채널 활성화 명령을 저장하기 위한 활성화 명령 레지스터를 포함할 수 있다. DMA 채널 레지스터 뱅크(240)는 DMA 제어 인터페이스(210)를 통해 외부 프로세서에 의해 액세스될 수 있으며, 인터럽트 제어 프로세서(250)에 의해서도 액세스될 수 있다.DMA channel register bank 240 includes registers for storing DMA settings for controlling DMA channel and DMA controller operation, such as source address, destination address, transfer data size and DMA channel control value for DMA data transfer, and interrupts. Register to store the DMA channel operation request received from the main processor to control the operation of the control processor 250, a register to store the state of the DMA channel control module 270, and a DMA channel enable command to activate the DMA channel operation. It may include an enable command register for storing. The DMA channel register bank 240 may be accessed by an external processor via the DMA control interface 210 and may also be accessed by the interrupt control processor 250.

인터럽트 제어 프로세서(250)는 인터럽트/DMA 요청 및 해지 모듈(260)을 통해 수신된 주변장치의 DMA 요청 인터럽트 및 DMA 채널 레지스터 뱅크(240)에 설정된 외부 프로세서에 의한 DMA 채널 동작 요청에 응답하여, 사용자가 프로그램 메모리(220)에 미리 저장한 제어 프로그램에 따라 지정된 동작을 수행함으로써 DMA 채널 동작을 활성화시킨다. The interrupt control processor 250 responds to a DMA request interrupt of a peripheral device received through the interrupt / DMA request and cancellation module 260 and a DMA channel operation request by an external processor set in the DMA channel register bank 240. Activates the DMA channel operation by performing a designated operation according to a control program previously stored in the program memory 220.

일 예로, 주변장치의 DMA 요청 인터럽트를 인터럽트/DMA 요청 및 해지 모듈(260)을 통해 인지한 인터럽트 제어 프로세서(250)는 DMA 전송을 요청한 주변장치의 상태를 확인하기 위하여 인터럽트 제어 마스터 버스(120)를 통해 해당 주변장치의 내부 레지스터를 확인한다. 확인한 다음, DMA 채널 동작을 위한 소스 및 목적지 주소, 전송할 데이터 크기 등과 같은 DMA 설정값을 DMA 채널 레지스터 뱅크(240)에 저장하고, DMA 채널 레지스터 뱅크(240)의 DMA 채널 활성화 레지스터에 채널 활성화 명령을 설정함으로써 DMA 채널 제어 모듈(270)의 채널 동작을 개시한다. 일 실시예에서, DMA 설정값은 제어 프로그램내에 설정되어 있다.For example, the interrupt control processor 250 that recognizes the DMA request interrupt of the peripheral device through the interrupt / DMA request and release module 260 may check the interrupt control master bus 120 to check the status of the peripheral device requesting the DMA transfer. Check the internal registers of the peripheral device through. After confirming, the DMA setting values such as the source and destination addresses for the DMA channel operation, the data size to be transmitted, etc. are stored in the DMA channel register bank 240, and a channel enable command is issued to the DMA channel enable register of the DMA channel register bank 240. By setting, the channel operation of the DMA channel control module 270 is started. In one embodiment, the DMA settings are set in the control program.

대안적으로, 주변장치의 DMA 요청 인터럽트를 인지한 인터럽트 제어 프로세서(250)는 주변장치의 상태 확인없이 제어 프로그램에 정해진 DMA 설정값을 DMA 채널 레지스터 뱅크(240)에 저장하고 DMA 채널 레지스터 뱅크(240)의 DMA 채널 활성화 레지스터에 채널 활성화 명령을 설정함으로써 DMA 채널 제어 모듈(270)의 채널 동작을 개시할 수도 있다.Alternatively, the interrupt control processor 250 recognizing the DMA request interrupt of the peripheral device stores the DMA setting values defined in the control program in the DMA channel register bank 240 without checking the status of the peripheral device and the DMA channel register bank 240. Channel operation of the DMA channel control module 270 may be initiated by setting a channel activation command in the DMA channel activation register.

다른 예에서, 인터럽트 제어 프로세서(250)는 외부 프로세서로부터 수신되어 DMA 채널 레지스터 뱅크(240)에 저장된 DMA 채널 동작 요청을 인식한 후 DMA 채널 동작을 위한 소스 및 목적지 주소, 전송할 데이터 크기 등과 같은 DMA 설정값을 DMA 채널 레지스터 뱅크(240)에 저장하고, DMA 채널 레지스터 뱅크(240)의 DMA 채널 활성화 레지스터에 채널 활성화 명령을 설정함으로써 DMA 채널 제어 모듈(270)의 채널 동작을 활성화시킬 수 있다. In another example, the interrupt control processor 250 recognizes a DMA channel operation request received from an external processor and stored in the DMA channel register bank 240, and then sets DMA such as a source and destination address for the DMA channel operation, a data size to be transmitted, and the like. The channel operation of the DMA channel control module 270 may be activated by storing a value in the DMA channel register bank 240 and setting a channel enable command in the DMA channel enable register of the DMA channel register bank 240.

또한, DMA 채널을 통해 정해진 크기의 데이터 전송이 완료됨을 나타내는 DMA 전송 완료 인터럽트가 인터럽트/DMA 요청 및 해지 모듈(260)로부터 수신되면, 인터럽트 제어 프로세서(250)는 인터럽트/DMA 요청 및 해지 모듈(260)을 통해 인터럽트 해지 신호를 발생시킨 후, 다음 데이터에 대한 DMA 전송을 위한 DMA 설정을 수행한다. In addition, when a DMA transfer complete interrupt is received from the interrupt / DMA request and cancel module 260 indicating that a data transfer of a predetermined size is completed over the DMA channel, the interrupt control processor 250 may interrupt / DMA request and cancel module 260. After generating the interrupt cancellation signal through), DMA setting for DMA transfer for the next data is performed.

이러한 동작들은 인터럽트 제어 프로세서를 위해 프로그램 메모리(220)에 미리 저장된 제어 프로그램에 프로그래밍되어 있다. 일 실시예에서, 제어 프로그램에 의해 DMA 채널 레지스터 뱅크(240)에 저장될 DMA 설정값이 지정될 수 있다. 본 발명에 의하면, 사용자의 요구에 따라 제어 프로그램을 변경함으로써 다양한 인터럽트 처리 루틴을 수행할 수 있다. 종래에 메인 프로세서에서 처리되었던 DMA 전송과 관련된 DMA 제어 루틴 및 DMA 인터럽트 처리를 제어 프로그램을 이용하여 인터럽트 제어 프로세서(250)에서 수행하도록 함으로써 메인 프로세서에 의한 직접적인 DMA 채널 제어에 따른 메인 프로세서의 제어 부하를 줄일 수 있으며, 구현하고자 하는 시스템의 특성에 맞게 DMA 전송을 제어하도록 인터럽트 제어 프로세서(250)를 동작시킴으로써 DMA 제어기를 효과적으로 제어할 수 있다. These operations are programmed in a control program previously stored in program memory 220 for an interrupt control processor. In one embodiment, the DMA setpoint values to be stored in the DMA channel register bank 240 may be specified by the control program. According to the present invention, various interrupt processing routines can be performed by changing the control program in accordance with a user's request. The DMA control routine and DMA interrupt processing related to the DMA transfer, which has been conventionally processed in the main processor, are performed by the interrupt control processor 250 using the control program, thereby reducing the control load of the main processor according to the direct DMA channel control by the main processor. The DMA controller can be effectively controlled by operating the interrupt control processor 250 to control the DMA transfer according to the characteristics of the system to be implemented.

인터럽트 제어 프로세서(250)는 일반적인 범용프로세서 또는 인터럽트 처리를 위해 특화된 프로세서를 이용하여 구현 될 수 있으며, 인터럽트/DMA 요청 및 해지 모듈(260)을 제어할 수 있다.  The interrupt control processor 250 may be implemented using a general general purpose processor or a processor specialized for interrupt processing, and may control the interrupt / DMA request and cancellation module 260.

DMA 채널 제어 모듈(270)은 인터럽트 제어 프로세서(250)의 DMA 채널 활성화 명령에 응답하여 DMA 채널 레지스터 뱅크(240)에 저장된 상기 DMA 설정값에 따라 DMA 채널 동작을 제어하여 DMA 전송이 수행되도록 한다. 일반적으로, DMA 전송은 한 번에 정해진 크기의 데이터만을 전송할 수 있으므로, DMA 채널 레지스터 뱅크(240)에 설정된 크기의 데이터를 모두 전송하기 위해서는 복수의 DMA 전송 동작이 필요하다. DMA 채널 제어 모듈(270)의 상태는 DMA 채널 레지스터 뱅크(240)에 저장된다. 일 예에서, DMA 채널 제어 모듈(270)의 제어하에 DMA 채널을 이용한 정해진 크기의 데이터 전송이 완료될 때마다 DMA 전송 동작이 완료됨을 나타내는 상태 정보가 DMA 채널 레지스터 뱅크(240)에 저장된다. The DMA channel control module 270 controls the DMA channel operation according to the DMA set value stored in the DMA channel register bank 240 in response to the DMA channel activation command of the interrupt control processor 250 to perform DMA transfer. In general, since the DMA transfer can transfer only data of a predetermined size at a time, a plurality of DMA transfer operations are required to transfer all the data of the size set in the DMA channel register bank 240. The state of the DMA channel control module 270 is stored in the DMA channel register bank 240. In one example, whenever the data transfer of a predetermined size using the DMA channel is completed under the control of the DMA channel control module 270, status information indicating that the DMA transfer operation is completed is stored in the DMA channel register bank 240.

인터럽트/DMA 요청 및 해지 모듈(260)은 인터럽트 요청/해지 인터페이스(130)를 통해 수신한 다양한 주변장치로부터의 DMA 요청 인터럽트를 인터럽트 제어 프로세서(250)에 전달하고, 인터럽트 제어 프로세서(250)에 의해 처리완료된 인터럽트에 대한 해지 신호를 생성하여 주변 장치 또는 DMA 채널 인터럽트 생성 모듈(280)에 전달한다. 또한, 인터럽트/DMA 요청 및 해지 모듈(260)은 DMA 채널 레지스터 뱅크(240)에 저장된 DMA 채널 제어 모듈(270)의 상태를 점검함으로써 DMA 채널 제어 모듈(270)에 의해 정해진 데이터 크기의 DMA 전송이 완료될 때마다 DMA 전송 완료 인터럽트를 생성하여 인터럽트 제어 프로세서(250)에 전달한다. 한편, 인터럽트/DMA 요청 및 해지 모듈(260)은 인터럽트 제어 프로세서(250)에 의해 마지막 데이터의 DMA 전송에 관련된 인터럽트까지 최종 처리되면 인터럽트 해지 신호를 DMA 채널 인터럽트 생성 모듈(280)에 전달한다. 또한, 인터럽트 제어 프로세서(250)의 제어에 의해 인터럽트 처리를 요청한 주변장치의 순서 및 선택을 변경하는 기능을 제공할 수 있다.Interrupt / DMA request and cancellation module 260 delivers DMA request interrupts from various peripherals received via interrupt request / cancellation interface 130 to interrupt control processor 250 and by interrupt control processor 250. A cancellation signal for the processed interrupt is generated and transmitted to the peripheral device or the DMA channel interrupt generation module 280. In addition, the interrupt / DMA request and cancel module 260 checks the state of the DMA channel control module 270 stored in the DMA channel register bank 240 so that the DMA transfer of the data size determined by the DMA channel control module 270 is stopped. Each time, the DMA transfer completion interrupt is generated and delivered to the interrupt control processor 250. Meanwhile, the interrupt / DMA request and cancel module 260 transmits an interrupt cancel signal to the DMA channel interrupt generation module 280 when the interrupt control processor 250 finally processes the interrupt related to the DMA transfer of the last data. In addition, the control of the interrupt control processor 250 may provide a function of changing the order and the selection of the peripheral device requesting the interrupt processing.

DMA 채널 인터럽트 생성 모듈(280)은 DMA 채널을 통해 DMA 설정값에 포함된 전송 데이터 크기만큼의 데이터 전송이 최종적으로 완료됨을 나타내는 DMA 채널 동작 완료 인터럽트 및 상기 DMA 제어기 내부 상태에 연관된 인터럽트를 생성하여 외부 인터럽트 제어기에 전달한다. 일 예에서, DMA 채널 인터럽트 생성 모듈(280)은 인터럽트/DMA 요청 및 해지 모듈(260)로부터 인터럽트 해지 신호를 수신한 경우에 DMA 채널 동작 완료 인터럽트를 생성하여 외부 인터럽트 제어기에 전달한다.The DMA channel interrupt generation module 280 generates an external DMA channel operation completion interrupt indicating that the data transfer of the transfer data size included in the DMA set value is finally completed through the DMA channel and an interrupt associated with the internal state of the DMA controller. Pass to the interrupt controller. In one example, the DMA channel interrupt generation module 280 generates and forwards the DMA channel operation complete interrupt to the external interrupt controller upon receiving an interrupt cancel signal from the interrupt / DMA request and cancel module 260.

도 3a 및 3b는 일반적인 메인 프로세서에 의한 DMA 채널 전송 제어 방법 및 본 발명의 인터럽트 제어 프로세서에 의한 DMA 채널 전송 제어 방법 각각을 도시한 제어 흐름도이다. 도 3a에 도시된 바와 같이, 메인 프로세서에 의해 DMA 채널 전송을 제어할 경우에, 대용량 데이터의 DMA 전송시 많은 인터럽트가 주기적으로 발생되며 이러한 인터럽트의 처리는 메인 프로세서의 성능을 저하시키는 원인이 된다. 3A and 3B are control flowcharts illustrating a method of controlling a DMA channel transmission by a general main processor and a method of controlling a DMA channel transmission by an interrupt control processor according to the present invention. As shown in FIG. 3A, when the DMA channel transfer is controlled by the main processor, many interrupts are periodically generated during the DMA transfer of a large amount of data, and the processing of such interrupts causes a decrease in the performance of the main processor.

한편, 도 3b는 본 발명에 따른 DMA 채널 전송 제어 흐름을 나타낸 것으로, 구체적으로는 메인 프로세서에 의해 DMA 채널 동작 요청된 경우에 본 발명의 인터럽트 제어 프로세서가 DMA 전송관련 인터럽트를 전담하여 처리하는 흐름을 나타낸 것이다. Meanwhile, FIG. 3B illustrates a flow of DMA channel transmission control according to the present invention. Specifically, when the DMA channel operation is requested by the main processor, the interrupt control processor of the present invention is dedicated to processing a flow related to DMA transfer. It is shown.

도 3b에 도시된 바와 같이, 메인 프로세서가 DMA 채널 레지스터 뱅크(240)에 DMA 채널 동작 요청 명령을 설정하면, 본 발명에 따른 인터럽트 제어 프로세서(250)는 프로그램 메모리에 저장된 제어 프로그램을 수행함으로써 DMA 전송에 관련된 동작을 수행한다. 구체적으로, 제어 프로그램에 의해 지정된 DMA 설정값을 DMA 채널 레지스터 뱅크(240)에 저장하고 DMA 채널 제어 모듈(270)을 활성화시킨다. DMA 채널 제어 모듈(270)은 정해진 데이터 크기의 DMA 전송 동작을 수행한다. DMA 채널 제어 모듈(270)에 의해 DMA 전송이 완료됨을 인지한 인터럽트/DMA 요청 및 해지 모듈(260)은 DMA 전송완료 인터럽트를 생성하여 인터럽트 제어 프로세서(250)에 전달하고, DMA 전송완료 인터럽트를 수신한 인터럽트 제어 프로세서(250)는 다음 DMA 동작을 준비한다. 이러한 동작의 반복을 통해 마지막 데이터에 대한 DMA 동작까지 수행되면, 인터럽트 제어 프로세서(250)는 DMA 전송이 최종 완료됨을 인터럽트/DMA 요청 및 해지 모듈(260)에 알리고, 이에 따라 인터럽트/DMA 요청 및 해지 모듈(260)은 DMA 채널 인터럽트 생성 모듈(270)에 인터럽트 해지 신호를 전달한다. 인터럽트 해지 신호를 수신한 DMA 채널 인터럽트 생성 모듈(270)은 DMA 채널 동작 완료 인터럽트를 생성하여 외부 인터럽트 제어기에 전달한다.As shown in FIG. 3B, when the main processor sets a DMA channel operation request command to the DMA channel register bank 240, the interrupt control processor 250 according to the present invention performs a DMA transfer by executing a control program stored in a program memory. Perform the action related to. Specifically, the DMA set value designated by the control program is stored in the DMA channel register bank 240 and the DMA channel control module 270 is activated. The DMA channel control module 270 performs a DMA transfer operation of a predetermined data size. Recognizing that the DMA transfer is completed by the DMA channel control module 270, the interrupt / DMA request and cancellation module 260 generates a DMA transfer complete interrupt and sends it to the interrupt control processor 250, and receives the DMA transfer complete interrupt. One interrupt control processor 250 prepares for the next DMA operation. When the DMA operation for the last data is performed through the repetition of this operation, the interrupt control processor 250 notifies the interrupt / DMA request and cancellation module 260 that the DMA transfer is finally completed, and thus interrupt / DMA request and cancellation. Module 260 delivers an interrupt cancel signal to DMA channel interrupt generation module 270. Upon receiving the interrupt cancellation signal, the DMA channel interrupt generation module 270 generates a DMA channel operation completion interrupt and transmits the interrupt to the external interrupt controller.

즉, 본 발명에 의하면, 사용자에 의해 변경가능한 제어 프로그램을 통해 DMA 전송 관련 인터럽트 및 주변장치의 DMA 요청 인터럽트를 처리하고 DMA 채널을 제어할 수 있는 인터럽트 제어 프로세서(250)를 DMA 제어기 내부에 별도로 포함시킴으로써, 메인 프로세서가 DMA 전송을 관리함으로써 발생할 수 있는 다수의 DMA 데이터 전송에 따른 DMA 채널 제어 및 관련 인터럽트 처리 부하를 줄이고, 사용자에게 프로그램을 통해 DMA 제어기의 제어에 있어서의 DMA 채널 제어 및 인터럽트의 처리의 유연성을 제공함으로써 기존의 인터럽트 제어기와 같은 하드웨어로 고정된 패턴의 인터럽트 처리방식 뿐만 아니라 DMA를 요청하는 장치들의 특성에 맞게 외부 장치의 DMA 전송 요청을 처리할 수 있다.That is, according to the present invention, an interrupt control processor 250 may be separately included in the DMA controller to process the DMA transfer interrupt and the DMA request interrupt of the peripheral device and control the DMA channel through a control program changeable by the user. This reduces the DMA channel control and associated interrupt processing load associated with multiple DMA data transfers that may occur by the main processor managing the DMA transfers, and allows the user to programmatically handle DMA channel control and interrupts in the control of the DMA controller. By providing the flexibility of the DMA transfer request of the external device in accordance with the characteristics of the device requesting the DMA as well as the fixed interrupt handling scheme in the same hardware as the conventional interrupt controller.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

100,200: DMA 제어기
110: DMA 제어 버스
120: 인터럽트 제어 마스터 버스
130: 인터럽트 요청/해지 인터페이스
140: 인터럽트 전송 인터페이스
150: DAM 채널
100,200: DMA controller
110: DMA control bus
120: interrupt control master bus
130: interrupt request / cancellation interface
140: interrupt transfer interface
150: DAM channel

Claims (10)

외부 프로세서로부터 수신되는 DMA 채널동작요청 및 DMA 전송 제어를 위한 DMA 설정값을 저장하기 위한 DMA 채널 레지스터 뱅크와,
DMA 전송에 관련된 인터럽트를 처리하기 위한 제어 프로그램을 저장하는 프로그램 메모리와,
주변 장치에서 발생하는 DMA 요청 인터럽트 또는 상기 외부 프로세서로부터 수신되는 상기 DMA 채널동작요청에 응답하여 상기 프로그램 메모리에 저장된 상기 제어 프로그램을 수행하는 인터럽트 제어 프로세서와,
상기 인터럽트 제어 프로세서의 DMA 채널 활성화 명령에 응답하여 상기 DMA 채널 레지스터 뱅크에 저장된 상기 DMA 설정값에 따라 DMA 채널의 동작을 제어하여 DMA 전송이 수행되도록 하는 DMA 채널 제어 모듈과,
상기 주변장치로부터 발생하는 상기 DMA 요청 인터럽트를 수신하여 상기 인터럽트 제어 프로세서에 전달하고 상기 인터럽트 제어 프로세서에 의해 처리완료된 인터럽트에 대한 해지 신호를 생성하는 인터럽트/DMA 요청 및 해지 모듈
을 포함하는 DMA 제어기.
A DMA channel register bank for storing a DMA channel operation request received from an external processor and DMA setting values for DMA transfer control;
A program memory for storing a control program for processing interrupts related to DMA transfers;
An interrupt control processor that executes the control program stored in the program memory in response to a DMA request interrupt occurring in a peripheral device or the DMA channel operation request received from the external processor;
A DMA channel control module for controlling an operation of a DMA channel according to the DMA set value stored in the DMA channel register bank in response to a DMA channel activation command of the interrupt control processor to perform DMA transfer;
An interrupt / DMA request and cancel module that receives the DMA request interrupt from the peripheral device, passes it to the interrupt control processor, and generates a cancel signal for the interrupt processed by the interrupt control processor;
DMA controller comprising a.
제1항에 있어서, 상기 DMA 설정값은, DMA 데이터 전송을 위한 데이터 소스 주소, 목적지 주소, 전송 데이터 크기 및 DMA 채널 제어값을 포함하는 DMA 제어기.
The DMA controller of claim 1, wherein the DMA setting value includes a data source address, a destination address, a transfer data size, and a DMA channel control value for DMA data transfer.
제1항에 있어서, 상기 인터럽트 제어 프로세서는 상기 제어 프로그램에 지정된 DMA 설정값을 상기 DMA 채널 레지스터 뱅크에 저장한 후에 DMA 채널 활성화 명령을 또한 DMA 채널 레지스터 뱅크에 저장하는 DMA 제어기.
The DMA controller according to claim 1, wherein said interrupt control processor further stores a DMA channel activation command in a DMA channel register bank after storing a DMA setting value specified in said control program in said DMA channel register bank.
제3항에 있어서, 상기 DMA 채널 제어 모듈은 상기 DMA 채널 활성화 명령이 상기 DMA 채널 레지스터 뱅크에 저장되면 DMA 채널을 이용한 DMA 전송을 개시하는 DMA 제어기.
4. The DMA controller of claim 3 wherein the DMA channel control module initiates a DMA transfer using a DMA channel when the DMA channel activation command is stored in the DMA channel register bank.
제1항에 있어서, 상기 인터럽트 제어 프로세서는 상기 DMA 제어기에 연결된 인터럽트 제어 마스터 버스를 통해 상기 DMA 요청 인터럽트를 발생시킨 주변장치의 내부 상태를 확인하는 DMA 제어기.
2. The DMA controller of claim 1 wherein the interrupt control processor verifies the internal state of a peripheral that caused the DMA request interrupt via an interrupt control master bus coupled to the DMA controller.
제1항에 있어서, 상기 인터럽트/DMA 요청 및 해지 모듈은 상기 DMA 채널을 통해 정해진 크기의 데이터 전송이 완료될 때마다 DMA 전송완료 인터럽트를 생성하여 상기 인터럽트 제어 프로세서에 전달하는 DMA 제어기.
The DMA controller of claim 1, wherein the interrupt / DMA request and cancellation module generates and delivers a DMA transfer complete interrupt to the interrupt control processor whenever data of a predetermined size is completed through the DMA channel.
제1항에 있어서, 상기 인터럽트 제어 프로세서의 수행에 관련된 데이터를 저장하기 위한 데이터 메모리를 더 포함하는 DMA 제어기.
2. The DMA controller of claim 1 further comprising a data memory for storing data related to the execution of said interrupt control processor.
제1항에 있어서, 외부 프로세서와의 인터페이스를 담당하는 DMA 제어 인터페이스를 더 포함하고, 상기 DMA 제어 인터페이스를 통해 상기 DMA 채널동작요청 및 상기 제어 프로그램을 수신하는 DMA 제어기.
The DMA controller of claim 1, further comprising a DMA control interface that interfaces with an external processor, and receives the DMA channel operation request and the control program through the DMA control interface.
제1항에 있어서, 상기 DMA 설정값에 포함된 전송 데이터 크기만큼의 데이터 전송이 DMA 채널을 통해 최종적으로 완료됨을 나타내는 DMA 채널 동작 완료 인터럽트 및 상기 DMA 제어기 내부 상태에 연관된 인터럽트를 생성하여 외부 인터럽트 제어기에 전달하는 DMA 채널 인터럽트 생성 모듈을 더 포함하는 DMA 제어기.
The external interrupt controller of claim 1, further comprising generating an interrupt associated with a DMA channel operation completion interrupt and an interrupt associated with an internal state of the DMA controller, indicating that data transmission of the transmission data size included in the DMA setting value is finally completed through a DMA channel. The DMA controller further comprises a DMA channel interrupt generation module for transmitting to.
제1항에 있어서, 상기 DMA 제어기는, DMA 제어 버스, 인터럽트 제어 마스터 버스, 인터럽트 요청/해지 인터페이스 및 인터럽트 전송 인터페이스중 적어도 하나를 통해 주변 장치 및 외부 프로세서와 통신하는 DMA 제어기.The DMA controller of claim 1, wherein the DMA controller communicates with a peripheral device and an external processor via at least one of a DMA control bus, an interrupt control master bus, an interrupt request / release interface, and an interrupt transfer interface.
KR1020100052154A 2009-07-27 2010-06-03 DMA controller with interrupt control processor KR101357300B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/843,801 US20110022767A1 (en) 2009-07-27 2010-07-26 Dma controller with interrupt control processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090068430 2009-07-27
KR1020090068430 2009-07-27

Publications (2)

Publication Number Publication Date
KR20110011528A true KR20110011528A (en) 2011-02-08
KR101357300B1 KR101357300B1 (en) 2014-01-28

Family

ID=43771715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100052154A KR101357300B1 (en) 2009-07-27 2010-06-03 DMA controller with interrupt control processor

Country Status (1)

Country Link
KR (1) KR101357300B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552314B2 (en) 2013-01-02 2017-01-24 Samsung Electronics Co., Ltd. Memory system having first and second memory devices and driving method thereof
WO2022025318A1 (en) * 2020-07-30 2022-02-03 김영일 Mmi interface device and computing system based thereon

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101726519B1 (en) * 2015-10-27 2017-04-12 주식회사 엘지씨엔에스 Apparatus for sensing mounting condition of module in financial device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754884A (en) * 1996-05-20 1998-05-19 Advanced Micro Devices Method for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller
JP4785637B2 (en) * 2006-06-16 2011-10-05 キヤノン株式会社 Data transfer apparatus and control method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552314B2 (en) 2013-01-02 2017-01-24 Samsung Electronics Co., Ltd. Memory system having first and second memory devices and driving method thereof
WO2022025318A1 (en) * 2020-07-30 2022-02-03 김영일 Mmi interface device and computing system based thereon

Also Published As

Publication number Publication date
KR101357300B1 (en) 2014-01-28

Similar Documents

Publication Publication Date Title
JP2642027B2 (en) Computer system, arbitration method and arbitration device
US20140082244A1 (en) Enhanced I/O Performance in a Multi-Processor System Via Interrupt Affinity Schemes
US20070240011A1 (en) FIFO memory data pipelining system and method for increasing I²C bus speed
KR100551480B1 (en) A memory device located between the processor and the nonvolatile memory, a system including the same, and a data transmission / reception method within the system
EP0535793B1 (en) Method for managing data transfers in a computing system having a dual bus structure
JP5400443B2 (en) Integrated circuit, debug circuit, and debug command control method
JP2978539B2 (en) Data transfer control device
JP2009043256A (en) Accessing method and arrangement of memory unit
WO1999027434A1 (en) Using firmware to enhance the functionality of a controller
JP2016512361A (en) Dual Host Embedded Shared Device Controller
CN113056729B (en) Programming and control of a computational cell in an integrated circuit
KR101357300B1 (en) DMA controller with interrupt control processor
US20110022767A1 (en) Dma controller with interrupt control processor
US20150268985A1 (en) Low Latency Data Delivery
US8943238B2 (en) Operations using direct memory access
US7523229B2 (en) Memory protection during direct memory access
US11662948B2 (en) Norflash sharing
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
US20240086093A1 (en) Memory controller and data processing system with memory controller
US7366809B2 (en) Pipelined stop, start, address byte, and data byte technique and circuit for I2C logic system
US6112272A (en) Non-invasive bus master back-off circuit and method for systems having a plurality of bus masters
KR102462578B1 (en) Interrupt controller using peripheral device information prefetch and interrupt handling method using the same
WO2006050287A2 (en) Implementing bufferless dma controllers using split transactions
US9411758B2 (en) Semiconductor device
US8799530B2 (en) Data processing system with a host bus adapter (HBA) running on a PCIe bus that manages the number enqueues or dequeues of data in order to reduce bottleneck

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20100603

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20130711

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20140113

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140121

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140122

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20171101