InfoS8AC - Computer Architecture

Computer Architecture

Responsable : Xavier GOAOC, Professeur

xavier.goaoc@univ-lorraine.fr

Durée du module : 21 heures

Crédits ECTS : 2

Objectif général :

introduire à l'architecture moderne des ordinateurs et permettre d'appréhender les évolutions futures

Programme et Contenu :

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 traitement des données. Comprendre cette sophistication permet de mieux appréhender des problématiques actuelles 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 en TP, 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.

Niveau requis

  • aisance en programmation C

Niveau à atteindre

  • bonne compréhension des mécanismes de mémoire cache et d'exécution spéculative

  • pouvoir comprendre les performances pratiques d'un algorithme

  • pouvoir appréhender les futures évolutions d'architecture

Modalité d'évaluation

  • examen final + contrôle continu en séance de TD/TP