Cours dsp ge3_isi_eei__1_9_2011_etudiant_2

of 168/168
République Tunisienne Ministère d’Enseignement Supérieur Ministère d’Enseignement Supérieur, Université de Sfax ECOLE NATIONALE D’INGENIEURS DE SFAX
  • date post

    16-Jan-2015
  • Category

    Engineering

  • view

    990
  • download

    23

Embed Size (px)

description

 

Transcript of Cours dsp ge3_isi_eei__1_9_2011_etudiant_2

  • 1. Rpublique Tunisienne Ministre dEnseignement SuprieurMinistre dEnseignement Suprieur, Universit de Sfax ECOLE NATIONALE DINGENIEURS DE SFAX

2. ENISENIS 2011/20122011/2012 C DSPC DSP 2011/20122011/2012 Cours DSPCours DSP 3 GE ISI EEI3me anne GE ISI-EEI Nouri MASMOUDINouri MASMOUDI Professeur lENIS Responsable de lquipe Circuits et Systmes L b t i dl t i t d T h l i d lI f tiLaboratoire dlectronique et des Technologies de lInformation 3. Plan du coursa du cou s Chapitre I : Introduction aux DSP Chapitre II : Architectures des DSP Chapitre III : Architecture interne du TMS320 C64X Chapitre IV : tude pratique du pipeline pour le TMS320 C64X Chapitre V : Techniques doptimisationChapitre V : Techniques d optimisation ENIS 2011-2012 Cours DSP 3 4. ENISENIS 2011/201 Chapitre I : Introduction aux DSPs Plan Ch suivant 5. Sommaire Besoins et contraintes en traitement numrique du signal Applications typiques Algorithmes typiques Prsentation des DSP Processeurs actuelsProcesseurs actuels Exemples des DSP Comparaison avec les processeurs gnralistesp p g Reprsentation des nombres Types de donnesTypes de donnes Virgule fixe Virgule flottant ENIS 2011-2012 Cours DSP Chapitre 1 5 Virgule flottant 6. Dfinition dun DSP DSP = Digital Signal Processor Processeur de traitement Numrique du Signal U DSP i li d iUn DSP est un type particulier de microprocesseur. Il intgre un ensemble de fonctions spciales destines le rendre particulirement performant dans le domaine du traitement numrique du signal (TNS). Il se prsente gnralement sous la forme dun microcontrleur intgrant, selon les marques et les gammes des constructeurs, de la mmoire, des timers, des ports srie synchrones rapides, des contrleurs DMA, des ports dE/S divers. Cours DSP Chapitre 1 6ENIS 2011-2012 7. Structure gnrale des applications de TNS TNS = Traitement Numrique du Signal ADC = Analog to Digital Converter DAC = Digital to Analog Converter ENIS 2011-2012 Cours DSP Chapitre 1 7 8. Pourquoi le TNS ?q Les principaux avantages du calcul numrique / au calcul analogique :p p g q g q Grande rsistance aux bruits variations des tensions dalimentationa a o s des e s o s d a e a o variations de la temprature interfrences lectromagntiques (EMI)g q ( ) Indpendance par rapport aux tolrances de fabrication Prcision arbitrairePrcision arbitraire Stabilit dans le temps Stockage des donnes sans dgradationStockage des donnes sans dgradation Programmation flexible et dveloppement rapide Contrle absolu des donnes lors du traitement Cours DSP Chapitre 1 8 Contrle absolu des donnes lors du traitement ENIS 2011-2012 9. Applications des DSPpp Communications Image / vidoCommunications Filaire (DSL, cable) Sans fil (cellulaires, tl i i i di Image / vido Compression/Codage Composition tlvision numrique, radio numrique) Modem Traitement Cryptage Militaire I i dAudio Mixage et dition Effets Imagerie : radar, sonar Cryptographie Guidage de missilesEffets Suppression de bruit Annuleur decho g Navigation Cours DSP Chapitre 1 9ENIS 2011-2012 10. Applications des DSPpp Biomdical AutomatisationBiomdical Equipements de monitoring Signaux biophysiques ElectroEncphaloGramme (EEG) Automatisation Commande de machines Contrle de moteurs RobotsElectroEncphaloGramme (EEG) ElectroCardioGramme (ECG) Radiographie Robots Instrumentation Analyseurs de spectre Electronique Automobile Contrle du moteur Gnrations de fonctions Analyseurs de rgimes transitoires Contrle du moteur Assistance au freinage Aide la navigation Commandes vocales Cours DSP Chapitre 1 10ENIS 2011-2012 11. Application type : Modem ADSL ADSL = Asymmetrical Digital Subscriber Line Besoins en calcul de 100 150 MIPS. TEQ = Time domain EQualizer QAM = Quadrature Amplitude Modulation Cours DSP Chapitre 1 11 FEQ = Frequency domain EQualizer ENIS 2011-2012 12. LCD TV TV numrique : affiche la vidoTV numrique : affiche la vido numrique / analogique LCD (Liquid Crystal Display) Module de base: DSP - dcodeur MPEGxDSP dcodeur MPEGx pour vido, voix: AC3/MPEG pour le traitement audio. MCU contrleur du systme lectronique, rseau. I t f Vid / diInterface Vido/audio Unit dalimentation Cours DSP Chapitre 1 12ENIS 2011-2012 13. Digital Video Recorder Le systme inclut : ProcesseurProcesseur DSP: MPEG CPU Triple DAC NTSC/PAL, S vido et YPrPb Interface FPGA/PCI - commander le transfert destransfert des donnes et le bus PCI. CODEC StroCODEC Stro Audio , Interface utilisateur, Bloc dalimentation Cours DSP Chapitre 1 13ENIS 2011-2012 14. Radar Cours DSP Chapitre 1 14ENIS 2011-2012 15. Digital Still Camera Cours DSP Chapitre 1 15ENIS 2011-2012 16. Algorithme type : Les filtres FIR Pour un filtre rponse impulsionnelle finie (Finite Impulse Response) de taille N (nombre de coefficients), on doit effectuer un calcul du type : Cours DSP Chapitre 1 16ENIS 2011-2012 17. Algorithme type : Les filtres FIR Contraintes : nombre de coefficients (10 ! 300), prcision (16 ou 24 bits), Cours DSP Chapitre 1 17 vitesse de fonctionnement . . . ENIS 2011-2012 18. Profils dutilisation du DSP Embarqu Haute performanceEmbarqu Faible cot unitaire Faible consommation : part importante de la Haute performance Puissance : Calcul intensif Paralllisme Multiplication des units deimportante de la consommation pour la mmoire Architecture limite au strict Multiplication des units de calcul internes Interfaces multi-DSP Interface avec un ordinateurArchitecture limite au strict ncessaire Temps rel Interface avec un ordinateur hte Non prioritaires : Performance Non prioritaires : Cot lev Utilisation mmoirePerformance Facilit de programmation Ut sat o o e Consommation Cours DSP Chapitre 1 18ENIS 2011-2012 19. Caractristiques classiques des DSPDSP Ch i d d i t it t d i lChemin de donnes organis pour traitement du signal Jeu dinstructions spcialisp Plusieurs bancs mmoire et plusieurs bus Modes dadressage spcialiss Contrle dexcution spcialisContrle d excution spcialis Priphriques spciaux pour le traitement du signal Augmentation du paralllisme Cours DSP Chapitre 1 19ENIS 2011-2012 20. Caractristiques classiques des DSPDSP Augmentation du paralllisme Calculs Units de calcul en parallle Mmoire accs multiples Lecture/criture de plusieurs donnes simultanmentp Pipeline Dcoupage des instructions de faon les excuter Dcoupage des instructions de faon les excuter intervalles plus rapprochs Cours DSP Chapitre 1 20ENIS 2011-2012 21. Traitement en Temps Rel Les processeurs DSP doivent accomplir des tches en Traitement en Temps Rel Les processeurs DSP doivent accomplir des tches en temps rel, ainsi comment dfinissons-nous le temps rel ? La dfinition du temps rel dpend de lapplication. Example: un filtre FIR de 100 chantillons est excut en temps rel si le DSP peut effectuer et accomplir l'opration suivante entre deux chantillons : ( ) ( ) ( )= = 99 0k knxkany Cours DSP Chapitre 1 21 =0k ENIS 2011-2012 22. Traitement en Temps RelTraitement en Temps Rel TempsTemps d tt td tt tTemps de TraitementTemps de Traitement dattentedattente nn n+1n+1 Temps dchantillonTemps dchantillon nn n+1n+1 Nous pouvons dire que nous avons unep q application en temps rel si : ENIS 2010-2011 Cours DSP Chapitre 1 22 Temps d'attente 0 23. Spcificits des DSP Algorithme classique de TNS : Filtre RIF Spcificits des DSP Algorithme classique de TNS : Filtre RIF = 1 )()()( N inxiany Pour chaque a(i) x(n-i) : =0 )()()( i inxiany Pour chaque a(i) x(n-i) : Recherche de linstruction Recherche du coefficients a(i) Recherche de la donne x(n-i) 3 accs la mmoire Recherche de la donne x(n i) Multiplication a(i) x(n-i)2 accs lunit ENIS 2010-2011 Cours DSP Chapitre 1 23 Accumulation a(i-1) x(n-i-1) + a(i) x(n-i)de calcul 24. Spcificits des DSPSpcificits des DSP Obj tifObjectifs : Rduire les accs mmoire Augmenter les accs mmoire simultans Rduire le temps pass pour faire des calculs Instruction MAC (multiplication-accumulation) ENIS 2010-2011 Cours DSP Chapitre 1 24 ( p ) en 1 seul cycle dinstruction 25. Classification des processeurs DSP = Digital Signal ProcessorDSP = Digital Signal Processor ASIP = Application Specific Instruction set Processor ASIC A li ti S ifi I t t d Ci it Cours DSP Chapitre 1 25 ASIC = Application Specific Integrated Circuit ENIS 2011-2012 26. Quel processeur utiliser pour le TNS -contrleurs : pas assez performants ASIC : beaucoup trop coteux, mise en oeuvre complexe et longueg ASIP : beaucoup trop coteux complexe et surtout spcifiqueASIP : beaucoup trop coteux, complexe et surtout spcifique Processeurs gnralistes (GPP) : pas temps rel, trop coteux, consomment trop dnergie, difficilement embarquables Cours DSP Chapitre 1 26ENIS 2011-2012 27. Quel processeur utiliser pour le TNS ASIC ASIC ance FPGA menttime FPGA Performa GPP DSP Developm GPP DSP Cours DSP Chapitre 1 27ENIS 2011-2012 28. Quel processeur utiliser pour le TNS GPP GPP lity sumption DSP DSP Flexibil Powercons ASIC FPGA ASIC FPGA P ASIC Cours DSP Chapitre 1 28ENIS 2011-2012 29. General Purpose DSP / DSP in ASICGeneral Purpose DSP / DSP in ASIC Circuit intgr application Spcifique (ASICs) est conu base des fonctions en semi-conducteurs. Les avantages et les inconvnients dutiliser les ASICs sont numrs ci-dessous :les ASICs sont numrs ci dessous : AdvantagesAdvantages S iS i ll InconvInconvnientsnients CC tt ll SortieSortie levlev Faible surface en siliciumFaible surface en silicium Faible consommation deFaible consommation de CoCott levlev Moins de flexibilitMoins de flexibilit Temps de dTemps de dveloppement estveloppement est puissancepuissance FiabilitFiabilit amamliorlioree RRduction du bruitduction du bruit levlev Cours DSP Chapitre 1 29 Faible coFaible cot du systt du systme globalme global ENIS 2011-2012 30. Hardware / Microcode multiplicationHardware / Microcode multiplication Les processeurs DSP sont optimiss pour effectuer des oprations de multiplication et d'addition. Multiplication et addition sont excutes matriellement pendant un seul cycle.p y Exemple: Multiplication 4-bit (non-sign). HardwareHardware MicrocodeMicrocodeHardwareHardware MicrocodeMicrocode 10111011 x 1110x 1110 10111011 x 1110x 1110 1001101010011010 00000000 Cycle 1Cycle 1 10111011 x 1110x 1110 10111011 x 1110x 1110 1001101010011010 00000000 Cycle 1Cycle 11001101010011010 00000000 1011.1011. 1011..1011.. 1011...1011... Cycle 1Cycle 1 Cycle 2Cycle 2 Cycle 3Cycle 3 Cycle 4Cycle 4 1001101010011010 00000000 1011.1011. 1011..1011.. 1011...1011... Cycle 1Cycle 1 Cycle 2Cycle 2 Cycle 3Cycle 3 Cycle 4Cycle 4 Cours DSP Chapitre 1 30 1011...1011... 1001101010011010 Cycle 4Cycle 4 Cycle 5Cycle 5 1011...1011... 1001101010011010 Cycle 4Cycle 4 Cycle 5Cycle 5 ENIS 2011-2012 31. Paramtres considrerParamtres considrer Parameter TMS320C6211 (@150MHz) TMS320C6711 (@150MHz) Parameter TMS320C6211 (@150MHz) TMS320C6711 (@150MHz) Arithmetic format Extended floating point Extended Arithmetic 32-bit N/A 40-bit 32-bit 64-bit 40-bit @ @ Arithmetic format Extended floating point Extended Arithmetic 32-bit N/A 40-bit 32-bit 64-bit 40-bit @ @ Extended Arithmetic Performance (peak) Number of hardware multipliers 40-bit 1200MIPS 2 (16 x 16-bit) with 32- bit result 40-bit 1200MFLOPS 2 (32 x 32-bit) with 32 or 64-bit result Extended Arithmetic Performance (peak) Number of hardware multipliers 40-bit 1200MIPS 2 (16 x 16-bit) with 32- bit result 40-bit 1200MFLOPS 2 (32 x 32-bit) with 32 or 64-bit result Number of registers Internal L1 program memory cache I t l L1 d t h bit result 32 32K 32K or 64 bit result 32 32K 32K Number of registers Internal L1 program memory cache I t l L1 d t h bit result 32 32K 32K or 64 bit result 32 32K 32KInternal L1 data memory cache Internal L2 cache 32K 512K 32K 512K Internal L1 data memory cache Internal L2 cache 32K 512K 32K 512K C6711 Datasheet:C6711 Datasheet: LinksLinksTMS320C6711.pdfTMS320C6711.pdf Cours DSP Chapitre 1 31 pp C6211 Datasheet:C6211 Datasheet: LinksLinksTMS320C6211.pdfTMS320C6211.pdf ENIS 2011-2012 32. Paramtres considrerParamtres considrer Parameter TMS320C6211 (@150MH ) TMS320C6711 (@150MH ) Parameter TMS320C6211 (@150MH ) TMS320C6711 (@150MH ) I/O bandwidth: Serial Ports (number/speed) DMA channels 2 x 75Mbps 16 2 x 75Mbps 16 (@150MHz) (@150MHz) I/O bandwidth: Serial Ports (number/speed) DMA channels 2 x 75Mbps 16 2 x 75Mbps 16 (@150MHz) (@150MHz) DMA channels Multiprocessor support Supply voltage 16 Not inherent 3.3V I/O, 1.8V Core 16 Not inherent 3.3V I/O, 1.8V Core DMA channels Multiprocessor support Supply voltage 16 Not inherent 3.3V I/O, 1.8V Core 16 Not inherent 3.3V I/O, 1.8V Core Power management On-chip timers (number/width) Cost Yes 2 x 32-bit US$ 21.54 Yes 2 x 32-bit US$ 21.54 Power management On-chip timers (number/width) Cost Yes 2 x 32-bit US$ 21.54 Yes 2 x 32-bit US$ 21.54 Package External memory interface controller JTAG 256 Pin BGA Yes Yes 256 Pin BGA Yes Yes Package External memory interface controller JTAG 256 Pin BGA Yes Yes 256 Pin BGA Yes YesJTAG Yes YesJTAG Yes Yes Cours DSP Chapitre 1 32ENIS 2011-2012 33. Algorithmes typiques du DSP La somme des produits (SOP) est llment cl dans la plupart des algorithmes: Algorithm Equation M Finite Impulse Response Filter = = k k knxany 0 )()( Infinite Impulse Response Filter += NM knybknxany )()()(Infinite Impulse Response Filter == += k k k k knybknxany 10 )()()( Convolution = N knhkxny )()()(Co vo u o =k y 0 )()()( Discrete Fourier Transform = 1 ])/2(exp[)()( N nkNjnxkX =0n Discrete Cosine Transform ( ) ( ) = += 1 0 12 2 cos).().( N x xu N xfucuF Cours DSP Chapitre 1 33 = 0x ENIS 2011-2012 34. DSP i l fl tt t / FiDSP virgule flottante / Fixe Applications qui exigent: haute prcision. dynamique large. Rapport signal/bruit lev.Rapport signal/bruit lev. Facilit d'utilisation. Ayez besoin d'un processeur de Cours DSP Chapitre 1 34 virgule flottante. ENIS 2011-2012 35. DSP virgule flottante / FixeDSP virgule flottante / Fixe Cest lapplication qui dfinie la plateforme utiliser dans le but dobtenir les performancesp optimums faible prix. Pour un but ducatif, utiliser un DSP virgule flottante (6711 ou 6713) qui peut supporter lesflottante (6711 ou 6713) qui peut supporter les oprations virgule flottante et fixe. Cours DSP Chapitre 1 35ENIS 2011-2012 36. DSP virgule flottante / Fixe Inconvnient des processeurs virgule Inconvnient des processeurs virgule flottante: Consommation de puissance plus levConsommation de puissance plus lev Peut tre plus coteux. P t t i id l DSP Peut tre moins rapide que le DSP virgule fixe et de taille plus importante. Cours DSP Chapitre 1 36ENIS 2011-2012 37. Quelques DSPsq Cours DSP Chapitre 1 37 MIPS : Million dInstruction Par Seconde ENIS 2011-2012 38. DSP / GPP Consommation dnergie Cours DSP Chapitre 1 38ENIS 2011-2012 39. Reprsentation des nombres Les DSP virgule fixeLes DSP virgule fixe Les donnes sont reprsentes comme tant des nombres fractionnaires virgule fixe, (exemple -1.0 +1.0), ou comme des entiers classiques.g ( p ) q La reprsentation de ces nombres fractionnaires sappuie la mthode du complment deux. P t f il t l dditi bi i d b itif t tifPermet facilement laddition binaire de nombres positifs et ngatifs. Les DSP virgule flottanteg Les donnes sont reprsentes en utilisant une mantisse et un exposant. La reprsentation de ces nombres seffectue selon la formule suivante : tn = mantisse x 2exposant Gnralement, la mantisse est un nombre fractionnaire (-1.0 +1.0), et lexposant est un entier indiquant la place de la virgule en base 2. Cours DSP Chapitre 1 39 e posa es u e e d qua a p ace de a gu e e base ENIS 2011-2012 40. Reprsentation des nombres Cours DSP Chapitre 1 40ENIS 2011-2012 41. Reprsentation des nombres Virgule fixe Cours DSP Chapitre 1 41ENIS 2011-2012 42. Reprsentation des nombres Virgule flottante Cours DSP Chapitre 1 42ENIS 2011-2012 43. Reprsentation des nombres Virgule flottante Cours DSP Chapitre 1 43ENIS 2011-2012 44. Texas Instruments TMS320 familyy Les diffrents familles et sous families existent pour soutenir diffrents marchsexistent pour soutenir diffrents marchs C2000C2000 C5000C5000 C6000C6000C2000C2000 C5000C5000 C6000C6000C2000C2000C2000C2000 C5000C5000C5000C5000 C6000C6000 Lowest CostLowest Cost EfficiencyEfficiency PerformancePerformance &&Lowest CostLowest Cost EfficiencyEfficiencyLowest CostLowest CostLowest CostLowest CostLowest CostLowest Cost EfficiencyEfficiencyEfficiencyEfficiency PerformancePerformance &&PerformancePerformance &&Lowest CostLowest Cost Control SystemsControl Systems Motor ControlMotor Control EfficiencyEfficiency Best MIPS perBest MIPS per Watt / Dollar / SizeWatt / Dollar / Size Multi Channel andMulti Channel and PerformancePerformance && BestBest EaseEase--ofof--UseUse Lowest CostLowest Cost Control SystemsControl Systems Motor ControlMotor Control EfficiencyEfficiency Best MIPS perBest MIPS per Watt / Dollar / SizeWatt / Dollar / Size Lowest CostLowest Cost Control SystemsControl Systems Motor ControlMotor Control Lowest CostLowest Cost Control SystemsControl Systems Motor ControlMotor Control Lowest CostLowest Cost Control SystemsControl Systems Motor ControlMotor Control EfficiencyEfficiency Best MIPS perBest MIPS per Watt / Dollar / SizeWatt / Dollar / Size EfficiencyEfficiency Best MIPS perBest MIPS per Watt / Dollar / SizeWatt / Dollar / Size Multi Channel andMulti Channel and PerformancePerformance && BestBest EaseEase--ofof--UseUse Multi Channel andMulti Channel and PerformancePerformance && BestBest EaseEase--ofof--UseUse StorageStorage Digital Ctrl SystemsDigital Ctrl Systems Wireless phonesWireless phones Internet audio playersInternet audio players Digital still camerasDigital still cameras Multi Channel andMulti Channel and Multi Function App'sMulti Function App's Comm InfrastructureComm Infrastructure Wi l BWi l B t tit ti StorageStorage Digital Ctrl SystemsDigital Ctrl Systems Wireless phonesWireless phones Internet audio playersInternet audio players Digital still camerasDigital still cameras StorageStorage Digital Ctrl SystemsDigital Ctrl Systems StorageStorage Digital Ctrl SystemsDigital Ctrl Systems StorageStorage Digital Ctrl SystemsDigital Ctrl Systems Wireless phonesWireless phones Internet audio playersInternet audio players Digital still camerasDigital still cameras Wireless phonesWireless phones Internet audio playersInternet audio players Digital still camerasDigital still cameras Multi Channel andMulti Channel and Multi Function App'sMulti Function App's Comm InfrastructureComm Infrastructure Wi l BWi l B t tit ti Multi Channel andMulti Channel and Multi Function App'sMulti Function App's Comm InfrastructureComm Infrastructure Wi l BWi l B t tit ti Digital still camerasDigital still cameras ModemsModems TelephonyTelephony VoIPVoIP Wireless BaseWireless Base--stationsstations DSLDSL ImagingImaging Digital still camerasDigital still cameras ModemsModems TelephonyTelephony VoIPVoIP Digital still camerasDigital still cameras ModemsModems TelephonyTelephony VoIPVoIP Digital still camerasDigital still cameras ModemsModems TelephonyTelephony VoIPVoIP Wireless BaseWireless Base--stationsstations DSLDSL ImagingImaging Wireless BaseWireless Base--stationsstations DSLDSL ImagingImaging Cours DSP Chapitre 1 44 VoIPVoIP MultiMulti--media Serversmedia Servers VideoVideo VoIPVoIPVoIPVoIPVoIPVoIP MultiMulti--media Serversmedia Servers VideoVideo MultiMulti--media Serversmedia Servers VideoVideo ENIS 2011-2012 45. C6000 Roadmappce Software CompatibleSoftware Compatible Floating PointFloating PointFloating Point M ltiM lti Floating PointFloating PointFloating Point M ltiM lti formanc Multi-coreMultiMulti--corecore C64x DSP 1.1 GHz C64xC64x DSPDSP 1.1 GHz1.1 GHz Multi-coreMultiMulti--corecore C64x DSP 1.1 GHz C64xC64x DSPDSP 1.1 GHz1.1 GHz Perf C64x DSPC64xC64x DSPDSP 2nd Generation (Fixed Point)2nd Generation (Fixed Point) GeneralGeneral hest ance hest ance GeneralGeneral PurposePurpose C6414C6414C6414 C6415C6415C6415 C6416C6416C6416 MediaMedia GatewayGateway 3G Wireless3G Wireless InfrastructureInfrastructure 1 t G ti1 t G ti C6411C6411C6411 C6713C6713C6713C6713C62xC62xC62xC62x Highes Performan Highes Performan GatewayGateway InfrastructureInfrastructure C6202C6202 C6203C6203 C6204C6204 1st Generation1st Generation Fi dFi d i ti t C6201C6201 C6701C6701 C6202C6202 C6211C6211 C6711C6711 C6204C6204 C6205C6205 C6712C6712 C67xC67x FixedFixed--pointpoint FloatingFloating--pointpoint Cours DSP Chapitre 1 45 Time ENIS 2011-2012 46. Plus dinformationInternetInternet Website:Website: www.ti.comwww.ti.com dspvillage.comdspvillage.com FTPFTP ft //ft ti / b/t 320bbft //ft ti / b/t 320bbFTP:FTP: ftp://ftp.ti.com/pub/tms320bbsftp://ftp.ti.com/pub/tms320bbs FAQ:FAQ: http://wwwhttp://www--k.ext.ti.com/sc/technical_support/knowledgebase.htmk.ext.ti.com/sc/technical_support/knowledgebase.htm D i i f tiD i i f ti TI & METI & ME USAUSA -- Product Information Center ( PIC )Product Information Center ( PIC ) Device informationDevice information TI & METI & ME Application notesApplication notes News and eventsNews and events Technical documentationTechnical documentation TrainingTraining Phone:Phone: 972972--644644--55805580 Email:Email: [email protected]@ti.com ( )( ) Information and support forInformation and support for allall TI Semiconductor products/toolsTI Semiconductor products/tools Submit suggestions and errata for tools, silicon and documentsSubmit suggestions and errata for tools, silicon and documents Software Registration/Upgrades:Software Registration/Upgrades: 972972--293293--50505050 H d R i /U dH d R i /U d 281281 274274 22852285 Other ResourcesOther Resources Cours DSP Chapitre 1 46ENIS 2011-2012 Hardware Repair/Upgrades:Hardware Repair/Upgrades: 281281--274274--22852285 Enroll in Technical Training:Enroll in Technical Training: www.ti.com/sc/trainingwww.ti.com/sc/training (choose(choose Design WorkshopsDesign Workshops)) 47. Manuels cls de la famille C6000 HardwareHardware SPRU189SPRU189 -- CPU and Instruction Set Ref. GuideCPU and Instruction Set Ref. GuideSPRU189SPRU189 CPU and Instruction Set Ref. GuideCPU and Instruction Set Ref. Guide SPRU190SPRU190 -- Peripherals Ref. GuidePeripherals Ref. Guide SPRU401SPRU401 -- Peripherals Chip Support Lib. Ref.Peripherals Chip Support Lib. Ref.p p ppp p pp SoftwareSoftware SPRU198SPRU198 Programmers GuideProgrammers GuideSPRU198SPRU198 -- Programmer s GuideProgrammer s Guide SPRU303SPRU303 -- C6000 DSP/BIOS Users GuideC6000 DSP/BIOS Users Guide C d G tiC d G tiCode GenerationCode Generation SPRU186SPRU186 -- Assembly Language Tools Users GuideAssembly Language Tools Users Guide O ti i i C C il U G idO ti i i C C il U G idSPRU187SPRU187 -- Optimizing C Compiler Users GuideOptimizing C Compiler Users Guide Cours DSP Chapitre 1 47ENIS 2011-2012 Refer to theRefer to the C6000 Family UpdateC6000 Family Update handout for full listhandout for full list 48. Literature sud les DSP A Simple Approach to Digital Signal ProcessingA Simple Approach to Digital Signal Processing by Craigby Craig MarvenMarven and Gillian Ewers;and Gillian Ewers; ISBN 0ISBN 0--47114711--52435243--99y gy g DSP Primer (Primer Series)DSP Primer (Primer Series) by C. Brittonby C. Britton RorabaughRorabaugh;; ISBN 0ISBN 0--07050705--40044004--77 A DSP Primer : With Applications to Digital AudioA DSP Primer : With Applications to Digital Audio and Computer Music by Ken Steiglitz; ISBN 0-8053-1684-1 DSP First : A Multimedia Approach Cours DSP Chapitre 1 48ENIS 2011-2012 James H. McClellan, Ronald W. Schafer, Mark A. Yoder; ISBN 0-1324-3171-8 49. Literature sud les DSP Digital Signal Processing ImplementationDigital Signal Processing Implementationg g g pg g g p using the TMS320C6000TM DSP Platformusing the TMS320C6000TM DSP Platform by Naim Dahnoun; ISBN 0201by Naim Dahnoun; ISBN 0201--6191661916--44 C6xC6x--Based Digital Signal ProcessingBased Digital Signal Processing by Nasser Kehtarnavaz and Burc Simsek;by Nasser Kehtarnavaz and Burc Simsek; ISBN 0ISBN 0--1313--088310088310--77 Cours DSP Chapitre 1 49ENIS 2011-2012 50. Programmation des DSP Il est relativement facile d'crire un programme pour un DSP, grce aux compilateurs C interfacs avec le DSP. La faon d'crire le programme C a une influence significative sur l'efficacit du code gnr. Il existe une phase d'adaptation du code C un code DSP, permettantp p p au compilateur de tirer le meilleur parti de l'architecture de calcul. Cours DSP Chapitre 1 50ENIS 2011-2012 51. Programmation des DSP de TI Code Composer Studio (CCS) : Le logiciel de pilotage de la carte DSP est un logiciel trs performant comportant un ensemble complet d'outils deest un logiciel trs performant comportant un ensemble complet d outils de dveloppement d'applications sur DSP. Il t i d' t t d' li l dIl permet aussi d'augmenter et d'amliorer le processus de dveloppement pour les programmeurs qui cherchent crer et tester en temps rel des applications de traitement de signal. Il met en disposition des outils pour configurer, construire, excuter, suivre et analyser des programmes.y p g Cours DSP Chapitre 1 51ENIS 2011-2012 52. Programmation des DSPProgrammation des DSP 1) crire le 2) Optimiser code C le code C 3) crire le code assembleur linaire Cours DSP Chapitre 1 52ENIS 2011-2012 53. Programmation des DSP de TI Cours DSP Chapitre 1 53ENIS 2011-2012 54. ENISENIS 2011/2012 Chapitre II : Architectures des DSPs Plan Ch suivantCh prcdent 55. Sommaire Types de structures mmoireyp Les caches dans les DSP volution des DSP SIMD (DSP16xxx, ADSP-2116x, ) Superscalaire (LSI401Z, ) VLIW (TMS320 C6x) DSP conventionnels multicoreDSP conventionnels multicore Processeurs hybrides ARM+DSP Cours DSP Chapitre 2 55ENIS 2011-2012 56. Perspective historique 1970 1971: Intel 4004 1972: Intel 8008 1980 1972: Intel 8008 1974: 1er microcontrleur : TMS 1000 1er ordinateur personnel (8008) 1979: 1er DSP single-chip : Bell Labs Mac 4 1980 Intel 8086 1980: 1er DSP autonome : NEC PD7710 1981: IBM PC (8088) 1982: Intel 80286 1990 1982: Intel 80286 1983: 1er succs commercial pour un DSP : TMS 320 C10 1985: Intel 386 1986: MIPS -> R2000, premier microprocesseur RISC commercial 2000 p p 1989: Intel 486 (utilisation dun pipeline) 1993: Intel Pentium, PowerPC 601 1996: 1er DSP VLIW : TMS 320 C62xx 1999 P ti III1999: Pentium III 2000: Pentium 4 Cours DSP Chapitre 2 56ENIS 2011-2012 57. Historique des Processeurs 1e gnration 79- 4e gnration 92-1e gnration 79 Architecture Harvard Multiplieur cabl 4 gnration 92 Image et vido Processeurs faible 2e gnration 85- Paralllisme consommation Paralllisme Bus multiples Mmoire sur la puce 5e gnration 97- VLIW 3e gnration 88- Hybrides Multicore Virgule flottante Multicore DSP + RISC Cours DSP Chapitre 2 57ENIS 2011-2012 58. Types de structures mmoire Harvard Sparation des mmoires Von Neuman Un seul chemin d'accs la p programme et donnes Meilleure utilisation du CPU : Ch t d mmoire Architecture des processeurs dusage gnral (Pentium Chargement du programme et des donnes en parallle Architecture des DSP d usage gnral (Pentium, 68000) Architecture des DSP Cours DSP Chapitre 2 58ENIS 2011-2012 59. Les types de structures mmoire Principales diffrences :Principales diffrences : Bande passante (accs instruction et donne simultans ou non)p ( ) Mmoires (cot, surface) Contrle plus ou moins complexe Cours DSP Chapitre 2 59ENIS 2011-2012 60. Cache d'instructionsCache d instructions DSPDSP Mmoire Instruction Mmoire Cache dinstructions Mmoire Donnes CPU Mmoire Cache de donnesde donnes Cache = mmoire rapideCache = mmoire rapide Contient les dernires instructions excutes. Utile en cas de boucle Accs aux instructions sans accs en mmoire programme. Libre le bus pour des donnes. Cours DSP Chapitre 2 60ENIS 2011-2012 61. DSP hautes performances 1 mmoire + bus pour les instructions (et les constantes en immdiat) 2 mmoires + bus pour les donnes Cours DSP Chapitre 2 61ENIS 2011-2012 62. volution hautes performances des DSP Comment acclrer les programmes ? PARALLELISME Solutions courantes : SIMD : DSP16xxx, ADSP-2116xSIMD : DSP16xxx, ADSP 2116x Superscalaire : LSI401Z VLIW : TMS320 C6xVLIW : TMS320 C6x Approches combines : VLIW + SIMD : TigerSHARC Cours DSP Chapitre 2 62ENIS 2011-2012 63. DSP SIMD SIMD = Single Instruction Multiple Data D t d SIMDDeux types de SIMD Units paralllesUnits parallles Effectuent la mme opration sur des donnes diffrentes Exemple : ADSP-2116x Partage de lunit de traitement Partage un mot de donne en sous-mots Effectue les calculs sur les sous motsEffectue les calculs sur les sous-mots Exemple : instructions MMX du Pentium D d ff dDemande un effort du programmeur Efficace pour des algorithmes parallles Cours DSP Chapitre 2 63ENIS 2011-2012 64. DSP SIMD : ADSP-21160 SHARC SIMD = Single Instruction, Multiple Data Dcodage des instructions simples Demande un paralllisme bien spcifique Cours DSP Chapitre 2 64 Demande un paralllisme bien spcifique ENIS 2011-2012 65. DSP SIMD Le TigerSHARC dAnalog Devices met en uvre les deux types de SIMD : Instruction MAC SIMD Unit de Unit de SIMD par units parallles MACALU Shift MACALU Shift calcul n1 calcul n2 SIMD par partage de lunit de traitement 4 multiplications 16 bits au lieu de 1 multiplication 64 bits 4 multiplications 16 bits au lieu de 1 multiplication 64 bits (split-MAC) Cours DSP Chapitre 2 65 1 multiplication 64 bits 1 multiplication 64 bits ENIS 2011-2012 66. DSP superscalaire LSI401Z Le processeur se charge de tout : dtection, ordonnancement, ... Ci it d t l l ( it f t ti ) Cours DSP Chapitre 2 66 Circuit de contrle complexe (vitesse, surface et consommation) ENIS 2011-2012 67. DSP VLIW : TMS320C62x VLIW = Very Large Instruction Word VLIW 8 voies (instructions 32 bits, soit busI de 256 bits) Paralllisme dans les instructions (compilateur ou assembleur) Contrle pl s simple q e s perscalaire Cours DSP Chapitre 2 67 Contrle plus simple que superscalaire ENIS 2011-2012 68. DSP VLIW : TMS320C6x VLIW = Very Large Instruction Word Data path :Data path : Deux ensembles dunits de traitement (1 et 2) Instruction de 256 bits : C62x/C67x CPU Instruction Dispatch Instruction Fetch Control Registers Inter Con 8 sous-instructions de 32 bits Units logique .L : Data Path 2Data Path 1 Instruction Decode Instruction Dispatch g rrupt ntrol Emulation Arithmtique et comparaisons Unit de dcalage .S : ALU et Shifter Data Path 2Data Path 1 Register File A A15-A0 Register File B B15-B0 Units de multiplication .M : Multiplication Units de donnes .D : L1 M2D2 S2 L2S1 + + + + + x+ M1 x D1 ++ Mouvement de donnes de / vers la mmoire Cours DSP Chapitre 2 68ENIS 2011-2012 69. DSP VLIW : TMS320C6x Instruction de 256 bits 8 sous-instructions de 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits L1 M2D2 S2 L2S1 M1 D1L1 M2D2 S2 L2S1 + + + + + x + M1 x D1 ++ Cours DSP Chapitre 2 69ENIS 2011-2012 70. DSP conventionnels multicore Gravure sur la mme puce de deux curs DSPdeux curs DSP indpendants. Communication entre les deux : M i t Mmoire partage Interface FIFO Shared memoryShared memory two-way RAM : permet l'accs simultan la mmoire par les deux Cours DSP Chapitre 2 70 Architecture du C5421 p curs DSP ENIS 2011-2012 71. Processeurs hybrides ARM+DSPy Systmes de vido numriqueSystmes de vido numrique : encodage/dcodage Outils de dveloppement SoC bas DSP SoC bas DSP Linux embarqu Codecs multimdia Exemples Texas : DaVinci 644x Texas : DaVinci 644x Motorola : 56800E Les processe rs ARM constr its Cours DSP Chapitre 2 71 Les processeurs ARM construits par Acorn RISC Machines. ENIS 2011-2012 72. Modes dadressage standards Le mode d'adressage gnral: registre: l'oprande est un registre du CPU. immdiat court: l'oprande est une valeur immdiate 16 bits. direct: l'oprande est le contenu d'une adresse de 24 bits. direct: l oprande est le contenu d une adresse de 24 bits. indirect: un registre auxiliaire indique l'adresse de l'oprande. Le mode d'adressage trois oprandes: Le mode d adressage trois oprandes: registre (identique). indirect (identique). Le mode d'adressage parallle: registre: l'oprande est un registre prcision tendue. indirect (identique). Cours DSP Chapitre 2 72ENIS 2011-2012 73. Modes dadressage standards Le mode d'adressage immdiat long: l'oprande est une valeur immdiate 24 bits. Le mode d'adressage branchement conditionnel: i t (id ti ) registre (identique).. relatif au PC: un dplacement sign sur 16 bits est ajout au PC. Cours DSP Chapitre 2 73ENIS 2011-2012 74. Modes dadressage standards Les modes dadressage ont une grande importance pour garantir la haute performance (moins dinstructions) Mais ceci augmente la complexitperformance (moins d instructions). Mais, ceci augmente la complexit architecturale des DSP (dcodage plus complexe, surface de circuit plus importante). Instruction typique : OP SRC1, SRC2, DEST Opration DestinationSource 2 Les DSP possdent des instructions usage gnral et des instructions p DestinationSource 1 Source 2 Les DSP possdent des instructions usage gnral et des instructions arithmtiques intensives qui sont particulirement convenables pour le traitement du signal et les autres applications numriques intensives. Cinq groupes pour le mode d'adressage sont fournies, six types Cours DSP Chapitre 2 74 d'adressage peuvent tre utiliss dans chaque groupe: ENIS 2011-2012 75. Les caches dans les DSP Laccs une mmoire externe, ou des mmoires internes de grande taille, est coteuse en terme temps et/ou nergie. Solution : Intgrer des mmoires caches Di i l t fi i t / CPUDiminuer le trafic mmoire externe / CPU Modes dadressage spcifiques (circulaire) Optimisation du codeOptimisation du code Les mmoires caches sont caractrises par : Cot lev. Petites tailles (32 instructions 2 K instructions). Cache instruction et cache donnes. Configurables par lutilisateur Ces caractristiques particulires sont indispensables pour garantir les bonnes performances pour le traitement en temps rel Cours DSP Chapitre 2 75 les bonnes performances pour le traitement en temps rel. ENIS 2011-2012 76. Exemples de caractristiquesp q mmoires et caches Cours DSP Chapitre 2 76ENIS 2011-2012 77. ENISENIS 2011/2012 Chapitre III : Architecture Interne du TMS320 C64x Plan Ch suivantCh prcdent 78. SommaireSo a e Units fonctionnellesUnits fonctionnelles Registres P t d f t h t d tiPaquet de fetch et dexcution Structure dune instruction Pi liPipeline Mmoire cache J di iJeu dinstruction Diffrents modes dadressages Syntaxe des instructions Contraintes Cours DSP Chapitre 3 78ENIS 2011-2012 79. Units fonctionnellesU ts o ct o e es Deux chemins de donnes : A et B Chaque chemin contient 4 units de traitement :Chaque chemin contient 4 units de traitement : (.M) : Multiplication ( L) : Opration logique et arithmtique(.L) : Opration logique et arithmtique (.S) : Branchement et manipulation binaire ( D) : Chargement et stockage des donnes(.D) : Chargement et stockage des donnes 64 registres de 32 bits (A0 A31) et (B0 B31) 2 chemins croiss (1x et 2x) (cross path)2 chemins croiss (1x et 2x) (cross path) Chemin de donnes A Chemin de donnes B .L1 .S1 .M1 .D1 .L2 .S2 .M2 .D2 Registre A0 A31 Registre B0 B31 Cours DSP Chapitre 3 79 Chemin crois ENIS 2011-2012 80. Registreseg st es Registres A0, A1, A2, B0, B1 et B2 peuvent tres utiliss comme des registres condition. Registres A4 A7 et B4 B7 : pointeur pour le mode dadressageRegistres A4 A7 et B4 B7 : pointeur pour le mode d adressage circulaire. Registres A0 A9 et B0 B9 : registre temporaireRegistres A0 A9 et B0 B9 : registre temporaire. Registre A10 A31 et B10 B31 : mmoriss et puis restaurs chaque appel un sous programme. On peut former 32 registres de 40 ou 64 bits en utilisant les paires de registres A0:A1, A2:A3, et B30:B31. Il existe dautres registres de contrles, dinterruptions, de modes, etc. Cours DSP Chapitre 3 80ENIS 2011-2012 81. Paquet de Fetch et dExcution VELOCI TI : architecture labore par TI base sur la structure VLIW aquet de etc et d cut o p (Very Long Instruction Word) I t ti 4 t t 32 bitInstruction : 4 octets = 32 bits PE : paquet excutable: groupe dinstructions excutables en //PE : paquet excutable: groupe d instructions excutables en // pendant un seul cycle PF : paquet Fetch form de 8 instructions peut contenir 1 PE (si toutes les 8 Insts en //) ou 8 PE (pas dinsts en // ) Le LSB dune instruction (p-bit) indique si la prochaine instruction appartiennent au mme PE (si 1) ou non (si 0). Cours DSP Chapitre 3 81 appartiennent au mme PE (si 1) ou non (si 0). ENIS 2011-2012 82. Paquet de Fetch et dExcution Exemple 1 : aquet de etc et d cut o p Instruction A Instruction B Un PF avec 3 PEs le LSB (p-bit) de chaque Intr Instruction C 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 A B C D E F G H 1 0 1 1 0 1 1 0 Instruction D Instruction E A B C D E F G H Instruction F Not que si un branchement aura lieu ladresse de linst D, D et E seront excuts dans un cycle et F, G et H dans le cycle suivant Les instructions A B et C Instruction G Instruction H et H dans le cycle suivant. Les instructions A, B et C seront ignors Cours DSP Chapitre 3 82ENIS 2011-2012 83. Paquet de Fetch et dExcutionaquet de etc et d cut o Exemple 2: Cours DSP Chapitre 3 83ENIS 2011-2012 84. Paquet de Fetch et dExcutionaquet de etc et d cut o Exemple 3: Exemple 4: Cours DSP Chapitre 3 84ENIS 2011-2012 85. Rappel: Pipelineappe pe e Cycles dhorloges Non-Pipelin 1 2 3 4 5 6 7 8 9 PF1 D1 E1 PF2 D2 E2 PF3 D3 E3 Pipelin PF1 D1 E1 PF2 D2 E2 PF3 D3 E3 Pipeline complet (tout les tages(tout les tages oprent simultanment avec lexcution dune instruction / cycle) Cours DSP Chapitre 3 85ENIS 2011-2012 86. Pipelinepe e PG PS PW PR DP DC E1 E2 E3 E4 E5 E6 Fetch Decode Execute Extraction du programme (Fetch) Fetch Decode Execute Extraction du programme (Fetch) Rpartition des instructions (Dispatch) Dcodage des instructions Registre A0 A31 Registre B0 B31 Chemin de donnes A Chemin de donnes B Dcodage des instructions .L1 .S1 .M1 .D1 .L2 .S2 .M2 .D2 Registre A0 A31 Registre B0 B31 Cours DSP Chapitre 3 86ENIS 2011-2012 87. Pipelinepe e tapes dextraction du Programme (fetch PF)(fetch, PF) PG Gnration dadresse PS Transmission de ladresse PW Attente accs mmoire PR Rception et lecture du PF Dans le CPU ( la mmoire) mmoire (au CPU) C6xC6x CPUCPUPRPR MemoryMemory PGPG Cours DSP Chapitre 3 87ENIS 2011-2012 PWPW PSPS 88. Pipelinepe e tape du dcodage dinstruction (D)( ) DP Rpartition des instructions dun PF sous forme de PE DC Dcodage des PEs C6xC6x CPUCPU FuncFuncPRPR CPUCPU DCDC FuncFunc UnitsUnits DPDP PGPGMemoryMemory PSPS Cours DSP Chapitre 3 88ENIS 2011-2012 PWPW PSPS 89. Pipelinepe e Jusqu 6 cycles et tout dpend de linstruction !! tape dexcution (E) E1 courtes inst (ADD, E2 E3; E4 Slots de E6 E5 Chargement SUB, AND, OR, XOR, etc) Instruction MPY Slots de retard Branchementdes valeurs dans un registre Etage rserve pour les instructions longuesEtage rserve pour les instructions longues Cours DSP Chapitre 3 89ENIS 2011-2012 90. Pipelinepe e Cours DSP Chapitre 3 90ENIS 2011-2012 91. Pipelinepe e Pour complter le sujet du pipeline, on va voir travers un exemple la manire dont un DSP excute des instructions en // et pipelines. Considrons les 3 exemples suivants : ) S i b) P lll P ti ll ) P lll t t l B .S1 MVK .S1 B .S1 || MVK .S2 a) Srie b) Parallle Partielle B .S1 || MVK .S2 c) Parallle totale ADD .L1 ADD .L1 MPY .M1 MPY .M1 LDW .D1 ADD .L1 || ADD .L2 || MPY .M1 MPY M1 || || ADD .L1 || ADD .L2 || MPY .M1 || MPY .M2 || LDW D1LDW .D1 LDB .D1 MPY .M1 || LDW .D1 || LDB .D2 || LDW .D1 || LDB .D2 Cours DSP Chapitre 3 91ENIS 2011-2012 92. Pipelinepe e Excution en Srie (1er exemple) Une seule INSTRUCTION par Cycle entre dans le pipeline En arrivant ltape DP (Decode)Une seule INSTRUCTION par Cycle entre dans le pipeline En arrivant l tape DP (Decode), Cycle = PF Decode Execute Donea) Srie PR DP DC E1 E2 E3 E4 E5 E6 B .S1 MVK .S1 ADD L1 a) Srie ADD .L1 ADD .L1 MPY .M1 MPY .M1 LDW .D1 LDB D1LDB .D1 Cours DSP Chapitre 3 92ENIS 2011-2012 93. Pipelinepe e Excution en Srie (1er exemple) Une seule INSTRUCTION par Cycle entre dans le pipeline En arrivant ltape DP (Decode)Une seule INSTRUCTION par Cycle entre dans le pipeline En arrivant l tape DP (Decode), Cycle = PF Decode Execute Donea) Srie PR DP DC E1 E2 E3 E4 E5 E6 B .S1 MVK .S1 ADD L1 a) Srie ADD .L1 ADD .L1 MPY .M1 MPY .M1 LDW .D1 LDB D1LDB .D1 Cours DSP Chapitre 3 93ENIS 2011-2012 94. Pipelinepe e Excution en Srie (1er exemple) Une seule INSTRUCTION par Cycle entre dans le pipeline En arrivant ltape DP (Decode)Une seule INSTRUCTION par Cycle entre dans le pipeline En arrivant l tape DP (Decode), Cycle = PF Decode Execute Donea) Srie PR DP DC E1 E2 E3 E4 E5 E6 B .S1 MVK .S1 ADD L1 a) Srie ADD .L1 ADD .L1 MPY .M1 MPY .M1 LDW .D1 LDB D1LDB .D1 Cours DSP Chapitre 3 94ENIS 2011-2012 95. Pipeline Excution en // partielle (2eme exemple) pe e Comment crire des instructions en //? On utilise le symbole || : B .S1 || MVK .S2 ADD .L1 || ADD .L2|| || MPY .M1 MPY .M1 || LDW .D1 || LDB D2 Cours DSP Chapitre 3 95 || LDB .D2 ENIS 2011-2012 96. Pipeline Excution en // partielle (2eme exemple) pe e Comment crire des instructions en //? On utilise le symbole || : Cycle = PF D d Execute Done PF DP DC E1 E2 E3 E4 E5 E6 PF Decode Execute Done B .S1 || MVK .S2 A 1 PaquetsPaquets dexcutiondexcution ADD .L1 || ADD .L2 || MPY .M1 MPY .M1 || LDW .D1 || LDB .D2 Cours DSP Chapitre 3 96ENIS 2011-2012 97. Cycle = PF Decode Execute Done PF DP DC E1 E2 E3 E4 E5 E6 PF Decode Execute Done Cycle = PF DP DC E1 E2 E3 E4 E5 E6 PF Decode Execute Done PF DP DC E1 E2 E3 E4 E5 E6 Cours DSP Chapitre 3 97ENIS 2011-2012 98. Cycle = PF Decode Execute Done PF DP DC E1 E2 E3 E4 E5 E6 PF Decode Execute Done Cycle = PF DP DC E1 E2 E3 E4 E5 E6 PF Decode Execute Done PF DP DC E1 E2 E3 E4 E5 E6 Cours DSP Chapitre 3 98ENIS 2011-2012 99. Pipelinepe e Excution en // totale On a dj vu un PF contenant 8 instructions en srie ou 3 PEs en utilisant le paralllisme. Il est possible que toutes les instructions soient en //. On aura donc un seul PE.possible que toutes les instructions soient en //. On aura donc un seul PE. B .S1 Parallle totale || MVK .S2 || ADD .L1 || ADD .L2 || MPY .M1 || MPY M2|| MPY .M2 || LDW .D1 || LDB .D2 Cours DSP Chapitre 3 99ENIS 2011-2012 100. Pipelinepe e Cycle = PF Decode Execute Done PF DP DC E1 E2 E3 E4 E5 E6 PF Decode Execute Done Cours DSP Chapitre 3 100 101. Cycle = PF Decode Execute Done PF DP DC E1 E2 E3 E4 E5 E6 Decode C lCycle = PF DP DC E1 E2 E3 E4 E5 E6 PF Decode Execute Done PF DP DC E1 E2 E3 E4 E5 E6 Cours DSP Chapitre 3 101ENIS 2011-2012 102. Bus interne du C6000 PCPC Program AddrProgram Addr x32x32 Program DataProgram Datax256x256InternalInternal AA regsregs Data AddrData Addr -- T1T1 x32x32 Data DataData Data T1T1 x32/64x32/64 MemoryMemory regsregs BB Data DataData Data -- T1T1 x32/64x32/64 Data AddrData Addr -- T2T2 x32x32ExternalExternal BB regsregsData DataData Data -- T2T2 x32/64x32/64 MemoryMemory DMADMA DMAAddrDMAAddr -- ReadRead x32x32 DMA DataDMA Data -- ReadRead x32x32 PeripheralsPeripherals DMADMA DMAAddrDMAAddr -- WriteWrite x32x32 DMA DataDMA Data -- WriteWrite x32x32 PeripheralsPeripherals Cours DSP Chapitre 3 102ENIS 2011-2012 C62x: Dual 32C62x: Dual 32--Bit Load/StoreBit Load/Store C64x: Dual 64C64x: Dual 64--Bit Load/StoreBit Load/Store C67x: Dual 64C67x: Dual 64--Bit Load / 32Bit Load / 32--Bit StoreBit Store 103. Bloc Diagramme du systeme InternalInternal MemoryMemory ExternalExternal Internal BusesInternal Buses MemoryMemory D1D1 D2D2 Internal BusesInternal Buses .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA .S1.S1 .S2.S2 CPUCPU Cours DSP Chapitre 3 103ENIS 2011-2012 104. Contrleurs daccs mmoire DMA : Contrleur du transfert des donnes entre les plages Co t eu s d accs o e dadresse de la mmoire sans linterfrence du CPU. Form par 4 canaux programmables et un cinquime auxiliaire. EDMA : mme chose que le DMA mais avec 16 canaux programmable et une RAM pour la mmorisation de plusieurs fi ti d t f t j tconfigurations pour des transferts projet. HPI : interface parallle du processeur host permettant laccs directHPI : interface parallle du processeur host permettant l accs direct lespace mmoire du CPU pour changer le contenu des registres dtat. EMIF : remplace le HPI. Il permet lchange asynchrone dinformation entre non seulement le CPU et le Processeur host mais aussi avec Cours DSP Chapitre 3 104 lextrieur travers les ports dE/S . ENIS 2011-2012 105. 'C6000 Peripherals InternalInternal MemoryMemory GPIOGPIO XB, PCI,XB, PCI, Host PortHost Port ExternalExternal Internal BusesInternal Buses GPIOGPIO EMIFEMIF MemoryMemory D1D1 D2D2 e a usese a uses McBSPsMcBSPs EMIFEMIF .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste UtopiaUtopia DMA, EDMADMA, EDMA .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA (Boot)(Boot) TimersTimers .S1.S1 .S2.S2 CPUCPU VCPVCP TCPTCP PLLPLL Cours DSP Chapitre 3 105ENIS 2011-2012 PLLPLL 106. EMIF InternalInternal MemoryMemory AsyncAsync Internal BusesInternal BusesSDRAMSDRAM EMIFEMIF D1D1 D2D2 e a usese a usesSDRAMSDRAM EMIFEMIF .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste SBSRAMSBSRAM .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA External Memory Interface (External Memory Interface (EMIFEMIF))External Memory Interface (External Memory Interface (EMIFEMIF)) .S1.S1 .S2.S2 CPUCPU External Memory Interface (External Memory Interface (EMIFEMIF)) GluelessGlueless access toaccess to asyncasync/sync memory/sync memory Works with PC100 SDRAM (cheap, fast, and easy!)Works with PC100 SDRAM (cheap, fast, and easy!) External Memory Interface (External Memory Interface (EMIFEMIF)) GluelessGlueless access toaccess to asyncasync/sync memory/sync memory Works with PC100 SDRAM (cheap, fast, and easy!)Works with PC100 SDRAM (cheap, fast, and easy!) Cours DSP Chapitre 3 106ENIS 2011-2012 ByteByte--wide data accesswide data access 16, 32, or 6416, 32, or 64--bit bus widthsbit bus widths ByteByte--wide data accesswide data access 16, 32, or 6416, 32, or 64--bit bus widthsbit bus widths 107. HPI / XBUS / PCI InternalInternal MemoryMemory XBUS, PCI,XBUS, PCI, Host PortHost Port ExternalExternal MM Internal BusesInternal BusesEMIFEMIF MemoryMemory D1D1 D2D2 e a usese a usesEMIFEMIF .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste Parallel Peripheral InterfaceParallel Peripheral Interface HPI:HPI: Dedicated, slaveDedicated, slave--only, async 16/32only, async 16/32--bit bus allows hostbit bus allows host--PP Parallel Peripheral InterfaceParallel Peripheral Interface HPI:HPI: Dedicated, slaveDedicated, slave--only, async 16/32only, async 16/32--bit bus allows hostbit bus allows host--PP .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA HPI:HPI: Dedicated, slaveDedicated, slave only, async 16/32only, async 16/32 bit bus allows hostbit bus allows host PP access to C6000 memoryaccess to C6000 memory XBUS:XBUS: Similar to HPI but provides Similar to HPI but provides Master/slave and sync modesMaster/slave and sync modes HPI:HPI: Dedicated, slaveDedicated, slave only, async 16/32only, async 16/32 bit bus allows hostbit bus allows host PP access to C6000 memoryaccess to C6000 memory XBUS:XBUS: Similar to HPI but provides Similar to HPI but provides Master/slave and sync modesMaster/slave and sync modes .S1.S1 .S2.S2 CPUCPU Master/slave and sync modesMaster/slave and sync modes Glueless i/f to FIFOs (up to singleGlueless i/f to FIFOs (up to single--cycle xfer rate)cycle xfer rate) PCI:PCI: Standard 32Standard 32--bit, 33MHz PCI interfacebit, 33MHz PCI interface Master/slave and sync modesMaster/slave and sync modes Glueless i/f to FIFOs (up to singleGlueless i/f to FIFOs (up to single--cycle xfer rate)cycle xfer rate) PCI:PCI: Standard 32Standard 32--bit, 33MHz PCI interfacebit, 33MHz PCI interface Cours DSP Chapitre 3 107ENIS 2011-2012 These interfaces provide means to bootstrap the C6000These interfaces provide means to bootstrap the C6000These interfaces provide means to bootstrap the C6000These interfaces provide means to bootstrap the C6000 108. GPIO InternalInternal MemoryMemory GPIOGPIO XB, PCI,XB, PCI, Host PortHost Port ExternalExternal MM Internal BusesInternal Buses GPIOGPIO EMIFEMIF MemoryMemory D1D1 D2D2 e a usese a usesEMIFEMIF .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA .S1.S1 .S2.S2 CPUCPU General PurposeGeneral Purpose Input/OutputInput/Output (GPIO)(GPIO) C64x provides 8 or 16 bits of general purpose bitwise I/OC64x provides 8 or 16 bits of general purpose bitwise I/O General PurposeGeneral Purpose Input/OutputInput/Output (GPIO)(GPIO) C64x provides 8 or 16 bits of general purpose bitwise I/OC64x provides 8 or 16 bits of general purpose bitwise I/O Cours DSP Chapitre 3 108ENIS 2011-2012 Use to observe or control the signal of a singleUse to observe or control the signal of a single--pinpinUse to observe or control the signal of a singleUse to observe or control the signal of a single--pinpin 109. InternalInternal MemoryMemory GPIOGPIO XB, PCI,XB, PCI, Host PortHost Port ExternalExternal Internal BusesInternal Buses GPIOGPIO EMIFEMIF MemoryMemory D1D1 D2D2 e a usese a uses McBSPsMcBSPs EMIFEMIF .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste UtopiaUtopia MultiMulti--Channel Buffered Serial Port (Channel Buffered Serial Port (McBSPMcBSP))MultiMulti--Channel Buffered Serial Port (Channel Buffered Serial Port (McBSPMcBSP)) .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA MultiMulti Channel Buffered Serial Port (Channel Buffered Serial Port (McBSPMcBSP)) 2 (or 3) f2 (or 3) fullull--duplex, synchronous serialduplex, synchronous serial--portsports Up to 100 Mb/sec performanceUp to 100 Mb/sec performance SSupportsupports multimulti--channel operation (T1, E1, MVIP, )channel operation (T1, E1, MVIP, ) MultiMulti Channel Buffered Serial Port (Channel Buffered Serial Port (McBSPMcBSP)) 2 (or 3) f2 (or 3) fullull--duplex, synchronous serialduplex, synchronous serial--portsports Up to 100 Mb/sec performanceUp to 100 Mb/sec performance SSupportsupports multimulti--channel operation (T1, E1, MVIP, )channel operation (T1, E1, MVIP, ).S1.S1 .S2.S2 CPUCPU SSupportsupports multimulti channel operation (T1, E1, MVIP, )channel operation (T1, E1, MVIP, ) Utopia (Utopia (C64xC64x)) ATM connectionATM connection SSupportsupports multimulti channel operation (T1, E1, MVIP, )channel operation (T1, E1, MVIP, ) Utopia (Utopia (C64xC64x)) ATM connectionATM connection Cours DSP Chapitre 3 109ENIS 2011-2012 ATM connectionATM connection 50 MHz wide area network connectivity50 MHz wide area network connectivity ATM connectionATM connection 50 MHz wide area network connectivity50 MHz wide area network connectivity 110. DMA / EDMA InternalInternal MemoryMemory GPIOGPIO XB, PCI,XB, PCI, Host PortHost Port ExternalExternal Internal BusesInternal Buses GPIOGPIO EMIFEMIF MemoryMemory D1D1 D2D2 e a usese a uses McBSPsMcBSPs EMIFEMIF .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste UtopiaUtopia DMA, EDMADMA, EDMA .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA (Boot)(Boot) Direct Memory Access (DMA / EDMA)Direct Memory Access (DMA / EDMA)Direct Memory Access (DMA / EDMA)Direct Memory Access (DMA / EDMA).S1.S1 .S2.S2 CPUCPU Direct Memory Access (DMA / EDMA)Direct Memory Access (DMA / EDMA) Transfers any set of memory locations to anotherTransfers any set of memory locations to another 4 / 16 / 64 channels (transfer parameter sets)4 / 16 / 64 channels (transfer parameter sets) Transfers can be triggered by any interrupt (sync)Transfers can be triggered by any interrupt (sync) Direct Memory Access (DMA / EDMA)Direct Memory Access (DMA / EDMA) Transfers any set of memory locations to anotherTransfers any set of memory locations to another 4 / 16 / 64 channels (transfer parameter sets)4 / 16 / 64 channels (transfer parameter sets) Transfers can be triggered by any interrupt (sync)Transfers can be triggered by any interrupt (sync) Cours DSP Chapitre 3 110ENIS 2011-2012 Transfers can be triggered by any interrupt (sync)Transfers can be triggered by any interrupt (sync) Operates independent of CPUOperates independent of CPU On reset, provides bootstrap from memoryOn reset, provides bootstrap from memory Transfers can be triggered by any interrupt (sync)Transfers can be triggered by any interrupt (sync) Operates independent of CPUOperates independent of CPU On reset, provides bootstrap from memoryOn reset, provides bootstrap from memory 111. Timer/Counter InternalInternal MemoryMemory GPIOGPIO XB, PCI,XB, PCI, Host PortHost Port ExternalExternal Internal BusesInternal Buses GPIOGPIO EMIFEMIF MemoryMemory D1D1 D2D2 e a usese a uses McBSPsMcBSPs EMIFEMIF .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisteRegiste RegisteRegiste UtopiaUtopia DMA, EDMADMA, EDMA .L1.L1 S1S1 .L2.L2 S2S2 erSetBerSetB erSetAerSetA (Boot)(Boot) TimersTimers .S1.S1 .S2.S2 CPUCPUTimer / CounterTimer / Counter Two (or three) 32Two (or three) 32--bit timer/countersbit timer/counters Timer / CounterTimer / Counter Two (or three) 32Two (or three) 32--bit timer/countersbit timer/counters Cours DSP Chapitre 3 111ENIS 2011-2012 Can generate interruptsCan generate interrupts Both iBoth input and output pinsnput and output pins Can generate interruptsCan generate interrupts Both iBoth input and output pinsnput and output pins 112. Phase Locked Loop (PLL) InternalInternal MemoryMemory GPIOGPIO XB, PCI,XB, PCI, Host PortHost Port ExternalExternal Internal BusesInternal Buses GPIOGPIO EMIFEMIF MemoryMemory D1D1 D2D2 RR RR e a usese a uses McBSPsMcBSPs EMIFEMIF IIII .D1.D1 .M1.M1 .D2.D2 .M2.M2 RegisterSeRegisterSe RegisterSeRegisterSe UtopiaUtopia DMA, EDMADMA, EDMA PLLPLLPLLPLL InputInput CLKINCLKIN InputInput CLKINCLKIN .L1.L1 S1S1 .L2.L2 S2S2 etBetB etAetA (Boot)(Boot) TimersTimers PLLPLL External clock multiplierExternal clock multiplier Reduces EMI and costReduces EMI and cost PLLPLL External clock multiplierExternal clock multiplier Reduces EMI and costReduces EMI and cost OutputOutput CLKOUT1CLKOUT1 Output rate of PLLOutput rate of PLL OutputOutput CLKOUT1CLKOUT1 Output rate of PLLOutput rate of PLL.S1.S1 .S2.S2 CPUCPU VCPVCP TCPTCP PLLPLL Pin selectablePin selectablePin selectablePin selectable -- Output rate of PLLOutput rate of PLL -- Instruction (MIP) rateInstruction (MIP) rate CLKOUT2CLKOUT2 -- Output rate of PLLOutput rate of PLL -- Instruction (MIP) rateInstruction (MIP) rate CLKOUT2CLKOUT2 Cours DSP Chapitre 3 112ENIS 2011-2012 PLLPLL -- 1/2 rate of CLKOUT11/2 rate of CLKOUT1-- 1/2 rate of CLKOUT11/2 rate of CLKOUT1 113. '0x Memory Scheme 0000 00000000 00000000_00000000_0000 16MB External16MB External ((CE0CE0))CE0CE0 AA Memory MapMemory Map is a tableis a table representation of memoryrepresentation of memory External (External (CE1CE1)) Internal ProgramInternal Program 0100_00000100_0000 0140_00000140_0000 CE1CE1This is more convenient than aThis is more convenient than a block diagram descriptionblock diagram description gg 16 MB16 MB 0000_00000000_0000 CE0CE0 4 MB4 MB 0100_00000100_0000 CE1CE1 0140_00000140_0000 C6000C6000 ProgramProgram EMIFEMIF 0200_00000200_0000 CE2CE2 0300_00000300_0000 CE3CE3 CPUCPU EMIFEMIF 8000_00008000_0000 DataData Cours DSP Chapitre 3 113ENIS 2011-2012 16 MB16 MB CE2CE2 16 MB16 MB CE3CE3 114. '0x Memory Scheme 0000 00000000 00000000_00000000_0000 16MB External16MB External ((CE0CE0))CE0CE0 ProgramProgram Internal ProgramInternal Program 0100_00000100_0000 0140_00000140_0000 4MB External4MB External ((CE1CE1))CE1CE1 CE0CE0 gg 16MB External16MB External ((CE0CE0)) 0200_00000200_0000 C6000C6000 CPUCPU EMIFEMIF CE3CE3 ((CE0CE0))CE2CE2 16MB External16MB External 0300_00000300_0000 DataData ((CE0CE0))CE3CE3 Internal DataInternal Data8000_00008000_0000 Cours DSP Chapitre 3 114ENIS 2011-2012 D FFFF_FFFFFFFF_FFFF 115. Mmoire cache L1 o e cac e L1P : Le C6x contient une mmoire cache programme de 32 bits de bus dadresses et de 256 bits (bus de donnes). Not que : 1 PF = 256 bits = 8*32 = 8 instructions! L1D: Le C64x contient une mmoire cache de donnes de 64 bits (bus d d ) t d 32 bit (b d d )de donnes) et de 32 bits (bus dadresses). Remarque : Le C62x et le C67x contiennent 32 bits de bus de donnes. Cours DSP Chapitre 3 115ENIS 2011-2012 116. Cache L1PCac e RAM externe DSP Cache Mmoire cache C64L2P 16 Ko L1P 256Ko-1024Ko 4 G Not bien: pas de RAM interne Cours DSP Chapitre 3 116 4 Go 117. Cache L1PCac e 31 14 13 5 4 0 Tag Set Index Offset TAG (18 bits) : il contient les MSB de ladresse. Stock dans une mmoire tampon pour indiquer la prsence de la plage d d d i d l hdadresse dsire dans la cache ou non. Set Index (9 bits) : un set est une collection de ligne de trame.Set Index (9 bits) : un set est une collection de ligne de trame. Dans un systme dadressage direct, chaque set contient une seule ligne. Offset (5 bits) : dtermine loffset dans une ligne et permet par consquent ladressage par octet dans un PF. Cours DSP Chapitre 3 117 q g p ENIS 2011-2012 118. Exemple Supposons que nous avons un DSP fictif, avec un bus dadresse gale 5 bits: e p e DSP RAM 00000 00001 5 bits Tag = 00 DSP... ... 00111 01000 01001 g Bus dadresse 01001 ... ... 01111 Tag = 01 TAG (2 bit )TAG (2 bits) Mmoire cache 11000 11001 ... 3 bits Tag = 11 Cours DSP Chapitre 3 118 cache... 11111 ENIS 2011-2012 119. Cache L1PCac e offsetSet/Cache ligne 31 3 2 1 0 31 3 2 1 0 31 3 2 1 0 0 1 2 8bits 31 3 2 1 0 31 3 2 1 0 31 3 2 1 0 31 3 2 1 0 31 3 2 1 0 3 4 5 511 D l C64Dans le C64x, L1P = 16 Ko = . * octets pour un mode dadressage direct. Cours DSP Chapitre 3 119ENIS 2011-2012 120. Cache L1P Soit linstruction suivante et son adresse : C d i Paramtres Cac e 80000250 003C22F4 STW.D2T1 A0,*+SP[0x1] Code opration Paramtres Adresse de linstruction Instruction A partir de ladresse de linstruction (0x80000250) on dtermine loffset, le set et le tag : Tag Set Offset31 14 13 5 4 0 8 0 0 0 0 2 5 0 Tag Set Offset Tag Set Offset Cours DSP Chapitre 3 120 g ENIS 2011-2012 121. Cache L1DCac e Tag Set Index Offset 31 13 12 2 1 Group 6 5 0 Tag Set Index OffsetGroup TAG (19 bits) : il contient les MSB de ladresse. Stock dans une mmoire tampon pour indiquer la prsence de la plage dadresse dsire dans le cache ou non (miss / hit). Set Index (7 bits) : un ensemble est une collection de ligne de trame. Dans un systme dadressage associatives par ensemble d d bl h bl ti t d lide deux blocs, chaque ensemble contient deux ligne. Group (4 bits) : slectionne le mot dans un ensemble qui contientGroup (4 bits) : slectionne le mot dans un ensemble qui contient les donnes dsires. Cours DSP Chapitre 3 121 Offset (2 bits) : dtermine loffset dun mot dans ladresse. ENIS 2011-2012 122. Cache L1DCac e Ligne cache (2 per set)Set Groupe 2 Ligne cache (2 per set) 15 3 2 1 0 15 3 1 0 0 32bits Groupe 2 15 3 2 1 0 15 3 2 1 0 15 3 2 1 0 15 3 2 1 0 15 3 2 1 0 15 3 2 1 0 1 2 15 3 2 1 0 15 3 2 1 0 127 Dans le C64x L1D = 16 Ko = * * * 2 octets pour un modeDans le C64x, L1D = 16 Ko = .. 2 octets pour un mode dadressage associative par ensemble de 2 blocs. Il ya 128 ensembles contenant chacun 2 lignes cache. Chaque ligne est forme de 64 octets Cours DSP Chapitre 3 122 Chaque ligne est forme de 64 octets. ENIS 2011-2012 123. Cache L1D 32bit Cac e 2 15 3 2 1 0 15 3 1 0 15 3 2 1 0 15 3 2 1 0 0 1 32bits 15 3 2 1 0 15 3 2 1 0 15 3 2 1 0 15 3 2 1 0 15 3 2 1 0 2 127 8 bits 32 bits Cours DSP Chapitre 3 123ENIS 2011-2012 124. Cache L1D Soit la donne suivante et son adresse : Valeur de la donne Cac e 0x000198C8 54 Adresse de la donne A partir de ladresse de la donne (0x000198C8) on dtermine loffset, le group, le set et le tag : 31 13 12 2 16 5 031 13 12 2 16 5 0 Tag Set Group Offset Cours DSP Chapitre 3 124ENIS 2011-2012 125. Mmoire cache de programme Bus de donnes: 256 bits Bus dadresses: 32 bits Registres de contrleExtraction du programme (Fetch) DMA / EMIF Contrleur de logique Testeur mulateur Rpartition des instructions (Dispatch) Dcodage des instructions mulateur Interrupteur Registre A0 A31 Registre B0 B31 Chemin de donnes A Chemin de donnes B .L1 .S1 .M1 .D1 .L2 .S2 .M2 .D2 Mmoire cache de donnes Bus de donnes: 64 bits B d d 32 bit - Horloge - Ports sries - Autre priphriques Cours DSP Chapitre 3 125 Bus dadresses: 32 bits ..Etc ENIS 2011-2012 126. C6416 DSK Cours DSP Chapitre 3 126ENIS 2011-2012 127. C64X C6211/C6711 C64x DM64x L2: 64K L2 1 MB L2: 256KB---642 150, 166 MHz 500, 600, 720 MHz; 1GHz 500, 600 MHz; 400MHz (640) L1: 4K L1D & 4K L1P L1: 16K L1D &16K L1P L1: 16K L1D &16K L1P L2: 64K L2: 1 MB 128KB---641, 640 32-bit EMIF 64-bit EMIF, 16-bit EMIF 64-bit EMIF---642 16-channel EDMA 64-channel EDMA 64-channel EDMA No Video port No video port DM642: 3 video ports DM641: 2 video ports DM640 1 id 32-bit EMIF---641, 640 No Ethernet MAC No Ethernet MAC Ethernet MAC DM640: 1 video port Cours DSP Chapitre 3 127ENIS 2011-2012 128. Jeu dInstructions 1 Arithmtique ADD(U) Addition entire 32/40 bits signe (non signe) Jeu d Instructions ( ) ADD2 ADD4 SUB(U) g ( g ) 2 additions entires 16 bits 4 additions entires 8 bits Soustraction entire 32/40 bits signe (non signe) SUBC SUB2 SUB4 Soustraction conditionnelle pour tape de division 2 soustractions entires 16 bits 4 soustractions entires 8 bits 1 Arithmtique sature SAT ABS S Saturation de 0 bits en 32 bits Valeur absolue 32/40 bits avec saturation /SADD SSUB Addition signe 32/40 bits avec saturation Soustraction signe 32/40 bits avec saturation 1 Comparaison1 Comparaison CMPGT(U) CMPEG CMPLT(U) Comparaison suprieur 32/40 bits sign (non sign) Comparaison gal 32/40 bits Comparaison infrieur 32/40 bits sign (non sign) Cours DSP Chapitre 3 128 Latence ENIS 2011-2012 129. Jeu dInstructionsJeu d Instructions 2 Multiplication entires MPY2 16 LSB signs x 16 LSB signs => 32 bits2 4 MPY2 MPYU4 MPYSU4 MPYUS4 16 LSB signs x 16 LSB signs => 32 bits 4 Multiplication 8bits par 8 bits, non sign 4 Multiplication 8bits sign par 8 bits non sign 4 Multiplication 8bits non sign par 8 bits signMPYUS4 4 Multiplication 8bits non sign par 8 bits sign 2 Multiplication entires satures SMPY Saturation ((16 LSB sign x 16 LSB signs)