Title: Architecture des Ordinateurs
1Architecture des Ordinateurs
- Représentation des données et calcul
Patrice Gommery p.gommery_at_iut-troyes.univ-reims.fr
2Rappels
- 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)
3Systè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)
4Opérations arithmétiques Addition
Retenue de laddition du Bit de poids faible
Exemple daddition binaire
5Opérations arithmétiques Addition
- Circuit utilisé Ladditionneur complet
6Opérations arithmétiques Addition
Entrées
Entrées
Entrées
Entrées
Entrées
Entrées
Entrées
Entrées
Bits 7
Bits 6
Bits 5
Bits 4
Bits 3
Bits 2
Bits 1
Bits 0
Ret.
Ret.
Ret.
Ret.
Ret.
Ret.
0
Ret.
Dépassement
SortieBit 7
SortieBit 6
SortieBit 5
SortieBit 4
SortieBit 3
SortieBit 2
SortieBit 1
SortieBit 0
7Opé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.
8Opérations arithmétiques Multiplication
Retenue de laddition
Exemple de Multiplication Binaire
9Opé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.
10Opérations arithmétiques Dépassement /
Dépassement Négatif
- Lorsquune opération génère un résultat qui ne
peut être exprimée au format de son opérande
dentrée. - La largeur de Bit dun ordinateur va donc fixer
des seuils négatifs et positifs aux nombres qui
peuvent être représentés sous formes dentiers - Ex Pour 8 Bits on peut représenter la valeur
maximum de 28-1 soit 255 (Entiers non signés).
11Opérations arithmétiques Soustraction
- Oblige à utiliser des nombres signés.
- Utilise la notation en Complément à deux
- Rend négative la seconde entrée
- Ladditionne à la première
- Fonctionne donc ensuite avec des additionneurs
complet
12Opé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-510, 10-55 ,5-5 0
- 3 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.
13Opé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 Ã
lopération. - La division reste tout de même lopération
arithmétique la plus longue à réaliser sur un
ordinateur.
14Entiers 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
15Entiers NégatifsLe signe valeur absolue (Bit de
signe)
- Le bit de poids fort du nombre binaire indique
sil 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
16Entiers NégatifsLe signe valeur absolue (Bit de
signe)
- Avantage
- Il est facile de calculer lopposé dun nombre.
- Il est facile de déterminer si le nombre est
négatif ou positif. - Facilite la multiplication et la division
- Inconvénient
- Complique laddition et la soustraction.
- Entraîne une complication des circuits logiques.
17Entiers NégatifsNotation en complément à deux
- Les nombres positifs sont codés de la même façon
quen 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).
18Entiers 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)
19Entiers NégatifsNotation en complément à deux
- Lappellation complément à deux vient du fait que
la somme dun nombre de n bits et de son opposé
dans ce format est égale à 2n. -
- Ex 0100 (n4), complément à deux 1100.0100
1100 10000 soit 24 16
20Entiers NégatifsNotation en complément à deux
- Avantages
- Le signe dun nombre est déterminé par le bit de
poids fort. 1 pour négatif, 0 pour positif. - Lorsque lon calcule lopposé dun nombre à deux
reprises on retombe sur le nombre dorigine. - Il ny a quune seule représentation du 0
- Laddition des représentations positive et
négative dun nombre donne le bon résultat dans
cette même notation. La soustraction peut alors
être traitée comme laddition dun nombre
négatif. -
21Entiers 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
22Entiers NégatifsNotation en complément à deux
- Inconvénient
- Complique la multiplication car le résultat dun
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.
23Nombres à virgule flottantesReprésentation
- Représentation des valeurs fractionnelles
- Représentation des nombres qui sortent de
lintervalle 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
24Nombres à virgule flottantesMode darrondi
- 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
25Nombres à virgule flottantesLargeur de bits
- 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 dencodage des
nombres en précisant les bits réservés à la
fraction et à lexposant, ainsi quau signe.
26Nombres à virgule flottantesSimple Précision
Fraction
Signe
Exposant
- Le champ de fraction représente la portion
fractionnelle dun nombre binaire dont la portion
entière est supposée être 1. - La mantisse dun 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
dexposant doit être calculé en soustrayant 127
du nombre non signé contenu dans le champ.
27Nombres à virgule flottantesChamp de fraction
- La représentation des nombres binaires
fractionnaires utilise les mêmes positions que le
système décimal. - 11,111 21202-12-22-3 3,875(2-10,5 ,
2-20,25 , 2-30,125 etc ) - 6,25 22212-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 lexemple 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
28Nombres à 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
29Nombres à virgule flottantesChamp dexposant
- Le biais est de 127 en simple précision.
- Exemple pour 4,75 le fractionnement était
1,0011 x 22 . Lexposant 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
30Nombres à 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
31Nombres à virgule flottantesDouble Précision
Fraction
Signe
Exposant
Le biais pour le champ exposant est de 1023
32Nombres à 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 lutilisation de normes
spécifiant si le nombre est infini ou NaN ( Not a
Number).
33Nombres à 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
34Conclusion
- 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 dopé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 dopération.
35Ressources
- Architecture de lordinateur (P.Carter)Collection
EdiScience chez Dunod - Cours dAssembleur sur www.developpez.com