Documente Academic
Documente Profesional
Documente Cultură
Kenton Williston
Berkeley Design Technology, Inc.
info@BDTI.com
http://www.BDTI.com
Workshop Outline
Definitions
DSP Algorithms Shape DSPs
Comparing DSPs and GPPs
Comparing Performance
When to Use Which
Conclusions
Definitions
MicroprocessorsGeneral-Purpose Processors (GPPs)
CPUs for PCs and workstations
E.g., Intel Pentium III
32-bit GPPs for embedded applications
E.g., ARM ARM7
Digital Signal Processors (DSPs)
Microprocessors specialized for signal processing applications
Example Processors
DSPs
C54x
C55x
High-performance
C24x C62x
C28x C64x
Blackfin
Low-end
58000/E
ARM11 PowerPC P4
ARM10 (G4)
ARM9E
ARM9
ARM7 GPPs
Program Address
Data Path
Control Generation
Memory System
Peripherals
Development Infrastructure
mpy r2,r3,r4
add r4,r5,r5
mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0
mov (r0),r2
mov (r1),r3
inc r0
inc r1
2005 Berkeley Design Technology, Inc. 9
Multi-Issue Approaches
VLIW vs. Superscalar
Time
INS 1 INS 2
INS 3 ?
INS 3 INS 4
INS 6 INS 5
INS n
Program Address
Data Path
Control Generation
Memory System
Peripherals
Development Infrastructure
SIMD
Single Instruction, Multiple Data
+ +
16 bits 16 bits
SIMD Challenges
Each instruction performs lots of work
Data parallelism
Algorithms, data organization must be amenable to
data-parallel processing
May require programmer creativity, alternative
algorithms
Data-reorganization penalties can be significant
Compilers generally dont use SIMD capabilities
Most effective on algorithms that process large blocks
of data
SIMD Challenges
Example: Viterbi Add-Compare-Select (ACS) Loop
Rearrange
data
Scalar
ACS
SIMD
ACS
Program Address
Data Path
Control Generation
Memory System
Peripherals
Development Infrastructure
Parallelism
Key implications of differences
Cycle efficiency
DSPs have advantage on signal processing tasks
But may require special software development strategieslike
assembly level programmingto realize full advantage
Memory use efficiency
Multi-operation instructions give DSPs advantage on signal
processing tasks
But GPPs often better on non-signal processing taskswhich
typically consumes most of the code space
Compiler friendliness
GPPs generally have the advantage
SIMD difficult for compilers, whether GPP or DSP
Often requires assembly programming or use of high level
intrinsicsboth of which complicate software development
Program Address
Data Path
Control Generation
Memory System
Peripherals
Development Infrastructure
DSPs GPPs
Tools Primitive to moderately Primitive to very
sophisticated sophisticated
DSP-specific tool Good to excellent Poor but improving
support E.g., cycle-accurate E.g., general lack of
simulators, DSP C cycle-accurate
extensions simulators
3rd-party DSP Poor to excellent Limited but growing
software support
Non-DSP 3rd-party Poor Extensive
software support Few to moderate RTOS Few to extensive RTOS
options options
Links w/other E.g., MATLAB E.g., GUI builders
high-level tools
Comparing Performance
When evaluating processors for signal processing,
application-specific, product-specific considerations
dominate
Relative performance can vary dramatically
depending on the benchmark
Comparing Performance
Low-end DSPs/GPPs (Below $10)
BDTImark2000 and BDTIsimMark2000
Higher is faster
2240
BDTImark2000
BDTIsimMark2000 1460
700
520 530
140
Comparing Performance
High-Performance DSPs/GPPs
BDTImark2000 and BDTIsimMark2000
Higher is faster
9310
BDTImark2000
6400
BDTIsimMark2000
5610
4480
3130
2140
750
Conclusions
Take-Away Points
Conclusions
Will DSP-Capable GPPs Render DSPs Obsolete?