Professional Documents
Culture Documents
Microprocessor
Central processing unit (CPU) on a single or few integrated circuits (IC)
The purpose of a microprocessor is to accept digital data as input, process it as per the
instructions, and then provide the output. This is known as sequential digital logic.
The microprocessor has internal memory and operates basically on the binary system.
Most general purpose microprocessors are present in personal computers.
They are often used for computation, text editing, multimedia display, and
communication over a network.
Other microprocessors are part of embedded systems. These provide digital control over
practically any technology, such as appliances, automobiles, cell phones, industrial
process control, etc.
Micro-Controller
Micro-controller is a computer on-a-chip which is optimized to manage electric
gadgets.
It is a device that includes microprocessor, memory and input/output devices on a
single chip. It is said to be the heart of an embedded system.
Microcontrollers are intended to perform particular operations which help to control
particular systems
Microcontrollers are like small computer in which a CPU, memory unit like RAM and
ROM, I/O peripherals, timers, counters, are embedded in one integrated circuit
They are easily interfaced to external peripherals like serial ports, ADC, DAC, Bluetooth,
Wi-Fi, etc. Here, the interfacing process is faster as compared to the microprocessor
interfacing.
Most of the times, microcontrollers use RISC or CISC architecture to perform a task in
different machines.
Microcontrollers are designed for embedded applications. They are often used in
automatically controlled products and devices, such as automobile engine control
systems, implantable medical devices, remote controls, office machines, appliances,
power tools, toys and other embedded systems.
Microprocessor
Microcontroller
System
Contains
Data memory
Circuit
It is large.
It is small.
Cost
Bit instructions
Register numbers
Storage
Time
Hardware
Key difference
The difference between a microprocessor and a microcontroller lies in the presence of
RAM, ROM, and other peripherals in a microcontroller. A microprocessor only contains
the CPU and lacks the other components.
DSP Processor
A particular type of microprocessor.
DSP stands for digital signal processing. It is basically any signal processing that is done on a
digital signal or information signal.
A DSP processor is a specialized microprocessor that has an architecture optimized for the
operational needs of digital signal processing.
DSP aims to modify or improve the signal.
DSP includes subfields like communication signals processing, radar signal processing, sensor
array processing, digital image processing, etc.
The main goal of a DSP processor is to measure, filter and/or compress digital or analog signals.
It does this by converting the signal from a real-world analog signal to a digital form. In order
to convert the signal it uses a digital-to-analog converter (DAC).
Digital signal processing algorithms run on various platforms, such as general purpose
microprocessors and standard computers; specialized processors called digital signal
processors (DSPs); purpose-built hardware such as application-specific integrated circuit
(ASICs) and field-programmable gate arrays (FPGAs); Digital Signal Controllers; and stream
processing for traditional DSP or graphics processing applications, such as image, video.
DSP Vs. Microprocessor
The main difference between a DSP and a microprocessor is that a DSP processor has features
designed to support high-performance, repetitive, numerically intensive tasks. DSP processors
are designed specifically to perform large numbers of complex arithmetic calculations and as
quickly as possible. They are often used in applications such as image processing, speech
recognition and telecommunications.
As compared to general microprocessors, DSP processors are more efficient at performing basic
arithmetic operations, especially multiplication.
DSP Vs. Microcontroller
The advantage of using a microcontroller is that it makes it economical to digitally control
devices and processes. It achieves this as it is more economical than using a design that uses a
separate microprocessor, memory, and input/output devices
DSPs often don't have a flash program memory. They need the software to be 'loaded' into
them. Whereas, microcontrollers have a non power off erasable program memory inside,
some with EPROM store capabilities.
DSPs are much faster for integer mathematics operations, whereas many microcontrollers
do not have the hardware.
DSPs are much faster for floating point operations. In microcontrollers, this has to be
done in software.
Microcontrollers are a multi-feature device with several ways of interfacing with the
world, however none are the fastest.
DSPs are not designed to be a 'robust' device. They need a well-designed board to work
properly. Microcontrollers can work on a Test Board.
DSPs are a fast calculator microprocessor, that is very effective for computing calculations
and moving data, whereas, microcontrollers are a more flexible device with more features
FPGA
An FPGA is an uncommitted "sea of gates". The device is programmed by connecting the gates
together to form multipliers, registers, adders and so forth
FPGAs have included Multipliers especially for performing DSP tasks more efficiently.
2. Design Flexibility
DSP: provide a hardware architecture that is FIXED
FPGA: hardware reconfigurable, The architecture can be changed multiple time (As the
Design or Algorithm change)
3. Design Effort
Design effort relates to the ease with which the capabilities within the device can be
accessed and how fast a device can be taken to market
DSPs provide the fastest route to market.
FPGAs were typically programmed using hardware description languages (HDLs) such as
VHDL and Verilog , also you can use MATLAB and Simulink
4. Power consumption
DSPs that feature low-device power, both static (W) and dynamic (mW), are key
concerns. For such applications, DSPs, or application-specific derivatives of DSPs,
continue to offer the best performance/power ratio for today's needs. FPGAs are not suited
for battery-operated applications because static power alone can typically be as much as
a watt.
The DSP can take a standard C program and run it. This C code can have a high level of
branching and decision making for example, the protocol stacks of communications systems.
This is difficult to implement within an FPGA.
Most signal processing systems start life as a block diagram of some sort. Actually translating
the block diagram to the FPGA may well be simpler than converting it to C code for the DSP.
Making a Choice
1. What is the sampling rate of this part of the system? If it is more than a few MHz, FPGA is
the natural choice.
2. Is your system already coded in C? If so, a DSP may implement it directly. It may not be the
highest performance solution, but it will be quick to develop.
3. What is the data rate of the system? If it is more than perhaps 20-30Mbyte/second, then
FPGA will handle it better.
4. How many conditional operations are there? If there are none, FPGA is perfect. If there are
many, a software implementation may be better.
5. Does your system use floating point? If so, this is a factor in favour of the programmable
DSP. None of the Xilinx cores support floating point today, although you can construct your
own.
6. Are libraries available for what you want to do? Both DSP & FPGA offer libraries for basic
building blocks like FIRs or FFTs. However, more complex components may not be available,
and this could sway your decision to one approach or the other.