CM Dui Ue3 Archi
CM Dui Ue3 Archi
CM Dui Ue3 Archi
Ordinateurs
hamid.ladjal@univ-lyon1.fr
hamid.ladjal@liris.cnrs.fr
1
Vue d'ensemble de
l'ordinateur.
• Architecture de Von Neumann
• Fonctions logiques
• Circuits combinatoires
• Circuits séquentiels
2
Architecture de Von Neumann
Dans le modèle de Von Neumann, l'ordinateur se compose d’une:
Unité centrale de
Unité traitement Mémoire centrale
d’entrées/sorties
UCT
4
Unité centrale de traitement (UCT)
L'UCT contient une petite quantité de registres :
5
Stockage des programmes en mémoire centrale
Chaque instruction est stockée en mémoire sous la forme d'un
ou plusieurs mots binaire.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
opcode adresse 6
Unité centrale de traitement
L'UCT contient (au moins) deux unités fonctionnelles :
Mémoire centrale
Unité Arithmétique
et Logique Unité
Unité de contrôle
d’entrées/sorties
UAL
7
Unité centrale de traitement
L'unité de contrôle (UC)
8
L'unité de contrôle (UC)
9
Unité centrale de traitement
10
Instructions et modes d'adressage
On distingue essentiellement trois classes d'instructions :
11
Merci pour les cours de N. Louvet de LIF6: http://perso.ens-lyon.fr/nicolas.louvet/LIF6/
Exemple LC-3
Le LC-3 est un processeur développé dans un but pédagogique
par Yale N. Patt et J. Patel dans http://highered.mcgraw-
hill.com/sites/0072467509/
13
Merci pour les cours de N. Louvet de LIF6: http://perso.ens-lyon.fr/nicolas.louvet/LIF6/
Instructions et modes d'adressage
La méthode de localisation des opérandes, dans la mémoire ou
parmi les registres, est appelé mode d'adressage ; on parle
d'adressage :
14
Instructions et modes d'adressage
Exemple2: réaliser une petite calculatrice
Voici un exemple d’un programme qui évalue : (10*2)*(9+6)
Language machine:
15
Architecture de Von Neumann
16
Logique combinatoire
17
Logique combinatoire
• L’algèbre de Boole
• Opérateurs de base
• Propriétés et les fonctions combinatoires
• Circuits combinatoires:
- Multiplexeur et démultiplexeur
- Codeur, décodeur et transcodeur
- Additionneur et comparateur….
• Circuits séquentiels…
18
Introduction
• Les machines numériques (ordinateur, tablette, téléphone…)
sont constituées d’un ensemble de circuits électroniques.
A
F(A,B)
Circuit
B
21
Algèbre binaire
2 LCI : ET, OU
• Somme (OU, Réunion, Disjonction)
s=a+b=avb
• Produit (ET, intersection, Conjonction)
s = a . b = ab = a ^ b
Application unaire :
• Not (complémentation, inversion, négation, non) s = a =
not(a) = a
23
Fonctions logiques
[0,1]n [0,1]
24
Opérateurs logiques de base
25
OU ( OR )
• Le OU est un opérateur binaire ( deux variables) , à pour
rôle de réaliser la somme logique entre deux variables
logiques.
• Le OU fait la disjonction entre deux variables.
• Le OU est défini par F(A,B)= A + B ( il ne faut pas
confondre avec la somme arithmétique )
A B A+ B
0 0 0
0 1 1
1 0 1
1 1 1
26
ET ( AND )
A B A. B
0 0 0
0 1 0
1 0 0
1 1 1
27
NON ( négation )
F(A)= Non A = A
( lire : A barre )
0 1
1 0
28
Tables de vérité de ET, OU, NON
b 0 1 b 0 1 a
a a
0 0 1 0 0 0 0 1
1 1 1 1 0 1 1 0
s=a+b s=a.b s=a
S est vrai si a OU b S est vrai si a ET b S est vrai
est vrai. sont vrais. si a est faux
ab s ab s a s
00 0 00 0 0 1
01 1 01 0 1 0
10 1 10 0
11 1 11 1
29
Deux autres opérateurs : NAND,NOR
b 0 1 b 0
a a 1
0 1 1 0 1 0
1 1 0 1 0 0
s = a b = a.b s = a b = a+b
32
Simplification des fonctions logiques
33
Simplification /optimisation ?
34
Simplification des fonctions logiques
35
Propriétés de ET,OU,NON
1) Les méthodes algébriques
• Commutativité • Idempotence
a+b = b+a a+a = a
a.b = b.a a.a = a
• Associativité • Absorption
a+(b+c) = (a+b)+c a+a.b = a
a.(b.c) = (a.b).c a.(a+b) = a
• Distributivité • Involution
a.(b+c) = a.b+a.c a=a
a+(b.c) = (a+b).(a+c)
Propriétés de ET,OU,NON
Les méthodes algébriques
• Théorème de "De Morgan"
• Elément neutre a+b = a . b
a+0 = a
a.b = a + b
a.1 = a
• Elément absorbant x =x
i
i
i
i
a+1 =1
a.0 = 0 x = x
i
i
i
i
Exercice 1:
Démontrez la proposition suivante :
A B C + ABC + A BC + ABC = BC + AC + AB
38
Propriétés de ET,OU,NON
Correction
A.B.C + A.B.C + A.B.C + A.B.C =
A.B.C + A.B.C + A.B.C + A.B.C + ABC + A.B.C =
B.C + A.C + A.B
40
Description de la table de karnaugh
•La méthode consiste à mettre en évidence par une méthode
graphique (un tableau ) tous les termes qui sont adjacents (qui
ne différent que par l’état d’une seule variable).
A AB
B 0 1 C 00 01 11 10
0 0
1 1
43
Tableaux de Karnaugh
Code Gray ou
bc binaire réfléchi
a 00 01 11 10 =
1 seul changement
0 0 1 0 0
entre 2 codes
successifs
1 1 0 1 0
f(a,b,c)
44
Tableaux de Karnaugh
Exemple 1 : 3 variables
AB
C 00 01 11 10
0 0 0 1 0
1 1 1 1 1
F ( A, B, C ) = C + AB
45
Tableaux de Karnaugh
Exemple 2 : 4 variables
AB
CD 00 01 11 10
00 0 0 0 1
01 1 1 1 1
11 0 0 0 0
10 0 1 0 0
F ( A, B, C, D) = AB + B D + BCD 47
Tableaux de Karnaugh
Exemple 4 : 5 variables
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 1 00 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 10 1 1
U=0 U= 1
AB
CD 00 01 11 10
AB
C 00 01 11 10 00 1 1 1
0 1 1 1 01
1 1 1 1 11
10 1 1 1 1
49
Logique multi-niveaux
X 1 1 X 1 logique
1
0 1 Z X Z déconnecté
Z
X X X X X inconnu
X
50
Logique multi-niveaux
•Pour les cas impossibles ou interdites
il faut mettre un X dans la T.V .
•Les cas impossibles sont représentées
aussi par des X dans la table de karnaugh
AB
CD 00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1 51
Tableaux de Karnaugh
• Il est possible d’utiliser les X dans des regroupements :
– Soit les prendre comme étant des 1
– Ou les prendre comme étant des 0
• Il ne faut pas former des regroupement qui contient uniquement des X
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB 52
Tableaux de Karnaugh
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB + CD 53
Tableaux de Karnaugh
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB + CD + BD 54
Tableaux de Karnaugh
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB + CD + BD + AC
55
Tableaux de Karnaugh
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB + CD + BD + AC + BC 56
Représentation des fonctions
a+b
57
Chronogrammes
a
1 0 0 1 1 1 0 0
b
0 0 1 1 1 1 0
a+b
58
Chronogrammes
a
1 1
b
1
a+b
Retard temporel
59
Chronogrammes
a+b
60
Réalisation en électronique
Convention négative H 0
(ou logique négative) L 1
61
Représentation graphique :
Norme française
a a
b & s b & s a s
ET NAND NON
a a a
b >1 s b >1 s b =1 s
OU NOR XOR
62
Représentation graphique :
Norme américaine
a s
a a
s s
b b NON
a s
ET NAND
a a a
s s s
b b b
OU NOR XOR
63
Schéma d’un circuit logique ( Logigramme)
Exemple 1
B F
F ( A, B, C ) = A.B + B.C
C
64
Les circuits combinatoires
65
Moyens physiques de réalisation
des fonctions logiques
Problème
Fonctions logiques
(cahier des charges)
Réalisation Technologique
66
Les circuits combinatoires
Objectifs
67
Circuits combinatoires
• Un circuit combinatoire est un circuit numérique dont les
sorties dépendent uniquement des entrées.
• Si=F(Ei)
• Si=F(E1,E2,….,En)
E1 S1
E2 S2
Circuit
.. ..
combinatoire
En Sm
Schéma Bloc
• Inverseurs
• Multiplexeur / démultiplexeur
• Codeurs / Décodeurs
• Transcodeurs
• Additionneur, comparateurs
• Unité arithmétique et logique UAL
69
Portes intégrées
Remarque 1 :
10 entrées = 210 fonctions possibles
Choix des meilleures fonctions
70
Portes intégrées
Remarque 2:
Problème du nombre de boîtiers pour réaliser une fonction
logique INTEGRATION
SSI (small scale integration) petite : inférieur à 12 portes
MSI (medium) moyenne : 12 à 99
LSI (large) grande : 100 à 9999
VLSI (very large) très grande : 10 000 à 99 999
ULSI (ultra large) ultra grande : 100 000 et plus
Remarque 3:
Une manière d’augmenter la puissance de traitement est
de construire des CI dédiés à une application
(ASIC pour Application Specific Integrated Circuit)
71
Multiplexeur
• Un multiplexeur est un circuit combinatoire qui permet de
sélectionner une information (1 bit) parmi 2n valeurs en
entrée.
• Il possède :
– 2n entrées d’information
– Une seule sortie
– N entrées de sélection ( commandes)
Em ......... E3 E1 E0
C0
C1 Mux 2n →1 V
Cn-1
S
72
Multiplexeur 4 → 1
Sélection d’une voie parmi 2N par N bits de commande
S1 S0
Q = S1. S0 . I 0 + S1 . S0 . I1 + S1 . S0 . I 2 + S1. S0 . I 3
73
Multiplexeur (logigramme)
Q= S1 . S 0 . I 0 + S1 . S 0 . I 1 + S1 . S 0 . I 2 + S1 . S 0 . I 3
I0
&
I1
&
I2 Q
& >1
I3
&
S1
S0
Q= S1 . S 0 . I 0 + S1 . S 0 . I 1 + S1 . S 0 . I 2 + S1 . S 0 . I 3
I0
I1
I2 Q
I3
S1
S0
75
Démultiplexeur
C0 DeMux 1 →4
C1
S3 S2 S1 S0
76
Démultiplexeur : 1 parmi 2n
Q0 = E si (S1S0)2=0
0 sinon
Q0
E Q1 Q1 = E si (S1S0)2=1
Q2 0 sinon
1 parmi 2N
Q3
S1 S0
Remarque : E peut ne pas être «disponible»
Sortie sélectionnée = 1 les autres 0
ou Sortie sélectionnée = 0 les autres 1
77
Démultiplexeur : 1 →4
Q0
E Q1
Q2
1 parmi 2N
Q3
S1 S0
Q0 = S1.S 0.( E )
Q1 = S1.S 0.( E )
Table de vérité
Q 2 = S1.S 0.( E )
Q3 = S1.S 0.( E )
78
Codeur (ou Encodeur)
2N entrées N sorties
0 I0
1 entrée parmi 2N 1 I1 C0
0 I2 C1 Le code de l’entrée
0 I3
Mot Code
Table de vérité
I0 I1 I2 I3 x y
0 0 0 0 0 0 I0
I1 x
1 x x x 0 0 y
I2
I3
0 1 x x 0 1
0 0 1 x 1 0 Equations
0 0 0 1 1 1 X = I 0.I1.( I 2 + I 3)
Y = I 0.( I1 + .I 2.I 3) 80
Le décodeur binaire
Table de vérité
V A B S0 S1 S2 S3
S0
A
0 X X 0 0 0 0 S1
B
S2
1 0 0 1 0 0 0
S3
V
1 0 1 0 1 0 0
S 0 = ( A.B).V
1 1 0 0 0 1 0
S1 = ( A.B).V
1 1 1 0 0 0 1
S 2 = ( A.B).V
S3 = ( A.B).V 82
Décodeur 3→8
A B C S0 S1 S2 S3 S4 S5 S6 S7
S0
0 0 0 1 0 0 0 0 0 0 0 A S1
B S2
0 0 1 0 1 0 0 0 0 0 0 C S3
S4
S5
0 1 0 0 0 1 0 0 0 0 0 S6
V S7
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 S 0 = A.B.C
1 0 1 0 0 0 0 0 1 0 0 S1 = A.B.C
1 1 0 0 0 0 0 0 0 1 0 S 2 = A.B.C
1 1 1 0 0 0 0 0 0 0 1 S 3 = A.B.C
S 4 = A.B.C
Remarque : S 5 = A.B.C
Multiplexeur Démultiplexeur S 6 = A.B.C
Codeur Décodeur
S 7 = A.B.C 83
Transcodeur
C1 C2
n m
84
Transcodeur : exemple
7-segments => 7 modules à 4 entrée et une sortie
0 I0
1 I1
0 I2
0 I3
A S
B
DA
R
0 0 0 0
R = A.B
0 1 0 1
S = A.B + A.B = A B
1 0 0 1
1 1 1 0 87
Demi Additionneur
R = A.B
S = A B
A S
B
Logigramme Demi-Additionneur 88
Additionneur complet
r4 r3 r2 r1 r 0= 0
ri-1
a4 a3 a2 a1
+ ai
b4 b3 b2 b1
+ bi
r4 s4 s3 s2 s1
ri si
89
Additionneur complet 1 bit
ai Si
Additionneur
bi
complet
Ri
ri-1
90
Additionneur complet 1 bit
ai bi ri-1 ri si
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
Table de vérité d’un
additionneur complet 0 1 1 1 0
sur 1 bit 1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
Equations 1 1 1 1 1
Ri = Ai Bi Ri −1 + Ai B i Ri −1 + Ai Bi R i −1 + Ai Bi Ri −1
Ri = Ri −1.( Ai .Bi + Ai .B i ) + Ai Bi ( R i −1 + i Ri −1 )
Ri = Ri −1.( Ai Bi ) + Ai Bi
92
Schéma d’un additionneur complet
R i = A i .Bi + R i −1.(Bi A i )
Si = A i Bi R i −1
Ai
Bi
Si
Ri-1
Ri
93
Additionneur sur 4 bits
• Un additionneur sur 4 bits est un circuit qui permet de faire l’addition de
deux nombres A et B de 4 bits chacun
– A(a3a2a1a0)
– B(b3b2b1b0) En plus il prend en compte de la retenu entrante
• Il faut trouver une solution plus facile et plus efficace pour concevoir ce
circuit ?
94
Additionneur sur 4 bits
•Lorsque on fait l’addition en binaire , on additionne bit par bit en commençant à
partir du poids fiable et à chaque fois on propage la retenue sortante au bit du
rang supérieur.
L’addition sur un bit peut se faire par un additionneur complet sur 1 bits.
r3 r2 r1 r0= 0
a4 a3 a2 a1
+ b4 b3 b2 b1
r4 s4 r3 s3 r2 s2 r1 s1
r4 s4 s3 s2 s1 Résultat final 95
Additionneur 4 bits ( schéma )
R4 S4 S3 S2 S1
96
Comparateur
• C’est un circuit combinatoire qui permet de comparer entre deux nombres
binaire A et B.
• Il possède 2 entrées : Il possède 3 sorties
– A : sur n bit E : égalité ( A=B)
– B : sur n bit I : inférieur ( A < B)
S : supérieur (A > B)
n
A S = 1 si A B
n E = 1 si A = B
B
= I = 1 si A B
Entrées de cascadage 97
Pour une comparaison à n autres bits
Comparateur sur un bit
Il possède 2 entrées : Il possède 3 sorties
A : sur un bit fe : égalité ( A=B)
B : sur un bit fi : inférieur ( A < B)
fs : supérieur (A > B)
Table de vérité fi
A
Comparateur fe
A B fs fe fi B 1 bit
fs
0 0 0 1 0
0 1 0 0 1 fs = A.B
1 0 1 0 0 fi = AB
1 1 0 1 0 fe = AB + AB = A B = fs + fi
98
Logigramme comparateur sur un bit
fs = A.B
fi = AB
fe = fs + fi
A fs
fe
B fi
A1
fi
A2
Comparateur fe
B1 2 bits
B2 fs
100
Comparateur 2 bits
fe = ( A2 B2).( A1 B1)
A>B si
A2 > B2 ou (A2=B2 et A1>B1)
A<B si
A2 < B2 ou (A2=B2 et A1<B1)
Il possède 3 sorties
• Il possède 2 entrées : fe : égalité ( X=Y)
– A : sur 3 bits fi : inférieur ( X < Y)
– B : sur 3 bits fs : supérieur (X> Y)
X2 S1 (X>Y)
X X1
X0
Comparateur S2 (X<Y)
Y2 3 bits
Y Y1
Y0 S3 (X=Y)
102
Deux circuits combinatoires
X2 S1 (X>Y) a a
X X1 b
c
f b
X0 S2 (X<Y)
Comparateur d g
Transcodeur e
Y2 3 bits S3 (X=Y) f e
c
Y Y1 g
d
Y0
Par exemple
n Cin Exemple :
Données
A Résultat
P
G R=A+B
A=B R=A+B
n R
n R =A+B +1
B
5 Cout ...
R = A ou B
S R = A nand B
Choix de la ...
fonction (32 cas)
Instruction
104
Circuits séquentiels
Plan
• Introduction
• Définition d’une bascule
• Présentation de quelques bascules (RS, D,
JK)
Applications :
Les registres; les registres à décalage
Les compteurs modulo n
106
Définition
• Rappel : Circuit combinatoire = la valeur des
sorties St dépendent de la valeur des entrées (Ei)
108
Circuit séquentiel : Etats Stables
109
Les bascules ( flip-flops)
Éléments de base
Bascules Logique sequentielle
E0
E1 Q
+
…… Une bascule Q =F(Ei
,Q)
E2 Q
Données
Entrées sorties
Bascule
Synchrone
Horloge
Données
Entrées sorties
Bascule
Asynchrone
111
Horloge (Clock)
• Horloge : composant passant indéfiniment et régulièrement
d’un niveau haut à un niveau bas (succession de 1 et de 0),
chaque transition s’appelle un top.
1
0 0
0 1 2
Période
Front Front La période T est en seconde
montant descendant
A et B
Temps de réponse
10ns à 1,5ns selon la famille TTL, CMOS 113
Horloge (Clock)
S
Q
R = Reset (Mise à 0)
S = Set (Mise à 1)
Q’
R S Qt+1
S Q 0 0 Qt Ne change pas d'état
0 1 1 Mise à 1
R Q’ 1 0 0 Mise à 0
1 1 ? Interdit
116
Bascule RS
t
Bascule RSH
S
Condition supplémentaire :
Q H actif
Q’
R
R S Qt+1
S Q 0 0 Qt Ne change pas d'état
H 0 1 1 Mise à 1
R Q’ 1 0 0 Mise à 0
1 1 ? Interdit
118
Bascule RSH
S Q
H
R Q’
R S Qt+1
0 0 Qt Ne change pas d'état
0 1 1 Mise à 1
1 0 0 Mise à 0
1 1 ? Interdit
119
Bascule D
D Q
H
Q’
Table de transition
120
Bascule D
CLK
t
Bascule JK
• Diagramme, symbole et table de transition :
Table de vérité
J K Qt+1
J 0 0 Qt Ne change pas d'état
Q 0 1 0 Mise à 0
H 1 0 1 Mise à 1
Q’ 1 1 Qt Change d'état
K
J Q
H
K Q’
122
Table de transition
Bascule JK
CLK
t
Applications des circuits
séquentiels
- Les registres
- Les compteurs
Applications des circuits séquentiels
125
Applications des circuits séquentiels
Exemples:
126
Applications des circuits séquentiels
Les registres à décalage :
Les compteurs :
Exercice: on désire réaliser un compteur modulo 8 : 0, 1, 2, …7, 0, 1….
En utilisant les bascules JK
Horloge H
Sortie Q0
Sortie Q1
Sortie Q2
Valeurs décimales
du compteur
128
Nous avons trois bits : donc trois bascules 0,1, 2
Exercice : réaliser ce compteur avec des bascules JK.
Table de vérité
1 0 X 1
1 1 X 0
Table de transition
130
Tables de transition
Table de transition JK
Q2 Q1 Q0 Q2 Q1 Q0 J2/K2 J1/K1 J0/K0
0 0 0 0 0 1 0X 0X 1X
0 0 1 0 1 0 0X ….
Trouvez les
équations de 0 1 0 0 1 1
J2, K2, J1, 0 1 1 1 0 0
K1, J0, K0 en 1 0 0 1 0 1
fonction des
1 0 1 1 1 0
Qi avant
1 1 0 1 1 1
1 1 1 0 0 0
131
Applications des circuits séquentiels
• Resultats