1 / 46

Embedded Systems and Software

Embedded Systems and Software. Ed F. Deprettere, Todor Stefanov, Hristo Nikolov {edd, stefanov, nikolov}@liacs.nl Leiden Embedded Research Center Spring 2007; Friday 1:30 p.m. – 4:00 p.m. http://www.liacs.nl/~cserc/EMBSYST/EMBSYST2007/. Introduction to course. systems and embedded systems

Download Presentation

Embedded Systems and Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Embedded Systems and Software Ed F. Deprettere, Todor Stefanov, Hristo Nikolov {edd, stefanov, nikolov}@liacs.nl Leiden Embedded Research Center Spring 2007; Friday 1:30 p.m. – 4:00 p.m. http://www.liacs.nl/~cserc/EMBSYST/EMBSYST2007/ 01EMBSYST2007 Ed F.Deprettere

  2. Introduction to course • systems and embedded systems • history of Embedded Systems and Software • examples • complexity issue • trends and challenges • design space exploration • programming and translating • conclusions 01EMBSYST2007 Ed F.Deprettere

  3. Examination No formal written exam Final grade (10) consists of average of three sub-grades 1. active course participation (10) 2. power-point presentation (10) 3. hands-on (10) 01EMBSYST2007 Ed F.Deprettere

  4. The books 1. Computers as Component, Principles of Embedded Computer Systems Design. Wayne Wolf . (Morgan Kaufman Publishers) http://www.ee.edu/~wolf/embedded-book/about.html 2. Embedded System Design. Peter Marwedel. (Kluwer) http://ls12-www.cs.uni-dortmund.de/~marwedel/kluwer-es-book 3. Embedded System Design, A Unified Hardware/Software Introduction. Frank Vahid/Tony Givargis (Wiley) http://www.ics.uci.edu/~sumitg/CadPages.html 4. Fundamentals of Embedded Software. Daniel W. Lewis (Prentice Hall) http://www.prenhall.com/divisions/esm/app/lewis/materials.html 5. Embedded Multiprocessors: Scheduling and Synchronization. Sundararjan Sriram and Shuvra S. Bhattacharyya (Marcel Dekker) 01EMBSYST2007 Ed F.Deprettere

  5. Systems A system is a composition of functionalities that jointly realize an input-output behavior in a dependable and secure manner. Dependable system: can deliver services that are justifiable trusted (have accepted dependences) • Secure: composite of attributes of • confidentiality (degree of confidence) • integrity (absence of improper system alteration) • availability (readiness for correct service) Secure: behaves as intended. 01EMBSYST2007 Ed F.Deprettere

  6. Dependability - Security Dependability Readiness Continuity Absence of Absence of Ability to for Correct of Correct Catastrophic Improper Undergo Service Service Consequences System Modification Alteration and Repair Availability Reliability Safety Integrity Maintainability Confidentiality Security 01EMBSYST2007 Ed F.Deprettere

  7. Fault, Error, Failure Fault : defective value in the state of component or system Error : indication of occurrence of unspecified internal state Failure: deviation of behavior from what is specified error fault failure 01EMBSYST2007 Ed F.Deprettere

  8. Embedded Systems • An embedded system is a • special-purpose information processing system • that is closely integrated into its environment. Almost all embedded systems are reactive and/or real-time systems (hardware and software). • Reactive: system maintains a permanent interaction with its environment • Real-time: reactive systems that are subject to externally defined timing • constraints. Is Embedded Systems and Software interesting? Here are the questions, opinions and answers: 01EMBSYST2007 Ed F.Deprettere

  9. Questions What is specific to research in embedded systems and software? or is it just the collection of many subjects … Where are the fundamental questions? or is it pure systems engineering with lack of methodology … 01EMBSYST2007 Ed F.Deprettere

  10. Opinion • it isNOTinteresting because it is not a well defined research area: • it is a mixture of everything, • it neglects abstraction, • it is without basic scientific questions, • it is case-by-case ‘engineering’ only, • physicality of embedded software is messy, • it is just software engineering for small computers. 01EMBSYST2007 Ed F.Deprettere

  11. Opinion • it is interesting because of • complex hardware-software interfaces, • heterogeneity in specifications and implementations, • complex resource dependencies and interferences, • system view (algorithm, architecture, environment, software), • cross-layer design, • interaction with physical environment, • formal verification and validation. 01EMBSYST2007 Ed F.Deprettere

  12. Answers What is specific to research in embedded systems and software? • The impact of the environment • The performance analysis in terms of delays and buffer sizes Where are the fundamental questions? • Compositionality (modularity) composability (layering) scalability, dependability and security • Design space exploration 01EMBSYST2007 Ed F.Deprettere

  13. Answers (2) • Move successful concepts (like abstraction and modularity) to embedded systems • Do meaningful experiments that are carefully planned (learn from physics …) 01EMBSYST2007 Ed F.Deprettere

  14. System-Level Performance Analysis mP Input Stream Input Stream I/O Memory Requirements? Timing Properties? Processor Speeds? Bus Utilization? Bottleneck ? 01EMBSYST2007 Ed F.Deprettere

  15. Difficulties ab acc b Input Stream Task Communication Task Scheduling Complex Input: - Timing (jitter, bursts, ...) - Different Event Types 01EMBSYST2007 Ed F.Deprettere

  16. Processor Task ab acc b Buffer Difficulties Input Stream Task Communication Variable Resource Availability Task Scheduling Variable Execution Demand - Input (different event types) - Internal State (Program, Cache, ..) Complex Input: - Timing (jitter, bursts, ...) - Different Event Types 01EMBSYST2007 Ed F.Deprettere

  17. Embedded Systems weight timeliness cost reliability resource-awareness predictability multi-objective energy adaptability power reactivity liveness 01EMBSYST2007 Ed F.Deprettere

  18. Abstraction Processor Task Input Stream ... E E E E E E ... Concrete Instance Abstract Representation Functional Unit Model Event Stream Model Resource Model System Module Composition & Analysis 01EMBSYST2007 Ed F.Deprettere

  19. inputs outputs PLA current state next state registers History In past, embedded systems were called (embedded) controllers (micro-controllers). They appear typically in control dominated applications. Examples: traffic lights, elevators, washers, dryers, vendor machines ATM machines These are relatively simple finite state machines implemented using either micro-controllers or sequential circuits (programmable logic arrays – PLA) 01EMBSYST2007 Ed F.Deprettere

  20. Some small examples Product: Hunter Programmable Digital Thermostat. Microprocessor: 4-bit 01EMBSYST2007 Ed F.Deprettere

  21. Product:Vendo V-MAX 720 vending machine. Microprocessor: 8-bit Motorola 68HC11. 01EMBSYST2007 Ed F.Deprettere

  22. Product: Miele dishwashers.Microprocessor: 8-bit Motorola 68HC05. 01EMBSYST2007 Ed F.Deprettere

  23. Product: NASA's Mars Sojourner Rover.Microprocessor: 8-bit Intel 80C85. 01EMBSYST2007 Ed F.Deprettere

  24. Product: Sony Aibo ERS-110 Robotic Dog.Microprocessor: 64-bit MIPS RISC. 01EMBSYST2007 Ed F.Deprettere

  25. History (cont’d) With growing complexity of applications some processing of signals was added to pure finite state machine behavior : FSMs became EFSMs (extended finite state machines). With still more growing complexity concurrency and parallelism become important. E.g., communicating (E)FSMs. Here is what is happening. 01EMBSYST2007 Ed F.Deprettere

  26. Embedding systems – hence embedded systems – may be (extremely) complex. Systems can be (extremely) complex: Expected • wafer stepper • imaging (medical, radar, telescope) • digital copiers/printers On-chip transistor density • wafer steppers • imaging (medical, biology, astronomy) application complexity/performance Shared memory architecture Actual time Complexity Issue 01EMBSYST2007 Ed F.Deprettere

  27. Embedding systems – hence embedded systems – may be (extremely) complex. Expected • wafer stepper • imaging (medical, radar, telescope) • digital copiers/printers On-chip transistor density (Moore’s Law) application complexity/performance Shared memory architecture Actual time Complexity Issue (cont’d) Application complexity (Shannon Law) 01EMBSYST2007 Ed F.Deprettere

  28. μP will do for small systems For many consumer products, a single μProcessor will do. For other systems – such as a car – a network of μProcessors is needed. For even larger systems – heterogeneous multi-processor Embedded Systems are needed 01EMBSYST2007 Ed F.Deprettere

  29. Programmable core + SW TM MIPS Mem CP1 CP2 Dedicated coprocessor Heterogeneous Architectures Heterogeneous architectures consist of programmable and dedicated components 01EMBSYST2007 Ed F.Deprettere

  30. P FPGA Mem Mem Mem Mem ... Communication Structure P P PE PE PE PE ... P P Identical tiles (scalable) Trend in Multi-processor • current state of art: co-processor • next: multi-processor • then: heterogeneous multi-processor • later: networks on chips 01EMBSYST2007 Ed F.Deprettere

  31. Challenges How to design such complex architectures? Available design tools fall short to do the job How to program such complex architectures? Available programming paradigms are poor 01EMBSYST2007 Ed F.Deprettere

  32. Embedded Systems and Software The relative weight of software in the value of ES is constantly increasing. The extensive and increasing use of ESS and their integration in every day products marks a significant evolution in information processing, science, and technology. • Strategic shift from simply achieving feasibility to achieving optimality, • meaning: • targetting a given market segment at low cost and fast delivery time • seamless integration with physical environment while respecting real- • world constraints (deadlines, reliability, availability, robustness, power • consumption, and cost). Multidisciplinary (general computer science and engineering, real-time computing, system architecture, control and signal processing, security and privacy, networking, mathematics, electronics). 01EMBSYST2007 Ed F.Deprettere

  33. SDRAM Serial I/O video-in video-out PCI bridge I2C I/O timers audio-out I$ VLIW cpu audio-in D$ Example: Trimedia peripherals Off-chip memory Programmable core High-way bus 01EMBSYST2007 Ed F.Deprettere

  34. Application domains Applications as shown are from a particular application domaincalled streaming data applications Audio, image processing, video, graphics, etc The peripherals take care of the (input and output) data streams The programmable core does the processing of the data in the streams. The Trimedia shown is a first generation processor (later generations have more parallel processing capabilities; see later). The programmable core is a so-called very large instruction word architecture: parts of a long instruction are interpreted and executed by issue slotsthat operate in parallel. The VLIW architecture relies on a compiler as do all general purpose processors. 01EMBSYST2007 Ed F.Deprettere

  35. 32-bit peripheral bus 64-bit memory bus multi-port 128 words x 64 bits register file bypass network datacache16KB mmu mmu FU FU FU FU FU exceptions PC VLIW instruction decode and launch instruction cache 32 KB mmu TriMedia CPU64 Architecture Issue slots Very large instruction words 01EMBSYST2007 Ed F.Deprettere

  36. (Embedded) System (cont’d) In this course we envision an (embedded) system as the triple < application, architecture, mapping> and an (embedded) system model as the triple < application model, architecture model, mapping transformations> This is compliant with the separation of concerns principle (See later). 01EMBSYST2007 Ed F.Deprettere

  37. Application Architecture Mapping (Semi-) Automated Design Space Exploration Analysis Design Space Exploration 01EMBSYST2007 Ed F.Deprettere

  38. y2 y2 Pareto optimal = not dominated better dominated incomparable worse incomparable y1 y1 Maximize (y1, y2, …, yk) = (x1, x2, …, xn) 01EMBSYST2007 Ed F.Deprettere

  39. cost single objective total order single optimum multipleobjectives partial order multiple optima performance Single vs. Multiple Optimization 01EMBSYST2007 Ed F.Deprettere

  40. x 10 10 9.8 9.6 9.4 cycles 9.2 9 8.8 8.6 194 195 196 197 198 199 200 201 202 area Design Space Exploration Vary # functional units (issue slots) Vary allocation of functions Cost model of functional units Pareto points 01EMBSYST2007 Ed F.Deprettere

  41. Some other trends 1. Move from central processing to distributed processing 2. Plug and play standardization (HW and SW) 3. Smart devices/cards 4. Ubiquitous computing Distributed on-chip and off-chip What is common in PC world will be so in others (e.g., TV; - but: reliability is a major issue) There are many (see RFIDs Scientific American, Jan. 2004) See http://ubiq.com/hypertext/weiser/UbiHome.html Sensor networks 01EMBSYST2007 Ed F.Deprettere

  42. sensor networks (civil engineering, buildings, environmental monitoring, traffic, emergency situations) • smart products, wearable/ubiquitous computing 01EMBSYST2007 Ed F.Deprettere

  43. EASY to specify DIFFICULT to specify Sequential Application Specification Parallel (Compaan PN) Application Specification Programmable Interconnect (NoC) Memory for j = 1:1:N, [x(j)] = Source1( ); end for i = 1:1:K, [y(i)] = Source2( ); end for j = 1:1:N, for i = 1:1:K, [y(i), x(j)] = F( y(i), x(j) ); end end for i = 1:1:K, [Out(i)] = Sink( y( I ) ); end P1 P2 S1 Sink Source IPcore RPU CPU Memory Micro Processor P3 P4 ... EASY to map DIFFICULT to map Programming/translating Application Programming Compaan Laura 01EMBSYST2007 Ed F.Deprettere

  44. CPNtoPlatform Platform Independent Network of Virtual Processors Library of IP cores Mapping Platform dependent Network of Synthesizable Processors VHDL Verilog SystemC And down (an example) CPN 01EMBSYST2007 Ed F.Deprettere

  45. Conclusion Challenges in Embedded Systems and Software • New Applications • huge demands for computation, communication, and memory • multiple applications in resource-constrained system • Heterogeneous multi-processor HW/SW platforms • Programming of multi-processor platforms • automated code transformations • guaranteed real-time constraints • dynamism in applications, in SW, in HW (migration/configuration) • New paradigms • raising level of abstraction • re-use, interfaces, integration • platform based (software and hardware platforms) • dependability and security 01EMBSYST2007 Ed F.Deprettere

  46. Conclusion (cont’d) There is a need of modeling applications and architectures at abstract levels. And a need of transformations to mapapplications to parallel implementations In other words, a need of a theory of embedded systems. 01EMBSYST2007 Ed F.Deprettere

More Related