359 | Architecture des ordinateurs | Génie physique et systèmes embarqués (formation initiale sous statut étudiant) | S7 | ||||||
---|---|---|---|---|---|---|---|---|---|
Cours : 6 h | TD : 0 h | TP : 14 h | Projet : 0 h | Total : 20 h | |||||
Responsable : Dimitri Boudier |
Pré-requis | |
---|---|
- Bases en langage C (langage procéduraux, etc) - Bases en outils de développement logiciel (environnement de programmation, shell UNIX, Makefile, chaîne de compilation, etc) - Bases en systèmes numériques (systèmes combinatoires et séquentiels, algèbre booléenne, numération, etc) |
|
Objectifs de l'enseignement | |
- Comprendre l'architecture générique et le fonctionnement d'un ordinateur - Comprendre l'architecture générique et le fonctionnement d'un GPP (General Purpose Processor) - Comprendre le fonctionnement et rôles du cache processeur et de la PMMU (Paged Memory Management Unit) - Comprendre le processus de compilation et d'édition des liens - Comprendre les modes d'adressages, ainsi que les modes d'allocation mémoire et segmentations logiques associées - Analyser le contenu d'une pile logicielle suite à une trace d'exécution et le contenu d'un fichier binaire ELF (Editable Linkable File) - Analyser un programme assembleur |
|
Programme détaillé | |
https://foad.ensicaen.fr/course/view.php?id=696 En cours (illustration sur architecture x86/x64 et système UNIX-like GNULinux) : - Fonctionnement d'un CPU et introduction au domaine - Hétérogénéité des architectures de processeurs - Processus de compilation et d'édition des liens - Fichier binaire et format ELF - Fonctionnement d'un cache processeur - Fonctionnement de la PMMU ou unité de pagination En TP (analyse seulement, sur architecture x86/x64 sous GNULinux et GCC) : - Compilation et édition des liens - Allocation automatique et gestion de la pile - Allocation statique et fichier ELF - Allocation dynamique et gestion du tas - Exception matérielle et signal UNIX - Table des partitions et systèmes de fichiers |
|
Applications (TD ou TP) | |
trame d'analyse de programmes C élémentaires Outils matériel et logiciel : - Ordinateur x86/x64 (GPP et chipset Intel) - Système d'exploitation UNIX-like GNULinux (Ubuntu) - Toolchain GCC et shell UNIX |
|
Compétences acquises | |
COMPETENCES SPECIFIQUES - Comprendre l'architecture générique et le fonctionnement d'un ordinateur - Comprendre l'architecture générique d'un GPP (General Purpose Processor) - Comprendre le fonctionnement et rôles du cache processeur et de la PMMU (Paged Memory Management Unit) - Comprendre le processus de compilation et d'édition des liens - Comprendre les modes d'adressages, ainsi que les modes d'allocation mémoire et segmentations logiques associées - Analyser le contenu d'une pile logicielle suite à une trace d'exécution et le contenu d'un fichier binaire ELF (Editable Linkable File) - Analyser un programme assembleur COMPETENCES GENERIQUES Bloc compétence : Acquisition de connaissances et méthodes scientifiques et techniques et maîtrise de leur mise en oeuvre -> Niveau 1 de Capacité à mobiliser des connaissances scientifiques et des techniques expérimentales ou de simulation |
|
Bibliographie | |
LANGAGE C : The C Programming Language – Kernighan et Ritchie ARCHITECTURE PROCESSEUR : Architecture de l'ordinateur - Tanenbaun OUTILS : https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.pdf |
© 2024 - ENSICAEN ( Mentions Légales - Crédits )