Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Systems MPSoC Architectures Challenges and Architectures Alberto Bosio

Similar presentations


Presentation on theme: "Embedded Systems MPSoC Architectures Challenges and Architectures Alberto Bosio"— Presentation transcript:

1 Embedded Systems MPSoC Architectures Challenges and Architectures Alberto Bosio bosio@lirmm.fr

2 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 3 A Shorter Definition ● Embedded Systems: Information processing systems that are: ● application domain specific (not general purpose) ● tightly coupled to their environment

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

5 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 6 Examples ● Examples: ● Audio (MP3,...); Video (digital camera,...) ; Home electronics (washing machine, microwave cooker/oven,...)

7 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 8 Examples ● Information systems ● Wireless communication ● Mobile phone ● Wireless LAN ● ambulance, rescue staff ● Geo-positioning systems ● Navigation

9 9 Examples ● Robotics

10 10 Examples

11 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 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 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 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 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 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 17 Trends: Towards Multi-Processor Systems ● Why multi-processor? ● How can we increase CPU performances? – Increase clock frequency (thanks to the integration)

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

19 19 Actual Facts

20 20 Multi-core architectures

21 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 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 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 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 25 Flexibility for Multicores: MPSoCs

26 26 Alternative approaches

27 27 Solutions spectrum

28 28 Platform vs full-custom

29 29 Platform-based design (reduces cost)

30 30 SoC Design process

31 31 Design challenges for MPSoCs

32 32 Design challenges for MPSoCs

33 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 34 Conclusions ● Embedded Systems are composed of several microprocessor ● To increase performances ● To increase reliability ● How to program such devices? ● How to measure reliability?


Download ppt "Embedded Systems MPSoC Architectures Challenges and Architectures Alberto Bosio"

Similar presentations


Ads by Google