systèmes numériques
DESCRIPTION
Systèmes numériques. Du microprocesseur aux circuits logiques. Control Unit. Arith. Logic. Unit. Architecture des Ordinateurs. 1- Processeurs 2- Mémoire 3- Entrées-Sorties. mémoire. E/S. Processeur. bus. 1011 0001. 0000 0111. Organisation de la m é moire. Processeur. - PowerPoint PPT PresentationTRANSCRIPT
1
Systèmes numériques
Du microprocesseur aux circuits logiques
2
Architecture des Ordinateurs
1- Processeurs2- Mémoire3- Entrées-Sorties
Control Unit
Arith. Logic.Unit
mémoire E/S
bus
Processeur
3
Organisation de la mémoire
E/S
bus
Processeur
Mémoire Instructions + opérandes
Ex: addition du contenu du registre R1avec la valeur numérique 7
ADD R1,#7
B1 07
1011 0001 0000 0111
1011 0001
0000 0111 @: adresse
data
4
Organisation de la mémoire
1011 0001
0000 0111
processeur@ CD04
bus d ’adresse
CD04
@
1
R/W
CS
1011 0001
CD05
1
0000 0111
1: positionnement de @
2: bit R/W en lecture
3: chip select actif
4: données sur le bus D
reg. d’adresse
CD04HCD05H
5
Organisation de la mémoire
processeur
D bus
@ bus
R/W
Décodage d ’adresse
CS1 CS2 CS3
M
D0
CS
D1
CS
E SCS110
10X
10Z
Exemple: mémoires de 2 Mo
21 bits d ’adresse
CS0
CS7
a23a22a21
déc.3 vers 8
.
.
.
a20:a0 @M
6
Entrées / SortiesUne adresse est attribuée au E/S (comme à une position mémoire)
processeur
D bus
@ bus
R/W
Décodage d ’adresse
CS CS CS
mémoire
3-états
interfaced’entrée
interfacede sortie
7
CPU La mémoire contient la suite d ’instructions constituant le programme
ADD R1,#7
B1 07
a=a+7
langage machine
assembleur
langage évolué
assemblage
compilation
Trois grands types d’instructions: transfert, calcul, branchement
LD R1,#4 :chargement de la valeur numérique 4 dans le registre R1MOV R2,ad1 :chargement du contenu de la mémoire @ad1 dans R2
ADD R1,#4 :addition de la val. num. 4 au contenu de R1, résultat dans R1SUB R2,R3 :soustrait le contenu de R3 à celui de R2, résultat dans R2INC R1 :incrémentation de R1 de 1
BR,ad1 :branchement inconditionnel à l’adresse ad1JE,ad2 :branchement conditionnel (si le bit Z est égal à 1) à l ’adresse ad2
8
CPU Codage des instructions
Nécessité de « calculer » l’adresse de la prochaine instruction
Code op. Opérande 1 Opérande 2 . . .
Les instructions n ’ont pas toujours le même nombre d’opérandes
@ CD04Code op.
Code op.
Code op.
Code op.
@ CD07@ CD08
@ CD10
Compteur de programme
9
CPU
recherche de l’instr.
lecture de l’instruction
décodage de l’instr.
éxécution de l’instr.
fetch/decode/execute
Lecture de l ’instruction depuis la mémoire(code op. registre d ’instruction IR )
Incrémentation du compteur de programme(le PC pointe le premier arg. ou la prochaine instr. )PC
Décodage de l’instruction par l’UC
Exécutionlecture des arguments (inc. PC)exécution
M@R
CD04
CD04 MDR
B1
IR
B1
UC
B1
CD05
07
CD06ALU
A0 07
A7
A0A7
10
CPU
PC
M@R MDR
B1
IR
UC
07
ALU
A0
Instructions de branchement
Branchement inconditionnelJp @ad1le PC est chargé avec l ’adresse ad1
Branchement conditionnelJz @ad2
Appel à un sous programme
Saut absoluSaut relatif
Registre de « flag »
...Z N Ov
=1 si le résultat délivré par l ’ALU est nul
flag
11
CPU
PC
M@R MDR
B1
IR
UC
07
ALU
A0
Sous Programme
Appel à un sous programmecall @ad1
flag
…@15A0 call @2200@15A1 inst.@15A2 ………
@2200 inst.@2201 ……@22E1 ret
Mémoriser l ’adresse de retour
Pile (stack)
12
CPUSous Programme
Sous programmes imbriqués
…@15A0 call @2200@15A1 inst.@15A2 ………
@2200 inst.@2201 call @2900…@22E1 ret
Mémoire LIFO (last in - first out)
Pointeur de pile (stack pointer)
@2900 inst.…@29A0 ret
PC
M@R MDR
B1
IR
UC
07
ALU
A0
flag
SP pile
13
Unité de Controle
Lecture de l ’instruction depuis la mémoire(code op. registre d ’instruction IR )
Incrémentation du compteur de programme(le PC pointe le premier arg. ou la prochaine instr. )
Exécutionlecture des arguments (inc. PC)exécution
@CD04 B1@CD05 07
PCreadM@RwrMemoryreadMemorywait
M@RreadXwrALUcmd(incX)ZreadPCwr
PC
M@R MDR
B1
IR
UC
07
ALU
flag
SP pileX
Z
PC en lectureM@R en écriturerequête à la mémoireacquitement mémoire
M@R en lectureregistre X en écriturecommande de l’ALUregistre Z en lecturePC en écriture
signal généré par l’UC
Décodage de l’instruction par l’UC
signal d’entrée de l’UC
14
Unité de Controle
PC
M@R MDR
B1
IR
UC
07
ALU
flag
SP pileX
Z
Pour chaque instruction, l’UC doit générerdes signaux de commande (vers l ’ALU,les registres, la mémoire) en fonction del’état courant des registres et de stimuliextérieurs
2 implémentations matérielles
machinecablée
machinemicroprogrammée
15
Numération
Représentation d ’un entier:0
01
12
21
1 2222 .a.a....a.aN nn
nn
an-1: MSB, bit de poids forta0: LSB, bit de poids fort
210 = 1024 1 kilo
220 = 1048576 1 Méga
Code héxadécimal
1100 0101 1011 0011
1210=Ch
C5B3h
16
Numération
Représentation des entiers négatifs:
Module et signe:
N = 0an-1….a1a0 -N = 1an-1….a1a0
4 = 0100-4 = 1100
Complément à 1:
N = an-1….a1a0 -N = an-1… a1a0
4 = 0100-4 = 1011
Complément à 2:
N = an-1….a1a0 -N = an-1… a1a0 + 1 = N + 1
4 = 0100-4 = 1100
17
Numération
Intérêt du C2:
Addition binaire:
9+312
1001+0011
1100
1
La soustraction est un cas particulier de l ’addition:
9-36
1001+110110110
18
Algèbre de Boole
Variable logique: variable appartenant à {0,1}
Fonction logique: fonction de variables logiques prenant ses valeurs dans {0,1}
Addition: A+B
0
10
1
0
AB
1
11
1
10
1
0
AB
00
0
Produit: A.B
19
Algèbre de Boole
Quelques propriétés:
(A+B).C = A.C + B.C
(A.B)+C = A+C . B+C !
Théorèmes de de Morgan:
A + B = A . B
A . B = A + B
Généralisation: F(Ai , + , . ) = F(Ai , . , + )
20
Portes logiques élémentaires
Matérialisation des variables logiques :
Les variables logiques sont représentées (le plus souvent)par des tensions VH et VL
Portes élémentaires: porte NAND
A
S
Valim
B A
BA.B
0
10
1
0
AB
1 1
1
21
Portes logiques élémentaires
0
10
1
0
AB
1
Portes élémentaires: porte NOR
A
Valim
B
S0
0
A
BA+B
22
Portes logiques élémentairesSimplification d ’une fonction logique
N0123456789
101112131415
DCBA0000000100100011010001010110011110001001101010111100110111101111
Exemple: afficheur 7-segments
traduction visuelle de nombresécrits en binaire sur un afficheurcomportant 7 DEL
le décodeur est un circuit qui active les segments de a à gen fonction du code de N
a
g
d
b
ce
f
table de Karnaugh:
0
BADC
111
00 01 11 10
00
01
11
10
0 11 1
1 1
xx x x
x x
23
Portes logiques élémentairesSimplification d ’une fonction logique
0
BADC
111
00 01 11 10
00
01
11
10
0 11 1
1 1
xx x x
x x
a = DCBA DCBA DCBA
DABC DBCA DCBA DCBA
situation jamais atteinte
DCBAA.DCBDCBADCAB simplification possible:
DCAB
24
Portes logiques élémentairesSimplification d ’une fonction logique
0
BADC
111
00 01 11 10
00
01
11
10
0 11 1
1 1
xx x x
x x
a = DCBA DCBA DCBA
DABC DBCA DCBA DCBA
DCAB
Adjacences dans la table de Karnaugh
1 1
DCBA + DCBA= DCA
1 1
1 1
DB
1 1
DCB
1 1
DCA
ACDBCDBDCADa
25
Paramètres électriques et temporels
Définition des niveaux logiques
Rappelons le circuit de l ’inverseur CMOS
E S
Valim La caractéristique de transfert de l ’inverseur estdonné par (série HC):
Valim
Valim
Ve
Vs
26
Paramètres électriques et temporels
Définition des niveaux logiques
Valim
Valim
Ve
Vs
A A
ve1
ve1vs1 =ve2
vs1 =ve2
ve2
vs2
vs2
A
27
Paramètres électriques et temporels
Définition des niveaux logiques
Valim
Valim
Ve
Vs
AA ?
ve1
ve1
vs1 =ve2
ve2
vs2
vs2
A?
vs1 =ve2
variation de la tension d ’alimentation
effet de la température
28
Paramètres électriques et temporels
Définition des niveaux logiques
Valim
Valim
Ve
Vs
A A
ve1 ve2 vs2
A
VILmax VIHmin
VOLmax
VOHmin
VOLmax < VILmax et VOHmin > VIHmin
29
Paramètres électriques et temporels
Définition des niveaux logiques
valeur minimale de la tension d ’entréepour que le signal soit vu comme « 1 »
valeur maximalede la tension d ’entréepour que le signalsoit vu comme « 0 »
dans les conditions du testle circuit assure cette tension
30
Paramètres électriques et temporels
Courants de sortie
E=0
S=1
Valim
IOH
E=1 S=0
Valim
IOL
31
Paramètres électriques et temporels
Courants de sortie
E S
Valim
IOL
Valim
charge
E S
Valim
E S
Valim
=0 =11
t
vs=1 =00
IOH
t
vs
=0 =1
Courant statique 0Consommation de courant en commutation
32
Paramètres électriques et temporels
Courants de sortie
courant maximaldélivré par l ’alimentationau repos
courants minimaux fournis à la chargependant les transitions
33
Paramètres électriques et temporels
Paramètres temporels
tpHL tpLH
tf
t
t
E S
E
S
tp: temps de propagation
tt: temps de transition
condition de charge
34
Paramètres électriques et temporels
Paramètres temporels
écart relatif maximal
35
Quelques fonctions combinatoires
Comparaison de deux mots binaires
La plupart de ces fonctions sont nécessaires à la réalisation d ’un système à µP,elles existent souvent aussi sous la forme de boitiers standards
4
4A
BA>B
A=BA<B
A>B
A=B
A<B
36
Quelques fonctions combinatoiresGénérateur de parité
Lors du traitement ou de la transmission d'un mot binaire,il peut arriver qu'une erreur sur un des bits intervienne(à la suite d'une variation des tensions d'alimentation ou d'une perturbation).En ajoutant à l'information utile, un bit supplémentaire appelé "bit de parité",il est possible de détecter qu'une erreur s'est produite.
Ce bit vaut "1" si le nombre de "1" contenu dans le mot utile est pair:
Ex:
A7:A00 1 1 0 0 1 0 1
even odd1 0
A7:A00 1 1 0 1 1 0 1
even odd1 0
contradiction
37
Quelques fonctions combinatoiresMultiplexeur/Démultiplexeur
101
0
38
Quelques fonctions combinatoiresArithmetic and Logic Unit
ALU 16 bits
choix d ’un fonctionnement« en ligne » ou synchronisé
sortie 3-états
choix de l ’opérande
sélectionde l ’opération
retenue entrante
bits d ’état
registreopérande
39
Quelques fonctions combinatoiresArithmetic and Logic Unit
40
Logique séquentielle
0
Principe
1
1
0
État initial
0
1
1
0
0 1
Mémorisation
E1
E2
S1
S2
41
Logique séquentielle
0
Principe
0
1
1
E1
E2
S1
S2
E1
0110
E2
1010
S1
10
1
S2
01
1mém.
Table de vérité
42
Logique séquentiellePrincipe
t
E1
t
E2
t
S2
t
E1
t
E2
t
S2
Les sorties dépendent des entrées, des états précédents des entréeset des temps de retard dans les circuits
43
Logique séquentielle
0
Principe
1E1
E2
Q
R01X
S10X
Q10
mém.
Table de vérité
S
T
R1
t
R
S
T
t
S
t
T110
44
Logique séquentielleD latch
E1
E2
Q
D10X
Q10
mém.
Table de vérité
D
T
D
T
t
S
t
T110
45
Logique séquentiellebascule D (D flip-flop)
D10X
Q10
mém.
Table de véritéD
T
t
Q
t
T1,0
Q
D
T
T ’
T
t
T ’
t
46
Logique séquentielleApplications des bascules D
Q
D T
Q
D T
Q
D T
Q
D T
D0:Dn
TRegistre parallèle
D Q
QT
Division de fréquence
t
D
Q
t
Tt
47
Logique séquentiellebascule JK (JK flip-flop)
T
t
K
t
t
J
t
Q
Toggle(J=1 et K=1)
Mémor.(J=0 et K=0)
Mise à 1(J=1 et K=0)
Mise à 0(J=0 et K=1)
J
K
T
Q
J
X0011
K
X0101
T
0,1,
état futurQn
Qn-1
Qn-1
01
Qn-1
mémor.mémor.mise à 0mise à 1toggle
J
01XX
K
XX10
état antérieurQn-1
0011
état futurQn
0101
48
Logique séquentielleFonctions séquentielles: comptage
t
Q0
t
Tt
Q1
t
Q2
7 0 1 2 3
Chaque sortie est obtenue à partir de la précédentepar une division par 2 de la fréquence
49
Logique séquentielleFonctions séquentielles: comptage
t
Q0
t
Tt
Q1
t
Q2
7 0 1 2 3
J Q
QK
T
1
J Q
QK
T
1
J Q
QK
T
1Q0 Q1 Q2
7 06 4
50
Logique séquentielleFonctions séquentielles: comptage
J Q
QK
T
1
J Q
QK
T
J Q
QK
T
Q0 Q1 Q2
Ck
Q0 change d ’état à chaque transition de CkQ1 change d ’état à chaque transition de Ck, si Q0=1Q1 change d ’état à chaque transition de Ck, si Q0 .Q1 =1
Compteur synchrone
51
Logique séquentielleFonctions séquentielles: comptage
52
Logique séquentielleFonctions séquentielles: registres
Registre parallèle:
Q
D T
Q
D T
Q
D T
Q
D T
D0:Dn
T
Q0:Qn
Les données d ’entrée (D0:Dn) sont transmises en sortie (Q0:Qn)à chaque front d ’horloge
53
Logique séquentielleFonctions séquentielles: registres
Registre à décalage: D Q
QT
D Q
QT
D Q
QT
T
0 01 010 010