Title: Prsentation PowerPoint
 1(No Transcript) 
 2Plan de l'exposé 
 3Parallélisme dans le code source
n calculs indépendants. 2 lectures, puis 1 
produit, puis 1 somme puis 1 écriture, le tout n 
fois. 
 4Code machine d'architecture RISC 
 5(No Transcript) 
 6Quelles différences entre source et assembleur? 
 7La dépendance sur i séquentialise le 
lancement des itérations au rythme du délai de 
l'additionneur. 
 8La dépendance sur les registres séquentialise 
les opérations au rythme des délais des 
opérateurs. 
 9La dépendance sur les registres séquentialise 
les opérations au rythme des délais des 
opérateurs. 
 10(1) e FLD F2, R1(R8) (2) 
FMUL F3, F2, F1 (3) FLD F4, 
R2(R8) (4) FADD F5, F4, F3 (5) 
 FST F5, R2(R8) (6) ADD R8, 
R8, 1 (7) CMP R9, R8, R3 (8) 
 BNE R9, e 
 11L'effet des registres 
 12(No Transcript) 
 13La parade le renommage 
 14(1) e FLD F2, R1(R8) (2) 
FMUL F3, F2, F1 (3) FLD F4, 
R2(R8) (4) FADD F5, F4, F3 (5) 
 FST F5, R2(R8) (6) ADD R8, 
R8, 1 (7) CMP R9, R8, R3 (8) 
 BNE R9, e 
 15Le renommage est matériel 
 16Le renommage augmente la surface du banc de 
registre 
 17L'effet du renommage 
 18(No Transcript) 
 19(No Transcript) 
 20Le chemin des données 
 21(No Transcript) 
 22(No Transcript) 
 23(No Transcript) 
 24Réponse n2 c'est un intermédiaire 
intéressant qui simplifie l'expression du code 
exécutable. Ce qui est vraiment nécessaire, 
c'est de pouvoir désigner de façon concise les 
sources et destinations des opérations. La 
concision des noms peut être obtenue en 
ne laissant dans le code qu'un préfixe (partie 
statique), le matériel ajoutant le suffixe. 
 25Supprimer les registres?
Remplacer les architectures registre/registre par 
une architecture mémoire/mémoire, 
c'est transgresser un tabou vieux de 25 ans! Si 
on tente en plus d'imposer un nouveau langage 
machine, il y a peu de chances qu'on puisse avoir 
du succès auprès des constructeurs! 
 26(No Transcript) 
 27(No Transcript) 
 28(No Transcript) 
 29Que représente le nom Rx?
Rx est un ensemble de variables en 
mémoire (l'ensemble des exemplaires de 
Rx). Chaque exemplaire a une adresse unique qui 
le place dans la hiérarchie mémoire. Les 
exemplaires d'un processus sont distincts de ceux 
d'un autre processus (adresses différentes). 
 30(No Transcript) 
 31(No Transcript) 
 32(No Transcript) 
 33La lecture des sources
La latence des accès n'est plus constante. 
Elle dépend de la hiérarchie mémoire. Pour un 
degré superscalaire d, plutôt que de lire 2d 
sources et d'écrire d destinations par cycle 
d'une structure centralisée (lancement d'au plus 
d instructions prêtes par cycle), on effectue des 
accès en lecture et en écriture dans L0. 
 34Combien de ports d'accès à L0?
Cela dépend du nombre moyen de lectures et 
d'écritures par instruction. Avec simplescalar, 
on peut mesurer, pour un degré superscalaire d, 
le nombre de ports p en dessous duquel l'IPC est 
sérieusement dégradé. Des mesures préliminaires 
ont montré qu'en moyenne, pour un degré d, on 
effectue 0,8d écritures et 1,2d lectures. 
 35(No Transcript) 
 36(No Transcript) 
 37(No Transcript) 
 38(No Transcript) 
 39Le compilateur peut attribuer les registres 
en appliquant une stratégie qui distribue les 
accès en lecture et en écriture. Le cache L0 
peut être réparti en bancs, chaque banc étant une 
mémoire simple port. Les accès à deux bancs sont 
indépendants. En multipliant les bancs, on 
multiplie les ports et le degré d'ILP. 
 40(No Transcript) 
 41(No Transcript)