Telechargé par Doul Diakite

Cours03alucircuitscombi

publicité
Architecture Logicielle et matérielle
Cours 3 : unité arithmétique et logique
D’après les transparents de N. Louvet (univ Lyon1)
Laure Gonnord
http://laure.gonnord.org/pro/teaching/
[email protected]
Licence d’info - Université Lyon 1 - FST
Plan
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
2 / 53 Retour sur le Modèle de Van Neuman
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
3
Construisons une ALU !
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
3 / 53 Retour sur le Modèle de Van Neuman
Composition d’un ordinateur dans le modèle
une mémoire centrale, qui contient le programme et les
données ;
une unité centrale de traitement (UCT), qui exécute un
programme contenu en mémoire centrale ;
une (ou plusieurs) unité(s) d’entrée-sortie permettant
l’échange d’informations avec l’environnement de l’UCT.
Un système d’interconnexion permet l’interaction entre ces
unités.
Unité
d’entrée/sortie
Laure Gonnord (L2/FST/Univ Lyon1)
Unité
centrale de
traitement
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
Mémoire centrale
2014
4 / 53 Retour sur le Modèle de Van Neuman
Mémoire centrale
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
5 / 53 Retour sur le Modèle de Van Neuman
Mémoire centrale
Mémoire centrale
La mémoire centrale contient deux types d’informations :
les instructions de différents programmes ;
les données traitées lors de l’exécution de ces
programmes.
L’unité d’information élémentaire est le bit, chaque bit pouvant
valoir 0 ou 1. Un mot est une suite de bits, de longueur a priori
quelconque.
Au niveau physique, la mémoire ne supporte que des bits : les
données et les instructions sont stockées sous forme de mots.
Ex (déjà vu !) : dans le code ASCII (American Standard Code
for Information Interchange), le caractère Y est codé 1011001.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
6 / 53 Retour sur le Modèle de Van Neuman
Mémoire centrale
Mémoire centrale
Caractéristiques de la mémoire centrale :
mémoire vive : infos écrites/lues par l’UCT sont perdues
lors de la mise hors tension de l’ordinateur.
mémoire RAM (Random Access Memory) : cases à
adresse unique, écrite/lue en temps constant
I l’UCT peut lire et écrire n’importe où dans la mémoire (à
n’importe quelle adresse), dans un ordre quelconque.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
7 / 53 Retour sur le Modèle de Van Neuman
Mémoire centrale
Mémoires, adresses 1/2
La taille d’une case mémoire peut par exemple être de 8 bits
(1B). C’est alors la plus petite unité adressable.
Chaque case mémoire possède un indice permettant de
l’identifier de manière unique, appelé adresse :
n cases mémoires : adresses 0 à n − 1
adresses codées en binaire : si m bits, 2m adresses
possibles.
I Abstraction mémoire comme un tableau. Notation : mem[a]
=case mémoire d’adresse a.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
8 / 53 Retour sur le Modèle de Van Neuman
Mémoire centrale
Mémoires, adresses 2/2
Trois organisations possibles d’une mémoire de « 64 bits » :
(a)
(b)
(c)
0
0
0
1
1
1
2
2
2
3
3
3
4
4
5
5
6
6
7
7
16 bits
8 bits
8
9
10
11
(a) : adresse codée sur 4 bits, car 24 = 16 adresses.
(b) : adresse codée sur 3 bits, car 23 = 8 adresses.
(c) : adresse codée sur 2 bits, car 22 = 4 adresses.
12
13
14
15
4 bits
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
9 / 53 Retour sur le Modèle de Van Neuman
Mémoire centrale
Note importante
Important
La mémoire stocke les données et les programmes.
Pour l’instant, on laisse de côté le stockage des programmes
(suite d’instructions).
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
10 / 53 Retour sur le Modèle de Van Neuman
Unité centrale de traitement
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
11 / 53 Retour sur le Modèle de Van Neuman
Unité centrale de traitement
Unité centrale de traitement (UCT)
Deux unités fonctionnelles :
L’unité de contrôle (UC) : gestion de l’exécution des
instructions.
L’unité arithmétique et logique (UAL, ou ALU) : effectue
les opérations de traitement des données.
Mémoire centrale
Unité de contrôle
Unité de calcul
Sorties
Entrées
Unité centrale de traitement
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
12 / 53 Retour sur le Modèle de Van Neuman
Unité centrale de traitement
Dans la suite
Plan d’attaque :
Laissons temporairement de côté l’unité de contrôle.
Construisons l’ALU.
I Un petit détour par les circuits logiques de base.
CC by SA Rizo/Wikipedia
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
13 / 53 Circuits logiques combinatoires
1
Retour sur le Modèle de Van Neuman
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
14 / 53 Circuits logiques combinatoires
Formule logique, circuit logique
Informations binaires :
bit 0 assimilé à false, 0
bit 1 assimilé à true, 1.
I Bits = valeurs de vérité. Opération sur les bits = formules
Booléennes/ circuits logiques.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
15 / 53 Circuits logiques combinatoires
Circuits logiques
On distingue deux types de circuits logiques :
circuits combinatoires : les signaux de sortie ne
dépendent que des signaux d’entrées du circuit à l’instant
considéré.
Ex : la plupart des circuits pour l’addition de nombres
binaires.
Les circuits séquentiels : propriétés de mémorisation, les
signaux de sortie dépendent des signaux d’entrées du
circuit à l’instant considéré, mais aussi de l’état du circuit.
Ex : mémoires, registres, unité de commande. . .
I Circuits combinatoires pour l’ALU.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
16 / 53 Circuits logiques combinatoires
Fonctions Booléennes
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
17 / 53 Circuits logiques combinatoires
Fonctions Booléennes
Fonctions Booléennes/logiques - Objectif
On va écrire des fonctions avec des entrées booléennes, et des
sorties Booléennes, i.e. à variables dans B = 0, 1 :
on se munit d’opérations de base : ou, et, non (qui ont
quelques propriétés “classiques”).
on construit avec ces opérations de base des expressions
booléennes.
Au passage
(B, NOT, AND, OR) avec leurs propriétés “classiques” forment
l’algèbre de Boole.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
18 / 53 Circuits logiques combinatoires
Fonctions Booléennes
Table des opérations de base
Si a et b sont deux variables booléennes, on notera par
commodité :
NOT(a) = a,
Laure Gonnord (L2/FST/Univ Lyon1)
AND(a, b) = ab,
a
b
0
0
0
1
1
0
1
1
a
ab
OR(a, b) = a + b.
a+b
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
19 / 53 Circuits logiques combinatoires
Fonctions Booléennes
Propriétés des opérations de base
Il est interdit d’apprendre ces propriétés par cœur
• éléments neutres :
a + 0 = a,
a·1 = a
• éléments absorbants :
a + 1 = 1,
a·0 = 0
a·a = a
• idempotance :
a + a = a,
• tautologie/antilogie
a + a = 1, a·a = 0
• commutativité :
a + b = b + a,
ab = ba
• distributivité :
a + (bc) = (a + b)(a + c),
• associativité :
a + (b + c) = (a + b) + c = a + b + c,
a(b + c) = ab + ac
a(bc) = (ab)c = abc
• lois de Morgan :
ab = a + b,
• autres relations :
a + (ab) = a,
a + (ab) = a + b,
a(a + b) = a,
(a + b)(a + b) = a
a + b = a·b
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
20 / 53 Circuits logiques combinatoires
Fonctions Booléennes
Expressions booléennes, fonction booléenne
ab + cb
Vocabulaire :
a, b, c, d sont des variables booléennes.
a, b, b, b sont les litteraux
Implicitement, cette expression représente la fonction
B4 → B, (a, b, c, d) 7→ ab + cb
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
21 / 53 Circuits logiques combinatoires
Fonctions Booléennes
Expressions booléennes, fonction booléenne
Une fonction booléenne peut aussi être définie à l’aide d’une
table de vérité :
Ex : On considère la fonction f : B2 → B définie par la table de
vérité suivante :
a b f (a, b)
0 0
1
0 1
0
1 0
0
1 1
0
I f (a, b) = ab est une expression booléenne représentant la
fonction f .
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
22 / 53 Circuits logiques combinatoires
Fonctions Booléennes
Unicité de la représentation
Il n’y a pas unicité de la représentation d’une fonction par une
expression. . .
Ex : si f (a, b) = ab, alors on a aussi f (a, b) = a + b.
On distingue donc deux formes normales :
La forme normale disjonctive : disjonction de conjonctions
de littéraux.
Ex : abc + ab + ab.
La forme normale conjonctive : conjonction de disjonctions
de littéraux.
Ex : (a + b + c)·(a + b + c)·(a + b + c).
I Unicité de la représentation.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
23 / 53 Circuits logiques combinatoires
Fonctions Booléennes
Rappels (cf LIF3, . . . )
Algo
Pour mettre une formule en FND ou FNC, on peut bidouiller la
formule ou alors utiliser la table de vérité.
I Laissé au lecteur (voir TD)
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
24 / 53 Circuits logiques combinatoires
Fonctions Booléennes
D’autres fonctions utiles : XOR
XOR(a, b) = a ⊕ b :
a ⊕ b = 1 ssi une seule des deux variables a et b a la valeur 1 :
a b a⊕b
0
0
1
1
0
1
0
1
0
1
1
0
Laure Gonnord (L2/FST/Univ Lyon1)
Le XOR peut s’exprimer à l’aide de AND, OR
et NOT :
a ⊕ b = (a + b)ab = (a + b)(a + b) = ab + ab.
L’opérateur XOR est commutatif et associatif.
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
25 / 53 Circuits logiques combinatoires
Fonctions Booléennes
D’autres fonctions utiles : NAND NOR
a b ab
0
0
1
1
0
1
0
1
1
1
1
0
a+b
1
0
0
0
Laure Gonnord (L2/FST/Univ Lyon1)
NAND(a, b) = ab = a + b.
NOR(a, b) = a + b = ab.
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
26 / 53 Circuits logiques combinatoires
Circuits logiques combinatoires
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
27 / 53 Circuits logiques combinatoires
Circuits logiques combinatoires
Circuits logiques combinatoires
Un signal logique est un dispositif physique pouvant
transmettre une valeur de vérité d’un endroit à un autre (donc
aussi un bit), et sera représenté par un trait.
Vu de l’extérieur, un circuit logique présente des signaux
d’entrée et de de sortie : chaque signal de sortie est une
fonction logique des signaux d’entrée.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
28 / 53 Circuits logiques combinatoires
Circuits logiques combinatoires
Portes
Les portes logiques sont les briques de base pour la
réalisation de circuits logiques plus complexes :
NOT
a
a
AND
a
b
ab
OR
a
b
a+b
Laure Gonnord (L2/FST/Univ Lyon1)
XOR
a
b
a⊕b
NAND
a
b
ab
NOR
a
b
a+b
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
29 / 53 Circuits logiques combinatoires
Circuits logiques combinatoires
Cicruit combinatoire bien formé
Un circuit combinatoire bien formé (CCBF) peut être formé :
par une porte de base,
par un fil,
par la juxtaposition de deux CCBFs posés l’un à côté de
l’autre,
en connectant les sorties d’un CCBF aux entrées d’un
autre CCBF,
en connectant entre elles deux entrées d’un CCBF.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
30 / 53 Circuits logiques combinatoires
Circuits logiques combinatoires
Circuit bien formé
On obtient un graphe sans cycle sur les portes de bases. On
s’interdit :
de faire des cycles, car cela permettrait des situations mal
définies, e.g.,
0
1
1
0
1
0
0
1
de connecter des sorties entre elles (si une sortie est 1 et
l’autre 0 ?)
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
31 / 53 Circuits logiques combinatoires
Circuits logiques combinatoires
Exemple
Réalisation des portes NOT, AND et OR à l’aide de portes
NAND et de portes NOR.
a = a + 0,
ab = a + b = a + 0 + b + 0,
a + b = a + b = a + b + 0.
a = a·1,
ab = ab = ab·1,
a + b = ab = (a·1)(b·1).
I le dessin des circuits est laissé au lecteur.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
32 / 53 Circuits logiques combinatoires
Circuits logiques combinatoires
Exemple en L OGISIM
Il existe des simulateurs de circuits logiques. Nous allons
utiliser L OGISIM :
http://www.cburch.com/logisim/
I Démo !
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
33 / 53 Construisons une ALU !
1
Retour sur le Modèle de Van Neuman
2
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
34 / 53 Construisons une ALU !
ALU - spécification
Nous voulons réaliser un circuit selon la spécification suivante :
selon un signal de contrôle, une opération est réalisée.
3 opérations : addition, soustraction, test d’égalité
Ceci est une simplification, une vraie ALU possède bien plus
d’opérations
Constructions de circuits
La méthode de construction de ces circuits est à connaître, pas
le résultat !
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
35 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
36 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Décodeur
Un décodeur n vers 2n est un circuit qui présente :
n entrées ei , qui forment l’entier (en−1 . . . e0 )2 ;
2n sorties si , indicées de 0 à 2n − 1.
Lorsque les lignes d’entrée forment un entier (en−1 . . . e0 )2 , la
seule ligne de sortie active est la ligne s(en−1 ...e0 )2 .
I Démo L OGISIM.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
37 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Décodeur : construire un décodeur 3 vers 8
à vous !
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
38 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Décodeur suite
Décodeur 3 vers 8 :
Décodeur
3 vers 8
e2
Laure Gonnord (L2/FST/Univ Lyon1)
e1
e0
s7
s7
s6
s6
s5
s5
s4
s4
s3
s3
s2
s2
s1
s1
s0
s0
e2
e1
e0
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
39 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Multiplexeur
Un multiplexeur 2n vers 1 est un circuit qui présente :
2n entrées ei indicées de 0 à 2n − 1 ;
n lignes de sélection, qui forment l’entier (cn−1 . . . c0 )2 ;
1 sortie s.
Lorsque les lignes de sélection forment un entier (cn−1 . . . c0 )2 ,
s = e(cn−1 ...c0 )2 .
Une des entrées est sélectionnée. (démo L OGISIM)
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
40 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Multiplexeur (suite) - exemple 2 vers 1
e1
c0
1
e0
Mux
0
e1
e0
c0
s
s
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
41 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Multiplexeur (suite) - exemple 8 vers 1
Ex : Multiplexeur 8 vers 1.
e7 e6 e5 e4 e3 e2 e1 e0
e7 e6 e5 e4 e3 e2 e1 e0
0
1
2
Multiplexeur
8 vers 1
s
Décodeur
3 vers 8
3
s
4
5
6
7
c2
c1
c0
Laure Gonnord (L2/FST/Univ Lyon1)
c2
c1
c0
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
42 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Multiplexeur (suite)
Un multiplexeur k·2n vers k est un circuit qui présente :
k·2n entrées ;
n lignes de sélection ;
k signaux de sortie.
Un tel multiplexeur sélectionne k signaux parmi les k·2n
signaux d’entrée.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
43 / 53 Construisons une ALU !
Choix des opérations, choix des sorties
Multiplexeur (suite) - ex 16 vers 8
a
b
8
Mux.
16 vers 8
8
s
8
1
c
Exercice : comment réaliser un mux. 8 vers 4 avec des mux. 2
vers 1 ?
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
44 / 53 Construisons une ALU !
Opérations
1
Retour sur le Modèle de Van Neuman
Mémoire centrale
Unité centrale de traitement
2
Circuits logiques combinatoires
Fonctions Booléennes
Circuits logiques combinatoires
3
Construisons une ALU !
Choix des opérations, choix des sorties
Opérations
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
45 / 53 Construisons une ALU !
Opérations
Additionneur - half adder
Pour la conception d’additionneurs, une brique qui peut être
utilisée est le demi-additionneur ou half adder :
entrées : deux bits à sommer a et b ;
sorties : un bit de somme s et un bit de retenue sortante rs .
a
b
0
0
0
1
1
0
1
1
s
Laure Gonnord (L2/FST/Univ Lyon1)
rs
On constate que
s = ...
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
et rs = . . .
2014
46 / 53 Construisons une ALU !
Opérations
Half-adder, dessin !
On en déduit le circuit suivant à remplir :
ab
rs
ab
rs
s
half
adder
(HA)
s
Warning ! Un demi-additionneur ne peut pas prendre en
compte de retenue entrante. . .
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
47 / 53 Construisons une ALU !
Opérations
Full adder
entrées : deux bits à sommer a et b, et un bit de retenue
entrante re ;
sorties : un bit de somme s et un bit de retenue sortante rs .
Laure Gonnord (L2/FST/Univ Lyon1)
a
b
re
s
rs
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
1
1
0
0
1
1
1
1
1
1
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
48 / 53 Construisons une ALU !
Opérations
Full adder, le circuit
On constate que
s = a(b ⊕ re ) + a(b ⊕ re ) = a ⊕ (b ⊕ re ) = a ⊕ b ⊕ re et
rs = abre + abre + abre + abre
= (ab + ab)re + ab(re + re ) = (a ⊕ b)re + ab.
On déduit des expressions précédentes le circuit d’un
additionneur 1 bit complet ou (full adder) :
ab
ab
ab
HA
rs
rs
rs
re
re
Laure Gonnord (L2/FST/Univ Lyon1)
re
s
HA
s
full
adder
(FA)
s
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
49 / 53 Construisons une ALU !
Opérations
k-bits Additionneurs
On peut enchaîner k full adders de manière à obtenir un
additionneur de deux entiers naturels de k bits.
rs
b3 a3
b2 a2
b1 a1
b0 a0
FA
FA
FA
FA
s3
s2
s1
s0
b3 a3
re
b2 a2
rs
b1 a1
b0 a0
re
add4
s3
s2
s1
s0
On peut répéter la manœuvre pour obtenir un additionneur
8 bits :
rs
Laure Gonnord (L2/FST/Univ Lyon1)
b7...4
a7...4
b3...0
a3...0
4
4
4
4
add4
add4
4
4
s7...4
s3...0
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
re
2014
50 / 53 Construisons une ALU !
Opérations
Soustraction
Pb : Réaliser la soustraction de deux entiers encodés en
complément à deux sur 8 bits
a − b = a + (−b) = a + compl(b) − 1
I Voir en TD la construction du soustracteur-additionneur.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
51 / 53 Construisons une ALU !
Opérations
Test d’égalité - ALU
À ce stade :
On peut déduire de la soustraction le test d’égalité.
On peut avec un multiplexeur choisir quelle opération
choisir selon un code fixé à l’avance.
I Cf TD/TP
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
52 / 53 Construisons une ALU !
Opérations
Conclusion
Mémoire centrale
Unité de contrôle
Unité Arithmétique
et Logique
Unité
d’Entrées/Sorties
Unité centrale de traitement
On a construit l’ALU en utilisant des circuits combinatoires.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 3 : Construction de l’ALU
2014
53 / 53 
Téléchargement