• 검색 결과가 없습니다.

(19) 대한민국특허청(KR) (12) 공개특허 ... - 한국전자통신연구원

N/A
N/A
Protected

Academic year: 2024

Share "(19) 대한민국특허청(KR) (12) 공개특허 ... - 한국전자통신연구원"

Copied!
13
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

(19) 대한민국특허청(KR) (12) 공개특허공보(A)

(11) 공개번호 10-2010-0008575 (43) 공개일자 2010년01월26일 (51) Int. Cl.

G06F 12/06 (2006.01) G06F 12/08 (2006.01) G06F 13/00 (2006.01)

(21) 출원번호 10-2008-0069127 (22) 출원일자 2008년07월16일 심사청구일자 2008년07월16일

(71) 출원인

한국전자통신연구원

대전 유성구 가정동 161번지 (72) 발명자

천익재

대전광역시 중구 태평동 551 버드내APT 207-904 석정희

대전광역시 유성구 가정동 한국전자통신연구원 기 숙사 2동 122호

(뒷면에 계속) (74) 대리인

권혁수, 송윤호, 오세준 전체 청구항 수 : 총 9 항

(54) 직접 메모리 접근 제어기 및 직접 메모리 접근 채널의데이터 전송 방법 (57) 요 약

본 발명에 따른 직접 메모리 접근 제어기는: 복수의 직접 메모리 접근 채널들을 각각 갖는 복수의 채널 그룹들;

및 채널 그룹 단위로 직접 메모리 접근 채널들의 활성화를 제어하는 채널 그룹 제어기를 포함하되, 상기 채널 그 룹 제어기는 데이터 전송시 상기 복수의 채널 그룹들 중 적어도 하나의 채널 그룹의 직접 메모리 접근 채널을 활 성화시키는 것을 특징으로 한다.

대 표 도 - 도1

(2)

(72) 발명자 노태문

대전광역시 유성구 신성동 한울APT 107-202호

김종대

대전광역시 유성구 용산동 666 우림필유APT 1211-1002

(3)

특허청구의 범위 청구항 1

복수의 직접 메모리 접근 채널들을 각각 갖는 복수의 채널 그룹들; 및

채널 그룹 단위로 직접 메모리 접근 채널들의 활성화를 제어하는 채널 그룹 제어기를 포함하되,

상기 채널 그룹 제어기는 데이터 전송시 상기 복수의 채널 그룹들 중 적어도 하나의 채널 그룹의 직접 메모리 접근 채널을 활성화시키는 것을 특징으로 하는 직접 메모리 접근 제어기.

청구항 2

제 1 항에 있어서,

상기 접근 채널들의 직접 메모리 접근 채널들은 각각 듀얼 포트 인터페이스를 제공하는 것을 특징으로 하는 직 접 메모리 접근 제어기.

청구항 3

제 1 항에 있어서,

상기 직접 메모리 접근 채널들 각각은 물리적으로 독립된 것을 특징으로 하는 직접 메모리 접근 제어기.

청구항 4

제 1 항에 있어서, 상기 채널 그룹 제어기는,

상기 직접 메모리 접근 제어기에 연결된 외부의 프로세서들이 상기 복수의 직접 메모리 접근 채널들을 모두 제 어할 수 있도록 구현되는 것을 특징으로 하는 직접 메모리 접근 제어기.

청구항 5

제 1 항에 있어서,

상기 채널 그룹들은 m(여기서, m은 2 이상의 정수)개이고, 상기 채널 그룹 제어기는,

n(여기서, n은 2 이상의 정수)개의 프로세서들이 상기 m개의 채널 그룹들 중 어느 하나에 연결되도록 스위칭하 는 크로스바 스위치;

상기 n개의 프로세서들이 상기 크로스바 스위치를 통하여 연결되고, 상기 m개의 채널 그룹들 각각의 직접 메모 리 채널들을 제어하기 위한 레지스터를 설정하거나 및 제어를 수행하기 위한 레지스터 설정 및 제어 블록들; 및 상기 레지스터 설정 및 제어 블록들 각각에 연결되고, 상기 채널 그룹들의 각각의 직접 메모리 채널들을 제어하 기 위한 정보를 저장하는 레지스터들이 포함된 레지스터 뱅크들을 포함하는 직접 메모리 접근 제어기.

청구항 6

제 5 항에 있어서,

상기 메모리 직접 접근 채널들 각각은 물리적으로 하나이지만 복수의 하위 채널들로 설정되어 활성화되는 것을 특징으로 하는 직접 메모리 접근 제어기.

청구항 7

제 6 항에 있어서,

상기 직접 메모리 접근 제어기는 대용량 데이터 전송시 하나의 하위 채널 레지스터 셋을 설정함으로 데이터 전 송에 필요한 하위 채널들이 자동으로 활성화되도록 하는 것을 특징으로 하는 직접 메모리 접근 제어기.

(4)

청구항 8

직접 메모리 접근 채널의 데이터 전송 방법에 있어서:

데이터 전송시 상기 직접 메모리 접근 채널의 상기 복수의 하위 채널 중 어느 하나의 하위 채널 레지스터 셋을 설정하는 단계;

상기 설정된 하위 채널 레지스터 셋에 따라 하위 채널을 활성화하는 단계; 및 활성화된 하위 채널을 따라 데이터가 전송되는 단계를 포함하되,

데이터 전송시 나머지 하위 채널들은 상기 하위 채널 레지스터 셋의 설정에 따라 자동으로 활성화되는 것을 특 징으로 하는 데이터 전송 방법.

청구항 9

제 8 항에 있어서,

복수의 블록 데이터 전송시 상기 복수의 하위 채널 레지스터 셋들을 설정하는 것을 특징으로 하는 데이터 전송 방법.

명 세 서

발명의 상세한 설명 기 술 분 야

본 발명은 직접 메모리 접근 제어기 및 직접 메모리 접근 채널의 데이터 전송 방법에 관한 것이다.

<1>

배 경 기 술

실시간 멀티미디어 어플리케이션은 점점 중요해 지고 있다. 이 어플리케이션들은 초당 수천 메가비트의 데이터

<2>

와 같은 매우 빠른 처리속도를 요구한다. 빠른 처리속도를 위하여 어떤 처리 시스템은 단일 처리 시스템을 사용 하기도 하고, 다른 것들은 멀티 프로세싱 구조를 사용한다. 멀티 프로세싱 시스템에 있어서 대부분의 서브 프로 세서(sub-proccesor)는 요구되는 처리 결과를 얻기 위하여 병렬 상태 혹은 적어도 협력하여 동작한다.

최근, 최첨단 컴퓨터 어플리케이션들은 점점 더 복잡해짐으로 처리 시스템에 대한 증가하는 요구를 대체한다.

<3>

이에 따라 더 빠른 컴퓨터 데이터 처리량에 대한 요구가 많아지고 있다. 일례로 그래픽 어플리케이션들은 요구 되는 결과를 달성하기 위해 상대적으로 짧은 시간 내에 광대한 양의 데이터 접근, 데이터 계산, 데이터 조작을 필요로 한다. 이 때문에 그래픽 어플리케인션들은 처리 시스템에 대하여 가장 높은 요구를 필요로 한다.

어떤 처리 시스템에 있어서는 직접 메모리 접근(direct memory access, DMA)기술이 사용된다. 이러한 시스템의

<4>

컴퓨터 구조는 데이터가 데이터 전송에 있어서 어떠한 마이크로프로세서를 포함하지 않고 장치와 메모리 사이에 데이터를 직접 전송토록 한다. 이러한 구조는 통상적으로 데이터 전송을 야기하는 시스템 장치로부터 데이터 전 송 명령을 받기 위한 메모리 컨트롤러(memory controller)를 포함한다. 종래의 DMA 명령은 데이터 블록 크기, 데이터가 전송되는 시스템 메모리 내에 있는 시작 가상 주소, 데이터가 전송되는 장치의 시작 주소를 특정한다.

종래의 DMA 기술은 비직접 메모리 접근(non-direct memory access) 기술과 비교하여 처리속도를 증가시킬 수 있

<5>

었으나, 그럼에도 불구하고 여러가지 제한을 갖고 있다. 예를 들어, 멀티 프로세싱 시스템을 사용하는 그래픽 처리와 같은 계산 어플리케이션에 있어서, 한 개 이상의 서브 프로세서(sub-proccesor)가 필요하다.그러나, 이 러한 서브 프로세서는 모든 DMA 데이터 전송을 달성하기 위해 많은 DMA 명령을 생성함으로 프로세서에 부담을 주고 처리능력을 떨어뜨린다. 또한, 종래 DMA 기술에서는 DMA 제어기(direct memory access controller)가 주 변 장치와 메모리 사이의 데이터 전송을 제어한다. 하지만, 최근의 미디어 프로세서 등에서는 독립된 복수의 버 스에 연결된 메모리 사이에서 이루어지는 DMA 전송의 효율화가 요구되고 있다.

발명의 내용

해결 하고자하는 과제

(5)

본 발명의 목적은 신호처리 장치와 메모리 사이 혹은 메모리와 메모리 사이의 대용량 데이터의 전송요청을 빠르

<6>

게 처리하기 위하여 채널 제어 특성이 향상된 직접 메모리 접근 제어기(DMAC)를 제공하는 데 있다.

또한, 본 발명의 목적은 손쉽게 대용량 데이터의 효율적인 전송이 가능한 복수의 신호처리 장치들을 포함한 시

<7>

스템 온칩(System on chip)의 데이터 직접 전송 방법을 제공하는데 있다.

또한, 본 발명의 목적은 독립된 복수의 버스들 각각에 연결된 메모리들 사이의 DMA 데이터 전송을 효율적으로

<8>

실행하는 데이터 전송 방법을 제공하는데 있다.

과제 해결수단

본 발명에 따른 직접 메모리 접근 제어기는: 복수의 직접 메모리 접근 채널들을 각각 갖는 복수의 채널

<9>

그룹들; 및 채널 그룹 단위로 직접 메모리 접근 채널들의 활성화를 제어하는 채널 그룹 제어기를 포함하되, 상 기 채널 그룹 제어기는 데이터 전송시 상기 복수의 채널 그룹들 중 적어도 하나의 채널 그룹의 직접 메모리 접 근 채널을 활성화시키는 것을 특징으로 한다.

실시 예에 있어서, 상기 접근 채널들의 직접 메모리 접근 채널들은 각각 듀얼 포트 인터페이스를 제공하는 것을

<10>

특징으로 한다.

실시 예에 있어서, 상기 직접 메모리 접근 채널들 각각은 물리적으로 독립된 것을 특징으로 한다.

<11>

실시 예에 있어서, 상기 채널 그룹 제어기는, 상기 직접 메모리 접근 제어기에 연결된 외부의 프로세서들이 상

<12>

기 복수의 직접 메모리 접근 채널들을 모두 제어할 수 있도록 구현되는 것을 특징으로 한다.

실시 예에 있어서, 상기 채널 그룹들은 m(여기서, m은 2 이상의 정수)개이고, 상기 채널 그룹 제어기는, n(여기

<13>

서, n은 2 이상의 정수)개의 프로세서들이 상기 m개의 채널 그룹들 중 어느 하나에 연결되도록 스위칭하는 크로 스바 스위치; 상기 n개의 프로세서들이 상기 크로스바 스위치를 통하여 연결되고, 상기 m개의 채널 그룹들 각각 의 직접 메모리 채널들을 제어하기 위한 레지스터를 설정하거나 및 제어를 수행하기 위한 레지스터 설정 및 제 어 블록들; 및 상기 레지스터 설정 및 제어 블록들 각각에 연결되고, 상기 채널 그룹들의 각각의 직접 메모리 채널들을 제어하기 위한 정보를 저장하는 레지스터들이 포함된 레지스터 뱅크들을 포함한다.

실시 예에 있어서, 상기 메모리 직접 접근 채널들 각각은 물리적으로 하나이지만 복수의 하위 채널들로 설정되

<14>

어 활성화되는 것을 특징으로 한다.

실시 예에 있어서, 상기 직접 메모리 접근 제어기는 대용량 데이터 전송시 하나의 하위 채널 레지스터 셋을 설

<15>

정함으로 데이터 전송에 필요한 하위 채널들이 자동으로 활성화되도록 하는 것을 특징으로 한다.

본 발명에 따른 직접 메모리 접근 채널의 데이터 전송 방법은: 데이터 전송시 상기 직접 메모리 접근 채널의 상

<16>

기 복수의 하위 채널 중 어느 하나의 하위 채널 레지스터 셋을 설정하는 단계; 상기 설정된 하위 채널 레지스터 셋에 따라 하위 채널을 활성화하는 단계; 및 활성화된 하위 채널을 따라 데이터가 전송되는 단계를 포함하되, 데이터 전송시 나머지 하위 채널들은 상기 하위 채널 레지스터 셋의 설정에 따라 자동으로 활성화되는 것을 특 징으로 한다.

실시 예에 있어서, 복수의 블록 데이터 전송시 상기 복수의 하위 채널 레지스터 셋들을 설정하는 것을 특징으

<17>

로 한다.

효 과

본 발명에 따른 직접 메모리 접근 제어기(DMAC)는 복수의 프로세서들에 의해 동시에 복수의 DMA 채널들을 제어

<18>

함으로 대용량 블록 데이터를 전송한다. 이로써 대용량 블록 데이터 전송시 프로세서의 제어 부하가 줄어들게 된다.

그 결과로써 많은 대용량 멀티미디어 데이터 전송 및 멀티 프로세서를 갖는 시스템에서의 데이터 전송에 있어서

<19>

빠른 DMA 전송 제어 특성을 제공할 수 있다.

발명의 실시를 위한 구체적인 내용

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수

<20>

있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.

(6)

본 발명에 따른 직접 메모리 접속 제어기(Direct Memory Access Controller: 이하 'DMAC'이라고 함)는 직접 메

<21>

모리 접근 채널들을 복수의 채널 그룹들로 구분하고, 구분된 복수의 채널 그룹들 중 적어도 하나 이상의 채널 그룹에 속하는 직접 메모리 접근 채널이 활성화되도록 구현된다. 이로써, 복수의 프로세서들은 본 발명의 DMAC 를 이용하여 서로 다른 채널 그룹의 DMA 채널을 동시에 제어할 수 있게 된다. 또한, 본 발명에 따른 DMAC를 이 용한 시스템 온칩에서는 대용량 블록 데이터 전송시 프로세서의 제어 부하가 줄어들게 된다.

도 1은 본 발명에 따른 DMAC(200)를 갖는 시스템 온칩(10)을 보여주는 도면이다. 도 1을 참조하면, 시스템 온칩

<22>

(10)은 프로세서들(110,120), DMAC(200), 및 데이터 저장 장치들(311~318,321~328)을 포함한다. 여기서 데이터 저장 장치들에는 메모리 및 시스템 내부에 데이터 저장이 가능한 신호처리 장치들이 포함될 것이다. 이때 이러 한 저장장치들은 DMA 채널에 연결될 수 있는 데이터 전송 버스를 통해 연결될 수도 있다. 본 발명의 DMAC(200) 는 복수의 DMA 채널들이 그룹핑되어 제어되도록 구현된다. 도 1에 도시된 바와 같이 DMAC(200)에는 2개의 프로 세서들(110,120)이 연결되어 있고, 2개의 채널 그룹들(220,230)로 구분된 복수의 DMA 채널들(221~224,231~23 4)을 포함한다. 하지만 본 발명의 DMAC(200)가 반드시 2개의 프로세서들에 연결되고, 2개의 DMA 그룹 채널들을 포함한다고 국한될 필요가 없다는 것은 당업자에게 자명하다.

프로세서들(110,120) 각각은 제어 인터페이스들(201,202)에 의해 DMAC(200)에 연결되어 있다. 프로세서들

<23>

(110,120) 각각은 채널 그룹 단위로 DMA 채널들을 독립적으로 제어할 수 있다. 즉, 프로세서들(110,120)은 DMAC(200)을 통하여 제 1 그룹의 데이터 저장 장치들(311~318) 및 제 2 그룹의 데이터 저장 장치들(321~328) 사 이의 데이터 전송을 각각 독립적으로 제어할 수 있다.

DMAC(200)는 데이터 저장 장치들(311~318,321~328) 사이에서 데이터가 직접 전송되도록 DMA 채널들을 제어한다.

<24>

예를 들어, DMAC(200)는 신호처리 장치(311)와 메모리(312) 사이의 데이터 전송시 제 1 채널 그룹(220)의 제 1 DMA 채널(221)을 활성화시킨다. 이로써, 프로세서의 제어에 따라 신호처리 장치(311)와 메모리(312) 사이에 데 이터가 직접 전송되게 한다. 여기서 프로세서는 제 1 프로세서(110) 혹은 제 2 프로세서(120) 중 어느 하나이다. 또한, DMAC(200)는 메모리(315)와 메모리(316) 사이의 데이터 전송시 제 1 채널 그룹(220)의 제 3 DMA 채널(223)을 활성화시킨다. 이로써, 프로세서의 제어에 따라 메모리(315) 및 메모리(316) 사이에 데이터가 직접 전송된다.

본 발명의 DMAC(200)는 DMA 채널들이 2개의 채널 그룹들로 그룹핑되어 있다. 도 1에 도시된 바와 같이, 제 1 채

<25>

널 그룹은 DMA 채널들(221,222,223,234)을 포함하고, 제 2 채널 그룹은 DMA 채널들(231,232,233,234)을 포함한 다.

채널 그룹 제어기(210)는 DMA 채널들이 그룹 단위로 독립적으로 제어될 수 있도록 구현된다. 채널 그룹 제어기

<26>

(210)에 대한 자세한 설명은 도 2 및 도 3에서 하도록 하겠다.

각 DMA 채널들(221~224,231~234)은 서로 물리적으로 독립되며, 듀얼 포트 인터페이스로 구현된다. 즉, 각 DMA

<27>

채널들(221~224,231~234)은 2개의 마스터 포트들(master ports)을 구비한다. 예를 들어 제 1 DMA 채널(221)은 제 1 마스터 포트(241) 및 제 2 마스터 포트(241)를 포함한다. 이러한 듀얼 포트를 갖고 물리적으로 분리된 DMA 채널 구조를 통하여, 최근 미디어 프로세서 등에서 요구하는 독립된 복수의 버스들에 연결된 메모리들 사이에서 의 DMA 전송을 효율적으로 수행하게 된다.

데이터 저장 장치들(311~318,321~328)은 DMA 채널들(221~224,231~241) 각각에 마스터 포트들을 통하여 연결되

<28>

어 있다. 여기서 데이터 저장 장치들(311~318,321~328)은 도 1에 도시된 바와 같이 데이터를 저장할 수 있는 신 호처리 장치 및 메모리일 수 있다. 도 1에 도시된 DMA 채널에 연결될 수 있는 저장장치는 각 마스터 포트에 1개 씩해서 2개이다. 하지만, 본 발명의 저장장치가 반드시 마스터 포트들 각각에 연결된 필요는 없다. 본 발명의 저장장치들은 각 마스터 포트가 버스에 연결될 때 그 버스에 연결된 복수의 메모리들 혹은 신호 처리 장치가 포 함될 수 있다.

상술 된 바와 같이 본 발명의 DMAC(200)는 그룹핑된 DMA 채널들(221~224,231~234)을 독립적으로 제어하도록 구

<29>

현된다. 따라서, 본 발명의 DMAC(200)을 갖는 시스템 온칩(10)에서는, 복수의 프로세서들(110,120)이 DMAC(20 0)을 이용하여 DMA 채널들(221~224,231~234)을 통해 연결된 복수의 데이터 저장 장치들을 독립적으로 제어할 수 있게 된다.

도 2는 도 1에 도시된 DMAC(200)의 채널 그룹 제어기(210)에 대한 실시 예를 보여주는 도면이다. 도 2를 참조하

<30>

면, 채널 그룹 제어기(210)는 크로스바 스위치(212), 레지스터 설정 및 제어 블록들(213,214) 및 레지스터 뱅크 들(215,216)을 포함한다. 본 발명의 채널 그룹 제어기(210)는 프로세서들(110,120)이 독립적으로 제 1 채널 그

(7)

룹(220)의 DMA 채널들(221~224) 및 제 2 채널 그룹(230)의 DMA 채널들(231~234)을 제어할 수 있도록 레지스터 설정을 제어한다.

크로스바 스위치(212)는 제어 인터페이스들(201,202)에 의하여 연결된 프로세서들(110,120) 각각이 제 1 레지스

<31>

터 설정 및 제어 블록(213) 혹은 제 2 레지스터 설정 및 제어 블록(214) 중 어느 하나에 연결되도록 스위칭 동 작을 수행한다. 크로스바 스위치(212)의 동작에 따라 프로세서들(110,120)이 제 1 레지스터 설정 및 제어 블록 (213)을 제어할 수도 있거나 제 2 레지스터 설정 및 제어 블록(214)을 제어할 수도 있다.

제 1 및 제 2 레지스터 설정 및 제어 블록들(213,214)은 각 프로세서들(110,120)로부터 받은 정보를 제 1 및 제

<32>

2 레지스터 뱅크들(215,216)에 저장한다. 여기서 각 레지스터 뱅크에는 각 DMA 채널 제어를 위한 정보가 저장된 레지스터들을 포함한다.

제 1 및 제 2 레지스터 뱅크들(215,216)은 도 2에 도시된 바와 같이 4개의 DMA 채널씩 제어하게 된다. 레지스터

<33>

뱅크의 레지스터들(도시되지 않음)은 각 채널의 동작 유무 설정, 버스 폭 설정, 전송 방향 설정, 소스 주소, 목 적지 주소, 그리고 전송 단위 등이 저장된다. 이러한 것들은 DMAC(200)의 동작 상태를 보여준다.

레지스터 뱅크들(215,216)에 설정된 값들에 따라 DMA 채널들(221~224,231~234)이 활성화된다. 이로써 활성화된

<34>

DMA 채널의 채널 포트들(예를 들어, 241,242)에 연결된 데이터 저장 장치들 사이의 데이터의 전송이 수행된다.

본 발명에 따르면, 서로 다른 2개의 프로세서들(110,120)은 각각 DMAC(200)의 제 1 슬레이브 인터페이스(201)

<35>

및 제 2 슬레이브 인터페이스(202) 중 어느 하나의 인터페이스를 통하여 DMA 채널들(221~224,231~234)을 제어할 수 있다. 즉, 제 1 슬레이브 인터페이스(201)에 연결된 프로세서(110)는 크로스바 스위치(212)의 스위칭 동작에 따라 제 1 및 제 2 레지스터 설정 및 제어 블록들(213,214)을 접근할 수 있고, 그 결과로써 제 1 및 제 2 레지 스터 뱅크들(215,216)을 설정할 수 있다.

본 발명의 DMAC(200)를 통하여 프로세서들(110,120) 각각은 8개의 DMA 채널들(221~224,231~234)을 제어할 수

<36>

있다. 또한, 제 1 프로세서(110)가 크로스바 스위치(212)를 통해 제 1 레지스터 뱅크(215)에 연결된 DMA 채널들 (221,222,223,224)을 제어하면서 동시에 제 2 프로세서(120)는 크로스바 스위치(212)를 통해 제 2 레지스터 뱅 크(216)에 연결된 DMA 채널들(231,232,233,234)을 제어할 수 있다. 따라서 본 발명에 따른 DMAC(200)는 서로 다른 프로세서들에 의한 데이터 전송 제어에 있어서 동시에 각 프로세서가 필요한 DMA 채널을 제어할 수 있게 한다. 이로써, 본 발명의 DMAC(200)는 다른 프로세서의 DMA 채널 제어에 따른 시간 지연을 줄일 수 있게 된다.

DMAC(200)은 하나의 물리적 DMA 채널에 대하여 복수의 하위 채널들을 포함한다. 여기서 복수의 하위 채널들은

<37>

하나의 물리적 DMA 채널을 여러 개의 채널들로 간주한 것이다. 이때 각 하위 채널은 복수의 레지스터들을 설정 함으로 제어되고, 하나의 물리적 DMA 채널은 설정된 하위 채널들의 순서에 따라 활성화된다. 이러한 하나의 하 위 채널을 구성하는 레지스터의 종류에는 소스 어드레스 레지스터(source address register), 목적지 어드레스 레지스터(destination address register), 채널 링크드 리스트 레지스터(channel linked list register), 채널 제어 레지스터(channel control register), 및 채널 설정 레지스터(channel configuration register) 등이 있 다. 상술 된 레지스터들을 설정함으로써 하위 채널들은 데이터 전송을 준비하고, 지정된 순서대로 하나의 DMA 채널을 제어하여 데이터 전송이 수행된다.

그런데 종래의 DMAC에서는 대용량 블록 데이터 전송시 프로세서에 의한 하위 채널 레지스터들이 빈번하게 설정

<38>

되는 문제점이 있었다. 반면에 본 발명의 DMAC(200)의 경우에는 대용량 블록 데이터 전송시 한번 하위 채널 레 지스터 셋이 설정되고, 설정된 하위 채널 레지스터 셋에 따라 반복적으로 DMA 채널이 활성화되고, 이에 따라 활 성화된 DMA 채널을 통하여 데이터 직접 전송이 수행된다. 이로써, 본 발명에 따른 DMAC(200)를 갖는 시스템 온 칩(10)에서는 대용량 블록 데이터 전송시 프로세서의 DMA 채널 제어 부하가 줄어들게 되고, 데이터 전송 시간도 단축된다.

본 발명의 DMAC(200)는 하위 채널 설정을 위하여 다음과 같은 레지스터들을 포함한다. 소스 어드레스 레지스터

<39>

(source address register), 목적지 어드레스 레지스터(destination address register), 오프셋 레지스터 (offset register), 채널 제어 레지스터(channel control register), 및 채널 설정 레지스터 (channel configuration register)가 있다. 여기서 오프셋 레지스터는 소스 소스 어드레스 오프셋 레지스터 및 목적지 소 스 어드레스 오프셋 레지스터를 갖고, 채널 설정 레지스터는 해당 채널의 채널 반복 값을 저장할 수 있는 비트 영역을 갖는다.

도 3은 본 발명에 따른 DMAC(200)의 DMA 채널 활성화 방법을 보여주는 도면이다. 도 1 내지 도 3을 참조하면,

<40>

DMAC(200)의 DMA 채널 활성화 방법은 다음과 같다. 설명의 편의를 위하여, DMA 채널들(221~224,231~234) 각각

(8)

은 8개의 하위 채널들을 포함한다고 가정하겠다. 하지만, 본 발명의 DMA 채널들 각각이 8개의 하위 채널들을 갖 는다고 국한될 필요가 없다는 것은 당업자에게 자명하다.

전체 데이터 영역(301)을 전송하기 위하여 제 1 하위 채널부터 제 8 하위 채널까지 차례로 활성화시킨다고 가정

<41>

하겠다. 본 발명의 DMA 채널 활성화 방법은 데이터 영역(301)을 전송하기 위하여 제 1 하위 채널을 활성화시키 는 레지스터 셋만 설정한다. 이때, 나머지 하위 채널들은 설정된 제 1 하위 채널의 레지스터 셋의 정보를 이용 하여 차례로 활성화된다.

도 3을 참조하면, 세로축의 값은 어드레스이고, 가로축의 값은 어드레스에 더해지는 오프셋 값이다. 여기서 오

<42>

프셋 값의 범위는 0x0에서 0xFFF이다. 데이터 처리 장치들의 실제 어드레스는 세로축의 어드레스와 가로축의 오 프셋 값이 더하여 표현된다. 예를 들어, 데이터 영역(302)에 대한 실제 어드레스는 '0x10100'에서 '0x101FF'이 고, 데이터 영역(302)에 대한 실제 어드레스는 '0x12100'에서 '0x121FF'이다. 제 1 내지 제 8 하위 채널들 각각 은 소스 어드레스에 오프셋 값 범위만큼의 더해진 실제 어드레스에 대응하는 데이터를 전송하게 된다.

설명의 편의를 위하여, 아래에서는 신호처리 장치(311)의 데이터 영역(301)을 메모리(312)로 전송하고, 이러한

<43>

데이터 전송을 제어하는 프로세서는 제 1 프로세서(110)이라고 가정하겠다. 이때 데이터 전송은 아래와 같이 진 행된다.

먼저, 제 1 프로세서(110)는 DMAC(200)을 이용하여 제 1 레지스터 뱅크(215)의 제 1 하위 채널의 레지스터 셋을

<44>

설정하게 된다. 도 3에 도시된 바와 같이, 소스 어드레스는 '0x10100'으로 설정되고, 전송 크기는 32비트 단위 전송시 64회로 설정되고, 소스 어드레스 오프셋 값은 '0x01000'으로 설정되고, 채널 반복 회수는 8회로 설정된 다. 여기서 32비트 단위 전송시 64회 전송을 하면, 총 256 바이트의 데이터가 전송된다. 이는 어드레스 '0x10 0'에서부터 '0x1FF'에 대응하는 데이터이다.

제 1 하위 채널의 레지스터 셋 설정에 따라, 제 1 하위 채널이 활성화되고, 소스 어드레스(0x10100)으로부터 시

<45>

작하여 데이터 저장 장치(311)로부터 32비트 단위의 데이터(4개의 어드레스에 대응하는 데이터)가 활성화된 제 1 하위 채널을 통하여 메모리(312)로 직접 전송된다. 제 1 하위 채널에 대하여 이러한 동작이 64회 수행된다.

제 1 하위 채널에 대한 64회의 데이터 전송이 완료되면, 제 1 하위 채널은 채널 반복 회수 설정값을 하나 줄일

<46>

고, 설정된 소스 어드레스 오프셋 값인 '0x01000'을 기 설정된 소스 어드레스인 '0x10100'에 더하여 새로운 소 스 어드레스를 설정하고 다시 64회의 데이터 전송을 수행한다. 제 1 하위 채널은 이와 같이 설정된 채널 반복 회수만큼 어드레스 오프셋 값을 적용하여 설정된 전송 데이터를 전송한다.

상술 된 과정을 통하여, 전체 데이터 영역(301)에 대응하는 데이터가 전송된다. 이와 같은 설정은 제 1 하위 채

<47>

널뿐만 아니라 각 하위 채널들에서도 유효하다.

본 발명의 DMAC(200)의 DMA 채널 활성화 방법은 대용량 데이터 전송시 하위 채널의 레지스터에 대응하는 전송영

<48>

역에 해당하는 소스 어드레스, 목적지 어드레스, 및 전송 크기 등을 설정하고, 오프셋 레지스터에 소스 어드레 스 오프셋 값을 설정하고, 채널 설정 레지스터에 반복 회수를 설정하여 DMA 채널을 활성화한다.

이러한 DMA 채널 활성화 방법에서는 적은 개수의 레지스터 설정을 통해 프로세서가 손쉽게 대용량의 블록 데이

<49>

터를 전송할 수 있다. 또한, 복수의 하위 채널들 각각에 상술 된 DMA 채널 활성화 방법으로 소스 어드레스 오 프셋 값과 반복 회수가 설정됨으로 종래의 DMAC보다 레지스터 설정 회수를 적게 한다. 이때 하위 채널들의 개수 는 시스템의 구성 및 성능 요구에 따라 변경될 수 있다.

도 4는 복수의 블록 데이터 전송을 위한 하위 채널 설정 방법을 보여주는 도면이다. 도 1 및 4를 참조하면,

<50>

DMAC(200)의 DMA 채널 활성화 방법은 다음과 같다.

DMA 채널 활성화 방법은 복수의 블록 데이터를 전송하기 위하여 복수의 하위 채널들의 레지스터 각각에 하나의

<51>

전송영역에 해당하는 소스 어드레스, 목적지 어드레스, 및 전송 크기 등을 설정하고, 오프셋 레지스터에 해당 소스 어드레스 오프셋 값을 설정하고, 채널 설정 레지스터에 반복 설정함으로 DMA 채널을 활성화시킨다.

예를 들어, 데이터 영역(305) 및 데이터 영역(307)을 전송하기 위하여 DMAC(200)는 데이터 영역(306)을 전송하

<52>

기 위한 제 1 하위 채널의 레지스터 셋 및 데이터 영역(308)을 전송하기 위한 제 2 하위 채널의 레지스터 셋을 설정한다고 가정하겠다. 도 4를 참조하면, 제 1 하위 채널의 레지스터 셋 설정에서는 소스 어드레스는 '0x10100'으로 설정되고, 전송 크기는 32비트 단위 전송시 64회로 설정되고, 소스 어드레스 오프셋 값은 '0x01000'으로 설정되고, 채널 반복 회수는 8회로 설정된다. 또한, 제 2 하위 채널의 레지스터 셋 절정에서는 소스 어드레스는 '0x51100'으로 설정되고, 전송 크기는 32 비트 단위 전송시 64회로 설정되고, 소스 어드레스

(9)

오프셋 값은 '0x01000'으로 설정되고, 채널 반복 회수는 6회로 설정된다. 이로써, 물리적인 DMA 채널이 활성화 된다.

도 2에 도시된 DMA 채널들은 2개로 채널 그룹들로 그룹핑 되었으나, 본 발명의 DMA 채널들이 반드시 2개로 채널

<53>

그룹으로 그룹핑 된다고 한정할 필요는 없다. 도 5은 본 발명에 따른 DMAC(400)에 대한 다른 실시 예를 보여주 고 있다. 도 5을 참조하면, DMAC(400)의 채널 그룹 제어기(410)는 n개의 프로세서들(도시되지 않음)이 m개의 채 널 그룹들(420,430,440)의 DMA 채널들을 설정하도록 구현된다. 여기서 각 채널 그룹들의 DMA 채널들의 개수는 서로 다르게 구성될 수 있다. 예를 들어, 제 1 채널 그룹(420)은 p개의 DMA 채널들(421,422)을 포함하고, 제 2 채널 그룹(430)은 q개의 DMA 채널들(431,432)을 포함하고, 제 3 채널 그룹(440)은 r개의 DMA 채널들(441,442) 을 포함한다.

크로스바 스위치(412)는 n개의 프로세서들이 m개의 레지스터 설정 및 제어 블록들(413,414,415) 중 어느 하나에

<54>

연결되도록 스위칭한다. 이로써, n개의 프로세서들 각각은 m개의 레지스터 뱅크들(416,417,418)을 제어할 수 있 게 된다. 또한, n개의 프로세서들 각각은 동시에 서로 다른 레지스터 뱅크들(416,417,418)을 제어할 수 있다.

본 발명의 DMAC(400)는 복수의 물리적으로 분리된 DMA 채널들이 m개의 그룹으로 관리되도록 구현된다. 따라서,

<55>

n개의 프로세서들 각각은 m개의 채널 그룹의 DMA 채널들을 독립적으로 설정할 수 있게 된다.

한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 명하였으나, 본 발명의 범위에서 벗어나지 않는

<56>

한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.

도면의 간단한 설명

도 1은 본 발명에 따른 시스템 온칩을 보여주는 도면이다.

<57>

도 2는 도 1에 도시된 DMAC의 채널 그룹 제어기에 대한 실시예를 보여주는 도면이다.

<58>

도 3는 본 발명에 따른 DMAC의 하위 채널 활성화 방법을 보여주는 도면이다.

<59>

도 4는 본 발명에 따른 DMAC의 또 다른 하위 채널 활성화 방법을 보여주는 도면이다.

<60>

도 5는 본 발명에 따른 DMAC의 다른 실시 예를 보여주는 도면이다.

<61>

*도면의 주요부분에 대한 부호의 설명*

<62>

10: 시스템 온칩 200,400: 직접 메모리 접근 제어기

<63>

110,120: 프로세서 311~318,321~328: 데이터 저장 장치

<64>

201,202: 제어 인터페이스 212,412: 크로스바 스위치

<65>

213,214: 레지스터 설정 및 제어블록

<66>

215,216: 레지스터 뱅크

<67>

301,305,307: 데이터 영역

<68>

(10)

도면 도면1

(11)

도면2

(12)

도면3

도면4

(13)

도면5

참조

관련 문서

본 발명의 일실시예에 따른 LDPC 부호화기는 LDPC 부호어를 저장하기 위한 제1 메모리; 0으로 초기화되는 제2 메모리; 및 정보 비트들information bits을 이용하 여 상기 제2 메모리에 대한 누적accumulation을 수행하여 상기 LDPC 부호어를 생성하는 프로세서를 포함하고, 상기 누적은 패러티 검사

서를 이용하여 상기 가상 현실 콘텐츠를 시청하는 사용자의 제1 시청 피로도 정보를 검출하는 단계, 상기 가상 현실 콘텐츠에 대한 시청 피로도 세기 입력 요청에 대응하여 상기 사용자로부터 입력되는 사용자 입력을 이용하 여 제2 시청 피로도 정보를 결정하는 단계, 가상 현실 콘텐츠의 시청 피로도 유발 요소, 상기 제1 시청 피로도

명 세 서 청구범위 청구항 1 원본 안저영상FUNDUS IMAGE에 대한 전처리 영상을 기반으로 상기 원본 안저영상에 대한 복수개의 변형 영상들 을 생성하는 데이터 증폭 단계; 상기 복수개의 변형 영상들을 기반으로 서로 종류가 다른 복수개의 개별 학습 모델들을 학습시키고, 학습된 복 수개의 개별 학습 모델들 각각의 출력을

제 1항에 있어서, 상기 케이블모뎀 신호 처리부는, ONU와 케이블모뎀간에 설치된 동축 케이블에 접속되어, 상기 케이블을 통해 전달되는 RF 신호 중, 상향 데이터 RF 신호 만을 드롭시켜 선택하는 RF 드롭 필터; 상기 선택된 상향 데이터 RF 신호를 저주파 신호로 복조하는 RF 복조기; 상기 저주파 신호를 위상복조하여

일실시예에 따른 무선 근거리 통신망에서 액세스 포인트가 스테이션 의 슬롯 기반 채널 액세스를 제어하는 슬롯 사용 제어 방법은, 스테이션STA을 지시하는 식별 값을 포함하는 RAReceiver Address 필드를 포함하는 NDP Null Data Packet 프레임을 전송하는 단계, 상기 NDP 프레임을 전 송한 후, 소정의 시간

청구항 7 단말과 멀티홉 릴레이 사이의 상향 액세스 링크에 대한 채널품질을 측정하는 단계; 및 상기 측정한 채널품질을 기초로 상기 상향 액세스 링크의 전력 제어를 위한 메시지를 생성하여 상기 단말로 전 송하는 단계;를 포함하는 것을 특징으로 하는 멀티홉 릴레이에서의 전력 제어 방법.. 청구항 8 제 7항에 있어서, 상기

명 세 서 청구범위 청구항 1 시계열 데이터 및 예측 시간을 수신하는 네트워크 인터페이스; 상기 시계열 데이터를 전처리하고, 상기 예측 시간에 기초하여 상기 시계열 데이터의 복수의 시간들 각각에 대 응되는 시차 데이터를 생성하는 전처리부; 상기 전처리된 시계열 데이터 및 상기 시차 데이터에 기초하여, 상기 예측 시간에

본 발명에 따른 버퍼 상태 보고 방법은, 단말간 직접 통신 페어를 지정하는 페어 식별자를 획득하는 단계, 단말간 직접 통신 페어의 논리 채널 그룹별 버퍼 상태 정보와 상기 페어 식별자를 포함한 MAC 제어 요소MAC Control Element를 생성하거나, 상기 단말간 직접 통신 페어의 논리 채널 그룹별 버퍼 상태 정보를 포함한