Professional Documents
Culture Documents
• Architecture en couches
Introduction aux circuits Niveau 5 Couche des langages d’application
Traduction (compilateur)
IFT1215 Introduction aux systèmes informatiques 1 IFT1215 Introduction aux systèmes informatiques 2
Introduction Introduction
• Les circuits logiques sont élaborés à partir
• Tout ordinateur est conçu à partir de de composants électroniques – transistors
circuits intégrés qui ont tous une fonction
spécialisée (ALU, mémoire, circuit • Types de circuits logiques:
décodant les instructions etc.) – Combinatoires
• Ces circuits sont fait à partir de circuits – Séquentiels
logiques dont le but est d’exécuter des
opérations sur des variables logiques
(binaires)
IFT1215 Introduction aux systèmes informatiques 3 IFT1215 Introduction aux systèmes informatiques 4
Introduction Introduction
• Circuits combinatoires (algèbre de Boole) • Circuits séquentiels ou à mémoire (FSM)
– Les fonctions de sortie s’expriment selon des – Les fonctions de sortie dépend non seulement de
expressions logiques des seules variables d’entrée l’état des variables d’entrée mais également de
– Un circuit combinatoire est défini par une ou l’état antérieur de certaines variables de sortie
plusieurs fonctions logiques (propriétés de mémorisation)
Entrées Sorties
Partie Combinatoire
Entrées Sorties
Circuit Combinatoire
Mémoires
IFT1215 Introduction aux systèmes informatiques 5 IFT1215 Introduction aux systèmes informatiques 6
1
Circuits combinatoires
• Un système binaire est un système qui ne Circuits combinatoires
peut exister que dans deux états autorisés.
• Diverses notations peuvent être utilisées • Le circuit combinatoire est défini lorsque son
pour représenter ces deux états : nombre d’entrées, sont nombre de sorties ainsi
que l’état de chaque sortie en fonction des
– numérique : 1 et 0 entrées ont été précisés
– logique : vrai et faux • Ces informations sont fournies grâce à une table
– électronique : ON et OFF, haut et bas de vérité
• Une variable logique est une variable qui peut prendre • La table de vérité d’une fonction de n variables a
deux états ou valeurs: vrai (V) ou faux (F) 2n lignes - états d’entrée
• En faisant correspondre V avec le chiffre binaire 1 et F – • Algèbre de Boole et les fonctions logiques sont le
0, ce type de variable devient une variable booléenne support théorique des circuits combinatoires
ou binaire
IFT1215 Introduction aux systèmes informatiques 7 IFT1215 Introduction aux systèmes informatiques 8
IFT1215 Introduction aux systèmes informatiques 9 IFT1215 Introduction aux systèmes informatiques 10
IFT1215 Introduction aux systèmes informatiques 11 IFT1215 Introduction aux systèmes informatiques 12
2
Circuits combinatoires Circuits combinatoires
• Inverseur : porte NON • Porte NON ET
– Une seule entrée et une seule sortie – est constituée par un inverseur à la sortie d'une
– La sortie d'une fonction NON prend l'état 1 si et porte ET
seulement si son entrée est dans l'état 0
A B Y=A • B
0 0 1
A Y=A
0 1 1
0 1
1 0 1
1 0
1 1 0
IFT1215 Introduction aux systèmes informatiques 13 IFT1215 Introduction aux systèmes informatiques 14
IFT1215 Introduction aux systèmes informatiques 15 IFT1215 Introduction aux systèmes informatiques 16
IFT1215 Introduction aux systèmes informatiques 17 IFT1215 Introduction aux systèmes informatiques 18
3
Circuits combinatoires
Circuits combinatoires
• Écritures canoniques (SOP) • Écritures canoniques d'une fonction logique
– 3 variables, terme produit, qu’on appelle minterme,
égal au ET des variables qui composent cette A B C F P3 + P5 + P6 + P7
combinaison 0 0 0 0 0
P0 P1 P2 P3 P4 P5 P6 P7 0 0 1 0 0 F(A, B, C) = P3 + P5 + P6 + P7
x y z 0 1 0 0 0
0 1 1 1 1
0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 F(A, B, C) = ABC + ABC + ABC + ABC
1 0 0 1 0 1 0 0 0 0 0 0
1 0 1 1 1 = ∑(3, 5, 6, 7)
2 0 1 0 0 0 1 0 0 0 0 0
3 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1
4 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 Cette façon, très générale,
5 1 0 1 0 0 0 0 0 1 0 0 d'écrire une fonction booléenne
6 1 1 0 0 0 0 0 0 0 1 0 est appelée somme canonique
7 1 1 1 0 0 0 0 0 0 0 1 de produits (SOP)
IFT1215 Introduction aux systèmes informatiques 19 IFT1215 Introduction aux systèmes informatiques 20
cette combinaison 0 0 0 0 0
F(A, B, C) = S0 · S1 · S2 · S4
S0 S1 S2 S3 S4 S5 S6 S7 0 0 1 0 0
X Y Z _ _ _ _ _ _ _ _ _ _ _ 0 1 0 0 0
X+Y+Z X+Y+Z X+Y+Z X+Y+Z X+Y+Z X+Y+Z X+Y+Z X+Y+Z
0 1 1 1 1
0 0 0 0 0 1 1 1 1 1 1 1 F(A, B, C) = (A + B + C)( A +B + C)(A
1 0 0 0 0
1 0 0 1 1 0 1 1 1 1 1 1 + B + C)(A + B + C)
2 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1
3 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1
Cette écriture est appelée
4 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 produit canonique de sommes
5 1 0 1 1 1 1 1 1 0 1 1
(POS)
6 1 1 0 1 1 1 1 1 1 0 1
7 1 1 1 1 1 1 1 1 1 1 0
IFT1215 Introduction aux systèmes informatiques 21 IFT1215 Introduction aux systèmes informatiques 22
IFT1215 Introduction aux systèmes informatiques 23 IFT1215 Introduction aux systèmes informatiques 24
4
Circuits combinatoires Relation d’équivalence des circuits
• Écritures canoniques d'une fonction logique • Soucis majeurs des concepteurs
A+B+C
– Réduire le nombre de portes nécessaires à la
A B C F S ·S ·S ·S réalisation des systèmes
0 1 2 4
(A • B) • C = A • (B • C) = A • B • C
ET De Morgan
A•B=B•A
(Dualité) A•A=A
OU exclusif
A•1=A
A•0=0
A • (B + C) = (A • B) + (A • C)
Distributivité
A + (B • C) = (A + B) • (A + C)
IFT1215 Introduction aux systèmes informatiques 27 IFT1215 Introduction aux systèmes informatiques 28
IFT1215 Introduction aux systèmes informatiques 29 IFT1215 Introduction aux systèmes informatiques 30
5
Circuits combinatoires Circuits combinatoires
• Toute fonction booléenne d'un nombre • { NON-ET (NAND) } est complet et minimal
quelconque de variables peut s'écrire avec • Les portes NOT, OR et AND peuvent être
les trois fonctions de base ET, OU et NON obtenues à partir de portes NAND.
• L’ensemble { ET, OU, NON } est complet
A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
IFT1215 Introduction aux systèmes informatiques 31 IFT1215 Introduction aux systèmes informatiques 32
IFT1215 Introduction aux systèmes informatiques 33 IFT1215 Introduction aux systèmes informatiques 34
IFT1215 Introduction aux systèmes informatiques 35 IFT1215 Introduction aux systèmes informatiques 36
6
Circuits combinatoires Circuits combinatoires
• Simplification d’expression booléenne
• Synthèse d'un circuit logique -
• La méthode algébrique (algèbre de Boole)
– A partir d'une fonction logique trouver le
logigramme correspondant à cette fonction • La méthode des tableaux de Karnaugh (SOP,
• Principe POS) A B C F
– Simplifier la fonction logique avec 2 méthodes – Fonction Majorité 0 0 0 0
• La méthode algébrique (algèbre de Boole) F(A, B, C) = ABC + ABC + ABC + ABC 0 0 1 0
= ∑(3, 5, 6, 7) 0 1 0 0
• La méthode des tableaux de Karnaugh
0 1 1 1
– En déduire le logigramme correspondant 1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
IFT1215 Introduction aux systèmes informatiques 37 IFT1215 Introduction aux systèmes informatiques 38
Circuits combinatoires
Circuits combinatoires • Minterme est représenté par une case dans le
• La méthode des tableaux de Karnaugh diagramme de Karnaugh.
– Les cases sont placées d’une façon telle que les mintermes qui ne
diffèrent que par l’état d’une seule variable ont une frontière
• Méthode graphiques de simplification commune sur une ligne ou sur une colonne, ou bien se trouvent aux
extrémités d’une ligne ou d’une colonne
A B C F F(A, B, C) = ABC + ABC + ABC + ABC = ∑(3, 5, 6, 7)
• Le diagramme de Karnaugh d’une fonction 0 0 0 0
AB 00 01 11 10
logique est une transformation graphique de la 0 0 1 0
Circuits combinatoires
Circuits combinatoires
• Réalisation des groupements de 1, 2, 4, 8 termes
• Méthode de Karnaugh: (une puissance de 2)
1. Transposition du tableau de vérité dans un tableau de
Karnaugh ; • Minimisation des groupements
2. Réalisation des groupements de 1, 2, 4, 8 termes (une – maximisation des termes dans un groupement
puissance de 2); A B C F
3. Minimisation des groupements (maximisation des termes 0 0 0 0
AB 00 01 11 10
dans un groupement) ; 0 0 1 0 C
– si groupement d'un terme, alors on ne fait rien ; 0 1 0 0
– on élimine les variables qui changent d'état et on conserve le 0 1 1 1
0 1
produit des variables qui n'ont pas changé d'état dans le 1 0 0 0
groupement;
1 0 1 1 1 1 1 1
4. l'expression logique finale est la réunion des groupements 1 1 0 1
après élimination des variables. 1 1 1 1
IFT1215 Introduction aux systèmes informatiques 41 IFT1215 Introduction aux systèmes informatiques 42
7
Circuits combinatoires
Circuits combinatoires
• On élimine les variables qui changent d'état et on
conserve le produit des variables qui n'ont pas
• Méthode de Karnaugh
changé d'état dans le groupement
B • Groupement minimal et non minimal
A
A B C F
0 0 0 0
AB 00 01 11 10
0 0 1 0 C
0 1 0 0
0 1 1 1
0 1
1 0 0 0
1 0 1 1 1 1 1 1
1 1 0 1
1 1 1 1 F = AB + BC + AC
IFT1215 Introduction aux systèmes informatiques 43 IFT1215 Introduction aux systèmes informatiques 44
IFT1215 Introduction aux systèmes informatiques 45 IFT1215 Introduction aux systèmes informatiques 46
IFT1215 Introduction aux systèmes informatiques 47 IFT1215 Introduction aux systèmes informatiques 48
8
Circuits combinatoires Exemple
• Conception d’un circuit logique
1. Identifier les entrées et les sorties (IN / OUT)
• Établissez la table de vérité d’un
du circuit. additionneur combinatoire de deux bits. Le
2. Construire la table (les tables) de vérité. circuit doit avoir quatre entrées, dont les
3. Identifier chaque fonction à partir de la table de
deux bits du premier opérande et les deux
vérité. bits du deuxième opérande. Il doit avoir
4. Simplifier chaque fonction. trois sorties, deux bits qui expriment la
5. Dessiner le schéma du circuit.
somme et le bit de la retenue. Réalisez le
circuit à l’aide des portes OU, ET et NON.
IFT1215 Introduction aux systèmes informatiques 49 IFT1215 Introduction aux systèmes informatiques 50
du circuit Construire la 0 1 0 0 0 1 0
table (les 0 1 0 1 1 0 0
– 4 entrées (2 bits du premier opérande et 2 bits du 0 1 1 0 1 1 0
tables) de
deuxième opérande) 0 1 1 1 0 0 1
vérité. 1 0 0 0 1 0 0
• A, B, C, D
1 0 0 1 1 1 0
– 3 sorties (2 bits - la somme et 1 bit - la retenue) 1 0 1 0 0 0 1
• S1, S2, R 1 0 1 1 0 1 1
1 1 0 0 1 1 0
1 1 0 1 0 0 1
1 1 1 0 0 1 1
1 1 1 1 1 0 1
IFT1215 Introduction aux systèmes informatiques 51 IFT1215 Introduction aux systèmes informatiques 52
AB 00 01 11 10 AB 00 01 11 10
CD CD
00 1 1 00 1 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 1 10 1 1
IFT1215 Introduction aux systèmes informatiques 53 IFT1215 Introduction aux systèmes informatiques 54
9
Tableaux de Karnaugh Conception d’un circuit logique
Simplifier chaque fonction R = AC + BCD + ABD
11 1 1 1
10 1 1
IFT1215 Introduction aux systèmes informatiques 55 IFT1215 Introduction aux systèmes informatiques 56
IFT1215 Introduction aux systèmes informatiques 59 IFT1215 Introduction aux systèmes informatiques 60
10
A B C F
Circuits combinatoires 0 0 0 0
0 Circuits combinatoires
• Multiplexeur 0 0 1 0
0 1 0 0 • Multiplexeur
– Le multiplexeur est un circuit combinatoire Sélecteur c
qui possède 2 n entrées d’information, n entrées de 0 1 1 1 – Le multiplexeur peut générer une
commande et une seule sortie. Son rôle consiste à 1 0 0 0 fonction booléenne si on utilise ses
sélecter, à l’aide de signaux de commande, une des 1 0 1 1 entrées de contrôle pour
entrées et à la lier à la sortie.
1 1 0 1
1
sélectionner (une à la fois) les 8
1 1 1 1 données d’entrée
a b Z – Fonction Majorité
0 0 K0 c
0 1 K1
1
1 0 K2
1 1 K3
IFT1215 Introduction aux systèmes informatiques 61 IFT1215 Introduction aux systèmes informatiques 62
IFT1215 Introduction aux systèmes informatiques 63 IFT1215 Introduction aux systèmes informatiques 64
IFT1215 Introduction aux systèmes informatiques 65 IFT1215 Introduction aux systèmes informatiques 66
11
Circuits de traitement ou de calcul
Circuits intégrés logiques • Décaleur
• Les circuits de traitement ou de – Un décaleur est formé de (n+1) entrées D1, ...,
calcul Dn, C et de n sorties S1, ..., Sn et opère un
décalage de 1 bit sur les entrées D1, ..., Dn
– Circuits MSI utilisés couramment dans
les unités de calcul – Si C=1, il s'agit d'un décalage à droite et si C=0,
• Décaleur d'un décalage à gauche
D3 D2 D1 D0
C
• Additionneur
• Unité arithmétique et logique C
S1 S0
S3 S2
IFT1215 Introduction aux systèmes informatiques 67 IFT1215 Introduction aux systèmes informatiques 68
IFT1215 Introduction aux systèmes informatiques 69 IFT1215 Introduction aux systèmes informatiques 70
S =A B R = AB Additionneur complet 1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
IFT1215 Introduction aux systèmes informatiques 71 IFT1215 Introduction aux systèmes informatiques 72
12
Circuits de traitement ou de calcul
• Additionneur complet n bits
Circuits de traitement ou de calcul
– L’additionneur n bits est obtenu en chaînant • Additionneur
entre eux un demi-additionneur et n-1 • Indicateur de carry
additionneurs 1 bit complets
– Lors d’une opération arithmétique effectuée
– Le chaînage s’effectue par le biais des retenues sur des nombres de n bits un n+1e bit, bit de
propagées carry, peut être généré
a3 b3 a2 b2 a1 b1 a0 b0
– Ce bit de carry mémorisé par l’indicateur C du
Additionneur registre d’état du processeur, PSW,
r3 r2 r1 r0 4 bits
correspond au niveau de l’additionneur n bits,
à une retenue rn-1 égale à 1pour
s3 s2 s1 s0 l’additionneur complet 1 bit
IFT1215 Introduction aux systèmes informatiques 73 IFT1215 Introduction aux systèmes informatiques 74
IFT1215 Introduction aux systèmes informatiques 75 IFT1215 Introduction aux systèmes informatiques 76
13
Circuits de traitement ou de calcul Circuits de traitement ou de calcul
• Additionneur, Indicateur d’overflow • Unité arithmétique et logique
– Conclusion – UAL (Unité Arithmétique et Logique) à un bit
• Overflow peut être détécté en effectuant un test de qui réalise ET, OU, NON, SOMME
comparaison entre rn-2 et rn-1
• Overflow <=> rn-2 ≠ rn-1
Registre d’état
O = rn-2 rn-1
a3 b3 a2 b2 a1 b1 a0 b0
C r3 r2 r1 r0
F0
O s3 s2 s1 s0 F1
IFT1215 Introduction aux systèmes informatiques 79 IFT1215 Introduction aux systèmes informatiques 80
IFT1215 Introduction aux systèmes informatiques 81 IFT1215 Introduction aux systèmes informatiques 82
IFT1215 Introduction aux systèmes informatiques 83 IFT1215 Introduction aux systèmes informatiques 84
14
Circuits logiques à mémoire Circuits séquentiels
• Circuits séquentiels ou à mémoire (FSM)
– Les fonctions de sortie dépend non seulement de • Circuits combinatoires
l’état des variables d’entrée mais également de – Les sorties ne dépendent que des valeurs des
l’état antérieur de certaines variables de sortie entrées
(propriétés de mémorisation)
Entrées Sorties • Circuits séquentiels
Partie Combinatoire – Ajout des notions d'état et de mémoire
– Ajout de la notion de temps (horloge)
Mémoires
IFT1215 Introduction aux systèmes informatiques 85 IFT1215 Introduction aux systèmes informatiques 86
Bascules
Circuits séquentiels
• Mémoire 1 bit
• Circuits séquentiels – Possède une variable binaire codée sur 1 bit
– Les valeurs de sorties du circuit dépendent – Sa valeur est conservée ou modifiable dans le
• Des valeurs en entrée temps
• De valeurs calculées précédemment • Mémoires 1 bit peuvent être réalisées
• De l'état dans lequel on se trouve
avec des bascules appelés également
• Théories utilisées pour étudier/spécifier les circuits séquentiels ou flip-flops, les
différents types de circuits bascules mémorisent l‘état antérieur des
– Circuits combinatoires : algèbre de Boole
variables de sortie et permettent ainsi de
– Circuits séquentiels : théorie des automates
finis mémoriser un bit.
IFT1215 Introduction aux systèmes informatiques 87 IFT1215 Introduction aux systèmes informatiques 88
IFT1215 Introduction aux systèmes informatiques 89 IFT1215 Introduction aux systèmes informatiques 90
15
Bascules
• Bascule RS Bascules
• Entrées/sorties
– 2 entrées : R et S ; R = reset : remise à 0 de Q;
S = set : mise à 1 de Q
• Bascule RS
– 1 sortie: Q qui correspond à l'état stocké • Logigramme de la bascule RS, avec des
• Principe : la valeur de Q à t+1 dépend de R, S et de la portes NOR
valeur de Q à t
Qt R S Qt+1 Q
0 0 0 0 S=0 et R=0 : Q garde sa valeur, maintien S Q
0 0 1 1 S=1 et R=0 : Q mis à 1
0 1 0 0 S=0 et R=1 : Q mis à 0
0 1 1 X S=1 et R=1 : Q indéterminé
1 0 0 1 S=0 et R=0 : Q garde sa valeur, maintien
1 0 1 1 S=1 et R=0 : Q mis à 1 Q R Q
1 1 0 0 S=0 et R=1 : Q mis à 0
1 1 1 X S=1 et R=1 : Q indéterminé
IFT1215 Introduction aux systèmes informatiques 91 IFT1215 Introduction aux systèmes informatiques 92
Bascules Bascules
• Bascule JK sur front d’horloge
• La bascule RS synchrone – Possède 2 entrées de données J et K
– Fonctionnalité identique à la bascule RS à la
différence près que l’état J=1, K=1 est autorisé
– J= 1, K = 1 => inversion de l’état de la bascule
K
Clk
J
IFT1215 Introduction aux systèmes informatiques 93 IFT1215 Introduction aux systèmes informatiques 94
16
Registres Registres
• Notons qu'on ne retrouve pas seulement
• Un registre est un dispositif qui permet
des registres dans la mémoire centrale,
de mémoriser une information et de la
mais aussi dans les autres composantes
restituer autant de fois que désiré.
de l'ordinateur comme l'unité centrale de
• Tout registre comporte un mécanisme de traitement (CPU), dans les unités
remise à zéro (RAZ), qui met tous les d'entrées/sorties, etc.
registres élémentaires qui le compose à
• Les registres sont utilisés bien
zéro simultanément
différemment que la mémoire principale.
IFT1215 Introduction aux systèmes informatiques 97 IFT1215 Introduction aux systèmes informatiques 98
IFT1215 Introduction aux systèmes informatiques 101 IFT1215 Introduction aux systèmes informatiques 102
17
Circuits séquentiels Circuits séquentiels
Automate fini Automate fini
• Déterminer un automate: • Déterminer un automate:
– Table d’états – Table de vérité
E(t)
0 1 E(t) Q(t) E Q(t+1) S
Q(t) Q(t) 0 1
Q0:0 Q0/0 Q1/0 0 0 0 0
Q0:0 Q0/0 Q1/0
0 1 1 0
Q1:1 Q0/1 Q1/1 Q1:1 Q0/1 Q1/1 1 0 0 1
1 1 1 1
IFT1215 Introduction aux systèmes informatiques 103 IFT1215 Introduction aux systèmes informatiques 104
IFT1215 Introduction aux systèmes informatiques 105 IFT1215 Introduction aux systèmes informatiques 106
IFT1215 Introduction aux systèmes informatiques 107 IFT1215 Introduction aux systèmes informatiques 108
18
Circuits séquentiels Circuits séquentiels
• Table d’états
• Exemple • 7 états (3 bits pour encoder en binaire)
• Détecteur de séquence
– Automate qui met une sortie
à « 1 » lorsque exactement
• Choisir arbitrairement l’encodage:
deux de ses trois entrées (1- – A: 000, B:001; C:010; D:011; E:100; F:101;
bit série) sont à « 1 »
– Une séquence d’entrée G:110;
011011100 produira
001111010
• Diagramme de transitions
d’états
– 1 entrée:
• X
– 1 sortie:
• Z
IFT1215 Introduction aux systèmes informatiques 109 IFT1215 Introduction aux systèmes informatiques 110
Circuits séquentiels
• Table de vérité
19