KR100662275B1 - 단일 번지 모드를 사용한 dma 전송 장치 - Google Patents

단일 번지 모드를 사용한 dma 전송 장치 Download PDF

Info

Publication number
KR100662275B1
KR100662275B1 KR1019990067412A KR19990067412A KR100662275B1 KR 100662275 B1 KR100662275 B1 KR 100662275B1 KR 1019990067412 A KR1019990067412 A KR 1019990067412A KR 19990067412 A KR19990067412 A KR 19990067412A KR 100662275 B1 KR100662275 B1 KR 100662275B1
Authority
KR
South Korea
Prior art keywords
memory
dma
transfer
data
peripheral device
Prior art date
Application number
KR1019990067412A
Other languages
English (en)
Other versions
KR20010059875A (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 KR1019990067412A priority Critical patent/KR100662275B1/ko
Publication of KR20010059875A publication Critical patent/KR20010059875A/ko
Application granted granted Critical
Publication of KR100662275B1 publication Critical patent/KR100662275B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA
    • G06F2213/2806Space or buffer allocation for DMA transfers

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 전송 장치를 제공하기 위한 것으로서, 다수 개의 영역으로 분리된 메모리와 상기 메모리와 상이한 크기의 데이터 버스선으로 연결된 주변기기간에 데이터를 순차적으로 리드(read) 또는 라이트(write)하는 DMA 전송에 있어서, 상기 메모리와 주변기기사이에 위치하여 상기 다수 개의 영역으로 분리된 메모리와 주변기기간의 리드 또는 라이트를 인터페이스하는 멀티플렉스 버퍼부를 포함하여 구성되어 빠른 전송과 메모리의 낭비를 줄일 수 있다.
DMA 전송 장치, 단일 번지 모드

Description

단일 번지 모드를 사용한 DMA 전송 장치{apparatus for Direct Memory Access transfer using single address mode}
도 1은 종래 기술에 따른 이중 번지 모드 DMA 전송을 나타낸 블록도
도 2 는 종래 기술에 따른 단일 번지 모드 DMA 전송을 나타낸 블록도
도 3 은 종래 기술에 따른 단일 번지 모드 DMA 전송시 상이한 버스선이 사용된 메모리와 주변기기간의 전송을 나타낸 블록도
도 4 는 본 발명에 따른 단일 번지 모드를 사용한 DMA 전송을 나타낸 블록도
도 5 는 본 발명에 따른 버퍼 제어부의 회로도
도 6 은 본 발명에 따른 32 비트의 데이터 버스선을 갖는 메모리와 16 비트의 데이터 버스선을 갖는 주변기기간의 DMA 전송을 나타낸 블록도
도 7 은 본 발명에 따른 DMA 데이터 전송시에 사용되는 신호들의 타이밍도
도 8 은 본 발명에 따른 32 비트의 데이터 버스선을 갖는 메모리와 8 비트의 데이터 버스선을 갖는 주변기기간의 DMA 전송을 나타낸 블록도
*도면의 주요부분에 대한 부호의 설명
10, 10a : 메모리 20 : 주변기기
31 : 버퍼 제어부 32, 32a : 멀티플렉스 버퍼부
40 : 매립형 제어부
본 발명은 DMA(Direct Memory Access) 전송에 관한 것으로, 특히 32 비트의 데이터 버스선을 갖는 메모리와 상이한 크기의 데이터 버스선을 갖는 주변기기사이에서의 단일 번지(single-address) 모드 DMA 전송에 관한 것이다.
최근의 IC 집적 기술의 발달과 함께 중소형 전자 제품에서는 CPU 코어(core) 및 DMA 제어부, DRAM 메모리 제어부 등이 하나의 칩에 집적된 매립형(embedded) 제어기의 사용이 증가하고 있다.
또한 대부분의 이러한 제품들은 최근의 다중 미디어(multi-media)환경에 대응하기 위하여 메모리와 주변기기간의 데이터 전송의 고속화가 필요하게 되었고, 이를 위하여 매립형 제어기에 내장된 DMA 제어부를 사용하고 있다.
통상 DMA 전송방식에는 두 가지의 전송방식이 있는데, 첫 번째로 메모리와 메모리간에 데이터를 전송하거나, 또는 서로 다른 데이터 버스선을 갖는 메모리와 주변기기간의 데이터 전송에 사용되는 이중 번지(dual-address) 모드 DMA 전송과,
두 번째로 동일한 데이터 버스선을 갖는 메모리와 주변기기간에 좀더 고속으로 데이터를 전송할 수 있는 단일 번지 모드 DMA(Direct Memory Access) 전송이 있다.
먼저 상기 첫 번째인 이중 주소 모드 DMA 전송은 전송될 데이터의 소스로부터 DMA용 버퍼에 데이터를 읽어오는 리드사이클(read cycle)과 이 버퍼링된 데이터 를 수신지(destination)에 라이트(write)하는 라이트사이클(write cycle)등 두 번의 액세스 사이클(access cycle)이 한번의 데이터 전송과정에서 일어난다.
이 이중 주소 모드 DMA 전송은 소스 장치와 수신지 장치간에 DMA 버퍼를 둠으로써, DMA 버퍼에서 데이터 버스선에 맞도록 패킹/언패킹(packing/unpacking)을 할 수가 있기 때문에 두 개의 장치가 서로 다른 사이즈의 데이터 버스선을 갖는 경우에도 DMA 전송이 가능하다.
그리고 두 번째인 상기 단일 번지 모드 DMA 전송은 데이터의 버퍼링이 없이 메모리와 주변기기간 전송의 경우 한 번의 리드사이클 또는 라이트사이클로써 데이터 전송이 이루어진다.
그러므로 단일 번지 모드 DMA 전송은 이중 번지 모드 DMA 전송에 비해 빠른 속도로 데이터를 전송할 수 있는 장점이 있지만, 이중 번지 모드 DMA 전송과 같이 데이터의 패킹/언패킹을 할 수 있는 수단이 없기 때문에, 두 개의 장치가 서로 다른 데이터 버스선을 갖는 경우에는 사용할 수 없다는 단점이 있다.
최근에는 많은 수의 매립형 제어기들이 32 비트 이상의 CPU 코어를 가지고 있으며, 대부분의 사용자들은 제품의 성능을 위하여 DRAM 메모리 액세스에 32 비트의 데이터 버스선을 이용한 전송을 사용하고 있는 추세이다.
그러나 이 제품들에 사용되는 주변기기들은 아직 16 비트, 또는 8 비트의 데이터 버스선이 사용되는 경우가 많다.
그러므로 32 비트의 데이터 버스선을 가지는 메모리와 16 비트 또는 8 비트의 데이터 버스선을 가지는 주변기기간의 데이터 전송은 이중 번지 모드 DMA(Direct Memory Access) 전송을 사용하고, 또 전송 속도를 높이기 위한 방식으로 메모리의 일부 영역을 비워두는 방법을 이용하는 단일 번지 모드 DMA 전송을 사용하고 있다.
그러면 도면을 참조하여 서로 상이한 사이즈의 데이터 버스선을 갖는 상기 메모리와 주변기기간의 데이터 전송을 설명해 보기로 하자.
먼저, 도 1에 나타낸 이중 번지 모드 DMA 전송을 보면 다음과 같다.
설명의 간소화를 위해 주변기기의 데이터 버스선의 사이즈를 16 비트로 가정한다.
먼저, 32 비트 사이즈의 데이터 버스선을 갖는 메모리(1)(이후 메모리라 약칭함)에서 16 비트 사이즈의 데이터 버스선을 갖는 주변기기(2)(이후 주변기기로 약칭함)로의 데이터 전송은 상기 주변기기(2)에서 DMA제어부(이하 DMAC라 약칭함) 버퍼(3)로 DMA를 요청하고 상기 DMAC 버퍼(3)는 상기 요청한 데이터가 저장된 메모리의 번지를 상기 메모리(1)에 전송한다.
이어 상기 메모리(1)는 수신된 번지에 해당되는 데이터를 상기 메모리(1)에서 상기 DMAC 버퍼(3)로 리드 사이클 동안에 전송한다.
그리고 상기 DMAC 버퍼(3)는 상기 주변기기(2)로 확인응답 신호를 전송하고, 동시에 상기 DMAC 버퍼(3)에 저장된 32 비트 데이터를 16 비트 데이터 2 개로 분리하여 상기 주변기기(2)에 두 번의 라이트 사이클 동안에 상기 데이터를 각각 전송한다.
그리고 주변기기(2)에서 메모리(1)로의 데이터 전송은 상기 주변기기(2)에서 DMAC 버퍼(3)로 DMA(Direct Memory Access)에 버스의 제어권을 요청하면 상기 DMAC 버퍼(3)는 상기 버스의 제어권 요청에 따른 확인응답신호를 상기 주변기기(2)에 전송한다.
이어 상기 주변기기(2)는 전송하고자하는 16 비트 데이터를 DMAC 버퍼(3)에 두 번의 리드 사이클 동안에 32 비트의 데이터를 나누어서 전송한다.
그리고 상기 DMAC 버퍼(3)는 저장된 2 개의 16 비트 데이터를 한 번의 라이트 사이클을 실행하여 상기 메모리(1)에 저장될 번지와 함께 전송한다.
이와 같이 메모리(1)에서 주변기기(2), 또는 주변기기(2)에서 메모리(1)로의 DMA 전송은 세 번의 액세스 사이클 동안에 한번의 데이터 전송이 이루어진다.
다음으로 도 2와 도 3에 나타낸 단일 번지 모드 DMA 전송을 보면 다음과 같다.
먼저, 상기 주변기기(2)에서 DMA제어부(이하 DMAC로 약칭함)(4)로 DMA에 버스 제어권을 요청하면 상기 DMAC(4)는 메모리(1)로 요청된 데이터의 번지를 전송한 후, 주변기기(2)에 상기 요청에 따른 확인 응답신호를 전송한다.
이때 상기 메모리(1)는 각각 16 비트의 메모리 영역을 갖도록 제 1, 2 메모리(1a)(1b)로 분리하고, 상기 제 1 메모리(1a)(또는 제 2 메모리(1b))를 공백으로 놓고 다른 제 2 메모리(1b)(또는 제 1 메모리(1a))에 데이터를 저장시켜 둔다.
따라서 메모리(1)에서 주변기기(2)로의 데이터 전송시에 상기 데이터가 저장된 제 2 메모리(1b)(또는 제 1 메모리(1a))를 DMA(Direct Memory Access) 제어에 의해 리드 사이클 동안에 주변기기(2)로 전송한다.
그리고 다음 리드 사이클 동안에 다음 데이터를 다른 메모리 영역인 제 4 메모리(1d)(또는 제 3 메모리(1c))에서 주변기기(2)로 전송한다.
이어 상기 주변기기(2)에서 메모리(1)로의 DMA 전송을 보면 상기 주변기기(2)에서 DMAC(4)로 DMA에 버스 제어권을 요청하면 상기 DMAC(4)는 메모리(1)로 해당 데이터의 번지를 전송한 후, 주변기기(2)에 상기 버스 제어권 요청에 따른 확인 응답신호를 전송한다.
그러면 주변기기(2)에서 16 비트의 데이터를 상기 메모리(1)에 두 번의 라이트 사이클 동안에 제 2 메모리(1b)(또는 제 1 메모리(1a))와 제 4 메모리(1d)(또는 제 3 메모리(1c))에 각각 전송한다.
이때 제 1 메모리(1a)(또는 제 2 메모리(1b)) 또는 제 3 메모리(1c)(제 4 메모리(1d))는 공백으로 남게 된다.
따라서 두 번의 리드(read) 또는 라이트(write) 사이클동안에 32 비트 데이터의 전송이 이루어지게 된다.
그러나 이상에서 설명한 종래 기술에 따른 DMA(Direct Memory Access) 전송은 다음과 같은 문제점이 있다.
첫째, 이중 번지 모드 DMA 전송의 경우에는 한 번의 리드 사이클과 두 번의 라이트 사이클로써 전송이 일어나므로 전송시간이 늦어지는 문제가 있다.
둘째, 단일 번지 모드 DMA 전송의 경우에는 메모리의 낭비와 메모리상에서의 데이터 패킹/언패킹을 위한 코드실행에 의한 지연이 발생한다는 단점이 있다.
셋째, 대부분의 매립형 제어기들은 DRAM 메모리 제어기가 칩 내부에 매립되어 있기 때문에 DRAM 라이트 액세스시에는 전송 사이즈(32 비트, 16 비트 혹은 8 비트) 및 유효한 데이터 바이트의 위치를 파악할 수 있는 정보가 칩의 외부로 제공되지 않는다는 문제가 있다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 상이한 데이터 버스를 가지는 메모리 장치와 주변기기 장치들 간에 DMA 전송에서 메모리의 낭비를 줄이면서 빠른 전송이 이루어지는 단일 번지 모드를 사용한 DMA 전송 장치를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 단일 번지 모드를 사용한 DMA 전송 장치의 특징은 다수 개의 영역으로 분리된 메모리와 상기 메모리와 상이한 버스선으로 연결된 주변기기간에 데이터를 순차적으로 리드(read) 또는 라이트(write)하는 DMA 전송에 있어서, 상기 메모리와 주변기기사이에 위치하여 상기 다수 개의 영역으로 분리된 메모리와 주변기기간의 리드 또는 라이트를 인터페이스하는 멀티플렉스 버퍼부와, 상기 멀티플렉스 버퍼부를 제어하는 버퍼 제어부를 포함하여 구성되는데 있다.
본 발명에 따른 다른 특징은 상기 버퍼 제어부에서 액세스되는 메모리의 번지 정보의 일부를 기존의 번지 핀 A1, A0을 통하여 칩 외부에 알려주는데 있다.
본 발명의 특징에 따른 작용은 메모리와 주변기기사이에 멀티플렉스 버퍼부를 구성하여 상이한 데이터 버스선을 가지는 메모리와 주변기기간에 단일 모드 DMA 전송이 가능하여 빠른 전송과 메모리의 낭비를 줄일 수 있다.
본 발명의 다른 목적, 특성 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 단일 번지 모드를 사용한 DMA 전송 장치의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.
DMA 제어에 사용되는 제어신호는 각 칩 메이커마다 다양한 이름으로 사용되고 있다.
따라서 이하 내용은 모토롤라의 DMA 제어신호 및 버스 신호를 사용하여 동작설명을 하기로 하며, 32 비트의 데이터 버스를 갖는 DRAM 메모리와 16 비트의 데이터 버스선을 갖는 주변기기간의 DMA 전송의 경우를 예로 들어 설명하기로 한다.
본 발명에 따른 단일 번지 모드를 사용한 DMA 전송 장치의 구성은 도 4의 블록도와 같다.
도 4를 보면 다수 개의 영역으로 분리하고 상기 각 영역에 데이터를 순차적으로 리드(read) 또는 라이트(write)하는 메모리와(10), 상기 메모리(10)내 데이터의 리드와 라이트에 대응하는 주변기기(20)와, 상기 메모리(10)와 주변기기(20)사이에 위치하여 상기 다수 개의 영역으로 분리된 메모리(10)와 주변기기(20)간의 리드 또는 라이트를 인터페이스하는 멀티플렉스 버퍼부(32), 상기 멀티플렉스 버퍼부(32)를 제어하기 위한 신호를 생성하는 버퍼 제어부(31)와, 상기 메모리(10)와 주변기기(20)간의 전송을 제어하는 매립형 제어부(40)로 구성된다.
상기 멀티플렉스 버퍼부(32)는 두 개의 16 비트선의 245 버퍼인 FCT 16245로 구성된다.
이와 같이 구성된 단일 번지 모드를 사용한 DMA 전송 장치의 동작을 보면, 상기 각 버퍼(32)의 출력 인에이블(enable) 핀으로 OE1 및 OE2에 '1'의 값이 각각 입력되면 16 비트의 입력단 신호가 16 비트의 출력단으로 전달된다.
이때 입/출력의 방향은 디렉션(direction) 핀인 DIR에 인가되는 신호의 값에 의하여 결정된다.
그리고 상기 DIR 값이 '1'일 때 메모리(10)로부터 주변기기(20)로 데이터가 전달되고, 상기 DIR 값이 '0' 일 때 주변기기(20)로부터 메모리(10)로 데이터가 전달된다.
상기 버퍼 제어부(31)는 매립형 제어부(40)로부터 출력되는 사이클에 관련된 신호정보를 이용하여 멀티플렉스 버퍼부(32)를 제어할 신호를 만들어 낸다.
이때 사용되는 매립형 제어부(40)로부터의 신호는 해당 주변기기(20)에 대한 칩 선택 신호, 또는 라이트 사이클인가를 나타내는 신호 R/nW 과, 그리고 현재 액세스되는 16 비트 데이터의 데이터 버스 상에서의 위치를 알 수 있는 정보인 번지 라인 신호 A1이다.
버퍼 제어부의 회로는 도 5와 같이 구성되며, 논리식(equation)으로 표시하면 아래와 같다.
[논리식 1]
OE1=(!FC3 & !nCS)#(FC3 & !A1);
OE2=FC3 & A1;
DIR=(!FC3 & !R/nW)#(FC3 & R/nW);
상기 버퍼 제어부(31)의 제어신호 OE1, OE2, 그리고 DIR은 도 6과 같이 멀티플렉스 버퍼부(32)의 각각의 16245 버퍼에 연결된다.
이와 같이 각 신호가 연결되어 있으면, CPU로부터의 주변기기(20)에 대한 보통의 액세스 시에는 nCS가 '0'이 되고, 데이터 라인은 메모리의 상부 영역인 D[31:16]에 연결된 16245 버퍼만이 인에이블(enable) 되며, 데이터의 전송 방향은 R/nW 신호에 의해서 데이터 리드(read)시와 데이터 라이트(write)시에 각각 결정된다.
이때 데이터 라인의 하부 부분인 D[15:0]에 연결된 16245 버퍼는 항상 쓰기 금지(disable)된다.
그리고 DMA(Direct Memory Access) 전송시의 동작은 다음과 같다.
먼저, DMA 전송 시에는 DMA 제어부의 제어 레지스터를 구성한다.
이때 DMA 전송 사이즈는 16 비트로 DMA 전송 모드는 단일 번지 모드로 한다.
메모리(10)에서 주변기기(20)로의 전송인 경우 소스 번지 레지스터, 또는 주변기기(20)에서 메모리(10)로의 전송인 경우 수신지(destination) 번지 레지스터에 메모리의 번지를 입력하고 전송카운터 레지스터 등을 셋팅한 후, DMA 전송을 시작한다.
이때 매립형 제어부(40)는 외부로부터의 DMA 전송 요청신호인 DREQ가 액티브되기를 기다리게 된다.
그리고 주변기기(20)는 DMA 전송 모드로 셋팅되고, 이어 주변기기(20)는 상 기 DREQ 신호를 액티브시킨다.
이 DREQ 신호를 받은 매립형 제어부(40)는 버스의 제어권을 얻은 후 DMA 확인응답(acknowledge)신호인 DACK를 주변기기(20)로 전송하고 매립형 제어부(40)내의 메모리 제어부에 DRAM의 번지 및 전송 사이즈가 16 비트라는 신호를 인가한다.
동시에 DMA 스페이스 펑션(space function) 코드 FC3, 리드/라이트(read/write) 신호 R/nW, 그리고 번지 라인 신호 A1 등이 칩 외부로 릴리스(release)된다.
이때 상기 메모리 제어부는 DRAM 메모리(10)의 데이터 버스선이 32 비트로 셋팅되어 있기 때문에 메모리(10)에 대한 DMA 리드 사이클 시(메모리에서 주변기기로 전송)에는 번지 라인 A1/A0의 값을 무시하고 모든 열 번지 스트로브(column address strobe) 신호인 CAS들을 액티브 시킴으로써 메모리(10)에 대한 32 비트 액세스를 하게 된다.
동시에 버퍼 제어부(31)는 입력되는 FC3(=='1'), A1, R/nW(=='1') 신호로부터 A1의 값에 따라 A1=='0'일 경우에는 OE1='1', OE2='0'을 출력하고, A1=='1'일 경우에는 OE1='0', OE2='1'을 출력한다.
그리고 DIR을 '0'으로 출력함으로써 멀티플렉스 버퍼부(32)를 제어하여 유효한 데이터 버스(D[31:16] 또는 D[15:0])를 통하여 16 비트 데이터를 전송하게 된다.
이어 매립형 제어부(40)는 다음 DMA 사이클을 수행하고, 이때 액세스될 메모리 번지를 2 증가시키고 위와 같은 순서로 이루어진다.
이와 같은 DAM 동작이 DMA 카운터 레지스터의 카운터 값이 '0'이 될 때까지 계속 반복된다.
즉, 실시예를 통해서 간단하게 설명하면 메모리(10)에서 주변기기(20)로의 전송은 상기 메모리(10)를 데이터 버스선이 16 비트를 갖는 제 1 메모리와 제 2 메모리로 각각 분리한다.
이때 제 1 메모리 또는 제 2 메모리 중 어느 하나는 데이터를 저장시키고 다른 하나는 공백으로 두는 종래의 방법은 메모리의 낭비를 초래하였으므로, 이를 해결하기 위해 본 발명에서는 제 1 메모리와 제 2 메모리에 각각 데이터를 저장한다.
즉, 16 비트 단위로 전송될 데이터가 '1','2','3', ... '8','9','10'이라고 가정할 경우 제 1 메모리에 '1','3','5','7','9'를 저장하고 제 2 메모리에는 '2','4','6','8','10'을 각각 저장하여 상기 버퍼 제어부(31)에서 발생된 OE1==1 신호에 의해 멀티플렉스 버퍼부(32)에서 제 1 메모리의 데이터 '1','3','5','7','9'를 주변기기(20)로 전송한다.
그리고 OE2==1 신호에 의해 멀티플렉스 버퍼부(32)에서 제 2 메모리의 데이터 '2','4','6','8','10'을 주변기기(20)로 전송한다.
이때 주변기기(20)로의 32비트 전송은 두 번의 리드 사이클 동안에 데이터 전송이 이루어진다.
그리고 주변기기(20)에서 메모리(10)로의 전송은 메모리(10)에서 주변기기(20)로의 전송과 반대 과정을 거쳐 메모리(10)에 저장되며 이때도 32비트 데이터의 두 번의 라이트 사이클 동안에 이루어진다.
따라서 메모리(10)에는 공백 영역이 없어지고 빠른 시간동안에 주변기기(20)와의 데이터 리드(read) 또는 라이트(write)가 이루어진다.
도 7 은 본 발명에 따른 DMA 데이터 전송시에 만들어지는 신호들의 타이밍도로, 편의상 두 번의 메모리(10)에서 주변기기(20)로의 DMA 전송 사이클과, 두 번의 주변기기(20)에서 메모리(10) DMA 전송 사이클을 하나의 버스트(burst)로 가정하여 나타낸 것이다.
따라서, 4 바이트(==32 비트)의 연속된 데이터를 전송하는 것을 가정하면, 이중 번지 모드 DMA 전송을 사용한 경우는 한번의 메모리 액세스와 두 번의 주변기기 액세스 등 모두 세 번의 DMA 사이클이 필요한 반면에, 본 발명에서 고안된 회로를 이용한 단일 번지 모드 DMA 전송은 두 번의 DMA 사이클이면 전송이 완료되기 때문에 이중 번지 모드 DMA 전송에 비해 빠른 전송효과를 얻을 수 있다.
도 8은 32 비트의 데이터 버스선을 갖는 메모리(10a)와 8 비트의 데이터 버스선을 갖는 주변기기(20)간의 DMA 전송을 위한 신호의 연결도이며, 이때의 OE1 내지 OE4 및 DIR 신호의 논리식은 다음과 같다.
[논리식 2]
OE1 = (!FC3 & !nCS)#(FC3 & !A1 & !A0);
OE2 = FC3 & !A1 & A0;
OE3 = FC3 & A1 & !A0;
OE4 = FC3 & !A1 & !A0;
DIR = (!FC3 & !R/nW)#(FC3 & R/nW);
그리고 동작 설명은 상기 32 비트의 데이터 버스선을 갖는 메모리(10)와 16 비트의 데이터 버스선을 갖는 주변기기(20)간의 DMA 전송 설명과 동일하므로 생략한다.
이상에서 설명한 바와 같은 본 발명에 따른 단일 번지 모드를 사용한 DMA 전송 장치는 다음과 같은 효과가 있다.
첫째, 32 비트의 데이터 버스선을 갖는 메모리와 16 비트의 데이터 버스선을 갖는 주변기기간의 단일 번지 모드 DMA 전송을 구현할 수 있으며, 상대적으로 기존에 사용하던 이중 번지 모드 DMA 전송보다 빠르게 데이터를 전송할 수 있으므로 DMA 전송률을 개선하는 효과가 있다.
둘째, 16 비트의 호스트 인터페이스를 갖는 DTV 준비 칩(ready chip)에 적용하면 시스템의 성능을 높일 수 있는 효과를 볼 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (2)

  1. 서로 상이한 비트 사이즈의 데이터 버스선을 갖는 메모리와 주변기기간 데이터 전송에 있어서,
    상기 주변기기에 연결된 데이터 버스선의 비트 사이즈에 대응되도록 다수 개의 영역으로 분리되고, 상기 각 분리된 메모리 영역에 데이터를 순차적으로 리드(read) 또는 라이트(write)하는 메모리와,
    상기 메모리와 주변기기사이에 위치하여 상기 다수 개의 영역으로 분리된 메모리와 주변기기간 전송되는 데이터의 리드 또는 라이트를 상기 메모리의 다수 개의 영역 각각에 연결된 데이버 버스선의 비트 사이즈와 일치시켜 인터페이스하는 복수의 버퍼로 이루어진 멀티플렉스 버퍼부를 포함하여 구성됨을 특징으로 하는 단일 번지 모드를 사용한 DMA 전송 장치.
  2. 제 1 항에 있어서,
    상기 단일 번지 모드를 사용한 DMA 전송 장치는,
    상기 멀티플렉스 버퍼부를 제어하기 위한 신호를 생성하는 버퍼 제어부와,
    상기 버퍼 제어부로 상기 버퍼 제어부에서 액세스하는 상기 메모리의 번지 정보와 전송 비트 사이즈 정보를 전송함으로써 상기 메모리와 주변기기간의 데이터 전송을 제어하는 매립형 제어부를 더 포함하여 구성됨을 특징으로 하는 단일 번지 모드를 사용한 DMA 전송 장치.
KR1019990067412A 1999-12-30 1999-12-30 단일 번지 모드를 사용한 dma 전송 장치 KR100662275B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990067412A KR100662275B1 (ko) 1999-12-30 1999-12-30 단일 번지 모드를 사용한 dma 전송 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990067412A KR100662275B1 (ko) 1999-12-30 1999-12-30 단일 번지 모드를 사용한 dma 전송 장치

Publications (2)

Publication Number Publication Date
KR20010059875A KR20010059875A (ko) 2001-07-06
KR100662275B1 true KR100662275B1 (ko) 2007-01-02

Family

ID=19634521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990067412A KR100662275B1 (ko) 1999-12-30 1999-12-30 단일 번지 모드를 사용한 dma 전송 장치

Country Status (1)

Country Link
KR (1) KR100662275B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032116A (ko) * 1996-10-18 1998-07-25 윤종용 Dma 컨트롤러의 기업 및 독출버퍼를 통한 동시적 데이터 전송

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032116A (ko) * 1996-10-18 1998-07-25 윤종용 Dma 컨트롤러의 기업 및 독출버퍼를 통한 동시적 데이터 전송

Also Published As

Publication number Publication date
KR20010059875A (ko) 2001-07-06

Similar Documents

Publication Publication Date Title
EP0392657B1 (en) System providing cache coherent direct memory access between dissimilar bus systems
US5379384A (en) Configuration data loopback in a bus bridge circuit
US5647057A (en) Multiple block transfer mechanism
US20040107265A1 (en) Shared memory data transfer apparatus
US5890012A (en) System for programming peripheral with address and direction information and sending the information through data bus or control line when DMA controller asserts data knowledge line
KR19990022324A (ko) 주변 소자 상호연결 버스상의 버스트 전송 시스템및 방법
JPH03129548A (ja) デュアル・ポート・メモリとその通信方法
US5088028A (en) Lock converting bus-to-bus interface system
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US6742142B2 (en) Emulator, a data processing system including an emulator, and method of emulation for testing a system
US20070043910A1 (en) Memory control apparatus executing prefetch instruction
KR100662275B1 (ko) 단일 번지 모드를 사용한 dma 전송 장치
US6996655B1 (en) Efficient peer-to-peer DMA
KR20010013137A (ko) 통신 dma 장치
US6681279B1 (en) Method of performing bus arbitration between control chips in a chipset with preemptive capability
US20010002481A1 (en) Data access unit and method therefor
EP0391537B1 (en) Lock converting bus-to-bus interface system
US6442643B1 (en) System and method for resolving data transfer incompatibilities between PCI and Non-PCI buses
KR100441996B1 (ko) 직접 메모리 액세스 제어기 및 제어 방법
EP0982661A1 (en) System for connecting a computer to a plurality of I/O means
KR100606698B1 (ko) 인터페이스 장치
KR19990008189A (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기 시간을 감소시키는 방법 및 장치
KR100690597B1 (ko) 이중모드 직접메모리접근을 지원하는 중앙처리장치를이용한 단일모드 직접메모리접근 구현 방법
JP2006195810A (ja) メモリコントローラおよび高速データ転送方法
KR100240923B1 (ko) 정보 처리 시스템 내의 버스상에 결합된 내부 장치들간의 통신을 위한 방법 및 그 정보 처리 시스템

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20090929

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee