Polytech Marseille INFO3 TD d'Architecture : CPU 2018-19
Éléments de la CPU
1 Additionneur à propagation de retenue
1. Construire un additionneur 16 bits à l'aide de 16 additionneurs 1 bit fonctionnant en parallèle dans la configuration dite de "retenue propagée". Si le temps de réponse d'un additionneur 1 bit est de 15 ns, au bout de combien de temps aura-t-on la réponse de l'additionneur 16 bits ? 2. Retrouver les relations donnant le résultat de la somme si de 2 bits ai et bi et du carry ci+1 en
fonction des 2 bits ai et bi et de ci.Exprimer ces relations en fonction de gi = ai.bi, pi = ai + bi
et ci-1
gi est le "générateur" de carry et pi le "propagateur" de carry. Justifiez ces appellations Nous allons étudier maintenant un additionneur parallèle plus rapide, calculant de façon anticipée la retenue
3. Ecrire les relations trouvées au 1 pour c1 et c2 et dessinez le logigramme correspondant Réecrire c2 en fonction de p1, p0, g1, g0, et c0 . Dessinez les logigramme correspondant pour c1 et c2. Conclure quant à la complexité du 2nd circuit par rapport au premier.
4. Ecrire les expressions de c1 à c4. Ré-écrire c4 en posant G0 = g3 + p3 g2 + p3 p2 g 1 + p3 p2 p1 g0
et P0 = p3 p2 p1 p0
On va maintenant considérer une "boîte noire" générant c1 à c3 ainsi que P0 et G0 à partir de gk et pk
(k=0-3) et de c0
5. Faire de même avec c5 à c8 en posant G1 = g7 + p7 g6 + p7 p6 g5 + p7 p6 p5 g4 et P1 = p7 p6 p5 p4
montrer que l'on peut utiliser la même boîte noire pour les générer. Généraliser 6. Reprendre les équations de c4, c8, c12 et c16 en posant
G0 = G3 + P3 G2 + P3 P2 G 1 + P3 P2 P1 G0 et P0 = P3 P2 P1 P0 . Montrer que l'on peut utiliser la même boite pour générer c4, c8 et c12.
7. Proposer un logigramme pour effectuer l'addition sur 16 bits
2 Détection d'un dépassement de capacité dans l'ALU
1. Quelle est l'échelle des nombres entiers signés en complément à 2 qui peuvent être codés sur n bits ?
1
g
3-0g
3-0p
3-0c
0c
1c
2c
3P
0G
0Polytech Marseille INFO3 TD d'Architecture : CPU 2018-19 2. Donner la représentation binaire codée en complément à 2 sur 8 bits des nombres décimaux
-17, -127, -128
3. En codant les entiers signés en complément à 2 sur 4 bits, effectuer les opérations suivantes et afficher le résultat en décimal
(+3) + (+4) (+6) + (-3) (-2) + (-6) (+4) + (-7)
4. Mêmes questions qu'en 2., mais avec les opérations suivantes : (-3) + (-6)
(+5) + (+6) (-8) + (-8) (+7) + (+7)
5. Peut-il y avoir dépassement de capacité si les signes des opérandes sont différents ?
6. Quand les signes des opérandes sont identiques, quand y a-t-il de dépassement de capacité ? 7. Pouvez vous en déduire un test de dépassement de capacité pour l'additionneur ?
3 Réalisation d'un Register File pour l'architecture MIPS 1. rappeler le fonctionnement du register file.
2. pourquoi le nombre de registres est-il limité à 32 ?
3. proposer un schéma d'implémentation pour les ports en lecture 4. proposer un schéma d'implémentation pour le port en écriture
2