Vous êtes sur la page 1sur 124

Partie 4: Processeurs de traitement du signal

Partie 4 : Processeurs de traitement


du signal (PTS) (DSP)
Pr. Mohamed LAMHAMDI

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Partie 4: Processeurs de traitement du signal

Chapitre 1 : Généralités sur les DSP

Chapitre 2 : Architectures des DSP

Chapitre 3 : Implémentation des DSP

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP

Chapitre 1 : Généralités sur les DSP

Pr. Mohamed LAMHAMDI

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Plan du cours

q Traitement Numérique du Signal (TNS)


⁃ Définition
⁃ TNS : pourquoi ?
⁃ TNS : comment?
⁃ Caractéristique du TNS
⁃ Avantage du traitement numérique
⁃ Solutions architecturales pour le TNS
q Processeurs de Traitement Numérique du Signal (DSP)
⁃ Introduction
⁃ Rôle d’un DSP dans un traitement de signal
⁃ Schéma général d’utilisation d’un DSP dans le TNS
⁃ Caractéristiques des DSP
⁃ Classification des DSP
⁃ Performance des DSP
q Marché & domaines d’applications des DSP
⁃ Les principaux fabricants de DSP
⁃ Marché des DSP
⁃ Domaines d’applications des DSP

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal

Définition
• Signal
• Une suite de nombres et non pas des suites de lettres, de mots ou de
phrases. « Yves Meyer »
• Toutes grandeurs physiques susceptibles de variations
• Traitement
• Transformation destinée à rendre le signal exploitable
• D’où vient un signal
• De l’information cachée dans la représentation choisie
• Echantillonnage
• Compression
• Décomposition dans un espace orthogonal
• Traitement Numérique du signal
• Modéliser – ou identifier – consiste en l’analyse d’un signal ou d’un
système, dans le domaine temporel ou fréquentiel (i.e. spectral).
• Synthétiser – ou générer – un signal.
• Transmettre un ensemble de signaux sur un support.
• Transformer un ensemble de signaux à l’aide d’un système linéaire
(filtrer, moduler, coder, . . . ) ou non linéaire (()2 , | |, ...)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal

TNS : pourquoi ?

Stabilité Précision Flexibilité́ Intégration Production

garantie
pas de par le changements
dérives en nombre de aisés des
température bits et elle paramètres système reproductibilité́,
ou dans le est des VLSI pas de réglages
temps déterminée algorithmes
à priori ́

• Coût : élevé́ pour des applications relativement simples


• Vitesse de traitement proportionnelle à la bande passante du signal
• Complexité́ : réalisation matérielle et logicielle

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal
TNS : comment?
Chaine de traitement

CAN: conversion analogique numérique, filtre anti repliement nombre de bits, loi de
conversion, fréquence d’échantillonnage
Processeur: Organe de calcul dont l’architecture est «adaptée» au traitement du signal
CNA: conversion numérique analogique, filtre de restitution nombre de bits, loi de
conversion, fréquence d’échantillonnage
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal

Caractéristique du TNS : Fonctions typiques de TS

• Filtrage, convolution
• y = y + x.h : MAC (multiplication-accumulation)
• Adaptation
• yn = yn-1 + x.h : MAD (multiplication-addition)
• FFT, multiplication complexe
• xr = xr.wr - xi.wi
• xi = xr.wi + xi.wr
• Viterbi
• a 1 = x1 + x 2 ; a2 = y1 + y2

• y = (a1 > a2) ? a1 : a2 : ACS (addition-comparaison-sélection)

• Estimation de mouvement
• sad += |xi,j - yi+u,j+v| : SAD (sum-of-absolute-difference)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal

Caractéristique du TNS: Algorithmiques TNS

Signaux numériques : quantité importante de données


• Données scalaires, vectorielles, matricielles, multidimensionnelles
• Opérations I/O intensives par DMA
Traitement temps réel
• Temps d’ exécution de l'algorithme Tex guidé par acquisition I/O
• Période d’ échantillonnage Te
• Période des sorties Tf (frame period) > Tex
• Ni plus vite ... ni plus lentement (not faster ... not slower)

DMA : Direct Memory Access


Tf : frame period
Tex: Temps d’ exécution de l'algorithme
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal

Caractéristique du TNS: Caractéristiques algorithmiques

• Charge de calcul importante


• Nids de boucle
• Multiplications-accumulations (convolution)
• Multiplications-additions (FFT, DCT, adaptation, distance...)
• Précision des calculs
• Virgule Fixe ou Flottante
• Problèmes liés à la quantification !!!
• Compromis coût – précision des calculs
• Bande passante mémoire
• Calculs d'adressage complexes
• Accès linéaire, indexé…
• Bit-reverse ou similaire (FFT)
• Vieillissement des données ...
• Boucles de traitement courtes
• Les instructions peuvent être placées en interne
• Pas besoin de grande taille de cache (données ou instructions)

FFT : Fast Fourier Transformation DCT : discrete cosine transform


Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal

Caractéristique du TNS: Complexité́ des algorithmes de TdSI

Format des données

UMTS : Universal Mobile Telecommunications System, GSM: Global System for Mobile
ADSL: Asymmetric Digital Subscriber Line Communications
MOPS: Millions d'opérations par seconde MIPS : million instructions par seconde
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal

Avantage du traitement numérique

• Les machines numériques : obtention de meilleure précision et donc réalisation


de différents filtres
• Permet d’enchainer des algorithmes de traitement beaucoup plus complexes
(ex transformée de Fourier)
• Grande résistance aux bruits
• Précisions arbitraire
• Stabilité́ dans le temps
• Stockage des données
• ....

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Traitement Numérique du signal
Solutions architecturales pour le TNS

Processeur généraliste (GPP) • ASIC/ASSP (Application-Specific...)


– Coût relativement élevé́ – Circuit intègré dédié à une application
– Forte consommation électrique – Ne sont pas programmables
– Bonnes performances en calcul numérique – Mise en œuvre complexe et longue
– La gestion des entrées - sortie – Coût élevé́

Microcontrôleur • DSP
• Faible coût – Coût relativement faible
• Faible consommation électrique – Faible consommation électrique
• Mémoire limitée – Jeu d'instruction spécialisé
• Peu adapté aux signaux numériques – Calculs numériques
• Adapté aux tâches de contrôle – Entrée-sortie de données à grand débit
• Programmation bas niveau – Mémoire limitée

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Processeurs de Traitement Numérique du Signal

Introduction
• DSP: Digital Signal Processor (processeur de signal numérique)
• Composant électronique de type microprocesseur pour les calculs numérique
• Application principale : traitement de signaux numérique

• Introduit en 1982
• Conçu pour être efficace pour TNS
• Programmable ( reconfigurable )
• Il est toujours embarqué
• Traitement du signal : Application d’opérations mathématiques sur des
signaux
• Représentation des signaux sous formes d’échantillons
• Signaux numériques obtenus grâce aux signaux physiques et des CAN puis
des CNA
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 1 : Généralités sur les DSP Processeurs de Traitement Numérique du Signal

Rôle d’un DSP dans un traitement de signal

• Utilisé pour le traitement du signal


• Un DSP est associé à de la mémoire (RAM, ROM…) et à des périphériques
• DSP fonctionne sous 2 modes :
• Mode microcontrôleur : fonctionne sur sa mémoire programme interne
rapide
• Mode microprocesseur : fonctionne sur une mémoire programme externe

Tâches élémentaires
• Compression de signal (parole, audio, vidéo)
• Filtrage
• Modulation et démodulation
• Détection et correction d’erreurs
• Contrôle. & Mesure
• Traitements audio
• Reconnaissance vocale
• Synthèse de signaux

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Processeurs de Traitement Numérique du Signal

Schéma général d’utilisation d’un DSP dans le TNS


Schéma fonctionnel

Schéma électrique

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Architectures des DSP Processeurs de Traitement Numérique du Signal

Caractéristiques des DSP


• Applications embarquées et « grand public »
• Très faible coût
• Le coût est proportionnel à la surface du circuit
• Faible consommation
• Pmoy = α . C . V2dd . F
• α: facteur d’ activité́ défini comme le nombre moyen de transitions
(0 à 1) pendant une période d'horloge.
• Une partie importante de la consommation est liée à la mémoire
• Nécessité de minimiser la largeur des données et des instructions
stockées en mémoire
• Temps réel
• Implémentation efficace des applications de TS
• Sureté de fonctionnement

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Processeurs de Traitement Numérique du Signal

Classification des DSP : Approche signal


• Caractérise d’emblée le DSP et fait de lui un composant numérique pour les
spécialistes du signal et les électroniciens.
• Les signaux à traiter sont caractérisés par la fréquence maximale possible
associée à un phénomène physique ou à un système donné.

Fe = 1/Te > 2fmax (Te étant la période d’échantillonnage)


• Si on ne respecte pas cette règle, il risque d'y avoir repliement spectral
(aliasing).
• La fréquence d’échantillonnage Fe est en général imposée par le
convertisseur analogique/numérique.
• Le nombre de cycles de calcul à l’intérieur d'une période d’échantillonnage Te,
donne la possibilité́ pour le DSP d'intervenir efficacement ou non en temps réel
entre deux prises d’échantillons

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP
Classification des DSP : Approche technologique

La vitesse d’un composant en fonction de sa «performance », c’est-à-dire de


l’adaptation à des besoins spécifiques de l’électronique.

☞ On voit la place privilégiée du DSP par opposition à celle du microprocesseur,


d’usage plus général.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP
Classification des DSP : Approche processeur

• Approche 1: le DSP peut être comparé au microprocesseur et au microcontrôleur


certains DSP, comme :
• Les TMS320F240x de Texas Instruments utilisé pour des commandes de
moteurs électriques,
• Les Z89323/373/ ... /473 de Zilog sont des processeurs où l'on a optimisé
les avantages du DSP et ceux du microcontrôleur.
• Les DSP 56000 de Motorola sont issus de la technologie du microprocesseur
68000.
• Dans la commande et le contrôle de systèmes complexes, le DSP joue à la fois le
rôle du microcontrôleur, et celui du calculateur rapide en temps réel pour obtenir
tous les signaux nécessaires à la commande
• Approche 2: consiste à considérer un « noyau DSP » à l’intérieur d’un circuit
intègré comportant de nombreuses opérations. (un noyau DSP dans un ASIC)
(Applied Specific Integrated Circuit). Il peut servir, à l’intérieur du composant
intègré, en « parallélisme » à un processeur RISC

• Approche 3: Le DSP peut aussi être associé à d’autres processeurs par l’


intermédiaire du port hôte. Il peut servir en « parallélisme » à un
microprocesseur.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP
Classification des DSP : Approche Représentation des données
• Il est impossible d’effectuer une classification « définitive » des DSP, car chaque
constructeur met sur le marché tous les ans un nouveau composant qui surclasse les
anciens ou les concurrents par la puissance de calcul, la rapidité́ (gestion du pipeline
et fréquence d’Horloge), le nombre de registres, de Timers, de ports série...

• Un point essentiel des DSP est la représentation des nombres (les données) qu’ils
peuvent manipuler.

• Deux grandes catégories de DSP


– Virgule fixe
• Précision fixée
• Dynamique réduite
• Calcul plus rapide
• Processeur moins cher
– Virgule flottante
• Représentation en mantisse et exposant: v = mantisse x 2exposant
• Dynamique étendue
• Programmation plus simple
• Processeur plus complexe et (souvent) plus cher

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP

Performance des DSP: approche

• Plus que pour un microprocesseur classique, les performances d’un DSP


conditionnent son domaine d’application.
• La plupart des DSP sont particulièrement destinés à:
• Des applications spécialisées et temps réel,
• Temps de traitement est primordial,
• Diversité́ des évènements à traiter n’est pas notablement importante.
• l’approche DSP s’apparente plus à une étude « électronique » visant à
réaliser des fonctions de traitements de signal,
• Moins d’importance a l’approche informatique temps réel et/ou
multitâche traditionnelle.

• Des applications ou le DSP assure à la fois des fonctions de traitements


numériques du signal et les fonctions générales d’un microprocesseur au
cœur d’un système informatique classique.

• Dans tous les cas, les performances du DSP sont critiques. Le concepteur d’un
système à base de DSP doit évaluer :
• La puissance nécessaire pour réaliser les traitements numériques voulus,
• Les performances des DSP disponibles pour réaliser son application.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP

Performance des DSP: Puissance de calcul d’un DSP


• Cette puissance de calcul dépend de la rapidité́ de l’exécution des instructions, et
donc de l'horloge.
• Dans un DSP, le MAC (multiplicateur et accumulateur) calcule le produit de deux
entrées codées sur N bits, dans un temps « record » de 7ns à 150ns.
• Un cycle d'horloge
• La multiplication est obtenue de manière asynchrone.
• Le résultat est chargé dans un accumulateur à 2 x N bits.
• L’utilisateur choisit de garder seulement les N bits de poids fort en simple
précision, et effectue alors une troncature ou alors l'ensemble du résultat en
double précision.
• Pour les DSP à virgule flottante, l'effet de la troncature est moins gênant.
• La méthode classique pour évaluer les performances d’un DSP est de se baser sur
sa vitesse d’exécution.
• Encore faut-il trouver une bonne définition de ce qu’est la vitesse
d’exécution.
• Méthode de base consiste à compter le nombre d’instructions effectuées
par seconde.
• obstacle : une instruction ne signifie pas forcément la même chose d’une
famille de DSP à l’autre.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP
Performance des DSP: Puissance de calcul d’un DSP
les principales définitions en usage

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP

Performance des DSP: Puissance de calcul d’un DSP

Autre méthode

Consiste à définir une fois pour toute une opération de référence comme étant un
« MAC », puisqu’il s’agit d’une fonction commune à tous les DSP. Il ne reste plus
qu’à compter le nombre de « MAC » par seconde.

Cette définition n’apporte pas beaucoup d’informations sur les performances des
DSP modernes.

Un « MAC » est exécuté en un seul cycle. Sachant que sur les DSP récents la
plupart des instructions sont également exécutées en un cycle, cela revient donc à
mesurer les MIPS du DSP.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP

Performance des DSP: Mesure du temps d’exécution (« Benchmark »)

• La vitesse de calcul pure d’un DSP n’est pas une indication universelle, les
méthodes et les résultats diffèrent d’un DSP à l’autre.
• La vitesse de calcul ne rend pas compte d'un certain nombre de
perfectionnement dont peuvent bénéficier tel ou tel DSP

• Certains DSP proposent des modes d’adressages plus performants que d’autres.
Les instructions itératives sont également importantes en terme de
performance (rapidité́ des boucles logicielles) et ne devraient pas être ignorées.
• le temps d’accès à la mémoire est un autre paramètre incontournable. (mémoire
vive rapide intégré placée dans l’espace d’adressage du DSP permet d’y ranger
données et programmes sans avoir à effectuer des transfère permanents de ou
vers l’extérieur)

Pour toutes ces raisons, la mesure des performances par benchmark complète
avantageusement la mesure de vitesse pure.

☞ benchmark : consiste à mesurer le temps que met le DSP pour exécuter des
programmes « standards » de traitements du signal.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Classification des DSP

Performance des DSP: Mesure du temps d’exécution (« Benchmark »)

• Le point faible des benchmarks réside dans :


• La définition des d’algorithmes standards.
• Quel domaine d’applications faut-il choisir ?
• Quels sont les algorithmes les plus représentatifs
• Systèmes de benchmarks se proposant de servir de référence
(BDT SPEC95)
• Dans la pratique, un autre problème se pose : la qualité́ de l’implémentation
des algorithmes peu varier d’un système de développement à l’autre. (un
filtre numérique peut demander plus ou moins de ressources processeur en
fonction de l’implémentation)

La mesure des capacités d’un DSP par benchmark reste intéressante, car
elle tend à mesurer la performance globale du système de traitement
numérique (y compris les capacités du programmeur !)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Marché & domaines d’applications des DSP

Les principaux fabricants de DSP :


• Texas Instruments
• Analog Devices
• Motorola
• Zilog
• Lucent
• Nec
• Zoran
• Zsp
• Microchip

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Marché & domaines d’applications des DSP

Les principaux fabricants de DSP : Les DSP de TI sont organisés 3 plateformes:

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Marché & domaines d’applications des DSP

Marché des DSP

• 10,01 milliards de dollars en 2017


• Devrait atteindre 19,28 milliards de dollars US d’ici 2026

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Marché & domaines d’applications des DSP

Exemples d’applications

• Téléphonie cellulaire Communications sans


• fil Contrôle de moteur
• Modems
• Internet Audio grand public
• Navigation
• Vidéoconférence
• Jouets, consoles vidéo
• Synthèse musicale, effets
• Médical
• Communications satellite
• Analyse sismique
• Sécurité́
• Reconnaissance vocale
• Sonar, radar
• Photo et camera numériques
• Débruitage, écho
• Anticollision
• ...et pleins d’autres à venir

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 1 : Généralités sur les DSP Marché & domaines d’applications des DSP
Exemples d’applications
Console de mixage
Imagerie par Résonance Magnétique

Scanner de codes barres


Appareil photo numérique

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP

Chapitre 2 : Architectures des DSP

Pr. Mohamed LAMHAMDI

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Plan du cours

q Introduction
q Unité de traitement
⁃ Représentation des données
⁃ Comparaison Fixe- flottante
⁃ Éléments de l’unité de traite
⁃ Structure de l’unité de traite
q Unité de contrôle
⁃ Pipelines
⁃ Séquentiel contre Pipelines
⁃ Codage des instructions
⁃ Format des instructions
⁃ Structures de contrôle
q Unités de génération d’adresses
q Bus internes
⁃ Notion de bus
⁃ Types de Bus
⁃ Schéma de principe des échanges
q Unité de mémorisation
⁃ Organisation mémoire
⁃ Accès à la mémoire
⁃ Mode d’adressage
q Unité de communication
q Exemples DSP

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Introduction

Architecture générale d’un processeur

☞ La façon dont les éléments d'un système


interconnectés et échangent leur information
à microprocesseur sont

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Introduction

Modélisation d’un processeur

Unité́ de contrôle

Unité́ de Unité́ de
traitement mémorisation

Unité́ de communication

Unité́ de contrôle (IP : Instruction Processor) : unité́ fonctionnelle (UF) qui interprète
les instructions et commande les autres UF
Unité́ de traitement (DP : Data Processor) : UF qui modifie ou transforme les données
Unité́ de mémorisation:
• IM : Instruction Memory : stocke les instructions
• DM : Data Memory : stocke les données traitées par le DP
Unité́ de communication (EIU : External Interface Unit) : contrôle les accès aux
données ou instructions externes, ou à d'autres processeurs

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Introduction

Objectifs processeur DSP


• Unité́ de traitement :
• Réaliser efficacement les traitements typiques en TNS
• 1 MAC par cycle
• Unité́ de mémorisation :
• Alimenter efficacement en données l’unité́ de traitement afin de ne pas la
ralentir
• Unité́ de communication
• Unité́ de contrôle :
• Gestion efficace des structures de contrôle utilisées en TNS : boucles
• Encodage des instructions
• Minimiser la taille des instructions
• Encoder le maximum de parallélisme

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

• Calculs au format fixe ou flottant


• Parallélisme entre les sous-unités
• Registres de données
• Pour stocker les opérandes et les résultats
• Multiplieur
• Multiplication et accumulation (MAC)
• ALU
• Operations arithmétiques, logiques et de conversion entre formats
• Registre de décalage
• Multiplication rapide par 2k
• Unités spécialisées
• Compare, Select and Store (Viterbi)
• DCT
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 2 : Architectures des DSP Unité de traitement
Représentation des données: Codage virgule fixe
• Représentation : signe - partie entière - partie fractionnaire.
• Le nombre de bits alloués reste figé au cours du traitement.
• L’exposant associé à chaque donnée est implicite et fixe
• Un bit de signe et de b − 1 bits répartis entre la partie entière et fractionnaire.
• Les paramètres m et n sont des entiers et représentent la distance, en nombre de bits,
entre la virgule et les bits MSB et LSB.
Le format d’une donnée ne varie pas au
cours du temps

• L’avantage de cette représentation (qui n’est qu’une convention des


informaticiens) est de permettre facilement l’addition binaire de nombres aussi
bien positifs que négatifs
• Un DSP à virgule fixe est un peu plus compliqué à programmer qu’un DSP à
virgule flottante.
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 2 : Architectures des DSP Unité de traitement
Représentation des données: Codage virgule flottante
• Composées de deux parties distinctes : l’exposant et la mantisse,
• Les données sont représentées en utilisant une mantisse et un exposant.
• La représentation de ces nombres s’effectue selon la formule suivante :
n = mantisse x 2exposant
• Généralement, la mantisse est un nombre fractionnaire (-1.0 à +1.0), et l’exposant
est un entier.
• L’exposant permet d’obtenir un facteur d’échelle explicite et variable au cours du
traitement.
• La mantisse représente la valeur de la donnée divisée par le facteur d’échelle.

• Les DSP à virgule flottante sont plus souples et plus faciles à programmer.
• Un DSP à virgule flottante a un coût de fabrication supérieur % virgule fixe.
• Le format à virgule flottante occupe plus de place, (nécessite d'encoder la
position de la virgule représentée par l'exposant).
• Pour le même espace disponible, la virgule flottante offre donc une étendue de
nombres plus grande au détriment de la précision.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Comparaison Fixe- flottante: l’aspect arithmétique


Dynamique

• La dynamique permet d’illustrer l’espace


des valeurs représentables par le code.
• L’intérêt d’une dynamique importante est
d’assurer l’absence de débordement

• Pour un nombre de bits inférieur à 16, la dynamique de l’arithmétique virgule


fixe est supérieure à la dynamique de l’arithmétique virgule flottante.
• Pour un nombre de bits supérieur à 16, l’arithmétique virgule flottante a une
dynamique supérieure.

Pour un nombre de bits élevé (supérieur à 25), l’arithmétique virgule


flottante montre son intérêt par sa dynamique très importante

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Comparaison Fixe- flottante: l’aspect arithmétique


Rapport Signal à Bruit de Quantification (RSBQ)

Le Rapport Signal à Bruit de Quantification


est défini comme le rapport entre la puissance
du signal Px et la puissance de l’erreur de
quantification Pe.
L’expression du RSBQ en dB est la suivante :

• Pour l’arithmétique virgule flottante, le RSBQ est quasi constant en fonction de la


dynamique du signal. Ceci est dû à l’utilisation de l’exposant évoluant au cours du
temps et permettant ainsi d’adapter le RSBQ à la dynamique du signal.
• Pour un niveau de dynamique bas, le RSBQ de la virgule flottante est supérieur à
celui de la virgule fixe.
• Cette tendance s’inverse pour des signaux à dynamique élevée dans le cas d’une
représentation sur 16 bits.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Comparaison Fixe- flottante: l’implantation matérielle


• Le choix de l’arithmétique pour un système est fonction des contraintes.
• L’arithmétique virgule flottante présente l’avantage d’avoir une plus grande
dynamique (32 bits) & meilleur RSBQ par rapport à l’arithmétique virgule fixe
• Comme l’exposant est variable pour les différents données codées, les
opérations en arithmétique virgule flottante sont complexes à effectuer
Exemple,
l’addition en virgule flottante s’effectue en l’addition en en virgule fixe
trois étapes. • les bits sont simplement décalés pour
• dé-normalisées Les données (valeur réelle). aligner la virgule dans le cas d’une
• Effectuée l’addition. addition
• la normalisation est mise en œuvre (adapter Architecture
l’exposant à la valeur de la sortie de l’addition). • la majorité des données virgule fixe
Architecture sont codées sur 16 bits
• codées sur au moins 32 bits.
Conclusion:
• Les opérateurs en virgule fixe sont moins complexes,
• La consommation d’énergie et le coût sont moins importants pour une architecture
basée sur l’arithmétique virgule fixe.

• Dans le cadre d’une implantation de l’algorithme dans un système embarqué,


l’arithmétique virgule fixe sera privilégiée.
• Porter attention à la précision des calculs lors d’une implantation en virgule fixe
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 2 : Architectures des DSP Unité de traitement

Comparaison Fixe- flottante: DSP Virgule fixe

• Arithmétique :
• Dynamique limitée : [-Xmax et Xmax]
• Possibilité́ de débordement → nécessité́ de recadrer les données
• Développement :
• Temps de développement plus long
• Etude la dynamique des données, détermination du codage et des recadrages
• Architecture :
• Operateurs plus simples
• Largeur des données bnat : 16 bits
• Efficacité́ énergétique plus importante, consommation moins importante
• Processeur plus rapide
• Processeur moins cher (surface du circuit moins importante)
• Marché : applications grand public
• 95% des ventes en 96

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Comparaison Fixe- flottante: DSP Virgule flottante

• Arithmétique :
• Dynamique importante : 1500 dB pour 32 bits
• Développement
• Temps de développement plus court
• Recadrage des données assuré par le processeur
• Compilateur de langage de haut niveau plus efficace : plus grande
portabilité
• Architecture :
• Largeur des données : 32 bits
• Operateurs plus complexes (gestion de la mantisse et de l’exposant)
• Processeur plus cher et consommant plus
• Marché
• Applications nécessitant une grande dynamique : audio numérique
• Applications avec des faibles volumes

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Éléments de l’unité de traite: Operateurs

• Multiplieur câblé́
• Multiplication en 1 cycle ou pipelinée (1 résultat de multiplication par cycle)
• Le résultat est fourni directement à l’UAL ou il est stocké dans un registre
(P register)
• Largeur des opérandes source : bnat
résultat : bmult = 2.bnat
• U.A.L.
• Operations arithmétiques : addition, soustraction, incrémentation, négation
• Operations logiques : and, or, not…
• Largeur des opérandes sources et destination identique badd ≥ 2.bnat
• Additionneur indépendant de l’UAL
• Registres à décalage (recadrage des données)
• Spécialisé́ : réalisation de quelques décalages prédéfinis en //
• En barillet : réalisation d ’un décalage quelconque en 1 cycle
• Unités de saturation ou d’arrondi
• Unités spécifiques
• Unité́ de manipulation de bit,
• Viterbi,
• ...

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Éléments de l’unité de traite: Operateurs


Trois +1 unités :

• Unité arithmétique et Logique (ALU)


• Opérations sur des nombres.
• Addition / soustraction/ moyenne
• Opérateurs logiques (fixes)
• Conversions
• Fonctions diverses
• Multiplieur T and P Registers
• En virgule fixe :
• Capable d'effectuer des MAC
• Utilise un registre d'accumulation
• En virgule flottante :
• seulement la multiplication;
• Drapeaux gérés par le multiplieur
• Un registre à décalage
• Décalages et rotations
• Mise à 1 ou 0 de bits,
• Tests
• ...
• l’unité arithmétique de registre auxiliaire

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Éléments de l’unité de traite: Unités de stockage


• Registres opérandes
• Stockage des opérandes sources ou des résultats intermédiaires
• Registres d’accumulation
• Stockage du résultat de l ’additionneur
• Nombre de registres d’accumulation limité (1 à 4)
• Données stockées en double précision
• Possibilité́ de bits de garde pour stocker les bits supplémentaires issus d
’accumulations successives badd = bmult + bg

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Éléments de l’unité de traite: Unités de stockage

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

structure de l’unité de traite : Type MAC

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

structure de l’unité de traite : Shifter (registre à décalage)


• Ce registre de 40 bits, sert à cadrer les données en provenant de la mémoire ou
bien de l’accumulateur avant une opération dans ALU
– Operations de mise à l’ échelle (Scaling) par puissance de deux
• Indispensable pour éviter les dépassements de capacité́
• Son utilisation doit être maitrisée par le programmeur
• Réduction de la précision des calculs
• Nombre, emplacement et possibilités des Shifters très différents d’un DSP à un
autre.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Exemples : TMS320C50

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Exemples : TMS320C54X

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de traitement

Exemples : Motorola DSP 5600x

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle

• Chef d’orchestre du CPU,


• Il séquence et décode les instructions une à une.
• Chargement des instructions
• Compteur de programme (PC)
• Registre d’instruction
• Cache d’instructions
• Séquençage
• Décodage des instructions
• Pilotage des autres unités

Pour être efficace, le CPU met en œuvre :


• Un pipeline
• Une gestion des boucles matérielles
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 2 : Architectures des DSP Unité́ de contrôle

Unités : (EX TMS320C2X)

• Génération d’adresses Programme : Le flux du programme nécessite que le


processeur génère l’adresse du programme suivant (séquentielle ou non
séquentielle) lors de l’exécution de l’instruction en cours.
• PC, La pile & circuits associes : Un registre qui pointe l’instruction à
exécuter, permet donc au programmeur de se déplacer à volonté́ dans cette
mémoire.
• Pipeline
• Initialisation (Reset) : Reset (RS) est une interruption externe prioritaire.
Peut être utilisée à tout moment pour mettre le Tms320c2x dans un état
connu.
• Registres Statuts : Deux registres d’état, ST0 et ST1, contiennent l’état
de différentes conditions et modes. Permettant à l’état de la machine à être
enregistré et restauré pour les interruptions et les sous-programmes.
• Timer
• Compteur de répétitions (Repeat Counter: RPTC)
• …

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle
Pipelines: Utilisation
Pour améliorer les performances de l’unité́ de traitement, les DSP les récents
utilisent la méthode du pipeline.
Elle consiste à imposer un ordre et un rythme dans le déroulement des instructions
de manière à optimiser en rapidité́ leur exécution.
En un cycle processeur, les opérations élémentaires suivantes peuvent être
exécutées en parallèle :
• Aller chercher l’instruction en mémoire programme (Fetch) ;
• Réaliser le décodage de l’instruction, et des adresses des opérandes
(Decode) ;
• Lire les opérandes en mémoire de données (Read) ;
• Exécuter l’opération et écrire le résultat (Execute).

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle
Pipelines: Principe
• Il faut découper le travail en tâches
élémentaires de même durée pour permettre
leur réalisation en parallèle.
• Il faut prévoir des registres tampon entre
chaque opération élémentaire,
• Augmentation de la fréquence d'horloge
• Etages plus simples donc plus rapides
• Il y a en permanence quatre instructions dans le
pipeline, ce qui est le plus souvent invisible, sauf
s’il y a conflit.
• Dans la plupart des cas, DSP « rattrape » le
conflit en décalant alors les autres instructions
d’un cycle.

EX conflit: l’une des quatre instructions exige plus d’un cycle d’horloge.
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 2 : Architectures des DSP Unité́ de contrôle
Pipelines: Différents types de pipelines

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle
Pipelines: Retards dans le pipeline

• Le pipeline atteint son plein rendement une fois qu’il est “plein”
• Un retard peut se produire
• S’il existe un conflit de ressources (retard ponctuel)
• Accès à la mémoire
• Utilisation des bus
• En cas de rupture de séquence (vidange du pipeline)
• Branchement non prévu
• Appel de sous-programme
• Interruption

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle

Séquentiel contre pipelines

Exécution séquentielle

Exécution avec pipeline

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle

Codage des instructions


Stationnarité́ temporelle:
Une instruction définit l’ensemble des opérations à réaliser pour chaque unité́
fonctionnelle MULT R1,R2,T ADD T,A,A LD R1,AR1 LD R2,AR2

Stationnarité́ des données:


Une instruction définit une séquence complète d ’opérations à réaliser sur un
ensemble de données. MAC *AR1,*AR2

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle

Format des instructions

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle

Types d’instructions

• Calcul
• Operations arithmétiques
• Addition, soustraction, multiplication
• Operations logiques
• AND, OR, tests • Décalage
• Contrôle du programme
• Branchement, répétition
• Appels et Retours
• Sous-programmes, interruptions
• Manipulation de la pile
• Divers (NOP)
• Mémoire
• Chargement et sauvegarde
• Déplacement de données de mémoire à mémoire

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité́ de contrôle

Exemple : Diagramme bloc du C5O

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unités de génération d’adresses

• Unités de traitement spéciales


• Pilotées par le séquenceur
• Calculs sur des entiers
• Adresses mémoire
• Méthodes pré́-programmées
• Incrémentation
• Décrémentation
• Adressage circulaire
• Incrémentation bit-reverse (pour la FFT)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unités de génération d’adresses

Exemple du TMS320C5416

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre 2I:: Architectures
Systèmes automatisés
des DSP Bus internes
Notion de Bus
• Un ensemble de liaisons pouvant être exploitées en
commun par plusieurs éléments matériels afin de
communiquer.
• Ont pour but de réduire le nombre de « voies »
nécessaires à la communication des différents
composants, en mutualisant les communications sur
une seule voie de données

Adresses : sélection du périphérique et d’une donnée


en son sein
Données : valeur de la donnée à échanger
Contrôle : lire / écrire / haute impédance

• Le CPU est le maitre du bus


• Il est le seul à écrire sur les bus adresse et
contrôle
• Le périphérique accepte sur le bus données
• Lecture: il fournit la donnée demandée
• Ecriture : il récupère la donnée fournie par le
CPU
• Haute impédance: il se déconnecte du bus
Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre 2 : Architectures des DSP Bus internes
Types de Bus
• Le bus programme PB sert à véhiculer les instructions et les coefficients stockes
dans la mémoire programme. Ces données sont adressées par le bus d’adresse de la
mémoire programme PAB
• Trois bus d’accès aux données sont raccordes à l’unité́ centrale de calcul, à la
mémoire de donnée, aux périphérique et aux circuits de générations d’adresse
(programme et données).
• Ces bus CB, DB, et EB véhiculent les données des éléments adressés par CAB, DAB,
et EAB respectivement

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Bus internes
Unité de contrôle
& adressage

Interface
Bus
unité́ de traitement

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Bus internes

Schéma de principe des échanges

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Bus internes

Schéma de principe des échanges: lecture instruction (Fetch)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Bus internes

Schéma de principe des échanges: Lecture/écriture donnée (Read/Write )

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre 2I:: Architectures
Systèmes automatisés
des DSP Unité de mémorisation
Organisation mémoire: Les types de mémoires

• L’architecture du DSP lui donne donc une organisation autour de deux types de mémoire :
• De la mémoire pour le programme
• De la mémoire pour les données
• Ces types de mémoire seront physiquement de :
• La ROM
• La RAM (DARAM, SARAM...).
• Selon la version du circuit, le type (ROM, RAM) et la taille de la mémoire intégrée dans
le circuit diffère.
• Chaque DSP possède donc une certaine quantité de RAM à double accès (DARAM), de la
RAM à simple accès (SARAM) et de la ROM interne.
• La RAM est généralement réservé aux données
• La ROM au programme

Mais on trouve beaucoup d’exception à cette règle.


Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI
Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation
Organisation mémoire: Quantité et type de mémoire
• Plusieurs types de RAM incluse sur le chip
• Single access (SARAM) : un accès par cycle
• Dual access (DARAM) : deux accès par cycle
• Two-way shared : deux accès par cycle même depuis l’extérieur
• DARAM découpée en blocs
• Accès simultané́ à deux blocs de mémoire différents
• 2x2=4 accès par cycle en théorie (en réalité́ limité par le reste de l'architecture)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation
Organisation mémoire: Quantité et type de mémoire

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation
Organisation mémoire: Mémoire programme

• La zone de la mémoire programme de


l’adresse 0 à 13FFh , sera située à
l’extérieur du circuit si le bit OVLY
(Overlay) est mis à 0.
• Lorsque OVLY est mis à 1 la zone 80h
à 13FF (4992 mots) est située en
mémoire interne. Elle est constitué
de RAM à double accès commune à
l’espace de mémoire donnée. Dans ce
cas 0 à 7Fh est interdit.
• Lorsque la zone est commune aux 2
espaces, cela signifie qu’elle peut
contenir aussi bien des instructions
que des données : on se sert de cette
possibilité plus particulièrement
lorsque l’on souhaite faire la mise à
jour dynamique d’un programme
préalablement chargé en mémoire.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation
Organisation mémoire: Mémoire programme

• De 1400h à 8FFFh (31 Kmots) se


trouve une zone de mémoire
adressable à l’extérieur du circuit.

• La zone de 9000h à FFFFh


(28Kmots) pourra être de la ROM
interne si la broche MP/MC =0, ou
de la ROM externe si la broche
est à 1.
• Dans les 2 cas, la zone située de
FF80h à FFFFh (128 mots) est
réservé aux vecteurs
d’interruption.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation
Organisation mémoire: Mémoire Données

• Cet espace comporte une zone de


RAM à double accès de 0 à 13FFh
(5Kmots) dont:
– 96 mots, de l’adresse 0 à 5 Fh
réservés au stockage des registres
mappés en mémoires
– une zone de mémoire de travail de 60h
à 7Fh.
– La mémoire situé de 80h à 13FFh
pourra, comme nous l’avons vu
précédemment, être partagée par
l’espace programme (OVLY=1).

• La zone suivant de 1400h à E000h


(50Kmots) sera située à
l’extérieur du circuit.

• Si DROM est à 0, la mémoire de


l’adresse E000h à FFFFh sera
accessible à l’extérieur, ce sera
de la ROM interne si DROM=1

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Le fonctionnement basique d’une opération de calcul

n (1) Charger une instruction depuis la mémoire


n (2) Charger les opérandes depuis la mémoire
n (3) Effectuer les calculs
n (4) Stocker le résultat en mémoire

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Type Architecture


Architecture Von Neuman
• Un seul chemin d’accès à la mémoire
• Architecture des processeurs d’usage général (Pentium,
68000)
• Goulot d’étranglement pour l’ accès à la mémoire
• Pas de sécurisation matérielle du programme

Architecture Harvard

• Séparation des mémoires programme et données


• Moins de risque de corruption du programme
• Meilleure utilisation du CPU
• Chargement du programme et des données en parallèle

Architecture Harvard modifiée


• Mémoire programme contient des données
• Possibilité́ de charger 2 données en un cycle
• Utilisation classique en TNS
• Mémoire Programme + Données → coefficients des filtres
• Mémoire Données → échantillons d’entrée

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Mémoire multi-port

• Plusieurs bus de données


• Accès simultané́ à plusieurs données
• Combiné avec:
• mémoire multi-accès (plusieurs accès à la même mémoire en un cycle)
• mémoire multi-blocs (accès simultané́ à deux blocs de mémoire distincts)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Exemple du TMS320C5416


Exemple du TMS320C54xx :
• 1 bus programme (P)
• 2 bus de lecture des données (C et D)
• 1 bus d’écriture des données (E)

Internal: Up to 4 accesses / cycle External: 1 access / cycle


up to 8M words program

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Exemple du TMS320C5416

Exemple du TMS320C54xx :
• 1 bus programme (P)
• 2 bus de lecture des données (C et D)
• 1 bus d’écriture des données (E)

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Cache d'instructions

• Cache = mémoire associative rapide


• Contient les dernières instructions exécutées
• Utile en cas de boucle
• Accès aux instructions sans accès en mémoire programme
• Libère le bus pour des données
• Pas appliqué aux données
• Problème de validation du temps réel

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Bus externe dans une architecture Harvard modifiée

Transfert entre les bus


internes et externe par • Limitation du nombre de broches
multiplexage temporel • Réduction des coûts
• Diminution des performances lors des accès au bus externe

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre1 I:
: Architectures
Systèmes automatisés
des DSP Unité de mémorisation

Accès à la mémoire: Accès Direct à la Mémoire (DMA : Direct Memory Access)


Les données circulant de, ou vers, la mémoire sont transférées directement
par le contrôleur, sans intervention du CPU

• Accès DMA : entrées - sorties vers la mémoire interne


• Indépendants du CPU et des bus internes
• Le DMA est nécessaire pour conserver la fluidité d'utilisation d'un système
multitâche.
• Système d'interruptions "données reçues"/"données transmises"

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de mémorisation

Mode d’adressage
• Un mode d'adressage constitue la façon dont une instruction particulière
accède aux opérandes qu’elle doit manipuler.
• Les modes d'adressages sont donc liés aux instructions elles-mêmes.
• Tous les modes d'adressages ne sont pas disponibles pour toutes les
instructions.
• Pour une instruction qui manipule plusieurs opérandes, les différents
opérandes peuvent être accédés avec des modes d’adressage

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de mémorisation

Mode d’adressage
Adressage immédiat
Dans ce mode d'adressage un opérande se trouve dans l'instruction elle-même. On
obtient l’opérande sans avoir à faire un accès supplémentaire à la
mémoire puisque ce dernier fait partie intégrante de l'instruction, d'où le
qualificatif immédiat

Adressage direct
le champ opérande de l'instruction contient l'adresse effective de l’opérande
et on doit faire un accès à la mémoire pour obtenir ce dernier

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de mémorisation

Mode d’adressage
Adressage basé (relatif):
Dans les instructions les opérandes sont repères par des adresses relatives qui sont
utilisées au moment de l’exécution avec le contenu d’un registre de base pour déterminer
les adresses effectives des opérandes.

L'adresse effective de l’opérande est calculée au moment de l’ exécution de


l'instruction par addition du contenu du registre de base à l'adresse relative de
l’opérande située dans l'instruction (souvent appelée déplacement):

adresse effective = adresse de base + déplacement

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de mémorisation

Mode d’adressage
Adressage indexé
Ce mode d'adressage est semblable au mode d'adressage basé. Le calcul de l'adresse
effective de l’opérande d’une instruction consiste encore à ajouter à l'adresse de
l’opérande le contenu d'un registre d'index.
Dans ce cas le calcul de l'adresse effective peut alors être résumé par:

adresse effective = adresse de base + contenu du registre d'index.

L’adresse de base est située dans l’instruction. Contrairement au registre de base dont
la valeur reste généralement constante au cours de l’ exécution d'un programme

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de mémorisation

Mode d’adressage
Adressage indirect
Dans ce mode d'adressage, le champ adresse de l'instruction ne contient plus
l'adresse de l’opérande, mais l'adresse d'une position mémoire qui, elle, contient
l'adresse de l’opérande

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de mémorisation

Mode d’adressage spécifiques


– Circulaire (ou modulo) : utilisé dans les filtres RIF, RII, la convolution...

– Bit reverse (ou inversion de bits) : utilisé dans la FFT


Pour faire des calculs comme la FFT, on peut
avoir besoin de manipuler directement certains
bits des adresses.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de mémorisation
Exemple de taux d’utilisation des modes d’adressage
Cas du TMS320C54x de Texas Instruments sur un ensemble de test de 54 routines
de TNS optimisées en assembleur

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de communication

Protocole JTAG

• Permet de piloter les unités internes du DSP


• Intégré́ par le constructeur lors de la conception du chip
• Utile pour le prototypage et le débogage d'applications
• Interruption momentanée en cours d’exécution
• Donne accès en lecture/modification aux
• Registres internes
• Mémoires internes, et éventuellement externes
• Ports d’ entrées/sorties

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Unité de communication

Unité de communication

• Périphériques intègres:
• ports séries
• ports parallèles
• Timers
• Dma
• générateur de wait state
• host port
• PLL
• Connexion aisée aux CAN et CNA:
• les CAN/CNA ne sont généralement pas intègres dans les
DSP afin de pouvoir choisir un CAN/CNA en adéquation avec
l’application

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre
Chapitre 2I:: Architectures
Systèmes automatisés
des DSP Unité de communication

Exemple du TMS320C5416

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Exemple DSP
Exemple : Diagramme bloc du TMS320C54x

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Exemples DSP

Exemple : Diagramme bloc du TMS320C5x

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 2 : Architectures des DSP Exemples DSP
Exemple : Diagramme bloc du TMS320C3x

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP

Chapitre 3 : Implémentation des DSP

Pr. Mohamed LAMHAMDI

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre I:
Chapitre 3 : Systèmes automatisés
Implémentation des DSP Plan du cours

q Approche de développement
⁃ Organigramme développement
⁃ Cycle de développement
⁃ La partie matérielle
⁃ La partie logicielle
⁃ Définition des ressources nécessaires
⁃ La sélection du DSP le plus adapté
q Structure matérielle de développement
⁃ Le simulateur
⁃ Le module d’évaluation
⁃ L’émulateur temps réel
q Structure logicielle de développement
⁃ Les logiciels de développement
⁃ Développement en C ou en assembleur
⁃ Inefficacité des compilateurs C
⁃ Organigramme d’un système de développement de
Logiciel pour DSP

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

Cycle de développement

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

Cycle de développement

• Conception fonctionnelle
• Spécifications du flot de données du TS,
• Simulation, validation
• Prototypage rapide
Matlab/Simulink (Mathworks), SPW (CoWare), Cossap (Synopsys), Ptolemy (Université de
berkley)
• Développement du code
• Implantation matérielle : code VHDL
• Implantation logicielle : code C, Ass

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

Cycle de développement

• Implantation matérielle
• Synthèse du circuit
• Simulation VHDL et validation
• Analyse des performances
• Test
• Implantation logicielle
• Génération de code (compilateur C/ass, linker)
• Test & Debug : validation du code
• Analyse : mesure des performances

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

Cycle de développement

Mise au point du logiciel - Debugging


• Simulateur au niveau instruction
Mise au point avant que le matériel soit disponible
• Emulation du Hardware
On-chip debugging/emulation : IEEE 1179.1 JTAG standard
• Carte de développement
• Vérification temps réel de l’algorithme
• Système avec des faibles volumes de production

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

Partie matérielle

• Elle inclue la mise en œuvre du DSP

• La création d’une chaine d’acquisition et/ou de restitution du signal


(parfois des signaux) à traiter.

• Les moyens de transformation du signal analogique vers le domaine


numérique s’appuient eux aussi sur des circuits spécialisées ( CNA,
CAN...)

• Le choix des performances à obtenir et des moyens pour réaliser la


chaîne d’acquisition et/ou restitution du signal est primordial pour
exploiter au mieux les capacités d’un DSP.

• L’objectif est de rendre l’application finale homogène, ergonomique,


et ayant un coût de fabrication industriel approprié.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement
La partie logicielle

• Elle s’appuie sur des outils classiques adaptés aux spécificités des DSP.

• L’approche est différentes de celle utilisée pour la partie matérielle, car il est
toujours possible de recommencer autant de fois que nécessaire pour arriver
au résultat.

• Seul un temps de développement trop limité ou une mauvaise évaluation de


départ des capacités du DSP cible peut créer des problèmes de
développements.

• La conception logicielle n’en est pas plus facile pour autant, car le programme
réalise l’essentiel du traitement du signal.

• Le rôle du DSP ne se limite pas au seul traitement numérique du signal, un DSP


peut assurer les mêmes fonctions qu’un microprocesseur « normal », et donc
être le cœur du système informatique de l’application.

• Un DSP peut exécuter à la fois un système d’exploitation temps réel et


assurer les fonctions de traitement numérique du signal.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

Définition des ressources nécessaires

• Cette phase doit permettre d’évaluer les besoins nécessaires à la mise en


œuvre du système de traitement numérique du signal voulu.
• Consiste notamment à définir les spécifications de la chaîne d’acquisition et de
restitution du signal, telles que :
• La résolution (nombre de bits nécessaires pour quantifier le signal),
• La vitesse d’échantillonnage (critère de Shannon),
• La technologie et donc le type de convertisseurs utilisé,
• Les filtres anti-repliements s'ils ne sont pas intègres dans les
convertisseurs.
• Elle permet de cerner tous les besoins du système numérique,
• La consommation de courant
• L’autonomie pour une application portable,
• Les bus nécessaires à l’intégration de l’application dans un système hôte

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

La sélection du DSP le plus adapté

• Se base avant tout sur la puissance de traitement nécessaire, et sur le résultat


de benchmarks réalisant des fonctions représentatives des traitements à
réaliser.

• Toutefois, la performance du DSP n’est pas le seul critère à prendre en


compte, il faut également tenir compte des impératifs suivants :

• Le type de DSP à utiliser (virgule fixe ou flottante) en fonction du


domaine d’application.
• Les ressources mémoires utilisés,
• Les besoins d’un ou de plusieurs timers internes, de ports série synchrones
ou asynchrone, etc.
• La nécessité éventuelle d’ exécuter un système temps réel, qui s’avèrera
plus facile à implanter sur certains DSP.
• Le coût du DSP, son rapport « performance/prix » en fonction du volume
de production envisagé.
• La pérennité́ du produit, c’est–à-dire l’ évolution prévue par le fabricant
(roadmap).

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Approche de développement

La sélection du DSP le plus adapté


D’autres éléments non négligeables interviennent dans le choix d’un DSP, il s’agit des
moyens disponibles pour mener le développement en un temps donné, comme :

• La qualité́ de la documentation (de préférence claire et abondante).


• La disponibilité́ de notes d’applications, d’un support technique.
• La qualité́ du système de développement utilisé.
• La possibilité́ d’utiliser un langage de haut niveau (Langage C).
• La présence de librairies (du constructeur ou de tierces parties).
• La possibilité́ de réaliser facilement des prototypes et à faible coût.

Le choix n’est pas toujours simple et certains critères peuvent être


contradictoires,

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure matérielle de développement

Un environnement (ou système) de développement pour DSP peut être scindé en


deux parties principales :

• Un environnement de développement pour créer et mettre en forme le logiciel de


l’application (création du source, utilisation des bibliothèques, assemblage).

• Un environnement de développement utilisant des outils spécifiques pour tester


et déboguer le logiciel de l’application (simulateur, module d’évaluation,
émulateur).

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure matérielle de développement

Le simulateur
• Le simulateur est un programme particulier exécuté́ par un PC ou une station
de travail.
• Son rôle consiste à simuler le plus exactement possible le fonctionnement du
DSP cible.
• Ne nécessite pas la mise en œuvre du DSP cible, le test d’un module logiciel
peut donc se faire rapidement dès sa création.
• L’interface utilisateur du simulateur permet de consulter :
• Les mémoires,
• Tous les registres internes du DSP,
• Ses entrées/sorties, etc.
• Le simulateur exécute chaque instruction DSP comme le ferai le DSP lui-
même, et en répercute les résultats dans les mémoires et les registres
simulés.
• L’écriture d’un logiciel DSP est un processus très itératif, la disponibilité́ d’un
simulateur est donc toujours appréciable au gain de temps de développement.
• L’inconvénient est que le logiciel DSP en cours de développement n’est pas du
tout exécuté en temps réel.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure matérielle de développement
Le module d’évaluation
• Se présente sous la forme d’une carte électronique incorporant le DSP cible
et le minimum des ressources nécessaires à sa mise en œuvre, (mémoires
externes, une liaison série RS232, et une alimentation…).
• La partie matérielle est figée et n’est pas (ou alors très peu) évolutive. Un
module d’évaluation s’utilise donc généralement « tel quel », et est surtout
utile quand ses caractéristiques recouvrent celles de l’application à
développer.
• Le module est piloté à partir d’un logiciel adéquat exécuté par un PC.
• La communication avec le module d’évaluation s’effectue au travers d’une
liaison série (USB ou RS232) s’il s’agit d’un modelé autonome, ou à via un bus
du PC s’il s’agit d’une carte à enficher.
• Le programme à tester est téléchargé dans le module pour être exécuté par le
DSP. Comme le simulateur, le module d’évaluation permet de consulter la
mémoire et les registres du DSP à volonté́.
• Il permet également de poser des points d’arrêts simples aux endroits
stratégiques du code à déboguer.
• Un problème posé par les modules d’évaluations est la non disponibilité́ de
l’ensemble des ressources du DSP. En effet, en plus du code à tester, le DSP
exécute également un mini moniteur de débogage, chargé de communiquer

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure matérielle de développement
Le module d’évaluation

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure matérielle de développement

L’émulateur temps réel

• L’émulateur temps réel est l’outil privilégié pour développer des applications DSP.
C’est l’outil le plus souple et le plus performant, (pas des limitations).
• Son rôle consiste à émuler en temps réel le fonctionnement du DSP au sein même
du prototype de l’application à développer.
• Les ressources du DSP cible sont libres pour tester non seulement le code du
programme de l’application, mais également le fonctionnement du prototype.
• un émulateur est piloté par un PC, (Possibilité d’examiner la mémoire et les
registres du DSP).
• Il est également possible de poser des points d’arrêts à déclenchements
sophistiqués,
• Un émulateur permet de garder une trace des instructions exécutées dans telle
ou telle partie du code à tester, (facilite le débogage).
• Un émulateur reste néanmoins handicapé par son prix élevé́ dont il faut tenir
compte dans le coût global d’un développement.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure matérielle de développement
L’émulateur temps réel

les DSP récents incluent directement dans leurs cœurs des fonctions
d’émulation (points d’ arrêts, registres spéciaux, etc.) Cette approche permet
de simplifier la conception des émulateurs et tends à les rendre moins chers

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure logicielle de développement
Les logiciels de développement: Le langage C
• Le langage C présente l’avantage d’être connu par la plupart des
ingénieurs amenés à travailler dans le domaine du traitement du
numérique du signal.
• Un programme DSP écrit en langage C peut donc être compris
relativement facilement par un grand nombre de personnes, sans qu’elles
aient besoin de connaitre précisément le DSP cible.
• La portabilité́ du langage C permet de d’utiliser un programme sur des
DSP fabriqués par différents constructeurs.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure logicielle de développement
Les logiciels de développement: Assembleur

L’assembleur est le seul langage permettant d’utiliser totalement les possibilités


spécifiques de tel ou tel DSP.

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure logicielle de développement
Développement en C ou en assembleur

• Développement en assembleur :
• Le code est optimisé
• Le code n’est pas portable
• Demande du savoir faire
• Développement en C :
• Plus abordable rapidement
• Beaucoup moins performant et pas aussi simple ...
• Conseils :
• ne pas déclarer ses variables en float (chaque opération fera appel à des routines
de la bibliothèque de calcul en flottant)
• déclarer les variables en int et les recadrages sont gérés par des décalages :
• nécessité de connaître les conventions utilisées par le compilateur
– ex: renvoi d ’une donnée en double précision en mémoire

• Même lorsqu’ils sont spécialement optimisés pour le DSP cible, les compilateurs
C ne permettent pas de générer un programme ayant les performances d’un
code bien écrit en assembleur par un développeur confirmé.

Exemple: un algorithme de codage LPC (codage prédictif linéaire ) est ainsi


estimé 1,5 fois plus rapide quand il est implémenté en assembleur plutôt qu’en C

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure logicielle de développement

Inefficacité des compilateurs C: Analyse du surcoût associé au compilateur C

• Facteur 4 à 10 (virgule fixe)


• Facteur 2 à 4 (flottants)
• Meilleurs performances pour les DSP plus généraux et les DSP virgule
flottante / architecture homogène

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure logicielle de développement

Inefficacité des compilateurs C : Les raisons de l’inefficacité

• Inadéquation du langage C pour décrire des applications TNS


– Absence de support pour l’arithmétique virgule fixe Extensions du
langage C Langage orienté signal

• Inefficacité des techniques classiques de développement des


compilateurs (développement du DSP puis du compilateur)

• Inefficacité des techniques classiques de compilation qui ont été


développées pour les architectures homogènes
– Les architectures des DSP conventionnels sont hétérogènes

• Absence de support pour les spécificités des DSP


– Registres d’état, modes d’adressage (modulo, bit inversé)...

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI


Chapitre 3 : Implémentation des DSP Structure logicielle de développement
Organigramme d’un système de développement de logiciel pour DSP

Master - 2 : Automatique, Traitement du signal et Informatique industrielle Pr: Mohamed LAMHAMDI

Vous aimerez peut-être aussi