Академический Документы
Профессиональный Документы
Культура Документы
FUNDAMENTALS OF
PROGRAMMABLE DSPs
Bhooshan Humane
TOPICS TO BE COVERED
• Multiplier and Multiplier accumulator,
• Modified Bus Structures
• Memory access in P-DSPs
• Multiple access memory
• Multi-ported memory
• VLIW architecture
• Pipelining
• Special Addressing modes in PDSPs
• On chip Peripherals
• Computational accuracy in DSP processor
• Von Neumann and Harvard Architecture
2
What is Digital Signal Processors?
3
P-DSPs / Advanced Microprocessor / RISC
• Conventional Microprocessor – For general purpose applications.
• Adv. Microprocessor like:
• DEC Alpha 21064 computes a 1024 point complex FFT in 480us
compared to
• Analog Device ADSP 21060 takes 460us.
• But in terms of:
• Low power requirement, cost, real time I/O Capability &
availability of high speed on-chip memories, P-DSPs have
advantage over adv. up & RISC.
4
The Basic Features of DSPs
5
Feature Use
Fast-Multiply accumulate Most DSP algorithms, including
filtering, transforms, etc. are
multiplication- intensive
Multiple – access memory Many data-intensive DSP operations
architecture require reading a program instruction
and multiple data items during each
instruction cycle for best performance
Specialized addressing modes Efficient handling of data arrays and
first-in, first-out buffers in memory
8
Typical Applications for the TMS320 DSPs
General-Purpose
• Adaptive filtering
• Convolution
• Correlation
• Digital filtering
• Fast Fourier transforms
• Hilbert transforms
• Waveform generation
• Windowing
9
TEST
• Formula For Convolution?
𝑛
y(n) = 𝑘=0 𝑥 (𝑛 − 𝑘)ℎ(𝑘)
10
MUTIPLIER & MUTIPLIER ACCUMULATOR
(MAC)
12
13
MACD Instruction
• MAC operation with data move (i.e. MACD instruction) requires
four memory accesses per instruction cycle.
15
MACD Instruction
The 4 memory accesses/clock period required for the MACD instruction are as follows:
4) Write the content of the data memory with address dma into the location with the
address dma+1
16
Von Neuman Architecture
Results
Processing
Unit Data Bus
Operands
Status Opcode
Data/
Instructions
Instructions
Control Data &
Unit Program
memory
Address
17
Harvard Architecture
Results / Operands
Data
Processing
Memory
Unit
Status Opcode
Address
Control Program
Unit Instructions Memory
Address
18
Modified Harvard Architecture
Results / Operands
Data
Processing
Memory
Unit
Status Opcode
Address
Control Program
Instructions
Unit Memory
Address
19
Multiple Access Memory
20
Multiported Memory
Dual port
memory
21
VLIW Architecture
P
R
O Multiported register file
G
R
A
M
Read/Write cross bar
C
O
N
T
R Functional
Functional
O Unit n
Fig: Block Diagram of the VLIW L
Unit 1 .....
Architecture
U
N
I
T
Instruction cache
22
Pipelining
25
Sequential Laundry
6 PM 7 8 9 10 11 Midnight
Time
30 40 20 30 40 20 30 40 20 30 40 20
T
a A
s
k
B
O
r
C
d
e
r D
Time
30 40 40 40 40 20
T
a A
s
k
B
O
r
C
d
e
r D
3) Memory-mapped Addressing
4) Indirect Addressing
6) Circular Addressing
30
1) Short Immediate Addressing
• Permits the operand to be specified using a short constant that
forms part of a single word instruction.
• The length of the short constant depends on he instruction type &
P-DSP.
• Short immediate values can be 3, 5, 8, or 9 bits in length.
31
Some Info. about DP
• In the direct addressing mode, data memory is addressed
in blocks of 128 words called data pages.
• The entire 64K of data memory consists of 512 data pages
labeled 0 through 511, as shown in Fig.
• The current data page is determined by the value in the 9-
bit data page pointer (DP) in status register ST0.
• For example, if the DP value is (0 0000 0000)2, the current
data page is 0. If the DP value is (0 0000 0010)2, the
current data page is 2.
32
33
2) Short direct Addressing
• Permits the lower order address of the operand of an instruction
to be specified in the single word instruction.
• In TI TMS320 DSPs, the higher order 9 bits of the memory are
stored in the data page pointer & only the lower 7 bits are
specified as a part of the instruction.
34
Generation of Data Addresses in Direct Addressing
Mode
35
3) Memory-mapped Addressing
• The CPU registers & I/O registers of P-DSPs are also accessible as
memory location.
• This is achieved by storing them in either the starting page or the
final page of the memory space.
• For Eg. In TMS320C5X, page 0 corresponds to CPU registers & I/O
registers.
• When these registers are accessed using memory mapped
addressing modes, the higher address bits are not taken from the
data page pointer & instead made to be 0 in case of TI DSPs & 1 in
Motorola DSPs.
36
4) Indirect Addressing
• In indirect addressing, any location in the 64K-word data space
can be accessed using the 16-bit address contained in an auxiliary
register.
37
4) Indirect Addressing
• In P-DSPs this addressing mode has a number of options.
• Permits an array of data to be processed in P-DSP to be efficiently
fetched & stored.
• The address can be stored in one of the registers called indirect
address registers.
• In TI, indirect address registers are called auxillary registers ARs.
• Any of these registers can be updated when the operand fetched
using these registers are being executed.
• This is made possible by having an additional ALU in CPU core.
38
4) Indirect Addressing
• The ARs can be incremented or decremented either in steps of 1 or
in steps specified by the content of an offset register.
40
Decimal Number Natural Binary Number Bit Reversed Number
0 0000 0000
1 0001 1000
2 0010 0100
3 0011 1100
4 0100 0010
5 0101 1010
6 0110 0110
7 0111 1110
8 1000 0001
9 1001 1001
10 1010 0101
11 1011 1101
12 1100 0011
13 1101 1011
14 1110 0111
15 1111 1111 41
6) Circular Addressing
• Memory can be organized as a circular buffer with the beginning
memory address & the ending memory address corresponding to
this buffer defined by the programmer.
• In this, when the address pointer is incremented, the address will
be checked with the ending memory address of the circular buffer.
• If it exceeds that, the address will be made equal to the beginning
address of the circular buffer.
42
On Chip Peripherals
1) On-chip Timer
2) Serial Port
3) TDM Serial port
4) Parallel Port
5) Bit I/O Ports
6) Host Port
7) Comm Ports
8) On-Chip A/D and D/A Converters
9) P-DSPs with RISC & CISC 43
2) Serial Port
45
3) TDM Serial port
• TFRM: The Frame Sync Signal
• TClock: The Bit Clock
• TADD: The Address of the serial device that is outputting data in a
particular TDM Slot.
• TDAT: The data transmitted into the TDM channel by authorized
device.
46
Fig. Data transfer using TDM Channel
47
9) P-DSPs with RISC & CISC
• TI TMS320C6X P-DSPs uses RISC processor.
• Large number of Analog Devices & Motorola Devices uses CISC.
48
49
50
51
52
53
54
55
56
57
58
59
60