• Save
Embedded Intro India05
Upcoming SlideShare
Loading in...5

Embedded Intro India05



Introduction to role of embedded systems in society

Introduction to role of embedded systems in society



Total Views
Views on SlideShare
Embed Views



4 Embeds 12

http://www.slideshare.net 4
http://www.techgig.com 4
http://fhanan92.wordpress.com 3 1


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Embedded Intro India05 Embedded Intro India05 Presentation Transcript

  • Embedded Computing Systems Rajesh Gupta, UC San Diego, CA mesl . ucsd . edu
  • Outline: what are embedded systems and what is so interesting about them?
    • What are embedded systems?
    • Embedded system characteristics
    • Challenges in Embedded Systems research and education
  • "Embedded Everywhere"
    • Generally, part of a larger system that may not be a “computer”
    • works in a reactive , time- and energy-constrained environment.
    • employs a combination of hardware & software (a “computational engine”) to perform a specific function;
      • Software is used for providing features and flexibility
      • Hardware = {Processors, ASICs, Memory,...} is used for performance (& sometimes security)
    An Embedded Computing System Application Specific Gates Processor Cores Analog I/O Memory DSP Code
  • Example: Automotive Embedded Systems Dominated by software and networking complexities
  • Control, processing, networking, …
    • Embedded, reactive controllers, for
      • Central locking system
      • Crash management
      • Power windows & seats
      • Airbag controller
      • etc.
    90 % of all innovations are SW-driven
    • Embedded processing for
      • Multimedia system
      • Navigation system
    • Infotainment alone uses up to 20 processors
  • Challenges in automotive embedded software
    • Highly complex , networked , and distributed
    • Consider processing
      • 70-80 electronic control units (ECUs) supporting hundreds of features
      • ECUs delivered by multiple suppliers, with their own software chains
    • Consider networking
      • Separate, integrated networks for power train, chassis, security, MMI, multimedia, body/comfort functions
      • Increasing interaction beyond car’s boundaries with devices, networks
    • Software development challenges:
      • hardware independence, information interdependence among subsystems, system composition, validation.
  • But that is just the beginning… Embedded Systems come in many (more) shapes.
  • Intel Montecito
    • Two 2-threaded 64b EPIC cores
      • Two threads hide memory latency on a single thread (TMT)
    • Total of 26.5 MB caches
    • 1.72 Billion transistors, 596 mm 2 , 90nm
  • 130 W; GBps
    • Generated clock frequency is a function of the measured voltage
      • -- 3X gain in power consumption
    MicroController 16 bit Instr 32 bit datapath 4K*16bit program 4K*8bit data 1 GHz, 5-stage pipe Real-time scheduler Power control Temperature control Calibration
  • Computers + Radios = Mobile Platforms
  • Sensor Nodes as Wireless Networked Embedded Systems Source: Estrin, MOBICOM’03
  • Indeed, computing nodes are changing rapidly
    • New computing nodes and networks are no longer monolithic entities
      • High-end processing migrating to mobile computing, sensor computing
      • Very likely sources of innovations in future for mainstream computing.
    Pointer to major sensor node platforms at http://mesl.ucsd.edu/gupta/SPOTSurl.html
  • Outline: what are embedded systems and what is so interesting about them?
    • What are embedded systems?
    • Embedded system characteristics
    • Challenges in Embedded Systems research and education
    • Application Specific
      • Perform a single or tightly knit set of functions;
      • (not usually "general purpose”)
    • Constrained
      • Power, cost and reliability are often important attributes that influence design;
    • Application specific processor design can be a significant component of some embedded systems.
      • Customization yields lower area, power, cost, ...
      • Higher HW/software development overhead
          • design, compilers, debuggers, ...
    Typical Characteristics
  • Real-Time Requirements
    • Hard-real time systems: where there is a high penalty for missing a deadline
      • e.g., control systems for aircraft/space probes/nuclear reactors; refresh rates for video, or DRAM.
    • Soft real-time systems: where there is a steadily increasing penalty if a deadline is missed.
        • e.g., laser printer: rated by pages-per-minute, but can take differing times to print a page (depending on the "complexity" of the page) without harming the machine or the customer.
      • However, the rate at which the image is delivered to the drum is a hard deadline, since the image will be lost otherwise.
    • Many systems have hard-deadlines imposed by the operations of peripherals, e.g., DRAM (refresh rate), disk (spin rate), cameras (scan rate), displays (refresh rate).
    • Modelling
      • the system to be designed, and experimenting with algorithms involved;
    • Refining (or “partitioning”)
      • the function to be implemented into smaller, interacting pieces;
    • HW-SW partitioning: Allocating
      • elements in the refined model to either (1) HW units, or (2) SW running on custom hardware or a general microprocessor.
    • Scheduling
      • the times at which the functions are executed. This is important when several modules in the partition share a single hardware unit.
    • Mapping (Implementing)
      • a functional description into (1) software that runs on a processor or (2) a collection of custom, semi-custom, or commodity HW.
    ES Design: Task Ingredients Environ -ment Processor Analog I/O Memory ASIC DSP Code
  • Scope and Ingredients of ES Design Tasks
    • The specific issues that need to be addressed in ES design depend to some extent on
      • the scope of the application at hand, and
      • the richness of the system delivered
    Dedicated system Digital Signal Processors General purpose processors Single Task General Task Mix Correlated Task Mix System + Application SW + SW environment Single Chip System + Applications Engine Control DFT
  • Programming with Time
    • E. G., Computing at the intersection of two different time topologies
    /* monitor temperature */ do forever { measure temp; if (temp < setting) start furnace; else if (temp > setting + delta) stop furnace; } /* monitor time of day */ do forever { measure time; if (6:00am) setting = 72; else if (11:00pm) setting = 60; } /* monitor keypad */ do forever { check keypad; if (raise temp) setting++; else if (lower temp) setting--; } Computing system Environment Sense Actuate
  • Programming with Location
    • Enabled by technology advances
      • Outdoor, indoor, absolute, relative, assertive
    • Infrastructure for location
      • Dynamic resource discovery and binding
      • Transparent location updates
      • Monitor resources in their environment
      • Virtual resource naming, that is, resources referred to based on their expected location
      • Reactive to changes in the resource availability
      • Control resource usage: access timeouts.
    • Programming with location
      • Spatial programming: how to use the location information in spatial references
  • One is already seeing time in programming
    • Absolute and relative delays
      • Delays as uninterruptible actions
      • Timeouts, timed procedure calls, wait selects
  • Of course, we have seen time before…
    • A process controller with following modules
      • a clock tick comes every 20 ms when a clock module must run
      • a control module must run every 40 ms
      • three modules with soft constraints
          • operator display update; operator input; information logs
    • Can be done synchronously (in one program) or asychronously through multiple tasks.
      • while (1) {
        • wait for clock; do clock module;
        • if (time for control) do control;
        • else if (time for display update) do display;
        • else if (time for operator input) do operator input;
        • else if (time for mgmnt. request) do mgmnt. output;
        • }
    • Must have t1 + max(t2, t3, t4, t5)  20 ms
        • may require splitting tasks… gets complex!
  • Multi-tasking
    • Most tasks are event driven
    • Asynchronous implementation approaches
      • Foreground/background systems : 2 tasks
      • Foreground (interrupt)
          • on interrupt {
          • do clock module; if (time for control) do control;
          • }
      • Background
          • while (1) {
          • if (time for display update) do display;
          • else if (time for operator input) do operator;
          • else if (time for mgmnt. request) do mgmnt.;
          • }
      • Decoupling relaxes constraint: t1 + t2  20 ms
    • Multi-tasking: also called processes, threads
      • Requires task scheduling, communication, sharing among tasks.
  • So, then how to organize multiple tasks?
    • Cyclic executive (Static table driven scheduling)
      • static schedulability analysis
      • resulting schedule or table used at run time
      • TDMA-like scheduling
    • Event-driven non-preemptive
      • tasks are represented by functions that are handlers for events
      • next event processed after function for previous event finishes
    • Static and dynamic priority preemptive scheduling
      • static schedulability analysis
      • no explicit schedule constructed: at run time tasks are executed “highest priority first”
      • Rate monotonic, deadline monotonic, earliest deadline first, least slack
  • Continued…
    • Dynamic planning-based scheduling
      • Schedulability checked at run time for a dynamically arriving task
      • “ admission control”
      • resulting schedule to decide when to execute
    • Dynamic best-effort scheduling
      • no schedulability checking is done
      • system tries its best to meet deadlines
    • Extensive literature on best scheduling methods with increasing complexity of tasks and architectures.
      • (Real-Time Symposiums).
    • This research has had an impact on how OS’s are structured for embedded systems…
  • OS Classes
    • General Purpose
      • Open, multiple applications, memory protection, multiple units of failure
      • Temporally unpredictable, large overheads
    • Real Time OS
      • Closed, single application, no memory protection, single unit of failure, temporally predictable, small system overhead
    • Consumer Electronics OS are in between
      • (CE Linux): Open, multiple apps, memory protection, temporally predictable, small overhead
  • Major OS Structures monolithic microkernel cyclic executive exo kernel
  • Outline: what are embedded systems and what is so interesting about them?
    • What are embedded systems?
    • Embedded system characteristics
    • Challenges in Embedded Systems research and education
  • A changing ecosystem of embedded systems “ Text” Timing- Dependent Data Real-World Sensor Inputs Single- or Few- Threaded Multi-Threaded OS Kernels/ Device Drivers MS Word cat Robotics Sensor Networks Distributed, Timing Dependent System MPI/Linda Distributed Robotics Squid TCP System/Internal Uncertainty Data/External Uncertainty Jeremy Elson, Microsoft
  • In the Human Body Source: Shkel (MAE), Ikei (Biomed), Zheng (ENT), UC Irvine
  • Into Fabrics and Buildings Ember radios and networks Source: Ember Networks
  • Summary: New “Computers”, New Challenges
    • Software development is a challenge with evolving processors
      • How to efficiently model, compile, target applications?
    • What is the right programming model for these systems?
      • What is the right set of OS, middleware services and API to provide a “usable” programming model?
    • Application modeling, programming for highly distributed, mobile, networked embedded systems
    • What happens in hardware versus software?
    • What is compiled and what happens dynamically?
    • What is done at the node, at the network?
    • How is awareness exploited?
      • Location, Energy, Connectivity
    • Getting it right means many more systems capabilities through software
      • Controlling power/energy usage, functional adaptivity, reliability, re/usability, availability, …
  • An emerging area for technical education
    • The design of embedded systems draws upon several disparate disciplines in CS and EE.
    • Application domain (Signal processing, ...)
    • Software engineering (Programming Languages, Compilers)
      • For implementing the software components; this can be a major component of several systems.
    • VLSI (computer aided) design
      • For implementing the custom and semi-custom hardware components.
    • Parallel/Distributed system design
      • since many embedded systems and multiprocessors are structured as a network of communicating processors; the network may be loosely coupled or tightly coupled.
    • Real-time systems (Hard- & soft- real time systems)
  • Cal-IT2  Systems Initiative
    • Part of the Cal-IT2 Core activities
    • SOC HyperIntegration Laboratory
      • Equipment and support for building board-level prototypes: key CalIT2 artificats such as CalRadio
      • Interfaces with ASIC design, test
    • Personnel supporting CalIT2 initiatives, visitors
      • Our interfaces with industry projects
      • Engineering personnel building prototypes, demonstration activities
      • Cal-IT2 students
    • Host projects, training and outreach
      • CalRadio, Damage Prognosis, MicroFluidic Sensing
  • Damage Prognosis in SHM
    • Supported through UCSD/LANL Engineering Institute
    • Goal: Monitoring Technologies for Large Scale Structures through sensing, computational modeling and predictive analysis
    • Field prototypes
      • Instrument large scale structures for continuous monitoring of structural health.
    Dasgupta, Gupta, Rosing, CSE, Michael Todd, MAE and Chuck Farrar, LANL