Professional Documents
Culture Documents
Repetitive Operations:
The same operation being applied to different set of samples
Stream processing or Block processing
y (n ) =
N 1
Bi x (n i) +
i0
Ai y ( n i )
i =1
Convolution
y (n ) =
h(m ) x(m n)
m =0
FFT
N 1
y (n ) =
n=0
x ( n ) exp(
j 2 kn
)
N
3/20/2014
Limitations of GPP
Microprocessors/controllers
Micro Processor
Micro Controller
GPP + Peripherals
Memory Access
Architectural Differences
Memory access
Harvard Architecture
Pipelining
Number Representation
Special Instructions
MAC unit
Extended Parallelism - VLIW
Memory Data
Bus
Register 1
Register 2
ALU
3/20/2014
Harvard Architecture
Harvard Architecture
Data
Memory
Multiplexer
Multiplexer
ALU
Accumulator
Number Representation
Pipelining
M2E
Larger dynamic range
Speed may reduce
12
3/20/2014
Number Representation
Floating point representation is similar to scientific notation
The most common is ANSI/IEEE Std. 754-1985.
Floating Point
Fixed Point
Applications
Applications
Modems
Portable Products
Wireless Basestations
Electronic Books
Digital Imaging
Voice Recognition
3D Graphics
GPS Receivers
Speech Recognition
Headsets
Voice over IP
Biometrics
Fingerprint Recognition
13
Prof. Hardip Shah, EC Dept. DDU
11
12
3
11
24
X
R1
R2
44
X
Register
2
3
Loop
Clr
;Clear Accumulator A
Clr
; Clear Accumulator B
Mov
*R0, Y0
Mov
*R1,X0
X0,Y0,A
;X0*Y0 ->A
A,B
;A + B -> B
R0
P
Register
R
Register
Y
Register
Mpy
Add
Inc
;R0 + 1 -> R0
Inc
R1
;R1 + 1 -> R1
Dec
Tst
Jnz
Loop
Mov
B,*R2
15
Prof. Hardip Shah, EC Dept. DDU
16
3/20/2014
HARDWARE LOOPING
11
12
3
11
24
R2
44
2
3
Clr
;Clear Accumulator A
Rep
MAC
*(R0)+, *(R1)+, A
Mov
A, *R2
Special Instructions
Basic RISC may be too slow for DSP specific complex operations
(FFT etc.).
18
19
20
3/20/2014
Special Instructions
Additional features
Examples
2nd gen. TMS320 uses LTD and MPY
instructions
Replication
More than one ALU, memory or multiplier units
On Chip memory/Cache
On chip data RAM and ROMs
21
Extended Parallelism
22
Program Fetch
Instruction Decode
VLIW
Increase number of instructions per cycle
VLIW is concatenation of several short instructions
Requires several execution units
Prof. Hardip Shah, EC Dept.
DDU
Control
Registers
Instruction Dispatch
23
Data Path 1
Data Path 2
A Register File
B Register File
L1 S1 M1 D1
D2 M2 S2 L2
Control
Logic
Test
Emulation
Arithmetic
Logic
Unit
Auxiliary
Logic
Unit
Multiplier
Unit
Interrupts
Floating-Point
Capabilities
24
3/20/2014
Program
Memory
TMS320C67x DSP
Block Diagram
Types of DSP
Low End Fixed Point
TMS320C2XX, ADSP21XX, DSP56XXX
High End Fixed Point
TMS320C55XX, DSP16XXX,
ADSP215XX, DSP56800
MSC8101 - StarPro2000 (using SC140 from Starcore)
Floating Point
TMS320C3X, C67XX, ADSP210XX, DSP96000, DSP32XX
Control
Registers
Instruction Dispatch
4
Channel
DMA
Instruction Decode
Data Path 1
A Register File
Data Path 2
B Register File
Control
Logic
Test
Emulation
L1
External
Memory
Interface
Data Memory
32-Bit address
8-, 16-, 32-Bit data
512K RAM
S1
M1
D1
D2 M2
S2
L2
26
Interrupts
2 Timers
2 Multichannel
buffered
serial ports
(T1/E1)
28
27
Prof. Hardip Shah, EC Dept. DDU
3/20/2014
Reference
Digital Signal Processing- A practical
approach by E. C. Ifeachor and B.W.Jervis, 2nd
Eddition, Pearson
TI reference manual/data sheets
29
30
Thank You
31