Structure Machine 2018 - 2019
Structure Machine 2018 - 2019
Structure Machine 2018 - 2019
MAHSEUR Mohammed
Circuits combinatoires 2015/2016
I Premier chapitre : les circuits combinatoires
Un circuit combinatoire est un circuit dont les nouvelles sorties sont obtenues en fonction des nouvelles
entrées seulement.
I.1 Le multiplexeur :
C’est un circuit à 2n entrées et une sortie choisie parmi les 2n entrées, le choix de l’entrée qui sort est fait
par n lignes de sélection.
I.1.1 Multiplexeur 1 parmi 2
C’est un multiplexeur à 2 entrées (e0 et e1) et une ligne de sélection (s0) (et une sortie bien sûr)
𝑆 = 𝑠̅0 𝑒0 + 𝑠0 𝑒1
Donc son logigramme est le suivant :
1
Circuits combinatoires 2015/2016
Applications du multiplexeur
La conversion parallèle-série. Imaginons une instruction codée sur huit bits qui arrive en
parallèle sur les huit lignes d’un multiplexeur. Si on lâche séquentiellement les nombres de 000 à
111 sur les trois lignes de sélection, les huit bits passent dans la ligne de sortie S l’un après
l’autre. C’est notamment intéressant lorsqu’il s’agit de passer des informations de l’ordinateur
vers une ligne téléphonique.
Matérialisation des devers circuits logiques.
Exercice : soit F(a,b,c,d) une fonction qui teste la parité d’un nombre binaire sur quatre bits :abcd tel
que F=1 si le nombre de bits à 1 est impaire et égale à zéro sinon.
Réaliser cette fonction à l’aide d’un MUX 1 parmi 16.
Réaliser cette fonction à l’aide d’un MUX 1 parmi 8 et un inverseur.
a b c D F S
0 0 0 0 0 e0=0
0 0 0 1 1 e1=1
0 0 1 0 1 e2=1
0 0 1 1 0 e3=0
0 1 0 0 1 e4=1
0 1 0 1 0 e5=0
0 1 1 0 0 e6=0
0 1 1 1 1 e7=1
1 0 0 0 1 e8=1
1 0 0 1 0 e9=0
1 0 1 0 0 e10=0
1 0 1 1 1 e11=1
1 1 0 0 0 e12=0
1 1 0 1 1 e13=1
1 1 1 0 1 e14=1
1 1 1 1 0 e15=0
Avec un MUX 161
On considère que a,b,c et d sont les lignes de sélection du multiplexeur 1 parmi 16 donc il faut que les
entrées e0….e15 soient équivalents aux valeurs de F.
2
Circuits combinatoires 2015/2016
3
Circuits combinatoires 2015/2016
I.2 Le démultiplexeur
C’est un circuit à une entrée E et 2n sorties tel que l’entrée E est dirigée vers une sortie parmi les 2n
sorties, le choix de la ligne de sortie s’effectue selon la valeur des n lignes de sélection.
I.2.1 Démultiplexeur 1 vers 2
C’est un démultiplexeur à 2 sorties (S0 et S1) et une ligne de commande (a0) (et une entrée bien sûr E)
A0 E S1 S0
0 0 - 0
0 1 - 1
1 0 0 -
1 1 1 -
Donc
𝑆0 = ̅̅̅𝐸
𝑎0 Et 𝑆1 = 𝑎0 𝐸, Son logigramme est :
Exercice : donner le schéma des DEMUX 1 vers 4 et 1 vers 8 et 1 vers 16 et 1 vers 32
Applications du démultiplexeur
La conversion série- parallèle. Imaginons une instruction codée sur huit bits qui arrive en série
sur une ligne d’entrée d’un démultiplexeur. Si on lâche séquentiellement les nombres de 000 à
111 sur les trois lignes de sélection, les huit bits passent dans les lignes de sortie de s0 jusqu'à s7.
C’est notamment intéressant lorsqu’il s’agit de passer des informations d’une ligne téléphonique
vers l’ordinateur.
Matérialisation des devers circuits logiques
Exercice : réaliser la fonction de parité (exercice précèdent avec un DEMUX 1 vers 16 et avec un
minimum de portes logiques.
Solution :
a b c d F Les sorties
0 0 0 0 0 s0E
0 0 0 1 1 s1E
0 0 1 0 1 s2E
0 0 1 1 0 s3E
0 1 0 0 1 s4E
0 1 0 1 0 s5E
0 1 1 0 0 s6E
0 1 1 1 1 s7E
1 0 0 0 1 s8E
1 0 0 1 0 s9E
1 0 1 0 0 s10E
1 0 1 1 1 s11E
1 1 0 0 0 s12E
1 1 0 1 1 s13E
1 1 1 0 1 s14E
1 1 1 1 0 s15E
Si on met E=1 alors F égale à la somme des sorties a 1
4
Circuits combinatoires 2015/2016
I.3 Le codeur (encodeur)
C’est un circuit à 2n entrées et n sorties, il génère un code binaire équivalent au numéro d’une entrée
activée.
Exemple : Encodeur 42
e3 e2 e1 e0 S1 S0
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 1
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 1 0
0 1 1 0 1 0
0 1 1 1 1 0
1 0 0 0 1 1
1 0 0 1 1 1
1 0 1 0 1 1
1 0 1 1 1 1
1 1 0 0 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 1 1
Après simplification on obtient :
𝑆1 = 𝑒2 + 𝑒3 𝑒𝑡 𝑆0 = 𝑒3 + 𝑒̅2 𝑒1
Applications du codeur
Claviers des calculatrices ; télécommandes où il transforme une touche appuyée du clavier en
code binaire équivalent (code ASCII en cas de clavier d’ordinateur).
Matérialisation des devers circuits logiques.
I.4 Le décodeur
C’est un circuit à n entrées et 2n sorties, il active la sortie
qui porte le numéro équivalent au nombre binaire entré
et tandis que les autres sorties sont inactives (restent à
zéro)
L’entrée V active ou désactive le décodeur
Exemple : décodeur 24
5
Circuits combinatoires 2015/2016
V e1 e0 S3 S2 S1 S0
0 x x 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
6
Circuits combinatoires 2015/2016
Ou dans n’importe quelle machine.
Exemple : machine à laver automatique
I.5 Le comparateur
C’est un circuit qui permet de faire la comparaison entre deux nombres binaires, il a comme sorties :
Fe (A=B), Fi(A<B) et Fs(A>B)
I.6 L’additionneur
C’est un circuit qui calcule la somme de deux nombres binaires et retourne un résultat binaire.
I.6.1 Demi-additionneur
C’est un circuit qui fait la somme de deux nombres binaires sur un bit chacun et retourne deux sorties :
S : résultat de l’addition.
R : retenue de l’addition.
A B R S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
𝑅 = 𝐴𝐵 𝑒𝑡 𝑆 = 𝐴 ⊕ 𝐵
8
Circuits combinatoires 2015/2016
I.6.3 Additionneur à N Bits
9
Introduction à l’architecture des ordinateurs 2015/2016
Unité
Périphériques Centrale Périphériques de
d’entrée + sortie
Mémoires
Unité centrale
Instructions
Horloge Unité de commande
Mémoire
Ordres Données centrale RAM
Unité de traitement /résultats
9
Introduction à l’architecture des ordinateurs 2015/2016
CO (4bits)
RI (16 bits)
Exemple : en supposant que les opérations de base sont codées 0000 pour l’addition, 0001 pour la
multiplication, 0010 pour la soustraction et 0011 pour la division, « 0011 1001 0011 0001 » est
l’instruction effectuant la division entre le mot mémoire d’adresse 9 avec celui d’adresse 3 et stockant le
résultat dans le mot d’adresse 1.
10
Introduction à l’architecture des ordinateurs 2015/2016
11
Introduction à l’architecture des ordinateurs 2015/2016
Phase1
Phase2
Phase3
12
Les circuits séquentiels 2015/2016
13
Les circuits séquentiels 2015/2016
14
Les circuits séquentiels 2015/2016
III.2.2.2 Bascule RSH en niveau bas (H=0)
Lorsque H=1, la bascule est dans l'état mémoire.
Lorsque H =0, la bascule fonctionne comme une bascule RS.
H R S 𝑄+ ̅̅̅̅̅
𝑄 +
1 X X 𝑄 𝑄̅
0 0 0 𝑄 𝑄̅
0 0 1 1 0
0 1 0 0 1
0 1 1 x x
15
Les circuits séquentiels 2015/2016
III.2.3.2 Bascule D Normale
Pour cette bascule l'information doit être stable juste avant l'arrivée du front
montant de l'horloge
16
Les circuits séquentiels 2015/2016
Pour représenter Q+ en fonction de J et K on doit établir sa table de vérité détaillée comme suit :
Entrées Sortie
J K Q Q+
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
17
Les circuits séquentiels 2015/2016
III.3 Déclenchement d’une bascule
Synchronisation
front
niveau haut H=1 niveau bas H=0 front montant
descendant
Front descendant : le moment du passage du niveau haut au niveau bas, un circuit est utilisé pour
détecter ce passage appelé détecteur du front descendant.
18
Les circuits séquentiels 2015/2016
III.3.3 Déclenchement sur impulsion
Ce type de synchronisation est utilisé dans les bascules maître-esclaves où le changement des sorties a eu lieu
pendant la transition complète d’une impulsion d’horloge.
III.4 Analyse d’un circuit séquentiel
L’analyse d’un circuit séquentiel est basée sur la théorie des automates finis
III.4.1 Automate fini
Un automate fini possède un nombre fini d’éléments et de mémoires.
Un automate fini ne peut prendre que 2m états appelés états internes, où m est le nombre de bits de mémoire.
On peut caractériser un automate par :
Sa fonction de transfert
Sa table de transition
Son diagramme d’états ou de transitions
III.4.2 Analyse
L’analyse du circuit séquentiel consiste à trouver les équations caractéristiques ou les diagrammes temporels
qui décrivent le travail du circuit séquentiel. En d’autres termes, trouver les états futurs et les sorties du circuit
séquentiel en fonction de ces entrées et ces états présents. On suit pour une démarche à 5 étapes :
1. Déterminer les équations des entrées aux bascules.
2. Substituer les équations des entrées dans les équations caractéristiques des bascules pour obtenir les
équations de transition.
3. Trouver les équations des sorties en fonction des entrées et de l’état actuel des bascules.
4. Trouver la table caractéristique du circuit qui contient 4 colonnes montrant l’état actuel des bascules,
les entrées (X1, X2, ..., Xn), les états futures et les sorties.
Les entrées L’état présent Les entrées des L’états suivant Les sorties
bascules
6. Trouver le diagramme de transition du circuit qui est une autre forme de la table de transitions qui
permet de faciliter le suivi de l’état du circuit séquentiel et qui contient 2m cercles représentant les
différents états possibles des bascules reliées entre elles par des liens montrant les conditions de
passage d’un état à un autre (entrées / sorties).
Etat i Etat k
Entrées/sorties
19
Les circuits séquentiels 2015/2016
Exemple1 : analyse du circuit suivant :
20
Les circuits séquentiels 2015/2016
21
Les circuits séquentiels 2015/2016
22
Les circuits séquentiels 2015/2016
Table d’excitation
Q2 Q1 Q0 Q2+ Q1+ Q0+ T2 T1 T0
0 0 0 0 0 1 0 0 1
0 0 1 0 1 0 0 1 1
0 1 0 0 1 1 0 0 1
0 1 1 1 0 0 1 1 1
1 0 0 1 0 1 0 0 1
1 0 1 1 1 0 0 1 1
1 1 0 1 1 1 0 0 1
1 1 1 0 0 0 1 1 1
Après simplification on trouve :T2=Q1Q0 ; T1=Q0 ; T0=1
Logigramme :
23
Les circuits séquentiels 2015/2016
Simplification
24
Les compteurs 2015/2016
IV Les compteurs
IV.1 Introduction
La fonction de comptage est
utilisée à chaque fois qu’on veut
dénombrer des évènements
IV.2 Définition
Un compteur est un système
séquentiel qui possède N états
différents (appelé compteur modulo N).
A chaque top d’horloge le compteur passe de l’état Ei à l’état Ei+1 d’une manière cyclique jusqu'à
revenir à l’état initial E0.
Un compteur est constitué de n Bascules (avec 2n≥N).
Notons que : Une bascule peut avoir 2 états différents à sa sortie (0 et 1), et peut donc permettre de
compter de 0 à 1. Avec 2 bascules on peut avoir jusqu’à 4 états différents : 00, 01, 10 et 11, ce qui
permet de compter de 0 à 3 en binaire naturel. Avec 3 bascules on a 8 états (de 000 à 111), et en général
avec n bascules on a 2n états : on peut donc compter de 0 à 2n-1.
Il reste à trouver comment doivent être connectées les n bascules entre elles pour réaliser un compteur,
sachant qu’il existe plusieurs types de compteurs, et donc plusieurs techniques de réalisation.
Remarque : un compteur qui compte à partir de 23 jusqu'à 25 est un compteur modulo 3 car il possède
trois état différents : 23 ; 24 ; 25 et il est réalisable à l’aide de deux bascules.
IV.3 Classification des compteurs
Les compteurs sont classés selon plusieurs critères :
Classification
des compteurs
Selon le nombre
Selon le sens du Selon le type de Selon de type de Selon le mode
d'etats
comptage sortie synchronisation de comptage
(modulo2,3,4,...)
Progressif
Binaire Synchrone Cycle complet
(compteur)
Regressif
Gray Asynchrone Cycle incomplet
(décompteur)
BCD
.....
25
Les compteurs 2015/2016
IV.3.1 Selon le sens du comptage
IV.3.1.1 Progressif (compteur)
Lors du passage d’un état à autre la sortie est incrémentée par 1 : Ei+1=Ei+1.
Exemple : 000 ; 001 ; 010 ; 011 ; 100 ; 101 ; 110 ; 111 ; 000 ; 001 ;…
IV.3.1.2 Régressif (décompteur)
Lors du passage d’un état à autre la sortie est décrémentée par 1 : Ei+1=Ei-1
Exemple : 000 ; 111 ; 110 ; 101 ; 100 ; 011 ; 010 ; 001 ; 000 ; 111 ;…
IV.3.2 Selon le type de sortie
La sortie d’un compteur peut être représentée en binaire, en Gray, BCD,...
IV.3.3 Selon le type de synchronisation
IV.3.3.1 Compteur synchrone
Les bascules qui composent le compteur sont synchronisées par la même horloge. Toutes les sorties
changent d’état simultanément. Ce type de compteurs est réalisé généralement par n’importe quel type
de bascules.
Exemple :
26
Les compteurs 2015/2016
IV.3.4 Selon le nombre d’états
Appelé aussi le Modulo du compteur, c’est le nombre de cas différents générés par le compteur.
IV.3.5 Selon le mode de comptage
IV.3.5.1 Cycle complet
Le compteur génère tous les états de sortie (combinaisons) possibles avant de revenir à l’état initial.
Exemple : compteur modulo 8 avec 3 bits :000 ;001 ;010 ;011 ;100 ;101 ;110 ;111 ;000 ;001 ;…
IV.3.5.2 Cycle incomplet
Le compteur recommence à partir de l’état initial avant d’atteindre toutes les combinaisons possibles.
Exemple : compteur modulo 6 avec 3 bits : 000 ; 001 ; 010 ; 011 ; 100 ; 101 ; 000 ; 001 ;…
Les compteurs a cycle incomplet asynchrones sont réalisés généralement avec des bascules qui
possèdent l’option ‘initialisation prioritaire’ (bascules avec les options : Clear et Preset, voir la
section : III.6).
IV.4 Exemples de compteurs
IV.4.1 Compteur asynchrone a cycle complet à 3 bits
C’est un compteur modulo 23 (de 0 à 7), les bascules sont connectées en cascade, la première bascule
(poids faible) reçois le signale d’horloge pour la synchronisation, la deuxième reçoit comme signale de
synchronisation la sortie de la première bascule et ainsi de suite (en générale la bascule i est
synchronisée par la sortie de la bascule i-1).
Table d’états
Chronogramme
Logigramme :
Chronogramme
28
Les compteurs 2015/2016
A chaque front descendant de ̅̅̅
𝑄0 , Q1 fait un basculement : 𝑄1+ = 𝑄̅̅̅1T1=1 ; Donc ̅̅̅
𝑄0 représente
l’horloge de la bascule 1.
̅̅̅1, Q2 fait un basculement : 𝑄2+ = ̅̅̅
A chaque front descendant de 𝑄 𝑄2T2=1 ; Donc 𝑄 ̅̅̅1 représente
l’horloge de la bascule 2.
Logigramme
Chronogramme
29
Les compteurs 2015/2016
Logigramme
𝐷2 = ̅̅̅
𝑄2 𝑄1 𝑄0 + 𝑄2 ̅̅̅
𝑄0 + 𝑄2 ̅̅̅
𝑄1 ;
𝐷1 = 𝑄1̅̅̅ ̅̅̅1 𝑄0 = 𝑄1 ⨁𝑄0 ;
𝑄0 + 𝑄
𝐷0 = ̅̅̅
𝑄0
30
Les compteurs 2015/2016
Logigramme :
31
Les compteurs 2015/2016
IV.4.6 Compteur synchrone a cycle incomplet à 3 bits Modulo 5
C’est un compteur composé de trois bascules synchronisées par le même signale d’horloge et qui
compte à partir du zéro jusqu'à quatre.
Réalisation avec des bascules JK
Table d’états
État présent État futur
valeur J2 K2 J1 K1 J0 K0
Q2 Q1 Q0 Q2 Q1+ Q0+
+
0 0 0 0 0 0 1 0 x 0 x 1 x
1 0 0 1 0 1 0 0 x 1 x x 1
2 0 1 0 0 1 1 0 x x 0 1 x
3 0 1 1 1 0 0 1 x x 1 x 1
4 1 0 0 0 0 0 x 1 0 x 0 x
Calcul des équations des entrées JK pour chaque bascule :
𝐽2 = 𝑄1 . 𝑄0 ; 𝐾2 = 1 ; 𝐽1 = 𝐾1 = 𝑄0 𝐽0 = ̅̅̅
𝑄2 ; 𝐾0 = 1
Logigramme
32
Les compteurs 2015/2016
Calcul des équations des entrées de chaque bascule :
̅̅̅1 . ̅̅̅
𝑇2 = 𝑄 𝑄0 𝑇1 = 𝑄1 . ̅̅̅
𝑄0 + 𝑄2 𝑇0 = 𝑄2 + 𝑄1 + 𝑄0
Logigramme
33
Les registres 2015/2016
V Les registres
V.1 Définition
Un registre est un ensemble de cellules mémoires constituées par des bascules.
Le contenu d'un registre peut donc être considéré comme un nombre binaire ou un "mot" de n bits.
V.2 Applications
Les applications des registres sont nombreuses, parmi lesquelles :
Stockage temporel de l’information
Conversion série – parallèle
Multiplication par une puissance de 2 (décalage vers la gauche).
Division par une puissance de 2 (décalage vers la droite).
V.3 Types des registres
V.3.1 Registre de mémorisation
La fonction d'un tel registre est de "stocker / mémoriser" un mot de n bits.
Exemple de réalisation (à l'aide de bascules D) : chacune des cellules est une bascule D.
La sortie du registre mémorise le mot d'entrée tant que H = 0 ou 1. Lorsque l'horloge présente un front
montant, les données en sortie sont actualisées. Le registre peut être initialisé grâce aux entrées de
forçage asynchrone qui peuvent forcer les sorties des bascules à 0 ou à 1.
Exemple de registre de mémorisation :
Les entrées présentées sur E0, E1, E2, E3 sont mémorisées en synchronisation avec le signal W (Write).
Elles peuvent être lues sur les sorties Q0, Q1, Q2, Q3 en coïncidence avec le signal R (Read).
34
Les registres 2015/2016
On constate que pour effectuer la multiplication d'un nombre par 2 il suffit de décaler tous les bits du
nombre de 1 cran vers la gauche (vers les bits de poids fort).
De la même façon, pour réaliser la division d'un nombre par 2 il suffit de décaler tous les bits du nombre
de 1 cran vers la droite (vers les bits de poids faible).
Exemple de registre a décalage :
35
Les registres 2015/2016
36
Les registres 2015/2016
V.4.4 Registre à décalage entrée parallèle et sortie parallèle
L'entrée D de chaque bascule est précédée d'un multiplexeur 2 vers 1.
Si l'entrée S/L (Shift =décalage /Load=chargement) est "1", on a : Di = Qi-1, au coup d'horloge, il y a
décalage à droite.
Si S/L est "0", Di = bit de poids i du nombre d'entrée ABCD, au coup d'horloge, Le nombre ABCD est
chargé dans QAQBQCQD.
Parmi les applications de ce genre de registre on trouve la conversion série-parallèle ou parallèle-série.
Dans le premier cas, le registre est placé en mode décalage (S/L=1), on charger le registre en série (4
coups d'horloge sont nécessaires), et on vient de lire le nombre de sortie QAQBQCQD.
Dans le deuxième cas, on commence par charger le nombre d'entrée ABCD dans le registre (S/L=0 suivi
d'un coup d'horloge), puis on repasse en mode décalage (S/L=1) et on envoie une suite de 4 coups
d'horloge, à chaque coup d'horloge, un bit est disponible sur la sortie série = QD.
Le mode de chargement parallèle décrit ci-dessus est dit chargement synchrone, car le chargement se
fait au front d'horloge qui suit le passage de S/L à "0".
37