Académique Documents
Professionnel Documents
Culture Documents
2 TREmb INF342
2 TREmb INF342
STR Embarqus
STRE
Plan
1. Prsentation des systmes temps rel embarqus (STRE) a. rappels sur les systmes temps rel b. contraintes des systmes embarqus c. les STRE 2. Structure et fonctionnement des STRE a. Excutif ou systme b. Ordonnancement c. Entres/sorties
Bertrand Dupouy
ENST 8/06/10
80
ENST 8/06/10
81
STR Embarqus
STR Embarqus
STRE
Plan
1. Prsentation des systmes temps rel embarqus (STRE) a. rappels sur les systmes temps rel b. contraintes des systmes embarqus c. les STRE 2. Structure et fonctionnement des STRE a. Excutif ou systme b. Ordonnancement c. Entres/sorties 3. Dveloppement d'applications embarques 4. Les STRE disponibles 5. Perspectives
ENST 8/06/10
82
ENST 8/06/10
83
STR Embarqus
STR Embarqus
- seules les fonctions simples et prennes sont ralises en matriel, - tendance aux processeurs gnralistes puissants et aux ralisations logicielles, - Le matriel assure la performance, le logiciel apporte portabilit, flexibilit Exemple de matriels embarqus : - processeur + E/S simples : carte puce,
STRE : mise en uvre conjointe de matriel et de logiciel pour grer un dispositif qui nest pas un ordinateur et qui interagit avec le monde extrieur (qui est donc sous contraintes temporelles), Systme dexploitation et logiciels applicatifs sont immergs dans larchitecture matrielle et ne sont pas aussi visibles que sur un PC classique, cest pour cette raison que lon parle de: - systme enfoui (embedded system), - informatique diffuse (pervasive computing) : linformatique est prsente partout, mais on ne la remarque pas,
- processeur + rseau : routeur, - processeur + rseau sans fil + E/S simples : tlphone portable, - processeur + capteurs/metteurs sophistiqus : robots, contrle de processus,
Remarque sur les processeurs embarqus : - grande capacit d'E/S, - un problme : le rapport Mips/Watt, hot RISC (sur les stations) et cold RISC (embarqus)
ENST 8/06/10
84
ENST 8/06/10
85
STR Embarqus
STR Embarqus
Contraintes spcifiques au niveau matriel : o faible encombrement, faible poids, faible consommation, o robustesse: rsistance aux vibrations, chocs, temprature, o processeur : rserve dnergie limite (par le cot, par le poids) ; la consommation dnergie sera peut tre prendre en compte par lordonnanceur (energy aware scheduling) , o mmoire : faible espace dadressage (small footprint) , o disque : souvent absent (disk on RAM)
Contraintes spcifiques au niveau logiciel: o sret de fonctionnement (capacit accorder une confiance justifie au service), o rsistance aux pannes (la panne dun composant ne remet pas en cause la vie du systme), o dveloppement en environnement crois (cross compilation),
ENST 8/06/10
86
ENST 8/06/10
87
STR Embarqus
STR Embarqus
Le STRE doit offrir une bonne ractivit ces vnements extrieurs : - gestion dterministe des interruptions et des timers, - importance des interruptions qui indiquent loccurrence d'une chance, et en particulier son dpassement. Que doit-on faire dans ce cas : arrter le systme, juste la tche fautive, passer dans un mode dgrad ? Les tches qui grent ces vnements sont : - priodiques (dclenchement frquence fixe), - apriodiques (frquence de dclenchement variable) , - sporadiques (frquence de dclenchement variable mais borne) Remarque : le ressources. critre du WCET conduit la sous-utilisation des le STRE a des contraintes supplmentaires: - mettre des signaux ou rpondre des stimuli externes (capteurs) dans une fentre de temps limite (respect des chances, dterminisme temporel), - se satisfaire de ressources limites (espace mmoire, puissance processeur, nergie, ...), donc utiliser des algorithmes conomes en consommation de mmoire, nergie, cpu, - scurit, reprise en cas d'erreur, fonctionnement en mode dgrad
ENST 8/06/10
88
ENST 8/06/10
89
STR Embarqus
STR Embarqus
ENST 8/06/10
90
ENST 8/06/10
91
STR Embarqus
STR Embarqus
Consquences :
Consquences de ces nouvelles contraintes : - les algorithmes utiliss dans les STR ne peuvent pas toujours tre implants cause d'une trop grande consommation de ressources : o taille mmoire du code, des donnes, o dgradation des performances en fonction des restrictions de ressources, Exemples : - les garbage collectors des machines Java doivent tre repenss pour les JVM embarques, - gestion des file systems en RAM, - que faire si une chance n'est pas respecte ? Importance des interruptions qui indiquent la proximit d'une chance ou bien qu'on l'a manque.
STRE
Plan
1. Prsentation des systmes temps rel embarqus (STRE) a. rappels sur les systmes temps rel b. contraintes des systmes embarqus c. les STRE 2. Structure et fonctionnement des STRE a. Excutif ou systme b. Ordonnancement c. Entres/sorties 3. Dveloppement d'applications embarques 4. Les STRE disponibles 5. Perspectives
ENST 8/06/10
92
ENST 8/06/10
93
STR Embarqus
STR Embarqus
Excutif TR Ou systme TR ?
Excutif temps rel, moniteur temps rel (par exemple, RTEMS):
Systme ddi ou gnraliste ? - Le construire en tant que tel (cf. cours STR !!!), - Le construire en le drivant d'un systme classique (UNIX ou autre), pour cela, il faut : Niveau systme : o rduire sa taille ! o donner des outils dterministes pour la gestion du temps (alarmes, signaux), o modifier l'ordonnancement (et la synchronisation) pour respecter les contraintes temporelles, o gestion des ressources prdictible (exemple : allocation mmoire), Niveau interface avec le matriel: o outils pour ajouter simplement des pilotes de priphriques,
- recompil avec l'application, se prsente sous forme dune bibliothque, linke avec l'application. On recharge lensemble [application+systme] chaque fois quon relance lapplication. - Il est de trs petite taille, parce que modulable en fonction de lapplication, - gestion mmoire trs simple donc efficace en terme de temps, - pas d'interface utilisateur, le couple cran/clavier nest plus le priphrique privilgi, Systme temps rel (par exemple, Linux) : - systme charg en entier en mmoire, il reste en mmoire et permet lexcution successive de plusieurs applications, - mais il est plus volumineux quun excutif, - plus portable ( ?), souvent compatible POSIX, - utilisation plus souple (interface du type shell), mais est-ce toujours ncessaire ?
ENST 8/06/10
94
ENST 8/06/10
95
STR Embarqus
STR Embarqus
Exemple de critres de choix : - sur quelle cible (BSP et processeur) va tre dploye lapplication ? - quels langages de programmation sont disponibles ? - taille mmoire ncessaire en RAM et en ROM (footprint), - pilotes de priphriques disponibles, facilit de leur criture, - outils offerts par la chane de dveloppement croise, - disponibilit ou non du code source, support technique, maturit,
Structure des annes 70 : Boucle : tests de variables dtat et excution de fonctions approries. Mise jour de ces variables par les procdures de gestion des interruptions bas niveau (ISR, Interrupt Service Routines). Ces procdures sont crites en assembleur. Structure des systmes embarqus actuels : Application crite en langage de haut niveau Intergiciel (exemple : RT CORBA) Bibiliothques (exemple : POSIX threads), couches rseau (exemple : IP stack), Noyau temps rel embarqu (exemple : RTEMS). Ordonnancement, synchronisation, gestion mmoire Processeur et carte lectronique spcifique (BSP, Board Support Package ; HAL, Hardware Layer) Matriel pilot (exemple : robot, tlphone portable, ).
ENST 8/06/10
96
ENST 8/06/10
97
STR Embarqus
STR Embarqus
On va maintenant voir pourquoi la gestion directe des vnements, sans systme dexploitation proprement dit, nest satisfaisante que dans les cas les plus simples. - On envisagera successivement : o La boucle de scrutation, o L excutif cyclique,
La solution la plus simple est la boucle de scrutation de lensemble des priphriques : - Cest une suite de tests qui vrifie ltat de chaque priphrique : o Si cet tat a chang, alors excution dune action, o Sinon : rien - Inconvnients : o La suite dfinit un ordre, donc une priorit implicite, sur les traitements, o Pas de gestion des interruptions : le dialogue avec les priphriques se fait linitiative de lapplication (alors que lobjectif peut tre : event driven !), o Polling (attente active)
ENST 8/06/10
98
ENST 8/06/10
99
STR Embarqus
STR Embarqus
- Fonctionnement driv de celui de lexcutif cyclique : o Un timer lance les tches, o Chacune est excute en totalit avant de passer la suivante, o La dernire doit se terminer avant la prochaine interruption timer, o Pour grer plus finement des vnements frquences diffrentes, on peut excuter certaines tches plusieurs fois dans un cycle (cycle majeur et cycle mineur),
- On essaie dexcuter les tches aussi vite et frquemment que possible, mais : o Le respect des chances importe plus que la rapidit du traitement, o Les interruptions ne sont toujours pas gres,
ENST 8/06/10
100
ENST 8/06/10
101
STR Embarqus
STR Embarqus
Les domaines traditionnels : Bilan : - Simple implmenter : excution de traitements frquences rgulires, - Pas de gestion des interruptions. Les priphriques (sauf le timer !) sont grs en polling, linitiative nest pas donne aux stimuli externes, - Pas de contrle du temps dexcution des tches (revient faire FCFS), - Comment grer le temps : o dcouper en sous tches (pb de partage de donnes), o quantum , o dclenchement de chaque tche par un timer , - spatial, avionique (systmes temps rel rpartis embarqus), - robotique, - contrle de processus industriels (chimie, nuclaire, ),
Les nouveaux domaines: - automobile, - mdical, - lectronique grand public (jeux), tlphonie mobile, - systmes embarqus temps rel rpartis grande chelle (digital city,), - informatique diffuse (pervasive computing, ubiquitous computing), wearable computer, domotique, objets intelligents (smart objects), immeubles intelligents
ENST 8/06/10
102
ENST 8/06/10
103
STR Embarqus
STR Embarqus
Linformatique diffuse
Le march (1)
Tendances : Linformatique diffuse, omniprsente (pervasive computing, ubiquitous computing, Weiser 1993) : - linformatique disparat, mais elle est partout, invisible pour lutilisateur elle entretient avec lui des liens permanents, - mise en uvre possible grce aux rseaux sans fil : tous les objets de la vie courante auront-ils une adresse IP ? - Ce march devient un march de masse, - Standardisation (POSIX temps rel, embedded Linux, RTSJ), - interconnexion des quipements par des rseaux sans fil,
March atomis : - Pas d'offre globale (on compose soi-mme sa configuration tant au niveau matriel que logiciel), - Pas de fournisseur dominant (31% de systmes dits "propritaires"), - Microsoft, Sun, IBM sont marginaux,
Rle des systmes embarqus dans ce contexte : - contraintes soft real time(multimdia), - gestion de lnergie, gestion de la localisation (par rapport au rseau et/ou localisation physique ?) , - configuration dynamique de rseaux sans fil (rseaux ad hoc), - information contextuelle information), (validit seulement locale dune
ENST 8/06/10
104
ENST 8/06/10
105
STR Embarqus
STR Embarqus
Le march (2)
STRE
Plan
Type des marchs : Secteur Scientifique, arospatilae, militaire Transports Industrie Bureau Maturit Forte Contraintes Performance, fiabilit Tendances Rduction des cots (conomie d'chelle) Ergonomie, rseau Rseau Standardisation, puissance puissance 1 Prsentation des systmes temps rel embarqus (STRE) a. rappels sur les systmes temps rel b. contraintes des systmes embarqus c. les STRE 2 Structure et fonctionnement des STRE a. Excutif ou systme b. Ordonnancement : prcisions c. Entres/sorties 3 Dveloppement d'applications embarques 4 Les STRE disponibles 5 Perspectives
Moyenne Fiabilit, cot Forte Fiabilit, cot Forte Performance, cot Tlecomm. Forte Performance, Fiabilit Gd public Faible Performance, Internet cot Commerce elec. Faible Fiabilit, cot, Commerce en ligne scurit
ENST 8/06/10
106
ENST 8/06/10
107
STR Embarqus
STR Embarqus
Problmes lis : en assurant le respect des chances pour les tches critiques, Attention : une tche de faible importance peut avoir de fortes contraintes de temps, et une tche de forte importance peut avoir de faibles contraintes de temps), - quelles tches peut-on prempter (notion de priorit) ? - gestion fine du contexte, - gestion des donnes partages : o entre tches, entre tches et ISR il faut excuter au moins un sous-ensemble minimal des tches mme si la charge augmente (gracefull degrade) l'objectif n'est PAS le rendement, o files de messages, smaphores, ,
ENST 8/06/10
108
ENST 8/06/10
109
STR Embarqus
STR Embarqus
ENST 8/06/10
110
ENST 8/06/10
111
STR Embarqus
STR Embarqus
Choisir un des processus qui sont dans ltat PRET (READY) ou le processus CURRENT : - rle du scheduler (qui peut tre une fonction sched ()) Le scheduler : - choisit le plus prioritaire des processus READY ou le CURRENT - fait ventuellement passer le CURRENT en READY - remarque : o toutes les fonctions du systme cooprent pour grer ltat des processus : ltat est modifi par les smaphores, les interruptions, qui appelle ensuite sched () - fait passer le processus choisi en CURRENT - appelle une fonction du type ctxswitch
La fonction ctxswitch: - change les pointeurs de pile, etc, - sauve les registres, - restaure le contexte du processus rordonnanc, - ATTENTION : ds que le compteur ordinal est restaur, on part dans le code du processus rordonnanc : on ne revient pas de la fonction ctxswitch qui fait le changement de contexte !!!!
ENST 8/06/10
112
ENST 8/06/10
113
STR Embarqus
STR Embarqus
Le changement de contexte :
Quelques dtails - la valeur sauve pour le CO par ctxswitch est sa propre adresse de retour: o cest celle o devrait revenir ctxswitch si elle tait une fonction ordinaire mais elle est appele par un processus A, elle donne la main un processus B, qui devra repasser le contrle, non pas a ctxswitch, mais A
- les processus appellent sched () pour faire la changement de contexte aprs avoir chois le processus activer, donc : o tous les processus suspendus reviennent dans sched ()aprs lappel ctxswitch o cest le retour de sched ()qui les renvoie dans la fonction qui a appel sched()
ENST 8/06/10
114
ENST 8/06/10
115
STR Embarqus
STR Embarqus
Opration P : le rle de sched ()est seulement de choisir un processus parmi les READY et CURRENT : - elle ne cr PAS de processus, - elle ne vrifie pas si la liste des READY est vide, - consquence : il doit toujours y avoir au moins un processus dans ltat READY : le null process - si le compteur passe ngatif : o faire passer le processus de CURRENT BLOCKED, o indique le numro du smaphore dans lentre de la process table associe au processus o appel sched()
Opration V : - si le compteur passe ngatif ou nul : o choisir un READY, processus et le faire passer de BLOCKED
o appel sched()
ENST 8/06/10
116
ENST 8/06/10
117
STR Embarqus
STR Embarqus
Si une tche (ex : gestion de la direction dun vhicule) attend un rsultat fourni par une autre (ex : dtecteur de choc), on parle de tches dpendantes,
Exemple pour trois tches T1, T2 et T3 dont on donne ci-dessous le graphe de dpendance :
Modification des paramtres pour prendre en compte les dpendances entre tche EDF : - chaque tche doit avoir une chance dont la date est antrieure celle des tches qui dpendent delle. Lchance Di de Ti devient : D*i = min { Di, min{ D*j - C j } }, pour j tel que Ti prcde Tj Rappel des formules : D*i = min { Di, min{ D*j - C j } }, pour j tel que Ti prcde Tj - une tche ne peut tre active que si toutes ses prcdentes ont t actives. Donc la date de rveil dune tche doit tre suprieure celle de ses prcdentes laquelle a t ajoute la dure dactivation. La date de rveil ri de Ti devient : r*i = max { ri, max{ r*j + C j } }, pour j tel que Tj prcde Ti r*i = max { ri, max{ r*j + C j } }, pour j tel que Tj prcde Ti
Si la dpendance est une communication par message, on ajoute le dlai ! ij d la dure de la transmission et la date de rveil devient : r*= max { r, max{ r*+ C+ ! j } , pour j tel que Tj prcde Ti
ENST 8/06/10
118
ENST 8/06/10
119
STR Embarqus
STR Embarqus
On associe chaque interruption une fonction de traitement (vecteur dinterruption, ISR) : - Attention au partage de donnes o bufferisation , o quand passer les donnes aux tches ?
Tables des vecteurs, priorits, masquage, traitement Horloges - real time clock (interrompt le processeur) o envoie une interruption chaque tick o ne gre pas de compteur, le dcompte des interruptions doit tre fait par le systme o sert grer des alarmes (quantum, chance), utilisation dune liste du type delta - time of day clock (consult sa demande par le systme) o mise jour dun compteur qui sera ventuellement lu par le systme ou les applications
Quand activer ou inhiber les interruptions ? - priodiquement : tous les n tics dhorloge, - premption,
Entres sorties : - initialisation des vecteurs (bas niveau), - criture du pilote et des fonctions de haut niveau
ENST 8/06/10
120
ENST 8/06/10
121
STR Embarqus
STR Embarqus
Elment dterminant d'un STRE : la gestion des entres-sorties : - lire (priph. , donnes, chance) On doit pouvoir grer les e/s comme on gre les processus : - satisfaire la plus prioritaire d'abord, - annuler une demande lorsque son chance est dpasse, - rordonner les demandes si une plus prioritaire arrive,
Les dispositifs embarqus sont souvent contraints par la ressource nergie (les batteries ont une capacit limite) : - quel niveau grer lnergie : systme, application, matriel ?
Le systme peut prendre en charge cette gestion, car il a une vue globale : - ordonnancement prenant en compte la gestion de lnergie Plusieurs stratgies :
Si les tches partagent des ressources (capteurs/metteurs, accs au rseau) : - utiliser des algorithmes dordonnancement entre tches dpendantes, - utiliser PCP ou PIP pour accder aux smaphores grant les ressources, Attention aux mcanismes matriels : -entres-sorties excutes par le processeur, -entres-sorties indpendantes du processeur (DMA),
- transition (passage dun tat un autre), exemple : mise en veille du processeur - adaptation (changement de technologie), exemple : remplacer un disque par de la mmoire flash - modification de la charge dun composant, par exemple : utiliser des caches (mmoire, disque) ce qui modifie les stratgies de gestion des disques ,
ENST 8/06/10
122
ENST 8/06/10
123
STR Embarqus
STR Embarqus
STRE
Plan
1. Prsentation des systmes temps rel embarqus (STRE) a. rappels sur les systmes temps rel b. contraintes des systmes embarqus c. les STRE 2. Structure et fonctionnement des STRE a. Excutif ou systme b. Ordonnancement c. Entres/sorties 3. Dveloppement d'applications embarques 4. Les STRE disponibles 5. Perspectives
ENST 8/06/10
124
ENST 8/06/10
125
STR Embarqus
STR Embarqus
Environnement de dveloppement
Environnement de dveloppement
Cycle de mise au point : Dveloppement en environnement crois : compilateur crois et outils associs, suivi de mise au point distance ( remote debugging), Les dveloppements ne se font plus en assembleur, le langage de haut niveau peut prendre en main les problmes proches du matriel, Utilisation de plus en plus courante de logiciels du type gnu (gcc, gdb) Style de programmation spcifique (pas d'allocation dynamique de ressources, gestion de timers, criture de pilotes dE/S, ...)
Host (hte) 1. tlchargement ROM RAM 2. Excution/mise au point Processeur B Moniteur en ROM Pas d'cran Pas de disque Outils dedveloppement crois
Edition de sources
Compilation croise et ditions de liens Tlchargement Moniteur Excution et mise au point Systme + application EPROM, Flash RAM
Target (cible)
Processeur A
Le moniteur sert dmarrer ( booter ) la carte : il initialise les registres de base du processeur, et gre au moins une ligne srie pour le tlchargement.
ENST 8/06/10
126
ENST 8/06/10
127
STR Embarqus
STR Embarqus
Environnement de dveloppement
Plate-forme logicielle de base : - un STRE (ex : RTEMS), - un ou plusieurs compilateurs croiss (ex : gcc sur PC-Linux gnrant du code pour Motorola PowerPC) et des outils de dveloppement croiss (les bibliothques C), - un moniteur (ex : ppcboot) et des protocoles de communication pour le tlchargement et la mise au point (ex : tftp), On rappelle ci-dessous la place du BSP qui isole le systme de la configuration matrielle :
Bibliothque, threads, etc Systme Pilotes BSP
Exemples
RTEMS et ppcboot :
Target (cible) 1. tlchargement ROM RAM 2. Excution/mise au point Processeur B Moniteur en ROM Pas d'cran Pas de disque Outils dedveloppement crois Host (hte)
Processeur A
Embedded Linux (< 500K octets avec TCP-IP), et mise au point avec remote gdb :
Cible : plateforme PowerPC MPC860 1. tlchargement BDM 2. accs nfs 3. Excution/mise au point Hte : PC sous Linux Port parallle Interface Ethernet Port srie COM1
Pour rduire les cots - simulateurs, - plate-forme de dveloppement propritaires, - outils free software,
ENST 8/06/10
128
ENST 8/06/10
129
STR Embarqus
STR Embarqus
Du ct du matriel
A vrifier du ct architecture matrielle : - gestion des interruptions, - gestion de la mmoire (inhiber la pagination,), - fonctionnement des horloges, - fonctionnement des caches (donnes, instructions, peut on les verrouiller, les geler, )
Qualit de la rponse aux stimuli externes, - moins prcise, plus rapidement, - exacte, moins rapidement, - combien d'chances peut-on manquer ?
Choix des algorithmes : - ils devront se satisfaire de ressources limites (mmoire, vitesse, nergie, ...), - ordonnancement appropri -> RMS , EDF, - E/S chance -> gestion dalarmes et de timers,
ENST 8/06/10
130
ENST 8/06/10
131
STR Embarqus
STR Embarqus
STRE
Plan
Facteurs matriels dindterminisme dans la gestion mmoire : - pagination (en gnral inhibe en embarqu), - fonctionnement des mmoires caches, matriels dindterminisme dans la gestion du processeur : - pipe-line, - superscalaire, VLIW Attention au partage des ressources : - pb. de concurrence (inversion de priorit),
1. Prsentation des systmes temps rel embarqus (STRE) a. rappels sur les systmes temps rel b. contraintes des systmes embarqus c. les STRE 2. Structure et fonctionnement des STRE a. Excutif ou systme b. Ordonnancement c. Entres/sorties 3. Dveloppement d'applications embarques 4. Les STRE disponibles 5. Perspectives
Facteurs
Attention la gestion des entres-sorties bas niveau: - priorits, chances, interruptions - attention au bon typage des variables (cf. volatile en C pour laccs aux registres des priphriques),
ENST 8/06/10
132
ENST 8/06/10
133
STR Embarqus
STR Embarqus
Parmi les systmes temps rel ports sur de nombreuses plateformes, citons : - RTEMS, - Linux (RTLinux), Dans le domaine des systmes ddis la tlphonie mobile : - Symbian, - Mobilinux, JVM : la version RTSJ, ARINC 653, orient avionique, est reprsentatif des recherches actuelles en haute disponibilit. Dans le monde des systmes embarqus sur les mobiles, mais non temps rel : Microsoft Mobile Windows et la JVM J2ME.
ENST 8/06/10
134
ENST 8/06/10
135
STR Embarqus
STR Embarqus
RTEMS (Real-Time Executive for Multiprocessor Systems) de OAR (On-Line Applications Research Corporation) http://www.rtems.com : - temps rel dur, port sur de trs nombreuses plateformes matrielles, - excution dterministe : elle ne varie pas en fonction du nombre dobjets prsents sur le systme, temps de latence d aux interruptions prdictible, - ordonnancement premptif, bas sur les priorits, RMS fourni, - systme est configurable : seules sont charges les fonctionnalits (tches, smaphores, timers, ) ncessaires une application donne (notion de manager), on optimise ainsi les performances en vitesse et on minimise lespace dadressage utilis, - possibilit dintgrer des services spcifiques par la mise en uvre dextensions (pour insrer des traces, etc) - implment en C et Ada, API POSIX, versions pour Motorola PPC, M68xxx, Intel ix86, i960,MIPS, SPARC,
ENST 8/06/10
136
ENST 8/06/10
137
STR Embarqus
STR Embarqus
ENST 8/06/10
138
ENST 8/06/10
139
STR Embarqus
STR Embarqus
Windows Mobile (http://www.microsoft.com/windowsmobile) : - Windows Mobile 5.0 de Microsoft nest pas temps rel mais propose la technologie push qui permet de recevoir des mails le plus tt possible. Une technologie qui a fait le succs de RIM (Research In Motion, http://www.rim.com) et Blackberry (http://www.blackberry.com) : 3 millions d'utilisateurs dans le monde, - possibilit de stockage des informations utilisateur en mmoire persistante.
ENST 8/06/10
140
ENST 8/06/10
141
STR Embarqus
STR Embarqus
STRE
Plan
Perspectives : logiciel
Les systmes : du plus petit au plus grand : - Systmes miniatures pour les rseaux de capteurs (micro systmes) : TinyOS de Berkeley,
1. Prsentation des systmes temps rel embarqus (STRE) a. rappels sur les systmes temps rel b. contraintes des systmes embarqus c. les STRE 2. Structure et fonctionnement des STRE a. Excutif ou systme b. Ordonnancement c. Entres/sorties 3. Dveloppement d'applications embarques 4. Les STRE disponibles 5. Perspectives
- Systmes embarqus distribus grande chelle : quel middleware (RT CORBA, ) ? Ordonnancement : notions de partitions (ARINC 653), ordonnancement dynamique et adaptable (flexible scheduling, power aware scheduling), Gestion mmoire dterministe (cf les outils RTSJ), Gestion de lnergie : par lordonnancement, par le matriel, la compilation ? Compilateurs , exemple : impact de la compilation sur la gestion de lnergie : - rduction du nombre dinstructions (+) - unrolling des boucles (-)
ENST 8/06/10
142
ENST 8/06/10
143
STR Embarqus
Perspectives : matriel
Chaque composant doit avoir des performances dterministes : - caches performants et prdictibles, - bus (cf. CAN, TTP) et rseau (cf. TDMA, IP ?), - prfrer des pipe-lines uniques aux architectures superscalaires,
Loi de Moore : les performances technologiques des composants sont multiplies par deux tous les un trois ans, mais le stockage de lnergie ne suit pas cette loi
ENST 8/06/10
144