SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Chapitre 1 : Introduction à la conception desChapitre 1 : Introduction à la conception desChapitre 1 : Introduction à la conception des
systèmes embarqués
Chapitre 1 : Introduction à la conception des
systèmes embarqués
1. Définitions et caractéristiques
2. Domaines d'application
3. Exemples de systèmes embarqués
4. Écart de productivitép
INF3610 Systèmes embarqués
1
1. Définitions et caractéristiques1. Définitions et caractéristiques
1. Système temps réel
2. Système embarqué. Sys è e e ba qué
3. Système sur puce
INF3610 Systèmes embarqués
2
Système temps réelSystème temps réel
Un système temps réel est un système
numérique qui doit répondre à un ensemble de
stimuli provenant de l’environnement dans un
intervalle de temps dicté par ce même
environnement (i.e. des contraintes
temporelles).
INF3610 Systèmes embarqués
3
Système temps réelSystème temps réel
Exemple d’un système temps réel ou réactif:Exemple d’un système temps réel ou réactif:
INF3610 Systèmes embarqués
Exemple de systèeme temps réel: le cruise controlExemple de systèeme temps réel: le cruise controlExemple de systèeme temps réel: le cruise controlExemple de systèeme temps réel: le cruise control
• Spécifications temporelles d’un sous-ensemble de signaux:
• Via des sensors, échantillonnage du signal
embrayage (gear) et frein (brake) au
moins à toutes les ms.
• Suite aux valeurs obtenus précédemment,
on doit calculer au moins à toutes les
• Finalement, le tableau de bord doit être
mis à jour, au moins à toutes les secondes.
on doit calculer au moins à toutes les sec
la valeur appropriée pour le contrôleur de
valve (qui détermine la nouvelle vitesse).
• Également, il ne doit pas s’écouler plus de
1 ms entre le moment où le conducteur
1/sec
1 contrainte
moins dure
s e e e o e où e co duc eu
appuie sur le frein et son effet sur la valve.
Cruise Control
1000/sec
brake
speed
ave_speed
consumption
Cruise Control
<= 1ms
gear
valve
3 contraintes
dures
INF3610 Systèmes embarqués
5
1/sec
Caractéristiques d’un système temps réel :
Système temps réelSystème temps réel
• Constitué de deux sous-systèmes:
1 Le contrôleur (PC ou microcontrôleur)
Caractéristiques d’un système temps réel :
1. Le contrôleur (PC ou microcontrôleur)
2. Le contrôlé (environnement physique)
INF3610 Systèmes embarqués
6
Caractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réel
• La relation entre les deux sous-systèmes est décrite par
trois opérations: échantillonnage, calcul et réponse. Ces
opérations doivent se réaliser à l’intérieur d’intervalle(s)
de temps: ce sont les contraintes de temps.
i i d• Deux types de contrainte temporelle existent: douce ou
dure
INF3610 Systèmes embarqués
7
Caractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réel
• Une contrainte douce (système temps réel doux) est moins
contraignante, i.e. qu’elle permet une erreur raisonnable
ù l i dûpar rapport au moment exact où le processus aurait dû
s’exécuter. Exemple: encodeur/décodeur vidéo
• Par opposition la contrainte dure (système temps réel dur)• Par opposition, la contrainte dure (système temps réel dur)
ne permet aucune erreur sur le moment où le processus
aurait dû s’exécuter. Exemple: frein d’une voiture,
pacemaker, etc.
INF3610 Systèmes embarqués
8
Composition d’un système embarquéComposition d un système embarqué
• Une partie matérielle utilisée pour la performance
• Micro-processeur, contrôleurs, coprocesseurs, DSP
Mé i• Mémoires
• ASIC
• Interfaces d’entrées/sorties• Interfaces d entrées/sorties
• Une partie logicielle utilisée pour sa flexibilitép g p
• Programmes
Software
Program
INF3610 Systèmes embarqués
9
Système embarquéSystème embarquéSystème embarquéSystème embarqué
• Un système embarqué est un système servant à résoudre
d f i d â h é ifi li i édes fonctions et des tâches spécifiques et limitées.
• Associé à contraintes en temps réel
• Souvent conçu en matériel avec des parties en logiciel• Souvent conçu en matériel avec des parties en logiciel.
• La complexité du système et des fonctions varient
largement
• Contrôleur d’un lave-vaisselle
• Portable MP3
• Contrôleur de missiles
• Le logiciel est utilisé pour la flexibilité
L té i l t tili é l f t l
INF3610 Systèmes embarqués
• Le matériel est utilisé pour la performance et la
consommation Voir wikipedia.org
Contraintes des systèmes embarqués
• Métriques de conception principales
• Consommation et dissipation de puissance
Contraintes des systèmes embarqués
• Consommation et dissipation de puissance
• Taille
• Coûts de production et coûts non récurrents
• FiabilitéFiabilité
• Temps de commercialisation (time to market)
• D’autres contraintes existent:
• Tolérance aux pannes• Tolérance aux pannes,
• Résistance aux chocs et températures,
• BIST
• Flexibilité et mises-à-jourFlexibilité et mises à jour
• Souvent utilisés dans un environnement réactif soumis à des
contraintes temps réel.
INF3610 Systèmes embarqués
11
• Nécessitent des systèmes haute performance
Système sur puce (SoC)Système sur puce (SoC)
• Un SoC constitue un circuit complexe qui intègre tous les
éléments fonctionnels d’un produit sur une même puce.
Par exemple, des modules logiciels (DSP), des mémoires,Par exemple, des modules logiciels (DSP), des mémoires,
des périphériques, des coprocesseurs matériels (FPGA ou
ASIC) et même des modules analogiques ou
t él t i t t êt i ê déoptoélectroniques peuvent tous être mis sur un même dé.
• L’objectif est diminuer au minimum le nombre deL objectif est diminuer au minimum le nombre de
composants sur une carte pour mettre tout sur une seule
puce.
INF3610 Systèmes embarqués
12
Objectif du SoC
SDRAM(16Mbits )
Objectif du SoC
Système sur carte Système sur puce
i e carte maîtresse UCTi.e. carte maîtresse - UCT
- mémoire
- bus
- unités d’exécution spécialisées
INF3610 Systèmes embarqués
13
unités d exécution spécialisées
E l d S C
ADDR: 12bit
SDRAM(16Mbits )
Exemple de SoC
• Processeur ARM7
SDRAM Controller
R
Arbiter
SDRAM Controller
for Capture
Y/C
H/V/CLK
Y 8bit
C 8bit
Y/C
Y 8bit
C 8bit
H/V
ADDR: 12bit
DATA: 16bit
ARM Peripheral
ASB Control
Register
setting
ARM I/F
• Logique dédiée DCT
• Contrôleur USB
ARM7TDMI
TIC
DCT
Quantize/Zigzag
DMA DCT
RAM Interrupt
PIO
Timer
DCT Engine
RemapDecoder
DMA
JTAG
P IO 8bit X 2port
Interrupt 2port
DCT RAM
1KByte
Wrapper
SRAM
(32KByte)
Memory
Expansion
APB
Bridge
UART
USB
PLL
PLL
24MHz
40MHz
for ARM
48MHz
for USB
SCAN to
S DRAMC
DCT
USB
SIO 1ch
USB
APBASB
ADDR: 32bit
DATA: 32bit
ADDR: 32bit
DATA: 16bit
ASB Control
for USB
ADDR: 31bit
DATA: 32bit
EPROM
External
Bus I/F
ASB : AMBA System Bus
APB : AMBA Peripheral Bus
Sony Digital Camera SOC
INF3610 Systèmes embarqués
14
Sony Digital Camera SOC
2. Clases d’applications2. Clases d’applications
Deux classes d’applications:
1 Systèmes dominés par le contrôle (control1. Systèmes dominés par le contrôle (control
dominated systems). E.g. des systèmes
réactifs
2. Systèmes dominés par un flôt de données
(data-domintated systems)(data domintated systems)
INF3610 Systèmes embarqués
15
Systèmes dominés par le contrôleSystèmes dominés par le contrôle
• Requiert des contraintes de temps
- Temps d’exécution prédictible et exécution périodique des tâches
• Requiert des contraintes de temps dures
- Une tâche peut demander la plus haute priorité (highest OS
priorities)priorities)
• Plusieurs tâches (sous forme machines à états) partagent le CPU
- Contexte multitâche
- Changements de contexte rapides requis (< 1s)
INF3610 Systèmes embarqués
Systèmes dominés par le contrôleSystèmes dominés par le contrôle
• Peu de données associées à chaque machine à états
- En associant de la mémoires sur puces (registres) à ces
machines on peu accélérer les changements de contextemachines on peu accélérer les changements de contexte
(context switches).
• Un RTOS préemptif est en général requis:p p g q
– La tâche la plus prioritaire est exécutée en premier.
– Les tâches les moins prioritaires sont exécutées en
dernier (ou même jamais)dernier (ou même jamais).
– Plusieurs algorithmes d’ordonnancement (statiques ou
dynamiques) existent.
INF3610 Systèmes embarqués
Systèmes dominés par le contrôleSystèmes dominés par le contrôleSystèmes dominés par le contrôleSystèmes dominés par le contrôle
INF3610 Systèmes embarqués
18
Systèmes dominés par le flôt de donnéesSystèmes dominés par le flôt de données
• Caractéristiques:
– Beaucoup de MIPS ou de MFLOPS;Beaucoup de MIPS ou de MFLOPS;
– Bande passante élevée (Mo/sec);
Instructions spécialisées pour DSP;– Instructions spécialisées pour DSP;
– Support limité pour les interruptions et les
changements de contextechangements de contexte
– Beaucoup de données pour un même contexte
(processus).
INF3610 Systèmes embarqués
19
(processus).
Systèmes dominés par le flôt de donnéesSystèmes dominés par le flôt de données
• Caractéristiques (suite):
– Très peu de changements de contexte sont nécessairesTrès peu de changements de contexte sont nécessaires
car un on a un seul flôt de donnés, mais il est à très haut
débit.
U ili i l d i ( d– Utilise un simple ordonnancement statique (pas de
préemption)
– Contraintes douces plutôt que duresContraintes douces plutôt que dures
INF3610 Systèmes embarqués
20
Systèmes dominés par le flôt de donnéesSystèmes dominés par le flôt de données
Diagramme bloc du TMS320C40
INF3610 Systèmes embarqués
21
3. Exemples de systèmes embarqués3. Exemples de systèmes embarqués
INF3610 Systèmes embarqués
http://www.eecs.berkeley.edu/~apinto/esd/Home.html
INF3610 Systèmes embarqués
23
http://www.eecs.berkeley.edu/ apinto/esd/Home.html
INF3610 Systèmes embarqués
24
Exemple 1: Contrôleur de mineExemple 1: Contrôleur de mine
• Application orientée contrôle
• Spécification du système:
• Dans une mine, on désire transformer du minerai en
boulettesboulettes
• Ce procédé se fait en deux étapes:
1. la séparation du minerai en boulettes de boue
2. la cuisson de ces boulettes pour leur durcissement
• Nous allons nous concentrer sur la première étape
INF3610 Systèmes embarqués
Contrôleur de mineContrôleur de mine
• La séparation du minerai en boulettes s’effectue dans une
hi lé t ifmachine appelée centrifugeuse.
• Les minerais arrivent sur des chariots et y ajoute de l’eau d’un
réservoir qui s’écoule à un certain débit proportionnel à laése vo qu s écou e à u ce ta déb t p opo t o e à a
quantité de minerai à traiter. Le débit est contrôlé par deux
paramètres :
1) La quantité d’eau présente dans le réservoir (plus il y a
d’eau, plus la pression est forte, ce qui en résulte un plus
grand débit)
2) La valve à la sortie du réservoir. Cette valve peut être
réglée à n’importe laquelle valeur entière entre 0 et 100 (%).
INF3610 Systèmes embarqués
Contrôleur de mineContrôleur de mine
INF3610 Systèmes embarqués
Contrôleur de mineContrôleur de mine
• Le système est exposé à plusieurs contraintes:
• Quand le niveau d’eau atteint Alerte niveau bas, la pompe
est activée pour remplir le réservoir.
• Le débit d’eau requis du réservoir est calculé sur le poids
total des minerais arrivés lors des deux dernière secondes.
• Le niveau du réservoir doit EN TOUT TEMPS êtreLe niveau du réservoir doit EN TOUT TEMPS être
supérieur à 25 centimètres et EN TOUT TEMPS inférieur à
1 mètre (un débordement entraînerait une épidémie de
choléra minier)choléra minier).
INF3610 Systèmes embarqués
28
C t ôl d iC t ôl d iContrôleur de mineContrôleur de mine
• La quantité de minerai présente dans la centrifugeuse
déterminera la fréquence d’arrivée des chariots de
minerai dans le système :minerai dans le système :
– Moins de 200 kg (x < 200) → 5 chariots/seconde
– Entre 200 et 250 kg (200 ≤ x < 250) → 4 chariots/seconde
– Entre 250 et 300 kg (250 ≤ x < 300) → 3 chariots/seconde
– Entre 300 et 350 kg (300 ≤ x < 350) → 2 chariots/seconde
– Plus de 350 kg (x ≥ 350) → 1 chariot/secondeus de 350 g ( ≥ 350) c o /seco de
INF3610 Systèmes embarqués
Contrôleur de mineContrôleur de mine
• Rappel: le système est en 2 partiesRappel: le système est en 2 parties...
1. Le contrôleur (PC ou microcontrôleur)
2 Le contrôlé (environnement physique)2. Le contrôlé (environnement physique)
MicroBlaze running RTOS
Hw
INF3610 Systèmes embarqués
Exemple 1Exemple 1
MicroBlaze
et RTOS
INF3610 Systèmes embarqués
31
Hw
Example 2: Encodeur MPEG-2Example 2: Encodeur MPEG-2
• MPEG 2 est un exemple typique d'application dominée
par un flôt de données.
• MPEG 2 décrit une combinaison de compression vidéoMPEG 2 décrit une combinaison de compression vidéo
et audio.
• MPEG-2 vise uniquement des usages liés à la télévision
é i (diff i DVB t DVD) iti ànumérique (diffusion DVB et DVD), par opposition à
MPEG-4 qui englobent toutes les nouvelles applications
multimédias comme le téléchargement et le streaming
sur Internet, le multimédia sur mobile, la radio
numérique, les jeux vidéo, la télévision et les supports
haute définition.
INF3610 Systèmes embarqués
32
haute définition.
Encodeur MPEG2Encodeur MPEG2
Video input
Pre-processing
Buffer fullness
Difference Picture
Buffer +  DCT QuantizerBuffer +  DCT Quantizer
(New picture) -
Predicted picture Inverse quantizer
motion
compensated Inverse DCT
predictor
+
picture memory Hufman filter
motion estimation (old picture)  -
motion vectors encoded coefficients
Entropy PES packets
Control data encoder Buffer Packetizer
INF3610 Systèmes embarqués
33
Control data encoder Buffer Packetizer
Diagramme blocs de l’encodeur MPEG
Profilage de l’encodeur
B
g
Beaucoup
d’OPS
(donc
Matériel)
Motion estimation (compensation du mouvement)
dont la fonction principale est la reconnaissance de
patrons (Bloc Matching)
)
DCT
Zig zag
E dPeu d’OPS Encodage
Etc.
Peu d’OPS
et beaucoup
de contrôle
(donc
INF3610 Systèmes embarqués
34
logiciel)
Profilage de l’encodeur (suite)g ( )
Ces fonctions représentent
seulement 6% des 8086 lignes
de code d’une application
MPEG4, mais elles consomment
83% du CPU…
Paulin et al Parallel programming models for a multiprocessor SoC platform applied to networking and multimedia TCAD 2006
INF3610 Systèmes embarqués
35
Paulin et al., Parallel programming models for a multiprocessor SoC platform applied to networking and multimedia, TCAD 2006.
Compensation du mouvement
1 3 4 1 2 3 4
2
7 8 5 6 7 8
5 6
10
9 11 12 9 10 11 12
14 13 14 15 16
13 15 16
Chaque image est coupée blocs de 8x8 pixels. Au lieu de transférer tous les 64 pixels, le
vecteur de mouvement (x, y) pour chaque bloc est transféré (d’après sa position précédente).
Image courante Image précédente
Par exemple : le bloc 1 n'a pas été déplacé et le bloc 2 a descendu en Y, etc.
Par exemple : le bloc 3 est trop différent et est donc re-transféré au complet.
INF3610 Systèmes embarqués
36
Reconnaissance de patron (BM)
• On cherche chaque bloc de 8x8 pixels de l’image courante dans une zone élargie
de 16x16 pixels de l’image précédente (voir l’exemple sur le bloc 10)
p
de 16x16 pixels de l image précédente (voir l exemple sur le bloc 10)
1 3 4 1 2 3 4
2
7 8 5 6 7 8
5 6
10
9 11 12 9 10 11 12
Espace de recherche
du bloc 10
14 13 14 15 16
13 15 16
INF3610 Systèmes embarqués
37
Image courante Image précédente
Reconnaissance de patron (BM)
8 pixels
16 pixels
8 pixels
16 pixels
8pixels
s
8pixels
s
On peut
démontrer
qu’après 81 * 64
16pixels
16pixels
qu après 81 64
comparaisons
(opérations), si
l t ’
8 pixels
16 pixels
8 pixels
16 pixels
le patron n’a
pas été trouvé,
c’est qu’il
8pixels
ls
8pixels
ls
n’existe pas.
16pixe
16pixe
INF3610 Systèmes embarqués
38
Spécification d’un BM
• On compare un patron de 8x8 pixels sur des blocs d’imagep p p g
de 16x16 pixels (les pixels sont des tons de gris codés sur 8
bits). Il y a au maximum 81* 64 comparaisons
• Pour une image 1K x 1K divisée en 4096 blocs on aura 81Pour une image 1K x 1K divisée en 4096 blocs on aura 81
* 64 * 4096 comparaisons
• En supportant 30 images/sec. => 81 * 4096 * 64 * 30
comparaisons/sec  637 MOPScomparaisons/sec.  637 MOPS
• De nos jours, 637 MOPS est atteignable sur un Pentium 4.
Mais supposons maintenant 60 images/sec sur un écran
l (24 bi ) 81 * 4096 * (64 * 3) * 60 3 822couleur (24 bits) => 81 * 4096 * (64 * 3) * 60 = 3.822
GOPS…
INF3610 Systèmes embarqués
39
De manière plus généraleDe manière plus générale
INF3610 Systèmes embarqués
40
4. Écart de la productivité4. Écart de la productivité
Logic Transistors/Chip
Transistor/Staff Month
58%/Y d
 1B
10B
10M
100M
58%/Yr. compound
Complexity growth rate

1M
10M
100M
10K
100K
1M
21%/Yr compound
xx
x
x x
x
x
10K
100K
1M
100
1K
10K
21%/Yr. compound
Productivity growth rate
Source:
SEMATECH

1K
10K
10
100
SEMATECH
100M logic gates in 90nm = Logic of 1000 ARM7’s
I i t f S C 10M$ 100M$ d i t
INF3610 Systèmes embarqués
41
Increasing cost of SoC: 10M$ ~100M$ design cost
Gracieuseté de STMicroelectronics
SolutionsSolutions
• Il faut faire de la réutilisation: logiciel (chap. 2) et matériel
(chap. 3)
• Il faut exploiter le parallélisme (multicores et multiprocesseurs)Il faut exploiter le parallélisme (multicores et multiprocesseurs)
et l’hétérogénéité (chap. 3)
• Il faut travailler à plus haut niveau d’abstraction (chap. 4)
INF3610 Systèmes embarqués
42
Parallélisme et hétérogénéitéParallélisme et hétérogénéité
Processeur
ARM 1
Processeur
ARM N
Mémoire
Bus
Coprocesseur
DCT
Coprocesseur
SAD
Coprocesseur
Q tifi tiDCT SAD Quantification
INF3610 Systèmes embarqués
43
Autre façon d’illustrer l’hétérogénéité…
INF3610 Systèmes embarqués
44
Tiré de http://www.ida.liu.se/~petel/codesign/
Ou encore…
Codesign logiciel/matériel
INF3610 Systèmes embarqués
45
Finalement il ne faut pas oublier laFinalement il ne faut pas oublier la
consommation de puissance…
INF3610 Systèmes embarqués
46

Contenu connexe

Tendances

Digital Signal Processor ( DSP ) [French]
Digital Signal Processor ( DSP )  [French]Digital Signal Processor ( DSP )  [French]
Digital Signal Processor ( DSP ) [French]Assia Mounir
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationECAM Brussels Engineering School
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance mentoresd
 
Internet des Objets
Internet des ObjetsInternet des Objets
Internet des ObjetsIEEE 802
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarquéHoussem Rouini
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1SinGuy
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineCHERIET Mohammed El Amine
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarquésStéphane Legrand
 
The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421Linaro
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresAbdoulaye Dieng
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesBENSMAINE Abderrahmane
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
interferences entre-symboles
interferences entre-symbolesinterferences entre-symboles
interferences entre-symbolesBAKKOURY Jamila
 

Tendances (20)

Chap1 dsp
Chap1 dspChap1 dsp
Chap1 dsp
 
Digital Signal Processor ( DSP ) [French]
Digital Signal Processor ( DSP )  [French]Digital Signal Processor ( DSP )  [French]
Digital Signal Processor ( DSP ) [French]
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance
 
Internet des Objets
Internet des ObjetsInternet des Objets
Internet des Objets
 
DSP
DSPDSP
DSP
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarqué
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
STR-2.pdf
STR-2.pdfSTR-2.pdf
STR-2.pdf
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
 
The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421
 
Cours capteur final
Cours capteur finalCours capteur final
Cours capteur final
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoires
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiques
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Coursdsp tdi
Coursdsp tdiCoursdsp tdi
Coursdsp tdi
 
Vxworks
VxworksVxworks
Vxworks
 
interferences entre-symboles
interferences entre-symbolesinterferences entre-symboles
interferences entre-symboles
 

En vedette

Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012servicesmobiles.fr
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets France Stratégie
 
#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGiGuillaume Sauthier
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésMicrosoft Décideurs IT
 
My book about Global Warming and M2M
My book about Global Warming and M2MMy book about Global Warming and M2M
My book about Global Warming and M2MGeoffreyZ
 
Prototypage de Systèmes Embarqués
Prototypage de Systèmes EmbarquésPrototypage de Systèmes Embarqués
Prototypage de Systèmes Embarquésboisgera
 
Internet des Objets par MyTAGG
Internet des Objets par MyTAGGInternet des Objets par MyTAGG
Internet des Objets par MyTAGGMyTAGG
 
Android Things, Alexey Rybakov, Technical Evangelist, DataArt
Android Things, Alexey Rybakov, Technical Evangelist, DataArtAndroid Things, Alexey Rybakov, Technical Evangelist, DataArt
Android Things, Alexey Rybakov, Technical Evangelist, DataArtAlina Vilk
 
Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitalesSarah
 
Rapport projet Domotique
Rapport projet DomotiqueRapport projet Domotique
Rapport projet Domotiquets4riadhoc
 
Café Numérique Bruxelles - Les Makers - Arduino
Café Numérique Bruxelles - Les Makers - ArduinoCafé Numérique Bruxelles - Les Makers - Arduino
Café Numérique Bruxelles - Les Makers - ArduinoQuentin Geluyckens
 
aDIRC - 12 juin 2014 - Internet des Objets
aDIRC - 12 juin 2014 - Internet des ObjetsaDIRC - 12 juin 2014 - Internet des Objets
aDIRC - 12 juin 2014 - Internet des ObjetsADIRC
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduinoSinGuy
 
des mobiles aux objets : Internet pour apprendre
des mobiles aux objets : Internet pour apprendredes mobiles aux objets : Internet pour apprendre
des mobiles aux objets : Internet pour apprendreJean-Marie Gilliot
 
System On Chip
System On ChipSystem On Chip
System On ChipA B Shinde
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODwebmasterref68
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleAbdo07
 

En vedette (20)

Cours programmation
Cours programmation Cours programmation
Cours programmation
 
Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets
 
#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarqués
 
My book about Global Warming and M2M
My book about Global Warming and M2MMy book about Global Warming and M2M
My book about Global Warming and M2M
 
Prototypage de Systèmes Embarqués
Prototypage de Systèmes EmbarquésPrototypage de Systèmes Embarqués
Prototypage de Systèmes Embarqués
 
Internet des Objets par MyTAGG
Internet des Objets par MyTAGGInternet des Objets par MyTAGG
Internet des Objets par MyTAGG
 
Android Things, Alexey Rybakov, Technical Evangelist, DataArt
Android Things, Alexey Rybakov, Technical Evangelist, DataArtAndroid Things, Alexey Rybakov, Technical Evangelist, DataArt
Android Things, Alexey Rybakov, Technical Evangelist, DataArt
 
SOC design
SOC design SOC design
SOC design
 
Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitales
 
Rapport projet Domotique
Rapport projet DomotiqueRapport projet Domotique
Rapport projet Domotique
 
Café Numérique Bruxelles - Les Makers - Arduino
Café Numérique Bruxelles - Les Makers - ArduinoCafé Numérique Bruxelles - Les Makers - Arduino
Café Numérique Bruxelles - Les Makers - Arduino
 
aDIRC - 12 juin 2014 - Internet des Objets
aDIRC - 12 juin 2014 - Internet des ObjetsaDIRC - 12 juin 2014 - Internet des Objets
aDIRC - 12 juin 2014 - Internet des Objets
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
des mobiles aux objets : Internet pour apprendre
des mobiles aux objets : Internet pour apprendredes mobiles aux objets : Internet pour apprendre
des mobiles aux objets : Internet pour apprendre
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HOD
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitale
 

Similaire à Chap1 intro 1pp

Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Transparents Arduino LP Prog.pdf
Transparents Arduino LP Prog.pdfTransparents Arduino LP Prog.pdf
Transparents Arduino LP Prog.pdfSaid Ech
 
introduction automatisme industriel
introduction automatisme industrielintroduction automatisme industriel
introduction automatisme industrielAdnane Ahmidani
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxAbdo Brahmi
 
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdfChapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdfSoumayaMabrouk2
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Support systemes multitaches-tempsreel
Support systemes multitaches-tempsreelSupport systemes multitaches-tempsreel
Support systemes multitaches-tempsreelyoussef essakhi
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfHoudaBezziane
 
Digital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfDigital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfHouBou3
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmohamedsaidi212001
 
Challenges of Parallel Simulation of Power Systems_french
Challenges of Parallel Simulation of Power Systems_frenchChallenges of Parallel Simulation of Power Systems_french
Challenges of Parallel Simulation of Power Systems_frenchOPAL-RT TECHNOLOGIES
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfHouBou3
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfInes Ben Hassine
 
Ph.D Defense
Ph.D DefensePh.D Defense
Ph.D Defenseawxzeca
 
Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileHoussem Rouini
 

Similaire à Chap1 intro 1pp (20)

Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Transparents Arduino LP Prog.pdf
Transparents Arduino LP Prog.pdfTransparents Arduino LP Prog.pdf
Transparents Arduino LP Prog.pdf
 
On Board Computer Subsystem.pdf
On Board Computer Subsystem.pdfOn Board Computer Subsystem.pdf
On Board Computer Subsystem.pdf
 
introduction automatisme industriel
introduction automatisme industrielintroduction automatisme industriel
introduction automatisme industriel
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
 
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdfChapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
Chapitre-3-Architectures-Haute-Performance-et-embarquées.pdf
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Chapitre 1 sem
Chapitre 1 semChapitre 1 sem
Chapitre 1 sem
 
Support systemes multitaches-tempsreel
Support systemes multitaches-tempsreelSupport systemes multitaches-tempsreel
Support systemes multitaches-tempsreel
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdf
 
Digital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfDigital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdf
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
Challenges of Parallel Simulation of Power Systems_french
Challenges of Parallel Simulation of Power Systems_frenchChallenges of Parallel Simulation of Power Systems_french
Challenges of Parallel Simulation of Power Systems_french
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
Ph.D Defense
Ph.D DefensePh.D Defense
Ph.D Defense
 
Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobile
 

Chap1 intro 1pp

  • 1. Chapitre 1 : Introduction à la conception desChapitre 1 : Introduction à la conception desChapitre 1 : Introduction à la conception des systèmes embarqués Chapitre 1 : Introduction à la conception des systèmes embarqués 1. Définitions et caractéristiques 2. Domaines d'application 3. Exemples de systèmes embarqués 4. Écart de productivitép INF3610 Systèmes embarqués 1
  • 2. 1. Définitions et caractéristiques1. Définitions et caractéristiques 1. Système temps réel 2. Système embarqué. Sys è e e ba qué 3. Système sur puce INF3610 Systèmes embarqués 2
  • 3. Système temps réelSystème temps réel Un système temps réel est un système numérique qui doit répondre à un ensemble de stimuli provenant de l’environnement dans un intervalle de temps dicté par ce même environnement (i.e. des contraintes temporelles). INF3610 Systèmes embarqués 3
  • 4. Système temps réelSystème temps réel Exemple d’un système temps réel ou réactif:Exemple d’un système temps réel ou réactif: INF3610 Systèmes embarqués
  • 5. Exemple de systèeme temps réel: le cruise controlExemple de systèeme temps réel: le cruise controlExemple de systèeme temps réel: le cruise controlExemple de systèeme temps réel: le cruise control • Spécifications temporelles d’un sous-ensemble de signaux: • Via des sensors, échantillonnage du signal embrayage (gear) et frein (brake) au moins à toutes les ms. • Suite aux valeurs obtenus précédemment, on doit calculer au moins à toutes les • Finalement, le tableau de bord doit être mis à jour, au moins à toutes les secondes. on doit calculer au moins à toutes les sec la valeur appropriée pour le contrôleur de valve (qui détermine la nouvelle vitesse). • Également, il ne doit pas s’écouler plus de 1 ms entre le moment où le conducteur 1/sec 1 contrainte moins dure s e e e o e où e co duc eu appuie sur le frein et son effet sur la valve. Cruise Control 1000/sec brake speed ave_speed consumption Cruise Control <= 1ms gear valve 3 contraintes dures INF3610 Systèmes embarqués 5 1/sec
  • 6. Caractéristiques d’un système temps réel : Système temps réelSystème temps réel • Constitué de deux sous-systèmes: 1 Le contrôleur (PC ou microcontrôleur) Caractéristiques d’un système temps réel : 1. Le contrôleur (PC ou microcontrôleur) 2. Le contrôlé (environnement physique) INF3610 Systèmes embarqués 6
  • 7. Caractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réel • La relation entre les deux sous-systèmes est décrite par trois opérations: échantillonnage, calcul et réponse. Ces opérations doivent se réaliser à l’intérieur d’intervalle(s) de temps: ce sont les contraintes de temps. i i d• Deux types de contrainte temporelle existent: douce ou dure INF3610 Systèmes embarqués 7
  • 8. Caractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réelCaractéristiques d’un système temps réel • Une contrainte douce (système temps réel doux) est moins contraignante, i.e. qu’elle permet une erreur raisonnable ù l i dûpar rapport au moment exact où le processus aurait dû s’exécuter. Exemple: encodeur/décodeur vidéo • Par opposition la contrainte dure (système temps réel dur)• Par opposition, la contrainte dure (système temps réel dur) ne permet aucune erreur sur le moment où le processus aurait dû s’exécuter. Exemple: frein d’une voiture, pacemaker, etc. INF3610 Systèmes embarqués 8
  • 9. Composition d’un système embarquéComposition d un système embarqué • Une partie matérielle utilisée pour la performance • Micro-processeur, contrôleurs, coprocesseurs, DSP Mé i• Mémoires • ASIC • Interfaces d’entrées/sorties• Interfaces d entrées/sorties • Une partie logicielle utilisée pour sa flexibilitép g p • Programmes Software Program INF3610 Systèmes embarqués 9
  • 10. Système embarquéSystème embarquéSystème embarquéSystème embarqué • Un système embarqué est un système servant à résoudre d f i d â h é ifi li i édes fonctions et des tâches spécifiques et limitées. • Associé à contraintes en temps réel • Souvent conçu en matériel avec des parties en logiciel• Souvent conçu en matériel avec des parties en logiciel. • La complexité du système et des fonctions varient largement • Contrôleur d’un lave-vaisselle • Portable MP3 • Contrôleur de missiles • Le logiciel est utilisé pour la flexibilité L té i l t tili é l f t l INF3610 Systèmes embarqués • Le matériel est utilisé pour la performance et la consommation Voir wikipedia.org
  • 11. Contraintes des systèmes embarqués • Métriques de conception principales • Consommation et dissipation de puissance Contraintes des systèmes embarqués • Consommation et dissipation de puissance • Taille • Coûts de production et coûts non récurrents • FiabilitéFiabilité • Temps de commercialisation (time to market) • D’autres contraintes existent: • Tolérance aux pannes• Tolérance aux pannes, • Résistance aux chocs et températures, • BIST • Flexibilité et mises-à-jourFlexibilité et mises à jour • Souvent utilisés dans un environnement réactif soumis à des contraintes temps réel. INF3610 Systèmes embarqués 11 • Nécessitent des systèmes haute performance
  • 12. Système sur puce (SoC)Système sur puce (SoC) • Un SoC constitue un circuit complexe qui intègre tous les éléments fonctionnels d’un produit sur une même puce. Par exemple, des modules logiciels (DSP), des mémoires,Par exemple, des modules logiciels (DSP), des mémoires, des périphériques, des coprocesseurs matériels (FPGA ou ASIC) et même des modules analogiques ou t él t i t t êt i ê déoptoélectroniques peuvent tous être mis sur un même dé. • L’objectif est diminuer au minimum le nombre deL objectif est diminuer au minimum le nombre de composants sur une carte pour mettre tout sur une seule puce. INF3610 Systèmes embarqués 12
  • 13. Objectif du SoC SDRAM(16Mbits ) Objectif du SoC Système sur carte Système sur puce i e carte maîtresse UCTi.e. carte maîtresse - UCT - mémoire - bus - unités d’exécution spécialisées INF3610 Systèmes embarqués 13 unités d exécution spécialisées
  • 14. E l d S C ADDR: 12bit SDRAM(16Mbits ) Exemple de SoC • Processeur ARM7 SDRAM Controller R Arbiter SDRAM Controller for Capture Y/C H/V/CLK Y 8bit C 8bit Y/C Y 8bit C 8bit H/V ADDR: 12bit DATA: 16bit ARM Peripheral ASB Control Register setting ARM I/F • Logique dédiée DCT • Contrôleur USB ARM7TDMI TIC DCT Quantize/Zigzag DMA DCT RAM Interrupt PIO Timer DCT Engine RemapDecoder DMA JTAG P IO 8bit X 2port Interrupt 2port DCT RAM 1KByte Wrapper SRAM (32KByte) Memory Expansion APB Bridge UART USB PLL PLL 24MHz 40MHz for ARM 48MHz for USB SCAN to S DRAMC DCT USB SIO 1ch USB APBASB ADDR: 32bit DATA: 32bit ADDR: 32bit DATA: 16bit ASB Control for USB ADDR: 31bit DATA: 32bit EPROM External Bus I/F ASB : AMBA System Bus APB : AMBA Peripheral Bus Sony Digital Camera SOC INF3610 Systèmes embarqués 14 Sony Digital Camera SOC
  • 15. 2. Clases d’applications2. Clases d’applications Deux classes d’applications: 1 Systèmes dominés par le contrôle (control1. Systèmes dominés par le contrôle (control dominated systems). E.g. des systèmes réactifs 2. Systèmes dominés par un flôt de données (data-domintated systems)(data domintated systems) INF3610 Systèmes embarqués 15
  • 16. Systèmes dominés par le contrôleSystèmes dominés par le contrôle • Requiert des contraintes de temps - Temps d’exécution prédictible et exécution périodique des tâches • Requiert des contraintes de temps dures - Une tâche peut demander la plus haute priorité (highest OS priorities)priorities) • Plusieurs tâches (sous forme machines à états) partagent le CPU - Contexte multitâche - Changements de contexte rapides requis (< 1s) INF3610 Systèmes embarqués
  • 17. Systèmes dominés par le contrôleSystèmes dominés par le contrôle • Peu de données associées à chaque machine à états - En associant de la mémoires sur puces (registres) à ces machines on peu accélérer les changements de contextemachines on peu accélérer les changements de contexte (context switches). • Un RTOS préemptif est en général requis:p p g q – La tâche la plus prioritaire est exécutée en premier. – Les tâches les moins prioritaires sont exécutées en dernier (ou même jamais)dernier (ou même jamais). – Plusieurs algorithmes d’ordonnancement (statiques ou dynamiques) existent. INF3610 Systèmes embarqués
  • 18. Systèmes dominés par le contrôleSystèmes dominés par le contrôleSystèmes dominés par le contrôleSystèmes dominés par le contrôle INF3610 Systèmes embarqués 18
  • 19. Systèmes dominés par le flôt de donnéesSystèmes dominés par le flôt de données • Caractéristiques: – Beaucoup de MIPS ou de MFLOPS;Beaucoup de MIPS ou de MFLOPS; – Bande passante élevée (Mo/sec); Instructions spécialisées pour DSP;– Instructions spécialisées pour DSP; – Support limité pour les interruptions et les changements de contextechangements de contexte – Beaucoup de données pour un même contexte (processus). INF3610 Systèmes embarqués 19 (processus).
  • 20. Systèmes dominés par le flôt de donnéesSystèmes dominés par le flôt de données • Caractéristiques (suite): – Très peu de changements de contexte sont nécessairesTrès peu de changements de contexte sont nécessaires car un on a un seul flôt de donnés, mais il est à très haut débit. U ili i l d i ( d– Utilise un simple ordonnancement statique (pas de préemption) – Contraintes douces plutôt que duresContraintes douces plutôt que dures INF3610 Systèmes embarqués 20
  • 21. Systèmes dominés par le flôt de donnéesSystèmes dominés par le flôt de données Diagramme bloc du TMS320C40 INF3610 Systèmes embarqués 21
  • 22. 3. Exemples de systèmes embarqués3. Exemples de systèmes embarqués INF3610 Systèmes embarqués
  • 25. Exemple 1: Contrôleur de mineExemple 1: Contrôleur de mine • Application orientée contrôle • Spécification du système: • Dans une mine, on désire transformer du minerai en boulettesboulettes • Ce procédé se fait en deux étapes: 1. la séparation du minerai en boulettes de boue 2. la cuisson de ces boulettes pour leur durcissement • Nous allons nous concentrer sur la première étape INF3610 Systèmes embarqués
  • 26. Contrôleur de mineContrôleur de mine • La séparation du minerai en boulettes s’effectue dans une hi lé t ifmachine appelée centrifugeuse. • Les minerais arrivent sur des chariots et y ajoute de l’eau d’un réservoir qui s’écoule à un certain débit proportionnel à laése vo qu s écou e à u ce ta déb t p opo t o e à a quantité de minerai à traiter. Le débit est contrôlé par deux paramètres : 1) La quantité d’eau présente dans le réservoir (plus il y a d’eau, plus la pression est forte, ce qui en résulte un plus grand débit) 2) La valve à la sortie du réservoir. Cette valve peut être réglée à n’importe laquelle valeur entière entre 0 et 100 (%). INF3610 Systèmes embarqués
  • 27. Contrôleur de mineContrôleur de mine INF3610 Systèmes embarqués
  • 28. Contrôleur de mineContrôleur de mine • Le système est exposé à plusieurs contraintes: • Quand le niveau d’eau atteint Alerte niveau bas, la pompe est activée pour remplir le réservoir. • Le débit d’eau requis du réservoir est calculé sur le poids total des minerais arrivés lors des deux dernière secondes. • Le niveau du réservoir doit EN TOUT TEMPS êtreLe niveau du réservoir doit EN TOUT TEMPS être supérieur à 25 centimètres et EN TOUT TEMPS inférieur à 1 mètre (un débordement entraînerait une épidémie de choléra minier)choléra minier). INF3610 Systèmes embarqués 28
  • 29. C t ôl d iC t ôl d iContrôleur de mineContrôleur de mine • La quantité de minerai présente dans la centrifugeuse déterminera la fréquence d’arrivée des chariots de minerai dans le système :minerai dans le système : – Moins de 200 kg (x < 200) → 5 chariots/seconde – Entre 200 et 250 kg (200 ≤ x < 250) → 4 chariots/seconde – Entre 250 et 300 kg (250 ≤ x < 300) → 3 chariots/seconde – Entre 300 et 350 kg (300 ≤ x < 350) → 2 chariots/seconde – Plus de 350 kg (x ≥ 350) → 1 chariot/secondeus de 350 g ( ≥ 350) c o /seco de INF3610 Systèmes embarqués
  • 30. Contrôleur de mineContrôleur de mine • Rappel: le système est en 2 partiesRappel: le système est en 2 parties... 1. Le contrôleur (PC ou microcontrôleur) 2 Le contrôlé (environnement physique)2. Le contrôlé (environnement physique) MicroBlaze running RTOS Hw INF3610 Systèmes embarqués
  • 31. Exemple 1Exemple 1 MicroBlaze et RTOS INF3610 Systèmes embarqués 31 Hw
  • 32. Example 2: Encodeur MPEG-2Example 2: Encodeur MPEG-2 • MPEG 2 est un exemple typique d'application dominée par un flôt de données. • MPEG 2 décrit une combinaison de compression vidéoMPEG 2 décrit une combinaison de compression vidéo et audio. • MPEG-2 vise uniquement des usages liés à la télévision é i (diff i DVB t DVD) iti ànumérique (diffusion DVB et DVD), par opposition à MPEG-4 qui englobent toutes les nouvelles applications multimédias comme le téléchargement et le streaming sur Internet, le multimédia sur mobile, la radio numérique, les jeux vidéo, la télévision et les supports haute définition. INF3610 Systèmes embarqués 32 haute définition.
  • 33. Encodeur MPEG2Encodeur MPEG2 Video input Pre-processing Buffer fullness Difference Picture Buffer +  DCT QuantizerBuffer +  DCT Quantizer (New picture) - Predicted picture Inverse quantizer motion compensated Inverse DCT predictor + picture memory Hufman filter motion estimation (old picture)  - motion vectors encoded coefficients Entropy PES packets Control data encoder Buffer Packetizer INF3610 Systèmes embarqués 33 Control data encoder Buffer Packetizer Diagramme blocs de l’encodeur MPEG
  • 34. Profilage de l’encodeur B g Beaucoup d’OPS (donc Matériel) Motion estimation (compensation du mouvement) dont la fonction principale est la reconnaissance de patrons (Bloc Matching) ) DCT Zig zag E dPeu d’OPS Encodage Etc. Peu d’OPS et beaucoup de contrôle (donc INF3610 Systèmes embarqués 34 logiciel)
  • 35. Profilage de l’encodeur (suite)g ( ) Ces fonctions représentent seulement 6% des 8086 lignes de code d’une application MPEG4, mais elles consomment 83% du CPU… Paulin et al Parallel programming models for a multiprocessor SoC platform applied to networking and multimedia TCAD 2006 INF3610 Systèmes embarqués 35 Paulin et al., Parallel programming models for a multiprocessor SoC platform applied to networking and multimedia, TCAD 2006.
  • 36. Compensation du mouvement 1 3 4 1 2 3 4 2 7 8 5 6 7 8 5 6 10 9 11 12 9 10 11 12 14 13 14 15 16 13 15 16 Chaque image est coupée blocs de 8x8 pixels. Au lieu de transférer tous les 64 pixels, le vecteur de mouvement (x, y) pour chaque bloc est transféré (d’après sa position précédente). Image courante Image précédente Par exemple : le bloc 1 n'a pas été déplacé et le bloc 2 a descendu en Y, etc. Par exemple : le bloc 3 est trop différent et est donc re-transféré au complet. INF3610 Systèmes embarqués 36
  • 37. Reconnaissance de patron (BM) • On cherche chaque bloc de 8x8 pixels de l’image courante dans une zone élargie de 16x16 pixels de l’image précédente (voir l’exemple sur le bloc 10) p de 16x16 pixels de l image précédente (voir l exemple sur le bloc 10) 1 3 4 1 2 3 4 2 7 8 5 6 7 8 5 6 10 9 11 12 9 10 11 12 Espace de recherche du bloc 10 14 13 14 15 16 13 15 16 INF3610 Systèmes embarqués 37 Image courante Image précédente
  • 38. Reconnaissance de patron (BM) 8 pixels 16 pixels 8 pixels 16 pixels 8pixels s 8pixels s On peut démontrer qu’après 81 * 64 16pixels 16pixels qu après 81 64 comparaisons (opérations), si l t ’ 8 pixels 16 pixels 8 pixels 16 pixels le patron n’a pas été trouvé, c’est qu’il 8pixels ls 8pixels ls n’existe pas. 16pixe 16pixe INF3610 Systèmes embarqués 38
  • 39. Spécification d’un BM • On compare un patron de 8x8 pixels sur des blocs d’imagep p p g de 16x16 pixels (les pixels sont des tons de gris codés sur 8 bits). Il y a au maximum 81* 64 comparaisons • Pour une image 1K x 1K divisée en 4096 blocs on aura 81Pour une image 1K x 1K divisée en 4096 blocs on aura 81 * 64 * 4096 comparaisons • En supportant 30 images/sec. => 81 * 4096 * 64 * 30 comparaisons/sec  637 MOPScomparaisons/sec.  637 MOPS • De nos jours, 637 MOPS est atteignable sur un Pentium 4. Mais supposons maintenant 60 images/sec sur un écran l (24 bi ) 81 * 4096 * (64 * 3) * 60 3 822couleur (24 bits) => 81 * 4096 * (64 * 3) * 60 = 3.822 GOPS… INF3610 Systèmes embarqués 39
  • 40. De manière plus généraleDe manière plus générale INF3610 Systèmes embarqués 40
  • 41. 4. Écart de la productivité4. Écart de la productivité Logic Transistors/Chip Transistor/Staff Month 58%/Y d  1B 10B 10M 100M 58%/Yr. compound Complexity growth rate  1M 10M 100M 10K 100K 1M 21%/Yr compound xx x x x x x 10K 100K 1M 100 1K 10K 21%/Yr. compound Productivity growth rate Source: SEMATECH  1K 10K 10 100 SEMATECH 100M logic gates in 90nm = Logic of 1000 ARM7’s I i t f S C 10M$ 100M$ d i t INF3610 Systèmes embarqués 41 Increasing cost of SoC: 10M$ ~100M$ design cost Gracieuseté de STMicroelectronics
  • 42. SolutionsSolutions • Il faut faire de la réutilisation: logiciel (chap. 2) et matériel (chap. 3) • Il faut exploiter le parallélisme (multicores et multiprocesseurs)Il faut exploiter le parallélisme (multicores et multiprocesseurs) et l’hétérogénéité (chap. 3) • Il faut travailler à plus haut niveau d’abstraction (chap. 4) INF3610 Systèmes embarqués 42
  • 43. Parallélisme et hétérogénéitéParallélisme et hétérogénéité Processeur ARM 1 Processeur ARM N Mémoire Bus Coprocesseur DCT Coprocesseur SAD Coprocesseur Q tifi tiDCT SAD Quantification INF3610 Systèmes embarqués 43
  • 44. Autre façon d’illustrer l’hétérogénéité… INF3610 Systèmes embarqués 44 Tiré de http://www.ida.liu.se/~petel/codesign/
  • 46. Finalement il ne faut pas oublier laFinalement il ne faut pas oublier la consommation de puissance… INF3610 Systèmes embarqués 46