You are on page 1of 46

Chapitre 1 : Introduction la conception des

systmes embarqus

1. Dfinitions et caractristiques
2. Domaines d'application
3. Exemples de systmes embarqus
4. cart de productivit
p

1
INF3610 Systmes embarqus
1. Dfinitions et caractristiques

1. Systme temps rel


2.. Sys
Systme
e embarqu
e ba qu
3. Systme sur puce

2
INF3610 Systmes embarqus
Systme temps rel

Un systme temps rel est un systme


numrique qui doit rpondre un ensemble de
stimuli provenant de lenvironnement dans un
intervalle de temps dict par ce mme
environnement (i.e. des contraintes
temporelles).

3
INF3610 Systmes embarqus
Systme temps rel
Exemple dun systme temps rel ou ractif:

INF3610 Systmes embarqus


Exemple de systeme temps rel: le cruise control

Spcifications temporelles dun sous-ensemble de signaux:


Via des sensors, chantillonnage du signal Finalement, le tableau de bord doit tre
embrayage (gear) et frein (brake) au mis jour, au moins toutes les secondes.
moins toutes les ms.
Suite aux valeurs obtenus prcdemment,
on doit calculer au moins toutes les sec
la valeur approprie pour le contrleur de 1 contrainte
valve (qui dtermine la nouvelle vitesse). moins dure
galement, il ne doit pas scouler plus de 1/sec
1 mss eentree lee moment
o e o lee co conducteur
duc eu
appuie sur le frein et son effet sur la valve. speed
1000/sec ave_speed

brake consumption
Cruise Control
gear
3 contraintes <= 1ms
dures valve

1/sec
5
INF3610 Systmes embarqus
Systme temps rel

Caractristiques dun systme temps rel :


Constitu de deux sous-systmes:
1 Le contrleur (PC ou microcontrleur)
1.
2. Le contrl (environnement physique)

6
INF3610 Systmes embarqus
Caractristiques dun systme temps rel

La relation entre les deux sous-systmes est dcrite par


trois oprations: chantillonnage, calcul et rponse. Ces
oprations doivent se raliser lintrieur dintervalle(s)
de temps: ce sont les contraintes de temps.
Deux types de contrainte
i temporelle existent:
i d
douce ou
dure

7
INF3610 Systmes embarqus
Caractristiques dun systme temps rel

Une contrainte douce (systme temps rel doux) est moins


contraignante, i.e. quelle permet une erreur raisonnable
par rapport au moment exact o le
l processus aurait
i d
sexcuter. Exemple: encodeur/dcodeur vido
Par opposition,
opposition la contrainte dure (systme temps rel dur)
ne permet aucune erreur sur le moment o le processus
aurait d sexcuter. Exemple: frein dune voiture,
pacemaker, etc.

8
INF3610 Systmes embarqus
Composition dun
d un systme embarqu

Une partie matrielle utilise pour la performance


Micro-processeur, contrleurs, coprocesseurs, DSP
Mmoires
M i
ASIC
Interfaces ddentres/sorties
entres/sorties

Une ppartie logicielle


g utilise pour
p sa flexibilit
Programmes
Software
Program

9
INF3610 Systmes embarqus
Systme embarqu
Un systme embarqu est un systme servant rsoudre
d ffonctions
des i et des
d tches
h spcifiques
ifi et limites.
li i
Associ contraintes en temps rel
Souvent conu en matriel avec des parties en logiciel. logiciel
La complexit du systme et des fonctions varient
largement
Contrleur dun lave-vaisselle
Portable MP3
Contrleur de missiles
Le logiciel est utilis pour la flexibilit
Le
L matriel
t i l estt utilis
tili pour la
l performance
f ett la
l
consommation Voir wikipedia.org
INF3610 Systmes embarqus
Contraintes des systmes embarqus
Mtriques de conception principales
Consommation et dissipation de puissance
Taille
Cots de production et cots non rcurrents
Fiabilit
Temps de commercialisation (time to market)
Dautres contraintes existent:
Tolrance aux pannes,
pannes
Rsistance aux chocs et tempratures,
BIST
Flexibilit et mises
mises--jour
jour
Souvent utiliss dans un environnement ractif soumis des
contraintes temps rel.
Ncessitent des systmes haute performance
11
INF3610 Systmes embarqus
Systme sur puce (SoC)
Un SoC constitue un circuit complexe qui intgre tous les
lments fonctionnels dun produit sur une mme puce.
Par exemple, des modules logiciels (DSP), des mmoires,
des priphriques, des coprocesseurs matriels (FPGA ou
ASIC) et mme des modules analogiques ou
optolectroniques
t l t i peuventt tous
t tre
t mis
i sur un mme
d.
d

Lobjectif
L objectif est diminuer au minimum le nombre de
composants sur une carte pour mettre tout sur une seule
puce.

12
INF3610 Systmes embarqus
Objectif du SoC
SDRAM(16Mbits )

Systme sur carte Systme sur puce


i e carte matresse
i.e. - UCT
- mmoire
- bus
- units ddexcution
excution spcialises

13
INF3610 Systmes embarqus
E
Exemple
l de
d SoC
S C SDRAM(16Mbits )

ADDR: 12bit
Processeur ARM7
DATA: 16bit SDRAM Controller
Y 8bit
Y/C
H/V/CLK
C 8bit
SDRAM Controller
for Capture
Y 8bit
C 8bit
Y/C
H/V
Logique ddie DCT
ASB Control
ARM I/F Register
setting
Contrleur USB
Arbiter ARM Peripheral

Decoder R
Remap
DCT Engine
TIC Timer

DMA DCT
DMA RAM Interrupt 2port
Interrupt
DCT RAM
1KByte
Wrapper

PIO P IO 8bit X 2port


ARM7TDMI DCT
JTAG Quantize/Zigzag
UART SIO 1ch

SCAN to SRAM
S DRAMC (32KByte) ASB APB
DCT APB
Bridge USB USB
USB ADDR: 32bit ADDR: 32bit
DATA: 32bit DATA: 16bit
40MHz
PLL
for ARM Memory ASB Control
24MHz
48MHz Expansion
PLL
for USB
ADDR: 31bit
DATA: 32bit

ASB : AMBA System Bus


External APB : AMBA Peripheral Bus
EPROM Bus I/F

Sony Digital Camera SOC


14
INF3610 Systmes embarqus
2. Clases dapplications

Deux classes dapplications:


1 Systmes domins par le contrle (control
1.
dominated systems). E.g. des systmes
ractifs
2. Systmes domins par un flt de donnes
(data-domintated
(data domintated systems)

15
INF3610 Systmes embarqus
Systmes domins par le contrle

Requiert des contraintes de temps


- Temps dexcution prdictible et excution priodique des tches

Requiert des contraintes de temps dures


- Une tche peut demander la plus haute priorit (highest OS
priorities)

Plusieurs tches (sous forme machines tats) partagent le CPU


- Contexte multitche
- Changements de contexte rapides requis (< 1s)

INF3610 Systmes embarqus


Systmes domins par le contrle

Peu de donnes associes chaque machine tats


- En associant de la mmoires sur puces (registres) ces
machines on peu acclrer les changements de contexte
(context switches).
Un RTOS p
premptif
p est en ggnral requis:
q
La tche la plus prioritaire est excute en premier.
Les tches les moins prioritaires sont excutes en
dernier (ou mme jamais).
jamais)
Plusieurs algorithmes dordonnancement (statiques ou
dynamiques) existent.

INF3610 Systmes embarqus


Systmes domins par le contrle

18
INF3610 Systmes embarqus
Systmes domins par le flt de donnes

Caractristiques:
Beaucoup de MIPS ou de MFLOPS;
Bande passante leve (Mo/sec);
Instructions spcialises pour DSP;
Support limit pour les interruptions et les
changements de contexte
Beaucoup de donnes pour un mme contexte
(processus).
19
INF3610 Systmes embarqus
Systmes domins par le flt de donnes

Caractristiques (suite):
Trs peu de changements de contexte sont ncessaires
car un on a un seul flt de donns, mais il est trs haut
dbit.
Utilise
U ili un simple
i l ordonnancement
d statique
i (pas
( de
d
premption)
Contraintes douces plutt que dures

20
INF3610 Systmes embarqus
Systmes domins par le flt de donnes

Diagramme bloc du TMS320C40

21
INF3610 Systmes embarqus
3. Exemples de systmes embarqus

INF3610 Systmes embarqus


http://www.eecs.berkeley.edu/~apinto/esd/Home.html
http://www.eecs.berkeley.edu/ apinto/esd/Home.html
23
INF3610 Systmes embarqus
24
INF3610 Systmes embarqus
Exemple 1: Contrleur de mine

Application oriente contrle


Spcification du systme:
Dans une mine, on dsire transformer du minerai en
boulettes
Ce procd se fait en deux tapes:
1. la sparation du minerai en boulettes de boue
2. la cuisson de ces boulettes pour leur durcissement
Nous allons nous concentrer sur la premire tape

INF3610 Systmes embarqus


Contrleur de mine

La sparation du minerai en boulettes seffectue dans une


machine
hi appele
l centrifugeuse.
t if
Les minerais arrivent sur des chariots et y ajoute de leau dun
se vo qu
rservoir qui sscoule
cou e u
un ce
certain
ta db
dbitt p
proportionnel
opo t o e la
a
quantit de minerai traiter. Le dbit est contrl par deux
paramtres :
1) La quantit deau prsente dans le rservoir (plus il y a
deau, plus la pression est forte, ce qui en rsulte un plus
grand dbit)
2) La valve la sortie du rservoir. Cette valve peut tre
rgle nimporte laquelle valeur entire entre 0 et 100 (%).

INF3610 Systmes embarqus


Contrleur de mine

INF3610 Systmes embarqus


Contrleur de mine

Le systme est expos plusieurs contraintes:


Quand le niveau deau atteint Alerte niveau bas, la pompe
est active pour remplir le rservoir.
Le dbit deau requis du rservoir est calcul sur le poids
total des minerais arrivs lors des deux dernire secondes.
Le niveau du rservoir doit EN TOUT TEMPS tre
suprieur 25 centimtres et EN TOUT TEMPS infrieur
1 mtre (un dbordement entranerait une pidmie de
cholra minier).
minier)

28
INF3610 Systmes embarqus
C t l
Contrleur d mine
de i

La quantit de minerai prsente dans la centrifugeuse


dterminera la frquence darrive des chariots de
minerai dans le systme :
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
us de 350 kg
g ((x 350) 1 chariot/seconde
c o /seco de

INF3610 Systmes embarqus


Contrleur de mine

Rappel: le systme est en 2 parties...


parties
1. Le contrleur (PC ou microcontrleur)
2 Le contrl (environnement physique)
2.
MicroBlaze running RTOS

Hw

INF3610 Systmes embarqus


Exemple 1

MicroBlaze
et RTOS

Hw 31
INF3610 Systmes embarqus
Example 2: Encodeur MPEG-2

MPEG 2 est un exemple typique d'application domine


par un flt de donnes.
MPEG 2 dcrit une combinaison de compression vido
et audio.
MPEG-2 vise uniquement des usages lis la tlvision
numrique
i (diffusion
(diff i DVB ett DVD),
DVD) par oppositioniti
MPEG-4 qui englobent toutes les nouvelles applications
multimdias comme le tlchargement et le streaming
sur Internet, le multimdia sur mobile, la radio
numrique, les jeux vido, la tlvision et les supports
haute dfinition.

32
INF3610 Systmes embarqus
Encodeur MPEG2
Video input

Pre-processing
Buffer fullness
Difference Picture
Buffer + 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

Diagramme blocs de lencodeur MPEG 33


INF3610 Systmes embarqus
Profilage
g de lencodeur

Beaucoup
B Motion estimation (compensation du mouvement)
dOPS dont la fonction principale est la reconnaissance de
(donc
patrons (Bloc Matching)
Matriel))

DCT

Zig zag

Peu dOPS E
Encodage
d
et beaucoup
de contrle Etc.
(donc
logiciel)
34
INF3610 Systmes embarqus
Profilage
g de lencodeur ((suite))

Ces fonctions reprsentent


seulement 6% des 8086 lignes
de code dune application
MPEG4, mais elles consomment
83% du CPU

Paulin et al.,
al Parallel programming models for a multiprocessor SoC platform applied to networking and multimedia
multimedia, TCAD 2006.
2006

35
INF3610 Systmes embarqus
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
Image courante Image prcdente

Chaque image est coupe blocs de 8x8 pixels. Au lieu de transfrer tous les 64 pixels, le
vecteur de mouvement (x, y) pour chaque bloc est transfr (daprs sa position prcdente).
Par exemple : le bloc 1 n'a pas t dplac et le bloc 2 a descendu en Y, etc.
Par exemple : le bloc 3 est trop diffrent et est donc re-transfr au complet.

36
INF3610 Systmes embarqus
Reconnaissance de p
patron (BM)

On cherche chaque bloc de 8x8 pixels de limage courante dans une zone largie
de 16x16 pixels de limage
l image prcdente (voir llexemple
exemple sur le bloc 10)

1 3 4 1 2 3 4
2
7 8 5 6 7 8
5 6
10
Espace de recherche
9 du bloc 10 11 12 9 10 11 12

14 13 14 15 16
13 15 16

Image courante Image prcdente


37
INF3610 Systmes embarqus
Reconnaissance de patron (BM)
16 pixels 16 pixels
8 pixels 8 pixels

On peut
dmontrer

8 pixels

8 pixels
quaprs
qu aprs 81 * 64

16 pixelss

16 pixelss
comparaisons
(oprations), si
l patron
le t na

pas t trouv,
cest quil
16 pixels 16 pixels
8 pixels 8 pixels

nexiste pas.
8 pixels

8 pixels
16 pixels

16 pixels

38
INF3610 Systmes embarqus
Spcification dun BM
On comparep un ppatron de 8x8 pixels
p sur des blocs dimage
g
de 16x16 pixels (les pixels sont des tons de gris cods sur 8
bits). Il y a au maximum 81* 64 comparaisons
Pour une image 1K x 1K divise en 4096 blocs on aura 81
* 64 * 4096 comparaisons
En supportant 30 images/sec. => 81 * 4096 * 64 * 30
comparaisons/sec 637 MOPS
comparaisons/sec.
De nos jours, 637 MOPS est atteignable sur un Pentium 4.
Mais supposons maintenant 60 images/sec sur un cran
couleur
l (24 bits)
bi ) => 81 * 4096 * (64 * 3) * 60 = 3.822
3 822
GOPS

39
INF3610 Systmes embarqus
De manire plus gnrale

40
INF3610 Systmes embarqus
4. cart de la productivit
10B Logic Transistors/Chip 100M
1B Transistor/Staff Month 10M

100M 58%/Yr. compound


58%/Y d 1M
Complexity growth rate
10M 100K
1M 10K
x
100K x x 1K
x x x
x
10K 21%/Yr. compound
21%/Yr 100
Productivity growth rate
1K 10
Source:
SEMATECH

100M logic gates in 90nm = Logic of 1000 ARM7s


Increasing
I i costt off SoC:
S C 10M$ ~100M$
100M$ d design
i costt
Gracieuset de STMicroelectronics 41
INF3610 Systmes embarqus
Solutions

Il faut faire de la rutilisation: logiciel (chap. 2) et matriel


(chap. 3)
Il faut exploiter le paralllisme (multicores et multiprocesseurs)
et lhtrognit (chap. 3)
Il faut travailler plus haut niveau dabstraction (chap. 4)

42
INF3610 Systmes embarqus
Paralllisme et htrognit

Processeur Processeur
Mmoire
ARM 1 ARM N

Bus

Coprocesseur Coprocesseur Coprocesseur


DCT SAD Q
Quantification
tifi ti

43
INF3610 Systmes embarqus
Autre faon dillustrer lhtrognit

Tir de http://www.ida.liu.se/~petel/codesign/
44
INF3610 Systmes embarqus
Ou encore

Codesign logiciel/matriel

45
INF3610 Systmes embarqus
Finalement il ne faut pas oublier la
consommation de puissance

46
INF3610 Systmes embarqus

You might also like