Beruflich Dokumente
Kultur Dokumente
Pramod P J
Centre for Development of Advanced Computing, Hyderabad
Signal Processing Applications
• Embedded system cost & input/output rates
– Low-cost, low-throughput: sound cards, 2G cell
phones, MP3 players, car audio, guitar effects Single DSP
– Medium-cost, medium-throughput: printers,
disk drives, 3G cell phones, ADSL modems, Single DSP +Coprocessor
digital cameras, video conferencing
– High-cost, high-throughput: high-end printers,
audio mixing boards, wireless basestations, Multiple DSPs
3-D medical reconstruction from 2-D X-rays
• Embedded processor requirements
– Inexpensive with small area and volume
– Predictable input/output (I/O) rates to/from processor
– Power constraints (200 mW average for voice and 500 mW for
video on cell phone; batteries give 5 Watt-hours)
Automotive 70
Share
Wireline 60
50 TI
Source: Forward Concepts Computer Freescale
40
Agere
30 Analog Dev
16-7-2007 Pramod P J
Prof. Brian L. Evans, 2010 http://signal.ece.utexas.edu/
Questions
A. What is a DSP?
B. Which DSP do I use?
C. How Do I Get Going (Development cycle & Programming DSP)?
16-7-2007 Pramod P J
Digital vs Analog Signals
Digital
Advantages Limitations
• More flexible • Discrete time
• Better control over • Finite word-length effect
accuracy requirements
• Reproducibility
• Storage facility
16-7-2007 Pramod P J
DSP Introduction
• Digital Signal Processing: application of mathematical operations to
digitally represented Signals
16-7-2007 Pramod P J
Signal Processing Systems
Signal in Processing Signal out
(Analog or Digital) (Analog or Digital)
Operation, Transformation
Digital Digital
16-7-2007 Signal Signal Pramod P J
16-7-2007 Pramod P J
16-7-2007 Pramod P J
Why Go Digital? -- Advantages!!!!
• Stability
• Better protection mechanism can be implemented
• Programmability and hence flexibility
– One hardware can perform several tasks.
– Upgradeability and flexibility.
• Repeatability
– Identical performance from unit to unit.
– No drift in performance due to temperature or aging.
• More reliable systems as components are less sensitive to
variations in ambient variables (eg. temperature)
• Immune to noise or Controlled accumulation of noise
• Low cost or Hardware cost independent of complexity
• Easy to store and transmit digital signals (eg. in floppy disk,
CDROM, hard disk)
• Easy to debug - hence short development time
• Hardware easily modified, Can be simulated
16-7-2007 Pramod P J
Signal I/P Filter Sampler A/D DSP
0 0
-1 -1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Digital Bin/Analog
Sampler Signal Hold
Analog LPF Processing Analog
Signal Analog/bin
Signal
Anti-aliasing
Filter
Digital Digital
Signal Signal
16-7-2007 Pramod P J
Today’s DSP “Killer Apps”
• In terms of dollar volume, the biggest markets for DSP processors today
include:
– Digital cellular telephony
– Wireless technologies
– Modems
– Commercial electronics
• Trends are towards better support for these (and similar) major applications.
16-7-2007 Pramod P J
Processor Classes
• General Purpose - high performance
– Pentiums, Alpha's, SPARC
– Used for general purpose application
– Heavy weight OS - UNIX, NT
?• – Workstations, PC's
Embedded processors and processor cores
– ARM, 486SX, Hitachi SH7000, NEC V800
– Single program
– Lightweight, often realtime OS
– DSP support
– Cellular phones, consumer electronics (e. g. CD players)
• Microcontrollers
– Extremely cost sensitive
– Small word size – 8/16 bit common
– Highest volume processors by far
– Automobiles, toasters, thermostats, ...
16-7-2007 Professor David A. Patterson, Computer Science 252, Spring 1998 Pramod P J
Applications of DSP
• Signal Synthesis
Applications • Implementing a certain processing task
• Studying/ Analyzing certain signal
16-7-2007 Pramod P J
Example DSP Applications
• Digital cellular phones • Voice mail
• Satellite communications • Digital cameras
• Automated inspection • Navigation equipment
• Seismic analysis • Modems (POTS, ISDN, cable,...)
• Vehicle collision avoidance • Audio production
• Secure communications • Noise cancellation
• Voice over Internet • Videoconferencing
• Tapeless answering machines • Medical ultrasound
• Motor control • Pagers
• Sonar • Patient monitoring
• Consumer audio • Music synthesis, effects
• Cordless phones • Radar
16-7-2007 Pramod P J
DSP Vs GPP
• General-purpose microprocessors are designed primarily for Data
Processing
– The primary burden is Data Read/Write
• Digital Signal Processors are Microprocessors specifically
designed for Signal Processing
– The primary burden is Mathematical operation
16-7-2007 Pramod P J
DSP vs GPP : Memory Architecture & Addressing
16-7-2007 Pramod P J
DSP Vs GPP
• 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 minimizing:
Cost
Power
Memory use
Development time
16-7-2007 Pramod P J
The Evolution of DSP
Processors
16-7-2007 Pramod P J
DSP Architectures
Architecture
Algorithm
16-7-2007 Pramod P J
FIR Filtering: A Motivating Problem
y[n] = ∑ h[n]*x[n-k]
16-7-2007 Pramod P J
FIR Filter on Von Neumann Architecture
loop:
mov *r0,x0
mov *r1,y0
• Each tap (M+1 taps total) nominally mpy x0,y0,a
requires: add a,b
mov y0,*r2
– Two data fetches inc r0
– Multiply inc r1
– Accumulate inc r2
dec ctr
– Memory write-back to update delay line tst ctr
jnz loop
move #Xaddr,r0
move #Haddr,r4
rep #Ntaps
mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0
16-7-2007 Pramod P J
16-7-2007 Pramod P J
MAC & DSP algorithms !
Algorithm Equation
M
Finite Impulse Response Filter a
y ( n)
k 0
k x(n k )
M N
Infinite Impulse Response Filter a
y ( n)
k 0
k x ( n k ) b
k 1
k y (n k )
N
Convolution x ( k ) h( n k )
y ( n)
k 0
N 1
Discrete Fourier Transform X (k ) x(n) exp[ j(2 / N )nk ]
n 0
N 1
Discrete Cosine Transform F u c(u). f ( x). cos 2N u2x 1
x 0
16-7-2007 Pramod P J
Multiple Execution Units
16-7-2007 Pramod P J
Efficient Memory Accesses
• Ability to fetch the MAC instruction, data sample, and a
filter coefficients from memory in a single cycle.
16-7-2007 Pramod P J
Efficient Memory Accesses
16-7-2007 Pramod P J
Calculating Memory Addresses
• High memory bandwidth requirements are often further
supported via dedicated hardware.
• Memory accesses in DSP algorithms tend to exhibit
very predictable patterns.
• The most common of these modes is register-indirect
addressing with post-increment.
16-7-2007 Pramod P J
Number Format
16-7-2007 Pramod P J
Number Format
16-7-2007 Pramod P J
Zero-Overhead Looping
• DSP algorithms typically spend the vast majority of their
processing time in loops.
• Implement a for-next loop without bargaining for more
clock cycles.
– Zero-overhead looping.
16-7-2007 Pramod P J
Specialized Instruction Sets
• Make maximum use of the processor’s underlying
hardware.
– Increasing efficiency.
• Minimize the amount of memory space required to store
DSP programs.
– Instruction are kept short.
• Conventional DSP processors tend to have highly
specialized, complicated, and irregular instruction sets.
16-7-2007 Pramod P J
Architecture of DSP
• General-purpose processors are based on the Von Neumann
architecture (single memory bank and processor accesses this
memory bank through single set of address and data lines)
16-7-2007 Pramod P J
A Typical DSP Architecture
PM Data DM Data
Address Address DM Address
Program PM Address
Generator Generator Data
Memory
(PM) Memory
(DM)
Instruc-
tions & Program Sequencer
secondary Data only
Instruction Cache
data
PM Data DM Data
Shifter
Input/Output
16-7-2007 Pramod P J
A. What is DSP?
16-7-2007 Pramod P J
B. Which DSP do I use?
16-7-2007 Pramod P J
Conventional DSP Processors
16-7-2007 Pramod P J
Conventional DSP Processors
16-7-2007 Pramod P J
Enhanced-Conventional DSP
Processors
• Extend conventional DSP architectures by
adding parallel execution units
– Execute more work per cycle
• Wider data buses to allow them to retrieve more
words per clock cycle
• Lucent Technologies DSP16xxx
16-7-2007 Pramod P J
Multi-Issue Architectures
• Using very simple instructions that typically
encode a single operation.
• These processors achieve a high level of
parallelism by issuing and executing instructions
in parallel groups.
– Execute at higher clock rates.
• The two classes of multi-issue architectures.
– VLIW(very long instruction word)
– superscalar
16-7-2007 Pramod P J
VLIW architecture
• In the VLIW architecture, the assembly
language programmer specifies which
instructions will be executed in parallel.
– The grouping does not change during
program execution.
• Advantages
– Simple hardware
– compilers can spot ILP easily
• Disadvantages
– Little compatibility between generations
16-7-2007 Pramod P J
Superscalar Architecture
• Superscalar processors, contain specialized
hardware that determines which instructions will
be executed in parallel.
– Dynamically schedule parallel operations.
• Advantage
– Compatibility between generations
• Disadvantage
– Very complex hardware
16-7-2007 Pramod P J
VLIW vs. Superscalar
• VLIW and superscalar processors must have
sufficient instruction decoders, registers, and
memory bandwidth.
– High energy consumption.
• In general, multi-issue processors are designed
with an emphasis on increased speed.
16-7-2007 Pramod P J
B. Which TI DSP do I use? B. Which TI DSP do I use?
16-7-2007 Pramod P J
C. How Do I Get Going?
16-7-2007 Pramod P J
“DSP in your pocket”
Community
• On-line community
• Code examples with
software
•Promotions for example
contribution
Hardware Software