(19) 대한민국특허청(KR)
(12) 등록특허공보(B1)
(45) 공고일자 2008년07월31일
(11) 등록번호 10-0849531
(24) 등록일자 2008년07월24일
(51) Int. Cl.
G06F 12/00 (2006.01)
(21) 출원번호 10-2006-0075966
(22) 출원일자 2006년08월11일
심사청구일자 2006년08월11일
(65) 공개번호 10-2008-0014367
(43) 공개일자 2008년02월14일
(56) 선행기술조사문헌
KR100664009 B1
JP2004288021 A
US6789097 B2
(73) 특허권자
엠텍비젼 주식회사
서울 금천구 가산동 426-5
월드메르디앙벤처센타2.3층
(72) 발명자
최병호
서울 영등포구 대림1동 887-1 한신1차 101동 180
3호
(74) 대리인
한상천
전체 청구항 수 : 총 9 항 심사관 : 권오성
(54) 디지털 신호 처리 장치에서의 직접 메모리 액세스 방법 및이를 이용한 디지털 신호 처리 장치
(57) 요 약
디지털 신호 처리 장치의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치가 개시된다. 본 발명
의 바람직한 일 실시예에 따르면, m비트 대역폭을 가진 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호
처리 장치의 직접 메모리 액세스 방법에 있어서, 외부 메모리에 기록된 데이터를 m비트 단위로 독출(read)하고,
독출된 데이터를 m비트 단위로 l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수)비트 단위의 메모리 폭을 가
진 내부 데이터 메모리로 전송하되, 내부 데이터 메모리에 저장된 데이터는 n비트 단위로 독출되어 연산되는 것
을 특징으로 하는 디지털 신호 처리 장치의 직접 메모리 액세스 방법이 제공된다.
본 발명에 따르면, 다양한 데이터 입출력을 위한 조합 회로가 필요없어 DSP의 처리 속도를 떨어뜨리지 않는 장점
이 있다.
대표도 - 도3
- 1 -
등록특허 10-0849531
특허청구의 범위
청구항 1
m비트 대역폭을 가진 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호 처리 장치(DSP: Digital Signal
processor)의 직접 메모리 액세스 방법에 있어서,
상기 외부 메모리에 기록된 데이터를 m비트 단위로 독출(read)하는 단계(a); 및
상기 독출된 데이터를 m비트 단위로 l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수)비트 단위의 메모리 폭
을 가진 내부 데이터 메모리로 전송하는 단계(b)를 포함하되,
상기 내부 데이터 메모리에 저장된 데이터는 n비트 단위로 독출되어 연산되는 것을 특징으로 하는 디지털 신호
처리 장치의 직접 메모리 액세스 방법.
청구항 2
제1항에 있어서,
상기 단계(a)와 상기 단계(b)는,
AHB(Advanced High-performance Bus)를 통해 수행되는 것을 특징으로 하는 디지털 신호 처리 장치의 직접 메모
리 액세스 방법.
청구항 3
제1항에 있어서,
상기 단계(b)는,
상기 내부 데이터 메모리의 LSB(Least Significant Bit)부터 m비트 단위로 순차적으로 수행되는 것을 특징으로
하는 디지털 신호 처리 장치의 직접 메모리 액세스 방법.
청구항 4
m비트 대역폭을 가지는 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호 처리 장치(DSP: Digital Signal
processor)에 있어서,
l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수) 비트의 단위의 메모리 폭을 가지는 내부 데이터 메모리;
및
상기 외부 메모리로부터 m비트 단위로 독출된 데이터가 m비트 단위로 상기 내부 데이터 메모리에 기록되도록 하
고, 상기 내부 데이터 메모리로부터 기록된 데이터가 연산을 위해 n비트 단위로 독출되도록 하는 DSP
DMA(Direct Memory Access) 제어부를 포함하는 것을 특징으로 하는 디지털 신호 처리 장치.
청구항 5
제4항에 있어서,
상기 내부 데이터 메모리는 복수인 것을 특징으로 하는 디지털 신호 처리 장치
청구항 6
제4항에 있어서,
프로그램을 저장하기 위한 내부 프로그램 메모리가 더 포함되는 것을 특징으로 하는 디지털 신호 처리 장치.
청구항 7
제6항에 있어서,
상기 내부 프로그램 메모리에 저장된 프로그램을 입력된 명령어에 따라 페치(petch)하여 디코딩(decoding)하고
실행하는 DSP 코어를 더 포함하는 것을 특징으로 하는 디지털 신호 처리 장치.
- 2 -
등록특허 10-0849531
청구항 8
제4항에 있어서,
데이터와 제어 신호의 전송을 위한 버스(bus)를 더 포함하는 것을 특징으로 하는 디지털 신호 처리 장치.
청구항 9
제8항에 있어서,
상기 버스는 AHB(Advanced High-performance Bus) 방식인 것을 특징으로 하는 디지털 신호 처리 장치.
명 세 서
발명의 상세한 설명
발명의 목적
발명이 속하는 기술 및 그 분야의 종래기술
본 발명은 디지털 신호 처리 장치(DSP : Digital Signal Processor, 이하 DSP라 함)에 관한 것으로서, 보다 상<6>
세하게는 DSP와 외부 메모리의 대역폭이 다른 경우 DSP의 직접 메모리 액세스 방법 및 이를 이용한 DSP에 관한
것이다.
DSP는 디지털 연산에 의해 신호 처리를 하는 하나의 집적 회로(IC : Integrated Circuit) 칩으로 된 마이크로프<7>
로세서(microprocessor)이다.
DSP는 주로 음성 합성, 음성 인식, 음성 부호화, 압축, 고속 모뎀, 반향 소거 장치 등의 음성 및 통신 장치에<8>
널리 사용되고 있다. 특히, 수학 연산에 있어서 우수한 성능을 나타내므로 호프만 디코딩, 역양자화 등의 수학
적 연산이 많은 음성 데이터를 처리하기 위해서 일반 프로세서(processor)보다 DSP가 널리 사용된다.
DSP는 수학 연산을 위해 부동 소수점 연산을 내장하거나 곱셈과 덧셈을 한 사이클(cycle)에 수행할 수 있는<9>
MAC(Multiply and Accumulation) 연산 기능 등이 하드웨어적으로 설계되어 내장되어 있으며, 또한 DSP 내부에
두개 이상의 명령어를 수행하고, 반복 연산을 빠르게 수행할 수 있도록 구성되기도 한다.
직접 메모리 액세스(DMA : Direct Memory Access, 이하 DMA라 함)는 별도의 프로그램의 실행없이 기억 장치인<10>
메모리로 직접 데이터를 전송하는 방식으로 데이터의 입출력 속도를 향상시킬 수 있는 메모리 액세스 방식이다.
한편, DSP의 내부에는 프로그램 메모리와 프로그램이 사용할 데이터 메모리를 포함하여 구성되며, 데이터 메모<11>
리는 X메모리와 Y메모리 두개로 구성될 수 있다.
프로그램 메모리에는 프로그램이 저장되며 또한, 음성 데이터 처리를 위한 MP3, WMA, ACC 등의 디지털 음성 신<12>
호 데이터의 경우에도 프로그램 메모리에 저장된다.
프로그램 메모리에 저장된 프로그램은 실제로 연산을 수행하는 DSP 코어(core)가 페치(petch)하여 디코딩<13>
(decoding)하고 실행한다. DSP 코어(core)에는 컴파일러(compiler)나 디버거(debugger)와 같은 구성 요소가 포
함될 수 있다.
프로그램 메모리는 외부 메모리에서 입력되는 프로그램이 전송되어 저장되므로 외부 메모리의 대역폭과 같은 32<14>
비트로 구성된다.
그러나, 현재 널리 사용되는 DSP는 24비트의 처리 단위를 가지므로 DSP에서 연산된 데이터가 저장되는 데이터<15>
메모리는 24비트 대역폭을 가진 메모리로 구성된다.
따라서 데이터 메모리가 24비트의 대역폭을 가지므로 데이터 메모리에서 외부 메모리로 데이터를 입/출력하는<16>
경우 외부 메모리와 서로 대역폭이 맞지 않는 문제점이 있다.
이러한 문제점을 해결하기 위한 DSP의 구성이 제안되었으나 이러한 경우에도 문제점이 발생되고 있다. 이에 대<17>
하여 관련 도면을 참조하여 상세히 설명하기로 한다.
상기한 데이터 메모리에서 외부 메모리로 데이터를 입출력하는 경우 서로 대역폭이 맞지 않는 문제점을 해결하<18>
- 3 -
등록특허 10-0849531
기 위한 종래의 DSP의 구성과 데이터 입출력을 도 1을 참조하여 살펴본다.
도 1은 종래의 DSP에서의 직접 메모리 액세스를 위한 인터페이스를 도시한 도면이다.<19>
도 1에 도시된 바와 같이, 종래의 DSP는 복수의 DSP DMA 제어부(100a, 100b, … , 이하 100으로 통칭함), 선택<20>
부(Selector)1(110), 선택부(Selector)2(120), AHB(Advanced High-performance Bus) 마스터(master)(130),
DSP 슬레이브(slave)(140), AHB 슬레이브(150), SFR(Special Function Register)(160)을 포함한다.
도 1에는 미도시하였으나, 전술한 바와 같이 DSP에는 명령어를 읽고 실행하는 DSP 코어가 더 포함되며, DSP 내<21>
부의 프로그램 메모리와 데이터 메모리가 더 포함된다.
종래의 DSP에 포함되는 DSP DMA 제어부(100)는 DSP 내의 데이터 메모리와 프로그램 메모리로의 직접 메모리 액<22>
세스를 제어하는 부분으로 AHB 마스터(102), FIFO(104), DSP 마스터(106)를 포함한다.
FIFO(104)는 DSP와 데이터 메모리의 대역폭이 서로 맞지 않는 문제점을 해결하기 위해 채널마다 하드웨어적으로<23>
추가되는 선입선출 장치 또는 회로이다. FIFO(104)는 특정 데이터가 인입될 때 시간 기록을 추가하여 다른 데이
터가 인입될 필요가 있을 때 가장 먼저 인입된 데이터를 교체시키는 방법을 실행한다.
이러한 FIFO(104)에 인입된 데이터는 DSP DMA 제어부(100)와 데이터 메모리간의 인터페이스를 통하여 데이터 메<24>
모리에 액세스한다
따라서 데이터 메모리와 DSP간의 데이터 입출력, 프로그램 메모리와 DSP간의 데이터 입출력과 같은 다양한 데이<25>
터 입출력을 위한 조합 회로가 필요하게 되며, 다양한 조합회로의 사용은 결국 DSP의 처리 속도를 떨어뜨리는
문제점이 있다.
이러한 DSP의 처리 속도를 떨어뜨리지 않기 위해 DSP의 메인 클럭 주파수를 올리는 방법이 있으나, 이 경우 소<26>
비 전력이 증가되는 문제점이 있다.
또한 DSP에서 데이터 메모리로 데이터를 입력하는 경우 문제점을 도 2를 참조하여 살펴본다.<27>
도 2는 종래의 DSP 내부에서 직접 메모리 액세스 방법에 의해 데이터 메모리로 데이터를 저장하는 과정을 나타<28>
낸 도면이다.
도 2는 종래의 24비트 처리 단위를 가진 DSP가 32비트 외부 메모리(200)에서 데이터를 읽어 24비트의 데이터 메<29>
모리(210)에 데이터를 저장하는 경우를 예시한 것이다.
도 2에 도시된 바와 같이, 먼저 32비트의 대역폭을 가진 외부 메모리(200)의 LSB로부터 가로 방향으로 차례로<30>
데이터를 읽어 FIFO(104)에 아래에서부터 순차적으로 기록하고, FIFO(104)에 기록된 데이터를 24비트의 대역폭
을 가진 데이터 메모리(210)의 LSB에서부터 가로 방향으로 순차적으로 기록하여야 한다.
그러나 이 경우 외부 메모리(200)의 대역폭은 32비트임에 비해 데이터 메모리(210)의 대역폭은 24비트이므로 외<31>
부 메모리에서 읽어 FIFO(104)에 기록된 데이터 중 일부가 손실되는 데이터 로스(loss)가 발생하는 문제점이 있
다.
이러한 데이터의 손실을 방지하기 위해서는 외부 메모리(200)에서 FIFO(104)로 데이터를 한번만 읽고 FIFO(10<32>
4)에 기록된 데이터를 데이터 메모리(210)에 두 번 기록하는 방식을 적용할 수 있으나, 이 경우 24비트 대역폭
의 데이터 메모리(210) 중 나머지 저장 공간은 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 채워지게 되
는 문제점이 있다.
이러한 데이터 메모리에 기록된 '쓰레기 값'은 특히 예를 들어, 오디오 데이터의 경우라면 프로그램 작성자가<33>
이를 미리 알고 디코딩되지 않도록 프로그램하지 않으면 소음으로 발생되는 등의 문제점이 있다.
발명이 이루고자 하는 기술적 과제
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 데이터 메모리와 DSP간의 데이터 입출력, 프로그<34>
램 메모리와 DSP간의 데이터 입출력과 같은 다양한 데이터 입출력을 위한 조합 회로가 필요없어 DSP의 처리 속
도를 떨어뜨리지 않는 디지털 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치
를 제안하는 것이다.
또한, 본 발명은 DSP의 처리 속도를 떨어뜨리지 않기 위해 DSP의 메인 클럭 주파수를 올리지 않아 소비 전력을<35>
줄일 수 있는 디지털 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치를 제안
- 4 -
등록특허 10-0849531
하는 것이다.
그리고 본 발명은 데이터의 손실이나 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 데이터 메모리가 채워<36>
지지 않도록 하는 디지털 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치를
제안하는 것이다.
본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.<37>
발명의 구성 및 작용
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 디지털 처리 장치에서의 직접 메모리 액<38>
세스 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, m비트 대역폭을 가진 외부 메모리와 연결되는 n비트 처리 단위의 디지<39>
털 신호 처리 장치(DSP: Digital Signal processor)의 직접 메모리 액세스 방법에 있어서, 상기 외부 메모리에
기록된 데이터를 m비트 단위로 독출(read)하는 단계(a); 및 상기 독출된 데이터를 m비트 단위로 l x k(l은 1이
상의 자연수, k는 m과 n의 최소공배수)비트 단위의 메모리 폭을 가진 내부 데이터 메모리로 전송하는 단계(b)를
포함하되, 상기 내부 데이터 메모리에 저장된 데이터는 n비트 단위로 독출되어 연산되는 것을 특징으로 하는 디
지털 신호 처리 장치의 직접 메모리 액세스 방법이 제공된다.
상기 데이터의 전송은 AHB(Advanced High-performance Bus)를 통해 수행될 수 있다.<40>
상기 수신된 데이터를 m비트 단위로 k(k는 m과 n의 최소공배수)비트 단위의 메모리 폭을 가진 내부 데이터 메모<41>
리로 전송하는 단계는 상기 내부 데이터 메모리의 LSB(Least Significant Bit)부터 m비트 단위로 순차적으로 수
행될 수 있다.
본 발명의 다른 측면에 의하면, 디지털 신호 처리 장치가 제공된다.<42>
본 발명의 바람직한 일 실시예에 따르면, m비트 대역폭을 가지는 외부 메모리와 연결되는 n비트 처리 단위의 디<43>
지털 신호 처리 장치(DSP: Digital Signal processor)에 있어서, l x k(l은 1이상의 자연수, k는 m과 n의 최소
공배수) 비트의 단위의 메모리 폭을 가지는 내부 데이터 메모리; 및 상기 외부 메모리로부터 m비트 단위로 독출
된 데이터가 m비트 단위로 상기 내부 데이터 메모리에 기록되도록 하고, 상기 내부 데이터 메모리로부터 기록된
데이터가 연산을 위해 n비트 단위로 독출되도록 하는 DSP DMA(Direct Memory Access) 제어부를 포함하는 것을
특징으로 하는 디지털 신호 처리 장치가 제공된다.
상기 내부 데이터 메모리는 복수일 수 있다.<44>
상기 디지털 신호 처리 장치는 프로그램을 저장하는 내부 프로그램 메모리를 포함할 수 있으며, 상기 프로그램<45>
메모리에 저장된 프로그램을 입력된 명령어에 따라 페치(petch)하여 디코딩(decoding)하고 실행하는 DSP 코어를
포함할 수 있다.
상기 디지털 신호 처리 장치는 데이터와 제어 신호의 전송을 위한 버스(bus)를 포함할 수 있으며, 상기 버스는<46>
AHB(Advanced High-performance Bus) 방식일 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고<47>
상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이
아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어
야 한다.
본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되<48>
는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에<49>
의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용
된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하<50>
게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목<51>
- 5 -
등록특허 10-0849531
을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에<52>
직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이
해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는,<53>
중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가<54>
아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또<55>
는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이
존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이
들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이<56>
속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의<57>
미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적
인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일<58>
하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
먼저 도 3을 참조하여 본 발명의 바람직한 일 실시예에 따른 디지털 신호 처리 장치(DSP : Digital Signal<59>
Processor, 이하 DSP라 함)에 대해 살펴본다.
도 3은 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스를 위한 인터페이스를 도시한 도면<60>
이다.
도 3에서는 미도시하였으나, 본 발명의 바람직한 일 실시예에 따른 DSP는 내부에 프로그램 메모리와 프로그램이<61>
사용할 데이터 메모리를 포함하여 구성된다. 또한, 데이터 메모리는 X메모리와 Y메모리 두개로 구성될 수 있으
나 이에 한정되는 것은 아니다.
프로그램 메모리에는 프로그램이 저장되며 또한, 음성 데이터 처리를 위한 MP3, WMA, ACC 등의 디지털 음성 신<62>
호 데이터의 경우에도 프로그램 메모리에 저장될 수 있다.
또한, DSP는 내부에 프로그램 메모리에 저장된 프로그램을 입력된 명령어에 따라 페치(petch)하여 디코딩<63>
(decoding)하고 실행하는 DSP 코어를 더 포함할 수 있다.
이하의 설명에서는 현재 널리 사용되는 24비트의 처리 단위를 가지는 DSP 코어와 32비트 대역폭을 가지는 프로<64>
그램 메모리를 포함하는 DSP를 예시로 하여 설명하기로 하나, 본 발명에 의한 디지털 처리 장치에서의 직접 메
모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치는 서로 다른 대역폭을 가지는 프로그램 메모리와 DSP
코어를 포함하는 DSP의 경우에도 적용될 수 있음은 자명하다.
도 3에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 DSP는 복수의 DSP DMA 제어부(300a, 300b, …,<65>
이하 300으로 통칭함), 선택부(Selector)1(310), 선택부2(320), AHB(Advanced High-performance Bus) 마스터
(master)(330), DSP 슬레이브(slave)(340), AHB 슬레이브(350), SFR(Special Function Register)(360)을 포함
할 수 있다.
DSP DMA 제어부(300)는 데이터 메모리와 프로그램 메모리로의 직접 메모리 액세스를 제어하는 부분으로 도 3에<66>
도시된 바와 같이 DSP 마스터(302)만을 포함하여 구성된다.
종래의 DSP DMA 제어부와 비교하여 FIFO와 AHB 마스터를 포함하지 않으며, 입출력될 데이터가 직접 DSP 마스터<67>
(302)를 통해 입출력된다.
DSP DMA 제어부(300)에는 32비트 대역폭을 가지는 DSP 마스터(302)를 포함하여 32비트 대역폭을 가진 외부 메모<68>
리에서 32비트 대역폭으로 데이터를 수신할 수 있게 되며, 또한, 내부 데이터 메모리에도 32비트 대역폭으로 데
- 6 -
등록특허 10-0849531
이터를 전달할 수 있다.
따라서 종래와 달리 다른 대역폭(예를 들면, 24 비트)을 고려하지 않고 32비트 대역폭을 가지는 외부 메모리와<69>
인터페이스할 수 있도록 DSP DMA 제어부(300)를 구성한다.
선택부1(310)는 복수의 DSP DMA 제어부(300)를 통해 전송되는 데이터를 선택적으로 DSP 내부의 메모리를 제외한<70>
다른 장치들(예를 들면, DSP 코어 등)에 AHB를 통해 전달하는 장치이다.
선택부2(320)는 복수의 DMA 제어부(300)에서 전송되는 데이터를 프로그램 메모리 또는 데이터 메모리로 선택적<71>
으로 전달하는 장치이다.
AHB 마스터(330)와 AHB 슬레이브 (350)는 AMBA(Advanced Micro controller Bus Architecture)의 버스 규격 중<72>
하나인 AHB 방식을 지원하기 위한 구성 요소이다.
AMBA(Advanced Micro controller Bus Architecture)는 ARM사가 개발한 오픈 표준 버스 규격으로서<73>
AHB(Advanced High-performance Bus), ASB(Advanced System Bus), APB(Advanced Peripheral Bus) 등의 방식이
있다.
AHB는 높은 클럭 주파수의 고성능 버스로서 대역폭이 넓고, 다수의 마스터 장치를 지원하며, 예를 들어, 메모리<74>
컨트롤러, 인터럽트 컨트롤러 등에 사용된다.
ASB는 AHB와 마찬가지로 고성능 버스이나 AHB보다는 하위 성능의 버스로서 1개 이상의 마스터 장치를 지원하며,<75>
APB는 저속, 저전력 버스로서 주변 기능들을 지원하기 위한 복잡성을 줄인 버스로서 레지스터 맵핑된 슬레이브
장치들을 지원한다.
도 3에서는 DSP에서 널리 사용되는 AHB 방식을 예로 하여 AHB 마스터와 AHB 슬레이브를 포함하여 구성되는 것으<76>
로 예시하였으나, 데이터와 제어 신호의 전송을 위한 버스 방식은 이에 한정되는 것은 아니다.
DSP 슬레이브(340)는 제어 신호 또는 외부 메모리에서 입력되는 데이터가 처음 전달되는 장치이다.<77>
AHB 슬레이브(350)는 AHB 마스터로부터 데이터를 전달받아 SFR(Special Function Register)에 전달하며,<78>
SFR(360)는 레지스터의 한 종류로서 DSP에서 반복적 또는 주기적으로 처리된 데이터를 일시적으로 정보를 저장
한다.
SFR(360)에 일시 저장된 데이터는 DSP 코어(미도시)에서의 제어 신호에 따라 선택부2(320)에 의해 선택적으로<79>
프로그램 메모리 또는 데이터 메모리로 전달된다.
한편, DSP DMA 제어부(300)의 구성은 종래와 달리 DSP DMA 제어부에 FIFO나 AHB 마스터를 포함하지 않으므로 하<80>
드웨어적으로 회로의 구성이 단순하게 된다.
또한 외부 메모리로부터 DSP DMA 제어부를 통한 데이터 메모리로의 연결이 32비트 대역폭을 가진다.<81>
따라서 종래와 비교하여 회로의 구성이 단순하고 되어 또한 32비트 대역폭의 버스를 통해 데이터가 전송되므로<82>
DSP의 처리 속도를 떨어뜨리지 않는 이점이 있다.
이러한 32비트 대역폭을 가진 버스를 통해 데이터가 전송되는 내부 데이터 메모리의 구성과 데이터의 저장 과정<83>
에 대해 살펴 본다.
FIFO나 AHB 마스터를 포함하지 않고 DSP DMA 제어부(300)를 구성하더라도 DSP의 처리 대역폭과 외부 메모리의<84>
대역폭이 다르므로 데이터 메모리의 구성과 데이터 저장을 다르게 처리하여야만 한다.
이하에서는 도 4를 참조하여 데이터 메모리에 데이터를 저장하는 과정을 살펴본다.<85>
먼저 본 발명의 바람직한 일 실시예에 따른 DSP에 포함되는 데이터 메모리의 폭(width)은 DSP의 처리 단위와 외<86>
부 메모리(400)의 대역폭에 의해 결정되며, 그 값은 DSP의 처리 단위와 외부 메모리(400)의 대역폭의 최소 공배
수로 결정된다.
예를 들어, 24비트 처리단위를 가진 DSP와 DSP에 연결되는 외부 메모리의 대역폭은 32비트라면 데이터 메모리의<87>
폭은 96비트(즉, 24와 32의 최소 공배수)가 된다.
물론 DSP의 처리 단위와 외부 메모리(400)의 대역폭의 최소 공배수의 정수배로 데이터 메모리의 폭(width)을 결<88>
정할 수 있음은 자명하다.
- 7 -
등록특허 10-0849531
앞서 예시한 바와 같이 24비트 처리단위를 가진 DSP와 DSP에 연결되는 외부 메모리의 대역폭은 32비트라면 데이<89>
터 메모리의 폭은 96비트뿐만 아니라, 192비트, 288비트 등으로 생성하는 것도 가능하다.
ASIC(Application Specific Integrated Circuit) 작업에 사용되는 메모리는 메모리 생성기에 깊이(depths)와<90>
폭(widths)의 입력하면 생성된다.
본 발명의 바람직한 일 실시예에 따른 DSP 내부의 데이터 메모리는 깊이가 DSP를 포함하는 시스템에 필요한 만<91>
큼 임의로 정해지고 메모리 폭은 24와 32의 최소 공배수(least common multiple)인 96비트로 생성한다.
이러한 데이터 메모리의 생성과 구성을 참조하여 외부 메모리에서 읽어온 데이터를 DSP 내부에 포함되는 데이터<92>
메모리에 저장하는 과정을 살펴본다.
도 4는 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스 방법에 의해 데이터 메모리에 데이<93>
터를 저장하는 과정을 나타낸 도면이다.
도 4에 도시된 바와 같이, 32비트의 대역폭을 가진 외부 메모리(400)가 메모리 폭이 4라고 하면 데이터가 저장<94>
되는 공간인 하나의 셀에는 8비트씩 데이터가 저장된다. 8비트씩 4개의 셀에 저장된 32비트의 크기의 저장 데이
터가 1 워드(word)가 된다.
한편, DSP 내부의 데이터 메모리(410)는 24와 32의 최소 공배수(least common multiple)인 96비트로 생성되므<95>
로 3 워드를 가진 메모리가 된다.
한편, 일반적으로 메모리에 저장하거나 읽는 경우에는 LSB(Least Significant Bit)부터 저장되고 읽어오게 되므<96>
로 외부 메모리(400)에서 전송된 데이터는 저장된 DSP 내부의 데이터 메모리(410)에도 LSB부터 저장될 수 있으
나 이에 한정되는 것은 아니다.
먼저, 외부 메모리(400)의 데이터를 내부 데이터 메모리(410)에 저장하는 경우 DSP DMA 제어부(300)와 외부 메<97>
모리(400), DMA 제어부(300)와 내부 데이터 메모리(410)간의 버스는 각각 32비트 대역폭을 가지므로 32비트 단
위로 내부 데이터 메모리(410)에 저장된다.
따라서, 이러한 방법을 순차적으로 수행하면 외부 메모리(400)에 저장된 데이터의 손실없이 모든 데이터를 내부<98>
데이터 메모리(410)에 저장되게 된다.
한편 이러한 방법에 의해 저장된 데이터를 DSP에서 연산 등을 수행하기 위해 데이터를 독출하는 경우를 도 5를<99>
참조하여 살펴본다.
도 5에 도시된 바와 같이, DSP의 처리 단위는 24비트이므로 DSP는 내부 데이터 메모리(410)에 저장된 데이터를<100>
3개의 셀씩 즉 24비트씩 독출하여 독출된 데이터를 DSP 코어(500)에서 처리하는 과정을 수행하게 된다. 따라서
32비트씩 3워드로 써진 96비트의 데이터를 내부 데이터 메모리(410)에서 4번 독출함으로써 손실되는 데이터없이
데이터를 모두 독출할 수 있게 된다.
또한, 내부 데이터 메모리(410)에 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 채워지게 되는 저장 공간<101>
이 전혀 발생하지 않게 된다.
따라서, 본 발명에 의한 DSP에 의하면 외부 메모리와 DSP의 대역폭이 다른 경우에도 외부 메모리에 저장된 데이<102>
터를 데이터의 손실없이 DSP 내부의 데이터 메모리(410)에 모두 저장할 수 있고, 또한 의미없는 데이터가 내부
데이터 메모리(410)의 저장 공간에 채워지지 않고도 DSP의 내부 데이터 메모리(410)에 데이터를 저장하고 연산
등의 데이터 처리를 위해 데이터를 독출할 수 있게 된다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진<103>
당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부
가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
발명의 효과
이상에서 설명한 바와 같이, 본 발명에 의한 디지털 처리 장치의 직접 메모리 액세스 방법 및 이를 이용한 디지<104>
털 신호 처리 장치에 의하면, 다양한 데이터 입출력을 위한 조합 회로가 필요없어 DSP의 처리 속도를 떨어뜨리
지 않는 장점이 있다.
또한, DSP의 처리 속도를 떨어뜨리지 않아 DSP의 메인 클럭 주파수를 올리지 않아도 되므로 소비 전력을 줄일<105>
- 8 -
등록특허 10-0849531
수 있는 장점이 있다.
그리고 데이터의 손실이나 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 데이터 메모리가 채워지지 않는<106>
장점이 있다.
도면의 간단한 설명
도 1은 종래의 DSP에서의 직접 메모리 액세스를 위한 인터페이스를 도시한 도면.<1>
도 2는 종래의 DSP에서의 직접 메모리 액세스 방법에 의해 데이터 메모리에 데이터가 저장되는 과정을 나타낸<2>
도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스를 위한 인터페이스를 도시한 도면.<3>
도 4는 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스 방법에 의해 데이터 메모리에 데이<4>
터가 저장되는 과정을 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 DSP에서 데이터 메모리에 저장된 데이터를 독출하는 과정을 나타<5>
낸 도면.
도면
도면1
도면2
- 9 -
등록특허 10-0849531
도면3
- 10 -
등록특허 10-0849531
도면4
- 11 -
등록특허 10-0849531
도면5
- 12 -
등록특허 10-0849531
디지털 신호 처리 장치에서의 직접 메모리 액세스 방법 및이를 이용한 디지털 신호 처리 장치(Method of direct memory access in digital signalprocessor and digital signal processor by using thesame)
2018. 4. 1. 02:09