Professional Documents
Culture Documents
Informations pratiques
Cours : Ccile Germain-Renaud Page Web :
http://www.lri.fr/~cecile/ENSEIGNEMENT/LAM/LAM.html
Plan du cours
1. 2. 3. 4. 5. 6. 7. Reprsentation de linformation Circuits combinatoires Registres et automates Mmoire Architecture logicielle Micro-Architecture Introduction aux architectures avances
1. L'information
Plan
Dfinitions Support Reprsentation des entiers Reprsentation des rels
L'information
Analogique : grandeur continue ou Numrique (= digitale) :
Information = connaissance d'un tat parmi un nombre fini d'tats possibles Le cas le plus simple : 1 tat parmi 2
Support : grandeur physique continue - tension Le temps intervient pour obtenir une mesure pertinente de l'tat
L'information
Seuil bas
Codage - dfinitions
1 bit = quantit d'information lie la connaissance d'1 tat parmi 2 -> codage par 0 et 1 Avec n bits, on peut coder 2n tats, donc la quantit d'information contenue dans la connaissance d'1 tat parmi N est
Log2 ( N ) bits
8
Codage - exemple
B2 0 0 0 0 1 1 1
B1 0 0 1 1 0 0 1
B0 0 1 0 1 0 1 0
Notations
Binaire : 00101100
Peu pratique pour le traitement manuel
Hexadcimale : 1 digit hexa par quartet 0x2C La notation hexadcimale ne prjuge pas du contexte d'interprtation exemple : A' est cod par 0x41
10
Ordres de grandeurs
Ordre de grandeur Puissance de 2 Kilo Mega Giga Tera Peta 10 20 30 40 50 Puissance de 10 3 6 9 12 15
11
Quelle information ?
Tous les processeurs
Nombres
Entiers naturels et relatifs Rels
Caractres Instructions
12
Quel codage?
Doit permettre de raliser des oprateurs matriels rapides
Code de 1
Code de 2
Additionneur Code de 3
13
Additionneur Code de 3
14
Quelle information ?
Certains processeurs reprsentent et traitent les vecteurs d'entiers et de rels
Processeurs multimdia Console de jeux
15
Interchange : 7 bits + 1 bit de parit Caractres alphanumriques latins non accentus + caractres spciaux
16
Plan
Dfinitions - Support Reprsentation des entiers Reprsentation des rels
17
18
L'additionneur
Additionneur : circuit matriel qui effectue l'addition nave des entiers naturels sur n bits et tronque ventuellement la retenue Symbole : # Nom de l'opration : additionnage
n r Additionneur n
19
L'additionneur
Le rsultat du calcul dans l'additionneur peut tre faux : retenue Sur 3 bits
001 # 001 = 010 001 # 111 = 000 Correct : 1 + 1 = 2 Faux : 1 + 7 0
L'additionnage est tout simplement l'addition modulo 2n , qui n'est dfinie que sur Z/ 2nZ.
20
Division entire par 2k : dcalage droite de k positions Oprateur matriel trs simple
22
[2 n1 2 n1 1]
Si N 0, N est cod comme un entier naturel Si N < 0, N est cod par la reprsentation en naturel de
2n + N
23
Nombre 0 1 2 3 -1 -2 -3 -4
Code 000 001 010 011 De 8 -1 = 7, soit 111 De 8 - 2 = 6, soit 110 De 8 3 = 5, soit 101 De 8 4 = 4, soit 100
24
an1a2a1a0 code
an1+ai2i
i=0
n2
2. Le bit de poids fort des positifs est 0, des ngatifs est 1 3. La reprsentation de -1 est le mot o tous les bits sont 1 : FF (8bits), FFFF (16bits) etc.
25
Oprations arithmtiques
L'oppos d'un relatif s'obtient en complmentant bit bit et en ajoutant 1
Code (-N) = Code (cpt(N) # 1) Ex. sur 8 bits, 2 est cod par 00000010 Complment bit bit : 11111101 # 1 = 11111110
26
Oprations arithmtiques
Le circuit additionneur peut effectuer aussi l'addition des relatifs s'ils sont cods en complment 2 : un seul circuit
Code de 1
Code de 2
Code de 1
Code de -2
Additionneur Code de 3
Additionneur Code de -1
27
Addition des relatifs Le rsultat du calcul dans l'additionneur peut tre faux : overflow
Sur 3 bits : 001 # 001 = 010 001 # 110 = 111 111 # 111 = 110 011 # 001 = 100 110 # 101 = 011 correct : 1 + 1 -> 2 correct : 1 + (-2) = -1 correct : -1 + -1 = -2 faux : 3 + 1 n'est pas codable faux :-2 + (-3) n'est pas codable
28
29
-2n
2n-1
Overflow pour les positifs r=1
2n
30
10
31
Plan
Dfinitions Support Reprsentation des entiers Reprsentation des rels
32
Principe : reprsentation normalise par mantisse et exposant, avec un choix judicieux des valeurs de l'exposant
33
11
Mantisse-exposant en base 2
Le codage des rels utilise la reprsentation mantisse-exposant, avec B = 2 Nombres deucimaux : de la forme N/2p 1,100112 = 1 + 2-1 + 2-4 + 2-5 = 1100112 . 2-5 = 51 . 2-5
Dans la suite, on ne note plus l'indice 2
Normalisation : le chiffre avant la virgule est forcment un 1, qui sera implicite dans le codage de la mantisse pour conomiser un bit
35
31 30
23 22
s 1
E 8
f 23
E = interprtation en naturel Pour E 0 et 255, la valeur code est (-1)s . 2E-127 . 1,f Soit e = E -127. Alors -126 e 127
36
12
31 30
23
22
1 1
10010001 8
001000 23
2. Dcalage droite de la 0,75 = 21x0,0112 mantisse du plus petit nombre 3. Somme des mantisses 4. Normalisation du rsultat 5. Traitement cas exceptionnels overflow, underflow, zero 1,012 + 0,0112 = 1,1012 Normalis Non
13
Diffrence 0 2. Dcalage droite de la Pas de dcalage mantisse du plus petit nombre 3. Somme des mantisses 1,1012 + 1,012 = 10,1112
4. Normalisation du rsultat 10,1112 x21=1,01112 x22 5. Traitement cas exceptionnels overflow, underflow, zero Non
Erreurs darrondi
Le rsultat dune addition est souvent faux Mais le standard impose que le rsultat soit le rsultat exact arrondi, avec des choix possibles
Au plus prs / Valeur Infrieure / Valeur suprieure Mais 230
Ralis avec 3 bits supplmentaires seulement En langage de haut niveau, options de compilation
42
14
Erreurs darrondi
Laddition nest plus associative (-230 + 230) + 3,25 = 3,25 -230 + (230 + 3,25) = 0
Le traitement des erreurs darrondi dans les mthodes numriques est une composante essentielle de linformatique numrique
Trs bien connu pour lalgbre linaire et encapsul dans des bibliothques dont lutilisation est imprative Beaucoup moins bien en simulation
43
s 1
Nom Dnormalis Zro Infini NaN
E 8
E 0 0 255 255 f Non 0 0 Non 0 0
f 23
valeur s -127 (-1) .2 .0,f 0 s (-1) . NaN
44
45
15
Conclusion
L'interprtation d'une chane de bits dpend du contexte.
0xC8900000 -> -218(1 + 2-3) en flottant -> 12x167 + 8x166 + 9x165 en naturel sur 32 bits -> en relatif
Comment le matriel reconnat-il le contexte : voir deuxime partie La validit des calculs doit tre dmontre a priori
46
2. Circuits combinatoires
Plan
Algbre de Boole et portes logiques Reprsentations des fonctions boolennes
Formes normales Minimisation
Ralisations
Multiplexeurs et dcodeurs PLA Ladditionneur
48
16
Introduction
Information Etat Haut - Etat Bas Abstraction :
Etat Haut -> 1 Etat Bas -> 0
49
Algbre de Boole
Soit E un ensemble non vide, muni de deux oprations binaires + et ., dune opration unaire note -, et deux lments particuliers de E nots 0 et 1. (E, 0, 1, +, ., - ) est une algbre de Boole si (i) les oprations + et . sont commutatives et associatives (ii) 0 est neutre pour + et 1 pour . (iii) + et . sont distributives l'une sur lautre (iv) a E , a . a = 0 et a + a = 1
50
+ 0 1
0 0 1
1 1 1
51
17
Proprits
Si (E, 0, 1, +, ., - ) est une algbre de Boole, (E, 1, 0, ., +, - ) est aussi une algbre de Boole. !!a = a a + a = a a.a = a a + 1 = 1 a.0 = 0 a + 0 = a a.1 = a Rgles de De Morgan
a, b E, a + b = a.b a, b E, a.b = a + b
52
P( E, , E, , )
Les n-uplets de boolens Dans la suite, on considre l'algbre 2 lments (B, 0,1, +, ., ).
53
Portes logiques
Porte logique : circuit qui ralise une fonction lmentaire
ET AND .
OU OR +
Inverseur NOT
_
54
18
tp
E S t
55
Technologie CMOS
CMOS = Complementary Metal-oxide semiconductor Ici, transistor = interrupteur Le transistor P est ouvert si G=haut, ferm si G = bas Le transistor N est ouvert si G= bas, ferm si G = haut
Transistor N
Transistor P
57
19
Portes
a b E S S S b
Inverseur
Porte NOR
Porte NAND
58
a = a.1 = NAND (a, 1) a = a.a = NAND (a, a) a.b = a.b = NOT(NAND(a, b)) a + b = a.b = NAND (NOT(a), NOT(b))
59
a, b E, a + b = a.b
=
a, b E, a.b = a + b
=
60
20
NANDk et NORk NANDk (x1, , xk) = x1.x2. .xk NORk (x1, , xk) = x1+ x2+ + xk
NOR4
NAND4
Le OU exclusif - XOR
a 0 0 1 1 b 0 1 0 1 ab 0 1 1 0
a b = a.b + a.b
Porte XOR
62
Le multiplexeur
Dfinition : if c then e0 else e1 Expression logique : s = c.e0 + c.e1 Mais ralis directement
p p
e0
e1 c s
p
63
0 1
21
Plan
Algbre de Boole et portes logiques Reprsentations des fonctions boolennes
Formes normales Minimisation
Ralisations
Multiplexeurs et dcodeurs PLA Ladditionneur
64
Fonctions boolennes
Fonctions de {0,1}n vers {0,1} Reprsentations
En extension : tables de vrit Algbrique : f(a,b,c) = b + a.c La reprsentation algbrique n'est pas unique : a+a=a a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 f 1 1 0 0 1 1 0 1
65
Exemples
Bit de parit c= !a+b +a.!b = XOR(a,b) Convertisseurs naturel-Gray Une fonction g de 4 variables qui est 1 ssi le nombre de 1 est gal au nombre de 0
66
22
67
68
Circuits combinatoires
Dispositif matriel qui calcule = ralise une ou des fonctions boolennes
f0(e0, e1, en-1), , fp-1(e0, e1, en-1)
Synthse logique : mthodes de conception des circuits combinatoires Compromis temps de propagation / encombrement / facilit de conception
69
23
70
Thorme de Shannon
f(x1, xn) = x1. f(0, x2, xn) + x1. f(1, x2, xn)
Les deux membres sont identiques pour x1 = 0 et x1 = 1
Applications
Ecrire la fonction comme un polynme aux xi et xi complments (FDN, FCN) Exprimer lexpression partir de fonctions multiplexeurs
71
x0 0 0 1 1
x1 0 1 0 1
m3 0 0 0 1
m2 0 0 1 0
m1 0 1 0 0
m0 1 0 0 0
72
24
73
74
a b c
75
25
76
77
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
f 1 1 0 0 1 1 0 1
f = (a + b + c).(a + b + c).(a + b + c)
78
26
Minimisation
Contrainte : toujours logique 2 niveaux Moins de minterms : plus petit OU Moins de variables dans chaque minterm : plus petits ET
a 0 0 1 1
b 0 1 0 1
f 1 0 1 1
ab + ab + ab = a + b
79
a
b
X
a
X X
80
b b
a a
xx
a a b b
xx xx
c c c
bc
c c c
c
a a b x xxx b x xxx c c c
1
81
27
a.b
x x x x d x x x x d
b a.b.d b
d
c
c
82
b b
a a
xxx xxx
c c c
f=a+c
83
Tables de Karnaugh
Attention : grille torique
a a
x x
bx
f = a.c + b.c
c c c
84
28
Minimisation : dfinitions
Monme premier : qui n'est contenu dans aucun autre Base irredondante : ensemble de monmes premiers
(a) Dont la somme est gale la fonction (b) Telle que si on enlve un monme, (a) n'est plus vraie
Pas d'unicit
premiers
x x x x x x x x x x x x x x x x x x x x x
non premier
BI 4 monmes
BI 3 monmes
85
Minimisation : dfinitions
Base irredondante minimale : en nombre de monmes, puis en taille de monmes Algorithme :
Gnrer tous les monmes premiers Gnrer toutes les bases irredondantes par essais successifs Choisir une base minimale (pas unique)
86
Pas d'unicit
x x x x x
x x x x x
x x x x x
Equivalentes
29
Minimisation manuelle
Effectuer les regroupements par ordre dcroissant de taille Choisir les regroupements qui liminent le plus grand nombre de x sans redondance Tous les x doivent tre pris en compte
88
Afficheur 7-segments
9
89
e3
x x x x
10 11
d d
8 9 13
x x
e0
e2
15 14
x d
12
e0
e0
a = e1 + e3 + e2 .e0 + e2 .e0
90
d d
e1
e1
e1
30
Plan
Algbre de Boole et portes logiques Reprsentations des fonctions boolennes
Formes normales Minimisation
Ralisations
Multiplexeurs et dcodeurs PLA Ladditionneur
91
92
Les Multiplexeurs
Fonction : slection
p p
Le + simple : 1 parmi 2
si c == 0 alors s = e0 sinon s = e1
e0 s
p
e1 c
0 1
93
31
Les Multiplexeurs
1 parmi 2n 2nxp entres de donnes, n entres de contrle, 1xp sortie
e0 e1 e2 e3 c s
p
S = ei si c n-1c0 = i
94
Multiplexeurs
Toute fonction Boolnne de n variables peut tre implemente avec un multiplexeur 1 parmi 2n-1.
a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 f 1 1 1 0 0 0 0 1
a b c 1 0
95
Multiplexeurs
Pour une fonction de n variables, par exemple f(A,B,C,D) Avec un MUX 1 parmi 2n-1 donc n-1 lignes de slection Dfinir un ordre des variables, par exemple e3 = A, e2 = B, e1 = C, e0 = D Les n-1 bits de poids fort vont vers les n-1 lignes de slection, par exemple A,B,C Pour deux lignes conscutives, les valeurs possibles de la sortie sont soit 0, soit 1, soit e0, soit !e0. Connecter 0, e0, !e0, ou 1 chaque entre daprs le rsultat de l tape prcdente.
96
32
Les dcodeurs
n entres de donnes, 2n sorties = les minterms Donc, 1 seule sortie active un instant donn Si = 1 si e n-1e0 = i Toute fonction boolenne peut tre gnre avec un dcodeur et un OR : FDN s0 s1 s2 s3 s4 s5 s6 s7 Exemple dutilisation : Fonction g
e0 e1 e2 A
S1 = e2 .e1.e0
97
Ralisation structure
Un dcodeur 3:8 partir de dcodeurs 2:4
e0 e1 e2
m0
m7
98
Les encodeurs
Fonction rciproque du dcodeur Une seule entre 1, criture binaire du numro de lentre
e0 e1 e2 e3 e4 e5 e6 e7
s0 s1 s2
99
33
Les encodeurs
Fonction rciproque du dcodeur Une seule entre 1, criture binaire du numro de lentre active Exemple : encodeur 4:2
e3 0 0 0 1 e2 0 0 1 0 e1 0 1 0 0 e0 1 0 0 0 s1 0 0 1 1 s0 0 1 0 1
100
Ralisation minimise s0 = e1 + e3 s1 = e2 + e3
Organisation matricielles
COL. 4-bit
Poids Faibles
0 4 8 C
1 5 9 D
2 6 A E
3 7 B F
ligne 4-bit
Poids Forts
101
Clavier hexadcimal
COL. 4-bit
1 4 7 0
2 5 8 A
3 6 9 B
F E D C
ligne 4-bit
Valeur 4-bit
102
34
Les encodeurs
La ralisation minimise prcdente nest informative que sous la contrainte 1 seule entre active Si toutes les entres 0, toutes les sorties sont 0, comme pour e0=1
e3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
e2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
e1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
e0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
S1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
S0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1
103
Encodeur de priorit
Priorit au 1 de plus fort poids Bit de validit Encodeur de priorit 4:2
e3 0 0 0 0 1 e2 0 0 0 1 d e1 0 0 1 d d e0 0 1 d d d s1 X 0 0 1 1 s0 X 0 1 0 1 V 0 1 1 1 1
104
35
Gestion dinterruption
Encodeur de priorit
Device A Device B Device C Device D IntRq #Requte
Microprocesseur
106
a b c d e
107
b minterms Matrice OU
36
La structure PLA
Optimise la surface et la faisabilit
Existe comme circuit indpendant configurable par claquage des connexions ET et OU (PLA) ou seulement ET (PAL)
p entres fixes
Matrice ET
n sorties fixes
109
La structure PLA
Minimisation globale sur l'ensemble des fonctions : la minimisation individuelle peut tre contre-productive
Matrice ET
a+b a.b a b
110
b cin s
b0 b cin CIN
37
L'additionneur
L'additionneur 1 bit
a cout b cin s
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
Cin 0 1 0 1 0 1 0 1
S 0 1 1 0 1 0 0 1
Cout 0 0 0 1 0 1 1 1
112
a b Cin
113
Cout
Temps de propagation : 3t
Cout = a.b + a.Cin + b.Cin
Temps de propagation : 2t
114
38
Problme : temps de propagation de la retenue 2nt pour COUT (2n + 1)t pour Sn
115
Chemin critique
Plus long chemin (en temps) des entres vers une sortie
a3 a COUT cout s s3
b3 b cin
a2 a cout s s2
b2 b cin
a1 a cout s s1
b1 b cin
a0 a cout s s0
b0 b cin CIN
116
Retenue anticipe
Acclrer le calcul de la retenue de sortie Soient P = a + b propager une retenue 1 G = a.b gnrer une retenue Alors Cout = G + P. Cin
ai+1 a cout
ai a cout
bi b cin Couti-1
117
Couti+1
39
Retenue anticipe
Si P = a + b et G = a.b alors Cout = G + P . Cin En effet Cout = a.b + a.Cin + b.Cin = G + P . Cin Remarque: vrai aussi pour P = a XOR b
118
a3 a p P3 COUT
b3 b g G3 a
a2
b2 b a
a1
b1 b a
a0
b0 b
p P2
g G2
p P1
g G1
p P0
g G0
2t
CIN
Circuit anticipateur
Cout =G3+P3.G2+P3.P2.G1+P3.P2.P1.G0 + P3.P2.P1. P0 .Cin
2t
120
40
Cin
Cout3
S3 9t, le calcul anticip ne change rien Cout3 2t pour Gi, Pi plus 2t pour le circuit anticipateur : 4t S7 temps de calcul de Cout3 plus additionneur propagation : 13t Au lieu de 17t dans l'additionneur propagation simple
121
Toutes les retenues se calculent en 4t 2t pour les Gi, Pi 2t pour chaque retenue indpendamment Tous les Si en 7t : 4 pour les retenues et 3 pour le calcul de Si
Si = Gi .Pi Couti 1 Cout0 = G0 + P0 .Cout-1 Cout1 = G1 + P1.G0 + P1. P0 .Cout-1 Cout2 = G2 + P2.G1 + P2. P1 G0 + P2. P1 P0 .Cout-1 etc.
122
123
41
Cout3=G3+P3.G2+P3.P2.G1+P3.P2.P1.G0 + P3.P2.P1. P0 .Cout-1 Cout3=G3,0+P3,0. Cout-1 Cout7=G7+P7.G6+P7.P6.G5+P7.P6.P5.G4 + P7.P6.P5.P4 .Cout3 Cout7=G7,4+P7,4. Cout3 = G7,4+P7,4.(G3,0+P3,0. Cout-1) Cout15 = G15,12+P15,12.G11,8+ P15,12.P11,8 G7,4 + P15,12.P11,8 P7,4 G3,0 + P15,12.P11,8 P7,4 P3,0 Cout-1
124
Circuit GPA
P15,12 G15,12
Circuit GPA
P11,8 G11,8
Circuit GPA
P7,4 G7,4
Circuit GPA
P3,0 G3,0
Cout
Circuit anticipateur
Cin
6t
125
GPA GPA GPA GPA 2(n+1)t pour retenue sur 4n bits Temps logarithmique et non linaire GPA
Cout
Circuit anticipateur
Cin
126
42
L'UAL
Addition, soustraction, oprations logiques bit bit Implique entre de slection : commande
A
c1 0 0 1 1 c0 0 1 0 1 S A AND B A OR B A+B A-B
n n
c0 c1
n
127
+
c0
s Cout
128
+
Cout c0 c1
129
43
Plan
Motivation Bascules et registres
Conception des circuits de mmorisation
Automates
Utilisation des circuits de mmorisation
131
s e temps
132
44
s e Temps continu
133
Conception
Bascule : unit de mmorisation 1 bit Principe : utiliser des circuits combinatoires reboucls dans un tat stable. Rserv l'intrieur des registres.
134
Plan
Motivation Bascules et registres
Conception des circuits de mmorisation
Automates
Utilisation des circuits de mmorisation
135
45
Le Bistable
2 points fixes stables, 1 point instable. Pas d'entres, irrversible.
Q
=
S1 S2
E = S2
S1
S2
136
La bascule RS
Positionnement ou mmorisation
Q S Q Q R
137
La bascule RS
Nand (x, 1) = !x
Nand (x, 0) = 1
R = 1 S = 0 : Q = 1 et !Q = 0 0 1 Q !Q Q 0
criture d'un 1 1 0 Q
Q
138
46
La bascule RS
Nand (x, 1) = !x
Nand (x, 0) = 1 0
R = 0 S = 1 : Q = 0 et !Q = 1 criture d'un 0 1 Q 1 Q
La bascule RS
Ecriture d'un 0 : dtail du fonctionnement
1 1 Q 1 0 1 1 Q 1 0 1 0
Q
Q 0
A la fin de la deuxime tape, Q 0 verrouille le 1 sur !Q R peut changer ensuite : R doit tre maintenu 0 au moins 2tp De mme, pour l'criture d'un 1, S doit tre maintenu 0 au moins 2tp 140
La bascule RS
Ecriture d'un 0 : fonctionnement pathologique si non respect des tp 1 Etat initial 0 1 1
141
47
La bascule RS
Ecriture d'un 0 : fonctionnement pathologique si non respect des tp 1 S0 1
142
La bascule RS
Ecriture d'un 0 : fonctionnement pathologique si non respect des tp 1 1
1
Aprs 1 tp
143
La bascule RS
Ecriture d'un 0 : fonctionnement pathologique si non respect des tp 1 S repasse 1 prmaturment Etat aprs 2tp
1 1 1 0
144
48
La bascule RS
Ecriture d'un 0 : fonctionnement pathologique si non respect des tp
1 1 1
0 Etat initial
1 1 1 1
0 0
1 0 0 1
1 1
0 S0 Aprs 1 tp
La bascule RS
Ecriture d'un 1 : S = 0, R = 1 Ecriture d'un 0 : S = 1, R = 0 Donnes et commande sont mlanges
146
La bascule latch
Bascule RS
R
Q D
Q
Bascule latch C
Q
Q
49
La bascule latch
D Bascule latch C Fonctionnement idal Transparent : Q suit D Opaque : tat prcdent de Q maintenu Q Q C = 0 : mmorisation -opaque C = 1 : tat transparent
Q D C
148
La bascule latch
Bascule latch Q Q C = 0 : mmorisation -opaque C = 1 : tat transparent
C Fonctionnement rel Transparent : Q suit D avec retard Opaque : tat prcdent de Q maintenu
tb tb tb
Q D C
149
La bascule latch
S R Bascule RS
Q
Q
C = 0 : S = R = 1, mmorisation ; tat opaque D Q=D C=1:S=! D , R = D, donc Q = D et tat transparent Temps d'tablissement (setup) C ne doit pas repasser 0 trop tt Equivalent : D doit tre stable assez longtemps avant que C passe 0
D C
tsu
150
50
La bascule latch
Les donnes sont cohrentes sur l'tat bas
Q=A
E C A B Q
Q A E C
La bascule D
Bascule sur front
Enregistre l'tat de D sur la transition montante (0->1) de C. L'tat est recopi sur Q aprs tb. tb Q D C
152
tb
La bascule D
Contraintes : temps d'tablissement et de maintien
tsu th
D C
153
51
Ralisation de la bascule D
D C Bascule RS
!Q Q
154
!Q Q
Etat initial
Verrouillage
155
Registre
Un ensemble de bascules commandes par le mme signal : mmorisent simultanment n bits au lieu de 1.
Registre opaque : base de bascules D Registre transparent : base de bascules latch
156
52
Registre
D3
Q3
D2
Q2
D3 D2
Q3 Q2 Q1 Q0 C
D1
Q1
D1 D0
D0
Q0
157
Plan
Motivation Bascules et registres
Conception des circuits de mmorisation
Automates
Utilisation des circuits de mmorisation
158
Horloge
Signal priodique. Priode = Temps de cycle Tc Frquence F = 1/Tc Fournit une rfrence de temps discret commune un ensemble de circuits
Cycle n+1
clk Tc temps
159
53
Oprateurs synchrones
Yn+1 = G(Xn)
Bascule D Clk
Logique combinatoire
Bascule D
Cycle n +1
160
Frquence de fonctionnement
Tc tb + t pl + t su = Tc min Fmax = 1 Tc min
Logique combinatoire Bascule D Y
Bascule D Clk
tb
tpl
tsu
161
Dcaleur
Q1n+1 = Q0n
D0 Clk
tb tsu th
Bascule D
Q0 = D1
Bascule D
Q1
Q1 Q0 D0 Clk
tsu th
tb
162
54
Compteurs synchrones
Xi+1 = (1+Xi ) mod N
Clk
Logique combinatoire
D = Etat Futur
Registre opaque
Q = Etat Courant
D0 = Q 0
Q0 D0
Q0
Clk
164
Compteur par 4
Clk D = Etat Futur Registre opaque
Logique Comb.
Q = Etat Courant
D0 = Q 0 D1 = Q1.Q 0 + Q1.Q 0 = Q1 Q0
165
55
En utilisant les deux sorties des bascules D, on rcupre directement les sorties complmentes.
Q1 D1 Clk D0
Q0
Q0
166
Q1
Q0
Clk
00
Q1 D0 Q0
01
10
11
00
Automates synchrones
(qn+1, s) = f(qn, e) q : tat de l'automate e : entres s : sorties - commandes
Clk
168
56
(qn+1, s) = f(qn, e) Circuits : de l'automate de machine laver au contrle de microprocesseurs Thorie et pratique des langages
e
Clk s
169
Automate de Moore Un automate de Moore est un sextuplet Exemple : compteur par 4 avec RAZ {Q, q0, T, E, S, f}
Q ensemble des tats q0 tat initial E ensemble des entres S ensemble des sorties T transitions, inclus dans QxExQ f :Q -> S = calcul des sorties r
r
r !r
r r !r r f (q) = q
1 !r 2
170
r r !r r f (q) = q
1 !r 2
171
57
e d
Registre opaque Clk
q
Logique transition Logique sorties
s
172
d0 = q0 .r d1 = q1.q0 .r + q1 .q0 .r s1 = q1 , s0 = q0
173
Automate de Mealy
Un automate de Moore est un quintuplet Exemple : compteur par 4 {Q, q0, T, E, S} avec RAZ et signal
Q ensemble des tats r, < c > q0 tat initial r,<c> 0 r,<c> 1 E ensemble des entres r,<c> r, < c > r, < c > r,<c> S ensemble des sorties T transitions, inclus dans QxExSxQ 3 r, < c > 2
174
58
Automate de Mealy
T transitions, inclus dans QxExSxQ
2
175
e d
Registre opaque Clk
q
Logique transition Logique sorties
s
176
Comparaison Moore-Mealy
e d
Registre opaque Clk
e d
Registre opaque Clk
q
Logique transition Logique sorties
q
Logique transition Logique sorties
s
177
59
Comparaison Moore-Mealy
Les deux modles sont quivalents : tant donn un automate de Mealy (resp Moore), on peut toujours construire un automate de Moore (resp Mealy) qui a la mme squence de sorties pour une squence d'entres donnes. Mais l'automate de Moore a toujours au moins autant (et souvent beaucoup plus) d'tats que l'automate de Mealy quivalent.
178
Exemple : contrle de croisement Contraintes : Sr et non bloquant chemin Rouge Route < Temps Long Au moins Temps Long entre dtection et Route Rouge Orange pendant Temps Court (exact) Signaux : a = 1 : dtection (donn) tl/tc = 1 : Temps Long/Court coul Contrle des feux
dtecteurs
Chemin
Route
Route
179
Exemple : contrle de croisement Sans temporisation RV : route vert, chemin rouge RO : route orange, chemin rouge CV : route rouge, chemin vert CO : route rouge, chemin orange Seuls tats possible pour la scurit Moore : la valeur des feux est associe l'tat
RV
RO
CO
CV a
180
60
rl
Compteur
Comparateur TL
clk
rc
Compteur
Comparateur TC
clk
tl
tc
181
a, < rl >
RV tc,<rl> CO
tc, < rc >
RO tc,<rl>
CV
a.tl , < rl >
182
4. Hirarchie Mmoire
61
Hirarchie mmoire
Machine de Von-Neumann : mmoire RAM Un tableau linaire (1 dimension) N bits dadresse p bits de donnes 2N entits de P bits sont adressables une entit = un mot mmoire Adressable = lue/crite individuellement
p N A R/W D p
2N
184
Hirarchie mmoire
Machine de Von-Neumann : mmoire RAM, tableau doctets Ralisation matrielle
185
186
62
Performance des processeurs x 1,5 / an Dbit DRAM x 1,2 / an Dbit disques x 1,6 / an Les meilleures SRAM temps daccs = Tc processeur 1 ordre de grandeur SRAM -> DRAM 3 ordres de grandeur DRAM -> disques
188
Hirarchie mmoire
Vitesse Cot Capacit Cache L1 Cache L2 Mmoire principale Disques Mmoire Centrale Mmoire Virtuelle
A un instant donn, chaque niveau de la hirarchie contient un extrait du niveau infrieur Laccs tant plus rapide, la copie offre lillusion dune mmoire + rapide faible cot La gestion des copies et problmes relis doit tre transparente au niveau de lexcution des instructions
Cache : entirement en matriel Mmoire virtuelle : matriel et logiciel systme
189
63
Le principe de localit
Localit temporelle = Accs rpts une mme adresse
Boucles dans le code ventuellement en donnes Processeur
Premier accs Accs suivants
copie Cache
MP
190
Le principe de localit
Localit temporelle = Accs rpts une mme adresse
Boucles dans le code ventuellement en donnes Processeur
Premier accs Accs suivants
copie MP
191
Disque
Le principe de localit
Localit spatiale
Accs des adresses conscutives Le cot dun accs bloc est beaucoup moindre que le cot de n accs indpendants : T(bloc) = Ts + n Ti Processeur
Premier accs Accs suivants
copie
64
Le principe de localit
Localit spatiale
Accs des adresses conscutives Le cot dun accs bloc est beaucoup moindre que le cot de n accs indpendants : T(bloc) = Ts + n Ti
Processeur
Premier accs Accs suivants
copie MP
Disque
Le produit Matrice-Vecteur
194
Le produit Matrice-Matrice
195
65
fin pour Les accs par indirection peuvent coter TRES cher
Bon
pour i= 1,N
... A[L[i]] ...
fin pour
Mauvais
196
197
Organisation interne : 1D
Donne
BL
WL
0 A0 A1
WL
1
WL
BL
2 Dcodeur
WL
BL
BL
Cellule 1 bit
198
66
Adresses Lignes
A3 A2
Row Decoder
0 4 8 12
Amplificateurs
Column Decoder
Donnes
Adresses Colonnes
A0 A1
199
Organisation matricielle
Lorganisation matricielle concerne une mmoire 22mx1 bit Pour une mmoire 22mxp bits, la structure est rplique
200
201
67
Chronogramme en lecture
Trac Tpc
Tcac
Ad Col
Ad Col
Ad Col
202
203
68