Computer Architecture

8KUADN50

ECTS2SEMESTRES8
CMTDTPEITravail personnel
7h14h0h0h14h
Langues d'enseignementFrançais par défaut, anglais sur demande


Responsable(s)

 Xavier Goaoc et Vincent Laporte

Mots clefsmicroarchitecture, circuit arithmétique, assembleur, hiérarchie mémoire, exécution spéculative, vectorisation
Prérequisnotions é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

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étiserles liens entre logiciel et matériel lors d'un calcul.
Évaluerla 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
  •  
  • Aucune étiquette