Using General-Purpose Processors for Signal Processing. Using General-Purpose Processors for Signal Processing. ARM Developers Conference 2004

Using General-Purpose Processors for Signal Processing Digital Signal Processing Technology Insight • Analysis • Advice Using General-Purpose Proces...
Author: Bryan Cummings
6 downloads 0 Views 2MB Size
Using General-Purpose Processors for Signal Processing

Digital Signal Processing Technology Insight • Analysis • Advice

Using General-Purpose Processors for Signal Processing ARM Developers’ Conference 2004

Berkeley Design Technology, Inc. http://www.BDTI.com

© 2004 Berkeley Design Technology, Inc.

Parallelism DSPs generally provide more parallelism than GPPs • Instruction set style—individual instructions are • •



Multi-issue support—multiple instructions per cycle • •



GPP: RISC—non-specialized, single operation per instruction DSP: Compound—multi-operation per instruction, or RISC with multi-issue GPP: Superscalar—hardware performs dynamic instruction grouping/scheduling DSP: VLIW—programmer or compiler/assembler performs instruction grouping/scheduling

SIMD • •

Both GPPs and DSPs provide SIMD support SIMD is a primary means of parallelism in GPPs, secondary in DSPs

© 2004 Berkeley Design Technology, Inc.

2

© 2004 Berkeley Design Technology, Inc. ARM Developers Conference

Page 1

October 2004

Using General-Purpose Processors for Signal Processing

Parallelism Key implications of differences •

Cycle efficiency •

DSPs have advantage on signal processing tasks •



Memory use efficiency • •



But may require special software development strategies—like assembly level programming—to realize full advantage

Multi-operation instructions give DSPs advantage on signal processing tasks But GPPs often better on non-signal processing tasks—which 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 intrinsics—both of which complicate software development

© 2004 Berkeley Design Technology, Inc.

3

Memory Architecture All DSPs and most GPPs use Harvard memory architectures—with separate instruction and data buses • DSPs generally use SRAM with DMA controllers • GPPs generally use cache memory •

• •

DSPs typically have more on-chip data buses and greater data bandwidth than GPPs DSPs often have higher bandwidth off-chip memory interfaces •



Caches can pose challenges for signal processing software

E.g., separate data and address buses vs. multiplexed

GPPs often have larger address spaces than DSPs

© 2004 Berkeley Design Technology, Inc.

4

© 2004 Berkeley Design Technology, Inc. ARM Developers Conference

Page 2

October 2004

Using General-Purpose Processors for Signal Processing

Memory Architecture Key implications of differences • Cache related issues are paramount •

Caches work by lowering average access time • •

• •

Some applications are sensitive to maximum access time Signal processing application access patterns tend to be predictable • •



They are effective at doing this in many applications But access times vary significantly

Thus, DMA may be preferable to a cache Some recent caches provide pre-fetching capability

Signal processing tasks benefit from high bandwidth memory interfaces

© 2004 Berkeley Design Technology, Inc.

5

Execution Time Predictability Dynamic features are used heavily in high-end GPPs to boost performance • Superscalar execution • Caches • Branch prediction • Data-dependent instruction execution times These features are occasionally used in DSPs too These features complicate software development for real-time signal processing applications • Ensuring real-time behavior • Optimizing code © 2004 Berkeley Design Technology, Inc.

6

© 2004 Berkeley Design Technology, Inc. ARM Developers Conference

Page 3

October 2004

Using General-Purpose Processors for Signal Processing

Speed

BDTImark2000/BDTIsimMark2000 (higher is better)

BDTImark2000TM is a summary score of signal processing speed—based on the execution time of the BDTITM Benchmarks

1600 1400 1200 1000 800

The DSP is about 3X faster, although its clock speed is only 20% higher—parallelism is the main differentiator

600 400

© 2004 Berkeley Design Technology, Inc.

Memory Use BDTImemMark2000TM is a summary score of total memory use—based on the BDTITM Benchmarks, with emphasis on the Control Benchmark. The DSP and GPP have similar scores.

A

( R in 25 M9 13 0 M E0 H S nm z )

(3 ‘C 00 55 M x H z)

200 0

7

BDTImemMark2000 (higher is better) 80 70 60 50 40 30 20 10

AR

M 9E -

S

0 ‘C 55 x

Results are based on hand coded assembly—compiler efficiency is not reflected

© 2004 Berkeley Design Technology, Inc.

8

© 2004 Berkeley Design Technology, Inc. ARM Developers Conference

Page 4

October 2004

Using General-Purpose Processors for Signal Processing

Development Support DSPs Tools Signal-processingspecific tool support Signal processing software support Non-signalprocessing software support

GPPs

Primitive to moderately Primitive to very sophisticated sophisticated Poor but improving Good to excellent E.g., cycle-accurate simulators, DSP C extensions

E.g., general lack of cycle-accurate simulators

Poor to excellent

Limited but growing

Poor

Fair to extensive

Few to moderate RTOS options

Few to extensive RTOS options

© 2004 Berkeley Design Technology, Inc.

9

Development Support •

Software availability is key •

• •

Applications with extensive signal processing functionality may favor a DSP for software availability Mainstream OS requirement may force the use of a GPP Mainstream OS and heavy signal processing may suggest use of both DSP and GPP

Compatibility between generations • Shared architectures •



Multiple chip vendors supplying same architecture

© 2004 Berkeley Design Technology, Inc.

10

© 2004 Berkeley Design Technology, Inc. ARM Developers Conference

Page 5

October 2004

Using General-Purpose Processors for Signal Processing

Conclusions • •

Performance is not the only consideration Other prominent factors include • • • •

Cost Integration Energy efficiency Compatibility, availability • •



Tools • •



Multi-vendor architectures Licensable cores Signal-processing-oriented Other-oriented

Software infrastructure is key • •

DSPs have the advantage for signal processing tasks GPPs have the advantage for other tasks

© 2004 Berkeley Design Technology, Inc.

11

For More Information… www.BDTI.com Free Information • Inside [DSP] •



BDTI and EE Times on digital signal processing

Processor benchmarking •

BDTImark2000™ scores for dozens of processors



Pocket Guide to Processors for DSP



White papers/presentation slides on

• • •

• •

Basic stats on 40+ processors

Signal processing software optimization Processor architectures and performance

Article reprints on signal-processingoriented processors and applications comp.dsp FAQ

2004 Edition © 2004 Berkeley Design Technology, Inc.

12

© 2004 Berkeley Design Technology, Inc. ARM Developers Conference

Page 6

October 2004