Les diffรฉrents systรจmes de contrรดle-commande
ย ย ย ย ย ย ย ย ย Il y a 4 diffรฉrents spรฉcifications de systรจmes de contrรดle-commande mais ils peuvent se combiner.
a) Systรจme de contrรดle-commande temps rรฉel : Cโest un systรจme dont lโexactitude des applications dรฉpend du rรฉsultat et du temps auquel ce rรฉsultat est produit. Ces contraintes temporelles pourront causer des dรฉfaillances sur le systรจme si elles ne sont pas respectรฉes. Il y a deux types de contraintes temporelles :
โข Contraintes temporelles strictes et dures : Lโรฉchรฉance des taches doit รชtre impรฉrativement respectรฉ, sinon des catastrophes physiques pourront se produire.
โข Contraintes temporelles relatives ou lรขches : Le non-respect de lโรฉchรฉance des tรขches est tolรฉrable, mais devrait รชtre corrigรฉ.
b) Systรจme de contrรดle-commande embarquรฉ : Cโest un systรจme pilotรฉ par un logiciel et qui est complรจtement intรฉgrรฉ au systรจme quโil contrรดle, donc pas dโintervention humaine directe (pas de modification ou des paramรจtres du programme).
c) Systรจme de contrรดle-commande dรฉdiรฉ : Cโest un systรจme dont les architectures matรฉrielles et logicielles sont spรฉcifiques ร lโapplication (noyau, processeurโฆ).
d) Systรจme de contrรดle-commande distribuรฉ ou rรฉparti : Cโest un systรจme dont lโarchitecture matรฉrielle est constituรฉe de plusieurs processeurs reliรฉs entre eux par un bus ou un rรฉseau.
Architectures logicielle et matรฉrielle
Le systรจme de contrรดle-commande a deux composantes fondamentales :
โข La composante matรฉrielle : interface permettant de piloter le procรฉdรฉ et de recueillir des informations en provenance de ce dernier (carte dโentrรฉe/sortie โฆ).
โข La composante logicielle : assure le bon fonctionnement du procรฉdรฉ.
Architecture logicielle : Un systรจme informatique de contrรดle-commande doit satisfaire a priori la cohรฉrence entre des changements de lโenvironnement et des rรฉactivitรฉs du systรจme face ร ces changements. Lโenvironnement est dรฉcrit en tant que systรจme fortement parallรจle ร cause du comportement concurrent des รฉvรจnements et des donnรฉes externes. Ce parallรฉlisme conduit ร la mise en place dโune architecture multitรขche qui permet de faciliter la conception de logiciel dรฉfinissant les tรขches comme ยซ les entitรฉs dโexรฉcution et de structuration de lโapplication ยป.
Les groupes des tรขches :
โข Tรขches dโentrรฉe/sortie : permettent dโaccรฉder aux donnรฉes externes fournies par des capteurs, ou de gรฉnรฉrer des commandes aux actionneurs par lโintermรฉdiaire de carte dโentrรฉe/sortie (exรฉcutรฉe rรฉguliรจrement ou par interruption)
โข Tรขches de traitement : constituent le cลur de lโapplication, et sont considรฉrรฉes comme des boites noires, exรฉcutant des algorithmes.
โข Tรขches de lโinterface de lโutilisateur : permettent de prรฉsenter lโรฉtat de procรฉdรฉ ou de sa gestion ร lโutilisateur.
๏ฐ Lโutilisateur peut modifier les consignes donnรฉes ou changer les commandes.
โข Tรขches de communication (pour lโapplication distribuรฉe ou rรฉpartie) : servent ร gรฉrer les messages envoyรฉs ou reรงus ร travers un ou plusieurs rรฉseaux ou bus de train.
โข Tรขches de sauvegarde : permettent de stocker lโรฉtat du systรจme ร des instants fixรฉs.
Les tรขches obtenues, qui constituent le systรจme informatique de contrรดle-commande, ne sont pas des entitรฉs dโexรฉcution indรฉpendantes. Certaines tรขches, dรจs leur activation, communiquent et/ou se synchronisent avec les autres tรขches, ou sont connectรฉes ร lโextรฉrieur pour les entrรฉes/sorties. Ainsi, dans lโarchitecture logicielle multitรขche, il faut que le concepteur adresse des problรจmes de relations entre tรขches, qui sont reprรฉsentรฉs typiquement par la synchronisation, la communication, le partage de ressources, afin dโassurer le comportement concurrent des systรจmes de contrรดle-commande.
Architecture matรฉrielle : Lโaspect matรฉriel a une trรจs grande importance dans les applications de contrรดlecommande. Il assure la connexion directe avec le monde physique rรฉel ร lโaide dโune grande diversitรฉ de systรจme dโentrรฉe/sortie et lโagencement des composants รฉlectroniques ainsi que leur interaction. Dans ces matรฉriels on peut citer : microcontrรดleur, des mรฉmoires, des horloges, des composants spรฉcifiques, des alimentationsโฆ
Processeur
โข Un microprocesseur est une unitรฉ de traitement optimisรฉe pour le calcul. Gรฉnรฉralement plus rapide quโun microcontrรดleur, cโest le cลur des microordinateurs. Il est capable dโeffectuer des entrรฉes/sorties (moyens de communication entre lโordinateur et le monde extรฉrieur : capteurs, actionneurs, pรฉriphรฉriques divers) via des circuits spรฉcialisรฉs (ports sรฉrie, ports parallรจle, USB, etc.) et surtout, dans le cadre des applications de contrรดle-commande, via des cartes spรฉcialisรฉes enfichables nommรฉes cartes dโacquisition.
โข Un microcontrรดleur est une unitรฉ de traitement optimisรฉe pour les entrรฉes sorties.
Gรฉnรฉralement, un microcontrรดleur est associรฉ directement ร plusieurs types dโentrรฉes/ sorties, et il ne nรฉcessite pas lโapport de cartes enfichables supplรฉmentaires. Il est de ce fait plus compact quโun microprocesseur muni de cartes dโacquisition, mais moins performant en termes de calcul. Les unitรฉs de calculs sont caractรฉrisรฉes par une frรฉquence dโhorloge en hertz (Hz). Cette frรฉquence correspond au nombre de cycle par seconde effectuรฉ par lโunitรฉ de calcul. Chaque instruction de bas niveau exรฉcutรฉe par lโunitรฉ de calcul nรฉcessite dโun ร quelques cycles dโhorloge. La frรฉquence dโhorloge des microprocesseurs actuels se situe aux alentours de quelques gigahertz (GHz), alors que les microcontrรดleurs sont cadencรฉs (ce terme vient du fait que lโhorloge interne donne la cadence) ร quelques dizaines de mรฉgahertz (MHz). Les instructions dโun programme, ainsi que les donnรฉes et le contexte dโexรฉcution du programme sont stockรฉs dans la mรฉmoire centrale (mรฉmoire vive comme la RAM pour Random Access Memory, ou mรฉmoire FLASH plus lente que la RAM mais rรฉmanente). Une mรฉmoire se caractรฉrise par sa taille, la taille des mots mรฉmoires (taille de donnรฉes que le processeur et la mรฉmoire รฉchangent ร chaque accรจs) et son temps dโaccรจs. Le temps dโaccรจs est donnรฉ soit en frรฉquence, soit en nombre dโaccรจs par seconde. Dans un systรจme informatisรฉ, la taille est caractรฉrisรฉe en octets. Un octet est une entitรฉ composรฉe de 8 bits (bit binary digit, chiffre binaire). Toute information (instructions, donnรฉes, informations sur lโรฉtat interne, etc.) est reprรฉsentรฉe en binaire sur un certain nombre dโoctets. Lโoctet est la plus petite entitรฉ adressable : chaque octet possรจde une adresse en mรฉmoire centrale.
Outils de communication et de synchronisation
ย ย ย ย ย ย ย ย ย Les outils de communication et de synchronisation permettent aux tรขches dโinteragir. Effectivement, les exรฉcutifs temps rรฉel ne proposent pas toujours ces outils mais il faut dans certains cas les implรฉmenter en utilisant ces concepts de base.
Sรฉmaphore : Cโest un outil introduit par Dijkstra en 1965 dont, lโun de ses rรดles est de protรฉger une zone de programme dite rรฉentrante, cโest-ร -dire quโil permet de limiter le nombre d’accรจs ร une ressource partagรฉe, en comptant le nombre d’autorisations acquises et rendues Le sรฉmaphore gรจre donc un ensemble de permis, en nombre fixรฉ, et accorde ces permis ร ceux qui en font la demande et ces demandeurs sont mis ร lโรฉtat bloquรฉ jusquโร ce quโun permis lui a รฉtรฉ dรฉlivrรฉ. Cโest une variable soit binaire soit n-aires.
Moniteur : Un outil utilisรฉ pour synchronisรฉ deux ou plusieurs tรขches qui utilisent des ressources partagรฉes. Lโutilisation de ressource ne peut avoir lieu quโร travers ce dernier. Il est constituรฉ :
โข Dโensemble de primitive permettant lโinteraction avec la ressource partagรฉe
โข Dโun verrou dโexclusion mutuelle
โข Des variables associรฉes ร la ressource
Il y a deux type : classique et ร la Ada.
Signaux : Ce sont des รฉvรจnements (sans donnรฉe) pouvant รชtre envoyer ร une ou plusieurs tรขches simultanรฉment. On distingue deux types de signaux :
โข Signaux synchrone : internes ร une tรขche ou un processus. Cโest le rรฉsultat dโun รฉvรจnement interne ร une tรขche.
โข Signaux asynchrone : provenant dโune source externe (autre tรขche ou processus) ร lโadresse :
o Dโune tรขche ou un processus (privรฉ)
o Ou ร plusieurs tรขches et/processus (public)
La boite aux lettres : La boite aux lettres permet une communication asynchrone entre des tรขches. Elle est constituรฉe de :
โข Zone dโรฉchange tampon (buffer) : dans laquelle le tรขche ยซ รฉmettrice ยป peut dรฉposer des donnรฉes.
โข Mรฉcanisme de gestion de donnรฉes stockรฉes.
La communication est dite asynchrone car la tache รฉmettrice nโa pas besoin dโattendre que la tรขche rรฉceptrice soit ร lโรฉcoute pour lui envoyer des donnรฉes.
Le rendez-vous : Cโest une communication synchrone asymรฉtrique des tรขches avec passage de donnรฉes oรน une tรขche ยซ acceptante ยป attend un rendez-vous et une tรขche appelante demande ร effectuer un rendez-vous avec cette derniรจre.
Tableau noire : Il est la forme la plus simple des outils de communication asynchrone. Cโest une zone de mรฉmoire pouvant contenir un message oรน lโรฉcriture dโun message รฉcrase le message prรฉcรจdent, et la lecture est non bloquante et non destructive.
La mรฉthode SA-RT
a) Histoire : Dโabord SA : Lโanalyse structurรฉe SA, dรฉfinie par E. Yourdon et T. Demarco, est une mรฉthode descendante par affinages successifs des traitements, appelรฉs ยซ process ยป. Les diffรฉrents diagrammes sont donc ordonnรฉs hiรฉrarchiquement en faisant apparaรฎtre pour les derniers niveaux des fonctions รฉlรฉmentaires, appelรฉes primitives รฉlรฉmentaires ouย ยซ process ยป primitifs. Les diffรฉrents outils composant cette mรฉthode sont :
โ diagrammes de transformations de donnรฉes ou diagramme de flots de donnรฉes (DFD) ;
โ dictionnaire de donnรฉes ;
โ spรฉcifications des ยซ process ยป primitifs.
Pour exprimer complรจtement le comportement de lโapplication, le diagramme flots de donnรฉes de SA manquait dโun moyen permettant de spรฉcifier lโaspect opรฉrationnel, cโestร -dire la description de lโenchaรฎnement des diffรฉrents process. Cette lacune fut comblรฉe par la crรฉation de mรฉthode SA-RT (Structured Analysis-Real Time). Deux groupes รฉlaborรจrent la mรฉthode SA-RT avec des diffรฉrences notables en termes de reprรฉsentation : dโune part, la mรฉthode รฉtablie par Ward et Mellor en 1985 qui associe le fonctionnel et le contrรดle dans un mรชme diagramme et, dโautre part, la mรฉthode proposรฉe par Hatley et Pirbhai en 1986 qui sรฉpare le fonctionnel et le contrรดle.
b) Description : La mรฉthode SA-RT est une mรฉthode dโanalyse fonctionnelle et opรฉrationnelle des applications de contrรดle-commande. Cette mรฉthode permet de rรฉaliser une description graphique et textuelle de lโapplication en termes de besoins, cโest-ร -dire de ยซ ce que lโon a ร faire ยป ou le ยซ quoi ยป. Cette mise en forme du ยซ cahier des charges ยป de lโapplication est formelle dans le sens oรน la mรฉthodologie (ensemble des documents ร รฉlaborer) et lโexpression (syntaxe graphique) sont dรฉfinies. En revanche, elle ne permet pas dโeffectuer une vรฉrification de propriรฉtรฉs de lโapplication ร partir des seules descriptions SA-RT. Des รฉtudes ont รฉtรฉ menรฉes pour associer ร la mรฉthode SA-RT des mรฉthodes formelles afin dโapporter des possibilitรฉs de simulation et de vรฉrification. Cโest la mรฉthode SA-RT (Structured Analysis for Real-Time Systems), une mรฉthode de spรฉcification se basant sur le modรจle des processus de la mรฉthode SA. Le principe de la mรฉthode SA-RT est dโabord de dรฉcomposer un systรจme en processus fonctionnels, et de dรฉcrire le passage dโinformation sous forme de flot de donnรฉes. Puis un processus de contrรดle joue le rรดle de chef dโorchestre en activant/dรฉsactivant ou en dรฉclenchant ces processus fonctionnels grรขce ร des รฉvรฉnements prรฉdรฉfinis : ยซEnableยป (Activation), ยซDisableยป (Dรฉsactivation), et ยซTriggerยป (Dรฉclenchement). La spรฉcification SA-RT comporte gรฉnรฉralement un diagramme de contexte de donnรฉes, un ensemble de diagrammes de flot de donnรฉes/flot de contrรดle hiรฉrarchique, et un diagramme EtatTransition.
c) Elรฉments utilisรฉs : Les diagrammes de flot de donnรฉes sont construits ร partir de quatre รฉlรฉments graphiques : traitement (cercle), flot de donnรฉes (flรจche), unitรฉ de stockage (traits parallรจles) et entitรฉ externe (rectangle). ร partir de ces รฉlรฉments de base, il est possible de dรฉcrire lโaspect fonctionnel dโune application par un diagramme flot de donnรฉes. Ces composants du diagramme peuvent รชtre liรฉs par une flรจche continue (flot de donnรฉes : discrรจte ou continue) ou par une flรจche discontinue (Enable/Disable, Tigger, Evรจnement), ou bien les deux ร la fois.
d) Fonctionnement : Le processus de contrรดle reprรฉsente la logique du pilotage des processus fonctionnels. Les flots de contrรดle (ou Flot dโEvรฉnement) transportent les รฉvรฉnements ou informations qui conditionnent directement ou indirectement lโexรฉcution des processus de transformation de donnรฉes. Alors que les donnรฉes peuvent prendre soit des valeurs discrรจtes, soit le plus souvent des valeurs continues, les signaux de contrรดle prennent toujours des valeurs discrรจtes (voir la Figure I-30). SA-RT est une mรฉthode de spรฉcification des systรจmes basรฉe sur le concept de la rรฉtroaction. Dans le modรจle des besoins de la mรฉthode SA-RT, nous voyons que le systรจme est dรฉcomposรฉ non seulement en processus primitifs, mais รฉgalement en รฉtat de faรงon ร ce que la rรฉponse de ces processus primitifs soit dirigรฉe par un processus de contrรดle en fonction des conditions passรฉes et prรฉsentes ร lโintรฉrieur et ร lโextรฉrieur du systรจme. Tandis que lโactivation des processus fonctionnels dans les diagrammes de flot de donnรฉes de la mรฉthode SA est rรฉalisรฉe par leurs donnรฉes, le fait que des processus fonctionnels dans les diagrammes de flot de donnรฉes sont activรฉs par des รฉvรฉnements rend la mรฉthode SA-RT bien adaptรฉe ร des systรจmes de contrรดle/commande temps rรฉel. Du point de vue de la spรฉcification des besoins, les diagrammes รฉtat-transition (ou tables รฉtattransition, matrices รฉtat-transition) nous permettent de dรฉcrire distinctement lโaspect comportemental des systรจmes de maniรจre dynamique (par rapport aux mรฉthodes SA et JSP). De plus, une spรฉcification des contraintes de temps peut รชtre associรฉe sous la forme de temps de rรฉponse entrรฉe-sortie (une reprรฉsentation simple du domaine des temps de rรฉponse admissibles entre chaque รฉvรฉnement survenant sur les terminaux dโentrรฉe, et chaque รฉvรฉnement rรฉsultant sur les terminaux de sortie). Cependant, dans le cas des grands systรจmes, en particulier des systรจmes complexes, la dรฉcomposition en รฉtat peut provoquer le problรจme de lโexplosion des รฉtats oรน les diagrammes รฉtat-transition peuventย รชtre inappropriรฉs en comparaison avec les statecharts ou les tables รฉtat-transition. Quand plusieurs รฉvรฉnements associรฉs ร un รฉtat surviennent simultanรฉment, le choix de la transition ร exรฉcuter et de lโรฉtat suivant correspondant dans un diagramme รฉtat transition devient non-dรฉterministe. Etant une mรฉthode de spรฉcification, la mรฉthode SART ne propose aucun mรฉcanisme pour rรฉsoudre ce problรจme. Il laisse cela aux รฉtapes suivantes (lโรฉtape de conception et dโimplรฉmentation). La communication entre le processus de contrรดle et ses processus de donnรฉes dans SA-RT est la communication synchrone faiblement couplรฉe rรฉalisรฉe uniquement par des flots dโรฉvรฉnement (soit un Enable/Disable (E/D) รฉvรฉnement, soit un Trigger (T) รฉvรฉnement). Mais la communication synchrone fortement couplรฉe entre les processus de donnรฉes peut รชtre faite par des flots de donnรฉes discrets de faรงon ร ce que le processus appelant va envoyer une requรชte au processus appelรฉ, attendre une donnรฉe de ce dernier.
e) Rรจgle : Comme dans SA, des DFD hiรฉrarchiques sont crรฉรฉs en partant du diagramme de contexte de donnรฉes en respectant les rรจgles suivantes : un seul ou aucun processus de contrรดle par niveau de diagramme (diagramme prรฉliminaire ou diagramme de dรฉcomposition); les flots de donnรฉes ne sont traitรฉs que dans les processus primitifs, les flots de contrรดle ne sont que dans le processus de contrรดle et font des interfaces entre le processus de contrรดle et des processus fonctionnels.
f) Organisation : Les traits essentiels de cette mรฉthodologie hiรฉrarchique descendante rรฉsident dans la mise en avant des aspects fonctionnels et comportementaux (exรฉcution) de lโapplication analysรฉe.
โ Diagramme de contexte : premier diagramme flot de donnรฉes permettant de dรฉcrireย lโenvironnement de lโapplication ร dรฉvelopper. Le DCD reprรฉsente les bornes entre le systรจme et lโenvironnement externe. Il identifie les entitรฉs extรฉrieures avec lesquelles le systรจme doit communiquer. Chaque entitรฉ est reprรฉsentรฉe sous la forme dโune terminaison par un rectangle รฉtiquetรฉ. Le systรจme est reprรฉsentรฉ par un processus unique qui expose le but principal (cโest-ร -dire le cercle contenant lโidentification du rรดle central du systรจme). Toutes les entrรฉes et les sorties du systรจme sont reprรฉsentรฉes sous la forme des flots de donnรฉes qui font des interfaces entre les terminaisons et le processus principal : donc tous les flots qui circulent vers le processus principal sont en entrรฉe, et tous les flots qui circulent ร partir du processus principal sont en sortie.
โ Diagramme prรฉliminaire : diagramme flot de donnรฉes prรฉsentant le premier niveau dโanalyse fonctionnelle de lโapplication. Le DFD dรฉcompose le processus central unique et les flots dโentrรฉe/sortie dans le DCD en sousprocessus et en sous-flot respectivement (les sous-flots sont donc introduits entre les sousprocessus) afin de dรฉtailler le fonctionnement du systรจme. Le DFD contient seulement des processus, des flots de donnรฉes et des zones de stockage. Les processus et les flots de donnรฉes sont similaires ร ceux du diagramme de contexte de donnรฉes. Les stockages, indiquรฉs par des paires de lignes de droites parallรจles avec des noms ร lโintรฉrieur, reprรฉsentent des donnรฉes stockรฉes pour une utilisation ultรฉrieure par un processus.
โ Diagrammes de dรฉcomposition : diagramme flot de donnรฉes prรฉsentant les analyses des processus fonctionnels non primitifs.
โ Spรฉcification des processus fonctionnels primitifs : spรฉcification textuelle des fonctions rรฉalisรฉes par les processus fonctionnels.
Dans le diagramme prรฉliminaire, nous voyons trรจs clairement la fusion entre le modรจle de contrรดle et le modรจle des processus dans la spรฉcification des besoins de la mรฉthode SA-RT. Le processus de contrรดle, appelรฉ ยซ Contrรดle Chauffage ยป, est le contrรดleur du systรจme. Il dirige le fonctionnement de tous les processus fonctionnels grรขce ร des flots dโรฉvรฉnement appropriรฉs. Donc les processus dโacquisition sont activรฉs ou dรฉsactivรฉs par des รฉvรฉnements ยซEnable/Disableยป (ou E/D), et les processus de commande sont dรฉclenchรฉs par des รฉvรฉnements ยซTriggerยป (ou T).
โ Spรฉcification des processus de contrรดle : diagrammes รฉtat/transition dรฉcrivant le fonctionnement des processus de contrรดle.
Nous savons que dans le cas oรน un diagramme de flot de donnรฉes contient un processus de contrรดle, il est nรฉcessaire de gรฉnรฉrer une description ou une spรฉcification du processus de contrรดle afin de reprรฉsenter lโaspect comportemental de lโapplication. Cette spรฉcification peut รชtre faite sous la forme dโun diagramme รฉtat-transition. Le diagramme รฉtat-transition est la reprรฉsentation la plus familiรจre dโune machine sรฉquentielle (une machine sรฉquentielle est dรฉfinie comme une machine ร รฉtats finis dont les sorties sont dรฉterminรฉes ร la fois par les entrรฉes courantes et passรฉes). Dans un diagramme รฉtattransition, nous prรฉcisons tous les รฉtats possibles dโun systรจme lors de son exรฉcution. Les รฉtats sont reprรฉsentรฉs par des boรฎtes rectangulaires avec les noms des รฉtats. A un instant donnรฉ, le systรจme doit รชtre toujours dans lโun de ses รฉtats spรฉcifiรฉs. Le changement dโun รฉtat courant ร un autre รฉtat est dรฉterminรฉ par un arc de transition avec une flรจche vers lโรฉtat suivant. Des รฉvรฉnements causant la transition, et des actions engendrรฉes lorsque la transition est franchie sont notรฉs directement sur lโarc de transition. Les deux sont sรฉparรฉs par une ligne.
โ Dictionnaire de donnรฉes : liste exhaustive des donnรฉes et des รฉvรฉnements utilisรฉs dans la spรฉcification. Le dictionnaire de donnรฉes regroupe la sรฉmantique et la structure des donnรฉes prรฉsentรฉes dans le systรจme. Le dictionnaire fournit une dรฉfinition exacte de chaque flot de donnรฉes et de tous les stockages.
La programmation parallรจle
1. Pourquoi la programmation parallรจle ?
โข La puissance de calcul dโune machine ยซ standard ยป nโest pas suffisante pour toutes les applications informatiques
โข Il nโy a presque plus dโarchitecture monoprocesseur, par faute de difficultรฉ dโaugmentation de la frรฉquence dโhorloge, les constructeurs font recours ร lโaugmentation de nombre de processeur
โข Pour augmenter la puissance des machines sans attendre de nouvelle technologie
โข Pour augmenter les performances des machines monoprocesseur grรขce ร des mรฉcanismes parallรจles intรฉgrรฉs (unitรฉs de traitement/calcul indรฉpendantes, multiplication des unitรฉs de calcul, pipeline) et aux architectures parallรจles associรฉes au processeur.
2. Dรฉfinition : Une architecture parallรจle est un ensemble de processeurs รฉlรฉmentaires communiquant qui coopรจrent pour rรฉsoudre un problรจme. Le systรจme parallรจle cโest dรฉcouper un gros problรจme en de nombreux petits problรจmes. Le parallรฉlisme a deux niveaux : ร lโintรฉrieur du processeur (instructions en parallรจle et multi-cลur) et multiprocesseurs. [2][9] Dรฉfinition (Petit Robert) : En Informatique cโest une Technique dโaccroissement des performances des ordinateurs utilisant plusieurs processeurs fonctionnant simultanรฉment.
Le parallรฉlisme au sein du processeur : Lโexรฉcution dโune instruction (multiplication par ex.) nรฉcessite plusieurs cycles dโhorloge. On exรฉcute en parallรจle les instructions indรฉpendantes pour gagner du temps. Un processeur possรจde plusieurs Unitรฉ Arithmรฉtique et Logique. Les instructions peuvent รชtre rรฉarrangรฉes afin dโamรฉliorer le rendement (out of order execution).
Multi-cลur : Un cลur est une unitรฉ exรฉcutant les instructions dans un processeur. Dโoรน le multi-cลur est lโensemble de plusieurs unitรฉs exรฉcutant des instructions en parallรจle. Multi-cลur (tous sur un mรชme circuit) ๏นmultiprocesseur (circuits diffรฉrents)
3. Les objectifs du parallรฉlisme
๏ญ Un gain de performance
โช Multiplier les ressources matรฉrielles pour diviser le temps dโexรฉcution dโautant
โช Accroitre la taille des problรจmes ร rรฉsoudre
โช Mais un gain linรฉaire est difficile ร obtenir
๏ญ Un gain conceptuel
โช Plusieurs expressions des modรจles de calcul parallรจle
โช Une approche intrinsรจquement parallรจle des problรจmes peut dรฉboucher sur des solutions plus efficaces
๏ญ Mais aussi : rรฉpartition de lโampliation et tolรฉrance aux pannes
4. Lโexploitation du parallรฉlisme :
Les trois phases de lโexploitation
๏ญ Exhibition : construction dโalgorithmes parallรจles
โช Rechercher et mettre en รฉvidence le caractรจre parallรจle dโune application
โช Analyser les graphes de donnรฉes et de contrรดle de lโapplication
โช Prรฉvoir le parallรฉlisme thรฉorique maximum qui pourra รชtre obtenu
๏ญ Extraction : exprimer les algorithmes parallรจles dans un modรจle de calcul (ex: CSP, message passing, fork and join)
๏ญ Exรฉcution : les modรจles de calcul sont mis en ลuvre conjointement
โช Par des outils logiciels (compilateurs optimisant, interprรจtesโฆ)
โช Par des outils matรฉriels (architectures matรฉrielles parallรจles)
Chaque รฉtape introduit des contraintes qui limitent les performances.
5. Les 3 sources du parallรฉlisme
|
Table des matiรจres
REMERCIEMENTS
LISTE DES SYMBOLES ET ABREVIATIONS
LISTE DES TABLEAUX
LISTE DES FIGURES
INTRODUCTION
PARTIE I: Systรจme de contrรดle-commande
I. Gรฉnรฉralitรฉs
1. Dรฉfinition
2. Les diffรฉrents systรจmes de contrรดle-commande
3. Caractรฉristiques de systรจmes de contrรดle-commande
4. Architectures logicielle et matรฉrielle
II. Contrรดle-commande temps rรฉel
1. Noyau de systรจme dโexploitation
2. Noyau temps rรฉel
3. Concepts des tรขches
4. Gestion des tรขches
5. Outils de communication et de synchronisation
6. Gestion du temps
7. Ordonnancement
8. Implรฉmentation des applications de contrรดle-commande temps rรฉel
III. Spรฉcification et conception dโune application de contrรดle-commande
1. La mรฉthode SA-RT
2. La mรฉthode DA-RT
PARTIE II: La technique multitรขche et la programmation parallรจle
I. Technique multitรขche
1. Gรฉnรฉralitรฉ
2. Notion de processus et threads
3. Dรฉfinition dโune tรขche et dโune application multitรขche
4. La technique multitรขche ou la gestion multitรขche
5. Type de programme multitรขche
6. Multitรขche, multithreading, multitraitement
II. La programmation parallรจle
1. Pourquoi la programmation parallรจle ?
2. Dรฉfinition
3. Les objectifs du parallรฉlisme
4. Lโexploitation du parallรฉlisme
5. Les 3 sources du parallรฉlisme
III. Multithreading en Java
1. La classe thread et lโinterface runnable
2. Crรฉer, lancer et stopper un thread
3. Ordonnancement
4. Cycle de vie dโun thread
5. Groupe de threads
6. Manipulation des threads [3]
b) Join
7. Avantages et inconvรฉnient dโune application multithread
PARTIE III: Etude de cas reel et simulation du systรจme de contrรดle-commande temps rรฉel avec javaย
I. Cahier de charge
1. Cas rรฉel
2. Modรจle rรฉduit du cas rรฉel
II. Spรฉcification des processus et tรขches aves la mรฉthode SA-RT
1. Diagramme de contexte
2. Diagramme de flot de donnรฉes et de contrรดle, diagramme prรฉliminaire et diagramme รฉtat/transition
3. Dictionnaire de donnรฉes et processus primitifs du diagramme prรฉliminaire
III. Conception des communications et synchronisations des tรขches avec la mรฉthode DA-RT
IV. Implรฉmentation sur JAVA
1. Diagramme des classes
2. Lโimplรฉmentation sur JAVA
3. Rรฉsultats
CONCLUSION
BIBLIOGRAPHIE
ANNEXE
Tรฉlรฉcharger le rapport complet