Motorola DSP56800 Informations techniques

Naviguer en ligne ou télécharger Informations techniques pour Processeurs Motorola DSP56800. Motorola DSP56800 Technical information Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 38
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 0
AN2095/D
Rev. 0, 04/2001
Porting and Optimizing
DSP56800 Applications to
DSP56800E
Application Note
by
Cristian Caciuloiu, Radu Preda, Radu Bacrau, and Costel Ilas
Fr
eescale S
emiconduct
or
, I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
nc...
Vue de la page 0
1 2 3 4 5 6 ... 37 38

Résumé du contenu

Page 1 - DSP56800E

AN2095/DRev. 0, 04/2001Porting and OptimizingDSP56800 Applications toDSP56800EApplication Note by Cristian Caciuloiu, Radu Preda, Radu Bacrau, and Cos

Page 2 - Freescale Semiconductor, I

6 Porting and Optimizing DSP56800 Applications to DSP56800E NOTE:Throughout this application note, 1 word equals 16 bits.The size of the data memory

Page 3 - Abstract and Contents

Application Performance Comparison Optimizing the Ported Code 7Methods based on almost all the new DSP56800E features, which are summarized in Sectio

Page 4

8 Porting and Optimizing DSP56800 Applications to DSP56800E The optimization techniques applied to the reference code to reach the speed and size imp

Page 5 - 1 Introduction

New Registers Optimizing the Ported Code 9The number of instruction words filling the delay slots must equal the number of delay slots. If some delay

Page 6 - 2 Application Porting

10 Porting and Optimizing DSP56800 Applications to DSP56800E • Two new address registers, R4 and R5• A second offset register, N3• New loop address a

Page 7 - 2.1 Porting Process

Immediate Operands Optimizing the Ported Code 11Code Example 7. Using Address Registers to Store Addressesdo #12,END_RX_BPF move x:>BPF_

Page 8

12 Porting and Optimizing DSP56800 Applications to DSP56800E The improvement achieved by the AGU arithmetic is illustrated in Code Example 10, which

Page 9

Operations and Memory Access on 32 Bits Optimizing the Ported Code 13Code Example 13. Copying a Buffer on DSP56800SECTION TX_MEM...tx_out ds 12 ; T

Page 10 - 3 Optimizing the Ported Code

14 Porting and Optimizing DSP56800 Applications to DSP56800E 3.6 Operations and Memory Access on 8 BitsCompared to its predecessor, the DSP56800E a

Page 11 - Freescale Semiconductor, Inc

New Addressing Modes and New Register Combinations in Data ALU Operations Optimizing the Ported Code 15For example, compare the instruction ADD on th

Page 12

Freescale Semiconductor, I Freescale Semiconductor, Inc.For More Information On This Product, Go

Page 13 - 3.2 New Registers

16 Porting and Optimizing DSP56800 Applications to DSP56800E Code Example 22. Restrictions Removed Using MACR on DSP56800Edo #12,end_rx_demod ;Loop

Page 14

RXDEMOD Writing DSP56800E Code from Scratch 17The main project contains only one place where two imbricated DO loops are used, in the function RXBPF

Page 15 - 3.4 AGU Arithmetic

18 Porting and Optimizing DSP56800 Applications to DSP56800E The most important new features of the DSP56800E used in writing RXDEMOD from scratch we

Page 16

RXEQERR Writing DSP56800E Code from Scratch 19The original code contains 10 register-to-register moves that compensate for the lack of accumulators a

Page 17

20 Porting and Optimizing DSP56800 Applications to DSP56800E Code Example 28. Optimized Ported Code on DSP56800Emove.w #0,y1 ; 1 cycle, 1 word...ts

Page 18

Data ALU Pipeline Dependencies Pipeline Effects on DSP56800E 21not occur on DSP56800 (specifically, data ALU pipeline dependencies and hardware loopi

Page 19

22 Porting and Optimizing DSP56800 Applications to DSP56800E Between instruction n2 and n1 is a data ALU pipeline dependency. Because the result beco

Page 20 - 3.8 Nested Loops

Dependencies with Hardware Looping Converting Applications for Increased Data and Program Memory 23Code Example 33. Code Without AGU Pipeline Depen

Page 21 - 4.1 RXDEMOD

24 Porting and Optimizing DSP56800 Applications to DSP56800E 6.1 Extending Data Memory Size From 64K to 16MThere are two assembler switches that in

Page 22

Extending Program Memory Size From 64K to 2M Converting Applications for Increased Data and Program Memory 25Code size increased and speed decreased,

Page 23 - 4.2 RXEQERR

 Abstract and Contents iiiThe DSP56800E’s DSP core architecture represents the next step in the evolution of Motorola’s 16-bit DSP56800 Family of dig

Page 24

26 Porting and Optimizing DSP56800 Applications to DSP56800E Code Example 42. DSP56800 Original Coderx_next_tasklea (sp)+move x:>RxQ_ptr,r3 ; Re

Page 25

Extending Program Memory Size From 64K to 2M Conclusions 277 ConclusionsThis application note investigated the process of porting an application deve

Page 26

28 Porting and Optimizing DSP56800 Applications to DSP56800E compared to DSP56800. Also new optimization methods can be introduced to further increas

Page 27 - Program Memory

 Functions Written from Scratch A-1Appendix AFunctions Written from ScratchA.1 Optimized Ported Version of RXDEMODRXDEMODmove.l #BPF_OUT,r3 ; Init.

Page 28

A-2 Porting and Optimizing DSP56800 Applications to DSP56800E ; DEMODULATEmove.w b,b ; Saturate the outputmpy b1,y1,a x:(r3)+,y0 ; X*COS in a; Yiny0m

Page 29

 Functions Written from Scratch A-3A.3 Optimized Ported Version of RXEQERRRXEQERRmove.w #$0,nmoveu.w #EQX,r3moveu.w #DECX,r0moveu.w #DP,r1moveu.w #

Page 30

A-4 Porting and Optimizing DSP56800 Applications to DSP56800E CAR_NOR; PHASE ERROR UNWRAP ROUTINEmove.w x:WRPFLG,b ; Get the WRPFLG; Get the phase er

Page 31 - 7 Conclusions

 Functions Written from Scratch A-5move.w #$0400,a ; tmp <- #$0400DO_DIVmove.w b,x0bfclr #$0001,srrep #11div x0,amove.w a0,aSET_DPeor c1,y1 ; comp

Page 32

A-6 Porting and Optimizing DSP56800 Applications to DSP56800E  Freescale Semiconductor, I Freescal

Page 33 - Appendix A

iv Porting and Optimizing DSP56800 Applications to DSP56800E 6 Converting Applications for Increased Data and Program Memory . . . . . . . 236.1 Exte

Page 34

 Introduction 11 IntroductionThe DSP56800E’s DSP core architecture represents the next step in the evolution of Motorola’s 16-bit DSP56800 Family of

Page 35

2 Porting and Optimizing DSP56800 Applications to DSP56800E 1.1 Case StudyThe application chosen as an example to be ported was the implementation

Page 36

Porting Process Application Porting 32.1 Porting ProcessTo set up the application to run on DSP56800E tools, the following steps were performed:1.

Page 37

4 Porting and Optimizing DSP56800 Applications to DSP56800E Another case is when the (Rn) addressing mode is used and an LEA instruction updates the

Page 38

Application Performance Comparison Application Porting 5To avoid this problem, scan the code for ADC, SBC, or DIV instructions that are run with the

Commentaires sur ces manuels

Pas de commentaire