Semestre: 5 .....
3iemeLTelcom
Unité d’enseignement: UEM 3.1
Matière 1: Calculateurs et interfaçage
VHS: 37h30 (Cours: 1h30, TP: 1h00)
Crédits: 3
Coefficient: 2
Objectifs de l’enseignement:
Le traitement numérique du signal exige, aujourd’hui, une implémentation matérielle en temps
réel. Les circuits programmables sont à portée de main. Mais leurs utilisations nécessitent une
maîtrise parfaite par le spécialiste. L’étudiant doit donc commencer par maîtriser les fondements
de base des systèmes à microprocesseurs suivie par une étude détaillée sur l’exploitation des
cartes à microprocesseurs 16 bits.
Connaissances préalables recommandées:
L’électronique combinatoire et séquentielle.
Circuits Combinatoires: Ce sont ceux ou les sorties à l’instant t ne dépendent que des entrés
à l’instant t. Autrement dit c’est des circuits sans état, ils n’ont aucune idée de leur passé,
Le tableau suivant illustre les portes logiques (AND/NAND, OR/NOR, XOR/XNOR, NOT):
Type Symbole Notation Opération Table de vérité
booléenne
ET (AND) entrée sortie
A B A et B
0 0 0
0 1 0
1 0 0
1 1 1
OU (OR) entrée sortie
A B A ou B
0 0 0
0 1 1
1 0 1
1 1 1
NON (NOT) entrée sortie
A NON A
0 1
1 0
entrée sortie
NON-ET (NAND) A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
entrée sortie
A B A NOT B
0 0 1
NON-OU (NOR) 0 1 0
1 0 0
1 1 0
OU exclusif entrée sortie
(XOR) A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
Autres fonctions logiques
Multiplexeur
Un multiplexeur (MUX) est un circuit permettant de sélectionner une seule entrée parmi N. Il
possédera une sortie et N entrées, ainsi qu'une entrée de commande de log2 N bits permettant de
choisir quelle entrée sera sélectionnée.
Table de vérité
S0 Z
0 A
1 B
L'entrée A ou B est propagée sur la sortie Z suivant la valeur de S0.
Additionneur
Un additionneur est un circuit logique permettant de réaliser une addition. Ce circuit est très présent
dans les ordinateurs pour le calcul arithmétique mais également pour le calcul d'adresses, d'indice de
tableau dans le processeur.
Demi-additionneur
À partir de la Table de vérité on peut par exemple construire le circuit du demi-additionneur :
A B S R
0 0 0 0
0 1 1 0
1 0 1 0
Additionneur complet 1 1 0 1
Un additionneur complet nécessite une entrée supplémentaire : une retenue. L'intérêt de celle-ci est
de permettre le chaînage des circuits. La table de vérité d'un additionneur complet est :
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Le circuit correspondant à l'additionneur complet, est composé de deux demi-additionneurs
Un Additionneur complet 1 bit.
Additionneur parallèle à propagation de retenue
Additionneur 4 bits à partir de quatre additionneurs 1 bits
Codeur : C’est un circuit combinatoire possédant 2N entrées et N sorties, son fonctionnement
consiste à faire correspondre à l’activation d’une entrée particulière une combinaison de
bits en sortie.
Exemple: codeur BCD (Binary Coded Decimal)
Table de vérité
Entrée Sorties
a b c d
E0 0 0 0 0 0
E1 0 0 0 1 1
E2 0 0 1 0 2
E3 0 0 1 1 3
E4 0 1 0 0 4
E5 0 1 0 1 5
E6 0 1 1 0 6
E7 0 1 1 1 7
E8 1 0 0 0 8
E9 1 0 0 1 9
a = E8 + E9; b = E4+ E5+ E6 + E7; c=E2+E3+E6+E7; d=E1+E3+E5+E7+E9
Décodeur: Le décodeur réalise la fonction inverse du codeur. C’est un circuit logique
comportant N entrées et 2N sorties. Lorsque le signal de validation est actif, seule la sortie
dont le numéro correspond à la valeur binaire affichée sur l’entrée est active et toutes les
autres sorties sont inactives.
Comparateur : C’est un circuit combinatoire qui permet de comparer deux nombres
binaire A et B (A = B, A > B ou A < B). Ce circuits à trois sorties: E(A = B) doit être égale à 1 si
et seulement si A = B; S(A > B) si et seulement si A > B et I(A < B) si et seulement si A <
B.
Table de vérité
A B E(A=B) S(A > B) I(A < B)
0 0 1 0 0
0 1 0 0 1
1 0 0 1 0
1 1 1 0 0
E = �� + ��; S = A�; I = �B
Circuits séquentielles: la sortie du circuit séquentiel dépend non seulement des variables
d’entrées, mais aussi de l’état précédant du circuit. On retrouvera les mêmes états des entrés
à plusieurs cas, alors que les sorties seront différents.
bascules
Type symbole Table de vérité
S-R Asynchrone S R Q+ nonQ+ Obs
0 0 Q- nonQ- mémoire
0 1 0 1 mise à 0
1 0 1 0 mise à 1
1 1 X X état interdit
S-R Synchrone
D C Q+ Non Q+
0 0 1
D(front montant) 1 1 0
X 0 Q- Non Q-
X 1 Q- Non Q-
J K Q+
JK 0 0 Q-
0 1 0
1 0 1
1 1 nonQ-
Compteurs: est un circuit numérique destiné à compter le nombre d'impulsions appliquées à
son entrée. Il est composé d'un certain nombre de bascules D, T ou JK.
Compteurs Asynchrone Le compteur le plus simple est obtenu en mettant en cascade
de bascules en état de commutation (ex : J=K=1), le signal à compter (horloge) étant
appliqué à l'entrée de la bascule le moins significatif, la sortie de cette bascule pilote l'entrée
horloge de la deuxième bascule et ainsi de suite.
Compteurs Synchrone Le compteur asynchrone décrit ci-dessus souffre d'un défaut lorsqu'il
s'agit de mémoriser les résultats. En effet, comme chaque bascule met un certain temps pour
changer d'état (ce qu'on appelle temps de propagation, noté tp), les différentes bascules
réagissent non pas simultanément mais progressivement. Dans le cas extrême (celui où c'est la
bascule à l'extrémité de la chaîne, celle qui indique le bit le plus significatif, qui doit changer
d'état), il faut attendre un temps [Link] après l'impulsion pour avoir l'indication correcte. Si
l'impulsion destinée à mémoriser le nombre dans un registre arrive après une impulsion mais
avant l'expiration du délai [Link], le résultat mis en mémoire est peut-être erroné. Pour éviter
ces problèmes, on modifie la façon de raccorder les bascules. On emploie des bascules JK. Les
impulsions à totaliser sont appliquées simultanément aux entrées horloge de toutes les bascules.
La première bascule, qui reçoit les impulsions, a ses entrées J et K en permanence à 1 ; elle
change donc d'état à chaque impulsion ; les entrées des autres bascules sont pilotées par les
sorties des bascules précédentes de façon qu'elles basculent aux moments opportuns :
Registres
Qu'est-ce qu'un registre ?: Ensemble de bascules permettant de mémoriser une
information sous forme de mots binaires de n bits et, pour certains types de registres, d'effectuer
des translations ou décalages sur ces mots,
Registre de mémorisation : Ce registre permet la mémorisation d’une information binaire
sous forme d’un mot de n bits. Il est donc constitué de n bascules, mémorisant chacune un
bit. L'information sur n bits est chargée (écrite) puis elle est conservée et devient disponible
en lecture.
E0 E1 E2 E3
D Q0 D Q1 D Q2 D Q3
� � � �
CLK
Lecture
Q0 Q1 Q2 Q3
Registre à décalage : en plus de la mémorisation, le bit conservé dans la bascule de rang i
peut être copié dans la bascule de rang i+1 (décalage à droite) ou dans la bascule de rang i-1
(décalage à gauche).
Décalage à droite (Qi+1 = Qi)
ED D0 Q0 D1 Q1 D2 Q2 D3 Q3
CLK
Décalage à gauche
Q0 Q1 Q2 Q3 EG
CLK
Selon la manières de chargement et de restitution de l’information ce type de registre
peut avoir quatre formes:
Entrée parallèle/Sortie Série
Entrée parallèle/ Sortie parallèle
Entrée Série/Sortie Série
Entrée parallèle/Entrée parallèle
Registre à décalage universel: ce registre permet de réaliser les quatre fonctions cités
précédemment
En-1 En
ESD E1 E2 .... ESG
Mode
Sens
Init
SDS
SGS
Q1 Q2 Qn-1 Qn