Vous êtes sur la page 1sur 18

Chapitre III :

Circuits de base dans un ordinateur

1. Se familiarisez avec la démarche de réalisation de


circuits logiques à base de portes logiques.
2. S’initier au raisonnement sous forme d’expressions
Objectifs du chapitre : logiques pour monter des circuits complexes à
l’aide de circuits moins complexes.
3. Connaître les circuits logiques de base les plus
important dans les ordinateurs.
Circuit logique, Circuit Combinatoire, Circuit
séquentiel, Porte logique, Bascule, Additionneur,
Mots clés du chapitre : Comparateur, Multiplexeur, Démultiplexeur,
Encodeur, Décodeur, Registre mémoire, Compteur.

1. INTRODUCTION
2. CIRCUITS LOGIQUES COMBINATOIRES
2.1. Définition
2.2. Algèbre de Boole
2.3. Synthèse des circuits logiques combinatoires
Eléments de contenu : 2.4. Applications :
2.5. Circuits de multiplexage et de démultiplexage :
2.6 Les circuits Encodeurs et décodeurs :
3. LES CIRCUITS SEQUENTIELS
3.1. Définition
3.2. Les bistables D
3.3. Applications

Volume horaire total : 9 heures


§ 1 et 2 : 6 heures
Timing approximatif : §3 : 3 heures

1. Introduction
Les circuits électriques modernes ont deux états d’équilibres 0 et 1, ils sont
caractérisés par deux niveaux de tensions ou de courants qui définissent un signal
logique. Une ligne permet de transporter un signal logique d’un point à un autre. L’état
de cette ligne est une variable logique (qui a deux valeurs 0 et 1).

Un circuit logique est définit comme étant un circuit électrique qui ne véhicule en
entrées et en sorties que des signaux logiques.

1
Dans ce chapitre, on va voir comment synthétiser des circuits logiques qui constituent
les composants de base avec lesquels est construit un ordinateur.

2. Circuits logiques combinatoires


2.1. Définitions
Les circuits combinatoires sont des circuits logiques ou le temps de propagation des
signaux n’est pas pris en considération (négligeable). Les signaux de sortie ne
dépendent que des signaux d’entrés appliqués à l’instant considéré.

... ...
... Circuit logique ...
Ei Sj
... combinatoire ...

Lignes d'entrees Lignes de sorties

Figure 1 : Schéma d’un circuit logique combinatoire avec : Sj (t) = f (E1(t), E2(t),…,
Ei(t), ..., En-1(t)) et 0 ≤ i ≤ n -1 et 0 ≤ j ≤ m – 1.

On a donc une fonction f (f : {0, 1}n {0, 1}), ayant comme ensemble de départ un
produit cartésien de l’ensemble {0, 1} et comme ensemble d’arrivée l’ensemble {0, 1}.
Donc les valeurs simples manipulées par cette fonction sont des valeurs logiques (0 ou
1). C’est pour cela qu’elle est appelée fonction logique.

On dit alors, que chaque circuit logique combinatoire possède une ou plusieurs
fonctions logiques (autant de fonctions que de sorties) dont chacune est définie par une
table de correspondance entre les états d’entrées et les états de sorties. Un état des
entrées est défini par une combinaison de valeurs prises par les entrées à un instant
donné. Cette table de correspondance est appelée table de vérité.

Exemple :
A1 A2 F(A1, A2)
0 0 0
0 1 1
1 0 1
1 1 1

Remarque :
Les fonctions logiques peuvent être aussi définies sous
forme de diagramme ou d’expression algébrique.

2
2.2. Algèbre de Boole
Elle s’applique à des fonctions logiques de variables logiques. Toute fonction de ce
type peut s’exprimer comme combinaison d’un petit nombre de fonctions logiques de
base appelées aussi opérateurs logiques ou portes logiques.

La table de vérité d’une fonction de n variables possède 2n états d’entrées. Pour chacun
n
de ces états, la sortie peut prendre la valeur 0 ou 1, ainsi pour n variables, on a 22
fonctions logiques possibles.
a) Les opérateurs de base
L’opérateur NON (NOT) :
L’opérateur NON est une fonction logique a une seule variable. Elle prend l’état 1, ssi
l’entrée est à l’état 0. Elle a comme table de vérité et symbole :

Table de vérité Symbole :


E NON (E) = Ē E E
0 1
1 0
Figure 2 : Table de vérité et schéma de la porte Non.

L’opérateur ET (AND) :
L’opérateur ET est une fonction logique qui a deux entrées. La sortie est à l’état 1, ssi
toutes les entrées sont à l’état 1. (Voir table de vérité et symbole ci-dessous).

table de vérité Symbole :


A B ET (A, B)= A B
0 0 0 A
AB
0 1 0 B
1 0 0
1 1 1

Figure 3 : Table de vérité et schéma de la porte ET.

L’opérateur OU (OR) :
L’opérateur OU est une fonction à deux variables logiques, qui a comme sortie l’état 1,
ssi au moins l’un des entrées est à l’état 1.

table de vérité Symbole :


A B OU(A, B) = A+B
A
0 0 0 A+B
B
0 1 1
1 0 1
1 1 1
Figure 4 : Table de vérité et schéma de la porte OU.

3
b) Théorèmes de l’algèbre de Boole
Théorème des constantes:
a+1 =1
a+0 =a
ax1 =a
ax0 =0

Théorème Idempotence:
a+a =a
axa =a

Théorème de complémentation :
a+a =1
axa =0

Théorème de la commutativité:
a+b =b+a
ab =ba
Théorème de la distributivité :
a x (b + c) = a x b + a x c
a + b c = (a + b) x (a + c)

Théorème de l’associativité :
(a + b) + c = a + (b + c) = a + b + c
(a x b) x c = a x (b x c) = a x b x c

Théorème de De Morgan :
a×b = a +b
a +b = a•b
Théorème de l’involution :
a=a
Application :
Démontrer en utilisant l’algèbre de Boole, les formules suivantes :

1/ a + ab = a
2/ a + (a b) = a +b
3/ a (a + b) = a
4/ (a + b) (a + b) = a

4
Solution :

1/ a + a b = a (1 + b)
car a ( 1 + b) = a + a b
donc a + a b = a (1 + b) = a . 1 = a

2/ a + (a b) = (a + a) (a + b) = 1 . (a + b) = a + b

3/ a (a + b) = (a . a) + a . b = a + a . b = a

4/ (a + b) (a + b) = a (a + b) + b (a + b)
=aa+ab+ba+bb
=a+ab+ab+0
= a + a (b + b) = a + a = a

c) Expression d’une fonction logique quelconque avec les opérateurs de base :


Les opérateurs de base servent pour la représentation de n’importe quelle fonction
logique. Dans le tableau suivant, on regroupe les fonctions qu’on peut obtenir en
utilisant les états de deux variables a et b.

Etats (a, b)
00 01 10 11 Fonction
0 0 0 0 f1 = 0
0 0 0 1 f2 = a b
0 0 1 0
f3 = ab
0 0 1 1 f4 = ab +ab = a (b + b) = a
0 1 0 0 f5 = a.b
0 1 0 1 f6 = ab + ab = b(a + a ) = b
0 1 1 0 f7 = ab + ab
0 1 1 1 f8 = ab + ab + ab = ab + a (b + b) = ab + a = a + b
1 0 0 0
f9 = a b
1 0 0 1 f10 = ab + ab
1 0 1 0 f11 = ab + ab = b(a + a ) = b
1 0 1 1 f12 = ab + ab + ab = ab + a (b + b) = (a + a )(a + b) = a + b
1 1 0 0 f13 = ab + ab = a(b + b) = a
1 1 0 1 f14 = ab + ab + ab = ab + (a + a)b = ab + b = (b + a)(b + b) = b + a
1 1 1 0 f15 = ab + ab + ab = a + ab = a + b
1 1 1 1 f16 = 1

d) Opérateurs complémentaires
L’opérateur XOR (OU- exclusif) :
La sortie d'une fonction OU-exclusif (XOR) à deux entrées est dans l'état 1 si une
entrée et seulement une est à l'état 1.

5
table de vérité Symbole :
A B
0 0 0
0 1 1
1 0 1
1 1 0
Figure 5 : Table de vérité et schéma de la porte OU exclusif.

Nous pouvons encore dire Y est égal à 1 si A = 1 et B = 0 ou si B = 1 et A = 0. Soit :

Figure 6 : Logigramme de la porte OU-exclusif .

Les opérateurs NAND et NOR :


Une porte NON ET (NAND : NOT AND) est constituée par un inverseur à la sortie
d'une porte ET.
table de vérité Symbole :
A B
0 0 1
0 1 1
1 0 1
1 1 0
Figure 7 : Table de vérité et schéma de la porte NAND.

Une négation à la sortie d'une porte OU constitue une fonction NON OU (NOR :
NOT OR).
table de vérité Symbole :
A B
0 0 1
0 1 0
1 0 0
1 1 0

Figure 8 : Table de vérité et schéma de la porte NOR.

Chacun de ces deux opérateurs est dit complet car il permet a lui seul de réaliser toutes
les opérations de base. Les fonctions logiques que l’on cherche à réaliser s’expriment
généralement a l’aide des opérateurs de base. On peut aussi les exprimer à partir d’un

6
seul opérateur soit le NAND, soit le NOR. De telles logiques sont intéressantes de
point de vue pratique car les opérateurs complets NAND et NOR peuvent souvent
conduire a des performances techniques et économiques meilleures que les opérateurs
de base.

Exemple :
Equivalent des portes logiques de base avec des portes NOR :

Figure 9 : réalisation des porte logique de base à l’aide de la porte NOR.

Application :
Donner l’équivalent des portes logiques de base avec des portes NAND.

2.3. Synthèse des circuits logiques combinatoires


Définition :
Le problème est le suivant : à partir de la définition d’une fonction logique, il faut
déterminer un logigramme ou représentation graphique sous forme de portes logiques
réalisant cette fonction.
Démarche :
La démarche à suivre pour faire la synthèse d’un circuit logique combinatoire est la
suivante :
• Elaborer la table de vérité de la fonction logique ;
• Déduire son expression algébrique ;
• Simplifier cette expression en la transformant en une expression plus simple.
Plusieurs méthodes existent. On utilisera les théorèmes de l’algèbre de Boole
dans notre cas ;
• Réaliser la fonction logique a l’aide d’opérateurs divers (NON, ET, OU, XOR,
NAND et NOR).

Exemple :
Additionneur binaire (1bit)
C’est un circuit logique capable de faire la somme de deux nombres de 1bit selon la
table d’addition binaire suivante :
0+0 =0
0+1 =1
1+0 =1
1 + 1 = 0 avec retenu de 1.

7
Première version : demi-additionneur 1 bit :

Somme
A 1/2 Add S
bianiare
Entrees 2 nbres
B 1 bit R Retenue

Figure 10 : schéma synoptique du circuit demi additionneur 1 bit.

Eléments de réponse :

Table de vérité Logigramme


Expressions
A B S R S=AB+AB=A B
0 0 0 0 R=AB S
0 1 1 0
1 0 1 0 R
1 1 0 1
Figure 11 : réalisation du demi additionneur 1bit.

2éme version : additionneur 1 bit complet :


Dans cette version, on suppose qu’il faut tenir compte de la retenue des bits de poids
inférieurs, un circuit additionneur doit donc comporter trois entrées et deux sorties( les
deux bits à additionner et la retenu), comme représenté sur la figure suivante :
A Add S Sortie
B 1 Bit
R' Complet R Retenue

Figure 12 : schéma synoptique du circuit additionneur 1 bit complet.

Travail à faire :
1/ Réaliser l’additionneur complet tout en montrant que
S = A ⊗ ( B ⊗ R' )
R = B ( A ⊗ R ) + AR '
2/ Faire la Synthèse d’un additionneur complet a l’aide du ½ additionneur 1bit.

2.4. Applications :
Application 1 :
Exprimer le logigramme de la première version d’additionneur 1bit sous forme de
portes NAND.

Application 2 :
Vous voulez construire un circuit logique capable de comparer entre eux deux
nombres binaires. En entrée, on dispose de deux nombres de 3 bits chacun :
A=(A2A1A0)2 et B= (B2B1B0)2.
8
En sortie on veut avoir : X= 1 si (A2A1A0)2 = (B2B1B0)2
X=0 si (A2A1A0)2 ≠ (B2B1B0)2
1/ Réaliser un comparateur 1bit en Montrant que S = A ⊕ B .

A
Entrees Comp 1 bit S S
B

2/Réaliser un comparateur 3bits en utilisant des comparateurs de 1 bit :


A2
A1
A0 Comp
B2 3bits X
B1

B0

Eléments de la solution :
Pour résoudre la question 2 il faut faire un raisonnement logique :
X est vraie ssi S0 est vraie et S1 est vraie et S2 est vraie
X=S0 S1 S2 = A0 ⊕ B0 • A1 ⊕ B1 • A2 ⊕ B2
Ce qui conduira au schéma suivant :

A1 A Comp X
B1 B 1bit

S1
A0 A Comp X S0
X
B0 B 1bit
S2

A2 A Comp X
B2 B 1bit

Application 3 :
A/ Réaliser les circuits logiques suivants qui traitent deux entiers représentés sur n bits.
1/ Opérateur complément a 1.
2/ Additionneur complément a 1.
3/ Soustracteur complément a 1.
B/ Réaliser un circuit qui peut faire a la demande l’une des opérations d’addition, de
soustraction et de comparaison.

9
Eléments de la solution :
Les circuits à réaliser possèdent les schémas synoptiques suivants :
An-1 CA n-1
A
Operateur
Ca1
A0 CA

An-1 CA n-1

A0 CA0

A { A0 SC0
An-1 Add
Ca1
n bits SCn-1
B
B { B0
n-1

Soustracteur / C (Débordement)
Donnée1
Comparateur / Z (comparaison)
Comparateur
Donnée2 R0 Résultat
N bits Rn-1

ADD SOUS CMP

Remarque :
Un raisonnement logique nous permet de déduire des
circuits combinatoires complexes à l’aide de circuits
élémentaires. Ce qui nous permet d’éviter la complexité du
raisonnement avec la démarche classique de synthèse.

Nous venons de réaliser une unité arithmétique et


logique élémentaire, qui fait l’addition, la soustraction
(opérations arithmétiques) et la comparaison (opération
logique)

10
2.5. Circuits de multiplexage et de démultiplexage
a) Le multiplexeur :
Schéma de principe :

Donnees

{
e 2 k-1 e1 e0

Aut
Commandes (@) { k bits Mux

S
Figure 12 : Schéma de principe d’un multiplexeur.
Fonctionnement :
Si Aut = 0 alors S = 0 ∀ ai 0 ≤ i ≤ k-1 et ej , 0 ≤ j ≤ 2k-1
Si Aut = 1 alors si (ak-1 … a0)2 = α10 ; alors S = eα

Exemple de réalisation (k=2) :

e3 e2 e1 e0

a0 Aut
a1
Mux

S
Figure 13 : Schéma de principe d’un multiplexeur à 4 adresses.

Aut a1 a0 α S
0 X X X 0
1 0 0 0 e0
1 0 1 1 e1
1 1 0 2 e2
1 1 1 3 e3

S est vraie ssi Aut est vraie et a0 : faux et a1 : faux et e0 : vraie


ou
a0 : vraie et a1 : faux et e1 : vraie
ou
a0 : faux et a1 : vraie et e2 : vraie
ou
a0 : vraie et a1 : vraie et e3 : vraie

S = Aut ( a 0 a 1 e 0 + a 0 a 1 e1 + a 0 a1 e 2 + a 0 a1 e 3 )

11
b) Demultiplexeur :
Schéma de principe :

Aut
Commandes (@) { k bits Demux

s 2 k-1 s1 s0

{
Sortie de donnees
Figure 13 : Schéma de principe d’un démultiplexeur.

Fonctionnement :
si Aut = 0 alors S = 0 ∀ E et ∀ ai 0 ≤ i ≤ k-1
si Aut = 1 alors si (ak-1 … a0) = ∝10 alors S∝ = E et Sj= 0 ∀j 0 ≤ j ≤ 2k-1 et j ≠ ∝

Exemple (Demultiplexeur à deux entrées d’adresse) (k=2) :


E

a0 Aut
a1 Demux

s3 s2 s1 s0

Figure 14 : Schéma de principe d’un démultiplexeur à 4 adresses

Aut a1 a0 α S0 S1 S2 S3
0 X X X 0 0 0 0
1 0 0 0 E 0 0 0
1 0 1 1 0 E 0 0
1 1 0 2 0 0 E 0
1 1 1 3 0 0 0 E

Un raisonnement avec des expressions logiques nous conduit à :


• S0 : vraie ssi Aut : vraie et a0 : faux et a1 : faux et E :vraie
• S1 : vraie ssi Aut : vraie et a0 : vraie et a1 : faux et E : vraie
Et par conséquent, on a :

S 0 = Aut.a 0 .a 1 .E
S1 = Aut.a 0 .a 1 .E
S 2 = Aut.a 0 .a1 .E
S 3 = Aut.a 0 .a1 .E

12
Application 1 :
Partage d’un support de transmission entre plusieurs liaisons de données :
0 0

1 1
Tunis Mux Mux Bizerte
2 2
a0 a1 a0 a1
3 3

Figure 15 : Partage d’une liaison de données.


Application 2 :
Réalisation de n’importe quelle fonction logique à n variable avec un Mux à n entrées :
Réaliser chacune des deux fonctions et son complément avec un
multiplexeur.

2.6 Les circuits Encodeurs et décodeurs :


a) Décodeur :
Fait correspondre à un code en entrée sur k lignes, une seule sortie active parmi 2k
sorties possibles.
Schéma de principe :
ak-1 a0

Aut Decodeur

S2k-1 S0
Figure 16 : Schéma de principe d’un décodeur.

Fonctionnement :
• Si Aut = 0 alors Si = 0, 0≤ i ≤ 2k – 1
• Si Aut = 1 alors Si (ak-1 … a0)2 = α10 alors Sα = 1 et Si=0, 0≤ i ≤ 2k – 1 et i ≠ α

b) Encodeur :
Fait correspondre à un code en entrée sur 2k lignes, un code sur k lignes.
Schéma de principe :
e2k-1 e0

eact Encodeur Aut

Sak-1
k-1 a0
S
Figure 17 : Schéma de principe d’un encodeur.

13
Fonctionnement :
• eact = 1 ssi uniquement une des entrées est activée.
• eact = 0 dans le cas contraire.
o Si Aut = 0 alors Si = 0 ∀ 0≤ i ≤ k– 1
o Si Aut = 1 alors si eα = 1 alors (Sk-1 … S0)2 = α10

Application 1 :
Décodage de l’instruction à exécuter pour passer l’ordre approprié à l’UAL.

Application 2 :
Lecture d’un caractère à partir d’un clavier au niveau de son contrôleur.

14
3. Les circuits séquentiels
3.1. Définition
Les circuits séquentiels sont des circuits dont on doit tenir compte du temps de
propagation des signaux et de la mémoire du circuit (C’est la capacité de garder à la
sortie des valeurs logiques même si les entrées sont inexistantes). Les signaux de sortie
dépendent des signaux en entrée appliqués antérieurement.

E(t) S(t) = f(E(t))


circuit combinatoire

S (t + ∆t ) = f ( E (t ))
E(t) circuit sequentiel

∆t : Temps de réponse du circuit.

Figure 18 : Circuits combinatoires vs circuits séquentiels.

3.2. Les bistables D


Définition d’un bistable
C’est un circuit à mémoire qui possède deux états stables. On distingue deux classes
de bistable : Les bistables asynchrone ou la sortie peut évoluer à tout instant et les
bistables synchrone ou la sortie change d’état à des instants bien déterminés de l’une
des entrées appelé horloge. Il existe plusieurs types de bistables (D, T, R-S, J-K….).
Cas du bistable D

D Q

C Q

Figure 19 : Bistable activé sur front montant.

Fonctionnement :
Si C est active alors Q+ = Q(t + ∆t ) = D = D(t )
Si C est non active alors Q+= Q(t + ∆t ) = Q = Q (t )
C est active selon 3 modes :

3
- Front montant (1)
- Front descendant (2) 1 2
- Palier (3) 3

Figure 20 : Modes d’activation de l’entrée de commande d’un bistable D.

15
Le bistable D (Delay) recopie sur sa sortie son entrée avec un certain retard ∆t

C est généralement alimentée par un signal de commande dit horloge et qui est
également périodique. Dans la plupart des cas, C est activé sur des fronts montants.
Chronogramme d’un bistable D
Un chronogramme d’un circuit séquentiel est graphique qui montre l’évolution des
entrées et des sorties de ce circuit en fonction du temps.

T/2
T/2
C

1 1 0 1 0 0
D 0

Q t

Figure 21 : exemple d’un chronogramme d’un bistable D.

3.3. Applications

a) les registres
Définition :
Un ensemble de bistables montés en parallèles pour mémoriser une information
binaire.

Application 1
Réaliser un registre mémoire (4bits) avec lecture/écriture en parallèle et deux ordres
l’un pour la lecture et le deuxième pour l(écriture. :
E3 E2 E1 E0

R
c
w
S3 S2 S1 S0
Figure 22 : schéma synoptique un registre mémoire (4bits) avec lecture/écriture en
parallèle.

16
Eléments de la solution :
W
E0 E1 E2 E3

D Q Q
D Q D Q D Q

C Q C Q C Q C Q
C

S0 S1 S2 S3

Figure 22 : Logigramme d’un registre mémoire (4bits) avec lecture/écriture en


parallèle.

Application 2 :
Réaliser un registre (3 bits) de décalage à droite, avec insertion de zéro dans le bis le
plus à gauche.

b) les compteurs
Définition :
Ce sont des registres dont les sorties reflètent séquentiellement dans le temps les
valeurs 0, 1, 2,….. 2k-1, 2k
On parle de compteur n bits ou de compteur modulo 2n

T+dt

1 2
T
0 2n-2

2n-1 2n-3

T+ (2n-1)dt

Figure 23 : Séquence de comptage modulo 2n.

17
Exemple 1 :
Réalisation d’un compteur 1 bit :

Solution :

Q0 D0 D0 = Q0 D0 Q0
0 1 0 1
1 0 C0 Q0

H
Figure 24 : Réalisation d’un compteur modulo 2.

Exemple 2 :
Réalisation d’un compteur 2 bits :

Eléments de solution :

Q1 Q0 D1 D0
D0 Q0 D0 Q0 0 0 0 1
0 1 1 0
C0 Q0 C0 Q0 1 0 1 1
1 1 0 0
H H
Figure 25 : Réalisation d’un compteur modulo 4.

Application :
Réalisation un compteur 2 bits, qu’on peut initialiser avec une valeur de départ et ce en
utilisant les entrées asynchrones des bascules D.
Les entrées asynchrones d’une bascule D agissent sur sa sortie et ce sans prendre en
considération l’entrée de commande. La première entrée connue sous le nom de SET
permet la mise à 1 de la sortie Q0. La deuxième, appelé CLEAR, permet de forcer la
sortie Q0 à 0. Elle est active à 0.
SET

D0 Q0

C0 Q0

H CLR
Figure 26 : Bistable D avec des entrées asynchrones.

18

Vous aimerez peut-être aussi