2IAI2 | Architecture des Ordinateurs | Informatique - Apprentissage | S4 | ||||||
---|---|---|---|---|---|---|---|---|---|
Cours : 9 h | TD : 0 h | TP : 6 h | Projet : 0 h | Total : 15 h | |||||
Responsable : Hugo Descoubes |
Pré-requis | |
---|---|
Bases en langages procéduraux et langages compilés (idéalement langage C) Bases en outils de développement logiciel (environnement de programmation, shell Unix/Linux, makefile, chaîne de compilation) Bases en électronique et systèmes numériques (systèmes combinatoires et séquentiels, algèbre booléenne, numération, technologies numériques) |
|
Objectifs de l'enseignement | |
Découvrir l'architecture de base de tout processeur numérique travaillant autour de CPU (Central Processing Unit). Introduction à la famille des processeurs généralistes ou GPP's (General Purpose processor). | |
Programme détaillé | |
Cet enseignement doit apporter les compétences nécessaires à une bonne compréhension des architectures numériques dans le domaine des ordinateurs personnels et architectures compatibles : - Introduction aux architectures et processeurs numériques - Découverte de la famille des GPP's et illustration sur famille Intel sous système Linux - Couches basses d'une chaîne de compilation C (assembleur et éditeur de liens) - Assembleur et architecture CPU familles x86/x64 et compatibles (8086 et pipeline hardware famille Sandy bridge) - Gestion mémoire sur familles x86/x64 (segmentation, pagination, MMU ou Memory Managment Unit ...) |
|
Applications (TD ou TP) | |
Trame de Travaux Pratiques réalisée sous Linux/gcc sur architecture Intel. Cette trame a pour objectif de faire découvrir les différents mécanismes de gestion mémoire implémentés par le processeur conjointement avec la chaîne de compilation : - Assembleur x86/x64 Intel (syntaxe AT&T) - allocations statiques - allocations dynamiques (gestion d'une pile et d'un tas) - sensibilisation à l'optimisation matérielle |
|
Compétences acquises | |
- maîtriser le travail des couches basses d'une chaîne de compilation - Interpréter des fichiers assembleur - Optimiser des développements sur langages de plus haut niveau |
|
Bibliographie | |
- Architecture de l'ordinateur - Andrew Tanenbaun - Architecture des ordinateurs - jean-jacques Scharz - Architecture et technologie des ordinateurs - yves ligier, paolo zanella et emmanuel lazard - Systèmes d'exploitation - Andrew Tanenbaun - Site officiel Intel pour le développement - software.intel.com |
© 2024 - ENSICAEN ( Mentions Légales - Crédits )