KR100825663B1 - 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치 - Google Patents

시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치 Download PDF

Info

Publication number
KR100825663B1
KR100825663B1 KR1020060058324A KR20060058324A KR100825663B1 KR 100825663 B1 KR100825663 B1 KR 100825663B1 KR 1020060058324 A KR1020060058324 A KR 1020060058324A KR 20060058324 A KR20060058324 A KR 20060058324A KR 100825663 B1 KR100825663 B1 KR 100825663B1
Authority
KR
South Korea
Prior art keywords
memory
dma
data
controller
system bus
Prior art date
Application number
KR1020060058324A
Other languages
English (en)
Other versions
KR20080000469A (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 KR1020060058324A priority Critical patent/KR100825663B1/ko
Publication of KR20080000469A publication Critical patent/KR20080000469A/ko
Application granted granted Critical
Publication of KR100825663B1 publication Critical patent/KR100825663B1/ko

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/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

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 컨트롤러가 CPU(Central Processing Unit), 메모리 및 디바이스(Device)와 연결되며 상기 디바이스(또는 메모리)의 데이터를 디바이스(또는 메모리) 전용 DMA 방식으로 전송하는 방법에 있어서, (a) CPU로부터 상기 디바이스(또는 메모리) 전용 DMA 방식의 데이터 전송 명령을 수신하는 단계; (b) 상기 디바이스(또는 메모리)로부터 데이터를 수신한 후 디바이스 버퍼에 임시 저장하는 단계; 및 (c) 상기 디바이스(또는 메모리) 전용 DMA 컨트롤러를 이용하여 데이터를 디바이스(또는 메모리)로 전송하는 단계를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스(또는 메모리) 전용 DMA의 데이터 전송 방법을 제공한다.
본 발명에 의하면, 시스템 버스의 부하가 가중되지 않아 시스템 버스를 이용하는 다른 장치의 효율을 향상시키는 효과가 있다.
디바이스, 메모리, 시스템 버스, 디엠에이, 디바이스 전용 디엠에이, 메모리 전용 디엠에이

Description

시스템 버스를 점유하지 않는 디바이스/메모리 전용 디엠에이 전송 방법 및 장치{Method And System for Device/Memory-Dedicated DMA without Occupying System Bus}
도 1은 종래의 DMA 방식의 데이터 전송장치를 나타낸 블록 구성도,
도 2는 본 발명의 바람직한 실시예에 따른 디바이스 전용 DMA 방식 및 메모리 전용 DMA 방식의 데이터 전송 장치를 나타낸 블록 구성도,
도 3은 본 발명의 바람직한 실시예에 따른 메모리 전용 DMA 방식을 이용하여 동영상 데이터를 디코딩하는 방법을 설명하기 위한 순서도,
도 4는 본 발명의 바람직한 실시예에 따른 디바이스 전용 DMA 방식과 DMA 방식을 병행하여 데이터를 전송하는 방법을 설명하기 위한 순서도,
도 5는 본 발명의 바람직한 실시예에 따른 메모리 전용 DMA 방식과 DMA 방식을 병행하여 데이터를 전송하는 방법을 설명하기 위한 순서도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
110: CPU 120: 시스템 버스
130: 메모리 컨트롤러 140: 메모리
150: DMA 컨트롤러 160: 디바이스 컨트롤러
170: 버스 중재부 180: I/O 버스
190: 디바이스부 210: 메모리 전용 DMA 컨트롤러
220: 디바이스 전용 DMA 컨트롤러
본 발명은 시스템 버스를 점유하지 않는 디바이스/메모리 전용 디엠에이 전송 방법 및 장치에 관한 것이다. 더욱 상세하게는 디바이스/메모리 컨트롤러 내부에 기 설정한 디바이스/메모리로 발신지(Source) 및 수신지(Destination)를 고정한 디바이스/메모리 전용 DMA 컨트롤러를 추가함으로써 메모리 내부에서 내부로 데이터를 전송하는 경우 또는 디바이스에서 동일한 디바이스로 데이터를 전송하는 경우 시스템 버스를 점유하지 않고 데이터를 전송하는 방법 및 장치에 관한 것이다.
종래의 직접 메모리 액세스(Direct Memory Access, 이하 'DMA'라 칭함) 방식은 데이터를 전송하기 위해 중앙처리장치(Central Processing Unit, 이하 'CPU'라 칭함)를 거치지 않고 DMA가 메모리를 직접 액세스하여 데이터를 메모리로 전송하는 방식을 말한다. DMA 방식에 의한 데이터 전송 제어는 DMA 컨트롤러가 수행하며, 앞서 언급했듯이 CPU는 데이터 전송에 관여하지 않는다.
도 1은 본 발명의 종래의 DMA 방식을 포함한 데이터 전송장치를 나타낸 블록 구성도이다.
종래의 DMA 방식을 포함한 데이터 전송장치는, CPU(110), 시스템 버스(120), 메모리 컨트롤러(130), 메모리(140), DMA 컨트롤러(150), 디바이스 컨트롤러(160) 및 버스 중재부(170), I/O 버스(Input/Output, 이하 'I/O'라 칭함)(180) 및 디바이스부(190)를 포함한다.
CPU(110)는 시스템 내의 각종 디바이스의 동작을 제어하는 기능을 수행하고, 메모리(140)는 CPU를 포함하는 각종 디바이스의 동작을 위해 필요한 프로그램 등의 데이터 및 디바이스의 동작 수행에 의해 발생하는 각종 데이터 등을 저장한다.
시스템 버스(System Bus)(120)는 CPU(110)와 메모리(140)를 연결하기 위한 데이터 이동 통로로서 제어신호 및 데이터를 전달하는 기능을 수행하며 메모리 컨트롤러(130), DMA 컨트롤러(150) 및 디바이스 컨트롤러(160)를 각각 연결하고 있다.
메모리 컨트롤러(130)는 데이터를 메모리(140)에 저장하거나 메모리(140)에 기 저장된 데이터를 불러오는 기능을 수행하고, DMA 컨트롤러(150)는 CPU(110)로부터 DMA 제어 명령을 수신한 경우 DMA의 동작을 제어하는 기능을 수행하며, 디바이스 컨트롤러(160)는 CPU(110)로부터 각종 디바이스의 제어 명령을 수신한 경우 디바이스부(190)를 제어하는 기능을 수행한다.
버스 중재부(170)는 시스템 버스(120)와 I/O 버스(180) 간에 전달되는 데이터를 중재(Arbitration)하는 기능을 수행한다. I/O 버스(180)는 각종 컨트롤러와 디바이스부(190)를 연결하기 위한 데이터 이동 통로로서 제어신호 및 데이터를 전달하는 기능을 수행하며, 디바이스부(190)는 다량의 데이터를 읽기/쓰기(Read/Write)할 수 있는 장치들을 포함할 수 있으나, 본 발명에서는 설명의 편의를 위해 제 1 디바이스(192) 및 제 2 디바이스(194)를 포함한 것으로 설명하겠다.
종래의 DMA 방식을 이용한 데이터 전송장치는 CPU(110)가 DMA 컨트롤러(150)로 제어 명령을 송신하면 DMA 컨트롤러(150)는 DMA의 동작을 제어하여 디바이스부(190)로부터 데이터를 수신하여 메모리(140)로 전송하거나 디바이스부(190)로 데이터를 전송한다. 이때, 종래의 DMA 컨트롤러(150)는 데이터를 전송하기 위해 시스템 버스를 점유하게 되는데, 이로 인해 시스템 버스에 부하가 가중되어 시스템 버스를 이용하는 다른 장치들의 효율을 저하시키는 단점이 있었다.
전술한 문제점을 해결하기 위해 본 발명은, 디바이스/메모리 컨트롤러 내부에 기 설정한 디바이스/메모리로 발신지(Source) 및 수신지(Destination)를 고정한 디바이스/메모리 전용 DMA 컨트롤러를 추가함으로써 메모리 내부에서 내부로 데이터를 전송하는 경우 또는 디바이스에서 동일한 디바이스로 데이터를 전송하는 경우 시스템 버스를 점유하지 않고 데이터를 전송하는 방법 및 장치를 제공하는 데 그 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 디바이스 전용 DMA 컨트롤러가 CPU(Central Processing Unit), 메모리 및 디바이스(Device)와 연결되며 상기 디바이스의 데이터를 디바이스 전용 DMA 방식으로 전송하는 방법에 있어서, (a) 상기 CPU로부터 상기 다바이스 전용 DMA 방식의 데이터 전송 명령을 수신하는 단계; (b) 상기 디바이스로부터 데이터를 수신한 후 디바이스 버퍼에 임시 저장하는 단계; 및 (c) 상기 디바이스 전용 상기 DMA 컨트롤러를 이용하여 상기 데이터를 상기 디바이스로 전송하는 단계를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA의 데이터 전송 방법을 제공한다.
또한, 본 발명의 다른 목적에 의하면, 메모리 전용 DMA 컨트롤러가 CPU(Central Processing Unit), 메모리 및 디바이스(Device)와 연결되며 상기 메모리의 데이터를 메모리 전용 DMA 방식으로 전송하는 방법에 있어서, (a) 상기 CPU로부터 상기 메모리 전용 DMA 방식의 데이터 전송 명령을 수신하는 단계; (b) 상기 메모리로부터 데이터를 수신한 후 메모리 버퍼에 임시 저장하는 단계; 및 (c) 상기 메모리 전용 상기 DMA 컨트롤러를 이용하여 상기 데이터를 상기 메모리로 전송하는 단계를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전용 DMA의 데이터 전송 방법을 제공한다.
또한, 본 발명의 다른 목적에 의하면, 디바이스 전용 DMA 방식으로 디바이스의 데이터 전송을 제어하는 DMA 전송장치에 있어서, 기 설정된 디바이스로 발신지(Source) 및 수신지(Destination)를 고정하여 데이터 전송을 제어하는 디바이스 전용 DMA 컨트롤러; 및 디바이스 전용 DMA 컨트롤러를 포함하되, CPU로부터 디바이스 전용 DMA 방식의 데이터 전송 명령을 수신한 경우 디바이스 전용 DMA 컨트롤러를 이용하여 시스템 버스를 점유하지 않고 데이터를 전송하는 디바이스 컨트롤러를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA 전송장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 메모리 전용 DMA 방식으로 메모리의 데이터 전송을 제어하는 DMA 전송장치에 있어서, 기 설정된 메모리로 발신지(Source) 및 수신지(Destination)를 고정하여 데이터 전송을 제어하는 메모리 전용 DMA 컨트롤러; 및 메모리 전용 DMA 컨트롤러를 포함하되, CPU로부터 메모리 전 용 DMA 방식의 데이터 전송 명령을 수신한 경우 메모리 전용 DMA 컨트롤러를 이용하여 시스템 버스를 점유하지 않고 데이터를 전송하는 메모리 컨트롤러를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전용 DMA 전송장치를 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 2는 본 발명의 바람직한 실시예에 따른 디바이스 전용 DMA 방식 및 메모리 전용 DMA 방식의 데이터 전송 장치를 나타낸 블록 구성도이다.
본 발명의 바람직한 실시예에 따른 디바이스/메모리 전용 DMA 방식의 데이터 전송장치는, CPU(110), 시스템 버스(120), 메모리 컨트롤러(130), 메모리(140), DMA 컨트롤러(150), 디바이스 컨트롤러(160) 및 버스 중재부(170), I/O 버스(180), 디바이스부(190), 메모리 전용 DMA 컨트롤러(210) 및 디바이스 전용 DMA 컨트롤러(220)를 포함한다.
CPU(110)는 시스템 내의 각종 디바이스의 동작을 제어하는 기능을 수행하고, 메모리(140)는 CPU(110)를 포함하는 각종 디바이스의 동작을 위해 필요한 프로그램 등의 데이터 및 디바이스의 동작 수행에 의해 발생하는 각종 데이터 등을 저장한 다. 여기서, 디바이스(Device)란 다량의 데이터를 읽기/쓰기 할 수 있는 장치를 말한다.
시스템 버스(120)는 CPU(110)와 메모리(140)를 연결하기 위한 데이터 이동 통로로서 제어신호 및 데이터를 전송하는 기능을 수행하며, 메모리 컨트롤러(130), DMA 컨트롤러(150) 및 디바이스 컨트롤러(160)와 연결되어 있다.
본 발명의 바람직한 실시예에 따른 메모리 컨트롤러(130)는 데이터를 메모리(140)에 저장하거나 메모리(140)에 기 저장된 데이터를 불러오는 기능을 수행하며, 메모리 전용 DMA 컨트롤러(210)를 포함한다.
본 발명의 바람직한 실시예에 따른 메모리 전용 DMA 컨트롤러(210)는 메모리 전용 DMA를 제어하는 기능을 수행하며, 기 설정된 메모리로 발신지(Source) 및 수신지(Destination)를 고정한 전용 DMA 컨트롤러로서, 기 설정된 메모리 내부에서 내부로 데이터를 전송하는 경우 시스템 버스(120)를 점유하지 않고 해당 데이터를 기 설정된 메모리 내부로 전송하는 기능을 수행한다.
예를 들어, 메모리(140)로부터 수신한 데이터를 메모리(140)의 버퍼에 임시 저장하고, 임시로 저장된 데이터를 분류하는 경우 메모리 전용 DMA 컨트롤러(210)를 이용하여 시스템 버스(120)를 점유하지 않고 해당 데이터를 분류할 수 있다. 여기서, 메모리 전용 DMA 컨트롤러(210)는 메모리(140)로 발신지 및 수신지가 고정되어 있으므로 시스템 버스(120)를 점유하지 않는다.
DMA 컨트롤러(150)는 CPU(110)로부터 DMA 제어 명령을 수신한 경우 DMA의 동작을 제어하여 CPU(110)의 개입 없이 서로 다른 디바이스 간의 데이터를 전송하는 기능을 수행한다.
본 발명의 바람직한 실시예에 따른 디바이스 컨트롤러(160)는 CPU(110)로부터 각종 디바이스의 제어 명령을 수신한 경우 디바이스부(190)를 제어하는 기능을 수행하며, 디바이스 전용 DMA 컨트롤러(220)를 포함하고 있다.
본 발명의 바람직한 실시예에 따른 디바이스 전용 DMA 컨트롤러(220)는 디바이스 전용 DMA를 제어하는 기능을 수행하며, 기 설정된 디바이스로 발신지(Source) 및 수신지(Destination)를 고정한 전용 DMA 컨트롤러로서, 기 설정된 디바이스에서 동일한 디바이스로 데이터를 전송하는 경우 시스템 버스(120)를 점유하지 않고 해당 데이터를 기 설정된 디바이스로 전송하는 기능을 수행한다. 여기서, 기 설정된 디바이스는 다량의 데이터를 읽기/쓰기 할 수 있는 장치들을 포함할 수 있으나, 본 발명에서는 설명의 편의상 제 1 디바이스(192) 및 제 2 디바이스(194)를 포함하는 것으로 설명하겠다.
예를 들어, 제 1 디바이스(192)로부터 수신한 데이터를 다시 제 1 디바이스(192)로 전송하는 경우 디바이스 전용 DMA 컨트롤러(220)는 시스템 버스(120)를 점유하지 않고 해당 데이터를 제 1 디바이스(192)로 전송한다.
버스 중재부(170)는 시스템 버스(120)와 I/O 버스(180) 간의 데이터를 중재(Arbitration)하여 데이터를 전송하는 기능을 수행한다. I/O 버스(180)는 각종 컨트롤러와 디바이스부(190)를 연결하기 위한 데이터 이동 통로로서 제어신호 및 데이터를 전송하는 기능을 수행하며, 디바이스부(190)는 다량의 데이터를 읽기/쓰기 할 수 있는 장치 제 1 디바이스(192) 및 제 2 디바이스(194)를 포함한다.
도 3은 본 발명의 바람직한 실시예에 따른 메모리 전용 DMA 방식을 이용하여 동영상 데이터를 디코딩하는 방법을 설명하기 위한 순서도이다.
CPU(110)는 디바이스부(190)로부터 동영상 파일의 데이터를 수신하여 메모리 컨트롤러(130)로 전송한다(S310). 여기서, 디바이스부(190)는 다량의 데이터를 읽기/쓰기 할 수 있는 장치 제 1 디바이스(192) 및 제 2 디바이스(194)를 포함하며, 제 1 디바이스(192) 및 제 2 디바이스(194)는 각종 데이터 파일을 저장할 수 있으나, 본 발명에서는 설명의 편의상 동영상 파일을 저장하는 것으로 가정하여 설명하도록 하겠다. 디바이스부(190)의 동영상 데이터는 I/O 버스(180)를 거쳐서 버스 중재부(170)로 전송되고, 버스 중재부(170)에서 중재된 동영상 데이터는 시스템 버스(120)를 거쳐 메모리 컨트롤러(130)로 전송된다.
메모리 컨트롤러(130)는 수신한 동영상 데이터를 메모리(140)의 버퍼에 임시로 저장한다(S320).
메모리 컨트롤러(130)는 버퍼에 임시로 저장된 동영상 데이터에서 오디오와 비디오 데이터를 구별하여 오디오 데이터와 비디오 데이터를 생성한다(S330).
메모리 컨트롤러(130)는 메모리 전용 DMA 컨트롤러(210)를 이용하여 오디오 데이터를 오디오용 버퍼로 전송한다(S340). 여기서, 메모리 전용 DMA 컨트롤러(210)는 메모리 전용 DMA를 제어하며, 메모리(140)로 발신지(Source) 및 수신지(Destination)를 고정한 전용 DMA 컨트롤러로서, 메모리(140) 버퍼에서 오디오용 버터로 오디오 데이터를 전송하는 경우 시스템 버스(120)를 점유하지 않고 오디오 데이터를 전송하는 기능을 수행한다. 또한, 메모리 컨트롤러(130)는 메모리 전용 컨트롤러(210)를 이용하는 경우 비지(Busy) 상태로 세팅되어 외부로부터의 메모리 액세스를 차단한다.
메모리 컨트롤러(130)는 메모리 전용 DMA 컨트롤러(210)를 이용하여 비디오 데이터를 비디오용 버퍼로 전송한다(S350). 여기서, 메모리 전용 DMA 컨트롤러(210)는 메모리 전용 DMA를 제어하며, 메모리(140)로 발신지 및 수신지를 고정한 전용 DMA 컨트롤러로서, 메모리 버퍼에서 비디오용 버터로 비디오데이터를 전송하는 경우 시스템 버스(120)를 점유하지 않고 비디오 데이터를 전송하는 기능을 수행한다. 또한, 메모리 컨트롤러(130)는 메모리 전용 컨트롤러(210)를 이용하는 경우 비지 상태로 세팅되어 외부로부터의 메모리 액세스를 차단한다.
CPU(110)는 메모리(140)의 오디오용 버퍼로부터 오디오 데이터를 수신한 후 오디오 디코딩 엔진을 이용하여 오디오를 디코딩한다(S360).
CPU(110)는 메모리(140)의 비디오용 버퍼로부터 비디오 데이터를 수신한 후 비디오 디코딩 엔진을 이용하여 비디오를 디코딩한다(S370).
도 4는 본 발명의 바람직한 실시예에 따른 디바이스 전용 DMA 방식과 DMA 방식을 병행하여 데이터를 전송하는 방법을 설명하기 위한 순서도이다.
CPU(110)는 디바이스부(190)의 데이터를 동일한 디바이스로 전송할 것인지의 여부를 확인한다(S410). 여기서, 디바이스부(190)는 다량의 데이터를 읽기/쓰기 할 수 있는 장치들을 포함할 수 있으나, 본 발명에서는 설명의 편의상 다량의 데이터를 읽기/쓰기 할 수 있는 제 1 디바이스(192) 및 제 2 디바이스(194)를 포함한 것으로 설명한다.
단계 S410의 확인 결과, 디바이스부(190)의 제 1 디바이스(192)의 데이터를 동일한 디바이스부(190)의 제 1 디바이스(192) 또는 제 2 디바이스(194)로 전송하는 경우, CPU(110)는 디바이스 컨트롤러(160)로 디바이스 전용 DMA 방식의 데이터 전송 명령을 송신하고, 디바이스 컨트롤러(160)는 디바이스부(190)의 제 1 디바이스(192)로부터 데이터를 수신한다(S420). 여기서, 제 1 디바이스(192)의 데이터는 I/O 버스(180)를 거쳐서 버스 중재부(170)로 전송되고, 버스 중재부(170)에서 중재된 데이터는 디바이스 컨트롤러(160)로 전송된다.
디바이스 컨트롤러(160)는 수신한 데이터를 디바이스 버퍼에 임시로 저장한다(S422). 여기서, 디바이스 컨트롤러(160)는 제 1 디바이스(192) 및 제 2 디바이스(194)를 제어하는 기능을 수행하며, 제 1 디바이스(192)의 데이터를 제 2 디바이스로 전송하는 경우 제 1 디바이스(192)의 특정 어드레스로부터 데이터를 수신하여 디바이스 버퍼에 임시로 저장한다.
디바이스 컨트롤러(160)는 디바이스 전용 DMA 컨트롤러(220)를 이용하여 데이터를 동일한 디바이스부(190)의 제 1 디바이스(192) 또는 제 2 디바이스(194)로 전송한다(S424).
여기서, 디바이스 전용 DMA 컨트롤러(220)는 디바이스 전용 DMA를 제어하며, 제 1 디바이스(192) 또는 제 2 디바이스(194)로 발신지 및 수신지를 고정한 전용 DMA 컨트롤러로서, 디바이스부(190)의 제 1 디바이스(192) 또는 제 2 디바이스(194)에서 동일한 디바이스부(190)로 데이터를 전송하는 경우 시스템 버스(120)를 점유하지 않고 해당 데이터를 제 1 디바이스(192) 또는 제 2 디바이스(194)로 전송하는 기능을 수행한다. 또한, 디바이스 컨트롤러(160)는 디바이스 전용 컨트롤러(220)를 이용하는 경우 비지 상태로 세팅되어 외부로부터의 제 1 디바이스(192) 또는 제 2 디바이스(194)의 액세스를 차단한다.
단계 S410의 확인 결과, 디바이스부(190)의 데이터를 동일한 디바이스로 전송하지 않는 경우, CPU(110)는 DMA 컨트롤러(150)로 DMA 방식의 데이터 전송 명령을 송신하고, DMA 컨트롤러(150)는 디바이스부(190)의 제 1 디바이스(192) 또는 제 2 디바이스(194)로부터 데이터를 수신한다(S430). 여기서, 제 1 디바이스(192) 또는 제 2 디바이스(194)의 데이터는 I/O 버스(180)를 거쳐서 버스 중재부(170)로 전송되고, 버스 중재부(170)에서 중재된 데이터는 DMA 컨트롤러(150)로 전송된다.
DMA 컨트롤러(150)는 수신한 데이터를 디바이스 버퍼에 임시로 저장한다(S432).
DMA 컨트롤러(150)는 DMA를 제어하여 디바이스 버퍼에 임시 저장된 데이터를 시스템 버스(120)를 점유하여 메모리(140)로 전송한다(S434). 여기서, 디바이스부(190)의 데이터를 동일한 디바이스로 전송하지 않는 경우, 데이터를 메모리(140) 이외의 다른 디바이스로도 전송이 가능하나, 본 발명에서는 설명의 편의상 도면에 도시한 메모리(140)로 전송하는 것으로 가정하여 설명한다.
도 5는 본 발명의 바람직한 실시예에 따른 메모리 전용 DMA 방식과 DMA 방식을 병행하여 데이터를 전송하는 방법을 설명하기 위한 순서도이다.
CPU(110)는 메모리(140)의 데이터를 동일한 메모리(140) 내부로 전송할 것인지의 여부를 확인한다(S510).
단계 S510의 확인 결과, 메모리(140)의 데이터를 동일한 메모리(140) 내부로 전송하는 경우, CPU(110)는 메모리 컨트롤러(130)로 메모리 전용 DMA 방식의 데이터 전송 명령을 송신하고, 메모리 컨트롤러(130)는 메모리(140)로부터 데이터를 수신한다(S520).
메모리 컨트롤러(120)는 수신한 데이터를 메모리 버퍼에 임시로 저장한다(S522).
메모리 컨트롤러(120)는 메모리 전용 DMA 컨트롤러(210)를 이용하여 데이터를 동일한 메모리(140) 내부로 전송한다(S524).
여기서, 메모리 전용 DMA 컨트롤러(210)는 메모리 전용 DMA를 제어하며, 메모리(140)로 발신지 및 수신지를 고정한 전용 DMA 컨트롤러로서, 메모리(140)에서 동일한 디바이스인 메모리(140)로 데이터를 전송하는 경우 시스템 버스(120)를 점유하지 않고 해당 데이터를 전송하는 기능을 수행한다. 또한, 메모리 컨트롤러(130)는 메모리 전용 DMA 컨트롤러(210)를 이용하는 경우 비지 상태로 세팅되어 외부로부터의 메모리(140)의 액세스를 차단한다.
단계 S510의 확인 결과, 메모리(130)의 데이터를 동일한 메모리(140) 내부로 전송하지 않는 경우, CPU(110)는 DMA 컨트롤러(150)로 DMA 방식의 데이터 전송 명령을 송신하고, DMA 컨트롤러(150)는 메모리(140)로부터 데이터를 수신한다(S530).
DMA 컨트롤러(150)는 수신한 데이터를 메모리 버퍼에 임시로 저장한다(S532)
DMA 컨트롤러(150)는 DMA를 제어하여 메모리 버퍼에 임시 저장된 데이터를 시스템 버스(120)를 점유하여 디바이스부(190)로 전송한다(S534). 여기서, 데이터 는 시스템 버스(120)를 거쳐서 버스 중재부(170)로 전송되고, 버스 중재부(170)에서 중재된 데이터는 I/O 버스(180)를 거쳐서 데이터베이스부(190)로 전송된다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명에 의하면, 메모리 컨트롤러 또는 디바이스 컨트롤러에 전용 DMA 컨트롤러를 추가함으로써, 메모리 내부에서 내부로 데이터를 전송하는 경우 또는 디바이스에서 동일한 디바이스로 데이터를 전송하는 경우 외부로부터의 액세스를 차단하여 다량의 데이터 전송 시에도 시스템 버스를 점유하지 않게 함으로써 시스템 버스의 부하가 가중되지 않아 시스템 버스를 이용하는 다른 장치의 효율을 향상시키는 효과가 있다.

Claims (12)

  1. 디바이스 전용 DMA 컨트롤러가 CPU(Central Processing Unit), 메모리 및 디바이스(Device)와 연결되며 상기 디바이스의 데이터를 디바이스 전용 DMA 방식으로 전송하는 방법에 있어서,
    (a) 상기 CPU로부터 상기 다바이스 전용 DMA 방식의 데이터 전송 명령을 수신하는 단계;
    (b) 상기 디바이스로부터 데이터를 수신한 후 디바이스 버퍼에 임시 저장하는 단계; 및
    (c) 상기 디바이스 전용 상기 DMA 컨트롤러를 이용하여 상기 데이터를 상기 디바이스로 전송하는 단계
    를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA의 데이터 전송 방법.
  2. 제 1 항에 있어서, 상기 방법은,
    상기 단계 (c) 이후에,
    (d) 상기 DMA 컨트롤러에서 상기 CPU로부터 DMA 방식의 데이터 전송 명령을 수신하는 단계;
    (e) 상기 DMA 컨트롤러에서 상기 디바이스로부터 상기 데이터를 수신한 후 상기 디바이스 버퍼에 임시 저장하는 단계; 및
    (f) 상기 DMA 컨트롤러에서 시스템 버스를 통해 상기 데이터를 상기 메모리로 전송하는 단계
    를 추가로 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA의 데이터 전송 방법.
  3. 제 1 항에 있어서,
    상기 디바이스 전용 상기 DMA 컨트롤러는 기 설정된 디바이스로 발신지(Source) 및 수신지(Destination)를 고정한 컨트롤러로서, 기 설정된 디바이스로 데이터를 전송하는 경우 시스템 버스를 점유하지 않는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA의 데이터 전송 방법.
  4. 제 1 항에 있어서,
    상기 디바이스 전용 상기 DMA 컨트롤러는 상기 디바이스 전용 DMA 방식의 데이터 전송 명령을 수신한 경우 레지스터에 등록하여 비지(Busy) 상태로 세팅되어 외부로부터의 디바이스 액세스를 차단하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA의 데이터 전송 방법.
  5. 메모리 전용 DMA 컨트롤러가 CPU(Central Processing Unit), 메모리 및 디바이스(Device)와 연결되며 상기 메모리의 데이터를 메모리 전용 DMA 방식으로 전송하는 방법에 있어서,
    (a) 상기 CPU로부터 상기 메모리 전용 DMA 방식의 데이터 전송 명령을 수신하는 단계;
    (b) 상기 메모리로부터 데이터를 수신한 후 메모리 버퍼에 임시 저장하는 단계; 및
    (c) 상기 메모리 전용 상기 DMA 컨트롤러를 이용하여 상기 데이터를 상기 메모리로 전송하는 단계
    를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전용 DMA의 데이터 전송 방법.
  6. 제 5 항에 있어서, 상기 방법은,
    상기 단계 (c) 이후에,
    (d) 상기 DMA 컨트롤러에서 상기 CPU로부터 DMA 방식의 데이터 전송 명령을 수신하는 단계;
    (e) 상기 DMA 컨트롤러에서 상기 메모리로부터 상기 데이터를 수신한 후 상기 메모리 버퍼에 임시 저장하는 단계; 및
    (f) 상기 DMA 컨트롤러에서 시스템 버스를 통해 상기 데이터를 상기 디바이스로 전송하는 단계
    를 추가로 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전용 DMA의 데이터 전송 방법.
  7. 제 5 항에 있어서,
    상기 메모리 전용 상기 DMA 컨트롤러는 기 설정된 메모리로 발신지 및 수신지를 고정한 컨트롤러로서, 기 설정된 메모리로 데이터를 전송하는 경우 시스템 버스를 점유하지 않는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전용 DMA의 데이터 전송 방법.
  8. 제 5 항에 있어서,
    상기 메모리 전용 상기 DMA 컨트롤러는 상기 메모리 전용 DMA 방식의 데이터 전송 명령을 수신한 경우 레지스터에 등록하여 비지(Busy) 상태로 세팅되어 외부로부터의 메모리 액세스를 차단하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전용 DMA의 데이터 전송 방법.
  9. 디바이스 전용 DMA 방식으로 디바이스의 데이터 전송을 제어하는 DMA 전송장치에 있어서,
    기 설정된 디바이스로 발신지(Source) 및 수신지(Destination)를 고정하여 데이터 전송을 제어하는 디바이스 전용 DMA 컨트롤러; 및
    상기 디바이스 전용 DMA 컨트롤러를 포함하되, CPU로부터 상기 디바이스 전용 DMA 방식의 데이터 전송 명령을 수신한 경우 상기 디바이스 전용 DMA 컨트롤러를 이용하여 시스템 버스를 점유하지 않고 데이터를 전송하는 디바이스 컨트롤러
    를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA 전송장치.
  10. 제 9 항에 있어서,
    상기 디바이스 전용 DMA 컨트롤러는 상기 디바이스 전용 DMA 방식의 데이터 전송 명령을 수신한 경우 레지스터에 등록하여 비지 상태로 세팅되어 외부로부터의 디바이스 액세스를 차단하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 디바이스 전용 DMA 전송장치.
  11. 메모리 전용 DMA 방식으로 메모리의 데이터 전송을 제어하는 DMA 전송장치에 있어서,
    기 설정된 메모리로 발신지(Source) 및 수신지(Destination)를 고정하여 데이터 전송을 제어하는 메모리 전용 DMA 컨트롤러; 및
    상기 메모리 전용 DMA 컨트롤러를 포함하되, CPU로부터 상기 메모리 전용 DMA 방식의 데이터 전송 명령을 수신한 경우 상기 메모리 전용 DMA 컨트롤러를 이용하여 시스템 버스를 점유하지 않고 데이터를 전송하는 메모리 컨트롤러
    를 포함하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전용 DMA 전송장치.
  12. 제 11항에 있어서,
    상기 메모리 전용 DMA 컨트롤러는 상기 메모리 전용 DMA 방식의 데이터 전송 명령을 수신한 경우 레지스터에 등록하여 비지 상태로 세팅되어 외부로부터의 메모리 액세스를 차단하는 것을 특징으로 하는 시스템 버스를 점유하지 않는 메모리 전 용 DMA 전송장치.
KR1020060058324A 2006-06-27 2006-06-27 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치 KR100825663B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060058324A KR100825663B1 (ko) 2006-06-27 2006-06-27 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060058324A KR100825663B1 (ko) 2006-06-27 2006-06-27 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20080000469A KR20080000469A (ko) 2008-01-02
KR100825663B1 true KR100825663B1 (ko) 2008-04-29

Family

ID=39212782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060058324A KR100825663B1 (ko) 2006-06-27 2006-06-27 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100825663B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328013A (ja) 1998-05-13 1999-11-30 Nec Corp メモリ制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328013A (ja) 1998-05-13 1999-11-30 Nec Corp メモリ制御装置

Also Published As

Publication number Publication date
KR20080000469A (ko) 2008-01-02

Similar Documents

Publication Publication Date Title
KR100551480B1 (ko) 프로세서와 비휘발성 메모리 사이에 위치하는 메모리장치, 이를 포함한 시스템 및 상기 시스템 내의 데이터송수신 방법
EP3292474B1 (en) Interrupt controller
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
JP4198376B2 (ja) バスシステム及びバスシステムを含む情報処理システム
US20050144338A1 (en) Data transfer apparatus
JP2006113689A (ja) バスブリッジ装置およびデータ転送方法
TW201344444A (zh) 主機板及應用於該主機板的資料處理方法
JP4193746B2 (ja) マトリックス状バス接続システム
KR100825663B1 (ko) 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치
JP2008129904A (ja) バス中継装置及びバス制御システム
US10540305B2 (en) Semiconductor device
US8713205B2 (en) Data transfer device and data transfer method
JP2009037639A (ja) ストリーミングidメソッドによるdmac発行メカニズム
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
US20100153610A1 (en) Bus arbiter and bus system
JP2011108051A (ja) バス制御装置、プロセッサ、電子装置及びバス制御方法
JP2006092077A (ja) バスシステム
JP6384359B2 (ja) 分散共有メモリを有する情報処理装置、方法、および、プログラム
JP6535516B2 (ja) マルチ・プログラマブルデバイス・システムとその制御方法
JP4642398B2 (ja) 共有バス調停システム
KR101192285B1 (ko) 통신시스템에서 모듈간 인터페이스 장치 및 방법
JP5076348B2 (ja) 共有メモリのアクセス方式
JP4538054B2 (ja) データ転送装置および方法
KR20070057441A (ko) 듀얼 ahb 마스터 구조의 amba 버스 기반멀티프로세서 시스템
JP2007305073A (ja) データ処理装置及びメモリコントローラチップ

Legal Events

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

Payment date: 20130422

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140422

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150422

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190418

Year of fee payment: 12