Transcript Lecture 3

CS244-Introduction to
Embedded Systems and
Ubiquitous Computing
Instructor: Eli Bozorgzadeh
Computer Science Department
UC Irvine
Winter 2012
CS244 – Lecture 3
Embedded System Software
Winter 2010- CS 244
2
Course Outline
Hardware Components
Hardware
Concept
Specification
HW/SW
Partitioning
Estimation Exploration
Software
Software Components
Winter 2010- CS 244
Validation and Evaluation (area, power, performance, …)
3
Components of Embedded Systems
Memory
Controllers
Interface
Software
(Application Programs)
Coprocessors
Processor
ASIC
Converters
Analog
Winter 2010- CS 244
Digital
4
Analog
Design Domains
Other
Mechanics
Hydraulics
Actuators
Circuit Boards
Packaging
Panel & Body
MEMS
Nanotechnologies
Analog
Antennas
RF Modulators
Mixers
Amplifiers
VCOs
Sensors
A/D & D/A
Power Drivers
Filters
Signal Conditioners
Op. Amps
Transistors
Passive Devices
Power Supply
AC/DC & DC/DC
Digital
Software
System Architecture
Processors
Memories
ALU, MUX, & Latches
Gates & FF
CMOS Transistors
Masks
User Software
GUI
User Libraries
System Libraries
VM
Middleware
Device Drivers
RTOS
BIOS & Firmware
5
5
Digital

System architecture
Reliable





Processors

Very Reliable


How many processors (custom and general purpose)
The interconnect network
The memory hierarchy and DMA architecture
In some designs, system architecture may include software


Instruction set architecture
Pipeline design and datapath
Controller
RTL description
Memories


On-chip (small) memories may be based on Flip Flops (see next
slide)
For larger fabrics, often based on DRAM, magnetic media, or
laser readable media
Winter 2010- CS 244
6
6
Software

User level software (ULS)



Least Reliable


Highly application specific
Low reusability
Typically designed at the last phase
GUI




 Back End
 Front End
Often part of ULS
May be based on standard GUI libraries (X11, Java, WinCE,
GNOME, KDE, etc.)
Often requires more research and refinement than it receives
May be the most complex/challenging design component,
especially in display/input limited devices
User libraries


Reusable application software
DSP algorithms and application kernels
Winter 2010- CS 244
 Mini Kernel
7
7
Software

System libraries



VM

Reliable


Highly reusable application software
Implementation of standards (e.g., MPEG), custom database
engines, GUI kernels, etc.
Emulates a portable and documented “fictitious” machine (and
perhaps API) on any underlying processing system
Middleware


Provide a unique interface between applications, lower level
hardware, the grid, or a network of devices
Software that connects two otherwise separate applications
Device drivers



API to manipulate, read, and write hardware devices
Highly hardware dependent code
Difficult to debug
Winter 2010- CS 244
8
8
Software

RTOS


BIOS


Provides, multitasking, scheduling, communication,
and synchronization between threads of execution
Provides very basic API for accessing the underlying
computer platform
Firmware




Software that is embedded in a system that does not
allow modification by an end user
May contain BIOS, RTOS, Middleware, …, ULS
Or, may contain all but ULS
Or, some hybrid
Winter 2010- CS 244
9
9
Real-time Systems


A real-time system has to produce correct
result at the right time (deadline driven)
A real-time system imposes stringent timing
requirements in addition to correctness



Hard real-time
Firm real-time
Soft real-time
Winter 2010- CS 244
10
Hard Real-time



System designed to meet all deadlines
A missed deadline is a design flaw
Examples:





Shuttle navigation system
Nuclear reactor monitoring system
System hardware (over) designed for worst-case
performance
System software vigorously tested
Formal proofs used to guarantee timing correctness
Winter 2010- CS 244
11
Firm Real-time

System designed to meet all deadlines, but

“Occasional” missed deadline is allowed



Sometimes statistically quantified (e.g., 5% misses)
No need to compute further once a deadline is missed
Examples:

Multimedia systems

System hardware designed for average case
performance

System software tested under average (ideal)
conditions
Winter 2010- CS 244
12
Soft Real-Time

System designed to meet as many deadlines as
possible


Best effort to complete within specified time, but may be
late
Examples:

Network switch or router

System hardware designed for average case
performance

System software tested under average (ideal)
conditions
Winter 2010- CS 244
13
Embedded Operating Systems

Must provide means for dynamic task creation


Must provide means for task synchronization and
communication



Create, join, and cancel
Shared memory vs. message passing
Semaphore and condition variables vs. monitors
Posix threads a common standard provides thread
creation and synchronization
Winter 2010- CS 244
14