You are on page 1of 19

Introduction

• Architecture en couches
Introduction aux circuits Niveau 5 Couche des langages d’application
Traduction (compilateur)

logiques de base Niveau 4 Couche du langage d’assemblage


Traduction (assembleur)

Niveau 3 Couche du système d’exploitation


Interprétation partielle (système d’exploitation)

Niveau 2 Couche architecture du jeu d’instructions


(couche ISA)
Interprétation (microprogramme)
ou exécution directe
Niveau 1 Couche microarchitecture
Matériel

Niveau 0 Couche logique numérique

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

Circuits combinatoires Circuits combinatoires


• L'algèbre de Boole concerne la logique des systèmes
i1 i3 i4 F1(i1, i3 , i4) binaires. En électronique les deux états d'une
• Table de vérité 0 0 0 variable booléenne peuvent être associés à deux
i0 i1 F0(i0, i1)
0 0
0 0 1 niveaux de tension : V(0) et V(1) pour les états 0 et 1
0 1
0 1 0 respectivement.
0 1 1
1 0
. . .
• On distingue les logiques positive et négative selon
1 1
1 1 1
que V(1) > V(0) ou V(1) < V(0)
Niveau Logique positive Logique négative
i0 i1 i2 . . . in F0(i0, i1) F1(i1, i3 , i4) ... Fm(i9, in) Haut 1 0
0 0 0… 0
Bas 0 1
0 0 0… 1
... • Toute fonction logique peut être réalisée à l’aide d’un
nombre de fonctions logiques de base appelées portes
. . . • Un circuit se représente par un logigramme
1 1 1… 1

IFT1215 Introduction aux systèmes informatiques 9 IFT1215 Introduction aux systèmes informatiques 10

Circuits combinatoires Circuits combinatoires


• Porte OU • Porte ET
– Au moins deux entrées – Au moins deux entrées
– La sortie d'une fonction OU est dans l'état 1 si – La sortie d'une fonction AND est dans l'état 1 si
au moins une de ses entrées est dans l'état 1 et seulement si toutes ses entrées sont dans
l'état 1
A B Y=A+B
A B Y=A • B
0 0 0
0 0 0
0 1 1
0 1 0
1 0 1
1 0 0
1 1 1
1 1 1

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

Circuits combinatoires Circuits combinatoires


• Portes NON OU • Porte OU-EXCLUSIF (XOR)
– Une négation à la sortie d'une porte OU – Au moins deux entrées
constitue une fonction NON OU (NOR : NOT OR) – La sortie d'une fonction XOR est dans l'état 1 si
le nombre de ses entrées à 1 est un nombre
A B Y=A+B impair
0 0 1
A B Y=A B
0 1 0
0 0 0
1 0 0
0 1 1
1 1 0
1 0 1
1 1 0

IFT1215 Introduction aux systèmes informatiques 15 IFT1215 Introduction aux systèmes informatiques 16

Réalisation des fonctions Comment rendre une table de


booléennes vérité en une fonction booléenne
• Toute fonction logique peut être réalisée à • À partir de la table de vérité, nous
l’aide des portes pouvons avoir deux formes analytiques,
• Réalisation d’une fonction booléenne dénommées formes canoniques
– Écrire l’équation de la fonction à partir de sa – somme canonique de produits (SOP)
table de vérité
– Simplifier l’équation – produit canonique de sommes (POS)
– Réaliser l’équation à l’aide des portes
disponibles

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

Circuits combinatoires Circuits combinatoires


• Écritures canoniques (POS)
• Écritures canoniques d'une fonction logique
• 3 variables, terme somme, qu’on appelle
maxterme, égal au OU des variables qui composent A B C F S ·S ·S ·S
0 1 2 4

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

Écritures canoniques Circuits combinatoires


• Écritures canoniques d'une fonction logique
• Écritures canoniques expriment une ABC

fonction booléenne à l’aide des opérateurs


logiques ET, OU, NON A B C F P3 + P5 + P6 + P7
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
On peut réaliser une fonction 0 1 1 1 1
à l’aide des portes 1 0 0 0 0
1 0 1 1 1
ET, OU, NON 1 1 0 1 1
1 1 1 1 1

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

0 0 0 0 0 • Minimiser le coût en nombre de boîtiers


0 0 1 0 0 • La consommation électrique
0 1 0 0 0
0 1 1 1 1
– Minimiser la complexité
1 0 0 0 0 • Créer un système équivalent avec certains
1 0 1 1 1 paramètres optimisés
1 1 0 1 1
1 1 1 1 1
– Recherche d’équivalence
• Utiliser les lois et théorèmes de l’algèbre de Boole
IFT1215 Introduction aux systèmes informatiques 25 IFT1215 Introduction aux systèmes informatiques 26

Circuits combinatoires Circuits combinatoires


• Résumé des identités booléennes de base
• Résumé des identités booléennes de base
(A + B) + C = A + (B + C) = A + B + C NON A= A
OU A+ A =1
A+B=B+A
(Dualité) A+A=A
A• A = 0
A+0=A Loi d’absorption A + (A • B) = A
A+1=1 A • (A + B) = A

(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

Relation d’équivalence des circuits Relation d’équivalence des circuits


• La manipulation algébrique • Deux fonctions logiques sont équivalentes
si, et seulement si, les valeurs de leurs
F=ABC+ABC+ABC+ABC=
= C (A B + A B) + C (A B + A B) =
sorties sont les mêmes pour toutes les
= C (A + B) + C (A + B) =
configurations identiques de leurs
=A +B+ C variables d’entrée
– Examen des tables de vérité respectives

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

Circuits combinatoires Circuits combinatoires


• { NON-OU (NOR) } est complet et minimal • Analyse de circuit logique
• Les portes NOT, OR et AND peuvent être • Trouver sa fonction logique
obtenues à partir de portes NOR. • Principe
– Donner l'expression des sorties de chaque
porte/composant en fonction des valeurs de ses
entrées
– En déduire au final la (ou les) fonction(s) logique(s)
du circuit
– On peut ensuite
• Déterminer la table de vérité du circuit
• Simplifier la fonction logique

IFT1215 Introduction aux systèmes informatiques 33 IFT1215 Introduction aux systèmes informatiques 34

Circuits combinatoires Circuits combinatoires


• Analyse de circuit logique
• Analyse de circuit logique
– 3 entrées, 1 sortie
– Compose uniquement de portes logiques
a b c f
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
• A partir de son logigramme 1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

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

table de vérité qui permet la visualisation de tous


0 1 0 0 C
0 1 1 1
les mintermes 1 0 0 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
1 1 1 1
IFT1215 Introduction aux systèmes informatiques 39 IFT1215 Introduction aux systèmes informatiques 40

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

Circuits combinatoires Circuits combinatoires


• Cas des fonctions booléennes incomplètement • L'afficheur 7 segments
spécifiées • On veut afficher les 10 chiffres décimaux à
– Il existe des fonctions booléennes pour lesquelles il l'aide de 7 segments, notés de a à g, qui
n'y a pas de valeurs associées à certains termes peuvent être à 0 (éteint) ou 1 (allumé). Le
produit
codage des 10 chiffres décimaux nécessite 4
– Ceux-ci ne sont jamais "sélectionnés", et la valeur
bits, que l'on peut noter e3 à e0.
qui leur est associée peut être indifféremment 0 ou 1.
On note d (don't care)
e3
• L'afficheur 7 segments est un exemple
e2
particulier de fonction booléenne e1
incomplètement spécifiée. e0

IFT1215 Introduction aux systèmes informatiques 45 IFT1215 Introduction aux systèmes informatiques 46

Circuits combinatoires Circuits combinatoires


• L'afficheur 7 segments • Méthode de Karnaugh
e3 e2 e1 e0 a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0 • Tableau de Karnaugh et D(on’t care)
e3 0 0 0 1 1 0 1 1 0 0 0 0
– Lorsqu’une variable peut être indifféremment un
e2 0 0 1 0 2 1 1 0 1 1 0 1

e1 0 0 1 1 3 1 1 1 1 0 0 1 « 1 » ou un « 0 » symbolisé par un d (« don’t care »),


0 1 0 0 4 0 1 1 0 0 1 1 il peut y avoir plus d’un groupement minimal
e0 0 1 0 1 5 1 0 1 1 0 1 1
0 1 1 0 6 1 0 1 1 1 1 1
0 1 1 1 7 1 1 1 0 0 0 0
1 0 0 0 8 1 1 1 1 1 1 1
1 0 0 1 9 1 1 1 0 0 1 1
1 0 1 0 10 d d d d d d d
1 0 1 1 11 d d d d d d d
1 1 0 0 12 d d d d d d d
1 1 0 1 13 d d d d d d d
1 1 1 0 14 d d d d d d d
1 1 1 1 15 d d d d d d d

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

Conception d’un circuit logique Table de vérité


Additionneur A B C D S1 S2 R
0 0 0 0 0 0 0
combinatoire
• Additionneur combinatoire de deux bits de 2 bits
0 0 0 1 0 1 0
0 0 1 0 1 0 0
1. Identifier les entrées et les sorties (IN / OUT) 0 0 1 1 1 1 0

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

Tableaux de Karnaugh Tableaux de Karnaugh


Simplifier chaque fonction
Simplifier chaque fonction S2 = BD + BD
S1 = ABCD + ABCD + ACD + ACD + ABC + ABC

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

AB 00 01 11 10 • Additionneur combinatoire de deux bits


CD 5. Dessiner le schéma du circuit
00 S1 = ABCD + ABCD + ACD + ACD + ABC + ABC
S2 = BD + BD
01 1
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

Circuits intégrés logiques Circuits intégrés logiques


• Un circuit contenant les portes intégrées
par divers procédés technologiques sur • 4 familles des circuits intégrés logiques
une petite plaquette de silicium (selon la densité d’intégration)
– SSI (Small Scale Integration)
• Cette puce de silicium est enfermée dans
• Circuits à faible intégration groupant de 1 à 10
un boîtier portes/circuit
• Sur les côtés sont disposées des broches – MSI (Medium Scale Integration)
(ou pattes) • Circuits à moyenne intégration groupant de 10 à
– Assurer les connexions électriques des 100 portes/circuit
circuits logiques internes
IFT1215 Introduction aux systèmes informatiques 57 IFT1215 Introduction aux systèmes informatiques 58

Circuits intégrés logiques Circuits intégrés logiques


• 4 familles des circuits intégrés logiques • Principaux circuits MSI combinatoires
(selon la densité d’intégration) – Multiplexeur
– LSI (Large Scale Integration) – Démultiplexeur
• Circuits à haute intégration groupant de 100 à – Encodeur
100000 portes/circuit – Décodeur
– VLSI (Very Large Scale Integration) • Les circuits de traitement ou de calcul
• Circuits à très haute intégration groupant plus de
100000 portes/circuit – Un circuit de décalage
• Mémoires, microprocesseurs (Intel Pentium > 3 000 – Additionneur
000 transistors) – Unité arithmétique et logique

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

Circuits combinatoires Circuits combinatoires


• Démultiplexeur • Encodeur
– 1 entrée, X sorties – Active un code selon l'une des X entrées actives
– Selon une adresse (n bits), une des X sorties prend – 2n (en général) entrées, 1 entrée active (valeur 1),
la valeur de l'entrée les autres sont toutes désactivées (valeur 0)
– Code en sortie : sur n bits
• Encodeur sur 3 bits

IFT1215 Introduction aux systèmes informatiques 63 IFT1215 Introduction aux systèmes informatiques 64

Circuits combinatoires Circuits combinatoires


• Décodeur • Décodeur
– Active une des X sorties selon un code – Fonction Majorité
– Code : sur n bits
– Nombre de sorties : 2n (en général)

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

Circuits de traitement ou de calcul Circuits de traitement ou de calcul


• Additionneur • Additionneur
– Pour réaliser des additions binaire de 2 nombres – Additionneur 1 bit pour les bits de poids faible a0
A et B de n bits on décompose un circuit en et b0
deux parties
• Un circuit correspondant à l’addition des bits de poids a0 b0 Som R
faible a0 et b0 (il n’y a pas de retenue propagée à 0 0 0 0
Som = a0 b0 R = a0b0
prendre en compte) 0 1 1 0
• Un circuit correspondant à l’addition des bits de poids 1 0 1 0
supérieur ai et bi (prendre en compte la retenue ri-1 1 1 0 1
propagée depuis le rang i-1 inférieur)

IFT1215 Introduction aux systèmes informatiques 69 IFT1215 Introduction aux systèmes informatiques 70

Circuits de traitement ou de calcul Circuits de traitement ou de calcul


• Additionneur • Additionneur 1 bit pour les bits de poids fort
– Le circuit logique associé est donc constitué de – Afin de permettre une liaison de plusieurs
deux portes, un OU exclusif pour le résultat et additionneurs en série, un additionneur doit
un ET pour la retenue: avoir une retenue en entrée Re en plus de la
retenue en sortie Rs: A B Re S Rs
– Comme ce circuit ne tient pas compte d’une 0 0 0 0 0
retenue propagée depuis le rang inférieur 0 0 1 1 0
• Est qualifié de demi-additionneur 0 1 0 1 0
0 1 1 0 1
1 0 0 1 0

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

Circuits de traitement ou de calcul Circuits de traitement ou de calcul


• Additionneur
• Additionneur
• Indicateur de carry pour l’additionneur 4 bits
• Indicateur d’overflow
Registre d’état
– Lors d’une opération arithmétique mettant en
jeu des nombres de n bits et de même signe,
a3 b3 a2 b2 a1 b1 a0 b0
le résultat peut être en dehors de l’intervalle
des nombres représentables sur n bits par la
C
r3 r2 r1 r0 convention choisie pour la représentation de
ces nombres signés
s3 s2 s1 s0

IFT1215 Introduction aux systèmes informatiques 75 IFT1215 Introduction aux systèmes informatiques 76

Circuits de traitement ou de calcul Circuits de traitement ou de calcul


• Additionneur • Additionneur
• Indicateur d’overflow • Indicateur d’overflow
– Dépassement de capacité ne peut se produire – Dépassement de capacité ne peut se produire
que lors de l’addition de 2 nombres de même que lors de l’addition de 2 nombres de même
signe signe
• Cas 1: 2 nombres positifs => an-1 = bn-1 = 0 • 2 nombres sont de signes différents => an-1 ≠ bn-1
– Overflow Ù sn-1 = 1 => an-1 + bn-1 = 1
– On a: an-1 = bn-1 = 0 => an-1 + bn-1 = 0 => rn-1 = 0 => sn-1 ne – rn-2 = 1 => sn-1 = 0 et rn-1 = 1
peut pas être égal à 1 que si rn-2 = 1 => rn-2 ≠ rn-1 – rn-2 = 0 => sn-1 = 1 et rn-1 = 0
• Cas 2: 2 nombres négatifs => an-1 = bn-1 = 1
– Overflow Ù sn-1 = 0 • On note que rn-2 = rn-1
– On a: an-1 = bn-1 = 1 => rn-1 = 1 => sn-1 ne peut pas être
égal à 0 que si rn-2 = 0 => rn-2 ≠ rn-1
IFT1215 Introduction aux systèmes informatiques 77 IFT1215 Introduction aux systèmes informatiques 78

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

Les horloges Les horloges


• Caractéristiques électriques et temporelles • Contraintes temporelles des circuits
• L’ordre d’apparition des variables - important • Un circuit est formé de plusieurs portes
• Changement de valeur (0 -> 1 ou 1 -> 0) – Chemin critique : chemin le « plus long » pour la
propagation des signaux à travers le circuit
– Idéalement : instantané
– Détermine le temps total de propagation des signaux
– En pratique : prend un certain temps, délai de montée à travers tout le circuit
(0 -> 1) et de descente (1 -> 0) – Temps minimal à attendre pour avoir une sortie valide
• Passage d'un signal au travers d'une porte – Intuitivement : chemin passant par le plus grand
– Idéalement : instantané nombre de portes
– Mais dépend aussi du temps de propagation de
– En pratique : prend un certain temps
chaque type de porte
– Délai de propagation

IFT1215 Introduction aux systèmes informatiques 81 IFT1215 Introduction aux systèmes informatiques 82

Les horloges Les horloges


• Horloge
• À cause de tous les délais (montée, descente, • Horloge
propagation)
– Un signal n'est pas dans un état valide en • Signal périodique
permanence – 1 demi période à 0, l'autre à 1
• Idée : on ne lit ses valeurs qu'a des instants • Début d'une nouvelle période
précis et à des intervalles réguliers : instant ti
– Instants donnés par une horloge • Exemple
• Horloge – Instant t1 : E = 1, S = 0
– Système logique qui émet régulièrement une suite – Instant t2 : E = 0, S = 1
d’impulsions calibrées – CLK = Clock = signal d'horloge
– L’intervalle de temps entre 2 impulsions représente le
temps de cycle ou la période de l’horloge

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

Bascules Circuits séquentiels


• Bistable et bascule • 3 types de bascules
• Bistable : 2 états stables dans le temps • Détermination du temps suivant (passage de t à t + 1)
• Principe général d'une bistable : 2 portes NON selon le type de bascule
(inverseurs) en opposition – Asynchrone
• Quand les entrées changent et la sortie est
recalculée
– Synchrone sur niveau
• Quand le niveau (1 en général, mais 0 aussi) est
• Bascule : composant qui met en oeuvre une bistable
– Possibilité de passer d'un état a l'autre, de changer l'état
atteint
mémorisé – Synchrone sur front
– Plusieurs façons de gérer et changer l'état • Au moment du passage de 0 a 1 ou de 1 a 0 selon
– Plusieurs types de bascules : RS, D, JK ...
le type de front utilise par la bascule

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

Bascule D sur front d’horloge Circuits séquentiels


• En réunissant plusieurs bascules sur un
même signal d'horloge, on peut fabriquer
un circuit qui constitue un registre, d'où la
possibilité de construire des mémoires
Out
In
registre 8 bits

• La sortie recopie l’entrée à chaque flanc


montant de CLK
IFT1215 Introduction aux systèmes informatiques 95 IFT1215 Introduction aux systèmes informatiques 96

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

Registres Classical FSM Model


• Suivant le type d'information qu'ils sont
destinés à retenir, on parlera de registres
d'adresses, de registre arithmétique, fixe
ou flottant, de registre d'instructions, de
registre de base ou de translation, de
registre d'index, ... etc.
• On trouve aussi des registres à
décalage, qui sont spécialement conçus
pour effectuer des décalages sur les
chaînes binaires.
IFT1215 Introduction aux systèmes informatiques 99 IFT1215 Introduction aux systèmes informatiques 100

Circuits séquentiels Circuits séquentiels


Automate fini Automate fini
• Un automate fini possède un nombre fini • Déterminer un automate:
– Diagrammes d'états ou de transitions
d'états
– Exemple: Mémoire binaire, stocke 1 bit
• Il est caractérise, pour un couple d'instants • 1 entrée, 2 états : valeur 0 ou valeur 1
(t, t+1), par • Si 0, on mémorise la valeur 0
• Si 1, on mémorise la valeur 1
– Sa réponse S
– Son entrée E
– Son état Q

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

Circuits séquentiels Circuits séquentiels


• Exemple • Table d’états
• Compteur • 4 états (2 bits pour encoder en binaire)
modulo 4
• Diagramme de
• Choisir arbitrairement l’encodage:
transitions – A: 00, B:01; C:10; D:11
d’états
– 1 entrée:
• RESET
– 2 sorties:
• q0
• q1

IFT1215 Introduction aux systèmes informatiques 105 IFT1215 Introduction aux systèmes informatiques 106

Circuits séquentiels Circuits séquentiels


• Logigramme
• Table de vérité

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é

IFT1215 Introduction aux systèmes informatiques 111

19