Académique Documents
Professionnel Documents
Culture Documents
Objectifs :
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 :
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.
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 :
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 :
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 :
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.