EXERCICES DIRIGES 4 La machine physique. Etude de l'additionneur et de l'unité arithmétique et logique Rappels de cours A. Machine physique : les portes UTILISATEUR SYSTEME D'EXPLOITATION MACHINE PHYSIQUE Langage machine Couche physique Couche physique = circuits logiques dont le comportement fonctionnel est celui de l'algèbre linéaire (algèbre de Boole). Les circuits logiques sont élaborés à partir de composants électroniques primaires : les transistors. L'assemblage des transistors permet de créer des portes, qui elles-mêmes assemblées créent les circuits logiques. Un circuit logique a un comportement binaire correspondant aux deux seuls états possible du signal électrique émanant des transistors : - au signal compris entre 0 et 1 volt, on associe par exemple l'état binaire 0 - au signal compris entre 2 et 5 volts, on associe par exemple l'état binaire 1 Chaque circuit logique est symbolisé par un dessin et caractérisé par une table de vérité, qui donne en fonction des entrées possibles pour le circuit, les valeurs de sortie. En fonction des n données en entrée, on énumère ainsi les 2 n états possibles de la fonction. Un transistor seul correspond à un circuit inverseur. Les autres portes (ET, OU, OU EXCLUSIF) sont obtenues en plaçant les transistors en série et/ou en parallèle. 1
Un transistor : Ve < Val_Critique alors Vs = 5 volts = Vcc Ve > Val_Critique alors Vs = 0 volt Tables de vérité de quatre des principaux circuits logiques ET : AB OU : A + B Ou-EXCLUSIF A B B. Le circuit additionneur On désire construire le circuit logique correspondant à l'additionneur pour des nombres binaires A et B de n bits. Deux cas sont à distinguer : - l'addition des bits de poids faible a0 et b0 pour lesquels il n'y a pas retenue entrante à prendre en compte - l'addition des bits de poids fort pour lesquels il y a pas retenue entrante à prendre en compte, propagée depuis le niveau inférieur. B.1. Additionneur pour les bits de poids faible On construit la table de vérité : a0 b0 Retenue Rs Sortie S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 ON évalue la fonction sortie, en spécifiant toutes les combinaisons de variables d'entrée qui fournissent une sortie à 1 pour la fonction. On écrit : 2
B.2. Additionneur pour les bits de poids fort A ce niveau, il faut prendre en compte la retenue propagée par le niveau inférieur : la fonction admet donc trois variables : a i, b i et r i-1 On donne : Question 1 : Etablir la table de vérité de l'additionneur poids fort Question 2 : En déduire le circuit logique associé. B.3. Additionneur complet pour n bits On montre que l'additionneur pour n bits s'obtient en associant une boite additionneur de poids faible et n-1 boites additionneur de poids fort. La liaison entre les boites s'effectuent par la propagation des retenues entre les niveaux. 3
B.4. Intégration de la détection de l'overflow Question 3. Nous avons vu dans l'ed précédent qu'il se produisait un overflow lors d'une addition entre deux nombres A et B de n bits si la condition suivante était vraie : r n r n-1 Etablissez quel circuit logique permet de traduire cette condition et intégrer le à l'additionneur. C. Le circuit Unité Arithmétique et Logique L'Unité Arithmétique et Logique (UAL) regroupe l'ensemble des circuits permettant la réalisation des opérations arithmétiques (addition, soustraction, complément à 2) et logiques (ET, OU, XOR, NOT). Schématiquement, l'ual comprend deux entrées opérandes, une entrée permettant de sélectionner l'opération souhaitée et une sortie résultat. Par ailleurs, L'UAL est liée au registre d'état psw, dont elle positionne les différents indicateurs en fonction du résultat de l'opération réalisée. Lorsqu'une opération est à réaliser, tous les circuits de l'ual sont activés et effectuent l'opération qui leur est attitrée. La sélection Op ne permet qu'à un seul des circuits de délivrer son résultat sur la sortie de l'ual. 4
C O Addition 11 A B ou et 10 01 S xor 00 op Op 00 01 10 11 A B psw S 5