0% found this document useful (0 votes)
3 views

UNIT - 1

Embedded systems are specialized electronic systems designed for specific functions, combining hardware and firmware, and differ from general computing systems in their application-specific nature and performance requirements. The document outlines the history, classification, major application areas, purposes, characteristics, and quality attributes of embedded systems, highlighting their evolution from early technologies to modern applications. Key applications include consumer electronics, automotive systems, healthcare devices, and data communication systems.

Uploaded by

sree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

UNIT - 1

Embedded systems are specialized electronic systems designed for specific functions, combining hardware and firmware, and differ from general computing systems in their application-specific nature and performance requirements. The document outlines the history, classification, major application areas, purposes, characteristics, and quality attributes of embedded systems, highlighting their evolution from early technologies to modern applications. Key applications include consumer electronics, automotive systems, healthcare devices, and data communication systems.

Uploaded by

sree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

UNIT – 1

INTRODUCTION TO EMBEDDDED SYSTEMS

DEFINITION OF EMBEDDED SYSTEM


An Electronic/Electro mechanical system which is designed to perform a specific function and
is a combination of both hardware and firmware (Software)
E.g. Electronic Toys, Mobile Handsets, Washing Machines, Air Conditioners, Automotive

Control Units, Set Top Box, DVD Player etc…

Embedded Systems are


• Unique in character and behaviour
• Hardware and firmware is highly specialized to the application domain.

EMBEDDED SYSTEMS VS GENERAL COMPUTING SYSTEMS

General Purpose Computing System Embedded System

A system which is a combination of generic A system which is a combination of special


hardware and General-Purpose Operating purpose hardware and embedded OS for
System for executing a variety of applications executing a specific set of applications

Contain a General-Purpose Operating System May or may not contain an operating system
(GPOS) for functioning
Applications are alterable (programmable) by The firmware of the embedded system is
user (It is possible for the end user to re install preprogrammed and it is non-alterable by end
the Operating System, and add or remove user user
applications)
Performance is the key deciding factor on the Application specific requirements (like
selection of the system. Always “Faster is performance, power requirements, memory
Better‟ usage etc) are the key deciding factors
Less/not at all tailored towards reduced Highly tailored to take advantage of the
operating power requirements, options for power saving modes supported by hardware
different levels of power management. and Operating System

Response requirements are not time critical For certain category of embedded systems
like mission critical systems, the response
time requirement is highly critical

Need not be deterministic in execution Execution behaviour is deterministic for


behaviour certain type of embedded systems like “Hard
Real Time‟ systems

HISTORY OF EMBEDDED SYSTEMS


Embedded Systems were in existence even before the IT evolution.

• In the olden days embedded systems were built around the old vacuum tube and
transistor technologies and the embedded algorithm was developed in low level
languages.
• Advances in semiconductor and Nano-Technology and IT revolution gave way to the
development of miniature embedded systems.
• The first recognised modern embedded system is the Apollo Guidance Computer
(AGC) developed by the MIT instrumentation laboratory for the LUNAR
EXPEDITION.
o They ran the inertial guidance systems of both the Command Module (CM)
and Lunar Excursion Module (LEM).
o The command module was designed to encircle the moon while the Lunar
Module and its crew were designed to go down to the moon surface and land
there safely.
o The Lunar Module featured in total 18 engines. There were 16 reaction
control thrusters, a descent engine and an ascent engine.

EMBEDDED SYSTEM DESIGN UNIT - 1


o The descent engine was designed to provide thrust to the lunar module out of
the lunar orbit and land it safely on the moon.
• The MIT’s original design was based on 4K words of ROM and 256 words of RAM.
• By june 1963, it reached 10K ROM and 1K RAM.
• The final configuration was 36K ROM and 2K of RAM.
• The clock frequency of the first microchip photo model used in AGC was 1.024MHz
and it was derived from a 2.048MHz crystal clock.
• Around 5000 ICs supplied by Fairchild Semiconductor were used in this design.
• The user interface unit of AGC is known as DSKY(Display/Keyboard).
• DSKY looked like a calculator type keypad with an array of numerals.
• The first mass – produced embedded system was the guidance computer for the
Minuteman – I missile in 1961.
• It was the ‘Autonetics D–17 guidance computer, built using discrete transistor logic
and a hard-disk from main memory.

CLASSIFICATION OF EMBEDDED SYSTEM


Some of the criteria used in the classification of embedded systems are as follows:
• Based on Generation
• Based on Complexity and Performance requirements
• Based on Deterministic behaviour
• Based on Triggering

Classification based on Generation:


This classification is based on the order in which the embedded processing systems evolved
from the first version to where they are today.

First Generation:
• The early embedded systems built around 8-bit microprocessors like 8085 and Z80 and
4-bit microcontrollers.
• Simple in hardware circuits with firmware developed in assembly code.
• Example are, stepper motor control units, Digital Telephone Keypads etc.

EMBEDDED SYSTEM DESIGN UNIT - 1


Second Generation:
• Embedded Systems built around 16-bit microprocessors and 8 or 16-bit microcontrollers,
following the first-generation embedded systems.
• The instruction set for the second-generation Processors/Controllers were more complex
and powerful than first generation Processors/Controllers.
• Second Generation embedded systems contained embedded operating systems for their
operations.
• Example are, SCADA, Data Acquisition Systems etc.

Third Generation:

• Embedded Systems built around high performance 16/32-bit


Microprocessors/controllers for their design.
• New concept of Application Specific Instruction set processors like Digital Signal
Processors (DSPs), and Application Specific Integrated Circuits (ASICs) came into
picture.
• The instruction set is complex and powerful.
• Example are, Robotics, industrial process control, networking etc.

Fourth Generation:
• Embedded Systems built around System on Chips (SoC’s), Re- configurable processors
and multicore processors. It brings high performance, tight integration and
miniaturization into the embedded device market.
• Example are, Smart phone devices, MIDs etc.

Classification based on Complexity & Performance


Small Scale: The embedded systems built around low performance and low cost 8- or 16-bit
microprocessors/ microcontrollers. It is suitable for simple applications and where performance
is not time critical. It may or may not contain OS.
Ex: Electronic Toy

EMBEDDED SYSTEM DESIGN UNIT - 1


Medium Scale: Embedded Systems built around medium performance, low cost 16- or 32-bit
microprocessors / microcontrollers or DSPs. These are slightly complex in hardware and
firmware. It may contain GPOS/RTOS.
Large Scale/Complex: Embedded Systems built around high performance 32- or 64-bit RISC
processors/controllers, RSoC or multi-core processors and PLD. It requires complex hardware
and software. These systems may contain multiple processors/controllers and co-units/hardware
accelerators for offloading the processing requirements from the main processor. It contains
RTOS for scheduling, prioritization and management.

Classification Based on deterministic behaviour

It is applicable for Real Time systems. The application/task execution behaviour for an
embedded system can be either deterministic or non-deterministic
Soft Real time Systems: Missing a deadline may not be critical and can be tolerated to a certain
degree
Eg: ATM & Multimedia Systems
Hard Real time systems: Missing a program/task execution time deadline can have
catastrophic consequences (financial, human loss of life, etc.)
Eg: Air Bag control systems, Anti- lock braking System

Classification Based on Triggering


These are classified into two types

Event Triggered: Activities within the system (e.g., task run-times) are dynamic and depend
upon occurrence of different events.
Eg: Medical device monitoring
Time triggered: Activities within the system follow a statically computed schedule (i.e., they
are allocated time slots during which they can take place) and thus by nature are predictable.
Eg: Car Maintenance System

MAJOR APPLICATION AREAS OF EMBEDDED SYSTEMS

Consumer Electronics: Camcorders, Cameras etc.

EMBEDDED SYSTEM DESIGN UNIT - 1


Household Appliances: Television, DVD players, washing machine, Fridge, Microwave Oven
etc.
Home Automation and Security Systems: Air conditioners, sprinklers, Intruder detection
alarms, Closed Circuit Television Cameras, Fire alarms etc.
Automotive Industry: Anti-lock breaking systems (ABS), Engine Control, Ignition Systems,
Automatic Navigation Systems etc.
Telecom: Cellular Telephones, Telephone switches, Handset Multimedia Applications etc.
Computer Peripherals: Printers, Scanners, Fax machines etc.

Computer Networking Systems: Network Routers, Switches, Hubs, Firewalls etc.

Health Care: Different Kinds of Scanners, EEG, ECG Machines etc.

Measurement & Instrumentation: Digital multi meters, Digital CROs, Logic Analyzers PLC
systems etc.
Banking & Retail: Automatic Teller Machines (ATM) and Currency counters, Point of Sales
(POS) .
Card Readers: Barcode, Smart Card Readers, Hand held Devices etc.

Wearable Devices: Health and Fitness Trackers, Smartphone Screen Extension for notification

Cloud Computing and Internet of Things (IOT).

PURPOSE OF EMBEDDED SYSTEMS


Each Embedded Systems is designed to serve the purpose of any one or a combination of the
following tasks.
• Data Collection/Storage/Representation
• Data Communication
• Data (Signal) Processing
• Monitoring
• Control
• Application Specific User Interface

Data Collection/Storage/Representation

Embedded Systems designed for the purpose of data collection performs acquisition of data
from the external world.

EMBEDDED SYSTEM DESIGN UNIT - 1


• Data collection is usually done for storage, analysis, manipulation and transmission.
• The collected data can be either analog or digital.
• The collected data may be stored directly in the system or may be transmitted to some
other systems or it may be processed by the system or it may be deleted instantly after
giving a meaningful representation.
A digital camera is a typical example of an embedded system with data
collection/storage/representation of data.

Data Communication
Embedded Data communication systems are deployed in applications ranging from complex
satellite communication systems to simple home networking systems.
• The data communication can happen through a wired interface (like Ethernet,
RS232C/USB/IEEE1394 etc) or wireless interface (like Wi-Fi, GSM,/GPRS, Bluetooth,
ZigBee etc)
• Network hubs, Routers, switches, Modems etc are typical examples for dedicated data
transmission embedded systems

Data (Signal) Processing

Embedded systems with Signal processing functionalities are employed in applications


demanding signal processing like Speech coding, synthesis, audio video codec, transmission
applications etc.
EX: A digital hearing aid is a typical example of an embedded system employing data
processing.

Monitoring

Embedded systems coming under this category are specifically designed for monitoring purpose
• They are used for determining the state of some variables using input sensors
• They cannot impose control over variables.
o Electro Cardiogram (ECG) machine for monitoring the heart beat of a patient is
a typical example for this. The sensors used in ECG are the different Electrodes
connected to the patient’s body.

EMBEDDED SYSTEM DESIGN UNIT - 1


• Measuring instruments like Digital CRO, Digital Multi meter, Logic Analyzer etc used
in Control & Instrumentation applications are also examples of embedded systems for
monitoring purpose

Control

Embedded systems with control functionalities are used for imposing control over some
variables according to the changes in input variables
• Embedded system with control functionality contains both sensors and actuators
o Sensors are connected to the input port for capturing the changes in
environmental variable or measuring variable
o The actuators connected to the output port are controlled according to the
changes in input variable to put an impact on the controlling variable to bring the
controlled variable to the specified range
• Air conditioner for controlling room temperature is a typical example for embedded
system with Control functionality
o Air conditioner contains a room temperature sensing element (sensor) which may
be a thermistor and a handheld unit for setting up (feeding) the desired
temperature
o The air compressor unit acts as the actuator. The compressor is controlled
according to the current room temperature and the desired temperature set by the
end user.

Application Specific User Interface

Embedded systems with application - specific user interfaces like keypad, lights, bells, buttons,
switches, display units, etc.

EX: Mobile phone – In this user interface is provided through the keypad, graphic LCD module,
system speaker, vibration alert, etc.

EMBEDDED SYSTEM DESIGN UNIT - 1


CHARACTERISTICS OF AN EMBEDDED SYSTEM
Some of the important characteristics of embedded systems are:

• Application and domain specific


• Reactive and real time
• Operates in harsh environments
• Distributed
• Small size and weight
• Power concerns

Application and domain specific

Each embedded system is having certain function to perform and they are developed in such a
manner to do the intended functions only.
• They cannot be used for any other purpose. It is the major criterion which distinguishes
an embedded system from a general-purpose system.
• For example, we cannot replace the embedded control unit of your micro oven with air
conditioner’s embedded control unit, because the embedded control units of micro oven
and air conditioner are specifically designed to perform certain specific tasks.

Reactive and real time

Embedded systems are in constant interaction with the real world through sensor and user-
defined input devices which are connected to the input port of the system.
• Any changes happening in the real world is captured by the sensor input devices in real
time and control algorithm running inside the unit reacts in a designed manner to bring
the controlled output variables to the desired level.
• The event may be periodic or unpredicted one. If the event is unpredicted one then such
a system should be designed in a such a way that, it should be scheduled to capture the
events without missing them.
Embedded systems produce changes in the output as changes in the input. So, they are generally
referred as Reactive systems.
Real time system operation means the timing behaviour of the system should be deterministic;
meaning the system should respond to request or tasks in a known amount of time.

EMBEDDED SYSTEM DESIGN UNIT - 1


Operates in harsh environment

The environment in which the embedded system deployed may be a dusty one or a high
temperature zone or an area subject to vibrations and shock.
System placed in such areas should be capable to withstand all these adverse operating
conditions. The design should take care of the operating conditions of the area where the system
is going to implement.

Distributed

The term distributed means that embedded system may be a part of larger system. Many
numbers of such distributed embedded system form a single large embedded control unit.
An automatic vending machine is a typical example for this. The vending machine contains a
card reader, a vending unit, etc. Each of them are independent embedded units but they work
together to perform the overall Vending function.

Small size and weight

Product aesthetic is another important factor in choosing a product.

Example: When we plan to buy a new mobile phone, we make a comparative study of
the products available in the market

In embedded domain compactness is a significant deciding factor.

Most of the applications demand small sized and low weight products.

Power concerns

Power management is another important factor that needs to consider in designing embedded
system.
• Embedded systems should be designed in such a way as to minimize the heat dissipation
by the system.
• The production of large amount of heat demands cooling requirements like cooling fans
which in turn occupies additional space and make the system bulky.
Select the design according to the low power consumption like low dropout regulator, and
controllers/processors with power consuming modes.

EMBEDDED SYSTEM DESIGN UNIT - 1


Power management is a critical constraint in battery operated applications. The more the power
consumption the less is the battery life.

QUALITY ATTRIBUTES OF EMBEDDED SYSTEMS

Quality attributes are the non – functional attributes that need to be documented properly in
any system design.
They are broadly classified into two, namely
• Operational Quality attributes
• Non- Operational Quality attributes

Operational quality attributes

The operational quality attributes represent the relevant quality attributes related to the
embedded systems when it is in the operational mode or ‘online’ mode.
• Response
• Throughput
• Reliability
• Maintainability
• Security
• Safety

Response

• Response is a measure of quickness of the system. It gives an idea about how fast your
system is tracking the changes in input variables.
• Most of the embedded system demand fast response which should be almost real time.

Throughput
• Throughput deals with the efficiency of a system.
• It can be defined as the rate of production or operation of a defined process over a started
period of time.

EMBEDDED SYSTEM DESIGN UNIT - 1


• The rates can be expressed in terms of units of products, batches produced, or any other
meaningful measurements.
• Throughput is generally measured in terms of ‘BENCHMARK’. A ‘BENCHMARK’ is
a reference point by which something can be measured.

Reliability

• Reliability is a measure of how much % you can rely upon the proper functioning of the
system or what is the % susceptibility of the system to failures.
• Mean time between failures (MTBF) and mean time to repair (MTTR) are the terms used
in defining system reliability.
o MTBF gives the frequency of failures in hours/weeks/months.
o MTTR specifies how long the system is allowed to be out of order
following a failure.

Maintainability

• Maintainability deals with support and maintenance to the end user or client in case of
technical issues and product failure or on the basis of a routine system check-up.
• Reliability and maintainability are considered as two complementary disciplines.
• A more reliable system means a system with less corrective maintainability
requirements and vice versa.
• As the reliability of the system increases the chances of failure and non-functioning also
reduces, thereby the need for maintainability is also reduced.
• Maintainability is closely related to the system availability.
• Maintainability can be broadly classified into:
o Scheduled or periodic Maintenance
o Maintenance to unexpected failures
• In any embedded system design, the ideal value for availability is expressed as
Ai = MTBF/(MTBF+MTTR)

EMBEDDED SYSTEM DESIGN UNIT - 1


Security

‘confidentiality’, ‘integrity’ and ‘availability’ are the three major measures of information
security.
• Confidentiality deals with the protection of data and application from unauthorised
disclosure.
• Integrity deals with the protection of data and application from unauthorized
modification.
• Availability deals with protection data and application from authorized users.
A very good example of the security aspect in a embedded product is a Personal Digital
assistant (PDA).

Safety

Safety deals with the possible damage that can happen to the operators, public and the
environment due to the breakdown of an embedded system or due to the emission of radioactive
or hazardous material from the embedded products.
• Safety analysis is must in product engineering to evaluate the anticipated damages and
determine the best course of action to bring down the consequences of the damages to
an acceptable level.

Non-Operational Quality Attributes

The important quality attributes coming under this category are listed below.

• Testability & Debug-ability


• Evolvability
• Portability
• Time to prototype and market
• Per unit and total cost.

Testability & Debug-ability

Testability deals with how easily one can test his/ her design, application and by which means
he/she can test it.

EMBEDDED SYSTEM DESIGN UNIT - 1


For an embedded products testability is applicable to both the embedded hardware and firmware.
• Hardware testing ensure that the peripheral and the total hardware functions in the
desired manner
• firmware testing ensure that the firmware is functioning in the expected way
Debug ability is a means of debugging the product as such for figuring out the probable sources
that creating the unexpected behaviour in the total system.
• Debug-ability has two aspects in the embedded system development context, namely,
hardware level debugging and firmware level debugging
o Hardware debugging is used for figuring out the issues created by hardware
problems.
o Firm debugging is employed to figure out the probable errors that appear as a
result of flaws in the firmware.

Evolvability

Evolvability referred as the non-heritable variation.

• For an embedded system, the quality attributes refers to the ease with which the
embedded product (including firmware and hardware) can be modified to take advantage
of new firmware or hardware technologies.

Portability

Portability is a measure of system independence.

An embedded product is said to be portable if the product is capable of functioning; as such in


various environments, target processors/controllers and embedded operating system.
• the ease with which embedded product can be ported on to a new platform is a direct
measure of re-work required.
• A standard embedded product should always be flexible and portable.
• In embedded products, the term ‘porting’ represents the migration of the embedded
firmware write for one target processor (e. g Intel x86) to a different target processor
(say Hitach1 8H3 professor).

EMBEDDED SYSTEM DESIGN UNIT - 1


• If the firmware is written in a high level language like ‘C’ with little target processor
specific function (operating system extensions or compiler specific utilities), it is very
easy to port the firmware for the new processor by replacing those ‘target processor-
specific functions’ with the ones for the new target processor and re-compiling the
program for the new target processor specific settings.
• Re-compiling the program for the new target processor generates the new target
processor specific machine codes.

Time-to-Prototype and Market

Time-to-market is the time elapsed between the conceptualization of a product and the time at
which the product is ready for selling (for commercial product) or use (for noncommercial
product).
• The commercial embedded product market is highly competitive and time to market the
product is a critical factor in the success of a commercial embedded product.
• Product prototyping helps a lot in reducing time -to-market. whenever you have a
product idea, you may not be certain about the feasibility of the idea is an informal kind
of rapid development in which the important features of the product under consideration
are development in which the important is also another critical factor.
• If the prototype is developed faster, the actual estimate can be brought down
significantly.
• In order to shorten the time to prototype, make use of all possible options like the use of
off-the-shelf components, re-usable assets, etc.

Per Unit Cost and Revenue

Cost is a factor which is closely monitored by both end user (those who buy the product) and
product manufacturer (those who build the product).
Cost is a highly sensitive factor for commercial products.

Any failure to position the cost of a commercial product at nominal rate, may lead to the failure
of e product in the market.
• Proper market study and cost benefit analysis should be carried out before taking a
decision on the per -unit cost of the embedded products.

EMBEDDED SYSTEM DESIGN UNIT - 1


• From a designer/product development company perspective the ultimate aim of a
product is to generate marginal profit. So, the budget and total system cost should be
properly balanced to provide a marginal profit.

Product Life-cycle (PLC)

Embedded product has a product life cycle which starts with the design and developments phase.
• The product idea generation, prototyping, definition, actual product design and
development. Exponent are the activities carried out during this phase.
• During the design and development phase there is only investment and no returns once
the product is ready to sell, it is introduced to the market. This stage is known as the
Product Iteration stage.
• During the initial period the sales and revenues will be low. There won’t be much
competition and the products sales and revenue increases with time the growth phase,
the product grabs high market. The maturity phase, the growth and sales will be steady
and the revenue reaches at its peak.
• The Product Retirement/Decline phase starts with the drop in sales volume, market share
and revenue the/decline happen due to various reasons like competition from similar
product with enhanced features or technology changes, etc.
• At some point of the decline stage, the manufacturer announces discontinuing of the
product.

The different stages of the embedded products life cycle-revenue, unit cost and profit in each
stage-are represented in the following Product Life-cycle graph.

EMBEDDED SYSTEM DESIGN UNIT - 1


Product Life Cycle (PLC) curve

• From the graph, it is clear that the total revenue increases from the product introduction
stage to the product maturity stage.
• The revenue peaks at the maturity stage and starts falling in the declined/retirement
stage.
• The unit cost is very high during the Introductory stage (a typical example is cell phone
if you buy a new model of cell phone during its launch time, the price will be high and
you will get the same model with a very reduced price after three or four months of its
launching). The profit increases with increase in sales and attains a steady value and
then falls with a dip in sales.
You can see a negative value for profit during the initial period. It is because during the product
development phase there is only investment and no returns. Profit occurs only when the total
returns exceed the investment and operating cost.

EMBEDDED SYSTEM DESIGN UNIT - 1


THE TYPICAL EMBEDDED SYSTEM

A typical embedded system contains a single chip controller which acts as the master brain of
the system. Diagrammatically an embedded system can be represented as follows:

FPGA/ASIC/DSP/SoC Embedded
Microprocessor/controller
Firmware

Memory

Communication Interface
System
I/p Ports
(Sensors)
Core O/p Ports
(Actuators)

Other supporting
Integrated Circuits &
subsystems
Embedded System
Real World

Keyboards, push button, switches, etc. are Examples of common user interface input devices
and LEDs, LCDs, Piezoelectric buzzers, etc examples for common user interface output devices
for a typical embedded system. The requirement of type of user interface changes from
application to application based on domain.

The core of the system performs some predefined operations on input data with the help of
embedded firmware in the system and sends some actuating signals to the actuator connect
connected to the output port of the system.

The memory of the system is responsible for holding the code (control algorithm and other
important configuration details).

THE CORE OF THE EMBEDDED SYSTEMS


The core of the embedded system falls into any one of the following categories:
• General Purpose and Domain Specific Processors
o Microprocessors

EMBEDDED SYSTEM DESIGN UNIT - 1


o Microcontrollers
o Digital Signal Processors
• Programmable Logic Devices (PLDs)
• Application Specific Integrated Circuits (ASICs)
• Commercial off the shelf Components (COTS)

General Purpose and Domain Specific Processors

Almost 80% of the embedded systems are processor/ controller based.

• The processor may be microprocessor or a microcontroller or digital signal processor,


depending on the domain and application.

Microprocessor:

A silicon chip representing a Central Processing Unit (CPU), which is capable of performing
arithmetic as well as logical operations according to a pre-defined set of Instructions, which is
specific to the manufacturer.
• In general, the CPU contains the Arithmetic and Logic Unit (ALU), Control Unit and
Working registers.
• Microprocessor is a dependant unit and it requires the combination of other hardware
like Memory, Timer Unit, and Interrupt Controller etc for proper functioning.
Intel claims the credit for developing the first Microprocessor unit Intel 4004, a 4 bit processor
which was released in Nov 1971.
Developers of microprocessors.
➢ Intel – Intel 4004 – November 1971(4-bit) Intel – Intel 4040.
➢ Intel – Intel 8008 – April 1972.
➢ Intel – Intel 8080 – April 1974(8-bit).
➢ Motorola – Motorola 6800.
➢ Intel – Intel 8085 – 1976.
➢ Zilog - Z80 – July 1976

EMBEDDED SYSTEM DESIGN UNIT - 1


Microcontroller:

A highly integrated silicon chip containing a CPU, scratch pad RAM, Special and General
purpose Register Arrays, On Chip ROM/FLASH memory for program storage, Timer and
Interrupt control units and dedicated I/O ports.
• Microcontrollers can be considered as a super set of Microprocessors.
• Microcontroller can be general purpose (like Intel 8051, designed for generic
applications and domains) or application specific (Like Automotive AVR from Atmel
Corporation. Designed specifically for automotive applications)
• Since a microcontroller contains all the necessary functional blocks for independent
working, they found greater place in the embedded domain in place of microprocessors
• Microcontrollers are cheap, cost effective and are readily available in the market
• Texas Instruments TMS 1000 is considered as the world‟s first microcontroller

Microprocessor Vs Microcontroller :

Microprocessor Microcontroller
A silicon chip representing a Central A microcontroller is a highly integrated chip
Processing Unit (CPU), which is capable of that contains a CPU, scratch pad RAM,
performing arithmetic as well as logical Special and General-purpose Register Arrays,
operations according to a pre-defined set of On Chip ROM/FLASH memory for program
Instructions storage, Timer and Interrupt control units and
dedicated I/O ports
It is a dependent unit. It requires the It is a self-contained unit and it doesn’t
combination of other chips like Timers, require external Interrupt Controller, Timer,
Program and data memory chips, Interrupt UART etc. for its functioning
controllers etc. for functioning
Most of the time general purpose in design Mostly application oriented or domain
and operation specific

EMBEDDED SYSTEM DESIGN UNIT - 1


Doesn’t contain a built in I/O port. The I/O Most of the processors contain multiple built-
Port functionality needs to be implemented in I/O ports which can be operated as a single
with the help of external Programmable 8 or 16- or 32-bit Port or as individual port
Peripheral Interface Chips like 8255 pins

Targeted for high end market where Targeted for embedded market where
performance is important performance is not so critical (At present this
demarcation is invalid)
Limited power saving options compared to Includes lot of power saving features
microcontrollers

General Purpose Processor(GPP) Vs Application Specific Instruction Set Processor (ASIP)


General Purpose Processor or GPP is a processor designed for general computational tasks.

• GPPs are produced in large volumes and targeting the general market. Due to the high-
volume production, the per unit cost for a chip is low compared to ASIC or other specific
ICs.
• A typical general-purpose processor contains an Arithmetic and Logic Unit (ALU) and
Control Unit (CU).
Application Specific Instruction Set processors (ASIPs) are processors with architecture and
instruction set optimized to specific domain/application requirements like Network processing,
Automotive, Telecom, media applications, digital signal processing, control applications etc.
• ASIPs fill the architectural spectrum between General Purpose Processors and
Application Specific Integrated Circuits (ASICs).
• The need for an ASIP arises when the traditional general purpose processor are unable
to meet the increasing application needs
• Some Microcontrollers (like Automotive AVR, USB AVR from Atmel), System on
Chips, Digital Signal Processors etc are examples of Application Specific Instruction
Set Processors (ASIPs)
• ASIPs incorporate a processor and on-chip peripherals, demanded by the application
requirement, program and data memory

EMBEDDED SYSTEM DESIGN UNIT - 1


Digital Signal Processors (DSPs)

• Powerful special purpose 8/16/32 bit microprocessors designed specifically to meet the
computational demands and power constraints of today's embedded audio, video, and
communications applications
• Digital Signal Processors are 2 to 3 times faster than the general-purpose
microprocessors in signal processing applications
• DSPs implement algorithms in hardware which speeds up the execution whereas general
purpose processors implement the algorithm in firmware and the speed of execution
depends primarily on the clock for the processors
• DSP can be viewed as a microchip designed for performing high speed computational
operations for addition, subtraction, multiplication and division
A typical Digital Signal Processor incorporates the following key units:
• Program Memory: It is a memory for storing the program required by DSP to
process the data.
• Data Memory: It is a working memory for storing temporary variables and
data/signal to be processed.
• Computational Engine: It performs the signal processing in accordance with the
stored program memory computational engine incorporated many specialized
arithmetic units and each of them operates simultaneously to increase the execution
speed. It also includes multiple hardware shifters for shifting operands and saves
execution time.
• I/O Unit: It acts as an interface between the outside world and DSP. It is responsible
for capturing signals
Audio video signal processing, telecommunication and multimedia applications are
typical examples where DSP is employed

RISC V/s CISC Processors/Controllers

RISC CISC
Lesser no. of instructions Greater no. of Instructions
Instruction Pipelining and increased Generally, no instruction pipelining feature
execution speed

EMBEDDED SYSTEM DESIGN UNIT - 1


Orthogonal Instruction Set (Allows each Non-Orthogonal Instruction Set (All
instruction to operate on any register and instructions are not allowed to operate on any
use any addressing mode) register and use any addressing mode. It is
instruction specific)
Operations are performed on registers only; Operations are performed on registers or
the only memory operations are load and memory depending on the instruction
store
Large number of registers are available Limited no. of general-purpose registers
Programmer needs to write more code to A programmer can achieve the desired
execute a task since the instructions are functionality with a single instruction which in
simpler ones turn provides the effect of using more simpler
single instructions in RISC
Single, Fixed length Instructions Variable length Instructions
Less Silicon usage and pin count More silicon usage since more additional
decoder logic is required to implement the
complex instruction decoding.
With Harvard Architecture Can be Harvard or Von-Neumann
Architecture

Harvard V/s Von-Neumann Processor/Controller Architecture

The terms Harvard and Von-Neumann refers to the processor architecture design.

• Microprocessors/controllers based on the Von-Neumann architecture shares a single


common bus for fetching both instructions and data. Program instructions and data are
stored in a common main memory
• Microprocessors/controllers based on the Harvard architecture will have separate data
bus and instruction bus. This allows the data transfer and program fetching to occur
simultaneously on both buses
• With Harvard architecture, the data memory can be read and written while the program
memory is being accessed. These separated data memory and code memory buses allow
one instruction to execute while the next instruction is fetched (“Pre-fetching”)

EMBEDDED SYSTEM DESIGN UNIT - 1


Von – Neumann vs Harvard Architecture

Harvard Architecture Von-Neumann Architecture

Separate buses for Instruction and Data Single shared bus for Instruction and Data
fetching fetching
Easier to Pipeline, so high performance can be Low performance Compared to Harvard
achieved Architecture
Comparatively high cost Cheaper
No memory alignment problems Allows self modifying codes
Since data memory and program memory are Since data memory and program memory are
stored physically in different locations, no stored physically in same chip, chances for
chances for accidental corruption of program accidental corruption of program memory
memory

Big-endian V/s Little-endian processors:

• Endianness specifies the order in which the data is stored in the memory by processor
operations in a multi byte system (Processors whose word size is greater than one byte).
Suppose the word length is two byte then data can be stored in memory in two different
ways
o Higher order of data byte at the higher memory and lower order of data byte at
location just below the higher memory
o Lower order of data byte at the higher memory and higher order of data byte at
location just below the higher memory
• Little-endian means the lower-order byte of the data is stored in memory at the lowest
address, and the higher-order byte at the highest address. (The little end comes first)

EMBEDDED SYSTEM DESIGN UNIT - 1


• Big-endian means the higher-order byte of the data is stored in memory at the lowest
address, and the lower-order byte at the highest address. (The big end comes first)

Load Store Operation & Instruction Pipelining:

The RISC processor instruction set is orthogonal and it operates on registers. The memory access
related operations are performed by the special instructions load and store. If the operand is
specified as memory location, the content of it is loaded to a register using the load instruction.
The instruction store stores data from a specified register to a specified memory location.

The conventional instruction execution by the processor follows the fetch-decode-execute


sequence
• The fetch part fetches the instruction from program memory or code memory and the
decode part decodes the instruction to generate the necessary control signals.

EMBEDDED SYSTEM DESIGN UNIT - 1


• The execute stage reads the operands, perform ALU operations and stores the result. In
conventional program execution, the fetch and decode operations are performed in
sequence
• During the decode operation the memory address bus is available and if it possible to
effectively utilize it for an instruction fetch, the processing speed can be increased
• In its simplest form instruction pipelining refers to the overlapped execution of
instructions

Application Specific Integrated Circuit (ASIC)

A microchip designed to perform a specific or unique application. It is used as replacement to


conventional general-purpose logic chips.
• ASIC integrates several functions into a single chip and thereby reduces the system
development cost
• Most of the ASICs are proprietary products.
• As a single chip, ASIC consumes very small area in the total system and thereby helps
in the design of smaller systems with high capabilities/functionalities.
ASICs can be pre-fabricated for a special application or it can be custom fabricated by using the
components from a re-usable “building block‟ library of components for a particular customer
application
• Fabrication of ASICs requires a non-refundable initial investment (Non-Recurring
Engineering (NRE) charges) for the process technology and configuration expenses

EMBEDDED SYSTEM DESIGN UNIT - 1


• If the Non-Recurring Engineering Charges (NRE) is born by a third party and the
Application Specific Integrated Circuit (ASIC) is made openly available in the market,
the ASIC is referred as Application Specific Standard Product (ASSP)
• The ASSP is marketed to multiple customers just as a general-purpose product, but to a
smaller number of customers since it is for a specific application.
Some ASICs are proprietary products, the developers are not interested in revealing the internal
details.

Programmable Logic Devices (PLDs):

Logic devices provide specific functions, including device-to-device interfacing, data


communication, signal processing, data display, timing and control operations, and almost every
other function a system must perform.
• Logic devices can be classified into two broad categories - Fixed and Programmable.
The circuits in a fixed logic device are permanent, they perform one function or set of
functions - once manufactured, they cannot be changed.
• Programmable logic devices (PLDs) offer customers a wide range of logic capacity,
features, speed, and voltage characteristics - and these devices can be re-configured to
perform any number of functions at any time.
Designers can use inexpensive software tools to quickly develop, simulate, and test their logic
designs in PLD based design. The design can be quickly programmed into a device, and
immediately tested in a live circuit.
PLDs are based on re-writable memory technology and the device is reprogrammed to change
the design.

Programmable Logic Devices (PLDs) – CPLDs and FPGA

Field Programmable Gate Arrays (FPGAs) and Complex Programmable Logic Devices
(CPLDs) are the two major types of programmable logic devices
FPGA:
• FPGA is an IC designed to be configured by a designer after manufacturing. FPGAs
offer the highest amount of logic density, the most features, and the highest performance.
Logic gate is Medium to high density ranging from 1K to 500K system gates.

EMBEDDED SYSTEM DESIGN UNIT - 1


• These advanced FPGA devices also offer features such as built-in hardwired processors
(such as the IBM Power PC), substantial amounts of memory, clock management
systems, and support for many of the latest, very fast device-to-device signaling
technologies.
• FPGAs are used in a wide variety of applications ranging from data processing and
storage, to instrumentation, telecommunications, and digital signal processing

CPLD:

• A complex programmable logic device (CPLD) is a programmable logic device with


complexity between that of PALs and FPGAs, and architectural features of both.
• CPLDs, by contrast, offer much smaller amounts of logic - up to about 10,000 gates.
• CPLDs offer very predictable timing characteristics and are therefore ideal for critical
control applications.
• CPLDs such as the Xilinx Cool Runner series also require extremely low amounts of
power and are very inexpensive, making them ideal for cost-sensitive, battery-operated,
portable applications such as mobile phones and digital handheld assistants.

Advantages of PLDs:

• PLDs offer customer much more flexibility during design cycle.


• PLDSs do not require long lead times for prototype or production-the PLDs are already
on a distributor’s self and ready for shipment.
• PLDs do not require customers to pay for large NRE costs and purchase expensive mask
sets.
• PLDs allow customers to order just the number of parts required when they need them.
allowing them to control inventory.
• PLDs are reprogrammable even after a piece of equipment is shipped to a customer.
• The manufacturers able to add new features or upgrade the PLD based products that are
in the field by uploading new programming file

EMBEDDED SYSTEM DESIGN UNIT - 1


Commercial off the Shelf Component (COTS) :

A Commercial off-the-shelf (COTS) product is one which is used ‘as-is’

• COTS products are designed in such a way to provide easy integration and
interoperability with existing system components.
• Typical examples for the COTS hardware unit are Remote Controlled Toy Car control
unit including the RF Circuitry part, High performance, high frequency microwave
electronics (2 to 200 GHz), High bandwidth analog-to-digital converters, devices and
components for operation at very high temperatures, Electro-optic IR imaging arrays,
UV/IR Detectors etc.

A COTS component in turn contains a General Purpose Processor (GPP) or Application Specific
Instruction Set Processor (ASIP) or Application Specific Integrated Chip (ASIC)/Application
Specific Standard Product (ASSP) or Programmable Logic Device (PLD)

The major advantage of using COTS is that they are readily available in the market, cheap and
a developer can cut down his/her development time to a great extent.
• There is no need to design the module yourself and write the firmware.
• Everything will be readily supplied by the COTs manufacturer.

The major problem faced by the end-user is that there are no operational and manufacturing
standards.
• The major drawback of using COTs component in embedded design is that the
manufacturer may withdraw the product or discontinue the production of the COTs at
any time if rapid change in technology.
• This problem adversely affect a commercial manufacturer of the embedded system
which makes use of the specific COTs

EMBEDDED SYSTEM DESIGN UNIT - 1

You might also like