DSP C6000 BAHTAT Mounir
0
DSP C6000
Architecture & programmation C/ASM
Rédigé par : Mounir BAHTAT
Type de cours : TP guidé
Catégorie du cours : Systèmes embarqués & Temps réel
Pré-requis : -
Mise à jour le : 18-12-2012
Easy Learn
www.easylearn.max.st
DSP C6000 BAHTAT Mounir
1
Sommaire
Partie 1 : Architecture & Programmation C embarqué
Chapitre 1 : DSP et architecture
Chapitre 2 : Notre premier programme en C embarqué
Chapitre 3 : Techniques d’optimisation en C
Partie 2 : Programmation ASM C66x
Chapitre 1 : Notre premier code assembleur
Chapitre 2 : Ecrire un code assembleur optimisé
DSP C6000 BAHTAT Mounir
2
Introduction
Une unité centrale de traitement (CPU : Central Processing Unit) est l’élément jouant le rôle d’un cerveau dans tout
système. Cet élément ne permet pourtant que d’effectuer des opérations arithmétiques et logiques basiques, ainsi
que des opérations d’E/S [Entrée/Sortie]. Depuis 1970, les CPU (plus précisément les microprocesseurs) ne cessent
de s’optimiser. Le besoin en temps réel dans des applications liées aux traitements de signal, a engendré l’apparition
d’un nouveau type de processeurs optimisés, qui portent l’acronyme de DSP (Digital Signal Processor).
Les DSP et les systèmes embarqués temps réel
Un système embarqué est un système électronique [matériel] et informatique [logiciel] autonome, qui doit souvent
prendre en compte des contraintes temps réel. Les caractéristiques essentielles qui sont généralement exigées pour
un système embarqué sont :
- Le coût doit être le plus faible possible
- Consommation énergétique la plus faible possible, dû à l’utilisation des batteries [en général]
- Encombrement le plus réduit possible
- Performance taillée spécifiquement pour une certaine application [puissance de calcul, …]
L’architecture d’un système embarqué est constituée principalement/généralement d’un élément de traitement (qui
peut être GPP [General Purpose Processor] et/ou DSP [Digital Signal Processor] et/ou SoC [System On Chip] basé sur
FPGA/ASIC), des mémoires et des interfaces de communication avec des périphériques [comme exemple : écran
tactile, GPS, ]. La partie logicielle qui sera présente dans des mémoires Flash pour pouvoir être exécutée par un
microprocesseur, est appelée : "firmware". Ci-après un exemple de système embarqué :
Gumstix Overo COM [Computer On Module], avec Wifi et Bluetooth
Partie 1 : Architecture & Programmation C embarqué
Chapitre 1 : DSP et architecture
Les DSP sont apparus vers 1978, pour répondre aux attentes temps réel des algorithmes de traitement de signal. Ils
se sont caractérisé principalement des processeurs ordinaires par l’opération MAC (Multiplication & Accumulation)
en un seul cycle d’horloge, alors que cette dernière opération est couteuse en termes de cycles sur d’autres types de
microprocesseurs.
Les DSP se dotent également d’une architecture Harvard modifié, qui contrairement aux architectures Von
Neumann, permet l’accès simultané au programme et aux données, via des bus dédiés.
L’utilisation de ce type de processeur dans un cadre de traitement de signal nécessitera des interfaces de conversion
analogique/numérique (échantillonnage à une certaine fréquence), du fait que le DSP ne pourra traiter les données
qu’aux cycles d’horloge, comme le montre la figure suivante :
DSP C6000 BAHTAT Mounir
3
ADC=[Analog-Decimal Converter] ; DAC=[Decimal-Analog Converter]
Texas Instruments (TI) occupe 70% du marché des DSP, laissant 30% aux autres concurrents (Motorola, Analog
Devices, Lucent Technologies, …)
On s’intéressera durant ce TP guidé, à un DSP propre au Texas Instruments, ces DSP se trouvent catégorisés en 3 :
C2000 ; C5000 et C6000. Les caractéristiques/applications de chacune des familles sont citées ci-dessous :
On s’intéressera particulièrement aux DSP performants C6000, qui se trouvent encore catégorisés en 2 : à virgule
fixe et à virgule flottante. Les DSP à virgule flottante peuvent effectuer des opérations à virgule (nombres réels) en 1
cycle, alors que ça doit prendre plusieurs cycles sur un DSP à virgule fixe (spécifique aux nombres entiers) ; Ceci est
à la présence des blocs matériels dans l’architecture du DSP qui sont spécialisés dans les opérations flottantes,
alors que pour un DSP à virgule fixe une opération flottante est traduite en une combinaison de plusieurs opérations
fixes [entières], engendrant une augmentation considérable des cycles lors de l’exécution.
Les DSP de TI de la famille C6000 classés en performance sont listés ci-dessous :
DSP C6000 BAHTAT Mounir
4
DSP à virgule fixe
DSP à virgule flottante
1 / 50 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !