Home

Traitement des signaux audio

image

Contents

1. 30 5 4 Instructions de manipulation de bits 31 5 5 Instructions de boucle 31 5 6 Instructions de d placement 32 5 7 Instructions de contr le du programme 33 5 8 Instructions de contr le du cache d instructions 34 5 9 Exemple de programmation 34 6 Adressage 35 6 1 Modes d adressage 35 6 1 1 Register Direct 35 6 1 2 Address Register Indirect 35 6 3 P srelative Ae ca eee ee a Rein AQU Et 37 6 2 Arithm tique d adressage 37 6 2 1 Adressage lin aire M XXFFFF 38 6 2 2 Adressage reverse carry 38 6 2 3 Adressage circulaire modulo 38 6 2 4 Adressage circulaire enroulements multiples modulo mul tiple wrap around 38 6 3 Exemple de programmation 38 7 DSP 56311 39 7 1 Pr sentation g n rale 39 dr P riph riques se tatoo gue M dinars dds Oe bee ab ae ye eB 39 7 3 Configuration de la m moire 40 7 4 Interface de communication s rie 40 fio Anterruptions 2 Ae A RE AA RE NN a AO 8 Carte d valuation EVM56311 42 8 1 Interfa age avec le codec CS4218 43 9 Annexes 44 9 1 Branchements de l
2. Sch ma fonctionnel du pipeline 3 6 1 Conflits Da Putilisaton d un pipeline il existe certaines restrictions sur les s quences d op rations On trouvera ci dessous les conflits automatiquement r solus par le DSP Il existe n anmoins des restrictions suppl mentaires Pour plus de renseigne ments se r f rer au manuel d utilisateur de la famille Motorola 56300 3 6 1 1 Blocage arithm tique Arithmetic Stall Puisque chaque instruction de la Data ALU s effectue en 2 p riodes d horloge une condition d interblocage se produit pendant une tentative de lecture d un ac cumulateur lorsque l instruction pr c dente est une instruction de Data ALU qui sp cifie ce m me accumulateur comme destination Cette situation est d tect e en hardware et un cycle d attente est introduit entre les deux 2 Astuce de programmation pour viter ce d lai il est recommand d ins rer une instruction utile si possible CHAPITRE 3 ARCHITECTURE INTERNE 17 3 6 1 2 Blocage d tat Status Stall Ce blocage se produit lors d une tentative de lecture du registre d tat alors que instruction pr c dente ou l ant p nulti me est une instruction de Data ALU ou une lecture d accumulateur mettant jour les bits S et L du registre d tat Un ou deux cycles d attente sont ins r s automatiquement au niveau hardware 3 6 1 3 Blocage de transfert Transfert Stall Le blocage de transfert se produit quand l acc
3. 72 et de son module donne z ro 2 faites la m me v rification pour un nombre n gatif quelconque E 2 2 3 Les nombres fractionnaires virgule fixe Jusqu pr sent la discussion s est concentr e sur la repr sentation binaire des entiers Il est cependant tout aussi utile de pouvoir repr senter des fractions en binaire Dans les formats consid r s jusqu pr sent on a suppos que le radix l qui valent en binaire du point en d cimal tait 4 droite de l entier binaire En utilisant les fractions binaires le radix se d place de n bits vers la gauche en fonction de la repr sentation choisie Le format Qn couramment adopt sp cifie qu un nombre binaire poss de n bits droite du radix n 1 bits sont n cessaires pour contenir un nombre au format Qn Les nombres n gatifs sont repr sent s en compl ment 2 Les nombres fractionnaires sont compris entre 1 0 et 0 9999 Par exemple en repr sentation Q7 quelle est la valeur d cimale de 10111101 C est un nombre n gatif il faut donc le convertir en nombre non sign ce qui nous donne 01000011 Vient ensuite la conversion en d cimal 1 1 1 1 1 1 1 a 1 2 0 0 0 0 1 H1 0 5234 0 sgn 5 dE Oe UET 0 64 128 0 5234375 et puisque le nombre tait n gatif le r sultat final vaut 0 5234375 Formulation Cette conversion s effectue selon la formule suivante Fo byt Oyo 20T b 27ND bo
4. Execute Conditionally Without CCR Update Execute Conditionally and Update CCR Illegal Instruction Interrupt Jump Conditionally Jump if Bit Clear JMP Jump Jump to Subroutine Conditionally Jump to Subroutine if Bit Clear Jump if Bit Set Jump to Subroutine Jump to Subroutine if Bit Set No Operation Repeat Next Instruction RESET Reset On Chip Peripheral Devices RTI Return From Interrupt Return From Subroutine Stop Instruction Processing Sowa mer Conditional Software Interrupt WAIT Wait for Interrupt or DMA Request CHAPITRE 5 INSTRUCTIONS 34 5 8 Instructions de contr le du cache d instructions Pour m moire il existe une possibilit de cache pour les instructions lues sur une m moire de programme externe et qui reviennent fr quemment afin d acc l rer l ex cution du programme 5 9 Exemple de programmation A venir Chapitre 6 Adressage 6 1 Modes d adressage Le noyau de la famille 56300 fournit quatre modes d adressage Ces quatre modes peuvent tre utilis s aussi bien avec la m moire interne qu avec de la m moire externe accessible par le port A 6 1 1 Register Direct L op rande est contenue dans un ou plusieurs des registres de la Data ALU des registres d adresse ou des sept registres de contr le Data or Control Register Direct L op rande est dans un deux ou trois re gistres de la Data ALU Address Register Direct L op rande est dans un des 24 registres d adresse
5. calage de O est sp cifi le bit C est mis 0 L instruction ASL met le bit V 1 si un overflow se produit C est une op ration qui porte sur les 56 bits et qui math matiquement revient multiplier la valeur du nombre par 2 D calage droite ASR 0 Assembler Syntax ASR D parallel move ASR il S2 D ASR 51 52 D Instruction Fields S2 S Source accumulator A B D D Destination accumulator A B 1 sss Control register X0 X1 Y0 Y1 A1 B1 ii iiiiii 6 bit unsigned integer 0 40 denoting the shift amount In the control register S1 bits 5 0 LSB are used as the u field and the rest of the register is ignored D calage simple Le LSB est d cal dans le bit C et le MSB est maintenu constant D calages multiple Les bits d cal s hors de la position 0 sont perdus sauf le dernier qui est plac dans le bit C Les bits gauche laiss s libre par le d calage sont remplac s par la valeur du MSB Si un d calage de 0 est sp cifi le bit C est mis a 0 C est une op ration portant sur 56 ou 40 bits en fonction du bit SA du registre d tat SR Elle correspond math matiquement une division par 2 Instruction vide NOP Operation Assembler Syntax PC 1 gt PC NOP 1Une condition d overflow se produit lorsque le r sultatde la Data ALU n est pas repr sentable dans l accumulateur destination sauf cas particulier CHAPITRE 5 INSTRUCTIONS 26 Incr men
6. cessaires l initialisation du codec Ada_init asm Code d initialisation pour PESSI et le codec Vectors asm Table de vecteurs d interruptions pour les modules de la carte d valuation Ces fichiers seront inclure commande include dans les fichiers source utilis s aux laboratoires Le codec st reo CS4218 comprend deux convertisseurs A D delta sigma deux convertisseurs D A delta sigma des filtres d entr e anti alias des filtres anti image en sortie un gain d entr e et une att nuation de sortie programmable Le codec est connect au DSP par 2 ports ESSI ESSIO pour le transfert de donn es et ESST1 pour le transfert des informations de contr le du codec La programmation du codec comporte 3 tapes la mise en place de constantes globales l interfacage et Vinitialisation de PESSI et du codec l inclusion de m canismes de transfert de donn es interruption dans ce cas ci Pour de plus amples d tails on consultera la note d application AN1790 Programming the CS4218 CODEC for Use With DSP56300 Devices Chapitre 9 Annexes 9 1 Branchements de la carte d valuation dans la chaine de mesures A venir 9 2 Utilisation de l Audio Precision A venir 44
7. x n M x n o gt T gt T jonc gt T a V a Ne os am bo bo bo Y Y Y Y o y n A bw bi EDO LA do T a ss T lt Fic 2 3 Filtre r cursif Un filtre r ponse impulsionnelle infine IIR est toujours r cursif mais pas Pinverse 2 2 Calculs en virgule fixe 2 2 1 Notation Le code binaire naturel ou absolu permet de repr senter un nombre entier E sur N bits b selon l quation suivante N 1 E Na P ADN n 0 2 2 2 Le code compl ment 2 Ce code permet de repr senter en binaire les nombres entiers positifs et n gatifs En utilisant N bits on code les nombres entiers positifs avec les 2 premi res combinaisons by 1 0 en utilisant les conventions des entiers non sign s et les entiers n gatifs avec les 217 1combinaisons restantes en utilisantle nombre qu il faudrait ajouter au module pour obtenir 0 Donc le bit le plus significatif est 1 dans le cas d un nombre n gatif et 0 sinon Un nombre entier sign E peut encore s crire E 2N 1by1 2N72 by2 21 b1 de Pour former un nombre n gatif partir d un nombre positif il suffit d inverser tous les bits et d additionner 1 CHAPITRE 2 RAPPELS 8 Exemple On peut obtenir 72 partir de 72 de la fa on suivante Code binaire de 72 0100 1000 Inversion des bits 10110111 Additionner 1 0000 0001 Code de 72 1011 1000 Suggestion 1 v rifiez que l addition binaire de
8. 4 1 2 5 Op rateurs de d calage lt lt d calage gauche du nombre de bits sp cifi par l op rande de droite seulement pour les entiers gt gt d calage droite du nombre de bits sp cifi par l op rande de droite seulement pour les entiers 4 1 2 6 Op rateurs relationnels lt plus petit que lt plus petit ou gal gt plus grand que gt plus grand ou gal gal diff rent de 4 1 2 7 Op rateurs de manipulation de bits bitwise operators Ces instructions ne s appliquent qu aux entiers amp ET O XOR 4 1 2 8 Op rateurs logiques amp amp ET logique OU logique 4 1 3 Directives principales INCLUDE inclusion de fichiers secondaires ORG est utilis pour sp cifi des adresses et des changements d espace m moire ex ORG p 100 s lectionne P comme tant l espace m moire d ex cution runtime memory space X Y L ou P et initialise le compteur de position d ex cution la valeur hexad cimale 100 en espace m moire P CHAPITRE 4 OUTILS DE D VELOPPEMENT 21 EQU identifie un symbole une valeur BSC block storage of constant L assembleur alloue et initialise un bloc de mots Ce bloc de mot commence l adresse donn e par la valeur du location counter dans l espace m moire courant Le nombre de mots est sp cifi par le premier argument et le deuxi me sp ci
9. 4 1 2 Fichier source Le language assembleur Motorola impose une certaine structure au code et il respecte la casse sauf pour les mn moniques d instructions et les directives Une instruction peut s tendre sur plusieurs lignes au moyen du symbole et ne peut pas d passer 255 caract res En outre le premier caract re d un symbole doit tre alphanum rique Ce language poss de des op rateurs vari s ainsi que des fonctions int gr es ex cosinus et sinus 4 1 2 1 Structure d une instruction Le sch ma g n ral d une instruction est illustr la figure 4 1 Le champ Label un espace ou une tabulation comme premier caract re d une ligne indique que le champ label est vide un caract re alphab tique en premier indique qu il existe un label Le champ Opcode il peut tre de trois types Opcode directive ou macro call Le champ Operand Il doit tre s par du champ Opcode par un ou plusieurs espaces tabulations et peut contenir un symbole une expression ou une combinaison de symboles et d expressions s par es par des virgules Le format du champ operand pour une instruction particuli re est sp cifi dans le manuel d utilisateur de la famille 56300 Les champs Opcode 2 et Operand 2 Ne concernent pas la famille 56000 Les champs transferts de donn es X et Y Sp cifient les transferts de donn es s ex cu
10. D D ADD xxxx D Instruction Fields S JJJ Source register B A X Y X0 YO X1 Y1 D d Destination accumulator A B xx ii 6 bit Immediate Short Data xxxx 24 bit Immediate Long Data extension word Additionne l op rande source S l op rande destination D et y enregistre le r sultat D calage gauche ASL Operation 55 4847 24 23 0 la s 0 Assembler Syntax ASL D parallel move ASL i 52 D ASL 51 S2 D Instruction Fields S2 S Source accumulator A B D D Destination accumulator A B S1 sss Control register X0 X1 Y0 Y1 A1 B1 ti iiiiii 6 bit unsigned integer 0 40 denoting the shift amount In the control register S1 bits 5 0 LSB are used as the u field and the rest of the register is ignored D calage simple D cale arithm tiquement l accumulateur destination d un bit vers la gauche et y enregistre le r sultat Le MSB est d plac dans le bit de Carry C et un 0 est plac dans le LSB CHAPITRE 5 INSTRUCTIONS 25 D calages multiples Le contenu de l accumulateur source S2 est d cal de ii bits vers la gauche Les bits d cal s hors de la position 55 sont perdus sauf le dernier qui est stock dans le bit C Les bits de droite laiss s libres sont remplis par des 0 et le r sultat est plac dans l accumulateur destination Le nombre de bits d cal s est sp cifi soit par les six bits dans l instruction soit par les six LSB de S1 Si un d
11. SSL Oxxx PC SP 1 SP PC SSH SR SSL ea PC Instruction Fields xxx aaaaaaaaaaaa Short Jump Address ea MMMRRR Effective Address Assembler Syntax JSR xxx JSR ea CHAPITRE 5 INSTRUCTIONS 27 Saute la sous routine dont la position est donn e par l adresse effective de l instruction en pratique un label Retour d une sous routine RTS Operation Assembler Syntax SSH PC SP 1 SP RTS Instruction Fields None Retourne de la sous routine et continue l instruction suivant l appel de la sous routine CHAPITRE 5 INSTRUCTIONS 28 5 2 Instructions arithm tiques a2 Parallel Ay in the Parallel Instruction column means that the instruction is a parallel instruction A blank table cell indicates that the instruction is not a parallel instruction Absolute Value y J ABS ADC Add Long With Carry ADD ADD imm Add immediate operand d y A o A A A A A A A A A A MC O A DCI O A a A A A DA CO A A A A A A A A a A CHAPITRE 5 INSTRUCTIONS 29 MPY MPY su uu MPYI MPYR MPYRI NEG NORM NORMF RND SBC SUB SUB imm SUBL SUBR Tec TFR TST fesse A A owe A O A A CHAPITRE 5 INSTRUCTIONS 5 3 Instructions logiques Mnemonic Description 30 Parallel Instruction Ay in the Parallel Instruction column means that the instruction is a parallel instruction A blank table cell indicates that the instruction is not a pa
12. lin airement sur les valeurs 24 bits 6 2 2 Adressage reverse carry Utile pour l impl mentation de la FFT comportant 2 points 6 2 3 Adressage circulaire modulo L arithm tique modulo M impose la valeur contenue dans Rn rester dans une plage d adresse de taille M si la valeur M 1 est stock e dans Mn Tr s utile pour la cr ation de buffers circulaires utilis s dans les files FIFO les buffers et les lignes retards Il faut cependant savoir qu il existe des contraintes sur l emplacement m moire de l adresse de base de telles zones Pour de plus amples d tails se r f rer au manuel de la famille 56300 Si un offset Nn est utilis il faut Nn lt M sinon le r sultat est impr dictible sauf dans un cas particulier utilis pour traiter s quentiellement des tableaux N dimensions pour m moire 6 2 4 Adressage circulaire enroulements multiples modulo multiple wrap around L adressage modulo multiple wrap around est une variante de l adressage circu laire Le principe est identique mais la valeur du modulo M est obligatoirement une puissance de 2 comprise entre 2 et 214 On peut ici utiliser des valeurs de Nn gt M 6 3 Exemple de programmation A venir Chapitre 7 DSP 56311 7 1 Pr sentation g n rale Le DSP 56311 offre des performances de 150 millions d instructions par secondes MIPS Il est dot entre autre d un module EFCOP qui permet d ex cuter un filtrage en pa
13. sp cifi par une adresse effective dans l instruction 6 1 2 Address Register Indirect Le registre d adresse pointe vers une adresse m moire L adressage est dit in direct car le registre ne contient pas l op rande mais son adresse exemple type MOVE x Rn x0 la valeur contenue dans le registre Rn fournit adresse dans l espace m moire X o est enregistr e la valeur d placer vers x0 Ce type d adres sage permet de parcourir ais ment des ensembles de donn es ordonn es buffers Dans une grande partie des calculs suivants l arithm tique utilis e pour le calcul d adresse est d fini par la valeur du registre Mn 35 CHAPITRE 6 ADRESSAGE 36 m No Update Rn The operand address is in the address register The contents of the address register are unchanged by executing the instruction Example MOVE x Rn x0 m Post Increment By One Rn The operand address is in the address register After the operand address is used it is incremented by one and stored in the same address register The Nn register is ignored Example MOVE x Rn x0 m Post Decrement By One Rn The operand address is in the address register After the operand address is used it is decremented by one and stored in the same address register The Nn register is ignored Example MOVE x Rn x0 m Post Increment By Offset Nn Rn Nn The operand address is in the address register After the operand add
14. OVE x Rn 63 x0 CHAPITRE 6 ADRESSAGE 37 m Long Displacement Rn Long Displacement This addressing mode requires one word label of instruction extension The operand address is the sum of the contents of the address register and the extension word The contents of the address register are unchanged The Nn register is ignored This reference is classified as a memory reference Example MOVE x Rn 64 x0 6 1 3 PC relative Pour m moire L adresse est obtenue par addition d un d calage la valeur du PC program counter 6 2 Arithm tique d adressage L ALU d adressage supporte l adressage lin aire modulo multiple wrap around modulo et reverse carry pour tous les modes d adressage du type Address Register Indirect La valeur placer dans un des registres Address Modifier Mn pour sp cifier l arithm tique utiliser est donn e dans la table ci dessous Modifier Mn Address Calculation Arithmetic Reverse Carry Bit Reverse XX0001 Modulo 2 ME A Modulo 32767 215 4 Modulo 32768 215 Multiple Wrap Around Modulo 2 Multiple Wrap Around Modulo amp E A RS SAXSFFF Multiple Wrap Around Modulo 213 SXABFFF Multiple Wrap Around Modulo 24 BXXFFFF Linear Modulo 2 All other combinations are reserved m 2 XA can be any value CHAPITRE 6 ADRESSAGE 38 6 2 1 Adressage lin aire M XXFFFF Adressage de type g n ral La modification d adresse est effectu e
15. Register adresse de base de la table des vecteurs d interruptions CHAPITRE 3 ARCHITECTURE INTERNE 16 Extended Mode Register EMR Mode Register MR Condition Code Register CCR 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ceri 01 em sm CE M sa Fv tF om sc J sti 111 9 s L E U N Z V Cc Reset EL Reserved bit Read as zero write to zero for future compatibility Fic 3 7 Registre d tat source manuel de la famille 56300 3 6 Pipeline Le pipeline se compose des tages suivants cfr fig 3 8 deux tages d extraction fetch stage un tage de d codage deux tages de g n ration d adresse deux tages d ex cution Fetch 1 M Address generation for Program Fetch M Increment PC register Fetch l Instruction word read from memory Decade Instruction Decode AddressGen l Address generation for Data Load Store operations AddressGen Il Address pointer update Execute Read source operands to Multiplier and Adder Read source register for memory store operations Multiply Write destination register for memory load operations Execute ll Read source operands for Adder if written by previous ALU operation Add Write Adder results to the Adder destination operand Write Multiplier results to the Multiplier destination operands Fetch Fetch Address Address Execute Execute l Il Gen Gen Il Il FIG 3 8
16. Traitement des signaux audio principes et exp rimentations S Lesoinne et J J Embrechts 5 f vrier 2007 Table des mati res I 1 INTRODUCTION Les DSPs 1 1 DSP et micro processeurs 1 2 Grandes familles de DSPs Rappels 2 1 Traitement du signal 2 1 1 Filtres audio num riques 212 Transtorm e enuZis 2 2 Ge AA de 2 1 2 1 Fonction de transfert 21122 2 Oba Diliter a 2 NA ddr es sega Ot Ye 2 1 2 3 Syst me minimum de phase 2 1 3 Filtres non r cursifs et filtres FIR 2 1 4 Filtres r cursifs et filtres IIR 2 2 Calculs en virgule fixe 2251 Notation oe ftp HE Rd ge musee eat ee A Aig chk RC 2 2 2 Le code compl ment 2 2 2 3 Les nombres fractionnaires virgule fixe II DSPs Motorola de la famille 56300 3 Architecture interne 8 11 Architecture Harvard 45 425 24444 44 a a Se RA Oe 3 2 Sch ma g n ral 33 Dar ALU 4 22 4 554 Raman nu a 4 2 tit AR AS Bu 3 3 1 Les registres d entr e 3 3 2 L unit MAG T 2 see el cha da BA ments 3 3 3 Les accumulateurs Silo SAGE os bo dha a Se ie Pee ee ER ere Gray Mee die Sor ROU 32 Doo a Xa do ale RTS RU ee NN en 4 3 9 1 Registres som a Soe da
17. a carte d valuation dans la chaine de mesures 44 9 2 Utilisation de l Audio Precision 44 Premi re partie INTRODUCTION Chapitre 1 Les DSPs 1 1 DSP et micro processeurs Un DSP est un type particulier de micro processeur La diff rence principale entre les deux r side dans le fait que contrairement au micro processeur qui n est pas destin une application sp cifique l architecture ses instructions et l ensemble de ses fonctionnalit s ont t choisies afin de le rendre particuli rement performant dans le domaine du traitement du signal Comme un micro processeur classique on peut lui adjoindre de la m moire RAM ROM et des p riph riques Il se pr sente g n ralement sous la forme d un micro contr leur int grant de la m moire des timers des ports s ries synchrones rapides des contr leurs DMA et des ports d entr es sorties divers 1 2 Grandes familles de DSPs Le march est partag entre quatre constructeurs principaux Texas Instru ments Analog Devices Freescale Motorola et Lucent Les DSP se diff rencient par le format de calcul fixe ou entier la taille du bus de donn es 16 24 ou 32 bits la puissance en millions d instructions par secondes MIPS et les fonctiona lit s sp cifiques directement int gr es traitement du son de l image etc Les processeurs virgule fixe lisent les bits comme des fractions en puissances n gat
18. concat nation de 3 registres chacun A2 A1 A0 et B2 B1 BO respectivement Le r sultat d une op ration est stock dans l accumulateur comme suit Dans Al les 24 bits les plus significatifs du produit MSP Dans AO les 24 bits les moins significatifs du produit LSP Dans A2 les 8 bits d extension EXT Si le r sultat d une op ration d accumulation addition conduit un d passement des valeurs 1 1 e overflow les bits exc dentaires seront stock s dans A2 B2 resp Quand un accumulateur qui contient des bits exc dentaires dans A2 B2 resp est lu et sa valeur plac e sur un bus de donn e la taille de XDB et YDB est de 24 bits la valeur effectivement plac e sur le bus sera une constante de limitation La valeur pr sente dans A B resp n est pas affect e La constante de limitation est la valeur maximale en valeur absolue de m me signe que la valeur pr sente dans l accumulateur c est dire soit 1 soit 1 Quand l op ration de limitation se produit un drapeau est mis 1 dans SR CHAPITRE 3 ARCHITECTURE INTERNE 14 Si le r sultat d une op ration ne conduit pas un d passement les 8 bits d ex tension prennent la valeur du bit de signe du r sultat on proc de une extension de signe Par exemple si on utilise 6 bits pour repr senter 13 001101 et que l op ration d extension de signe conduit un r sultat cod sur 10 bits 4 bits d e
19. e utiliser pour la mise 4 jour du registre d adresse Nn le registre d offset Offset Register contient l offset d calage ventuel appliquer Rn Low Address ALU High Address ALU H XAB YAB PAB Triple Multiplexer IA Address R1 RS oe R2 Re IA AA Global Data Bus Program Address Bus FIG 3 5 Sch ma bloc de AGU source manuel de la famille 56300 CHAPITRE 3 ARCHITECTURE INTERNE 15 A chaque registre d adresse Rn est associ un registre Mn et un registre Nn Par exemple pour le registre Ra ce sont les registres Ma et Na qui lui sont associ s Chaque Address ALU peut travailler en concurrence avec l autre ce qui permet le calcul de deux adresses bus XAB et YAB en un cycle d instruction Les bus PAB XAB YAB correspondent au bus de programme et aux bus d adresse X Y 3 5 PCU L unit de contr le du programme PCU coordonne l ex cution des instructions du programme et les instructions de traitement des interruptions et exceptions Elle fonctionne travers un pipeline d instruction 7 tages pr sent plus en d tails dans la section 3 6 et plusieurs registres programmables Elle est compos e de trois blocs mat riel fig 3 6 le g n rateur d adresse de programme PAG le contr leur de d codage du programme PDC le contr leur d interruption du programme PIC PDB PAB PDB GDB Program Program P
20. ent m moire et tre transf r dans un autre emplacement m moire avant l ex cution du programme par ex un programme situ dans une EPROM externe est transf r dans une RAM externe avant l ex cution Un transfert de ce type est appel un overlay L adresse et l espace m moire o le code est charg sont l espace m moire de chargement load memory space et l adresse de chargement load address tandis que l adresse et l espace m moire o le code est ex cut sont l espace m moire d ex cution runtime memory space et l adresse d ex cution runtime address L assembleur fonctionne soit dans le mode absolu soit dans le mode relatif En mode relatif l assembleur cr e des fichiers objets translatables CLN qui peuvent tre combin s et translat s par l diteur de liens tandis qu en mode absolu Pas sembleur cr e des fichiers objets absolus CLD qui ne peuvent pas tre translat s mais qui peuvent tre charg s directement pour ex cution ITranslatable caract rise un programme en mesure d occuper diff rentes places en m moire au moment de son chargement et de son ex cution 2C est le mode qui sera utilis lors des laboratoires 18 CHAPITRE 4 OUTILS DE D VELOPPEMENT 19 ENT FMPY D8D6D2 FADD S D3 D0 X R0 D4 S D2 S Y R5H TEXT Comment field field Operand 2 Opcode 2 Operand Opcode Label FIG 4 1 Sch ma g n ral d une instruction en assembleur
21. fie la valeur d initialisation 0 par d faut BSM block storage modulo L assembleur alloue et initialise un bloc de mots pour un buffer modulo Le nombre de mots est sp cifi par le premier argument et le deuxi me sp cifie la valeur d initialisation 0 par d faut Au d but le compteur de position est avanc une adresse de base convenant pour l adressage modulo voir la sous section 6 2 3 A la fin le compteur de position est avanc du nombre de mots g n r s DC define constant Alloue et initialise un mot en m moire pour chaque argument s par s par une virgule Les arguments sont stock s des adresses cons cutives en commencant l adresse donn e par la valeur du location counter dans l espace m moire courant DS define storage R serve un bloc m moire de taille gale au nombre de mots sp cifi par l argument Ce bloc de mot commence l adresse donn e par la valeur du location counter dans l espace m moire courant DSM define modulo storage R serve pour l adressage modulo un bloc m moire de taille gale au nombre de mots sp cifi par argument Au d but le comp teur de position d ex cution est avanc une adresse de base convenant Vadressage modulo Puis pour finir il est avanc de la valeur enti re donn e par l argument 4 1 4 Instructions assembleur principales 4 1 4 1 Principaux caract res significatifs D limiteur de commentaires Caract re de prolongatio
22. ives de 2 Les nombres repr sentables sont compris entre 1 et 1 e L architec ture de calcul en est simplif e et son co t est moindre Les processeurs virgule flottante utilisent une repr sentation des nombres sous forme d exposant et de mantisse ce qui implique une architecture plus complexe et un co t plus lev Chapitre 2 Rappels 2 1 Traitement du signal 2 1 1 Filtres audio num riques Un filtre num rique est un syst me de traitement num rique qui agit sur un signal num rique d entr e x n et produit un autre signal num rique sa sortie y n x n y n o Filtre F1G 2 1 Filtre num rique Causalit si x n 0 Vn lt no alors y n 0 Vn lt no Syst mes lin aires invariants La plupart des syst mes peuvent se mettre sous la forme d une quation aux diff rences lin aires 4 coefficients constants boyln byy n N aoxfn ayzx n M R ponse impulsionnelle principe de superposition La r ponse d un sys t me LTI est de la forme oo yin Y alll gin i l 00 ou yin z n x gln o g n 1 est la r ponse l impulsion unit d n 1 Si le syst me est de plus causal et x n 0 Yn lt 0 alors la r ponse impulsionnelle devient o0 vin Dall on 9 1 0 oo Stabilit Un syst me LTI est stable si 5 g k lt oo k o0 CHAPITRE 2 RAPPELS 2 1 2 Transform e en Z OO X z 5 x n z7 z com
23. mater os Gedy Sa ke ay ante BM te 3 6 Pipeline Suera ides ee Bee ds es BA ee kc A 3 6 1 Conflits wie eee be eee eee ame Pe een 3 6 1 1 Blocage arithm tique Arithmetic Stall 3 6 1 2 Blocage d tat Status Stall 3 6 1 3 Blocage de transfert Transfert Stall Outils de d veloppement 4 1 Compilateur et language assembleur 4 1 1 G n ralit s 41 2 Fichier Sources 8 Bk eee RO tee Re ee ee LE ee A D NNN N OO D OO OO OO oror TABLE DES MATI RES 2 4 1 2 1 Structure d une instruction 19 4 1 2 2 Les constantes num riques 19 4 1 2 3 Les op rateurs unaires 20 4 1 2 4 Les op rateurs arithm tiques 20 4 1 2 5 Op rateurs de d calage 20 4 1 2 6 Op rateurs relationnels 20 4 1 2 7 Op rateurs de manipulation de bits bitwise opera LOTS M ee Se MN sade Seed ee oy E 20 4 1 2 8 Op rateurs logiques 20 4 1 3 Directives principales 20 4 1 4 Instructions assembleur principales 21 4 1 4 1 Principaux caract res significatifs 21 4 2 D buggeur 2 pers daa dun ee dan bible a 21 5 Instructions 22 5 1 Instructions de base 22 5 2 Instructions arithm tiques 28 5 3 Instructions logiques
24. mn means that the instruction is a parallel instruction A blank table cell indicates that the instruction is not a parallel instruction Conditionally Break the current Hardware Loop o o DO FOREVER Start Infinite Loop DOR FOREVER Start PC Relative Infinite Loop CHAPITRE 5 INSTRUCTIONS 32 5 6 Instructions de d placement A 4 in the Parallel Instruction column means that the instruction is a parallel instruction A blank table cell indicates that the instruction is not a parallel instruction Load Updated Address Load PC Relative Address Move Data Register No Parallel Data Move Immediate Short Data Move Register to Register Data Move Address Register Update X Memory Data Move X Memory and Register Data Move Y Memory Data Move a lt Register and Y Memory Data Move Long Memory Data Move X Y Memory Data Move Move Control Register Move Program Memory Move Peripheral Data Viterbi Shift Left CHAPITRE 5 INSTRUCTIONS 33 5 7 Instructions de contr le du programme A y in the Parallel Instruction column means that the instruction is a parallel instruction A blank table cell indicates that the instruction is not a parallel instruction Branch Conditionally Branch if Bit Clear Branch if Bit Set Bse Branch to Subroutine Conditionally Branch to Subroutine if Bit Clear ER Branch to Subroutine Branch to Subroutine if Bit Set Enter Debug Mode Enter Debug Mode Conditionally
25. n de ligne Se place en bout de ligne Substitution du compteur de position location counter Quand l ast risque est utilis e comme op rande dans une expression elle repr sente la valeur enti re courante du compteur de position d ex cution runtime location counter Ex ORG X 100 XBASE EQU 20 donc XBASE 120 Op rateur de mode d adressage imm diat Il indique l assembleur d utiliser le mode d adressage imm diat D limiteur de fonction Le compilateur poss de des fonctions int gr es qui com mencent toutes par Par exemple SIN calcule un sinus et SQT calcule une racine carr e Attention ces fonctions ne concernent que l assem bleur et pas le DSP 4 2 D buggeur A venir Chapitre 5 Instructions 5 1 Instructions de base La plupart des instructions sp cifient un mouvement de donn es sur le bus XDB et ou YDB ainsi qu une op ration Data ALU en un seul mot d instruction Le noyau du DSP 56300 effectue ces op rations en parall le Dans cette section on trouvera les instructions les plus courantes tandis que les sections suivantes fourniront une liste exhaustive des instructions de la famille 56300 D placement MOVE Operation Assembler Syntax SD MOVE S D D place le contenu de la source S vers la destination D En plus de cette instruction de d placement on exploitera au maximum la pos sibilit de move parall le qui accompagne 30 instructions
26. o bn_1est le bit de poids fort qui correspond aussi au bit de signe et boest le bit de poids faible Remarque Puisque tout nombre r el ne peut tre repr sent par un nombre binaire de taille fixe qu avec une pr cision limit e il convient d tre tr s prudent quand une solution th orique est impl ment e sur DSP Le cas se pr sente notamment pour les coefficients de filtres 1T un des avantages est que lors de la multiplication de deux fractions de module lt 1 le r sultat restera inf rieur 1 en valeur absolue Deuxi me partie DSPs Motorola de la famille 56300 Chapitre 3 Architecture interne 3 1 Architecture Harvard Avec une architecture Von Neumann classique le CPU peut soit lire une ins truction soit lire crire une donn e de vers la m moire mais jamais les deux simul tan ment car les instructions et les donn es partagent un m me bus et une m me m moire Par contre l architecture Harvard contrairement l architecture Von Neumann utilise deux bus pour les acc s m moire un pour le transfert de donn es et l autre pour les instructions Il existe une variante cette architecture appel e Harvard double qui utilise trois bus r partis comme suit un pour les instructions et deux pour les donn es ce qui permet l ex cution d une instruction en parall le avec des acc s m moire 3 2 Sch ma g n ral Les DSPs de la famille 56300 s articulent autour d un noyau
27. plexe Propri t s a n lt _ gt X z x n no lt gt 27 X z xin x y n lt gt X z Y z 2 1 2 1 Fonction de transfert La transform e en Z d un syst me LTI dont l quation aux diff rences est du type boyln biy n 1 bny n N aoxfn aixfn 1 aya n M est de la forme Y z a az 1 am 2 X z bo biz byzN 2 1 2 2 Stabilit 2 1 Un syst me de la forme eq 2 1 est stable et causal si tous ses p les sont tels que jz lt 1 2 1 2 3 Syst me minimum de phase Un syst me de la forme eq 2 1 est dit minimum de phase si tous ses z ros sont tels que ll lt 1 2 1 3 Filtres non r cursifs et filtres FIR La sortie d un filtre non r cursif ne fait intervenir que les chantillons pr c dents de l entr e 4 y n fn a n M bo 0 x n 1 x n M x n o gt T gt T a ao w ja ei aM bo bo bo Y Y Y Y o o y n FIG 2 2 Filtre non r cursif Un filtre non r cursif est toujours r ponse impulsionnelle finie FTR mais pas l inverse CHAPITRE 2 RAPPELS 7 2 1 4 Filtres r cursifs et filtres IIR La sortie d un filtre r cursif fait intervenir tant les chantillons pr c dents de l entr e que ceux de la sortie i e b1 b 40 x n 1
28. qui comporte divers p riph riques d usage courant en plus d un DSP 56311 Parallel Codec Circuitry On Board Command Converter Circuitry 12 288 MHz AA2065 FIG 8 1 Sch ma bloc fonctionnel de la carte 56311EVM source manuel de la carte d valuation 56311EVM On peut y trouver un codec audio CS4218 connect aux ports ESSIO et ESSI1 une puce MAX3223 connect e au port SCI qui permet une communication s rie avec un PC par ex un port parall le connect au port JTAG OnCE qui assure la communication avec le d buggeur install sur les ordinateurs de d veloppement de la m moire RAM connect e au portA qui permet d tendre la m moire interne du DSP 42 CHAPITRE 8 CARTE D VALUATION EVM56311 43 de la m moire FLASH qui permet de faire fonctionner la carte d valuation en syst me ind pendant Le CS4218 est un codec st r o16 bits qui autorise des fr quences d chantillonnage comprises entre 8 kHz et 48 kHz Ces fr quences se r glent au moyen du jumper J8 8 1 Interfa age avec le codec CS4218 Pour l utilisation du codec CS4218 la carte d valuation DSP56311EVM est fournie avec les fichiers sources suivants Joequ asm Associations equates des entr es sorties pour les modules de la carte d valuation Intequ asm Associations des interruptions pour les modules de la carte d va luation Ada_equ asm Associations n
29. rall le au noyau d un module DMA Direct Memory Access de 34 General purpose In Out GPIO de 4 lignes d interruptions de trois timers d un port parall le HI08 Host Interface de deux ESSI Enhanced Synchronous Serial Interface et d une SCI Serial Communication Interface Il dispose en outre d une m moire interne r partie entre la m moire de programme la m moire de donn es X et la m moire de donn es Y 7 2 P riph riques Les p riph riques d entr e sortie sont control s au moyen de registres mapp s dans les 128 mots sup rieurs de la m moire de donn es X GPIO Le port GPIO est constitu de 34 signaux bidirectionnels qui peuvent tre confi gur s en signaux d usage g n ral ou en signaux d di s aux p riph riques Son mode de fonctionnement est s lectionn dans le registre de contr le Les signaux sont r partis en 5 groupes Port B partag s avec les signaux HI08 Port C partag s avec les signaux ESSIO Port D partag s avec les signaux ESSI1 Port E partag s avec les signaux SCT Timers partag s avec les signaux du timer triple PR PR PR TS HI08 L HI08 est un port parall le full duplex double buffer de largeur 8 bits Il supporte de nombreux bus et fournit une connection facile glueless avec des microprocesseurs microordinateurs et des DSPs aux standards industriels ESSI L ESSI fournit un port s rie full duplex pour la communica
30. rallel instruction AND AND imm ANDI CLB EOR EOR imm EXTRACT EXTRACT imm EXTRACTU EXTRACTU imm INSERT INSERT imm LSL LSL mb LSL mb imm LSR LSR mb LSR mb imm MERGE NOT OR OR imm ORI ROL ROR Logical AND Logical AND immediate operand AND Immediate to Control Register Count Leading Bits Logical Exclusive OR Logical Exclusive OR immediate operand Extract Bit Field Extract Bit Field immediate operand Extract Unsigned Bit Field Extract Unsigned Bit Field immediate operand INSERT Bit Field INSERT Bit Field immediate operand Logical Shift Left Logical Shift Left multi bit Logical Shift Left multi bit immediate operand Logical Shift Right Logical Shift Right multi Logical Shift Right multi Merge Two Half Words Logical Complement Logical Inclusive OR bit bit immediate operand Logical Inclusive OR immediate operand OR Immediate With Control Register Rotate Left Rotate Right CHAPITRE 5 INSTRUCTIONS 31 5 4 Instructions de manipulation de bits Mnemonic Description Parallel Instruction A y in the Parallel Instruction column means that the instruction is a parallel instruction A blank table cell indicates that the instruction is not a parallel instruction BCLR Bit Test and Clear Pe 5 5 Instructions de boucle Mnemonic Description Paralel p Instruction A Vin the Parallel Instruction colu
31. ress is used it is incremented by the contents of the Nn register and stored in the same address register The contents of the Nn register are unchanged Example MOVE x Rn Nn x0 m Post Decrement By Offset Nn Rn Nn The operand address 1s in the address register After the operand address is used it is decremented by the contents of the Nn register and stored in the same address register The contents of the Nn register are unchanged Example MOVE x Rn Nn x0 m Indexed By Offset Nn Rn Nn The operand address is the sum of the contents of the address register and the contents of the address offset register Nn The contents of the Rn and Nn registers are unchanged Example MOVE x Rn Nn x0 m Pre Decrement By One Rn The operand address is the contents of the address register decremented by one The contents of Rn are decremented by one and stored in the same address register before the memory access The Nn register 15 ignored Example MOVE x Rn x0 m Short Displacement Rn Short Displacement The operand address is the sum of the contents of the address register Rn and a short signed displacement occupying seven bits in the instruction word The displacement is first sign extended to 24 bits 16 bits in SC mode and then added to Rn to obtain the operand address The contents of the Rn register are unchanged The Nn register is ignored This reference is classified as a memory reference Example M
32. rogram Address lt gt Decode lt gt Interrupt Generator Controller Controller Len A Lenen A La d Legend Interrupt Request Inputs GDB Global Data Bus RESET PAB Program Address Bus PDB Program Data Bus FIG 3 6 Architecture PCU source manuel de la famille 56300 Pour pr server l op ration en cours et les valeurs de status pendant l ex cu tion des interruptions et des exceptions la PCU dispose d une pile syst me system stack De plus elle fournit un support sp cial pour les boucles DO et l instruction de r p tition REPEAT Pour g rer ses diff rents fonctions elle s appuie sur plu sieurs registres programmables dont entre autres le registre du mode d op ration OMR operating mode register le registre d tat SR status register et le PC program counter 3 5 1 Registres La PCU comporte deux registres qui permettent de configurer et de consulter son tat actuel OMR Operating mode register SR Status Register cfr fig 3 7 Le contr le de l ex cution du code est effectu par quatre registres de la PCU PC Program Counter Register contient l adresse des mots d instruction dans l espace m moire de programme LA Loop Address Register indique la position du dernier mot d instruction dans une boucle mat rielle LC Loop Counter Register sp cifie le nombre de r p titions d une boucle VBA Vector Base Address
33. rties expace externe r sev au entr es sorties expan sion optionnelle de m moire en externe Cartographie de la m moire La configuration de l espace m moire et de la RAM est d finie par les valeurs des bits MS bit 7 du registre OMR MSW 1 0 bits 22 et 21 du registre OMR CE bit 19 du registre SR et SC bit 13 du registre SR Le sch ma de l organisation par d faut de la m moire est donn par la figure 7 1 7 4 Interface de communication s rie A venir 7 5 Interruptions A venir CHAPITRE 7 DSP 56311 41 Program X Data SFFFFFF SFFFFFF SFFFFFF External WO Internal I O SFFFFCO SFFFF80 sFFFF80 Internal I O Internal SFFF000 FFF000 Reserved Internal Internal Reserved Reserved FFOOCO FF0000 Bootstrap ROM 29900 SFF0000 External External External 00C000 00C000 008000 Internal Internal Internal Program RAM X data RAM Y data RAM 32K 48K 48K 000000 000000 000000 Bit Settings Memory Configuration any 32K 48K 48K value 0000 57FFF 0000 SBFFF 50000 8FFF Lowest 10K of X data RAM and 10K of Y data RAM are shared memory that can be accessed by the core and the EFCOP but not by the DMA controller Fic 7 1 Cartographie de l organisation m moire par d faut source manuel Vutilisateur du DSP 56311 Chapitre 8 Carte d valuation EVM56311 Comme observ sur la figure 8 1 la carte EVM56311 utilis e aux laboratoires est une carte d valuation
34. ses throughout the core DMA Data Bus DDB Transfers data with DMA channels DMA Address Bus DAB Transfers address information with DMA channels Fic 3 3 Fonction des bus apparaissant la figure 3 2 source manuel d utilisateur du DSP 56311 3 3 Data ALU La Data ALU effectue toutes les op rations logiques et arithm tiques sur les donn es Elle est principalement compos e cfr figure 3 4 de 4 registres d entr e 24 bits X0 X1 YO Y1 une unit MAC Multiplier Accumulator avec pipeline 2 accumulateurs de 56 bits chacun A et B d compos s en 2 registres de 48 bits et 2 registres d extension de 8 bits une unit de d calage pour l accumulateur accumulator shifter des circuits de d calage et limitation pour les deux bus de donn es une BFU Bit Field Unit 3 3 1 Les registres d entr e Les registres de la Data ALU peuvent tre trait s comme des op randes de 24 ou 48 bits acquises ou lues sur les bus de donn es X XDB ou Y YDB Les op randes sources pour la Data ALU qui peuvent tre de 24 48 ou 56 bits ne peuvent provenir que de ses registres accumulateurs compris une exception lorsque la source est contenue dans l instruction immediate field elle provient du PDB et passe par le multiplexeur Le r sultat de toute op ration de la Data ALU est stock dans un accumulateur A ou B Les registres d entr e X0 X1 YO Y1 servent de buffers d entr e en
35. sses externes Les bus de donn es au nombre de deux Harvard double sont not s XDB X Data Bus et YDB Y Data Bus 21 16 CD I Memory Expansion Area Program Triple Host ary ad a an x 2 OT Int Timer Interface Program RAM rv 31K x 24 and SCI erface 3 rv Instruction i Cache Peripheral Expansion Area Internal Data Switch PE a es A Por swen Doi GRR ES CRE lc D 1 D Clock Dela ALU Gen Program l Program le Program mE erator Interrupt 11 Decode 24 x 24 56 gt 56 bit MAC 1 Controller Controller Two 56 bit Accumulators 56 bit Barrel Shifter MODAIRQA MODB IRQS PINIT NMI MOOD IRQD FIG 3 2 Sch ma bloc du 56311 source manuel d utilisateur du DSP 56311 CHAPITRE 3 ARCHITECTURE INTERNE 12 La fonction des autres bus est reprise la figure 3 3 Global Data Bus GBD Between Program Control Unit and other core structures Peripheral I O Expansion Bus PIO EB To peripherals Program Memory Expansion Bus PM _EB To Program ROM Program Data Bus PDB Carries program data throughout the core Program Address Bus PAB Carries program memory addresses throughout the core X Memory Expansion Bus XM_EB To X memory X Memory Data Bus XDB Carries X data throughout the core X Memory Address Bus XAB Carries X memory addresses throughout the core Y Memory Expansion Bus YM_EB To Y Memory Y Memory Data Bus YDB Carries Y data throughout the core Y Memory Address Bus YAB Carries Y memory addres
36. sur les 62 disponibles Cette possibilit permet une op ration de la Data ALU d effectuer en parall le son ex cution jusqu 2 d placements sur les bus de donn es 1 par bus XDB et YDB Les diff rentes possibilit s de d placements sont r sum es la figure 5 1 Remise z ro CLR Operation Assembler Syntax 0 D parallel move CLR D parallel move Met 0 Paccumulateur A ou B destination D C est une instruction qui porte sur 56 bits 22 CHAPITRE 5 INSTRUCTIONS 23 CI O as e DCI IE E CO E LUS Fic 5 1 Instruction MOVE source manuel de la famille 56300 Multiplication et accumulation MAC Operation Assembler Syntax D S1 S2 D parallel move MAC 4381 82 D parallel move D 81 S2 gt D parallel move MAC 4 82 51 D parallel move MAC D 81 27 D no parallel move S n D no parallel move Instruction Fields 51 523 QQQ Source registers S1 S2 XO X0 YO YO0 X1 X0 Y1 Y0 X0 Y1 YO X0 X1 Y0 Y1 X1 D d Destination accumulator A B k Sign S QQ Source register Y1 X0 Y0_X1 D d Destination accumulator A B k Sign n ssss Immediate operand Multiplie les deux op randes sources 24 bits S1 et S2 et additionne soustrait le produit de l accumulateur destination D CHAPITRE 5 INSTRUCTIONS 24 Addition ADD Operation Assembler Syntax S D D parallel move ADD S D parallel move xx D D ADD xx D xxxx
37. tant en parall le d une op ration Chaque transfert de donn e est sp cifi par ses deux op randes s par es par une virgule sans espace et les transferts sont s par s par un ou plusieurs espaces tabulations Ex L instruction MAC x0 y0 a y r4 y1 va placer la valeur contenue l adresse de la m moire Y sp cifi e par le registre r4 dans le registre yl en parall le l ex cution de l op ration MAC Le champ Comment Les commentaires commencent par un ATTENTION les op rateurs qui suivent ne concernent que le langage ASSEMBLEUR et ne constituent EN AUCUN CAS des instructions du DSP uy e 4 1 2 2 Les constantes num riques Les constantes num riques peuvent tre exprim es dans trois bases 3 Mn moniques qui correspondent directement aux instructions machines du DSP 4Code d op rations sp ciales connues par l assembleur qui contr le le processus d assemblage CHAPITRE 4 OUTILS DE D VELOPPEMENT 20 binaire 11010 hexad cimale 12FF ou 12ff d cimale 12345 entier 6E10 floating point 6 floating point 2 7e2 floa ting point 4 1 2 3 Les op rateurs unaires retourne la valeur de son op rande retourne la valeur n gative de son op rande compl ment 1 n gation logique 4 1 2 4 Les op rateurs arithm tiques addition soustraction multiplication division modulo
38. te le compteur de programme PC et les actions du pipeline en cours sont achev es L ex cution se poursuit avec l instruction suivante Instruction de boucle DO Operation SP 1 SP LA gt SSH LC gt SSL X or Y ea LC SP 1 SP PC SSH SR gt SSL expr 1 LA 1 LF SP 1 SPLA SSH LC gt SSL X or Y aa LC SP 1 SP PC SSH SR SSLiexpr 1 LA 1 LF SP 1 SPLA SSH LC gt SSL xxx LC SP 1 SP PC SSH SR SSLiexpr 1 LA 1 LF Assembler Syntax DO X or Y ea expr DO Xor Y aa expr DO xxx expr SP 1 gt SP LA SSH LC gt SSL S gt LC DO S expr SP 1 gt SP PC gt SSH SR SSL expr 1 LA 13LF End of Loop SSL LF gt SR SP 1 gt SP SSH gt LA SSL gt LC SP 1 SP Instruction Fields ea MMMRRR Effective Address X Y S Memory Space X Y expr 24 bit Absolute Address in 16 bit extension word aa aaaaaa Absolute Address 0 63 0x hhhhiiiiiii Immediate Short Data 0 4095 S DDDDDD Source register all on chip registers except SSH R p te les instructions comprises entre DO et le label expr un nombre de fois sp cifi par l op rande source La gestion de la boucle est prise en charge par le DSP sans surco t de cycles d instructions Les boucles DO peuvent tre imbriqu es mais ne peuvent pas avoir le m me label de fin Saut vers une sous routine JSR Operation SP 1 SP PC SSH SR
39. tion avec un codec un DSP un microprocesseur et des p riph riques L interface est synchrone car tous les transferts s rie sont synchronis s sur une horloge 39 CHAPITRE 7 DSP 56311 40 SCI Le SCI fournit un port s rie full duplex pour la communication avec d autres DSP microprocesseurs ou p riph riques tels que les modems Il accepte tant les d bits asynchrones standards de l industrie que les communications synchrones ra pides C est ce port qui est utilis pour la communication s rie avec un PC 7 3 Configuration de la m moire Le DSP 56311 peut adresser trois sets de 16M x 24 bits de m moire programme donn es X et donn es Y Ces trois espaces de m moires sont tant internes qu ex ternes De plus il existe plusieurs mode de r partition de la m moire interne entre la partie programme donn es X et donn es Y M moire de programme Elle est compos e des parties suivantes m moire de programme interne cache d instruction optionnel ROM d amorce de programme bootstrap expansion op tionnelle de m moire en externe M moire de donn es X Elle est compos e des parties suivantes m moire interne de donn es espace interne r serv aux entr es sorties acc s entre autre par instructions MOVE MO VEP expansion optionnelle de m moire en externe M moire de donn es Y Elle est compos e des parties suivantes m moire interne de donn es espace interne r serv aux entr es so
40. tre les bus XDB YDB et Punit MAC ou l unit d calage multiple barrel shif ter Ils peuvent tre trait s comme quatre registres ind pendants ou deux registres de 48 bits X et Y form s par la concat nation de X1 X0 et Y1 YO respectivement La notation X1 X0 repr sente la concat nation de X1 et X0 o X1 fournit les bits les plus significatifs resp X0 fournit les bits les moins significatifs CHAPITRE 3 ARCHITECTURE INTERNE 13 X Data Bus Y Data Bus P Data Bus Immediate Field Bit Field Unit and Barrel Shifter Accumulator Shifter 56 Y FIG 3 4 Sch ma bloc de la Data ALU source manuel de la famille 56300 3 3 2 L unit MAC L unit Multiplicateur Accumulateur MAC est l unit principale de traitement arithm tique du noyau du DSP 56300 Le multiplicateur ex cute des multiplications 24bits X 24bits et le r sultat de 48 bits est justifi droite en 56 bits et additionn au contenu de l accumulteur A ou B Quand un r sultat de 56 bits doit tre stock en tant qu op rande 24 bits soit la partie la moins significative est tronqu e soit le r sultat de 56 bits est arrondi 24 bits en fonction de l instruction DSP en cours d ex cution Le type d arrondi est sp cifi par le bit correspondant dans un registre sp cial le registre d tat SR Status Register 3 3 3 Les accumulateurs Les accumulateurs A et B sont constitu s par la
41. umulateur source d une instruction Data ALU est identique l accumulateur destination de l instruction Data ALU pr c dente Un cycle d attente est ins r au niveau hardware Chapitre 4 Outils de d veloppement 4 1 Compilateur et language assembleur Les programmes d velopp s pour le DSP Motorola 56311 dans le cadre de ce cours seront crits en assembleur dans un fichier asm l aide d un diteur de texte tel que le Notepad de Windows La compilation du code est effectu e l aide du fichier asm56300 exe L assembleur Motorola traite le fichier asm en deux passages Au premier pas sage il construit les tables des symboles et des macros et au second passage le fichier objet est g n r avec les r f rences aux tables cr es durant le premier pas sage et le listing du programme source est produit Les erreurs d tect es sont crites dans ce listing Suite aux fonctionnalit s avanc es d adressage circulaire et reverse carry le langage assembleur fournit des directives pour tablir l adresse de base des buffers leur allouer de la m moire et initialiser leurs valeurs Cependant les buffers peuvent aussi tre allou s manuellement 4 1 1 G n ralit s L architecture du DSP 56311 poss de les quatre espaces m moire suivants X Y L concat nation de X et Y P programme Puisque les transferts entre espaces m moire sont autoris s le code objet peut tre charg dans un emplacem
42. virgule fixe de 24 bits auquel on peut ajouter divers p riph riques standards port s rie port parall le ports entr es sorties g n ralistes timers modules m moire RAM ROM coprocesseurs divers tel qu illustr la figure 3 1 Special Purpose Coprocessors Peripherals GPIO VO Pins Memory Extema Data Memory Expansion 24 bit DSP Interface Port A Address CPU Core JTAG ONCE Interface FIG 3 1 Structure de la famille 56300 source manuel de la famille 56300 Comme on peut l observer la figure 3 2 pour le cas particulier du DSP 56311 10 CHAPITRE 3 ARCHITECTURE INTERNE 11 le noyau se compose entre autres d une Data Arithmetic Logic Unit Data ALU d une Adress Generation Unit AGU d une Program Control Unit PCU d une Phase Locked Loop PLL d une interface pour la m moire externe Port A d un Instruction cache controler embarqu d un support mat riel de d buggage JTAG Test Access Port OnC ETM d un controleur DMA en dessous de l AGU On y distingue diff rentes zones zone de p riph riques d expansion zone comprenant les modules m moires internes les diff rents bus tous de taille 24 bits y compris les bus d adresses modules de gestion des p riph riques externes et de d buggage modules de contr le de l ex cution du programme la Data ALU zone de gestion m moire AGU DMA s lection d adre
43. xtension la nouvelle repr sentation de 13 est obtenue en ajoutant quatre 0 aux 6 bits pr c dents 0000 001101 Si le nombre de d part est n gatif 13 en repr sentation compl ment 2 sur 6 bits 110011 le r sultat de l extension de signe sur 10 bits est obtenu en ajoutant quatre 1 aux 6 bits pr c dant 1111 110011 De cette fa on la positivit ou n gativit du nombre original est pr serv e Si un r sultat de 24 bits doit tre crit dans un accumulateur les 24 bits sont plac s dans A1 tandis qu A0 est rempli de 0 et A2 contient l extension de signe 3 4 AGU L AGU unit de g n ration d adresse effectue les op rations de calcul en arith m tique enti re des adresses effectives n cessaires pour acc der aux op randes sto ck es en m moire et contient les registres utilis s lors de ces calculs Pour minimiser les surco ts engendr s par ces calculs PAGU travaille en parall le avec les autres unit s de la puce Elle traite quatre types d adressage lin aire modulo modulo enroulements multiples reverse carry utilis pour les FFTs En se rapportant la figure 3 5 on observe qu elle est scind e en deux parties comportant chacune une Address ALU et quatre triplets de registres Rn le registre d adresse Address Register contient l adresse utiliser Mn le registre d index Modifier Register sp cifie le type d arithm tiqu

Download Pdf Manuals

image

Related Search

Related Contents

Manuel d`utilisation  Fujitsu LIFEBOOK AH530  使用ガイド  Model-Based Analysis of an Arc Protection and an Emergency  iH400-STD-OS 取扱説明書 / InstructuionManual  FEDKIT FEDKIT user`s manual and programer`s manual  Updated PDF User Manual  Seagate Momentus 500GB  Dynamode 2-Port Pocket KVM with Cables  PDF PAGE  

Copyright © All rights reserved.
Failed to retrieve file