Partager cette page :
Discipline(s) : Infomatique et télécommunications

Architecture des systèmes embarqués

Semestre Semestre 2
Type Facultatif
Nature UE

Pré-requis

Connaissances en architecture de machines, notions de langage machine, et programmation en langage C.

Objectifs

La mise en oeuvre d'une application sur des systèmes embarqués doit souvent satisfaire de nombreuses contraintes : obtention d'un niveau élevé de performance, faible coût unitaire et consommation électrique minimale. Afin de satisfaire toutes ces contraintes, il est souvent nécessaire d'utiliser des architectures matérielles spécialisées très complexes (programmables et/ou dédiées), qui posent de nombreux défis aux concepteurs.

L'objectif de ce cours est double :

  • D'une part présenter un panel des solutions technologies actuelles et à venir (Processeurs embarqués, DSP, FPGA, ASIC), en mettant l'accent sur les problèmes d'adéquation algorithme/architecture. On s'intéressera en particulier à l'optimisation des performances pour des architectures pipelinées, à la gestion efficace de la hiérarchie mémoire, ainsi qu'aux problèmes de communications dans les architectures multi-processeurs intégrées.
  • D'autre part présenter des modèles (SDF, GFS) et des méthodologies qui permettent d'aider le concepteur à explorer l'espace de conception. Cette partie du cours sera également l'occasion d'introduire les problèmes d'ordonnancement sous contraintes de ressources, ainsi que des techniques de résolution exacte (programmation en nombre entiers) et approchées (heuristiques).
Les travaux pratiques se feront sur des cartes de prototypage basées sur des processeurs DSP TMS320C50, et à base de circuits programmables de la société Altera.

Contenu

Notion de système embarqué
  • Exemple : le décodeur MP3
  • Traitements typiques (FIR, DCT, FFT)
  • Critères : performance, coût, consommation électrique
Modèles de calculs
  • SDF : Synchronous data-flow
  • GFS : Graphe flot de signal
Architectures dédiées
  • Technologies FPGA et ASIC
  • Transformation de GFS (Folding, Retiming)
Architectures programmables spécialisées
  • Micro-contrôleurs RISC 32 bits (NIOS, MIPS R3000)
  • Processeurs de traitement de signal (TMS320C50)
  • L'importance de la hiérarchie mémoire (cache, scratchpad)
  • Les problèmes d'ordonnancements sous contraintes de ressources

Mise à jour le 13 avril 2018