Fiche de révision : Systèmes à microprocesseur et DSP

Plan du Cours

  1. Objectifs et évaluation d’IF40
  2. Histoire des microprocesseurs
  3. Systèmes de numération
  4. Structure matérielle des systèmes
  5. Architecture et fonctionnement du microprocesseur
  6. Conception d’un programme exécutable
  7. Architecture du DSP TMS320F28335
  8. Fondamentaux du langage C
  9. Architecture et registres du DSP
  10. Origine et caractéristiques du C
  11. Compilation et préprocesseur
  12. Variables et opérateurs en C
  13. Conditions et boucles
  14. Fonctions, paramètres et pointeurs
  15. Techniques usuelles sur les tableaux

Repères chronologiques

  1. 1847Boole formalise la représentation binaire et l’algèbre de Boole
  2. 1936Turing développe la théorie du calcul et la machine de Turing
  3. 1945Von Neumann propose l’architecture de référence des ordinateurs
  4. 1947Naît le premier transistor, présenté par Schokley, Bartain et Bradeen
  5. 1958Naît le premier circuit intégré
  6. 1971Intel et Busicom créent le 4004, premier microprocesseur intégré sur un seul circuit, destiné aux calculatrices
  7. 1972Le langage C naît dans les laboratoires de Bell Telephone, associés à AT&T, à partir des travaux de Brian

1. Objectifs et évaluation d’IF40

Notions clés & Définitions

  • Objectifs d’IF40 : Les objectifs d’IF40 sont de développer les compétences nécessaires à la pratique des systèmes à microprocesseur, microcontrôleur et DSP, et de maîtriser la mise en œuvre des microcontrôleurs dans les applications de contrôle du génie électrique.

★ À maîtriser

  • 🔄 La chaîne de traitement du signal suit les étapes suivantes:

    1. Capteur
    2. Filtrage
    3. Interface DSP
    4. Interface de commande
    5. Sortie moteur
  • Les compétences évaluées comprennent l’utilisation de la documentation du DSP, la programmation des registres des périphériques GPIO, de conversion analogique-numérique et ePWM, ainsi que la conception d’un organigramme et d’un programme en langage C.

Compléments

  • Le TMS320F28335 est utilisé pour commander les variateurs de vitesse de machines tournantes dans des applications de contrôle de mouvement électromécanique.

2. Histoire des microprocesseurs

Points essentiels

  • La loi de Moore énonce que la miniaturisation permet de placer deux fois plus de transistors dans un circuit intégré de même taille tous les 18 mois.

Astuce mémo

Boole → Turing → Von Neumann → transistor → circuit intégré → microprocesseur

3. Systèmes de numération

Notions clés & Définitions

  • Système de numération : Un système de numération en base B représente un nombre par des chiffres ak associés aux puissances B^k de la base.

★ À maîtriser

📐 Formule — La valeur d’un nombre en base B est donnée par N(B)=∑k=0n−1akBkN_{(B)}=\sum_{k=0}^{n-1}a_kB^k.

  • En base décimale, B vaut 10 et, avec n chiffres, on peut représenter les nombres de 0 à 10^n−1.

  • En base binaire, B vaut 2 et les seuls chiffres utilisés sont 0 et 1 ; chaque chiffre est un bit.

  • En base hexadécimale, B vaut 16 et les chiffres vont de 0 à 9 puis de A à F ; chaque chiffre hexadécimal correspond à un quartet binaire.

  • Pour convertir un nombre décimal vers une base B par divisions successives, on divise successivement le nombre par B et on lit les restes dans l’ordre inverse.

📌 Pour représenter un entier négatif en complément à 2, on inverse les bits de sa valeur binaire positive puis on ajoute 1.

Compléments

  • Les principales unités sont:

    • Un octet contient 8 bits
    • Un quartet contient 4 bits
    • Un kibioctet contient 1024 octets
    • Un mébioctet contient 1 048 576 octets
    • Un gibioctet contient 1 073 741 824 octets
  • Les opérations logiques sont:

    • NON
    • OU
    • ET
    • OU exclusif

Astuce mémo

Binaire pour les machines, hexadécimal pour représenter rapidement le binaire

4. Structure matérielle des systèmes

Notions clés & Définitions

  • Système minimum : Un système minimum associe une unité centrale contenant le microprocesseur, une mémoire principale comprenant une mémoire de programme et une mémoire de données, ainsi qu’un ou plusieurs périphériques.
  • Bus de données : Le bus de données transporte les données entre le microprocesseur et son environnement dans les deux sens.
  • Bus de contrôle : Le bus de contrôle transporte les signaux de synchronisation et définit le sens des transferts, notamment avec les signaux RD pour la lecture et WR pour l’écriture.

★ À maîtriser

📌 Dans l’architecture de Von Neumann, le programme et les données partagent un espace mémoire, tandis que dans l’architecture Harvard ils occupent des espaces distincts.

Compléments

  • Un bus d’adresses de 16 lignes permet d’adresser 2^16, soit 65536 adresses.

📌 Lorsqu’un composant n’est pas sélectionné, ses sorties sont placées en haute impédance afin de ne pas perturber les données présentes sur le bus.

Astuce mémo

Un système minimum comme une machine reliée par trois autoroutes : données, adresses et contrôle

5. Architecture et fonctionnement du microprocesseur

Notions clés & Définitions

  • Unité de commande : L’unité de commande séquence le déroulement des instructions à l’aide du compteur de programme, du registre et décodeur d’instruction, du bloc logique de commande et de l’horloge.
  • Unité de traitement : L’unité de traitement regroupe l’unité arithmétique et logique, l’accumulateur et les registres d’état contenant les indicateurs du résultat des opérations.

Points essentiels

  • Le cycle d’instruction comprend le chargement, le décodage, l’exécution séquentielle et la sauvegarde des résultats.

📌 Une architecture CISC utilise des instructions complexes, tandis qu’une architecture RISC utilise des instructions simples exécutées en très peu de cycles.

Astuce mémo

Charger → décoder → exécuter → sauvegarder

6. Conception d’un programme exécutable

Notions clés & Définitions

  • Compilateur : Un compilateur traduit un programme source en programme objet, généralement dans un langage machine intermédiaire.
  • Éditeur de liens : L’éditeur de liens assigne une adresse aux objets des modules et construit le fichier exécutable.

★ À maîtriser

  • Les principales sections sont:
    • .text : code exécutable
    • .data : données préinitialisées
    • .bss : données non initialisées

Compléments

  • Lorsque les outils de compilation sont exécutés sur un processeur différent du processeur cible, ils sont appelés cross-compilateur ou cross-assembleur.

Astuce mémo

Compiler → assembler → lier → produire l’exécutable

7. Architecture du DSP TMS320F28335

Notions clés & Définitions

  • Unité centrale : L’unité centrale minimale du TMS320F28335 comprend une UAL, un accumulateur, un compteur de programme, un pointeur de pile, des registres pointeurs et des registres d’indicateurs.

★ À maîtriser

  • L’architecture mémoire du TMS320F28335 sépare les zones Program, Data et I/O.

  • Le TMS320F28335 ajoute à la structure minimale un multiplieur, des registres à décalage et des registres auxiliaires permettant notamment le parallélisme et l’adressage indirect.

Compléments

  • La zone Program du TMS320F28335 est réservée au code machine et possède une capacité de 4096 kmots.

  • La zone Data contient 4 194 303 mots de 16 bits et comprend la mémoire RAM ainsi que les périphériques internes accessibles par des registres de pilotage.

  • Le DSP possède au total 6 bus internes dédiés aux lectures et écritures du programme et des données.

Astuce mémo

Harvard : programme, données et entrées-sorties occupent des espaces distincts

8. Fondamentaux du langage C

Notions clés & Définitions

  • Langage C : Le langage C est un langage de haut niveau qui conserve une possibilité de contrôle du matériel et permet notamment d’inclure des instructions assembleur.

Points essentiels

  • Le langage C est à la base des systèmes UNIX, dont Linux et Mac OS, ainsi que de Windows.

  • Le langage C et le langage C++ sont deux langages similaires et toujours très utilisés, le C++ ajoutant notamment une autre manière de programmer.

Astuce mémo

Haut niveau pour programmer, proche du matériel pour piloter

9. Architecture et registres du DSP

Points essentiels

  • Le DSP possède six bus internes, comprenant notamment un bus de lecture du programme, des bus de données et des bus dédiés aux lectures et aux écritures.

  • Le décalage à gauche sert, avec des bus de 16 bits, à charger la partie haute d'une donnée au format 32 bits.

  • Les registres auxiliaires servent à accéder aux adressages indirects en assembleur et aux pointeurs en langage C.

10. Origine et caractéristiques du C

★ À maîtriser

📌 Le langage C est un langage de haut niveau qui reste proche du matériel, tandis qu'un langage de bas niveau est plus difficile à utiliser mais permet un contrôle plus direct du microprocesseur.

Compléments

  • Le langage C est à la base des systèmes UNIX, Linux, Mac OS et Windows, et permet même d'inclure des instructions assembleur.

📌 Le langage C++ est très similaire au langage C, mais il ajoute notamment une autre manière de programmer.

Astuce mémo

Haut niveau = facilité et portabilité ; bas niveau = contrôle du matériel

11. Compilation et préprocesseur

Notions clés & Définitions

  • Directive #include : insère dans le fichier source le contenu de fichiers d'en-tête .h contenant notamment des prototypes de fonctions
  • Directive #define : La directive #define remplace un nom par une valeur dans le code source et peut aussi définir une macro.

★ À maîtriser

  • 🔄 La création d'un exécutable suit ces étapes: édition des fichiers source, prétraitement par le préprocesseur, compilation en fichiers objets, assemblage par le linker avec les bibliothèques

Compléments

  • Un IDE contient généralement:
    • un éditeur de texte
    • un compilateur
    • un débogueur

📌 Les commentaires sur une ligne commencent par //, tandis que les commentaires multilignes sont délimités par /* et */ et ne peuvent pas être imbriqués.

Astuce mémo

Préprocesseur → compilateur → linker → exécutable

12. Variables et opérateurs en C

Notions clés & Définitions

  • Variable : une valeur stockée à une adresse mémoire et identifiée par un nom

★ À maîtriser

📌 Les noms de variables peuvent contenir des lettres, des chiffres et le caractère underscore, mais pas d'accents ni de mots réservés, et le langage C distingue les majuscules des minuscules.

  • Les types de base présentés sont:
    • char
    • int
    • long
    • float
    • double

📌 Un tableau déclaré int tableau[taille] contient taille cases contiguës indexées de 0 à taille-1, et son dernier élément est tableau[taille-1].

📌 En C, une valeur nulle est fausse et une valeur non nulle est vraie dans les conditions.

Compléments

📐 Formule — Le modulo a donne le reste de la division de a par b : r=a%br = a \mathbin{\%} b.

Astuce mémo

= affecte une valeur, == compare deux valeurs

13. Conditions et boucles

Notions clés & Définitions

  • Structure switch : permet de sélectionner une branche parmi plusieurs cas et constitue une alternative à une succession répétitive de if else
  • Boucle while : La boucle while répète des instructions tant que sa condition est vraie et peut ne jamais être exécutée si la condition est fausse au départ.

Points essentiels

📌 L'opérateur == teste l'égalité, tandis que l'opérateur = affecte la valeur de droite à la variable de gauche.

  • Une structure if exécute une instruction si une condition est vraie, éventuellement une autre avec else, et peut enchaîner un nouveau test avec else if.

📌 La boucle do-while exécute son corps avant de tester la condition, tandis que la boucle while teste la condition avant toute exécution.

  • La boucle for regroupe une initialisation, une condition et une incrémentation dans sa structure for (initialisation ; condition ; incrémentation).

Astuce mémo

Tester avec if/switch, puis répéter avec while/do-while/for

14. Fonctions, paramètres et pointeurs

Notions clés & Définitions

  • Fonction : déclarée avec un type de retour, un nom et des paramètres représentant les valeurs avec lesquelles elle travaille
  • Pointeur : une variable qui contient l'adresse mémoire d'une autre variable et se déclare en ajoutant * devant son nom

★ À maîtriser

  • Une fonction ne peut renvoyer qu'une seule valeur à la fois, et l'instruction return arrête son exécution.

  • La transmission par valeur recopie les paramètres dans la fonction, tandis que la transmission d'adresses par pointeurs permet de modifier directement les variables du programme appelant.

  • Pour une variable A, A désigne sa valeur, &A son adresse, pointeurA la valeur du pointeur et *pointeurA la valeur de la variable située à cette adresse.

Compléments

  • Un pointeur sur un pointeur sur int se déclare avec le type int**.

Astuce mémo

A = valeur, &A = adresse, *p = valeur pointée

15. Techniques usuelles sur les tableaux

Points essentiels

  • Le remplissage d'un tableau de mesures consiste à appeler conversionADC pour produire 50 valeurs positives codées sur 10 bits et à les stocker dans le tableau mesures.

  • Le calcul d'une moyenne consiste à additionner les 50 valeurs du tableau mesures puis à renvoyer la valeur moyenne dans une variable du programme principal.

  • La recherche des extrêmes consiste à parcourir le tableau mesures pour renvoyer séparément sa valeur minimale et sa valeur maximale.

Tableaux de synthèse

Mémoire et bus

ÉlémentRôleCaractéristique
ROMStocker le programmeConserve son contenu hors alimentation
RAMStocker les données et le programme machineLecture et écriture, données volatiles
Bus de donnéesTransporter les donnéesBidirectionnel
Bus d’adressesTransporter les adresses16 lignes : 65536 adresses
Bus de contrôleSynchroniser et définir le transfertRD, WR et sélection des circuits

Teste tes connaissances

Teste tes connaissances sur Systèmes à microprocesseur et DSP avec 48 questions à choix multiples et corrections détaillées.

1. Quels objectifs caractérisent principalement l’enseignement d’IF40 ?

2. Dans quelle séquence la chaîne de traitement du signal est-elle organisée ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Systèmes à microprocesseur et DSP avec 80 flashcards interactives.

Quels sont les objectifs d'IF40 ?

Développer les compétences pour systèmes microprocesseur, microcontrôleur et DSP.

Quel microcontrôleur est maîtrisé dans les applications de contrôle du génie électrique ?

Le microcontrôleur est maîtrisé dans les applications de contrôle du génie électrique.

Pour quoi est utilisé le TMS320F28335 ?

Pour commander les variateurs de vitesse de machines tournantes.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches