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

디지털 신호처리장치

위키원
(디에스피에서 넘어옴)
이동: 둘러보기, 검색

디지털 신호처리장치(DSP; Digital Signal Processor)는 디지털 신호 처리를 위해 특별히 제작된 마이크로 프로세서이다. 영문 약자로 DSP(디에스피)라고도 한다. 디지털 신호처리장치는 실시간 운영체제 계산에 사용된다.

타고 월렌트 대형 가로 배너.jpg
이 그림에 대한 정보
[타고] 1개월 단위로 전기차가 필요할 때! 타고 월렌트 서비스

개요[편집]

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

역사[편집]

배경[편집]

독립형 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) 간의 역방향 연산과 같은 디코딩 연산이 있다.[3]

발전[편집]

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와 슈퍼칼라 아키텍처가 나타났다.[3]

구조[편집]

소프트웨어[편집]

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

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

하드웨어[편집]

엔지니어링에서 하드웨어 아키텍처는 시스템의 물리적 요소와 상호관계를 식별하는 것을 말한다. 흔히 하드웨어 설계 모델이라고 불리는 이 설명은 하드웨어 설계자가 그들의 구성요소가 시스템 아키텍처에 어떻게 적합한지 이해할 수 있도록 하며 소프트웨어 개발 및 통합에 필요한 중요한 정보를 소프트웨어 구성요소 설계자에게 제공한다. 하드웨어 아키텍처의 명확한 정의는 다양한 전통적인 엔지니어링 분야(예: 전기 및 기계공학)가 새로운 기계, 장치 및 구성품을 개발 및 제조하기 위해 더 효과적으로 협력할 수 있도록 한다. 하드웨어는 컴퓨터 공학 산업 내에서 하드웨어와 그 위에서 실행되는 소프트웨어를 명시적으로 구별하기 위해 사용되는 표현이기도 하다. 그러나 자동화 및 소프트웨어 엔지니어링 분야의 하드웨어는 단순히 어떤 종류의 컴퓨터일 필요는 없다. 현재 자동차는 아폴로 우주선보다 훨씬 더 많은 소프트웨어를 달린다. 또한, 현대의 항공기는 표준 컴퓨터 하드웨어와 IC 유선 논리 게이트, 아날로그 및 하이브리드 장치, 기타 디지털 구성 요소와 같은 전문 하드웨어 구성 요소 및 표준 컴퓨터 하드웨어에 내장되고 배포된 수천만 개의 컴퓨터 명령을 실행하지 않고는 작동할 수 없다. 컴퓨터, 개인휴대단말기(PDA), 휴대전화, 외과용 계측기, 위성, 잠수함 등 광범위한 응용 분야에 걸쳐 분리된 물리적 구성품이 어떻게 결합하여 복잡한 시스템을 형성하는지를 효과적으로 모델링할 필요가 있다.

메모리 아키텍처

디지털 신호처리장치는 대개 스트리밍 데이터에 최적화되어 있으며, 하버드 아키텍처나 수정본 노이만 아키텍처와 같이 여러 데이터나 지시사항을 동시에 가져올 수 있는 특수한 메모리 아키텍처를 사용한다. 이 아키텍처는 별도의 프로그램과 데이터 메모리를 사용한다. 때로는 복수의 데이터 버스에서 동시 접속도 가능하다. 디지털 신호처리장치는 때때로 캐시 계층 구조와 관련 지연에 대해 알기 위해 지원 코드에 의존할 수 있다. 이것은 더 나은 성과를 낼 수 있는 절충이다. 또한 직접 메모리 액세스(DMA)를 광범위하게 사용한다.

주소 지정 및 가상 메모리

디지털 신호처리장치는 다중 태스크 운영 체제를 자주 사용하지만 가상 메모리나 메모리 보호에 대한 지원은 없다. 가상 메모리를 사용하는 운영 체제는 프로세스 간의 컨텍스트 전환에 더 많은 시간이 필요하므로 지연 시간이 증가한다.[3]

  • 하드웨어 모듈로 주소 지정
    • 래핑 테스트 없이 원형 버퍼 구현 가능
  • 비트 변환 주소 지정, 특수 주소 지정 모드
    • 푸리에 변환 패스트 계산에 유용함
  • 메모리 관리 장치 제외
  • 주소 생성 단위

특징[편집]

전기자동차[편집]

CBS 머니와치(Money Watch) 웹사이트의 보고처럼 전기자동차는 계속 성장세를 보이고 있으며 특별히 잠재적 수요가인 젊은 층에서 더욱 그러하다. 모든 차량에서 중요한 장비를 계속 감시하는 것은 매우 중요한 요구사항이다. 근래 대부분의 차량은 온보드 진단기(On Board Diagnosis) 시스템을 장착하여 차량의 치명적인 고장을 경보하고 감시한다. 이상 현상이 검출되면 온보드 진단기 시스템은 대시보드의 MIL(Mul-function Indicator Light)이 작동하여 운전자가 쉽게 현재의 상태를 파악할 수 있게 한다. 미국 미국연방규정집(Code of Federal Regulation)은 하이브리드 전기차(Hybrid Electric Vehicle)에 라이트를 포함하는 유지보수 지시계를 장착해야 한다고 기술하고 있다. 여기서 각 배터리 계통 요소에 대한 최소 성능 레벨이 관찰되는 초기에 지시등이 먼저 작동해야 한다. 감시할 배터리 요소는 배터리 수위, 온도 제어, 압력 제어 및 기타 배터리의 조건을 결정하는 중요한 파라미터이다. 이런 기술은 아직 성숙 단계가 아니기 때문에 전기 모터 고장 진단 문제는 미국연방규정집에 의해 하이브리드 전기차 계통에서 표준으로 발표되지 않고 있다. 가장 필수인 전기 요소의 하나로서 전기 모터의 상태를 감시하는 것은 베어링, 회전자 및 고정자 고장과 같은 경우로 매우 중요하다. 가능한 빨리 전기 기계 고장을 진단하여 치명적인 고장이 발생하기 전에 보수를 함으로써 하이브리드 전기차에서 전기 기계의 수명을 연장할 수 있다. 따라서 하이브리드 전기차 고장 진단에는 디지털 신호처리장치 기반 고장 진단 기술이 요구된다. 모터 상전류신호 분석은 전기 기계에서 지속적 감시와 초기 고장 검출에 대한 실질적인 신호 처리 해법에 대한 연구에서 많은 관심을 끌고 있다. 진동 신호 분석 및 열분석이 기존 전류 신호 분석에 추가로 만족할 만한 결과를 제공할지라도 추가 센서 및 하드웨어 없이 저렴한 계속적인 보호는 차량 응용에 매우 가치 있는 것이다. 이것은 전류 신호 분석으로 가능한데 모터 선전류가 제어 및 보호 목적을 위해 쉽게 이용될 수 있고, 고장 검출에 사용될 수 있기 때문이다. 더구나 차량에서 실질적인 문제와 중요한 기계적 진동은 전술한 방법의 단점 때문에 모터 전류 신호의 사용을 촉진하게 한다. 회전자 편심, 회전자 바 절단 및 베어링 손상과 같은 모터 비대칭 현상은 모터 선전류의 특정 고조파 변조에 신호 처리 알고리즘을 적용함으로써 검출할 수 있다. 차량의 모터 고장 검출에서 잡음 억제능력은 매우 중요하다. 왜냐하면 고에너지 잡음은 낮은 진폭의 고장 신호를 지배하기 때문이다. 작은 고장 신호(—58~—108dB) 검출에서 모터 전류 잡음은 백색 가우스 잡음(Additive White Gaussian Noise)으로 특징된다. 정합필터는 최적검출기로 알려져 있으며 이것은 백색 가우스 잡음에서 신호 대 잡음비(SNR)를 최대화한다. 정합 필터의 출력은 상호 상관관계의 형태로 구동된다. 상호 상관방법은 가우시안(Gaussian) 잡음으로 왜곡된 시스템에서 가장 좋은 고장 신호 검출기로서 제안된다. 응용에 따라서 고장 진단 절차는 보통 신호 검출, 의사결정 및 제어기 또는 인간 인터페이스 시스템에 최종 피드백 단계로 구성된다. 그러나 동력 전달 진단 시스템에서 저렴한 DSP를 이용하여 이러한 모든 단계를 동시에 실행하는 것은 제한된 메모리 및 전산자원 때문에 쉽지 않다. 고장 결정 신뢰도는 의사결정이 매우 작은 크기의 고장 신호에 기반하기 때문에 또 다른 문제가 야기된다. 고장 신호를 구별하기 위해 문턱 값이 적응적 방법으로 선택되거나 모터 상전류 잡음 변동을 이용하여 조정되어야 한다. 문턱 값은 상전류 신호에서 잡음 조건에 기반하여 결정될 수 있다. 결론적으로 하이브리드 전기자동차에 대한 고장 진단은 배터리 액위, 온도, 압력 등 배터리의 상태 점검, 특히 구동모터의 베어링, 회전자 및 고정자 상태를 온보드 진단기에서 감시 진단함으로서 자동차의 고장을 미리 예방할 수 있다. 이러한 모터의 고장진단에는 상전류 분석 등 신호처리 기술이 요구되는데, 이에 DSP가 이용되고 있다.[4]

관련 기업[편집]

  • 텍사스 인스트루먼트(Texas Instruments): 클럭 속도가 1.2GHz인 C6000 시리즈 DSP를 생산하고 별도의 명령과 데이터 캐시를 구현한다. 그들은 또한 8개의 MiB 2단계 캐시와 64개의 EDMA 채널을 가지고 있다. 상위 모델은 최대 8000 초당 수백만 개의 명령어(MIPS), 매우 긴 명령어, 클록 사이클당 8번의 조작을 수행할 수 있으며 광범위한 외부 주변장치 및 다양한 버스(PCI/serial/etc)와 호환된다. TMS320C6474 칩은 각각 3개의 그러한 DSP를 가지고 있으며, 최신 세대 C6000 칩은 고정 포인트 프로세싱은 물론 플로팅 포인트를 지원한다.
  • 프리스케일(Freescale): 멀티 코어 DSP 제품군인 MSC81xx를 생산한다. MSC81xx는 스타코어 구조(StarCore Architecture) 프로세서를 기반으로 하며 최신 MSC8144 DSP는 프로그램 가능한 SC3400 StarCore DSP 코어 4개를 결합한 것이다. 각 SC3400 StarCore DSP 코어는 클럭 속도가 1GHz이다.
  • XMOS: DSP 작업에 적합한 멀티 코어 멀티스레드 프로세서를 생산하며, 400 ~ 1600 MIPS에 이르는 다양한 속도로 출시된다. 프로세서는 코어당 최대 8개의 실시간 스레드를 허용하는 멀티스레드 아키텍처를 가지고 있는데, 이는 4개의 코어 장치가 최대 32개의 실시간 스레드를 지원한다는 것을 의미한다. 스레드는 최대 80Mbit/s까지 가능한 버퍼링된 채널로 서로 통신한다. 이 장치는 C에서 쉽게 프로그래밍할 수 있으며 기존의 마이크로컨트롤러와 필드 프로그래머블 게이트 어레이(FPGA) 사이의 간격을 메우는 것을 목표로 한다.
  • CEVA: 세 개의 뚜렷한 DSP 제품군을 생산하고 허가한다. 아마도 가장 잘 알려져 있고 가장 널리 배포된 것은 16비트 또는 32비트 워드 너비와 단일 또는 이중 단일 곱셈-누산기(Multiply–accumulate operation)를 갖춘 고전적인 메모리 기반 아키텍처인 CEVA-TeakLite DSP 제품군일 것이다. CEVA-X DSP 제품군은 VLIW와 SIMD 아키텍처의 조합을 제공하며, 제품군의 다른 구성원은 듀얼 또는 쿼드 16비트 MAC을 제공한다. CEVA-XC DSP 제품군은 소프트웨어 정의 라디오(SDR) 모뎀 설계를 대상으로 하며, VLIW와 벡터 아키텍처의 고유한 조합을 활용하여 32개의 16비트 단일 곱셈-누산기를 제공한다.
  • 아날로그 디바이스(Analog Devices): 수퍼 하버드 아키텍처 싱글 칩 컴퓨터(SHARC) 기반 DSP를 생산하며 66 MHz/198 MFLOPS에서 400 MHz/2400 MFLOPS에 이르는 다양한 성능을 제공한다. 일부 모델은 다중 멀티플라이어 및 산술 논리 장치(ALU), SIMD 지침 및 오디오 처리별 구성 요소 및 주변장치를 지원한다. 임베디드 디지털 신호 프로세서의 블랙핀 제품군은 DSP의 특징과 일반 사용 프로세서의 특징을 결합한다. 그 결과, 이 프로세서는 실시간 데이터로 작동하면서 μCLinux, 속도, 뉴클리어스 RTOS와 같은 간단한 운영 체제를 실행할 수 있다.
  • NXP 반도체: 오디오와 영상 처리에 최적화된 트라이미디어 VLIW 기술을 기반으로 DSP를 생산한다. 일부 제품에서는 DSP 코어가 단일 칩 체제에 고정 기능 블록으로 숨겨져 있지만, NXP는 다양한 유연한 단일 코어 미디어 프로세서를 제공한다. 트라이미디어 미디어 프로세서는 부동 소수점 산술뿐만 아니라 고정 소수점 산술도 지원하며 복잡한 필터와 엔트로피 코딩을 다루기 위한 구체적인 지침이 있다.
  • 케임브리지 실리콘 라디오(CSR): 스캐너 및 복사기 애플리케이션의 문서 이미지 데이터 처리에 최적화된 하나 이상의 사용자 정의 이미징 DSP를 포함하는 단일 칩 체제의 콰트로(Quatro) 제품군을 생산한다.
  • 마이크로칩 테크놀로지(Microchip Technology): PIC24 기반 DSPIC 제품군을 생산한다. 2004년에 도입된 DSPIC는 모터 제어와 전원 공급장치와 같은 진정한 마이크로컨트롤러뿐만 아니라 진정한 DSP가 필요한 애플리케이션을 위해 설계되었다. DSPIC는 최대 40 MIPS에서 실행되며, 16비트 고정 지점 MAC, 비트 리버스 및 모듈로 어드레싱뿐만 아니라 직접 메모리 접근(DMA)을 지원한다.[3]

비교[편집]

하드웨어 코덱과의 차이

디지털 신호처리장치가 하드웨어 코덱과 다른 점은 하드웨어 코덱의 경우 한번 설치된 프로그램을 변경할 수 없다는 점과, DSP의 경우 필요할 때 여러 프로그램을 메모리에 올려 리프로그래밍을 할 수 있다는 점이다. 이 차이는 간단하게 휴대폰의 단일 칩 체제(SoC)에서도 설명이 되는데, 초기 엔비디아 테그라(NVIDIA Tegra) 동영상 코덱 지원의 경우 내부에 내장된 동영상 코덱이 하드웨어 코덱이기 때문에 어떤 논리적 꼼수를 쓰더라도 하드웨어 가속 프로그램을 변경할 수 없었다. 그러나 DSP는 메모리에 프로그램을 올리면 바로 다른 데이터를 처리할 수 있다. 캡처보드에 디지털 신호처리장치가 몇 개 안 보임에도 불구하고 수십 가지 인코더와 디코더를 지원하는 이유이다.[5]

펜티엄 칩과의 차이

디지털 신호 처리에 펜티엄 칩을 사용하면 안 되는 이유는 없다. 자주 쓰이지 않는 가장 큰 이유는 비싸기 때문이기도 하다. 비등한 이유로 엄청난 전력 소모 요인도 있다. 비용 측면이 크게 고려되지 않는 분야에서는 펜티엄 칩이 훌륭한 신호처리엔진으로 사용되고 있다. 먼저 펜티엄 칩이 어느 분야에 주로 쓰이는지 알아야 한다. 펜티엄과 같은 칩은 범용 프로세서로 분류하고, 영어로 GPP(General Purpose Processor)라고 부르기도 한다. 이러한 범용 칩들의 특징으로는 매우 큰 메모리를 관리할 수 있다는 것과, 윈도우 XP와 같은 범용 대용량 운영체제를 탑재할 수 있다는 것이 대표적이다. 실제로 게임기부터 산업용 PC 등 곳곳에 쓰이고 있다. 하지만 실시간 시스템에서는 펜티엄과 같은 GPP의 사용 비율이 얼마 되지 않는다. 대체적으로 실시간 시스템의 경우, 요구하는 작업 수는 많지 않으나 작업 특성상 계산량을 많이 요구하며 시간 내에 처리하지 못하면 시스템에 치명적인 오류가 발생하는 특징을 띄고 있다. 이런 분야에 DSP 칩이 널리 쓰인다.[6]

동향[편집]

현대적인 신호 프로세서는 더 큰 성능을 낸다. 이는 부분적으로 낮은 설계 규칙, 빠른 접근의 2-레벨 캐시, (E)DMA 회로 및 더 넓은 버스 시스템과 같은 기술 및 아키텍처의 진보에 기인한다. 모든 DSP가 동일한 속도를 제공하는 것은 아니며 많은 종류의 신호 프로세서가 존재하며, 각각 약 1.50달러에서 300달러에 이르는 특정 작업에 더 적합하다. 대부분의 DSP는 고정점 산술을 사용하는데, 이는 실제 신호 처리에서는 부동소수점에 의해 제공되는 추가 범위가 필요하지 않고 하드웨어 복잡성 감소로 인한 속도 편익과 비용 편익이 크기 때문이다. 부동 소수점 DSP는 광범위한 동적 범위가 요구되는 응용 분야에서 매우 유용할 수 있다. 제품 개발자들은 또한 유동 지점에서 알고리즘을 구현하는 것이 일반적으로 더 쉽기 때문에 더 비싼 하드웨어와 교환하여 소프트웨어 개발의 비용과 복잡성을 줄이기 위해 부동 소수점 DSP를 사용할 수 있다. 일반적으로 DSP는 전용 집적회로지만, 현장 프로그래머블 게이트 어레이 칩(FPGA)을 사용하여 DSP 기능도 생산할 수 있다. 임베디드 범용 RISC 프로세서는 기능성과 마찬가지로 점점 DSP가 되고 있다. 예를 들어 OMAP3 프로세서는 ARM Cortex-A8 및 C6000 DSP를 포함한다. 통신에서는 DSP 기능과 H/W 가속 기능을 모두 융합한 새로운 종류의 DSP가 주류를 이루고 있다. 그러한 모뎀 프로세서는 ASOCS 모뎀X와 CEVA의 XC4000을 포함한다. 2018년 5월 중국전자기술그룹 난징전자기술연구소가 설계한 화루이-2호가 합격했다. 처리속도가 0.4 TFLOPS로 기존 주류 DSP 칩보다 우수한 성능을 낼 수 있다. 설계팀은 TFLOPS 수준의 처리속도와 인공지능 지원을 갖춘 화루이-3를 만들기 시작했다.[3]

각주[편집]

참고자료[편집]

같이 보기[편집]


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