programmable digital signal processorsgalia.fc.uaslp.mx/~rmariela/rtdsp/ch51.pdf · 2012-02-25 ·...

24
Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Upload: others

Post on 16-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Programmable Digital Signal

Processors

Real-Time Signal Processing

Spring 2010

1

Page 2: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Outline

Introduction

Evolution of DSPs

Important FeaturesImportant Features

Architecture of TMS320C67X

Code Composer Studio

2

Page 3: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Introduction

� In terms of dollar volume, the biggest markets for DSP processors today include:

� Digital cellular telephony

� Pagers and other wireless systems

� Modems

Disk drive servo control� Disk drive servo control

� Trends are towards better support for these (and similar) major applications.

Most demand good performanceAll demand low costMany demand high energy efficiency

3

Page 4: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

What Do DSP Processors Need to Do Well?

� Most DSP tasks require:

� Repetitive numeric computations

� Attention to numeric fidelity

� High memory bandwidth, mostly via array accesses

� Real-time processing

Processors must perform these tasks efficiently while � Processors must perform these tasks efficiently while minimizing:

� Cost

� Power

� Memory use

� Development time

4

Page 5: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

FIR Filtering: A Motivating Problem

� Each tap (M+1 taps total) nominally requires:� Two data fetches

� Multiply

� Accumulate

� Memory write-back to update delay line

5

Page 6: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

FIR Filter in a Von Neumann Architecture

� Problems: Bus / memory bandwidth bottleneck, control code overhead

Processor

Memory

6

Page 7: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

First Generation DSP (1982):

Texas Instruments TMS32010

� 16-bit fixed-point

� Harvard architecture

� Accumulator� Accumulator

� Specialized instruction set

� 390 ns MAC time (228 ns today)

7

Page 8: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Features Common to Most DSP Processors

� Data path configured for DSP

� Specialized instruction set

� Multiple memory banks and buses

� Specialized addressing modes

� Specialized execution control

� Specialized peripherals for DSP

8

Page 9: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Datapath

DSP Processor General Purpose Processor

� Specialized hardware performs all key arithmetic operations in one cycle

� Multiplies often takes more than one cycle

� Shift often takes more one cycle

� Hardware support for managing numeric fidelity

� Shifters

� Guard bits

� Saturation

Shift often takes more than one cycle

� Other operations (saturation, rounding) typically takes multiple cycles

9

Page 10: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Instruction Set

DSP Processor General Purpose Processor

� Two goals:� Maximum use of DSP hardware

� Minimize the amount of

� General purpose instructions

� Typically one operation � Minimize the amount of memory space to store the program

� Allows to specify several parallel operation in a single instruction

� Specialized complex instructions

Typically one operation per instruction

10

Page 11: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Memory Architecture

DSP Processor General-Purpose Processor

� Hardvard architecture

� 2-4 Memory accesses/cycle

� Von Neumann architecture

� Typically one access/cycleaccesses/cycle

� No caches-on chip SRAM

Typically one access/cycle

� May use caches

Processor

Program Memory

Data Memory

Processor Memory

11

Page 12: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Addressing

DSP Processor General-Purpose Processor

� Dedicated address generation units

� Specialized addressing

� Often, no separate address generation unit

� General-purpose Specialized addressing modes; e.g.:

� Autoincrement

� Modulo (circular)

� Bit-reversed (for FFT)

� Good immediate data support

General-purpose addressing modes

12

Page 13: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

DSP Processor

� Execution Control

� Hardware support for fast looping

� “Fast interrupt” for I/O handling

� Real-time debugging support

� Specialized Peripheral for DSPs

� Synchronous serial ports

� Parallel ports

� Timers

� On-chip A/D, D/A converters

� On chip peripheral often designed for “background” operation even when core is powered down

13

Page 14: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Second generation DSPs (1987)

Example: Motorola DSP56001

� 24-bit data, instructions

� 3 memory spaces (X, Y, P)

� Parallel moves

� Single- and multi-instruction hardware loops

Modulo addressing

Data path

14

� Modulo addressing

� 75 ns MAC (21 ns today)

� Other second-generation processors: AT&T DSP16A, Analog Devices ADSP-2100, Texas Instruments TMS320C50

P Memory

X Memory

Y Memory

Page 15: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Low-Cost General-Purpose Processor vs.

Low-Cost DSP

8

10

12

14

16

8

SPEED (BDTI Marks)

15

0

2

4

6

8

ARM7TDMI 40 MIPS

TMS320C50 40 MIPS

3

8

Page 16: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Third Generation DSPs (1995)

Examples: Motorola DSP56301, TI TMS320C541

� Enhanced conventional DSP architectures� 3.0 or 3.3 volts� More on-chip memory� Application-specific function units in data path or as co-processors

� More sophisticated debugging and application development tools

16

tools� DSP cores (Pine and Oak from DSP Group, cDSP from TI)� 20 ns MAC (10 ns today)� Architectural innovation mostly limited to adding application-specific function units and miscellaneous minor refinements.

� Also, multiple processors/chip (TI TMS320C80, Motorola MC68356)

Page 17: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Fourth Generation (1997-1998)

Examples: TI TMS320C6201, Intel Pentium with MMX

� Today’s top DSP performers adopt architectures far different from conventional DSP processor designs.� Blazing clock speeds and superscalar architectures make some general-purpose processors, such as the PowerPC 604e, top floating-point performers, despite lack of many DSP features

� Multimedia SIMD extensions, such as MMX, offer strong fixedpoint performance on general-purpose processors

17

fixedpoint performance on general-purpose processors

� But strong DSP tools for general-purpose processors are lacking

� VLIW-like architectures, such as that of the TI TMS320C6201, achieve top performance via high parallelism and increased clock speeds

� 3 ns MAC throughput... but expensive, power-hungry

Page 18: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

VLIW

� Very long instruction word (VLIW) architectures are garnering increased attention for DSP applications.

� Notable recent introductions include Texas Instruments’ TMS320C62xx and Philips’ TM1000.

18

� Major features:

� Multiple independent operations per cycle

� Packed into a single large “instruction” or “packet”

� More regular, orthogonal, RISC-like operations

� Large, uniform register sets

Page 19: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

VLIW

Advantages Disadvantages

� Increased performance

� More regular architectures

� Potentially easier to program; better compiler targets

� New kinds of programming/compiler complexity

Code size bloat

19

better compiler targets

� Scalable?

� Code size bloat

� High program memory bandwidth requirements

� High power consumption

Page 20: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

General-Purpose Processors are Catching Up

� General-purpose processors are increasingly adding DSP capabilities via a variety of mechanisms:

� Add single-instruction, multiple-data instruction set extensions (e.g., MMX Pentium)

� Integrate a fixed-point DSP processor-like data path and

20

� Integrate a fixed-point DSP processor-like data path and related resources with an existing mC/mP core (e.g. Hitachi SH-DSP)

� Add a DSP co-processor to an existing mC/mP core (e.g., ARM Piccolo)

� Create an all-new, hybrid architecture (e.g., Siemens TriCore)

Page 21: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

The General-Purpose Processor Threat

� High-performance general-purpose processors for PCs and workstations are increasingly suitable for some DSP applications.� E.g., Intel MMX Pentium, Motorola/IBM PowerPC 604e

� These processors achieve excellent to outstanding floating- and/or fixed-point DSP performance via:

21

floating- and/or fixed-point DSP performance via:� Very high clock rates (200-500 MHz)

� Superscalar (“multi-issue”) architectures

� Single-cycle multiplication and arithmetic ops.

� Good memory bandwidth

� Branch prediction

� In some cases, single-instruction, multiple-data (SIMD) ops

Page 22: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

High-Performance General-Purpose

Processors

Advantages Disadvantages

� Strong DSP performance

� Already present in PCs

� Strong tool support for

� Lack of execution timing predictability

� Difficulty of developing optimized DSP code

22

� Strong tool support for the major processors

� Cost-performance can rival that of floating-point DSPs

optimized DSP code

� Limited DSP-oriented tool support

� High power consumption

� Cost-performance does not approach that of fixed-point DSPs

Page 23: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Processor DSP Speed BDTImarksTM

77

49

30

40

50

60

70

80

90

23

0.54

13

0

10

20

30

TMS320C10 5MIPS

DSP56001 13MIPS

TMS320C54x 50 MIPS

TMS320C6201 1200 MIPS

MMX Pentium 466 MIPS

First Generation 1982 Second Generation 1987

Third Generation 1995 Fourth Generation 1997

Page 24: Programmable Digital Signal Processorsgalia.fc.uaslp.mx/~rmariela/RTDSP/ch51.pdf · 2012-02-25 · Programmable Digital Signal Processors Real-Time Signal Processing Spring 2010 1

Real-Time Suitability

� The most important DSP applications are real-time applications.

� Many of these are “hard real-time” applications: failure to meet a real-time deadline creates a serious malfunction.

� High-performance GPPs make heavy use of dynamic features:

� Caches, branch prediction, dynamic superscalar execution, data dependent instruction execution times, etc.

24

dependent instruction execution times, etc.

� These features result in timing behavior that appears to be stochastic.

� This seriously complicates development of DSP applications.

� PC applications are further complicated by the lack of real-time support in PC operating systems.