Université Lyon 1
Arqus
Accueil  >>  Protection des calculs
  • Unité d'enseignement : Protection des calculs
Nombre de crédits de l'UE : 3
Code APOGEE : ACT2221M
    Responsabilité de l'UE :
CARON EDDY
 eddy.caronuniv-lyon1.fr
    Type d'enseignement
Nb heures *
Cours Magistraux (CM)
30 h

* Ces horaires sont donnés à titre indicatif.

    Pré-requis :

Bases en algorithmique et analyse de complexité, bases d'algèbre, linéaire essentiellement.

    Compétences attestées (transversales, spécifiques) :
Non rédigé
    Programme de l'UE / Thématiques abordées :

L'objectif de ce cours est de souligner l'importance de la fiabilité des calculs. L'exactitude des calculs n'est pas systématique lorsque ceux-ci sont effectués sur des ordinateurs qui, par nature, manipulent des nombres qui sont des « approximations » des nombres réels. Les erreurs de calculs doivent donc être estimées, voire maîtrisées.

Pour comprendre comment sont effectués les calculs sur un ordinateur, une première partie du cours concernera leur architecture puis la représentation des données et l'arithmétique flottante. Elle abordera les bases de l'architecture des ordinateurs, en se basant simplement sur le modèle de Von Neumann, et la manière dont les programmes et les données peuvent être représentés en mémoire. On ne rentrera pas dans le détail des jeux d'instructions complexes, comme le x86 : on travaillera uniquement à l'aide d'un jeu d'instructions simplifié, mais qui permettra tout de même par la suite aux étudiants de comprendre d'autres jeux d'instructions. On présentera ensuite les idées architecturales existantes pour accélérer l'exécution des programmes sur les machines généralistes : hiérarchie mémoire, niveaux de cache et localité des données, parallélisme d'instructions et de données.

Le cours montrera comment l'arithmétique flottante réelle est spécifiée par les différentes normes, comment, en tenant compte des spécifications, elle peut être manipulée de manière fiable malgré les difficultés (erreurs d'arrondi, cancellations, exceptions…) et comment certaines opérations et fonctions sont implémentées.

La seconde partie abordera le calcul numérique utilisant cette arithmétique flottante. Divers algorithmes seront présentés, accompagnés d'étude de convergence, d'analyse d'erreurs et de suggestions d'amélioration en termes de performances. L'algèbre linéaire sera le principal axe d'exploration, et plusieurs exemples illustreront ces problématiques d'analyse des erreurs, notamment en statistiques (analyse en composante principale).

Enfin, la dernière partie du cours abordera l'aspect symbolique du calcul sur différents objets (grands entiers, polynômes, matrices). Cette fois, le calcul est exact, et l'accent est mis sur l'efficacité des algorithmes, en particulier ceux qui sont largement utilisés en cryptographie.

    Parcours / Spécialité / Filière / Option utilisant cette UE :
Date de la dernière mise-à-jour : 14/06/2018
SELECT MEN_ID, `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`, `PAR_ID` FROM parcours INNER JOIN ue_parcours ON PAR_ID_FK=PAR_ID INNER JOIN mention ON MEN_ID = PAR_MENTION_FK WHERE PAR_ACTIVATE = 0 AND UE_ID_FK='18062' ORDER BY `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`