CS 244 Introduction to Embedded Systems and Ubiquitous
CS 244 -Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010 - CS 244
CS 244 – Lecture 3 Embedded System Software Winter 2010 - CS 244 2
Hardware Components Course Outline Concept Specification Hardware HW/SW Partitioning Estimation Exploration ign s De …) , t u yo a L is, s e nth y (S De sig n (Co mp ila tio n, …) 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 Winter 2010 - CS 244 5 5
Digital n System architecture Reliable q n q q q Processors q Very Reliable q n How many processors (custom and general purpose) The interconnect network The memory hierarchy and DMA architecture In some designs, system architecture may include software q q Instruction set architecture Pipeline design and datapath Controller RTL description Memories q q 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 n User level software (ULS) q q q Least Reliable n n Highly application specific Low reusability Typically designed at the last phase GUI q q Back End Front End Often part of ULS May be based on standard GUI libraries (X 11, Java, Win. CE, 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 q q Reusable application software DSP algorithms and application kernels Winter 2010 - CS 244 Mini Kernel 7 7
Software n System libraries q q n VM q Reliable n n 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 q q 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 q q q API to manipulate, read, and write hardware devices Highly hardware dependent code Difficult to debug Winter 2010 - CS 244 8 8
Software n RTOS q n BIOS q n Provides, multitasking, scheduling, communication, and synchronization between threads of execution Provides very basic API for accessing the underlying computer platform Firmware q q 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 n n 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 q q q Hard real-time Firm real-time Soft real-time Winter 2010 - CS 244 10
Hard Real-time n n n System designed to meet all deadlines A missed deadline is a design flaw Examples: q q n n n 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 n System designed to meet all deadlines, but q “Occasional” missed deadline is allowed n q n Sometimes statistically quantified (e. g. , 5% misses) No need to compute further once a deadline is missed Examples: q Multimedia systems n System hardware designed for average case performance n System software tested under average (ideal) conditions Winter 2010 - CS 244 12
Soft Real-Time n System designed to meet as many deadlines as possible q n Best effort to complete within specified time, but may be late Examples: q Network switch or router n System hardware designed for average case performance n System software tested under average (ideal) conditions Winter 2010 - CS 244 13
Embedded Operating Systems n Must provide means for dynamic task creation q n Must provide means for task synchronization and communication q q n 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
Fixed Point Arithmetic n n n Using integer math to emulate floating point numbers and operations Determine range and precision (i. e. , m. n) Define +, -, , and / Analyze for overflow Use tables for common math functions, e. g. , sine, cosine, etc. Winter 2010 - CS 244 15
Digital Signal Processing n Any interesting embedded system has to process some input signals and generate some output signals q n We use the term signal in a general way Digital devices process signals in digital form q A uniformly sampled stream of data spread in time (e. g. , audio) or space (e. g. , image) Winter 2010 - CS 244 16
General DSP Architecture Environment Sensors Embedded System f(t) A/D fn P Actuators u(t) Memory D/A un Winter 2010 - CS 244 17
- Slides: 17