Embedded Systems MPSoC Architectures Challenges and Architectures Alberto Bosio

Slides:



Advertisements
Similar presentations
Embedded System Lab. What is an embedded systems? An embedded system is a computer system designed for specific control functions within a larger system,
Advertisements

MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Multi/Many Core Systems By Ahmed Shah Mashiyat.
Platform-based Design 5KK70 TU/e 2009 Henk Corporaal Bart Mesman.
11/14/05ELEC Fall Multi-processor SoCs Yijing Chen.
Chapter 13 Embedded Systems
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Single-Chip Multi-Processors (CMP) PRADEEP DANDAMUDI 1 ELEC , Fall 08.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Computer performance.
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
Computer System Architectures Computer System Software
Practical PC, 7th Edition Chapter 17: Looking Under the Hood
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Multi-Core Architectures
Feb. 19, 2008 Multicore Processor Technology and Managing Contention for Shared Resource Cong Zhao Yixing Li.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
SJSU SPRING 2011 PARALLEL COMPUTING Parallel Computing CS 147: Computer Architecture Instructor: Professor Sin-Min Lee Spring 2011 By: Alice Cotti.
CPU Inside Maria Gabriela Yobal de Anda L#32 9B. CPU Called also the processor Performs the transformation of input into output Executes the instructions.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Shashwat Shriparv InfinitySoft.
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Hardware Architecture
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
COMPUTER SCIENCE AND THE FOUNDATION OF KNOWLEDGE NURSING INFORMATICS CHAPTER 5 1.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Hardware refers to the tangible parts of computer systems and typically includes support for processing, storage, input, and output. Hardware Processing.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Applied Operating System Concepts
Chapter 1: Introduction
Objectives Overview Explain why computer literacy is vital to success in today’s world Define the term, computer, and describe the relationship between.
Andrea Acquaviva, Luca Benini, Bruno Riccò
ECE354 Embedded Systems Introduction C Andras Moritz.
Network Operating Systems (NOS)
Chapter 1: Introduction
Computer Hardware-Meeting the machine
Architecture & Organization 1
Introduction to Computing
Chapter 1: Introduction
EmbedDed Systems – MECT190
Chapter 1: Introduction
Why microcontrollers in embedded systems?
Chapter 1: Introduction
EmbedDed Systems – MECT190
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Multicultural Social Community Development Institute ( MSCDI)
Morgan Kaufmann Publishers
Architecture & Organization 1
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
Operating System Concepts
Chapter 1: Introduction
Introduction to Embedded Systems
Chapter 1 Introduction.
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
2.C Memory GCSE Computing Langley Park School for Boys.
Subject Name: Operating System Concepts Subject Number:
Computer Evolution and Performance
Chapter 1: Introduction
Chapter 1: Introduction
Purpose, functions and types of hardware including input, output, storage, processor and peripheral devices; definitions and examples; interaction between.
Chapter 4 Multiprocessors
WJEC GCSE Computer Science
Operating System Concepts
Course Code 114 Introduction to Computer Science
Presentation transcript:

Embedded Systems MPSoC Architectures Challenges and Architectures Alberto Bosio

2 What is an Embedded System? ● Definition from wikipedia: ● An embedded system is a computer system designed for specific control functions within a larger system, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today.

3 A Shorter Definition ● Embedded Systems: Information processing systems that are: ● application domain specific (not general purpose) ● tightly coupled to their environment

4 Definition ● What they do: ● Sense environment (input signals) ● Process input information ● Respond in real- time (output signals)

5 Definitions ● In Embedded Systems time matters: ● NOT in the sense that information processing should be always very fast BUT in the sense that information processing should be: ● determinate and time predictable

6 Examples ● Examples: ● Audio (MP3,...); Video (digital camera,...) ; Home electronics (washing machine, microwave cooker/oven,...)

7 Examples ● Functions by embedded processing: ● ABS: Anti-lock braking systems ● ESP: Electronic stability control ● Efficient automatic gearboxes ● Theft prevention with smart keys ● Blind-angle alert systems ● Airbags ●... etc... ● Multiple Networks ● Body, engine, ● media, safety ● Multiple Processors ● Up to 100 ● Networked together

8 Examples ● Information systems ● Wireless communication ● Mobile phone ● Wireless LAN ● ambulance, rescue staff ● Geo-positioning systems ● Navigation

9 Examples ● Robotics

10 Examples

11 Characteristics ● Must be dependable ● Reliability: R(t) = probability of a system working correctly at time t provided that it was working at t = 0 ● Maintainability: M(d) = probability of a system working correctly d time units after error occurred ● Availability: A(t) = probability of system working at time t ● Safety: no harm to be caused by failing system ● Security: confidential and authentic communication

12 Characteristics ● Must be dependable ● Reliability: R(t) = probability of a system working correctly at time t provided that it was working at t = 0 ● Maintainability: M(d) = probability of a system working correctly d time units after error occurred ● Availability: A(t) = probability of system working at time t ● Safety: no harm to be caused by failing system ● Security: confidential and authentic communication -Even perfectly designed systems can fail if the assumptions about the workload and possible errors turn out to be wrong. -Making the system dependable must not be an after-thought, it must be considered from the very beginning.

13 Characteristics ● Energy efficient ● Many ES are mobile systems powered by batteries ● Customers expect long run-times from batteries but ● Battery technology improves at a very slow rate ● Code-size efficient (especially for systems on a chip) ● Typically there are no hard discs or huge memories to store code ● Run-time efficient ● Meet time constraints with least amount of HW resources and energy – only necessary HW should be present working at as low as possible Vdd and fclk ● Weight efficient (especially for portable ES) ● Cost efficient (especially for high-volume ES)

14 Comparison ● Embedded Systems ● Execute few applications that are known at design- time ● Non programmable by the end user ● Fixed run-time requirements (additional computing power not useful) ● Important criteria ● Cost ● Power consumption ● Predictability. ● General Purpose Systems ● Execute broad class of applications ● Programmable by the end user ● Faster is better ● Important criteria ● Cost ● Average speed

15 Trends ● In the past Embedded Systems were called Embedded (micro-)Controllers ● They appeared typically in control dominated applications: ● Traffic lights control ● Elevators control ● Washing machines and dishwashers ●... ● They were implemented using a single μProcessor or dedicated HW (sequential circuit)

16 Trends: Towards Multi-Processor Systems ● A single uProcessor is sufficient for some consumer products ● Application performance demands relatively low ● For other systems – such as cars and aircrafts – a network of processors is needed ● Due to performance requirements ● Due to safety requirements (a single failed component should not cause total system failure) ● For some systems – such as mobile devices – a network of heterogeneous processors is needed ● Due to run-time efficiency requirements ● Due to power efficiency

17 Trends: Towards Multi-Processor Systems ● Why multi-processor? ● How can we increase CPU performances? – Increase clock frequency (thanks to the integration)

18 Trends: Towards Multi-Processor Systems ● The other solutions to increase the computational power are: ● Pipeline ● Parallelism

19 Actual Facts

20 Multi-core architectures

21 Multi-core architectures ● Already popular in personal computers (primarily from Intel and AMD) and game consoles ● e.g., the eight-core Cell processor in the PlayStation3 and the three-core Xenon processor in the Xbox 360 ● Now well-established in embedded processors – such as network processors and digital signal processors ● And in Graphics Processing Units(GPUs)

22 Multi-core architectures ● Fundamental advantage: – Different CPUs are very close to each other – Signals do NOT travel off chip – faster propagation – very high operating frequency and interconnection bandwidth – faster management of cache coherence Save area on the Printed Circuit Board (PCB) compared to multi-chip symmetric multiprocessors Also,save power: A dual-core consumes less power than two uniprocessors Cores share some circuitry, such as Level-2caches Especially advantageous for CPU-intensive processes – like antivirus scans and media processing

23 Multi-core architectures ● CPU manufacturers moving to multi-core designs ● Intel offers two, four or eight core chips with more to come – Sun Microsystems has chips with up to 64 cores – AMD has its quad-core chip (and others), etc. The future belongs to multi-core systems – especially in the server marketplace. But...parallelism is difficult to exploit! – writing parallel programs is much harder – parallel architectures, compilers, and programmers have been researched for many decades

24 Multi-core architectures: limitations ● Memory bandwidth ● – all cores must share access to the same memory and therefore have to take turns to read from or write it I/O speed – if a disk can read only 40MB/sec (a common figure even for a fast laptop hard drive), then a program that needs to read a 400MB file will take a minimum of 10 seconds to open it, even if it has no computation to do Software and scalability – software is frequently not written to take advantage of multiple cores efficiently – technically challenging to write bug-free, efficient threaded code – highly scalable programs are difficult to build

25 Flexibility for Multicores: MPSoCs

26 Alternative approaches

27 Solutions spectrum

28 Platform vs full-custom

29 Platform-based design (reduces cost)

30 SoC Design process

31 Design challenges for MPSoCs

32 Design challenges for MPSoCs

33 Design challenges for MPSoCs ● Memory system optimizations – Cache : everything ( placement, replacement, allocation and WB) is managed by hardware. – vs Scratchpad approach: everything is managed by software: simpler hardware – Servers, general purpose systems use caches. – Important for ensuring real time property. – Complexity increases with applications. – Worst case time is more tightly bound.

34 Conclusions ● Embedded Systems are composed of several microprocessor ● To increase performances ● To increase reliability ● How to program such devices? ● How to measure reliability?