La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Processeurs configurables et traitement numérique des signaux

Présentations similaires


Présentation au sujet: "Processeurs configurables et traitement numérique des signaux"— Transcription de la présentation:

1 Processeurs configurables et traitement numérique des signaux
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

2 Survol de la présentation
Introduction Principes de base du traitement numérique des signaux vue du système, numérisation, filtres à une dimension, transformée de Fourier rapide Besoins pour un processeur à DSP spécialisé temps réel besoin en flot de données et interfaces mémoires besoins en calculs Quelques exemples de processeurs spécialisés DSP5600x, DSP3210, Tensilica Diamond 330HiFi, Tensilica Diamond 545CK Résumé, conclusion, références INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

3 Pourquoi parler de traitement numérique des signaux en INF8505?
Le traitement numérique des signaux (Digital Signal Processing – DSP) inclut des opérations fondamentales dans une vaste gamme d’applications, surtout dans les communications. Le traitement numérique des signaux nécessite des opérations arithmétiques et des accès aux données très particuliers. Les processus de traitement des signaux sont souvent l’étape déterminante dans un système de communications. L’ajout d’instructions spécialisées pour le traitement numérique des signaux à un processeur configurable est une stratégie pertinente afin: d’augmenter le débit de traitement; et/ou, d’améliorer l’efficacité énergétique. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

4 Applications DSP et complexité d’algorithmes
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel P. Lapsley et al., DSP Processor Fundamentals, IEEE Press, 1997.

5 Survol de la présentation
Introduction Principes de base du traitement numérique des signaux vue du système, numérisation, filtres à une dimension, transformée de Fourier rapide Besoins pour un processeur à DSP spécialisé temps réel besoin en flot de données et interfaces mémoires besoins en calculs Quelques exemples de processeurs spécialisés DSP5600x, DSP3210, Tensilica Diamond 330HiFi, Tensilica Diamond 545CK Résumé, conclusion, références INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

6 Modèle de système de traitement numérique du signal
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

7 Numérisation (1) Les signaux naturels sont continus dans le temps et en amplitude. Pour numériser un signal naturel, on doit: l’échantillonner, c’est-à-dire le mesurer en un instant ou un lieu précis; et, en quantifier l’amplitude, c’est-à-dire lui associer une valeur discrète parmi un ensemble de valeurs. Pour pouvoir reconstruire parfaitement un signal de largeur de bande W, la fréquence d’échantillonnage fs doit respecter le critère de Nyquist: fs > 2W. Plus il y a d’étages de quantification, plus la représentation est fidèle. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

8 Numérisation(2) Par exemple, pour les sons, on fait un échantillonnage dans le temps à intervalles réguliers et une quantification en amplitude. CD audio: fs = Hz, niveaux d’intensité. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

9 Filtres numériques (1) Un signal périodique peut être exprimé par la somme de plusieurs composantes fréquentielles d’amplitudes et de phases spécifiques. Un filtre amplifie (ou atténue) et déphase ces différentes composantes selon leur fréquence. Pour un filtre à réponse impulsionnelle finie, l’équation de sortie correspond à la convolution du signal d’entrée du filtre x et des coefficients du filtre b: INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

10 Filtres numériques (2) Structure d’un filtre numérique à réponse impulsionnelle finie d’ordre M (M + 1 coefficients). INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

11 Filtres numériques (3) La réponse en fréquence dépend des coefficients du filtre. Il existe des méthodes analytiques pour obtenir les coefficients en fonction de la réponse en fréquence désirée. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

12 Filtre numériques (4) Exemple d’effet d’un filtre.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

13 Transformée de Fourier discrète (1)
Tout signal périodique peut être représenté sous la forme d’une somme pondérée de sinus et de cosinus de fréquences harmoniques à la fréquence fondamentale du signal. Dans le domaine continu, pour un signal x(t) avec période T, x(t) = x(t + T), on a : INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

14 Transformée de Fourier discrète (2)
Soit un signal discret x(n) avec période N, x(n) = x(n + N). On cherche les coefficients X(k) de la série de Fourier discrète de x(n). Ces coefficients sont en général complexes, c’est à dire qu’ils ont une grandeur et une phase. On observe une relation entre les coefficients X(k) du domaine discret et les coefficients cn du domaine continu. On a, avec  = 2/N : INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

15 Transformée de Fourier discrète (3)
On observe que : les facteurs WNkn sont des nombres complexes; dans le cas le plus général, les x(n) sont aussi des nombres complexes; pour calculer un seul coefficient X(k), il faut N multiplications complexes et N  1 additions complexes; pour calculer les N coefficients X(k), il faut N  N = N2 multiplications complexes (on néglige la complexité des additions); (a + jb)  (c + jd) = (ac – bd) + j(bc + ad), donc 4 multiplications réelles par multiplication complexe; donc il faut 4  N2 multiplications réelles (et « beaucoup » d’additions réelles) pour calculer la TFD; c’est un problème d’ordre O(N2), donc qui devient très coûteux quand N est grand … il faut faire mieux! INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

16 Transformée de Fourier discrète (4): transformée de Fourier rapide (FFT)
L’algorithme FFT (Fast Fourier Transform) est en général attribué à Cooley et Tukey1. L’algorithme exploite la redondance inhérente dans les calculs de la transformée de Fourier discrète. En divisant successivement le problème par 2, on obtient un algorithme de complexité O(N  log2N). 1James W. Cooley and John W. Tukey, "An algorithm for the machine calculation of complex Fourier series," Math. Comput. 19, 297–301 (1965) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

17 Transformée de Fourier discrète (5): transformée de Fourier rapide (FFT)
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel L.C. Ludeman, Fundamentals of DSP, Wiley, 1986.

18 Survol de la présentation
Introduction Principes de base du traitement numérique des signaux vue du système, numérisation, filtres à une dimension, transformée de Fourier rapide Besoins pour un processeur à DSP spécialisé temps réel besoin en flot de données et interfaces mémoires besoins en calculs Quelques exemples de processeurs spécialisés DSP5600x, DSP3210, Tensilica Diamond 330HiFi, Tensilica Diamond 545CK Résumé, conclusion, références INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

19 Besoins en calculs (1): chemin des données de base
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

20 Besoins en calculs (2): chemin des données amélioré
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

21 Besoins pour un processeur à DSP (1)
instructions arithmétiques spéciales : multiplicationaccumulation (MAC  multiply accumulate); registres pour résultats intermédiaires ‘très larges’; décalage rapide; traitement des nombres complexes; extensions SIMD; la division est rarement utilisée; l’utilisation d’unités à virgule flottante est discutable. structures de contrôle spécialisées : accès mémoire suivent en général un ordre rigide et prévisible; adressage modulo; adressage à bits inversés pour la FFT; exécution de boucles à faible coût; INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

22 Besoins pour un processeur à DSP (2) adressage modulo
P. Lapsley et al., DSP Processor Fundamentals, IEEE Press, 1997. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

23 Survol de la présentation
Introduction Principes de base du traitement numérique des signaux vue du système, numérisation, filtres à une dimension, transformée de Fourier rapide Besoins pour un processeur à DSP spécialisé temps réel besoin en flot de données et interfaces mémoires besoins en calculs Quelques exemples de processeurs spécialisés DSP5600x, DSP3210, Tensilica Diamond 330HiFi, Tensilica Diamond 545CK Résumé, conclusion, références INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

24 Chemin des données, Motorola DSP5600x (virgule fixe)
On observe: multiplicateur à un cycle; la possibilité de combiner la multiplication et l’accumulation; la grande largeur de l’unité arithmétique et logique; la grande largeur des deux accumulateurs A et B; décaleurs et limiteurs; Problème spécifiques considérés : échelonnage et arrondi; et, arithmétique à débordement ou à saturation. P. Lapsley et al., DSP Processor Fundamentals, IEEE Press, 1997. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

25 Processeur DSP à virgule flottante
La plupart des applications de traitement numérique du signal ne nécessitent pas la précision offerte par l’arithmétique à virgule flottante. Pourtant, certains processeurs à DSP offrent cette option. À part les opérations arithmétiques de base, leur jeu d’instructions peut inclure par exemple: support pour la représentation en virgule flottante par blocs; estimation de la réciproque (x-1) et de la réciproque de la racine carrée (x-2), pouvant servir de graine dans un algorithme de calcul itératif; conversion au format IEEE 754; et, conversion entre les format à virgule fixe et flottante. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

26 Chemin des données, AT&T DSP3210 (virgule flottante)
P. Lapsley et al., DSP Processor Fundamentals, IEEE Press, 1997. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

27 Processeur BlackFin (1)
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel W.-S. Gan et S.M. Kuo, Embedded signal processing with the micro signal architecture, IEEE Press, 2007.

28 Processeur BlackFin (2)
Huit registres de 32 bits. Deux multiplicateurs de 16 bits. Deux accumulateurs de 40 bits. Deux ALUs de 40 bits. Quatre ALUs-vidéo de 8 bits. Un décalleur à baril de 40 bits. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

29 Tensilica Diamond 330HiFi audio DSP core (1)
Tensilica offre une suite de processeur configurables configurés (!) pour des applications spécifiques. Le 330HiFi est ‘optimisé’ pour le traitement audio. Ajout de 300 instructions spécialisées et de 2 blocs de registres. Groupes d’instructions: 1. multiplication-accumulation (simple ou double, avec saturation, etc.) 2. addition-soustraction avec décalages; 3. encodage et décodage de Huffman; 4. arrondi et troncation 5. ALU SIMD à 2 voies INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

30 Tensilica Diamond 330HiFi audio DSP core (2)
Format des instructions: INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006

31 Tensilica Diamond 330HiFi audio DSP core (3)
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006

32 Tensilica Diamond 545CK DSP core (1)
Superscalaire à 3 voies. Bloc de 16 registres vectoriels de 160 bits Unité de traitement vectorielle à 20 bits. Huit unités MAC. Décodage Viterbi. VLIW à trois voies. Filtrage réel ou complexe, en bloc ou en flux. Filtrage adaptif. FFT à 256 points Addition de vecteurs, produit intérieur, etc. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006

33 Tensilica Diamond 545CK DSP core (2)
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006

34 Tensilica Diamond 545CK DSP core (3)
Format des instructions: INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006

35 Quelques références A.V. Oppenheim, R.W. Schafer et J.R. Buck (1999). Discrete-time signal processing, Prentice-Hall, ISBN Plusieurs excellents articles sur wikipedia.org, à partir de « digital signal processing ». INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel


Télécharger ppt "Processeurs configurables et traitement numérique des signaux"

Présentations similaires


Annonces Google