Æx?*{ffiffi 
SIDI MOHAMMED BEN ABDELLAH 
des Sciences Appliquées de Fès 
DSP TMS32OC6474 
Youness MBHDAOUI
) 
_/ I .Le DSP (Digital Si-gnal Processor) 
1.1 Introduction 
Un DSP est un type particulier de microprocesseur appanr ve...
Certains DSP de ,ro.rr"t1Jgénération intègrent tous ces composants en natif. C'est là 
que la rapidité devient de prè-mièr...
Dans la pratique, la plupart a", *p ont un jeu / d'instructions spécialisé permettant de lire en 
mémoire une donnée, d'e ...
l 2 Architecture des ppocesseurs 
L'architecture d'un microprocesseur, et donc d'un DSP, est un élément important qui 
con...
3 Virgule Flottant-et/xe 
3.1 Représentation binaire d'un nombre réel en précision finie 
Deux approches sont utilisées po...
Min: -?H-l-k 
r fiddition de nombres fractionnaires en virgule fixe 
Lors de l'addition de nombres fractionnaires en virgu...
Remaroue : La mantisse M est toujours en format fractionnaire Q*{m}et son signe est 
représenté par le dernier bit du poid...
La norme IEEE 754 spécifie deux formats de nombres en virgule flottante (et deux formats 
étendus optionnels) et les opéra...
b. IEEE 7s4-2008 
Une révision de la noflne 754 a été publiée en août 2008, après 7 années de travail présidé par 
DanZura...
Cette particularité n'est pas toujours disponible sur tous les DSP. Dans ce cas, les calculs 
requérant absolument une dou...
4.3 Autres caractéristiques 
Ce qui distingue deux DSP à part la virgule fixe ou flottante c'est : 
' Sa vitesse, exprimée...
Applications de télécommunications 
exigeantes en coût, consommation, 
vitesse: terminaux mobile, voix sur Ip, 
16 bits vi...
2-2.1. Caractéristique 
Le DSP TMS320C6474 de la sixième génération construite par Texas Instrument avec 
une technologie ...
' Catactétisé par une mémoire inteme divisée en deux caches Ll et L2, aa contraire des 
anciens DSP qui contiennent qu'une...
Tü,.8§32§Cæx+ B§P B˧d{ .E}iegrüIT} 
§€Ê6 ftëBr â 
"rg iiltÉ "§fl À-g 
m˧fü*§r lt'{lt A 
ü{rte #d{ â 
i_'t ,§§ Jkl.l -ryi...
Parallélise les instructions 8 bits/16bits et duales 16 bits. Il 
réalise aussi en parallèle des opérations MIN et MAX. 
l...
a. La Mémoire DDR2 
Le contrôleur de mémoire DDR2 est la principale interface externe que l'on peut utiliser pour 
les pro...
h. Inter-Integrated Circuit Module (I2C) 
Le module d'I2C fournit une interface entre le dispositif C6474 et d'autres disp...
Prochain SlideShare
Chargement dans…5
×

DSP

1 071 vues

Publié le

Digital Signal Processor

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 071
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
66
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

DSP

  1. 1. Æx?*{ffiffi SIDI MOHAMMED BEN ABDELLAH des Sciences Appliquées de Fès DSP TMS32OC6474 Youness MBHDAOUI
  2. 2. ) _/ I .Le DSP (Digital Si-gnal Processor) 1.1 Introduction Un DSP est un type particulier de microprocesseur appanr vers 1982. Il se caractérise par le fait qu'il intègre un ensemble de fonctions spéciales. Ces fonctions sont destinées à le rendre particulièrement performant dans le domaine du traitement numérique du signal. Le traitement numérique du signal est une technique en plein essor. Cette technique s'appuie sur plusieurs disciplines, citons les principales : ' l'électronique analogique et numérique (générations et conditionnements des signaux, conversions numériques analogiques.. .), ' les microprocesseurs (classiques ou dédiés au traitement du signal), ' l'informatique (algorithmes, systèmes de développements, exploitations), t les mathématiques du signal (traitements du signal). Les domaines d'applications du traitement numérique du signal sont nombreux et variés (traitements du son, de l'image, synthèse et reconnaissance vocale, analyse, compression de données, télécommunication, automatisme, etc.), chacun de ces domaines nécessite un système de traitement adapté, pour un coût économique approprié. Les microprocesseurs sont en perpétuelle évolution, chaque nouvelle génération est plus performante que l'ancienne, pour un coût moindre. Les DSPs, qui sont un type particulier de microprocesseur, n'échappent pas à cette évolution. La figure suivante montre le rôle d'un DSP dans une chaîne de traitement numérique du signal. chaîne complète typique d'un système de traitement numérique de signal
  3. 3. Certains DSP de ,ro.rr"t1Jgénération intègrent tous ces composants en natif. C'est là que la rapidité devient de prè-mière importance. Généralement, les DSP sont prévus pour être installés dans un système autonome et c'est pourquoi ils intègrent presque toujours une RAM pour stocker les données temporaires, une ROM pour stocker pax exemple le programme contenant les algorithmes. On voit donc sur ce diagramme deux composants dont la qualité joue un rôle plus que fondamental : le Convertisseur Analogique Numérique (CAN) et le Convertisseur Numérique Analogique (CNA). Ces éléments influent directement sur la qualité du traitement par leur précision (précision de la réference interne, résolution sur 8, I0,12,14 bits ou plus). Tous les systèmes à bases de DSP bénéficient des avantages suivants : ' Souplesse de la programmation : un DSP est avant tout un processeur exécutant un progftllnme de traitement du signal. Ceci signifie que le système bénéficie donc d'une grande souplesse de développement. Il supporte des programmes écrits en langage C, C++ et bénéficie des bibliothèques de calcul optimisées qui sont faites par le foumisseur de technologie). ' .Implémentation d'algorithmes adaptatifs: une qualité issue de la souplesse, des programmes. il est possible d'adapter une fonction de traitement numérique en temps réel suivant certains critères d'évolution du signal (exemple : les filtres adaptatifs). ' Stabilité : 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. ce qui n'existe pas en numérique. l.2La Différence entre DSP et microprocesseurs ordinaires Comme on a mentionné le DSP est un type particulier de microprocesseur, il differe des microprocesseurs ordinaires par : 1.2.1L'opération MAC Le signal se présente sous la forme d'une suite de valeurs numériques discrètes. Cette suite de valeurs (ou échantillons) est apte à être stockée et traitée par un système informatique. Par nature, le traitement numérique du signal revient à effectuer essentiellement des opérations arithmétiques de base du type A: (B x C) + D. Un microprocesseur classique va nécessiter plusieurs cycles d'horloge pour effectuer un tel calcul, par exemple, un 68000 à besoin de : . 10 cycles d'horloge pour effectuer une addition, . 70 cycles d'horloge pour effectuer une multiplication. Soit 80 cycles pour seulement calculer A. Si ce temps est admissible dans des applications informatiques courantes, il n'est pas acceptable pour faire du traitement rapidè du signal. Les DSP sont donc conçus pour optimiser ce temps de calcul, à cet effet, ils disposent de fonctions optimisées permettant de calculer A beaucoup plus rapidement. +
  4. 4. Dans la pratique, la plupart a", *p ont un jeu / d'instructions spécialisé permettant de lire en mémoire une donnée, d'e er une multiplication puis une addition, et enfin d'écrire en mémoire le résultat, le tout en un seul cycle d,horloge. L'évolution des DSP avait comme principal objectif l'amélioration du temps de calcul d'un MAC, car effectuer une opération MAC en un seul cycle n'est malgré tout pas satisfaisant si le cycle d'horloge est trop « long ». 1.2.2L'accès à la mémoire Outre l'opération MAC, une autre caractéristique des DSP est leurs capacités à réaliser plusieurs accès mémoire en un seul cycle. Ceci permet à un DSP de chercher en mémoire une instruction et ses données réalisant un MAC, et simultanément, d'y ranger le résultant du MAC précédent. Le gain de temps est évident. Toutefois, sur certains DSP basiques, ce type d'opération simultané est généralement limité à des instructions spéciales. Ces instructions utilisent un mode d'adressage restreint, c'est à dire ne portant que sur de la mémoire vive intégrée au DSP. Les modes d'adressages des données sont un point particulier des DSP. Un DSP peut posséder plusieurs unités logiques de génération d'adresse, travaillant en parallèle avec la logique du cæur du DSP. Une unité logique de génération d'adresse est paramétrée une seule fois via les registres appropriés. Elle génère alors toute seule, en parallèle avec l'exécution d'une opération arithmétique, les adresses nécessaires à l'accès des données. Ceci permet non seulement de réaliser les accès mémoires simultanés en seul cycle, comme décri plus haut, mais également d'incrémenter automatiquement les adresses générées. Ce mode d'adressage particulier, généralement appelé adressage indirect par registre avec post (ou pré) incrément, est très utilisé pour effectuer des calculs répétitifs sur une série de données rangées séquentiellement en mémoire. 1.2.3 Pipeline Le principe de l'optimisation du pipeline logiciel est d'ordonnancer les instruction dans une boucle d'une façon a ce que de multiples itérations s'exécutent en parallèle dans la boucle. F{plân*d-§u*p §,xkg l(ernel :1.'., .' :'.',:::,,:.: P{pcline&Mlp *p{iGS ÂT §r AI *1 8â r,S *x tâ §3 AÆ ..§l'ra .,i§Ë,. êâi tl ü* # §§ E* æ4 ts ffi il§ ü§
  5. 5. l 2 Architecture des ppocesseurs L'architecture d'un microprocesseur, et donc d'un DSP, est un élément important qui conditionne directement les perfortnances d'un processeur. Il existe deux types fondamentaux de structures, dits « Von Neuman » et « Harvard », telles que présentées par la figure: Ar*filtç**r* d* tsp* Yon H*umaR Arêhitet&,ts de §m* Flsntërü MÉr*uire Fragramma ÂdTE§æ Un*h Ârltlïrï*rqur et tüâiquÊ A TEM M*mülr8 §mrsâ* §rnra&* üsnrer§ 2.1 structure de Von Neuman Un microprocesseur basé sur une structure Von Neuman stocke les programmes et les données dans la même zone mémoire. Une instruction contient le code opératoire et I'adresse de l'opérande. Ce type de microprocesseur incorpore principalement deux unités logiques de base : . L'Unité Arithmétique et Logique (ou ALU en anglais), chargée de réaliser les opérations centrales (de type multiplications, additions, soustractions, rotation, etc.), . L'unité en charge des Entrées/Sorties, qui commande le flux de données entre le cæur du microprocesseur et les mémoires ou les ports. 2.2 Structure de Harvard Cette structure se distingue de l'architecture Von Neuman par le fait que les mémoires progftunmes 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 perfoflnances. 2.3 Utilisation de ces structures dans les DSP L'architecture généralement utilisée par les microprocesseurs est la structure Von Neuman (exemples : la famille Motorola 68XXX, la famille Intel 80X86). L'architecture Harvard est plutôt utilisée dans des microprocesseurs spécialisés pour des applications temps réels, cornme les DSP. Pour réduire le coût de Ia structure Harvard, certains DSP utilisent l'architecture dite « Structure de Harvard modifiée ». À l'extérieur, le DSP ne propose qu'un bus de données et un bus d'adresse, comme la structure Von Neuman. Toutefois, à l'intérieur, la puce DSP dispose de deux bus distincts de données et de deux bus distincts d'adresses. Le transfert des données entre les bus externes et internes est effectué par multiplexage temporel. C'est le cas du TMS320C6713. lü. U ,4rithrnê,tique mü Lfiülry.r*
  6. 6. 3 Virgule Flottant-et/xe 3.1 Représentation binaire d'un nombre réel en précision finie Deux approches sont utilisées pour la représentation binaire des nombres réels en précision finie : représentation en virgule fixe ou en virgule flottante. 3.1.1 Représentation binaire des nombres fractionnaires en virgule fixe N bits comporte une partie entière sur N-K bits et une partie fractionnaire après la virgule sur K bits : Partie entière Partie fractionnaire Format virgule Fixe en{N} mffi Soit un nombre x réel quelconque, sa représentation en virgule fixe sur N bits en format Qp(k bits après la virgule) s'obtient en arrondisant à l'entier le plus proche du produit 3H,x : Format Virgule Fixe Qx{l*harrondi (?H.x } Remarque Sur les DSP virgule fixe, la virgule n'est pas en mémoire, mais dans la tête du programmeur et son logiciel doit agir en conséquence. Le tableau suivant donne quelques exemples de la représentation binaire en virgule fixe : Représentation binaire en virgule fixe avec estimation d'erreur À partir d'une représentation binaire en virgule fixeg*ftrl], on peut retrouver le nombre fractionnaire corespondant : Z:b*-r-Ll§§-1-k + b*ü-Ê-k?sl-t-k * "-hu + b-1I-1 +.." +h-*}-u Ce nombre z est une approximation en précision finie du réel x, sur N bits avec k bits derrière la virgule. L'erreur absolue de cette représentation est e: JE - xl<? -n Les propriétés de la représentation binaire en virgule fixe sont : r ÿaleurs extrêmes en virgule frxe Qn{I{}: ' Max:7il-1-k - Ê-Ë
  7. 7. Min: -?H-l-k r fiddition de nombres fractionnaires en virgule fixe Lors de l'addition de nombres fractionnaires en virgule fixe, il faut comme en décimale aligner les virgules. La somme de 2 nombres en format Qç donne un résultat en format e1: Qx+Çx + Qn La virgule n'est pas représentative au niveau du DSP, mais c'est au programmeur de connaître sa position dans le nombre. Par exemple, soient deux nombres hexadécimaux : Nl:lA, 3 et N2:3, F06. Avec le DSP en virgule fixe, ces nombres vont être représentés en 16 bits par Nlnse : 0LÂ3en format Qx(16). Le programmeur sait bien que le Nombre N1 a été multiplié pa.r 34 et le nombre N2 par Ee.pour effectuer une addition de ces deux nombres, il faut avoir le même format, c'est-à-dire que le nombre N1-** doit être ramené au format du nombretr{Eor*. On a donc : , Somme:Nl*2rtqq2*3u Somme:N1»sp * ?E+N?"** Qui peut être écrite : Somme=N1s*<<8+I{I*** r ÿlultiplication de 2 nombres fractionnaires en virgule fixe : Le produit de nombres en virgule fixe sur N bits donne un résultat sur 2N-1 bits comme en décimal, le nombre de bits après la virgule du résultat est égal à la somme des nombres de bits derrière la virgule des 2 opérandes : Qt. 8u,--È Qu*u, Au contraire de l'addition, la multiplication fractionnaire en virgule fixe peut se faire entre deux nombres de formats differents. 3.1.2 Représentation binaire des nombres fractionnaires en virgule flottante Dans la représentation binaire en virgule flottante en précision finie sur N bits, les nombres sont représentés par une mantisse M et un exposant E : X: S.M. ?E Pour une représentation sur N bits, la mantisse M est exprimée sur m bits, et l'exposant E sur e bits, avec N:mte. pour que la représentation soit unique, M est normalisée : { -f, ,- -, :<llvll <r L 'ô
  8. 8. Remaroue : La mantisse M est toujours en format fractionnaire Q*{m}et son signe est représenté par le dernier bit du poids fort. L'exposant est représenté en complément à 2 d'un entier relatif. Le tableau suivant donne quelques exemples de la représentation binaire en virgule flottante sur 8 bits avec m:5 et e:3. 01011 (0,6875) 111 (-1) 0,6875x3-1:0,3437 5 0,0134166 01011 (0,6875) 001 (1) 0,6875x3L1.375 -0,0392135 01101 (0,8125) 0l r (3) 0$125x32::3,25 Représentation binaire en virgule flottante avec estimation d'erreur Dans la représentation en virgule fixe, la position de la virgule reste la même quel que soit le résultat d'une opération. Cette convention permet de réaliser simplement les opérations numériques de base (+ et -) dans un format toujours compatible avec la mémoire du DSP (seize bits avec le TMS320C25,24 bits pour le DSP56002). Cependant, ce codage a pour effet de limiter l'amplitude des nombres et d'imposer leur précision. Aussi, pour des applications numériques nécessitant de grands ou de petits nombres, est-il préferable de décaler la position de la virgule en fonction de l'amplitude du nombre. Les décalages nécessaires pow amener la virgule dans un positon adéquat, constituent la valeur de l'exposant et le nombre décimal restant, la mantisse. C'est l'unité arithmétique du calculateur qui réalise automatiquement les décalages de la virgule de fagon à obtenir une mantisse comprise entre f 1,0 et *2,0.|a virgule devient flottante et l'arithmétique du DSP est dite alors à virgule flottante. Dans la représentation binaire du nombre, on réserve une certaine quantité de bits pour la mantisse et l'exposant et un bit pour le signe. La mantisse code généralement un nombre considéré comme fractionnaire, et l'exposant un nombre entier. Aussi, dans la plupart des DSP, une constante est additionnée à l'exposant afin que sa valeur soit toujours positive. Quant au codage utilisé pour la mantisse et l'exposant, la plupart des constructeurs de DSP exploitent le code binaire naturel. 3.2 La Norme IEEE 754 À h fin des années 70 chaque ordinateur avait sa propre représentation inteme pour les nombres à virgule flottante. Or, I'arithmétique à virgule flottante possède certaines subtilités que le constructeur ne maîtrisait pas forcément et certaines machines effectuaient certaines opérations de manière incorrecte. Pour remédier à cette situation, I'IEEE proposa un standard non seulement pour permettre les échanges de données en virgule flottante entre ordinateurs, mais aussi pour foumir un modèle rodé de part le monde aux constru'cteurs, dont le fonctionnement était correct et maîtrisé. De nos jours, pratiquement tous les constructeurs ont des processeurs ou des coprocesseurs dédiés qui effectuent des calculs en virgule flottante et qui emploient la représentation au standard LEEE754.
  9. 9. La norme IEEE 754 spécifie deux formats de nombres en virgule flottante (et deux formats étendus optionnels) et les opérations associées. Ainsi la quasi-totalité des Architectures d'ordinateurs actuelles, incluent une implémentation matérielle des calculs sur flottants IEEE, directement dans le microprocesssur, garantissant une exécution rapide. Les deux formats fixés par la norme IEEE 754 sont sur 32 bits (« simple précision ») et 64 bits (« double précision »). La répartition des bits est la suivante, où 1 < M < 2 : 32 bits {-r}ô$§ *{a} la représentation des bits pour la simple et double précision Le tableau ci-dessus indique les bits représentés. Le premier bit de la mantisse d'un nombre normalisé étant toujours 1, il n'est pas représenté dans ces deux formats: on parle de bit implicite. Pour ces deux formats, les précisions sont donc respectivement de 24 et de 53 bits. Il faut juste noter qu'une valeur particulière du champ d'exposant est réservée à la représentation de valeurs spéciales : NaN (« not a number »), qui sera par exemple le résultat de la tentative de division flottante de zéro par zéro, ou de la racine carée d'un nombre strictement négatif. Un infini positif et un infini négatif. Une autre valeur du champ d'exposant est réservée aux zéros (signés) et aux dénormalisés. a. Flottants étendus Certaines implémentations ajoutent un ou plusieurs types de précision supérieure. La nonne LEEE754 prévoit des tailles minimales pour ces types étendus : la représentation des bits pour la simple et double précision étendue Ces représentations « étendues » n'utilisent pas forcément le bit implicite de la mantisse. Dans la pratique, seule la double précision étendue est encore utilisée, dans sa forme minimale (1+l 5+64 : 80 bits). -.JX t {-p}u* *{a}{§-
  10. 10. b. IEEE 7s4-2008 Une révision de la noflne 754 a été publiée en août 2008, après 7 années de travail présidé par DanZuras, cette révision comprend la quasi-totalité de l'originallB9 754-1985 et de L,IEEE Standard 854-1987, ainsi que trois nouveaux formats de base (un binaire et deux décimales). La présente nonne 754-290S définit les : ' les formats *It e,iqrre: jeux binaires et décimales des données à virgule flottante, qui comprennent les numéros finis, infinis, et la spéciale 'not a number'de valeurs 0. ' Les formats inter changent : encoder le (bit strings) qui sera utilisé pour échanger des données en virgule flottante dans une forme efficace et compacte. ' Les algorithmes arrondis: les méthodes à utiliser pour arrondir le nombre au cours de I'arithmétique et les conversions. ' Les opérations arithmétiques et arithmétiques sur les formats. ' La gestion des exceptions: les indications de conditions exceptionnelles (comme la division par zéro, débordement, etc). la norrne comprend aussi des recommandations pour le traitement des exceptions avancées, les opérations supplémentaires (tels que les fonctions trigonométriques), d'expressions d'évaluation, et pour parvenir à des résultats reproductibles. 4 Caractéristiques principales des DSP Un point essentiel des DSP est la représentation des nombres (des données) à manipuler. Il est possible de distinguer deux familles, les DSP à virgules fixes et ceux à virgules flottantes. 4.1 Les DSP à virgules fixes Dans ce type de DSP les données sont représentées comme étant des nombres fractionnaires à virgule fixe (exemple -1.0 à +1.0), ou comme des entiers classiques. La représentation de ces nombres fractionnaires s'appuie sur la méthode du «complément à deux ».I'avantage de cette représentation est de permettre facilement l'addition binaire de nombres aussi bien positifs que négatifs. La caractéristique d'un DSP à virgule fixe qui est un peu plus compliquée à programmer qu'un DSP à virgule flottante. Dans un DSP à virgule fixe typique comme le TMS320C25, les nombres sont codés sur 16 bits (des entiers classiques ou des fractionnaires), toutefois, sur ce DSP, les calculs sont effectués avec accumulateurs de 32 bits. Lorsque les résultats doivent être stockés en mémoire, les 16 bit les moins significatifs sont perdus. Ceci permet de limiter les erreurs d'arrondis cumulatives. il est toujours possible de stocker séparément en mémoire les 16 bit faibles puis les 16 bits forts s'il n'y a plus de registres libres lors d'une étape de calcul.
  11. 11. Cette particularité n'est pas toujours disponible sur tous les DSP. Dans ce cas, les calculs requérant absolument une double précision sont réalisés en chaînant deux à deux des inskuctions spéciales manipulant des données 16 en simple précision, au détriment du temps d'exécution. La précision des calculs est un point critique des DSP à virgule fixe, car le concepteur de programmes doit rester vigilant à chaque étape d'un calcul. Il doit rechercher la plus grande dynamique possible, pour conserver une bonne précision des calculs, tout en évitant autant que faire ce peu les débordements du ou des accumulateurs. Les bits supplémentaires des accumulateurs (les bits de garde) prévus à cet effet permettent de réduire cette contrainte. Les programmeurs contournent les limites des DSP à virgule fixe en déterminant à l'avance, et avec soins, la précision et la dynamique nécessaire (par méthode analytique ou avec des outils de simulation) pour réaliser leurs projets. En termes de rapidité, les DSP à virgule fixe se plaçant d'ordinaire devant leurs homologues à virgule flottante, ce qui constitue un critère de choix important. 4.2Les DSP à virgules flottantes Dans ce type de DSP les données sont représentées en utilisant une mantisse (M) et un exposant (E), la représentation de ces nombres s'effectue selon la formule suivante : n:M x ?§ Généralement, la mantisse est un nombre fractionnaire (1.0 à +1.0), et l'exposant est un entier indiquant la place de la virgule en base 2. Le DSP à virgule flottante est plus souple et plus facile à programmer que les DSP à virgule fixe. Un DSP comme le TMS320C30 manipule des nombres formés avec une mantisse de 24 bits et un exposant de 8 bits (taille de la donnée en mémoire: 32 bits).les valeurs intermédiaires des calculs sont mémorisées dans des registres avec un format de 32 bits de mantisse et un exposant de Sbits (taille du registre : 32+g bits supplémentaires). La dynamique disponible est très grande, toutefois la résolution reste limitée à 24 bits au mieux. Outre les nombres fractionnaires, ce DSP sait également manipuler les entiers avec une précision de 32 bits. La très grande dynamique proposée par les DSP à virgule flottante permet virtuellement de ne pas se soucier des limites des résultats calculés lors de la conception d'un programme. Cet avantage a cependant un prix, à savoir qu'un système basé sur un DSP à virgule flottante à un coût de fabrication supérieur à celui d'un système basé sur DSP à virgule fixe. La puce d'un DSP à virgule flottante nécessite à la fois une surface de silicium plus importante (cæur plus complexe), et un nombre de broches supérieur, car lamémoire externe est elle,aussi au format 32 bits. Le système devient donc plus cher. Jâ!
  12. 12. 4.3 Autres caractéristiques Ce qui distingue deux DSP à part la virgule fixe ou flottante c'est : ' Sa vitesse, exprimée en MULAC/s: le nombre de cycles d'horloge par Multiplication addition. . Sa quantité de mémoire interne (DRAM/RAM/ROM/F1ash...) ' Ses entrées /sorties (ports série, ports parallèles) et leurs vitesses respectives. ' Le choix d'un DSP pour une application particulière sera conditionné par le coût relatif du DSP par rapport au BOM de l'application, et de la complexité des opérations à effectuer. 5 Le TMS320C6474 5.1 Introduction La famille de processeurs la plus répandue actuellement est sans conteste celle des DSP de Texas Instruments qui détient environ 70 o du marché, les 30 %o restant étantpartagé entre Motorola, Analog Devices, Lucent Technologies, Nec et Oki. Les produits Texas instrument sont répartis en trois classes appelées plates formes contenant les differentes familles de DSP : -TMS320C6000, formée des familles C62x,C67x et C64x; -TMS320C5000, formée de la famille C54x et des C54xx; -TMS3 20C 2000, formée des familles C20x et C24x; La Tableau suivant résume les principales caractéristiques de ces trois classes : Application au traitement numérique de signal 24OOO MIPS -3,0 GHZ Applications exigeantes en vitesse: stations de base des réseaux de communications mobiles, équipement de radiodiffusion. réseaux 16 bits virgule fixe architecture VLIW 1200-2400 MrPS Applications exigeantes en précision, dynamique et vitesse: Antennes adaptatives des stations de base, imagerie médicale, reconnaissance de parole, graphisme... 32 bits virgule flottante architecture VLIW 6OOMFLOPS-IGFLOPS ',iàl,1"
  13. 13. Applications de télécommunications exigeantes en coût, consommation, vitesse: terminaux mobile, voix sur Ip, 16 bits virgule 0.54 mWLMIPS 2OO MIPS 30- Caractéristique principale des familles de TI La figure suivante représente l'évolution des produits DSP de la classe C6X de Texas Instrument et les futurs produits en développement. Pr§.ductbr B*rnpâng lll ûevàTüpméBl Ftltur,e Seviee i§l!i,-lli#* §ii.sffi x{;*'r WE &i# WTÿ&:1&13&fW:: / I Largest installed base of i high performance signal i I , processing code i -.*ff#l*: , ffies{EËS x@æs#' L'évolution des familles de la classe DSP TMSC6x selon les performances et les axes de recherche À partir du c645x , les recherches sont lancées sur trois pistes principales : - L'optimisation des performances des DSp Multicores. - L'optimisation d'énergie consommée des DSp Multicores. - Le développement des performances des DSp à core unique. r:lriri::::t::liar .j .,,.,,,,u1lTi§liiii,iri:::r:r.::ti:,,,i11r,,,,.. Perform.*rq . I §ngl+ cores .:t :.::...:-:::::.:::: I:t :.a:a::::rt:, :- .:.- :rrttt,l: ii:::: ru§, *§0&{**r, & § ür,§2 v§ü"&w{§t&, , &t{z & f"2 G§r
  14. 14. 2-2.1. Caractéristique Le DSP TMS320C6474 de la sixième génération construite par Texas Instrument avec une technologie CMOS de 65 nm, est de la troisième génération de la plus haute performance multicoeurs qui est une architecture développée par Texas Instrument (TI) r intégrant trois cæurs de C64x+ lGHz sur une même puce, soit 3GHz de performances brutes le DSP peut faire 24000 millions instructions par seconde (24 instructions mips - par cycle). 3 Cæurs d'un GHz dans une seule architecture de C6474 Caractérisé aussi par une consommation inférieure d'un tiers et un coût réduit tiers par rapport aux solutions de traitement mettant en æuvre plusieurs DSP. Consommation d'énergie du DSP TMS320C6474 par rapport au DSP TMS320C6455 de deux $248eachx3=$744 $261 total le coût duC6474 par rapport au 3coeur du C6455
  15. 15. ' Catactétisé par une mémoire inteme divisée en deux caches Ll et L2, aa contraire des anciens DSP qui contiennent qu'une seule Mémoire inteme. Outre, c'est catactéristique intéressante de notre DSP, une description d'architecture de ce dernier permettra de faire une idée générale sur le fonctionnement matériel, et la meilleure façon pour exploiter les ressources de ce dernier. 2-2.2. Architecture L'architecture du DSP TMS320C6474 est caractérisée par une diversité des composantes, permettant un traitement fluide des données, un adressage efficace, et des périphériques de communication supportant differents protocoles de communication (i.e. Serial RapidIO, Serial Link CPRI, 1 GigE). L'interface CPRI de type SERDES Sérialisation/Désérialisationest bien adaptée à laréception des signaux d'antenne àhaut débit. La figure suivante montre le schéma fonctionnel du cæur de DSp : Schéma fonctionnel du cæur DSP Dans la partie suivante, on décrit les Blocs principaux de l'architecture inteme de notre DSP, ainsi que les périphériques. 2-2.3.1. Architecture interne du DSP C64x+ La figure suivante représente le Bloc Diagram de la famille TMS320C64x+. Les familles de la plateforme C6000 sont livrées avec la mémoire du prografllme qui, sur certains appareils, peut être utilisé comme un programme de cache. Les dispositifs. ont également differentes tailles de la mémoire de données. Les Périphériques tels que le contrôleur d'accès direct à la mémoire (DMA), la logique power-down, et l'interface de la mémoire externe(EMlF) viennent habituellement avec le CPU, alors que d'autres périphériques tels que les ports série et les ports d'accueil ne sont qu'avec certains appareils. I :"r
  16. 16. Tü,.8§32§Cæx+ B§P B˧d{ .E}iegrüIT} §€Ê6 ftëBr â "rg iiltÉ "§fl À-g m˧fü*§r lt'{lt A ü{rte #d{ â i_'t ,§§ Jkl.l -ryil IT ilT&üsM |ql§e â &xt* ilbrumy t4x{Büü!Ër {a{$*} 2-2.3.1.1. BIoc Diagram de la famille TMS320C64x+ L'unité centrale de calcul (CPU) L'unité centrale de calcul (CPU) se compose de huit unités fonctionnelles, deux registres, et de deux chemins de donnée. Les deux registres à usage général (A et B) 32-bit contiennent chacun 32 registres pour un total de 64 registres. L'objectif gén&al des registres c'est qu'ils sont utilisés pour les données et peuvent être utilisés pour I'adressage des pointeurs de données, les types de données pris en charge sont de 8-bit, 32-bit,40-bit, et 64-bit. Les huit unités fonctionnelles (.M1, .L1, .D1, .S1, .M2, .L2, .D2, and .S2) et leurs rôles regroupés dans le tableau suivant : Effectue toutes les opérations de multiplication en un seul cycle d'horloge : - une multiplication32 x32bit. - deux multiplications 16 xl6 bit. - deux multiplications 16 x32bit,4 multiplications 8 x8 bit. Effectue en parallèle les opérations t/- sur 32 bit,ou 2 fois 16 bit h
  17. 17. Parallélise les instructions 8 bits/16bits et duales 16 bits. Il réalise aussi en parallèle des opérations MIN et MAX. les données de la mémoire vers les registres et stocke les résultats des registres dans la mémoire. les unités fonctionnelles du CPU et leurs rôles-charge Beaucoup d'algorithmes de traitement de signal comme la FFT et le FIR complexe exigent la multiplication complexe, l'instruction (CMPY) prend quatre entrées de 16 bits, et produit une sortie réelle et imaginaire en32 bits en un seul cycle. Il y a également des multiflications complexes avec une sortie sur 32 bits contenant l6 bits de réel et 16 bits d'imaginaiie. Les instructions de multiplications 32 x 32 bit fournissent une précision efficace pour I'audio et d'autres algorithmes à haute précision pour une vanété des données 32 bits signés ou non signés. 2-2.3.1.2. Mémoire interne a. .Le Cache Ll La Mémoire inteme niveau I est organisée en deux espaces, l'un pour les données et l'autre pour les progfttmmes, elle dispose de deux ports internes 64-bit pour accéder aux données intemes de mémoire, et un seul port inteme pour accéder à la mémoire interne programme. b. Le Cache L2 Chaque core a une mémoire interne niveau 2,L2F.Aly'.. La capacité totale est de 3MB qui peut être configuré soit en lMB pour chaque core ou I.5MB/1MB/0.5M8 respectivement pour chaque core, La SRAM L2 commence à la même adresse, quelle que soit la taille du cache de configuration. 2-2.3.1.3. La ROM L3 La ROM L3 est de taille 64K8, Le contenu de la ROM est divisé en deux partitions, La première est la ROM de démarrage (ou Boot) dont le but principal est contenir des logiciels au démarrage de périphérique, la seconde partition est la partie sécurisée du ROM, qui dispose d'un core nécessaire pour soutenir des dispositifs de sécurité sur le périphérique. 2-2.3.2. Périphérique du DSp C64x+ Dans cette partie en vous propose les définitions des differents périphériques qui vous donneront une idée sur le fonctionnement de chacun. tf ' ]kâ
  18. 18. a. La Mémoire DDR2 Le contrôleur de mémoire DDR2 est la principale interface externe que l'on peut utiliser pour les programmes et le stockage des données, avec plus de 512M octet d'espace mémoire. b. Le Timer Le TIMER peut être configuré en trois modes soit : ' TIMER 64-bits à usage général : dans ce mode il fonctionne coûlme un compteur 64-bit et commence à augmenter de I à chaque cycle d'horloge d'entrée. . TIMER 32-bit double: lorsqu'il est configuré comme TIMER double 32-bit, chaque moitié peut fonctionner indépendamment. c. Serial Rapid IO Le Serial Rapid IO est utilisé pour la réception des signaux d'antenne à haut débit. Il transmet 10 bits pour 8 bits d'information, ce périphérique exteme peut pousser des données sur la DSP, selon les besoins, sans avoir à générer une intemrption. d. Antenna Interface L'Antenna Interface du TMS32OC6474 est un périphérique d'interface série à haute vitesse qui prend en charge les transferts de données IQ fln-phase and quadrature data) avec une liaison montante et descendante entre les processeurs DSP. e. Software-Programmable Phase-Locked Loop Controller (PLL) Le contrôleur PLL offre la modification de signal d'horloge avec facilité de configuration par logiciel. Les sorties de I'horloge sont transmises à la DSP de base, au périphériques et à d'autres modules à I'intérieur de la DSP. f. Ethernet Media Access Controller/lVlanagement Data Input/output Module Le module d'EMAC est utilisé sur les dispositifs TMS320C6474 pow déplacer les données entre un dispositif et un centre serveur different reliés au même réseau, conformément au protocole d'Ethernet. g. General-Purposelnput/output(GPlO) Le périphérique (GPIO) d'usage général d'entrée sortie fournit et consacre des broches d'usage général qui peut être configurées en tant que des entrées ou sorties. Une fois configuré comme sortie, vous pouvez écrire sur un registre interne; ou configuré comme entrée, vous pouvez détecter l'état de I'entrée en lisant l'état d'un registre inteme. t4t-
  19. 19. h. Inter-Integrated Circuit Module (I2C) Le module d'I2C fournit une interface entre le dispositif C6474 et d'autres dispositifs et reliés par un l2C-bus. Les composants externes fixés à ce bus à 2 fils peuvent transmettre et recevoir jusqu'aux 8 bits de données. i. Bootloader Le Bootloader est le code de DSP qui transfere le code d'application à partir d'une source extérieure dans la mémoire interne ou externe de programme après que le DSP soit pris hors de la reset. Le Bootloader est stocké de manière permanente dans la ROM du DSP, commençant à I'adresse de bÿe 0x3C000000, le Bootloader ofTre une série de méthodes pour transferer I'application dans la mémoire de DSP. j. Turbo Decoder Coprocessor2 (TCP2) Le décodage des voies de transmission de données de débit binaire élevées trouvées dans la (3G) des nornes cellulaires, exige le décodage des données turbo-codées. Le coprocesseur de turbo-décodeur (TCP2) a été conçu pour effectuer cette opération pour des nonnes de la radio IS2000 et 3GPP. k Viterbi-Decoder Coprocessor 2 (VCP2) Le décodage du canal de la voie de transmission des données binaire trouvées dans les norrnes cellulaires te[ès que 2.5G,3G, et WiMAX exige le décodage des données. Le coprocesseur2 YCP2 de Viterbe les décode pour des nornes de la radio IS2000 et 3GPP, fait également la correction d'erreur pour les systèmes 2G et 3G sans fil, et offre une solution très rentable. l. Multichannel Buffered Serial Port (McBSP) En se reliant avec les dispositifs externes, le MoBSP assure avec les sept bornes la transmission et la réception des données en communicant aux dispositifs extemes. Le dispositif DSP C6474 communique au MoBSP en utilisant deux bus séparés. La commande est accédée par I'unité centrale de traitement, le bus de configuration enregistre les données et I'EDMA utilise son bus consacré pour accéder aux registres. t

×