1I2AE1 | Architectures des Processeurs | Informatique | S2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Cours : 10.5 h | TD : 0 h | TP : 24 h | Projet : 0 h | Total : 34.5 h | |||||
Responsable : Hugo Descoubes |
Pré-requis | |
---|---|
Bases en langages procéduraux, langages compilés et 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) et aux mécanismes de gestion mémoire associés. | |
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 GNU/Linux - Couches basses d'une chaîne de compilation C (assembleur et éditeur de liens) et ABI - fichiers ELF - Assembleur et architecture CPU familles x86/x64 et compatibles (8086 et pipeline hardware d'un processeur superscalaire : famille Sandy bridge) - Gestion mémoire sur familles x86/x64 (segmentation, pagination, MMU ou Memory Managment Unit, cache ...) - Gestion des exceptions matérielles et signaux UNIX |
|
Applications (TD ou TP) | |
Trame de Travaux Pratiques réalisée sous système GNU/Linux et sur architecture Intel. Cette trame a pour objectif de faire notamment 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 et fichiers ELF - Allocations Automatiques et gestion de la pile - Allocations dynamiques et gestion du tas - Exceptions matérielles et signaux UNIX - Outils d'analyse, de profilage et benchmarking - Sensibilisation à la vectorisation de code - Gestion de la MMU (analyse de l'usage optimal des TLB's) |
|
Compétences acquises | |
- Maîtriser les méthodologies de gestion et suivi de projet durant des phases de développement logiciel. - Segmenter et maîtriser les phases de développement d'un projet en partant de spécifications imposée - Maîtriser l’écosystème matériel et logiciel lors de développements sur processeur numérique - Interpréter voir développer des programmes en assembleur - Maîtriser les techniques de communication standards internes et externes à un processeur numérique pour l'embarqué |
|
Bibliographie | |
- PIC Microcontroller - muhammad Ali Mazidi - Fundamentals of Microcontrollers and Applications in Embedded Systems with PIC - Rames Gaonkar - 50 PIC microcontrollers projects - Bert Van Dam - Microcontrôleurs PIC18 - Christian Tavernier - Applications de microcontrôleurs PIC - Christian Tavernier - Designing Embedded Systems with PIC Microcontrollers - Tim Wilshurst - Forums officiels Microchip : www.microchip.com |
© 2024 - ENSICAEN ( Mentions Légales - Crédits )