Introduction à l’architecture des ordinateurs
Systèmes de numération
▪ Bases numériques:
• Base décimale : 10 chiffres {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. 56)10 56d
• Base binaire : deux bits {0,1}. 100)2 110b
• Base octale : 8 chiffres {0, 1, 2, 3, 4, 5, 6, 7}. 70)8 70o
• Base hexadécimale : 16 symboles {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. A9)16 A9h
▪ Equivalence
• ∀ X, b1, b2; un nombre entier naturel X)b1 est représenté de façon unique par un
nombre entier Y)b2
Exemple : 38h=56d=70o=111000b
23
Le codage des entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – Le principe
◼ En base 10, si un nombre N s’écrit xyz)10, cela signifie que :
◼ N = x.100 + y.10 + z.1
◼ N = x.102 + y.101 + z.100
◼ Même principe en base 2
◼ Si un nombre M s’écrit abcde)2, cela signifie que :
◼ M = a.24 + b.23 + c.22 + d.21 + e.20
◼ M = a.16 + b.8 + c.4 + d.2 + e.1
24
1
Le codage des entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base 2 vers base 10
◼ Il est possible de déterminer la valeur décimale associée à un
nombre binaire grâce à un tableau de correspondance.
Nombre binaire 1 0 1 0 1
Coefficients 24
16 283 242 221 210
Nombre décimal 16 + 0 + 4 + 0 + 1 = 21
25
Le codage des entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base 2 vers base 10
◼ Si N = 1011010)2, nous obtenons :
◼ N = 126 + 025 + 124 + 123 + 022 + 121 + 020
◼ N = 164 + 032 + 116 + 18 + 04 + 12 + 01
◼ N = 90)10
◼ Si N = 1010001)2, nous obtenons :
◼ N = 126 + 025 + 124 + 023 + 022 + 021 + 120
◼ N = 164 + 032 + 116 + 08 + 04 + 02 + 1 1
◼ N = 81)10
26
2
Le codage des entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base 10 vers base 2
◼ Si N = 70)10, nous obtenons :
◼ En lisant de droite à gauche, on retrouve 1000110)2.
27
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base 16 vers base 10
◼ A l’instar du codage binaire, il est possible de déterminer la
valeur décimale associée à un nombre hexadécimal en
utilisant un tableau de correspondance.
Nombre hexa. 1 A F 0 C
Valeurs 1 10 15 0 12
Coefficients 164
65536 163
4096 162
256 161
16 10
16
Nombre décimal 65536 + 40960 + 3840 + 0 + 12 = 110348
28
3
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base 16 ↔ base 2
Décimal Binaire Hexa
La conversion base 16 ↔ base 2
0 0000 0
1 0001 1
s’effectue très simplement car un 2 0010 2
3 0011 3
symbole hexadécimal correspond à 4 0100 4
5 0101 5
6 0110 6
un bloc de quatre bit (quartet). 7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base 16 ↔ base 2
◼ La conversion hexadécimal vers binaire s’effectue très
simplement car un symbole hexadécimal correspond à un
bloc de quatre bit (quartet).
Nombre hexadécimal 1 A F 0 C
Quartets 0001 1010 1111 0000 1100
Nombre binaire 0001101011110001100
4
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base 16 ↔ base 2
◼ Pour effectuer la conversion inverse, il suffit de scinder le
nombre binaire en quartets (en commençant par les bit de
poids faible) puis de convertir chaque quartet pour obtenir
le nombre hexadécimal correspondant.
Nombre binaire 101101011010011000
Quartets 0010 1101 0110 1001 1000
Nombre hexadécimal 2 D 6 9 8
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Méthode de conversion – base quelconque b vers base 10
Règle:
X)b= CkCk-1…C1C0)b
= Ck*bk+Ck-1*bk-1 +…+C1*b1+C0*b0)10
Exemple:
A87)16 = 10*162+8*161+7*160)10
= 2560+128+7
= 2695)10
5
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Opérations binaires : addition et soustraction
A B A+B Retenue A B A-B Emprunt
0 0 0 0 0 0 0 0
0 1 1 0 0 1 1 1
1 0 1 0 1 0 1 0
1 1 0 1 1 1 0 0
Exemple: Exemple:
103 1100111 126 1111110
+ 23 + 10111 - 23 - 10111
=126 = 1111110 =103 = 1100111
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Opérations logiques : AND , OR , XOR, NOT
A B A AND B A OR B A XOR B Non (A)
Vrai Vrai Vrai Vrai Faux Faux
Vrai Faux Faux Vrai Vrai Faux
Faux Vrai Faux Vrai Vrai Vrai
Faux Faux Faux Faux Faux Vrai
En binaire:
Vrai=1 et Faux=0
Exemple:
103 AND 23 = 7 car 1100111 AND 10111 = 0000111
103 OR 23 = 119 car 1100111 OR 10111 = 1110111
103 XOR 23 = 112 car 1100111 XOR 10111 = 1110000
NOT(103) = 24 car NOT(1100111)= 0011000
6
Le codage
Les codages
des
hexadécimal,
entiers et l’arithmétique
octal et DCBbinaire
Introduction à l’architecture des ordinateurs
Opérations de décalage : à gauche (LSH) et à droite (RSH)
LSH ⟺ Mult par 2 RSH ⟺ Div entière par 2
Exemple:
LSH(103) = 206 car LSH(01100111)= 11001110
RSH(103) = 51 car RSH(01100111)= 00110011
Le codage de entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Représentation des informations
Information
Données Instructions
Brute en Vidéo Image Son Texte Numérique
binaire
Entier
Non signé
Signé
Flottant
7
Le codage de entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Représentation des informations: Les entiers signés
Méthode de bit de signe sur n bits:
• On réserve le bit de gauche pour le signe et n-1 bits pour la valeur absolue
• La règle de signe est (0 ↔ + et 1 ↔ -)
Exemple sur 8 bits: 70)10 = 1000110)2
+70)10 = 01000110b
-70)10 = 11000110b
Règle:
Sur n bits, on peut coder les entiers de l'intervalle :[-(2n-1 – 1) , 2n-1 -1]
Inconvénient :
Le 0 est représenté deux fois différemment. 10000000 et 00000000.
Le codage de entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Représentation des informations: Les entiers signés
Méthode du complément à 2 sur n bits:
• Nombres positifs => Méthode de bit de signe
• Nombres négatifs => On inverse les n bits de sa valeur absolue et on ajoute 1.
Exemple sur 8 bits:
23)10 = 00010111)2
-23)10 => VA=23= 00010111)2 : inversion➔11101000➔+1➔11101001 )2
Règle:
Sur n bits, on peut coder les entiers de l'intervalle :[-2n-1 , 2n-1 -1]
Avantages:
• Pour effectuer la soustraction A-B, on additionne A et le complément à 2 de B.
• Pour avoir la valeur absolue de la représentation binaire en complément à 2 d’un
nombre négatif (qui commence par 1) , il suffit d’appliquer la méthode.
8
Le codage de entiers et l’arithmétique binaire
Introduction à l’architecture des ordinateurs
Représentation des informations: Les flottants(nombres réels)
• Les nombres à virgule flottante et les calculs associés sont régis par
le standard l’IEEE-754.
• 3 modes de représentation
Signe Exposant Mantisse
Simple précision 1 bit 8 bits 23 bits
Double précision 1 bit 11 bits 52 bits
Précision étendue 1 bit 15 bits 64 bits
Plan du cours
Chapitre 1. Introduction à l’archi. des ordi.
Chapitre 2. Circuits logiques
Chapitre 3. Unités fonctionnelles
Chapitre 3. Présentation du μp 8086 et environnement Emu8086.
Chapitre 4. Jeu d’instruction du μp 8086
Chapitre 5. Modes d’adressage
Chapitre 6. Variables et sauts
Chapitre 7. Interruptions et accès aux entrées sorties
40
9
Chapitre 2. Circuits logiques
Dans ce chapitre
I. Introduction
II. Algèbre de BOOLE
III. Méthodes de simplification
1. Méthode algébrique
2. Méthode graphique (Tableau de Karnaugh)
IV. Logique combinatoire
V. Logique séquentielle
41
Chapitre 2. Circuits logiques I. Introduction
1. fonction logique
• Les machines numériques (ordinateur, tablette, téléphone…) sont
constituées d’un ensemble de circuits électroniques.
• Chaque circuit fournit une fonction logique bien déterminée;
• Exemple:
➢ circuit pour les opérations logiques ou arithmétiques
(addition, soustraction, comparaison ,….).
• Une fonction logique :
➢ est réalisée à l’aide de fonctions logiques de base ( ou portes
logiques).
➢ peut avoir une ou plusieurs entrées + une sortie
42
10
Chapitre 2. Circuits logiques I. Introduction
2. Portes logiques
• Plusieurs fonctions logiques de base existent (appelées
aussi portes logiques).
• Ces portes logiques sont réalisées à l'aide de transistors.
• Exemple:
la porte NAND
43
Chapitre 2. Circuits logiques I. Introduction
2. Portes logiques
• Pour concevoir et réaliser un circuit on doit avoir un
modèle mathématique de la fonction réalisée par ce
circuit .
• Ce modèle doit prendre en considération le système
binaire.
• Le modèle mathématique utilisé est celui de Boole.
44
11
Chapitre 2. Circuits logiques II. Algèbre de Boole
1. Présentation
1854 : Le mathématicien britannique George Boole
démontre que tout processus logique est décomposable
en opérations logiques appliquées sur 2 états.
L’algèbre de Boole sur {0,1} = Algèbre binaire qui utilise:
• Deux états logiques: 0 et 1, Vrai et Faux, H et L (purement symbolique)
• Variables logiques=Symboles (A,b,Out ...) : qui peuvent prendre 0 ou 1 (F/V)
• Opérateurs logiques (Et, OU, NON,…) qui s’appliquent à:
➢ Une seule variable logique = opérateur unaire
➢ Deux variables logiques = opérateur binaire.
45
Chapitre 2. Circuits logiques II. Algèbre de Boole
2. Opérateurs logiques de base
L’opérateur OU ( OR )
• Le OU est un opérateur binaire ( deux variables) ,
• Le OU fait la somme logique entre deux variables logiques.
F(A,B)=A + B
Remarque : il ne faut pas confondre avec la somme arithmétique.
• Sa table de vérité est :
A B A+B
0 0 0
0 1 1
1 0 1
1 1 1
46
12
Chapitre 2. Circuits logiques II. Algèbre de Boole
2. Opérateurs logiques de base
L’opérateur ET ( AND )
• Le ET est un opérateur binaire ( deux variables) ,
• Le ET réalise le produit logique entre deux variables logiques :
F(A,B)=A.B
• Sa table de vérité est :
A B A.B
0 0 0
0 1 0
1 0 0
1 1 1
47
Chapitre 2. Circuits logiques II. Algèbre de Boole
2. Opérateurs logiques de base
L’opérateur NON ( NOT )
• C’est un opérateur unaire ( agit sur une seule variable) qui à pour rôle
d’inverser la valeur d’une variable :
F(A)= Non A = 𝐴ҧ
(lire : A barre)
• Sa table de vérité est :
A 𝐴
0 1
1 0
48
13
Chapitre 2. Circuits logiques II. Algèbre de Boole
2. Opérateurs logiques de base
L’opérateur NOR ( Not-OR )
• Le NOR fait la négation du OR logique entre deux variables logiques.
F(A,B)= NOR(A,B)=𝐀 + 𝐁
• Sa table de vérité est :
A B 𝐴 + 𝐵
0 0 1
0 1 0
1 0 0
1 1 0
49
Chapitre 2. Circuits logiques II. Algèbre de Boole
2. Opérateurs logiques de base
L’opérateur NAND ( Not-AND )
• Le NAND fait la négation du AND logique entre deux variables
logiques.
F(A,B)= NAND(A,B)=𝐴. 𝐵
• Sa table de vérité est :
A B 𝐴. 𝐵
0 0 1
0 1 1
1 0 1
1 1 0
NB. NAND et NOR ne sont pas associatifs
50
14
Chapitre 2. Circuits logiques II. Algèbre de Boole
2. Opérateurs logiques de base
L’opérateur XOR (Ou-Exclusif)
• XOR vaut 1 si A est différent de B, c’est un opérateur de disjonction
(différence),
F(A,B)= XOR(A,B)=A⊕B=𝐀 ഥ . 𝐁 + 𝐀. 𝐁
• Sa table de vérité est :
A B A⊕B
0 0 0
0 1 1
1 0 1
1 1 0
• XOR est associatif => S=A ⊕B ⊕C ⊕D =(A ⊕B) ⊕(C ⊕D)
51
Chapitre 2. Circuits logiques II. Algèbre de Boole
3. Fonctions logiques
• Fonction logique: c’est une expression composée de:
➢ Variables logiques
➢ Opérateurs logiques
➢ Parenthèses
ഥ +b).Out
Exemple : F(A, b, Out) =(𝐀
• Une fonction logique ne peut prendre qu’une seule valeur de {0,1} {F,V}
• Une fonction logique à n variables f(a,b,c,d,...) :
➢ Est définie de [0,1]n ➔[0,1]
➢ Peut être représentée par une table de vérité formée d’un
ensemble fini de possibilités de cardinal = 2n lignes
52
15
Chapitre 2. Circuits logiques III. Méthodes de simplification
1. Objectifs de la simplification
• Les méthodes de simplification des fonctions logiques sont
essentielles pour :
➢ réduire la complexité des circuits logiques,
➢ minimiser le nombre de portes logiques utilisées,
➢ améliorer l'efficacité des systèmes numériques.
ഥ 𝑪𝑫
Exemple : 𝑨𝑩𝑪 + 𝑨𝑩𝑪 + 𝑨𝑩𝑪𝑫 = 𝑨𝑩 + 𝑨𝑩
• Les méthodes utilisées pour simplifier les fonctions logiques sont:
➢ 1. Méthode algébrique
➢ 2. Méthode graphique avec les tableaux de « Karnaugh »
53
Chapitre 2. Circuits logiques III. Méthodes de simplification
2. Méthode algébrique
54
16
Chapitre 2. Circuits logiques III. Méthodes de simplification
2. Méthode algébrique
• Théorème de "DE Morgan"
ഥ
ഥ. 𝒃
𝒂+𝒃=𝒂
ഥ
ഥ+𝒃
𝒂. 𝒃 = 𝒂
• Théorème du consensus
ഥ. 𝒄 + 𝒃. 𝒄 = 𝒂. 𝒃 + 𝒂
𝒂. 𝒃 + 𝒂 ഥ. 𝒄
(𝒂 + 𝒃)(ഥ
𝒂 + 𝒄)(𝒃 + 𝒄) = (𝒂 + 𝒃)(ഥ
𝒂 + 𝒄)
55
Chapitre 2. Circuits logiques III. Méthodes de simplification
2. Méthode algébrique
Démontrez les propositions suivantes:
ഥ 𝑪𝑫
• 𝑨𝑩𝑪 + 𝑨𝑩𝑪 + 𝑨𝑩𝑪𝑫 = 𝑨𝑩 + 𝑨𝑩
ഥ 𝑩𝑪 + 𝑨𝑩𝑪 + 𝑨𝑩𝑪 = 𝑩𝑪 + 𝑨. (𝑩⊕𝑪)
• 𝑨𝑩𝑪 + 𝑨
56
17
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
a. présentation
• Tableau de Karnaugh est :
➢ une méthode graphique utilisée pour simplifier/optimiser les FL.
➢ une grille à 2n cases (n: nombre de variables de la FL)
➢ s’appliquer aux FL de 2,3,4,5 et 6 variables
• Chaque case correspond à une ligne dans la table de vérité
57
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
b. construction
• Le principe est de placer les combinaisons possibles des variables
d'entrée dans les cases de la table, en suivant l'ordre de Gray:
➢ deux cases adjacentes ne diffèrent que par une seule variable.
➢ 1 variable => 0,1
➢ 2 variables => 00, 01,11,10
➢ 3 variables => 000, 001,011,010,110, 111,101,100
58
18
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
c. remplissage
• On remplis la table suivant la FL:
➢ Mettre "1" dans les cases correspondant aux termes où la fonction
prend la valeur "1"
➢ "0" pour les autres.
Exemple 1 : FL à deux variables F1(A,B)= 𝐀 + 𝐁. 𝐀 + (𝐀 + 𝐁)
Table de Vérité Table de Karnaugh à 2 variables
A B F₁(A, B)
0 0 1
1 1
0 1 0
1 0 1 0 1
1 1 1
59
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
c. remplissage
Exemple 2 : FL à trois variables 𝑭𝟐 𝑨, 𝑩, 𝑪 = 𝑨. 𝑩 + (𝑨 + 𝑩) + 𝑩𝑪
Table de Vérité Table de Karnaugh à 3 variables
A B C F2(A,B,C)
0 0 0 0
0 0 1 0
0 1 0 0 0 0 1 1
0 1 1 1
1 0 0 1 0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 1
60
19
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
d. Groupement des "1"
• Recherchez des groupes de "1" dans la table.
• Ces groupes :
➢ doivent avoir une taille qui est une puissance de deux (1, 2, 4, 8, etc.)
➢ peuvent être constitués de cases adjacentes horizontalement ou
verticalement, mais pas en diagonale.
➢ peuvent également traverser les bords de la table.
➢ doivent contenir au moins un 1 non utilisé par les autres groupements
• Un groupe de 1 seul "1" représente un terme qui ne peut pas être simplifié.
• Un groupe de 2 "1" permet de simplifier une variable.
• Un groupe de 4 "1" permet de simplifier deux variables, etc.
• Tous les 1 doivent apparaître au moins une fois dans les groupements
61
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
d. Groupement des "1"
• Rechercher les groupements en commençant par les cases qui n’ont
qu’une seule façon de se grouper
• Rechercher les groupements les plus grands
• L’expression logique finale est la réunion (ou logique) des groupements
après simplification et élimination des variables qui changent d’état.
62
20
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
d. Groupement des "1"
Exemple 1 : FL à deux variables F1(A,B)= 𝐀 + 𝐁. 𝐀 + (𝐀 + 𝐁)
Table de Vérité Table de Karnaugh à 2 variables
A B F₁(A, B)
0 0 1 𝐁
1 1
0 1 0
0 1 A
1 0 1
1 1 1
Donc, F1(A,B)= 𝐀 + 𝐁. 𝐀 + (𝐀 + 𝐁) est simplifiée en : 𝐀 + 𝐁
63
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
d. Groupement des "1"
Exemple 2 : FL à trois variables 𝐅𝟐 𝐀, 𝐁, 𝐂 = 𝐀. 𝐁 + (𝐀 + 𝐁) + 𝐁𝐂
Table de Vérité Table de Karnaugh à 3 variables
A B C F2(A,B,C)
0 0 0 0
0 0 1 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
0 1 1 1 A
1 0 1 1
1 1 0 1 BC
1 1 1 1
Donc, 𝐅𝟐 𝐀, 𝐁, 𝐂 = 𝐀. 𝐁 + (𝐀 + 𝐁) + 𝐁𝐂 est simplifiée en : 𝐀 + 𝐁𝐂
64
21
Chapitre 2. Circuits logiques III. Méthodes de simplification
3. Méthode graphique (tableau de Karnaugh)
e. Exemples d’application
Trouver la forme simplifiée des fonctions à partir des deux tableaux ?
65
22