Sunteți pe pagina 1din 10

VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM

TITLE
A Seminar Report On
HOW DIGITAL SIGNAL PROCESSORS ARE DIFFERENT FROM
MICROPROCESSORS
By
Aamodh.K

(USN:4JC09EC001),
Abhilash Krishnamurthy
(USN: 4JC09EC002)
Adarsh Datta
(USN: 4JC09EC003)
Ajay Shekar
(USN: 4JC09EC005)
V Sem. B.E.: Electronics and Communication
As a part of
EC520: Digital Signal Processing

SRI JAYACHAMARAJENDRA COLLEGE OF ENGINEERING,


MYSORE 570 006
(Autonomous)
2011-2012

INTRODUCTION
A digital signal processor (DSP) is a specialized microprocessor
with an architecture optimized for the fast operational needs of digital
signal processing.
Digital signal processing algorithms typically require a large
number of mathematical operations to be performed quickly and
repetitively on a set of data. Many DSP applications deal with real-world
analog signals (such as sound, light, analog voltage, analog current,
temperature, pressure). Since a DSP can only process digital signals,
there is a need to convert analog signals first into digital data before they
can be processed by a DSP. After processing, there is again a need for
the DSP to convert these digital data back into the original real-world
analog signal format. In such applications, the DSP must be supported by
an analog-to-digital converter (ADC) and a digital-to-analog converter
(DAC), which will perform the required analog-digital and digital-analog
conversions, respectively as shown in figure 1[4].

Figure 1: Simple digital signal processing system


Many DSP applications have constraints on latency; that is, for the
system to work, the DSP operation must be completed within some fixed
time, and deferred (or batch) processing is not viable.
A Digital Signal Processor is required to do the following Digital
Signal Processing tasks in real time
Signal Modeling
Difference Equation
Convolution
Transfer Function
Frequency Response
Signal Processing
Data Manipulation
Algorithms
Filtering


SO, HOW ARE DIGITAL SIGNAL PROCESSORS DIFFERENT
FROM MICROPROCESSORS ?
A DSP is a highly-specialized device that's equipped with a
multitude of mathematical functions specifically intended for processing
a digital signal, whereas a microprocessor is designed to be a generalpurpose device.Both a microprocessor and a DSP can execute
instructions, accept input digital data, perform operations on them, and
output digital data. The fundamental difference between a DSP and a
microprocessor is what their built-in processing capabilities were
designed for[5].
A microprocessor would be able to handle many different
applications, such as word processing, spreadsheets, databases, and, well,
even digital signal processing. Most general-purpose microprocessors
and operating systems can execute DSP algorithms successfully, but are
not suitable for use in portable devices such as mobile phones and PDAs
because of power supply and space constraints. A specialized digital
signal processor, however, will tend to provide a lower-cost solution,
with better performance, lower latency, and no requirements for
specialized cooling or large batteries[6].
The architecture of a digital signal processor is optimized
specifically for digital signal processing. Most also support some of the
features as an applications processor or microcontroller, since signal
processing is rarely the only task of a system[1].

Figure 2: Data Manipulation Vs. Mathematical calculation.


Figure 2 lists the most important differences between these two
categories. Data manipulation involves storing and sorting information.
For instance, consider a word processing program. The basic task is to
store the information (typed in by the operator), organize the information
(cut and paste, spell checking, page layout, etc.), and then retrieve the

information (such as saving the document on a floppy disk or printing it


with a laser printer). These tasks are accomplished by moving data from
one location to another, and testing for inequalities (A=B, A<B, etc.). As
an example, imagine sorting a list of words into alphabetical order. Each
word is represented by an 8 bit number, the ASCII value of the first letter
in the word. Alphabetizing involved rearranging the order of the words
until the ASCII values continually increase from the beginning to the end
of the list. This can be accomplished by repeating two steps over-andover until the alphabetization is complete. First, test two adjacent entries
for being in alphabetical order (IF A>B THEN ...). Second, if the two
entries are not in alphabetical order, switch them so that they are (AB).
When this two step process is repeated many times on all adjacent pairs,
the list will eventually become alphabetized[1].
In comparison, the execution speed of most DSP algorithms is
limited almost completely by the number of multiplications and additions
required. For example, Fig. 3 shows the implementation of an FIR digital
filter, the most common DSP technique. Using the standard notation, the
input signal is referred to by x[ ], while the output signal is denoted by
y[ ]. Our task is to calculate the sample at location n in the output signal,
i.e., y[n]. An FIR filter performs this calculation by multiplying
appropriate samples from the input signal by a group of coefficients,
denoted by: a0, a 1, a2, a3, , and then adding the products. In equation
form, y[n] is found by:

This is simply saying that the input signal has been convolved with
a filter kernel (i.e., an impulse response) consisting of: a0, a1, a2, a 3.
Depending on the application, there may only be a few coefficients in the
filter kernel, or many thousands. While there is some data transfer and
inequality evaluation in this algorithm, such as to keep track of the
intermediate results and control the loops, the math operations dominate
the execution time.

Figure 3: FIR digital filter


In addition to preforming mathematical calculations very rapidly,
DSPs must also have a predictable execution time. Suppose you launch
your desktop computer on some task, say, converting a word-processing
document from one form to another. It doesn't matter if the processing
takes ten milliseconds or ten seconds; you simply wait for the action to be
completed before you give the computer its next assignment[1].
In comparison, most DSPs are used in applications where the
processing is continuous, not having a defined start or end. For instance,
consider an engineer designing a DSP system for an audio signal, such as
a hearing aid. If the digital signal is being received at 20,000 samples per
second, the DSP must be able to maintain a sustained throughput of
20,000 samples per second. However, there are important reasons not to
make it any faster than necessary. As the speed increases, so does the
cost, the power consumption, the design difficulty, and so on. This makes
an accurate knowledge of the execution time critical for selecting the
proper device, as well as the algorithms that can be applied[1].
A DSP is also very similar to a microprocessor as far as architecture
is concerned, i.e., it has many parts that are also seen in a microprocessor,
such as data and address buses, an Arithmetic-Logic Unit (ALU), a

program control unit, assorted flags and registers, etc. It also has its own
native instruction set, which defines what it can be programmed to do.
Programming DSP's is no longer complicated too, with the existence of
various development kits in the market that support DSP software
development using high-level programming languages such as C[1].
The performance of the processor is measured based on the following
five criteria.
Cycle count
Execution time
Energy Consumption
Memory use
Cost-performance
FEATURES THAT ACCELERATE PERFORMANCE IN DSP
* Single-cycle multiply-accumulate capability; high-performance DSPs
often have two multipliers that enable two multiply-accumulate
operations per instruction cycle; some DSP have four or more multipliers
* Specialized addressing modes, for example, pre- and post-modification
of address pointers, circular addressing, and bit-reversed addressing
* Most DSPs provide various configurations of on-chip memory and
peripherals tailored for DSP applications. DSPs generally feature
multiple-access memory architectures that enable DSPs to complete
several accesses to memory in a single instruction cycle
* Specialized execution control. Usually, DSP processors provide a loop
instruction that allows tight loops to be repeated without spending any
instruction cycles for updating and testing the loop counter or for jumping
back to the top of the loop
* DSP processors are known for their irregular instruction sets, which
generally allow several operations to be encoded in a single instruction.
For example, a processor that uses 32-bit instructions may encode two
additions, two multiplications, and four 16-bit data moves into a single
instruction. In general, DSP processor instruction sets allow a data move
to be performed in parallel with an arithmetic operation. GPPs/MCUs, in
contrast, usually specify a single operation per instruction.[8]

POWER CONSIDERATIONS
Power has been a major concern especially in hand held devices like
mobile phones etc. Power dissipation is lowered as parallelism is
increased with the use of multiple functional units and buses. As a result
the power usage is reduced when memory access is minimized. An
optimum code density also saves power by scaling the instruction size to
just the required amount. The burst-fill instruction cache in the Texas
Instruments' TMS320C55x family is flexible enough to be optimized
based on the code type. This mechanism improves the cache hit ratio and
reduces memory accesses. The core processor can also dynamically and
independently control the power feeding the on chip peripherals and
memory arrays. If these arrays and peripherals are not used, the processor
switches them to a low power mode and brings them back to full power
when an access is initiated without any latency. Additionally the power is
saved based on the supported data types as well. The TMS320C5x family
of DSPs supports only integer operations instead of floating point
operations in C64x and C67x family, there by compromising on
increased code complexity and reduced performance[2].
COMMERCIALLY AVAILABLE DSP CHIPS
There are currently four major companies that produce DSP's, namely,
Texas Instruments, Analog Devices, Motorola, and Lucent
Technologies. Examples of commercially available DSP's include:
- Analog Devices' ADSP-21xx: 10 to 50 MIPS 16-bit fixed-point DSP's;
40-bit accumulator; 24-bit instructions;
- Analog Devices' ADSP-2106x ("SHARC"): 40 MIPS, 32-bit floating
point DSP's;
- Lucent Technologies' DSP32xx: 32-bit floating-point with 40-bit
accumulator and 16/24-bit fixed point DSP's;
- Motorola's DSP568xx: 20 MIPS 16-bit fixed-point DSP's;
- Motorola's DSP96002: IEEE format floating-point DSP with two
complete
32-bit
data
and
address
buses;
- Texas Instruments' TMS320C1x: Low cost fixed-point DSP's with 16bit data, 32-bit registers;
- Texas Instruments' TMS320C8x: Multiple 50 MHz 32-bit fixed-point
processors combined with a RISC supervisory processor in a single
multi-chip module.[7]

APPLICATIONS OF DSP:
1. digital sound and image processing
2. digital communications
3. consumer electronics (e.g., mobile phones, faxes, computer
peripherals such as modems and sound cards, and digital systems
such as DVD players and digital TV)
4. medical electronics
5. industrial and automation electronics[7].
IMPORTANT DIFFERENCES BETWEEN DSP AND
MICROPROCESSOR
DIGITAL SIGNAL
PROCESSOR

MICROPROCESSOR

Fast signal processing


operations( complex addition
and multiplication).

Slow signal processing


operations.

It mainly used for


performing mathematical
operations like addition,
multiplication which are
frequently made use of in
signal processing
applications.

Along with mathematical


operations, it makes use of
datamanipulation
operations which are used
in other applications.

Performs parallel operations.


(Harvard architecture)

Performs serial processing


(Von Neumann
architecture)[3]

Chips are costly.


Chips are relatively cheap.
Chips dissipate a lot of heat.
Chips donot dissipate
much heat.
Used for radio
frequency(RF) algorithm
implementation due to its
speed.

Not used in RF
applications.

CONCLUSION
DSPs have seen tremendous growth in the last decade, finding use
in everything from cellular telephones to advanced scientific instruments.
Increasing microprocessor clock speeds have enabled designers to
incorporate them in applications that once required a DSP. Also, the trend
toward multicore processors enables general-purpose CPUs and DSPs to
be incorporated into a single chip. But still, a microprocessor is not as
good as a DSP when it comes to serious DSP applications. However, it
may not be long before high speed microprocessors and microcontrollers
replace digital signal processors even in signal processing applications.

REFERENCES
[1] Bhavik Shah, Digital signal processors: Current Trends and
architecture, IIT Bombay, Department of Electrical Engineering,
credit seminar report, November 14, 2006, pp 1-5 .
[2] Texas Instruments, Digital signal processors vs Universal
Microprocessors, ESIEE Paris, September 1996.
[3] Bruno Paillard, An Introduction to Digital Signal Processors,
University of Sherbrooke, January 27, 2002, pp 22-25.
[4] Digital Signal Processor,
http://en.wikipedia.org/wiki/Digital_signal_processor
[5] Digital Signal Processing,
http://en.wikipedia.org/wiki/Digital_signal_processing
[6] Microprocessor, http://en.wikipedia.org/wiki/Microprocessor
[7] Digital Signal Processors (DSP's),
http://www.siliconfareast.com/dsp.htm
[8] What is the difference between a DSP and a Microprocessor?,
http://www.bdti.com/Resources/Comp.DSP.FAQ/Part3

S-ar putea să vă placă și