Professional Documents
Culture Documents
Unit 3 Programmable Digital Signal Processors
Unit 3 Programmable Digital Signal Processors
Unit 3 Programmable Digital Signal Processors
10/8/2015
TMS320C54xx Internal Block
Diagram
• Memory Access
– 4 16 bit internal bus pairs
– C,D for data read
– E for data write
– P for program
• Others
– 2 40-bit Accumulator.
– 40-bit Barrel shifter
– 40-bit ALU
– 17bx17b multiplier and 40b dedicated adder perform a
non pipelined single-cycle MAC
– Compare, select and store unit
– Exponent adder
– DAGEN and PAGEN
Status register
Temporary register
Functional diagram of Central processing unit
12/8/2015
Functional diagram of Barrel shifter
Functional diagram of multiplier/adder unit
14/8/2015
Internal memory mapped (CPU) registers
Peripheral registers
Status Registers and Processor mode status
register(PMST)
•Data addressing modes
• These provide various ways to access
operands to execute instructions and place
results in the memory or the registers.
• The 54xx devices offer seven basic addressing
modes:
• Immediate,absolute,accumulator,direct,indire
ct,memory mapped and stack addressing
17/8/2015
•Immediate Addressing
• The instruction syntax contains the specific value of the
operand
– LD #80h, A
• Immediate values can be 3,5,8,9, or 16 bits in length
• Accumulator addressing
• Uses the accumulator as an address
– READA Smem
EE201A, Spring 2003, Yung-Szu Tu, Chun-
15
Ching, UCLA - Memory Addressing
Absolute addressing
• Addresses are always 16 bits long, addressing types
depend on instructions
• Data-memory address (dmad) addressing uses a
specific value to specify an address in data space
– MVKD SAMPLE, *AR5
• Program-memory address (pmad) addressing uses a
specific value to specify an address in data space
– MVPD TABLE, *AR7-
• Port address (PA) addressing uses a specific value to
specify an external I/O port address
– PORT FIFO, *AR5
• *(lk) addressing uses a specific value to specify an
address in data space
– Instructions with ingle data-memory operand
– LD *(BUFFER), A
EE201A, Spring 2003, Yung-Szu Tu, Chun-
16
Ching, UCLA - Memory Addressing
Direct addressing
• Uses the accumulator
as an address
– READA Smem
• With direct addressing,
Instructions contain
the lower 7 bits of the
data-memory address
(dma)
– Combined with a base address,
data-page pointer (DP) or stack
pointer (SP) to form a 16-bit data-
memory address
– ADD SAMPLE, B
– DR-referenced
– SP-referenced
19/8/2015
EE201A, Spring 2003, Yung-Szu Tu, Chun- Example 5.1 20
Ching, UCLA - Memory Addressing
Indirect addressing cont’d
Example 5.2,5.3
EE201A, Spring 2003, Yung-Szu Tu, Chun-
23
Ching, UCLA - Memory Addressing
Indirect addressing cont’d
• Bit-Reversed Address Modifications (MOD=4 or 7)
– Enhances execution speed and program memory for FFT
2N - 1
algorithms that use2aN variety of radixes
• Assume FFT size is , then AR0=
– An ARx points to the physical location of a data value
24/8/2015
Example 5.4,5.5
•Program Control
It contains program counter (PC), the program counter related H/W,
hard stack, repeat counters &status registers.
PC addresses memory in several ways namely:
Branch: The PC is loaded with the immediate value following the
branch instruction
Subroutine call: The PC is loaded with the immediate value
following the call instruction
Interrupt: The PC is loaded with the address of the appropriate
interrupt vector.
Instructions such as BACC, CALA, etc ;The PC is loaded with the
contents of the accumulator low word
End of a block repeat loop: The PC is loaded with the contents of the
block repeat program address start register.
Return: The PC is loaded from the top of the stack.