Click here to load reader
Upload
ledan
View
212
Download
0
Embed Size (px)
Citation preview
Architectures et modèles de calcul TD5
Exercice 1 : V F Le processor a besoin de stocker temporairement les instructions et les données lors de l’
exécution d’une instruction V F La technique du pipelining est une technique efficace pour améliorer les performances mais
nécessite beaucoup d’attention pour atteindre des résultats optimums pour une complexité raisonnable.
V F Le temps de cycle d’une instruction pipelinée correspond au temps nécessaire pour faire avancer un ensemble d’instructions d’un étage à travers le pipeline.
V F Un aléa de contrôle apparaît lorsque 2 ou plus instructions déjà présentes dans le pipeline ont besoin de la même ressource.
Exercice 2 : 1) Quel est le rôle des registres visibles de l’utilisateur et des registres de contrôle et d’état ? 2) A quoi servent les bits de conditions présents dans les registres d’état ? 3) Rappelez brièvement les différentes façons de gérer les instructions de branchement conditionnel au
niveau du pipeline. 4) Rappelez comment les bits d’historique sont utilisés dans la prédiction de branchement.
Exercice 3 : Si la dernière opération réalisée sur un mot machine de 8-‐bit était une addition entre les valeurs 2 et 3, quel est la valeur des drapeaux suivant :
Carry, zero, Overflow, Sign, Parité paire Même question pour l’addition entre (-‐1) représenté en complément à 2 et +1 ?
Exercice 4 : Une des limitations de l’approche multi-‐stream utilisée pour gérer les branchements dans un pipeline est que des branchements additionnels pourront être rencontrés avant que le premier branchement soit résolu. Suggérez deux autres limites.
Exercice 5 : Rappelez le fonctionnement du prédicteur de branchement à 2-‐bit vu en cours et donnez son diagramme d’état. Considérez les 2 diagrammes d’états suivants.
a. Décrivez pour chacun d’eux leurs comportements b. Comparez ces comportements avec le prédicteur de branchement à 2-‐bit vu en cours et décrivez
pour chacune des 3 approches les situations favorables.
Exercice 6 : Soit le programme assembleur suivant :
ld r1, 0 # r1=0 ld r2, 0 # r2=0 ld r3, N # r3=N foo: sub r4, r3, r2 # r4=r3-‐r2 beqz r4, end # GO to end if r4=0 addi r1, r1, r2 # r1+=r2 muli r1, r1, r3 # r1*=r3 br foo; # GO to foo end: ...
a. Donner le code C ayant pu générer ce code assembleur. b. Considérez un pipeline à 6 étages composé de (FI, DI, CO, FO, EI, WO). Décrivez l’exécution de ce
programme sous la forme d’un diagramme semblable à celui-‐ci pour 2 itérations.
c. La technique du court-‐circuit (également appelé bypass ou forwarding) consiste à envoyer le résultat
d’une instruction immédiatement après l’étage d’exécution aux instructions suivantes qui attendent le résultat en question en court-‐circuitant l’étage de WO (d’où son nom). Montrez sur l’exemple précédent les gains apportés par la technique de court-‐circuit.
d. Proposez des techniques permettant de réduire le coût des branchements.