Vous êtes sur la page 1sur 28

CSI-2511 Architecture des Ordinateurs I page 5-1

5.Circuits Combinatoires
❖ Objectifs: Reconnaître les principaux
types de circuits combinatoires
◆ Additionneurs (soustracteurs)
◆ Décodeurs (encodeurs)

◆ Comparateurs, convertisseurs

◆ Multiplexeurs (démultiplexeurs)

◆ ROM, PLA et ALU

❖ Différentes combinaisons pour leur


synthèse et la synthèse de fonctions en
général.

Nous observerons dans ce chapitre:


5.1 Additionneurs / Soustracteurs
5.2 Décodeurs
- Décodeur et Synthèse de fonctions
- Entrée Enable
- Synthèse de grands décodeurs
5.3 Encodeurs
5.4 Comparateurs
5.5 Convertisseurs de code
5.6 Multiplexeurs
- Utilisation
- Multiplexeur
- Synthèse de fonctions
- Multiplexeurs complexes
5.7 Démultiplexeurs
5.8 ROM (Read-Only Memory)
- ROM et Synthèse de fonctions
5.9 PLA (Programmable Logic Array)
- PLA et Synthèse de fonctions
5.A ALU (Arithmetic and Logic Unit)
CSI-2511 Architecture des Ordinateurs I page 5-2

5.1 Additionneurs et Soustracteurs


❖ Soustracteurs
– Demi-soustracteurs, élémentaires
I
D

A
B
E

– Additionneurs/soustracteurs
– Soustracteurs à plusieurs bits

Soustracteurs
Le soustracteur élémentaire peut lui aussi être défini. De plus, des
additionneurs-soustracteurs élémentaires peuvent aussi être réalisés.
Demi-Soustracteur
A - B (différence D, emprunt E). Pas de bit d'emprunt en entrée.
A B D E
A
0 0 0 0 B D
0 1 1 1
1 0 1 0
E
1 1 0 0
Soustracteur élémentaire
A - B (différence D, emprunt E), avec un emprunt en entrée I.
A B I D E
0 0 0 0 0 I
D
0 0 1 1 1
0 1 0 1 1
A
0 1 1 0 1 B
1 0 0 1 0 E
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
CSI-2511 Architecture des Ordinateurs I page 5-3

5.2 Décodeurs
❖ Décode un mot binaire.
◆ Il a n entrées et m ≤ 2n sorties mutuellement
exclusives (chaque combinaison d'entrée
n'active qu'une seule sortie).

A B D0 D1 D2 D3
0 D0
0 0 1 0 0 0 A 21
Décodeur
1 D1
0 1 0 1 0 0
2à4 2 D2
1 0 0 0 1 0 B 20
3 D3
1 1 0 0 0 1

Décodeurs
Différents décodeurs peuvent être conçus (1 à 2, 2 à 4, 3 à 8, ...). Dans la table
de vérité, on remarque que pour chaque combinaison d'entrées, il y a une
seule sortie à 1 (celle indiquée par le "nombre binaire" en entrée).
Exemple: Réalisation d'un décodeur 3 à 8.
Quelle serait sa table de vérité? Quel serait son diagramme de bloc?
CSI-2511 Architecture des Ordinateurs I page 5-4

Synthèse avec décodeurs


❖ Toute fonction binaire f(x1, x2, ..., xn)
peut être réalisée très simplement par
un décodeur n à 2n et des portes OU.
– Exemple: Additionneur élémentaire

Décodeur avec entrée Enable (E)


– E ermet d'activer/désactiver un décodeur.
– Si E = 0, toutes les sorties sont à 0.
– Utile pour synthèse de grands décodeurs

Synthèse d'un additionneur élémentaire à l'aide d'un décodeur

0
22 1
S (A, B, C) = ΣP ( ) 2
Décodeur 3
21
3à8
R (A, B, C) = ΣP ( ) 4
20 5
6
7

Décodeur avec entrée Enable (E)


Si E = 0, toutes les sorties sont à 0
Si E = 1, seulement une sortie (i.e., nombre binaire) vaut 1, les autres étant à 0.

A 21 4
Décodeur D0 à D3
2à4
B 2 0

E
CSI-2511 Architecture des Ordinateurs I page 5-5

Synthèse avec décodeurs *


❖ Additionneur élémentaire
S (A, B, C) = ΣP (1, 2, 4, 7)
R (A, B, C) = ΣP (3, 5, 6, 7)

0
22 1
A 2 S
21 Déco- 3
B 4
deur
20 3 à 8 5
C 6 R
7
CSI-2511 Architecture des Ordinateurs I page 5-6

Synthèse de grands décodeurs


❖ Décodeur 4 à 16 à l'aide de deux 3 à 8

x 22 8
y 21 Décodeur D0 à D7
3à8
z 20
E

x 22 8
y 21 Décodeur D8 à D15
3à8
z 20
E

Les entrées Enable permettent la synthèse de grands décodeurs à l'aide


de décodeurs plus petits.

Exemple: Décodeur 4 à 16 (w, x, y, z) construit avec deux décodeurs 3 à 8.

Exercice: Décodeur 4 à 16 (w, x, y, z) construit avec des décodeurs 2 à 4 uniquement.


CSI-2511 Architecture des Ordinateurs I page 5-7

Synthèse de grands décodeurs *


❖ Décodeur 4 à 16 à l'aide de 2 à 4
y
21 4
z Décodeur D0 à D3
20 2 à 4
E

y
21 4
z Décodeur D4 à D7
20 2 à 4
E
0
w 21Décodeur 1
20 2 à 4 2
x 3 y
E 21 4
z Décodeur D8 à D11
20 2 à 4
E

y
21 4
z Décodeur D12 à D15
20 2 à 4
E
CSI-2511 Architecture des Ordinateurs I page 5-8

5.3 Encodeurs
❖ Produit (encode) un mot binaire.
◆ Éffectue l'opération inverse d'un décodeur.
◆ Il a m ≤ 2n entrées, devant être mutuellement
exclusives, et n sorties (mot binaire de n bits).

D0 D1 D2 D3 A B D0 0
1 0 0 0 0 0 21 A
D1 1 Encodeur
0 1 0 0 0 1 D2 2 4à2
0 0 1 0 1 0 20 B
D3 3
0 0 0 1 1 1

L'encodeur a cependant un comportement indésirable lorsque les entrées sont


erronées (plus d'un signal d'entrée à 1). Une solution pour régler ce problème consiste
à créer un encodeur à priorité, où seule l'entrée active la plus prioritaire (celle qui a le
plus grand indice) est prise en considération. Le circuit final est cependant beaucoup
plus complexe.
Exemple de réalisation: Encodeur 8 à 3. Pourquoi l'entrée D0 est-elle absente?
CSI-2511 Architecture des Ordinateurs I page 5-9

5.4 Comparateurs
❖ Effectue la comparaison de deux
informations binaires.
– Le comparateur de nombre binaires (A et
B) de quatre bits SN 74L85 indique si A>B,
A<B ou A=B. Il possède de plus trois
entrées (A>B, A<B et A=B) permettant
l'enchaînement des circuits pour comparer
des nombres de plus de quatre bits (en
cascade).

Exemple de réalisation: Comparateur de 4 bits SN 74L85


CSI-2511 Architecture des Ordinateurs I page 5-10

5.5 Convertisseurs de code


❖ Accomplit la conversion de
l'information d'une forme de
représentation binaire dans une autre
forme de représentation binaire.
– Exemples:
◆ Cà1 vers Cà2
◆ ASCII vers EBCDIC

◆ DCB vers représentation en 7 segments (comme


sur les calculatrices)

Exemple:
Convertisseur de code Décimal Codé Binaire en sept segments (voir extrait du
manuel). Les segments a à g sont fonctions de D, C, B, A (D a le poids le plus
élevé).
a (D, C, B, A) = D + CA + C'A' + BA
CSI-2511 Architecture des Ordinateurs I page 5-11

5.6 Multiplexeurs
❖ Utilisation
Multiplexage Démultiplexage

Source 0 Destination 0
Source 1 Destination 1
. .
. .
. Un seul lien .
Source 2n-1 Destination 2n-1

Multiplexeur Démultiplexeur

Multiplexage/Démultiplexage
Très utile lorsque nous avons plusieurs sources qui doivent communiquer
avec plusieurs destinations. Permet de n'utiliser qu'une seule "ligne
conductrice" reliant une source voulue à une destination voulue. Ceci apporte
un avantage majeur. Lequel?

Exemples de la vie courante


Trains:

Téléphone:

Ordinateur:

Multiplexage temporel
Permet d'établir plusieurs connexions "simultanées". Le multiplexeur alloue
un certain temps à chacune des sources et recommence à toute les périodes
(de durée habituellement fixe).

Téléphone:

Conversion parallèle ↔ série:


CSI-2511 Architecture des Ordinateurs I page 5-12

Multiplexeurs
– Le multiplexeur (MUX) sélectionne, à
l'aide de n entrées de commande, une des
2n entrées d'information et la dirige à la
sortie.
– Exemple: Multiplexeur 4 à 1.
E0 0
C1 C0 S
E1 1 MUX
0 0 E0 S S
E2 2 4à1
0 1 E1
E3 3 21 20
1 0 E2
1 1 E3

C1 C0

En général, un multiplexeur 2n à 1 peut être représenté par:


* Un décodeur n à 2n, pour les entrées de commandes C;
* 2n lignes d'entrées E branchées à 2n portes ET, elles-mêmes branchées aux
sorties du décodeur;
* Une porte OU ayant comme entrées les 2n sorties des portes ET du MUX et
S comme sortie.
Est-ce que toute fonction peut être réalisée par un MUX 2n à 1?...
Exemple de réalisation: Multiplexeur 4 à 1
CSI-2511 Architecture des Ordinateurs I page 5-13

Synthèse avec multiplexeur


❖ Soit une fonction binaire f(x1, x2, ..., xn),
sa réalisation avec un multiplexeur se
fait selon la procédure suivante:
1. Développer la table de vérité de f.
2. Si le multiplexeur est assez grand (MUX 2n
à 1)
◆ Alors pas de problème. Tout est directe!
◆ Sinon... MUX 2n-1 à 1 et table de fonctionnement

Table de fonctionnement...

E0
Xn
{ E 2 n-1-1
..
. MUX L

...
X1 Xn-1
Trouver la valeur de Ei (en terme de Xn) pour i = 0, 1, ..., 2n-1-1:

1. Créer la table de fonctionnement (Xn en fonction de X1 à Xn-1) à partir de la


table de vérité

2. Faire les mini-tables de Karnaugh (1 variable dans notre cas, Xn) pour
chaque paire de mintermes X1 à Xn-1 (correspondant à Ei). Avec une
variable, on peut le faire par coeur (0, Xn’, Xn, 1).

3. Brancher le tout!
CSI-2511 Architecture des Ordinateurs I page 5-14

Synthèse avec MUX trop petit


❖ Exemple: f(A,B,C) = ∑P (2, 3, 5, 6)
A B C f A B f
0 0 0 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 1 1
1 0 0
1 0 1
1
1
1
1
0
1
C
{ MUX f

A B

Exemple: f(A,B,C,D) = ∑P(0, 4, 5, 9, 13, 14, 15)

A B C D f
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
CSI-2511 Architecture des Ordinateurs I page 5-15

Synthèse avec MUX trop petit *


❖ Exemple: f(A,B,C) = ∑P (2, 3, 5, 6)
A B C f A B f
0 0 0 0 0 0 0
0 0 1 0 0 1 1
0 1 0 1 1 0 C
0 1 1 1 1 1 C’
1 0 0 0
1 0 1 1 0
1
1
1
1
0
1
1
0
C
{ 1
C
C’
MUX f

A B
CSI-2511 Architecture des Ordinateurs I page 5-16

Multiplexeurs complexes
❖ Il est possible de concevoir des
multiplexeurs beaucoup plus
complexes pour des usages particuliers:
– Multiplexeurs de plus d'un bits
– Multiplexeurs multiples
– Multiplexeurs conçus à l'aide de
multiplexeurs plus petits (économie?)

Les trois pages suivantes présentent des multiplexeurs plus complexes:


· Un multiplexeur 4 à 1, mais avec des mots de 2 bits.
(choisir ___ mot de ___ bits parmi ___ mots)

· Un quadruple multiplexeur 2 à 1 (1 bit).


(choisir ___ mot de ___ bits parmi ___ mots)

· Un multiplexeur 12 à 1, avec des mots de 2 bits. Remarquez ici comment il


est posible de synthétiser (former) de grands MUX à partir de MUX plus
petits.
(choisir ___ mot de ___ bits parmi ___ mots)
CSI-2511 Architecture des Ordinateurs I page 5-17

5.7 Démultiplexeurs
❖ Opérateur inverse du multiplexeur. Il
distribue le bit E (ou le mot) reçu en entrée
unique vers l'une des 2n sorties possibles Y (n:
nombre d'entrées de commande C).
C1 C0 Y0 Y1 Y2 Y3 0 Y0
1 Y1
0 0 E 0 0 0 E E DÉMUX
0 1 0 E 0 0 1à4 2 Y2
1 0 0 0 E 0 21 20 3 Y3
1 1 0 0 0 E

C1 C0

Toutes les fonctions avec un démultiplexeur...?


Notez qu'un démultiplexeur, où l'entrée E est maintenue à 1 en permanence,
devient un ____________. Ainsi, toute fonction binaire peut être réalisée à
l'aide d'un démultiplexeur.

Exemple de réalisation: Démultiplexeur 1 à 4


CSI-2511 Architecture des Ordinateurs I page 5-18

5.8 Mémoire ROM


(Read-Only Memory)
❖ Circuit de mémoire permanente constitué
d'une matrice de registres-mémoire stockant
en permanence un formation de longueur fixe
(m). Une adresse, composée de n bits, permet
de repérer un registre mémoire.
ROM
n
entrées 2 n registres
..
(adresses) . de m bits

.. .

m
sorties
(informations)

Constitution de la mémoire morte (ROM)


Elle peut être représentée logiquement par
• Un décodeur n à 2n (les n entrées représentant l'adresse)
• m portes OU à 2n entrées (chacune). Ce sont les m sorties (un mot de m bits).
On pout le faire avec des portes NON-OU aussi, ce qui "inverse" la
programmation.
• m x 2n micro-fusibles, servant à programmer la mémoire ROM (entre les
sorties du décodeur et les entrées de chaque porte OU).
Exemple: ROM avec 4 registres (n=2) de 2 bits (m=2), appelé ROM 4x2
00
0
A1 21 01
1
Décodeur 10
2à4 2
A0 20 11
3

Pourquoi l'appelle-t-on morte ou Read-Only?


CSI-2511 Architecture des Ordinateurs I page 5-19

Synthèse avec ROM


❖ Toute fonction binaire f(x1, x2, ..., xn) peut être
réalisée sur une mémoire ROM (2n × m)
programmée.
00
0
A1 21 01
❖ Exemple: Décodeur
1
10
2à4 2
A0 20 11
3

f1(A1, A0) = ΣP (1, 2, 3),


f2(A1, A0) = ΣP (0, 2),
ROM 4×2

Exercice: Programmez le ROM 4×3 pour réaliser les 3 fonctions suivantes:


• f1(A1, A0) = ΣP (0, 3)
• f2(A1, A0) = (A1 + A0)'
• f3(A1, A0) = ΠS (1)
(Pour vous aider, développer sous forme SOP ou faites les tables de vérité.)

00
0
A1 21 01
1
Décodeur 10
2à4 2
A0 20 11
3
CSI-2511 Architecture des Ordinateurs I page 5-20

5.9 PLA
(Programmable Logic Arrays)
❖ Réseaux logiques programmables formés de:
◆ Une 1ère couche de termes produits (portes ET)
◆ Une 2e couche de termes sommes (portes OU)

◆ Une 3e couche avec inverseur/court-circuit

◆ Fusibles à chaque couche pour le programmer

m
fusibles
nxk
fusibles k termes m termes
produits sommes
(portes ET) kxm (portes OU) m
fusibles sorties
n nxk
entrées fusibles

Réseaux logiques programmables


Les PAL (Programmable Array Logic) et PLA (Programmable Logic Arrays)
sont deux grandes familles de réseaux logiques programmables. Nous ne
verrons que les PLA dans ce cours.
Structure logique
- Fonctions sous formes de sommes de produits et de négations de sommes
de produits.
- Toutes les portes ET sont semblables, et toutes les portes OU le sont aussi
(même nombre d'entrées).
- Les entrées et leur compléments sont disponibles pour la 1ère couche.
- Les PLA sont-ils supérieurs aux ROM...?
Synthèse avec PLA
Toute fonction peut être réalisée sur un PLA. Pour ce faire, il faut
1) Déterminer les fonctions simplifiées de façon, si possible, à obtenir des
mintermes communs.
2) Construire la table de programmation. Indiquer, pour chaque mintermes,
les entrées utilisées (1, 0, ou -), la (les) sortie(s) correspondante(s) (1, ou -).
Indiquer finalement si les sorties doivent être laissées comme telles (T) ou
être complémentées (C).
3) Finalement, implémenter en ne laissant que les fusibles nécessaires sur les
trois niveaux du PLA.
CSI-2511 Architecture des Ordinateurs I page 5-21

Synthèse avec PLA


❖ Exemple
◆ F1(A,B,C) = ΣP(3, 5, 6, 7)
◆ F2(A,B,C) = ΣP(0, 2, 4, 7)

◆ Quels sont les mintermes?

❖ Table de programmation
Terme Numéro Entrées Sorties
de terme A B C F1 F2
1

T/C

Réalisation avec PLA. Remarquez les trois couches (ET, OU, NON)
CSI-2511 Architecture des Ordinateurs I page 5-22

Synthèse avec PLA *


❖ Exemple
◆ F1(A,B,C) = ΣP(3, 5, 6, 7)
◆ F2(A,B,C) = ΣP(0, 2, 4)

◆ Quels sont les mintermes de F1 , F2 , F1‘ et F2‘ ?

F1(A,B,C) = AB + AC + BC F1 & F2 = 5 termes


F1’ (A,B,C) = A’B’ + A’C ‘+ B’C’ F1 & F2’ = 4 termes
F2 (A,B,C) = A’C ‘+ B’C’ F1’ & F2 = 3 termes
F2’ (A,B,C) = AB + C F1’ & F2’ = 5 termes
CSI-2511 Architecture des Ordinateurs I page 5-23

Synthèse avec PLA *


❖ Exemple
◆ F1(A,B,C) = ΣP(3, 5, 6, 7) = (A’B’ + A’C ‘+ B’C’)’
◆ F2(A,B,C) = ΣP(0, 2, 4) = A’C ‘+ B’C’

◆ Les mintermes sont A’B’, A’C ‘et B’C’

❖ Table de programmation
Terme Numéro
de terme A
Entrées
B C
Sorties
F1 F2
1 = ordinaire
1 - = non-utilisé
2
0 = complémenté
3
1 = ordinaire T = tel quel
- = non-utilisé 4
C = complémenté
5

T/C
CSI-2511 Architecture des Ordinateurs I page 5-24

Synthèse avec PLA *


❖ Exemple
◆ F1(A,B,C) = ΣP(3, 5, 6, 7) = (A’B’ + A’C ‘+ B’C’)’
◆ F2(A,B,C) = ΣP(0, 2, 4,) = A’C ‘+ B’C’

◆ Les mintermes sont A’B’, A’C ‘et B’C’

❖ Table de programmation
Terme Numéro Entrées Sorties
de terme A B C F1 F2
1
A’B’ 0 0 - 1 -
2
A’C’ 0 - 0 1 1
3
B’C’ - 0 0 1 1
4

C T T/C
CSI-2511 Architecture des Ordinateurs I page 5-25

5.A ALU ou UAL (Unité


Arithmétique et Logique)
A B

Arithmétique Logique Décalage

Contrôle
DEMUX

MUX
État (Status)

F
A B A B
C C
ALU
S S
F F

Unité arithmétique et logique (UAL ou ALU)


Circuit combinatoire capable d'effectuer plusieurs fonctions de base
(arithmétique, logique, déplacement/rotation). L'ALU fait habituellement
partie intégrante du processeur. Son symbole est représenté de 2 façons
équivalentes par les deux diagrammes du bas. L'ALU prend en entrée les
opérandes (A et B), ainsi que la fonction à effectuer (Contrôle). En sortie, nous
retrouvons le résultat (F) et une mise-à-jour des bits d'états (Status).
Exemple: Mini ALU de 1 bit à 4 fonctions
CSI-2511 Architecture des Ordinateurs I page 5-26

Conception d'une UAL simple


❖ Table de vérité des fonctions
❖ Structure logique (MUX en évidence)
❖ Réalisation des fonctions
❖ Diagramme complet
❖ Optimisation (PLUS/MINUS) et
extension à plusieurs bits.
❖ Gestion des bits d'états (à venir...)

Exemple: Table de vérité des fonctions et structure logique


CSI-2511 Architecture des Ordinateurs I page 5-27

Décalage/rotation et bits d'états


❖ Décalage/rotation d'un mot de
plusieurs bits via l'ALU.
❖ Bits d'états mis à jour par l'ALU
– C: Retenue générée par l'ALU (Carry)
– V: Dépassement de capacité (Overflow)
– Z: Zéro A B
– N: Valeur négative
– X: Retenue étendue (souvent = à C)
Logique des S
❖ Exemple: conditions F

Z = (F0 ∨ F1 ∨ ... ∨ Fn-1) X N Z V C

Décalage/rotation (à gauche ou à droite)


Ensemble de fonctions de l'ALU.
Exemple:
LS, LOAD et RS sont des entrées de contrôle mutuellemnt exclusives. LS-IN
(de An-1) et LS-OUT (vers Fn-1) sont des entrées de données pour la rotation.
CSI-2511 Architecture des Ordinateurs I page 5-28

Exemple: ALU 74X181


❖ Une UAL devient très rapidement
complexe...
❖ Le 74X181 a comme caractéristiques:
– 4 bits pour A et B et F; entrée retenue C
– 16 fonctions logiques et 16 arithmétiques
– Pas de décalage/rotation
– Addition par retenue anticipée
❖ Complexité du circuit...

Description fonctionnelle du l'ALU 74X181 (Texas Instruments, 1988)

Vous aimerez peut-être aussi