Vous êtes sur la page 1sur 2

TD 1

TD 1

TD 1 - C IRCUITS COMBINATOIRES
Simplication de fonctions boolennes, familiarisation avec loutil de conception de circuits, circuits combinatoires, reprsentation des nombres, arithmtique en complment 2, arithmtique ottante. Page web : http://www-rocq.inria.fr/~ acohen/teach/archi.html

Exercice 1.2 - Deux circuits combinatoires importants


On tudie deux circuits lmentaires frquemment utiliss dans les composants des processeurs.

Question 1.2.1
Un dcodeur n 2n est un circuit combinatoire comprenant une entre I sur n bits et sorties O0 , . . . , O2n 1 sur 1 bit ; seul le signal Om doit tre activ lorsque lentre I vaut m (en binaire sur n bits). Construire un dcodeur 3 8. On pourra construire une table de Karnaugh ou chercher un schma gnral pour un dcodeur n 2n . 2n

Exercice 1.1 - Afcheur numrique


On souhaite raliser lafcheur numrique dcimal dcrit sur la gure 1. Il est constitu de 7 diodes lectro-luminescentes (LEDs) nommes N , NW , NE , C, SW , SE et S. N

Question 1.2.2
Un multiplexeur 2n 1 est un circuit combinatoire comprenant une entre A sur n bits, 2n entres I0 , . . . , I2n 1 sur 1 bit, et une sortie O sur 1 bit ; le signal O est gal lentre Im lorsque A vaut m (en binaire sur n bits). Construire un multiplexeur 8 1. On pourra construire une table de Karnaugh, rutiliser le dcodeur de la question prcdent ou chercher un schma gnral.

NW

NE

Exercice 1.3 - Unit arithmtique et logique


SE Support : alu_mask.lgf propose une Unit Arithmtique et Logique (ALU) 1-bit (comprenant notamment un additionneur 1-bit et un multiplexeur 4 1) et un masque pour une ALU 16-bits. LALU 1-bit vue en cours propose les oprateurs daddition, de conjonction et de ngation ; voir le chier alu_mask.lgf. On utilise cette brique de base pour construire une unit arithmtique et logique 16-bits. On a transform ladditionneur en additionneur/soustracteur en lui ajoutant un signal de contrle ALUKSUB analogue au signal c vu en cours, et en insrant des XOR pour inverser la deuxime oprande de laddition.

SW

F IG . 1 Afcheur numrique dcimal

Question 1.1.1
crire une table de vrit pour chaque LED de lafcheur, puis simplier les fonctions algbriques correspondantes laide des tableaux de Karnaugh. Pour ne pas perdre de temps, vous avez la possibilit de ne raliser que deux tableaux, par exemple ceux du sud ouest (SW ) et du centre (C).

Question 1.3.1
La plupart des units arithmtiques et logiques gnrent des signaux de condition ; il sagit de signaux de sortie utiliss par les instructions de branchement conditionnel. Raliser une ALU 16-bits avec les trois signaux de condition suivants : N vaut 1 lorsque la sortie (16-bits) est strictement ngative ; Z vaut 1 lorsque la sortie est nulle ; P vaut 1 lorsque la sortie est strictement positive.

Question 1.1.2
Raliser lafcheur en DigLog. Pour le circuit, on respectera la reprsentation des fonctions logiques sous forme de sommes de produits. Support : commencer par rcuprer le chier numeric_mask.lgf, puis lancer DigLog par la commande cohen/bin/diglog numeric_mask.lgf.

TD 1

TD 1

Question 1.3.2
Montrer que lon peut effectuer une soustraction non signe laide dun oprateur de soustraction en complment 2.

Question 1.3.3
On suppose que lALU dispose dun signal SIGNED qui vaut 1 lorsque les calculs ont lieu en complment 2 (calculs signs) et 0 sinon (calculs non signs). Dnir un signal V de dpassement de capacit (overow) pour cette ALU.

on ne considrera que des nombres normaliss ; lorsquune valeur ne peut tre reprsente par un nombre normalis, on dclenche un signal derreur ERROR ; le circuit ne pourra effectuer quun arrondi par limination des bits de poids faible non reprsentables.

Question 1.5.1
Dterminer les diffrentes tapes ncessaires lopration de multiplication ottante

Question 1.3.4
En utilisant lALU ci-dessus et en minimisant le nombre de modications, gnrer un signal de comparaison : soient a et b les deux entres de lALU, le rsultat de la comparaison est 1 si a < b, et 0 sinon ; le rsultat de la comparaison doit tre fourni sur un signal de sortie supplmentaire.

Question 1.5.2
Identier tous les composants ncessaires la ralisation du multiplieur (hors contrle). Indiquer les jonctions ncessaires entre les diffrents composants et leur taille.

Question 1.5.3
Indiquer, pour chaque tape, les valeurs que doivent prendre les diffrents signaux dentre des composants. Le circuit de contrle du multiplieur ottant sera ralis dans le cadre du prochain TD.

Exercice 1.4 (facultatif) - Acclration de laddition


Cet exercice compare plusieurs compromis temps-espace pour des circuits dacclration de laddition. Il nest pas ncessaire dutiliser DigLog dans cet exercice. On souhaite effectuer laddition de n nombres a1 , . . . , an sur 4 bits. Pour cela, on peut utiliser une ALU pour calculer a1 + a2 puis ajouter le rsultat a3 , etc.

Question 1.4.1
Pour la somme de 3 entiers sur 4 bits, proposer un circuit dont le temps de traverse vaut 6 fois celui de ladditionneur 1-bit.

Question 1.4.2
Pour la somme de 3 entiers sur 4 bits, proposer un circuit dont le temps de traverse ne vaut que 5 fois celui de ladditionneur 1-bit, contre 6 pour le circuit de la question prcdente. Indication : utiliser lassociativit de laddition pour retarder la propagation des retenues jusqu la dernire tape du calcul ; le circuit obtenu est appel additionneur carry-save. Proposer une gnralisation de ce circuit pour la somme de n oprandes et une estimation de son temps de traverse.

Exercice 1.5 (facultatif) - Multiplieur ottant


On tudie la structure dun multiplieur pour des nombres virgule ottante. On considre une reprsentation simplie, inspire de la norme IEEE 754 pour les ottants 32 bits :