Déroulement des instructions pipelinées

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

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *