using general-purpose processors for signal processing€¦ · • but may require special software...

6
Using General-Purpose Processors for Signal Processing © 2004 Berkeley Design Technology, Inc. ARM Developers Conference October 2004 Page 1 © 2004 Berkeley Design Technology, Inc. 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 2 © 2004 Berkeley Design Technology, Inc. Parallelism DSPs generally provide more parallelism than GPPs Instruction set style—individual instructions are GPP: RISC—non-specialized, single operation per instruction DSP: Compound—multi-operation per instruction, or RISC with multi-issue Multi-issue support—multiple instructions per cycle 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

Upload: others

Post on 30-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using General-Purpose Processors for Signal Processing€¦ · • But may require special software development strategies—like assembly level programming—to realize full advantage

Using General-Purpose Processors for Signal Processing

© 2004 Berkeley Design Technology, Inc.

ARM Developers Conference October 2004Page 1

© 2004 Berkeley Design Technology, Inc.

Digital Signal Processing TechnologyInsight • Analysis • Advice

Using General-Purpose Processors for Signal Processing

ARM Developers’ Conference 2004

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

2© 2004 Berkeley Design Technology, Inc.

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

• GPP: RISC—non-specialized, single operation per instruction• DSP: Compound—multi-operation per instruction, or RISC

with multi-issue• Multi-issue support—multiple instructions per cycle

• 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

Page 2: Using General-Purpose Processors for Signal Processing€¦ · • But may require special software development strategies—like assembly level programming—to realize full advantage

Using General-Purpose Processors for Signal Processing

© 2004 Berkeley Design Technology, Inc.

ARM Developers Conference October 2004Page 2

3© 2004 Berkeley Design Technology, Inc.

Parallelism

Key implications of differences• Cycle efficiency

• DSPs have advantage on signal processing tasks• But may require special software development strategies—like

assembly level programming—to realize full advantage

• Memory use efficiency• 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

4© 2004 Berkeley Design Technology, Inc.

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

• Caches can pose challenges for signal processing software

• DSPs typically have more on-chip data buses and greater data bandwidth than GPPs

• DSPs often have higher bandwidth off-chip memory interfaces• E.g., separate data and address buses vs. multiplexed

• GPPs often have larger address spaces than DSPs

Page 3: Using General-Purpose Processors for Signal Processing€¦ · • But may require special software development strategies—like assembly level programming—to realize full advantage

Using General-Purpose Processors for Signal Processing

© 2004 Berkeley Design Technology, Inc.

ARM Developers Conference October 2004Page 3

5© 2004 Berkeley Design Technology, Inc.

Memory Architecture

Key implications of differences• Cache related issues are paramount

• Caches work by lowering average access time• They are effective at doing this in many applications• But access times vary significantly

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

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

• Signal processing tasks benefit from high bandwidth memory interfaces

6© 2004 Berkeley Design Technology, Inc.

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 tooThese features complicate software development for real-time signal processing applications• Ensuring real-time behavior• Optimizing code

Page 4: Using General-Purpose Processors for Signal Processing€¦ · • But may require special software development strategies—like assembly level programming—to realize full advantage

Using General-Purpose Processors for Signal Processing

© 2004 Berkeley Design Technology, Inc.

ARM Developers Conference October 2004Page 4

7© 2004 Berkeley Design Technology, Inc.

Speed

0200400600800

1000120014001600

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

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

‘C55x

(300 M

Hz)

ARM9E-S

(250 M

Hz

in 1

30 nm

)

BDTImark2000/BDTIsimMark2000(higher is better)

8© 2004 Berkeley Design Technology, Inc.

Memory Use

0

10

20

30

40

50

60

70

80

BDTImemMark2000(higher is better)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.

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

‘C55x

ARM9E-S

Page 5: Using General-Purpose Processors for Signal Processing€¦ · • But may require special software development strategies—like assembly level programming—to realize full advantage

Using General-Purpose Processors for Signal Processing

© 2004 Berkeley Design Technology, Inc.

ARM Developers Conference October 2004Page 5

9© 2004 Berkeley Design Technology, Inc.

Fair to extensive Few to extensive RTOS options

PoorFew to moderate RTOS options

Non-signal-processing software support

Limited but growingPoor to excellentSignal processing software support

Poor but improving E.g., general lack of cycle-accurate simulators

Good to excellentE.g., cycle-accurate simulators, DSP C extensions

Signal-processing-specific tool support

Primitive to very sophisticated

Primitive to moderately sophisticated

ToolsGPPsDSPs

Development Support

10© 2004 Berkeley Design Technology, Inc.

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

Page 6: Using General-Purpose Processors for Signal Processing€¦ · • But may require special software development strategies—like assembly level programming—to realize full advantage

Using General-Purpose Processors for Signal Processing

© 2004 Berkeley Design Technology, Inc.

ARM Developers Conference October 2004Page 6

11© 2004 Berkeley Design Technology, Inc.

Conclusions

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

• Cost• Integration• Energy efficiency • Compatibility, availability

• Multi-vendor architectures• Licensable cores

• Tools• Signal-processing-oriented• Other-oriented

• Software infrastructure is key• DSPs have the advantage for signal processing tasks• GPPs have the advantage for other tasks

12© 2004 Berkeley Design Technology, Inc.

For More Information…www.BDTI.comFree 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

• Basic stats on 40+ processors • White papers/presentation slides on

• Signal processing software optimization• Processor architectures and performance

• Article reprints on signal-processing-oriented processors and applications

• comp.dsp FAQ2004 Edition