You are on page 1of 81

1643 (Pascal)

Un peu d'histoire

Premires machines calculer


Peu de progrs jusqu'au XX sicle

1940 (ENIAC 1943-46 : 30 t, 160m2)


Technologie = Tubes vide (18.000) et commutateurs (6.000)

1958 La rvolution du transistor


Ex: CDC 1604 (25.000 transistors)

1965 Les mini-ordinateurs (IBM System/360?)


Circuit Intgr = dizaines de transistors sur une puce

1975 Les micro-ordinateurs


VLSI (Very Large Scale Integration) = dizaines de milliers de
transistors sur une puce
Ordinateur = outil de bureau (PC=Personnal Computer)
1re gnration (~1950)

Un peu d'histoire
- Ordinateur

Ensemble de tubes (~20 000)


Chargement manuel par le programmeur laide dinterrupteurs
Lutilisateur excute son programme immdiatement aprs le chargement
Pas de SE

- Inconvnients

Trs encombrant
Trs lent
Trs peu fiable

2me gnration
Ordinateurs mainframes

Un peu d'histoire

Traitement par lots (cartes perfores)


Lenchainement des lots est dcrit par une carte perfore spciale (carte de
contrle)
Le SE se limite un moniteur rsident qui enchaine les lots
- Inconvnients

Lent
Non interactif

Mono-programmation

Un peu d'histoire

E/S tamponnes
- Utilisation dunits dchange (UE) capables :

de fonctionner simultanment avec lUC (asynchronisme)


de transfrer des tampons = blocs doctets
Excution pgm i // lecture pgm i+1

Un peu d'histoire
Les cartes sont lues par lUE et stockes dans des tampons (buffers) dentre
LUC lit les donnes dans le tampon dentre et produit le rsultat dans un
tampon de sortie

Contraintes :
Il faut grer la synchronisation daccs aux tampons
Ecrire (tampon) => tampon vide
Le priphrique peut tre particulirement lent
La place mmoire utilise peut tre grande

Un peu d'histoire
E/S Spooles
Tampons supplmentaires en mmoire secondaire (files dattente de donnes
lire ou crire sur un priphrique lent)
SPOOL = simultaneous peripheral operations on-line
Spooling d'impression : documents imprimer chargs dans un tampon en
mmoire secondaire, "aspirs" par l'imprimante selon sa propre vitesse

3me gnration (1960/1970)


- Systmes multi-programms

Un peu d'histoire

Plusieurs tches en mmoire simultanment


Multiplexage du processeur entre les tches
Perte du processeur lors des E/S
- Avantages

Meilleure utilisation de lUC

Un peu d'histoire
- Inconvnients

Complexit
Taille de mmoire grande
Partage et protection des ressources

Multi-programmation

Un peu d'histoire
Multi-programmation et protection

viter quune tche puisse lire / crire dans la zone mmoire affecte une
autre tche
viter quune tche puisse manipuler la zone rserve au systme autrement
que par les appels systme
viter quune tche puisse lire / crire des donnes dE/S dune autre tche

=> Complexifie la gestion des ressources (mmoire, E/S, )

3me gnration (suite)


- Systmes temps partag (1970)

Partage du temps processeur entre les tches

Un peu d'histoire
Quantum de temps
Tches en mmoire ou swappe sur disque
Plus grand nombre de tches
Une mmoire plus grande alloue chaque tche
- Avantages

Temps de rponse corrects pour tches courtes, mme en prsence de tches


longues et non interactives

- Inconvnients

Complexit
Lutilisation du processeur peut tre moins bonne

Systmes mono/multiprogramms et temps partag

Un peu d'histoire

4me gnration (aprs 1970)

Ordinateurs personnels
Architectures spcialises
Systmes rpartis

Ordinateurs personnels
Initialement

Un peu d'histoire
Mono-tches (MS/DOS, Windows3/11)
Ddis un utilisateur
Pas de protection / scurit
Trs interactifs
Trs conviviaux
Evolution
Multi-tches (MacIntosh, Windows NT/2000/XP, Unix, Linux)
Multi-utilisateurs
Connections rseaux (exploitation dans les systmes rpartis)

Systmes parallles multiprocesseurs

SMP (Symetric Multi Processeurs)


Systmes gnralistes (serveurs BD, Web, SI, NFS, )
Processeurs standards
Partage total de la mmoire
Machines de calcul parallles
Architectures spcialises
Processeurs spcifiques pour le calcul vectoriel

Un peu d'histoire
Rseaux spcialiss
Partage total ou partiel de la mmoire (bancs)

Systmes clustriss

Plusieurs noeuds (= machines)


partageant un disque (share disk)
ou bien ne partageant rien (share nothing)

Un peu d'histoire
Un nud est galement appel un serveur
Connects par un rseau spcialis (SCI, Ethernet, )
Invention des rseaux locaux haut dbit (Local Area Network)
changes rapides de donnes de grandes taille
3 caractristiques :
Monte en charge
Passage lchelle (extensibilit / scalability)
Haute disponibilit (serveurs back-up)

Systmes Haute Disponibilit

Haute disponibilit
Temps dindisponibilit < quelques minutes par an
Pas de transparence la panne (vue par les clients)
Relancement automatique
Serveurs back-up (prennent le relais en cas de panne)

Systmes Clustriss

Un peu d'histoire

Systmes Distribus / Rpartis

Distribution de lexcution sur un ensemble de serveurs distants


En gnral, pas de mmoire / disque partag
Pas de matriel spcifique
Pas dtat global
Applications multi-usagers / multi-localisations

Un peu d'histoire
Tl-confrence, commerce lectronique, SI,
volution dynamique des serveurs
Donnes distribues et partages

Couverture du terme systme rparti

Englobe maintenant :
Architectures distribues fortement couples :
Systmes parallles multi-processeurs
Architectures clusters
Architectures distribues faiblement couples
Grilles de calcul
Grilles d'entreprises
Architectures pair pair
Applications Web

Motivations pour les systmes rpartis

Un peu d'histoire
Partage de ressources sur le rseau :
Processeur, mmoire, serveurs
Code mobile
Donnes mobiles
Potentiel :
Disponibilit
Monte en charge
Passage lchelle

Systmes Temps-rel

Contraintes temporelles
Temps d'excution borns
Utiliss dans des situations spcifiques
systmes dimagerie mdicale,
systmes de contrle industriel,
robotique,

Un peu d'histoire

Hard real-time systems
Peu ou pas de mmoire secondaire
Pas de temps-partag
Temps de commutation trs court
SE compltement spcifique
Soft real-time Systems
Utiliss dans les applications multimdia, ralit virtuelle
Contraintes de temps plus souples
Gestion de priorits de tches
Gestion spcifique de la mmoire

Systmes handled

Personal Digital Assistants (PDAs)


Tlphones cellulaires
Systmes dexploitation spcifiques
Contraintes :
Mmoire limite

Un peu d'histoire
Processeurs lents
Petits crans
Faible consommation dnergie
http://mrproof.blogspot.com/search/label/R%C3%A9seaux%20Informatique

Architecture de base
Ide de Von Neuman (1945), peu de changement depuis :
= bus

Unit de Commande
Mmoire

Entres
Unit de Traitement

Architecture des Ordinateurs et Systmes d'Exploitation

Sorties

Mmoire = stocke les informations et les programmes


UC = cherche les instructions en mmoire, les reconnait et
indique l'UT ce qu'elle doit effectuer
UT = assure les oprations lmentaires que demande l'UC
(oprations logiques, arithmtiques, ...)
Bus = transfre les informations

Architecture des Ordinateurs et Systmes d'Exploitation

Reprsentation de l'Information
Une information peut tre reprsente de plusieurs faons :
ex : le chiffre quatre :

100

IV

Reprsentation des nombres


Reprsentation usuelle = base 10
symboles = { 0,1,2,3,...9 }
1999 = 1 * 103 + 9 * 102 + 9 * 101 + 9
Reprsentations courantes en Informatique = bases 2, 8, 16.
base 2 = binaire (reprsentation interne) un bit :
{ 0,1 }
base 8 = octal
{ 0,1,2,3,...7 }
base 16 = hxadcimal
{ 0,1,2,3,...9,A,B,C,D,E,F }
Architecture des Ordinateurs et Systmes d'Exploitation

Numrationeten
base des
b
Reprsentation
codage
donnes
Numrotation romaine
MCMXCIX : M vaut toujours 1000, C vaut 100

Numrotation arabe : reprsentation positionnelle


la rang de chaque chiffre indique son poids
dans 1999 le 9 le plus droite vaut 9, le deuxime 90
la valeur dun chiffre dpend de sa position

Reprsentations courantes des nombres


plusieurs bases : XXXb indique que le nombre XXX est
crit en base b
reprsentation usuelle : base 10
reprsentations courantes en informatique : bases 2
(binaire, interne), 8 (octal) et 16 (hexadcimal)

Numration en base b
Bases

ai {Chiffres}

b = 2 ou Binaire

0,1

b = 8 ou Octal

0,1,2,3,4,5,6,7

b = 10 ou Dcimal

0,1,2,3,4,5,6,7,8,9

b = 16 ou Hexadcimal

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

En base b on utilise b chiffres


x = anan-1a1a0
a0 est le chiffre des units

Numration : exemples
Bases

Exemples

2 ou Binaire

10012 = 910

8 ou Octal

1428 = 9810

10 ou Dcimal

12810

16 ou Hexadcimal

E2A116 = 5801710

Pour les bases suprieures 10 on peut galement


introduire des symboles sparateurs :
systme sexagsimal : longitude = 22014

Exo1

Changement de base : b 10
N(10) = d0.b0 + + di.bi + + dn.bn
i : rang
bi : poids du chiffre
le chiffre le plus gauche est le chiffre de poids fort,
celui le plus droite le chiffre de poids faible

Exemple :
143(5) = 3*50 + 4*51 + 1*52 = 3+20+25 = 48(10)
AB(16) = 11*160 + 10*161 = 11+160 = 171(10)
1001(2) = 1*20 + 0*21 + 0*22 + 1*23 = 1+0+0+8 = 9(10)
le poids des chiffres en binaire et 1, 2, 4, 8, 16, 32, 64

Intervalle dun nombre de n


chiffres
Avec n chiffres on peut coder en base b, la valeur maximale
suivante (cas o tous les chiffres sont la valeur maximale soit
b-1)
Nmax(10) = (b-1).b0 + + (b-1).bi + + (b-1).b(n-1)
= (b-1) . (1 + + bi + + b(n-1))
= b . (1 + + bi + + b(n-1)) - (1 + + bi + + b(n-1))
= b + + bi + + bn (1 + + bi + + b(n-1) )
= bn 1

Avec n chiffres on donc coder bn valeurs en base b


Dans un ordinateur on code les nombres sur 8, 16 ou 32 bits
8 bits : Nmax = 28 1 = 255 on peut coder 256 valeurs
16 bits : Nmax = 65 535 (65 000 couleurs)
32 bit : Nmax = 4 294 967 296

Kilo, Mga, Tera


On utilise souvent en informatique Kilo, Mega at Tera.
traditionnellement un Kilo vaut 1000 : 1Km = 1000m
en base 2, 1000 nest pas une puissance de 2, on prend la
valeur immdiatement suprieure

1 Kilo = 210 = 1024


1 Mega = 220 = 1 048 576
1 Tera = 230 = 1 073 741 824
Un octet est un regroupement de 8 bits
1 Ko = 1024 octets
1 Mo = 1024 Ko
1 Go = 1024 Mo

Changement de base : 10 b

Algorithme des divisions successives


on divise le nombre par la base
puis le quotient par la base
ainsi de suite jusqu obtention dun quotient nul
la suite des restes correspond aux chiffres dans la base vise
on obtient en premier le bit de poids faible et en dernier le bit
de poids fort

Pour convertir un nombre dune base b1 vers une base b2,


il suffit de convertir le nombre de la base b1 en base 10, puis
ce nombre en base 10 en base b2

Base 10 2 et 16 : exemples
conversion de 11(10) en base 2
11

Reste
Bit de poids 1

1023
15

5 2

conversion de 1023(10) en base 16

2 2
0

11(10) = 1 0 1 1 (2)

Reste digit
de poids
1
Reste
digit de poids 16

1
Bit de
poids 8

16
63 16
15

1023(10) = 3FF (16)

3 16
3

0
Reste
digit de poids
256

Vrification :

Vrification :

1*1 + 1*2 + 0*4 + 1*8 = 11

3*16 + 15*16 + 15*1 = 1023

Particularit : bases 2, 8 et 16
Bases correspondant des puissances de 2 : conversions trs
faciles

base 8 : dcoupage par blocs de 3 chiffres


001 010 011 101
1
2
3
5

= 12358

base 16 : dcoupage par blocs de 4 chiffres


0010 1001 1101
2
9
D

= 29D16

Pour simplifier la notation binaire on utilise en informatique la


notation hexadcimale
simplification de la lecture et criture des adresses mmoires

Oprations arithmtiques
Mmes principes que ceux utiliss en base 10
11111111
255
+ 255
1 1+111 1 1 1
0 eretenu
1 11111 1 1
111111110
510

FF
+FF
110
1FE

255
+ 255
retenue

510

1 0 1
0

AX OR
I
G
ER
1
C R
1 0 1
1 0 1
1 0 1

1 1 0 0 1

Dans lordinateur, les oprations sont faites en base 2


Il existe aussi des oprations logiques (Cours n3)

Types dinformations
Les nombres sont cods en binaire
Pour les nombres fractionnaires
on crit la partie entire en binaire
on garde la virgule
la partie dcimale se dcompose en puissances ngatives de
2

Exemple : 0,7510
0,75 * 2 = 1,5
0,5 * 2 = 1

(on garde 1 reste 0,5)


(on garde 1 reste 0 : termin)

0,7510 = 0,112 = 1 * 2-1 + 1 * 2-2 = +

Les types dinformations directement traites par un


processeurs sont :

Les donnes
Types
dinformations
entiers : entiers naturels et entiers relatifs
flottants : dcrivent les rels, simple et double prcision
caractres
le codage de ces trois types est dfini par des standards
(normes spcifies par des organisations internationales)

Les instructions
leur codage est spcifique dun processeur

Linformation
Dans un ordinateur, linformation est numrise (digitale)
Linformation est la connaissance dun tat parmi un nombre
fini dtats possibles
Une information non numrise est une information
analogique : une grandeur physique continue (tension ou
courant)

Lunit de mesure de linformation est le bit


un bit est la quantit dinformation lie la connaissance dun
tat parmi deux
un bit dinformation peut tre reprsent par un digit binaire
prenant les valeurs 0 ou 1
rappel : avec n bits, on peut reprsenter 2n tats

Codage : dpassement de capacit


Codage = reprsentation avec un nombre limit de bits
Problme pour le dpassement de capacit

Exemple pour les entiers naturels

Reprsentation

Codage sur 8 bits

10101010
+11000000

170
+ 192

10101010
+1 100 000 0

101101010

362

101101010

362 est trop petit pour tre cod sur 8 bits

Codage des entiers naturels


Entiers naturels (unsigned en C) cods sur un nombre
doctets fix (un octet = 8 bits)
gnralement 1, 2 (short en C) ou 4 (int ou long en C)

Sur un octet on peut coder les nombres de 0 255 (28


possibilits) : attentions aux dpassements (overflow)
deux possibilits : ignorer loverflow (tourne) ou provoquer
lexcution dune routine particulire

Nombre reprsent en base 2, les bits sont rangs dans


des cellules correspondant leur poids, on complte gauche
par des 0
128 64 32 16

0 0 0 0 1 1 0 1

Codage des entiers relatifs


Problme : coder le signe du nombre
Ide simple : introduire un bit de signe (0 : + ; 1 : -)
sur 4 bits : 0110 = 6 et 1110 = - 6
sur n bits on code [-(2n-1-1),2n-1-1] : car on utilise n-1 bits pour
coder le nombre

Limitations de ce type de solution


deux reprsentations pour 0 : 0000 ou 1000
addition difficile alors que cest lopration la plus utilise
(extraction du signe, test pour faire une addition ou une
soustraction, calcul du nouveau signe)

Pour simplifier laddition on reprsente les entiers ngatifs


en complment 2

Complment deux
La reprsentation de x est obtenue par le complment
deux de x
on code en binaire sa valeur absolue
on complmente (inverse) tous les bits
on ajoute 1

Exemple : pour x = 22 sur 1 octet


X=
-X =

0 0 0 1 0 1 1 0 : on complmente
1 1 1 0 1 0 0 1 : on ajoute 1
11101010

Le premier bit dun nombre indique son signe, sil est


ngatif, son complment permet de retrouver sa valeur
absolue

Complment 2 et entiers relatifs


En machine les nombres ngatifs sont directement cods
en complment
soustraction : on complmente la deuxime oprande et on
effectue une addition
addition et soustraction : un seul circuit ralisant laddition
on ne considre pas le signe des nombres

Reprsentation non compltement symtrique : le plus petit


nombre na pas doppos : sur n bits
le plus grand entier positif est 2n-1-1
le plus petit entier ngatif est - 2n-1

Entiers relatifs : exemple


000
111 -1

1 001
2 010

110 -2
3

101 -3

011

-4
100
Algorithme daddition traditionnel avec les deux mthodes

00000001
+10000001
10000010
+1 1 = -2 la mthode
simple du bit de signe ne
fonctionne pas

retenue

00000001
+11111111
00000000
+1 1 = 0 la mthode du
complment deux
fonctionne

Codage des rels : virgule flottante


Par exemple codifi 3,25 qui scrit (11,01)2
premire machine = virgule fixe : nombre spar en deux parties
(chiffres avant et aprs la virgule)

Depuis les annes soixante : virgule flottante


flottant stock sous la forme M * BE
M : Mantisse ; B : Base ; E : Exposant
exemple : 123 . 103 = 123 000

Reprsentation IEEE 754 (signe 1 bit, exposant et mantisse sur


32 ou 64 bits pour simple et double prcision)
SM : signe de la mantisse : 1 bit
Eb : exposant biais : 8 ou 11 bits
M : Mantisse : 23 ou 52 bits

SM

Eb

Mantisse et exposant
Signe : bit de poids fort (0 = + ; 1 = -)
Exposant
plac avant la mantisse pour simplifier les comparaisons (pour
ceci il ne doit pas tre reprsent en complment deux : 2-1 > 2)
sans signe mais biais de 127 (simple prcision) :

Eb = 0
E = 0 127 = -127
Eb = 255
E = 255 127 = 128

les exposants 128 (erreur) et 0 (nb dnormalis) sont interdits

Mantisse
normalise : bit de poids fort nest pas 0 et un seul chiffre avant la
virgule
ex : 11,01 = 1,101 * 21

valuation dun rel


SM

Eb

M
f1f2fn

Comme le bit de poids fort de la mantisse est ncessairement 1 :


on ne lindique pas (gaspillage de place), il est implicite
Mantisse
partie fractionnaire = f1f2 fn

m = 1,f1f2fn

nombre x = (-1)SM * 1,M * 2Eb-127


Exemple
x = (-2,5)10 = -1,01*212

(SM = 1 ; Eb = 1000 0000 ; M = 01)

Oprations
Additions et soustractions
il faut que les exposants aient la mme valeur
exemple : 3 * 103 + 9,98 * 105 =
on dnormalise : 3 * 103 = 0,03 * 105
on additionne les mantisses : 0,03 + 9,98 = 10,01
on normalise : 10,01 * 105 = 1,001 * 106

Multiplications et divisions
on additionne ou on soustrait les exposants
on multiplie les mantisses
on normalise le rsultat

Nombre infini de valeurs dans un intervalle : codes avec


un nombre fini de bits problme de prcision (arrondi)

Codage des caractres


Caractres : symboles alphanumriques (& , . A 5 )
donnes non numriques (laddition na pas de sens)
comparaison ou tri utile
table de correspondance entre les nombres et les caractres

Code ASCII (American Standard Code for Information Interchange)


7 bits pour reprsenter les caractres (ASCII tendu = 8 bits)
0 (00) 31 (1F) : caractres spciaux : sauts, bips
48 57 : chiffres dans lordre (valeur = 4 bits de poids faible)
65 90 les majuscules et 97 122 les minuscules (on modifie le
5me bit pour passer des majuscules aux minuscules : +32)

En machine on accde aux mots par octet


ASCII tendu : caractres accentus
Compatibilit : ncessaire dexpliciter le codage utilis : iso-latin-1

Code ASCII
Un peu d'Arithmtique binaire
Table daddition :
0
+ 0
Somme
0
Retenue
0

0
+ 1
1
0

1
0
1
0

Addition de 2 nombres binaires :


Ret :

111
10100101
+
10111

Architecture des Ordinateurs et Systmes d'Exploitation

Ph. Leray

1
1
0
1

10111100

Architecture des Ordinateurs et Systmes d'Exploitation

Ph. Leray

Reprsentation des entiers naturels


Passage de la base 10 vers la base B:
divisions successives par B
22 / 2 = 11 (reste 0)
11 / 2 = 5
(reste 1)
5/2=2
(reste 1)
2/2=1
(reste 0)
1/2=0
(reste 1)

(22)10 = (10110)2

Passage de la base B la base 10 :


(X)B = (xn-1xn-2...x1x0)B = (xn-1* Bn-1 + xn-2 * Bn-2 + .. + x1* B + x0)10
ex: (10110)2 = 1 * 24 + 0 * 23 + 1 * 22 + 1 * 21 + 0 = 16 + 4 + 2 = (22)10

Architecture des Ordinateurs et Systmes d'Exploitation

Reprsentation des rels


(Virgule fixe)
Mme mthode pour la partie entire
On garde la virgule
La partie dcimale se dcompose en puissances ngatives de 2

Ex : (0,75)10 = ?
0,75 * 2 = 1,5
(on garde 1, reste 0,5)
0,5 * 2 = 1,0
(on garde 1 , reste 0 : termin)
(0,75)10 = (0,11)2 = 1 * 2 -1 + 1 * 2-2 ( = 0,5 + 0,25)

Ex : (0,65) 10 = ?
0,65 * 2 = 1,3
(1)
0,3 * 2 = 0,6
(0)
0,6 * 2 = 1,2
(1)
0,2 * 2 = 0,4
(0)
(0,65)10 = (0,101001)2

0,4 * 2 = 0,8
0,8 * 2 = 1,6
0,6 ...

Architecture des Ordinateurs et Systmes d'Exploitation

(0)
(1)

Ph. Leray

Codage des nombres


Codage = reprsentation avec un nombre limit de bits.
Problme de dpassement de capacit
Exemple pour les entiers naturels :
Reprsentation
10101010
+ 11000000
101101010

(170)
(192)
(362)

Codage sur 8 bits


10101010
+ 11000000
?1 01101010

362 est un entier trop grand pour tre cod sur 8 bits

Architecture des Ordinateurs et Systmes d'Exploitation

Ph. Leray

Codage des entiers relatifs 1/3


Problme = reprsenter le signe
Premire mthode : signe ("+" = 0, "-" = 1) + valeur absolue
ex: codage de (-22)10 sur 8 bits (1 bit de signe + 7 bits)
=
1 0 0 1 0 1 1 0
signe

Avantage : facile lire pour l'utilisateur


Problmes :
2 reprsentations possibles pour 0 (+0 et -0)
comment additionner 2 nombres de signe diffrent ?

Architecture des Ordinateurs et Systmes d'Exploitation

Ph. Leray

Codage des entiers relatifs 2 /


Seconde
3 mthode : complment 2
technique de passage de X -X (en complment 2) =

+22
on part de X :

+1
0 0 0 1 0 1 1 0

0 0 0 0 0 0 0 1

on complmente : (0 devient 1, et inversement)


on ajoute 1 :

1 1 1 0 1 0 0 1
-22
1 1 1 0 1 0 1 0

Inconvnient : plus difficile interprter


Avantages :
un seul codage pour 0
pas de problme d'addition

1 1 1 1 1 1 1 0
-1
1 1 1 1 1 1 1 1

1 + (-1) = ??
"Signe + valeur absolue"
1

Retenues

Complment 2
1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 1
+

1 0 0 0 0 0 0 1
1 0 0 0 0 0 1 0

Lalgorithme daddition
n est pas adapt ce
codage

0 0 0 0 0 0 0 1
+

1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0

Lalgorithme daddition pour les


entiers naturels marche aussi
pour le codage en complment 2

Codage des rels (IEEE 754) 1 /


(Virgule flottante)
2
Codage sur 32 bits (simple), 64 (double) ou 80 (tendue)
inspir de la notation scientifique (ex : +1,05 x 10-6)
Ex en simple prcision :
1

23

X = (-1)S * 1,M * 2E-127


ex:

X = (-1,5)10

avec 0 < E < 255


(S=1; M=0,5; E=127)

X = 1 01111111 1000000

Cas particuliers :

0
NaN

(M=0, E=255)
(M=0, E=0)
(M0, E=255)

(rsultat dun div/0,...)


(impossible dcrire 0 sous la forme 1,M*2E-127)
(le rsultat nest pas un nombre : /

Les dpassements de capacit :

X-max

X-min 0 X+min

(1) dbordement suprieur ngatif


(2) dbordement infrieur ngatif
(3) dbordement infrieur positif
(4) dbordement suprieur positif

, ...)

X+max

Codage des caractres (code ASCII) 1 /


2Ide = associer un nombre un caractre

Codage ASCII (American Standard Code for Information Exchange) =


7 bits (donc 128 possibilits)
Les caractres 0 (00) 31 (1F) sont des caractres spciaux
saut de ligne, tabulation, beep ...
Les caractres 32 (20) 127 (7F) reprsentent :
les minuscules
les majuscules
les signes de ponctuation

Table des codes ASCII (hexadcimal)


00 NUL
08 BS
10 DLE
18 CAN
20 SP
28 (
30 0
38 8
40 @
48 H
50 P
58 X
60 `
68 h
70 p
78 x

01 SOH
09 HT
11 DC1
19 EM
21 !
29 )
31 1
39 9
41 A
49 I
51 Q
59 Y
61 a
69 i
71 q
79 y

02 STX
0A NL
12 DC2
1A SUB
22 "
2A *
32 2
3A :
42 B
4A J
52 R
5A Z
62 b
6A j
72 r
7A z

03 ETX
0B VT
13 DC3
1B ESC
23 #
2B +
33 3
3B ;
43 C
4B K
53 S
5B [
63 c
6B k
73 s
7B {

04 EOT
0C NP
14 DC4
1C FS
24 $
2C ,
34 4
3C <
44 D
4C L
54 T
5C \
64 d
6C l
74 t
7C |

05 ENQ
0D CR
15 NAK
1D GS
25 %
2D 35 5
3D =
45 E
4D M
55 U
5D ]
65 e
6D m
75 u
7D }

06 ACK
0E SO
16 SYN
1E RS
26 &
2E .
36 6
3E >
46 F
4E N
56 V
5E ^
66 f
6E n
76 v
7E ~

Architecture des Ordinateurs et Systmes d'Exploitation

07 BEL
0F SI
17 ETB
1F US
27 '
2F /
37 7
3F ?
47 G
4F O
57 W
5F _
67 g
6F o
77 w
7F DEL

Ph. Leray

La couche physique
De la porte logique au chemin de donnes

Architecture des Ordinateurs et Systmes d'Exploitation

Ph. Leray

Architecture des Ordinateurs et Systmes d'Exploitation

Ph. Leray

Portes logiques
= Composants de base d'un ordinateur
Porte

Symbole

NOT

In

AND

Out

Fonction
Out = In
Out = A.B

OR

Out = A+B

XOR

Out = AB

Table de Vrit
In Out
0
1
1
0
A B Out
0 0
0
0 1
0
1 0
0
1 1
1
A B Out
0 0
0
0 1
1
1 0
1
1 1
1
A B Out
0 0
0
0 1
1
1 0
1
1 1
0

Architecture des Ordinateurs et Systmes d'Exploitation

Ph. Leray

NAND =
NOT AND
NOR =
NOT OR

Logique des propositions


Un peu d'algbre de Boole
A+0 =A
0
A+1=1
AA + A = A
=A
A+A=1
=0
AB = A + B

A.0=
A.1=
A.A

A.A

A+B=A.B

Morgan)

A=A
A + (A.B) =
A A + (AB) = A + B
A (A +
B) = A (A+B)(A+B) = A+B

(thormes de

Logique des propositions


AB = AB +
AB

Algbre de Boole et circuits logiques


Proposition = nonc vrai ou faux
a : les lves sont prsents
b : le professeur est prsent
cours si a et b

Combinaison par des connecteurs


(non logique) (et logique) (ou logique non exclusif)
p
q
p q

p q

V
F

Logique des propositions


tables de vrits

Notion ensembliste
R

ab

a
a
a
b
R

Passage lalgbre de Boole


Il y a dautres connecteurs et quelques lois dans la logique des
propositions : a b = (a b)
a

a b

a b

(a b)

Georges Boole a exprim la


logique des propositions en
termes algbriques
Claude Shannon a propos :
V = 1 et F = 0

a b a
a b b a.b
a a 1 a

Algbre de Boole
Il existes 16 fonctions deux variables : toutes ne sont pas
intressantes

1
1

ab ab

ab

ab

a b

a b

Ou exclusif ou xor

a b ab

Non ou ou nor

Non et ou nand

Algbre de Boole

ab ab

Oprations de base
Toutes les fonctions peuvent sexprimer laide des trois
oprations logiques et, ou, non
Avec n variables on peut construire 2n fonctions
Une fonction trois variables peut se dcompose en deux
f(a,b,c) = f(0,b,c) si a=0 et f(a,b,c) = f(1,b,c) si a=1
f(a,b,c) = a.f(1,b,c) + a.f(0,b,c)
groupe logique complet = ensemble de fonction partir desquels
il est possible de raliser toutes les fonctions {et,ou,non}
Fonctions n variables dcomposables et fonctions 2 variables
exprimable avec {et,ou,non} rcurrence

Lalgbre de Boole se construit sur les boolens partir des


trois oprations internes : +, * et

Thormes et axiomes (1)


Thorme des constantes

a0
a
a1
1

a0
0

a0a

a 1
a

a 1 a

aa
a

aa0

Idempotence

aa
a
Complmentation

aa
1

aa
0

aa1

Commutativit
Thormes
et axiomes (2)

a b
b
a

a b
b a

a ba
b

Distributivit

a (bc) (a b)(a c)
a(b c) ab ac
Associativit

a (b (a b) a b c
c)
c
a(bc) (ab)c abc
Thorme de De Morgan

ab a b
abab

Table de vrit et quation


Pour concevoir un circuit, il faut le modliser.
on utilise une table de vrit
on obtient une quation quon simplifie (algbrique ou Karnaugh)
on trace le schma lectrique du circuit
lments constitutifs dun ordinateur : exclusivement portes nand
ou bien nor (systme complet)

Table de vrit : prsente toutes les combinaisons possibles


des n entrs (2n lignes) et les tats de sortie correspondant
Une fois la table de vrit crite, il faut la transformer en
quation logique
somme (fonction ou) de produit (fonction et)

quation : exemple
a

F(a,b)

F(a,b)=1 si

a=0 et b=0 soit a=1 et b=1 donc si a.b=1


a=1 et b=0 soit a=1 et b=1 donc si a.b=1
a=1 et b=1 donc si a.b=1
F(a,b) = a.b+a.b+a.b

Simplification algbrique
de lquation

F (a, b) a.b a.(b b)


F (a, b) a.b a
F (a,
b)

((a.b).a)
(a b).a

F (a,
b)
F (a, b) a.a b.a

F (a, b)
b)
F (a, b)
F (a,

b.a

quation : exemple

b ba
a

Diagrammes de Karnaugh
Table de Karnaugh : principe
dpart : somme de produits o chaque produit doit contenir
toutes les variables : (a+a)b = b
chaque colonne diffre de sa voisine dun seul littral
les tables de Karnaugh sont deux dimensions : on regroupe
des variables
on regroupe les 1 en morceaux rectangulaires
1.
2.
3.
4.

plus grands morceaux possibles


moins de morceaux possibles
nouveau morceau que sil permet de regrouper des 1 non
encore regroups
la ligne du haut et du bas ainsi que colonne de droite et de
gauche sont adjacentes

Morceau = produit de variable : variable et son inverse dans le


mme morceau = limination de la variable

Karnaugh : exemple n1
F (a, b) a.b a.b a.b

b
1

b
1

F (a, b) b a

F (a,
b)

a.b.c ab abc

F (a,
b)

a.b.c ab(c c) abc

F (a,
b)

abc abc abc abc

bc
1

bc
1

bc
1

bc
0

F (a, b) ac bc

Portes et circuits logiques


Un ordinateur travaille en base 2
lectroniquement 0 correspondait une tension de 0 0,8V
et 1 une tension de 2,8 2,5V (tensions donnes par les
constructeurs de composants)
Toute fonction binaire peut tre reprsente par une
expression boolenne
Tout circuit lectrique ou lectronique deux valeurs de
tension peut tre reprsent par une expression boolenne

Prfrable de reprsenter les circuits par des symboles


logiques et non par des expressions boolennes
Correspondance entre les diffrentes fonctions logiques (+,*) et
des symboles appels portes logiques

Portes logiques
NON

OU

ab

ET

ab

OU
exclusif
XOR

a b