Transcript Document
COMP3221: Microprocessors and Embedded Systems Lecture 31: Embedded Systems http://www.cse.unsw.edu.au/~cs3221 Lecturer: Hui Wu Session 2, 2005 COMP3221/9221: Microprocessors and Embedded Systems Overview • What is an embedded system? • Characteristics of embedded systems • Embedded system requirements COMP3221/9221: Microprocessors and Embedded Systems Embedded Systems An embedded system • is a combination of hardware and software to perform a specific function; • is part of a larger system; • works in a reactive and time-constrained environment. COMP3221/9221: Microprocessors and Embedded Systems Characteristics of Embedded Systems • Application specific An embedded system performs a single or fixed set of functions; All functions are known a priori before the system design begins. The fixed functionality provides opportunities for design optimization. Application specific processor design can be a significant component of some embedded systems Advantages Customization yields lower area, power, cost and higher performance. Disadvantages Higher hardware/software development overhead, resulting in longer time-to-market. • Strict design constraints performance, timing, power, area, cost, reliability etc. Characteristics of Embedded Systems (Cont.) • Multiple heterogeneous processing units General processor, ASIC (Application Specific Integrated Circuit) , ASIP (Application Specific Instruction set Processor), DSP (Digital Signal Processing processor) etc. • Reactive Embedded systems constantly interact with their environment, taking in data from sensors and/or other input devices and making appropriate responses. • Real-time Embedded systems interact with their environments in a timely manner. • Parallel and distributed computing Many embedded systems use parallel/distributed architecture where multiple processing units are tightly or loosely coupled. Examples of Embedded Systems • Consumer electronics, e.g., cellular phones, personal digital assistants, interactive game boxes, cameras, camcorders, .... • Consumer products, e.g., washers, microwave ovens, ... • Automobiles (anti-lock braking, engine control, ...) • Industrial process controllers & avionics/defence applications • Computer/Communication products, e.g., printers, FAX machines, ... COMP3221/9221: Microprocessors and Embedded Systems Traditional Embedded Systems Design: Major Procedures • Modelling Specifying the behaviours of the target embedded system. • Hardware-software partitioning Partitioning the specifications into either hardware components or software components. Hardware components are implemented in co-processors. Software components run on custom hardware or a general microprocessor. • Hardware design and software design Hardware design includes co-processor design, interfaces etc. Software design includes interrupt handlers, task scheduler etc. COMP3221/9221: Microprocessors and Embedded Systems Traditional Embedded Systems Design: Major Procedures (Cont.) Modelling Hardware-software partitioning Hardware design Software design COMP3221/9221: Microprocessors and Embedded Systems Problems with Traditional Embedded Systems Design • The precise information (execution time etc) about each task is not available at the partitioning stage. • Designers have to use estimated values in partitioning, leading to bad partitioning and therefore bad design. • How to solve this problem? Use hardware-software co-design. COMP3221/9221: Microprocessors and Embedded Systems What Is Hardware-Software Co-design? • The hardware/software designs proceed in parallel, with feedbacks and interactions occurring between the two as the design progresses. • An multi-objective function of cost, area, power etc is used to find an optimal design. COMP3221/9221: Microprocessors and Embedded Systems Goals of Embedded System Design • Reduce time-to-market. • Produce an optimal design which minimize the multiobjective function of cost, area, power etc. New design methodology and CAD tools for automating embedded system design are needed. CAD today addresses synthesis problems at a purely hardware level: efficient techniques for data-path and control synthesis down to silicon. COMP3221/9221: Microprocessors and Embedded Systems Disciplines Involved in Embedded System Design • Application domain (Signal processing, process control, machine control, robot, ...). • Software engineering How to build a correct and reliable embedded system? Software reuse? • Programming Languages and Compilers How to reduce the execution time of each task? How to reduce the power consumption of processors and memory? COMP3221/9221: Microprocessors and Embedded Systems Disciplines Involved in Embedded System Design (Cont.) • Operating Systems How to schedule tasks such that all timing constraints are satisfied? How to schedule tasks such that the processor power consumption is minimized? • VLSI (computer aided) design How to minimize the area and maximize the performance for a co-processor? How to minimize the power consumption of a co-processor? COMP3221/9221: Microprocessors and Embedded Systems Disciplines Involved in Embedded System Design (Cont.) • Parallel/Distributed systems Many embedded systems use parallel/distributed architecture where the multiple processors are tightly coupled or loosely coupled. Many issues exist. Task scheduling; Resources sharing etc. • Real-time systems (Hard & soft real time systems) How to specify and satisfy timing requirements? How to share resource such that timing constraints are still satisfied? COMP3221/9221: Microprocessors and Embedded Systems Embedded System Requirements • Functional requirements • Timing requirements • Dependability requirements COMP3221/9221: Microprocessors and Embedded Systems Functional Requirements • Data collection Sensors AD converters Signal conditioning etc • Direct digital control Actuators • Man-machine interface Informs the operator of the current state of the controlled object Assists the operator in controlling the system. Timing Requirements • Tasks Release times and deadlines • Minimal task distance • Maximal task distance • Task Periods • Minimal error detection latency • Minimal latency jitter etc. COMP3221/9221: Microprocessors and Embedded Systems Timing Requirements (Cont.) Timing constraints are often imposed on tasks. Typical timing constraints include: • Release time: A task cannot be executed before its release time. • Deadline: A task is required to finish by its deadline. • Minimal distance: The distance between two tasks is required to be greater than a specified value. The distance is defined to be the difference of the start time of the other task completed later and the completion time of the task completed earlier. • Maximal distance: The distance between two tasks is required to be less than a specified value. Timing Requirements (Cont.) • Period: A periodic task must be executed periodically. For example, if the period of a task is 5, it must be executed and completed every 5 time units. T1 0 2 T1 5 … T1 7 10 12 Figure 1: A periodic task T1 has a period of 5 and a worst-case execution time of 2. COMP3221/9221: Microprocessors and Embedded Systems Timing Requirements (Cont.) • Hard Timing constraints: Miss of any hard timing constraints may cause catastrophes e.g., control systems for aircraft/space probes/nuclear reactors. • Soft timing constraints: The violation of soft timing constraints only causes performance degradation. e.g., game box. • Embedded systems may contain both hard and soft timing constraints. • Task scheduler is responsible for satisfying all timing constraints. COMP3221/9221: Microprocessors and Embedded Systems Timing Requirements (Cont.) Consider an embedded system with a single processor and a set of 3 tasks T1, T2 and T3 with the following attributes: • T1 is a periodic task with a period of 4 and a worst-case execution time of 2; • T2 is a periodic task with a period of 5 and a worst-case execution time of 2; • T3 is a non-periodic task with a release time of 0, a deadline of 20 and a worst-case execution of 2. T1 0 T2 2 T1 4 T2 6 T1 8 T2 10 12 T1 T3 14 T1 16 T2 18 20 Dependability Requirements • Reliability Number of failures per hour or Mean-Time-To-Failure (MTTF) in hours. • Safety critical failure modes certification • Maintainability Mean-Time-To-Repair (MTTR). • Availability A = MTTF / (MTTF + MTTR) • Security Major Components in Embedded Systems • Microprocessors/microcontrollers, co-processors, DSP cores, ASICs, ASIPs, FPGAs (Field Programmable Gate Arrays), memory (RAM, ROM, FLASH, EEPROM) and buses. • Data acquisition and processing • Communication • System logic and control • Interfaces • Auxiliary units display storage monitoring and protection test and diagnosis. Example Embedded System (I): DVD — From LSI Logic web Page Courtesy: R. Gupta, UC Irvine Example Embedded System (II): Dryer — From Siemens web page Courtesy: R. Gupta, UC Irvine Reading Material 1. 2. Chapter 1 in Embedded Systems Design: An Introduction to Processes, Tools, and Techniques by Arnold S. Berger. S. Edwards, L. Lavagno, E. Lee, A. Sangiovanni-Vincentelli Design of Embedded Systems: Formal Methods, Validation and Synthsis. Proceedings of the IEEE, vol. 85 (no.3) , March 1997, p366290. COMP3221/9221: Microprocessors and Embedded Systems