Professional Documents
Culture Documents
Processors
▪ Advanced version of TMS320C5x
➢ The inputs to CSSU for comparison are from accumulator and the output is stored in data
memory .
➢ The status of comparison is also stored LSB of TRN register and TC bit of status register 0.
➢ The instruction “CMPS src , use the CSSU to compare the low and high word of specified
source accumulator, to select the largest of the two words and store in specified data
memory . If high accumulator is greater, then 0 is stored in LSB of TRN and TC, or if low
accumulator is greater , then 1 is stored in LSB of TRN and TC.
Functional Units of CPU of TMS320C54x
▪ Exponent Encoder (EC)
➢ For implementing floating point arithmetic in fixed processors like TMS320C54x,
require separate section of exponent, mantissa of the floating point
➢ “NORM src,dst” – used to normalize the accumulator using the exponent in T-register
as count value
Functional Units of CPU of TMS320C54x
▪ Data address generation unit
➢ Consists of 2 units-Auxiliary register arithmetic unit (ARAU0,ARAU1)
➢ AR- used to hold the data- memory address in indirect addressing mode
➢ 3-bit ARP field ST –indicates the current AR used for indirect addressing
➢ AR0 –used as an index register for modifying the content of other auxiliary register\ARAU perform
arithmetic operations related to address generation for indirect addressing mode like increment,
decrement, Indexing , bit revered address generation and circular address generation.
➢ Two independent ARAU at any time can operate two ARs to generate two data memory address
simultaneously
Functional Units of CPU of TMS320C54x
▪ Data address generation unit
➢ The 9-bit DP (Date-page Pointer of status register-0 is used as upper 9
bits of data-memory address (page address) in direct addressing.
➢ The circular buffer register is loaded with circular buffer size which is
used to generate the start and end address of circular memory along
with AP specified min the instruction
➢ The stock pointer is used to implement the LIFO stack for memory
operands that uses stack addressing.
➢ The stack pointer always holds the address of top of stack.
Functional Units of CPU of TMS320C54x
▪ Program address generation unit
➢ The program address generation unit consists of five registers,
➢ Program Counter (PC), Repeat Counter (RC), Block-Repeat Counter (BRC), Block-Repeat Start
Address register (RSA) and Block-Repeat End Address register (REA)
➢ Some version of TMS320C54x processors has an additional register called program counter
extension register (XPC) to support addressing of virtual memory.
➢ The program counter PC is a 16-bit register which hold the address of the program code. An
instruction is fetched from program memory by loading the counter of PC (address) on the program
address bus (PAB) and then reading the code from program bus (PB), When the memory is read, the
PC is incremented for the next fetch, so that when an instruction word is read, the PC holds the
address of next word of same instruction or the next instruction.
➢ The XPC is a 7-bit register that selects the extended page of program memory in the processors that
supports virtual addressing.
Functional Units of CPU of TMS320C54x
▪ Program address generation unit
➢When the execution of a single instruction has to be repeated the BRC
is used to hold the count value. The register RSA and REA are used to
hold the start and end address of the block to be repeated respectively.
▪ Status Register
➢Two status registers-ST0,ST1-16 bit registers holds the address of
status of ALU, pointers for indirect addressing , various bits for
interrupt control, hold mode, arithmetic mode and accumulator shift
value
➢Status register can be stored into data memory and can be loaded from
data memory
➢ST0 and ST1can de individually set or cleared using SSBX and RSBX
instructions
▪ Status Register
▪ Status Register
▪ Status Register
▪ CPU Memory Mapped Register
➢ It is mapped to program memory space and in some processors a part of ROM can be
➢ The processor has an option for including or excluding the on-chip ROM addresses in the
➢ The purpose of the ROM is to permanently store the program code and data for a specific
➢ It has an option of boot loading the content of on-chip ROM to internal/external RAM during
➢ The content of the on-chip ROM is protected so that any external device cannot have access
to the program code. This feature provides security for proprietary algorithms.
▪ On-chip DARAM
➢ Upon reset, the DARAM is mapped to data memory address space and after reset the
processor has provision to map the DARAM into program memory space.
▪ On-chip SARAM
➢ It can extend the external bus cycles upto seven machine cycles.
➢ When all external accesses are configured to zero wait states, the
internal clock to the wait state generator is shut off to reduce power
consumption.
▪ Programmable bank switching
➢ This extra cycle helps the memory to release the bus before the other
memory starts driving the bus, thereby avoiding bus contention.
▪ Parallel IO ports
➢ The IO port can be addressed by the PORTR and PORTW instruction for data
transfer between ports and data memory.
➢ It has higher priority than the CPU for both internal and external
access.
➢ Like synchronous serial port, the TDM port is also double buffered
for both transmit and receive data.
▪ Buffered serial port
➢ This results in minimal overhead for serial port transactions and faster data
rates.
▪ Multichannel buffered serial port (McBSP)
➢ The features is wide data sizes from 8-bit to 32-bit , micro-law and
A –law companding and programmable internal clock and frame
synchronization.
▪ General purpose IO pins
➢ The timer can be used to initiate any time –based event through interrupt.
➢ The timer as a count register, which is loaded with a count value and at
every clock cycle the timer count is decremented by 1. at the end of the
count an interrupt is generated.
➢ The timer has a control register to control its operation like start, stop,
SYNTAX MODIFICATION OF AR
*ARx AR unaltered
*ARx- AR decremented by 1 after data access
*Arx+ AR incremented by 1 after data access
*Arx AR incremented by 1 before data access
*Arx+0B AR incremented for bit reversed addressing using index register (AR0)
*Arx(lK) Arx = base , lk = Offset, Data Address = Base + Offset, Arx is not altered
▪ Stack Addressing
➢ In stack addressing mode , the data memory address is the content of Stack Pointer(SP)
➢ The push and pop instruction access the stack memory using the stack addressing mode.
➢ The call interrupt and return instruction also use stack pointer address for automatic storage/retrieval of information
to/from stack