Download presentation
Presentation is loading. Please wait.
1
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010
2
Winter 2010- CS 244 2 CS244 – Lecture 3 Embedded System Software
3
Winter 2010- CS 244 3 Course Outline Concept Concept Specification HW/SWPartitioning Hardware Components Software Components Estimation - Exploration Hardware Software Design (Synthesis, Layout, …) Design (Compilation, …) Validation and Evaluation (area, power, performance, …)
4
Winter 2010- CS 244 4 Components of Embedded Systems Analog DigitalAnalog Memory Coprocessors Controllers Converters Processor Interface Software (Application Programs) ASIC
5
Winter 2010- CS 244 5 Design Domains 5 Mechanics Hydraulics Actuators Circuit Boards Packaging Panel & Body MEMS Nanotechnologies 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 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 OtherAnalogDigitalSoftware
6
Winter 2010- CS 244 6 Digital System architecture How many processors (custom and general purpose) The interconnect network The memory hierarchy and DMA architecture In some designs, system architecture may include software Processors 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 6 Reliable Very Reliable
7
Winter 2010- CS 244 7 Software User level software (ULS) Highly application specific Low reusability Typically designed at the last phase GUI 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 7 Front End Back End Mini Kernel Least Reliable
8
Winter 2010- CS 244 8 Software System libraries Highly reusable application software Implementation of standards (e.g., MPEG), custom database engines, GUI kernels, etc. VM 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 8 Reliable
9
Winter 2010- CS 244 9 Software RTOS Provides, multitasking, scheduling, communication, and synchronization between threads of execution BIOS 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 9
10
Winter 2010- CS 244 10 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
11
Winter 2010- CS 244 11 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
12
Winter 2010- CS 244 12 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
13
Winter 2010- CS 244 13 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
14
Winter 2010- CS 244 14 Embedded Operating Systems Must provide means for dynamic task creation Create, join, and cancel Must provide means for task synchronization and communication Shared memory vs. message passing Semaphore and condition variables vs. monitors Posix threads a common standard provides thread creation and synchronization
15
Winter 2010- CS 244 15 Fixed Point Arithmetic 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.
16
Winter 2010- CS 244 16 Digital Signal Processing Any interesting embedded system has to process some input signals and generate some output signals We use the term signal in a general way Digital devices process signals in digital form A uniformly sampled stream of data spread in time (e.g., audio) or space (e.g., image)
17
Winter 2010- CS 244 17 General DSP Architecture Sensors f(t)f(t) A/D fnfn PP D/A unun Actuators u(t)u(t) Memory EnvironmentEmbedded System
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.