KR101813251B1 - 가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법 - Google Patents

가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법 Download PDF

Info

Publication number
KR101813251B1
KR101813251B1 KR1020160041208A KR20160041208A KR101813251B1 KR 101813251 B1 KR101813251 B1 KR 101813251B1 KR 1020160041208 A KR1020160041208 A KR 1020160041208A KR 20160041208 A KR20160041208 A KR 20160041208A KR 101813251 B1 KR101813251 B1 KR 101813251B1
Authority
KR
South Korea
Prior art keywords
accelerator
memory
digital signal
signal processor
data
Prior art date
Application number
KR1020160041208A
Other languages
English (en)
Other versions
KR20170114119A (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 KR1020160041208A priority Critical patent/KR101813251B1/ko
Publication of KR20170114119A publication Critical patent/KR20170114119A/ko
Application granted granted Critical
Publication of KR101813251B1 publication Critical patent/KR101813251B1/ko

Links

Images

Classifications

    • 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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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
    • 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

Landscapes

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

Abstract

본 발명은 가속기와 디지털 신호 프로세서가 상호 메모리를 공유하여 사용할 수 있는 환경 기반의 연산장치 및 연산방법에 관한 것이다. 구체적으로 본 발명은 연산장치 내에 가속기, 디지털 신호 프로세서, 메모리가 구비되어 있음을 전제로 하며, 종래와 달리 가속기로 하여금 직접 메모리에 접근(access)가 가능하도록, 즉 가속기가 자체적으로 연산한 결과 획득된 연산데이터를 직접 메모리의 일부 영역에 저장할 수 있도록 하고, 이렇게 저장된 연산데이터를 디지털 신호 프로세서가 직접 읽어 들일 수 있게 함으로써 연산장치의 처리능력을 향상시키는 것에 관한 것이다.

Description

가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법{OPERATING APPARATUS AND OPERATION METHOD BASED ON ACCELERATOR-DSP MEMORY SHARING CIRCUMSTANCES}
본 발명은 가속기와 디지털 신호 프로세서가 상호 메모리를 공유하여 사용할 수 있는 환경 기반의 연산장치 및 연산방법에 관한 것이다. 구체적으로 본 발명은 연산장치 내에 가속기, 디지털 신호 프로세서, 메모리가 구비되어 있음을 전제로 하며, 종래와 달리 가속기로 하여금 직접 메모리에 접근(access)가 가능하도록, 즉 가속기가 자체적으로 연산한 결과 획득된 연산데이터를 직접 메모리의 일부 영역에 저장할 수 있도록 하고, 이렇게 저장된 연산데이터를 디지털 신호 프로세서가 직접 읽어 들일 수 있게 함으로써 연산장치의 처리능력을 향상시키는 것에 관한 것이다.
정보화 사회가 계속적으로 발전함에 따라 데이터를 연산하는 장치들에 대한 개발 수요 역시 지속적으로 증가하고 있다. 특히 사회가 고도화 되어 감에 따라 연산장치에 의해 처리되는 데이터량도 크게 증가하고 있는데 최근에는 보다 효율적으로 데이터를 처리하게 하는 환경 및 장치에 대한 연구 개발이 활발하게 이루어지고 있다.
위와 같은 맥락에서 최근에는 단말기 내에 내장되는 연산장치를 구현함에 있어서 데이터 처리속도를 높이기 위해 가속기가 많이 활용되고 있다. 가속기는 컴퓨터와 같은 단말기의 데이터 처리 속도를 고속화 하는 전용 모듈 또는 프로그램을 일컫는다.
한편, 일반적으로 연산장치 내에서 가속기는 구비된 메모리에 직접 접근할 수 없으며, 연산장치는 가속기가 연산을 행하여 특정 연산데이터를 얻은 경우 다른 주(main)연산장치, 예를 들어 디지털 신호 프로세서로 하여금 상기 연산데이터가 메모리에 저장되도록 제어하게 하는 방식으로 기능한다. 그러나 이와 같은 방식은 주(main)연산장치가 주된 기능인 데이터 연산 작업을 수행하는 것 외에 여타의 작업, 예를 들어 가속기가 연산한 데이터를 소팅하거나, 또는 메모리로의 저장을 명하는 등의 작업에 리소스를 소모하게 하여 연산장치의 효율을 떨어뜨리는 주 원인이 되어 왔다.
본 발명은 이러한 기술적 배경을 바탕으로 발명되었으며, 이상에서 살핀 기술적 요구를 충족시킴은 물론, 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.
한국공개특허 10-2014-0103343 (2014.08.26.공개)
본 발명은 가속기와 디지털 신호 프로세서가 메모리를 공유할 수 있도록 함으로써 효율을 높인 연산장치 및 이에 의한 연산방법을 제공하는 것을 목적으로 한다.
구체적으로, 본 발명은 종래 메모리에의 직접 접근이 불가하였던 가속기로 하여금 직접 메모리에 데이터에 접근 및 데이터 저장이 가능하게 하고, 디지털 신호 프로세서로 하여금 상기 메모리에 저장된 데이터를 읽어 들일 수 있게 함으로써 디지털 신호 프로세서의 데이터 처리 효율을 상승시키는 것을 목적으로 한다.
위와 같은 문제점을 해결하기 위하여, 본 발명에 따른 연산장치는 데이터를 저장하는 메모리; 상기 메모리의 일부 영역에 직접 접근이 가능하며, 상기 메모리의 일부 영역에 연산데이터를 저장하는 가속기; 상기 메모리에 접근이 가능하며, 상기 메모리에 저장된 연산데이터를 읽어들이는 디지털 신호 프로세서(DSP);를 포함한다.
또한, 상기 연산장치에 있어서 상기 디지털 신호 프로세서는 상기 가속기가 접근할 수 있는 메모리 영역을 제어하는 것을 특징으로 한다.
또한, 상기 연산장치에 있어서 상기 가속기는 FFT 가속기, FLT 가속기, 비터비 가속기 또는 코덱 가속기일 수 있다.
한편, 본 발명의 다른 측면에 따른 연산방법은 (a) 가속기가 외부로부터 수신한 신호를 기반으로 연산하는 단계; (b) 가속기가 메모리에 직접 접근하여 상기 (a)단계에서의 연산 결과 획득된 연산데이터를 저장하는 단계; (c) 디지털 신호 프로세서(DSP)가 상기 메모리에 저장된 연산데이터를 읽어들이는 단계; 를 포함한다.
본 발명에 따르면 연산장치의 전반적인 데이터 처리능력, 즉 데이터 처리량 및 처리속도가 개선되는 효과를 얻을 수 있다.
또한 본 발명에 따르면 연산장치 내 디지털 신호 프로세서의 리소스를 보다 효율적으로 활용할 수 있게 되는 효과가 있다.
도 1은 종래 방식에 따른 연산장치의 구동태양을 도시한 것이다.
도 2는 종래 방식에 따른 연산장치에서의 데이터 처리과정을 나타낸 것이다.
도 3은 본 발명에 따른 연산장치의 구동태양을 도시한 것이다.
도 4는 본 발명에 따른 연산장치에서의 데이터 처리과정을 나타낸 것이다.
도 5는 본 발명에 따라 데이터가 처리되는 과정을 도시한 것이다.
도 6은 본 발명에 따른 연산방법의 실제 활용예를 설명하기 위한 도면이다.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.
본 명세서에서 개시되는 실시예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시예들로 한정되는 것을 의도하지 않는다.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.
또한, 어떤 구성요소들을 포함한다는 표현은 개방형의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
나아가 어떤 구성요소가 다른 구성요소에 연결되어 있다거나 접속되어 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다.
또한 '제1, 제2' 등과 같은 표현은 복수의 구성들을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다.
어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
도 1은 종래 연산장치(10)의 기본 구성을 도시한 것이다. 아래 도 1을 참조하여 종래 연산장치(10)의 구성 및 구동방식에 대해 살펴보기로 한다.
본 발명에서 언급되는 연산장치(10)는 기본적으로 가속기(11), 디지털 신호 프로세서(13), 메모리(15)를 포함하는 것을 전제로 하며, 그 외 상기 가속기(11)에 처리를 요하는 데이터를 전달하는 필터(17), 그리고 상기 가속기(11)에 의해 데이터가 처리된 결과 얻어지는 연산데이터를 메모리(15) 또는 디지털 신호 프로세서(13)까지 전달하는 DMA(19)(Direct Memory Access)를 더 포함할 수 있다. 이하에서는 각 구성의 기능에 대해 간략히 알아보기로 한다.
먼저 가속기(11)란 앞서 언급하였던 것과 같이 컴퓨터와 같은 단말기의 데이터 처리 속도를 고속화 하는 기능부를 일컫는 것이며, 해당 가속기(11)는 연산장치(10) 내 별도 구비된 하드웨어 장치로 구현될 수 있거나 또는 소프트웨어로 구현될 수도 있다. 이 때 가속기(11)는 설계자의 의도, 또는 처리되는 데이터의 종류, 데이터 처리에 활용되는 연산방법 등에 따라 다양하게 구현될 수 있는데, 예를 들어 상기 가속기(11)는 FFT(Fast Fourier Transform) 가속기, FLT(Filter) 가속기, 비터비 가속기 또는 코덱 가속기 일 수 있다.
다음으로 디지털 신호 프로세서(13)란 디지털 신호를 고속으로 처리하기 위하여 덧셈, 뺄셈, 곱셈 등의 반복 연산을 고속으로 처리할 수 있는 장치이다. 본 발명에서의 디지털 신호 프로세서(13)는 디지털 신호를 처리하는 전반적인 기술장치를 포함하는 것으로 이해되어야 할 것이다. 한편, 디지털 신호 프로세서(13)는 디지털 신호의 연산을 위하여 후술하게 될 메모리(15)에 접근하여 저장된 데이터를 읽어 들일 수 있다. 또한 디지털 신호 프로세서(13)는 상기 가속기(11)에 의해 연산된 결과물, 즉 연산데이터가 메모리(15)에 전송, 가공 및 저장되는 과정에 대해서도 제어를 담당하게 된다.
메모리(15)는 정보를 기억시킬 수 있는 저장장치를 가리키는 것으로, 본 발명에서의 메모리(15)는 바람직하게는 전원이 공급되는 동안에만 저장된 내용을 기억하는 SRAM(Static Random Access Memory)일 수 있다.
다음으로 필터(17)는 외부로부터 수신된 신호 중 분석을 요하는 주파수 대역만을 통과시키고 나머지 대역의 신호를 배제시키는 기능을 하는 것으로, 궁극적으로는 외부로부터 신호가 수신되면 필요한 신호 대역만을 필터링하여 가속기(11)로 전달하는 역할을 한다. 한편, 본 단락에서 설명하는 필터(17)는 필터링 된 신호 대역을 가속기(11)로만 전달하는 것으로 설명하고 있으나 이는 본 발명의 이해를 돕기 위한 실시예 설명에 불과한 것이며, 실제 상기 필터(17)에서 필터링 된 신호는 DMA(19)를 거쳐 메모리(15) 또는 디지털 신호 프로세서(13)로 곧바로 전달될 수도 있음을 이해해야 할 것이다.
다음으로 DMA(19)(Direct Memory Access)는 중앙처리장치(CPU)를 거치지 않은 채 일련의 정보 블록(block)을 곧바로 메모리(15)로 전달하는, 또는 반대로 메모리(15)에 저장된 정보 블록을 다른 모듈로 전달하는 역할을 한다. 대량의 데이터가 전송되는 경우 중앙처리장치가 직접 제어시 상당히 많은 부하가 걸리게 되는데, DMA(19)는 중앙처리장치를 거치지 않고 직접 데이터를 전송할 수 있어 부하를 줄임과 동시에 전반적인 시스템 성능을 향상시키는 역할을 한다.
한편, 도 2는 종래 연산장치에서 데이터가 처리되는 과정을 순서에 따라 나타낸 것인데, 도 1 및 도 2를 참조하여 종래 방식에 따라 외부로부터 수신된 신호가 어떻게 처리되는지, 특히 메모리에의 저장 과정에 주목하여 살펴보면 아래와 같다.
우선 연산장치는 외부로부터 처리가 필요한 신호를 수신하게 되며, 이 때 수신된 신호는 필터를 통과하면서 노이즈 신호가 제고되고 이후 가속기로 전달된다.
신호를 전달 받은 가속기는 자체적으로 연산을 수행하는데, 이 때 수행되는 연산은 앞서도 언급하였듯 수신되는 신호의 종류, 처리하고자 하는 연산방법 등에 따라 그 연산방식이 상이할 수 있다.
가속기에서의 신호에 대한 연산이 완료된 후에는 결과물로서 데이터(이하에서는 연산데이터라 칭하기로 한다.)가 획득되는데, 이러한 연산데이터는 DMA를 거쳐 메모리로 저장되거나 또는 디지털 신호 프로세서로 전달되어 디지털 신호 프로세서에서의 후속적인 연산에 활용된다.
한편, 디지털 신호 프로세서는 가속기가 획득한 연산데이터를 메모리 또는 디지털 신호 프로세서로 전달시키는 과정을 제어하게 되며, 이 과정에서 디지털 신호 프로세서 자신의 리소스를 소모하게 된다. 리소스란 쉽게 말해 디지털 신호 프로세서가 여러 작업을 수행함에 있어 소모하게 되는 자원을 의미하는데, 예를 들어 MIPS는 이러한 프로세서의 리소스를 측정하는 지표로 활용될 수 있다.
MIPS(Million instruction per second)는 1초간 명령 실행 횟수를 백만 단위로 표현하는 것으로 가령 50MIPS의 성능을 갖는 디지털 신호 프로세서가 있다면 이는 초당 5천만 개의 명령어를 처리할 수 있음을 의미한다.
디지털 신호 프로세서의 경우 명령 실행 횟수, 즉 성능의 한계가 있는데 이러한 리소스를 온전히 데이터를 처리하는 데에 활용하지 못하고 가속기가 획득한 연산데이터를 다른 모듈로 전달시키는 명령을 하는 용도, 상기 메모리에 연산데이터를 저장시킬 때에 데이터를 소팅하는 등 데이터 가공의 용도 등으로 소모하는 경우 디지털 신호 프로세서 및 이를 포함하는 연산장치로서는 전반적인 성능 저하가 발생할 수 밖에 없는 것이다.
디지털 신호 프로세서의 리소스 소비는 반복적인 연산이 계속되는 경우 더 큰 문제가 될 수 있다. 예를 들어 도 2는 외부로부터 수신되는 신호에 대해 가속기가 반복적으로 연산을 하고, 연산데이터를 반복적으로 메모리에 저장하는 과정을 나타낸 것이다. 도 2에 따르면 연산장치는 가속기로 하여금 1회차 연산(S20)을 한 후 연산데이터를 메모리에 이동 및 저장(S22)시키는 과정(1싸이클), 2회차 연산(S24)을 한 후 연산데이터를 메모리에 이동 및 저장(S26)시키는 과정(2싸이클), 메모리에 저장된 연산데이터를 기초로 디지털 신호 프로세서가 후속적인 연산(S28)을 하는 과정을 진행할 수 있다. 살펴보면 한 번의 싸이클 당 디지털 신호 프로세서는 가속기에서의 연산데이터를 메모리에 저장시키는 데에 리소스를 소모하며, 추가적으로 디지털 신호 프로세서는 상기 메모리에 저장될 데이터를 가공하는 데에도 리소스를 소모할 수 있다. 즉, 반복적인 연산이 증가할수록 디지털 신호 프로세서는 메모리에의 연산데이터 저장 명령, 연산데이터 가공 명령 등의 부수적인 명령을 수행하는 데에 리소스를 소모하게 되어 정작 핵심적인 기능인 데이터 연산에는 많은 양의 리소스를 할당할 수 없게 되는 것이다.
도 3 및 도 4는 위와 같은 문제점을 보완하기 위해 제안된 연산장치 및 연산방법을 도시한 것이다.
도 3에 따르면 연산장치(100)는 대부분의 구성이 도 1에서의 연산장치(100)와 유사하나, 가속기(110)가 직접 메모리(150)와 연결될 수 있다는 점에서 차이가 있다. 즉, 본 발명에 따른 연산장치(100)의 가속기(110)는 필터(170)로부터 수신한 신호에 대한 연산 후 연산데이터가 획득된 경우 이를 디지털 신호 프로세서(130)의 명령에 의해 DMA(190) 등의 경로를 통해 메모리(150)에 저장하는 것이 아니라, 곧바로 획득된 데이터를 이미 할당되어 있는 메모리(150) 영역에 저장할 수 있는 것이다.
이 때 상기 메모리(150)에는 가속기(110)가 연산데이터를 저장할 수 있는 영역이 미리 할당되어 있는데 가속기(110)가 직접 접근할 수 있는 메모리(150) 영역에 대한 설정 또는 제어는 디지털 신호 프로세서(130)가 담당하게 된다. 즉, 디지털 신호 프로세서(130)는 미리 메모리(150)에 대해 디지털 신호 프로세서(130)를 거쳐 저장할 수 있는 영역과 가속기(110)가 디지털 신호 프로세서(130)를 거치지 않고 직접 접근하여 저장할 수 있는 영역을 설정할 수 있다. 한편, 메모리(150) 영역을 설정한다는 것의 의미는 메모리(150)의 크기 및 메모리(150)가 저장되는 주소를 설정하는 것을 포함한다.
결과적으로 본 발명에 따른 연산장치(100)에 의하면 가속기(110)는 디지털 신호 프로세서(130)의 명령에 따라 메모리(150)에 연산데이터를 저장할 수 있을 뿐만 아니라, 가속기(110)가 연산 결과 획득한 연산데이터를 직접 메모리(150)에 접근하여 저장할 수도 있다.
한편, 본 발명에 따른 연산장치(100) 및 연산방법은 반복적인 연산일수록 효과가 뚜렷이 드러난다. 도 4는 앞서 살펴본 도 2에서와 마찬가지로 반복적인 데이터 연산이 필요한 경우 순서를 나타낸 것이다.
도 4에 따르면 가속기는 1회차 연산을 한 후 곧바로 연산데이터를 메모리에 저장(S40)하고, 2회차 연산 후 연산데이터를 메모리에 저장(S42)하며, 마지막으로 디지털 신호 프로세서는 메모리에 저장된 연산데이터를 기초로 후속 연산을 수행(S44)한다. 즉, 도 2와 비교하였을 때 본 발명에 따른 연산방법은 연산데이터가 디지털 신호 프로세서의 명령에 의해 메모리에 저장되는 과정이 존재하지 않으므로 디지털 신호 프로세서로서는 그 만큼의 리소스를 절감할 수 있게 되는 것이다.
도 5는 본 발명에 따른 연산방법을 다른 방식으로 도시한 것이다.
연산장치 내에는 256KB 크기의 SRAM, 즉 메모리가 구비되어 있을 수 있으며 디지털 신호 프로세서는 위 SRAM의 저장 공간 중 64KB는 가속기가 직접 접근할 수 있는 영역으로, 그리고 나머지 192KB 는 가속기가 직접 접근할 수 없는 영역으로 설정할 수 있다. 도 5의 (a)는 메모리가 할당된 모습을 나타낸 것으로 메모리 중 64KB(32KB, 32KB)는 가속기가 직접 접근할 수 있는 영역, 나머지 192KB는 가속기가 직접 접근할 수 없는 영역으로 설정됨을 나타낸 것이다.
한편, 도 5의 (b)에서도 볼 수 있듯 본 실시예에서의 가속기는 반복적인 연산을 하는 경우 1회차에는 상기 64KB 중 32KB 영역에 직접 접근하여 연산데이터를 저장(A점유 연산)할 수 있으며, 2회차에는 상기 64KB 중 또 다른 32KB 영역에 접근하여 연산데이터를 저장(B점유 연산)할 수 있다.
이렇듯 본 발명에 따른 연산장치의 가속기는 반복적인 연산을 함에 있어 메모리의 특정 영역과 직접 연계되어 연산 결과 획득된 연산데이터를 곧바로 저장할 수 있으며, 이 과정에서 디지털 신호 프로세서는 개입을 하지 않으므로 리소스를 절감할 수 있는 효과를 꾀할 수 있다.
한편, 가속기가 접근할 수 있는 영역의 메모리에 저장된 연산데이터들은 디지털 신호 프로세서에 의해 로드될 수 있으며, 상기 메모리에 저장되어 있는 연산데이터들은 이미 가속기에 의해 정렬이 된 채로 저장된 것이므로 디지털 신호 프로세서는 별도 데이터 가공 과정을 거칠 필요 없이 저장된 연산데이터를 그대로 후속 연산에 활용할 수 있다. 즉, 디지털 신호 프로세서로서는 가속기가 연산에 의해 획득한 연산데이터를 별도로 이동시킨다거나 정렬시키는 등의 작업에 리소스를 사용할 필요가 없게 되므로 그 만큼의 리소스를 절감할 수 있게 된다.
도 6은 본 발명에 따른 연산방법이 실제 적용될 수 있는 사례를 도시한 것이다.
도 6은 일정 대역 주파수의 신호에 대해 반복적인 신호세기 탐색을 하고, 탐색된 신호세기 데이터를 기반으로 유의미한 방송채널의 주파수를 찾는 과정을 나타낸 것이다. 이 과정을 상기 도 3의 연산장치 및 연산방법에 적용시켜 설명하면 다음과 같다.
연산장치는 외부로부터 수신되는 방송신호를 수신하며, 필터는 위 방송신호 중 탐색이 필요한 주파수 대역의 신호만을 걸러 가속기에 전달한다. 이 후 가속기는 해당 주파수 대역에 대해서 유의미한 방송채널을 찾고자 각 주파수 별로 신호세기를 탐색하게 된다. 한편, 이와 같은 방송채널 탐색 과정은 특정 주파수 대역의 신호세기를 여러 차례 스캐닝하여 얻어진 데이터를 조합하는 방식으로 이루어지는데, 도 6에서도 볼 수 있듯 같은 주파수 대역의 신호세기를 여러 번 탐색하여 정보를 획득한 후 이들 정보를 합쳐 보는 경우 신호세기가 약한 주파수, 신호세기가 강한 주파수가 더 분명하게 드러나기 때문이다.
따라서 연산장치는 상기 필터로부터 전달 받은 신호를 주파수 영역으로 변환하여 각 주파수 별 신호세기를 파악한 후 해당 정보를 메모리의 정해진 영역에 저장한다. 본 과정은 도 4의 S40 단계, 도 6의 (a)에 대응된다. 또한 연산장치는 상기 필터로부터 전달 받은 신호에 대해 재차 주파수 영역으로 변환한 후 각 주파수 별 신호세기를 파악하고 해당 정보를 메모리의 또 다른 영역에 저장한다. 본 과정은 도 4의 S42 단계, 도 6의 (b)에 대응된다.
한편, 이와 같이 연산데이터들이 몇 차례의 가속기 연산에 따라 메모리에 저장된 후 디지털 신호 프로세서는 상기 연산데이터들을 기초로 후속적인 연산작업을 수행한다. 즉, 상기 디지털 신호 프로세서는 1회차 스캐닝에 따라 저장된 연산데이터 및 2회차 스캐닝에 따라 저장된 연산데이터를 로드한 후 이들 각 데이터를 단순 합산하는 연산을 함으로써 최종적으로 도 6의 (c)와 대응되는 결과물을 획득할 수 있게 된다.
이와 같이 본 발명에 따른 연산장치, 연산방법은 가속기로 하여금 연산데이터를 직접 메모리에 저장할 수 있도록 하며, 이 과정에서 디지털 신호 프로세서는 여타의 명령어를 수행하지 않아도 되므로 리소스, 즉 MIPS를 절감할 수 있게 되는 효과가 있다.
이상 본 발명의 바람직한 실시예 및 응용예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.
10, 100: 연산장치
11, 110: 가속기
13, 130: 디지털 신호 프로세서(DSP)
15, 150: 메모리
17, 170: 필터
19, 190: DMA

Claims (4)

  1. 데이터를 저장하는 메모리;
    상기 메모리의 일부 영역에 직접 접근이 가능하며, 상기 메모리의 일부 영역에 연산데이터를 저장하는 가속기;
    상기 메모리에 접근이 가능하며, 상기 메모리에 저장된 연산데이터를 읽어들이는 디지털 신호 프로세서(DSP);
    를 포함하되,
    상기 디지털 신호 프로세서는 메모리에 대해 디지털 신호 프로세서를 거쳐 저장할 수 있는 영역과 상기 가속기가 디지털 신호 프로세서를 거치지 않고 직접 접근하여 저장할 수 있는 영역을 설정하되,
    상기 가속기는 FFT 가속기, FLT 가속기, 비터비 가속기 또는 코덱 가속기인 것을 특징으로 하되,
    상기 가속기는 필터로부터 전달 받은 신호를 주파수 영역으로 변환하여 각 주파수 별 신호세기를 파악한 후 연산데이터를 메모리의 정해진 영역에 저장하고, 상기 필터로부터 전달 받은 신호에 대해 재차 주파수 영역으로 변환한 후 각 주파수별 신호세기를 파악하고 연산데이터를 메모리의 또 다른 영역에 저장하며,
    상기 디지털 신호 프로세서는 상기 연산데이터들을 기초로 연산작업을 수행하는 연산장치.
  2. 제1항에 있어서,
    상기 디지털 신호 프로세서는 상기 가속기가 접근할 수 있는 메모리 영역을 제어하는 것을 특징으로 하되,
    상기 가속기는 1회차 연산을 한 후 연산데이터를 메모리에 저장하고, 2회차 연산 후 연산데이터를 메모리에 저장하며, 상기 디지털 신호 프로세서는 메모리에 저장된 연산데이터를 기초로 후속 연산을 수행하는 연산장치.
  3. 삭제
  4. 가속기를 포함하는 연산장치가 연산하는 방법에 있어서,
    (a) 가속기가 외부로부터 수신한 신호를 기반으로 연산하는 단계;
    (b) 가속기가 메모리에 직접 접근하여 상기 (a)단계에서의 연산 결과 획득된 연산데이터를 저장하는 단계;
    (c) 디지털 신호 프로세서(DSP)가 상기 메모리에 저장된 연산데이터를 읽어들이는 단계;
    를 포함하되,
    상기 디지털 신호 프로세서는 메모리에 대해 디지털 신호 프로세서를 거쳐 저장할 수 있는 영역과 상기 가속기가 디지털 신호 프로세서를 거치지 않고 직접 접근하여 저장할 수 있는 영역을 설정하고,
    상기 가속기는 필터로부터 전달 받은 신호를 주파수 영역으로 변환하여 각 주파수 별 신호세기를 파악한 후 연산데이터를 메모리의 정해진 영역에 저장하고, 상기 필터로부터 전달 받은 신호에 대해 재차 주파수 영역으로 변환한 후 각 주파수별 신호세기를 파악하고 연산데이터를 메모리의 또 다른 영역에 저장하며,
    상기 디지털 신호 프로세서는 상기 연산데이터들을 기초로 연산작업을 수행하는 연산방법.

KR1020160041208A 2016-04-04 2016-04-04 가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법 KR101813251B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160041208A KR101813251B1 (ko) 2016-04-04 2016-04-04 가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160041208A KR101813251B1 (ko) 2016-04-04 2016-04-04 가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법

Publications (2)

Publication Number Publication Date
KR20170114119A KR20170114119A (ko) 2017-10-13
KR101813251B1 true KR101813251B1 (ko) 2017-12-29

Family

ID=60139598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160041208A KR101813251B1 (ko) 2016-04-04 2016-04-04 가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법

Country Status (1)

Country Link
KR (1) KR101813251B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681553B2 (en) 2018-11-16 2023-06-20 Samsung Electronics Co., Ltd. Storage devices including heterogeneous processors which share memory and methods of operating the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102334473B1 (ko) * 2019-11-20 2021-12-03 한국전자기술연구원 적응형 딥러닝 가속 장치 및 방법
KR20210090833A (ko) 2020-01-13 2021-07-21 알로코리아 주식회사 공기조화장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073591A1 (en) * 2002-08-20 2004-04-15 Jean-Pierre Giacalone Hardware extension for accelerating fractional integer division within 3D graphics and MP3 applications
US20060179259A1 (en) * 2005-02-04 2006-08-10 Arm Limited Data Processing apparatus and method for controlling access to memory
US20100030927A1 (en) * 2008-07-29 2010-02-04 Telefonaktiebolaget Lm Ericsson (Publ) General purpose hardware acceleration via deirect memory access

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073591A1 (en) * 2002-08-20 2004-04-15 Jean-Pierre Giacalone Hardware extension for accelerating fractional integer division within 3D graphics and MP3 applications
US20060179259A1 (en) * 2005-02-04 2006-08-10 Arm Limited Data Processing apparatus and method for controlling access to memory
US20100030927A1 (en) * 2008-07-29 2010-02-04 Telefonaktiebolaget Lm Ericsson (Publ) General purpose hardware acceleration via deirect memory access

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681553B2 (en) 2018-11-16 2023-06-20 Samsung Electronics Co., Ltd. Storage devices including heterogeneous processors which share memory and methods of operating the same

Also Published As

Publication number Publication date
KR20170114119A (ko) 2017-10-13

Similar Documents

Publication Publication Date Title
WO2019218896A1 (zh) 计算方法以及相关产品
KR101529802B1 (ko) 효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치
US9710380B2 (en) Managing shared cache by multi-core processor
KR101813251B1 (ko) 가속기-디지털 신호 프로세서 간 메모리 공유 기반의 연산장치 및 연산방법
US8595467B2 (en) Floating point collect and operate
US11698673B2 (en) Techniques for memory access in a reduced power state
US20120317582A1 (en) Composite Contention Aware Task Scheduling
Ouyang et al. Active SSD design for energy-efficiency improvement of web-scale data analysis
CN110688160B (zh) 一种指令流水线处理方法、系统、设备及计算机存储介质
US7472390B2 (en) Method and apparatus to enable execution of a thread in a multi-threaded computer system
CN101196776A (zh) 加速器、信息处理装置和信息处理方法
US11237994B2 (en) Interrupt controller for controlling interrupts based on priorities of interrupts
KR20210097655A (ko) 명령을 실행하기 위한 방법, 장치, 기기 및 컴퓨터 판독 가능 저장 매체
US8555097B2 (en) Reconfigurable processor with pointers to configuration information and entry in NOP register at respective cycle to deactivate configuration memory for reduced power consumption
US10127040B2 (en) Processor and method for executing memory access and computing instructions for host matrix operations
US20180253547A1 (en) Control flow integrity
US8412862B2 (en) Direct memory access transfer efficiency
US20130219123A1 (en) Multi-core processor sharing l1 cache
US10073810B2 (en) Parallel processing device and parallel processing method
US20180253288A1 (en) Dynamically predict and enhance energy efficiency
WO2021061269A1 (en) Storage control apparatus, processing apparatus, computer system, and storage control method
US20240143061A1 (en) System on chip and operation method thereof
US11550572B2 (en) Splitting vector instructions into microinstructions for parallel execution based on index comparisons of completed microinstructions
Sato et al. A Crossbar Switch Circuit Design for Reconfigurable Wave-Pipelined Circuits
CN117112136A (zh) 中断虚拟化的方法、装置、操作系统、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
R401 Registration of restoration