임베디드 CPU는 유연성, 견고한 성능, 저전력, 비용 효율성을 결합하여 보편화되었습니다. 별도 마이크로프로세서나 마이크로컨트롤러에서 임베디드 CPU로 전환은 대부분의 애플리케이션에 명확한 승리였습니다. 하지만 어떤 CPU도 모든 알고리즘을 효율적으로 실행할 수는 없습니다. 소프트웨어는 임의로 복잡해질 수 있고, 실행 시간이나 전력 예산이 허용 불가능해질 수 있습니다.
출처: CEVA
이를 해결하기 위해 제조사들은 하드웨어 가속기(전용 회로)를 도입했습니다. 부동소수점 수학 같은 일반 연산을 범용 CPU의 소프트웨어보다 훨씬 빠르게 수행합니다. 이 개념은 암호화, 정규식 처리, 그래픽 등으로 빠르게 확장되었습니다.
가속기는 속도를 제공하지만 소프트웨어가 제공하는 유연성을 희생합니다. 하드웨어로 고정되어 있어 알고리즘 수정, 버그 수정, 시장 변화 적응에 하드웨어 재설계가 필요합니다. 이는 비용이 많이 들고 시간이 오래 걸리는 과정입니다.
이상적으로는 두 세계의 장점을 원합니다: 알고리즘을 가속화하면서 여전히 소프트웨어로 작성하는 것. DSP(디지털 신호 프로세서)는 많은 일반적인 스트림 기반 작업에서 이를 달성할 수 있습니다.
DSP는 오디오 필터링, PDM-PCM 변환, 어쿠스틱 에코 캔슬링, LTE에서 사용되는 SNOW와 ZUC 같은 스트림 기반 암호 등 스트리밍 데이터 연산에서 탁월합니다. 신호 처리 맥락에서 기지국과 모바일 기기 간 채널 추정을 위한 복잡한 행렬 계산을 처리하여 전송을 신뢰성 있게 최적화합니다. 더 넓게는 AES 암호화처럼 광범위한 병렬성의 이점을 얻는 모든 애플리케이션에 적합합니다.
DSP는 스트리밍 연산, 복잡한 수학(행렬, 부동소수점), 고병렬성에서 특히 강력합니다. 이 영역에서는 하드웨어 가속기와 대등하거나 능가할 수 있습니다. 많은 경우 DSP 구현이 더 작고 저렴하며, 전력 소비는 여전히 CPU 기반 솔루션보다 훨씬 낮습니다. 단일 DSP는 동시에 실행될 필요가 없는 여러 가속 기능을 호스팅할 수 있어 여러 전용 가속기가 필요 없게 합니다. 더 큰 처리량이 필요하면 멀티코어 DSP가 멀티코어 CPU와 같은 확장성을 제공합니다.
출처: CEVA
아마도 가장 큰 장점은 프로그래머빌리티입니다. CPU 코어처럼 DSP도 C로 프로그래밍할 수 있어 하드웨어 변경 없이 소프트웨어를 적응하거나 업그레이드할 수 있습니다. 유능한 컴파일러와 시뮬레이터로 병렬성을 최적화하는 것이 관리 가능해지며, 빠른 버그 수정, 기능 업데이트, 고객 만족도 향상이 가능해집니다. 이 모든 것을 저전력과 저비용으로 유지하면서 말입니다.
또 다른 이점은 다기능 지원입니다. 예를 들어 GNSS(위성 항법 시스템) 처리는 DSP의 이점을 얻습니다. 모바일 기기에서는 소프트웨어로 GNSS 추가가 가능해지고, 고정 기기에서는 DSP 기반 GNSS가 유휴 기간에 실행되어 전용 하드웨어 유닛 대비 면적과 전력을 절약합니다.
DSP가 모든 가속기의 보편적 대체재는 아닙니다. 매우 큰 필터 같은 일부 기능은 여전히 하드와이어드 솔루션을 선호할 수 있습니다. 그럼에도 넓은 범위의 알고리즘에서 DSP는 가속기 성능과 전력에 근접하거나 일치하며, 종종 더 낮은 비용과 훨씬 더 큰 유연성으로 달성합니다. 진지하게 고려할 만한 매력적인 옵션입니다.
이 기사는 "왜 DSP가 갑자기 어디에나 있는가"로 시작한 시리즈의 두 번째이며, "결정, 결정: 하드웨어 가속기인가 DSP인가?"가 이어질 예정입니다.