Embedded Systems Design Paul Pop, associate professor Embedded systems engineering section Embedded Systems Invisible computers, inside most of the devices we use, from a music player, a mobile phone, to cars, trains, medical equipment, and so on. an embedded system special-purpose computer system, part of a larger system which it controls More than humans on the planet, already 40 billion of such devices by 2020 99% of processors used in embedded systems 4 billion embedded processors sold last year €71 billion global market in 2009, growth of 14% Market size is about 100 times the desktop market 2 Embedded systems are everywhere o o o o o o o o o o o o o o o o o o o o o o o o oo o o o oo o Our daily lives depend on embedded systems 3 From your bathroom... Product: Sonicare Plus toothbrush. Microprocessor: 8-bit Zilog Z8. 4 To Mars... Product: NASA's Mars Sojourner Rover. Microprocessor: 8-bit Intel 80C85. 5 Big... 6 And small... 7 Characteristics of embedded systems Single-functioned Dedicated to perform a single function Complex functionality Often have to run sophisticated algorithms or multiple algorithms. Cell phone, laser printer. Tightly-constrained Low cost, low power, small, fast, etc. Reactive and real-time Continually reacts to changes in the system’s environment Must compute certain results in real-time without delay Safety-critical Must not endanger human life and the environment 8 Level of dependency Embedded systems: 90% future innovations 40% price Electronic Injections Check Control Speed Control Central Locking … 1970 Electronic Gear Control Electronic Air Condition ASC Anti Slip Control ABS Telephone Seat Heating Control Autom. Mirror Dimming … 1980 Navigation System CD-Changer ACC Adaptive Cruise Control Airbags DSC Dynamic Stability Control Adaptive Gear Control Xenon Light BMW Assist RDS/TMC Speech Recognition Emergency Call… ACC Stop&Go BFD ALC KSG 42 voltage Internet Portal GPRS, UMTS Telematics Online Services BlueTooth Car Office Local Hazard Warning Integrated Safety System Steer/Brake-By-Wire I-Drive Lane Keeping Assist. Personalization Software Update Force Feedback Pedal… 1990 2000 source: BMW Automotive Electronics 9 Automotive architecture example 10 Evolution of handsets and technology 11 Smartphone architecture example Battery RF Baseband ASIC 64MB NOR FLASH 64MB SDRAM White LED driver ARM9 MixedSignal ASIC UMA core 2MPix camera module LED Flash Keyboard 512MB NAND FLASH 512 MB DDR DRAM Position sensors Charger Energy management ASIC Back-light LEDs SIM IHF BT Module Application processor MMC ARM9 Frame buffer ASIC UMA core LCDs 12 Architectures: Networked embedded systems Distributed functionality ... Distributed across networks Several functions per processor ... 13 Application areas: critical vs. best-effort Critical (e.g., avionics) Based on worst-case assumptions Static reservation of resources Schedulability analysis and static scheduling Simple execution platforms Leads to overdesign (underutilization) Best effort (e.g., multimedia, networks) Based on average-case Dynamic reservation of resources Sophisticated architectures Adaptive scheduling mechanisms Leads to temporary unavailability Bridging the gap: partitioned architectures 14 Graphical illustration of Moore’s law 1981 1984 1987 1990 1993 1996 1999 2002 10,000 transistors 150,000,000 transistors Leading edge chip in 1981 Leading edge chip in 2002 Something that doubles frequently grows more quickly than most people realize! A 2002 chip could hold about 15,000 1981 chips inside itself 15 16 More Moore vs. More than Moore 17 Tubes to Chips: Integrated Circuits Driven by Information Processing needs IBM Power 5 IC (2004) IBM 701 calculator (1952) Slide soruce: Krish Chakrabarty, Duke University 18 Tubes to Chips: Biochips Driven by biomolecular analysis needs Agilent DNA analysis Lab on a Chip (1997) Test tube analysis Slide soruce: Krish Chakrabarty, Duke University 19 Tubes to Chips: Biochips, cont. Test tubes Automation Integration Miniaturization Robotics Microfluidics Slide soruce: Krish Chakrabarty, Duke University Automation Integration Miniaturization Automation Integration Miniaturization 20 Biochip Architecture Slide soruce: Krish Chakrabarty, Duke University 21 Embedded systems design problem Find an implementation that can perform the computation such that the requirements are satisfied. Embedded systems perform computations (software) that are subject to physical constraints (hardware) Reaction to a physical environment: deadline, throughput, jitter Execution on a physical platform: processor speed, power, reliability The need for an embedded systems design discipline Computer science separates computation from physical constraints Computer engineering ignores computation 22 Traditional embedded systems design Design and build the target hardware Develop the software independently Integrate them and hope it works Does not work for complex systems 23 Embedded software: size and deployment 24 Embedded software: complexity growth 25 Increasing complexity (telecom example) 26 Design crisis Gates/cm2 Moore’s Law Log Scale Widening Gap Design Productivity Software Productivity 0.35µ 0.25µ 0.18µ 0.12µ 0.15µ Technology (micron) 0.1µ 27 We need a better design methodology Design methodology: the process of creating a system Goal: optimize competing design metrics Time-to-market Design cost Manufacturing cost Quality, etc. Design flow: sequence of steps in a design methodology. May be partially or fully automated. Use tools to transform, verify design. Design flow is one component of design methodology. Methodology also includes management, organization, etc. 28 Abstraction and clustering IP Block Performance Inter IP Communication Performance Models Gate Level Model Capacity Load abstract 1970’s abstract RTL cluster RTL Clusters SW Models cluster abstract Transistor Model Capacity Load abstract SDF Wire Load IP Blocks cluster 1980’s 1990’s Year 2000 + 29 Abstraction and clustering: Platforms The “PC platform” makes development easier x86 instruction-set architecture fully specified set of buses and a specified set of I/O devices Similar platform definitions for specific embedded systems application areas Platform API Application Software Software Software Platform Hardware Platform Input devices Hardware Output Devices I O Network 30 System-level design Application model System platform model Application model Architecture model System-level design tasks Constructive vs. improvement Model of system implementation Software synthesis Evaluation Analysis vs. simulation Hardware synthesis 31 Typical design tasks: Mapping and scheduling Given m1 Application: set of interacting processes Platform: set of nodes Timing constraints: deadlines P1 P2 m3 m2 P3 P4 m4 Determine N1 Mapping of processes and messages Schedule tables for processes and messages N2 Such that the timing constraints are satisfied P1 N1 Schedule table P4 P2 N2 Bus S2 S1 m1 Deadline P3 m2 m3 m4 32 Biochips design tasks Source Binding Allocation In S 2 Operation Area (cells) Time (s) Mixing 2x2 6 Mixing 2x3 5 Mixing 2x4 4 Dilution 2x2 6 Dilution 2x3 5 Dilution 2x4 3 Storage 1x1 – In S 1 1 In R 1 2 5 In B Dilute 6 7 In R 2 9 Mix 3 Mix Detect 4 Detect 8 10 Sink Scheduling Placement S1 Mixer1 B R1 Mixer2 Diluter Mixer2 Store S2 O9 Mixer1 Diluter S3 R2 W Detector O7 O3 Store O11 Detector O10 O4 33 Design-space exploration 34 Safety-Critical Systems Safety is a property of a system that will not endanger human life or the environment. A safety-related system is one by which the safety of the equipment or plant is ensured. Safety-critical system is: Safety-related system, or High-integrity system Our daily lives depend on embedded systems 35