Professional Documents
Culture Documents
A processor is the heart of the embedded system. A processor has two essential units:
program flow control unit (CU) and execution unit (EU).
The CU includes a fetch unit for fetching instructions from the memory.
The EU has circuits that implement the instructions pertaining to data transfer
operations and data conversion from one form to another.
The EU includes the Arithmetic and Logical unit (ALU) and also the circuits
that execute instructions for a program control task, say halt, interrupt, or
jump to another set of instructions or call to another routine or sleep or reset.
The instructions, defined in the processor instruction set, are executed in the
sequence that they are fetched from the memory.
Microprocessor
5.1.2.
Microcontroller
5.1.3.
Embedded processor
5.1.4.
5.1.5.
Media processor
absent.
The power consumption and temperature rise of microcontroller is restricted
However, recently, the market for 32-bit embedded processors has been growing.
Further the issues such as power consumption, cost, and integrated peripherals
differentiate a desktop CPU from an embedded processor. Other important features
include the interrupt response time, the amount of on-chip RAM or ROM, and the
number of parallel ports. The desktop world values processing power, whereas an
embedded microprocessor must do the job for a particular application at the lowest
possible cost.
Figure 5.1 shows the performance cost plot of the available microprocessors.
Naturally the more is the performance the more is the cost. The embedded controllers
occupy the lower left hand corner of the plot.
Figure 5.2 and 5.3 shows the architectural difference between two systems with a
general purpose microprocessor and a microcontroller. The hardware requirement in
the former system is more than that of later. Separate chips or circuits for serial
interface, parallel interface, memory and AD-DA converters are necessary On the
other hand the functionality, flexibility and the complexity of information handling is
more in case of the former.
5.1.1. Microprocessor
A microprocessor is a single VLSI chip that has a CPU and may also have some
other units that are additionally present and that result in faster processing of
instructions. It is used when large embedded software is to be located in the
external memory chips. RISC core microprocessor is used when intensive
computations are to be performed. For example, in a speech processing system.
The CPU is a central unit that fetches and processes instructions. It includes
instructions for data transfer operations, ALU operations, stack operations,
input and output (I/O) operations and program control, sequencing and
supervising operations. The general purpose instruction set is always specific to
a specific CPU. Any CPU possesses the following basic functional units.
An ALU for the arithmetic and logical operations on the bytes or words. It
may be capable of processing 8, 16, 32 or 64 bit words at an instant.
Processors can be identified by two main parameters: how wide they are and
how fast they are. The speed of a processor is a fairly simple concept. Speed is
counted in megahertz (MHz), which means millions of cycles per secondand
faster is better! The width of a processor is a little more complicated to discuss
because there are three main specifications in a processor that are expressed in
width. They are
Internal registers
8086 and 8088: The original 8086 and 8088 processors take an average
of 12 cycles to execute a single instruction.
286 and 386: The 286 and 386 processors improve this rate to about 4.5
cycles per instruction.
5.1.2. Microcontroller
A microcontroller is a single-chip VLSI unit (also called microcomputer)
which, though having limited computational capabilities possesses enhanced
input-output capabilities and a number of on-chip functional units. It is used
when a small part of the embedded software has to be located in internal
memory and when the on-chip functional units like interrupt-handler, port,
timer, ADC and PWM are needed.
Figure 5.4 shows the functional units present (in solid boundary boxes) and
application-specific units (in dashed boundary boxes) in a microcontroller.
Fast context switching and thus lower latencies of the tasks in complex real
time applications.
Atomic ALU operations and thus no shared data problem. The latter occurs
due to an incomplete ALU (non-atomic) operation when an operand of a
larger number of bits is placed in two or four registers
RISC core for fast, more precise and intensive calculations by the embedded
software
features. If the software alone is used for the above tasks, it may take a longer
time than a hardwired solution for application-specific processing. An ASSP
provides solution in such a case.
Typically a set top box processor or mpeg video-processor or network
application processor or mobile application processor.
5.4. GPP core or ASIP core integrated into either an ASIC or VLSI or
FPGA
A SoC may also have a network protocol and encryption function unit
embedded into it.
0.25V, 3.3V
0.3V, 2.0V
An embedded system has to perform tasks continuously from powerup to power-off and may even be kept on continuously.
Fetching the codes and data from memory and then decoding
and executing at the processor, and
Real Time Clock (RTC) and Timers for various timing and counting
needs of the system
For scheduling various tasks and for real time programming, a system clock
(RTC) is needed. The system clock also drives the timers for various timing
and counting needs in a system.
Memories
A system embeds the following either in the microcontrollers internal ROM,
PROM or in an external ROM or PROM
Boot-up programs
Initialization data
The system has RAMs for saving temporary data, stack and buffers that are
needed during a program run. The system also has flash for storing non-volatile
results.
Interrupts handler
A system must have an interrupt handling mechanism for executing the ISRs
in case of the interrupts from physical devices, systems and software
exceptions.
Keypad/Keyboard
It is an important device for getting user inputs. The system must provide the
necessary interfacing and key-debouncing circuit as well as the software for
the system to receive input from a set of keys or from a keyboard or keypad.