검수요청.png검수요청.png

"디지털 신호처리장치"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
2번째 줄: 2번째 줄:
  
 
== 개요 ==
 
== 개요 ==
DSP는 디지털 신호 처리의 운영 요구에 최적화된 아키텍처를 가진 전문 마이크로프로세서 칩이다. DSP는 MOS 집적회로 칩에서 제작된다. 오디오 신호 처리, 통신, 디지털 이미지 처리, 레이더, 음파 탐지 및 음성 인식 시스템, 휴대전화, 디스크 드라이브, 고화질 텔레비전(HDTV) 제품 등 일반 소비자 전자 장치 등에 널리 사용된다. DSP의 목표는 일반적으로 연속적인 실제 아날로그 신호를 측정, 필터링 또는 압축하는 것이다. 대부분의 범용 마이크로프로세서는 디지털 신호 처리 알고리즘도 성공적으로 실행할 수 있지만, 실시간으로 그러한 처리를 지속적으로 따라가지 못할 수도 있다. 또 전용 DSP는 통상 전력 효율이 높아 전력 소비 제약 때문에 휴대전화 등 휴대용 기기에 더 적합하다. DSP는 여러 데이터나 지침을 동시에 가져올 수 있는 특수한 메모리 아키텍처를 사용하는 경우가 많다. 또한 DSP는 데이터 압축 기술을 구현하는 경우가 많은데, 특히 이산 코사인 변환(DCT)은 DSP에서 널리 사용되는 압축 기술이다. 디지털 신호 처리 알고리즘은 일반적으로 일련의 데이터 샘플에서 많은 수의 수학적 연산을 빠르고 반복적으로 수행해야 한다. 신호는 아날로그에서 디지털로 끊임없이 변환되고, 디지털로 조작되었다가 다시 아날로그 형태로 변환된다. 많은 DSP 애플리케이션은 지연 시간에 제약이 있다. 즉, 시스템이 작동하려면 DSP 연산을 일정한 시간 내에 완료해야 하며, 지연 처리를 실행할 수 없다. 대부분의 범용 마이크로프로세서와 운영체제는 DSP 알고리즘을 성공적으로 실행할 수 있지만, 전력 효율 제약 때문에 휴대 전화나 PDA와 같은 휴대용 장치에서는 사용하기에 적합하지 않다. 그러나 특수화된 DSP는 더 나은 성능, 더 낮은 대기 시간 및 특수 냉각 또는 대형 배터리에 대한 요구사항이 없는 저비용 솔루션을 제공하는 경향이 있다. 이러한 성능 개선으로 인해 수백 또는 수천 개의 아날로그 필터, 스위치, 주파수 변환기 등이 업링크된 신호를 수신 및 처리하고 다운링크를 준비하기 위해 필요한 상용 통신 위성에 디지털 신호 처리가 도입되었으며, 특수화된 DSP로 대체될 수 있다. 위성의 중량, 전력 소비량, 복잡성/건설 비용, 운영의 신뢰성 및 유연성에 상당한 이점이 있다. 예를 들어 2018년에 발사된 운용사 SES의 SES-12와 SES-14 위성은 모두 DSP를 사용해 용량의 25%를 가진 에어버스 디펜스 앤 스페이스가 만들었다.<ref name="위키피디아">Digital signal processor Wikipedia- https://en.wikipedia.org/wiki/Digital_signal_processor</ref>
+
DSP는 디지털 신호 처리의 운영 요구에 최적화된 아키텍처를 가진 전문 마이크로프로세서 칩이다. DSP는 MOS 집적회로 칩에서 제작된다. 기본 조작은 필터링(filtering), 프리어 변환, 상관 함수의 산출, 부호화, 변복조, 미분, 적분, 적응 신호 처리 등이다. 음성 합성, 음성 인식, 음성 부호화, 압축, 중고속 모뎀, 반향 소거 장치(echo canceller) 등의 음성 및 통신 시스템에서 채용되고 있으며, 화상 처리나 서보 모터(servo motor) 제어 등의 고속 디지털 제어 분야에 대한 적용도 실용화되고 있다.<ref>디지털 신호 처리 장치 한국정보통신기술협회 정보통신용어사전 - https://terms.tta.or.kr/dictionary/dictionaryView.dosubject=%EB%94%94%EC%A7%80%ED%84%B8+%EC%8B%A0%ED%98%B8+%EC%B2%98%EB%A6%AC+%EC%9E%A5%EC%B9%98 </ref> 오디오 신호 처리, 통신, 디지털 이미지 처리, 레이더, 음파 탐지 및 음성 인식 시스템, 휴대전화, 디스크 드라이브, 고화질 텔레비전(HDTV) 제품 등 일반 소비자 전자 장치 등에 널리 사용된다. DSP의 목표는 일반적으로 연속적인 실제 아날로그 신호를 측정, 필터링 또는 압축하는 것이다. 대부분의 범용 마이크로프로세서는 디지털 신호 처리 알고리즘도 성공적으로 실행할 수 있지만, 실시간으로 그러한 처리를 지속적으로 따라가지 못할 수도 있다. 또 전용 DSP는 통상 전력 효율이 높아 전력 소비 제약 때문에 휴대전화 등 휴대용 기기에 더 적합하다. DSP는 여러 데이터나 지침을 동시에 가져올 수 있는 특수한 메모리 아키텍처를 사용하는 경우가 많다. 또한 DSP는 데이터 압축 기술을 구현하는 경우가 많은데, 특히 이산 코사인 변환(DCT)은 DSP에서 널리 사용되는 압축 기술이다. 디지털 신호 처리 알고리즘은 일반적으로 일련의 데이터 샘플에서 많은 수의 수학적 연산을 빠르고 반복적으로 수행해야 한다. 신호는 아날로그에서 디지털로 끊임없이 변환되고, 디지털로 조작되었다가 다시 아날로그 형태로 변환된다. 많은 DSP 애플리케이션은 지연 시간에 제약이 있다. 즉, 시스템이 작동하려면 DSP 연산을 일정한 시간 내에 완료해야 하며, 지연 처리를 실행할 수 없다. 대부분의 범용 마이크로프로세서와 운영체제는 DSP 알고리즘을 성공적으로 실행할 수 있지만, 전력 효율 제약 때문에 휴대 전화나 PDA와 같은 휴대용 장치에서는 사용하기에 적합하지 않다. 그러나 특수화된 DSP는 더 나은 성능, 더 낮은 대기 시간 및 특수 냉각 또는 대형 배터리에 대한 요구사항이 없는 저비용 솔루션을 제공하는 경향이 있다. 이러한 성능 개선으로 인해 수백 또는 수천 개의 아날로그 필터, 스위치, 주파수 변환기 등이 업링크된 신호를 수신 및 처리하고 다운링크를 준비하기 위해 필요한 상용 통신 위성에 디지털 신호 처리가 도입되었으며, 특수화된 DSP로 대체될 수 있다. 위성의 중량, 전력 소비량, 복잡성/건설 비용, 운영의 신뢰성 및 유연성에 상당한 이점이 있다. 예를 들어 2018년에 발사된 운용사 SES의 SES-12와 SES-14 위성은 모두 DSP를 사용해 용량의 25%를 가진 에어버스 디펜스 앤 스페이스가 만들었다.<ref name="위키피디아">Digital signal processor Wikipedia - https://en.wikipedia.org/wiki/Digital_signal_processor</ref>
  
 
== 역사 ==
 
== 역사 ==
17번째 줄: 17번째 줄:
  
 
약 5년 후 DSP 2세대가 확산되기 시작했다. 그들은 두 개의 피연산자를 동시에 저장하기 위한 3개의 메모리를 가지고 있었고, 꽉 끼는 루프를 가속화할 수 있는 하드웨어를 포함시켰으며, 또한 루프 애드드레싱이 가능한 어드레싱 장치를 가지고 있었다. 이들 중 일부는 24비트 변수에 대해 작동했으며 일반적인 모델은 MAC에 대해 약 21ns만 필요했다. 이 세대의 구성원들은 AT&T DSP16A나 모토로라 56000 같은 모델이 있다. 3세대의 주요 개선점은 데이터 경로에 애플리케이션별 단위와 지침이 등장하거나, 때로는 코프로세서로 나타나는 것이었다. 이 단위들은 푸리에 변환 또는 매트릭스 연산처럼 매우 구체적이면서도 복잡한 수학 문제의 하드웨어 가속화를 허용했다. 모토로라 MC68356과 같은 일부 칩은 병렬로 작동하기 위해 두 개 이상의 프로세서 코어를 포함하기도 했다. 4세대는 명령어 집합과 명령어 인코딩/디코딩의 변경이 가장 잘 특징 지어진다. SIMD 확장이 추가되었고, VLIW와 슈퍼칼라 아키텍처가 나타났다.  
 
약 5년 후 DSP 2세대가 확산되기 시작했다. 그들은 두 개의 피연산자를 동시에 저장하기 위한 3개의 메모리를 가지고 있었고, 꽉 끼는 루프를 가속화할 수 있는 하드웨어를 포함시켰으며, 또한 루프 애드드레싱이 가능한 어드레싱 장치를 가지고 있었다. 이들 중 일부는 24비트 변수에 대해 작동했으며 일반적인 모델은 MAC에 대해 약 21ns만 필요했다. 이 세대의 구성원들은 AT&T DSP16A나 모토로라 56000 같은 모델이 있다. 3세대의 주요 개선점은 데이터 경로에 애플리케이션별 단위와 지침이 등장하거나, 때로는 코프로세서로 나타나는 것이었다. 이 단위들은 푸리에 변환 또는 매트릭스 연산처럼 매우 구체적이면서도 복잡한 수학 문제의 하드웨어 가속화를 허용했다. 모토로라 MC68356과 같은 일부 칩은 병렬로 작동하기 위해 두 개 이상의 프로세서 코어를 포함하기도 했다. 4세대는 명령어 집합과 명령어 인코딩/디코딩의 변경이 가장 잘 특징 지어진다. SIMD 확장이 추가되었고, VLIW와 슈퍼칼라 아키텍처가 나타났다.  
 +
 +
== 구조 ==
 +
=== 소프트웨어 ===
 +
범용 프로세서의 표준에 따르면 DSP 명령어 세트는 종종 매우 불규칙한 경우가 많다. 전통적인 명령어 세트는 더 다양한 작업을 수행할 수 있는 더 일반적인 명령어로 구성되는 반면, 디지털 신호 처리에 최적화된 명령어 세트에는 다음과 같은 일반적인 수학적 작동에 대한 지침이 포함되어 있다. 기존의 명령어 세트와 DSP 최적화 명령어 세트 모두 임의 작업을 계산할 수 있지만, 계산하는 데 여러 ARM 또는 x86 명령이 필요할 수 있는 작업에는 DSP 최적화 명령어 세트에 하나의 명령어만 필요할 수 있다. 소프트웨어 아키텍처에 대한 한 가지 함축적 의미는 손으로 최적화된 조립 코드 루틴(조립 프로그램)이 필수 알고리즘을 처리하기 위해 고급 컴파일러 기술에 의존하는 대신 일반적으로 재사용을 위해 라이브러리에 패키징된다는 것이다. 현대 컴파일러 최적화를 하더라도 손으로 최적화된 조립품 코드는 더 효율적이고 DSP 계산에 관련된 많은 공통 알고리즘은 아키텍처 최적화를 최대한 활용하기 위해 수기로 작성된다. 소프트웨어 아키텍처의 명령 집합은 다음과 같다.
 +
 +
; 명령 집합
 +
*멀티-어큐뮬레이션(MAC, 퓨전 멀티-애드, FMA 포함) 작업
 +
**모든 종류의 매트릭스 연산에 광범위하게 사용됨
 +
***필터링을 위한 콘볼루션
 +
***도트 제품
 +
***다항식 평가
 +
**기본 DSP 알고리즘은 다중 계산 성능에 크게 의존한다.
 +
***유한 임펄스 응답(FIR) 필터
 +
***푸리에 변환 패스트(Fast Fourier Transform)
 +
*관련 ISA 및 지침
 +
**단일 명령 다중 데이터(SIMD)
 +
**매우 긴 명령어(VLIW)
 +
**수퍼스칼라 구조
 +
*푸리에 변환 패스트 상호 참조를 위한 링 버퍼 및 비트 역방향 주소 지정 모드에서 모듈로 주소 지정을 위한 특수 명령어
 +
*DSP는 때때로 하드웨어를 단순화하고 코딩 효율성을 높이기 위해 시간 역학 인코딩을 사용한다.
 +
*다중 산술 단위는 명령 주기당 여러 가지 접근을 지원하는 메모리 아키텍처를 요구할 수 있다. 일반적으로 2개의 개별 데이터 버스에서 2개의 데이터 값을 동시에 판독할 수 있도록 지원한다.
 +
*명령어 가져오기 또는 종료 테스트를 위해 오버헤드 제로 루프 및 하드웨어 루프 버퍼와 같은 매우 엄격한 루프에서 몇 개의 명령어를 실행할 수 있는 아키텍처 지원과 같은 특수 루프 제어가 있다.
  
 
{{각주}}
 
{{각주}}
  
 
== 참고 자료 ==
 
== 참고 자료 ==
* Digital signal processor Wikipedia- https://en.wikipedia.org/wiki/Digital_signal_processor
+
* Digital signal processor Wikipedia - https://en.wikipedia.org/wiki/Digital_signal_processor
 +
* 디지털 신호 처리 장치 한국정보통신기술협회 정보통신용어사전 - https://terms.tta.or.kr/dictionary/dictionaryView.do?subject=%EB%94%94%EC%A7%80%ED%84%B8+%EC%8B%A0%ED%98%B8+%EC%B2%98%EB%A6%AC+%EC%9E%A5%EC%B9%98
  
 
== 같이 보기 ==
 
== 같이 보기 ==

2020년 9월 4일 (금) 13:08 판

DSP(Digital Signal Processor)는 디지털 신호 처리를 위해 특별히 제작된 마이크로프로세서로 특히 실시간 운영 체제 계산에 사용된다.

개요

DSP는 디지털 신호 처리의 운영 요구에 최적화된 아키텍처를 가진 전문 마이크로프로세서 칩이다. DSP는 MOS 집적회로 칩에서 제작된다. 기본 조작은 필터링(filtering), 프리어 변환, 상관 함수의 산출, 부호화, 변복조, 미분, 적분, 적응 신호 처리 등이다. 음성 합성, 음성 인식, 음성 부호화, 압축, 중고속 모뎀, 반향 소거 장치(echo canceller) 등의 음성 및 통신 시스템에서 채용되고 있으며, 화상 처리나 서보 모터(servo motor) 제어 등의 고속 디지털 제어 분야에 대한 적용도 실용화되고 있다.[1] 오디오 신호 처리, 통신, 디지털 이미지 처리, 레이더, 음파 탐지 및 음성 인식 시스템, 휴대전화, 디스크 드라이브, 고화질 텔레비전(HDTV) 제품 등 일반 소비자 전자 장치 등에 널리 사용된다. DSP의 목표는 일반적으로 연속적인 실제 아날로그 신호를 측정, 필터링 또는 압축하는 것이다. 대부분의 범용 마이크로프로세서는 디지털 신호 처리 알고리즘도 성공적으로 실행할 수 있지만, 실시간으로 그러한 처리를 지속적으로 따라가지 못할 수도 있다. 또 전용 DSP는 통상 전력 효율이 높아 전력 소비 제약 때문에 휴대전화 등 휴대용 기기에 더 적합하다. DSP는 여러 데이터나 지침을 동시에 가져올 수 있는 특수한 메모리 아키텍처를 사용하는 경우가 많다. 또한 DSP는 데이터 압축 기술을 구현하는 경우가 많은데, 특히 이산 코사인 변환(DCT)은 DSP에서 널리 사용되는 압축 기술이다. 디지털 신호 처리 알고리즘은 일반적으로 일련의 데이터 샘플에서 많은 수의 수학적 연산을 빠르고 반복적으로 수행해야 한다. 신호는 아날로그에서 디지털로 끊임없이 변환되고, 디지털로 조작되었다가 다시 아날로그 형태로 변환된다. 많은 DSP 애플리케이션은 지연 시간에 제약이 있다. 즉, 시스템이 작동하려면 DSP 연산을 일정한 시간 내에 완료해야 하며, 지연 처리를 실행할 수 없다. 대부분의 범용 마이크로프로세서와 운영체제는 DSP 알고리즘을 성공적으로 실행할 수 있지만, 전력 효율 제약 때문에 휴대 전화나 PDA와 같은 휴대용 장치에서는 사용하기에 적합하지 않다. 그러나 특수화된 DSP는 더 나은 성능, 더 낮은 대기 시간 및 특수 냉각 또는 대형 배터리에 대한 요구사항이 없는 저비용 솔루션을 제공하는 경향이 있다. 이러한 성능 개선으로 인해 수백 또는 수천 개의 아날로그 필터, 스위치, 주파수 변환기 등이 업링크된 신호를 수신 및 처리하고 다운링크를 준비하기 위해 필요한 상용 통신 위성에 디지털 신호 처리가 도입되었으며, 특수화된 DSP로 대체될 수 있다. 위성의 중량, 전력 소비량, 복잡성/건설 비용, 운영의 신뢰성 및 유연성에 상당한 이점이 있다. 예를 들어 2018년에 발사된 운용사 SES의 SES-12와 SES-14 위성은 모두 DSP를 사용해 용량의 25%를 가진 에어버스 디펜스 앤 스페이스가 만들었다.[2]

역사

배경

독립형 DSP 칩이 등장하기 전에는 일반적으로 비트 슬라이스 칩을 사용하여 초기 디지털 신호 처리 애플리케이션을 구현하였다. AMD 2901 비트-슬라이스 칩은 부품 제품군이 탑재된 것이 매우 인기 있는 선택이었다. AMD의 참조 설계가 있었지만, 특정 설계의 세부사항은 응용 프로그램 특정이었다. 이러한 비트 슬라이스 아키텍처는 때때로 주변 멀티플라이어 칩을 포함할 수 있다. 이러한 곱셈기의 예로는 TDC1008과 TDC1010을 포함한 TRW의 시리즈가 있으며, 그 중 일부는 축열조를 포함하며 필요한 곱셈-축적(MAC) 기능을 제공한다. 전자신호처리는 1970년대에 MOSFET(금속산화반도체 전계효과 트랜지스터, 또는 MOS 트랜지스터)의 폭넓은 채택에 의해 혁명화되었다. MOS 집적회로 기술은 1970년대 초 최초의 단일칩 마이크로프로세서와 마이크로컨트롤러의 기초가 되었다. 그리고 그 후, 최초의 단일칩 DSP가 되었다. 1970년대 후반, DSP에서 또 다른 중요한 발전은 데이터 압축이었다. 선형예측코딩(LPC)은 1966년 나고야 대학교의 이타쿠라 후미타다(Itakura Fumitada)와 닛폰 텔레그래프·전화(NTT)의 사이토 슈조(Shuzo Saito)에 의해 처음 개발되었으며, 이후 비슈누 애털(Bishnu Atal)과 맨프레드 슈뢰더(Manfred R. Schroeder)는 1970년대 초중반 벨랩스에서 1970년대 후반 최초의 스피치 신디사이저 DSP 칩을 개발했다. 이산 코사인 변환(DCT)은 1970년대 초 나시르 아흐메드(Nasir Ahmed)에 의해 처음 제안되었고, 이후 DSP 칩에서 널리 구현되어 많은 기업들이 이산 코사인 변환 기술을 기반으로 DSP 칩을 개발하였다. 이산 코사인 변환은 인코딩, 디코딩, 비디오 부호화, 오디오 부호화, 멀티플렉싱, 제어 신호, 신호, 아날로그-디지털 변환, 휘도 및 색상 차이 포맷에 널리 사용되며 모션 추정, 모션 보정, 프레임 간 예측과 같은 인코딩 작업에도 사용된다. 정량화, 지각 가중치, 엔트로피 인코딩, 가변 인코딩, 모션 벡터 등의 디코딩 연산과 디스플레이를 위한 다른 컬러 포맷(YIQ, YUV, RGB) 간의 역방향 연산과 같은 디코딩 연산이 있다.

발전

1976년 리처드 위긴스(Richard Wiggins)는 텍사스 인스트루먼트 댈러스 연구시설에서 폴 브리더러브(Paul Breedlove), 래리 브링햄(Larry Brantingham), 진 프란츠(Gene Frantz)에게 스피크&스펠(Speak&Strate) 개념을 제안했다. 그로부터 2년 후 1978년, 그들은 업계 최초의 DSP인 TMS5100이 기술 중심축을 이루면서 최초의 스피크&스펠을 제작했다. 또한 음성 합성을 수행하기 위해 선형 예측 코딩을 사용한 최초의 칩이 되는 다른 이정표를 세웠다. 이 칩은 7µm PMOS 제작 공정을 통해 제작이 가능해졌다. 1978년, 아메리칸 마이크로 시스템(AMI)은 S2811을 출시했다. AMI S2811 신호처리 주변장치는 이후 많은 DSP와 마찬가지로 단일 명령으로 곱셈-누적 작동을 수행할 수 있는 하드웨어 승수를 가지고 있다. S2281은 DSP로 특수 설계된 최초의 집적회로 칩으로, 이전에는 양산되지 않았던 기술인 VMOS(V-groove MOS)를 사용하여 제작되었다. 모토로라 6800을 위한 마이크로프로세서 주변 장치로서 설계되었으며, 호스트에 의해 초기화되어야 했다. 하지만 S2811은 시장에서 성공하지 못했다.

1979년 인텔은 2920을 아날로그 신호 프로세서로 출시했다. 내부 신호 처리기가 탑재된 온칩형 ADC/DAC를 보유하고 있었지만 하드웨어 승수가 없어 시장에서 성공하지 못했다.

1980년, 최초의 독립형 완전한 DSP가 국제 고체-상태 회로 컨퍼런스에서 발표되었다. 두 프로세서는 모두 공중 교환 전화망 (Public switched telephone network) 통신 분야의 연구에 의해 영감을 받았다. 음성 대역 애플리케이션에 도입된 µPD7720은 가장 상업적으로 성공한 초기 DSP 중 하나이다. 알타미라(Altamira) DX-1은 지연된 분기 및 분기 예측이 있는 쿼드 정수 파이프라인을 활용한 또 하나의 초기 DSP였다.

1983년에 선보인 TMS32010인 텍사스인스트루먼츠(TI)가 제작한 또 다른 DSP는 더욱 큰 성공을 거둔 것으로 나타났다. 그것은 하버드 아키텍처에 기반을 두고 있어서 별도의 지시와 데이터 메모리를 가지고 있었다. 또한 이미 부하와 누수 또는 곱하기와 같은 지시와 함께 특수 지침 세트를 가지고 있었으며, 16비트 숫자로 작동할 수 있었고 곱하기 추가 작업에 390ns가 필요했다. 텍사스인스트루먼츠는 현재 범용 DSP 시장의 선두주자이다.

약 5년 후 DSP 2세대가 확산되기 시작했다. 그들은 두 개의 피연산자를 동시에 저장하기 위한 3개의 메모리를 가지고 있었고, 꽉 끼는 루프를 가속화할 수 있는 하드웨어를 포함시켰으며, 또한 루프 애드드레싱이 가능한 어드레싱 장치를 가지고 있었다. 이들 중 일부는 24비트 변수에 대해 작동했으며 일반적인 모델은 MAC에 대해 약 21ns만 필요했다. 이 세대의 구성원들은 AT&T DSP16A나 모토로라 56000 같은 모델이 있다. 3세대의 주요 개선점은 데이터 경로에 애플리케이션별 단위와 지침이 등장하거나, 때로는 코프로세서로 나타나는 것이었다. 이 단위들은 푸리에 변환 또는 매트릭스 연산처럼 매우 구체적이면서도 복잡한 수학 문제의 하드웨어 가속화를 허용했다. 모토로라 MC68356과 같은 일부 칩은 병렬로 작동하기 위해 두 개 이상의 프로세서 코어를 포함하기도 했다. 4세대는 명령어 집합과 명령어 인코딩/디코딩의 변경이 가장 잘 특징 지어진다. SIMD 확장이 추가되었고, VLIW와 슈퍼칼라 아키텍처가 나타났다.

구조

소프트웨어

범용 프로세서의 표준에 따르면 DSP 명령어 세트는 종종 매우 불규칙한 경우가 많다. 전통적인 명령어 세트는 더 다양한 작업을 수행할 수 있는 더 일반적인 명령어로 구성되는 반면, 디지털 신호 처리에 최적화된 명령어 세트에는 다음과 같은 일반적인 수학적 작동에 대한 지침이 포함되어 있다. 기존의 명령어 세트와 DSP 최적화 명령어 세트 모두 임의 작업을 계산할 수 있지만, 계산하는 데 여러 ARM 또는 x86 명령이 필요할 수 있는 작업에는 DSP 최적화 명령어 세트에 하나의 명령어만 필요할 수 있다. 소프트웨어 아키텍처에 대한 한 가지 함축적 의미는 손으로 최적화된 조립 코드 루틴(조립 프로그램)이 필수 알고리즘을 처리하기 위해 고급 컴파일러 기술에 의존하는 대신 일반적으로 재사용을 위해 라이브러리에 패키징된다는 것이다. 현대 컴파일러 최적화를 하더라도 손으로 최적화된 조립품 코드는 더 효율적이고 DSP 계산에 관련된 많은 공통 알고리즘은 아키텍처 최적화를 최대한 활용하기 위해 수기로 작성된다. 소프트웨어 아키텍처의 명령 집합은 다음과 같다.

명령 집합
  • 멀티-어큐뮬레이션(MAC, 퓨전 멀티-애드, FMA 포함) 작업
    • 모든 종류의 매트릭스 연산에 광범위하게 사용됨
      • 필터링을 위한 콘볼루션
      • 도트 제품
      • 다항식 평가
    • 기본 DSP 알고리즘은 다중 계산 성능에 크게 의존한다.
      • 유한 임펄스 응답(FIR) 필터
      • 푸리에 변환 패스트(Fast Fourier Transform)
  • 관련 ISA 및 지침
    • 단일 명령 다중 데이터(SIMD)
    • 매우 긴 명령어(VLIW)
    • 수퍼스칼라 구조
  • 푸리에 변환 패스트 상호 참조를 위한 링 버퍼 및 비트 역방향 주소 지정 모드에서 모듈로 주소 지정을 위한 특수 명령어
  • DSP는 때때로 하드웨어를 단순화하고 코딩 효율성을 높이기 위해 시간 역학 인코딩을 사용한다.
  • 다중 산술 단위는 명령 주기당 여러 가지 접근을 지원하는 메모리 아키텍처를 요구할 수 있다. 일반적으로 2개의 개별 데이터 버스에서 2개의 데이터 값을 동시에 판독할 수 있도록 지원한다.
  • 명령어 가져오기 또는 종료 테스트를 위해 오버헤드 제로 루프 및 하드웨어 루프 버퍼와 같은 매우 엄격한 루프에서 몇 개의 명령어를 실행할 수 있는 아키텍처 지원과 같은 특수 루프 제어가 있다.

각주

참고 자료

같이 보기


  검수요청.png검수요청.png 이 디지털 신호처리장치 문서는 자동차 부품에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.