KR101202738B1 - 멀티 채널 데이터 전송 장치 - Google Patents

멀티 채널 데이터 전송 장치 Download PDF

Info

Publication number
KR101202738B1
KR101202738B1 KR1020080131186A KR20080131186A KR101202738B1 KR 101202738 B1 KR101202738 B1 KR 101202738B1 KR 1020080131186 A KR1020080131186 A KR 1020080131186A KR 20080131186 A KR20080131186 A KR 20080131186A KR 101202738 B1 KR101202738 B1 KR 101202738B1
Authority
KR
South Korea
Prior art keywords
register
common
channel
data
configuration data
Prior art date
Application number
KR1020080131186A
Other languages
English (en)
Other versions
KR20100072699A (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 KR1020080131186A priority Critical patent/KR101202738B1/ko
Priority to US12/484,500 priority patent/US20100161849A1/en
Publication of KR20100072699A publication Critical patent/KR20100072699A/ko
Application granted granted Critical
Publication of KR101202738B1 publication Critical patent/KR101202738B1/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

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

Abstract

본 발명은 복수의 채널을 통해 데이터를 전송하는 멀티 채널 데이터 전송 장치에 관한 것이다.
본 발명에 따른 멀티 채널 데이터 전송 장치는 복수의 주변 장치에 각각 연결되는 복수의 채널 제어기; 상기 각각의 채널 제어기의 동작을 제어하기 위한 설정 데이터를 저장하는 복수의 제어 레지스터; 및 상기 복수의 채널 제어기의 전부 또는 일부에 공통으로 적용되는 공통 설정 데이터를 상기 복수의 제어 레지스터의 전부 또는 일부에 전달하는 공통 레지스터 제어부를 포함한다.
본 발명에 따른 멀티 채널 데이터 전송 장치는 멀티 채널 전송시 수반되는 레지스터 설정의 반복을 최소화함으로써 프로세서에 의한 제어 부하를 줄일 수 있고 시스템 버스의 효율을 향상시킬 수 있다.

Description

멀티 채널 데이터 전송 장치{MULTI CHANNEL DATA TRANSFER DEVICE}
본 발명은 복수의 채널을 통해 데이터를 전송하는 멀티 채널 데이터 전송 장치에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다.[과제관리번호:2006-S-006-03, 과제명: 유비쿼터스 단말용 부품/모듈 개발].
멀티미디어 프로세서는 대용량의 데이터를 처리한다. 멀티미디어 프로세서의 성능은 프로세싱 모듈과 메모리 사이의 데이터 전송 속도에 의해 좌우된다. 전송 속도를 향상시키기 위하여 직접 메모리 접근(direct memory access, DMA) 기술이 사용된다.
직접 메모리 접근 기술에서는 데이터 전송에 있어 프로세서가 데이터 전송을 담당하지 않는다. 대신, 별도의 데이터 전송 장치를 이용하여 주변 장치와 메모리 사이에 데이터가 직접 전송된다. 다시 말해서, 직접 메모리 접근 기술에 있어서 프로세서 대신에 DMA 컨트롤러가 데이터의 전송을 담당한다. DMA 컨트롤러의 제어에 의해 메모리와 주변 장치 사이의 데이터 전송이 고속으로 수행된다.
그런데, 최근의 마이크로 프로세서에는 복수의 주변 회로가 연결된다. 예를 들어, 하나의 마이크로 프로세서에 솔리드 스테이트 드라이브(Solid State Drive), 하드 디스크 드라이브(Hard disk drive), DVD-ROM 드라이브, USB 저장 장치(USB storage) 등이 연결될 수 있다. 따라서, 마이크로 프로세서와 복수의 주변 회로 사이에서 이루어지는 데이터 전송의 효율화가 요구된다. 이를 해결하기 위하여 복수의 전송 채널을 가지는 멀티 채널 데이터 전송 장치가 사용된다. 멀티 채널 데이터 전송 장치에 있어서, 각각의 주변 회로는 서로 다른 채널을 사용하여 메모리로 데이터를 전송한다.
그런데, 멀티 채널 데이터 전송에 있어서, 각각의 채널의 동작을 제어하기 위해서는 각각의 채널마다 구비된 제어 레지스터들을 설정할 것이 요구된다. 복수의 제어 레지스터들을 설정하기 위해서는 긴 시간이 요구되기 때문에 시스템의 성능이 저하된다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 멀티 채널 전송시 수반되는 레지스터 설정의 반복을 최소화함으로써 프로세서에 의한 제어 부하를 줄이고 시스템 버스의 효율을 향상시키는 데 있다.
본 발명에 따른 멀티 채널 데이터 전송 장치는 복수의 주변 장치에 각각 연결되는 복수의 채널 제어기; 상기 각각의 채널 제어기의 동작을 제어하기 위한 설 정 데이터를 저장하는 복수의 제어 레지스터; 및 상기 복수의 채널 제어기의 전부 또는 일부에 공통으로 적용되는 공통 설정 데이터를 상기 복수의 제어 레지스터의 전부 또는 일부에 전달하는 공통 레지스터 제어부를 포함한다.
실시 예로서, 상기 공통 레지스터 제어부는 외부로부터 설정 데이터를 입력받는 공통 레지스터; 상기 공통 레지스터에 저장된 상기 설정 데이터로부터 공통 설정 데이터를 생성하는 공통 레지스터 제어기; 및 상기 공통 레지스터 제어기의 제어에 따라 상기 공통 설정 데이터를 상기 복수의 제어 레지스터의 전부 또는 일부에 전달하는 선택 회로를 포함한다.
다른 실시 예로서, 상기 공통 레지스터 제어기는 상기 설정 데이터를 참조하여 상기 공통 설정 데이터가 적용될 채널 및 하위 채널에 관한 정보를 분석하고 제어 신호를 생성하는 공통 조건 분석기; 상기 제어 신호 및 상기 설정 데이터에 응답하여 채널을 선택하는 채널 선택기; 및 상기 제어 신호 및 상기 설정 데이터에 응답하여 어드레스를 생성하는 어드레스 연산기를 포함한다.
다른 실시 예로서, 상기 공통 레지스터는 상기 공통 설정 데이터가 사용될 채널 및 하위 채널에 관한 정보를 저장하는 레지스터를 포함한다. 상기 공통 레지스터는 상기 설정 데이터 중 어떤 데이터가 복수의 채널에 사용될지 여부를 지시하는 레지스터를 포함한다. 상기 공통 레지스터는 복수의 채널에 사용될 상기 설정 데이터를 저장하는 레지스터를 포함한다. 상기 공통 레지스터는 상기 설정 데이터 중 어떤 데이터가 복수의 하위 채널에 사용될지 여부를 지시하는 레지스터를 포함한다. 상기 공통 레지스터는 복수의 하위 채널에 사용될 데이터를 저장하는 레지스 터를 포함한다.
다른 실시 예로서, 상기 공통 레지스터는 상기 공통 설정 데이터가 사용될 채널 및 하위 채널에 관한 정보를 저장하는 제 1 레지스터; 상기 설정 데이터 중 어떤 데이터가 복수의 채널에 사용될지 여부를 지시하는 제 2 레지스터; 복수의 채널에 사용될 상기 설정 데이터를 저장하는 제 3 레지스터; 상기 설정 데이터 중 어떤 데이터가 복수의 하위 채널에 사용될지 여부를 지시하는 제 4 레지스터; 및 복수의 하위 채널에 사용될 데이터를 저장하는 제 5 레지스터를 포함한다.
다른 실시 예로서, 상기 공통 레지스터 제어기는 상기 제 1, 제 2, 및 제 4 레지스터를 참조하여 상기 공통 설정 데이터가 적용될 채널 및 하위 채널에 관한 정보를 분석하고 제어 신호를 생성하는 공통 조건 분석기를 포함한다. 상기 공통 레지스터 제어기는 상기 제 3 및 제 5 레지스터와 상기 제어 신호에 응답하여 채널을 선택하는 채널 선택기를 더 포함한다.
본 발명에 따른 멀티 채널 데이터 전송 장치는 멀티 채널 전송시 수반되는 레지스터 설정의 반복을 최소화함으로써 프로세서에 의한 제어 부하를 줄일 수 있고 시스템 버스의 효율을 향상시킬 수 있다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 멀티 채널 데이터 전송 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 용도에 따라 수정되거나 변경될 수 있다.
일반적인 프로세서는 주변 장치에 데이터를 쓰거나 읽음으로써 주변 장치를 제어한다. 프로세서는 주변 장치를 제어하기 위해서 로컬 버스(local bus)를 사용한다. 그런데 음향 데이터 또는 영상 데이터의 용량은 크기 때문에 주변 장치에 데이터를 저장하거나 주변 장치로부터 데이터를 읽기 위해서는 많은 시간이 요구된다. 결국, 프로세서가 로컬 버스를 사용하는 시간이 증가한다.
주변 장치에 데이터를 저장하기 위해서는 다음의 과정들이 수행된다. 첫째, 주변 장치에 저장될 데이터를 메모리로부터 프로세서 내의 레지스터로 읽어들인다. 둘째, 프로세서 내의 레지스터에 저장된 데이터를 주변 장치에 저장한다.
그런데, 프로세서가 이러한 과정을 제어하기 때문에 프로세서는 다른 작업을 수행할 수 없게 된다. 이는 컴퓨터 시스템의 속도를 저하시킨다. 이러한 문제점을 해결하기 위하여 직접 메모리 접근 기술이 등장하였다.
도 1은 직접 메모리 접근 기술을 이용한 컴퓨터 시스템의 일반적인 구조를 보여주는 블록도이다. 도 1을 참조하면, 컴퓨터 시스템(100)은 프로세서(110), DMA 컨트롤러(120), 메모리(130), 그리고 입출력 장치(140)를 포함한다.
메모리(130)에서 입출력 장치(140)로 데이터를 전송하기 위해 프로세서(110)는 전송될 데이터의 주소와 전송 대상이 되는 입출력 장치(140)의 주소를 DMA 컨트롤러(120)에 전달한다. 또한, 프로세서(110)는 전송될 데이터의 크기를 DMA 컨트롤러(120)에 전달한다. 그리고 프로세서(110)는 DMA 컨트롤러(120)에 데이터 전송 명령을 전달한다.
프로세서(110)로부터 전송 명령이 전달되면 DMA 컨트롤러(120)는 프로세서(110)에 로컬 버스의 제어권을 요구한다. 프로세서(110)가 로컬 버스의 제어권을 DMA 컨트롤러(120)에 넘긴 후, DMA 컨트롤러(120)는 메모리(130)와 입출력 장치(140) 사이의 데이터 전송을 제어한다. 이때, 데이터 전송은 DMA 컨트롤러(120)에 의한 명령 해석을 요하지 않기 때문에 고속으로 수행된다. 데이터 전송이 끝나면 DMA 컨트롤러(120)는 로컬 버스의 제어권을 프로세서(110)에게 반납하고 프로세서(110)에 데이터 전송이 완료되었음을 알리는 인터럽트를 전달한다.
그런데, 최근의 미디어 프로세서 등에서는 데이터 전송의 효율화가 요구되고 있다. 데이터 전송의 효율성을 향상시키기 위하여 복수의 전송 채널을 가지는 멀티 채널 데이터 전송 장치가 사용된다.
일반적인 멀티 채널 데이터 전송 장치는 복수의 전송 채널을 포함한다. 각각의 전송 채널은 제어 레지스터와 채널 제어기를 포함한다. 각각의 제어 레지스터는 수신된 설정 데이터에 따라 채널 제어기를 제어한다. 이러한 방법에 의할 경우 복 수의 제어 레지스터를 설정하기 위해서 긴 시간이 요구된다. 이는 프로세서의 동작시간을 뺏는 문제점을 야기한다.
그런데, 대용량의 데이터를 메모리로부터 복수의 주변 장치로 전송하거나 대용량의 데이터를 복수의 주변 장치로부터 메모리로 전송하는 경우, 각 제어 레지스터의 설정을 위한 설정 데이터들(어드레스, 어드레스 오프셋, 전송 방향, 데이터 폭, 전송 사이즈, 반복 횟수 등)의 대부분이 동일하다.
본 발명에 있어서, 복수의 제어 레지스터를 설정하기 위한 설정 데이터 중 공통되는 설정 데이터들이 공통 레지스터에 저장된다. 공통 레지스터 제어기는 공통 레지스터에 저장된 설정 데이터를 분석하여 각 채널의 제어 레지스터에 설정 데이터를 전달한다. 따라서, 프로세서는 각각의 제어 레지스터마다 설정 데이터를 전달할 필요가 없게 된다. 결국, 프로세서에 의한 제어 레지스터 설정에 소요되는 연산 시간이 최소화되어 멀티미디어 프로세서의 성능을 향상시키는 것이 가능하다.
도 2는 본 발명에 따른 멀티 채널 데이터 전송 장치를 보여주는 블록도이다. 도 2를 참조하면, 본 발명에 따른 멀티 채널 데이터 전송 장치(300)는 레지스터 제어기(321), 제 1 선택 회로(322), 공통 레지스터(323), 공통 레지스터 제어기(324), 제 2 선택 회로(325), 그리고 복수의 전송 채널을 포함한다.
각각의 전송 채널은 제어 레지스터(326_1~326_n)와 채널 제어기(327_1~327_n)를 포함한다. 공통 레지스터(323), 공통 레지스터 제어기(324), 그리고 제 2 선택 회로(325)는 공통 레지스터 제어부(320)를 형성한다.
프로세서(310)는 각 채널의 동작을 제어하기 위한 제어 값(소스 어드레스, 목적지 어드레스, 오프셋 값, 전송 횟수, 전송 반복 값, 채널 활성화 값, 전송 방향, 데이터 폭, 활성화 서브 채널 수 등)을 버스를 통해 레지스터 제어기(321)에 전달한다.
레지스터 제어기(321)는 제 1 선택 회로(322)에 설정 데이터와 제어 신호를 전달한다. 설정 데이터는 각 채널의 동작 조건을 설정하기 위한 데이터이다. 제어 신호는 설정 데이터가 저장될 제어 레지스터를 지시한다.
제 1 선택 회로(322)는 제어 신호에 응답하여 복수의 제어 레지스터(326_1~326_n) 중 하나에 설정 데이터를 전달한다. 각각의 제어 레지스터(326_1~326_n)는 설정 데이터에 따라 대응하는 채널 제어기(327_1~327_n)를 제어한다.
또는, 제 1 선택 회로(322)는 제어 신호에 응답하여 공통 레지스터(323)에 설정 데이터를 전달한다. 공통 레지스터(323)는 설정 데이터를 분석하고, 공통 설정 데이터와 공통 제어 신호를 제 2 선택 회로(325)에 전달한다. 공통 설정 데이터는 복수의 채널의 설정을 위해 사용되는 설정 데이터이다. 공통 제어 신호는 공통 설정 데이터가 저장될 제어 레지스터를 지시한다.
제 2 선택 회로(325)는 공통 제어 신호에 응답하여 복수의 제어 레지스터(326_1~326_n)에 공통 설정 데이터를 전달한다. 각각의 제어 레지스터(326_1~326_n)는 공통 설정 데이터에 따라 채널 제어기를 제어한다.
상술한 바와 같이, 각 채널에 공통으로 사용되는 설정 데이터는 공통 레지스터 제어기(324)의 제어에 의해 복수의 제어 레지스터(326_1~326_n)에 동시에 전달 된다. 따라서, 프로세서(310)에 의해 각각의 채널에 설정 데이터가 순차적으로 전달됨으로써 야기되는 성능 저하가 방지될 수 있다.
도 3은 도 2에 도시된 공통 레지스터 및 공통 레지스터 제어기를 자세히 보여주는 블록도이다. 도 3을 참조하면, 공통 레지스터(323)는 제 1 내지 제 5 레지스터(323_1~323_5)를 포함한다.
제 1 레지스터(323_1)는 공통 설정 데이터가 사용될 채널 및 하위 채널에 관한 정보를 저장한다. 제 2 레지스터(323_2)는 설정 데이터 중 어떤 데이터가 복수의 채널에 사용될지 여부를 지시한다. 제 3 레지스터(323_3)는 복수의 채널에 사용될 설정 데이터를 저장하기 위한 레지스터이다. 제 4 레지스터(323_4)는 설정 데이터 중 어떤 데이터가 복수의 하위 채널에 사용될지 여부를 지시한다. 제 5 레지스터(323_5)는 복수의 하위 채널에 사용될 데이터를 저장하기 위한 레지스터이다. 제 1 내지 제 5 레지스터(323_1~323_5)는 후술 될 도면을 참조하여 자세히 설명될 것이다.
공통 레지스터 제어기(324)는 공통 조건 분석기(324_1), 채널 선택기(324_2), 그리고 어드레스 연산기(324_3)를 포함한다. 공통 조건 분석기(324_1)는 제 1 레지스터(323_1), 제 2 레지스터(323_2), 및 제 4 레지스터(323_4)를 참조하여 제어 신호를 생성한다. 제어 신호는 공통 설정 데이터가 사용될 채널을 지시한다. 생성된 제어 신호는 채널 선택기(324_2)와 어드레스 연산기(324_3)에 전달된다.
채널 선택기(324_2)는 제어 신호에 응답하여 공통 제어 신호를 생성한다. 공 통 제어 신호는 제 2 선택 회로(325)에 전달된다. 또한, 채널 선택기(324_2)는 제 3 레지스터(323_3) 및 제 5 레지스터(323_5)를 참조하여 공통 설정 데이터를 생성한다. 공통 설정 데이터는 어드레스 연산기(324_3) 및 제 2 선택 회로(325)에 전달된다.
어드레스 연산기(324_3)는 공통 조건 분석기(324_1)로부터의 제어 신호와 채널 선택기(324_2)로부터의 공통 설정 데이터를 참조하여 어드레스를 생성한다. 일반적으로 주변 장치들의 어드레스 오프셋은 동일하기 때문에 어드레스 연산기(324_3)는 채널 선택기(324_2)로부터 전달된 초기 어드레스를 참조하여 어드레스를 생성할 수 있다. 결국, 반복되는 어드레스 데이터가 감소됨으로써 시스템의 성능이 향상될 수 있다.
공통 레지스터 제어기(324)에서 출력된 공통 설정 데이터와 공통 제어 신호는 제 2 선택 회로(325)에 전달된다. 제 2 선택 회로(325)는 공통 제어 신호를 참조하여 복수의 제어 레지스터(326_1~326_n)에 공통 설정 데이터를 전달한다. 각각의 제어 레지스터(326_1~326_n)는 공통 설정 데이터를 참조하여 대응하는 채널 제어기를 설정할 것이다.
또한, 본 발명에 따른 제어 레지스터(326_1~326_n)는 각각 복수의 하위 채널용 제어 레지스터를 포함한다. 하나의 채널은 복수의 하위 채널로 구분될 수 있다. 이때, 각각의 하위 채널은 독립적으로 사용되기 때문에 서로 다른 설정 데이터가 요구된다. 따라서, 하위 채널마다 요구되는 설정 데이터들을 저장하기 위해 복수의 하위 채널용 제어 레지스터들이 구비된다.
도 4 내지 도 8은 도 3에 도시된 제 1 내지 제 5 레지스터를 자세히 보여주는 도면이다.
도 4는 도 3에 도시된 제 1 레지스터를 자세히 보여주는 도면이다. 제 1 레지스터는 공통 설정 데이터가 사용될 채널 및 하위 채널에 관한 정보를 저장한다. 예를 들어, 항목(Ch1_flag)가 활성화되면, 제 1 채널에 공통 설정 데이터가 전송되고, 제 1 채널은 공통 설정 데이터를 이용하여 채널을 제어기를 제어할 것이다.
도 5는 도 3에 도시된 제 2 레지스터를 자세히 보여주는 도면이다. 제 2 레지스터는 설정 데이터 중 어떤 데이터가 복수의 채널에 사용될지 여부를 지시한다. 예를 들어, 항목(Com_Ch_Src_Add_flag)가 활성화되면, 데이터가 저장된 장소를 나타내는 소스 어드레스가 복수의 채널에 전송될 것이다.
도 6은 도 3에 도시된 제 3 레지스터를 자세히 보여주는 도면이다. 제 3 레지스터는 복수의 채널에 사용될 설정 데이터를 저장하기 위한 레지스터이다.
도 7은 도 3에 도시된 제 4 레지스터를 자세히 보여주는 도면이다. 제 4 레지스터는 설정 데이터 중 어떤 데이터가 복수의 하위 채널에 사용될지 여부를 지시한다. 예를 들어, 항목(Com_SubCh_Src_Add_flag)가 활성화되면, 데이터가 저장된 장소를 나타내는 소스 어드레스가 복수의 하위 채널에 전송될 것이다.
도 8는 도 3에 도시된 제 5 레지스터를 자세히 보여주는 도면이다. 제 5 레지스터는 복수의 하위 채널에 사용될 데이터를 저장하기 위한 레지스터이다.
상술한 바와 같이, 멀티 미디어 프로세서와 복수의 전송 채널을 사용하는 복잡한 시스템에서 DMA 컨트롤러는 멀티 채널 데이터 전송 장치로서 동작한다. 그러 나, 멀티 채널 데이터 전송을 위해서는 외부 프로세서가 채널마다 구비된 제어 레지스터들을 설정해야 하고 이는 시스템의 성능 저하를 야기한다.
본 발명은 멀티 채널 데이터 전송 장치에 있어서 멀티 채널 전송 시 수반되는 반복적인 레지스터 설정을 최소화함으로써 프로세서에 부과되는 작업량을 줄이고 시스템 버스 효율을 높일 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
도 1은 직접 메모리 접근 기술을 이용한 컴퓨터 시스템의 일반적인 구조를 보여주는 블록도이다.
도 2는 본 발명에 따른 멀티 채널 데이터 전송 장치를 보여주는 블록도이다.
도 3은 도 3에 도시된 공통 레지스터 및 공통 레지스터 제어기를 자세히 보여주는 블록도이다.
도 4 내지 도 8은 도 3에 도시된 제 1 내지 제 5 레지스터를 자세히 보여주는 도면이다.

Claims (11)

  1. 삭제
  2. 삭제
  3. 복수의 주변 장치에 각각 연결되는 복수의 채널 제어기;
    상기 각각의 채널 제어기의 동작을 제어하기 위한 설정 데이터를 저장하는 복수의 제어 레지스터; 및
    공통 레지스터 제어부를 포함하고,
    상기 공통 레지스터 제어부는 외부로부터 설정 데이터를 입력받는 공통 레지스터, 상기 공통 레지스터에 저장된 상기 설정 데이터로부터 공통 설정 데이터를 생성하는 공통 레지스터 제어기, 및 상기 공통 레지스터 제어기의 제어에 따라 상기 복수의 채널 제어기의 전부 또는 일부에 공통으로 적용되는 상기 공통 설정 데이터를 상기 복수의 제어 레지스터의 전부 또는 일부에 전달하는 선택 회로를 포함하고,
    상기 공통 레지스터 제어기는 상기 설정 데이터를 참조하여 상기 공통 설정 데이터가 적용될 채널 및 하위 채널에 관한 정보를 분석하고 제어 신호를 생성하는 공통 건 분석기, 상기 제어 신호 및 상기 설정 데이터에 응답하여 채널을 선택하는 채널 선택기, 및 상기 제어 신호 및 상기 설정 데이터에 응답하여 어드레스를 생성하는 어드레스 연산기를 포함하는 멀티 채널 데이터 전송 장치.
  4. 제 3 항에 있어서,
    상기 공통 레지스터는 상기 공통 설정 데이터가 사용될 채널 및 하위 채널에 관한 정보를 저장하는 레지스터를 포함하는 멀티 채널 데이터 전송 장치.
  5. 제 3 항에 있어서,
    상기 공통 레지스터는 상기 설정 데이터 중 어떤 데이터가 복수의 채널에 사용될지 여부를 지시하는 레지스터를 포함하는 멀티 채널 데이터 전송 장치.
  6. 제 3 항에 있어서,
    상기 공통 레지스터는 복수의 채널에 사용될 상기 설정 데이터를 저장하는 레지스터를 포함하는 멀티 채널 데이터 전송 장치.
  7. 제 3 항에 있어서,
    상기 공통 레지스터는 상기 설정 데이터 중 어떤 데이터가 복수의 하위 채널에 사용될지 여부를 지시하는 레지스터를 포함하는 멀티 채널 데이터 전송 장치.
  8. 제 3 항에 있어서,
    상기 공통 레지스터는 복수의 하위 채널에 사용될 데이터를 저장하는 레지스터를 포함하는 멀티 채널 데이터 전송 장치.
  9. 제 3 항에 있어서,
    상기 공통 레지스터는
    상기 공통 설정 데이터가 사용될 채널 및 하위 채널에 관한 정보를 저장하는 제 1 레지스터;
    상기 설정 데이터 중 어떤 데이터가 복수의 채널에 사용될지 여부를 지시하는 제 2 레지스터;
    복수의 채널에 사용될 상기 설정 데이터를 저장하는 제 3 레지스터;
    상기 설정 데이터 중 어떤 데이터가 복수의 하위 채널에 사용될지 여부를 지시하는 제 4 레지스터; 및
    복수의 하위 채널에 사용될 데이터를 저장하는 제 5 레지스터를 포함하는 멀티 채널 데이터 전송 장치.
  10. 제 9 항에 있어서,
    상기 공통 레지스터 제어기는
    상기 제 1, 제 2, 및 제 4 레지스터를 참조하여 상기 공통 설정 데이터가 적용될 채널 및 하위 채널에 관한 정보를 분석하고 제어 신호를 생성하는 공통 조건 분석기를 포함하는 멀티 채널 데이터 전송 장치.
  11. 제 10 항에 있어서,
    상기 공통 레지스터 제어기는 상기 제 3 및 제 5 레지스터와 상기 제어 신호에 응답하여 채널을 선택하는 채널 선택기를 더 포함하는 멀티 채널 데이터 전송 장치.
KR1020080131186A 2008-12-22 2008-12-22 멀티 채널 데이터 전송 장치 KR101202738B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080131186A KR101202738B1 (ko) 2008-12-22 2008-12-22 멀티 채널 데이터 전송 장치
US12/484,500 US20100161849A1 (en) 2008-12-22 2009-06-15 Multi channel data transfer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131186A KR101202738B1 (ko) 2008-12-22 2008-12-22 멀티 채널 데이터 전송 장치

Publications (2)

Publication Number Publication Date
KR20100072699A KR20100072699A (ko) 2010-07-01
KR101202738B1 true KR101202738B1 (ko) 2012-11-20

Family

ID=42267739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131186A KR101202738B1 (ko) 2008-12-22 2008-12-22 멀티 채널 데이터 전송 장치

Country Status (2)

Country Link
US (1) US20100161849A1 (ko)
KR (1) KR101202738B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101706201B1 (ko) 2010-12-15 2017-02-15 한국전자통신연구원 다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법
CN102622308B (zh) * 2012-02-23 2014-12-24 深圳市硅格半导体有限公司 多通道的管理方法及管理系统
KR102270791B1 (ko) * 2014-12-10 2021-06-29 삼성전자주식회사 매크로 명령어를 처리하는 방법 및 장치
KR102319402B1 (ko) * 2015-06-30 2021-11-01 에스케이하이닉스 주식회사 복수의 채널들을 통해 반도체 메모리 장치들을 제어하는 메모리 시스템
US10346324B2 (en) * 2017-02-13 2019-07-09 Microchip Technology Incorporated Devices and methods for autonomous hardware management of circular buffers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060441A1 (en) * 2001-03-27 2005-03-17 Schmisseur Mark A. Multi-use data access descriptor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944800A (en) * 1997-09-12 1999-08-31 Infineon Technologies Corporation Direct memory access unit having a definable plurality of transfer channels
JP2003114864A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd データ転送制御回路
JP2004021613A (ja) * 2002-06-17 2004-01-22 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
KR100633742B1 (ko) * 2003-12-23 2006-10-13 한국전자통신연구원 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
US20050262276A1 (en) * 2004-05-13 2005-11-24 Ittiam Systamc (P) Ltd. Design method for implementing high memory algorithm on low internal memory processor using a direct memory access (DMA) engine
US7689732B2 (en) * 2006-02-24 2010-03-30 Via Technologies, Inc. Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels
JP4855864B2 (ja) * 2006-08-11 2012-01-18 富士通セミコンダクター株式会社 ダイレクトメモリアクセスコントローラ
KR100959136B1 (ko) * 2008-07-16 2010-05-25 한국전자통신연구원 직접 메모리 접근 제어기 및 직접 메모리 접근 채널의데이터 전송 방법
US8099528B2 (en) * 2008-09-30 2012-01-17 Apple Inc. Data filtering using central DMA mechanism

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060441A1 (en) * 2001-03-27 2005-03-17 Schmisseur Mark A. Multi-use data access descriptor

Also Published As

Publication number Publication date
KR20100072699A (ko) 2010-07-01
US20100161849A1 (en) 2010-06-24

Similar Documents

Publication Publication Date Title
US8661188B2 (en) Parallel flash memory controller, chip and control method thereof
US7779215B2 (en) Method and related apparatus for accessing memory
JP5657641B2 (ja) データストレージデバイスのコマンド及び割り込みのグループ化
CN100568187C (zh) 一种用于对调试消息进行掩码的方法和装置
KR0142175B1 (ko) 다중 채널 디엠에이 동작을 지원하기 위한 회로 아키텍처
JP4560646B2 (ja) ハブベースのメモリシステムにおけるダイレクトメモリアクセス用の装置および方法
EP2565794A2 (en) Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
KR101202738B1 (ko) 멀티 채널 데이터 전송 장치
KR20080069272A (ko) 단일 및 통합 커맨드를 모두 구비한 메모리 시스템
US7970960B2 (en) Direct memory access controller and data transmitting method of direct memory access channel
JP2007128633A (ja) 半導体記憶装置及びこれを備えた送受信システム
US20080301381A1 (en) Device and method for controlling commands used for flash memory
US7836240B2 (en) Interface arrangement for a system on a chip suitable for outputting higher-frequency signals for operating peripheral devices, and use thereof
EP1639480A2 (en) System and method for selectively affecting data flow to or from a memory device
US7376762B2 (en) Systems and methods for direct memory access
US20090276545A1 (en) Memory module with configurable input/output ports
US7774513B2 (en) DMA circuit and computer system
GB2377138A (en) Ring Bus Structure For System On Chip Integrated Circuits
US20050055488A1 (en) Method and related apparatus for controlling data transmission in a memory
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
US7984212B2 (en) System and method for utilizing first-in-first-out (FIFO) resources for handling differences in data rates between peripherals via a merge module that merges FIFO channels
US20060248240A1 (en) Multi mode dma controller with transfer packet preprocessor
CN115658566B (zh) 一种实现多通道数据流均衡的方法和系统
CN100419851C (zh) 移动终端及用于控制该移动终端的系统和方法
JP2752834B2 (ja) データ転送装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee