KR20000065450A - 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법 - Google Patents

버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법 Download PDF

Info

Publication number
KR20000065450A
KR20000065450A KR1019990011751A KR19990011751A KR20000065450A KR 20000065450 A KR20000065450 A KR 20000065450A KR 1019990011751 A KR1019990011751 A KR 1019990011751A KR 19990011751 A KR19990011751 A KR 19990011751A KR 20000065450 A KR20000065450 A KR 20000065450A
Authority
KR
South Korea
Prior art keywords
data
data bus
bus
external device
memory
Prior art date
Application number
KR1019990011751A
Other languages
English (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 KR1019990011751A priority Critical patent/KR20000065450A/ko
Publication of KR20000065450A publication Critical patent/KR20000065450A/ko

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
    • 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

데이터 버스 인터페이스에 있어서, 특히 일정 데이터 버스폭을 갖는 시스템과 이 시스템과 다른 데이터 버스폭을 갖는 외부 디바이스를 인터페이스하여 보다 효율적인 직접 메모리 접근(Direct Memory Access ; 이하, DMA 라 약칭함) 전송을 하기 위한 버스 인터페이스 시스템 및 방법에 관한 것으로, 시스템이 갖는 소정 비트의 데이터 버스에 대해 이와 다른 비트의 데이터 버스를 갖는 외부 디바이스와, 상기 시스템의 데이터 버스를 통해 상기 외부 디바이스로 임의의 데이터를 직접 전송하기 위한 비트 영역이 할당되는 메모리와, 상기 할당된 메모리 영역의 해당 데이터를 읽어 내어 외부에서 제공되는 제어신호에 의해 멀티플렉싱한 후 상기 외부 디바이스의 데이터 버스에 인터페이스 해주기 위한 버스 인터페이스부를 포함하여 구성되는 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법에 관한 것이다.

Description

버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법{Bus Interface System and Bus Interface Method using the system}
본 발명은 데이터 버스 인터페이스에 관한 것으로, 특히 일정 데이터 버스폭을 갖는 시스템과, 이 시스템과 다른 데이터 버스폭을 갖는 외부 디바이스를 인터페이스하여 보다 효율적인 DMA 전송을 하기 위한 버스 인터페이스 시스템 및 이를 이용한 버스 인터페이스 방법에 관한 것이다.
최근 고성능 칩 개발을 위한 제조 공정의 발전과 소프트웨어 개발자들의 성능 향상 요구에 따라 32비트의 시스템 데이터 버스를 가지는 임베디드 컨트롤러(Embedded Controller)들이 개발되어 사용되고 있다.
임베디드 컨트롤러는 프로세서와 주변 디바이스들을 하나의 칩에 구현한 것으로, 기본적으로 중앙 처리 장치(이하, CPU 라 약칭함), 메모리 컨트롤러, DMA 컨트롤러 및 데이터 버스 멀티플렉서 등이 하나의 칩에 내장되어 있다.
이렇게 32비트 데이터 버스를 가지는 임베디드 컨트롤러(Embedded Controller)는 내부에 스위칭을 위한 데이터 버스 멀티플렉서(multiplexor)를 가지고 있기 때문에, CPU와 DMA 컨트롤러로 구성된 내부 버스 마스터(bus master)로 하여금 외부 디바이스의 8비트, 16비트 및 32비트의 모든 데이터를 최적으로 읽어내기/써넣기(read/write) 할 수 있도록 해 준다.
이러한 임베디드 컨트롤러를 포함하고 있는 시스템에서 메모리와 외부 디바이스 사이의 데이터 전송은 보통 CPU와 같은 연산 제어 장치를 통해 이루어진다.
그런데 이들 메모리와 외부 디바이스간 데이터 전송에 CPU를 사용할 경우에는 프로그램에 대한 연산 처리가 지연되므로, 필요에 따라 DMA이라는 방식을 사용하여 메모리와 외부 디바이스가 데이터를 직접 주고받도록 한다.
DMA는 CPU와 같은 연산 제어 장치를 경유하지 않고 외부 디바이스와 메모리가 직접 데이터를 주고받도록 하는 방식을 말하며, 이 DMA 전송을 위해서는 DMA 컨트롤러를 사용한다.
DMA 컨트롤러는 CPU와 독립적으로 동작하는 제어 회로로써, 데이터 버스(Data bus)를 통해 외부 디바이스가 직접 메모리의 데이터를 읽어내기(read) 할 수 있도록 하며 또한 직접 메모리에 써넣기(write)를 할 수 있도록 제어한다.
DMA 컨트롤러는 입출력 기능을 수행하는데 필요한 CPU의 부담을 줄여 주는 것이 주된 목적이기 때문에, CPU의 동작을 방해하지 않고 데이터 입출력 기능을 수행토록 해준다.
따라서, 시스템은 CPU의 성능을 저하시키지 않고 메모리와 외부 디바이스간에 인터페이스 할 수 있다.
도 1 은 종래 기술에 따른 DMA 전송을 위한 시스템 구성의 일 예를 나타낸 블록구성도이며, 도 2 는 이 시스템 구성에 따른 DMA 전송 타이밍도이다.
도 1에 도시된 시스템은 32비트 데이터 버스를 가지는 임베디드 컨트롤러(Embedded Controller)(1)에 16비트 데이터 버스를 가지는 외부 디바이스인 비디오 디스플레이 프로세서(이하, VDP 라 약칭함)를 연결하여, 이 VDP(2)와 32비트씩 할당되는 메모리(3)간에 DMA 전송하는 구성을 보인 것이다.
먼저 VDP(2)는 DMA 전송을 시작하기 위한 요청 신호로 'nDMA_REQ'를 임베디드 컨트롤러(1)에 전달한다. 이 때 도 2의 DMA 전송 타이밍도처럼 'nDMA_REQ'를 "0"으로 어서트(Assert) 한다고 하자.
그러면 임베디드 컨트롤러(1)내에 내장된 DMA 컨트롤러(미도시)는 내부에 초기화시켜 놓은 어드레스의 해당 메모리 데이터를 VDP(2)로 하여금 읽어 내도록 한다.
이 때 메모리의 데이터를 읽어 내기 위한 메모리 어드레스(N, N+4, … , N+16, N+20)는 응답 신호 'nDMA_ACK'에 맞추어 VDP(2)에 전달되며, 또한 데이터 읽어내기(read)를 위한 타이밍(Timing)도 응답 신호 'nDMA_ACK'에 따른다.
결국 VDP(2)는 응답 신호 'nDMA_ACK'의 상승 모서리(rising edge)에서 메모리(3)의 데이터를 읽어내기(read) 한다.
도 2의 타이밍도를 살펴보면, DMA 전송을 위한 요청 신호 'nDMA_REQ'가 로우(Low)가 된 후 응답 신호 'nDMA_ACK'가 일정 타이밍 동안 주기적으로 로우/하이(Low/High)를 반복한다.
이렇게 응답 신호 'nDMA_ACK'가 주기적으로 로우/하이(Low/High)를 반복할 때, 로우(Low)에서 하이(High)로 바뀌는 시점(rising edge)에서의 어드레스(N)에 해당하는 32비트 데이터를 메모리(3)로부터 읽어 내며, 이후 데이터 버스와 연결된 VDP(2)에 해당 데이터(d0)를 전달한다.
다음에 응답 신호 'nDMA_ACK'가 로우(Low)에서 하이(High)로 바뀌는 시점(rising edge)에서의 어드레스(N+4)에 해당하는 32비트 데이터를 메모리(3)로부터 읽어낸 후 데이터 버스와 연결된 VDP(2)에 해당 데이터(d1)를 전달하며, 다음에 계속 응답 신호 'nDMA_ACK'에 의한 일정 타이밍 동안 DMA 전송이 수행된다.
그런데 도 1에 도시된 것과 같이 임베디드 컨트롤러(1)와 메모리(3)는 32비트 데이터 버스폭을 갖지만 VDP(2)가 16비트 데이터 버스폭을 가지므로, 메모리(3)와 VDP(2)간 DMA 전송을 하고자 할 때 VDP(2)는 데이터 버스에 32비트 버스의 최상위(MSB : Most Significant Bit) 16비트 또는 최하위(LSB : Least Significant Bit) 16비트만을 연결하여야 한다.
따라서 VDP(2)는 한 번의 DMA 전송을 할 때마다 메모리(3)에서 읽어낸 32비트 데이터 중 절반을 버려야 한다.
여기서는 VDP(2)가 데이터 버스에 최상위(MSB) 16비트 "D(31:16)"을 연결하였으며, 이에 따른 VDP(2)와 DMA 전송하기 위한 어드레스(N, N+4, … , N+16, N+20)와 메모리(3)의 데이터 영역 구성을 도 3에 도시하였다.
도 3 은 종래 기술에 따른 DMA 전송을 위한 어드레스와 메모리 데이터 영역의 구성을 나타낸 도면이다.
종래의 시스템에서는 메모리(3)로부터 VDP(2)로 DMA 전송을 하기 위해 32비트의 메모리 영역을 할당하였다.
따라서 매 번 DMA 전송되는 메모리(3)의 데이터는 각각 32비트 데이터 버스폭(D0∼D31)으로 데이터 버스를 통하게 된다.
그러나, VDP(2)가 데이터 버스에 최상위(MSB) 16비트 "D(31:16)"만을 연결하고 있는 상태이므로, 메모리(3)로부터 읽어낸 32비트 데이터 중 최하위(LSB) 16비트 "D(15:0)" 는 버려야 한다.
이는 DMA 전송을 위해 메모리(3)로부터 읽어낸 데이터를 임베디드 컨트롤러(1) 내부의 데이터 버스 멀티플렉서를 이용하여 스위칭 할 수 없기 때문인데, 예를 들면 16Kbyte의 데이터를 VDP(2)로 DMA 전송하기 위해 메모리(3)는 32Kbyte를 할당하게 된다.
즉 실제 VDP(2)에 연결되는 데이터량(16비트)의 2배에 해당되는 메모리를 구성해야 한다는 것이다.
이와 같이 종래 시스템에서는 메모리가 16비트 데이터 버스를 가지는 외부 디바이스와 DMA 전송할 때마다 32비트를 할당하여 사용하는 구성을 가졌으므로 그만큼의 메모리 낭비를 초래하였다.
즉, 메모리와 외부 디바이스가 가지는 데이터 버스폭이 달라지면, 그만큼 DMA 전송을 위해 할당되는 메모리가 비효율적으로 사용된다는 것이다.
또한, DMA 전송시 데이터를 저장할 메모리의 양이 매번 외부 디바이스에서 필요로 하는 데이터 양에 비해 많기 때문에, 메모리에 데이터를 준비하기 위한 절차가 복잡해지며 메모리의 데이터 준비 시간 또한 늘어나게 된다.
본 발명의 목적은 이와 같은 문제점을 개선하기 위해 안출한 것으로, 메모리에서 읽어낸 데이터를 외부 디바이스로 DMA 전송할 때, 데이터 버스를 통하는 데이터를 외부 디바이스에 효율적으로 인터페이스 해주기 위한 버스 인터페이스 시스템 및 이를 이용한 버스 인터페이스 방법을 제공하기 위한 것이다.
도 1 은 종래 기술에 따른 DMA 전송을 위한 시스템 구성의 일 예를 나타낸 블록구성도.
도 2 는 종래 기술에 따른 DMA 전송에 대한 타이밍도.
도 3 은 종래 기술에 따른 DMA 전송을 위한 어드레스와 메모리 데이터 영역의 구성을 나타낸 도면.
도 4 는 본 발명에 따른 DMA 전송을 위한 버스 인터페이스 시스템 구성을 나타낸 블록구성도.
도 5 는 본 발명에 따른 버스 인터페이스 시스템에서 멀티플렉싱을 위한 제어신호 생성회로의 구성을 나타낸 도면.
도 6 은 본 발명에 따른 버스 인터페이스 시스템에서 전송 타입에 따른 전송 방향을 결정하기 위한 전송 제어신호 생성 회로의 구성을 나타낸 도면.
도 7 은 본 발명에 따른 버스 인터페이스 시스템의 메모리 데이터 영역의 구성을 나타낸 도면.
도 8 은 본 발명에 따른 버스 인터페이스 시스템의 전송 타이밍도.
*도면의 주요부분에 대한 부호의 설명*
10 : 임베디드 컨트롤러(Embedded Controller)
20 : 비디오 디스플레이 프로세서(Video Display Processor)
30 : 메모리 40 : 버스 인터페이스부
41 : 멀티플렉서 42, 43 : 버퍼
상기한 목적을 달성하기 위한 본 발명에 따른 버스 인터페이스 시스템의 특징은, 시스템이 갖는 소정 비트의 데이터 버스에 대해 이와 다른 비트의 데이터 버스를 갖는 외부 디바이스와, 상기 시스템의 데이터 버스를 통해 상기 외부 디바이스로 임의의 데이터를 직접 전송하기 위한 비트 영역이 할당되는 메모리와, 상기 할당된 메모리 영역의 해당 데이터를 읽어 내어 외부에서 제공되는 제어신호에 의해 멀티플렉싱한 후 상기 외부 디바이스의 데이터 버스에 인터페이스 해주기 위한 버스 인터페이스부를 포함하여 구성된다는 것이다.
또한 상기한 목적을 달성하기 위한 본 발명에 따른 버스 인터페이스 방법의 특징은, 임베디드 컨트롤러의 제어에 따라 외부 디바이스와 메모리가 소정 비트의 시스템 데이터 버스를 통해 인터페이스 함에 있어서, 상기 외부 디바이스가 상기 임베디드 컨트롤러에 직접 메모리 접근 전송을 요청하는 단계와, 상기 요청 후 상기 임베디드 컨트롤러의 응답에 따라 할당되는 해당 메모리 영역의 데이터를 일정 주기로 읽어 내는 단계와, 상기 일정 주기로 읽어낸 상기 시스템 데이터 버스상의 데이터를 멀티플렉싱하는 단계를 포함하여 이루어진다는 것이다.
이하, 본 발명에 따른 버스 인터페이스 시스템 및 이를 이용한 버스 인터페이스 방법에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.
도 4 는 본 발명에 따른 DMA 전송을 위한 버스 인터페이스 시스템 구성을 나타낸 블록구성도이다.
도 4를 참조하면, 도시된 시스템은 32비트 데이터 버스를 가지는 임베디드 컨트롤러(Embedded Controller)(10)에 16비트 데이터 버스를 가지는 외부 디바이스인 VDP(20)를 연결하여, 이 VDP(20)와 32비트 메모리(30)간에 DMA 전송하는 구성을 보인 것이다.
특히 본 발명의 버스 인터페이스 시스템에서는 메모리(30)로부터 읽어낸 데이터를 VDP(20)로 전달하기 위해 여러 제어신호(cn1, cn2, cn3)를 사용하는 버스 인터페이스부(40)를 구비한다.
여기서 버스 인터페이스부(40)에는 도 5에 도시된 멀티플렉싱 제어신호 생성회로로부터 제공되는 멀티플렉싱 제어신호(cn1)에 의해 데이터 버스의 최상위(MSB) 16비트 "D(31:16)"와 최하위(LSB) 16비트 "D(15:0)를 각각 스위칭하여 VDP(20)에 연결 해주는 멀티플렉서(41)가 포함되어 있다.
즉 멀티플렉서(41)는 메모리(30)에서 VDP(20)로 데이터를 직접 전송할 때, 32비트 시스템 버스의 최상위(MSB) 16비트와 최하위(LSB) 16비트를 멀티플렉싱 제어신호(cn1)에 의해 멀티플렉싱(multiplexing)한 후 16비트 데이터로 만들어 VDP(20)에 전달해 준다.
본 발명의 시스템 구성에 따른 DMA 전송은 종래의 DMA 전송에서와 같이 VDP(20)가 DMA 전송을 시작하기 위한 요청 신호로 'nDMA_REQ'를 임베디드 컨트롤러(10)에 전달한다. 이 때도 종래와 같이 'nDMA_REQ'를 "0"으로 어서트(Assert) 한다.
이후 데이터를 읽어 내기 위한 메모리(30)의 어드레스는 응답 신호 'nDMA_ACK'에 맞추어 VDP(20)에 전달되며, 또한 데이터 읽어 내기 위한 타이밍(Timing)도 DMA 컨트롤러(미도시)가 VDP(20)에 전달하는 응답 신호 'nDMA_ACK'에 따른다.
도 5 는 본 발명에 따른 버스 인터페이스 시스템에서 멀티플렉싱을 위한 제어신호 생성 회로의 구성을 나타낸 도면이며, 이 멀티플렉싱 제어신호 생성 회로에서 생성된 멀티플렉싱 제어신호(cn1)에 의한 멀티플렉서(41)의 출력 관계를 표 1에 나타내었다.
nDMA_ACK A1 cn1 멀티플렉서 출력
0 0 0 D(31:16)
0 1 1 D(15:0)
1 0 0 D(31:16)
1 1 0 D(31:16)
도 5를 참조하면, DMA 컨트롤러(미도시)가 VDP(20)에 전달하는 응답 신호 'nDMA_ACK'가 부정 게이트(NOT Gate)를 통과한 후 논리곱 게이트(AND Gate)에 입력된다.
이와 동시에 DMA 전송을 위한 요청 신호 'nDMA_REQ'에 대한 응답 신호 'nDMA_ACK'가 일정 타이밍 동안 로우/하이(Low/High)를 반복할 때 응답 신호 'nDMA_ACK'가 로우(Low)에서 하이(High)로 바뀌는 시점(rising edge)마다 로우(Low)에서 하이(High)로 또는 하이(High)에서 로우(Low)로 바뀌는 'A1' 신호가 논리곱 게이트(AND Gate)에 입력된다.
이에 따라 멀티플렉싱 제어신호 생성 회로의 논리곱 게이트(AND Gate)는 이들 두 입력으로부터 멀티플렉싱 제어신호(cn1)를 생성하여 도 4에 도시된 버스 인터페이스부(40)의 멀티플렉서(41)에 제공한다.
표 1에 나타난 멀티플렉싱 제어신호(cn1)에 의한 멀티플렉서(41)의 출력 관계를 살펴보면, 응답 신호 'nDMA_ACK'가 하이(High)를 계속 유지할 때 즉 '1'일 때는 데이터 버스에 최상위(MSB) 16비트 "D(31:16)"만을 연결시키고, 응답 신호 'nDMA_ACK'가 로우(Low)를 일정 타이밍 동안 반복할 때 즉 '0'일 때는 멀티플렉싱 제어신호 생성 회로의 논리곱 게이트(AND Gate)에 입력되는 'A1' 신호값에 따라 데이터 버스에 최상위(MSB) 16비트 "D(31:16)"와 최하위(LSB) 16비트 "D(15:0)"을 연결시킨다.
이는 응답 신호 'nDMA_ACK'가 하이(High)를 계속 유지할 때는 DMA 전송이 아니며, 응답 신호 'nDMA_ACK'가 로우(Low)를 일정 타이밍 동안 반복할 때는 DMA 전송이기 때문이다.
따라서 응답 신호 'nDMA_ACK'가 하이(High)를 계속 유지할 때 멀티플렉싱 제어신호(cn1)는 '0'이고, 이에 따라 임베디드 컨트롤러(10)내 CPU의 읽어내기/써넣기(read/write)를 통해 메모리(30) 또는 VDP(20)간 데이터 전송이 이루어진다.
반면에 응답 신호 'nDMA_ACK'가 로우(Low)를 일정 타이밍 동안 반복할 때 멀티플렉싱 제어신호(cn1)는 'A1'신호값에 따르며, 이 멀티플렉싱 제어신호(cn1)에 따라 버스 인터페이스부(40)의 멀티플렉서(41)는 최상위(MSB) 16비트 "D(31:16)" 또는 최하위(LSB) 16비트 "D(15:0)" 의 데이터를 VDP(20)에 전달함으로써 메모리(30)와 VDP(20)간 DMA 전송이 이루어진다. 이에 대한 일 예로써 표 1에서는 멀티플렉싱 제어신호(cn1)가 '0'일 때 최상위(MSB) 16비트 "D(31:16)" 의 데이터를 VDP(20)에 전달하며, 멀티플렉싱 제어신호(cn1)가 '1'일 때 최하위(LSB) 16비트 "D(15:0)" 의 데이터를 VDP(20)에 전달한다.
또한 본 발명에서는 버스 인터페이스부(40)에 의해 세 가지 전송 타입 즉 CPU에 의한 읽어내기(read), CPU에 의한 써넣기(write), DMA 전송이 서로 충돌 없이 이루어지도록 버스 인터페이스부(40)를 구성하고 있는 제1버퍼(42) 및 제2버퍼(43)에 각 전송 제어신호(cn2, cn3)를 사용한다.
상기 나열된 세 가지 각 전송 타입과 각 버퍼(42,43)의 전송 제어신호(cn2, cn3)와의 관계는 표 2에 나타내었으며, 이들 각 전송 제어신호(cn2, cn3)를 생성하기 위한 회로 구성을 도 6에 도시하였다.
전송 타입 전송 방향 cn2 cn3
CPU 읽어내기 메모리→CPU 0 0
VDP→CPU 0 1
CPU 써넣기 CPU→메모리 0 0
CPU→V에 1 1
DMA 전송 메모리→VDP 1 0
표 2에 나타낸 전송 제어신호(cn2, cn3)는 CPU에 의한 읽어내기(read), CPU에 의한 써넣기(write), DMA 전송이 서로 충돌 없이 이루어지도록 각 전송 타입에 따른 적절한 전송 방향으로 데이터 버스를 열어 주기 위한 것으로, 도 4에 도시된 버스 인터페이스부(40)의 각 버퍼(42,43)에 제공된다.
도 6 은 이들 전송 제어신호(cn2, cn3)를 생성하는 회로 구성을 나타낸 도면으로, 여기서 두 개의 논리곱 게이트(AND Gate)에 입력되는 'VDP_CS' 신호는 임베디드 컨트롤러(10)내의 CPU와 VDP(20)간 읽어내기/써넣기(read/write)를 할 때 '1'로 어서트(Assert)되는 칩 선택 신호(Chip Select Signal)이다.
또한 'cn3' 전송 제어신호를 출력하는 논리곱 게이트(AND Gate)에 입력되며 'cn2' 전송 제어신호를 출력하는 논리곱 게이트(AND Gate)에는 부정 게이트(NOT Gate)를 통한 후 입력되는 'RnW' 신호는 임베디드 컨트롤러(10)내의 CPU가 메모리(30) 또는 VDP(20)로부터 데이터를 읽어내기(read) 할 때 '1'로 되고, 반대로 CPU가 메모리(30) 또는 VDP(20)로 데이터를 써넣기(write) 할 때는 '0'으로 되는 신호이다.
그밖에 메모리(30)에서 VDP(20)로 DMA 전송을 할 때 'RnW' 신호는 '1'로 된다.
결국 도 6에 도시된 회로 구성에 따라 출력되는 'cn2' 전송 제어신호는 임베디드 컨트롤러(10)내의 CPU가 VDP(20)로 데이터를 써넣기(write) 할 때와 메모리(30)에서 VDP(20)로 DMA 전송할 때 '1'이 되며, 'cn3' 전송 제어신호는 임베디드 컨트롤러(10)내의 CPU가 VDP(20)로부터 데이터를 읽어내기(read) 할 때 '1'이 된다.
도 7 은 본 발명에 따른 버스 인터페이스 시스템의 메모리 데이터 영역의 구성을 나타낸 도면이며, 도 8 은 본 발명에 따른 버스 인터페이스 시스템의 전송 타이밍도이다.
본 발명에 따른 버스 인터페이스 시스템에서는 도 7에 도시된 바와 같이 동일한 데이터량을 DMA 전송할 때 할당되는 메모리가 절반으로 줄어든다.
즉, 종래의 시스템에서는 메모리가 16비트 데이터 버스를 가지는 외부 디바이스와 DMA 전송할 때마다 32비트를 할당하여 사용하도록 구성되었고 32비트 중 16비트만 사용하고 나머지 16비트는 버려야 했지만, 본 발명에서는 메모리가 16비트 데이터 버스를 가지는 외부 디바이스와 DMA 전송할 때마다 16비트를 할당하여 사용하도록 구성된다.
이상에서 설명한 바와 같이 본 발명의 버스 인터페이스 시스템 및 이를 이용한 버스 인터페이스 방법에 따르면, 메모리가 16비트 데이터 버스를 가지는 외부 디바이스와 DMA 전송할 때마다 16비트를 할당하여 사용하는 구성을 가졌으므로 그만큼의 메모리 양을 줄일 수 있다는 효과가 있다.
이는 메모리와 외부 디바이스가 가지는 데이터 버스폭이 달라지더라도 DMA 전송을 위해 할당되는 메모리가 효율적으로 사용된다는 것이다.
또한, DMA 전송시 외부 디바이스에서 필요로 하는 데이터 양에 비해 데이터를 전달할 메모리의 양이 많을 경우에도, 메모리에 데이터를 준비하기 위한 절차가 단순화되며 메모리의 데이터 준비 시간 또한 줄어들게 된다.

Claims (8)

  1. 시스템이 갖는 소정 비트의 데이터 버스에 대해 이와 다른 비트의 데이터 버스를 갖는 외부 디바이스와,
    상기 시스템의 데이터 버스를 통해 상기 외부 디바이스로 임의의 데이터를 직접 전송하기 위한 비트 영역이 할당되는 메모리와,
    상기 할당된 메모리 영역의 해당 데이터를 읽어 내어 외부에서 제공되는 제어신호에 의해 멀티플렉싱한 후 상기 외부 디바이스의 데이터 버스에 인터페이스 해주기 위한 버스 인터페이스부를 포함하여 구성되는 것을 특징으로 하는 버스 인터페이스 시스템.
  2. 제 1 항에 있어서, 상기 메모리는 상기 외부 디바이스가 갖는 데이터 버스를 통해 매 전송 주기 동안 전달할 수 있는 데이터량에 따라 그 비트 영역이 할당되는 것을 특징으로 하는 버스 인터페이스 시스템.
  3. 제 1 항에 있어서, 상기 버스 인터페이스부는
    전송 주기마다 상기 시스템 데이터 버스상의 해당 데이터를 외부 제어신호에 의해 상기 외부 디바이스의 데이터 버스로 멀티플렉싱 하기 위한 멀티플렉서와,
    상기 시스템 데이터 버스상의 데이터를 외부에서 제공되는 각각의 전송 제어신호에 의해 해당 전송 방향으로 전달해 주기 위한 복수 개의 버퍼를 포함하여 구성되는 것을 특징으로 하는 버스 인터페이스 시스템.
  4. 제 3 항에 있어서, 상기 멀티플렉서는 상기 시스템 데이터 버스의 상위 비트 및 하위 비트에 연결되어 있으며, 상기 연결된 시스템 데이터 버스상의 각 해당 데이터 비트를 상기 전송 주기마다 멀티플렉싱 하는 것을 특징으로 하는 버스 인터페이스 시스템.
  5. 임베디드 컨트롤러의 제어에 따라 외부 디바이스와 메모리가 소정 비트의 시스템 데이터 버스를 통해 인터페이스 함에 있어서,
    상기 외부 디바이스가 상기 임베디드 컨트롤러에 직접 메모리 접근 전송을 요청하는 단계와;
    상기 요청 후 상기 임베디드 컨트롤러의 응답에 따라 할당되는 해당 메모리 영역의 데이터를 일정 주기로 읽어 내는 단계와;
    상기 일정 주기로 읽어낸 상기 시스템 데이터 버스상의 데이터를 멀티플렉싱하는 단계를 포함하여 이루어지는 것을 특징으로 하는 버스 인터페이스 방법.
  6. 제 5 항에 있어서, 상기 읽어내기 단계는, 상기 임베디드 컨트롤러의 응답에 따른 소정의 타이밍 동안 일정 주기로 읽어내는 것을 특징으로 하는 버스 인터페이스 방법.
  7. 제 5 항에 있어서, 상기 멀티플렉싱 단계는, 상기 소정 비트의 시스템 데이터 버스에 대해 상기 외부 디바이스가 이와 다른 비트의 데이터 버스를 갖는 경우, 상기 외부 디바이스의 데이터 버스를 통해 매 주기 동안 전달할 수 있는 데이터량에 따라 상기 메모리 영역의 데이터를 읽어낸 상기 시스템 데이터 버스상의 데이터를 각각 멀티플렉싱하는 것을 특징으로 하는 버스 인터페이스 방법.
  8. 제 5 항에 있어서, 상기 멀티플렉싱 단계는, 상기 소정 비트의 시스템 데이터 버스에 대해 상기 외부 디바이스가 이와 다른 비트의 데이터 버스를 갖는 경우, 상기 시스템 데이터 버스의 상위 비트 및 하위 비트에 각각 해당되는 데이터를 일정 주기에 따라 멀티플렉싱하는 것을 특징으로 하는 버스 인터페이스 방법.
KR1019990011751A 1999-04-03 1999-04-03 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법 KR20000065450A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990011751A KR20000065450A (ko) 1999-04-03 1999-04-03 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990011751A KR20000065450A (ko) 1999-04-03 1999-04-03 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법

Publications (1)

Publication Number Publication Date
KR20000065450A true KR20000065450A (ko) 2000-11-15

Family

ID=19578731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990011751A KR20000065450A (ko) 1999-04-03 1999-04-03 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법

Country Status (1)

Country Link
KR (1) KR20000065450A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390120B1 (ko) * 1999-09-08 2003-07-04 마츠시타 덴끼 산교 가부시키가이샤 신호 처리 장치
KR100394246B1 (ko) * 2000-08-29 2003-08-09 바이코시스템 주식회사 자동제어용 디지탈 신호처리장치 및 그 인터페이스 방법
KR101018080B1 (ko) * 2009-11-26 2011-03-02 주식회사 케피코 디엠에이를 사용한 임베디드 시스템의 메모리 데이터 수집 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5187783A (en) * 1989-03-15 1993-02-16 Micral, Inc. Controller for direct memory access
KR0176087B1 (ko) * 1995-11-21 1999-05-15 양승택 시스템 제어기의 프로세서 데이타 처리회로
KR19990065664A (ko) * 1998-01-15 1999-08-05 구본준 직접 메모리 액세스 제어 장치
KR100231897B1 (ko) * 1996-10-18 1999-12-01 윤종용 디엠에이 채널의 사이즈 데이터를 수신하는 디엠에이 제어회로

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5187783A (en) * 1989-03-15 1993-02-16 Micral, Inc. Controller for direct memory access
KR0176087B1 (ko) * 1995-11-21 1999-05-15 양승택 시스템 제어기의 프로세서 데이타 처리회로
KR100231897B1 (ko) * 1996-10-18 1999-12-01 윤종용 디엠에이 채널의 사이즈 데이터를 수신하는 디엠에이 제어회로
KR19990065664A (ko) * 1998-01-15 1999-08-05 구본준 직접 메모리 액세스 제어 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390120B1 (ko) * 1999-09-08 2003-07-04 마츠시타 덴끼 산교 가부시키가이샤 신호 처리 장치
KR100394246B1 (ko) * 2000-08-29 2003-08-09 바이코시스템 주식회사 자동제어용 디지탈 신호처리장치 및 그 인터페이스 방법
KR101018080B1 (ko) * 2009-11-26 2011-03-02 주식회사 케피코 디엠에이를 사용한 임베디드 시스템의 메모리 데이터 수집 방법

Similar Documents

Publication Publication Date Title
US6151651A (en) Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
EP0646873B1 (en) Single-chip microcomputer
US7424552B2 (en) Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices
US5857083A (en) Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
US5826048A (en) PCI bus with reduced number of signals
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US5970236A (en) Circuit for selectively performing data format conversion
US6202116B1 (en) Write only bus with whole and half bus mode operation
US6754760B1 (en) Programmable interface for a configurable system bus
KR920002831B1 (ko) 데이타 전송 제어 시스템
KR20030056567A (ko) 다중 프로세서와 주변 블록을 갖는 시스템 칩을 위한 버스구조
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
US20040230754A1 (en) Memory system for a radiotelephone
KR20000065450A (ko) 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법
US5517671A (en) System for designating a plurality of I/O devices to a plurality of I/O channels and connecting and buffering the plurality of I/O channels to a single system bus
EP0691616A1 (en) RAM and ROM control unit
KR20040045446A (ko) 버스트 모드를 지원하는 외부 메모리가 있는 인터페이싱프로세서
KR0140571B1 (ko) 버스제어수단을 구비한 다중프로세서시스템
KR100261154B1 (ko) 직접 메모리 액세스 제어 장치
KR910010137B1 (ko) 다이렉트 메모리 액세스 제어장치
KR0155659B1 (ko) 프로세서-노드간 정합장치
KR100379293B1 (ko) 프로세서 사이의 통신 인터페이스와 반도체 집적 회로 장치
JP4642398B2 (ja) 共有バス調停システム
KR100690597B1 (ko) 이중모드 직접메모리접근을 지원하는 중앙처리장치를이용한 단일모드 직접메모리접근 구현 방법
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application