Plan: 1.Introduction 2.Les différentes architectures 3.Les types de codage 4.Les jeux d'instruction 5.Exemple 6.Conclusion 1. Introduction Qu’est-ce que le DSP? • DSP: Digital Signal Processor (processeur de signal numérique) • Architecture optimisée pour effectuer des calculs complexes en un coup d'horloge. • Accès facile à un grand nombre d'entrées-sorties (numériques ou analogiques) -Souplesse de programmation -Possibilités propre aux systèmes DSP -Stabilité -Répétabilité -Puissance de traitement adaptée, pour un coût économique approprié. -Réduction des coûts dans les fabrications de grande série 1.1 Structure générale des applications de traitement numérique du signal: 1.2 Différents types de processeurs: Généralistes – haute performance Pentiums Processeurs DSP Electronique grand public Microcontrôleurs – Mot de petite taille: 8 bits – Automobile, thermostats,électroménagers. 1.3 Ou trouve-t-on les DSP de nos jours? DSP utilisés dans la plupart des applications du traitement numérique du signal en temps réel.(filtres numériques). Ils sont utilisés dans les: • Modems (modem ADSL) • Téléphones mobiles • Appareils multimédia (lecteur MP3) • Récepteurs GPS • Systèmes vidéos (Lecteur DivX) • Imagerie médicale, échographie • Guidage de missile, calculateurs de trajectoires 1.4 Historique: Inventé pour les radars militaires et de télécommunications cryptées dans les années 70. C'est Texas Instruments qui en 1978 introduit un DSP pour la synthèse de la voix pour des applications très grand public. Il aura fallu 15 ans supplémentaires pour que les DSP deviennent des composants incontournables de l'électronique grand public. Choix de différents DSP suivant: Le format de calcul : fixe ou en flottant; La taille du bus de donnée : 16, 24 ou 32 bits; La puissance en millions d'instructions par seconde (MIPS); 2.Les différentes architectures DSP:élément important qui conditionne directement les performances d’un processeur. Il existe deux types fondamentaux de structures« Von Neuman » et « Harvard » 2.1 Von Neuman ● stockage des programmes et des données dans la même zone mémoire. ● ● instruction: contient le code opératoire et l’adresse de l’opérande. Microprocesseur incorpore 2 unites logiques de base: l’Unité Arithmétique et Logique (ALU), ➔Réalise les opérations centrales (multiplications, additions, soustractions, rotations, etc.) ➔ ·l’unité en charge des Entrées/Sorties: commande le flux de données entre le cœur du microprocesseur et les mémoires ou les ports. ➔ 2.2. Harvard Les mémoires programmes et données sont séparées. L’accès à chacune des deux mémoires se fait via un chemin distinct. Cette organisation permet de transférer une instruction et des données simultanément, ce qui améliore les performances. ➢ 2.3 Utilisation de ces structures dans les DSP architecture Harvard: utilisée dans des microprocesseurs spécialisés :applications temps réels. ● DSP à structure Von Neuman rares Structure Harvard: 2 fois plus de bus de données, d’adresses, et donc de broches sur la puce. Coût supérieur :nombre de broches à implanter augmente le coût de production. ● ● ● ● ● Pour réduire le coût de la structure Harvard: utilisation l’architecture dite « Structure de Harvard modifiée ». Transfert des données entre bus externes et internes:est effectué par multiplexage temporel. 3.Les types de codage 3.1 Le complement à 2 : Nombres entiers Valeur Signe 21 décimale (±) (2) -1 1 1 -2 1 1 -3 1 0 -4 1 0 +3 0 1 +2 0 1 +1 0 0 0 0 0 20 (1) 1 0 1 0 1 0 1 0 Nombres décimaux 2-1 2-2 2-3 Valeur (0,5) (0,25) (0,125) décimale 1 1 1 0,875 1 1 0 0,75 1 0 1 0,625 1 0 0 0,5 0 1 1 0,375 0 1 0 0,125 0 0 1 0,25 0 0 0 0 3.2 Les nombres à virgule fixe : Le nombre de bits réservé à la partie entière et à la partie décimale est fixé à l'avance. La dynamique et la précision sont liées et limitées par le nombre de bits réservés. 3.3 Les nombres à virgule flottante : Les nombres sont représentés sous forme exponentielle : ± 0,123 . 2456 ,123 est la mantisse ; 456 est appelé l'exposant. La dynamique est déterminée par le nombre de bits de l'exposant et la précision est déterminée par le nombre de bits de la mantisse. C'est un modèle réel. 3.4 Bilan des types de codage : Avantages Inconvénients Virgule fixe : rapide, bon marché Virgule flottante : grande précision, programmation facile puissance limitée, programmation complexe chère, moins rapide Les architectures à virgule flottante supportent les nombres à virgule fixe : pas d'optimisation. Les architectures à virgule fixe peuvent simuler les nombres à virgule flottante : complexe et lent. Il faut choisir l'architecture en fonction des besoins. Une faible précision peut être nuisible et une trop grande précision peut être encombrante. 4.Les jeux d'instruction • La grand majorité des DSP fait partie de la famille des RISC (reduced instruction-set computer) autrement dit processeurs à jeu d’instructions réduit : Par opposition aux CISC (Complex instruction set-computer) . Avantage : temps d’accès à la mémoire réduit. Inconvenant : programmes illisibles. •Instructions très spécialisés : Nombreux s’exécutent en un seul cycle d’horloge. Réalises principalement des additions, des multiplications… Permettent la mise en œuvre d’algorithmes de filtrage et d’analyse de Fourrier. Fonctionnent en mode SIMD (Single Instruction Multiple Data). Conviennent particulièrement aux calculs matriciels. • La fonction la plus utilisée dans le DSP est la fonction MAC (Multiply and Accumulate), c'est-à-dire une multiplication suivie d'une addition et d'un stockage du résultat : très utilisée dans les calculs d'asservissement et de filtrage. en un cycle d'horloge, elle effectue : A = B*C + D 5.Exemple L'exemple décrit ci-dessous sera utilisé comme démonstration d'un DSP en action. 5.1) Le montage Pour illustrer cet exposé nous prendrons l'exemple d'un DSP utilisé dans le domaine musical. En effet les DSP sont de plus en plus présents dans le domaine des multi-effets pour leur grande flexibilité face aux effets analogiques. 5.2) L'algorithme L'algorithme présenté, appelé « phaser » est réalisé par l'addition du signal d'entrée et du même signal ayant subit un retard. Certaines fréquences sont donc annulées et d'autres augmentées à un instant donné. Le retard étant variable (commandé par une sinusoïde générée par le DSP), l'effet obtenu est un filtre qui se décale constamment en fréquence. 6.Conclusion Évolution des DSP La R&D industrielle autour des DSP en France Texas Instruments : - Villeneuve-Loubet centre R&D Motorola : - Saclay centre R&D - Toulouse centre R&D + Fab. - Crolles 2 centre R&D + Fab. ST Microelectronics : - Crolles centre R&D + Fab. - Rousset centre R&D + Fab. ARM : - Sophia Antipolis centre R&D Atmel : - Rousset centre R&D + Fab. In_neon : - Echirolles centre R&D Les performances des processeurs dsp ont augmentées de 150x sur 15 ans (40% par an) Les nouvelles architectures sont nombreuses et dominent l’offre actuelle mais les DSPs conventionnels dominent toujours le volume de vente Les processeus généraux ont maintenant des performances qui concurrencent les DSPs. mais le prix... La facilité de compilation est un facteur important. time-to-market... Choisir un DSP requiert une analyse fine qui depend de l’application Evolution du marché des DSP dans le monde - FIN Merci pour votre attention