José Costa (DEI/IST) What is an Embedded System? 2012-02-14 2 / 40 What is an Embedded System? José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto Superior Técnico 2012-02-14 José Costa (DEI/IST) What is an Embedded System? 2012-02-14 1 / 40 Outline What is an embedded system? Examples of embedded systems Characteristics of embedded systems Challenges in embedded systems design
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 4 / 40 What is an Embedded System? Common denitions Embedded systems are computers inside equipments or products Embedded systems are applied computers general purpose computers such as PCs or servers José Costa (DEI/IST) What is an Embedded System? 2012-02-14 3 / 40 What is an Embedded System? Common descriptions Embedded systems are more limited in hardware and/or software than personal computers Embedded systems are designed to perform dedicated functions Embedded systems are computer systems with higher quality and reliability requirements than other types of computer systems These descriptions do not entirely reect what is an embedded system
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 6 / 40 Examples of Embedded Systems Automotive ignition systems, engine control, antilock braking system,... Consumer Electronics TVs, Set Top Boxes, appliances, toys, cell phones,... Industrial Control Medical robotics, control systems,... infusion pumps, dialysis machines, prosthetic devices, cardiac monitors,... Networking routers, hubs, gateways,... Oce Automation fax machines, photocopiers, printers, monitors,... José Costa (DEI/IST) What is an Embedded System? 2012-02-14 5 / 40 Some numbers In 2011 By 2015 more than 1.8 billion embedded systems will be shipped $1 trillion in revenue for component makers, software companies and integrators. more than 4 billion units will be shipped $2 trillion in revenue embedded systems will require 14.5 billion microprocessor cores source: International Data Group (IDC)
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 8 / 40 What is an Embedded System? Aside from being types of computer systems, there is no single denition or characterization of embedded systems reecting them all. Noergaard, 2005 Remaining questions What is an embedded system? Why can't we just design them like desktop systems? José Costa (DEI/IST) What is an Embedded System? 2012-02-14 7 / 40 Early history Late 1940's: MIT Whirlwind computer was designed for real-time operations originally designed to control an aircraft simulator First microprocessor was Intel 4004 in early 1970's HP-35 calculator used several chips to implement a microprocessor in 1972 source: wikipedia
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 10 / 40 Early history, cont'd. Automobiles used microprocessor-based engine controllers starting in 1970's. control fuel/air mixture, engine timing, etc. multiple modes of operation: warm-up, cruise, hill climbing, etc. provides lower emissions, better fuel eciency José Costa (DEI/IST) What is an Embedded System? 2012-02-14 9 / 40 Microprocessor varieties Microcontroller: includes I/O devices, on-board memory Digital signal processor (DSP): microprocessor optimized for digital signal processing Typical embedded word sizes: 8-bit, 16-bit, 32-bit.
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 12 / 40 Application examples Simple control: front panel of microwave oven, etc. Canon EOS 3 has three microprocessors 32-bit RISC CPU runs autofocus and eye control systems Digital TV programmable CPUs + hardwired logic for video/audio decode, menus, etc. José Costa (DEI/IST) What is an Embedded System? 2012-02-14 11 / 40 Automotive embedded systems Today's high-end automobile may have 100 microprocessors: 4-bit microcontroller checks seat belt microcontrollers run dashboard devices 16/32-bit microprocessor controls engine source: nalinda.com source: num@tec automotive
Example - BMW 850i brake and stability control system Anti-lock brake system (ABS): pumps brakes to reduce skidding Automatic stability control (ASC+T): controls engine to improve stability ABS and ASC+T communicate ABS was introduced rst - ASC-T needed to interface to existing ABS module José Costa (DEI/IST) What is an Embedded System? 2012-02-14 13 / 40 Characteristics of embedded systems Sophisticated functionality Real-time operation Low power Low manufacturing cost Designed to tight deadlines by small teams José Costa (DEI/IST) What is an Embedded System? 2012-02-14 14 / 40
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 16 / 40 Characteristics of embedded systems Sophisticated functionality Real-time operation Low power Low manufacturing cost Designed to tight deadlines by small teams José Costa (DEI/IST) What is an Embedded System? 2012-02-14 15 / 40 Functional complexity Often have to run sophisticated algorithms or multiple algorithms cell phone, laser printer Often provide sophisticated user interfaces
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 18 / 40 Characteristics of embedded systems Sophisticated functionality Real-time operation Low power Low manufacturing cost Designed to tight deadlines by small teams José Costa (DEI/IST) What is an Embedded System? 2012-02-14 17 / 40 Real-time operation Must nish operations by deadlines hard real time: missing deadline causes failure soft real time: missing deadline results in degraded performance Many systems are multi-rate must handle operations at widely varying rates e.g. handling video and audio streams
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 20 / 40 Characteristics of embedded systems Sophisticated functionality Real-time operation Low power Low manufacturing cost Designed to tight deadlines by small teams José Costa (DEI/IST) What is an Embedded System? 2012-02-14 19 / 40 Power Custom logic uses less power But CPUs have advantages modern microprocessors oer features to help control power consumption software design techniques can help reduce power consumption Heterogeneous systems some custom logic for well-dened functions CPUs+software for everything else
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 22 / 40 Characteristics of embedded systems Sophisticated functionality Real-time operation Low power Low manufacturing cost Designed to tight deadlines by small teams José Costa (DEI/IST) What is an Embedded System? 2012-02-14 21 / 40 Non-functional requirements Many embedded systems are mass-market items that must have low manufacturing costs limited memory, microprocessor power, etc. Power consumption is critical in battery-powered devices excessive power consumption increases system cost even in wall-powered devices
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 24 / 40 Characteristics of embedded systems Sophisticated functionality Real-time operation Low power Low manufacturing cost Designed to tight deadlines by small teams José Costa (DEI/IST) What is an Embedded System? 2012-02-14 23 / 40 Design teams Often designed by a small team of designers Often must meet tight deadlines 6 month market window is common can't miss back-to-school window for calculator
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 26 / 40 Platforms Embedded computing platform hardware architecture + associated software Many platforms are multiprocessors Examples single-chip multiprocessors for cell phone baseband automotive network + processors José Costa (DEI/IST) What is an Embedded System? 2012-02-14 25 / 40 Why use microprocessors? There are alternatives But... eld-programmable gate arrays (FPGAs), custom logic, etc. Microprocessors are often very ecient: can use same logic to perform many dierent functions Microprocessors simplify the design of families of products Microprocessors allow the program design to be separated from design of the hardware
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 28 / 40 The performance paradox Microprocessors use much more logic to implement a function than does custom logic But microprocessors are often at least as fast: heavily pipelined large design teams aggressive VLSI technology José Costa (DEI/IST) What is an Embedded System? 2012-02-14 27 / 40 The physics of software Computing is a physical act software doesn't do anything without hardware Executing software consumes energy, requires time To understand the dynamics of software (time, energy), we need to characterize the platform on which the software runs And thus being able to characterize the performance
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 30 / 40 What does performance mean? In general-purpose computing, performance often means average-case, may not be well-dened In real-time systems, performance means meeting deadlines missing the deadline by even a little is bad nishing ahead of the deadline may not help José Costa (DEI/IST) What is an Embedded System? 2012-02-14 29 / 40 Characterizing performance We need to analyze the system at several levels of abstraction to understand performance Levels of abstraction CPU Platform Program Task Multiprocessor
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 32 / 40 Challenges in Embedded Systems Design How much hardware do we need? How do we meet deadlines? How do we minimize power consumption? How do we design for upgradeability? Does it really work? José Costa (DEI/IST) What is an Embedded System? 2012-02-14 31 / 40 How much hardware do we need? We can select type of microprocessor amount of memory peripheral devices, and more To little hardware and the system fails to meet deadlines To much hardware and it becomes expensive
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 34 / 40 How do we meet deadlines? Speed up the hardware? system more expensive Limit is in memory? Scheduling of tasks? José Costa (DEI/IST) What is an Embedded System? 2012-02-14 33 / 40 How do we minimize power consumption? Slow down the system? Potencial problem with deadlines Much smarter is to slow down noncritical parts
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 36 / 40 How do we design for upgradeability? Hardware platform may be used for several generations But we want also to be able to add features How can we design a machine that will provide the required performance for software not yet written? José Costa (DEI/IST) What is an Embedded System? 2012-02-14 35 / 40 Does it really work? Reliability is especially important in some applications e.g. safety critical systems Try to nd the bugs as soon as possible too expensive to do it otherwise Another set of challenges comes from the characteristics of the components and system
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 38 / 40 Diculties in Design and Development Complex testing run a real machine to have proper data system must be tested in the embedded machine Limited observability and controllability sometimes no keyboard or screen! in real-time systems it's not easy to stop the system to see what is going on Restricted development environments much more limited than in PCs usually compile code in PC and download it to embedded system José Costa (DEI/IST) What is an Embedded System? 2012-02-14 37 / 40 Outline What is an embedded system? Examples of embedded systems Characteristics of embedded systems Challenges in embedded systems design
José Costa (DEI/IST) What is an Embedded System? 2012-02-14 40 / 40 References Computers as Components: Principles of Embedded Computing System Design, Wayne Wolf. Morgan Kaufman, 2001. Ch. 1.1 and 1.2. José Costa (DEI/IST) What is an Embedded System? 2012-02-14 39 / 40 Next class Design of embedded systems