Contrôle
Construction de l’architecture
Modifier l’architecture pour réaliser l’instruction Saut Inconditionnel. On cherchera à minimiser le coût matériel en utilisant le matériel existant et en ajoutant le minimum de multiplexeur. Le matériel nécessaire et le contrôle associé sont à dessiner sur la feuille..
Construction du contrôle
Indiquer le contrôle à associer à chaque cycle pour exécuter l’instruction Saut Inconditionnel , en remplissant le tableau représentant les valeurs du contrôle. On ajoutera des signaux de contrôle si nécessaire.
Valeur booléen | ||
C | C1 | |
C2 | ||
B | B1 | |
B2 | ||
B3 | ||
A | A1 | |
A2 | XX | |
A3 | ||
… |
Format de l’instruction :
Saut Inconditionnel 100 ; aller en 100 relativement à CP+4 (100 est une adresse d’instruction).
Op | x | x | 100 |
6 bits | 5 Bits | 5 Bits | 16 Bits |
< h1>2. Les performances de base du pipeline
Exercice
Soit une machine non pipelinée. On suppose qu’elle a des cycles d’horloge de 10 ns, et qu’elle utilise quatre cycles pour les opérations UAL et les branchements et cinq cycles pour les opérations mémoire. On suppose que les fréquences relatives de ces opérations sont respectivement de 40%, 20% et 40%. On suppose qu’à cause des dispersions d’horloge et des temps d’établissement, le fait de pipeliner la machine ajoute 1ns de surcoût au cycle d’horloge. Sans perdre compte l’impact de la latence, quelle est l’accélération de l’exécution des instructions liée au pipeline ?Le temps moyen d’exécution d’une instruction sur la machine non pipelinée est :
Tps d’exécution moyen d’une instruction = Cycle d’horloge * CPI moyen
= 10*((40%+20%)*4+40%*5) = 44ns.
Dans la machine pipelinée, l’horloge doit fonctionner à la vitesse de l’étage le plus lent plus le surcoût, ce qui fera 10+1 = 11 ns ; ceci est le temps moyen d’exécution d’une instruction. Ainsi l’accélération due au pipeline est :Accélération = Tps moyen sans pipeline/ Tps moyen d’exécution avec pipeline= 44/11=4 fois
Exercice
On suppose que les temps utilisés par les cinq unités fonctionnelles qui opèrent dans chacun des cinq cycles sont les suivants : 10ns,8 ns, 10ns 10ns et 7ns. On suppose que le pipeline ajoute 1ns de surcoût. Quelle est l’accélération par rapport au chemin de données en un seul cycle ?Puisque la machine non pipelinée exécute toutes les instructions en un seul cycle d’horloge, son temps moyen d’exécution d’une instruction est simplement le temps de cycle d’horloge. Ce temps de cycle est égal à la somme des temps d’exécution de chaque étape :
Tps d’exécution moyen d’instruction = 10+8+10+10+7 = 45ns
Le temps de cycle sur la machine pipelinée doit être le plus grand de tous les étages du pipeline 10ns plus le surcoût (1ns) soit un total de 11ns. Puisque le CPI est 1, cela donne un temps d’exécution moyen de 11 ns.
On a donc :
Accélération pipeline = Tps moyen d’exécution d’une instruction sans pipeline/Temps moyen d’exécution d’une instruction avec pipeline
= 45/11 = 4,1 fois.
Déroulement des instructions pipelinées
Indiquer les différents signaux à chaque étapes de pipeline pour la suite d’instructions suivante :
add $2,$3,$1
beq $6,$12,100
Instruction | Lignes de contrôle
étage exécution |
Lignes de contrôle
étage mémoire
|
Lignes de contrôle étage d’écriture | ||||||
RegDst | UAL
Op1 |
UAL
Op2 |
UALSrc | Branchement | Lire
MEM |
Ecr
Mem |
Ecrire
Reg |
MemversReg | |
format R | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Lw | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
Sw | x | 0 | 0 | 1 | 0 | 0 | 1 | 0 | x |
Beq | x | 0 | 1 | 0 | 1 | 0 | 0 | 0 | x |