Vous êtes sur la page 1sur 64

Architecture des Ordinateurs

Circuits Combinatoires et
Séquentiels

1
Circuits électroniques numériques

⚫ Les composants d’un ordinateur (CPU,


RAM..) sont des circuits électroniques
numériques (ne traitant que des 0 et 1)
acceptant une ou plusieurs sorties.
⚫ On distingue 2 types de circuit:
➢ Circuit combinatoire
➢ Circuit séquentiel

2
Circuit combinatoire

⚫ La sortie ne dépend que des états des


variables d’entées.

3
Circuit combinatoire

⚫ On utilise des fonctions logiques

4
Les portes logiques de base

NON

NON-ET

NON-OU

5
Porte Logique NON (NO)

Si Ve = 0 Alors Vs =1
+Vcc Si Ve = 1 Alors Vs =0

Collecteur
A X
Vs
Ve
Emetteur
base Table de vérité

A X
0 1
1 0
6
Porte Logique NON-ET (NAND)

2 Transistors reliés en Série :


+Vcc
Si V1 et V2 = 1 Alors Vs =0
Si V1 ou V2 =0 Alors Vs =1
Vs
V1
Table de vérité
A X
A B X
B
0 0 1
V2
0 1 1
1 0 1
7 1 1 0
Porte Logique NON-OU (NOR)

2 transistors en parallèle :
+Vcc
Si V1 ou V2 = 1 Alors Vs = 0
Si V1 et V2 = 0 Alors Vs =1
Vs
Table de vérité
V1 V2 A X
A B X
B
0 0 1
0 1 0
1 0 0
8 1 1 0
Les portes logiques de base

⚫ Si on combine les portes NON-ET et NON-OU avec un


inverseur (en rajoutant un transistor) :
ET OU

A B X A B X
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
9 1 1 1 1 1 1
Les portes logiques de base

XOR XNOR

A B X A B X
0 0 0 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
10 1 1 0 1 1 1
Les circuits combinatoires :

⚫ A partir des portes logiques de bases et


connaissant la manière dont l’ordinateur
interprète les nombres et effectue les calculs
de base, on peut concevoir les premiers
circuits qui constituent l’UAL (Unité
Arithmétique et Logique)

11
Les circuits combinatoires

⚫ Exemples :
– Les additionneurs / les soustracteurs
– Les comparateurs
– Les multiplexeurs / Démultiplexeurs
– Les codeurs / décodeurs

12
L’additionneur

⚫ Il permet de réaliser les autres opérations


arithmétiques comme la soustraction ou
l’addition.
⚫ Un processeur n-bits va contenir un
additionneur n-bits.
⚫ L’additionneur sera lui-même composé de n
additionneurs 1 bit.

13
Demi Additionneur

⚫ Le demi additionneur est un circuit combinatoire qui permet de


réaliser la somme arithmétique de deux nombres A et B chacun sur
un bit.
⚫ A la sortie on va avoir la somme S et la retenu R ( Carry).

A S
B
DA
R

Pour trouver la structure ( le schéma ) de ce circuit on doit en


premier dresser sa table de vérité
14
Demi Additionneur
Table de vérité
a b S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
a
b

15
L’additionneur complet

⚫ En binaire lorsque on fait une addition il faut


tenir en compte de la retenue entrante.

r4 r3 r2 r1 r0= 0 ri-1
a4 a3 a2 a1 ai
+ b4 b3 b2 b1 + bi

r4 s4 s3 s2 s1 r i si
16
Additionneur complet 1 bit

⚫ L’additionneur complet un bit possède 3 entrées :


– ai : le premier nombre sur un bit.
– bi : le deuxième nombre sur un bit.
– ri-1 : le retenue entrante sur un bit.
⚫ Il possède deux sorties :
– Si : la somme
– Ri la retenue sortante

ai Si
Additionneur
bi
complet
Ri
ri-1
17
L’additionneur
Table de vérité

r a b S R
S=a b r 0 0 0 0 0
0 0 1 1 0
R = a.b + r . (a b) 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
18 1 1 1 1 1
L’additionneur
Table de vérité

r a b S R
0 0 0 0 0
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
R 1 1 0 0 1
19 1 1 1 1 1
L’additionneur

⚫ Pour réaliser l’addition de n bits, il suffit de


chaîner entre eux n additionneurs

Un additionneur 4 bits
20
Additionneur sur 4 bits

⚫ Un additionneur sur 4 bits est un circuit qui permet de faire l’addition de deux nombres
A et B de 4 bits chacun
– A(a3a2a1a0)
– B(b3b2b1b0)
En plus il tient en compte de la retenu entrante

⚫ En sortie on va avoir le résultat sur 4 bits ainsi que la retenu ( 5 bits en sortie )

⚫ Donc au total le circuit possède 9 entrées et 5 sorties.


⚫ Avec 9 entrées on a 29=512 combinaisons !!!!!! Comment faire pour représenter la
table de vérité ?????

⚫ Il faut trouver une solution plus facile et plus efficace pour concevoir ce circuit

21
•Lorsque on fait l’addition en binaire , on additionne bit par bit en
commençant à partir du poids faible et à chaque fois on propage
la retenue sortante au bit du rang supérieur.
L’addition sur un bit peut se faire par un additionneur complet
sur 1 bits.

r3 r2 r1 r0= 0
a4 a3 a2 a1
+ b4 b3 b2 b1

r4 s 4 r3 s 3 r2 s 2 r1 s 1

r4 s4 s3 s2 s1 Résultat final
22
Le soustracteur

⚫ Il n’y a pas de circuit spécifique pour la


soustraction.
⚫ On utilise un additionneur avec un signal de
contrôle qui indique qu’il s’agit d’une
soustraction ou d’une addition
⚫ On exploite les propriétés du complément à
2 et le fait que le premier additionneur n’a
pas de retenue d’entrée.
23
Le soustracteur

⚫ a-b en complément à 2 est équivalent à


a+C1+1.
⚫ Pour effectuer le (+1) il suffit d’entrer 1
comme retenue d’entrée du premier
additionneur.
⚫ Pour effectuer +C1 on rajoute un inverseur en
entrée de l’additionneur sous la forme d’un
XOR qui inversera b si la retenue d’entrée du
premier additionneur est à 1.
24
Le soustracteur
Table de vérité

S=r a b a b e S R
R = a.b + r . (a b) 0 0 0 0 0
0 1 0 1 1
1 0 0 1 0
1 1 0 0 0
0 0 1 1 1
0 1 1 0 1
1 0 1 0 0
25 1 1 1 1 1
Le comparateur
⚫ On rencontre très souvent la nécessité de comparer
deux entiers (A = B, A > B ou A < B).
⚫ C’est un circuit combinatoire qui permet de
comparer entre deux nombres binaire A et B.
fi
⚫ Il possède 2 entrées : A Comparateur fe
– A : sur un bit 1 bit
B
– B : sur un bit fs

⚫ Il possède 3 sorties
– fe : égalité ( A=B)
– fi : inférieur ( A < B)
– fs : supérieur (A > B)
26
Comparateur sur un bit

A B fs fe fi fs = A.B
fi = AB
0 0 0 1 0
fe = AB + AB = A  B = fs + fi
0 1 0 0 1

1 0 1 0 0

1 1 0 1 0

27
Schéma d’un comparateur sur un bit

fs = A.B
fi = AB
fe = fs + fi
A fs

fe

B fi

28
Comparateur 2 bits

⚫ Il permet de faire la comparaison entre deux nombres A


(A2 A1) et B(B2B1) chacun sur deux bits.

A1
fi
A2
Comparateur fe
B1 2 bits
B2 fs

29
A2 A1 B2 B1 fs fe fi
1. A=B si 0 0 0 0 0 1 0
A2=B2 et A1=B1 0 0 0 1 0 0 1
0 0 1 0 0 0 1
fe = ( A2  B 2).( A1  B1) 0 0 1 1 0 0 1
0 1 0 0 1 0 0
2. A>B si 0 1 0 1 0 1 0
0 1 1 0 0 0 1
A2 > B2 ou (A2=B2 et
0 1 1 1 0 0 1
A1>B1)
1 0 0 0 1 0 0
fs = A2.B 2 + ( A2  B 2).( A1.B1) 1 0 0 1 1 0 0
1 0 1 0 0 1 0
3. A<B si 1 0 1 1 0 0 1

A2 < B2 ou (A2=B2 et A1<B1) 1 1 0 0 1 0 0


1 1 0 1 1 0 0
1 1 1 0 1 0 0
fi = A2.B 2 + ( A2  B 2).( A1.B1)
1 1 1 1 0 1 0
30
Comparateur 2 bits avec des comparateurs 1 bit

•C’est possible de réaliser un comparateur 2 bits en utilisant des


comparateurs 1 bit et des portes logiques.
•Il faut utiliser un comparateur pour comparer les bits du poids faible et un
autre pour comparer les bits du poids fort.
•Il faut combiner entre les sorties des deux comparateurs utilisés pour
réaliser les sorties du comparateur final.
a2 b2 a1 b1

Comparateur 1 bit
Comparateur 1 bit
fs2 fe2 fi2 fs1 fe1 fi1
31
1. A=B si
A2=B2 et A1=B1

fe = ( A2  B2 ).(A1  B1) = fe2.fe1

2. A>B si
A2 > B2 ou (A2=B2 et A1>B1)

fs = A2.B2 + (A2  B2 ).(A1.B1) = fs2 + fe2.fs1

3. A<B si
A2 < B2 ou (A2=B2 et A1<B1)

fi = A2.B2 + (A2  B2 ).(A1.B1) = fi2 + fe2.fi1


32
a2 b2 a1 b1

Comparateur 1 bit Comparateur 1 bit

fs2 fe2 fi2 fs1 fe1 fi1

fs fe fi
33
Le Multiplexeur

⚫ Un multiplexeur est un circuit combinatoire qui permet de sélectionner une


information (1 bit) parmi 2n valeurs en entrée.
⚫ Les multiplexeurs permettent de regrouper en série sur une voie les
signaux venant de n voies en parallèles.

⚫ Il possède :
– 2n entrées d’information Em ......... E3 E1 E0
– Une seule sortie C0
– N entrées de sélection: C1 Mux 2n →1
elles permettent de sélectionner Cn-1
l’entrée d’information qui S
doit être transmise à la sortie.

34
C0

Multiplexeur 2 →1

C0 S
E1 E0
C0
0 E0 Mux 2 →1

1 E1
S

S = V .(C 0 .E 0 + C 0 .E1)
35
E3 E2 E1 E0
C0
C1

Multiplexeur 4 →1

C1 C0 S
S
0 0 E0

0 1 E1 E3 E2 E1 E0
C0
1 0 E2 C1 Mux 4 →1

1 1 E3
S

36S = C1.C 0.( E 0) + C1.C 0.( E1) + C1.C 0.( E 2) + C1.C 0.( E 3)
Multiplexeur 8→1

C2 C1 C0 S
0 0 0 E0 E7 E6 E5 E4 E3 E2 E1 E0
0 0 1 E1 C0
C1 Mux 8 →1
0 1 0 E2
0 1 1 E3 C2

1 0 0 E4
1 0 1 E5
1 1 0 E6
1 1 1 E7

S = C 2.C1.C 0.( E 0) + C 2.C1.C 0( E1) + C 2.C1.C 0( E 2) + C 2.C1.C 0( E 3) +


37 C 2.C1.C 0( E 4) + C 2.C1.C 0( E5) + C 2.C1.C 0( E 6) + C 2.C1.C 0( E 7)
Demultiplexeurs

⚫ Il joue le rôle inverse d’un multiplexeurs, il permet de faire passer une


information dans l’une des sorties selon les valeurs des entrées de
commandes.
⚫ Les démultiplexeurs permettent d’aiguiller vers n voies en parallèle les
signaux I
venant en série d’une voie.

⚫ Il possède : C0 DeMux 1 →4
– une seule entrée C1
S3 S2 S1 S0
– 2n sorties
– N entrées de sélection ( commandes)

38
Demultiplexeur 1→4

C1 C0 S3 S2 S1 S0
S 0 = C1.C 0.( I )
S1 = C1.C 0.( I )
0 0 0 0 0 1 S 2 = C1.C 0.( I )
0 1 0 0 1 0 S 3 = C1.C 0.( I )
I
1 0 0 1 0 0

C0 DeMux 1 →4
1 1 1 0 0 0 C1
S3 S2 S1 S0
39
Le décodeur binaire

⚫ C’est un circuit combinatoire qui est constitué de :


– N : entrées de données
– 2n sorties
– Pour chaque combinaison en entrée une seule sortie
est active à la fois
S0
A S1
S2
B S3
S4
C
S5
S6
S7
Un décodeur 3→8
40 V
Décodeur 2→4

V A B S0 S1 S2 S3
S0
A
0 X X 0 0 0 0 S1
B
S2
1 0 0 1 0 0 0
S3
V
1 0 1 0 1 0 0
S 0 = ( A.B ).V
1 1 0 0 0 1 0
S1 = ( A.B ).V

1 1 1 0 0 0 1 S 2 = ( A.B ).V
41 S 3 = ( A.B ).V
S0
A S1
S2
B S3

Décodeur 3→8 C S4
S5
S6
S7

V
A B C S S S S3 S4 S5 S6 S7
0 1 2 S 0 = A.B.C
0 0 0 1 0 0 0 0 0 0 0
S1 = A.B.C
0 0 1 0 1 0 0 0 0 0 0
S 2 = A.B.C
0 1 0 0 0 1 0 0 0 0 0

0 1 1 0 0 0 1 0 0 0 0
S 3 = A.B.C
1 0 0 0 0 0 0 1 0 0 0 S 4 = A.B.C
1 0 1 0 0 0 0 0 1 0 0 S 5 = A.B.C
1 1 0 0 0 0 0 0 0 1 0
S 6 = A.B.C
1 1 1 0 0 0 0 0 0 0 1
42 S 7 = A.B.C
L’encodeur binaire

⚫ Il joue le rôle inverse d’un décodeur


– Il possède 2n entrées
– N sortie
– Pour chaque combinaison en entrée on va avoir sont
numéro ( en binaire) à la sortie.
I0
Encodeur 4→2 x
I1
y
I2
I3
43
L’encodeur binaire ( 4→2)

I0 I1 I2 I3 x y I0(0,0)
I1(0,1) x
0 0 0 0 0 0
y
I2(1,0)
1 x x x 0 0 I3(1,1)

0 1 x x 0 1
X = I 0.I1.( I 2 + I 3)
0 0 1 x 1 0
Y = I 0.( I1 + .I 2.I 3)
0 0 0 1 1 1
44
Circuits Séquentiels

⚫ L’exécution d’une instruction à l’intérieur d’un


processeur constitue un enchaînement
d’étapes : Chaque composant produit un
résultat qui sera exploité par le composant
suivant.
⚫ Il faut donc synchroniser les différents
composants entre eux.

45
Circuits séquentiels

⚫ La sortie d’un circuit dépend des états des


variables d’entées et l’état précédent de
circuit.
⚫ C’est un circuit dont le temps intervient dans
la définition des sorties.

46
Cycles d’horloge

⚫ On utilise pour cela des « barrières » qui vont bloquer


la propagation du résultat vers le composant suivant
tant que l’opération n’est pas terminée.
⚫ Ces barrières s’ouvrent et se ferment à intervalles
fixes.
⚫ Elles sont commandées par un signal périodique
(cycle) comportant une phase haute (ouverture) et
une phase basse (fermeture). C’est l’horloge du
processeur.

47
Mémorisation

⚫ La tâche effectuée par un composant


pouvant durer plus d’un cycle, il est
nécessaire de mémoriser l’information dans
les barrières pour la restituer après
fermeture.
⚫ En fonction de la phase haute ou basse du
cycle d’horloge l’information sera donc le
résultat mémorisé ou le bit d’entrée.

48
Types de logique séquentielle

⚫ Logique synchrone: Dans ce type de circuits les sorties


changent d’états après avoir eu une autorisation d’un
signal de synchronisation appelé souvent signal «
Horloge » noté H ou CLK.
⚫ Logique asynchrone: Dans les circuits séquentiels
asynchrones, les sorties changent d’états dès qu’Il y a
changements des états des entrées.

49
Les circuits séquentiels élémentaires

⚫ Tout comme les circuits combinatoires, les


circuits séquentiels sont constitués à partir
de circuits élémentaires qui intègrent dans
leur conception les notions de temps et de
mémorisation.
⚫ Exemples : Bascules RS, Bascules D,
Bascule JK, Bascule T

50
Bascule RS

⚫ Il dispose de deux signaux de commande S (Set) et R


(Reset) ainsi que d’une boucle de rétroaction pour la
mémorisation.

51
Bascule RS

52
Bascule RS

⚫ Une bascule RS est une fonction


mémoire. Cette fonction mémoire est
réalisée par un opérateur logique qui
peut stocker une information jusqu'à ce
que cette information soit effacée par
une autre information.

53
Bascule D

⚫ Ce circuit ne possède qu’un seul signal de


commande, D (Delay) qui est en réalité une
entrée.
⚫ Il est constitué à partir d’une bascule RS
⚫ Il suffit d’ajouter un inverseur entre R et S.

54
Bascule D

55
Bascule D

56
Bascule JK

⚫ C’est une bascule synchrone, complète qui


offre tous les modes de fonctionnement que
l’on demande.
⚫ Les entrées R et S, ne doivent pas être
simultanément à 1 pour ne pas donner lieu à
un état ambigu. Cette ambiguïté est levée
dans la bascule JK (Joker King) puisque l’état
indéterminé est remplacé par un état
complémenté, on dit qu’il y a basculement.
57
Bascule JK

58
Bascule T

⚫ C’est une bascule synchrone qui fonctionne généralemen


en front d’horloge avec une seule entrée T.

59
Unité arithmétoque et logique

Le mot ordinateur a été créé en 1955 pour


désigner une machine capable d’exécuter
n’importe quel algorithme fournit sous forme
de programme sue n’importe quelle donnée
discrète fournit.

60
Organisation de l’ordinateur

Unité
de
Commande

Unité
Arithmétique
& Logique

Registres
Unités d’ E/S

Mémoire Imprimante Disques


Unité centrale Principale

bus

61
Architecture de von neumann

L’architecture, dite architecture de von Neumann décompose l’ordinateur


en quatre parties distinctes :
1. Le processeur est composé d’une unité arithmétique et logique
(UAL ou ALU en anglais) ou unité de traitement : son rôle est d’effectuer
les opérations de base et d’une unité de contrôle, chargée du séquençage
des opérations
2. La mémoire qui contient à la fois les données et le programme exécuté
par l’unité de contrôle. La mémoire se divise entre mémoire volatile ou
RAM (Random Access Memory) qui contient programmes et données en
cours de traitement, et mémoire permanente ou ROM (Read Only
Memory) qui stocke programmes et données de base de la machine
3. Les dispositifs d’entrée-sortie, qui permettent de communiquer avec le
monde extérieur.
4. Les différents composants sont reliés par des bus.
62
Organisation de l’unité centrale

A+B

Registres
A

A B Registres d’entrée de l’UAL


Bus d’entrée de l’UAL
UAL

Registre de sortie de l’UAL


A+B
63
Composition de l’unité centrale

Les parties essentielles d’un processeur sont :


1. L’Unité Arithmétique et Logique (UAL, en anglais Arithmetic
and Logical Unit - ALU), qui prend en charge les calculs
arithmétiques élémentaires et les tests ;
2. L’unité de contrôle ou séquenceur, qui permet de synchroniser
les différents éléments du processeur. En particulier, il initialise
les registres lors du démarrage de la machine et il gère les
interruptions ;
3. Les registres, qui sont des mémoires de petite taille (quelques
octets), suffisamment rapides pour que l’UAL puisse manipuler
leur contenu à chaque cycle de l’horloge. Un certain nombre de
registres sont communs à la plupart des processeurs.

64

Vous aimerez peut-être aussi