UE Architecture des processeurs et micro-contrôleurs SEOC - 4PUIAPMC

Informations générales

  • Volumes horaires

    • CM 10.0
    • Projet 0
    • TD 6.0
    • Stage 0
    • TP 26.0

    Crédits ECTS

    Crédits ECTS 4.0

Objectif(s)

Cette UE a pour objectif de permettre une compréhension fine des liens entre matériel et logiciel dans les systèmes embarqués, pour une programmation efficace d'applications déployées sur FPGA ou microcontrôleurs.

Contact Jonathan MIQUEL, Mounir BENABDENBI

Contenu(s)

La partie Cours et TD sera centralisée sur l'architecture du processeur et la hiérarchie mémoire, elle permettra entre autres:

  • de faire un état de l'art des grandes familles de processeur et leurs architectures
  • d'expliquer les notions de pipeline et de prédiction de branchement dans un processeur
  • d'expliquer la hiérarchie mémoire et son impact sur les performances du système
  • de donner une vue synthétique des types de µC et de leur utilisation.
    Les exemples en CM et TDs s'appuieront sur un processeur avec jeu d'instruction RISC V.

Une série de TPs et un mini projet viennent compléter la partie théorique avec la mise en oeuvre pratique des notions vues précédemment.
Les TPs s'appuieront sur la plateforme de simulation et conception conjointe matériel/logiciel Rocket Chip développée à l'université de Berkeley. Cette plateforme est utilisée ici pour simuler l'execution du logiciel (C et assembleur, sans OS, en bare metal) sur l'architecture d'un système articulé autour d'un processeur Rocket (RISCV). Ces TPs permettront entre autres de renforcer les notions et compétences suivantes:

  • cross-compilation, édition de liens, utilisation d'outils de debug (gdb)
  • gestion d'événements (exceptions, interruptions, appels systèmes) sur un embryon d'OS
  • mise en oeuvre des interruptions pour faire de la commutation de taches pour une architecture monoprocesseur
  • intégration dans le système matériel d'un nouveau périphérique dédié (décrit en langage verilog) et pilotage logiciel de ce périphérique (notion de HAL)
  • Impact des choix d'architecture des mémoires caches sur les performances d'un programme, mesure des taux de succès et d'échecs

    Dans le cadre d'un miniprojet, une application de classification d'images, basée sur l'exécution d'un CNN (Convolutional Neural Network), sera déployée sur carte FPGA. Ce démonstrateur permettra de mettre en oeuvre et visualiser concrètement sur un dispositif physique certaines notions vues en cours et en TPs


Prérequis
  • Programmation C (basique)
  • Cours de 1A Ordinateur et microprocesseurs

Contrôle des connaissances

Session 1 :
Types d'évaluations: Examen écrit surveillé (DS) + CC (CRs TPs + CR BE )

*Évaluation rattrapable :
Type d'évaluation : DS
Durée : 2h00
Documents autorisés : Feuille A4 Recto-Verso manuscrite autorisée
Calculatrice : Réglementaire Phelma
Possible en distanciel : Non

*Évaluation non rattrapable :
Type d'évaluation : CC

SESSION 2 :
Types d'évaluation : DS écrit
Durée : 2h00
Documents autorisés : Feuille A4 Recto-Verso manuscrite autorisée
Calculatrice : Règlementaire Phelma
Possible en distanciel : Non



Informations complémentaires

Cursus ingénieur->Filière SEOC->Semestre 7

Bibliographie

Book: Computer Architecture, Edition 7, A Quantitative Approach, By John L. Hennessy, David A. Patterson and Christos Kozyrakis