Architecture de traitement pour les systèmes embarqués

Transcription

Architecture de traitement pour les systèmes embarqués
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
Thales
23 Nov.
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.
II.
Historique des architectures de
traitement
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
– Mark 1 à Harvard
Multiplicatio
– Entièrement automatique
n
Division
– Electro-mécanique
Logarithme
– 16m x 2,5m – 4500 Kg
– Démarré par un moteur 5 chevaux
trigo
–
–
–
–
Utilise un arbre de synchronisation
72 mots de 23 chiffres
Temps de cycle : 6 secondes
Soit 0.16 Hz
1s
6s
15,3s
1min
1min
Mark I
Principe de l’architecture de
Harvard
MI
MD
: Mémoire d’instruction
: 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
• L’UAL
• L’unité de commande
• Les entrées
• Les sorties
Mémoire (4096 mots de 40 bits)
Unité
arithmétique
et logique
Unité de
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 wordat-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
– ACC
$1024
$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 (multiprogrammation)
– 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
es des
System/3…
Performance
relative
Temps de
cycle (ns)
Mémoire max.
(Ko)
30
40
50
60
1
1 KHz
10
2 KHz
21
4 KHz
1000
3,5
1,6
KHz
625
500
250
64
256
256
512
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)
VLSI
b. Circuits intégrés
Matériaux de
base
• Silicium
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
– MMX
• Pentium III
• Pentium IV
(1997)
Compatibilité
(1999) ascendante
(2000)
Evolution des processeurs Intel:
densité, fréquence d’horloge
8000
7000
6000
5000
Année
MHz
Transistors
4000
3000
2000
1000
80
48
6
Pe
nt
iu
m
Pe
nt
iu
m
II
80
38
6
80
28
6
80
86
80
80
80
08
40
04
0
Evolution des processeurs Intel:
mémoire
10000000
1000000
100000
10000
1000
mémoire Ko
100
10
II
Pe
nt
iu
m
iu
m
6
Pe
nt
48
80
6
38
80
6
28
80
86
80
80
80
80
0,1
08
1
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
de l’arithmétique
a. L’héritage
Automates
Falcon
Pascal
Leibnitz
Jacquard
Logique
mathématique
Technologie
Leibnitz
Mécanique
Babbage
Boole
Turing
ENIAC
Electromécanique
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
Niveau 4
Niveau 3
Niveau 2
Niveau 1
Niveau 0
Couche des langages d’application
Traduction (compilateur)
Couche du langage d’assemblage
Traduction (assembleur)
Couche du système d’exploitation
Interprétation partielle (OS)
Couche architecture du jeu d’instruction
(ISA)
Interprétation (microprogramme)
ou exécution directe (cablé)
Couche microarchitecture
Matériel
Couche logique numérique
II. L’ordinateur actuel organisation
1. Fonctionnement
a. Spectre des ordinateurs actuels
Type
Ordinateur jetable
Ordinateur enfoui
Ordinateur de jeux
PC
Serveur
Station de travail
Mainframe
superordinateur
Prix
(euro)
1
10
100
1K
10K
100K
1M
Exemple d’application
Carte de vœux
téléphone, voitures
Jeux vidéo
Ordinateur portable
Serveur de réseau
Mini superordinateur
Traitement par lot :
banque
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
UC
Mémoire
Console
E/S
à ruban
Autres
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)
Niveau 2
Niveau 1
Couche architecture du jeu d’instruction
(ISA)
Interprétation (microprogramme)
ou exécution directe (cablé)
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
e1
e2
b
abc
en
abc
s
c
OU
s
Niveau microarchitecture
• Architecture matérielle
du processeur
• Information au niveau
mot
Memory control signals (rd,wr,fetch)
3
4 to 16
Decoder
MAR
MDR
4
MPC
9
PC
8
MBR
Contrôleur
8
SP
LV
JMPC
Addr J Alu
CPP
TOS
OPC
JAMN/JAMZ
H
6
C Bus
B Bus
ALU
Shifter
N
Z
2
High
Bit
2
MIR
C MB
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 sousjacente
• Informations au niveau mot
• Dimensionnement des champs de l’instruction :
– Adresse
– Constantes
– Opérandes…
Code d’instruction
adressage
•
•
•
•
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
Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres
UAL
Bus interne
Mémoire principale
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 (TIC62x) 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
RAM
< 4Mo
ROM/Flas < 2Mo
h
Processeu DragonBall
rs
68k
ColdFire
ARM
Matériel
Pas de MMU
Exemple
PDA, tel
2-8 Mo
Haut de
gamme
8-32 Mo
Haute
disponibili
té
> 100 Mo
2-4 Mo
4-16 Mo
Go (HDD)
MIPS
ColdFire
ARM
PowerPC
SoC
MIPS
ARM
PowerPC
x86
Video
controller
Console
PowerPC
x86
Routeur
Wifi
≅ PC
Serveur
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 :
• Processeur standard
– Multiples unités
fonctionnelles (flottant)
– Vitesse élevée (> GHz)
– Consommation électrique
élevée
– Chaleur
– Taille
•
•
•
•
MMU (mémoire virtuelle)
OS
Cache
Grand nombre de
périphériques
Embarqué :
• Processeur dédié
(contrôleur)
–
–
–
–
–
Architecture adaptée
Vitesse faible (~200 MHz)
8-32bits : mémoire limitée
Basse consommation
Petite taille, grand volume =>
faible coût
• Processeur DSP
(traitements)
– Très puissants
• Qqs Mo de mémoire
• 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
• UE16
• UE17
• UE18
Adéquation Algorithme Architecture
Méthodologie de conception
Architecture des systèmes
reconfigurables
Nouvelles technologies, nouvelles
architectures

Documents pareils