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

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Developed by Reneta Barneva, SUNY Fredonia
Philips Research ICS 252 class, February 3, The Trimedia CPU64 VLIW Media Processor Kees Vissers Philips Research Visiting Industrial Fellow
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.
Spring 08, Jan 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Memory Management 2010.
Chapter 13 Embedded Systems
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
CprE 458/558: Real-Time Systems
ECE 526 – Network Processing Systems Design
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Dalya Gaber. Definition:- Embedded system is any device that includes a computer but is not itself a general purpose computer. It has hardware & software.
Computer Organization and Assembly language
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
Unit VI. Keil µVision3/4 IDE for 8051 Tool for embedded firmware development Steps for using keil.
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Computer System Architectures Computer System Software
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
By Omar Y. Tahboub Multimedia and Networking Lab MediaNet Computer Science Department Kent State University.
1 Recap (from Previous Lecture). 2 Computer Architecture Computer Architecture involves 3 inter- related components – Instruction set architecture (ISA):
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
EEL Software development for real-time engineering systems.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Leiden Embedded Research Center Prof. Dr. Ed F. Deprettere, Dr. Bart Kienhuis, Dr. Todor Stefanov Leiden Embedded Research Center (LERC) Leiden Institute.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3 General-Purpose Processors: Software.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Computer Architecture 2 nd year (computer and Information Sc.)
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Computer Architecture Furkan Rabee
System-on-Chip Design
ECE354 Embedded Systems Introduction C Andras Moritz.
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
Introduction to Micro Controllers & Embedded System Design
Chapter 1 Introduction.
Embedded Processors.
Presentation transcript:

01EMBSYST2007 Ed F.Deprettere1 Embedded Systems and Software Ed F. Deprettere, Todor Stefanov, Hristo Nikolov {edd, stefanov, Leiden Embedded Research Center Spring 2007; Friday 1:30 p.m. – 4:00 p.m.

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

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)

01EMBSYST2007 Ed F.Deprettere4 The books 1. Computers as Component, Principles of Embedded Computer Systems Design. Wayne Wolf. (Morgan Kaufman Publishers) 2. Embedded System Design. Peter Marwedel. (Kluwer) 3. Embedded System Design, A Unified Hardware/Software Introduction. Frank Vahid/Tony Givargis (Wiley) 4. Fundamentals of Embedded Software. Daniel W. Lewis (Prentice Hall) 5. Embedded Multiprocessors: Scheduling and Synchronization. Sundararjan Sriram and Shuvra S. Bhattacharyya (Marcel Dekker)

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.

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

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

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.

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 …

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.

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.

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

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 …)

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 ?

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

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,..)

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

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

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

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

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

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

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

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

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.

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

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)

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

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

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)

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

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).

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

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.

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

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).

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

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

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

01EMBSYST2007 Ed F.Deprettere40 Design Space Exploration x 10 area cycles Vary # functional units (issue slots) Vary allocation of functions Cost model of functional units Pareto points

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 Sensor networks

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

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

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

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

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.