Presentation is loading. Please wait.

Presentation is loading. Please wait.

01EMBSYST2007 Ed F.Deprettere1 Embedded Systems and Software Ed F. Deprettere, Todor Stefanov, Hristo Nikolov {edd, stefanov, Leiden.

Similar presentations


Presentation on theme: "01EMBSYST2007 Ed F.Deprettere1 Embedded Systems and Software Ed F. Deprettere, Todor Stefanov, Hristo Nikolov {edd, stefanov, Leiden."— Presentation transcript:

1 01EMBSYST2007 Ed F.Deprettere1 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/

2 01EMBSYST2007 Ed F.Deprettere2 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

3 01EMBSYST2007 Ed F.Deprettere3 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)

4 01EMBSYST2007 Ed F.Deprettere4 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)

5 01EMBSYST2007 Ed F.Deprettere5 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.

6 01EMBSYST2007 Ed F.Deprettere6 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 Security Availability Reliability Safety Integrity Maintainability Confidentiality

7 01EMBSYST2007 Ed F.Deprettere7 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 fault failure error

8 01EMBSYST2007 Ed F.Deprettere8 Embedded Systems An embedded system is a special-purpose information processing system that is closely integrated into its environment. Is Embedded Systems and Software interesting? Here are the questions, opinions and answers: 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.

9 01EMBSYST2007 Ed F.Deprettere9 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 …

10 01EMBSYST2007 Ed F.Deprettere10 Opinion it is NOT interesting 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.

11 01EMBSYST2007 Ed F.Deprettere11 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.

12 01EMBSYST2007 Ed F.Deprettere12 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

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

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

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

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

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

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

19 01EMBSYST2007 Ed F.Deprettere19 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) PLA registers inputsoutputs current statenext state

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

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

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

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

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

25 01EMBSYST2007 Ed F.Deprettere25 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.

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

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

28 01EMBSYST2007 Ed F.Deprettere28 μ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

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

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

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

32 01EMBSYST2007 Ed F.Deprettere32 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).

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

34 01EMBSYST2007 Ed F.Deprettere34 Application domains Applications as shown are from a particular application domain called 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 slots that operate in parallel. The VLIW architecture relies on a compiler as do all general purpose processors.

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

36 01EMBSYST2007 Ed F.Deprettere36 (Embedded) System (cont’d) In this course we envision an (embedded) system as the triple 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).

37 01EMBSYST2007 Ed F.Deprettere37 Design Space Exploration ApplicationArchitecture Mapping Analysis (Semi-) Automated Design Space Exploration

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

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

40 01EMBSYST2007 Ed F.Deprettere40 Design Space Exploration 194195196197198199200201202 8.6 8.8 9 9.2 9.4 9.6 9.8 10 x 10 area cycles Vary # functional units (issue slots) Vary allocation of functions Cost model of functional units Pareto points

41 01EMBSYST2007 Ed F.Deprettere41 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

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

43 01EMBSYST2007 Ed F.Deprettere43 Programming/translating Application Programmable Interconnect (NoC) IPcore RPU Memory CPU MicroProcessor Memory... Programming P1P2 S1 Source P3P4 Sink Parallel (Compaan PN) Application Specification EASY to map DIFFICULT to specify 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 for i = 1:1:K, [Out(i)] = Sink ( y( I ) ); end Sequential Application Specification EASY to specify DIFFICULT to map Compaan Laura

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

45 01EMBSYST2007 Ed F.Deprettere45 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

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


Download ppt "01EMBSYST2007 Ed F.Deprettere1 Embedded Systems and Software Ed F. Deprettere, Todor Stefanov, Hristo Nikolov {edd, stefanov, Leiden."

Similar presentations


Ads by Google