Professional Documents
Culture Documents
ceg3556Devoir2Solutions PDF
ceg3556Devoir2Solutions PDF
11 Juin, 2020
Question I
Cette question se concerne avec les circuits de multiplicateurs Booth.
Partie a
Tout d’abord, laissez-nous multiplions (−13)10 par (+11)10 . Dans la
notation en complément à deux, nous avons (10011)2 ∗(01011)2 . Reportez-vous
à Table 1 pour l’expansion de l’algorithme de Booth. Le résultat est
(1101110001)2 = (−143)10 , qui est le résultat attendu.
1
Deuxièmement, nous multiplions (−25)10 par (−4)10 . Dans la notation
en complément à deux, nous avons (100111)2 ∗(111100)2 . Reportez-vous
à Table 2 pour l’algorithme de Booth. Le résultat est (000001100100)2 =
(+100)10 , qui est le résultat attendu.
Partie b
Le schéma du circuit modifié est illustré dans la figure 1. Il est
clairement assumé que tous les signaux d’état (indiquées avec une ligne
fléché rouge) se enfoncent à l’unité de commande, qui servent comme
entrées pour les signaux de commande (indiqué avec une ligne non fléché
rouge)
Question II
Cette question se concerne avec les réalisations du processeur à cycle simple.
Partie a
En regardant la Figure 4.19, nous voyons que MemtoReg et MemRead sont
identiques à l’exception de sw et beq, ou MemtoReg est un Don’t Care.
Ainsi, la modification va fonctionner pour le chemin de données à cycle
simple. La modification fonctionnera également sur le chemin des données
à cycle multiple en supposant que la machine à états finis est modifiée
de sorte que MemRead est affirmé lorsque MemtoReg l’est.
2
Figure 1: Chemin de données d’un Multiplicateur de Booth
Partie b
Utilisant la Figure 4.19, nous découvrons que MemtoReg pourrait ^ etre
remplacé par ALUSrc, RegDst pourrait ^etre remplacé par ALUOp1, et soit
Branch ou ALUOp0 peut ^etre remplacé en faveur de l’autre (leurs signaux
sont identiques). Noter qu’en réalité il y aurait probablement des
lignes supplémentaires présents dans la table de vérité (truth table)
pour soutenir d’autres instructions, et il est tout à fait probable
que aucun signal de contr^ole pourraient ^etre éliminés.
Question III
Cette question se concerne avec les mesures de performance des processeurs à
cycle simple.
3
(i) Les changements ne augmentent pas la longeur des chemins au-delà
de maximums actuels. Ainsi, le temps de cycle est toujours 8 ns
(iii) Vous pourriez ^etre tenté de conclure une nouvelle fois que l’instruction
de branchement exigera X + Y = 9 ns pour le calcul de l’addresse de
branch. Ce ne est pas tout à fait correct, cependant, parce que le
deuxième additionneur (exigeant du temps Y) a deux entrées, dont l’une
ne est pas disponible qu’après l’instruction est lu (les 16 bits immédiats),
et cela prend 2 ns. Ainsi, la longueur de chemin maximale réelle est
encore de 10 ns, et le temps de cycle est de 10 ns.
Question IV
Cette question se concerne avec la conception en utilisant la machine à état
algorithmique (ASM). Dans les parties a et b, on travaille avec l’additionneur á
point mobile developpé en classe. Alors, référez à la figure 2 pour le datapath
developpé en utilisant la méthode ASM. Dans la partie c, référez à la figure 3
pour une réalisation possible pour le multiplicateur séquentiel.
Partie a
Le chemin de données nouveau et optimisé est réprensenté dans la figure
4. Il regroupe les deux additionneurs et compteurs à 8 bits, tout
en utilisant l’extension de signe pour assurer l’addition ou la soustraction
correcte du complément à deux signé. A noter aussi est l’égalité entre
Edif f et REZ , qui nous permet de les regrouper en un seul compteur
à 8 bits. Tous les nouveaux signaux de contr^ ole et d’état, ainsi que
tous les nouveaux multiplexeurs sont présentés dans la figure.
Partie b
Le nouveau diagramme détaillé d’ASM est illustré dans la figure 5.
Noter que le diagramme ne diffère pas beaucoup de celui calculé en
classe. Cela entra^ıne une caractéristique intéressante de la méthodologie
de l’ASM: Les optimisations effectuées sur le chemin de données ne
devrait pas affecter la structure de l’ASM ou les diagrammes détaillées
de l’ASM. De m^
eme, la logique de contr^ ole complet, dérivé du nouveau
4
Figure 2: Chemin de Données d’un Additionneur a Point Mobile
Partie c
Il ya cinq étapes à la méthode de l’ASM, à savoir: la génération de
code pseudo, la construction du diagramme ASM, la réalisation de chemin
de donnée, le mapping détaillé du diagramme ASM et la réalisation de
la logique de contr^ ole. La première de ces étapes, la génération de
code pseudo, se compose de la solution de haut niveau du problème,
essentiellement la multiplication des deux nombres de 8 bits de complément
à deux signé. L’algorithme qui sera utilisé dans cette solution est
le multiplicateur séquentielle développé dans le livre, et expliqué
en classe. Laissez-nous d’abord commencer par montrer notre code pseudo
raffinée:
• X<7:0> ← multiplicateur; Y <7:0> ← multiplicande; P <15:0> ← 0;
• Pour i = 0 à n - 2 faire
– Commencer
5
Figure 3: Diagramme de Blocs d’un Multiplicateur Séquentielle
Question de Boni
Le chronogamme qui montre l’operation correcte de la bascule a type
D est présenté dans la figure 12. Noter les labels indiquant états
6
Figure 4: Chemin de Données d’un Additionneur a Point Mobile
distincts suivants:
7
Figure 5: Diagramme Détaillée ASM d’Addition à Point Mobile
Remerciements
Les réponses et figures liés aux questions de livres scolaires sont tirées avec le
manuel de professeur Computer Organization and Design, quatrième edition,
par Patterson et Hennessy.
8
Figure 6: Logique de Contrôle d’Addition à Point Mobile
9
Figure 7: Diagramme d’ASM d’un Multiplicateur de Complément à Deux Signé
10
Figure 9: Diagramme Détaillée d’ASM d’un Multiplicateur de Complément à
Deux Signé
11
Figure 11: Bascule de type D créer utilisant des bascules maı̂tre et esclave
12