...
Computer Architecture 8KUADN50 | ECTS | 2 | SEMESTRE | S8 | |||||||||||||||||||||||||||||||
CM | TD | TP | EI | Travail personnel | |||||||||||||||||||||||||||||||
7h | 14h | 0h | 0h | 14h | |||||||||||||||||||||||||||||||
Langues d'enseignement | Français par défaut, anglais sur demande | ||||||||||||||||||||||||||||||||||
Responsable(s) | Xavier Goaoc et Vincent Laporte | ||||||||||||||||||||||||||||||||||
Mots clefs | microarchitecture, circuit arithmétique, assembleur, hiérarchie mémoire, exécution spéculative, vectorisation | ||||||||||||||||||||||||||||||||||
Prérequis | notions élémentaires de langage C | ||||||||||||||||||||||||||||||||||
Objectif pédagogique | |||||||||||||||||||||||||||||||||||
A l’issue du module, les étudiants seront en mesure d'apprécier l'impact de l'architecture matérielle sur les performances d'un calcul et d'appréhender les évolutions futures des architectures matérielles. | |||||||||||||||||||||||||||||||||||
Organisation et contenus | |||||||||||||||||||||||||||||||||||
La capacité de calcul des processeurs a progressé de manière impressionnante au cours des dernière décennies. Cette évolution repose en partie sur des progrès physiques comme l'augmentation de la densité de transistors ou de la fréquence d'horloge. Elle repose aussi en partie sur une sophistication croissante de la manière dont un processeur organise le calcul. Comprendre cette sophistication permet de mieux appréhender des problématiques récentes comme le développement du calcul sur GPU et TPU ou les failles de sécurité SPECTRE et MELTDOWN. Ce cours introduit à l'architecture des ordinateurs, plus spécifiquement des processeurs Intel, au travers de trois développements techniques importants : les hiérarchies mémoire, les prédicteurs de branchement et le parallélisme vectoriel. Ce cours fait la part belle à l'expérimentation, avec par exemple de la mesure de performance de programmes élémentaires (en C) et de l'analyse de codes assembleur produits par un compilateur C. La version courante du polycopié du cours est disponible à https://members.loria.fr/XGoaoc/teaching.html. | |||||||||||||||||||||||||||||||||||
Compétences | |||||||||||||||||||||||||||||||||||
Niveaux | Description et verbes opérationnels | ||||||||||||||||||||||||||||||||||
Connaître | le principe de fonctionnement d’un processeur. | ||||||||||||||||||||||||||||||||||
Comprendre | les mécanismes de mémoire cache et d’exécution spéculative. | ||||||||||||||||||||||||||||||||||
Appliquer | l’analyse de code compilé et le chronométrage précis de code. | ||||||||||||||||||||||||||||||||||
Analyser | les performances pratiques d’un algorithme. | ||||||||||||||||||||||||||||||||||
Synthétiser | les liens entre logiciel et matériel lors d'un calcul. | ||||||||||||||||||||||||||||||||||
Évaluer | la pertinence d’une association entre logiciel et matériel. | ||||||||||||||||||||||||||||||||||
Contributions aux Objectifs de Développement Durable des Nations Unies | |||||||||||||||||||||||||||||||||||
Modalités de contrôle des connaissances et compétences | |||||||||||||||||||||||||||||||||||
Contrôle Continu | Examen écrit | Oral / Soutenance | Rapport / Projet |
...