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