Title: DSIGN Dtect signal DETECTEUR DOBJETS PERDUS
1Systèmes numériques
Du microprocesseur aux circuits logiques
2Architecture des Ordinateurs
1- Processeurs 2- Mémoire 3- Entrées-Sorties
mémoire
E/S
Processeur
bus
3Organisation de la mémoire
Processeur
Instructions opérandes
Mémoire
E/S
Ex addition du contenu du registre R1 avec la
valeur numérique 7 ADD R1,7 B1 07 1011 0001
0000 0111
bus
data
_at_ adresse
4Organisation de la mémoire
processeur
_at_ CD04
1011 0001
1011 0001
0000 0111
0000 0111
1 positionnement de _at_
2 bit R/W en lecture
reg. dadresse
CD04H
CD05H
3 chip select actif
4 données sur le bus D
bus d adresse
5Organisation de la mémoire
D bus
processeur
CS1
CS2
CS3
_at_ bus
Décodage d adresse
6Entrées / Sorties
Une adresse est attribuée au E/S (comme à une
position mémoire)
D bus
3-états
processeur
mémoire
interface dentrée
interface de sortie
CS
CS
CS
_at_ bus
Décodage d adresse
7CPU
- La mémoire contient la suite d instructions
constituant le programme
B1 07
langage machine
assemblage
assembleur
ADD R1,7
compilation
aa7
langage évolué
- Trois grands types dinstructions transfert,
calcul, branchement
LD R1,4 chargement de la valeur
numérique 4 dans le registre R1 MOV R2,ad1
chargement du contenu de la mémoire _at_ad1 dans R2
ADD R1,4 addition de la val. num. 4 au
contenu de R1, résultat dans R1 SUB R2,R3
soustrait le contenu de R3 à celui de R2,
résultat dans R2 INC R1 incrémentation
de R1 de 1
BR,ad1 branchement inconditionnel à
ladresse ad1 JE,ad2 branchement
conditionnel (si le bit Z est égal à 1) à
l adresse ad2
8CPU
. . .
Code op.
Opérande 1
Opérande 2
Les instructions n ont pas toujours le même
nombre dopérandes
- Nécessité de calculer ladresse de la
prochaine instruction
_at_ CD04
Code op.
Compteur de programme
_at_ CD07
Code op.
_at_ CD08
Code op.
_at_ CD10
Code op.
9CPU
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 linstruction par lUC
- Exécution
- lecture des arguments (inc. PC)
- exécution
M_at_R
07
10CPU
Instructions de branchement
- Branchement inconditionnel
- Jp _at_ad1
- le PC est chargé avec l adresse ad1
- Branchement conditionnel
- Jz _at_ad2
- Appel à un sous programme
PC
M_at_R
Registre de flag
...
Z
N
Ov
07
1 si le résultat délivré par l ALU est nul
11CPU
Sous Programme
- Appel à un sous programme
- call _at_ad1
_at_15A0 call _at_2200 _at_15A1 inst. _at_15A2
PC
_at_2200 inst. _at_2201 _at_22E1 ret
M_at_R
07
12CPU
Sous Programme
- Sous programmes imbriqués
_at_15A0 call _at_2200 _at_15A1 inst. _at_15A2
_at_2200 inst. _at_2201 call _at_2900 _at_22E1 ret
_at_2900 inst. _at_29A0 ret
13Unité de Controle
_at_CD04 B1 _at_CD05 07
- Lecture de l instruction depuis la mémoire
- (code op. ? registre d instruction IR )
PCread M_at_Rwr Memoryread Memorywait
PC en lecture M_at_R en écriture requête à la
mémoire acquitement mémoire
X
- Incrémentation du compteur de programme
- (le PC pointe le premier arg. ou la prochaine
instr. )
PC
M_at_Rread Xwr ALUcmd(incX) Zread PCwr
M_at_R en lecture registre X en écriture commande de
lALU registre Z en lecture PC en écriture
Z
M_at_R
- Décodage de linstruction par lUC
07
- Exécution
- lecture des arguments (inc. PC)
- exécution
signal dentrée de lUC
signal généré par lUC
14Unité de Controle
Pour chaque instruction, lUC doit générer des
signaux de commande (vers l ALU, les registres,
la mémoire) en fonction de létat courant des
registres et de stimuli extérieurs
X
2 implémentations matérielles
machine cablée
machine microprogrammée
PC
Z
M_at_R
07
15Numération
Représentation d un entier
an-1 MSB, bit de poids fort a0 LSB, bit de
poids fort
210 1024
1 kilo
220 1048576
1 Méga
Code héxadécimal
1100 0101 1011 0011
C5B3h
1210Ch
16Numération
Représentation des entiers négatifs
N 0an-1.a1a0
-N 1an-1.a1a0
4 0100 -4 1100
N an-1.a1a0
-N an-1 a1a0
4 0100 -4 1011
N an-1.a1a0
-N an-1 a1a0 1 N 1
4 0100 -4 1100
17Numération
Intérêt du C2
Addition binaire
1
1001 0011 1100
9 3 12
La soustraction est un cas particulier de
l addition
1001 1101 10110
9 -3 6
18Algèbre de Boole
Variable logique variable appartenant à 0,1
Fonction logique fonction de variables logiques
prenant ses valeurs dans 0,1
Addition AB
Produit A.B
19Algèbre de Boole
Quelques propriétés
(AB).C A.C B.C
(A.B)C AC . BC !
Théorèmes de de Morgan
Généralisation F(Ai , , . ) F(Ai , . , )
20Portes 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
Valim
A
B
A
B
S
21Portes logiques élémentaires
Portes élémentaires porte NOR
Valim
A
B
S
22Portes logiques élémentaires
Simplification d une fonction logique
Exemple afficheur 7-segments
a
N 0 1234567 8 9 10 11 12131415
DCBA 0000 00010010 0011 0100 0101 0110 0111 1000
10011010 1011 1100 1101 1110 1111
traduction visuelle de nombres écrits en binaire
sur un afficheur comportant 7 DEL
b
f
g
c
e
d
le décodeur est un circuit qui active les
segments de a à g en fonction du code de N
table de Karnaugh
23Portes logiques élémentaires
Simplification d une fonction logique
a
situation jamais atteinte
24Portes logiques élémentaires
Simplification d une fonction logique
a
Adjacences dans la table de Karnaugh
25Paramètres électriques et temporels
Définition des niveaux logiques
Rappelons le circuit de l inverseur CMOS
Valim
La caractéristique de transfert de l inverseur
est donné par (série HC)
Vs
Valim
E
S
Ve
Valim
26Paramètres électriques et temporels
Définition des niveaux logiques
Vs
Valim
A
A
vs2
Ve
Valim
27Paramètres électriques et temporels
Définition des niveaux logiques
variation de la tension d alimentation
Vs
Valim
A
A?
vs2
Ve
Valim
effet de la température
28Paramètres électriques et temporels
Définition des niveaux logiques
Vs
Valim
VOHmin
A
A
ve2
vs2
VOLmax
Ve
VILmax
VIHmin
Valim
VOLmax lt VILmax et VOHmin gt VIHmin
29Paramètres électriques et temporels
Définition des niveaux logiques
valeur minimale de la tension d entrée pour que
le signal soit vu comme 1
valeur maximale de la tension d entrée pour que
le signal soit vu comme 0
dans les conditions du test le circuit assure
cette tension
30Paramètres électriques et temporels
Courants de sortie
Valim
Valim
IOH
S0
E0
E1
S1
IOL
31Paramètres électriques et temporels
Valim
Valim
Courants de sortie
E
S
E
S
charge
Valim
Courant statique ? 0 Consommation de courant en
commutation
?0
E
S
0
1
?1
1
0
0
1
32Paramètres électriques et temporels
Courants de sortie
courant maximal délivré par l alimentation au
repos
courants minimaux fournis à la charge pendant les
transitions
33Paramètres électriques et temporels
Paramètres temporels
E
S
condition de charge
E
t
tp temps de propagation tt temps de transition
tf
S
t
tpHL
tpLH
34Paramètres électriques et temporels
Paramètres temporels
écart relatif maximal
35Quelques fonctions combinatoires
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
Comparaison de deux mots binaires
36Quelques fonctions combinatoires
Gé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
contradiction
37Quelques fonctions combinatoires
Multiplexeur/Démultiplexeur
0
1 0 1
38Quelques fonctions combinatoires
Arithmetic and Logic Unit
ALU 16 bits
registre opérande
choix de l opérande
choix d un fonctionnement en ligne ou
synchronisé
bits d état
sélection de l opération
retenue entrante
sortie 3-états
39Quelques fonctions combinatoires
Arithmetic and Logic Unit
40Logique séquentielle
Principe
0
E1
S1
1
0
S2
E2
1
État initial
Mémorisation
41Logique séquentielle
Principe
0
E1
S1
1
1
S2
E2
0
42Logique séquentielle
Principe
Les sorties dépendent des entrées, des états
précédents des entrées et des temps de retard
dans les circuits
43Logique séquentielle
Principe
S
1
E1
Q
T
0
R
1
E2
R
Table de vérité
t
S
R 0 1 X
S 1 0 X
Q 1 0
T 1 1 0
t
mém.
T
S
t
44Logique séquentielle
D latch
D
E1
Q
T
E2
Table de vérité
D 1 0 X
Q 1 0
T 1 1 0
mém.
45Logique séquentielle
D
bascule D (D flip-flop)
Q
T
T
t
t
T
t
D
Table de vérité
t
T
D 1 0 X
Q 1 0
T ? ? 1,0
t
T
mém.
Q
t
46Logique séquentielle
Applications des bascules D
Registre parallèle
Division de fréquence
t
Q
t
D
Q
D
Q
T
t
47Logique séquentielle
bascule JK (JK flip-flop)
48Logique séquentielle
Fonctions séquentielles comptage
T
t
Q0
t
Q1
t
Q2
t
7
0
1
2
3
Chaque sortie est obtenue à partir de la
précédente par une division par 2 de la fréquence
49Logique séquentielle
Fonctions séquentielles comptage
T
t
Q0
t
Q1
t
Q2
t
7
0
1
2
3
7
0
6
4
50Logique séquentielle
Fonctions séquentielles comptage
Q0 change d état à chaque transition de Ck Q1
change d état à chaque transition de Ck, si
Q01 Q1 change d état à chaque transition de Ck,
si Q0 .Q1 1
Q0
Q1
Q2
1
J
Q
J
Q
T
T
Ck
Q
Q
K
K
Compteur synchrone
51Logique séquentielle
Fonctions séquentielles comptage
52Logique séquentielle
Fonctions séquentielles registres
D0Dn
Registre parallèle
T
Q0Qn
Les données d entrée (D0Dn) sont transmises en
sortie (Q0Qn) à chaque front d horloge
53Logique séquentielle
Fonctions séquentielles registres
1
0
0
0
D
Q
Registre à décalage
Q
T
T