DSP Processors
DSP Processors
The architectures of DSP processors are designed to have these features. The DSP
processors from Analog Devices, Texas Instruments, Motorola etc. are commonly used.
Computer Architectures for Signal
Processing
• Although signal processing operations can be performed
on all the types of processors, they are not
computationally efficient.
• The specific operations in DSP, such as
multiply/accumulate, shifting, bit reversing, convolution
needs special provisions in architectures for efficient
computation.
• Different types of architectures are as follows :
1. Von-Neumann architecture.
2. Harvard architecture.
3. Modified Hardvard architecture
Von-Neumann Architecture
• All the general purpose processors normally
have this type of architecture.
Von-Neumann Architecture
• The architecture shares same memory for program and
data.
• The processors perform instruction fetch, decode and
execute operations sequentially. In such architecture, the
speed can be increased by pipelining.
• This type of architecture contains common internal
address and data bus, ALU, accumulator, I/O devices and
common memory for program and data.
• This type of architecture is not suitable for DSP processors.
Harvard Architecture
• The Harvard architecture has separate
memories for program and data. There are
also separate, address and data buses for
program and data. Because of these separate
on chip memories and internal buses, the
speed of execution in Harvard
architecture is high
Harvard Architecture
Harvard Architecture
• In this block diagram, separate Program Memory Address (PMA) bus and
Program Memory Data (PMD) bus for program memory.
• Similarly there is separate Data Memory Data (DMD) bus and Data Memory
Address (DMA) bus for data memory.
• This is all on chip.
• The digital signal processor includes various registers, address generators, ALUs
etc.
• The PMD bus is used to get instructions from the program memory and DMD
bus is used to exchange operands and results from data memory.
• The instruction code from program memory and operands from data memory
can be fetched simultaneously. This parallel operation increases the speed.
• It is possible to fetch next instruction when current instruction is executed.
That is, the fetch, decode and execute operations are done parallely.
Modified Harvard Architecture
Modified Harvard Architecture
• Fig. shows the block diagram for modified Harvard
architecture.
• One set of bus is used to access program as well as data
memories.
• The DMD bus can be used to transfer the data from
program memory to data memory and vice-versa.
• Normally the program memory and data memory
addresses are generated by separate address generators.
• This modified Harvard architecture is used in several P-
DSPs such as DSP processors from Texas Instruments and
Analog Devices.
Hardware Multiplier-Accumulator (MAC) Unit
Hardware Multiplier-Accumulator (MAC) Unit
• Most of the operations in DSP involve array multiplication. The
operations such as convolution, correlation require multiply and
accumulate operations.
• In real time applications, the array multiplication and accumulation
must be completed before next sample of input comes. This
requires very fast implementation of multiplication and
accumulation.
• The dedicated hardware unit called multiplier-accumulator (MAC).is
used. It is one of the computational unit in processor.
• The complete MAC operation is executed in one clock cycle.
In Texas Instruments DSP processor 320C5X, the output of
multiplier is stored into the product register. This product register
contents are added to accumulator register ACC in central ALU.
Hardware Multiplier-Accumulator (MAC) Unit
• The MAC accepts two 16-bit 2's compliment fractional
numbers and computes 32-bit product in a single cycle only.
• The X-register and Y-register holds the inputs to be
multiplied. The DSP processors have a special instruction
called MACD. This means multiply accumulate with data
shift.
• The MACD instruction performs multiply, accumulate with
accesses are required :
i) Fetch MACD instruction from program memory
ii) Fetch one of the operands from program memory
iii) Fetch second operand from data memory
iv) Data memory write
Pipelining
• Any instruction cycle can be split in following micro
instructions :
i) Fetch : In this phase, an instruction is fetched from the
memory.
ii) Decode : In this phase, an instruction is decoded.
iii) Read : An operand required for the instruction is fetched
from the data memory.
iv) Execute : The operation is executed and results are
stored at appropriate place.
Each of the above operations can be separately executed in
different functional units.
Fig. 5.2.6 shows how the instruction is executed without
pipeline.
Pipelining
Fig. shows the instruction execution with pipeline. Here observe that when I1
is in decode phase, next instruction I 2 is fetched.
Similarly when I 2 goes to decode phase, next instruction I 3 is fetched. Thus
observe that all the functional units are executing four successive
instructions at any time.
On comparing Fig. 5.2.6 and Fig. 5.2.7 we observe that five instructions are
executed in the same time if pipelining is used.
General purpose DSP architecture
DSP Processors