Logo ÉTS
Session
Cours
Responsable(s) Kuljeet Kaur

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Contenus traités dans le cours Nombre d'heures

Introduction

  • Mise en contexte du cours dans le programme
  • Processeurs et ses applications, principaux termes

0,5

Langage de description de haut niveau (VHDL)

  • Rappel sur les notions de base : entité et architecture, processus, signaux, variables, simulation par événements, librairies, paquetages std_logic et numeric_std, attributs, modèles de délai
  • Bancs d’essai et vérification fonctionnelle : générateurs déterministes et pseudo-aléatoires, moniteurs, modèles de référence, structures de banc d’essai, messages usager, lecture et écriture de fichiers textes et procédures surchargées, études de cas
  • VHDL pour la description de circuits numériques : circuits combinatoires (astuces, multiplexeurs, décodeurs, UAL) et circuits séquentiels (processus synchrones, registres, registres à décalage, compteurs, fichiers de registres)

5,5

Unité arithmétique et logique des processeurs

  • Représentation des nombres, conversion, précision (troncature et arrondi) et complément
  • Rappel sur les additionneurs et soustracteurs
  • Fonctionnement d’une unité arithmétique et logique

3

Introduction aux processeurs

  • Historique et évolution des technologies et des processeurs
  • Architecture et organisation des processeurs
  • Fonctionnement : interface logiciel – matériel, niveau des langages, jeu d’instructions, RISC vs CISC
  • Microcontrôleur vs microprocesseur
  • Systèmes embarqués

0,5

Jeu d’instructions - encodage

  • Types d’opérandes et d’instructions : bascule, registre et mémoire
  • Modes d’adressage
  • Formats d’instructions du processeur MIPS
  • Exemples de code : décisions, boucles itératives, tableaux
  • Caractéristiques du jeux d’instructions de principaux processeurs

3,5

Structure et fonctionnement du processeur MIPS monocycle (1 cycle par instruction)

  • Organisation interne : chemin de données, banc de registres, mémoires d’instructions et de données, chemin du compteur de programme, unité de contrôle
  • Structures d’unité de contrôle : signaux de contrôle, décodeur d’instructions

4

Évaluation mi-trimestre - Intra

3

Mesure des performances

  • Définition
  • Comparaison quantitative
  • Notions sur le CPI
  • Méthodes de mesure des performances

1

Processeurs multi-cycles

  • Introduction au pipeline : principe, performances (débit, latence), étages de traitement, diagramme du pipeline
  • Processeurs multi-cycles avec et sans pipeline
  • Unité de contrôle de processeurs multi-cycles avec pipeline
  • Unité de contrôle de processeurs multi-cycles sans pipeline : machine à états finis (circuits cablés, ROM, PLA, microprogramme, séquenceur)

7

Pipeline et parallélisme

  • Aléas de données : principe, unités de détection et d’envoi
  • Aléas de contrôle : types, pénalités, suspension, prédictions statique et dynamique
  • Parallélisme d’instructions et processeurs superscalaire : réordonnancement, renommage des registres, exécution par prédicat, spéculation
  • Retour sur les performances

4

Hiérarchie mémoire

  • Principes de la localité
  • Niveaux de cache
  • Évolution des hiérarchies mémoires
  • Types de mémoires

3

Retour sur l'unité arithmétique et logique des processeurs

  • Multiplication des nombres : architecture parallèle, et algorithmes séquentiels de multiplication de nombres signées et non signées
  • Décaleurs
  • Arithmétique à virgule flottante (norme IEEE 754)

3

Procédures, piles et passage de paramètres

  • Appel d’une procédure
  • Retour d’une procédure
  • Passage de paramètres : registre et pointeur de pile
  • Récursivité
  • Exemple d’application

1

Total

39

 

Laboratoires et travaux pratiques

Projet Description Nombre de semaines
P1 Conception et vérification fonctionnelle d’une unité arithmétique et logique en VHDL 4
P2 Conception d’un processeur MIPS 1 cycle/instruction 5
P3 Conception d’un processeur MIPS avec pipeline 3
  Total 12

Utilisation d'outils d'ingénierie

Indissociable du cours et du laboratoire. Utilisation du logiciel de simulation ModelSim de Siemens et de l'outil de conception sur FPGA Quartus d'Intel.