Académique Documents
Professionnel Documents
Culture Documents
Introduction
Mémoire
A+B
A
Registres
de travail
B
UAL
Types d’opération :
• Transfert de données (Load, Store, Move, …)
• Opérations arithmétiques (ADD, SUB, …)
• Opération logiques (NOT, OR, AND, XOR, …)
• Contrôle de séquence (Branch, Branch on condition, …)
• Entrées/Sorties (Read, Write, Print, Display)
6. Exécuter l’instruction;
0 0 0 0
20 1 1 1 1
21 2 10 2 2
3 11 3 3
22 4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
23 8 1000 8 10
9 1001 9 11
10 1010 A 12
11 1011 B 13
12 1100 C 14
13 1101 D 15
14 1110 E 16
15 1111 F 17
24 16 10000 10 20
2n Décimal Hexa
décimal
20 1 1
21 2 2
22 4 4
23 8 8 2n Décimal Hexadécimal
173 / 2 = 86 reste 1
86 / 2 = 43 reste 0 17310 => 101011012
43 / 2 = 21 reste 1
21 / 2 = 10 reste 1
10 / 2 = 5 reste 0
5 / 2 = 2 reste 1
2 / 2 = 1 reste 0
1 / 2 = 0 reste 1
1 0 1 0 1 1 0 1
1 0 1 0 1 1 0 1
1 x 20 = 1 x x x x x x x x
+
0 x 21 = 0 27 26 25 24 23 22 21 20
+
1 x 22 = 4 (128) (64) (32) (16) (8) (4) (2) (1)
+
1 x 23 = 8
+
0 x 24 = 0
+ 128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 173
1 x 2 = 32
5
+
0x2 =6
0
+
1 x 27 = 128
173
Exemple:
Les 16 symboles du code hexadécimal sont représentés par 4 bits dans le système
binaire (24 = 16), ainsi pour convertir un nombre binaire en hexadécimal, il suffit de
le découper en tranche de 4 bits à partir de la droite (poids les plus faibles) et de
faire correspondre à chaque quartet le code hexadécimal correspondant.
Exemple :
Hexadécimal 3 F B 0 E C 9
(3) (15) (11) (0) (14) (12) (9)
Addition
A B ADD Retenue
Retenues
0 0 0 0 1 1 1 1 intermédiaires
101101 Opérande 1
0 1 1 0 +
110101 Opérande 2
1 0 1 0
1 100010 Résultat
1 1 0 1
Soustraction
A B A-B Retenue
11011001 Opérande 1
10101110 Opérande 2
0 0 0 0
1 11 1 Retenues intermédiaires
0 1 1 1
00101011 Résultat
1 0 1 0
1 1 0 0
Table de vérité
Multiplication
Division entière
Exemple :
6310 00111111
- +
2810 00011100 11100011
28 +00011100
- 63 10
00111111 11000000
10
6310 00111111
-
2810 00011100
+
+ 11100011
1
11100100 11100100
3510 00100011
2810 00011100
-
6310 00111111
+
+1 1 0 0 0 0 0 0
1
11000001 11000001
( -35 représenté
- 3510 11011101 en complément à
2)
0,28125 x 2 = 0, 5625
0,5625 x 2 = 1,125
0,125 x 2 = 0, 25
0,25 x 2 = 0, 5
0,5 x 2 = 1, 0
Arrêt lorsque la partie décimale est nulle
1 0 1 0 0 1
1 x 2-1 = 0,5 + x x x x x x
0 x 2-2 = 0 + 2-1 2-2 2-3 2-4 2-5 2-6
1 x 2-3 = 0,125 + (0,5) (0,25) (0,125) (0,0625) (0,03125) (0,015625)
0x2 = 0
-4
+
0 x 2-5 = 0 +
1 x 2-6 = 0,015625 0,5 + 0 + 0,125 + 0 + 0 + 0,015625 0,640625
0,640625
7
Il faut ajouter 2 / 2 pour décaler l’exposant (soit 6410 ou 4016) ce qui
donne : 2Bit16 + 4016 => 4216 Bit
23 22 …..………………………………..…...….. ………..1 0
31 30 29 ………….. 25 24
Mantisse : 23 bits
• Double précision : Signe de la mantisse : 1 bits
(64 bits) Exposant : 11 bits (biaisé à 1023)
Mantisse : 52 bits
• Précision étendue sur 80 bits
Codes usuels :
Baudot : 5 bits code télégraphique à 5 moments
ASCII (American Standard Code for Information Interchange)
standard : 7 bits
étendu : 8 bits
Codes basés sur le code ASCII
Code ANSI (American National Standard Institute) utilisé par Windows
Utilisation d’un code page pour designer les extensions
Norme Teletel Videotex
EBCDIC (Extended Binary Coded Decimal Interchange Code) : 8 bits
similaire à ASCII, utilisé essentiellement par IBM.
UNICODE (UNIversal CODE) ISO/IEC 10646
UCS-2 (Universal Character Set 2) 16 bits
UCS-4 (Universal Character Set 4) 32 bits
Bits 7,6,5
Données
La fonction logique d’un circuit combinatoire est définie par sa table de vérité,
vérité c’est à dire
le tableau de correspondance entre les états des variables d’entrée et l’état des variables
de sortie.
La table de vérité d’une fonction de n variables a autant de ligne que de combinaisons
possibles d’états d’entrée, pour une combinaison donnée la sortie prenant soit la valeur 0
soit la valeur 1.
George Boole a défini une algèbre qui s’applique a ce type de logique. Il a montré que
toute fonction logique peut être réalisée grâce à un petit nombre de fonctions logiques
élémentaires appelées opérateurs logiques ou portes logiques (gates en anglais)
a F s S = F (a)
Entrées: a
Sortie: s Fonctions réalisées
0 1
0 0 F0 0 Constante Nulle
0 1 F1 a Identité
1 0 F2 a Fonction NON (Not)
1 1 F3 1 Constante 1
Table de vérité
S=a
a S
Représentations
0 0
1 1
a S
Fonctionnement : Interrupteur
a = 0 Interrupteur ouvert
a = 1 Interrupteur fermé
S = 0 Lampe éteinte a 1 S
S = 1 Lampe allumée a
S
Lampe
S=ā a S
S = Non a 0 1 a S
S = Not a 1 0
a 1 S
S=ab a b S
a
0 0 0 S
S=ab b
0 1 0
1 0 0 a
& S
1 1 1 b
a b
S
Lampe
S=a+b a b S
a
0 0 0 S
S=ab b
0 1 1
1 0 1 a
1 S
1 1 1 b
Fonctionnement : 2 Interrupteurs en parallèle
b S
Lampe
S= ab a b S
a
0 0 0 S
b
0 1 1
1 0 1 a
=1 S
1 1 0 b
S a b (a b) (a b)
Table de vérité
Représentations
S=ab a b S
S=ab 0 0 1 a
S
0 1 1
b
1 0 1
1 1 0
a
& S
b
Cet opérateur est dit « complet » car il permet de réaliser toutes les
autres fonctions.
a b S
S=a+b a
0 0 1 S
S=ab b
0 1 0
1 0 0
a
1 1 0 1 S
b
Cet opérateur est dit « complet » car il permet de réaliser toutes les
autres fonctions.
a a a a
1 0
a ab a a+b
b ab b a+b
1 0
a a
a a
1 0
a+b ab
b b b
b
1 0
abz
Soit une fonction définie par la table de vérité suivante :
0 0 0
Sa forme canonique est :
0 1 1
z(a, b) a b a b a b
1 0 1
La table de Karnaugh 1 1 1
correspond à une
représentation de la table
de vérité qui permet de a
regrouper visuellement les a
mintermes de la fonction 0 1
pour la simplifier: b
Z(a,b) = a + b 0 1
Chaque case contient un minterme
b 1 1 1
c
ac a
00 01 11 10 Exemple avec
b
3 variables
0 1
b 1 1 1 1
b
ab a
00 01 11 10
cd
Exemple avec
00 1 1 1 4 variables
01 1 1
d
11 1 1 1
c
10 1 1 1
S ab ab ab
Table de vérité
R ab
a
a b S R S
b
0 0 0 0
0 1 1 0
1 0 1 0 R
1 1 0 1
S = Somme a S
R = Retenue ½ ADD
b R
Retenue précédente
Rn-1 Sn
½ ADD
an Retenue propagée
½ ADD Rn
bn
Retenue générée
L’étude des circuits séquentiels repose sur la théorie des automates finis
(Finite state machines).
Automate de Moore
E
Logique Etat de Logique
S
combinatoire l’Automate Q combinatoire
S (t+1) = f [ Q (t+1) ]
Q (t+1) = g [ E (t) , Q (t) ]
Automate de Mealy
E S
Logique
combinatoire
Etat de
l’Automate Q
1 0 0 1
0 1 1 0
R Q
R S Q Q+
0 0 0 0 Q+ = Q
0 0 1 1 Q+ = Q
R S Q+
0 1 0 1 Set
0 0 Q
0 1 1 1 Set
Q 0 1 1
S 1 0 0 0 Reset
1 0 1 0 Reset
1 0 0
1 1 0 0 1 1 0
0
R Q 0 0 X Indéterminé 0 0 X
1 1 0 0
1
0 0 X Indéterminé
S Q
Principe de fonctionnement :
Au repos : S = R = 0 : la bascule mémorise l’information :
elle est alors soit dans l’état 0 : Q = 0 et Q = 1
soit dans l’état 1 : Q = 1 et Q = 0
Lorsque S est activée (S = 1, R restant à 0)
la bascule passe dans l ‘état 1 : Q = 1 et Q = 0
ou y reste si elle y était déjà.
Lorsque R est activée (R = 1, S restant à 0) :
la bascule passe dans l ‘état 1 : Q = 1 et Q = 0
ou y reste si elle y était déjà.
Si R et S sont tous les deux activés (entraînant Q = Q = 0), et qu’on les désactive
«simultanément» alors la bascule a autant de chance de prendre l’état 0 que l’état 1,
ce que l’on traduit par l’état «indéterminé» X. Cette combinaison est normalement
interdite.
La bascule R-S peut aussi être implémentée en utilisant des portes NAND de la façon
suivante :
S
S
Q
Ce schéma permet de comprendre
plus facilement celui de la page
suivante correspondant à la bascule
R-S Synchrone où S et R sont
contrôlés par l’horloge.
Q
R
R
S Q
R S C Q+
0 0 0 Q
0 1 0 Q
C
1 0 0 Q
1 1 0 Q
0 0 1 Q
Q Valeurs prises
R 0 1 1 1
par Q quand C
1 0 1 0 passe de 1 à O.
S Q 1 1 1 X
Jn Kn Q n+1
0 0 Qn
Toutefois lorsque J=K=1 la bascule oscille 0 1 0
alternativement entre les états 0 et 1. 1 0 1
1 1 Qn
Année 2003-2004 Initiation à l'architecture des ordinateurs 71
Bascule J-K synchrone
Lorsque l’horloge C est active (1) le comportement est celui de la bascule J-K
asynchrone.
Lorsque l’horloge C devient inactive (passe de 1 à 0) l’état de la bascule est
mémorisé jusqu’à ce que l’horloge redevienne active.
R Q Q
K
C C
J S Q Q
D S Q Q D Q
C C
R Q Q C Q
E0 E1 E2 E3
D Q D Q D Q D Q
C Q C Q C Q C Q
W
R
S0 S1 S2 S3