Vous êtes sur la page 1sur 7

CHAPITRE 1- NOTIONS DE SYSTEMES EMBARQUES, DE SYSTEMES TEMPS REELS.

Objectifs :

 Définir un système embarqué (ou embedded system).


 Définir un système temps réel (ou Real Time ou RT).
 Donner des exemples de systèmes embarques.

1. Définition de système embarqué.


C’est un ensemble de systèmes de calcul dans lesquels l’intégration hardware et software
est intimement liée et qui est conçu pour réaliser une tache spécifique.
Le terme embarqué précise (au sens large) que ces systèmes (embedded systems) sont des sous
ensemble d’un système plus vaste (embedding system). Certains systèmes embarqués ne sont
pas des sous-ensembles d’un système plus large. (ex: routeur Internet). Un PC n’est pas un
système embarqué ! Il n’est pas conçu pour réaliser une tache spécifique.
Les conséquences sur les choix des processeurs :

Types de Caractéristiques Applications Avantages Inconvénients


processeurs
MMU, GPOS, Très grosse
Universels Complexes, PC. mémoire consommation
(historiquemen fournissent de Conçus pour une virtuelle pour énergétique,
t les premiers à très nombreuses très large gamme multitâches, fort
être utilisés fonctionnalités d’application. cache logique, dégagement de
dans les co processeur chaleur, grande
systèmes mathématique taille, prix très
embarqués). intégrés, élevés de
interfaces pour fabrication
périphériques
externes

La miniaturisation liée aux avancées technologiques a permis le remplacement des


processeurs universels par des processeurs dédiés à l’embarqué (embedded processors). Ces
derniers sont conçus en fonction de classes d’applications. Ils sont classés ci-dessous.

Classe 1  faible taille, Utile en Puissance Puissance de


faible application avec réduite donc calcul réduite,
consommation, et IHM interactive autonomie mémoire
faible cout et affichage énergétique interne réduite,
intensif, mais pas de co
calculs non processeur.
nécessaires.

Ex : assistant
personnel PDA
Classe 2 Performances de Equipement de Pipeline, Autonomie
calcul très télécommunicati traitement //. énergétique
élevées on et réseaux Très grande réduite.
(impossible à très haut débits. vitesse de
atteindre avec un calcul.

1
processeur
Universel)
Classe 3 faible taille, Traitement Les DSP ont Nécessite des
faible numérique du des unités compétences
consommation, signal sans arithmétiques solides en
faible cout, tolérance de spécialisées, traitement
forte puissance délai. des conceptions numérique du
de calcul Ex : DSP dans mémoires signal et
les téléphones optimisées, des mathématiques
portables. architectures de .
bus
multiprocessin
g permettant de
faire des
calculs
extrêmement
rapidement.
SoC ( System CPU et Pas de Réduction du Puissance de
on chip) périphériques nécessité de cout et de la calcul
intégrés (Timer, grande puissance taille du intermédiaire.
controleur de calcul. produit final
d’interruptions, Ex : applications car les
ADC, DMA, type micro périphériques
interface controlleurs. sont déjà
Ethernet, etc…) intégrés.
Faible prix,
facilité de
programmation
, ressources
disponibles.

A noter :

 Dans un système embarqué, les parties hardware et software sont développées en


parallèle, avec retro feedback permanent entre les équipes de développement. Cela
permet de tirer profit des avantages technique d’une partie par rapport à l’autre et de
réduire les couts.
 Le terme plateforme (platform) est la combinaison d’un processeur particulier, d’un
système d’exploitation, et des outils de développements. Elle est utile pour développer
des systèmes embarqués.
 Le développement software se fait sur une plateforme croisée (cross platform
development), c’est-à-dire que le software est développé sur une plateforme, mais
l’application finale est destinée à fonctionner sur une autre. Elle utilise un
compilateur croisé (cross compiler) : il s’agit d’un compilateur tournant sur un
processeur de type A permettant de générer du code objet pour un processeur de type
B. Un compilateur croisé est utile car le système cible ne peut contenir son propre
compilateur.
 Le système hôte (host system) est le système (phase de développement) sur lequel le
software est développé.
 Le système cible (target system) est le système embarqué final sur lequel le software
est destiné à être exécuté.

2
 Le code d’un système embarqué (driver, RTOS, application) peut être stocké en ROM
(PROM, EPROM, EEPROM, FLASH) ou NonVolatileRAM en fonction des
contraintes (évolution, vitesse d’exécution, couts). Ce point sera traité dans un
prochain chapitre.

2. Définition de système temps réel embarqué (RT).


Dans sa forme la plus simple, un système RT est un système qui répond à des évènements
externes en respectant des contraintes temporelles. Le temps de réponse du système est
garanti.
Les évènements externes peuvent être synchrones ou asynchrones. Le temps contraint de
réponse inclus la prise en compte de cet évènement, le traitement du calculateur et la sortie
associée. Il est possible de représenter l’environnement d’un système RT comme suit :

Une manière claire de comprendre la relation entre un système embarqué et un système


temps réel, est simplement de dire qu’il est à la fois embarqué et temps réel (real time
embedded systems):

Dans la suite de ce cours, nous nous intéressons aux systèmes temps réels embarqués.

L’environnement d’un système RT créée des évènements externes. Ces derniers peuvent être
reçus par plusieurs sous ensemble du système RT. La décomposition interne d’un système
RT est la suivante :

3
Cette décomposition interne fait apparaitre deux types de blocs :

 Un ou plusieurs sous ensemble contrôlé(s) (controlled systems)


 Un sous ensemble contrôleur (controlling system).
Le contrôleur interagit avec les systèmes contrôlés de différentes façons :

 Les interactions peuvent être périodiques. La communication est initiée par le


contrôleur vers les systèmes contrôlés. La communication est prédictible et intervient
à intervalle de temps régulier.
 Les interactions peuvent être apériodiques. La communication est initiée par le(s)
système(s) contrôlé(s) vers le contrôleur. La communication est non prédictible et
intervient de manière aléatoire en fonction de l’apparition des évènements externes.
 Les interactions peuvent être une combinaison des deux cas précédents. Le
contrôleur doit répondre aux évènements externes, effectuer un traitement et générer
une information à destination du système contrôlé en un temps garanti. C’est le cas
d’un système anti-missile installé sur un destroyer, d’un missile volant à basse
altitude, d’un lecteur de flux vidéo.

Prenons un exemple :
Le système de défense armée RT d’un destroyer a pour rôle de protéger le navire en
détruisant un missile qui le vise. L’idée est de réduire en pièce le missile par un système
mitrailleuse à balles (munitions) avant que le missile atteigne le destroyer.
Le système de défense est composé de trois sous-ensembles :

 un système radar
 Un système de commande et de décision (C&D)
 Un système de contrôle de la mitrailleuse.

Le radar scanne et cherche des cibles potentielles. Les coordonnées des cibles potentielles
sont transmises au C&D périodiquement et à haute très fréquence une fois la cible acquise.
Le C&D doit d’abord évaluer le niveau de la menace (méthodes de classification) à partir
des informations fournies par le radar. Si la menace est imminente, le C&D doit, au
minimum, calculer la vitesse et trajectoire du missile et estimer la position de son impact à

4
venir. Comme le missile à tendance à dévier de sa trajectoire (aléas météo, niveaux
technologique,..), le C&D va devoir calculer une zone (de dérive) autour de la trajectoire du
missile.
Le C&D active alors le système de contrôle de la mitrailleuse, le dirige vers le point d’impact
estimé du missile et ordonne le lancement continu de munition dans la zone d’impact estimée
jusqu’à la destruction du missile.
Dans cet exemple, la communication entre le radar et le C&D est apériodique, parce que
l’occurrence d’une cible est imprévisible. La communication entre le C&D et le système de
contrôle de la mitrailleuse est périodique, car le C&D informe à très haute fréquence le
système de la mitrailleuse des coordonnées du missile. Les coordonnées initiale du missile
sont basée sur une estimation du plan de vol, mais sont mises à jour en temps réel en fonction
de la position du missile à l’instant t.
Le C&D doit calculer rapidement la position estimée du missile et guider (rotation) le système
de contrôle de la mitrailleuse pour détruire le missile avant qu’in n’atteigne le destroyer.
Soit T1 le temps nécessaire au missile pour atteindre le destroyer, T1 dépend de la vitesse et
de la distance du missile.
Soit T2 le temps nécessaire au C&D pour activer le système de contrôle de la mitrailleuse
(transmission des coordonnées et mise à feu).
La différence T1-T2 est le temps maximum attribué au calculateur (C&D). Le destroyer sera
détruit dans deux cas :

 Soit le C&D n’a pas assez de temps pour calculer la position du missile.
 Soit le C&D produit un calcul pas assez précis.
On en déduit la définition fondamentale suivante :

Un système RT est défini comme un système dans lequel l’exactitude (correctness)


globale du système dépend à la fois :
 de l’exactitude fonctionnelle = résultats de calculs exacts (logical our
functional correctness)
 et de l’exactitude temporelle = les calculs doivent être terminés avant une
durée prédictible (timing correctness). On parle de Deadline.

L’exactitude temporelle est moins aussi importante que l’exactitude fonctionnelle.


Dans certains systèmes RT, l’exactitude fonctionnelle sera sacrifiée au profit de
l’exactitude temporelle.

Les systèmes RT ont une connaissance de leur environnement externe relié aux systèmes
contrôlés et des applications s’exécutants sur le système global. On dit alors qu’ils sont
déterministes (deterministic) c’est-à-dire que le temps de réponse à un évènement détecté est
borné. Les actions à prendre en réponse à cet évènement sont connues à priori. Un système
RT déterministe implique que chaque composant du système doit lui-même avoir un
comportement déterministe. Cela rend le système parfois moins adaptable aux changements
extérieurs et donc moins robuste. Les niveaux de déterminismes et de robustesses peuvent
être contre balancés.

5
Dans l’exemple du destroyer, nous avons indiqué que le système RT devait effectuer son
calcul en une durée contrainte appelée Deadline. En réalité les systèmes RT peuvent être
classés en 2 catégories :

 Systèmes RT dur ( Hard Real Time System ou HRTS).


 Systèmes RT mou (Soft Real Time System ou SRTS).
Ce qui différencie ces deux catégories est le degré de tolérance à une deadline non respectée,
l’utilité des résultats produits après cette deadline, et la sévérité de la pénalité infligée au
système pour avoir manqué cette deadline.

 Un système Hard Real Time est un système RT qui doit absolument respecter ses
deadline (deterministe) avec un degré nul de flexibilité. La deadline doit être respectée
ou bien c’est la catastrophe. Le cout de cette catastrophe est extrêmement élevé
financièrement ou en vie humaines. Les résultats issus des calculs obtenus après les
deadlines sont d’aucune utilité ou se déprécient extrêmement rapidement au fil du
temps. Ex : le système anti missile du destroyer.

 Un système Soft Real Time est un système RT qui doit respecter ses deadline
(estimation) mais avec un degré de flexibilité. Les deadline des niveaux variés de
tolérance, une durée moyenne de deadline et même des distributions statistiques des
temps de réponse avec différents degrés d’acceptabilité. Les résultats issus des calculs
obtenus après les deadlines n’induise pas la destruction du système, mais peuvent
induire des couts proportionnels à l’éloignement temporel par rapport à cette deadline,
cela dépend de l’application. Ex : un lecteur DVD avec télécommande.

L’exactitude temporelle (timing correctness) est critique pour la plupart des systèmes temps
réél dur (Hard Real Time ou HRT). Ces systèmes font tous les efforts possibles pour prédire
si la prochaine deadline risque d’être dépassée.
Reprenons l’exemple du destroyer et examinons de quelle manière le système HRT  prend des
actions correctives lorsque estime que le respect la dealine va être manque : Le système
C&D calcule une zone à mitrailler (firing box) autour de la prochaine position estimée du
missile. Le missile doit absolument être détruit à une certaine distance du destroyer car les
débris trop proches peuvent endommager le navire. Si le missile devient proche du navire (il
entre dans une zone de sécurité) et que le C&D détecte qu’il n’aura pas le temps d’estimer
précisément nouveau sa position, il prend immédiatement une action corrective. Le C&D
élargit immédiatement la firing box, fait une estimation moins précise de la position du missile
(on sacrifie (donc l’exactitude fonctionnelle), et active immédiatement la mitrailleuse pour
« arroser » la zone de firing box étendue. L’idée est qu’il vaut mieux dépenser des munitions
que de voir le destroyer coulé. Dans cet exemple, l’exactitude fonctionnelle est sacrifiée au
détriment de l’exactitude temporelle.
Dans le cas d’un système temps réel mou (Soft Real Time ou SRT), le manquement des
deadlines n’induit pas une conséquence irréversible (ex : décodeur DVD), donc un système
temps réel mou peut ne pas avoir besoin de prédire qu’une dealine peut être manquée.
Le SRT peut entamer une procédure de remise en fonctionnement après que la deadline
a été manquée.

6
Jusqu’à présent, nous nous sommes concentrés sur les deadline et notamment sur le respect
temporel du calculateur. Pour cela, il est très important que le calculateur puisse démarrer le
calcul dès que possible. Le manque de ressources disponibles (CPU, mémoires) peut empêcher
ce démarrage rapide des calculs afin de respecter les deadlines. Ce problème d’attribution des
ressources est géré par l’ordonnanceur (resource-scheduling problem). Il sera traité
ultérieurement.

3. Exemples de systèmes embarqués (RT ou non RT).


On trouve des systèmes embarques dans :

 l’environnement domestique (réfrigérateur, alarme, TV, four,..)


 l’environnement de travail (Routeur, imprimante, concentrateur, switch, technologie
internet, …).
 Dans les transports (trains, avions, voitures, espace…)
 Dans les activités de loisir (montre connectées, modèles réduits, vélos, joystick…)
 Dans l’environnement médical (scanner, doppler, IRM, lecteur carte vitale,…)
 Dans l’industrie de l’armement (missiles, radars, communications cryptées, drones,
…)
 Informatique bancaire, trading boursier,…
 Etc…

Vous aimerez peut-être aussi