UNITE ARITHMETIQUE ET LOGIQUE (UAL) 4 BITS : Additionneur 4
Transcription
UNITE ARITHMETIQUE ET LOGIQUE (UAL) 4 BITS : Additionneur 4
UNITE ARITHMETIQUE ET LOGIQUE (UAL) 4 BITS : Additionneur 4 bits Soustracteur 4 bits Multiplieur 4 bits Diviseur 4 bits 4 opérations logiques de 4 bits 1- Opérations Arithmétiques : Additionneur 4bits : L’additionneur 4 bits est déjà fait dans les rapports précédents. Circuit d’après MS11 : S0 2.5 V HB1 A0 Ke y = A IO1 IO1 IO2 IO2 IO3 IO3 IO4 IO5 IO4 IO5 B0 FA Ke y = B S1 A1 Ke y = C 2.5 V HB2 IO1 IO1 IO2 IO2 IO3 IO3 IO4 IO5 IO4 IO5 B1 S2 FA Ke y = D 2.5 V HB3 A2 Ke y = E IO1 IO1 IO2 IO2 IO3 IO3 IO4 IO5 IO4 IO5 B2 FA Ke y = F A3 Ke y = G B3 IO1 IO1 IO2 IO2 IO3 IO3 IO4 IO5 IO4 IO5 C FA 2 2.5 V HB4 Ke y = H V1 12 V S3 2.5 V Soustracteur 4 bits Le soustracteur 4 bits est déjà fait dans les rapports précédents. Circuit d’après MS11 : A0 Ke y = A S0 HB1 A B C A B C S R S R 2.5 V B0 Ke y = B Soustracteur complet 1 bits A1 Ke y = A 2.5 V HB2 A B C A B C S R S R S2 B1 Ke y = B A2 Ke y = A S1 2.5 V Soustracteur complet 1 bits HB3 A B C A B C S R S R S3 2.5 V B2 Ke y = B A3 Ke y = A Soustracteur complet 1 bits HB4 A B C A B C S R S R C 2.5 V B3 V1Ke y = B 12 V Soustracteur complet 1 bits Multiplieur 4 bits Présentation : Le multiplieur 4 bits est réalisé avec 16 portes AND et 3 additionneurs de 4 bits, les portes AND permettent de faire les multiplications logiques entre les entrées, après ces opérations de multiplication les additionneurs vont réaliser l’addition logique verticalement, puis on obtient les résultats de sortie. Ce multiplieur 4 bits a 8 entrées et 8 sorties et il est capable de faire n’importe qu’elle multiplication arithmétique de 4 bits. 3 Voila l’opération : A0…A3 et B0…B3 sont des entrées, et S0…S7 sont des sorties. Logigramme : Les circuits en couleur orange sont des additionneurs de 4 bits. 4 Circuit d’après MS11 : A0 Ke y = A 2.5 V A1 S0 Ke y = A A2 S1 HB16 Ke y = A A3 Ke y = A A0 A1 A2 A3 B0 B1 B2 B3 A0 A1 A2 A3 B0 B1 B2 B3 S0 S1 S2 S3 S4 S5 S6 S7 MLTR 4 S0 S1 S2 S3 S4 S5 S6 S7 S2 S3 2.5 V 2.5 V 2.5 V B0 Ke y = A S4 B1 2.5 V Ke y = A S5 B2 2.5 V Ke y = A B3 S6 2.5 V Ke y = A V1 12 V 5 S7 2.5 V Diviseur 4 bits Présentation : La division binaire s'effectue à l'aide de soustractions et de décalages, comme la division décimale, sauf que les digits du quotient ne peuvent être que 1 ou 0. Le bit du quotient est 1 si on peut soustraire le diviseur, sinon il est 0. Prenons par exemple un nombre de 8 bits et divisons-le par un nombre de 4 bits, en visant un résultat exprimable sur 4 bits, et un reste de 8 bits en détaillant toutes les opérations : Dans notre cas on prend un nombre de 4 bits et divisons-le par un nombre de 4 bits, en visant un résultat exprimable sur 4 bits, et un reste de 4 bits : Nous tirerons les enseignements suivants de ces exemples : Il est possible d'obtenir une division par une suite (ou une cascade) de soustractions et de décalages. 2) les emprunts de sortie des soustractions sont égaux à l'inverse des bits correspondants du quotient. 3) à chaque soustraction, il faut pouvoir transmettre soit le nouveau reste, soit le reste précédent (restauration), selon qu'elle donne un emprunt de sortie nul ou non. 6 En visant une décomposition combinatoire, nous allons construire un soustracteur de 1 bit incorporant le sélecteur de sortie mentionné : Les équations de sortie de ce module s'établissent facilement : Bit de reste: R = (D xor S xor BI) and N or D and N Emprunt: BO = D and S or D and BI or S and BI Un tel module peut être câblé en réseau pour obtenir un diviseur d'un nombre quelconque de bits, en utilisant les enseignements 1), 2) et 3) ci-dessus pour diviser un nombre A de 4 bits par un nombre B de 4 bits et obtenir un quotient Q et un reste R de 4 bits : 7 Soustracteur et multiplexeur : HB1 BI B A BI B A R N BO R N BO soustracteur-muX- A l’intérieur : BI B R HB3 HB2 A A A B B C C S R S R e1 e1 e2 e2 adresse adresse sortiesortie MuX (1Eadresse) Soustracteur complet 1 bits Logigramme de diviseur 4 bits (21 soustracteur-mux) : 8 N BO Circuit d’après MS11 : Q0 2.5 V A0 Q1 Ke y = A A1 2.5 V Ke y = A A2 A3 A0 A1 A2 A3 B0 B1 B2 B3 Ke y = A B0 Ke y = A B1 Q2 HB1 Ke y = A A0 A1 A2 A3 B0 B1 B2 B3 Q0 Q1 Q2 Q3 R0 R1 R2 R3 Q0 Q1 Q2 Q3 R0 R1 R2 R3 Q3 2.5 V R0 2.5 V déviseur 4 bits-boitier Ke y = A B2 2.5 V R1 2.5 V Ke y = A B3 R2 Ke y = A V1 12 V R3 2- 4 Opérations logiques de 4 bits a0 b0 a1 OR U91 OR2 U92 b1 s0 OR2 s1 s2 a2 U93 b2 OR2 a3 U94 b3 OR2 9 s3 2.5 V 2.5 V XOR a0 U95 b0 s0 XOR2 a1 s1 U96 s2 b1 s3 XOR2 a2 U97 b2 XOR2 a3 U98 b3 XOR2 AND a0 U99 b0 AND2 a1 U100 b1 s0 AND2 a2 U101 b2 s1 s2 s3 AND2 a3 U102 b3 AND2 a0 NOR U103 b0 NOR2 a1 U104 b1 s1 NOR2 a2 U105 b2 NOR2 a3 U106 b3 NOR2 10 s0 s2 s3 3- Démultiplexeur a 3 entrées d’adresse : Il sert à sélectionner l’opération (addition ou soustraction ou multiplication …) dans l’UAL. Table de vérité : (E= donné) C B A S0 0 0 0 E 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 11 S1 0 E 0 0 0 0 0 0 S2 0 0 E 0 0 0 0 0 S3 0 0 0 E 0 0 0 0 S4 0 0 0 0 E 0 0 0 S5 0 0 0 0 0 E 0 0 S6 0 0 0 0 0 0 E 0 S7 0 0 0 0 0 0 0 E Logigramme : Circuit d’après MS11 : E 2.5 V S0 S1 2.5 V Ke y = A S2 A Ke y = A B Ke y = A C S3 HB1 E A B C E A B C S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 2.5 V S4 2.5 V 2.5 V S5 2.5 V demux S6 Ke y = A S7 V1 12 V 12 2.5 V 2.5 V 4- Parity flag(PF) Parité : si le résultat de l'opération contient un nombre pair de 1 cet indicateur est mis à 1, sinon zéro. 5- Sign flag(SF) S est positionné à 1 si le bit de poids fort du résultat d'une addition ou soustraction est 1; sinon SF=0. SF est utile lorsque l'on manipule des entiers signés, car le bit de poids fort donne alors le signe du résultat. 6- Carry flag(CF) Retenue : cet indicateur et mis à 1 lorsque il y a une retenue du résultat. Il intervient dans les opérations d'additions (retenue) et de soustractions (borrow) sur des entiers naturels. Il est positionné en particulier par les instructions ADD, SUB et CMP (comparaison entre deux valeurs), CF = 1 s'il y a une retenue après l'addition ou la soustraction du bit de poids fort des opérandes. 7-Unité Arithmétique Et Logique (UAL 4bits) Présentation : Ce type de composant est implémenté dans un microcontrôleur, c’est le composant central qui permet de réaliser tous les calculs. Grâce à des bus il accède : Aux registres du microcontrôleur, Aux données numériques contenues dans les mémoires mortes et les mémoires vives, Aux différents périphériques d’entrées/sorties du microcontrôleur. 13 Schéma de notre UAL 4 bits : Table d’opérations de 4 bits : 14