Optimizing efficiency and flexibility in DSP systems
Mouna Elkhatib and Sverrir Olafsson, Conexant
EDN (January 13, 2013)
For as long as multipliers have been implemented in silicon, DSP (digital signal processing) devices have been developed to solve problems in audio, video, communications and a variety of other applications. In many cases the DSP algorithms have been implemented directly in dedicated customized logic to achieve an optimal solution. In others, generic programmable DSPs have been utilized to provide a flexible platform to implement algorithms in firmware. Increasingly, GPPs (general purpose processors) and CPUs (central processing units) have acquired capabilities to realize DSP algorithms, offering a platform to mix non-DSP functions like network stacks with complex DSP algorithms on the same CPU.
This article will explore the tradeoffs leading designers to these different design choices. Typically, well understood algorithms of limited complexity are implemented in dedicated hardware, whereas less rigid complex algorithms requiring multiple algorithm steps are implemented on programmable DSPs. If the application requires non-DSP algorithms, such as USB or network protocols, the choice becomes between a GPP and a DSP, where the ratio of DSP calculations to generic (e.g. protocol) computation will typically determine the outcome.
E-mail This Article | Printer-Friendly Page |
|
Related Articles
- Optimizing embedded software for power efficiency: Part 4 - Peripheral and algorithmic optimization
- Optimizing embedded software for power efficiency: Part 3 - Optimizing data flow and memory
- Optimizing embedded software for power efficiency: Part 2 - Minimizing hardware power
- Optimizing embedded software for power efficiency: Part 1 - measuring power
- Optimizing High Performance CPUs, GPUs and DSPs? Use logic and memory IP - Part II