Chapitre I La Logique Combinatoire-0
Chapitre I La Logique Combinatoire-0
Chapitre I La Logique Combinatoire-0
- Tout ordinateur est conçu à partir de circuits intégrés qui ont tous une fonction spécialisée
(ALU : unité arithmétique et logique, mémoire, circuit décodant les instructions etc.) ;
- Ces circuits sont conçus à partir de circuits logiques dont le but est d’exécuter des opérations
sur des variables logiques (binaires) ;
- Les circuits logiques (combinatoires et séquentiels) sont conçus à partir de de composants de
base appelés portes logiques ;
- les circuits combinatoires expriment leurs sorties à partir de leurs entrées ; par contre les
circuits séquentiels expriment leurs sorties à partir de leurs entrées et des sorties précédentes.
- Les portes logiques sont élaborées à partir de composants électroniques, essentiellement avec
des transistors ;
- Une porte logique est un circuit ayant au moins une ou plusieurs entrées et exactement une
sortie. Les valeurs des entrées et de la sortie sont les valeurs logiques vrai et faux. Dans le
domaine de l’architecture de l’ordinateur, il est fréquent d’utiliser 1 pour vrai et 0 pour faux.
Chapitre I : La logique combinatoire
- Un Circuit combinatoire est défini par un ensemble de portes reliées les unes aux autres.
- De manière générale, un circuit a m entrées et n sorties et construit sous la forme de n
circuits différents possédant chacun une seule sortie.
- L’état de la (ou des) sortie(s) à un instant donné ne dépend que du circuit et de la
valeur des entrées à cet instant.
b. MUX 4 1
On a 22 entrées : e0 e1 e2 e3, alors il nous faut 2 lignes de sélection (d’adresse) : a0 a1.
a0 a1 S
0 0 e0
0 1 e1
1 0 e2
1 1 e3
Table de vérité
Rq. Pour représenter ce multiplexeur ( 1), on peut utiliser deux multiplexeurs ( 1) au lieu
de la table de vérité est des portes logiques comme suit :
L’entrée E sera aiguillée vers la sortie s 1 si l’adresse binaire écrite sur les entrées de
sélection est (01).
Conception d’un démultiplexeur
Soit un démultiplexeur défini par la table de vérité suivante :
Ap
Application d’un codeur
Application d’un démultiplexeur
a. Conversion série-parallèle
Le compteur varie de 0 à 7. A chaque fois que le compteur prend une valeur, l’entrée passe
par la sortie correspondante du démultiplexeur (valeur 001 – l’entrée passe par la sortie 2).
Lorsque le compteur prend toutes les valeurs possibles (0…7), toutes les entrées passe en
sortie en parallèle.
a. Conception de circuits logiques
Soit à réaliser la fonction f(a,b,c)= m(0,1,2,7) à l’aide d’un démultiplieurs (8 1).
A partir de la forme canonique décimale de f on déduit la table de vérité de f :
Lorsque l’entrée =(10) alors la sortie s2 est mise à 1 (activée), les autres restent inactives.
Conception d’un décodeur 2 4
Soit un décodeur défini par la table de vérité suivante :
Lorsque e0=0 et e1=0 alors c’est S0 qui est active (e 0=1 et e1=0 S0 ; e0=1 et e1=0 S1 ; e0=1 et
e1=0 S2 ; e0=1 et e1=1 S3)
A partir de la table de vérité, on déduit directement les sortie S0, S1, S2 et S3 comme suit :
On aura alors le circuit équivalent suivant :
Lorsque l’entrée du codeur est e0=0 et e2=0, la première sortie du décodeur est activée (S0=1)
et ainsi la porte logique « OU » est sélectionnée.
b-Machine à laver automatique :
A chaque fois que le compteur change de valeurs (0...3), la sortie correspondante est
sélectionnée (V doit être = 1). Par exemple, si la valeur du compteur =1, alors la sortie S 1 est
activée (lavage).
c- Conception de circuit logique
Soit à réaliser la fonction f donnée par sa forme canonique décimale f(a,b,c)= m(0,1,2,7) à
l’aide d’un décodeur.
On sélectionne uniquement les sorties pour lesquelles les mintermes = 1 (0, 1, 2 et 3).
2.6. Transcodeur
Il transforme (convertit) une information en entrée fournie dans un code binaire donné (n
bits) en une information équivalente en sortie codée dans autres code binaire (m bits).
Exemples
Transcodeur : Binaire pur (4 bits) vers Binaire réfléchi (code Gray) (4 bits). Voir TD.
Transcodeur : BCD vers 7 segments
b- Additionneur complet
Il doit être capable d’additionner 2 bits plus une retenue. Voici la table de vérité d’un tel
circuit est donnée ci-dessous.
• Entrées : o Les 2 bits à additionner et .
o La retenue d'entrée e
• Sorties : o La somme = + + e
o La retenue de sortie
• Rôle : Additionner et en prenant en compte la retenue d'entrée et en
conservant la retenue de sortie
a b e S Rs
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
La sortie est à 1 s’il y a un nombre impair de bits à 1 en entrée ; cela est équivalent à
prendre le OU-exclusif des entrées : S = a b R
La retenue R’ se calcule par sa forme canonique :
= + + + = ( + )+ ( + )= ( )+
D’où le additionneur suivant :
c- Additionneur 4 bits
Un additionneur 4 bits fait la somme de deux nombres binaires a3 a2 a1 a0 et b3 b2 b1 b0.
Le construire directement à partir de la table de vérité est impossible : il y a huit
entrées, soit deux cent cinquante-six combinaisons possibles, donnant chacune quatre
sorties et une retenue finale. Il faut simplement le construire en posant l’addition
binaire et en effectuant la somme bit à bit. On retrouve alors les deux circuits que l’on vient
de construire, le demi-additionneur pour le bit de poids faible et l’additionneur complet
pour les autres. Il faut juste reporter la retenue d’un étage à l’autre comme suit :
Ex. A = a3 a2 a1 a0 = 1 1 0 1 B = b3 b2 b1 b0 = 1 0 1 1
S = A + B = S3 S2 S1 S0 = 1 0 0 0 avec retenue R = 1
2.7. L’additionneur soustracteur (en complément vrai)
Pour réaliser l’opération de soustraction ‘‘D = A – B’’, il suffit de réaliser l’opération ‘‘D = A + B
+ 1’’. Avec B est le nombre binaire obtenu en remplaçant les 1 de B par un 0 et les 0 par un 1.
Ainsi, le circuit soustracteur ‘‘D = A – B’’ peut être construit facilement sur la base de la
structure d'additionneur vu précédemment. La principale différence réside dans la nécessité
d'utiliser un circuit appelé "complément à 2" qui inverse la valeur de la donnée B.
Effectuer D = A B est équivalent à D = A + B + 1 en complément à 2.
Le bit de poids faible de l'additionneur n'a pas de retenue d'entrée ; pour ajouter le 1 à D, il
suffit de mettre un 1 comme retenue dans l'additionneur de poids faible.
Exemple : Soit à réaliser l’opération D = A – B = 9 – 12
A = 1001 ; B = 1100 ; B = 0011 ; D = 1001 + 0011 + 1
Pour obtenir le résultat en binaire, il suffit d’inverser tous les bits (R, S3, S2, S1, S0). La dernière
retenue (R) est considérée comme le signe du résultat.
Ainsi, on obtient D = 10010 = - 2
Chapitre II : La logique séquentielles (circuits logiques à mémoire)
Un circuit séquentiel est un circuit construit à partir de portes logiques, dans lequel on
introduit une rétroaction des sorties sur les entrées : une ou plusieurs sorties sont renvoyées
sur les entrées des portes.
On ne peut alors plus calculer les valeurs de sortie uniquement à partir des valeurs des
entrées comme pour les circuits combinatoires, puisqu’il faut également tenir compte
des valeurs antérieures des sorties répercutées sur les entrées. Un nouveau paramètre
temporel entre en jeu lors de l’étude du circuit.
Rq. L’étude des circuits séquentiels se repose sur la théorie « des automates finis ».
3.1 Bascules élémentaires
De même que les portes logiques constituent les briques de base des circuits
combinatoires, les circuits séquentiels sont construits à partir de cellules élémentaires
servant à mémoriser un bit, connues sous la dénomination générique de bascules, car
elles possèdent deux états stables.
- Une bascule : système bistables (2 états : 0 et 1) permettant de mémoriser une information
élémentaire (un bit). Une bascule est l'élément de base de la logique séquentielle.
Une bascule :
• Permet de mémoriser un bit ;
• « Se souvient » de la valeur que le circuit a enregistrée ;
• Est construite avec une ou deux portes logiques NON-OU (ou NON-ET) ;
• Comporte une ou plusieurs entrées, et une ou deux sorties Q et Q Q1 et Q0 (avec Q0= 1).
3.1.1. La bascule RS
- La bascule RS est composée de deux portes non-ou. Elle comporte deux entrées de
commande R et S et deux sorties Q0 et Q1. L’entrée S (pour Set) est utilisée pour la mise à
l’état 1 (Q1=1), et l’entrée R (pour Reset) pour la mise à l’état 0 (Q1=0).
- La sortie Q correspond à l'état stocké.
- La valeur de sortie à l'instant = dépend :
des variables d'entrées
de la valeur antérieure de la sortie ( 1)
(La valeur de Q à t+1 dépend de R, S et de la valeur de Q à t)
- ce circuit n’est pas un circuit combinatoire puisqu’il comporte un cycle. Clairement, les
valeurs de Q0 et Q1 vont dépendre des valeurs antérieures de Q0 et Q1
- si Q0 et Q1 sont les valeurs des sorties à l’instant t, on note Q’0 (ou Q0+1 ou Q0+) et Q’1 (ou
Q1+1 ou Q1+) les valeurs des sorties à l’instant t + 1.
31.1.1. Etats de la bascule RS
Le circuit est dans un état stable si en laissant inchangées les entrées R et S, les sorties restent
inchangées. Lorsqu’un état n’est pas stable, les valeurs des sorties oscillent au cours du temps.
On est donc dans un état indésirable puisque le but est de construire un circuit capable de
mémoriser une valeur.
Nous examinons dans ce qui suit les états que peut prendre la bascule RS en fonction des
entrées R et S.
a- Si R = 0 et S = 1 (Set) : l’évolution du système au cours du temps :
Conclusion : On est dans un état stable car on mémorise 1 dans Q1 et 0 dans Q0 (Set).
b- Si R = 1 et S = 0 (Reset) : l’évolution du système au cours du temps :
Conclusion : On est dans un état stable car on mémorise 0 dans Q1 et 1 dans Q0 (Reset).
c- Si R = 0 et S = 0 (mémorisation) : l’évolution du système au cours du temps :
On est dans un état stable, car les sorties sont stabilisées à 0. Toutefois, si on passe
maintenant à R = S = 0, on obtient un état instable puisque Q0 = Q1 (voir haut), et on
aura l’évolution du système comme suit :
Cet état (R = 1 et S = 1) est donc indésirable, car il peut faire basculer le système dans un état
instable, il est appelé état indéfini.
Conclusion : on est dans un état indéfini. On évitera donc soigneusement cet état.
31.1.2. Table de vérité de la bascule RS
Dans un fonctionnement normal de la bascule RS, Q0 et Q1 sont complémentaires. Ainsi, on
a : Q0= 1.
Rq. La bascule RS est appelée « bascule RS asynchrone » car elle réagit dès que les entrées
sont modifiées.
Résumé : selon les entrées, on distingue 4 cas :
• mettre S à 1 (et R à 0) met la sortie (Q1) à 1 (set) ;
• mettre R à 1 (et S à 0) met la sortie à 0 (Q1) (reset) ;
• mettre R à 0 et S à 0, la bascule restitue en sortie la dernière action mémorisée sur la sortie ;
• mettre R à 1 et S à 1 est interdit.
Exemple de chronogramme :
Rq- Les bascules synchronisées par des niveaux (haut ou bas) sont dites « latch » alors
que les bascules déclenchées par un front (montant ou descendant) sont dites « flip-flop ».
3.1.2.5. Fonctionnement de la bascule RSH
a- sur niveau haut :
• Lorsque H est au niveau Bas (H=0), la bascule est dans l’état de mémoire (Q1+1=Q1).
• Lorsque H est au niveau Haut (H=1), la bascule fonctionne comme une bascule RS.
b- sur front montant :
• Lorsque H est en front montant (à cet instant), la sortie de la bascule est recalculée en
fonction des entrées (la bascule fonctionne comme une bascule RS).
• Lorsque H est en dehors du front montant, la bascule est dans l’état de mémoire (Q1+1=Q1).
3.1.3. La bascule JK
• synchronisée sur le front d’horloge
• 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 (basculement).
= +
3.1.3.2. Chronogramme d’une bascule JK sur front montant
Les sorties sont recalculées uniquement à l’instant du front montant. En dehors de cet instant,
il y a mémorisation.
3.1.4. La bascule D
Obtenue à partir de la bascule RS en ne considérant que les deux combinaisons (entrées) (R, S)
= (0, 1) ou (1, 0). Les entées R et S sont remplacées par et D respectivement (une seule
entrée externe).
• En niveau Haut, on recopie la valeur de D (Q+=D) durant toute la période du niveau (H=1), et
on mémorise durant toute la période du niveau Bas (H=0) : H=1 on recopie, H=0 on mémorise.
• En front montant, on recopie la valeur de D (Q+=D) juste à cet instant (H=1), et on mémorise
en dehors de cet instant.
• Même principe pour le niveau Bas et le front descendant.
2. Applications des bascules (circuits séquentiels)
2.1 Les registres
Un registre est un élément de stockage qui permet la mémorisation d’une information
(mot binaire) de n bits. Il est construit par la mise en parallèle de n bascules mémorisant
chacune 1 bit.
2.1.1. Application des registres : Elles sont nombreuses :
- Stockage temporaire des informations ; (une instruction, une donnée, une adresse d’une
instruction, etc.) ;
- Conversion série / parallèle ;
- Multiplication (division) par une puissance de 2, etc.
2.1.2. Les registres élémentaires : association de n bascules pour mémoriser n bits.
Exemple : exemple d’un registre 4 bits à base des bascules D (parallèle).
Les entrées présentes sur E0, E1, E2 et E3 sont mémorisées en synchronisation avec le signal
W. Elles sont conservées jusqu’au prochain signal de commande W.
Lorsque le signale de validation R est activé, les entrées E0, E1, E2 et E3 peuvent être lues sur
les sorties S0, S1, S2 et S3.
Lorsque ces sorties sont connectées à un bus, les portes ET en coïncidence avec le signal de
lecture R sont remplacées par des portes à trois états comme sur le schéma ci-dessous.
Rq. Une porte à trois états est un circuit électronique logique qui peut être activée ou
désactivée selon l'état d'une entrée de contrôle.
2.1.3. Registre à décalage
Il sert à décaler les bits d’un mot d’une ou plusieurs positions vers la gauche ou vers la droite.
Il est constitué d’une série de bascules en cascades. Son principe de fonctionnement est basé
sur la connexion de la sortie de chaque bascule à l'entrée de la bascule suivante. Ce type de
registre sert à effectuer : des conversions série / parallèle ; des multiplications (division) par
une puissance de 2.
Exemple : Exemple de registre à décalage à droite (série).
Dans un registre à décalage série, à chaque impulsion d'horloge un nouveau bit est présenté à
l’entrée de la première bascule et ceux déjà chargés sont décalés d'un rang.
Figure : Schéma du fonctionnement d'un registre à décalage quand une donnée 1 est
introduite à partir de conditions à l'état logique 0.
2.1.4. Les types de registres : Un registre est caractérisé par :
Sa capacité de mémorisation (nombre de bits) ;
Son mode d’écriture (série ou parallèle) ;
o Le mode parallèle signifie que l’ensemble des bits du mot binaire sont
mémorisés simultanément dans le registre (bascules) en une seule opération.
o Le mode série signifie que le mot binaire à mémoriser est appliqué bit à bit sur
l’entrée de la première bascule jusqu'à ce que le registre soit plein.
Son mode de lecture (série ou parallèle).
o Le mode série signifie que l’ensemble des bits du registre (les sorties des
bascules Q) sont retirés (lus) bit par bit.
o Le mode parallèle signifie que l’ensemble des bits du registre (les sorties des
bascules Q) sont retirés (lus) simultanément en une seule opération.
a) Registre à entrées séries et à sorties séries
- L’information est introduite bit par bit (en série).
- L’ensemble du registre est décalé d’une position et la première bascule reçoit la nouvelle
entrée.
b) Registre à entrées séries et à sorties parallèles
2.1.3. Registre à décalage circulaire : A chaque impulsion d’horloge, l'ensemble du registre est
décalé d'une position vers la droite : chaque bit est déplacé vers la bascule suivante sauf le
dernier bit qui est déplacé vers la première bascule.
2.2. La mémoire centrale (MC)
La mémoire centrale (MC) représente l’espace de travail de l’ordinateur
(calculateur).
Dans une machine (ordinateur/calculateur) pour exécuter un programme il faut
d’abord le charger (copier) dans la mémoire centrale.
La performance (vitesse) de la mémoire repose uniquement sur deux facteurs : le cycle
d'horloge (ou la fréquence) exprimée en hertz, et la latence (temps d’accès) exprimée
en nanosecondes.
la fréquence des modules RAM s'exprime en GHz. A chaque cycle d’horloge, la
mémoire effectue un échange de données (communication) avec le processeur. Cette
fréquence impacte directement le débit de la RAM. Plus le nombre de ces cycles par
seconde est élevé, plus la quantité de donnée stockée et lue est élevée (transfert
rapide).
La bande passante (ou débit maximal) des mémoires dépend de cette fréquence de
fonctionnement et du nombre de commandes (ou transferts) exécutés à chaque cycle
d’horologe. Les mémoires DDR permettent d’effectuer deux transferts (ou commandes
écriture/lecture) à chaque cycle. L’acronyme DDR signifie d’ailleurs “Double Data Rate”
(“débit double de données”). Par exemple, si la fréquence de la mémoire DDR est 1600
MHz, alors elle peut effectuer 2×1600 = 3200 millions de transferts par seconde. Il est
exprimé en MT/s (millions de transferts par seconde).
Les modules de mémoires DDR4 utilisent un bus de 8 bytes (64 bits) pour le transfert
de données, alors la bande passante en octets par seconde sera donc égale à huit fois
le nombre de transferts par seconde. Ainsi la bande passante d’un module de mémoire
DDR4-3200 sera de 8×3200 millions d’octets par seconde soit 25600 Mo/s.
La latence désigne le temps qui sépare une demande de lecture/écriture et sa
réalisation ta (cette donnée devient réellement disponible pour le processeur). Elle
indique le nombre de cycle d’horloge (le temps) nécessaire pour accéder à une donnée
de la mémoire RAM.
La mémoire centrale est une mémoire vive (accès en lecture et écriture), réalisée à
base de semi-conducteurs. Elle est dite à accès aléatoire (RAM : Random Acces
Memory) c'est-à-dire que le temps d'accès à l'information est indépendant de sa place
en mémoire.
Le temps d’accès à une mémoire centrale est plus rapide que l’accès à un disque dur.
La vitesse d’une mémoire est relativement lente comparée à celle du processeur.
La mémoire centrale est volatile : la conservation de son contenu nécessite la
permanence de son alimentation électrique.
La capacité d’une mémoire centrale est limitée mais il y a toujours une
possibilité d’une extension.
Pour communiquer avec les autres organes de l’ordinateur (CPU, GPU, DD, etc.), la
mémoire centrale utilise les bus (bus d’adresses et bus de données).
2.2.1. Vue logique d’une mémoire centrale
La vue logique est la façon dont la mémoire apparait à l'utilisateur.
La mémoire centrale peut être vue comme un tableau de
mots ou octets.
Un mot mémoire stocke une information sur n bits.
Un mot mémoire contient plusieurs cellules mémoire.
Une cellule mémoire stock 1 seul bit.
Chaque mot possède sa propre adresse.
Une adresse est un numéro unique qui permet d’accéder
à un mot mémoire.
Les adresses sont séquentielles (consécutives).
La taille de l’adresse (nombre de bits) dépend du nombre
de mots de la mémoire.
La taille de données (nombre de bits) dépend du nombre
de bits du mot mémoire.
2.2.2. Structure physique d’une mémoire centrale
La structure physique désigne la mémoire réelle (physique).
RAM (Registre d’adresse Mémoire) : stocke l’adresse du mot à lire ou à écrire.
RIM (Registre d’information mémoire) : stocke l’information lu à partir de la mémoire
ou l’information à écrire dans la mémoire.
Décodeur : permet de sélectionner un mot mémoire.
/ : commande de lecture/écriture, cette commande permet de lire ou d’écrire
dans la mémoire (si / = 1 alors lecture sinon écriture).
La commande permet de sélectionner un boitier.
Bus d’adresses de taille n bits.
Bus de données de taille m bits.