0% found this document useful (0 votes)
81 views54 pages

Lecture 1-3: Introduction To Embedded Systems

This document provides an introduction to embedded systems. It discusses what embedded systems are, their key characteristics including being single-purposed, tightly constrained by resources, and needing to provide real-time responses. It covers common design challenges like limited memory, power, and peripherals. Processor technologies are examined including general purpose processors, single purpose processors, and application-specific instruction set processors.

Uploaded by

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

Lecture 1-3: Introduction To Embedded Systems

This document provides an introduction to embedded systems. It discusses what embedded systems are, their key characteristics including being single-purposed, tightly constrained by resources, and needing to provide real-time responses. It covers common design challenges like limited memory, power, and peripherals. Processor technologies are examined including general purpose processors, single purpose processors, and application-specific instruction set processors.

Uploaded by

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

Lecture 1-3

INTRODUCTION TO EMBEDDED
SYSTEMS
Topics Covered

• Introduction to Embedded Systems


• Design Challenges
• Technologies
– Processor Technology
– IC Technology
– Design Technology
What is an Embedded System?
• An applied computer system
– Distinguishable from traditional computing platforms
• The definition changes as technology evolves
• Various functional constraints:
– Low cost, single-to-fewer components, low power, Provide real-time response and
support of hardware software co-existence

• Limited in hardware and/or software functionality


– Limitations in hardware: Processing performance, Power
consumption, Memory, Hardware functionality etc.
– Limitations in software: Fewer applications, Scaled-down
applications, No operating system (OS) or a limited OS, or Less
abstraction-level code
What is an Embedded System?
Embedded Systems Markets
Embedded Systems Markets
Characteristics
• Single-functioned: An embedded system usually executes
only one program, repeatedly
– For example, a pager is always a pager. In contrast, a desktop system
executes a variety of programs, like spreadsheets, word processors,
and video games, with new programs added frequently
• Tightly constrained: Design metrics constraints are tight
– A design metric is a measure of an implementation’s features, such as
cost, size, performance, and power
– Embedded systems often must cost just a few dollars, must be sized to
fit on a single chip, must perform fast enough to process data in real-
time, and must consume minimum power to extend battery life or
prevent the necessity of a cooling fan
Characteristics
• Reactive and real-time: Many embedded systems must
continually react to changes in the system’s environment, and
must compute certain results in real time without delay
– For example, a car's cruise controller continually monitors and reacts
to speed and brake sensors
– It must compute acceleration or decelerations amounts repeatedly
within a limited time; a delayed computation result could result in a
failure to maintain control of the car
– In contrast, a desktop system typically focuses on computations, with
relatively infrequent (from the computer’s perspective) reactions to
input devices
– In addition, a delay in those computations, while perhaps inconvenient
to the computer user, typically does not result in a system failure
A Hypothetical Example

• An assembly line robot


• Requirements of controller:
 Control method for point-to-point control using servomotors
 Position detection using incremental or absolute encoder system
 Return to origin using limit switches and encoder
 Trajectory control
 Programming using a personal computer
A Hypothetical Example

Table: Tasks for robot digital controller


A Hypothetical Example
• The major tasks for the robot controller for an articulated
factory robot are:
– Simultaneous control of multiple motors
– Signal processing of sensor inputs coming from robot
environment —encoders, limit switches, proximity sensors, vision
sensor
– Communication of robot co-ordinates to other robots in the
vicinity, using networking through Special Communication Bus
(CAN), ModBus, MikroBus, I2C, SPI etc.
– Communicating with host controller over interface (Serial,
Parallel, USB)
– Computation of trajectory for robot movement
A Hypothetical Example

Figure: Update times needed for various control functions of a robot control system
A Real Life Application

Figure: A Digital Camera


Design Platforms

Table: Digital design platforms


System Development Process

Figure: Computer and target processor


Design Challenges
• Resource limitation is the main headache
• Key resources:
– Memory (RAM)
– Code space (ROM)
– Processor cycles or speed
– Battery life (or power savings)
– Processor peripherals
• To some extent, these are interchangeable
– For example, you can trade code space for processor cycles,
writing parts of your code to take up more space but run more
quickly
– If a particular peripheral interface is absent, one might be able to
create it in software with I/O lines and processor cycles
Design Challenges
• Optimization of design metrics:
– A design metric is a measurable feature of a system’s
implementation.
• Common relevant metrics include:
– Unit cost: the monetary cost of manufacturing each copy of the
system, excluding NRE cost
– NRE cost (Non-Recurring Engineering cost): The monetary cost
of designing the system
• Once the system is designed, any number of units can be
manufactured without incurring any additional design cost
– Size: the physical space required by the system, often
measured in bytes for software, and gates or transistors
for hardware
Design Challenges
– Performance: the execution time or throughput of the
system
– Power: the amount of power consumed by the system,
which determines the lifetime of a battery, or the cooling
requirements of the IC, since more power means more heat
– Flexibility: The ability to change the functionality of the
system without incurring heavy NRE cost. Software is
typically considered very flexible
– Time-to-market: The amount of time required to design and
manufacture the system to the point the system can be sold
to customers
Design Challenges
– Time-to-prototype: The amount of time to build a
working version of the system
– Correctness: Verify that the system’s functionality
is implemented correctly
• We can check the functionality throughout the process
of designing the system, and we can insert test circuitry
to check that manufacturing was correct
– Safety: the probability that the system will not
cause harm
– Many others
Design Challenges

Figure: Design Metrics Competition


Design Challenges

Figure: IC capacity exponential increase (related to MOORE’s Law, HOW??)


.
Processor Technology
• Processor technology involves the architecture of the
computation engine used to implement a system’s desired
functionality
• Each processor differs in its specialization towards a particular
application, thus manifesting different design metrics

• Three types of embedded processors:


– General-Purpose Processors (software) (GPP)
– Single-Purpose Processors (hardware) (SPP)
– Application-Specific Instruction Set processors (ASIP)
Processor Technology
• General-Purpose Processors:
– Suitable for a variety of applications (to maximize the
number of devices sold)
• Features:
– Program memory: Designer does not know what
program will run on the processor
• so cannot build the program into the digital circuit
– General data path: Data path must be general enough to
handle a variety of computations
• so typically has a large register file and one or more general-
purpose arithmetic-logic units (ALUs)
Processor Technology
• An embedded system designer programs the
processor’s memory to carry out the required
functionality
– Could be referred to as ‘Software Programming’
• May result in several design metrics benefits:
– Design time and NRE cost are low, because the designer
must only write a program, but need not do any digital
design
Processor Technology
– Flexibility is high, because changing functionality
requires only changing the program
– Unit cost may be relatively low in small quantities
• since the processor manufacturer sells large quantities
to other customers and hence distributes the NRE cost
over many units
– Performance may be fast for computation-
intensive applications
• if using a fast processor, due to advanced architecture
features and leading edge IC technology
Processor Technology
• Design-metric drawbacks:
– Performance may be slow for certain applications
– Size and power may be large due to unnecessary processor
hardware
Processor Technology
• Single-purpose processors:
– A single-purpose processor is a digital circuit
designed to execute exactly one program
– In the example of digital camera, all of the
components other than the microcontroller are
single-purpose processors
– Another example: The JPEG codec executes a
single program that compresses and
decompresses video frames
Processor Technology
• An embedded system designer creates a single-
purpose processor by designing a custom digital
circuit
– Could be referred to as ‘Hardwired programming’
• Merits in terms of design metrics:
– Performance may be fast
– Size and power may be small
– Unit cost may be low for large quantities
Processor Technology
• Demerits:
– Design time and NRE costs may be high
– Flexibility is low
– Unit cost may be high for small quantities
– Performance may not match general-purpose
processors for some applications
Processor Technology
• Application-Specific Instruction Set processors (ASIP):
– can serve as a compromise between the above
processor options
– An ASIP is designed for a particular class of applications
with common characteristics, such as digital-signal
processing, telecommunications, embedded control, etc.
– The designer of such a processor can optimize the data
path for the application class, perhaps adding special
functional units for common operations, and eliminating
other infrequently used units
Processor Technology
• Merits in terms of design metrics:
– Good flexibility
– Good performance, power and size
• Demerits:
– Large NRE cost to build the processor itself and to build a
compiler, if these items don’t already exist
– Due to the lack of re-targetable compilers that can exploit
the unique features of a particular ASIP, designers using
ASIPs often write much of the software in assembly
language
Technology Comparison
• These three types of processors execute any particular
problem in own perspective
• An example problem regarding array summing
functionality is to be solved by each of these processors
• Example Code:
1. total = 0
2. for i = 1 to N loop
3. total += M[i]
4. end loop
Technology Comparison

Figure: Implementing desired functionality on different processor types: (a) general-


purpose, (b) application-specific, (c) single-purpose
Technology Comparison
• In General-Purpose Processor, the functionality is
stored in a program memory
• The controller fetches the current instruction
– Indicated by the program counter (PC)
– Into the instruction register (IR)
• It then configures the data path for this instruction
and executes the instruction
• Finally, it determines the appropriate next instruction
address, sets the PC to this address, and fetches again
Technology Comparison
• In case of Single-Purpose Processor:
• An index register is added
– The index register will be loaded with N
– and will then count down to zero, at which time it will assert a
status line read by the controller
• Since the example has only one other value, we add only
one register labeled total to the data path
• Since the example’s only arithmetic operation is addition,
we add a single adder to the data path
• Since the processor only executes this one program, we
hardwire the program directly into the control logic
Technology Comparison
• An Application Specific Instruction Set Processor
(ASIP) may have-
– An auto-incrementing register
– A path that allows the addition of a register and a memory
location in one instruction
– Fewer registers and
– A simpler controller
IC Technology
• Every processor must eventually be implemented on
an Integrated Circuit (IC)
• IC technology involves the manner in which we map
a digital (gate-level) implementation onto an IC
• An IC, often called a “chip,” is a semiconductor device
consisting of a set of connected transistors and other
devices
IC Technology
• Most popular technology: CMOS (Complementary
Metal Oxide Semiconductor)
• IC technology is independent from processor
technology
• Any type of processor can be mapped to any type of
IC technology
• ICs are developed in layers-
– The bottom layers form the transistors
– The middle layers form logic gates and
– The top layers connect these gates with wires
IC Technology
• The task of building the layers done by designing
masks which is often called a layout
• The narrowest line that we can create on a chip is
called the feature size
– Which today is well below one micrometer (sub-micron
and deep sub-micron)
• Technological hierarchy:
– Full-custom/VLSI
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)
IC Technology
• In a VLSI IC technology, we optimize all layers for our
particular embedded system’s digital implementation
• Such optimization includes-
– Placing the transistors to minimize interconnection lengths
– Sizing the transistors to optimize signal transmissions and
– Routing wires among the transistors
• Has very high NRE cost and long turnaround times
– typically months
• Can yield excellent performance with small size and power
– Only used in high-volume or extremely performance-critical
applications
IC Technology
• In ASIC (Application-Specific IC) technology, the lower layers are
fully or partially built
– Only the upper layers need modifying
• In a gate array technology, the masks for the transistor and gate
levels are already built
– The IC already consists of arrays of gates
• The remaining task is to connect these gates to achieve any
particular implementation
• In a standard cell technology, logic-level cells (such as an AND
gate or an AND-OR-INVERT combination) have their mask
portions pre-designed
– Usually by hand
IC Technology
– The remaining task is to arrange these portions into
complete masks for the gate level, and then to connect the
cells
• ASICs are by far the most popular IC technology
– They provide with good performance and size
– With much less NRE cost than full-custom IC’s
IC Technology
• In a PLD (Programmable Logic Device) technology, all layers
already exist
– So We can purchase the actual and finished IC
• The layers implement a programmable circuit
– where Programming has a lower-level meaning than a software
program in PLD (low abstraction level)
• The programming that takes place may consist of creating or
destroying connections between wires that connect gates
– Either by blowing a fuse, or setting a bit in a programmable switch
• Small devices (programmers/burners) connected to a
desktop computer can typically perform such programming
IC Technology
• PLD's could be divided into two types:
– Simple and
– Complex
• One type of simple PLD is a PLA (Programmable Logic
Array)
– It consists of a programmable array of AND gates and a
programmable array of OR gates
• Another type of simple PLD is a PAL (Programmable
Array Logic)
– It uses just one programmable array to reduce the number of
expensive programmable components
IC Technology
• FPGA (Field Programmable Gate Array) is one type of
complex PLD
– It offers more general connectivity among blocks of logic and are
thus able to implement far more complex designs
• PLDs offer very low NRE cost and almost instant IC
availability
• As they are typically bigger than ASICs, may have higher unit
cost, may consume more power, and may be slower
– Especially FPGAs
• They still provide reasonable performance
– So are Well suited to rapid prototyping
Design Technology
• Design technology involves the manner in which we
convert our concept of desired system functionality
into an implementation
• Top-down approach: a popular design process
• The designer refines the system through several
abstraction levels
– At the system level, the designer describes the desired
functionality in some language
– Could be termed as ‘system specification’
Design Technology

Figure: Ideal top-down design process, and productivity improvers


Design Technology
• The designer refines this specification by-
– Distributing portions of it among chosen processors (general or
single purpose), yielding behavioral specification.
• The designer refines these specifications into register-transfer
(RT) specifications by-
– Converting behavior on general-purpose processors to assembly
code and
– By converting behavior on single-purpose processors to a connection
of register-transfer components and state machines
• The designer then refines the register-transfer-level
specification of a single-purpose processor into a logic
specification consisting of Boolean equations
Design Technology
• Finally, the designer refines the remaining
specifications into-An implementation
– Consisting of machine code for general-purpose processors
and
– A gate-level Netlist for single-purpose processors
Design Technology
• Approaches for improving design process:
– Compilation/synthesis
– Libraries/IP and
– Test/verification
• Compilation/Synthesis: Involves letting a designer specify
desired functionality in an abstract manner and
automatically generates lower-level implementation
details.
– Describing a system at high abstraction levels can improve
productivity by reducing the amount of details, often by an
order of magnitude, that a design must specify
Design Technology
• Libraries involve re-use of pre-existing implementations
• Using libraries can improve productivity
– If the time it takes to find, acquire, integrate and test a library item is
less than that of designing the item oneself
• A logic-level library may consist of layouts for gates and cells
• An RT-level library may consist of layouts for RT components,
like registers, multiplexors, decoders, and functional units
• A behavioral-level library may consist of commonly used
components, such as compression components, bus
interfaces, display controllers, and even general purpose
processors
• Associated term: Intellectual Property (IP)
Design Technology
• Test/Verification: It involves ensuring that functionality is
correct
– Can prevent time-consuming debugging at low abstraction
levels and iterating back to high abstraction levels
• Two Types:
– Pre-Silicon Debug and
– Post-Silicon Debug
• Simulation is the most common method of testing for correct
functionality
Design Technology
• Types of Simulator:
– At logic level- Gate level simulators
– At RT level - Hardware Description Language (HDL) simulators
execute RT-level descriptions and provide output waveforms
given input waveforms
– At behavioral level - HDL simulators simulate sequential
programs, and co-simulators connect HDL and general purpose
processor simulators to enable hardware/software co-verification
– At system level - A model simulator simulates the initial system
specification using an abstract computation model, independent
of any processor technology
DIY

The design of a particular disk drive has an NRE cost


of $100,000 and a unit cost of $20
– How much will we have to add to the cost of the product
to cover our NRE cost, assuming we sell: (a) 100 units, and
(b) 10,000 units.

You might also like