Telechargé par Omar Zamrani

DSP

publicité
Processeurs de traitement numérique de signal
DSP : Digital Signal Processor
Hicham Ghennioui
mailto:[email protected]
Université Sidi Mohamed Ben Abdellah
Faculté des Sciences et Techniques
Département de génie électrique
http://www.fst-usmba.ac.ma/departement-genie-electrique/
Retrouver tous les documents de Cours/TD/TP sur le site:
https://www.easyclass.com/
A.U. 2018-2019
PLAN
N GÉNÉRALITÉS SUR LES PROCESSEURS DE TRAITEMENT DE SIGNAL
n Chaîne de traitement numérique de signal
n Introduction aux processeurs de traitement de signal
N ARCHITECTURE D’UN PROCESSEUR DSP
n
n
n
n
n
n
Architecture générale d’un DSP
Structure interne du CPU
Unité de génération d’adresse
Unité de commande
Unité de calcul
Unité de mémorisation
N ENVIRONNEMENT DE TRAVAIL
n Installation de Hyperviseur VirtualBox et création d’une machine virtuelle
n Code Composer Studio 3.1
n Développement pour un DSP
CHAPITRE 1 - GÉNÉRALITÉS SUR LES
PROCESSEURS DE TRAITEMENT DU
SIGNAL
CHAÎNE DE TNS À BASE DE DSP
CAN : Convertisseur Analogique
Signal original Numérique
Filtres anti-repliement et de lissage
sont des filtres passe-bas
Capteur
Signal traité
DSP (Digital Signal Processor): c’est un
circuit intégré conçu pour des
manipulations de données à grande
vitesse. Il est le cœur de la chaîne de TNS.
Actionneur
Mémoires
G
Filtre antirepliement
fs
Numérisation
Cours DSP -Hicham Ghennioui
CAN
DSP
CNA :
Convertisseur
Numérique
Analogique
CNA
Ports E/S
4
Filtre de
lissage
Reconstruction
CHAÎNE DE TNS À BASE DE DSP
- EXEMPLES
D’APPLICATION -
n Lecteur MP3 dictaphone
Source ti.com
§Les GPIO (General Purpose Input/Output) sont des ports d'entrée/sortie pour un usage
général
§I2S, également appelé Inter-IC Sound, Integrated Interchip Sound, ou IIS, un standard
d'interface électrique de type serial bus pour connecter des matériels audio numériques. Il est
principalement utilisé pour transporter des informations PCM entre le CD et le CNA dans un
lecteur de CD.
§Une liaison SPI (Serial Peripheral Interface) est un bus de données série synchrone qui opère
en mode Full-duplex. Les circuits communiquent selon un schéma maître-esclaves, où le maître
s'occupe totalement de la communication. Plusieurs esclaves peuvent coexister sur un même bus,
dans ce cas, la sélection du destinataire se fait par une ligne dédiée entre le maître et l'esclave
appelée Slave Select (SS).
CHAÎNE DE TNS À BASE DE DSP
- EXEMPLES
D’APPLICATION -
n Appareil photo numérique
Source ti.com
Cours DSP -Hicham Ghennioui
6
CHAÎNE DE TNS À BASE DE DSP
- AVANTAGES
DU TNS À BASE DE DSP -
n Stabilité
q Robustesse (Insensibilité à l’environnement) : en analogique, les
composants sont toujours plus ou moins soumis à des variations de leurs
caractéristiques en fonction de la température, de la tension
d’alimentation, du vieillissement, etc.)
q Précision : elle est connue et contrôlée (calculable par le nombre de bits)
q Reproductibilité : un programme réalisant un traitement est
parfaitement reproductible (en analogique, un montage analogique ne
peut pas être reproductible à l’identique car les valeurs des composants
analogiques sont définies avec une marge de précision plus ou moins
grande)
CHAÎNE DE TNS À BASE DE DSP
- AVANTAGES
DU TNS À BASE DE DSP -
n Souplesse
q Un DSP exécute un programme de TNS souplesse
q Reconfigurabilité : évoluer les fonctions de traitements numériques en
fonction des mises à jour des programmes pendant toute la durée de vie
du produit à base de DSP (la modification par exemple tel ou tel
paramètre d’un filtre numérique ne nécessite pas un changement
matériel)
q Implémentation des algorithmes adaptatifs : adapter une fonction de
traitement numérique en temps réel suivant certains critères
d’évolutions (exemple : filtres adaptatifs)
q Possibilités propres au numérique: certaines fonctions de TS sont
difficiles à implanter en analogique, voire irréalisables
CHAÎNE DE TNS À BASE DE DSP
-
ANALOGIQUE vs NUMÉRIQUENumérique
Précision / RSB
Source de bruit
Reconfigurabilité
Analogique
Fixe et connue dépendant de la Dépendant de la qualité
taille des mots mémoire
des composants
(16/24/32 bits)
Quantification
Electromagnétique,
température, humidité,
vieillissement
Mise à jour (changer) du logiciel Calibration ou changer
matériel
Vitesse
Faible bande passante limitée
par l’échantillonnage
Complexité
Du matériel et du logiciel
coût élevé pour des réalisations
simples
Cours DSP -Hicham Ghennioui
Peut travailler à haute
fréquence
9
Simple coût faible
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP ? -
n Opérations classiques en TNS
q Addition/Soustraction : ces deux opérations sont effectuées tout simplement
par des microprocesseurs à usage général en une seule ou très peu de cycles
d'horloge
q Multiplication/Division : les processeurs à usage général exécutent ces deux
opérations séquentiellement (série de changement shift et addition). Elles
peuvent être effectuées en beaucoup de cycles d’horloge processeurs assez
lentes
Þ Un DSP effectue ces opérations en seul cycle d’horloge en effectuant le
shift et l’addition en parallèle DSP rapide
q MAC (Multiply and Accumulate, Multiplication-Accumulation): la plupart des
DSP ont une unité spécialisée (MAC) permettant de multiplier, ajouter et
sauvegarder le résultat en un seul cycle.
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP? -
n Exemple de filtrage numérique
q Fonction de transfert d’un filtre numérique
q Exigence : pour réaliser le filtrage, la durée de traitement T doit être inférieure
à la période d’échantillonnage Te
Horloge
d’acquisition
Te
Temps
Activité
processeur
T
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP? -
n Exemple de filtrage numérique (suite 1)
q MAC : chaque étape nécessite une multiplication puis une addition, et enfin
l’écriture en mémoire du résultat.
Þ la nécessité de l’exécution rapide de l’opération MAC
q Accès parallèle à la mémoire : l’exécution d’une opération MAC nécessite 3
lectures ( instruction, échantillon de donnée, et coefficient du filtre) et une
écriture (résultat) dans la mémoire
Þ la nécessité de l’accès parallèle à la mémoire.
q Problèmes
§
§
§
§
§
Temps d’accès aux échantillons
Temps d’accès aux coefficients
Gestion des pointeurs d’adresse mémoire
Multiplication lente (plusieurs cycles d’horloge)
Stockage du résultat
Cours DSP -Hicham Ghennioui
12
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP? -
n Exemple de filtrage numérique (suite 2)
q Filtre RIF
q Constat : Pour chaque a[i]x[n-i], on a besoin de,
§
§
3 accès à la mémoire : recherche de l’instruction, recherche du coefficient a[i] et
recherche de l’échantillon x[n-i]
2 accès à l’unité de calcul : multiplication a[i]x[n-i] et accumulation a[i-1]x[n-i-1]
+a[i]x[n-i]
q Objectifs
§
§
Réduire les accès à la mémoire et augmenter les accès simultanés (architecture
Harvard)
Réduire le temps de calcul (MAC en un seul cycle d’horloge)
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP? -
n Architecture Von Neuman pour un P
Bus d’adresse
Horloge
§
§
§
CPU
Mémoire
Bus de contrôle
Données et
Bus de données (bidirectionnel)
transmet
entre le CPU et les
Bus de
données les donnés
instructions
périphériques
Bus d'adresses (unidirectionnel) par lequel le CPU indique à l'ensemble des
Périphériques
Monde
périphériques avec lequel il veut
échanger de l'information,
et extérieur
dans ce périphérique à
quel registre particulier il veut accéder. Le bus d'adresse transporte de l'information
du CPU vers les périphériques.
Bus de contrôle sur lequel circulent les signaux qui servent à contrôler et synchroniser
les échanges entre le CPU et les différents périphériques du système
Cours DSP -Hicham Ghennioui
14
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP? -
n Solution proposée par un DSP
q Gestion automatisés des pointeurs pour les boucles
q Eviter le goulot d’étranglement : un DSP réalise plusieurs accès mémoire
en un seul cycle, grâce à l’architecture Harvard (à comparer avec
l’architecture Von Neuman des μp classiques).
q Multiplication rapide : contrairement aux μp classiques, un DSP
réalise le MAC en un cycle d’horloge grâce à un circuit multiplieur
Cours DSP -Hicham Ghennioui
15
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP? -
n Architecture Harvard pour un DSP
Mémoire
programme
Bus d’adresse
DM
Bus d’adresse
PM
Bus de contrôle
CPU
Seulement
instructions
Bus de contrôle
Mémoire
données
Seulement les
données
Bus de donnée
Bus dede
donnée
q Bus programme
transfert des instructions
la mémoire vers le CPU
PM3
DM
q Bus de données échange de données entre le CPU et les périphériques
Horloge
Cours DSP -Hicham Ghennioui
Périphériques
Monde extérieur
16
TRODUCTION AUX PROCESSEURS DE TNS
POURQUOI LES DSP? -
n Architecture Harvard pour un DSP (suite)
Architecture Harvard pour un DSP
Source IRISA
ALU : Arithmetic
Logic Unit
AGU
: Address
Generation Unit
Cours DSP -Hicham Ghennioui
17
TRODUCTION AUX PROCESSEURS DE TNS
MICROPROCESSEUR vs DSP- Microprocesseur
DSP
Usage
Général
Spécialisé
Architecture
Von Neuman
Harvard
Format interne
Fixé
Varié
Accès
À une mémoire unique
À plusieurs blocs-mémoires
Nombre de cycles
d’horloge pour la
100
1
Modes d’adressage
Général
Spéciaux (circulaire, inversion de
bits, …)
Mémoire
Interne
Externe
Multi-processing
Pas prévu
Possibilité de raccorder des DSP
entre eux
Entrées-Sorties
Pas
Oui (RS-232, CODEC, réseau...)
Fréquence d’horloge Unique
Cours DSP -Hicham Ghennioui
Variable (Basse consommation par
contrôle de la fréquence d’horloge)
18
TRODUCTION AUX PROCESSEURS DE TNS
BREF HISTORIQUE DES DSP n Avant la 1ère génération
q 1965 : le constructeur ‘‘Digital equipment’’ commercialise une série des miniordinateurs PDP (Programmable Data Processor) (processeur 12 bits, cycle de
1.5 s , 4Kmots de 12 bits de mémoire avec un prix de 18000 $). IBM vend les
IBM 1800
q 1970 : les premiers microprocesseurs (le F8 de Fairchild, certains Mostek,
le 8085 d'Intel et d'autres) à usage industriel ont vu le jour.
•
•
•
•
Ils ne sont pas spécialisés dans le traitement du signal.
La microprogrammabilité est parfois utilisée : c'est le cas du Multi 6 et des
microprocesseurs AMD2900. Une version du Multi 6 fait la transformation de
Fourier. Une autre version est un gestionnaire de base de données.
Les DSP ont été initialement développés pour des applications de radars militaires et
de télécommunications cryptées
Les processeurs de traitement du signal sont issus des techniques de
microprocesseurs
Cours DSP -Hicham Ghennioui
19
TRODUCTION AUX PROCESSEURS DE TNS
BREF HISTORIQUE DES DSP n Avant la 1ère génération (1965-1979) (suite)
q 1978 : - Intel a introduit le 2920 comme un «processeur de signal analogique »
(composé d’un ADC/DAC et un processeur de signal interne). Il n'a pas eu un
multiplicateur matériel et il n'a pas réussi sur le marché
- Texas Instruments introduit un DSP pour la synthèse de la voix pour
des applications très grand public
q 1979 : AMI a introduit le S2811. Il a été conçu comme un microprocesseur
périphérique (doit être initialisé par l'hôte.) Le S2811 n’a pas connu de succès sur
le marché.
Cours DSP -Hicham Ghennioui
20
TRODUCTION AUX PROCESSEURS DE TNS
BREF HISTORIQUE DES DSP n 1ère génération (1979-1987)
q 1979 : Bell Labs a présenté le premier DSP à puce unique, le microprocesseur
Mac 4
q 1980 : les premiers DSP complets (NEC μPD7720 et AT & T DSP1) ont été
présentés dans «IEEE International Solid-State Circuits Conference '80 ». Ils ont
été inspirés par la recherche dans les PSTN.
q 1983 : L'expression DSP apparaît pour le TMS32010 de Texas Instruments qui
est présenté comme un processeur pour modem. Il est basé sur l’architecture
Harvard (séparation de mémoires programmes et données). Il avait déjà un jeu
d’instructions spéciales (load-and-accumulate ou multiply-and accumulate). Il
pourrait travailler sur 16 bits et une opération de multiplication-addition
nécessite 390ns. Un autre succès était le Motorola 65000.
TRODUCTION AUX PROCESSEURS DE TNS
BREF HISTORIQUE DES DSP n 2ème génération (1988-1995)
q Les DSP de la seconde génération (AT&T DSP16A et Motorola DSP56001)
avaient 3 mémoires pour stocker deux opérandes simultanément, inclus le
matériel pour accélérer les boucles et ils avaient une unité pour l’adressage des
boucles. Certains d'entre eux fonctionnant sur 24 bits. Une opération MAC
(Multiplication-accumulation) nécessite 21 ns
q 1988 : L'unité de calcul en virgule flottante apparaît dans le TMS320C3x
(technique CMOS).
q 1990 : Le premier DSP conçu pour le parallélisme architectural est
le TMSC320C4x
q À partir de 1991: les DSP deviennent des composants incontournables de
l'électronique grand public.
TRODUCTION AUX PROCESSEURS DE TNS
BREF HISTORIQUE DES DSP n 3ème génération (1996-2002)
q La principale amélioration de la 3ème génération (Motorola MC68356, TI
TMS320C541, TMS320C80) a été l'apparition d'unités spécifiques (les
instructions dans le chemin de données, ou parfois comme coprocesseurs). Ces
unités ont permis l'accélération matérielle directe de problèmes mathématiques
très spécifiques, mais complexes, comme la transformée de Fourier ou les
opérations matricielles.
n 4ème génération (à partir de 2002)
q La quatrième génération est mieux caractérisée par les changements dans le jeu
d'instructions et le codage/décodage d'instruction. extensions SIMD et MMX ont
été ajoutés; VLIW (empaquetage de plusieurs instructions de type RISC dans une
seule "super-instruction") et l'architecture super-scalaire (exécution parallèle de
plusieurs instructions sélectionnées dynamiquement par le processeur) sont
apparus. Un MAC nécessite seulement 3ns
q Les DSP offrent actuellement plus de 100 MIPS (Million Instructions Per Second)
pour des prix qui vont de 5 à 100 dollars pièce
Cours DSP -Hicham Ghennioui
23
TRODUCTION AUX PROCESSEURS DE TNS
BREF HISTORIQUE DES DSP -
Source IRISA
Cours DSP -Hicham Ghennioui
24
TRODUCTION AUX PROCESSEURS DE TNS
BREF HISTORIQUE DES DSP n Evolution des DSP
q Améliorer les performances (réduire le temps nécessaire pour effectuer une
opération MAC)
q Augmenter le parallélisme,
•
•
augmenter le nombre d’opération exécutées dans une instruction : ajouter des unités
d'exécution (multiplieur, additionneur, …, taille d’instruction à augmenter, taille du
bus de transfert mémoire à augmenter et jeu d'instruction à enrichir) et augmenter
les capacités SIMD (Single Instruction Multiple Data : instructions qui peuvent
effectuer plusieurs opérations en parallèle, sur des données différentes)
augmenter le nombre d’instructions par cycle
q Ajouter des unités spécialisées
q Améliorer le contrôle
q Utiliser un coprocesseur ou utiliser des architectures hybrides DSP/MCU
Cours DSP -Hicham Ghennioui
25
TRODUCTION AUX PROCESSEURS DE TNS
CLASSIFICATION DES PROCESSEURS Processeurs
Généralistes (GPP)
Classiques
•Pentium
•PowerPC
•Alpha
•MIPS
contrôleurs
•16F876 (8 bits, mémoire
programme de type Flash,
chaque ligne mémoire est un
mot de 14 bits)
•PIC (Peripheral Interface
Controller)
•…
Cours DSP -Hicham Ghennioui
Spécifiques
DSP
•ADSP-21
•DSP560xx
•DSP16xx
•TMS320C6x
•…
ASIC (Application Specific
Integrated Circuit)
ASSP (Application Specific
Standard Product)
FPGA (Field Programmable
Gate Array)
26
TRODUCTION AUX PROCESSEURS DE TNS
CLASSIFICATION DES PROCESSEURS q Processeurs GPP (General Purpose Processor) sont caractérisées par un coût et
une consommation élevés et de bonnes performances en calcul. L’inconvénient majeur
est la gestion des entrées-sorties. Contexte d’utilisation : Algorithmique de haut-niveau :
traitement d’image, intelligence artificielle...
q contrôleurs (presque tous à 8 bits) sont caractérisés par un coût et une
consommation électrique faibles, adaptés aux taches de contrôle (peu adaptés aux
signaux) et ils ont une mémoire limitée. Généralement, contexte d’utilisation des
contrôleurs et des DSP est : Acquisition et traitement de signal (filtrage linéaire,
calcul matriciel) à vitesse modérée, Pilotage système : gestion machine à état, PWM... Et
des applications à coût réduit - faible consommation d’énergie
q ASIC/ASSP ne sont pas programmables, coût élevé et la mise en œuvre complexe.
Contexte d’utilisation : Taches dédiées ultra-rapides (réseau Gbit, MPEG, ...), Très gros
volumes
q FPGA est un ASIC programmable. Contexte d’utilisation : Tâches dédiées rapides volumes faibles à moyens
TRODUCTION AUX PROCESSEURS DE TNS
CLASSIFICATION DES DSP DSP
Virgule fixe
Virgule flottante
Les données sont représentées comme étant des Les données sont représentées en utilisant une
nombres fractionnaires à virgule fixe, ou comme mantisse et un exposant:
n=mantisse*2exposant
des entiers classiques
16 bits
32 bits
24 bits
§ architecture simple
§ peu cher, consommation faible
§ programmation rigide (difficile) : le
programmeur doit rester vigilant à chaque
étape d’un calcul
Mantisse 24 et exposant
8 bits
§
§
§
§
architecture complexe
cher, consommation importante
programmation facile
Grande dynamique
Les virgules flottantes sont utilisées quand les
coefficients varient dans le temps (filtre
adaptatif) ou quand le signal a besoin d’une
grande dynamique.
TRODUCTION AUX PROCESSEURS DE TNS
RAPPEL SUR LE SYSTÈME DE NUMÉRATION BINAIRE n Représentation polynomiale d’un nombre réel non signé
n Système binaire
q Définition: base b = 2, ai{0,1}, appelés «éléments binaires» ou «bits»
(bit=Binary digIT) et le système binaire est pondéré par 2 (b=2) : les poids sont
les puissances de 2
q Exemple:
q Comptage binaire: Le bit le plus significatif – bit le plus à gauche – est appelé
« bit de poids fort » ou MSB (Most Significant Bit). Le bit le moins significatif –
bit le plus à droite – est appelé « bit de poids faible» ou LSB (Less Significant
Bit).
TRODUCTION AUX PROCESSEURS DE TNS
RAPPEL SUR LE SYSTÈME DE NUMÉRATION BINAIRE n Codage des nombres entiers
q Constat : Une cellule de mémoire ou de registre dans un microcontrôleur,
processeur ou un DSP est une unité contenant « 0 » ou « 1 ». Plusieurs de ces
cellules sont assemblées pour représenter un nombre binaire. Ces mémoires
sont indissociables et l’ordre d’assemblage donne le poids de chaque bit.
q Représentation des nombres positifs (non signés)
q Représentation des nombres entiers signés: chercher une convention pour
remplacer le signer « - »
on ajoute un bit à gauche du module pour le signe (0111=7, 1111=-7)
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
RAPPEL SUR LE SYSTÈME DE NUMÉRATION BINAIRE n Codage des nombres entiers
q Représentation des nombres entiers signés
§
Représentation des entiers en complément restreint (complément à 1) :
§
Représentation des entiers en complément vrai (complément à 2) :
§
Extension du signe : Pour un nombre positif (resp. négatif), les bits
supplémentaires de poids fort (à gauche) sont des « 0 » (resp. « 1 »)
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CODAGE DES NOMBRES n Codage des nombres réels : Pour représenter les nombres fractionnaires il
est nécessaire de définir la position de la virgule : pour ce faire, il existe deux
méthodes.
q La représentation en virgule fixe
q La représentation en virgule flottante
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FIXE n Définition (format (n,m,N))
n Structure d’un nombre placé dans un registre de n+m+1 bits
2n-2 2n-3
n -2nPrécision
maximale22
1
S
an-2
an-3
…
n
a2
21
20
2-1
2-2
2-3
a1
a0
a-1
a-2
a-3
Cours DSP -Hicham Ghennioui
…
m
2m+2
am+2
2m+1
am+1
2-m
a-m
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FIXE n Résolution (quantification) de codage en virgule fixe
n Domaine de définition d’un nombre au format n.m (a corriger)
n Erreur due à la quantification
q Définition : c’est la différence entre le nombre d’origine et sa reconstitution à
partir de son expression en binaire. Cet erreur vient du fait que le nombre de
bits pour exprimer un nombre fractionnaire étant limité
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FIXE n Erreur due à la quantification (suite)
q Exemple-erreur de quantification du nombre =3. 14159265358979
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FIXE n Format Qm,n (noté aussi Qn)
n Exemple
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FLOTTANTE n Représentation flottante
q Définition
q Exemples
Machine
HP 28 et 48G
B
n
emin ema
x
10 12 -499 499
Cours DSP -Hicham Ghennioui
Avant
1985,
c’était
impossible d’écrire du code
numérique portable
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FLOTTANTE n IEEE 754 : c’est le standard développé par IEEE (Institute of Electrical and
Electronics Engineers) pour le calcul arithmétique en virgule flottante. Il
spécifie la manière de représenter des nombre en simple précision (32 bits)
et double précision (64 bits).
q Structure d’un nombre: un nombre flottant est toujours représenté par un
triplet (s,E,M), s : Signe, E: exposant et M: mantisse
Signe (1 bit)
Exposant (N bits)
Mantisse (M bits): format 0.M
S
E1E2E3 … EN
F1F2F3 … F22FM
Représentation
N
Simple précision 8
M
Signe
Total
(1 implicite+) 23 (fraction)
1
32
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FLOTTANTE n IEEE 754 (suite 1)
q Représentation IEEE 754 d’un nombre
E
0,2N-1
0
F
Représentation
0
0
0
2N-1
0
0
Cours DSP -Hicham Ghennioui
(infinity)
NaN (No a Number)
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FLOTTANTE n IEEE 754 (suite 2)
q Exemples (simple précision)
E
0,255
0
F
Représentation
-
(-1)S2(E127).(1.F)
0
1 10000001 10100000000000000000000(-1)12(129-127).1.101=6.5
1 00000000 00000000000000000000000-0
(-1)S2(126).(0.F)
infinity
0 00000000 10000000000000000000000(-1)02(-126).0.1=2(-127)
0
0
255
0
Exemple
0 11111111 00000000000000000000000infinity
Cours DSP -Hicham Ghennioui
40
TRODUCTION AUX PROCESSEURS DE TNS
REPRÉSENTATION EN VIRGULE FLOTTANTE n Résolution ou quantification du codage en virgule flottante
n Domaine de définition d’un nombre en virgule flottante
n Dynamique
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
VIRGULE FIXE VS VIRGULE FLOTTANTE § Comparaison de la dynamique
§
§
§
§
La dynamique d’un nombre en virgule
fixe est linéaire
Pour N=16 bits, la dynamique est la
même pour les deux types de codage
Pour des N <16, la dynamique du
codage virgule fixe est supérieure
Pour un nombre de bits élevé (supérieur à 25), le codage virgule flottante montre
son intérêt par sa dynamique très importante
la représentation virgule
flottante sur 32 bits peut être utilisée dans la plupart des applications sans aucun
risque de débordement
TRODUCTION AUX PROCESSEURS DE TNS
VIRGULE FIXE VS VIRGULE FLOTTANTE n Comparaison du Rapport Signal à Bruit de
Quantification (RSBQ)
q Définition : rapport entre la puissance du signal
Px et la puissance de l’erreur de quantification Pe
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
VIRGULE FIXE VS VIRGULE FLOTTANTECritère
Fixe (95% des DSP)
Flottante
Complexité hard
Simple
Complexe
Complexité prog
Elevée
Faible
Consommation
Faible
Elevée
Dynamique
Réduite (max 190dB)
Étendue (max 1500dB)
Calcul
rapide
Lent
Coût
Faible
Elevé (2, 4 fois plus chers)
Application
Produits de grande
diffusion où le coût
est
un
facteur
important : Contrôle
industriel,
communications,
instrumentation,
parole,
médical,
militaire…
• Les coefficients varient dans le temps
(exemple : les filtres adaptatifs),
• Le signal et les coefficients ont besoin d’une
grande dynamique,
• La structure mémoire est importante
(exemple : traitement d’image),
• La précision est recherchée sur toute une
gamme dynamique importante (exemple :
traitements audiophoniques de qualité
professionnelle).
Audio professionnel, vidéo, médical…
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
OPÉRATIONS ARITHMÉTIQUES n Addition dans une unité arithmétique et logique : On considère deux
nombres fractionnaires A et B, codés en complément à deux,
A = SA
ANA-2ANA-3 …
q Règles d’addition et deA1A0
soustraction
§
§
§
A-1A-2 … A-MA+1AMA
Choisir un format commun tels que : NC=max(NA, NB) et MC=max(MA, MB)
Alignement de la virgule (insérer des 0 à droite)
Extension des bits des opérandes A et B selon les valeurs de (NC , MC) (ajouter
des 0 à droite et dupliquer le bit signe à gauche)
SASAANA-2ANA-3 … … … … …
A1A0
A-1A-2 … … … ... … A-MA+1A
-MA
SBSBSBSBBNB-2BNB-3 … … …
B1B0
B-1B-2 … B-MB+1B-MB00
Avec NR=NC+(1 : débordement si SA= SB SR) et MR=MC
TRODUCTION AUX PROCESSEURS DE TNS
OPÉRATIONS ARITHMÉTIQUES n Addition dans une unité arithmétique et logique
q Exemple de calcul
q Mécanisme de soustraction : on remplace l’opérande à soustraire (B) par son
complément à deux B+1 puis additionnée à la première opérande A
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
OPÉRATIONS ARITHMÉTIQUES n Multiplication dans un multiplicateur-Accumulateur
q Définition : la multiplication binaire (simple précision) est une suite de
décalages et d’additions (correspondant au produit de deux nombres de 16 bits)
q Remarque: le multiplicateur doit
savoir si le multiplicande et le
multiplicateur
sont
signés
(S:Signed) ou non (U:Unsigned).
q Exemples
§
Multiplication entre deux entiers
non-signés (UU)
TRODUCTION AUX PROCESSEURS DE TNS
OPÉRATIONS ARITHMÉTIQUES n Multiplication
dans
un
multiplicateur-Accumulateur
q Exemples
§
multiplicande
B
signé,
le
multiplicateur A non-signé (SU) : Les
opérations sont identiques à ceux de
la multiplication non signée, la seule
différence est l’extension du bit de
signe.
Si B est positif, la multiplication se
rapporte alors au cas de deux
nombres non signés (UU)
Il faut propager le bit de poids fort si il est à 1 dans l’étage
suivant pour garder des sommes intermédiaires négatives
(et cela seulement si le multiplicande est négatif)
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
OPÉRATIONS ARITHMÉTIQUES n Multiplication
dans
multiplicateur-Accumulateur
un
q Exemples
§
§
multiplicande B signé, le multiplicateur
A signé (SS) : faire une soustraction
pour le dernier pas de calcul car en
complément
à 2 (dans l’exemple
remplacer P3 par –P3 pour additionner)
multiplicande B non-signé, le multiplicateur A signé (US) :
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP n Puissance de calcul d’un DSP
q C’est un autre critère de classification des DSP
q La puissance de calcul dépend de la rapidité de l'exécution des instructions, et
donc de l'horloge
q Méthode de base d’évaluation de la vitesse d’exécution : compter le nombre
d’instructions effectuées par seconde au moyen du critère suivant,
§
MIPS (Million Instructions Per Second): il mesure le nombre de codes
machines (instructions) que le DSP peut effectuer en une seconde
q Problème : une instruction ne signifie pas forcément la même chose d’une
famille de DSP à l’autre
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP n Puissance de calcul d’un DSP (suite 1)
q D’autres critères de performances
§
§
§
MFLOPS (Million FLoating-point Operations Per Second): il est utilisé
uniquement pour les DSP à virgule flottante. Il mesure le nombre d’opérations à
virgule flottante (multiplications, additions, soustractions, etc.) que le DSP à virgule
flottante peut réaliser en une seconde
MOPS (Million Operations Per Second) : il mesure le nombre total d’opérations
(traitement des données, les accès DMA (Direct Memory Access), les transferts de
données, les opérations d’E/S, etc.) que le DSP peut effectuer en une seconde. Il
mesure alors les performances globales d’un DSP plutôt que ses seules capacités de
calcul
MBPS (Mega-Bytes Per Second) : il mesure la largeur de bande d’un bus particulier
ou d’un dispositif d’E/S, c’est à dire son taux de transfert
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP n Puissance de calcul d’un DSP (suite 2)
q Critère commun à tous les DSP
§
MACPS (MAC Par Second): il mesure le nombre d’opérations MAC par seconde. Ce
critère n’apporte pas beaucoup d’informations sur les performances des DSP
modernes. En effet, 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. Il faut également tenir compte du fait que
certains DSP en font plus dans un seul « MAC » (nombre, format et taille des
opérandes traités) que d’autres.
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP n Mesure du temps d’exécution (‘‘Benchmark’’)
q Pourquoi Benchmark?
§
Modes d’adressage : certains DSP proposent des modes d’adressages plus
performants que d’autres adapter le mode d’adressage aux algorithmes de
TNS (exemple : « bits reversing » pour accélérer les calculs des FFT)
§ Temps d’accès à la mémoire : certains DSP intègrent des blocs de mémoire vive
rapide (placée dans l’espace d’adressage du DSP au même titre que de la mémoire
vive externe)ranger données et programmes sans avoir à effectuer des transferts
permanents de ou vers l’extérieur (les éventuels cycles d’attentes pouvant être
nécessaires pour adresser une mémoire externe lente sont ainsi évités)
La mesure des performances par benchmark complète d’avantage la mesure
de vitesse pure
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP n Mesure du temps d’exécution (‘‘Benchmark’’) (suite 1)
q Comment ? mesurer le temps que met le DSP pour exécuter des programmes
« standards » de traitements du signal
q Problèmes:
§
Problème 1 : Quel Domaine d’applications faut-il choisir et quels sont les algorithmes
les plus représentatifs ?
il existe plusieurs systèmes de benchmark : BDT (Berkeley Design
Technology) est couramment utilisé, il mesure la vitesse (The BDTImark2000™),
l’utilisation de la mémoire (The BDTImemMark2000™), coût (The
BDTImark2000/$™), surface (The BDTImark2000/mm2™), énergie (The
BDTImark2000/Watt™)), ‘‘Standard Performance Evaluation Corporation’’
(fréquemment utilisé), SPEC95 (couvre plusieurs domaines tels que les vocodeurs,
l’asservissement en position des têtes de lectures des disques dur, les modems,
voire les applications multimédia sur PC)
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP n Mesure du temps d’exécution (‘‘Benchmark’’) (suite 2)
q Problèmes:
§
Problème 2 : qualité d’implémentation des algorithmes (varie d’un système à
un autre) un filtre numérique peut demander plus ou moins de ressources
de calcul en fonction de telle ou telle implémentation (Cet aspect n’est pas
pris en compte par les benchmarks)
La mesure des capacités d’un DSP par benchmark permet de mesurer la
performance globale
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP -
Source
ti.com
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP -
Source ti.com
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
COMPARAISON DE PERFORMANCES DES QUELQUES DSP -
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
EXERCICE -
On considère le DSP56156 caractérisé par 30 MIPS. On suppose que le
taux d’échantillonnage est de 48 kHz. Quel est le nombre d’instructions
maximum entre 2 échantillons ?
Solution :
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CRITÈRES DE PERFORMANCES DES DSP ADSP 219x
Nombre de cycles
Temps d’exécution-160MHz
Filtre FIR 1er ordre
1
6.25 ns
Biquad IIR Filter (4 coeff)
5
31.25 ns
48320
302 us
Division
19
118.75 ns
Sin/Cos
11
68.75 ns
Arctangente
13
81.25 ns
ln/log10
11
68.75 ns
FFT Complexe 1024 points
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
CONSTRUCTEURS DES DSP Rang Vendeur
Famille
Format
Données
Puissance (MIPS)
Fixe
Fixe
Flottant
Flottant
Fixe
Fixe
16
16
32
32
16
32
8.8
40
25
30
50
2400 (3.3 ns)
1
Texas
Instruments
TMS320C1x
TMS320C2x
TMS320C3x
TMS320C4x
TMS320C5x
TMS320C6x
2
Analog
Devices
ADSP-21 xx
ADSP-21
Fixe
Flottant
16
32
40
40
3
Motorola
DSP560xx
DSP960xx
StarCore
Fixe
Flottant
Fixe
24
32
16
40
40
1200
4
Lucent
DSP16xx
DSP32xx
Fixe
Flottant
16
32
40
40
D’autres fabricants : Qualcomm (Téléphonies mobiles), Microchip (propose 2 familles dénommées
Digital Signal Contrôler (dsPIC30F et dsPIC33F), qui sont des contrôleurs avec des capacités de calcul
renforcées et des périphériques de CAN), Nec, ...
TRODUCTION AUX PROCESSEURS DE TNS
NOMENCLATURE DES DSP DE TEXAS INSTRUMENTS -
TMS
320
C
Préfixe
Famille
TMX =
expérimental
TMP = Prototype
TMS = qualifié
…
32 ou
320
GDK
()
600
Technologie Composant
Package
température
Vitesse
C= CMOS
E = EPROM
…
GDK=548pin plastic
BGA
FN = 38lead
PLCC
…
A= –40°C à
105°C,
température
(C6000
DSPs)
Blank = =
0°C à 90°C,
température
commérciale,
par défaut
pour C6000
DSPs
…
Pour la
famille
C6000:
150, 167,
200, 233,
250, 300,
400, 500,
600, 720
MHz
…
Cours DSP -Hicham Ghennioui
6416
C6000 DSP
C5000 DSP
….
62
TRODUCTION AUX PROCESSEURS DE TNS
EXEMPLES D’APPLICATION DES DSP DSP
Application
TMS320Clx
Contrôle des disques durs dans les ordinateurs
TMS320C2x
ADSP-2105
Fonctionnement des fax
TMS320C5x
ADSP-21 01
Modems
TMS320C3x
ADSP-21010
Systèmes Hi-Fi, à synthèse vocale, et dans les processeurs
graphiques à 3 dimensions
TMS320C4x
TMS320C6x
ADSP-21020
Fonctionnement en parallèle, avec d’autres systèmes
processeurs (applications : la «réalité virtuelle» et la
reconnaissance d’images).
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
EXEMPLES D’APPLICATION DES DSP Taille des données
Application
1 à 4 – 18 à 22 bits
PWM (Pulse Width Modulation), mesures, contrôle
convertisseurs sigma-delta
6 à 14 bits
radio HF/VHF, radar
10 à 12 bits
Sonar
8 à 14 bits
Parole
16 à 20 bits
Audio
8 - 36 bits (par pixel)
Imagerie/Vidéo
16 à 18 bits
analyseurs de sang
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
RÉSUMÉ DES CARACTÉRISTIQUES D’UN DSP n DSP: c’est un P/C particulier dont,
l’architecture interne a été adaptée
pour le traitement du signal (Il intègre un ensemble de fonctions spéciales : bit
-reverse pour la FFT)
n Architecture : les DSP sont en général basés sur une architecture de Harvard
qui fait apparaître des bus de programme et de données distincts
n MAC et Pipeline : un DSP dispose de la multiplication-accumulation câblée
et les instructions sont essentiellement exécutées en un cycle d’horloge
(Architecture pipeline) : MR=XY+R
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
RÉSUMÉ DES CARACTÉRISTIQUES D’UN DSP n Format : si le DSP fonctionne en virgule fixe avec des données sur 16 bits, le
résultat MR=XY+R est alors sur 32 bits (ou plus, selon l'architecture). Si
l'utilisateur ne conserve que les 16 bits de poids fort, le calcul est alors
effectué en simple précision. Si les 32 bits sont utilisés, on parle de double
précision : le temps de calcul est alors plus long. Si le DSP fonctionne en virgule
flottante avec des données en 32 bits, le résultat MR est alors sur 40 bits (ou
plus, selon l'architecture). L’utilisateur ne prend en compte que les données
de 32 bits en ignorant les bits de poids faibles de la mantisse
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
RÉSUMÉ DES CARACTÉRISTIQUES D’UN DSP n Ressources intégrées : un certain nombre de ressources et de périphériques
sont intégrés sur la même puce afin d’optimiser les temps calcul : RAM/ROM,
entrées-sorties similaires à celles d'un c (liaison série, RS232C, timers, CNA et
CAN …)
n Loi de Moore : généralement, tous les processeurs vérifient la loi de Moore
(un des fondateurs d’Intel): la densité d'intégration des composants
doublerait tous les dix-huit mois.
Cours DSP -Hicham Ghennioui
TRODUCTION AUX PROCESSEURS DE TNS
RÉSUMÉ DES CARACTÉRISTIQUES D’UN DSP n Différence majeure entre un P et un DSP
q Un P a besoin de plusieurs cycles d’horloge pour effectuer une opération
(addition, multiplication, etc)
q Un DSP peut effectuer simultanément les trois opérations suivantes,
§
§
§
Lecture d’une donnée en mémoire
Effectuer une multiplication puis une addition
Ecrire en mémoire le résultat
Cette opération s’appelle MAC et prend un seul cycle d’horloge
Cours DSP -Hicham Ghennioui
Téléchargement