Vous êtes sur la page 1sur 47

Architecture des ordinateurs &

Algorithmique

Chap. I : Architecture des ordis

Partie 2 : Logique Booléenne

Anas ABOU EL KALAM


elkalam@hotmail.fr 1
Plan du chap. I
• Historique
• Architecture
• Logique Booléenne
– Portes logiques & tables de vérité
– Circuits combinatoires
– Expressions logiques
– Codage et arithmétique binaire
Anas Abou el kalam Architecture des ordinateurs 2
2 Logique booléenne
• Représentation des valeurs booléennes
•0: 0 volt = masse
•1: +5 volts = alimentation
• Portes
• Un ordinateur est construit à partir de blocs de base appelés portes
logiques ou simplement portes.
• Une porte est un circuit ayant au moins une (et souvent plusieurs)
entrée (E) et exactement une sortie (S).
• Les valeurs des E et de S sont les valeurs logiques vrai (1) et faux (0)
• Une porte n’a pas de mémoire ; la valeur de sa sortie dépend
uniquement des valeurs présentes sur ses entrées.
 il est possible de décrire complètement le comportement d’une telle
porte par le biais d’une table de vérité
3
trois types fondamentaux de portes : porte-et, porte-ou et porte-non
2 Logique booléenne

Les portes logiques


• Fonction NON (inverseur)
• donne le complémentaire d ’une valeur logique. Impossible d’afficher l’image.

a s a s
1

symbole usuel symbole normalisé ANSI table de vérité


Notation : s = a, s = ¬a

Anas Abou el kalam Architecture des ordinateurs 4


• Fonction ET
• Un ET est vrai si Toutes ses entrées sont vraies.

a a b s
a s s 0 0 0
b b &
0 1 0
1 0 0
Notation : s = a.b, s = a ∧ b 1 1 1
• Fonction OU
• Un OU est faux si toutes ses entrées sont fausses.

a a b s
a s s 0 0 0
≥1
b b 0 1 1
1 0 1
Notation : s = a + b, s = a ∨ b 1 1 1
Anas Abou el kalam Architecture des ordinateurs 5
• Fonction NON-ET ou NAND
• Un NON-ET est un ET complémenté.
• Son résultat est faux si ses deux entrées sont vraies.
a a b s
a s s 0 0 1
b b &
0 1 1
1 0 1
Notation : s = a.b, s = a ↓ b 1 1 0

• Fonction NON-OU ou NOR ou NI


• Un NI est un OU complémenté.
• Son résultat est vrai si ses deux entrées sont fausses.
a a b s
a s s 0 0 1
≥1
b b 0 1 0
1 0 0
Notation : s = a + b, s = a ↑ b 1 1 0
Anas Abou el kalam Architecture des ordinateurs 6
• Fonction OU-EXCLUSIF
• Un OU-EXCLUSIF est vrai si ses deux entrées ont des valeurs différentes
• Il permet de « tester » si deux valeurs logiques sont différentes.
a a b s
a s s 0 0 0
=1
b b 0 1 1
1 0 1
Notation : s = a ⊕ b, s = a∀b (a ⊕ b = a.b + a.b) 1 1 0
• Fonction NI-EXCLUSIF
• Un NI-EXCLUSIF est vrai si ses deux entrées ont des valeurs égales.
• Il permet de « tester » si deux valeurs logiques sont égales.
a a b s
a s s 0 0 1
=1
b b 0 1 0
1 0 0
Pas de notation particulière (a ⊕ b = a.b + a.b) 1 1 1
Anas Abou el kalam Architecture des ordinateurs 7
• ET-multiple, OU-multiple, NON-ET-multiple et NI-multiple

ET, OU, NON-ET et NI (NON-OU) se généralisent facilement à des fonctions


ayant un nombre quelconque d ’entrées :
• ET-multiple : vrai (1) si toutes ses entrées sont vraies (1), faux (0) sinon
• OU-multiple : faux si toutes ses entrées sont fausses, vrai sinon
• NON-ET-multiple : faux si toutes ses entrées sont vraies, vrai sinon
• NI-multiple : vrai si toutes ses entrées sont fausses, vrai sinon

Anas Abou el kalam Architecture des ordinateurs 8


Exercices

• Exercice 2.1. Réaliser une porte-non-et à trois entrées à partir de

portes-ou à deux entrées et d’inverseurs.

• Exercice 2.2. En n’utilisant que des portes-non-ou à deux entrées,

réaliser une porte-et à trois entrées.

• Exercice 2.3. Peut-on construire toutes les portes à deux entrées à

partir de portes-ou et portes-et à deux entrées exclusivement ?

Anas Abou el kalam Architecture des ordinateurs 9


• Porte trois-états
• La porte trois-états agit en interrupteur.
• Elle possède 2 entrées et 1 sortie.
• L ’une des entrées contrôle son activité. Si celle-ci vaut 1 alors l’entrée a est
directement connectée à la sortie s, sinon elles sont déconnectées.
• L ’état déconnecté n ’est pas un 0, on le nomme haute-impédance (noté Z).

a s a s c a s
ou
0 0 Z
c c 0 1 Z
1 0 0
c a s 1 1 1
a s 0 0 0
0 1 1
c 1 0 Z
1 1 Z
Anas Abou el kalam Architecture des ordinateurs 10
Aspect matériel
Matériellement, les portes se présentent dans des circuits intégrés.
Un circuit en regroupe un certain nombre de même type.
Exemple : le 7400 comporte 4 portes NAND
14 13 12 11 10 9 8

1 2 3 4 5 6 7
Anas Abou el kalam Architecture des ordinateurs 11
Une porte peut prendre en compte le valeur d’une entrée lorsqu’il y a un
changement d’état logique de cette entrée.
Changement d’état = front :
• 0 à 1 : front montant
• 1 à 0 : front descendant
Il faut un certain temps pour qu ’une porte logique réagisse à un changement
sur ses entrées : c’est le délai de propagation (environ 10 ns)
Chronogramme réel faisant apparaître ce délai :
1
s0
1 délai de propagation
b0 dans une porte ET
1
a0

Anas Abou el kalam Architecture des ordinateurs 12


Délai de propagation d'un circuit
• = temps le plus long nécessaire pour propager un front sur une des entrées vers
une des sorties.
Exemple de calcul du délai de propagation :
NON (inverseur) 10ns
ET à 2 entrées 12ns s
OU à 2 entrées 12ns a
NON-ET à 2 entrées 12ns b
NON-OU à 2 entrées 12ns
c t
OU-EXCLUSIF à 2 entrées 13ns
NON-OU-EXCLUSIF à 2 entrées 13ns Délai de propagation :
ET à 3 entrées 14ns
b vers t : 10 + 12 + 12 = 34ns
OU à 3 entrées 14ns
NON-ET à 3 entrées 14ns
NON-OU à 3 entrées 14ns
OU-EXCLUSIF à 3 entrées 15ns
NON-OU-EXCLUSIF à 3 entrées 15ns
Anas Abou el kalam Architecture des ordinateurs 13
Chronogrammes en TD : on supposera qu’il n’y a pas de délai de propagation
Exemple de chronogramme :
s
a
b j
i
c t

1
s
0
1
j
0
1
i
0
1
b
0
1
a
0
Architecture des ordinateurs
temps 14
Anas Abou el kalam
Simplification d’une fonction logique
Pourquoi simplifier ?
• Équation plus lisible
• + facile à construire
• - cher
• + rapide
• - gourmand en énergie
• - de chaleur

Théorème 1
• La porte NON-ET est universelle.

Théorème 2
• La porte NI est universelle.

Anas Abou el kalam Architecture des ordinateurs 15


Théorèmes de Boole
- a.0 = 0
- a.1 = a
- a.a = a
- a.a = 0
Autres propriétés
- a+0= a
• ET est associatif et commutatif
- a +1 = 1
(comme la multiplication)
- a+a =a
• OU est associatif et commutatif
- a + a =1 (comme l’addition)

Formules de De Morgan • ET est distributive par rapport à OU


(comme x par rapport à +)

- a + b = a.b
- a.b = a + b
Anas Abou el kalam Architecture des ordinateurs 16
Circuits combinatoires
• Un circuit combinatoire est une porte généralisée
• Un circuit combinatoire avec n sorties peut toujours être construit sous la
forme de n circuits différents possédant chacun une seule sortie.

Table de vérité
• énumération complète de toutes les combinaisons des valeurs des entrées
du circuit avec, pour chacune d’elles, la valeur des sorties associées

Exemple

Anas Abou el kalam Architecture des ordinateurs 17


Conception d’un circuit combinatoire (à m entrées et n sorties) à
partir d’une Table de Vérité
Couches
• 1ère couche : ayant au plus 2m portes NON-ET, chacune à m entrées,
• 2ème couche : 1 seule porte NON-ET avec autant d’entrées que de portes
dans la 1ère couche
Construction
• Pour chaque ligne tq sortie = 1  mettre porte NON-ET à m entrées.
• Chaque signal d’entrée valant 1 sur la ligne en question
•  branché directement sur une entrée de la porte NON-ET, et
• chaque signal d’entrée valant 0
•  est branché sur la porte NON-ET à travers un inverseur
• Sortie de chaque porte-non-et de la 1ère couche
•  est branchée sur une entrée de la porte-non-et de la 2ème couche.
18
Anas Abou el kalam Architecture des ordinateurs
Exemple (« - » indique une valeur sans importance)
• mettre 0 à la place de « - »
• construire 2 circuits, chacun ayant 1 seule sortie
• 1er : correspond à la colonne marquée a
• 2ème : correspond à la colonne marquée b

Pour colonne a
• 1ère couche contiendra 3 portes NON-ET
• car il y a 3 lignes tq valeur de la colonne a = 1
• Chaque porte aura 3 entrées (pour signaux x, y z)
• 2ème couche aura une porte NON-ET à 3 entrées
• car 3 portes-non-et dans 1ère couche

Anas Abou el kalam Architecture des ordinateurs 19


Pour colonne b
• 1ère couche : 2 portes-non-et chacune avec 3 entrées
• car 2 lignes tq la (valeur colonne b) = 1
• 2ème couche : 1 porte-non-et avec 2 entrées
• car il y a 2 portes dans 1ère couche

Circuit pour colonne b

Anas Abou el kalam Architecture des ordinateurs 20


Circuit complet :
• Circuit non optimal ….

Anas Abou el kalam Architecture des ordinateurs 21


Exercice
• Donner la table de vérité correspondant au circuit ci-dessous …

Anas Abou el kalam Architecture des ordinateurs 22


Exercice
• Donner un circuit correspondant à la table de vérité suivante

Anas Abou el kalam Architecture des ordinateurs 23


Représentation des nombres
Utilisation d'une base quelconque et changement de base
Un nombre N en base B s'écrit :

NB = anan-1an-2 … a1a0 avec 0 ≤ ai ≤ B-1

Exemples :

• base 2 (binaire) : 011011100102 0 ≤ ai ≤ 1

• base 8 (octal) : 12456764706208 0 ≤ ai ≤ 7

• base 10 (décimal) : 97468205610 0 ≤ ai ≤ 9

• base 16 (hexadécimal) : 3A5E8F16 0 ≤ ai ≤ F

• chiffres hexadécimaux : 0123456789ABCD EF


Anas Abou el kalam Architecture des ordinateurs 24
Trouver la valeur décimale d'un nombre en base B :
NB = anBn + an-1Bn-1 + … + a2B2 + a1B1 + a0B0

Valeurs: comparaison

• Comparer dans l’ordre de gauche à droite


• Si à une position, ai<bi, alors a<b

Anas Abou el kalam Architecture des ordinateurs 25


Passage base 2  base 10
• Convertissons 010011012 en décimal
à l'aide du schéma ci-dessous:
27 26 25 24 23 22 21 20

0 1 0 0 1 1 0 1

• Le nombre en base 10 est


26 + 23 + 22 + 20
= 64 + 8 + 4 + 1
= 77.
Anas Abou el kalam Architecture des ordinateurs 26
Exemples de passage vers base 10

• 10112 = 1×23 + 0×22 + 1×21 + 1 = 1110


• 2478 = 2×82 + 4×81 + 7 = 16710
• 2DB16 = 2×162 + 13×161 + 11 = 73110

27
Passage base 10  base 2

• De décimal en binaire: 7710

• Résultat = 10011012
Anas Abou el kalam Architecture des ordinateurs 28
• Binaire décimal
• 10010 = 1*24 + 0*23 + 0*22 + 1*21 + 0*20 = 18

• Décimal  binaire
• 18 mod 2 = 0 (9) 18 2
0 9 2
• 9 mod 2 = 1 (4)
1 4 2
• 4 mod 2 = 0 (2) 0 2 2
• 2 mod 2 = 0 (1) 0 1 2
1 0
• 1 mod 2 = 1 (0)

10010
29
Passer d'une base à une autre : cas général
• Pour passer d'une base à une autre il est tjrs possible de passer par la base 10
• Pour passer du binaire  base de type 2n
• il suffit de regrouper les bits par n
• de la droite vers la gauche

• Exemples :
• soit 101101112 à représenter en
• Octal (8 = 23) : 10 110 111 2 = 2678
• hexadécimal (16 = 24) : 1011 0111 2 = B716

Anas Abou el kalam Architecture des ordinateurs 30


Représentation des nombres binaires non signés
(Positifs)

• n bits  permettent de représenter 2n valeurs différentes,

•  donc les nombres entiers positifs de 0 à 2n-1.

• Exemple : sur 8 bits on peut représenter 28 = 256 valeurs

différentes

•  entiers de 0 (0000 0000 ) à 255 (1111 1111).

Anas Abou el kalam Architecture des ordinateurs 31


Représentation des nombres binaires signés
(valeurs négatifs)

32
Représentation des nombres binaires signés
-- en complément à 2
• on utilise la représentation en complément à deux.
• Pour un nombre entier positif, c’est sa représentation en base 2.
• Pour un nombre entier négatif, on obtient sa représentation en 3 étapes :

étape 1 : calculer la représentation binaire de sa valeur absolue


étape 2 : complémenter tous les bits (0→1, 1→0)
étape 3 : ajouter 1 (additionner 1 au nombre obtenu)

Anas Abou el kalam Architecture des ordinateurs 33


Exemples
(-23) sur 8 bits ?
• étape 1 : 23 = 16+4+2+1 = 24 + 22+ 21 + 20  00010111
• étape 2 : complémenter tous les bits (0→1, 1→0)  11101000
• étape 3 : ajouter 1  11101001

(-100) sur 8 bits ?


• étape 1 : 01100100
• étape 2 : 10011011
• étape 3 : 10011100

• Avec n bits on représentent les nombres entiers de -2n-1 à 2n-1-1.


• La soustraction s’obtient en additionnant les représentations C2.
• La représentation C2 n ’a de sens que si on précise qu’on l’utilise pour ce
nombre, sinon -23 en C2 vaut 233 en binaire (233=256-23).

Anas Abou el kalam Architecture des ordinateurs 34


Binaire Codé Décimal (BCD)

• BCD permet de coder des nombres entiers positifs. En BCD,

1. on code chaque chiffre du nombre décimal sur 4 bits et

2. on concatène ces demi-octets.

• Exemple : 4236 devient 0100 0010 0011 0110 en BCD

Anas Abou el kalam 35


Architecture des ordinateurs
Représentation des nombres réels

En décimal on écrit par exemple :


52,467 = 5.101 + 2.100 + 4.10-1 + 6.10-2 + 7.10-3

Partie entière Partie Décimale

De manière générale, dans la base b, on écrit :

an an-1…a0 , a-1 a-2 … a-p = anbn + an-1bn-1 + … + a0b0 + a-1b-1 + a-2b-2 + … + a-pb-p

Exemple
• 10100101,011 = 1.27+1.25+1.22+1.20+1.2-2+1.2-3 = 165+1/4+1/8 = 165,375
Anas Abou el kalam 36
Architecture des ordinateurs
Passage de la base 10 vers une base quelconque
partie entière : on procède par divisions comme pour un entier
• partie fractionnaire :
• multipliée par la base de manière successive
• conserver la partie entière et ce jusqu’à ce qu’elle
• devienne nulle ou que
• la précision maximale soit atteinte.
Exemple 1 : 28,125
28 2
28  11100 0 14 2
0,125 * 2 = 0,25 0,25 * 2 = 0,5 0,5 * 2 = 1,0 0 7 2
1 3 2
0,125  0 , 0 0 1 1 1

Exemple 2 : 0,3
0,3 * 2 = 0,6 0,6 * 2 = 1,2 0,2 * 2 = 0,4 0,4 * 2 = 0,8 0,8 * 2 = 1,6 …
0,3  0,010011001100110011001100110011001…
37
Codage des nombres réels selon la norme IEEE 754 :

Problème : Codage de la virgule ???

• Les réels sont normalisés sous la forme 1,… * 2n puis codés sur 32 bits
«+»0
• signe  1 bit 
er
«– »1

• l’exposant  ajouter 127  8 bits suivants

• partie fractionnaire (après la virgule)  23 derniers bits


• mais si le 24ième bit = 1  on arrondit  mantisse + 1

.....................
32ème bit
Signe Exposant + 127 Partie Fractionnaire
38
Codage des nombres réels selon la norme IEEE 754 :

Exemple : 5,3  101,010011001100110011001100110011001…

• normalisation : 1,01010011001100110011001100110011001… * 22
• signe : +0

• exposant : 2 + 127 = 129  sur 8 bits : 1000 0001


• mantisse : sur 23 bits : 01010011001100110011001
• mais le 24ième bit est 1, donc la mantisse est :
01010011001100110011010
• codage final : 0100 0000 1010 1001 1001 1001 1001 1010
• de manière plus lisible en hexadécimal : 40 A9 99 9A

39
Codage des nombres réels selon la norme IEEE 754 :

Remarques :
• l’exposant 0000 0000 signifie que le nombre est dénormalisé
• l’exposant 1111 1111 signifie que ce n’est pas un nombre (NaN)
• les exposant sont donc compris entre –126 et 127.

Anas Abou el kalam Architecture des ordinateurs 40


Capacité de représentation
• Valeur entière avec 8 bits
– Valeur positive max:
000000002 (0)10  011111112 (255)10
– Valeur négative max (complément à 2):
100000002 (-256)10  111111112 = (-1)10

Unités de stockage
• unité de base : le bit (0 ou 1)
• unité usuelle : l'octet (1 octet = 8 bits)
• kilooctet : 1 ko = 1024 octets
• mégaoctet : 1 Mo = 1024 Ko
• gigaoctet : 1 Go = 1024 Mo
• téraoctet : 1 To = 1024 Go
Anas Abou el kalam Architecture des ordinateurs 41
Encoder des lettres ASCII (7 bits)
Binary Oct Dec Hex Glyph
010 0000 040 32 20
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #

011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2

100 0001 101 65 41 A Cher ami,
100 0010 102 66 42 B 67 104 101 114 32 97 109 105 44
… (en décimal)
110 0001 141 97 61 a
110 0010 142 98 62 b 42
110 0011 143 99 63 c
Addition & Soustraction

Anas Abou el kalam Architecture des ordinateurs 43


Détection & Gestion des Dépassements (Overflow)

Anas Abou el kalam Architecture des ordinateurs 44


Détection & Gestion des Dépassements (Overflow)
Lorsque des opérations sont effectuées sur des nombres codés en complément
à 2, ceux-ci doivent impérativement être codés sur le même nombre de bits.

4 0100 4 0100
6 0110 -2 1110
10 1010 -6 10010
On ne tient pas compte de la retenue finale

Comment détecter un débordement ?


• si les nombres sont de signes différents, pas de problème
• si ils sont de même signe, le signe du résultat doit être le même, sinon il y
a débordement

Anas Abou el kalam Architecture des ordinateurs 45


Exercices :
1. Indiquer la valeur codée par 1101100101110101 qui représente un entier signé en
complément à 2 sur 16 bits.
2. Représentation binaire des entiers négatifs
(a) Coder sur 4 bits les entiers 7, 2, 0, −2, −7 et −8 avec les représentations
suivantes :
– signe et valeur absolue ;
– complément à 1 ;
– complément à 2.
(b) Coder les entiers 61 et −61 sur un octet en utilisant la représentation par le
signe et la valeur absolue. Montrer que l’addition binaire de ces entiers ainsi
codés produit un résultat incorrect. Montrer qu’en revanche le résultat est
correct si ces entiers sont codés en utilisant la représentation par le
complément à 2.
3. Effectuer en binaire (8 bits) les opérations 1−2, 51+127, −3−127, −127+127,
−63−63. Préciser, pour chaque opération, la retenue et le débordement
4. Représentation des réels
• (a) En virgule fixe, décoder le nombre binaire 11.011 puis coder en binaire le réel
11.625
• (b) En virgule flottante normalisée, coder en binaire au format simple précision le
réel 12.575 Architecture des ordinateurs 46
Anas Abou el kalam
Exercices :
1. Déterminez les valeurs des compléments logiques et arithmétiques des codes
binaires suivants :1100 1001 ; 0000 1111
2. Calculer les C à 1 et à 2 pour les nombres suivants exprimés en hexa. Faites le calcul
en binaire puis notez la réponse en hexa : AA(16) ; FF(16) ; 1248(16)
3. Que vaut le code C0(16)
a) s’il s’agit d’un nombre non signé ?
b) s’il s’agit d’un nombre signé ?
4. Les codes suivants ont une taille de 16 bits, ils sont signés et donnés en
hexadécimal. Calculez leurs valeurs et donnez la réponse en décimal.
FFFF ; 8000 ; 7FFF ; 00FF
5. Quelles sont les valeurs minimum et maximum que peut prendre un nombre entier
signé codé sur 4 octets ?
6. Comment écrire -512 en binaire ? Combien faut-il de bytes au minimum pour
encoder cette valeur ?
7. Quel est le plus petit nombre entier négatif qui puisse être traité dans les registres
d’un Pentium 64 bits ?
8. La valeur -192 peut-elle être codée sur un byte ? justifiez votre réponse.
9. Comment écrire -150 en binaire et en hexadécimal ?
10. Que vaut 8001(16) selon que ce code de 2 octets est signé ou non signé ?
Anas Abou el kalam Architecture des ordinateurs 47

Vous aimerez peut-être aussi