DSP V/s GPP
DSP V/s GPP
DSP V/s GPP
Purpose Processor
BY:
AKSHITA CHAWDHARY
(C008)
ANKIT MAHESHWARI (C022)
PARTH PANCHAL (C024)
Definitions
MicroprocessorsGeneral-Purpose Processors (GPPs)
CPUs for PCs and workstations
E.g., Intel Pentium III
32-bit GPPs for embedded applications
Numeric fidelity
High memory
bandwidth
Predictable
data access
patterns
Streamlined
interrupt handling
Math-centricity
Single-cycle multiplier(s) or
Streaming data
cache; DMA
Standards
Data
Path
Memory
MemorySystem
System
Peripherals
Development
Infrastructure
Address
Generatio
n
Low-end GPP
Specialized, complex
instructions
General-purpose
instructions
mpy r2,r3,r4
add r4,r5,r5
mov (r0),r2
mov (r1),r3
inc r0
inc r1
DSP
Compound instructions
perform multiple operations,
e.g., multiply + load +
modify address register
Examples: C54x, C24x,
C28x
DSPs
Typically VLIW
Up to 8 instructions/cycle
Examples: C64x, SC140,
TigerSHARC
Typically superscalar
Up to 4 instructions/cycle
Example: PowerPC 74xx
No dynamic behaviour
Increased software complexity
Low-end GPP
Simple pipelines
Often provide delay slots to
hide branch latencies
Simple pipelines
No delay slots or branch
prediction
Data
Path
Memory System
Peripherals
Development
Infrastructure
Address
Generation
Low-end GPP
Dedicated hardware
performs all key arithmetic
operations in 1 cycle
Usually 16-bit
Saturation, rounding
typically take extra cycles
Saturation, rounding
typically take extra cycles
SIMD
SIMD Challenges
Addressing
DSP
GPP
Specialized addressing
modes
Autoincerement
Modulo (circular)
General-purpose addressing
modes
Data
Path
Memory System
Peripherals
Development
Infrastructure
Address
Generation
Memory Architecture
Low-end DSP
Low-end GPP
Harvard architecture
Memory Architecture
High-Performance DSP
High-Performance GPP
Harvard architecture
Harvard architecture
Caches: Challenges
Dynamic Features
Superscalar execution
Caches
Branch prediction
Optimizing code
Dynamic Features
Low-end GPPs and DSPs
GPPs:
Dynamic caches common
DSPs:
Rarely have dynamic features
Small loop buffer instruction
cache exception
Parallelism
Cycle efficiency
Compiler friendliness
On-Chip Integration
Low-end GPPs and DSPs
Low-end GPP
Occasionally available as
licensable core
High-Performance GPP
Development Support
DSPs
GPPs
Tools
Primitive to moderately
sophisticated
Primitive to very
sophisticated
Good to excellent
E.g., cycle-accurate
simulators, DSP C
extensions
Poor to excellent
Non-DSP 3rd-party
software support
Poor
Few to moderate RTOS
options
Extensive
Few to extensive RTOS
options
E.g., MATLAB