Vous êtes sur la page 1sur 107

Architecture de traitement

pour les systèmes embarqués


UE1 M2-ESA
Ensea - UCP
Organisation du module
I. (A) Intro + Principaux concepts d’architecture
(3h)
III. (B) Principes de fonctionnement des processeurs

(3h)
IV. Étude quantitative du jeu d’instruction (3h)
V. Mesure de performances et amélioration (3h)
VI. Spécificités des DSP + classification (4h)
VII. Étude des architectures SoC pour l’embarqué
I. Architecture SoC DiMITRI pour la radio logicielle (2h)
Interventions
Intervenant Durée Date
I.A Concepts B.Miramond 3h 19 octobre
I.B Principe F. Verdier 3h 24 octobre
II. ISA B. Miramond 3h 10 Nov.
III. Performances F. Verdier 3h 14 Nov.
IV. DSP B. Miramond 4h 16 Nov.
V. SoC J. Quévremont 3h 23 Nov.
Thales
Objectifs de la formation
1. Assurer les connaissances de base sur
l’architecture et le fonctionnement des unités de
traitement de l’embarqué
1. Processeurs RISC
2. Processeurs DSP
2. Savoir différencier les différents types
d’architecture
1. Impact du jeu d’instruction sur l’architecture
2. Comparaison de performances
3. Savoir faire les choix de plateforme matérielle en
fonction des besoins de l’application embarquée
Bibliographie
• Architecture de l’ordinateur, A. Tanenbaum, 2005
– Cerclades + Ensea (3)
• Architecture des ordinateurs : une approche
quantitative, J. Hennessy & A. Patterson, 2003.
– St Martin + Cerclades + Ensea (anglais)
• Traitement numérique du signal temps réel, M.
Corneloup, Polycopié de cours, 2001.
– Ensea
• Embedded systems architecture, Noergaard, 2005
– Ensea
• ARM system-on-chip architecture, S. Furber, 2000
– Ensea
Plan de la première partie

I. Historique des architectures de


traitement
II. Spécificités des architectures
embarqués
I. Historiques de architectures
de traitement
a. L’ordinateur
• Le terme 'ordinateur' est d’origine biblique
– « celui qui met en ordre » (divin)
– ordonnateur
– « entrer dans les ordres », « ordination »
• Il a été proposé par le professeur de
philologie Jacques Perret dans une lettre
datée du 16 avril 1955 en réponse à une
demande d’IBM France
1. Génération zéro:
les calculateurs mécaniques
(1642-1945)
a. Les premiers calculateurs

• Blaise Pascal (1623-1662)


– 1642 Première calculatrice mécanique (à 19
ans)
• Addition, soustraction en base 10

• Leibnitz (1646-1716)
– 1670 Ajout de l’opération de multiplication, et
division
La pascaline
• Charles Babbage (1792-1871)
– « Machine à différence » :
• un seul algorithme (méthode des différences finies)
• pour les tables numériques pour la navigation en mer
• Résultats gravés sur un plateau de cuivre
– Machine analytique (1840)
• Lecture sur des cartes perforées
• Différents algorithmes exécutables !!!
• 4 parties
– Le magasin(la mémoire) = 1000 mots de 50 chiffres =
1,25Mo
– Le moulin (l’unité de calcul)
– L’entrée (lecteur de cartes perforées)
– La sortie (perforation ou impression)
– 1843 Premier programme informatique
• Ada Lovelace (langage d’assemblage)
Charles Babbage

Première machine analytique


Ada Lovelace (Byron)
• `Is thy face like thy mother's, my fair child!
Ada! sole daughter of my house and of my
heart? When last I saw thy young blue
eyes they smiled'
And then we parted,-not as now we part,
but with a hope.'

• From Childe Harold's Pilgrimage,Byron,


(1816), Canto III.
2. La première génération
les tubes à vides
(1945-1955)
a. Innovations
• Technologiques
– 1904 John Flemming invente le tube à
vide :
• Interrupteur électronique (pannes
fréquentes, encombrant)

• Réalisations : Alan Turing


– 1943 Premier calculateur numérique
– Resté sous silence pendant 30ans
b. Machine de Harvard
• « the beginning of the era of the modern
computer»
• Ordinateur à relais
• 1944 Howard Aiken Addition 1s
– Mark 1 à Harvard Multiplicatio 6s
– Entièrement automatique n
– Electro-mécanique
Division 15,3s
– 16m x 2,5m – 4500 Kg Logarithme 1min
– Démarré par un moteur 5 chevaux
trigo 1min
– Utilise un arbre de synchronisation
– 72 mots de 23 chiffres
– Temps de cycle : 6 secondes
– Soit 0.16 Hz
Mark I
Principe de l’architecture de
Harvard

MI : Mémoire d’instruction
MD : Mémoire de données
c. ENIAC - Premier ordinateur
électronique
• 1946 : Mauchly et Eckert
• Projet de l’US Army
• Capable d’être reprogrammée par branchements
• Vendue à 500 000$ à 1 unité
• 1 cycle = 200ms soit 5 cycles/sec
• Une multiplication de 2 opérandes à 10 chiffres
prenait 14 cycles, soit 2800 ms
• Il est divisé en 30 unités autonomes
(dont 20 accumulateurs / additionneurs 10 digits,
1 multiplicateur
et 1 "Master Programmer" capable de gérer les
boucles).
• ENIAC (1946)
– 30m de long
– 2.5m de haut
– 18 000 tubes à vide
– 1500 relais
– 30 Tonnes
– 140 KW
– 20 registres de 10
chiffres décimaux
– 6000 commutateurs
pour la programmation

– Participant :
Von Neumann
Les limites
• il doit être recâblé pour exécuter un
nouveau programme.
• De plus l'ENIAC utilise des registres
décimaux et non binaires.
d. La machine de Von Neumann
• Von Neumann (1903,1957)
– Il se greffe au projet ENIAC après 1946
• Idées
– On peut représenter le programme sous une
forme numérique et le ranger en mémoire
comme les données (plus de programmation
des commutateurs)
– Introduction de l’arithmétique binaire!
– Ancêtre à la base des architectures actuelles
• Résultat : l’IAS (1952)
– Premier ordinateur à programme enregistré
– Mémoire séparée du CPU
Schéma de la machine de Von
Neumann
5 parties
• La mémoire
Mémoire (4096 mots de 40 bits)
• L’UAL
• L’unité de commande
• Les entrées
• Les sorties Unité
arithmétique Unité de
et logique commande
Accumulateur

Entrées Sorties
L’apport de Von Neumann
• Le premier ordinateur à programme
enregistré
• Le programme est traduit de manière
numérique et écrit en mémoire.
• Pour cela, création d’un jeu d’instructions
machine, et transformation des calculs en
séries d’instructions
• La machine devient plus flexible parce que
programmable
Von Neumann’s Bottleneck
• La séparation entre le CPU et la mémoire a amené à la
notion de Von Neumann’s Bottleneck
• (goulot d’étranglement qu’est la communication entre
processeur et mémoire).
• ‘’ Surely there must be a less primitive way of making big
changes in the store than by pushing vast numbers of
words back and forth through the von Neumann
bottleneck. Not only is this tube a literal bottleneck for
the data traffic of a problem, but, more importantly, it is
an intellectual bottleneck that has kept us tied to word-
at-a-time thinking instead of encouraging us to think in
terms of the larger conceptual units of the task at hand.
Thus programming is basically planning and detailing the
enormous traffic of words through the von Neumann
bottleneck, and much of that traffic concerns not
significant data itself, but where to find it."
• John Backus in his 1977 ACM Turing award lecture
Machine de Von Neumann
• Structure des mots mémoire mots de 40 bits :
– Soit 2 instructions de 20 bits
– Soit 1 entier signé de 40 bits

• Instructions composées de 2 champs


– 8 bits codent le type d’instruction
– 12 bits pour spécifier (adresser) un des 4096 mots

Code d’instruction adressage

• Ex :
– PUSH $1024
– ACC $0015
Von Neumann et sa machine
e. L’assembleur
• 1947 : Amélioration du traitement binaire :
le langage Assembleur est inventé par
l'anglais Maurice V. Wilkes.
3. 2ème génération
les transistors
(1955-1965)
a. Innovations
• technologiques
– 1948 : Invention du transistor aux Bell Labs (Bardeen,
Shockley)
• Interrupteur commandé électroniquement
• Beaucoup moins encombrant que le tube
• Concepts architecturaux
– Programmation en langage machine
– Microprogrammation
– Représentation des nombres en virgule flottante
• Logicielles
– Apparition des systèmes d’exploitation
– Programmation en assembleur
– Premier langage de haut niveau : le FORTRAN
b. Le début des grandes firmes
• IBM
– (7090, 7094, 7030…)
• Bull
– (PDP-1, PDP-8…)
• DEC
– (TX-0, TX-2…)
• CDC
– (6600, 6700, Cray-1…)
IBM 7094

(uniquement les consoles…) PDP-8


4. 3ème génération
les circuits intégrés
(1965-1980)
a. Les circuits intégrés
• 1961 Premiers circuits intégrés (sur
silicium R. Noyce)
– Innovations technologiques
• Moindre encombrement
• Moindre consommation
• Gain en performances
b. Innovations
• Innovations architecturales
– Compatibilité des machines d’une même gamme
(IBM: System/360)
– Introduction du parallélisme (multi-
programmation)
– Systèmes à multi-processeurs
• Logiciels
– Langages de programmation
• Basic, Pascal, C, …
• Exemples d’architectures
– IBM 360, CDC 6000, PDP 11, …
L’offre d’IBM: System/360
Caractéristiqu 30 40 50 60
es des
System/3…
Performance 1 3,5 10 21
relative 1 KHz 1,6 2 KHz 4 KHz
KHz
Temps de 1000 625 500 250
cycle (ns)
Mémoire max. 64 256 256 512
(Ko)
IBM 360

PDP-11
c. Naissance d’Intel, le premier
microprocesseur
• 1968 R. Noyce, G. Moore et A. Rock
fondent Intel Corporation
• 1970 première UC composée de 2300
transistors (LSI) : le 4004 processeur 4bits
• 1973 le 8008 processeur 8bits
• 1978 le 8086 processeurs 16 bits
1971 : Premier microprocesseur
Intel 4004
Microprocesseur 4 bits
108 KHz
60000 Instructions par seconde
2300 transistors
4ème génération
Les VLSI
(1980, maintenant)
a. Innovations
• Densité d’intégration augmente : VLSI
– Dizaine de milliers -> millions de transistors
sur une puce
• Passage du centre de calcul à l’ordinateur
personnel
• Innovations architecturales
– réseaux d’ordinateurs
– Concepts de parallélisme développés
• Logiciels
MSI
(100 – 100K)

SSI
(10-100)
b. Circuits intégrés

Matériaux de
base
• Silicium
VLSI

Motif de base
• transistor

Gravés sur des


galettes de
silicium (wafer)
Densité d’intégration
• SSI – Small Scale Integration (1960’s)
– 1 à 10 portes / circuit
– Moins de 100 transistors
• MSI – Medium Scale Integration
– 10 à 100 portes / circuit
– Plus de 3000 transistors
• LSI – Large Scale Integration (1970’s)
– 100 à 10 000 portes / circuit
– Plusieurs dizaines de milliers de transistors
• VLSI – Very Large Scale Integration (1980’s)
– + de 10 000 portes / circuit
– 1 million de transistors
• ULSI – Ultra Large Scale Integration (2000’s)
– + de 100 000 porte / circuit
c. Les nouveautés
• 1977 Apple puis Apple II (Steve Jobs)
– Plusieurs millions d’exemplaires
• 1981 l’IBM PC (personnal computer)
– Intel 8088
– MS-DOS (microsoft)
– Plans diffusés gratuitement => clonage
• 1980 Architecture RISC dominante

• 1990 UC Superscalaires (cours de M1)


IBM PC

Apple II
d. Evolution chez Intel
• 8086 (1978)
– 16bits, 1Mo,
• 80286 (1982)
– 16 bits, mémoire étentue
• 80386 (1985)
– 32 bits
• 80486 (1989)
– 32 bits, cache de 8K
• Pentium (1993)
– Double pipeline
• Pentium pro (1995)
– Cache mémoire à 2 niveaux 8Ko + 256Ko
• Pentium II + Celeron + Xeon (1997)
– MMX Compatibilité
• Pentium III (1999) ascendante
• Pentium IV (2000)
Evolution des processeurs Intel:
densité, fréquence d’horloge
8000

7000

6000

5000
Année
4000 MHz
Transistors
3000

2000

1000

0
m

II
04

08

80

86

6
28

38

48

m
iu
40

80

80

80

80

80

80

iu
nt

nt
Pe

Pe
Evolution des processeurs Intel:
mémoire
10000000

1000000

100000

10000

1000 mémoire Ko

100

10

II
m
08

80

86

6
28

38

48

0,1 m
iu
80

80

80

80

80

80

iu
nt

nt
Pe

Pe
Intérieur du Pentium IV (Intel)

• année 2003

• ~40 millions de

transistors
• Gravure à 0,09 µ
m

• 2-4 GHz
5. Résumé
Mécanisme
a. L’héritage Automates
de l’arithmétique
Pascal Falcon

Leibnitz Jacquard

Logique
Technologie
mathématique

Leibnitz Mécanique
Babbage
Boole Electromécanique
Turing ENIAC
Electronique
Von Neumann

Wilkes

Industrie Informatique
b. Evolution historique
1980’s Suppression de la microprogrammation => cablé

1970’s « Ajouter du matériel par logiciel » : explosion des


jeux d’instructions

1960’s 5 Niveaux : OS

1957’s 4 Niveaux : J. Bachus premier compilateur FORTRAN

1951 3 Niveaux : M. Wilkes, niveau microprogrammation

1945 2 Niveaux : Von Neumann, ISA + physique


Niveau 5

Niveau 4

Niveau 3

Niveau 2

Niveau 1

Niveau 0
Niveau 5 Couche des langages d’application
Traduction (compilateur)
Niveau 4 Couche du langage d’assemblage

Traduction (assembleur)
Niveau 3 Couche du système d’exploitation
Interprétation partielle (OS)
Couche architecture du jeu d’instruction
Niveau 2
(ISA)
Interprétation (microprogramme)
ou exécution directe (cablé)
Niveau 1
Couche microarchitecture
Matériel
Niveau 0 Couche logique numérique
II. L’ordinateur actuel -
organisation
1. Fonctionnement
a. Spectre des ordinateurs actuels
Type Prix Exemple d’application
(euro)
Ordinateur jetable 1
Carte de vœux
Ordinateur enfoui 10téléphone, voitures
Ordinateur de jeux 100Jeux vidéo
PC 1KOrdinateur portable
Serveur 10KServeur de réseau
Station de travail 100KMini superordinateur
Mainframe 1MTraitement par lot :
banque
superordinateur 10M Prévision météo
b. Quelques marques de
processeurs standards
• Intel, AMD, Via
– Ordinateur personnel
• Sun
– Stations de travail (ultrasparc)
– Systèmes enfouis (microjava 701)
• Nvidia
– Carte graphique
• Transmeta, altera, Xilinx, ARM, MIPS
– Systèmes enfouis (crusoe, nios, virtex, arm9,
mipsRx000)
• …
c. Architecture actuelle de
l’ordinateur

E/S Autres
UC Mémoire Console
à ruban E/S

Le bus central
Architecture du PDP-8 (1965) structurée autour d’un bus central :
• L’omnibus

Le bus et la mémoire peuvent disposer de signaux séparées entre données et


instructions (Harvard)

Architecture des ordinateurs : terme inventé par IBM en 1964 pour le 360
c. Architecture actuelle de
l’ordinateur
UC / CPU

Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres UAL Mémoire principale

Bus interne

Bus externe
• Données
• Adresses
• Commandes
d. Echanges entre le processeur et
la mémoire
• Le processeur exécute un programme
– Programme écrit en mémoire
– Transfert d’instructions

• Le programme manipule des variables


– Transfert de données

• Toutes ces informations sont rangées à un


certain emplacement
– Transfert d’adresses
Principe général d’exécution
UC / CPU

Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres UAL Mémoire principale

Bus interne

1) Charger la
prochaine
instruction
Principe général d’exécution
UC / CPU

Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres UAL Mémoire principale

Bus interne

2) Charger les données


sur lesquelles travaille
l’instruction
Principe général d’exécution
UC / CPU

Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres UAL Mémoire principale

Bus interne

3) Exécuter l’instruction
et modifier la copie
locale des données
Principe général d’exécution
UC / CPU

Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres UAL Mémoire principale

Bus interne

4) Ranger le résultat en
mémoire
Principe général d’exécution
UC / CPU

Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres UAL Mémoire principale

Bus interne

5) Envoyer l’adresse de
la prochaine instruction
Revenir à l’étape 1)
d. Définition du cycle d’exécution
d’une machine de Von Neumann
Un cycle d’exécution machine consiste à
2. Charger l’instruction
3. Charger ses données
4. Faire un traitement sur ces données
5. Ranger le résultat du traitement
6. Désigner la prochaine instruction
2. Revenons sur l’organisation
multi niveaux
Niveau 5 Couche des langages d’application
Traduction (compilateur)

Niveau 4 Couche du langage d’assemblage

Traduction (assembleur)
Niveau 3 Couche du système d’exploitation
Interprétation partielle (OS)
Couche architecture du jeu d’instruction
Niveau 2
(ISA)
Interprétation (microprogramme)
ou exécution directe (cablé)
Niveau 1
Couche microarchitecture
Matériel
Niveau 0 Couche logique numérique
Niveau physique
• Architecture et fonctionnement
interne des composants
• Informations au niveau bit
s = abc + abc + abc + abc
a b c a b c
a

abc

abc
b
e1 OU
s
e2 abc

en
abc
s
c
Niveau microarchitecture
• Architecture matérielle
du processeur
• Information au niveau MAR
3
4 to 16
Memory control signals (rd,wr,fetch)

Decoder

mot
4
MDR MPC
9
PC
8
MBR
SP
8 Contrôleur
LV JMPC
MIR
CPP Addr J Alu C MB
TOS
OPC JAMN/JAMZ

H High
B Bus Bit 2

N
6 ALU
Z

C Bus Shifter 2
Niveau ISA
• Architecture de jeu d’instruction du processeur
• Interface entre matériel et logiciel
• Écrit en code binaire
• C’est le code manipulé et mémorisé en mémoire
principale au moment de l’exécution
• Totalement dépendant de l’architecture sous-
jacente
• Informations au niveau mot
• Dimensionnement des champs de l’instruction :
– Adresse Code d’instruction adressage
– Constantes
– Opérandes…
Niveau OS
• Exemple : primitives de uCOS
• Visibilité du niveau système
• Gestion du code binaire, du chargement…
• Responsable de la commutation de
contextes
• Services de communications entre
processus
• Abstraction des périphériques d’E/S
UC / CPU
Disque

• …
Unité de Contrôle
(HDD)

Unités d’entrée/sortie
Registres UAL Mémoire principale

Bus interne
Niveau Assemblage
• Premier niveau historique de
programmation
• Dépend d’une famille d’architecture de
processeur
/* code assembleur */
/* a:R0 b:R1 Tab:R2 */
load R2,Tab;
load R0,(R2);
load R1,12;
add R3,R0,R1;
store (R2),R3;
Niveau Langage d’application
• L’interface avec le programmeur humain
• Langages
• Abstraction des mécanismes d’exécution de
l’unité de calcul sous-jacente
• Totalement indépendant du CPU
• Nécessité de logiciels qui écrivent du code :
– Compilateurs
– Assembleurs
– Interpréteurs
– Editeurs de liens
2. Spécificités des
architectures embarqués
a) Architecture d’un système
embarqué
Marché de l’embarqué
• Augmentation de la puissance des
processeurs selon la loi de Moore

• Explosion du marché informatique

• Baisse des prix

=> Emergence de l’informatique embarquée


Systèmes embarqués

Définition :
Un système électronique embarqué ou enfoui
est un élément constitutif d’un système plus
complexe pour lequel il rend des services bien
précis (contrôle, surveillance,
communication…).

Il est constitué de parties matérielles et


logicielles qui sont conçues spécifiquement
pour réaliser une fonction dédiée.
Domaines d’application
• Applications utilisateur
– Jeux, bureautique, services, multimédia
– Téléphones, PDA, lecteurs MP3…
• Contrôle
– Contrôle-commande (automobile, usines, robots…)
• Traitement du signal
– Radar, sonar, avionique
– Traitement de srosses quantités de données
• Network computing
– Téléphonie, routeur…
Exemples - Netgear DG632 ADSL
Modem/router
1. Telephon decoupling electronics (for ADSL).
2. Multicolour LED (displaying network status).
3. Single colour LED (displaying USB status).
4. Main processor, a TNETD7300GDU, a member of Texas Instruments' AR7 product line.
5. JTAG (Joint Test Action Group) test and programming port.
6. RAM, a single ESMT M12L64164A 8 MB chip.
7. Flash memory, obscured by sticker.
8. Power supply regulator.
9. Main power supply fuse.
10. Power connector.
11. Reset button.
12. Quartz crystal.
13. Ethernet port.
14. Ethernet transformer, Delta LF8505.
15. KS8721B ethernet PHY transmitter receiver.
16. USB port.
17. Telephone (RJ11) port.
18. Telephone connector fuses.
Texas Instrument AR7 SoC
architecture
AR7 merges the
functionality of three
chips into one:
• integrating a 32-bit
RISC processor,
• a DSP-based (TI-
C62x) digital
transceiver,
• and an ADSL analog
front end
Exemple – Téléphone mobile
Systèmes embarqués
Les caractéristiques principales d’un système
électronique embarqué sont :
• Autonomes. Une fois enfouis dans
l’application il ne sont (le plus souvent) plus
accessibles
• Temps réel. Les temps de réponses de ces
systèmes sont aussi importants que
l’exactitude des résultats
• Réactifs. Il doit réagir à l’arrivée
d’informations extérieures non prévues
Architecture représentative
d’un système embarqué
Architectures embarqués
Besoins Léger Moyen Haut de Haute
gamme disponibili
RAM < 4Mo 2-8 Mo 8-32 Mo té
> 100 Mo

ROM/Flas < 2Mo 2-4 Mo 4-16 Mo Go (HDD)


h
Processeu DragonBall MIPS MIPS PowerPC
rs 68k ColdFire ARM x86
ColdFire ARM PowerPC
ARM PowerPC x86
Matériel Pas de MMU SoC Video ≅ PC
controller
Exemple PDA, tel Routeur Console Serveur
Wifi
Le microprocesseur au centre
2005 : Une automobile de classe haute
contient une centaine de microprocesseurs
(de 8 à 32 bits)


Exemple – Automobile (Laguna)
Le microprocesseur au centre
2005 : Une automobile de classe haute contient une
centaine de microprocesseurs (de 8 à 32 bits)
• Matériel disponible sans conception
• Développement logiciel rapide
• Flexible
• Bas coût induit par les grandes quantités vendues
• Bénéficier de la dernière technologie de fabrication
• Bénéficier de l’optimisation de grandes équipes de
concepteurs
Quel type de processeur?
• Processeurs généraux
– Fonctionnalités multiples
– Surdimensionné
• Processeurs dédiés
– Bon pour l’application pour laquelle il a été conçu, pas
forcément pour les autres
• Processeurs de traitement du signal (DSP)
– Traitements intensifs (voix, image…)
– Téléphones portables
• SoC
– Système multi composants (proc, ASIC, …)
Le marché du processeur
embarqué

• 6 % des processeurs vendus sont destinés au marché des PC


• Avec 85 % avec un système windows
• 94 % des processeurs vendus sont destinés au marché de l’embarqué
• 95% avec un OS ouvert
Architectures de traitement utilisées
dans l’embarqué
Roadmap semi-conducteurs
Différence avec
l’informatique générale
• Dans les systèmes embarqués, les tâches
concurrentes sont définies statiquement
• Un système est conçu pour un nombre
limité de fonctionnalités
• Elles ne changent pas avec le temps
• Cela autorise de dimensionner au mieux
et d’optimiser le système en fonction de
ses besoins
Différence avec
l’informatique générale
Informatique : Embarqué :
• Processeur standard • Processeur dédié
– Multiples unités (contrôleur)
fonctionnelles (flottant) – Architecture adaptée
– Vitesse élevée (> GHz) – Vitesse faible (~200 MHz)
– Consommation électrique – 8-32bits : mémoire limitée
élevée – Basse consommation
– Chaleur – Petite taille, grand volume =>
– Taille faible coût
• MMU (mémoire virtuelle) • Processeur DSP
• OS (traitements)
• Cache – Très puissants
• Grand nombre de • Qqs Mo de mémoire
périphériques • RTOS
b) Systèmes embarqués
temps réel
Systèmes embarqués temps
réel
Systèmes embarqués
temps réel

Systèmes embarqués Systèmes temps réel


Systèmes temps réel
Définition
 Ce sont des systèmes liés au contrôle de
procédés
 l’exécution de programmes dans ces
systèmes doit terminer avant une date
butoir appelée échéance au-delà de
laquelle les résultats ne sont plus valides
 Exemple critique : le contrôleur de frein
d’une voiture
Systèmes embarqués
temps réel
 Exemples :
 Hard :
 Pilotage automatique de la ligne 14
 Dispositif de surveillance d’une centrale
nucléaire
 Système de guidage de missiles
 Régulateur de vitesse en automobile
 Soft :
 Téléphone portable
 Lecteur DVD, électroménager
Les catégories de temps réel …
• Système temps-réel dur/stricte (hard real-time)
Le non-respect des échéances peut avoir des
conséquences graves sur le fonctionnement du système
ou sur son environnement (auto-pilotage, freinage,
assistance médicalisée…).
Les échéances ne doivent jamais être dépassées.

• Système temps-réel mou (soft real-time)


Le non-respect des échéances ralentit le système sans
conséquences graves (billetterie automatique…).
Le système doit répondre au mieux, le plus rapidement
possible.
Systèmes multi-périodes
• La plupart des systèmes embarqués sont
dit mutlirate ou multi-période
– Les données sont capturées à un certain
rythme
– Les traitement sur ces données ne sont pas
forcément à la même granularité
– Différents traitements peuvent intervenir de
manière indépendante
– Les actionneurs fonctionnent à une fréquence
différentes
Systèmes temps réel
• Il ne s’agit pas de rendre le résultat le plus
rapidement possible, mais simplement à
temps.
• L’échelle de temps de l’échéance peut varier
d’une application à l’autre
– microseconde en contrôle radar
– milliseconde pour la synchronisation image/son
(mpeg)
– minute pour les distributeurs automatiques
Déterminisme
• Pour être en mesure de respecter les
contraintes temporelles associées aux
exécutions de programmes, le système (son
architecture) est conçu et dimensionné de
manière à réduire tout indéterminisme :
– Simplifier les méthodes de gestion matérielle
(os)
– Ordonnancer les tâches les plus urgentes
– Développer du matériel dédié aux types de
calculs réalisés
• Le temps de réponse du système est
garantie!!!
Concevoir pour optimiser
Rendre l’exécution déterministe
• En temps d’exécution
• En taille mémoire utilisée
• En consommation d’énergie
Optimisations :
• Minimiser les communications
• Minimiser les synchronisations
• Utilisation des propriétés de la théorie des
graphes pour manipuler l’application et son
implantation logicielle et/ou matérielle
Les défis de l’embarqué
• Concevoir/Produire vite le logiciel et le matériel
• À bas coût
• Répondre aux contraintes non fonctionnelles (taille,
performance, consommation)
• Appréhender la complexité (matérielle, logicielle et
intergicielle)
• Prévoir la réutilisation du système pour plusieurs
générations

Un compromis difficile à respecter (problème


multicritères):
coût / performances / consommation
Résumé
• Les systèmes embarqués
– Sont en plein essor commercial
– et sont donc conçus à base de processeurs
programmables.
– Ce sont des systèmes autonomes,
– le plus souvent temps réel.
• La conjonction de ces facteurs conduit à des
contraintes d’ordonnancement sévères en
terme de
– Prédictibilité
– Taille mémoire
Présentation des spécialités
du domaine de compétence Architecture
• UE15 Adéquation Algorithme Architecture
• UE16 Méthodologie de conception
• UE17 Architecture des systèmes
reconfigurables
• UE18 Nouvelles technologies, nouvelles
architectures

Vous aimerez peut-être aussi