Architecture des ordinateurs I, 1ere année ING Chapitre III
Chapitre III
Les circuits logiques combinatoires
III-1 Introduction
Dans les chapitres précédents, nous avons vus, en particulier, les systèmes binaires qui
permettent de coder les informations que manipule un ordinateur. Ces informations sont
représentées en machine par des tensions électriques qui peuvent alimenter des circuits
électroniques de base dits portes logiques. La combinaison de ces portes logique produit des
fonctions booléennes. Nous avons vu également comment simplifier ces fonctions booléennes
pour utiliser un minimum de portes et produire des circuits économiques.
Nous allons, dans ce chapitre, voir comment utiliser ces connaissances pour réaliser des
circuits particuliers dits circuits logiques combinatoires
III-2 Définition d’un circuit logique combinatoire
Un circuit logique combinatoire est composé de N entrées X 1, X2, …XN et de M sorties
Y1, Y2, … YM (figure III-1). Chaque sortie du circuit est une fonction booléenne des entrées et
ne dépend de rien d’autre que de ces entrées. Chaque changement d’état des entrées induit un
changement d’état des sorties.
X1 Y1
X2 . Circuit . Y2
. .
. combinatoire .
. .
. .
XN YM
Avec : Y1 = f1(X1, X2, …XN)
Y2 = f2(X1, X2, …XN)
………………………
YM = fM(X1, X2, …XN)
Et f1, f2, ..fm sont des fonctions booléennes
III-3 Synthèse d’un circuit combinatoire
La synthèse d’un circuit combinatoire est un processus qui commence de la description
du problème et aboutit qu diagramme logique du circuit correspondant. Ce processus fait
intervenir les étapes suivantes :
1. Définir clairement la fonction du circuit,
2. Définir le nombre d’entrées, le nombre de sorties et associer à chacune des entrées et
sortie un nom ou une lettre (description externe)
3. Raffiner la description du circuit par une table de vérité qui définit la valeur de chaque
sortie en fonction des entrées.
4. Trouver l’expression algébrique de chaque sortie en fonction des entrées
5. simplifier les expressions des sorties
6. Donner le diagramme logique du circuit
III-4 Les circuits combinatoires usuels
III-4-1 Le décodeur (DEC N-2N)
L’information manipulée par un système numérique est souvent représentée par des
codes binaires. Avec N bits, nous pouvons coder 2N informations. Le décodeur est un circuit
Architecture des ordinateurs I, 1ere année ING Chapitre III
combinatoire qui a pour rôle de recevoir un code en entrée et de fournir l’information associée
en sortie.
Un décodeur dispose de :
N entrées pour le code
éventuellement d’une entrée dite de validation
de 2N sorties d’information
Quand le décodeur n’est pas validé (V=0), toutes les sorties sont à 0. Si le décodeur est
validé (V=1) une seule sortie du décodeur (Si) est activée. Cette sortie correspond à une
combinaison des entrées Ei fournies au décodeur.
Décodeur N-2N
Exemple
Réaliser un décodeur 2-4. Entrées Sorties
V A1 A0 Y0 Y1 Y2 Y3
0 X X 0 0 0 0
A0 Y0 1 0 0 1 0 0 0
A1 Y1 1 0 1 0 1 0 0
Y2
V Y3 1 1 0 0 0 1 0
. 1 1 1 0 0 0 1
(1) Description externe (2) Table de vérité
Y0 = V.A0.A1
Y1 = V.A0.A1
Y2 = V.A0.A1
Y3 = V.A0.A1
(3) Fonctions des sorties
(4) Diagramme logique
III-4-2 L’encodeur de priorité (ENC N-2N)
Un encodeur de priorité, transforme un ensemble d’entrée en un code binaire. Il peut
être considéré comme l’inverse du décodeur. Il dispose donc de 2N entrées et N sorties. Chaque
activation d’une entrée (parmi les 2N) produit le code de cette entrée sur les sorties. L’activation
de plusieurs entrées, à la fois, produit le code de l’entrée la plus prioritaire selon la priorité
implémentée.
Architecture des ordinateurs I, 1ere année ING Chapitre III
2N Encodeur
Entrées Sorties
de priorité
2N -N
Encodeur 2N-N
Exemple
Réaliser un encodeur de priorité 4-2 avec la priorité implémentée de façon à ce que
l’entrée Ai soit plus prioritaire que l’entrée Ai+1.
Y3 Y2 Y1 Y0 A1 A0
Encodeur X X X XX 0 0
Y0 A0 X X 1X X 0 0
Y1 de
Y2
priorité A1 1 0 0 1
Y3
X 1 0 0 1 0
1 0 0 0 1 1
(1) Description externe
(2) Table de vérité
Y0
A0 = Y1 . Y0 + Y3 . Y2 . Y0 Y1 A0
A1 = Y2 . Y1 . Y0 + Y3 . Y1 . Y0 Y2
(3) Fonctions des sorties Y3 A1
(4) Diagramme logique
III-4-3 Le multiplexeur (MUX 2N-1)
Un multiplexeur est un circuit combinatoire permettant de connecter un ensemble
d’entrées à une sortie unique. Plusieurs applications sont réalisées avec le multiplexeur. Il est
utilisé entre autres dans la conversion parallèle-série, l’aiguillage et la réalisation de fonctions
logiques. Un multiplexeur dispose de
2N entrées d’information
N entrées d’aiguillage (ou d’adresse)
Une sortie
La sortie correspond à l’entrée aiguillée par les N entrées d’adresse.
2N
MUX 2N-1 S
Multiplexeur 2N-1
Architecture des ordinateurs I, 1ere année ING Chapitre III
Exemple
Réaliser un MUX 4-vers 1 ; multiplexeur à 4 entrées d’information et une sortie. (Donc
2 entrées d’adresses)
A1 A0 A1 A0 S
0 0 Y0
0 1 Y1
Y0
Y1 1 0 Y2
MUX S
Y2 1 1 Y3
Y3 4-1
(2) Table de vérité (simplifiée)
(1) Description externe
A1 A0
S = Y0·A1·A0 + Y1·A1·A0 + Y2·A1·A0
+ Y3·A1·A1 Y0
Y1
(3) Fonction de la sortie Y2
Y3
(4) Diagramme logique
III-4-4 Le démultiplexeur (DMUX 1-2N)
Le démultiplexeur est un circuit combinatoire qui effectue la fonction inverse du
multiplexeur. Il dispose d’une entrée d’information, de N entrées d’adresse et de 2N sorties.
L’entrée est aiguillée vers l’une des 2N sorties en fonction des N entrées d’adresse.
E
DEMUX 1-2N
Démultiplexeur 1-2N
Architecture des ordinateurs I, 1ere année ING Chapitre III
Exemple
E A1 A0 Y3 Y2 Y1 Y0
Démultiplexeur 1-4
0 0 0 0 0 0 0
A1 A0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
Y0 0 1 1 0 0 0 0
E DEMUX Y1 1 0 0 0 0 0 1
Y2
1-4 Y3 1 0 1 0 0 1 0
1 1 0 0 1 0 0
(1) Description externe 1 1 1 1 0 0 0
(2) Table de vérité
A1 A0
Y0 = E · A1 · A0
Y1 = E · A1 · A0
Y2 = E · A1 · A0
Y3 = E · A1 · A0
Y0
(3) Fonctions des sorties E
Y1
Y2
Y3
(4) Diagramme logique
III-4-5 L’additionneur
Les circuits logiques effectuent, entre autres, les différentes opérations arithmétiques.
Parmi, les opérations de base nous avons l’addition de deux nombres binaires. L’additionneur
binaire est le circuit qui effectue cette opération. L’implémentation la plus connue de
l’additionneur binaire est l’additionneur série. Il est réalisé en cascadant un certain nombre de
composants élémentaires de façon à reproduire l’opération d’addition conventionnelle. Ces
composants élémentaires sont le Demi - additionneur et l’Additionneur Complet.
A) Le Demi-Additionneur
C’est un circuit combinatoire composé de deux entrées (A, B) et deux sortie (S, R). La
sortie S correspond au résultat de l’addition des bits A et B. La sortie R correspond à la retenu
éventuelle engendrée par l’addition des deux bits A et B.
A B S R
A S
0 0 0 0
½Σ 0 1 1 0
B R
1 0 1 0
1 1 0 1
(1) Description externe (2) Table de vérité
A S
S= A·B+A·B
= B R
R = A.B
(3) Fonctions de sortie (4) Diagramme logique
Architecture des ordinateurs I, 1ere année ING Chapitre III
B) L’additionneur complet
L’additionneur complet permet d’additionner deux bits d’entrée plus éventuellement un
bit de retenu venant de l’étage précèdent. Il fournit en sortie le résultat de l’addition et
éventuellement une retenue vers l’étage suivant. Le circuit dispose donc de trois entrées A, B,
Cin, et de deux sorties S et Cout. S indique le résultat de l’addition de A, B et de la retenue
entrante, Cout indique la retenue éventuelle de l’addition.
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A S 0 1 0 1 0
B Σ 0 1 1 0 1
Cout 1 0 0 1 0
Cin
1 0 1 0 1
(1) Description Externe 1 1 0 0 1
1 1 1 1 1
(2) Table de vérité
(3) Fonctions des sorties
Les sorties de l’additionneur complet doivent être exprimées de façon particulière pour
qu’elles puissent être réalisées en utilisant des demi-additionneurs. On les exprime de la
manière suivante :
𝑆 = 𝑎. 𝑏. 𝑐𝑖𝑛 + 𝑎. 𝑏. 𝑐𝑖𝑛 + 𝑎. 𝑏. 𝑐𝑖𝑛 + 𝑎. 𝑏. 𝑐𝑖𝑛 A
= 𝑎(𝑏. 𝑐𝑖𝑛 + 𝑏. 𝑐𝑖𝑛) + 𝑎(𝑏. 𝑐 + 𝑏. 𝑐𝑖𝑛) B S
Cin
= 𝑎(𝑏 ⊕ ) + 𝑎(𝑏 ⊕ 𝑐𝑖𝑛 ) = 𝑎 ⊕ 𝑏 ⊕ 𝑐𝑖𝑛 Cout
𝑐𝑖𝑛
𝐶𝑜𝑢𝑡 = 𝑎. 𝑏. 𝑐𝑖𝑛 + 𝑎. 𝑏. 𝑐𝑖𝑛 + 𝑎. 𝑏. 𝑐𝑖𝑛 + 𝑎. 𝑏. 𝑐𝑖𝑛
= (𝑎̅. 𝑏 + 𝑎. 𝑏̅). 𝑐𝑖𝑛 + 𝑎. 𝑏(̅𝑐̅𝑖𝑛̅ + 𝑐𝑖𝑛)
= (𝑎 ⊕ 𝑏). 𝑐𝑖𝑛 + 𝑎. 𝑏
On pourra ainsi réaliser un additionneur complet à partir de deux demi additionneur et
d’un circuit or comme montré dans la figure ci-contre.
C) Etage additionneur à N bits
L’additionneur complet peut être cascadé pour réaliser des étages additionneurs à N bits.
Par exemple, l’étage additionneur à 4 bits sera réalisé de la façon suivante
B3 A3 B2 A2 B1 A1 B0 A0
Cout Cin
S3 S2 S1 S0