Académique Documents
Professionnel Documents
Culture Documents
Cours Systemes Temps Reels PDF
Cours Systemes Temps Reels PDF
EMIG
SYSTEMES
TEMPS REEL
II Historique
La cinquime gnration, qui s'tend de 1990 maintenant, est celle des "microchips"
o quelques 30 millions de portes logiques sont implantes sur une seule surface d'environ
10mm10mm. Cependant les nouveauts sortent une cadence trs rapide.
Dailleurs la tendance actuelle en 2007 nest plus de pousser la frquence dhorloge du
processeur qui atteint sa limite thorique des 4 GHz. On a beau rduire la taille des transistors
afin de limiter le dlai de propagation du signal dun transistor au suivant, la puissance
consomme par unit de surface ces frquences ferait que la puce entire se consumerait. On
augmente le volume de traitement en insrant par contre sur le mme substrat, deux ou
plusieurs noyaux et faire en sorte quils cooprent suivant divers schmas.
Aujourd'hui, le multimdia puis le 3 D et le temps rel.
Demain, le monde virtuel !
UC BUS MEM
BUS
4. Lunit centrale
ALU Arithmetic & Logical Unit, ou UAL
oprations arithmtiques de base
dcalages, oprations logiques
dcodage fonction
Registres adresses, donnes, tat
minimum : 1 registre adresses, 1 registre donnes
Unit de commande
excution des instructions
2. Changements de bases
Avant daborder la reprsentation des diffrents types de donnes (caractres, nombres
naturels, nombres rels), il convient de se familiariser avec la reprsentation dun nombre
dans une base quelconque (par la suite, nous utiliserons souvent les bases 2, 8, 10 et 16).
Habituellement, on utilise la base 10 pour reprsenter les nombres, cest dire que lon crit
laide de 10 symboles distincts, les chiffres.
En base b, on utilise b chiffres. Notons ai la suite des chiffres utiliss pour crire un nombre :
En dcimal, b = 10, ai { 0; 1; 2; 3; 4; 5; 6; 7; 8; 9 } ;
En binaire, b = 2, ai { 0 ; 1} : 2 chiffres binaires, ou bits ;
En hexadcimal, b = 16, ai { 0 ; 1; 2; 3; 4; 5; 6; 7; 8; 9; A;B;C;D;E; F} (on utilise
les 6 premires lettres comme des chiffres).
Entiers naturels
Les entiers naturels (positifs ou nuls) sont cods sur un nombre doctets fix (un octet est un
groupe de 8 bits). On rencontre habituellement des codages sur 1, 2 ou 4 octets, plus rarement
sur 64 bits (8 octets, par exemple sur les processeurs DEC Alpha).
Un codage sur n bits permet de reprsenter tous les nombres naturels compris entre 0 et 2n - 1.
Par exemple sur 1 octet, on pourra coder les nombres de 0 255 = 28 - 1.
On reprsente le nombre en base 2 et on range les bits dans les cellules binaires correspondant
leur poids binaire, de la droite vers la gauche. Si ncessaire, on complte gauche par des
zros (bits de poids fort).
Entiers relatifs
Il faut ici coder le signe du nombre. On utilise le codage en complment deux, qui permet
deffectuer ensuite les oprations arithmtiques entre nombres relatifs de la mme faon
quentre nombres naturels.
1. Entiers positifs ou nuls : On reprsente le nombre en base 2 et on range les bits comme
pour les entiers naturels. Cependant, la cellule de poids fort est toujours 0 : on utilise donc
n - 1 bits.
Le plus grand entier positif reprsentable sur n bits en relatif est donc 2n-1 - 1.
2. Entiers ngatifs : Soit x un entier positif ou nul reprsent en base 2 sur n bits
n 1
x = i 2 i avec i{0,1}
i =0
et soit
n 1
y = (1 i )2 i + 1
i =0
Remarques :
(a) le bit de poids fort dun nombre ngatif est toujours 1 ;
(b) sur n bits, le plus grand entier positif est 2n-1 - 1 = 011. 1 ;
(c) sur n bits, le plus petit entier ngatif est -2n-1.
A) Virgule fixe :
Le nombre est reprsent sur 64 bits dont 32 pour la partie entire et 32 pour la partie
fractionnaire.
Exemple :
1,0 = (0000 0001, 0000 0000)16
- 1,0 = (FFFF FFFF, 0000 0000)16
30 = (0000 0000 0000 0000 0000 0000 0001 1110)2
C2 (-32) = (1111 1111 1111 1111 1111 1111 1110 0010)2
0,5 = 0,8 16
- 30,5 = ( FFFF FFE2,8000 000)16
Le signe est reprsent sur le bit de poids fort s, + est reprsent par 0 et - par 1.
Lexposant est cod sur les 8 bits e est biais de 127. On code en binaire la valeur n + 127.
La mantisse est code sur les 23 bits de poids faibles m.
Exemple :
15601 = 156,01 x 102 = 1,5601 x 104
- 101001 = - 101,001 x 2 = -1,01001 x 25
3
Principe de codification
o La mantisse M est normalise sous la forme 1,.
o La partie est code sur 23 bits. Lexposant est ajust en tenant compte de
la mantisse normalise.
o Lexposant E est cod sur 8 bits en ajustant 127 sa valeur.
o S est cod sur 1 bit.
Remarques :
1. Les exposants 00000000 et 11111111 sont interdits :
lexposant 00000000 signifie que le nombre est dnormalis ;
lexposant 11111111 indique que lon na pas affaire un nombre (on
note cette configuration NaN, Not a Number, et on lutilise pour
signaler des erreurs de calculs, comme par exemple une division par 0).
2. Les plus petit exposant est donc -126, et le plus grand +127.
Exemple 1 :
(1003)10 = (1111101011)2
En simple prcision on a : 1,111101011 x 29 ;
Le nombre tant positif S= 1 ; E = 9 E+127 = (136)10 = (1000 1000)2
S E+127 23 bits
0100 0100 0 111 1010 1100 0000 0000 0000
4 4 . 7 A C 0 0 0 .
Donc (1003)10 = 447AC000 IEEE
Exemple 2 :
Convertir 4D961000 IEEE en base 10
0 nombre positif
E = 155 127 = 28
N = (2048 + 256 + 64 + 32 + 1 ) x 217 = 240 x 131072 = 314 703 872
N = + 1, x 2 28
Le code ASCII reprsente chaque caractre sur 7 bits (on parle parfois de code ASCII tendu,
utilisant 8 bits pour coder des caractres supplmentaires).
Notons que le code ASCII original, dfini pour les besoins de linformatique en langue
anglaise) ne permet la reprsentation des caractre accentus (, , , , ...), et encore moins
des caractres chinois ou arabes. Pour ces langues, dautres codages existent, utilisant 16 bits
par caractres.
La table suivant donne le code ASCII. A chaque caractre est associ une configuration de
8 chiffres binaires (1 octet), le chiffre de poids fort (le plus gauche) tant toujours gal
zero. La table indique aussi les valeurs en base 10 (dcimal) et 16 (hexadcimal) du nombre
correspondant.
Plusieurs points importants propos du code ASCII :
Les codes compris entre 0 et 31 ne reprsentent pas des caractres, ils ne sont pas
affichables. Ces codes, souvent nomms caractres de contrles sont utiliss pour indiquer
des actions comme passer la ligne (CR, LF), mettre un bip sonore (BEL), etc.
Les lettres se suivent dans lordre alphabtique (codes 65 90 pour les majuscules, 97 122
pour les minuscules), ce qui simplifie les comparaisons.
On passe des majuscules aux minuscules en modifiant le 5ime bit, ce qui revient ajouter
32 au code ASCII dcimal.
Les chiffres sont rangs dans lordre croissant (codes 48 57), et les 4 bits de poids faibles
dfinissent la valeur en binaire du chiffre.
1. Principes de fonctionnement
Les deux principaux constituants dun ordinateur sont la mmoire principale et le processeur. La
mmoire principale (MP) permet de stocker de linformation (programmes et donnes), tandis que le
processeur excute pas pas les instructions composant les programmes.
Notion de programme
Un programme est une suite dinstructions lmentaires, qui vont tre excutes dans lordre par le
processeur. Ces instructions correspondent des actions trs simples, comme additionner deux
nombres, lire ou crire une case mmoire, etc. Chaque instruction est codifie en mmoire sur
quelques octets.
Le processeur est capable dexcuter des programmes en langage machine, cest dire composs
dinstructions trs lmentaires suivant un codage prcis. Chaque type de processeur est capable
dexcuter un certain ensemble dinstructions, son jeu dinstructions.
Pour crire un programme en langage machine, il faut donc connatre les dtails du fonctionnement du
processeur qui va tre utilis.
Le processeur
Le processeur est un circuit lectronique complexe qui excute chaque instruction trs rapidement, en
quelques cycles dhorloges. Toute lactivit de lordinateur est cadence par une horloge unique, de
faon ce que tous les circuits lectroniques travaillent ensembles.
Le processeur est divis en deux parties (voir figure 1.1), lunit de commande et lunit de
traitement :
lunit de commande est responsable de la lecture en mmoire et du dcodage des instructions ;
lunit de traitement, aussi appele Unit Arithmtique et Logique (U.A.L.), excute les
instructions qui manipulent les donnes.
Unit de transfert
Notons que les oprations de lecture et dcriture portent en gnral sur plusieurs octets contigus en
mmoire : un mot mmoire. La taille dun mot mmoire dpend du type de processeur ; elle est de
1 octet (8 bits) dans les processeurs 8 bits (par exemple Motorola 6502) ;
2 octets dans les processeurs 16 bits (par exemple Intel 8086) ;
4 octets dans les processeurs 32 bits (par ex. Intel 80486 ou Motorola 68030).
3. Le processeur central
Le processeur est parfois appel CPU (de langlais Central Processing Unit) ou encore MPU (Micro-
Processing Unit) pour les microprocesseurs.
Un microprocesseur nest rien dautre quun processeur dont tous les constituants sont runis sur la
mme puce lectronique (pastille de silicium), afin de rduire les cots de fabrication et daugmenter
la vitesse de traitement. Les microordinateurs sont tous quips de microprocesseurs.
Larchitecture de base des processeurs quipant les gros ordinateurs est la mme que celle des
microprocesseurs.
Par exemple, examinons ce quil se passe lorsque le processeur excute une instruction comme
Ajouter 5 au contenu de la case mmoire dadresse 180 :
1. Le processeur lit et dcode linstruction ;
2. le processeur demande la mmoire le contenu de lemplacement 180 ;
3. la valeur lue est range dans laccumulateur ;
4. lunit de traitement (UAL) ajoute 5 au contenu de laccumulateur ;
5. le contenu de laccumulateur est cris en mmoire ladresse 180.
Cest lunit de commande qui dclenche chacune de ces actions dans lordre. Laddition proprement
dite est effectue par lUAL.
FIG. 1.3 Schma simplifi dun processeur. Le processeur est reli lextrieur par les bus
de donnes et dadresses, le signal dhorloge et les signaux de commandes.
Les informations circulent lintrieur du processeur sur deux bus internes, lun pour les donnes,
lautre pour les instructions.
On distingue les registres suivants :
ACC : Accumulateur ;
RTUAL : Registre Tampon de lUAL, stocke temporairement lun des deux oprandes dune
instruction arithmtique (la valeur 5 dans lexemple donn plus haut) ;
Reg. dtat : stocke les indicateurs ;
RI : Registre Instruction, contient le code de linstruction en cours dexcution (lu en mmoire via le
bus de donnes) ;
IP : Instruction Pointer ou Compteur de Programme, contient ladresse de lemplacement mmoire o
se situe la prochaine instruction excuter ;
RTA : Registre Tampon dAdresse, utilis pour accder une donne en mmoire.
Les signaux de commandes permettent au processeur de communiquer avec les autres circuits de
lordinateur. On trouve en particulier le signal R/W (Read/Write), qui est utilis pour indiquer la
mmoire principale si lon effectue un accs en lecture ou en criture.
BUS DADRESSES
Mmoire
Processeur Principale
BUS DE DONNEES
R/W
Signal Lecture/Ecriture
FIG. 1.4 Connexions Processeur Mmoire : bus de donnes, bus dadresse et signal
lecture/criture.
Les informations changes entre la mmoire et le processeur circulent sur des bus.
Un bus est simplement un ensemble de n fils conducteurs, utiliss pour transporter n signaux binaires.
Le bus dadresse est un bus unidirectionnel : seul le processeur envoie des adresses. Il est compos de
a fils ; on utilise donc des adresses de a bits. La mmoire peut possder au maximum 2a emplacements
(adresses 0 2a - 1).
Le bus de donnes est un bus bidirectionnel. Lors dune lecture, cest la mmoire qui envoie un mot
sur le bus (le contenu de lemplacement demand) ; lors dune criture, cest le processeur qui envoie
la donne.
Les traitements ne sont pas sous le seul contrle du calculateur ; caractristiques importants
des TR, les traitements sont synchroniss par des vnements extrieurs.
Les rseaux dordinateurs pour les transactions bancaires ; le contrle des processus
industriels ; les jeux vido sont des exemples de systmes de traitement en temps rel.
Pour les systmes TR SOFT la contrainte de temps nest pas critique. On caractrise ces
systme en pourcentage des oprations ralises en un temps donn. Exemple 97% des
oprations seffectuent en 3 secondes.
Par contre, pour les STR HARD, la contrainte temps est trs critique ; les oprations mises en
uvre sont structures de manires ce que lchec du calculateur raliser (excuter) une
opration quelconque en un temps prcis entrane lchec total du calculateur raliser le
traitement TR.
Quelques exemples des temps limites pour diffrentes applications TR :
- Acquisition et analyse dune images dans un systme radar de dfense : 100 ms ;
- Contrle du temps dtincelle dans un moteur combustible : 2 ms ;
- Interaction avec un terminal pour jeux vido : 100 m ;
- Interaction avec un terminal pour transactions bancaires : quelques seconde ;
- Contrle de temprature dune chambre : quelques minutes.
CPU MMOIRE
PRINCIPALE
BUS
Donnes
E/S E/S DMAC
CPU :
- Charg deffectuer les oprations arithmtiques logiques ;
- Transfert des donnes de la CPU vers la mmoire et vice versa ;
- Transfert des donnes de la mmoire vers les E/S et inversement.
Mmoire : sert stocker les donnes ncessaires pour le programme et les donnes restitues
sous forme de rsultats.
Interf. CPU
I/O
5V
INT
Oui Traitement
FC=1 E/S
Non
Interruption :
A la fin de cours, un signal dinterruption est envoy au CPU, ce dernier arrte le traitement
en cours pour se brancher la routine dinterruption.
Le changement dtat est peru en TR par le microprocesseur (CPU), donc pas de
retard ;
INT
CPU
Dans le cas o il y a plusieurs signaux vrifier, la premire technique consiste tester le bit
dtat des E/S en commenant par la plus prioritaire. Cest dire que cette technique demande
une scrutation des E/S ; elle nest pas compatible avec un traitement TR.
Vecteur
gnrateur
CPU
INT
PIC
Dans le second cas on utilise un contrleur dinterruption appel PIC. Lobjectif du vecteur
gnrateur est de recevoir toutes les entres dinterruption des E/S et transmettre aux CPU
quune seule interruption.
2
alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 15
SYSTEMES TEMPS REEL CH 02 Electronique des systmes Temps Rels
Interface : dsigne dune manire gnrale lensemble des points communs entre deux
parties dun systme.
Interface : dsigne lensemble des points de connexion que le circuits dE/S prsente vers
lextrieur.
Interfacer deux circuits consiste relier entre eux les points dinterface (ou de connexion)
respectifs de manire ce que linformation puisse circuler entre eux.
PA7 DB7
1- 2 Interrupteur et clavier
Un interrupteur est un circuit qui permet denvoyer un 1 (ferm) ou un 0 (ouvert).
OFF
BUS
ON
z z
1 1
0 0
t t
Interrupteur idal Interrupteur rel
Cest un dispositif de sortie qui traduit un signal de sortie logique en lumire. Cest le circuit
de sortie le plus simple.
DEL : Diode lectroluminescente
Elle a une faible consommation dnergie.
Lordre de grandeur du courant dallumage est de 20 mA
La sortance dun ordinateur est au maximum de 10 TTL (avec 1 TTL = 1,6 mA)
0V
5V
0V
0V
Si le circuit met en jeu de courant et tension leves par rapport aux courants et tensions du
systme de lordinateur, il faut raliser une isolation galvanique ou lectrique. Cette isolation
est ralise avec laide dun optocoupleur.
12 V
Optocoupleur
0V
500 3000V
Grandeur
physique
(analogique Transducteur Circuit de CAN
non lectrique conditionnement
B
Grandeur U
physique Contrleur Circuit de CNA S
(analogique
non
analogique conditionnement
lectrique
+ -
Systme en boucle ferm
B
U
S
Verrou
Ressort
Ordre
UC
Compte rendu
Contrle par lUC
alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 20
SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels
+ Systme complet :
1) Mthode de scrutation ou polling
On peut distinguer quatre (4) types dentres/sorties :
Entres dinformation (criture dans le registre tampon dun CAN).
Sortie dinformation (criture dans le registre tampon dune
imprimante).
Entre de mot dtat (on peut associer chaque physique un
ensemble de position binaire dcrivant tout moment son tat).
Sortie dun mot de fonction (pour commander les organes
ORGANE
MC VE
PERIPHERIQUE
Ordre
Compte rendu
UC Contrle par lUC
ORGANE
PERIPHERIQUE
Transfert
2) Systme dinterruption
On peut classer les sources possibles dinterruption en deux (2) familles :
Interruptions internes : correspondant soit la dtection par lUC dune anomalie au
cours de lexcution dun programme, soit larrive dun signal mis par un
dispositif intgr dans lUC.
Exemple : instruction inexistante ; violation protection mmoire ; horloge (interruption
horloge interne).
Interruptions externes : proviennent des organes connects lUC ou lunit
dchange assurant gnralement le contrle des priphriques.
Exemple : erreurs de lecture ; priphrie non prt.
Pgrm de niveau i
Prise en compte de
linterruption de
niveau j >i
Inhibition provisoire Autorisation des
de toutes les interruptions de
interruptions niveau > j
Diagnostique
Sauvegarde de ltat
du programme i
Acquittement
Traitement
Libration niveau j,
autorisation
dinterruptions Restauration de ltat
niveau > i du programme i
traiter en plus grande urgence. On est donc amener dfinir des classes dinterruption.
Le corps du programme de niveau i comprend essentiellement 3 phases :
Demande
interruption niveau i
Interruptions autorises
Masque i
Prgm interruption
Droulement
1) Utilisation
Le but des voies dchange est dchanger des informations entre la mmoire et les units
priphriques.
Exemple :
Chargement dun programme ou dun bloque de donnes dune mmoire auxiliaire
vers la mmoire centrale.
Extraction dun bloc de donnes de la mmoire centrale pour visualisation sur cran
cathodique.
UNITE MEMOIRE
Voie
n0 n1 n2 n3
UNITE
CENTRALE Initialisation
Fin dchange
Canal multiplex Canal simple Canal simple
1
Transfert de M cases mmoire
Tc temps de transfert est M Tc
T : temps de cycle mmoire
i : temps de freinage pour la case mmoire i
2 T Temps de freinage total : Tf = i=1M i
i T
Tf < MT
UC
VE1
VE2
alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 25
SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels
Les problmes voqus prcdemment sont modifis si la mmoire centrale est divise en
bloc de mmoire ayant chacun son systme daccs multiples.
Exemple :
Si VE1 demande laccs B1 On aura alors une simultanit totale car aucune demande
Si VE2 demande laccs B2 ne va gner lautre, tant donner que les blocs mmoires
Si UC demande laccs B2 sont des systmes daccs spars. Mais la simultanit
nexistera pas sils demandent le mme bloc
b) Systmes utiliss
1- Protection par barre de verrouillage
Cest le systme le plus simple mettre en uvre. Un registre dit barre de
verrouillage est charg par une valeur dsignant une
0000 adresse. Les adresses infrieures la barre de verrouillage
Zone Protge
sont protges.
Zone 2 Protge
Capteurs
Processus Ordinateur
Actions
II Unit dinterface
BUS ORDINATEUR
INTERFACE ORDINATEUR
COUPLEURS Unit
dinterface
BORNIERS
SYSTME INDUSTRIEL
Interface ordinateur
Identique aux interfaces classiques.
Coupleurs
Assurent la liaison lectrique entre lordinateur et le systme industriel (optocoupleurs par
exemple).
Borniers
Assurent la liaison mcanique entre les signaux de lordinateur et les signaux du systme
industriel.
Pour les grands systmes et cause des inconvnients prcdemment cits, le schma suivant
est utilis.
BUS ORDINATEUR
CONTRLEUR DE COMMUNICATION
Systme
Ordinateur
CONTRLEUR DE COMMUNICATION
COUPLEURS
Satellite
BORNIERS d'interface
SYSTME INDUSTRIEL
IV Scurit et protection
Il sagit dviter quune dfaillance dun circuit de lordinateur entrane une dfaillance du
fonctionnement du systme industriel (matriel et personnel) et vice-versa.
Pour cela plusieurs techniques sont utilises pour assurer la protection et la scurit du
personnel et du matriel.
- Isolation galvanique (optocoupleur) ;
- Protection contre les surtensions et les surintensits (fusibles, ) ;
- Utilisation dune interface de secours ;
- Dtection prcoce des dfauts.
A
Amplificateur
Capteur B Ampli diffrentiel ou
Vd
dinstrumentation
VA VB
La tension en mode commun est une tension qui se retrouve sur les deux bornes de
lamplificateur (VCM).
Dans le cas dun montage parfaitement symtrique on a :
VA = VMC + Vd/2
VB = VMC - Vd/2 VA - VB = Vd
Exemple : il sagit de raliser une prcision de 1% sur la mesure dune tension dlivre par
un thermocouple gale 10 mV avec VCM = 10 V.
Retrouver le RRCM de lamplificateur.
10 mV Ampli
1
Vd = 10mV = 10 4 V
100
10
RRCM = 20 log 4 = 100dB
10
R2 R5 = R2 (R3 + R4)
R 1
Is = ( - R2 / R1 R3) Ve -
Is
Ve
+
R3
R4
R5
R
3 Conversion courant tension
Is
-
Vs = - R Is
+
Vs
Les deux circuits associs (entre de ligne et sortie de ligne)
on aura :
Vs = (R R2 / R1 R3 ) Ve
4 Entres binaires
Lentre binaire est une entre deux niveaux : un niveau haut et un niveau bas.
V2 V3
- V1
R1 D2 R Vs
A
Contact D1 C
R
Calculateur
Milieu
industriel Vs
5 Sorties binaires
48V
R
Darlington Milieu
Calculateur industriel
Up Procd Y
Commande Sortie
processus.
Exemple 1 : Un rchauffeur
Entre de vapeur
deau Entre
Fluide
Sortie
Fluide
Sortie de vapeur
deau
Mesure
Les lments dun contrle de procds sont :
Llment de mesure, llment de contrle et le contrleur.
III. Principe de contrle de procd
Lensemble des oprations ncessaires pour le contrle de procds est appel commande.
Si cette commande est accomplie par loprateur humain alors la commande est manuelle.
Laccomplissement de la fonction de changement de ltat du systme command laide de
dispositifs intermdiaires selon des lois dtermines reprsente en gnral une commande
automatique.
En fonction de la source du signal utilis par le systme de commande pour former laction de
commande, les systmes automatiques sont classs en deux catgories :
- les systmes en boucle ouverte ;
- les systmes en boucle ferme.
Les systmes en BO sont des systmes automatiques dont laction de commande est
indpendante de linformation sur la valeur relle de la grandeur commande.
Systmes de commandes par compensation :
Zi(t)
Compensation Zi Capteur de
mesure
Z1(t) Zn(t)
Laction de commande u(t) dans ces systmes est forme sur la base de linformation sur
certaines perturbations principales mesurables Zi (t). Cette information est transmise
directement lentre du systme de commande. Cest pourquoi de tels systmes sont appels
systmes de commandes par compensation. Mais la compensation est porte uniquement sur
la perturbation mesurable. Cest pourquoi ces systmes ont une application limite.
Z1(t) Zn(t)
r(t) Organe de
u(t)
Systme y(t)
correction command
Organe de mesure
La chane par la quelle linformation sur la grandeur commande est transmise de la sortie du
systme command jusqu lentre est la contre raction principale du systme automatique.
Le signal de retour peut tre positif ou ngatif.
Nimporte quel cart sur la grandeur commande y(t) provoque laction par rapport u(t)
pour rduire ou annuler cet cart.
Linconvnient des systmes en BF se caractrise par la ncessit de lexistence de lcart en
rgime permanent et transitoire.
y(t)
Organe Organe de Systme
dexcution rglage final command
Capteur
Transmetteur
+ _
Organe de
correction
+
Compensation par
anticipation
Organe de consigne
alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 35
SYSTEMES TEMPS REEL CH 05 Notion de Contrle de Procd
1) Dfinir le cahier de charges, formuler les rgles de fonctionnement, donc les objectifs
atteindre ;
2) Mesures les objectifs rellement atteints sur le procd en fonctionnement ;
3) A partir de la comparaison des objectifs, laborer une stratgie de commande ;
4) Raliser laide dun dispositif technologique la stratgie de commande.
Interface
s
Consigne Visualisation dune tape
atteindre du processus
Systme automatis
Les capteurs et les interfaces dadaptation : convertissent les signaux physiques issus du
procd en signaux informationnels (mesures).
2) Le dispositif technologique
On utilise :
Soit des systmes de contrle analogique ou outils cbls, ce sont les rgulateurs, leur
principal inconvnient est le manque de prcision (drive dans le temps, en
temprature).
Soit des systmes de contrle numrique. Ce sont des systmes microprocesseur, les
automates programmables, les calculateurs numriques. La prcision est gnralement
plus leve et les performances sont constantes. Seul inconvnient, il est moins rapide.
Objectifs
atteindre
Procd
PROCEDE
CAPTEUR
F Cartes
o Units contrles
n
d
Ports sries
d
e
Sorties analogiques Interfaces Processus
p
a
Entres analogiques Capteurs analogiques
n
i
e
r Entres numriques Capteurs numriques
Alimentation
Ordinateur industriel
alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 37
SYSTEMES TEMPS REEL CH 05 Notion de Contrle de Procd
Prvisibilit
La prvisibilit est ce que qui permet de dterminer lavance si un systmes temps rel va
respecter ses contraintes temporelles.
Dterminisme
Le dterminisme est le but que lon cherche atteindre afin de prdire le comportement
temporel dun systme temps rel : il sagit denlever toute incertitude sur le comportement
des activits individuelles et sur leurs comportements quand elles sont mises ensemble dans le
contexte dexcution du systme.
Fiabilit
La fiabilit est la capacit d'un systme qui excute et maintient ses fonctions dans des
environnements normaux, aussi bien que des environnements hostiles ou inattendus.
Un logiciel temps rel est un logiciel qui pilote un ordinateur qui interagit avec des dispositifs
ou objets externes en fonctionnement. Il est dit temps rel parce que ses actions logicielles
dirigent les activits dun processus en cours dexcution. Les concepts de temps rel et
dembarqu sont relativement interchangeable si ce nest pour le fait quun systmes
embarqu est inclus dans le systme quil contrle.
Le traitement temps rel est le traitement de donnes qui met en jeu la collecte de donnes
produites lextrieur du systme et qui ne peuvent pas tre reproduites au gr des besoins en
respectant des contraintes temps rel, ou le traitement de donnes qui peut rpondre en
exerant un contrle effectif qui produit un rsultat physique.
Les politiques dordonnancement des activits mises en oeuvre dans les systmes
classiques visent partager quitablement le temps dexcution ; elles sont inadaptes la
prise en compte de certaines contraintes temporelles ;
Les mcanismes daccs aux ressources partages et de synchronisation doivent tre adapts,
afin dliminer les incertitudes temporelles ;
La gestion des entres/sorties engendrent des temps morts dans le systme ;
La gestion des interruptions nest pas spcialement optimise ;
Les mcanismes de gestion de mmoire virtuelle, lutilisation de caches mmoire engendrent
des fluctuations dans le temps dexcution des activits dun systme ;
La gestion des temporisateurs qui servent la manipulation du temps noffre pas une
rsolution assez fine.
CAPTEURS
Information PARTIE
PROCD COMMANDE
Commande
ACTIONNEURS
Systme autonome
Cependant si cette mthode est applicable dans le cas dun processus simple, prsentant peu
de variable mesurer et dactions laborer, il nen est pas de mme dans le cas dun
processus complexe.
Par ailleurs, la ncessit dassurer des fonctions annexes (la gestion des priphriques
(disques, pupitres oprateurs, la communication avec loprateur (alarme, modification et
surveillance de consigne ) font que mme dans le cas dune application simple, la tche de
programmation exige pour rendre le programme autonome est lourde, lintroduction dun
moniteur temps rel permet de limiter leffort danalyse et de programmation la seule
conduite du processus.
Le moniteur temps rel est un programme qui permet la communication entre un utilisateur
et le systme matriel. Gnralement crit en assembleur, il est stock dans une EPROM.
Un systme dexploitation est un moniteur volu.
Il faut associ un moniteur (logiciel systme) un calculateur pour le rendre fonctionnel.
Les tches gres par un calculateur sont de deux types : les tches background (tches
utilisateurs) et les tches foreground (tches systme logiciel systme).
Lobjectif principal du moniteur temps rel est doptimiser le temps doccupation du
processeur.
II Multitche
A Principes de bases
La conception multitche fait coexister en mmoire plusieurs programmes, les programmes
sexcutent sous le control du moniteur et se partagent les diffrentes ressources du systmes
(dispositif hardware : unit centrale, priphriques ; lments software : sous programme,
tableau de valeurs, fichiers).
1 Notion de Processus
a) Dfinition
Un programme :
Cest une entit compose dune ou de plusieurs squence dinstructions essentiellement
statiques.
Un processus :
Cest une action, ou une squence doprations qui se droulent pour raliser une tche. Un
programme en excution est un processus. Un processus est donc l'activit rsultant de
l'excution d'un programme squentiel, avec ses donnes, par un processeur.
Un processus comporte diffrentes zones, en gnral 3 :
Une zone programme : on y accde avec un pointeur de programme.
Une zone de donnes : on y accde avec un pointeur de donne.
Une zone de piles : on y accde avec un pointeur de piles.
La zone programme est accessible uniquement en lecture, alors que les zones de donnes et de
piles sont accessibles en lecture et criture. Zone de Accs lecture et criture
piles Accs par pointeur de piles
b) descripteur de processus
A chaque processus est associ un descripteur dans le quel le systme mmorise le contexte
associer au processus. Le contexte est form des donnes ncessaires la gestion des
processus. Une table contient la liste de tous les processus et chaque entre conserve leur
contexte. Le nombre des emplacements dans la table des processus est limit pour chaque
systme et pour chaque utilisateur.
Le processus reoit un nom ou un numro, ce qui lui attribut une fiche dtat (on y a des
informations sur ltat du processus).
Dans cette fiche, on trouve :
- Une priorit : permettant de qualifier le degrs durgence du processus ;
- Un identificateur : permettant didentifier ltat du processus (actif, bloqu, en
attente ).
Tous les descripteurs sont relis entre eux selon le principe du double chanage (lis au
prcdant et au suivant).
Un processus peut tre dans lun des trois tats fondamentaux suivants :
- Elu : en cours dexcution ; 1
- Prt (ou Eligible) : en possession de toute
les ressources ncessaire son
fonctionnement sauf du processeur (tat LU PRET
dattente) ; 2
- Bloqu : en attente dune ressource 4 3
indispensable son fonctionnement (son BLOQU
excution) futur.
File de
Bloqu Prt Bloqu descripteur
Priorit
Descripteur max Descripteur
Descripteur File de
Processus 1 Processus 3
Processus 2 dispatching
Les fiches dtat ou descripteurs peuvent aussi tre, organiss suivant une liste circulaire
chane dans lordre des priorits dcroissantes.
Le dispatching suit la chane et excute le programme tant quil nest pas bloqu
Priorit max
Un systme dexploitation doit en gnral traiter plusieurs tches en mme temps. Comme il
na, la plupart du temps, quun processeur, il rsout ce problme grce un pseudo-
paralllisme. Il traite une tche la fois, sinterrompt et passe la suivante. La commutation
des tches tant trs rapide, lordinateur donne lillusion deffectuer un traitement simultan.
Le multi-tche
A lchelle du processeur, les tches seront excutes alternativement, la simultanit est donc
virtuelle on par dans ce cas de quasi simultanit.
ralises en parallle).
Exemple :
B Communication synchronisation
Dans un systme multitche, la coopration entre processus se fait par partage de variables ou
de ressources ou par envoi de messages. Ils existent aussi des problmes tel que laccs
concurrents, lInterblocage et la synchronisation des processus que ce systme doit savoir
grer
Coopration spatiale
Processus indpendants :
Chacun travail avec leurs propres ressources. Les
Processus 1 Processus 2 processus nont en commun que la ressource que
constitue le systme informatique.
Ressource 1 Ressource 2
Processus lis
La coopration temporelle
La coopration temporelle dans divers processus peut tre assure de plusieurs faons :
Deux principaux :
- Synchronisation par smaphore ;
- Synchronisation par vnement ;
1) les smaphores
Tout processus qui prend possession de la ressource doit excuter deux procdures :
Une procdure P(s), au dbut ;
Une procdure V(s), lorsquil libre la ressource ;
Procdure P(s) Procdure V(s)
Dbut Dbut
e(s) = e(s)-1 e(s)=e(s)+1
si e(s) 0 si e(s)0
alors le processus prend la alors sortir un processus de la file
ressource ; dattente F(s) ;
sinon le processus est mis en attente sinon
dans F(s) FIN.
FIN.
Lors de lutilisation dune ressource partageable rentrante, la valeur initiale du smaphore est
en gnrale initialise avec le nombre maximum daccs possible.
2) les vnements
1/ Stratgie dordonnancement
La majorit des stratgies dordonnancement sont base de file dattente. Deux techniques de
base sont adoptes :
Lordonnancement peut tre :
Non premptif :
un processus s excute jusqu ce qu il se termine ou se bloque en attente dun
vnement extrieur
Premptif :
par rquisition, un processus peut tre bloqu tout moment au profit dun autre.
+ -
Arrive
Exemple :
Soit 4 tches T1, T2, T3 et T4
T1 dure q, T2 dure 2q, T3 dure 3q et T4 dure 4q.
On alloue chaque tche q secondes pour loccupation de lunit centrale.
T1 T2 T3 T4 T2 T3 T4 T3 T4 T4
q 2q 3q 4q 5q 6q 7q 8q 9q 10q
Par contre la file F1 est scrute chaque fois, la file F2 est scrute un fois sur deux et la file 3
est scrute une fois sur trois.
Exemple :
Le premier passage scrute F1;
Le deuxime passage scrute F1, F2 ;
Le troisime passage scrute F1, F2, F3, et le cycle reprend.
------------- Pj -------------
p1 pj pn
Arrive
processus Pj de priorit pj
Exemple :
Soit 3 tches T1, T2 et T3 de priorit respective 6, 9 et 10.
- Etat initiale de la file des tches : | T1/6 | T2/9 | T3/10 |
- Lexcution va se drouler comme suit :
Initial - T1(6) T2(9) t3(10) excution de T3
1re commutation (toutes les tches non excut vont augment) T1 et T2 non excutes et T3
excut T1(7), T2(10) T3(10) excution de T3
2me commutation T1(8), T2(11) T3(10) T1(7), T3(10) T2(11) excution de T2
3me commutation T1(9), T2(9) T3(11) de T3 (fin de T3 3q)
4me commutation T1(10), T2(10) excution de T2
5me commutation T2(9) T1(11) excution de T1
etc.
la deuxime mthode est plus simple, cest toujours la tche de plus forte (haute)
priorit qui est excut par consquent une tche de priorit leve effectuant un long
travail, gardera le processeur aussi longtemps quelle le dsir, bloquant ainsi toutes les
tches de priorit infrieure.