Transparents du cours d'Archi 3A

De Ensiwiki
Aller à : navigation, rechercher

Conception et exploration d'architectures, de multicoeurs, de réseau sur puce

Première partie (assurée par Stéphane Mancini)

Cette partie est basculée sur chamilo : [1]

Seconde partie (assurée par Frédéric Pétrot)

Vous trouverez ici les transparents de la partie Archi de processeurs et réseau sur puce du cours "conception et exploration d'architectures, de multicoeurs, de réseau sur puce" La première partie porte sur les processeurs superscalaires, tels les pentium, powerpc, sparcv9 et +, mips r8000 et +, etc. Les slides sont dues à Hennessy et Patterson pour l'essentiel, avec d'autres sources grappillées ça et là. Ce cours est agrémenté de 2 TP dont les sujets et les sources se trouvent sur le gitlab de l'Ensimag (git@gitlab.ensimag.fr:petrotf/3a-archi.git).

  • La brève introduction des problématiques du cours est ici Media:O1-intro.pdf
  • La suite du 1er cours portant sur le réordonnancement d'instructions (à la compilation) en vue de minimiser les gels (stalls) lors de l'exécution se trouve, sous forme de 6 slides par pages en PDF ici Media:Handouts.pdf et le même en OpenOffice Media:O1-ILP.odp ici (merci de faire un feedback si vous trouvez des bugs). Le sujet de réordonnancement d'instructions est ici Media:reord.pdf
  • Le cours sur la prédiction de branchement est ici en PDF Media:O2-BP+.pdf. Le sujet du TD associé est ici Media:Pred.pdf. Le TP de la semaine prochaine porte sur l'évaluation de prédicteurs de branchement, dont le champion toutes catégories est André Seznec de l'IRISA à Rennes (voir les résultats de la compétition internationale [2] dont nous utiliserons l'infrastructure en TP).
  • Le premier TP porte sur la simulation de prédicteurs de branchements, et utilise l'infrastructure du 5th JILP Championship Branch Prediction Competition (CBP-5). L'infrastructure, adaptée à nos besoins, est sur le gitlab de l'Ensimag git@gitlab.ensimag.fr:petrotf/3a-archi.git, sous le répertoire tp-bp. Les traces pour la simulation sont monstrueusement grosses, aussi je n'en ai mis qu'un petit sous ensemble dans le gitlab (et le temps de traitement serait dans tous les cas irréaliste pour un TP). J'ai ajouté dans l'infrastructure une série de scripts shell pour automatiser le lancement des simulations et l'analyse des résultats. Il peut être nécessaire des les adapter à votre environnement si vous travailler sur votre propre PC, car il faut en particulier perl. Une page intéressante sur l'influence des prédicteurs de branchement sur du code [3].

Pour les curieux, voici le code (plutôt compliqué par rapport à ce que nous avons fait) du prédicteur TAGE d'André Seznec Media:realistic-seznec.h

  • Les supports du cours portant sur les architectures vectorielles, le VLIW et le renommage de registres à l'aide de l'algorithme de Tomasulo sont ici: Media:03-Vector.pdf, Media:vliw.pdf et Media:02-Tomasulo.pdf
  • le petit interlude sur les failles Spectre et Meltdown est ici: Media:sm.pdf
  • Le dernier cours porte sur les Networks on Chip, voici 2 jeux de transparents qui servent de support au cours Media:Ginosar.pdf Media:NoCS-Tutorial.pdf
  • Le deuxième TP porte sur l'écriture de code SIMD à l'aide du jeu d'instruction SSE d'Intel. Le sujet est ici Media:tp-simd-sse.pdf. Les informations dont vous avez besoin concernant la manière de compiler, d'exécuter, etc, est détaillée dans le sujet, merci d'y jeter un œil attentif. Les fichiers à récupérer sont dans le git Ensimag sous tp-simd/tp2_src_etd. Nous utiliserons une vidéo que vous allez décoder en exploitant le parallelisme entre instruction (parallelisme SIMD/Vectoriel et non VLIW). Si vous voulez le faire votre PC et que c'est une brouette, demandez moi de compiler la version pour Linux32 (seuls les objets sont donnés pour la plupart des fichiers, car ce sont des sources utilisées en 1ère année, ...). Assurez vous néanmoins que votre PC supporte le SSE avant (post 1999, près de 20 ans, ça devrait le faire !).

Comme vous utiliserez les fonctions intrinsèques d'Intel implantées dans gcc, voici le pointeur sur la doc qu'Intel met à disposition en ligne (plutôt bien faite lorsque l'on sait ce qu'on cherche): [4].


Un examen clôt le cours, comme de coutume. Voici l'examen de 2012 Media:SLE-SOC-exam-2012.pdf, représentatif de ce à quoi vous pouvez vous attendre pour 2018 !

Examen 2015 : Media:SLE-SOC-exam-part-fred.pdf