Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery...

35
Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery [email protected]

Transcript of Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery...

Page 1: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Architecture des Ordinateurs

Représentation des données et calcul

Patrice [email protected]

Page 2: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Rappels :

Les ordinateurs sont des systèmes numériques : Les signaux électriques analogiques sont interprétés

en tant que valeurs numériques. Logique positive :

Une tension haute =1, Une tension basse = 0 Logique négative :

Une tension basse =1, Une tension haute =0 2 états possibles = système binaire

Chaque état binaire est appelé 1 Bit (BInary digiT)

Page 3: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

SystèmesBinaire, Décimal, Hexadécimal Système Décimal (Base 10)

10 valeurs possibles (0,1,2,3,4,5,6,7,8,9) Somme de multiples des puissances de 10. Ex : 1543 =(1x103)+(5x102)+(4x101)+(3x100) soit

(1x1000)+(5x100)+(4x10)+(3x1)

Système Binaire (Base 2) 2 états possibles ( 0 et 1) Somme de multiples des puissances de 2. Ex : 1011=(1x23)+(0x22)+(1x21)+(1x20)

soit (1x8)+(0x4)+(1x2)+(1x1)

Système Hexadécimal 16 valeurs possibles (0 à 9 puis A,B,C,D,E,F) Somme de multiples des puissances de 16 Ex : 5C = (5x161)+(12x160) soit (5x16)+(12x1)

Page 4: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Addition

1

1 0 0 1

0 1 0 1

1 1 1 0

Retenue de l’addition du Bit de poids faible

Exemple d’addition binaire

Page 5: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Addition Circuit utilisé : L’additionneur complet

Entrée 1Entrée 2

Retenue Sortie Retenue Entrée

RésultatBit de Sortie

Page 6: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Addition Additionneurs 8 Bits

Bits 7 Bits 6 Bits 5 Bits 4 Bits 3 Bits 2 Bits 1 Bits 0Entrées Entrées Entrées Entrées Entrées Entrées Entrées Entrées

SortieBit 7

SortieBit 6

SortieBit 5

SortieBit 4

SortieBit 3

SortieBit 2

SortieBit 1

SortieBit 0

0Dépassement Ret. Ret. Ret. Ret. Ret. Ret. Ret.

Page 7: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Addition Délai de Traitement

Chaque additionneur complet ne peut effectuer sa partie de calcul que lorsque les additionneurs à sa droite ont terminés.

Page 8: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Multiplication

1 0 1 1

x 0 1 0 1

1 1 0 1 1

0 0 0 0

1 0 1 1

+ 0 0 0 0

0 1 1 0 1 1 1

Retenue de l’addition

Exemple de Multiplication Binaire

Page 9: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Multiplication Problèmes :

Le produit de deux nombres à n bits peut requérir jusqu’à 2n Bits.

Il faut donc gérer le dépassement.

Page 10: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Dépassement / Dépassement Négatif Lorsqu’une opération génère un résultat qui

ne peut être exprimée au format de son opérande d’entrée.

La largeur de Bit d’un ordinateur va donc fixer des seuils négatifs et positifs aux nombres qui peuvent être représentés sous formes d’entiers Ex: Pour 8 Bits on peut représenter la valeur maximum

de 28-1 soit 255 (Entiers non signés).

Page 11: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Soustraction Oblige à utiliser des nombres signés. Utilise la notation en « Complément à deux »

Rend négative la seconde entrée L’additionne à la première

Fonctionne donc ensuite avec des additionneurs complet

Page 12: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Division Implémentation théorique :

Soustraire de manière répétitives le diviseur au dividende.

Compter le nombre de fois ou la soustraction a été opérée avant que le dividende ne deviennent plus petit que le diviseur

Ex : 15/5. 15-5=10, 10-5=5 ,5-5 =03 soustractions ont eu lieu avant que le résultat soit inférieur à 5.

Inconvénient : Le nombre de soustractions devient rapidement énorme et demande donc un délai de traitement en conséquence.

Page 13: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Opérations arithmétiques :Division Implémentation pratique :

On utilise des tables prégénérées. Ceci réduit le nombre de cycles nécessaires à

l’opération. La division reste tout de même l’opération

arithmétique la plus longue à réaliser sur un ordinateur.

Page 14: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers Négatifs

Arithmétique signée. Les nombres signés peuvent être négatifs ou positifs.

2 Méthodes de représentation :

Le signe valeur absolue La notation en complément à deux

Page 15: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsLe signe valeur absolue (Bit de signe) Le bit de poids fort du nombre binaire indique

s’il est positif ou négatif : Si = 0 le nombre est positif Si = 1 le nombre est négatif

Un nombre de n bits peut donc représenter des quantités de –(2n-1-1) à +(2n-1-1).

Ex pour 8 Bits de -127 à +127. Le 0 à deux représentations : +0 et -0

Page 16: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsLe signe valeur absolue (Bit de signe) Avantage :

Il est facile de calculer l’opposé d’un nombre. Il est facile de déterminer si le nombre est

négatif ou positif. Facilite la multiplication et la division

Inconvénient : Complique l’addition et la soustraction. Entraîne une complication des circuits

logiques.

Page 17: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsNotation en complément à deux Les nombres positifs sont codés de la même

façon qu’en notation «signe - valeur absolue»

Les nombres négatifs sont représentés en inversant chaque bit de la représentation positive du nombre et en ajoutant 1 au résultat ( En abandonnant tous les bits de dépassement).

Page 18: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsNotation en complément à deux Exemple : 14 codé sur 8 bits : 00001110 Son opposé sera alors :

Inversion des bits : 11110001 Ajout de 1 : 11110010

Résultat pour -14 : 11110010

(Le résultat intermédiaire 11110001 est appelé complément à 1)

Page 19: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsNotation en complément à deux L’appellation complément à deux vient du fait

que la somme d’un nombre de n bits et de son opposé dans ce format est égale à 2n.

Ex : 0100 (n=4), complément à deux 1100.

0100 + 1100 = 10000 soit 24 = 16

Page 20: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsNotation en complément à deux Avantages :

Le signe d’un nombre est déterminé par le bit de poids fort. 1 pour négatif, 0 pour positif.

Lorsque l’on calcule l’opposé d’un nombre à deux reprises on retombe sur le nombre d’origine.

Il n’y a qu’une seule représentation du 0 L’addition des représentations positive et négative d’un

nombre donne le bon résultat dans cette même notation. La soustraction peut alors être traitée comme l’addition d’un nombre négatif.

Page 21: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsNotation en complément à deux Exemples :

Addition de +14 et -14

00001110 + 11110010 = (1)00000000

soit 0 en limitant le résultat à 8 bits.

Soustraction (4-3) sur 4 bits : 4 + (-3)

0100 + 1101 = (1)0001 = 0001 soit 1

Page 22: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Entiers NégatifsNotation en complément à deux Inconvénient :

Complique la multiplication car le résultat d’un produit de nombre en complément à deux ne donne pas le bon résultat.

Un codage intermédiaire ( recodage de Booth) est donc employé pour convertir rapidement les nombres en complément à deux avant de les multiplier.

Page 23: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesReprésentation Représentation des valeurs fractionnelles Représentation des nombres qui sortent de

l’intervalle de représentation du système (largeur de bits)

Représentation normalisée par le standard IEEE 754.

Les nombres sont représentés par une mantisse et un exposant :

mantisse x 2exposant

Page 24: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesMode d’arrondi Arrondi à la valeur la plus proche. Le chiffre le moins significatif du résultat doit

être pair en cas de litige. Exemples : Arrondis à 2 chiffres

1,345 donne 1,3 78,953 donne 79 12,5 donne 12 13,5 donne 14

Page 25: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Le standard IEEE 754 spécifie 2 plusieurs largeurs de bits. Les plus couramment utilisées sont appelées : Simple précision (32 bits) Double précision (64 bits)

Elles définissent les formats d’encodage des nombres en précisant les bits réservés à la fraction et à l’exposant, ainsi qu’au signe.

Nombres à virgule flottantesLargeur de bits

Page 26: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesSimple Précision

1 8 23Signe Exposant Fraction

• Le champ de fraction représente la portion fractionnelle d’un nombre binaire dont la portion entière est supposée être 1.• La mantisse d’un nombre en virgule flottante est donc :

+1, fraction ou -1,fraction

• Le champ Exposant utilise une représentation biaisée. Une valeur est ajouté à la valeur pour déterminer sa représentation. En simple précision le biais est de 127, ainsi la valeur du champ d’exposant doit être calculé en soustrayant 127 du nombre non signé contenu dans le champ.

Page 27: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesChamp de fraction La représentation des nombres binaires fractionnaires utilise les

mêmes positions que le système décimal. 11,111 = 21+20+2-1+2-2+2-3 = 3,875

(2-1=0,5 , 2-2=0,25 , 2-3=0,125 etc …)

6,25 = 22+21+2-2 = 110,01 Pour trouver le champ de fraction, il faut décaler la

représentation de manière à ce que la valeur à gauche de la virgule corresponde à 1. Ce qui donne : 1,1001 pour l’exemple 6,25La vraie valeur étant 1,1001 x 22

On étant ensuite le champ à 23 bits en complétant avec des 0 ce qui donne :1001 0000 0000 0000 0000 000

Page 28: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesChamp de fraction Exemple pour 4,75

Binaire : 22 + 2-1 + 2-2 soit 100,11 Décalage : 1,0011 x 22

Fraction : 0011 0000 0000 0000 000

Page 29: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesChamp d’exposant Le biais est de 127 en simple précision. Exemple pour 4,75 le fractionnement était :

1,0011 x 22 . L’exposant est donc égal à 2. Il sera représenté par : 2 + 127 = 129 soit en

binaire non signé : 10000001 4,75 sera donc codé en simple précision par :

010000001001100000000000000000000 représentant le signe en notation « signe-valeur absolue »

Page 30: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesDécodage 0 10000000 11000000000000000000000

Donne :

Signe : 0 = Positif (+)

Exposant : 10000000 = 128

128 – 127 = 1 donc 21

mantisse : 11 donc 1,11 en binaire

20 + 2-1 + 2-2 = 1,75

Le nombre est donc : 1,75 x 21 = + 3,5

Page 31: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesDouble Précision

1 11 52

Signe Exposant Fraction

Le biais pour le champ exposant est de 1023

Page 32: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantes0 et Dépassements Le 0 est représenté de manière normalisé par

un exposant à 0 et un champ de fraction à 0. On ne tient alors pas compte du 1 implicite de la fraction.

En cas de dépassement de la largeur de bits, la norme IEEE prévoit l’utilisation de normes spécifiant si le nombre est infini ou NaN ( Not a Number).

Page 33: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Nombres à virgule flottantesOpérations arithmétiques Les opérations avec les virgules flottantes

sont similaires aux opérations utilisés dans les notations scientifiques et utilisent les mêmes techniques:

Multiplication des mantisses Addition des exposants Décalage des produits et arrondi

Page 34: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Conclusion

La représentation des nombres que ce soit en entier ou en virgules flottantes est limitée par la largeur de bit que propose le système (Le processeur)

Le choix des circuits logiques à employés dépend des types d’opérations à effectuer.

La vitesse de calcul est fortement influencée par les choix effectués en termes de représentation des nombres et en type d’opération.

Page 35: Architecture des Ordinateurs Représentation des données et calcul Patrice Gommery p.gommery@iut-troyes.univ-reims.fr.

Ressources :

Architecture de l’ordinateur (P.Carter)Collection EdiScience chez Dunod

Cours d’Assembleur sur :www.developpez.com