Vous êtes sur la page 1sur 50

Ecole des Mines de lIndustrie et de la Gologie

EMIG

SYSTEMES

TEMPS REEL

Alkassoum Nabil # octobre 2007#


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

Chapitre 01 INTRODUCTION AUX CALCULATEURS NUMERIQUE


(RAPPELS)
I Introduction
Le calculateur est aujourdhui un outil universel qui intervient dans tous les aspects de
notre vie quotidienne. Il existe une large gamme de systmes (calculatrices, automates, gros
systmes, ordinateurs personnels, systmes intgrs ).
Il est une combinaison judicieuse entre du matriel (la machine) et du logiciel (les
programmes).

II Historique

1. Quelques dates reprent :


Faire dbuter l'histoire de l'informatique aux annes 1970 est une grande injustice. Injustice
pour l'anonyme inventeur du boulier, pour Blaise Pascal [1623-1662] et sa machine
arithmtique, pour Joseph Jacquard [1752-1834] et son mtier tisser automatique, pour
Charles Babbage [1792-1871] et ses cartes perfores, pour Johannes Von Neumann [1903-
1957], gnial thoricien de l'informatique moderne, et pour tant d'autres gnies.
Le microprocesseur, lment central de tout calculateur, est l'aboutissement de progrs
technologiques tant dans les domaines mcaniques, informatique et lectronique.
Les ordinateurs de type lectronique ont commenc dans les annes 1940 avec
l'ENIAC (Electronic Numerical Integrator and Calculator). Celui-ci tait constitu par des
lampes radio (tubes vide), tombait en panne presque toutes les 10 minutes et consommait
tant d'lectricit que lorsqu'il tait mis en marche, l'intensit baissait dans la ville de
Philadelphie o il tait install. C'tait la premire gnration de 1940 1955.
Avec l'invention du transistor en 1948 par John Barden, William Schockley et Walter
H. Bratten, tous trois des Bell Labs, on s'achemina vers des ordinateurs plus compacts, moins
nergtivores et donc plus fiables. Ce fut la seconde gnration de 1955-1965, avec entre
autres les 304 de NCR, 7070 et 7080 d'IBM, 1804 et 3600 de CDC, 800 de Honeywell, B3500
de Burroughs, et 212 de Philco.
La troisime gnration de 1965-1980, fut celle des premiers circuits intgrs, c'est
dire o plusieurs portes logiques sont sur un mme substrat. C'est alors qu'on diffrencie plus
nettement les diffrentes parties d'un ordinateur. On parle alors d'unit centrale de traitement
(UCT) ou CPU (Central Processing Unit) pour dsigner la portion matresse dans
l'architecture. C'est ce moment l qu'est sorti le premier microprocesseur 4004 d'Intel.
C'est donc en 1971 que le premier microprocesseur est sorti des laboratoires d'Intel.
Travaillant sur 4 bits et d'une puissance faible l'intrt de ce nouveau composant lectronique
ne fut pas vident jusqu' ce que l'ide de le transformer en calculatrice fut trouve. Sept ans
plus tard, l'arrive du 8088 multiplie dj cette puissance de calcul par 200! Cette date
correspond la naissance des vritables micro-ordinateurs.
La quatrime gnration de 1980 1990, fut celle des microprocesseurs. C'est ce
moment l que toutes les fonctions principales sont implantes sur un seul circuit intgr. De
nos jours quand on parle de microprocesseur, on pense un "chip" unique avec des pattes.
C'tait entre autres l'apparition du Z80 de Zilog, du 6502 de Motorola, du 8088 d'Intel. On
parle de MPU (Micro Processing Unit) en lieu de CPU.
Arrivent ensuite les microprocesseurs 68000 et 80286 (16 bits) avec les Macintosh et P.C. que
nous connaissons. Ils ont introduisent l'image et le son.
Ensuite, tout n'est plus qu'une question de course la puissance de calcul. Chaque bond
technologique apporte sont innovation

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 1


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

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 !

2. Architecture de Von Neumann


UC : unit centrale
Anglais : CPU (Central Processing Unit)
Central Arithmetic Unit, Central Control Unit,
Input/Output devices
BUS : dispositif de transfert dinformation
MEM : mmoire
Anglais : RAM (Random Access Memory)

UC BUS MEM

3. Schma dun ordinateur

CPU RAM ACIA Contrleur Contrleur


RAM
vido Disque Disquette

BUS

Le bus permet et rgule les communications entre les diffrents composants

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

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 2


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

III Reprsentation des donnes


1. Introduction
Les informations traites par un calculateur (ordinateur) peuvent tre de diffrents types
(texte, nombres, etc.) mais elles sont toujours reprsentes et manipules par lordinateur sous
forme binaire. Toute information sera traite comme une suite de 0 et de 1. Lunit
dinformation est le chiffre binaire (0 ou 1), que lon appelle bit (pour binary digit, chiffre
binaire).
Le codage dune information consiste tablir une correspondance entre la reprsentation
externe (habituelle) de linformation (le caractre A ou le nombre 36 par exemple), et sa
reprsentation interne dans la machine, qui est une suite de bits.
On utilise la reprsentation binaire car elle est simple, facile raliser techniquement laide
de bistables. Enfin, les oprations arithmtiques de base (addition, multiplication etc.) sont
faciles exprimer en base 2 (noter que la table de multiplication se rsume 0x0 = 0, 1x0 = 0
et 1x1 = 1).

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 :

x = an an-1a1a0 avec a0 le chiffre des units.

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).

Reprsentation des nombres entiers


En base 10, on crit par exemple 1996 pour reprsenter le nombre :
1996 = 1 103 + 9 102 + 9 101 + 6 100
Dans le cas gnral, en base b, le nombre reprsent par une suite de chiffres anan-1a1a0
est donn par :
n
anan-1a1a0 = aibi .
i =0
a0 est le chiffre de poids faible, et an le chiffre de poids fort.
Exemple en base 2 :
(101)2 = 1 22 + 0 21 + 1 20 = 4 + 0 + 1 = 5
La notation ( )b indique que le nombre est crit en base b.

Reprsentation des nombres fractionnaires


Les nombres fractionnaires sont ceux qui comportent des chiffres aprs la virgule.
Dans le systme dcimal, on crit par exemple :

12,346 = 1 101 + 2 100 + 3 10-1 + 4 10-2 + 6 10-3


En gnral, en base b, on crit :
anan-1a1a0,a-1a-2a-p = anbn+an-1bn-1+ +a0b0+a-1b-1+:::+a-pb-p

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 3


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

Passage dune base quelconque la base 10


Il suffit dcrire le nombre comme ci-dessus et deffectuer les oprations en dcimal.
Exemple en hexadcimal :
(AB)16 = 10 161 + 11 160 = 160 + 11 = (171)10
(en base 16, A reprsente 10, B 11, et F 15).

Passage de la base 10 vers une base quelconque


Nombres entiers On procde par divisions successives. On divise le nombre par la base, puis
le quotient obtenu par la base, et ainsi de suite jusqua obtention dun quotient nul.
La suite des restes obtenus correspond aux chiffres dans la base vise, a0a1an.
Exemple : soit convertir (44)10 vers la base 2.
44 = 22 x 2 + 0 a0 = 0
22 = 11 x 2 + 0 a1 = 0
11 = 2 x 5 + 1 a2 = 1
5= 2x2+1 a3 = 1
2= 1x2+0 a4 = 0
1= 0x2+1 a5 = 1
Donc (44)10 = (101100)2.
Nombres fractionnaires
On multiplie la partie fractionnaire par la base en rptant lopration sur la partie
fractionnaire du produit jusqua ce quelle soit nulle (ou que la prcision voulue soit atteinte).
Pour la partie entire, on procde par divisions comme pour un entier.
Exemple : conversion de (54; 25)10 en base 2
Partie entire :
(54)10 = (110110)2 par divisions.
Partie fractionnaire :
0,25 x 2 = 0,50 =) a-1 = 0
0,50 x 2 = 1,00 =) a-2 = 1
0,00 x 2 = 0,00 =) a-3 = 0
Oprations arithmtiques
Les oprations arithmtiques seffectuent en base quelconque b avec les mmes mthodes
quen base 10. Une retenue ou un report apparat lorsque lon atteint ou dpasse la valeur b de
la base.

3. Codification des nombres entiers


La reprsentation (ou codification) des nombres est ncessaire afin de les stocker et manipuler
par un ordinateur. Le principal problme est la limitation de la taille du codage : un nombre
mathmatique peut prendre des valeurs arbitrairement grandes, tandis que le codage dans
lordinateur doit seffectuer sur un nombre de bits fix.

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).

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 4


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

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

On constate facilement que x + y = 2 n-1


, i
Or sur n bits, 2n-1 est reprsent par n -1 zros, donc on x + y = 0 modulo 2n-1 , ou encore
y = -x.
y peut tre considr comme loppos de x.

La reprsentation de -x est obtenue par complmentation 2n-1 de x. On dit complment


deux.
Pour obtenir le codage dun nombre x ngatif, on code en binaire sa valeur absolue sur n - 1
bits, puis on complmente (ou inverse) tous les bits et on ajoute 1.
Exemple : soit coder la valeur -2 sur 8 bits. On exprime 2 en binaire, soit 00000010.
Le complment 1 est 11111101. On ajoute 1 et on obtient le rsultat : 1111 1110.

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.

3- Reprsentation des nombres rels (norme IEEE)


Les nombres fractionnaires sont les nombres qui comportent une partie infrieure 1. Les
calculateurs nont pas de virgules. On traite donc ces nombres comme des entiers avec des
virgules virtuelles gres par le programmeur. Deux mthodes de reprsentations existent : La
reprsentation virgule fixe et celle virgule flottante (norme IEEE754).

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

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 5


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

B) Virgule flottante ou norme IEEE 754 :


Les premires machines utilisaient une reprsentation en virgule fixe o chaque
nombre tait spar en deux parties contenant les chiffres avant et aprs la virgule. Depuis le
dbut des annes 60, la reprsentation en virgule flottante, plus souple, sest impose.
La reprsentation en virgule flottante consiste reprsenter les nombres sous la forme
suivante : MBE o M est la mantisse, B une base (2, 8, 10, 16, ...) et E lexposant.
Exemples : 123103 = 123 000 ; -0,0210-1 = -0,002 ; 1,01123 2 = 10112.

Le standard IEEE dfinit 2 formats de reprsentation de nombres virgule flottante :


 La simple prcision sur 32 bits :
 Pour la double prcision :

La simple prcision sur 32 bits :


Soit codifier le nombre 3,25, qui scrit en base 2 (11,01)2.
On va normaliser la reprsentation en base 2 de telle sorte quelle scrive sous la forme
1, 2n
Dans notre exemple 11,01 = 1,10121
La reprsentation IEEE code sparment le signe du nombre (ici +), lexposant n (ici 1), et la
mantisse (la suite de bits aprs la virgule), le tout sur 32 bits.
Le codage a la forme : seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm.

Un bit de signe, 8 bits pour lexposant et 23 bits pour la mantisse.


1 bit 8 bits 23 bits
S E + 127 m

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.

Tout nombre N peut scrire sous la forme :


N = (-1)s x M x BE o M = mantisse ; B = base ; E = exposant, S= signe de M

Exemple :
15601 = 156,01 x 102 = 1,5601 x 104
- 101001 = - 101,001 x 2 = -1,01001 x 25
3

- AF5 = - A,F5 x 162 = - 0,00AF5 x 165

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 6


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

Pour la double prcision :


On utile le mme principe de codification sauf que la codification se fait sur 64 bits.
S sur 1 bit ; E sur 11 bits en ajoutant 1023 ; sur 52 bits

Normalisation (IEEE 754) en conclusion


Amliorer la prcision/stabilit des rsultats et la portabilit des programmes.
Reprsentation la fois des trs grands nombres et des trs petits nombres

Nombre de Taille de Taille de Emin Emax


bits M E
32 bits en 23 8 -126 +127
simple
prcision
64 en Double 52 11 -1022 +1023
prcision

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 100 1101 1 001 0110 0001 0000 0000 0000

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

5. Reprsentation des caractres


Les caractres sont des donnes non numriques : il ny a pas de sens additionner ou
multiplier deux caractres. Par contre, il est souvent utile de comparer deux caractres, par
exemple pour les trier dans lordre alphabtique.
Les caractres, appels symboles alphanumriques, incluent les lettres majuscules et
minuscules, les symboles de ponctuation (& ~ , . ; # " - etc...), et les chiffres.
Un texte, ou chane de caractres, sera reprsent comme une suite de caractres.
Le codage des caractres est fait par une table de correspondance indiquant la configuration
binaire reprsentant chaque caractre. Les deux codes les plus connus sont lEBCDIC (en
voie de disparition) et le code ASCII (American Standard Code for Information Interchange).

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 7


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

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.

IV Architecture de base dun ordinateur


Un ordinateur est une machine de traitement de linformation. Il est capable dacqurir de
linformation, de la stocker, de la transformer en effectuant des traitements quelconques, puis de la
restituer sous une autre forme. Le mot informatique vient de la contraction des mots information et
automatique.
Nous appelons information tout ensemble de donnes. On distingue gnralement diffrents types
dinformations : textes, nombres, sons, images, etc., mais aussi les instructions composant un
programme. Comme on la vu prcdemment, toute information est manipule sous forme binaire (ou
numrique) par lordinateur.

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 8


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

La frquence de cette horloge sexprime en MHz (millions de battements par seconde).


Par exemple, un ordinateur PC Pentium 133 possde un processeur de type Pentium et une horloge
133 MHz.
Pour chaque instruction, le processeur effectue schmatiquement les oprations suivantes :
1. lire en mmoire (MP) linstruction excuter ;
2. effectuer le traitement correspondant ;
3. passer linstruction suivante.

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.

FIG. 1.1 Architecture schmatique dun ordinateur.

2. La mmoire principale (MP)


Structure de la MP
La mmoire est divise en emplacements de taille fixe (par exemple 8 bits) utiliss pour stocker
instructions et donnes.
En principe, la taille dun emplacement mmoire pourrait tre quelconque ; en fait, la plupart des
ordinateurs en service aujourdhui utilisent des emplacements mmoire dun octet (byte en anglais,
soit 8 bits, unit pratique pour coder un caractre par exemple).

FIG. 1.2 Structure de la mmoire principale.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 9


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

Dans une mmoire de taille N, on a N emplacements mmoires, numrots de 0 N - 1. Chaque


emplacement est repr par son numro, appel adresse. Ladresse est le plus souvent crite en
hexadcimal.
La capacit (taille) de la mmoire est le nombre demplacements, exprim en gnral en kilo-octets ou
en mga-octets, voire davantage. Rappelons que le kilo informatique vaut 1024 et non 1000
(210 = 1024). Voici les multiples les plus utiliss :

1 K (Kilo) 210 = 1024


1 M (Mga) 220 = 1048 576
1 G (Giga) 230 = 1 073 741 824
1 T (Tra) 240 = 1 099 511 627 776

Oprations sur la mmoire


Seul le processeur peut modifier ltat de la mmoire (Sur certains ordinateurs, les contrleurs
dentres/sorties peuvent accder directement la mmoire (accs DMA), mais cela ne change pas le principe de
fonctionnement).
Chaque emplacement mmoire conserve les informations que le processeur y crit jusqu coupure de
lalimentation lectrique, o tout le contenu est perdu (contrairement au contenu des mmoires
externes comme les disquettes et disques durs).
Les seules oprations possibles sur la mmoire sont :
criture dun emplacement : le processeur donne une valeur et une adresse, et la mmoire range la
valeur lemplacement indiqu par ladresse ;
lecture dun emplacement : le processeur demande la mmoire la valeur contenue lemplacement
dont il indique ladresse. Le contenu de lemplacement lu reste inchang.

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.

Les registres et laccumulateur


Le processeur utilise toujours des registres, qui sont des petites mmoires internes trs rapides daccs
utilises pour stocker temporairement une donne, une instruction ou une adresse. Chaque registre
stocke 8, 16 ou 32 bits.
Le nombre exact de registres dpend du type de processeur et varie typiquement entre une dizaine et
une centaine.
Parmi les registres, le plus important est le registre accumulateur, qui est utilis pour stocker les
rsultats des oprations arithmtiques et logiques. Laccumulateur intervient dans une proportion
importante dans lexcution des instructions.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 10


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

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.

Architecture dun processeur accumulateur


La figure 1.3 reprsente larchitecture interne simplifie dun MPU accumulateur.
On y distingue lunit de commande, lUAL, et le dcodeur dinstructions, qui, partir du code de
linstruction lu en mmoire actionne la partie de lunit de commande ncessaire.

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 11


SYSTEMES TEMPS REEL CH 01 Introduction aux calculateurs numriques

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.

4. Liaisons Processeur Mmoire : les bus

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 12


SYSTEMES TEMPS REEL CH 02 Electronique des systmes Temps Rels

Chapitre 02 - LECTRONIQUE DES SYSTEM ES TEMPS REL


I Gnralits
Dans un systme temps rel (TR), les donnes sont prises en compte au fur et mesure par le
calculateur. Il existe une interaction directe entre le calculateur et lenvironnement extrieur.
Un traitement temps rel comporte trois (3) oprations fondamentales :
- Lacquisition des donnes de lenvironnement extrieur ;
- Le traitement des donnes (informations) ;
- Lenvoie des rsultats ou de laction vers lenvironnement extrieur.

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.

Ces exemples nous amnent distinguer deux types de traitements en TR :


(1) Les Systmes TR SOFT ;
(2) Les Systmes TR HARD.

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.

II Conception du matriel pour les applications en temps rel


Dune manire gnrale un calculateur classique est structur comme suit :

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 13


SYSTEMES TEMPS REEL CH 02 Electronique des systmes Temps Rels

Les Interfaces dE/S : permettent de raliser la communication de lordinateur avec le monde


extrieur.
Dans ce cadre la seule unit matre du bus est le CPU ; les autres lments sont dits
esclaves .

1 Transfert des donnes


Pour agir sur lenvironnement extrieur, il faudra transfrer les fonctions logicielles vers les
fonctions quivalentes matrielles. Ce transfert est ralis laide de circuit spcial DMAC
(Direct Memory Acces Control).
Le DMAC deux types de transfert : Il a aussi deux modes de fonctionnement :
- Mmoire principale / mmoire - Mode esclave ;
secondaire ; - Mode matre.
- Mmoire principale / E/S.

2 Traitement des entres sorties


Exemple : contrle de la position dune antenne radar :

Interf. CPU

I/O

5V

INT

Il sagit pour ce systme de dtecter automatiquement la fin de cours pour le radar.


Pour excuter cette tche on peut procder de plusieurs faons :

Scrutation dun bit de fin de cours :

Oui Traitement
FC=1 E/S

Non

Il se passe un certain temps entre linstant o le teste est ralis et linstant o on


commence ltape du traitement de fin de cours. La dtection de la fin de cours se fait
donc avec un certain retard.
Lunit de traitement est mobilise en permanence pour tester la FC.
Conclusion : la scrutation ou polling nest pas adapte au traitement en TR.

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 ;

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 14


SYSTEMES TEMPS REEL CH 02 Electronique des systmes Temps Rels

Le CPU ne perd pas de temps scruter le changement dtat.

INT
CPU

E/S E/S E/S

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

E/S E/S E/S

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.

III Techniques dinterfaages


Le but de linterfaage est de raliser la communication entre le calculateur (CPU) et le
monde extrieur. La communication dune manire gnrale, ne se fait pas directement Pour
cela on interpose un circuit dinterface dE/S entre le CPU et le circuit E/S.
Interface
CPU E/S
E/S

1 Circuits dE/S digitaux


1-1 Concepts de base des interfaces
Il existe deux grandes catgories de circuits dE/S : les circuits dE/S digitaux et les circuits
dE/S analogiques.
1

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.

Dans les systmes microprocesseur on peut distinguer 2 types dinterface :


- Linterface prsent par le microprocesseur (le micro-ordinateur) : le bus systme
(adresses, donnes, contrle) ;
- Linterface des circuits dinterfaces dE/S : trs varis et largement dpendant de
lE/S.
PA0 DB7 VP
D0 D7
PIA
Adresses 6821
ou
8235 CAN
BUS

PA7 DB7

Circuit dinterface Priphrique - entre


Entres

Le problme dinterfaage temps rel comporte 2 aspects :


- Laspect matriel (ou Hardware) : soccupe de la liaison (connexion) correcte entre
les points de connexion. Il met en vidence les niveaux de tensions et de courants
relatifs chaque circuit.
MOS L (niveau bas) 0V 0,4V
TTL H (niveau haut) 2,4V 5V
ECL (logique couplage dmetteur) H= 0,8V et L = 1,8V

- Laspect logique (ou Software) : cest le programme qui permet la raliser la


communication entre lordinateur et le circuit dE/S.

1- 2 Interrupteur et clavier
Un interrupteur est un circuit qui permet denvoyer un 1 (ferm) ou un 0 (ouvert).
OFF
BUS

ON

Linterrupteur est le circuit dentre le plus simple.


Un phnomne de rebondissement sur ces interrupteur, il est d ses caractristiques et la
constante de temps.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 16


SYSTEMES TEMPS REEL CH 02 Electronique des systmes Temps Rels

z z
1 1

0 0
t t
Interrupteur idal Interrupteur rel

Le temps de rebondissement est en gnral de lordre de 10 ms.


Pour rgler ce problme on utilise des dispositif antirebond qui peuvent tre matriel
(gnralement pour les bouton poussoir) ou logiciel.

1-3 LEDs (Light Emitting Diodes)

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

Un optocoupleur est un dispositif fait dun transistor et dune diode lectroluminescente.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 17


SYSTEMES TEMPS REEL CH 02 Electronique des systmes Temps Rels

2 Circuits dE/S analogique non lectrique


Les grandeurs physiques ne sont pas lectriques forcement, elles peuvent tre optiques,
mcaniques, thermiques
Pour mesurer une manire lectrique une grandeur physique, il faut la convertir dabord en
un signal lectrique et aprs utiliser un convertisseur analogique numrique.
Exemple :
- Position spatiale (x, y, z)
- Vitesse
- Pression
- Acclration
- Dbit dun fluide
- Temprature
- Intensit lumineuse

Grandeur
physique
(analogique Transducteur Circuit de CAN
non lectrique conditionnement
B
Grandeur U
physique Contrleur Circuit de CNA S
(analogique
non
analogique conditionnement
lectrique

Schma de la mesure et du contrle dune grandeur analogique physique

Exemple 1 : thermomtre microprocesseur

Thermocouple Amplification CAN Port 0


Chaleur Filtrage
B
U
S
Affichage Port 1

Exemple 2 : contrleur de temprature

Thermocouple Amplification CAN Port 0


Chaleur Filtrage
B
U
S
Port 1

+ -
Systme en boucle ferm

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 18


SYSTEMES TEMPS REEL CH 02 Electronique des systmes Temps Rels

2-2 Les transducteurs


Ce sont des dispositifs physiques qui traduisent des grandeurs physiques non lectriques en
leurs quivalents lectriques ( le plus souvent analogique).
Exemple :
La thermistance est un dispositif (rsistance en smi conducteur ) dont la rsistance
augmente avec la temprature.
La jauge de contrainte permet de mesurer par exemple la pression.
2-3 Les actionneurs
Ils traduisent un signal lectrique (analogique gnralement) en une action physique
(mcanique).
Exemple :
Un verrou lectrique

B
U
S
Verrou
Ressort

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 19


SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels

CHAPITRE 03 - CARACTERISTIQUES DES ORDINATEURS TEMPS


REELS
Introduction
Le traitement de linformation en temps rel par ordinateur exige que le temps de rponse du
systme soit infrieur la valeur dfinie par la dure de prsence de linformation et par la
dure de la validit du traitement quelle doit subir. La limitation du temps de rponse,
caractristique essentiellement du traitement en temps rel, peut varier beaucoup dune
application lautre.
Ordre de grandeur de lordre du micro-seconde pour lexploitation des signaux de
tlcommunication ; Les signaux provenant dune exprience physique ;
De lordre de la seconde pour le contrle dans les processus industriels ;
Jusqu plusieurs minutes pour les applications de gestion.
Le temps de rponse du systme comprend :
Le temps dacquisition des informations ;
Le temps de transfert vers les UC ;
Le temps de prise en compte de la demande de traitement ;
Le temps de traitement proprement dit.
Un systme temps rel par consquent organis de faon rduire ces temps :
Connexion directe lUC de priphriques spcialiss dans lacquisition des
donnes (capteurs, convertisseurs, multiplexeurs, transmetteur) ;
Choisir une UC trs rapide ;
Choix dun systme dentres/sorties temps rel de rponse trs faible (exemple
DMA) ;
Ncessit dassurer le bon fonctionnement quelque soit les erreurs ou accidents qui
peuvent intervenir dans le systme (fiabilit).

Mthode de programmation des entres sorties


Lchange dinformation entre lordinateur et lextrieur est ralisable de deux faons
diffrentes :
+ Soit on a un change dinformation entre UC et lextrieur :
MEMOIRE UNITE ORGANE
CENTRALE CENTRALE PERIPHERIQUE

Le transfert se fait par lintermdiaire des registres de lUC (accumulateur en gnral).


NB : Pendant le transfert, lUC ne peut soccuper daucune autre tche.
+ Echange dinformation entre la mmoire centrale (MC) et lextrieur par une voie
dchange :
NB : pendant le transfert lUC est libre et peut donc soccuper dautre chose.
MC VOIE
ORGANE
DECHANGE
PERIPHERIQUE

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

priphriques, ouverture ou fermeture dune vanne).

Lexcution dune instruction dE/S par lUC est conditionne


par ltat du priphries. A chaque fois il va tester ltat du
priphrie pour voir sil est libre ou occup.
OUI
Organe
priphrique Cette technique mne, pour les priphries lentes (exemple
occup unit lectromcanique), un temps dattente important de
lUC. Ceci nuit au traitement temps rel, puisque pendant ce
temps dinterrogation, lattente de lUC laisse survenir sans
pouvoir les traiter des vnements sur les autres units.

Transfert

Ces constatations conduisent prfrer un autre systme de synchronisation : le systme


dinterruption.

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 21


SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels

Hirarchie des interruptions :


Si on autorise un droutement dun programme en cours dexcution lorsque survient une
interruption, cela signifie que le programme de raction cet vnement est considr
comme prioritaire par rapport celui qui avait le contrle de lUC. Le programme de
gestion de cette interruption peut son tour tre interrompu sil survient une interruption

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 :

Phase diagnostic : consiste reconnatre la source de linterruption ;


Phase acquittement : consiste effacer dans le registre interruption la marque indiquant
que le niveau i tait en attente ;
Phase traitement : excution du programme de gestion de linterruption.

Prise en compte dune interruption


La prise en compte dune interruption ne se fait que si toutes les conditions suivantes sont
ralises :
1) Les interruptions doivent tre autorises ;
2) Le niveau de linterruption nest pas masqu ;
3) Le niveau ayant actuellement le contrle de lUC ne doit pas tre de niveau suprieur
ou analogue celui qui fait la requte.
4) Il ne doit pas y avoir en attente un niveau non masqu de priorit suprieure.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 22


SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels

Demande
interruption niveau i

Interruptions autorises

Masque i

Niveau en cours < i

Niveau en attente < i

Prgm interruption

Droulement

Utilisation du systme dinterruptions


Les interruptions permettent des vnements dattirer immdiatement lattention de lUC.
Le programme na pas besoin de tester chaque dispositif et de sinquiter si le systme va
laisser des vnements non traits.
A titre dexemple on peut citer :
- La gestion des alarmes sur un processus industriel ;
- La dfinition du temps par lintermdiaire dune horloge temps rel;
- La rduction ou suppression des temps dattente pour la ralisation de transfert dE/S ;
- La simplification de la surveillance des priphriques.

Accs direct la mmoire (DMA voie dchange rapide)


En mode dinterruption, au temps de traitement proprement dit sajoute le temps de
reconnaissance de la cause dinterruption, le temps de sauvegarde de ltat du programme et
puis le temps de restauration en fin de traitement. Cette constatation induit la notion de voie
dchange accs mmoire direct ; unit indpendante de lunit de commande.

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 23


SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels

2) Description dune voie dchange accs direct


lunit de mmoire centrale est compose de 1 ou plusieurs blocs de mmoire. Pour chaque
bloc on peut considrer que le dispositif daccs et multiplex (plusieurs organes
indpendants peuvent demander laccs). A tout instant ce bloc est mis en communication
avec une seule voie daccs, voie dsigne par un systme de priorit en cas de demande
simultane.
Une des voies daccs
BLOC MEMOIRE chaque bloc est
ncessairement rserve
lunit de commande, les
Tampon Adresse Fonction autres sont connectes
des units dchange. Les
oprations de transfert
Demande MULTIPLEXEUR sont ralises par ces
de voie units dchange, chacune
delle pouvant tre
connecte une ou
plusieurs units
T1 T 2 T 3 A1 A2 A3 F1 F2 F3 priphriques.
En plus des oprations de lecture et criture en mmoire centrale, lunit dchange procde
des oprations de comptage (comptage du nombre de mot transfrs, progression de ladresse
mmoire) et des oprations logiques simples (comparaison entre nombre de mot transfre
et le nombre de mot total). Ces fonctions sont cbles dans linterface dans linterface dont on
doit le nom de canal simultan.
Le canal simultan est un organe ayant les caractristiques voisines de celle dun ordinateur.

3) Canal simple canal multiplex


En augmentant lgrement la complexit des fonctions cbles dun canal simultan, on peut
lui faire grer plusieurs contrleurs dunit priphrique. Une mme voie dchange peut donc
assurer le transfert vers plusieurs unit. La cadence de transfert sur cette voie ne sont limit
que par la technologie de llectronique associe, ou par le cycle mmoire centrale.
Dans tous les cas, elle demeure trs grande par rapport au cadence de fonctionnement de
certaine unit lente (Exemple : lecteur de cartes, tlimprimeur, imprimante )
Pour les units lentes, on prfre utiliser un canal simultan simple ou un canal simultan
multiplex. Par contre pour des units rapides, on prfre utiliser des canaux simples par
unit.
En connectant sur un canal multiplex toutes les units lentes dune configuration donne (on
ralise un compromis entre efficacit et cot, puisquune efficacit meilleure ne pourrait tre
obtenue que par lutilisation dun canal simple pour chaque unit). Les canaux simples sont
alors rservs aux units rapides.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 24


SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels

UNITE MEMOIRE
Voie
n0 n1 n2 n3
UNITE
CENTRALE Initialisation
Fin dchange
Canal multiplex Canal simple Canal simple

Unit affichage Unit de contrle Unit de contrle 1


Unit de contrle
Bande
Lecteur ruban magntique
Disque magntique
Unit de contrle
Unit de contrle 2
Imprimante
Unit de contrle

4) Simultanit daccs la mmoire


On peut penser quil ny aura jamais simultanit vraie quant au travail de lUC et celui de la
voie dchange car celui-ci chaque demande daccs la mmoire, doit faire attendre lUC.
En fait ce freinage et variable et lon ne peut prciser que sa limite suprieure.
Image dexcution dun programme avec transfert simultan

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

5) Cas des mmoires divises en blocs


Bloc Bloc Bloc Bloc
B1 B2 B3 B4

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

Systme de protection mmoire


a) Intrt de la protection mmoire
La protection dsigne lensemble des mcanismes qui protge les objets du systme
contre lenvironnement.
Un bon systme de protection doit permettre :
- Dempcher un utilisateur dinterfrer avec les autres utilisateurs ;
- De protger lutilisateur contre ses propres erreurs ;
- De protger le systme contre les utilisateurs ;
- De fixer diffrents niveaux de protections de plus en plus svre pour les plus sensible.
Un systme de protection est confront deux problmes de base :
Des murs doivent tre construit autour des rgions avec des portes spcifiques
pour les besoins de communication entre processus ;
Les communications entre rgion doivent tre surveiller cest dire quil doit
exister un mcanisme de contrle qui ne donne laccs la rgion quau processus
autoris.

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.

Dune adresse suprieure la barre de verrouillage on ne


peut pas accder la zone protge.
Mais de la zone protge on a accs toute la mmoire.

Cette mthode convient la monoprogrammation ; il convient tant quil ny a que deux


programme en mmoire (exemple lOS et une application).

2- Protection par zone

0000 On protge la zone dfinie par le contenu de deux registres de


Zone 1 Protge
protection (ou deux barres de verrouillage) et les adresses
extrieures aux deux barres sont protges.

Zone 2 Protge

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 26


SYSTEMES TEMPS REEL CH 03 Caractristiques des ordinateurs temps rels

3- Protection par page et cl


On alloue chaque programme un bloc de mmoire, cest dire un ensemble de pages
conscutives. A chaque bloc est affect une cl qui accompagne chaque demande daccs
mmoire.
Exemple :
Espace systme : cl 0
Programme 1 : cl 1
Programme 2 : cl 3
Au moment dun accs mmoire lunit de mmoire vrifie avant deffectuer un accs que
la cl du demandeur est :
soit 0 (OS) ;
soit identique celle du bloc o se trouve ladresse demande.

c) Traitement des violations daccs


En gnral lorsquun programme systme dtecte une tentative de violation dune
protection par un processus, il se contente de refuser laccs, en renvoyant un code erreur
appropri. Dans dautre cas le systme pourra aussi tu le processus coupable.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 27


SYSTEMES TEMPS REEL CH 04 Installation des Ordinateurs en Milieu Industriel

CHAPITRE 04 - INSTALLATION DES ORDINATEURS EN MILIEU


INDUSTRIEL
I Interface ordinateur systme industriel
Pour installer un ordinateur en milieu industriel, on doit tenir compte de plusieurs conditions
entre autre :
La temprature
Lhumidit
La puret de lair (pas de poussire)
La fluctuation du courant du secteur et les coupure dlectricit viter. Pour cela on utilise
des onduleurs qui se substituent aux courants du secteur.
Le milieu industriel est en gnral un milieu agressif :
 Temprature leve
 Poussire dans lair
 Fume
 Parasite
Donc il faut une dimension supplmentaire par rapport linstallation dans les milieux non
industriels.
Pour communiquer avec le processus (reoit des donnes et envoie des commandes au
processus), lordinateur a besoin dune chane dacquisition de donnes et dune chane de
transmission de commande.

Capteurs
Processus Ordinateur

Actions

Chane dacquisition || CAPTEUR || CONDITIONNEMENT || CAN ||


Chane de commande || MOT COMMANDE || CNA || CONDITIONNEMENT ||
ACTIONNEUR ||
Les inconvnients sont principalement dus au regroupement des lments de conduite (unit
dinterface intgre lordinateur). Ce sont donc lencombrement et les interfrences
(parasitage).

II Unit dinterface

CPU MMOIRE INTERFACE DE/S

BUS ORDINATEUR

INTERFACE ORDINATEUR

COUPLEURS Unit
dinterface
BORNIERS

SYSTME INDUSTRIEL

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 28


SYSTEMES TEMPS REEL CH 04 Installation des Ordinateurs en Milieu 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.

CPU MMOIRE INTERFACE DE/S

BUS ORDINATEUR

CONTRLEUR DE COMMUNICATION

Systme
Ordinateur

CONTRLEUR DE COMMUNICATION
COUPLEURS
Satellite
BORNIERS d'interface

SYSTME INDUSTRIEL

III Normes lectriques industrielles


Ils existent deux types de signaux
Signaux logiques
12V 24V 48 68 (les plus utiliss sont : 24V et 48V).
Signaux analogiques
 Haut niveau
0 10V
0 50V
 Bas niveau
- 10 mV + 10 mV
Transmetteur 4-20 mA

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 29


SYSTEMES TEMPS REEL CH 04 Installation des Ordinateurs en Milieu 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.

V Conditionnement des signaux analogiques et numriques


1 Rjection des signaux en mode commun
Les tensions qui viennent des capteurs sont trs faibles (quelques mV), elles ont une grande
sensibilit au bruit. Ce tat de fait implique :
- Lusage dun amplificateur plac le plus proche possible du capteur ;
- Lusage dune liaison entre capteur et amplificateur avec une impdance trs
faible (cble coaxial, paire torsad) ;
Cble coaxial : permet dviter leffet lectrostatique.
Paire torsade : permet dviter leffet lectromagntique.

Connexion non symtrique


Capteur Ampli
Pour les tensions la sortie du capteur de lordre du mV, on
utilise un montage dit symtrique :

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

En gnral le montage capteur amplificateur nest jamais parfaitement symtrique de sorte


quil existe toujours une tension rsiduelle qui va se superposer la tension utile Vd, donc
cette tension va tre amplifie au mme titre. Ce qui va nous amener la dfinir le taux de
rjection en mode commun RRCM [Rejection Rate Commun Mode]. Le RRCM exprim en
tension en mode commun
dcibel est donn par la formule suivante : RRCM [dB ] = 20 log
tension rsiduelle

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 30


SYSTEMES TEMPS REEL CH 04 Installation des Ordinateurs en Milieu Industriel

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

2 Conversion tension courant


Pour transmettre le signal provenant dun capteur loign du calculateur, on ne peut pas le
transmettre sous forme de tension. Sous la forme dune tension, le signal sera fortement
attnu (chute de tension d la longueur du fil). Pour rsoudre ce problme on convertit le
signal sous la forme dun courant. On utilise donc un convertisseur tension courant.
Exemple de convertisseur tension courant : R 2

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.

Entre binaire non isole

V2 V3
- V1
R1 D2 R Vs
A
Contact D1 C

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 31


SYSTEMES TEMPS REEL CH 04 Installation des Ordinateurs en Milieu Industriel

La tension V3 est toujours suprieure la tension V2.


RC permet dliminer le rgime transitoire.
Quant le contact est ferm :
D1 est polarise en direct  VA0 (tension de seuil de diode 0,7V)  niveau 0 pour Vs
(niveau bas).
Contact ouvert
D2 est polarise en direct  VA V2 = Vd  VA= Vd +V2  niveau haut

Entre binaire isole


On utilise par exemple un optocoupleur
Vc

R
Calculateur
Milieu
industriel Vs

5 Sorties binaires

48V
R
Darlington Milieu
Calculateur industriel

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 32


SYSTEMES TEMPS REEL CH 05 Notion de Contrle de Procd

Chapitre 05 NOTIONS DE CONTROLE DE PROCEDES


(Process Control)
I. Introduction
Les oprations associes un contrle de procds ont exist avec lapparition des
premires cratures vivantes : contrle de procds naturels ; exemple, le corps humain : la
temprature ne doit dpasser un certain seuil 37.
Pour survivre, lhomme a invent un contrle de procds artificiels. Actuellement, le
contrle de procds a volu, il est destin des oprations dautomatisation industrielle.

II. Dfinition du contrle de procds

On dfinit un procd, un systme industriel ou un processus physique comme tant


une interconnexion dlments devant raliser une tache dfinie.
Un procd est un assemblage complexe de phnomnes associ une squence de
production.
Le procd rpond aux lois de la physique ; les quations, qui en dcoulent, permettent
(lorsquon sait les exprimer) de dcrire le processus par un model de connaissance. A dfaut,
on a le model de comportement, obtenu grce des algorithmes didentification.
Le model de connaissance dfinie les variables dentre et les variables de sortie du
V perturbation

Up Procd Y
Commande Sortie
processus.
Exemple 1 : Un rchauffeur
Entre de vapeur
deau Entre
Fluide

Sortie
Fluide
Sortie de vapeur
deau

Exemple 2 : contrle de la temprature dune salle.


En gnral un contrle de procd met en jeu une ou plusieurs variables dynamiques.
Une variable dynamique est un paramtre physique qui varie spontanment ou sous laction
dune influence extrieure.
Le but dun contrle de procd est de maintenir une variable gale ou proche dune valeur
spcifique dsire. Pour ce faire une action corrective doit tre applique constamment pour
maintenir la variable constante : cest la rgulation.
La conduite dun procd consiste adapter son fonctionnement des rgles dfinies
lavance. Dans le cas du rchauffeur on impose que la temprature du fluide sortant soit fixe
quelque soit la temprature du fluide entrant, (pour cela on agit sur la vanne dentre et de
sortie de vapeur).

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 33


SYSTEMES TEMPS REEL CH 05 Notion de Contrle de Procd

Trois oprations sont associes au contrle dun paramtre physique :


- Mesure du paramtre qui consiste la traduire de la variable et la mesurer.
- Comparaison de la comparaison de la variable mesure avec une consigne.
- Action assure par un contrleur sur le procd de manire ramener la grandeur
mesure la valeur dsire.
Consigne Contrleur Elts de contrles Procd

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.

1) Systme en boucle ouverte (BO)

Les systmes de commande en BO sont reprsents comme suit :


Perturbations
Zi(t)

Signal de Systme de Grandeur de u(t) Systme Grandeurs


mise en commande commande command commandes
marche

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)

Organe Organe de u(t) Systme y(t)


dexcution rglage command

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 34


SYSTEMES TEMPS REEL CH 05 Notion de Contrle de Procd

2) Systme en boucle ferme (BF)


Le principe de fonctionnement des systmes en boucle ferme est fonds sur la mesure de
lcart (grandeur de correction ou erreur) ou le principe de contre raction.
Ce principe consiste comparer la valeur dsire avec la valeur relle de la grandeur
commande.
Linformation sur lcart, de la grandeur commande par rapport la valeur dsire est
utilise par le systme de commande pour former laction de commande u(t) sur le systme
command.
Zi(t)

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.

3) Systme de commande combine


Les avantages des systmes de commande en BO et repris pour former des systmes de
commande combine. Dans ces systmes laction de commande est forme en fonction de la
valeur relle et des actions de perturbations principales. Lorsque linfluence de la perturbation
Zi(t) est compense laide du compensateur Zi, la boucle ferme reste indiffrente ce
changement. Par contre les influences exerces sur y(t) par les autres perturbations sont
attnues par laction de la chane ferme. Pour rduire lerreur statistique e(+) ou en temps
minimale avec compensation par anticipation.
Zi(t)
Compensation Organe de
Zi mesure
Z1(t) Zn(t)

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

IV. CONNEXION DUN PROCEDE A UN CALCULATEUR

1) Automatisation de la conduite dun procd


Lautomatisation consiste assurer la conduite du procd laide dun dispositif
technologique.

Pour automatiser la conduite dun procd on procde par ces 4 tapes :

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.

Lensemble constitu par le procd et le dispositif technologique, constitue un systme


automatis.
A
C C
T A
I P
O T
N PROCEDE E
N U
E R
U
R
I
N
C F
O O
M R
M
Interface de Interface M
A puissance dadaptation A
N T
D I
E PARTIE O
N
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).

Les interfaces de puissance : convertissent le signal informationnel en signal nergtique


(amplificateur de puissance).
La partie commande : constitue lorgane de calcul.

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).

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 36


SYSTEMES TEMPS REEL CH 05 Notion de Contrle de Procd

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

Stratgie de Dtermination des


commande objectifs rellement
atteints
ACTIONNEUR

Procd
PROCEDE
CAPTEUR

3) Rles du calculateur numrique


En ce qui concerne lautomatisation des procds, les donnes sont de deux types :
Donnes relatives aux objectifs atteindre : elles sont introduites en mmoire,
soit dfinitivement (consignes fixes), soit la demande de lutilisateur
(consignes variables).

Donnes relatives lobjectif rellement atteint : elles sont introduites en


mmoire via les coupleurs dentre chaque foi que le programme qui ralise
la stratgie de commande est excut.

La structure dun programme de contrle est globalement la suivante :


Attendre le signale de synchronisation ;
Lire les consignes numriques ;
Convertir les mesures analogiques, et lire les mesures numriques ;
Calculer les erreurs, excuter les programmes de corrections ;
Convertir les commandes en analogique.

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

4) Fonctionnement en temps rel


On peut caractriser le fonctionnement en temps rel du calculateur de la faon
suivante :
A chaque fin dexcution du programme, ralisant la stratgie de commande, dclenche la
sortie vers lextrieur des rsultats et linitialisation dune nouvelle excution.
Si ti et ti+1 reprsente les dates de deux excutions successives, lintervalle de temps
i=ti+1ti reprsente le temps de service du calculateur pour un procd. En gnrale, ce temps
de service, nest pas constant, de plus il doit tre trs bref vis vis du besoin de control de
processus.
On est donc amener dclencher lexcution du programme de la stratgie de
commande, laide dun dispositif annexe (horloge) et utiliser lintervalle de temps, entre la
fin de lexcution et le dbut dune nouvelle excution dautres tches.
Te = max i
Lintervalle de temps Te - i peut servir pour lexcution
Te
i interactive ave lutilisateur.
ti ti+1
Exemple : acquisition de la nouvelle valeur de consigne.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 38


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

CHAPITRE 06 : SYSTEMES DEXPLOITATION TEMPS REL


[Pr requis (notions sur les systmes dexploitations)]
I Gnralits
1) Dfinitions :

Systme Temps rel


Un systme temps rel est un systme dont le comportement dpend, non seulement de
lexactitude des traitements effectus, mais galement du temps o les rsultats de ces
traitements sont produits.

Echance dure et chance lche


chance dure (Hard deadline) : le rsultat dun traitement en retard provoque une exception
chance lche (Soft deadline) : le retard ne provoque pas dexception

Temps rel dur et temps rel lche


Temps rel dur (Hard): un systme dans lequel certaines chances ne doivent en aucun cas
tre dpasses.
Temps rel lche (Soft) : un systmes dans lequel le dpassement occasionnel des chances
ne met pas le systme en difficult.

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.

La source de non dterminisme


Charge de calcul
Entres/sorties
Interruptions
Fautes et exceptions matrielle ou logicielles

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.

Informatique et logiciel Temps Rel


En informatique temps rel, le comportement correct dun systme dpend, non seulement des
rsultats logiques des contraints, mais aussi du temps auquel les rsultats sont produits

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 39


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

Linformatique temps rel impliquera lutilisation dun ordinateur en relation avec un ou


plusieurs processus externes. Le but de cette mise en relation sera dobtenir des informations
sur le ou les processus (suivre leur fonctionnement au travers de relevs des variables
importantes) et peut-tre dintervenir sur son fonctionnement (en modifiant son comportement
en fonction des informations collectes).

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.

2) Limite des systmes classiques pour temps rel

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.

Gestion de processus par programme autonome


La mise en uvre dune application de gestion de processus physique sur ordinateur, peut
senvisager par lexcution dun programme autonome, assurant toute les fonctions requises
par lvolution du processus commander ou surveiller.

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 40


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

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.

Fonctions essentielles dun moniteur temps rel :


 Ordonnancement des diffrentes tches excuter (travaux temps rels et travaux de
fond) ;
 Gestion de la mmoire ;
 Gestion des entres / sorties sur un priphrique non industriel ;
 Gestion du dialogue avec loprateur ;
 Gestion des interruptions ;

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

Zone de Accs lecture et criture


donnes Accs par pointeur de donnes

Les segments dun processus. Zone Accs lecture seul


programme Accs par pointeur de programme

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 41


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

Le code correspond aux instructions, en langage dassemblage, du programme excuter.


La zone de donnes contient les variables globales ou statiques du programme ainsi que les
allocations dynamiques de mmoire.
Enfin, les appels de fonctions, avec leurs paramtres et leurs variables locales, viennent
sempiler sur la pile.
Les zones de pile et de donnes ont des frontires mobiles qui croissent en sens inverse lors de
lexcution du programme. Parfois, on partage la zone de donnes en donnes elles-mmes et
en tas. Le tas est alors rserv aux donnes dynamiques.

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).

c) Etats lmentaires dun processus

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.

 1) Rquisition du processeur au profit dun autre processus ;


 2) Allocation du processeur ;
 3) Rveil du processus
 4) Attente dune ressource.

Le processus lu est choisi parmi les processus prts par lOrdonnanceur.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 42


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

Les problmes dordonnancement font intervenir deux types de files.


File de descripteurs des processus : permet de rpertorier les processus ;
File de dispatching : destine au dispatcher pour lallocation du processus.

File de
Bloqu Prt Bloqu descripteur
Priorit
Descripteur max Descripteur
Descripteur File de
Processus 1 Processus 3
Processus 2 dispatching

Prt Elu Prt


Priorit Priorit
moy min
Descripteur Descripteur
Descripteur Processus i Processus 0
Processus 4

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

Fiche dtat 1 Fiche dtat i Fiche dtat 0

2 Quasi paralllisme et relle simultanit

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

Un systme comportant un processeur et qui est capable dexcuter plusieurs tches


simultanment et dit multitche monoprocesseur.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 43


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

A lchelle du processeur, les tches seront excutes alternativement, la simultanit est donc
virtuelle on par dans ce cas de quasi simultanit.

Un systme comportant N processeurs capable dexcuter plusieurs tches (N + X tches) est


dit multitche multiprocesseur. Dans ce cas on parle de relle simultanit (car les tches
sont
P1 P1 P1 P1
P2 P2 P2 P2

Cas 1 : Cas 2 : Cas 3 :


(1 processeur) (1 processeur) (Plusieurs processeurs)
P2 ne dmarre pas avant P2 dmarre avant que ne Recouvrement des phases.
la fin de lexcution de P1 sachve lexcution de  Relle paralllisme ou
 Excution squentielle P1 relle simultanit
 Quasi paralllisme Dans ce cas ncessit
obligatoire davoir 2
processeurs.

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

En environnement multitche, les processus cooprent en vu de la ralisation dune activit


commune. On distingue 2 types de coopration :
- Coopration temporelle : fait intervenir des notion dactivation et de blocage des
processus ;
- Coopration spatiale : se rapporte lchange dinformation entre processus.
Ces deux types de coopration caractrisent la synchronisation et la communication entre
processus.

Coopration spatiale

On peut distinguer 3 types de relation entre processus :

 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

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 44


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

 Processus ayant accs des ressources communes :

Processus 1 Processus 2 Exemple : gestion de stock ;


P1 agit sur la ressource
P2 consulte la ressource sans incident sur le
traitement.
Ressource
commune

 Processus lis

Processus 1 Processus 2 Les processus ont besoin dinformations labores


par lautre processus pour poursuivre leurs
excutions ou leurs volutions
Exemple : rservation de place davion.
Ressource
commune

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

Le concept de smaphore permet une solution lgante la plupart des problmes


dexclusion. Ce concept ncessite la mise en oeuvre dune variable, le smaphore, et de deux
oprations atomiques associes P et V.
Un smaphore joue le rle dun distributeur de ticket, que les processus utilisent laide de
deux oprations :
Opration P (PRENDRE) ; correspond une demande de ticket.
Opration V (VENDRE) ; correspond une libration de ticket.
A un smaphore, on associe :
- Un compteur, not e(s), qui peut prendre des valeurs entires, ngatives, nulle ou positives ;
- Une file dattente de type FIFO, note F(s), o sont stocks les processus en attente de
ticket ;

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 45


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

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.

Ces deux procdures sont appeles primitives.


Une privative est une squence programme grce laquelle lutilisateur peut demander au
moniteur, lexcution dune fonction dtermine.

Lors de lutilisation dune ressource partageable rentrante, la valeur initiale du smaphore est
en gnrale initialise avec le nombre maximum daccs possible.

Gestion de lexclusion mutuelle par smaphore


Lexclusion mutuelle de deux processus vis vis dune ressource, non rentrante, suppose une
phase pendant laquelle, un seul des deux processus est en possession de la ressource. Dans ce
cas on initialise le smaphore 1 [ e(s)=1].
Exemple : 2 processus en phase dimpression sont en exclusion mutuelle vis vis de
limprimante.
Dans ce cas on initialise le smaphore 1 ( e(s)=1).
Lors du fonctionnement, si le smaphore devient ngatif, sa valeur absolue exprime le nombre
de processus en attente de la libration de la ressource.
Processus P1 Processus P2 Processus P3 Ressource Variable
Actif Actif Actif Smaphore
P(s) Ressource libre
1 -> 0
P(s) Occupe par P1
-1
P(s) En attente Occupe par P1
-2
En attente
Occupe par P1
V(s)
-1
V(s) Occupe par P3
0
V(s) Occupe par P2
1
Ressource libre

Etape 1 : P1 appelle R  e(s) =e(s) -1=1-1=0


 P1 prend possession de la ressource R
Etape 2 : P3 appelle R  e(s) =e(s) -1=0-1=-1

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 46


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

 P3 mis en attente dans F(s) |P3|______|


Etape 3 : P2 appelle R  e(s) =e(s) -1=-1-1=-2
 P2 mis en attente dans F(s) |P2|P3|_____|
Etape 4 : P1 libre R  e(s) =e(s) +1=-2+1=-1
 Sortie de P3 de F(s) |P2|______|
Et R lui est attribue
Etape 5 : P3 libre R  e(s) =e(s) +1=-1+1=0
 Sortie de P2 de F(s) |_______|
Et R lui est attribue
Etape 6 : P2 libre R  e(s) =e(s)+1=0+1=1
Rien nen attente dans F (s) |_______|
R libre

2) les vnements

Lvnement est reprsent par une variable boolenne.


Ev = 0 : vnement est dans ltat NON ARRIVE .
Ev = 1 : vnement est dans ltat ARRIVE .

On attache lvnement une file F


On dfinit 3 primitives :

La primitive RESET La primitive SET La primitive WAIT


Dbut Dbut Dbut
Mise zro de Ev Mise 1 de Ev Mise zro de Ev
Vider F Scruter F Si un processus en
FIN. Si F non vide cours, mettre le processus en
Alors cours dans F
dbloquer les processus en Sinon
attente FIN.
Sinon
FIN.

C Ordonnancement des processus


L'ordonnancement est l'opration consistant choisir le prochain processus excuter et le
moment o lancer son excution.
Un bon algorithme d'ordonnancement doit assurer :
L'quitabilit en temps d'utilisation du processeur,
L'efficacit du systme : 100 pour cent de puissance utilise
Un temps de rponse minimis
Maximiser le rendement
On voit que certains objectifs sont contradictoires. En favorisant un point, on en dfavorisera
un autre.

1/ Stratgie dordonnancement
La majorit des stratgies dordonnancement sont base de file dattente. Deux techniques de
base sont adoptes :
Lordonnancement peut tre :

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 47


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

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.

a) Technique du Premier arriv premier servi


(Algorithme du FIFO)
Cest un algorithme lmentaire qui ne suppose aucune notion de priorit entre les processus,
ni aucune chance temporelle pour un processus donn.

Arrive Pn --------------- P2 P1 Slection

b) Technique du Plus court temps de traitement


On choisit dans la file la tche la plus courte (cela suppose connu les temps dexcution des
tches). La file sera trie en fonction des temps dexcution.

Dure dexcution Dure dexcution


longue courte
Pi
---------------------------- Slection

+ -
Arrive

c) Technique du Temps partag


(Algorithme de TOURNIQUET)
Dans les deux premier cas il ya risque quune tche attende longtemps avant dtre active.
Le but de cette troisime technique est dallouer chaque tche un quantum de temps .
- Si la tche se termine ou se bloque avant , on passe la tche suivante ;
- Sinon on remet la tche en cours dans une dattente F.

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

Dans ce cas lalgorithme est premptif.

d) Files dattente multiples


(Algorithme plusieurs niveaux)
Cette mthode utilise N files. Un processus qui entre dans le systme est mis dans la 1re file,
aprs avoir reu un quantum de temps, il est mis dans la deuxime file est ainsi de suite. Cette
mthode permet de favoriser les petits travaux.
En gnrale on utilise 3 files, F1, F2 et F3 avec des quantum respectifs q, 2q et 3q.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 48


SYSTEMES TEMPS REEL CH 06 Systmes dexploitation temps rel

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.

2/ contraintes temps rel


La prise en compte de type de contrainte conduit associer une priorit au processus. La file
dattente des processus ligibles est trie par ordre de priorit croissante ou dcroissante. Et le
processus de plus forte priorit est lu. Ainsi un processus pourra garder le processeur tant
quaucun processeur de priorit suprieur ne le rclame.

------------- Pj -------------

p1 pj pn
Arrive
processus Pj de priorit pj

Deux mthodes sont utilises dans ce contexte :


 La premire est base sur la modification dynamique des priorit (on introduit donc la
notion dge). Lge est une variable qui est incrmente chaque commutation de
tche et dont la valeur initiale est la priorit initiale associe au processus lors de son
lancement. Le principe de cette mthode consiste :
o Donner un quantum de temps q chaque processus. Une fois la tranche de
temps alloue un processus Px terminer, lOrdonnanceur va incrmenter
lge de toutes les tches (processus) de la file et Px va tre rinsrer avec sa
priorit initiale.
o Le processeur est allou la tche dge maximum.
Ce mode de fonctionnement assure mme pour une tche de trs faible priorit laccs au
processeur.

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.

alkassoum_nabil@yahoo.fr Informatique Industrielle 10/2007 49

Vous aimerez peut-être aussi