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 Concept Specification Hardware HW SW Partitioning Estimation Exploration gn i s De t u ayo L sis e n th y S De sig n C om pil ati on Software Software Components Winter 2010 CS 244 Validation and Evaluation area power performance 3 Components of Embedded Memory Controllers Interface Systems 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 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 Back End 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
View Full Document
Unlocking...