Professional Documents
Culture Documents
EMIG
SYSTEMES
TEMPS REEL
II Historique
La cinquième génération, qui s'étend de 1990 à maintenant, est celle des "microchips"
où quelques 30 millions de portes logiques sont implantées sur une seule surface d'environ
10mm×10mm. Cependant les nouveautés sortent à une cadence très rapide.
D’ailleurs la tendance actuelle en 2007 n’est plus de pousser la fréquence d’horloge du
processeur qui atteint sa limite théorique des 4 GHz. On a beau réduire la taille des transistors
afin de limiter le délai de propagation du signal d’un transistor au suivant, la puissance
consommée par unité de surface à ces fréquences ferait que la puce entière se consumerait. On
augmente le volume de traitement en insérant par contre sur le même substrat, deux ou
plusieurs noyaux et faire en sorte qu’ils coopèrent suivant divers schémas.
Aujourd'hui, le multimédia puis le 3 D et le temps réel.
Demain, le monde virtuel !
UC BUS MEM
BUS
4. L’unité centrale
✟ ALU Arithmetic & Logical Unit, ou UAL
• opérations arithmétiques de base
• décalages, opérations logiques
• décodage fonction
✟ Registres adresses, données, état
• minimum : 1 registre adresses, 1 registre données
✟ Unité de commande
• exécution des instructions
2. Changements de bases
Avant d’aborder la représentation des différents types de données (caractères, nombres
naturels, nombres réels), il convient de se familiariser avec la représentation d’un 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 représenter les nombres, c’est à dire que l’on écrit à
l’aide de 10 symboles distincts, les chiffres.
En base b, on utilise b chiffres. Notons ai la suite des chiffres utilisés pour écrire un nombre :
– En décimal, 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 hexadécimal, b = 16, ai ∈ { 0 ; 1; 2; 3; 4; 5; 6; 7; 8; 9; A;B;C;D;E; F} (on utilise
les 6 premières lettres comme des chiffres).
Entiers naturels
Les entiers naturels (positifs ou nuls) sont codés sur un nombre d’octets 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 représenter 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 représente 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 nécessaire, on complète à gauche par des
zéros (bits de poids fort).
Entiers relatifs
Il faut ici coder le signe du nombre. On utilise le codage en complément à deux, qui permet
d’effectuer ensuite les opérations arithmétiques entre nombres relatifs de la même façon
qu’entre nombres naturels.
1. Entiers positifs ou nuls : On représente 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 représentable sur n bits en relatif est donc 2n-1 - 1.
2. Entiers négatifs : Soit x un entier positif ou nul représenté 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 d’un nombre négatif 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 négatif est -2n-1.
A) Virgule fixe :
Le nombre est représenté sur 64 bits dont 32 pour la partie entière 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 représenté sur le bit de poids fort s, + est représenté par 0 et - par 1.
– L’exposant est codé sur les 8 bits e est biaisé de 127. On code en binaire la valeur n + 127.
– La mantisse est codée 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 normalisée sous la forme 1,ρ.
o La partie ρ est codée sur 23 bits. L’exposant est ajusté en tenant compte de
la mantisse normalisée.
o L’exposant 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 :
– l’exposant 00000000 signifie que le nombre est dénormalisé ;
– l’exposant 11111111 indique que l’on n’a pas affaire à un nombre (on
note cette configuration NaN, Not a Number, et on l’utilise 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 précision 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 représente chaque caractère sur 7 bits (on parle parfois de code ASCII étendu,
utilisant 8 bits pour coder des caractères supplémentaires).
Notons que le code ASCII original, défini pour les besoins de l’informatique en langue
anglaise) ne permet la représentation des caractère accentués (é, è, à, ù, ...), et encore moins
des caractères chinois ou arabes. Pour ces langues, d’autres codages existent, utilisant 16 bits
par caractères.
La table suivant donne le code ASCII. A chaque caractère 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 (décimal) et 16 (hexadécimal) du nombre
correspondant.
Plusieurs points importants à propos du code ASCII :
– Les codes compris entre 0 et 31 ne représentent pas des caractères, ils ne sont pas
affichables. Ces codes, souvent nommés caractères de contrôles sont utilisés pour indiquer
des actions comme passer à la ligne (CR, LF), émettre un bip sonore (BEL), etc.
– Les lettres se suivent dans l’ordre alphabétique (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 5ième bit, ce qui revient à ajouter
32 au code ASCII décimal.
– Les chiffres sont rangés dans l’ordre croissant (codes 48 à 57), et les 4 bits de poids faibles
définissent la valeur en binaire du chiffre.
1. Principes de fonctionnement
Les deux principaux constituants d’un ordinateur sont la mémoire principale et le processeur. La
mémoire principale (MP) permet de stocker de l’information (programmes et données), tandis que le
processeur exécute pas à pas les instructions composant les programmes.
Notion de programme
Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans l’ordre par le
processeur. Ces instructions correspondent à des actions très simples, comme additionner deux
nombres, lire ou écrire une case mémoire, etc. Chaque instruction est codifiée en mémoire sur
quelques octets.
Le processeur est capable d’exécuter des programmes en langage machine, c’est à dire composés
d’instructions très élémentaires suivant un codage précis. Chaque type de processeur est capable
d’exécuter un certain ensemble d’instructions, son jeu d’instructions.
Pour écrire un programme en langage machine, il faut donc connaître les détails du fonctionnement du
processeur qui va être utilisé.
Le processeur
Le processeur est un circuit électronique complexe qui exécute chaque instruction très rapidement, en
quelques cycles d’horloges. Toute l’activité de l’ordinateur est cadencée par une horloge unique, de
façon à ce que tous les circuits électroniques travaillent ensembles.
Le processeur est divisé en deux parties (voir figure 1.1), l’unité de commande et l’unité de
traitement :
– l’unité de commande est responsable de la lecture en mémoire et du décodage des instructions ;
– l’unité de traitement, aussi appelée Unité Arithmétique et Logique (U.A.L.), exécute les
instructions qui manipulent les données.
Unité de transfert
Notons que les opérations de lecture et d’écriture portent en général sur plusieurs octets contigus en
mémoire : un mot mémoire. La taille d’un mot mémoire dépend 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 l’anglais Central Processing Unit) ou encore MPU (Micro-
Processing Unit) pour les microprocesseurs.
Un microprocesseur n’est rien d’autre qu’un processeur dont tous les constituants sont réunis sur la
même puce électronique (pastille de silicium), afin de réduire les coûts de fabrication et d’augmenter
la vitesse de traitement. Les microordinateurs sont tous équipés de microprocesseurs.
L’architecture de base des processeurs équipant les gros ordinateurs est la même que celle des
microprocesseurs.
Par exemple, examinons ce qu’il se passe lorsque le processeur exécute une instruction comme
“Ajouter 5 au contenu de la case mémoire d’adresse 180” :
1. Le processeur lit et décode l’instruction ;
2. le processeur demande à la mémoire le contenu de l’emplacement 180 ;
3. la valeur lue est rangée dans l’accumulateur ;
4. l’unité de traitement (UAL) ajoute 5 au contenu de l’accumulateur ;
5. le contenu de l’accumulateur est écris en mémoire à l’adresse 180.
C’est l’unité de commande qui déclenche chacune de ces actions dans l’ordre. L’addition proprement
dite est effectuée par l’UAL.
FIG. 1.3 – Schéma simplifié d’un processeur. Le processeur est relié à l’extérieur par les bus
de données et d’adresses, le signal d’horloge et les signaux de commandes.
Les informations circulent à l’intérieur du processeur sur deux bus internes, l’un pour les données,
l’autre pour les instructions.
On distingue les registres suivants :
ACC : Accumulateur ;
RTUAL : Registre Tampon de l’UAL, stocke temporairement l’un des deux opérandes d’une
instruction arithmétique (la valeur 5 dans l’exemple donné plus haut) ;
Reg. d’état : stocke les indicateurs ;
RI : Registre Instruction, contient le code de l’instruction en cours d’exécution (lu en mémoire via le
bus de données) ;
IP : Instruction Pointer ou Compteur de Programme, contient l’adresse de l’emplacement mémoire où
se situe la prochaine instruction à exécuter ;
RTA : Registre Tampon d’Adresse, utilisé pour accéder à une donnée en mémoire.
Les signaux de commandes permettent au processeur de communiquer avec les autres circuits de
l’ordinateur. On trouve en particulier le signal R/W (Read/Write), qui est utilisé pour indiquer à la
mémoire principale si l’on effectue un accès en lecture ou en écriture.
BUS D’ADRESSES
Mémoire
Processeur Principale
BUS DE DONNEES
R/W
Signal Lecture/Ecriture
FIG. 1.4 – Connexions Processeur – Mémoire : bus de données, bus d’adresse et signal
lecture/écriture.
Les informations échangées entre la mémoire et le processeur circulent sur des bus.
Un bus est simplement un ensemble de n fils conducteurs, utilisés pour transporter n signaux binaires.
Le bus d’adresse 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 mémoire peut posséder au maximum 2a emplacements
(adresses 0 à 2a - 1).
Le bus de données est un bus bidirectionnel. Lors d’une lecture, c’est la mémoire qui envoie un mot
sur le bus (le contenu de l’emplacement demandé) ; lors d’une écriture, c’est le processeur qui envoie
la donnée.
Les traitements ne sont pas sous le seul contrôle du calculateur ; caractéristiques importants
des TR, les traitements sont synchronisés par des événements extérieurs.
Les réseaux d’ordinateurs pour les transactions bancaires ; le contrôle des processus
industriels ; les jeux vidéo sont des exemples de systèmes de traitement en temps réel.
Pour les systèmes TR SOFT la contrainte de temps n’est pas critique. On caractérise ces
système en pourcentage des opérations réalisées en un temps donné. Exemple 97% des
opérations s’effectuent en 3 secondes.
Par contre, pour les STR HARD, la contrainte temps est très critique ; les opérations mises en
œuvre sont structurées de manières à ce que l’échec du calculateur à réaliser (exécuter) une
opération quelconque en un temps précis entraîne l’échec total du calculateur à réaliser le
traitement TR.
Quelques exemples des temps limites pour différentes applications TR :
- Acquisition et analyse d’une images dans un système radar de défense : 100 ms ;
- Contrôle du temps d’étincelle dans un moteur à combustible : 2 ms ;
- Interaction avec un terminal pour jeux vidéo : 100 m ;
- Interaction avec un terminal pour transactions bancaires : quelques seconde ;
- Contrôle de température d’une chambre : quelques minutes.
CPU MÉMOIRE
PRINCIPALE
BUS
Données
E/S E/S DMAC
CPU :
- Chargé d’effectuer les opérations arithmétiques – logiques ;
- Transfert des données de la CPU vers la mémoire et vice versa ;
- Transfert des données de la mémoire vers les E/S et inversement.
Mémoire : sert à stocker les données nécessaires pour le programme et les données restituées
sous forme de résultats.
Interf. CPU
I/O
5V
INT
Oui Traitement
FC=1 E/S
Non
Interruption :
A la fin de cours, un signal d’interruption est envoyé au CPU, ce dernier arrête le traitement
en cours pour se brancher à la routine d’interruption.
• Le changement d’état est perçu en TR par le microprocesseur (CPU), donc pas de
retard ;
INT
CPU
Dans le cas où il y a plusieurs signaux à vérifier, la première technique consiste à tester le bit
d’état des E/S en commençant par la plus prioritaire. C’est à dire que cette technique demande
une scrutation des E/S ; elle n’est pas compatible avec un traitement TR.
Vecteur
générateur
CPU
INT
PIC
Dans le second cas on utilise un contrôleur d’interruption appelé PIC. L’objectif du vecteur
générateur est de recevoir toutes les entrées d’interruption des E/S et transmettre aux CPU
qu’une seule interruption.
2
alkassoum_nabil@yahoo.fr Informatique Industrielle © 10/2007 15
SYSTEMES TEMPS REEL – CH 02 – Electronique des systèmes Temps Réels
Interface : désigne d’une manière générale l’ensemble des points communs entre deux
parties d’un système.
Interface : désigne l’ensemble des points de connexion que le circuits d’E/S présente vers
l’extérieur.
Interfacer deux circuits consiste à relier entre eux les points d’interface (ou de connexion)
respectifs de manière à ce que l’information puisse circuler entre eux.
PA7 DB7
1- 2 Interrupteur et clavier
Un interrupteur est un circuit qui permet d’envoyer un 1 (fermé) ou un 0 (ouvert).
OFF
BUS
ON
z z
1 1
0 0
t t
Interrupteur idéal Interrupteur réel
C’est un dispositif de sortie qui traduit un signal de sortie logique en lumière. C’est le circuit
de sortie le plus simple.
DEL : Diode électroluminescente
Elle a une faible consommation d’énergie.
L’ordre de grandeur du courant d’allumage est de 20 mA
La sortance d’un 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 élevées par rapport aux courants et tensions du
système de l’ordinateur, il faut réaliser une isolation galvanique ou électrique. Cette isolation
est réalisée avec l’aide d’un optocoupleur.
12 V
Optocoupleur
0V
500 – 3000V
Grandeur
physique
(analogique Transducteur Circuit de CAN
non électrique conditionnement
B
Grandeur U
physique Contrôleur Circuit de CNA S
(analogique
non
analogique conditionnement
électrique
+ -
Système en boucle fermé
B
U
S
Verrou
Ressort
Ordre
UC
Compte rendu
Contrôle par l’UC
alkassoum_nabil@yahoo.fr Informatique Industrielle © 10/2007 20
SYSTEMES TEMPS REEL – CH 03 – Caractéristiques des ordinateurs temps réels
+ Système complet :
1) Méthode de scrutation ou polling
On peut distinguer quatre (4) types d’entrées/sorties :
Entrées d’information (écriture dans le registre tampon d’un CAN).
Sortie d’information (écriture dans le registre tampon d’une
imprimante).
Entrée de mot d’état (on peut associer à chaque physique un
ensemble de position binaire décrivant à tout moment son état).
Sortie d’un mot de fonction (pour commander les organes
ORGANE
MC VE
PERIPHERIQUE
Ordre
Compte rendu
UC Contrôle par l’UC
ORGANE
PERIPHERIQUE
Transfert
2) Système d’interruption
On peut classer les sources possibles d’interruption en deux (2) familles :
♦ Interruptions internes : correspondant soit à la détection par l’UC d’une anomalie au
cours de l’exécution d’un programme, soit à l’arrivée d’un signal émis par un
dispositif intégré dans l’UC.
Exemple : instruction inexistante ; violation protection mémoire ; horloge (interruption
horloge interne).
♦ Interruptions externes : proviennent des organes connectés à l’UC ou à l’unité
d’échange assurant généralement le contrôle des périphériques.
Exemple : erreurs de lecture ; périphérie non prêt.
Pgrm de niveau i
Prise en compte de
l’interruption de
niveau j >i
Inhibition provisoire Autorisation des
de toutes les interruptions de
interruptions niveau > j
Diagnostique
Sauvegarde de l’état
du programme i
Acquittement
Traitement
Libération niveau j,
autorisation
d’interruptions Restauration de l’état
niveau > i du programme i
à traiter en plus grande urgence. On est donc amener à définir des classes d’interruption.
Le corps du programme de niveau i comprend essentiellement 3 phases :
Demande
interruption niveau i
Interruptions autorisées
Masque i
Prgm interruption
Déroulement
1) Utilisation
Le but des voies d’échange est d’échanger des informations entre la mémoire et les unités
périphériques.
Exemple :
• Chargement d’un programme ou d’un bloque de données d’une mémoire auxiliaire
vers la mémoire centrale.
• Extraction d’un bloc de données de la mémoire centrale pour visualisation sur écran
cathodique.
UNITE MEMOIRE
Voie
n°0 n°1 n°2 n°3
UNITE
CENTRALE Initialisation
Fin d’échange
Canal multiplexé Canal simple Canal simple
τ1
Transfert de M cases mémoire
Tc temps de transfert est M Tc
T : temps de cycle mémoire
τi : temps de freinage pour la case mémoire i
τ2 T Temps de freinage total : Tf = ∑i=1M τi
τi ≤ T
Tf < MT
τM
UC
VE1
VE2
alkassoum_nabil@yahoo.fr Informatique Industrielle © 10/2007 25
SYSTEMES TEMPS REEL – CH 03 – Caractéristiques des ordinateurs temps réels
Les problèmes évoqués précédemment sont modifiés si la mémoire centrale est divisée en
bloc de mémoire ayant chacun son système d’accès multiples.
Exemple :
Si VE1 demande l’accès à B1 On aura alors une simultanéité totale car aucune demande
Si VE2 demande l’accès à B2 ne va gêner l’autre, étant donner que les blocs mémoires
Si UC demande l’accès à B2 sont des systèmes d’accès séparés. Mais la simultanéité
n’existera pas s’ils demandent le même bloc
b) Systèmes utilisés
1- Protection par barre de verrouillage
C’est le système le plus simple à mettre en œuvre. Un registre dit « barre de
verrouillage » est chargé par une valeur désignant une
0000 adresse. Les adresses inférieures à la barre de verrouillage
Zone Protégée
sont protégées.
Cette méthode convient à la monoprogrammation ; il convient tant qu’il n’y a que deux
programme en mémoire (exemple l’OS et une application).
Zone 2 Protégée
Capteurs
Processus Ordinateur
Actions
II Unité d’interface
BUS ORDINATEUR
INTERFACE ORDINATEUR
COUPLEURS Unité
d’interface
BORNIERS
SYSTÈME INDUSTRIEL
Interface ordinateur
Identique aux interfaces classiques.
Coupleurs
Assurent la liaison électrique entre l’ordinateur et le système industriel (optocoupleurs par
exemple).
Borniers
Assurent la liaison mécanique entre les signaux de l’ordinateur et les signaux du système
industriel.
Pour les grands systèmes et à cause des inconvénients précédemment cités, le schéma suivant
est utilisé.
BUS ORDINATEUR
CONTRÔLEUR DE COMMUNICATION
Système
Ordinateur
CONTRÔLEUR DE COMMUNICATION
COUPLEURS
Satellite
BORNIERS d'interface
SYSTÈME INDUSTRIEL
IV Sécurité et protection
Il s’agit d’éviter qu’une défaillance d’un circuit de l’ordinateur entraîne une défaillance du
fonctionnement du système industriel (matériel et personnel) et vice-versa.
Pour cela plusieurs techniques sont utilisées pour assurer la protection et la sécurité du
personnel et du matériel.
- Isolation galvanique (optocoupleur) ;
- Protection contre les surtensions et les surintensités (fusibles, …) ;
- Utilisation d’une interface de secours ;
- Détection précoce des défauts.
A
Amplificateur
Capteur B Ampli différentiel ou
Vd
d’instrumentation
VA VB
La tension en mode commun est une tension qui se retrouve sur les deux bornes de
l’amplificateur (VCM).
Dans le cas d’un montage parfaitement symétrique on a :
VA = VMC + Vd/2
VB = VMC - Vd/2 VA - VB = Vd
Exemple : il s’agit de réaliser une précision de 1% sur la mesure d’une tension délivrée par
un thermocouple égale à 10 mV avec VCM = 10 V.
Retrouver le RRCM de l’amplificateur.
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 associés (entrée de ligne et sortie de ligne)
on aura :
Vs = (R R2 / R1 R3 ) Ve
4 Entrées binaires
L’entrée binaire est une entrée à 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 Procédé Y
Commande Sortie
processus.
Exemple 1 : Un réchauffeur
Entrée de vapeur
d’eau Entrée
Fluide
Sortie
Fluide
Sortie de vapeur
d’eau
Mesure
Les éléments d’un contrôle de procédés sont :
L’élément de mesure, l’élément de contrôle et le contrôleur.
III. Principe de contrôle de procédé
L’ensemble des opérations nécessaires pour le contrôle de procédés est appelé commande.
Si cette commande est accomplie par l’opérateur humain alors la commande est manuelle.
L’accomplissement de la fonction de changement de l’état du système commandé à l’aide de
dispositifs intermédiaires selon des lois déterminées représente en général une commande
automatique.
En fonction de la source du signal utilisé par le système de commande pour former l’action de
commande, les systèmes automatiques sont classés en deux catégories :
- les systèmes en boucle ouverte ;
- les systèmes en boucle fermée.
Les systèmes en BO sont des systèmes automatiques dont l’action de commande est
indépendante de l’information sur la valeur réelle de la grandeur commandée.
Systèmes de commandes par compensation :
Zi(t)
Compensation Zi Capteur de
mesure
Z1(t) Zn(t)
L’action de commande u(t) dans ces systèmes est formée sur la base de l’information sur
certaines perturbations principales mesurables Zi (t). Cette information est transmise
directement à l’entrée du système de commande. C’est pourquoi de tels systèmes sont appelés
systèmes de commandes par compensation. Mais la compensation est portée uniquement sur
la perturbation mesurable. C’est pourquoi ces systèmes ont une application limitée.
Z1(t) Zn(t)
r(t) ε Organe de
u(t)
Système y(t)
correction commandé
Organe de mesure
La chaîne par la quelle l’information sur la grandeur commandée est transmise de la sortie du
système commandé jusqu’à l’entrée est la contre réaction principale du système automatique.
Le signal de retour peut être positif ou négatif.
N’importe quel écart sur la grandeur commandée y(t) provoque l’action par rapport à u(t)
pour réduire ou annuler cet écart.
L’inconvénient des systèmes en BF se caractérise par la nécessité de l’existence de l’écart en
régime permanent et transitoire.
y(t)
Organe Organe de Système
d’exécution réglage 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 Contrôle de Procédé
1) Définir le cahier de charges, formuler les règles de fonctionnement, donc les objectifs
à atteindre ;
2) Mesures les objectifs réellement atteints sur le procédé en fonctionnement ;
3) A partir de la comparaison des objectifs, élaborer une stratégie de commande ;
4) Réaliser à l’aide d’un dispositif technologique la stratégie de commande.
Interface
s
Consigne à Visualisation d’une étape
atteindre du processus
Système automatisé
Les capteurs et les interfaces d’adaptation : convertissent les signaux physiques issus du
procédé en signaux informationnels (mesures).
2) Le dispositif technologique
On utilise :
♦ Soit des systèmes de contrôle analogique ou outils câblés, ce sont les régulateurs, leur
principal inconvénient est le manque de précision (dérive dans le temps, en
température).
♦ Soit des systèmes de contrôle numérique. Ce sont des systèmes à microprocesseur, les
automates programmables, les calculateurs numériques. La précision est généralement
plus élevée et les performances sont constantes. Seul inconvénient, il est moins rapide.
Objectifs à
atteindre
Procédé
PROCEDE
CAPTEUR
F Cartes
o Unités contrôles
n
d
Ports séries
d
e
Sorties analogiques Interfaces Processus
p
a
Entrées analogiques Capteurs analogiques
n
i
e
r Entrées numériques Capteurs numériques
Alimentation
Ordinateur industriel
alkassoum_nabil@yahoo.fr Informatique Industrielle © 10/2007 37
SYSTEMES TEMPS REEL – CH 05 – Notion de Contrôle de Procédé
Prévisibilité
La prévisibilité est ce que qui permet de déterminer à l’avance si un systèmes temps réel va
respecter ses contraintes temporelles.
Déterminisme
Le déterminisme est le but que l’on cherche à atteindre afin de prédire le comportement
temporel d’un système temps réel : il s’agit d’enlever toute incertitude sur le comportement
des activités individuelles et sur leurs comportements quand elles sont mises ensemble dans le
contexte d’exécution du système.
Fiabilité
La fiabilité est la capacité d'un système qui exécute et maintient ses fonctions dans des
environnements normaux, aussi bien que des environnements hostiles ou inattendus.
Un logiciel temps réel est un logiciel qui pilote un ordinateur qui interagit avec des dispositifs
ou objets externes en fonctionnement. Il est dit “temps réel” parce que ses actions logicielles
dirigent les activités d’un processus en cours d’exécution. Les concepts de temps réel et
d’embarqué sont relativement interchangeable si ce n’est pour le fait qu’un systèmes
embarqué est inclus dans le système qu’il contrôle.
Le traitement temps réel est le traitement de données qui met en jeu la collecte de données
produites à l’extérieur du système et qui ne peuvent pas être reproduites au gré des besoins en
respectant des contraintes temps réel, ou le traitement de données qui peut répondre en
exerçant un contrôle effectif qui produit un résultat physique.
Les politiques d’ordonnancement des activités mises en oeuvre dans les systèmes
classiques visent à partager équitablement le temps d’exécution ; elles sont inadaptées à la
prise en compte de certaines contraintes temporelles ;
Les mécanismes d’accès aux ressources partagées et de synchronisation doivent être adaptés,
afin d’éliminer les incertitudes temporelles ;
La gestion des entrées/sorties engendrent des temps morts dans le système ;
La gestion des interruptions n’est pas spécialement optimisée ;
Les mécanismes de gestion de mémoire virtuelle, l’utilisation de caches mémoire engendrent
des fluctuations dans le temps d’exécution des activités d’un système ;
La gestion des temporisateurs qui servent à la manipulation du temps n’offre pas une
résolution assez fine.
CAPTEURS
Information PARTIE
PROCÉDÉ COMMANDE
Commande
ACTIONNEURS
Système autonome
Cependant si cette méthode est applicable dans le cas d’un processus simple, présentant peu
de variable à mesurer et d’actions à élaborer, il n’en est pas de même dans le cas d’un
processus complexe.
Par ailleurs, la nécessité d’assurer des fonctions annexes (la gestion des périphériques
(disques, pupitres opérateurs, la communication avec l’opérateur (alarme, modification et
surveillance de consigne …) font que même dans le cas d’une application simple, la tâche de
programmation exigée pour rendre le programme autonome est lourde, l’introduction d’un
moniteur temps réel permet de limiter l’effort d’analyse et de programmation à la seule
conduite du processus.
Le moniteur temps réel est un programme qui permet la communication entre un utilisateur
et le système matériel. Généralement écrit en assembleur, il est stocké dans une EPROM.
Un système d’exploitation est un moniteur évolué.
Il faut associé un moniteur (logiciel système) à un calculateur pour le rendre fonctionnel.
Les tâches gérées par un calculateur sont de deux types : les tâches background (tâches
utilisateurs) et les tâches foreground (tâches système – logiciel système).
L’objectif principal du moniteur temps réel est d’optimiser le temps d’occupation du
processeur.
II Multitâche
A Principes de bases
La conception multitâche fait coexister en mémoire plusieurs programmes, les programmes
s’exécutent sous le control du moniteur et se partagent les différentes ressources du systèmes
(dispositif hardware : unité centrale, périphériques… ; éléments software : sous programme,
tableau de valeurs, fichiers…).
1 Notion de Processus
a) Définition
Un programme :
C’est une entité composée d’une ou de plusieurs séquence d’instructions essentiellement
statiques.
Un processus :
C’est une action, ou une séquence d’opérations qui se déroulent pour réaliser une tâche. Un
programme en exécution est un processus. Un processus est donc l'activité résultant de
l'exécution d'un programme séquentiel, avec ses données, par un processeur.
Un processus comporte différentes zones, en général 3 :
• Une zone programme : on y accède avec un pointeur de programme.
• Une zone de données : on y accède avec un pointeur de donnée.
• Une zone de piles : on y accède avec un pointeur de piles.
La zone programme est accessible uniquement en lecture, alors que les zones de données et de
piles sont accessibles en lecture et écriture. Zone de Accès lecture et écriture
piles Accès par pointeur de piles
b) descripteur de processus
A chaque processus est associé un descripteur dans le quel le système mémorise le contexte
associer au processus. Le contexte est formé des données nécessaires à la gestion des
processus. Une table contient la liste de tous les processus et chaque entrée conserve leur
contexte. Le nombre des emplacements dans la table des processus est limité pour chaque
système et pour chaque utilisateur.
Le processus reçoit un nom ou un numéro, ce qui lui attribut une fiche d’état (on y a des
informations sur l’état du processus).
Dans cette fiche, on trouve :
- Une priorité : permettant de qualifier le degrés d’urgence du processus ;
- Un identificateur : permettant d’identifier l’état du processus (actif, bloqué, en
attente …).
Tous les descripteurs sont reliés entre eux selon le principe du double chaînage (liés au
précédant et au suivant).
Un processus peut être dans l’un des trois états fondamentaux suivants :
- Elu : en cours d’exécution ; 1
- Prêt (ou Eligible) : en possession de toute
les ressources nécessaire à son
fonctionnement sauf du processeur (état ÉLU PRET
d’attente) ; 2
- Bloqué : en attente d’une ressource 4 3
indispensable à son fonctionnement (son BLOQUÉ
exécution) futur.
Le processus élu est choisi parmi les processus prêts par l’Ordonnanceur.
File de
Bloqué Prêt Bloqué descripteur
Priorité
Descripteur max Descripteur
Descripteur File de
Processus 1 Processus 3
Processus 2 dispatching
Les fiches d’état ou descripteurs peuvent aussi être, organisés suivant une liste circulaire
chaînée dans l’ordre des priorités décroissantes.
Le dispatching suit la chaîne et exécute le programme tant qu’il n’est pas bloqué
Priorité max
Un système d’exploitation doit en général traiter plusieurs tâches en même temps. Comme il
n’a, la plupart du temps, qu’un processeur, il résout ce problème grâce à un pseudo-
parallélisme. Il traite une tâche à la fois, s’interrompt et passe à la suivante. La commutation
des tâches étant très rapide, l’ordinateur donne l’illusion d’effectuer un traitement simultané.
Le multi-tâche
A l’échelle du processeur, les tâches seront exécutées alternativement, la simultanéité est donc
virtuelle on par dans ce cas de quasi – simultanéité.
réalisées en parallèle).
Exemple :
B Communication synchronisation
Dans un système multitâche, la coopération entre processus se fait par partage de variables ou
de ressources ou par envoi de messages. Ils existent aussi des problèmes tel que l’accès
concurrents, l’Interblocage et la synchronisation des processus que ce système doit savoir
gérer
Coopération spatiale
Processus indépendants :
Chacun travail avec leurs propres ressources. Les
Processus 1 Processus 2 processus n’ont en commun que la ressource que
constitue le système informatique.
Ressource 1 Ressource 2
Processus liés
La coopération temporelle
La coopération temporelle dans divers processus peut être assurée de plusieurs façons :
Deux principaux :
- Synchronisation par sémaphore ;
- Synchronisation par événement ;
1) les sémaphores
Tout processus qui prend possession de la ressource doit exécuter deux procédures :
Une procédure P(s), au début ;
Une procédure V(s), lorsqu’il libère la ressource ;
Procédure P(s) Procédure V(s)
Début Début
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 ; d’attente F(s) ;
sinon le processus est mis en attente sinon
dans F(s) FIN.
FIN.
Lors de l’utilisation d’une ressource partageable réentrante, la valeur initiale du sémaphore est
en générale initialisée avec le nombre maximum d’accès possible.
2) les événements
1/ Stratégie d’ordonnancement
La majorité des stratégies d’ordonnancement sont à base de file d’attente. Deux techniques de
base sont adoptées :
L’ordonnancement peut être :
– Non préemptif :
• un processus s ’exécute jusqu ’à ce qu ’il se termine ou se bloque en attente d’un
événement extérieur
– Préemptif :
• par réquisition, un processus peut être bloqué à tout moment au profit d’un autre.
+ -
Arrivée
Exemple :
Soit 4 tâches T1, T2, T3 et T4
T1 dure q, T2 dure 2q, T3 dure 3q et T4 dure 4q.
On alloue à chaque tâche q secondes pour l’occupation de l’unité 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 scrutée chaque fois, la file F2 est scrutée un fois sur deux et la file 3
est scrutée une fois sur trois.
Exemple :
Le premier passage scrute F1;
Le deuxième passage scrute F1, F2 ;
Le troisième passage scrute F1, F2, F3, et le cycle reprend.
------------- Pj -------------
p1 pj pn
Arrivée
processus Pj de priorité pj
Exemple :
Soit 3 tâches T1, T2 et T3 de priorité respective 6, 9 et 10.
- Etat initiale de la file des tâches : | T1/6 | T2/9 | T3/10 |
- L’exécution va se dérouler comme suit :
Initial - T1(6) T2(9) t3(10) exécution de T3
1ère commutation (toutes les tâches non exécuté vont augmenté) T1 et T2 non exécutées et T3
exécuté T1(7), T2(10) T3(10) exécution de T3
2ème commutation T1(8), T2(11) T3(10) T1(7), T3(10) T2(11) exécution de T2
3ème commutation T1(9), T2(9) T3(11) de T3 (fin de T3 3q)
4ème commutation T1(10), T2(10) exécution de T2
5ème commutation T2(9) T1(11) exécution de T1
etc.
la deuxième méthode est plus simple, c’est toujours la tâche de plus forte (haute)
priorité qui est exécuté par conséquent une tâche de priorité élevée effectuant un long
travail, gardera le processeur aussi longtemps qu’elle le désir, bloquant ainsi toutes les
tâches de priorité inférieure.