Vous êtes sur la page 1sur 84

Tarek FRIKHA

Assistant
Anne Universitaire 2013/2014
ISIMG,

Comment dfinir un systme embarqu ?

Un ordinateur qui ne ressemble pas un


ordinateur
Interaction avec lenvironnement extrieur
Gestion et manipulation de systmes complexes
aux besoins dfinis
SOC : System On Chip

Systme complet capable de raliser une ou plusieurs taches


En gnral SOC = processeurs + Mmoire + E/S

Mixte : CPU + composants lectroniques


Spcialis : contrairement aux calculateurs
gnralistes.
Optimis
Possde ses propres ressources (limites)
dnergie et de calcul.
Deux domaines majeurs dapplication:
Multimdia
Contrle et supervision.

Comportement temps rel:

Ractivit : des oprations de calcul doivent tre faites


en rponse un vnement extrieur (interruption
matrielle)
La validit dun rsultat (et sa pertinence) dpend du
moment o il est dlivr.
Dpasser une chance erreur de fonctionnement
Temps rel dur : plantage
Temps rel mou : dgradation non dramatique de la
performance du systme

Ncessit de systme dxploitation ou un noyau


Temps Rel

Miniaturisation processeurs

Dans tous les objets de la vie courante

Consoles de jeux vidos


Multimdia : Photos, Tlvision Digitales
Assistants personnels, Set-top-box
Informatique dans les transport : voiture
Outils de communications de linformation : GSM
Sant: implants, aide personnes handicapes,etc.
Domotique : maison intelligente .

Convergence de # sciences

Nouvelles Applications => Nouvelles


problmatiques
CA 17,8 B$ en 2004 :augmentation 30%.
March de lIE 3 fois infor. bureau (PCs, stations
de travail,.).
4 fois + de P/SE que de P pour machines
bureaux.
95% prod. P vers SE
En 2001: 200 M PC+Serveur; 8000M SE

50% des revenus des fabriquants de P viennent


des SE

Trois raisons cette augmentation


conomique/Politique : Rduire la consommation, le ptrole est en gnral
import.
cologique : Rduire au max la pollution
Sociale : Scuris les moyens de transports en gnral et la voiture en
particulier

Excution de qq. applications fixes la


conception
Les algo excuts sont trs complexes et demandent un
savoir faire: on fait autre chose que du xSORT
Exemple : SE dans un systme dinjection automobile

Contrle arrive carburant, Mlange Air, synchro moteur, etc

Le SE est optimis pour excuter lapplication

Not end user programmable

Deux systmes pour contrler la voiture en


cas de freinage brusque
Anti-lock brake system (ABS): Control des
freins pour viter le drapage
Intensit de freinage en fonction de la vitesse de
rotation des roues.

Automatic stability control (ASC+T): Contrle


de la puissance du moteur pour une meilleure
stabilit.
Les deux systmes ABS et ASC+T
communiquent (Embedded Networks)

sensor

sensor

brake

brake
ABS

hydraulic
pump

brake

brake

sensor

sensor

Basse consommation.

exemple : PDA , GSM, Etiquette lectro. (tag)

Compromis entre vitesse et consommation d nergie


Le SE le plus rapide nest pas obli. = recherch

Systme temps rel (Real Time RT):

La plupart des SE sont RT, Le systme doit ragir dans un


temps dtermin (deadline). RT = prdictibilit
Tous les SE # RT et vice-vers-a
Vitesse # RT. Un systme RT # haute performance
Certaines applications ont des plusieurs Deadline
exemple : Synchronisation dans les applications
Multimedia.
Synchroniser larrive image et son.

Prix bas : Approche modulaire, Bloc IP

Intelectual Property : protection juridique sur les


composants dans SE
Une socit nest pas oblig de tout concevoir
Rutilisation de ce qui existe Design reuse
Qq. exemple conception de microP.
Emotion Engine processeur Toshiba pour la
PS2, 13,5 Mtransistors en 0.25 microns, 200
ingnieur sur 4 ans = 800 hommes ans
IA64-ITANIUM : processeur VLIW intel,
25MTransistors, 0.1 microns, 4500 hommes ans

Visualisation sur une carte la position du


porteur et les routes (+qq. repres) autour.
Obtention de position par la lecture de
donnes depuis des satellites.

GPS
receiver

search
engine

database

renderer

display
Carte

user
interface

Masques technologiques

Fabrication

Puce

Encapsulation test

Rgle:
Euros / mm

Arrive
Kit de design

Dpart
Conception

Spcifications

Boitier

Fil de montage

Plot
Patte
Puce

2000
1990
1980
1970
1960
1950
1940
1930
1920

100 M de transistors par circuit intgr


Mmoire 1 M bits
Mmoire 1K bits
Premier microprocesseur
1er circuit intgr
Invention du transistor
Tubes vide (lampes)

1910
1900

Dcouverte de llectron 1897

Prmices du transistor:
Thermionic triode
Alexander Flaming
Lee de Forest

Premier transistor :
John Bardeen
William Shockley
Walter Brattain

1er circuit intgr:


John Kilby

Nombre de transistors *2 / an

Minimisation de la taille des plateformes:

Taille des mmoires augmentent :

Vitesse dhorloge:

Augmentation de la consommation dnergie:

35m, 25m, 0.18m, 0.12m, 0.09m


10M, 20M, 100M, 100T

100Mhz, 400Mhz, 1 Ghz, 10Ghz


10, 20, 50, 100W

*18000
Anne

1971

2001

Transistor

2300

42 000 000

Frquence (kHz)

108

2 000 000

Technologie (m)

10.00

0.13

*18000

/ 6000

Multimdia
Connectivit

Mobilit
Convergence

Enregistrement

Scurit

Industrie des systmes

Concepteur (designer)

Fondeur:
Fabricant semi-conducteurs

Mtiers

Ingnieur produit, conception, test, applications,


fabrication, qualit vente, marketing, planning

Spcifications

Architecture

Schmas

Fabrication

Maquettes

Vrification

Dessin
masques

Spcifications

Architecture

Schmas
Spice

Dessin
vrification

Fabrication

Vrification

Dessin
masques

Simulation
lectrique

Spcifications

Simulation
fonctionnelle

Niveau
comportemental

Niveau
logique
Test
Fabrication
Placement
routage
Vrifications
Simulation
post layout

Librairie
Niveau
physique

Editeur de
Schma
Simulation
logique
Niveau
lectrique

Spcifications

Co-design
Niveau systme
HW-SW
Niveau circuit
comportemental
Test

Fabrication

Synthse
architecturale

Faible consommation

Niveau
physique

Synthse
physique

Niveau RTL
Niveau
logique

Synthse
logique

Technologie

Portes

Pins

Frquence

Puissance

Rutilisation

90 nm

> 100M

> 1500

> 1 Ghz

>100 W

> 60 %

Systme

Circuit

Fabrication

Objectif:

Intgrer un systme dans un mme composant.


Systme sur silicium SoC ou SoPC (system on
programmable chip.

Langages de description du matriel pour


synthtiser et tester les circuits numriques.
Approche logicielle pour concevoir le matriel.

Complexification des systmes numriques et


time to market rduit.

Utilisation accrue du codesign dans la conception des


systmes embarqus.
Conception matrielle et logicielle pour une
fonctionnalit implmenter : niveaux dintgration
offerts dans les circuits logiques programmables.
Approche avec codesign

Approche traditionnelle

1. Concevoir le systme.

1. Choisir le matriel utiliser

2. Repousser les choix matriels

2. Concevoir le systme mettre en place

Spcifications:

Liste des fonctionnalits du systme de faon


abstraite.

Modlisation:

Conceptualisation et affinement des spcifications


produisant un modle du matriel et du logiciel.

Partitionnement:

Partage logiciel matriel.

Synthse et optimisation:

Validation:

Intgration:

Tests dintgration

Synthse matrielle et compilation logicielle.


Co-simulation.

Rassemblement des diffrents modules.


Vrification du fonctionnement.

Amlioration des performances:


Paralllisme
Algorithme distribus
Architecture spcialise

Reconfiguration
fonctionnement

statique

ou

dynamique

Indpendance vis--vis des volution


circuits logiques programmables

en

cours

de

technologiques

des

Mise profit des amliorations des outils de conception fournis


par les fabricants de circuits logiques.
Programmables: synthse plus efficace, performance accrue.

Complexit croissante

Puce obtenue

Rutilisation

Soc
Blocs IP ou composants virtuels

ASIC ( Application-Specific Integrated Circuit )

ASSP ( Application Specific Standard Product )

FPGA ( Field Prgrammable Gate Array )

ASIP ( Application Specific instruction-set processor)

Circuit intgr spcialis


Regroupant des fonctionnalits uniques et sur mesure
Circuit intgr regroupant un grand nombre de fonctionnalits.
Satisfait une application gnralement standardise.
Circuit pouvant tre programm et reprogramm aprs fabrication.
Rseau de portes programmables.
On parle de reconfiguration du FPGA.
Adapt pour une application spcifique.
Flxibilit dun processeur + rendement dun ASIC.

DSP ( Digital Signal Process)

GPU ( Graphic Processor Unit)

GPP ( General Purpose Processor )

Spcialis dans le traitement numrique du signal.


Architecture optimise pour traiter une grande quanti de
donnes en parallle.
Traitement numrique du signal : filtrage, compression,
extraction
Circuit intgr prsent sur la carte graphique
Assure les fonctions de calcul et daffichage.
Structure hautement parallle

Cout plus lev que les DSP et les microcontrleurs.


Consommation dnergie trs haute.

performance

de Consommation
dnergie
reconfiguration

/ Time to market Temps

Technologie cot
ASIC

Trs haute

Trs long

Impossible

Faible

ASSP

Trs haute

Trs long

Impossible

Faible

FPGA

Haute

Long

Long

Moyenne

ASIP

Moyenne

Moyen

Moyen

Haute

DSP

Moyenne/ Basse

Moyen/Court

Moyen

Haute

GPU

Moyenne/ Basse

Moyen/Court

Moyen

Haute

GPPs

Basse

Court

Court

Trs haute

Accroissement du rythme des innovations technologiques


Diversit et complexit croissante des Applications
supportes

Ncessit de dvelopper des architectures performantes

Rduction du temps de mise sur le march:


Expansion du march des applications mobiles
Enjeux conomiques trs importants
La mise en place des mthodes de conception

Diversit

des

applications

de

la

excutes

sur

les

systmes
Variation

bande

passante

dans

des

environnements variables
Ressources

dnergie

limites

(systmes

autonomes)
Changement des prfrences de lutilisateur
Ncessit de dvelopper des architectures
performantes
Besoin pour des systmes adaptatifs

Flux
vido

Domaine
dapplication:
Implmentation dun flux vido manant dun camscope

Entre: camra

Multimdia (missions sportives)


Traitement et implmentation dun objet 3D

Localisation temps rel (applications GSM, GPS)


Objet
3D

Ajout: donnes

Mdecine
(chirurgie)
Mixer larchitecture
du flux vido avec lobjet 3D
Diffrents jeux vidos

Obtention dun dmonstrateur

Ralit
augmente

Application de
ralit augmente

Dmonstrateur de ralit augmente Flux vido + objet 3D

Besoin de dfinir diffrentes techniques dadaptation

Flux vido

Adaptation
software

Adaptation
rseau

Application 3D

Adaptation
3D

Adaptation MJPEG

Adapter le nombre
dimages envoy la bande
passante
Contrainte: bande
passante.

Transfert donnes

Rpondre la
contrainte 25
fr/s

Gestion des tches


raliser via Linux
Embarqu

Compression

Dcompression

Adapter larchi : archi = f(


mvt, text)
Contrainte : qualit de lobjet

Acc1
BRAM1

IDCT
d

Acc2
Softcore 1

Softcore 2

YUV2RGB
Microblaze_1

BRAM2
Microblaze_2

Shared
BRAM

Virtex 5

ML507

Debug
module
JTAG

mb_plb

Bus
DVI

mb_plb

Slaves of microblaze_1

Slaves of microblaze_2

MPMC

DDR_
SDRAM

Objectifs:
Augmenter le nombre dinstructions traites par
seconde.
Diminuer les temps dexcution

Limitations:
Techniques des processeurs ( programmations,
instructions )
Limites physiques des performances.

Duplication des capacits matrielles

Mise en place darchitecture utilisant plusieurs


processeurs.

Augmentation
(processeur)

de

la

complexit

de

lunit

Obtention dun rapport cot-performance plus


favorable

Le niveau de couplage des processeurs


repose sur :
Larchitecture des mmoires
Partage des mmoires.

Classification base sur la taxinomie de Flyinn:


propose en 1966
classification des architectures dordinateurs
quatre catgories utilisant le type dorganisation du :
flux de donnes
flux dinstructions

4 catgories distinctes:
SISD: Single Instruction Single Data
SIMD: Single Instruction Multiple Data
MISD: Multiple Instruction Single Data
MIMD: Multiple Instruction Multiple Data

Simple Instruction Single Data


Une instruction, un flot de donnes
Ordinateur squentiel
Pas de paralllisme
Ordinateur monoprocesseur

Single Instruction Muliple Data:


Une instruction unique
Donnes diffrentes:
GPU
Processeur verctoriel

Synchrone

Exemple:
Changement de luminosit dune image

Multiple Instruction Single Data

Diffrentes Instructions, mmes donnes


Rare
Tolrance aux pannes
Comparaison des rsultats
Systmes critiques

Exemple:

Contrleur vol navette spatiale


Pas de version commerciale

Multiple Instruction Multiple Data


Diffrentes instructions, diffrentes donnes

Deux sous groupes


SPMD

1 programme excut sur units


Manire indpendante (asynchrone)

MPMD

programme excuts sur units


SPU/PPU(PS3)

Modle simplificateur
Une architecture se trouvant dans plusieurs de ces
catgories

Permettant le quadrillage des option de


conception

Modle actuel dominant


Flexible

Multiprocesseur monoprogramm
Multiprocesseur multiprogramm
Combinaison des deux

Architecture peu couteuse


Appui sur des composants standards

Processeur permettant dexcuter:


Des processus diffrents (programmes )
Des sous-parties dun programmes (threads,
process )
Paralllisme de flot
N processeurs n flots

Architectures centralises mmoire


partage (SMP)
Plusieurs processeurs

Mmoire centrale partage


Bus dinterconnexion
Limitation du nombre de processeurs

Relation symtrique entre mmoire et processeurs:


Multiprocesseur symtrique mmoire partage
Symmetric (shared mmory) multiprocessor (SMP)
Accs mmoire uniforme
Uniform Mmory Access (UMA)

Multiprocesseurs symtriques - SMP

Augmentation du nombres de processeurs

Mmoire

goulet dtranglement

Problme de bande passante

Passage inluctable
un modle mmoire centralise
un modle mmoire distribue

Architectures mmoire distribues


Mmoire physiquement distribue
Meilleure bande passante
Plus grand nombre de processeurs

Bus dinterconnexion bande passante leve


Rseau dinterconnexion:
Directs

Commutateurs

Indirects

Grilles multidimensionnelles

Architecture mmoire distribue

Architectures mmoire distribue


Un noeud monoprocesseur
Un SMP (2-8 processeurs)
Accs la mmoire locale:

Extension efficace de la BP (faible cot)


Rduction de la latence

Inconvnients:

Communications
entre
nuds
(communication entre PPC et B)
Latence plus leve

plus

complexe

Mmoire partage distribue


Distributed Shared Mmory multiprocessor (DSM)
Espace dadressage logique et partag entre les nuds
Pas de mmoire phyisique unique partage

Tous les processeurs accdent toutes les mmoires


Ncessit de disposer des droits requis

Multiprocesseurs DSM appels NUMA

Non Uniform Memory Acces SMP (UMA)

Protocole de communication implicite

Adresses logiques dans les instructions de changement/ rangement

Gain de performance
Acclration
.

.
.

Tpn = temps dxecution systme origine


Tpa = temps dxecution systme amlior
S = fraction du temps concern par lamlioration
Acc = acclration obtenue par lamlioration

Dans les SMP, les caches stockent


des donnes prives

Mme comportement quen architecture


monoprocesseur

des donnes partages


Existent sur des caches diffrentes
Migration
Duplication

Problme de cohrence de cache

Temps

Evnement

Cache A

Cache B

Mmoire

CPUA lit X

CPUB lit X

CPUA range
0 dans X

Deux mthodes distinctes:


Rpertoire

Conservation de ltat de partage dun bloc de


mmoire physique dans un endroit unique

Espionnage

Surveillance du bus de mmoire partage


Dtermination de la prsence / absence de bloc
demand.