I.
Faculté des sciences-Kenitra
Filière : Master en systèmes de télécommunications.
Intitulé :
Réalisé par
[Link] Chahd.
[Link] Brahim.
Mr. MAZOZ Youssef.
[Link] Ayoub.
[Link] Nabil.
Année Universitaire : 2023/2024
Tables des matières
Table of Contents
II. ARI.......................................................................................................................................... 2
A. Définition :.......................................................................................................................... 2
0
Faculté des sciences-Kenitra
Filière : Master en systèmes de télécommunications.
Intitulé :
Réalisé par
[Link] Chahd.
[Link] Brahim.
Mr. MAZOZ Youssef.
[Link] Ayoub.
[Link] Nabil.
Année Universitaire : 2023/2024
0
1
Tables des matières
II. Table of Contents
II. ARI.......................................................................................................................................... 3
A. Définition :.......................................................................................................................... 3
B. Rôle :................................................................................................................................... 4
III. Le pointeur de pile :................................................................................................................4
A. Définition :.......................................................................................................................... 4
B. Les utilités du pointeur de pile :..........................................................................................4
IV. Utilités du pointeur en language C :.......................................................................................5
V. Buffer linéaire et circulaire en Traitement du signal :.............................................................5
A. Buffer linéaire :....................................................................................................................5
1. Définition :................................................................................................................5
2. Avantages :...............................................................................................................5
3. Inconvénients :.........................................................................................................6
B. Buffer Circulaire :................................................................................................................ 6
1. Définition :...............................................................................................................6
2. Avantages :...............................................................................................................6
3. Inconvénients :.........................................................................................................6
VI. Bites de Gard.......................................................................................................................... 7
A. Rôle dans un Registre d'Accumulation :..............................................................................7
VII. Multiplexage temporelle et fréquentielle...............................................................................8
A. Multiplexage Temporel (TDM) :..........................................................................................8
1. Principe :.................................................................................................................. 8
B. Multiplexage Fréquentiel (FDM) :.......................................................................................8
1. Principe :.................................................................................................................. 8
C. Conclusion :.........................................................................................................................9
VIII. Le registre MMR :................................................................................................................... 9
IX. Le scratchpad ou registre de travail......................................................................................10
2
X. Fonctionnalité du TMS320C6713..........................................................................................11
A. Composants du Schéma....................................................................................................12
1. Cœur du Processeur de Signal Numérique (DSP) :.................................................12
2. Contrôleur DMA Amélioré (EDMA) :......................................................................13
3. Interface Mémoire Externe (EMIF) :.......................................................................13
4. Périphériques :.......................................................................................................13
5. Logique de Contrôle et d'Interruption :..................................................................13
6. Générateur d'Horloge et PLL :................................................................................13
B. Interprétation de la Fonctionnalité :.................................................................................14
III. ARI
A. Définition :
Le registre d'adressage indirect (ARI) est un registre utilisé dans les processeurs de signal
numérique (DSP) pour accéder à la mémoire en stockant des adresses plutôt que des données,
facilitant ainsi des opérations efficaces sur de grands ensembles de données.
B. Rôle :
Le registre d'adressage indirect (ARI) permet aux processeurs de signal numérique (DSP)
d'accéder rapidement et efficacement à la mémoire en utilisant des adresses stockées. Cela
optimise les opérations sur les données nécessaires pour le traitement du signal, telles que le
filtrage, en améliorant la flexibilité et la rapidité des accès mémoire, essentielles pour les
applications en temps réel.
3
IV. Le pointeur de pile :
A. Définition :
1. Pile :
La pile est une zone de mémoire utilisée pour stocker des données temporaires telles que les
adresses de retour, les variables locales, et les paramètres de fonctions.
2. Pointeur de pile :
Le pointeur de pile (SP) est un registre qui indique l'adresse du sommet de la pile, gérant
ainsi les appels de fonction, les retours et le stockage temporaire des données.
B. Les utilités du pointeur de pile :
A. Gestion des appels de fonction : Stocke les adresses de retour lors des appels de
fonction.
B. Stockage des variables locales : Gère les variables locales et les paramètres des
fonctions.
C. Retour de fonction : Permet de récupérer l'adresse de retour pour continuer l'exécution
du programme.
D. Stockage temporaire : Utilisé pour stocker temporairement des données lors de calculs
complexes.
E. Gestion de la mémoire : Facilite l'allocation et la libération de mémoire de manière
ordonnée.
V. Utilités du pointeur en language C :
En langage C, un pointeur est une variable qui stocke l'adresse mémoire d'une autre
variable. Les pointeurs sont utilisés pour :
Accéder directement à la mémoire.
Manipuler des tableaux et des structures de données de manière efficace.
Passer des arguments par référence aux fonctions.
4
Allouer et libérer dynamiquement de la mémoire.
VI. Buffer linéaire et circulaire en Traitement du signal :
A. Buffer linéaire :
1. Définition :
Un buffer linéaire est une zone de mémoire continue utilisée pour stocker une
séquence de données de manière séquentielle, avec une taille fixe.
2. Avantages :
Simplicité d'implémentation et de gestion.
Facile à comprendre et à utiliser pour les opérations de lecture et d'écriture..
3. Inconvénients :
Peut entraîner une fragmentation de la mémoire si la taille du buffer est mal
dimensionnée.
Nécessite une réallocation ou un déplacement des données lorsque le buffer est
plein, ce qui peut réduire les performances.
B. Buffer Circulaire :
1. Définition :
Un buffer circulaire, ou anneau, est une zone de mémoire où les positions de
début et de fin sont connectées, permettant de réutiliser l'espace mémoire de manière
continue.
2. Avantages : 5
Utilisation efficace de la mémoire, évitant la fragmentation.
Pas besoin de réallocation ou de déplacement des données, ce qui est idéal pour les
applications en temps réel.
Maintient une performance constante pour les opérations de lecture et d'écriture.
3. Inconvénients :
Plus complexe à implémenter et à gérer.
Nécessite une gestion soignée des pointeurs de tête et de queue pour éviter les erreurs
de chevauchement ou de perte de données.
================================ PAUSE =================================
VII. Bites de Gard
Les bits de garde jouent un rôle important dans les registres d'accumulation,
notamment dans les systèmes de traitement numérique du signal (DSP).
A. Rôle dans un Registre d'Accumulation :
a) Prévention des Débordements :
Les bits de garde sont des bits supplémentaires ajoutés au registre
d'accumulation pour prévenir les débordements lorsque les résultats des calculs
dépassent la plage de valeurs que le registre peut normalement représenter.
Sans ces bits, les valeurs accumulées pourraient entraîner des erreurs de
débordement, corrompant ainsi les résultats des calculs.
b) Amélioration de la Précision :
En fournissant des bits supplémentaires, les bits de garde permettent de
capturer les bits moins significatifs des résultats intermédiaires. Cela améliore la
précision des calculs, en particulier lors des opérations arithmétiques impliquant des
accumulations successives.
c) Gestion des Calculs en Virgule Fixe :
6
Dans les systèmes à virgule fixe, les bits de garde sont particulièrement utiles car
ils permettent de manipuler des valeurs avec une plage dynamique plus large sans
perdre de précision ni provoquer des erreurs de débordement.
d) Réduction des Erreurs d'Arrondi :
Les bits de garde peuvent aider à minimiser les erreurs d'arrondi qui surviennent
lors des opérations arithmétiques. Ces erreurs peuvent s'accumuler et affecter la
précision globale des calculs.
[Link] temporelle et fréquentielle
A. Multiplexage Temporel (TDM) :
1. Principe :
Dans le multiplexage temporel, le temps est divisé en intervalles ou slots, et
chaque signal est transmis dans son propre intervalle de temps. Les différents signaux
partagent ainsi le même canal, mais à des moments différents.
Chaque utilisateur ou source de données reçoit un intervalle de temps
périodique pour transmettre ses données.
B. Multiplexage Fréquentiel (FDM) :
1. Principe :
Dans le multiplexage fréquentiel, le canal de communication est divisé en
plusieurs bandes de fréquences distinctes, et chaque signal est transmis sur sa propre
bande de fréquence.
Les différents signaux partagent ainsi le même canal en utilisant des fréquences
différentes en même temps.
7
Caractéristique TDM (Time Division FDM (Frequency Division
Multiplexing) Multiplexing)
Principe Partage du temps Partage de fréquence
Transmission des Séquentielle (différents Parallèle (différentes bandes
Signaux intervalles de temps) de fréquence)
Synchronisation Nécessaire Pas nécessaire
Besoins en Moins de largeur de bande Plus de largeur de bande requise
Largeur de requise
Bande
Complexité de Moins complexe (mais nécessite Plus complexe (en raison de la
l'Équipement une synchronisation précise) nécessité de filtres)
Utilisation Téléphonie numérique, réseaux Radiodiffusion, télévision, systèmes
Typique synchrones satellites
C. Conclusion :
Le choix entre TDM et FDM dépend des exigences spécifiques du système de
communication. TDM est plus adapté aux environnements où les transmissions peuvent être
synchronisées et où la largeur de bande est limitée. FDM, en revanche, est préférable lorsque la
largeur de bande est suffisamment large pour permettre la transmission simultanée de
plusieurs signaux sur différentes fréquences.
IX. Le registre MMR :
Dans le Traitement du Signal Numérique (DSP), MMR signifie généralement Memory Map
Register (Registre de Cartographie Mémoire). C'est un registre qui représente les différents
périphériques ou emplacements mémoire dans un processeur de signal numérique. Le Registre
de Cartographie Mémoire est nécessaire pour avoir un système dans lequel la mémoire peut
être organisée et accédée efficacement dans le but de permettre l'exécution du processeur.
Voici un bref aperçu :
Memory Map Register (MMR) : C'est aussi un type de registre qui contient les adresses
pour d'autres périphériques ou emplacements mémoire. Il aide le processeur à trouver
et accéder à plusieurs zones mémoire.
DSP (Digital Signal Processor) : Un microprocesseur conçu spécifiquement pour la
manipulation mathématique des signaux numériques. Les DSP sont employés dans
divers systèmes allant de la technologie audio numérique aux télécommunications (LTE,
8
la norme LTE-Advanced) et aux produits de grande consommation (modems, téléphones
mobiles).
Le MMR joue un rôle crucial dans la fonctionnalité d'un DSP en s'assurant que le processeur
peut accéder rapidement et efficacement aux emplacements mémoire requis, optimisant ainsi
la vitesse de traitement et les performances.
X. Le scratchpad ou registre de travail
Dans le contexte du Traitement du Signal Numérique (DSP), un registre de travail (souvent
appelé scratchpad ou mémoire de travail) est un type de stockage temporaire utilisé pendant
les calculs· Ces registres sont conçus pour contenir des résultats intermédiaires, des données
temporaires et d'autres informations transitoires dont le processeur a besoin d'accéder
rapidement pendant l'exécution d'un programme·
Voici quelques points clés sur les registres de travail dans le DSP :
1· Stockage temporaire : Les registres de travail fournissent un endroit pour stocker des
données temporaires nécessaires pour une courte durée· Cela aide à éviter la surcharge d'accès
à la mémoire principale, qui est plus lente·
2· Résultats intermédiaires : Pendant des calculs complexes, les résultats intermédiaires
doivent être stockés temporairement· Les registres de travail offrent une zone de stockage à
accès rapide pour ces résultats·
3· Accès à haute vitesse : Les registres de travail sont généralement situés dans le processeur
lui-même, offrant des temps d'accès très rapides par rapport à la mémoire externe·
4· Minimisation des accès mémoire : En utilisant des registres de travail, le DSP peut minimiser
le besoin d'accéder à la mémoire externe plus lente, améliorant ainsi la vitesse globale de
traitement et l'efficacité·
5· Changement de contexte : Dans certaines architectures DSP, les registres de travail peuvent
être utilisés pour sauvegarder le contexte d'une tâche lors du passage entre différentes tâches
ou threads, permettant un changement de contexte efficace·
En résumé, les registres de travail sont essentiels pour optimiser les performances d'un DSP en
fournissant un stockage temporaire rapide et efficace pour les données et les résultats
intermédiaires pendant le traitement.
9
XI. Calculs de mémoire numérique
A. MMR (Registres à Mémoire Mappée)
Le calcul du nombre d'adresses dans la mémoire pour un Registre à Mémoire Mappée (MMR)
dépend de la taille de l'espace adressable et de la taille de chaque registre. Voici une approche
générale pour déterminer le nombre d'adresses :
1. Déterminer l'espace mémoire adressable total : Ceci est généralement défini par
l'architecture du système. Par exemple, un système 32 bits peut adresser 232
emplacements mémoire, tandis qu'un système 64 bits peut en adresser 264
2. Déterminer la taille de chaque registre : Il s'agit de la taille des registres mappés en
mémoire. Les tailles courantes sont 8 bits (1 octet), 16 bits (2 octets), 32 bits (4 octets)
ou 64 bits (8 octets).
3. Calculer le nombre d'adresses :
Si les registres sont contigus, divisez l'espace mémoire adressable total par la
taille de chaque registre.
Si les registres ne sont pas contigus ou s'il y a des espaces, vous devrez tenir
compte de ces espaces.
Voici une formule simple lorsque les registres sont contigus et qu'il n'y a pas d'espaces :
Nombre d'adresses = Espace mémoire adressable total / Taille de chaque registre
Exemple de calcul
Supposons que vous ayez un système 32 bits avec des registres de 4 octets (32 bits) :
1. Espace mémoire adressable total :232octets
2. Taille de chaque registre : 4 octets
32
Nombre d'adresses = 2 = 230
4
Ainsi, le nombre d'adresses dans ce registre à mémoire mappée serait de 2^30, soit 1 073 741
824 adresses.
Considérations pour les registres non contigus
Si les registres ne sont pas contigus, vous auriez besoin d'une liste des adresses de début et des
tailles de chaque registre, et vous additionneriez le nombre total de registres.
Étapes pratiques
1. Identifier l'architecture (32 bits, 64 bits, etc.).
2. Déterminer la taille de la mémoire et la taille des registres.
3. Appliquer la formule ou considérer les espaces si non contigus. 10
Si vous fournissez des détails spécifiques sur l'architecture de votre système et les tailles des
registres, je peux vous donner un exemple ou un calcul plus adapté.
B. Registres de travail (Scratch)
Pour les registres de travail, souvent utilisés pour le stockage temporaire en langage
assembleur et en programmation de bas niveau, le calcul du nombre d'adresses suit des
principes similaires. Voici comment calculer le nombre d'adresses :
Étapes
1. Déterminer l'espace mémoire adressable total : Ceci est basé sur l'architecture du
système (par exemple, 32 bits, 64 bits).
2. Déterminer la taille de chaque registre de travail : Les registres de travail ont
généralement une taille fixe, comme 32 bits (4 octets) ou 64 bits (8 octets).
3. Calculer le nombre d'adresses :
Si les registres de travail sont contigus en mémoire, utilisez la formule :
( Total addressable memory space )
Number of addresses=
Size of each register
Si les registres de travail ne sont pas contigus, additionnez les tailles de chaque
registre adressé individuellement.
Exemple de calcul
Registres de travail contigus
Supposons que vous ayez un système 32 bits avec des registres de travail de 4 octets (32 bits) :
1. Espace mémoire adressable total : 232octets
2. Taille de chaque registre de travail : 4 octets
32
Nombre d'adresses = 2 = 230
4
Cela donne 230 ou 1 073 741 824 adresses.
Registres de travail non contigus
Si les registres de travail sont répartis sur différentes régions de mémoire, vous devriez
additionner les adresses individuelles où chaque registre de travail est situé.
Par exemple :
Registre 1 à l'adresse 0x1000, taille 4 octets
Registre 2 à l'adresse 0x2000, taille 4 octets
11
Registre 3 à l'adresse 0x3000, taille 4 octets
Chacune de ces adresses devrait être considérée séparément, mais le nombre d'adresses
distinctes reste le même en fonction du nombre de registres.
Résumé
1. Identifiez l'architecture du système (par exemple, 32 bits, 64 bits).
2. Déterminez la taille de chaque registre de travail.
3. Appliquez la formule pour les registres contigus ou additionnez les adresses individuelles
pour les registres non contigus.
Si vous avez un système et une disposition de registres spécifiques à l'esprit, veuillez fournir ces
détails, et je pourrai vous donner un calcul plus précis."
XII. Fonctionnalité du TMS320C6713
Interprétons les différents composants et leurs fonctionnalités au sein du DSP TMS320C6713.
12
A. Composants du Schéma
1. Cœur du Processeur de Signal Numérique (DSP) :
Cache L1P : Cache à correspondance directe de 4 KB pour les instructions du
programme.
Cache L1D : Cache associatif 2 voies de 4 KB pour les données.
Cache/Mémoire L2 : 256 KB de mémoire configurable comme cache ou RAM.
Sous-sections du CPU :
Récupération d'Instructions : Récupère les instructions de la mémoire.
Distribution d'Instructions : Envoie les instructions aux unités d'exécution
appropriées.
Décodage d'Instructions : Décode les instructions récupérées.
Chemins de Données A/B : Exécute les opérations arithmétiques et
logiques.
Fichiers de Registres (A/B) : Stocke les données intermédiaires et les
résultats.
2. Contrôleur DMA Amélioré (EDMA) :
Gère les transferts de données entre la mémoire et les périphériques.
Contient 16 canaux pour un mouvement efficace des données.
3. Interface Mémoire Externe (EMIF) :
Interface avec divers types de mémoire externe : SDRAM, SBSRAM, Flash, etc.
Fournit un espace mémoire supplémentaire pour les grands ensembles de
données.
4. Périphériques :
McBSP (Ports Série Tamponnés Multicanaux) : Interfaces pour la
communication série.
Supporte SPI, codecs TDM, etc.
I2C : Deux interfaces I2C pour la connexion à des périphériques comme des
capteurs et des EEPROM.
Timers : Minuteurs à usage général pour diverses opérations de temporisation.
13
GPIO (Entrée/Sortie à Usage Général) : Broches pour les opérations
d'entrée/sortie numériques.
HPI (Interface Port Hôte) : Permet la communication avec un processeur hôte.
5. Logique de Contrôle et d'Interruption :
Gère les signaux de contrôle et traite les interruptions pour un traitement
efficace.
6. Générateur d'Horloge et PLL :
Fournit les signaux d'horloge nécessaires pour synchroniser les opérations du
processeur.
Inclut une logique de mise en veille pour gérer la consommation d'énergie.
B. Interprétation de la Fonctionnalité :
1. Exécution du Programme :
Le cœur CPU récupère, décode et exécute les instructions stockées dans le cache
L1P ou la mémoire L2.
Les instructions sont traitées via les chemins de données (A/B), qui exécutent les
opérations en utilisant les fichiers de registres.
2. Hiérarchie de la Mémoire :
Les caches L1 (L1P pour les instructions et L1D pour les données) fournissent un
accès rapide aux instructions et données fréquemment utilisées, réduisant la
latence.
La mémoire L2 peut être configurée comme cache supplémentaire ou comme
RAM générale pour des ensembles de données plus importants, optimisant les
performances du processeur.
3. Communication Périphérique :
Les interfaces McBSP et I2C permettent au DSP de communiquer avec des
dispositifs externes comme des codecs audio, des capteurs et d'autres
périphériques.
Les broches GPIO fournissent des options d'entrée/sortie flexibles pour diverses
tâches de contrôle.
2. Gestion des Données :
Le contrôleur EDMA gère efficacement les transferts de données entre la
mémoire et les périphériques, réduisant la charge du CPU et améliorant le débit.
14
Avec plusieurs canaux, il peut effectuer des transferts de données simultanés,
essentiels pour les tâches de traitement du signal en temps réel.
3. Accès à la Mémoire Externe :
L'EMIF permet au DSP d'interfacer avec des types de mémoire externe, étendant
la mémoire disponible et permettant des applications plus complexes.
Il supporte diverses configurations de mémoire, améliorant la versatilité du DSP.
4. Contrôle et Temporisation :
Les timers fournissent une temporisation précise pour les opérations de contrôle,
cruciales pour les applications nécessitant des contraintes de temps strictes.
Le générateur d'horloge et le PLL assurent que le DSP fonctionne à la fréquence
requise, maintenant la synchronisation à travers tous les composants.
5. Gestion de l'Énergie :
La logique de mise en veille aide à réduire la consommation d'énergie pendant
les périodes d'inactivité, rendant le DSP adapté aux applications sensibles à la
consommation d'énergie.
Cette architecture permet au DSP TMS320C6713 de gérer efficacement des tâches complexes
de traitement du signal en temps réel, le rendant idéal pour des applications dans les
télécommunications, le traitement audio, l'automatisation industrielle, et plus encore.
15