Accueil - Connexion

Architecture des ordinateurs

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 )