architecture des ordinateurs et systèmes d

115
Un peu 1643 (Pascal) Premières machines à calculer Peu de progrès jusqu'au XX siècle 1940 (ENIAC 1943-46 : 30 t, 160m 2 ) Technologie = Tubes à vide (18.000) et commutateurs (6.000) 1958 La révolution du transistor Ex: CDC 1604 (25.000 transistors) 1965 Les mini-ordinateurs (IBM System/360?) Circuit Intégré = 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

Upload: anonymous-wpl47bwu4

Post on 15-Jul-2016

11 views

Category:

Documents


4 download

DESCRIPTION

excellent

TRANSCRIPT

Page 1: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire1643 (Pascal)

– Premières machines à calculer – Peu de progrès jusqu'au XX siècle

• 1940 (ENIAC 1943-46 : 30 t, 160m2)– Technologie = Tubes à vide (18.000) et commutateurs (6.000)

• 1958 La révolution du transistor– Ex: CDC 1604 (25.000 transistors)

• 1965 Les mini-ordinateurs (IBM System/360?)– Circuit Intégré = 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)

1ère génération (~1950)    

Page 2: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire- Ordinateur        

Ensemble de tubes (~20 000) Chargement manuel par le programmeur à l’aide d’interrupteurs L’utilisateur exécute son programme immédiatement après le chargement Pas de SE         - Inconvénients  

Très encombrant Très lent Très peu fiable  

2ème génération     Ordinateurs “mainframes”          

Page 3: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire

Traitement par lots (cartes perforées) L’enchainement des lots est décrit par une carte perforée spéciale (carte de

contrôle) Le SE se limite à un moniteur résident qui enchaine les lots     - Inconvénients    

Lent Non interactif       

Mono-programmation

Page 4: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire         

  

E/S tamponnées   - Utilisation d’unités d‘échange (UE) capables :    

de fonctionner simultanément avec l’UC (asynchronisme) de transférer des tampons = blocs d’octets Exécution pgm i    // lecture pgm i+1

Page 5: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire Les cartes sont lues par l’UE et stockées dans des tampons (buffers) d’entrée L’UC lit les données dans le tampon d’entrée et produit le résultat dans un tampon

de sortie                       

Contraintes : Il faut gérer la synchronisation d’accès aux tampons

Ecrire (tampon) => tampon vide Le périphérique peut être particulièrement lent La place mémoire utilisée peut être grande

Page 6: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire   

E/S Spoolées                   

Tampons supplémentaires en mémoire secondaire (files d’attente de données à lire ou à écrire sur un périphérique lent)

SPOOL = simultaneous peripheral operations on-line Spooling d'impression : documents à imprimer chargés dans un tampon en

mémoire secondaire, "aspirés" par l'imprimante selon sa propre vitesse   

3ème génération (1960/1970)  - Systèmes multi-programmés  

Page 7: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire

Plusieurs tâches en mémoire simultanément Multiplexage du processeur entre les tâches Perte du processeur lors des E/S  - Avantages   

Meilleure utilisation de l’UC

Page 8: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire   - Inconvénients    

Complexité Taille de mémoire grande Partage et protection des ressources           

Multi-programmation        

Page 9: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire          

Multi-programmation et protection   

Éviter qu’une tâche puisse lire / écrire dans la zone mémoire affectée à une autre tâche

Éviter qu’une tâche puisse manipuler la zone réservée au système autrement que par les appels système

Éviter qu’une tâche puisse lire / écrire des données d’E/S d’une autre tâche  => Complexifie la gestion des ressources (mémoire, E/S, …)  

3ème génération (suite)  - Systèmes à temps partagé (1970)   

Partage du temps processeur entre les tâches

Page 10: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire Quantum de temps

Tâches en mémoire ou “swappée” sur disque Plus grand nombre de tâches Une mémoire plus grande allouée à chaque tâche

        - Avantages

Temps de réponse corrects pour tâches courtes, même en présence de tâches longues et non interactives

- Inconvénients  

Complexité L’utilisation du processeur peut être moins bonne     

Systèmes mono/multiprogrammés et temps partagé           

Page 11: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire

              

4ème génération (après 1970)      

Ordinateurs personnels Architectures spécialisées Systèmes répartis             

Ordinateurs personnels Initialement

Page 12: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire Mono-tâches (MS/DOS, Windows3/11) Dédiés à un utilisateur Pas de protection / sécurité Très interactifs Très conviviaux

Evolution Multi-tâches (MacIntosh, Windows NT/2000/XP, Unix, Linux) Multi-utilisateurs Connections réseaux (exploitation dans les systèmes répartis)

        

Systèmes parallèles multiprocesseurs     

SMP (Symetric Multi Processeurs) Systèmes généralistes (serveurs BD, Web, SI, NFS, …) Processeurs standards Partage total de la mémoire

Machines de calcul parallèles Architectures spécialisées

Processeurs spécifiques pour le calcul vectoriel

Page 13: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire Réseaux spécialisés Partage total ou partiel de la mémoire (bancs)

           

        

Systèmes clustérisés       

Plusieurs noeuds (= machines) partageant un disque (share disk) ou bien ne partageant rien (share nothing)

Page 14: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire Un nœud est également appelé un serveur

Connectés par un réseau spécialisé (SCI, Ethernet, …) Invention des réseaux locaux à haut débit (Local Area Network) Échanges rapides de données de grandes taille

3 caractéristiques : Montée en charge Passage à l’échelle (extensibilité / scalability) Haute disponibilité (serveurs back-up)

                

Systèmes à Haute Disponibilité            

Haute disponibilité Temps d’indisponibilité < 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)

   

Systèmes Clustérisés

Page 15: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire          

         

Systèmes Distribués / Répartis      

Distribution de l’exécution sur un ensemble de serveurs distants En général, pas de mémoire / disque  partagé Pas de matériel spécifique Pas d’état global

Applications multi-usagers / multi-localisations

Page 16: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire Télé-conférence, commerce électronique, SI, … Évolution dynamique des serveurs Données distribuées et partagées

        

Couverture du terme système réparti

Englobe maintenant : Architectures distribuées fortement couplées :

Systèmes parallèles multi-processeurs Architectures clusters

Architectures distribuées faiblement couplées Grilles de calcul Grilles d'entreprises Architectures pair à pair Applications Web

    

Motivations pour les systèmes répartis

Page 17: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire  

Partage de ressources sur le réseau : Processeur, mémoire, serveurs Code mobile Données mobiles

Potentiel : Disponibilité Montée en charge Passage à l’échelle

        

Systèmes Temps-réel            

Contraintes temporelles Temps d'exécution bornés

Utilisés dans des situations spécifiques systèmes d’imagerie médicale, systèmes de contrôle industriel, robotique,

Page 18: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire …

Hard real-time systems Peu ou pas de mémoire secondaire Pas de temps-partagé Temps de commutation très court SE complètement spécifique

Soft    real-time Systems Utilisés dans les applications multimédia, réalité virtuelle Contraintes de temps plus souples Gestion de priorités de tâches Gestion spécifique de la mémoire

          

Systèmes « handled »                 

Personal Digital Assistants (PDAs) Téléphones cellulaires Systèmes d’exploitation spécifiques Contraintes :

Mémoire limitée

Page 19: Architecture Des Ordinateurs Et Systèmes d

Un peu d'histoire Processeurs lents Petits écrans Faible consommation d’énergie 

                       http://mrproof.blogspot.com/search/label/R%C3%A9seaux%20Informatique

Page 20: Architecture Des Ordinateurs Et Systèmes d

Architecture de base

Architecture des Ordinateurs et Systèmes d'Exploitation

• Idée de Von Neuman (1945), peu de changement depuis :

Unité de Commande = bus

Mémoire

Unité de TraitementEntrées

Sorties

Page 21: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes d'Exploitation

– Mémoire = stocke les informations et les programmes– UC = cherche les instructions en mémoire, les reconnait et indique à l'UT ce qu'elle doit effectuer– UT = assure les opérations élémentaires que demande l'UC (opérations logiques, arithmétiques, ...)– Bus = transfère les informations

Page 22: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes d'Exploitation

Représentation de l'Information

• Une information peut être représentée de plusieurs façons :ex : le chiffre quatre : 4 100 IV

• Représentation des nombresReprésentation usuelle = base 10 symboles = { 0,1,2,3,...9 }

1999 = 1 * 103 + 9 * 102 + 9 * 101 + 9

Représentations courantes en Informatique = bases 2, 8, 16. base 2 = binaire (représentation interne) un bit : { 0,1 } base 8 = octal { 0,1,2,3,...7 } base 16 = héxadécimal { 0,1,2,3,...9,A,B,C,D,E,F }

Page 23: Architecture Des Ordinateurs Et Systèmes d

NumérationNumération enen basebase bb

Architecture des Ordinateurs et Systèmes d'Exploitation

Représentation et codage des données

Numérotation romaine

MCMXCIX : M vaut toujours 1000, C vaut 100…

Numérotation arabe : représentation positionnelle

la rang de chaque chiffre indique son poids dans 1999 le 9 le plus à droite vaut 9, le deuxième 90… la valeur d’un chiffre dépend de sa position

Représentations courantes des nombres

plusieurs bases : XXXb indique que le nombre XXX est écrit en base b représentation usuelle : base 10 représentations courantes en informatique : bases 2 (binaire, interne), 8 (octal) et 16 (hexadécimal)

Page 24: Architecture Des Ordinateurs Et Systèmes d

NumérationNumération enen basebase 2,2, 8,8, 1010 etet 1616

Architecture des Ordinateurs et Systèmes d'Exploitation

Bases ai ∈ {Chiffres}b = 2 ou Binaire 0,1b = 8 ou Octal 0,1,2,3,4,5,6,7

b = 10 ou Décimal 0,1,2,3,4,5,6,7,8,9b = 16 ou Hexadécimal 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-1…a1a0 a0 est le chiffre des unités

Page 25: Architecture Des Ordinateurs Et Systèmes d

Bases Exemples2 ou Binaire 10012 = 910

8 ou Octal 1428 = 9810

10 ou Décimal 12810

16 ou Hexadécimal E2A116 = 5801710

Architecture des Ordinateurs et Systèmes d'Exploitation

NumérationNumération :: exemplesexemples

Pour les bases supérieures à 10 on peut également introduire des symboles séparateurs :

système sexagésimal : longitude = 2°20’14’’

Exo1

Page 26: Architecture Des Ordinateurs Et Systèmes d

ChangementChangement dede basebase :: bb àà 1010

Architecture des Ordinateurs et Systèmes d'Exploitation

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…

Page 27: Architecture Des Ordinateurs Et Systèmes d

IntervalleIntervalle d’und’un nombrenombre dede nn chiffreschiffres

Architecture des Ordinateurs et Systèmes d'Exploitation

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

Page 28: Architecture Des Ordinateurs Et Systèmes d

Kilo,Kilo, Méga,Méga, TeraTera

Architecture des Ordinateurs et Systèmes d'Exploitation

On utilise souvent en informatique Kilo, Mega at Tera.

traditionnellement un Kilo vaut 1000 : 1Km = 1000m en base 2, 1000 n’est pas une puissance de 2, on prend la valeur immédiatement supérieure

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

Page 29: Architecture Des Ordinateurs Et Systèmes d

ChangementChangement dede basebase :: 1010 àà bb

Architecture des Ordinateurs et Systèmes d'Exploitation

Algorithme des divisions successives

on divise le nombre par la base puis le quotient par la base ainsi de suite jusqu’à obtention d’un quotient nul la suite des restes correspond aux chiffres dans la base visée on obtient en premier le bit de poids faible et en dernier le bit de poids fort

Pour convertir un nombre d’une 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

Page 30: Architecture Des Ordinateurs Et Systèmes d

BaseBase 1010 àà 22 etet 1616 :: exemplesexemples

Architecture des Ordinateurs et Systèmes d'Exploitation

conversion de 11(10) en base 2

11 2

conversion de 1023(10) en base 16

1023 16

1

ResteBit de poids 1

5 2

1 2 2

0 1

Bit de

15

Reste digit de poids

1Reste

digit de poids 16

63 16

15 3 16

3 0

Reste

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

Vérification :

poids 8

1023(10) = 3FF (16)

Vérification :

digit de poids256

1*1 + 1*2 + 0*4 + 1*8 = 11 3*16² + 15*16 + 15*1 = 1023

Page 31: Architecture Des Ordinateurs Et Systèmes d

ParticularitéParticularité :: basesbases 2,2, 88 etet 1616

Architecture des Ordinateurs et Systèmes d'Exploitation

Bases correspondant à des puissances de 2 : conversions très faciles

base 8 : découpage par blocs de 3 chiffres

001 010 011 101 1 2 3 5 = 12358

base 16 : découpage par blocs de 4 chiffres

0010 1001 1101 2 9 D = 29D16

Pour simplifier la notation binaire on utilise en informatique la notation hexadécimale

simplification de la lecture et écriture des adresses mémoires…

Page 32: Architecture Des Ordinateurs Et Systèmes d

OpérationsOpérations arithmétiquesarithmétiques

1 255+ 1 + 2551 1 0 retenu

1 1 0 510

F F 255 1 0 1+ F F + 255 1 0 1

Architecture des Ordinateurs et Systèmes d'Exploitation

Mêmes principes que ceux utilisés en base 10

1 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 e 1 0 1

1 1 1 1 1 1 A CX

ORR1

I0G1ER1 0 1

1 1 0 1 F E

retenue

510 1 1 0 0 1

Dans l’ordinateur, les opérations sont faites en base 2

Il existe aussi des opérations logiques (Cours n°3)

Page 33: Architecture Des Ordinateurs Et Systèmes d

TypesTypes d’informationsd’informations

Architecture des Ordinateurs et Systèmes d'Exploitation

Les nombres sont codés en binaire

Pour les nombres fractionnaires

on écrit la partie entière en binaire on garde la virgule la partie décimale se décompose en puissances négatives de 2

Exemple : 0,7510

0,75 * 2 = 1,5 (on garde 1 reste 0,5) 0,5 * 2 = 1 (on garde 1 reste 0 : terminé)

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

Les types d’informations directement traitées par un processeurs sont :

Page 34: Architecture Des Ordinateurs Et Systèmes d

TypesTypes d’informationsd’informations

Architecture des Ordinateurs et Systèmes d'Exploitation

Les données

entiers : entiers naturels et entiers relatifs flottants : décrivent les réels, simple et double précision caractères le codage de ces trois types est défini par des standards(normes spécifiées par des organisations internationales)

Les instructions

leur codage est spécifique d’un processeur

Page 35: Architecture Des Ordinateurs Et Systèmes d

L’informationL’information

Architecture des Ordinateurs et Systèmes d'Exploitation

Dans un ordinateur, l’information est numérisée (digitale)

L’information est la connaissance d’un état parmi un nombre fini d’états possibles Une information non numérisée est une information analogique : une grandeur physique continue (tension ou courant)

L’unité de mesure de l’information est le bit

un bit est la quantité d’information liée à la connaissance d’un état parmi deux un bit d’information peut être représenté par un digit binaire prenant les valeurs 0 ou 1 rappel : avec n bits, on peut représenter 2n états

Page 36: Architecture Des Ordinateurs Et Systèmes d

CodageCodage :: dépassementdépassement dede capacitécapacité

11

01

10

00

10

00

10

00

0 1 1 0 1 0 1 01

Architecture des Ordinateurs et Systèmes d'Exploitation

Codage = représentation avec un nombre limité de bits

Problème pour le dépassement de capacité

Exemple pour les entiers naturels

Représentation Codage sur 8 bits1 0 1 0 1 0 1 0

+ 1 1 0 0 0 0 0 0

1 0 1 1 0 1 0 1 0

170+ 192 +

362

362 est trop petit pour être codé sur 8 bits

Page 37: Architecture Des Ordinateurs Et Systèmes d

CodageCodage desdes entiersentiers naturelsnaturels

Architecture des Ordinateurs et Systèmes d'Exploitation

Entiers naturels (unsigned en C) codés sur un nombre d’octets fixé (un octet = 8 bits)

généralement 1, 2 (short en C) ou 4 (int ou long en C)

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

possibilités) : attentions aux dépassements (overflow)

deux possibilités : ignorer l’overflow (tourne) ou provoquer l’exécution d’une routine particulière

Nombre représenté en base 2, les bits sont rangés dansdes cellules correspondant à leur poids, on complète à gauche par des 0

128 64 32 16 8 4 2 1

0 0 0 0 1 1 0 1

Page 38: Architecture Des Ordinateurs Et Systèmes d

CodageCodage desdes entiersentiers relatifsrelatifs

Architecture des Ordinateurs et Systèmes d'Exploitation

Problème : coder le signe du nombre

Idée 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 représentations pour 0 : 0000 ou 1000 addition difficile alors que c’est l’opération la plus utilisée (extraction du signe, test pour faire une addition ou une soustraction, calcul du nouveau signe)

Pour simplifier l’addition on représente les entiers négatifs en complément à 2

Page 39: Architecture Des Ordinateurs Et Systèmes d

ComplémentComplément àà deuxdeux

Architecture des Ordinateurs et Systèmes d'Exploitation

La représentation de –x est obtenue par le complément à deux de x

on code en binaire sa valeur absolue on complémente (inverse) tous les bits on ajoute 1

Exemple : pour x = 22 sur 1 octet

X = 0 0 0 1 0 1 1 0 : on complémente 1 1 1 0 1 0 0 1 : on ajoute 1 -X = 1 1 1 0 1 0 1 0

Le premier bit d’un nombre indique son signe, s’il est négatif, son complément permet de retrouver sa valeur absolue

Page 40: Architecture Des Ordinateurs Et Systèmes d

ComplémentComplément àà 22 etet entiersentiers relatifsrelatifs

Architecture des Ordinateurs et Systèmes d'Exploitation

En machine les nombres négatifs sont directement codés en complément

soustraction : on complémente la deuxième opérande et on effectue une addition addition et soustraction : un seul circuit réalisant l’addition on ne considère pas le signe des nombres

Représentation non complètement symétrique : le plus petit nombre n’a pas d’opposé : sur n bits

le plus grand entier positif est 2n-1-1 le plus petit entier négatif est - 2n-1

Page 41: Architecture Des Ordinateurs Et Systèmes d

EntiersEntiers relatifsrelatifs :: exempleexemple

Architecture des Ordinateurs et Systèmes d'Exploitation

111 -1110 -2

101 -3

000

0

-4100

1 001

2 010

3 011

Algorithme d’addition traditionnel avec les deux méthodes1

0 0 0 0 0 0 0 1+ 1 0 0 0 0 0 0 1

1 0 0 0 0 0 1 0+1 –1 = -2 la méthode

simple du bit de signe ne fonctionne pas

retenue0 0 0 0 0 0 0 1

+ 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0+1 –1 = 0 la méthode du

complément à deux fonctionne

Page 42: Architecture Des Ordinateurs Et Systèmes d

CodageCodage desdes réelsréels :: virgulevirgule flottanteflottante

Architecture des Ordinateurs et Systèmes d'Exploitation

Par exemple codifié 3,25 qui s’écrit (11,01)2

première machine = virgule fixe : nombre séparé en deux parties(chiffres avant et après la virgule)

Depuis les années soixante : virgule flottante

flottant stocké sous la forme M * BE

M : Mantisse ; B : Base ; E : Exposant exemple : 123 . 103 = 123 000

Représentation IEEE 754 (signe 1 bit, exposant et mantisse sur32 ou 64 bits pour simple et double précision)

SM : signe de la mantisse : 1 bit Eb : exposant biaisé : 8 ou 11 bits M : Mantisse : 23 ou 52 bits SM Eb M

Page 43: Architecture Des Ordinateurs Et Systèmes d

MantisseMantisse etet exposantexposant

Architecture des Ordinateurs et Systèmes d'Exploitation

Signe : bit de poids fort (0 = + ; 1 = -)

Exposant

placé avant la mantisse pour simplifier les comparaisons (pour ceci il ne doit pas être représenté en complément à deux : 2-1 > 2) sans signe mais biaisé de 127 (simple précision) :

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

les exposants 128 (erreur) et 0 (nb dénormalisé) sont interdits

Mantisse

normalisée : bit de poids fort n’est pas 0 et un seul chiffre avant la virgule ex : 11,01 = 1,101 * 21

Page 44: Architecture Des Ordinateurs Et Systèmes d

ÉvaluationÉvaluation d’und’un réelréel

2Architecture des Ordinateurs et Systèmes d'Exploitation

SM Eb M

f1f2…fn

Comme le bit de poids fort de la mantisse est nécessairement 1 :on ne l’indique pas (gaspillage de place), il est implicite

Mantisse

partie fractionnaire = f1f2 …fn ⇒ m = 1,f1f2…fn

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

Exemple

x = (-2,5)10 = -1,01*21 (SM = 1 ; Eb = 1000 0000 ; M = 01)

Page 45: Architecture Des Ordinateurs Et Systèmes d

OpérationsOpérations

Architecture des Ordinateurs et Systèmes d'Exploitation

Additions et soustractions

il faut que les exposants aient la même valeur exemple : 3 * 103 + 9,98 * 105 = on dénormalise : 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 résultat

Nombre infini de valeurs dans un intervalle : codées avec un nombre fini de bits ⇒ problème de précision (arrondi)

Page 46: Architecture Des Ordinateurs Et Systèmes d

CodageCodage desdes caractèrescaractères

Architecture des Ordinateurs et Systèmes d'Exploitation

Caractères : symboles alphanumériques (& , . A 5 …)

données non numériques (l’addition n’a pas de sens) comparaison ou tri utile table de correspondance entre les nombres et les caractères

Code ASCII (American Standard Code for Information Interchange)

7 bits pour représenter les caractères (ASCII étendu = 8 bits) 0 (00) à 31 (1F) : caractères spéciaux : sauts, bips… 48 à 57 : chiffres dans l’ordre (valeur = 4 bits de poids faible) 65 à 90 les majuscules et 97 à 122 les minuscules (on modifie le5ème bit pour passer des majuscules aux minuscules : +32)…

En machine on accède aux mots par octet

ASCII étendu : caractères accentués… Compatibilité : nécessaire d’expliciter le codage utilisé : iso-latin-1

Page 47: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

CodeCode ASCIIASCIIUn peu d'Arithmétique binaire

• Table d’addition :0 0 1 1

+ 0 + 1 + 0 + 1Somme 0 1 1 0Retenue 0 0 0 1

• Addition de 2 nombres binaires :

Ret : 11110100101

+ 10111

Page 48: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

10111100

Page 49: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes d'Exploitation

Représentation des entiers naturels

• Passage de la base 10 vers la base B:divisions successives par B22 / 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

Page 50: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

Représentation des réels(Virgule fixe)

– Même méthode pour la partie entière– On garde la virgule– La partie décimale se décompose en puissances négatives 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,4 * 2 = 0,8 (0)0,3 * 2 = 0,6 (0) 0,8 * 2 = 1,6 (1)0,6 * 2 = 1,2 (1) 0,6 ...0,2 * 2 = 0,4 (0)➜ (0,65)10 = (0,101 00 1 )2

Page 51: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

Codage des nombresCodage = représentation av e c un nombre limité de bits .

• Problème de « dépassement de capacité »Exemple pour les entiers naturels :

Représentation Codage sur 8 bits

10101010 (170) 1 0 1 0 1 0 1 0+ 11000000 (192) + 1 1 0 0 0 0 0 0

101101010 (362) ? 1 0 1 1 0 1 0 1 0

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

Page 52: Architecture Des Ordinateurs Et Systèmes d

1 0 0 1 0 1 1 0

Architecture des Ordinateurs et Systèmes Ph. Leray

Codage des entiers relatifs 1/3• Problème = représenter le signe

• Première méthode : signe ("+" = 0, "-" = 1) + valeur absolue– ex: codage de (-22)10 sur 8 bits (1 bit de signe + 7 bits)=

signe

– Avantage : facile à lire pour l'utilisateur– Problèmes :

» 2 représentations possibles pour 0 (+0 et -0)» comment additionner 2 nombres de signe différent ?

Page 53: Architecture Des Ordinateurs Et Systèmes d

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

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

1 1 1 1 1 1 1 1

Codage des entiers relatifs 2 /3

Architecture des Ordinateurs et Systèmes Ph. Leray

• Seconde méthode : complément à 2technique de passage de X à -X (en complément à 2) =

+22 +1» on part de X :

» on complémente : (0 devient 1, et inversement)

» on ajoute 1 :-22 -1

1 1 1 0 1 0 1 0

– Inconvénient : plus difficile à interpréter– Avantages :

» un seul codage pour 0» pas de problème d'addition

Page 54: Architecture Des Ordinateurs Et Systèmes d

0 0 0 0 0 0 0 11 0 0 0 0 0 0 1

0 0 0 0 0 0 0 11 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0

Codage des entiers relatifs 3 /3

Architecture des Ordinateurs et Systèmes Ph. Leray

1 + (-1) = ??

"Signe + valeur absolue" Complément à 2

Retenues1 1 1 1 1 1 1 1 1

+ +

1 0 0 0 0 0 1 0

L’algorithme d’addition n ’est pas adapté à ce

codage

L’algorithme d’addition pour les entiers naturels marche aussi

pour le codage en complément à 2

Page 55: Architecture Des Ordinateurs Et Systèmes d

Codage des réels (IEEE 754) 1 /2

Architecture des Ordinateurs et Systèmes Ph. Leray

(Virgule flottante)

• Codage sur 32 bits (simple), 64 (double) ou 80 (étendue)• inspiré de la notation scientifique (ex : +1,05 x 10-6)• Ex en simple précision :

1 8 23

S E M

X = (-1)S * 1,M * 2E-127 avec 0 < E < 255

ex: X = (-1,5)10 (S=1; M=0,5; E=127)

X = 1 01111111 1000…000

Page 56: Architecture Des Ordinateurs Et Systèmes d

X X X X0

Codage des réels (IEEE 754) 2 /2

Architecture des Ordinateurs et Systèmes Ph. Leray

Cas particuliers :– ± (M=0, E=255) (résultat d’un div/0,...)

– 0– NaN

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

(impossible d’écrire 0 sous la forme 1,M*2E-127)

(le résultat n’est pas un nombre : / , ...)

Les dépassements de capacité :① ② ③ ④

-max

-min

+min

+max

– (1) débordement supérieur négatif– (2) débordement inférieur négatif– (3) débordement inférieur positif– (4) débordement supérieur positif

Page 57: Architecture Des Ordinateurs Et Systèmes d

Codage des caractères (code ASCII) 1 /2

Architecture des Ordinateurs et Systèmes Ph. Leray

• Idée = associer un nombre à un caractère

• Codage ASCII (American Standard Code for Information Exchange) =

– 7 bits (donc 128 possibilités)– Les caractères 0 (00) à 31 (1F) sont des caractères spéciaux

» saut de ligne, tabulation, beep ...– Les caractères 32 (20) à 127 (7F) représentent :

» les minuscules» les majuscules» les signes de ponctuation …

Page 58: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

Codage des caractères (code ASCII) 2 /2

Table des codes ASCII (hexadécimal)

00 NUL 01 SOH 02 STX 03 ETX 04 EOT 05 ENQ 06 ACK 07 BEL08 BS 09 HT 0A NL 0B VT 0C NP 0D CR 0E SO 0F SI10 DLE 11 DC1 12 DC2 13 DC3 14 DC4 15 NAK 16 SYN 17 ETB18 CAN 19 EM 1A SUB 1B ESC 1C FS 1D GS 1E RS 1F US20 SP 21 ! 22 " 23 # 24 $ 25 % 26 & 27 '28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F /30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 738 8 39 9 3A : 3B ; 3C < 3D = 3E > 3F ?40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G48 H 49 I 4A J 4B K 4C L 4D M 4E N 4F O50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W58 X 59 Y 5A Z 5B [ 5C \ 5D ] 5E ^ 5F _60 ` 61 a 62 b 63 c 64 d 65 e 66 f 67 g68 h 69 i 6A j 6B k 6C l 6D m 6E n 6F o70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w78 x 79 y 7A z 7B { 7C | 7D } 7E ~ 7F DEL

Page 59: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

Codage des caractères (code ASCII) 3 /2

La couche physiqueDe la porte logique au chemin de données

Page 60: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

Codage des caractères (code ASCII) 4 /2

Page 61: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

Porte Symbole Fonction Table de Vérité

NOT In Out Out = InIn Out0 11 0

AND A

BOut = A.B

A B Out0 0 00 1 01 0 01 1 1

OR Out = A+BA B Out0 0 00 1 11 0 11 1 1

XOR Out = A⊕BA B Out0 0 00 1 11 0 11 1 0

Codage des caractères (code ASCII) 5 /2

Portes logiques= Composants de base d'un ordinateur

NAND = NOT AND

NOR = NOT OR

Page 62: Architecture Des Ordinateurs Et Systèmes d

LogiqueLogique desdes propositionspropositions

Architecture des Ordinateurs et Systèmes Ph. Leray

Un peu d'algèbre de BooleA + 0 = A A . 0 = 0A + 1 = 1 A . 1 = A A + A = A A . A = A

A + A = 1 A . A = 0

AB = A + B A + B = A . B (théorèmes de Morgan)

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

Page 63: Architecture Des Ordinateurs Et Systèmes d

LogiqueLogique desdes propositionspropositions

p q p ∨ q p ∧ q

V V V V

V F V F

F V V F

F F F F

Architecture des Ordinateurs et Systèmes Ph. Leray

AB = AB + AB

Algèbre de Boole et circuits logiques Proposition = énoncé vrai ou faux

a : les élèves sont présents b : le professeur est présent cours si a et b

Combinaison par des connecteurs

(non logique) (et logique) (ou logique non exclusif)

p pV F

F V

Page 64: Architecture Des Ordinateurs Et Systèmes d

LogiqueLogique desdes propositionspropositions

Architecture des Ordinateurs et Systèmes Ph. Leray

tables de vérités

Page 65: Architecture Des Ordinateurs Et Systèmes d

Architecture des Ordinateurs et Systèmes Ph. Leray

NotionNotion ensemblisteensemblistea b

R R

a a b

aa b

R

a b

Page 66: Architecture Des Ordinateurs Et Systèmes d

PassagePassage àà l’algèbrel’algèbre dede BooleBoole

Architecture des Ordinateurs et Systèmes Ph. Leray

Il y a d’autres connecteurs et quelques lois dans la logique des propositions : a b = (a b)…

a b a b a ∧ b a ∨b (a ∨ b)

V V F F F V F

V F F V F V F

F V V F F V F

F F V V V F V

Georges Boole a exprimé la logique des propositions en termes algébriques

Claude Shannon a proposé :V = 1 et F = 0

a b ⇒a b ⇒a ⇒ a

a b a.b 1 a

Page 67: Architecture Des Ordinateurs Et Systèmes d

AlgèbreAlgèbre dede BooleBoole

Architecture des Ordinateurs et Systèmes Ph. Leray

Il existes 16 fonctions à deux variables : toutes ne sont pas intéressantes

a b a b a b ab ab a ⊕ b a ⊕ b0 0 0 1 0 1 0 1

0 1 1 0 0 1 1 0

1 0 1 0 0 1 1 0

1 1 1 0 1 0 0 1

Ou exclusif ou xor

Non ou ou nor

Non et ou nand

a b

a

b

ab

Page 68: Architecture Des Ordinateurs Et Systèmes d

AlgèbreAlgèbre dede BooleBoole

Architecture des Ordinateurs et Systèmes Ph. Leray

ab ab

Page 69: Architecture Des Ordinateurs Et Systèmes d

OpérationsOpérations dede basebase

Architecture des Ordinateurs et Systèmes Ph. Leray

Toutes les fonctions peuvent s’exprimer à l’aide des trois opérations logiques et, ou, non

Avec n variables on peut construire 2n fonctions Une fonction à trois variables peut se décomposée 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 réaliser toutes les fonctions {et,ou,non}… Fonctions à n variables décomposables et fonctions à 2 variables exprimable avec {et,ou,non} ⇒ récurrence…

L’algèbre de Boole se construit sur les booléens à partir des trois opérations internes : +, * et

Page 70: Architecture Des Ordinateurs Et Systèmes d

ThéorèmesThéorèmes etet axiomesaxiomes ((11))

Architecture des Ordinateurs et Systèmes Ph. Leray

Théorème des constantes

a 0 a

a 0 0

a 0 a

a 1 1

Idempotence

a 1 a

a 1 a

a a a

a a a

a a 0

Complémentation

a a 1

a a 0

a a 1

Page 71: Architecture Des Ordinateurs Et Systèmes d

ThéorèmesThéorèmes etet axiomesaxiomes ((22))

Architecture des Ordinateurs et Systèmes Ph. Leray

Commutativité

a b b a

a b

b a

a b

b a

Page 72: Architecture Des Ordinateurs Et Systèmes d

ThéorèmesThéorèmes etet axiomesaxiomes ((33))

Architecture des Ordinateurs et Systèmes Ph. Leray

Distributivité

a (bc)a(b c)

Associativité

(a b)(a c) ab ac

a (b c)

(a b) c

a b c

a(bc) (ab)c

abc

Théorème de De Morgan

ab a ba b a b

Page 73: Architecture Des Ordinateurs Et Systèmes d

TableTable dede véritévérité etet équationéquation

Architecture des Ordinateurs et Systèmes Ph. Leray

Pour concevoir un circuit, il faut le modéliser.

on utilise une table de vérité on obtient une équation qu’on simplifie (algébrique ou Karnaugh) on trace le schéma électrique du circuit

éléments constitutifs d’un ordinateur : exclusivement portes nand ou bien nor (système complet)

Table de vérité : présente toutes les combinaisons possibles des n entrés (2n lignes) et les états de sortie correspondant

Une fois la table de vérité écrite, il faut la transformer en équation logique

somme (fonction ou) de produit (fonction et)

Page 74: Architecture Des Ordinateurs Et Systèmes d

ÉquationÉquation :: exempleexemple

a b F(a,b)

0 0 1

0 1 0

1 0 1

1 1 1

Architecture des Ordinateurs et Systèmes Ph. Leray

Simplification algébrique de l’équation

F (a, b)

F (a, b)

a.b a.(b b)

a.b a

F(a,b)=1 si

F (a, b)

F (a, b)

((a.b).a)

(a b).a

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

a.a b.a

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

F (a, b)

F (a,

b)

F (a, b)

Page 75: Architecture Des Ordinateurs Et Systèmes d

ÉquationÉquation :: exempleexemple

Architecture des Ordinateurs et Systèmes Ph. Leray

b.a

b a

b a

Page 76: Architecture Des Ordinateurs Et Systèmes d

DiagrammesDiagrammes dede KarnaughKarnaugh

Architecture des Ordinateurs et Systèmes Ph. Leray

Table de Karnaugh : principe

départ : somme de produits où chaque produit doit contenir toutes les variables : (a+a)b = b

chaque colonne diffère de sa voisine d’un seul littéral les tables de Karnaugh sont à deux dimensions : on regroupe

des variables on regroupe les 1 en morceaux rectangulaires

1. plus grands morceaux possibles2. moins de morceaux possibles3. nouveau morceau que s’il permet de regrouper des 1 non

encore regroupés4. 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 même morceau = élimination de la variable

Page 77: Architecture Des Ordinateurs Et Systèmes d

KarnaughKarnaugh :: exempleexemple n°n°11

Architecture des Ordinateurs et Systèmes Ph. Leray

F (a, b)

a.b a.b a.b

b ba 1 1

a 0 1

F (a, b) b a

Page 78: Architecture Des Ordinateurs Et Systèmes d

KarnaughKarnaugh :: exempleexemple n°n°22

Architecture des Ordinateurs et Systèmes Ph. Leray

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 bc bc bca 1 1 1 0

a 0 0 1 0

Page 79: Architecture Des Ordinateurs Et Systèmes d

KarnaughKarnaugh :: exempleexemple n°n°33

Architecture des Ordinateurs et Systèmes Ph. Leray

F (a, b) ac bc

Page 80: Architecture Des Ordinateurs Et Systèmes d

PortesPortes etet circuitscircuits logiqueslogiques

Architecture des Ordinateurs et Systèmes Ph. Leray

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 données par les constructeurs de composants) Toute fonction binaire peut être représentée par une expression booléenne Tout circuit électrique ou électronique à deux valeurs de tension peut être représenté par une expression booléenne

Préférable de représenter les circuits par des symboles logiques et non par des expressions booléennes

Correspondance entre les différentes fonctions logiques (+,*…) et des symboles appelés portes logiques

Page 81: Architecture Des Ordinateurs Et Systèmes d

PortesPortes etet circuitscircuits logiqueslogiques

Architecture des Ordinateurs et Systèmes Ph. Leray

PortesPortes logiqueslogiques

NON a

OU a b

ET a b

OUexclusif a ⊕ b

XOR