La théorie d’Automates et Langages, la conception de parsers et des compilateurs. Une ouverture vers la génération de code automatique sera abordée.
Les basses de l’informatique quantique seront abordées.
L’architecture matérielle pour systèmes informatiques (processeur avec tous ses aspects : pipeline, aléas de branchement, unité de prédiction de branchement, DMA, MMU (pagination et segmentation), aléas de données, multicœurs), le langage VHDL de conception matérielle, les FPGA, les concepts de reconfigurable computing ainsi que les GPU vont être étudiés en détail et approfondis.
Les technologies pour green computing and green software seront étudiés pour un développement durable de futur systèmes informatiques
Durant le Projet systèmes informatiques les étudiants vont développer un compilateur et l’architecture processeur associé. Ils optimiseront leur système informatique par rapport à différents critères, soit la très faible consommation dans le cas d’un système embarqué ou pour un développement durable, soit du point de vue sécurité.
Objectifs
A la fin de ce module, l'étudiant devra avoir compris et pourra expliquer (principaux concepts) :
- Les différents types d'automates, la théorie des langages, parseurs, compilateurs ;
- Fonctionnement et développement d'un compilateur, gestion de la mémoire ;
- introduction à l'informatique quantique
- Spécification des architectures matérielles dans un langage haut niveau ;
- Prise en compte des contraintes matérielles spécifiques aux systèmes embarqués à ressources limitées (mémoire, énergie).
- conception des architectures logicielles et matérielles faible consommation pour le développement durable (technologies pour green computing, green software)
L'étudiant devra être capable de :
- Créer des parseurs et des compilateurs en prenant en compte l'environnement de développement de l'application (embarqué ou non).
- Comprendre et maîtriser les architectures des processeurs
- Sélectionner une architecture processeur adaptée à l'application logicielle et à l'environnement.
- Spécifier un système informatique matériel dans un langage concurrent (VHDL) et implémenter son système dans un FPGA
Pré-requis
Programmation en C, architecture matérielle
Évaluation
L’évaluation des acquis d’apprentissage est réalisée en continu tout le long du semestre. En fonction des enseignements, elle peut prendre différentes formes : examen écrit, oral, compte-rendu, rapport écrit, évaluation par les pairs…