Motorola DSP56305 Manuel d'utilisateur Page 1

Naviguer en ligne ou télécharger Manuel d'utilisateur pour Processeurs Motorola DSP56305. Motorola DSP56305 User`s manual Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 112
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 0
Motorola’s High-Performance DSP Technology
APR20/D
DSP56300/DSP56600
Application
Optimization
for the
Digital Signal
Processors
Vue de la page 0
1 2 3 4 5 6 ... 111 112

Résumé du contenu

Page 1 - Processors

Motorola’s High-Performance DSP TechnologyAPR20/DDSP56300/DSP56600ApplicationOptimizationfor the Digital SignalProcessors

Page 2 - TABLE OF CONTENTS

IntroductionEnhancements over the DSP56000 MOTOROLA Optimizing DSP56300/DSP56600 Applications 1-3 The first members of DSP chips that use the DSP566

Page 3

MOTOROLA Optimizing DSP56300/DSP56600 Applications B-1This section describes way to optimize the application for minimal power consumption.Appendix B

Page 4

B-2 Optimizing DSP56300/DSP56600 Applications MOTOROLADebug and Test SupportJTAG Port Features• Trace one (single stepping) or up to 256 instruction

Page 5

Debug and Test SupportAddress Tracing MOTOROLA Optimizing DSP56300/DSP56600 Applications B-3• Force test data onto the outputs of a DSP or DSPs, while

Page 6 - LIST OF FIGURES

B-4 Optimizing DSP56300/DSP56600 Applications MOTOROLADebug and Test SupportAddress Tracing

Page 7 - LIST OF TABLES

MOTOROLA Optimizing DSP56300/DSP56600 Applications C-1This section describes way to optimize the application for minimal power consumptionAppendix CU

Page 8 - INTRODUCTION

C-2 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the ProfilerC.3 THE PROFILING REPORTThe profiling report is provided in two formats: ASC

Page 9 - 1.2 DSP56600 CORE FAMILY

Using the Profiler MOTOROLA Optimizing DSP56300/DSP56600 Applications C-3C.3.2 Symbol ReportThe symbol report section provides a profile of the access

Page 10

C-4 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the ProfilerFor move instructions, statistics are provided to describe the level of para

Page 11 - Table 1-1

Using the Profiler MOTOROLA Optimizing DSP56300/DSP56600 Applications C-5C.3.4 Code Coverage ReportThe code coverage report juxtaposes the assembly so

Page 12 - Introduction

C-6 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the ProfilerC.3.5 Basic Subroutine ReportThis section of the profile report lists the su

Page 13 - Description and Use

1-4 Optimizing DSP56300/DSP56600 Applications MOTOROLA IntroductionEnhancements over the DSP56000 MAC (uu) Unsigned MAC √√ DMAC Double-Precision MA

Page 14 - Application Note Structure

Using the Profiler MOTOROLA Optimizing DSP56300/DSP56600 Applications C-7C.3.7 Subroutine Dependency ReportThis section of the profile report presents

Page 15 - 1.4.3 Appendixes

C-8 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the ProfilerC.3.8 Subroutine Call ReportThis section exists only in the Postscript profi

Page 16 - DATA OPERATIONS

Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee re

Page 17

IntroductionEnhancements over the DSP56000 MOTOROLA Optimizing DSP56300/DSP56600 Applications 1-5 1.3.2 Architectural Enhancements The programmer’s

Page 18

1-6 Optimizing DSP56300/DSP56600 Applications MOTOROLA IntroductionApplication Note Structure 1.4 APPLICATION NOTE STRUCTURE This document has thre

Page 19

IntroductionApplication Note Structure MOTOROLA Optimizing DSP56300/DSP56600 Applications 1-7 • Section 4—Using the DMA– How to reduce core MIPS by

Page 20

1-8 Optimizing DSP56300/DSP56600 Applications MOTOROLA IntroductionApplication Note Structure – Cycle count of an instruction– Addressing modes– Wo

Page 21 - DSP56300 Family Manual

MOTOROLA Optimizing DSP56300/DSP56600 Applications 2-1 This section discusses important features and new additions to the DSP56000 core Data Arithme

Page 22 - 2.3 THE MAX INSTRUCTION

2-2 Optimizing DSP56300/DSP56600 Applications MOTOROLAData OperationsUsing the Dual Data PathsThere are two ways to generate the operand addresses f

Page 23 - 2.4 USING THE BARREL SHIFTER

Data OperationsUsing the Dual Data Paths MOTOROLA Optimizing DSP56300/DSP56600 Applications 2-3Arithmetic Shift Accumulator Right ASRSingle bit, non-

Page 24 - Using the barrel shifter

2-4 Optimizing DSP56300/DSP56600 Applications MOTOROLAData OperationsUsing the Dual Data PathsParallel moves are also restricted in their use of reg

Page 25

MOTOROLA Optimizing DSP56300/DSP56600 Applications iii TABLE OF CONTENTS SECTION 1 INTRODUCTION . . . . . . . . . . . . . . . 1-1 1.1 DSP56300 CORE

Page 26 - DSP56600 Family

Data OperationsUsing the Dual Data Paths MOTOROLA Optimizing DSP56300/DSP56600 Applications 2-5Keeping those restrictions in mind, writing a critical

Page 27 - Double precision arithmetic

2-6 Optimizing DSP56300/DSP56600 Applications MOTOROLAData Operations16-bit Arithmetic Mode (DSP56300 Only)2.2 16-BIT ARITHMETIC MODE (DSP56300 ONLY

Page 28 - INSTRUCTIONS

Data OperationsThe Max instruction MOTOROLA Optimizing DSP56300/DSP56600 Applications 2-72.3 THE MAX INSTRUCTIONMAX is a new instruction in the DSP563

Page 29

2-8 Optimizing DSP56300/DSP56600 Applications MOTOROLAData OperationsUsing the barrel shifter2.4 USING THE BARREL SHIFTERThe DSP56300/DSP56600 inclu

Page 30 - PROGRAM CONTROL

Data OperationsUsing the barrel shifter MOTOROLA Optimizing DSP56300/DSP56600 Applications 2-9will normalize A, so that in the DSP56300 it’s leading o

Page 31 - Hardware Loops

2-10 Optimizing DSP56300/DSP56600 Applications MOTOROLAData OperationsBIt manipulation instructionsmove #base-1,r4 ; 1move a1,x1 ; 1move x:(r0)+,a ;

Page 32 - 3.2 THE HARDWARE STACK

Data OperationsDouble precision arithmetic MOTOROLA Optimizing DSP56300/DSP56600 Applications 2-11is specified by its width (in bits) and its starting

Page 33

2-12 Optimizing DSP56300/DSP56600 Applications MOTOROLAData OperationsDouble precision arithmeticThe (U) means an unsigned operand, and the (S) a si

Page 34

Data OperationsUsing Less Straight-Forward Instructions MOTOROLA Optimizing DSP56300/DSP56600 Applications 2-13The features that help in this case are

Page 35 - DSP56600 Family Manuals

2-14 Optimizing DSP56300/DSP56600 Applications MOTOROLAData OperationsUsing Less Straight-Forward Instructions;determine partial 6th termmpy -x1,y0,

Page 36 - 3.3 USING THE STACK EXTENSION

iv Optimizing DSP56300/DSP56600 Applications MOTOROLA SECTION 4 USING THE DMA . . . . . . . . . . . . . . .4-1 4.1 INTRODUCTION . . . . . . . . . .

Page 37 - Using the Stack Extension

MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-1This section discusses important program control features and new additions.Section 3PROGRAM CO

Page 38

3-2 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlHardware LoopsA common programming technique is known as “loop unrolling”, in w

Page 39 - EXTENSION

Program ControlThe Hardware Stack MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-3Note: The BRKcc instruction has the same functionality as the

Page 40 - Conditional DALU Instructions

3-4 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlThe Hardware StackThe current stack location is pointed by the SP register. A s

Page 41

Program ControlThe Hardware Stack MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-5The next example shows loop and subroutine nesting. Figure 3-1

Page 42 - 3.6 PC RELATIVE INSTRUCTIONS

3-6 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlThe Hardware Stack;example of loop and subroutine nesting.;interrupt definition

Page 43 - DSP56600 Family Manual

Program ControlUsing the Stack Extension MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-73.3 USING THE STACK EXTENSIONThe hardware stack could b

Page 44

3-8 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlUsing the Stack Extensionfollowing formula, which takes into account that each

Page 45

Program ControlUsing the Stack Extension MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-9Table 3-3. The use of SP bits for stack status when the

Page 46 - 3.7 USING FAST INTERRUPTS

3-10 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlTask Switching with the Stack Extension3.4 TASK SWITCHING WITH THE STACK EXTEN

Page 47

MOTOROLA Optimizing DSP56300/DSP56600 Applications v 6.3 STACK EXTENSION DELAYS . . . . . . . . . . . 6-86.3.1 Stack Extension Full/Empty Cases .

Page 48 - Using Fast Interrupts

Program ControlConditional DALU Instructions MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-115. In order to activate the new task T2, the Opera

Page 49

3-12 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlConditional DALU Instructionsspecify that the instruction will update the CCR

Page 50 - USING THE DMA

Program ControlPC Relative Instructions MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-13add b,x1bra _CONT_TRUEadd b,x0_CONT...Using condition

Page 51 - Using the DMA

3-14 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlPC Relative InstructionsIn absolute addressing, the argument is the numerical

Page 52

Program ControlPC Relative Instructions MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-15jump to subroutinedestinationJSR address < 4096+– +B

Page 53

3-16 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlPC Relative InstructionsThere are two main advantages for using PC relative ad

Page 54 - Using Slow, Low-Cost Memories

Program ControlUsing Fast Interrupts MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-17instructs the assembler to try and compact the argument in

Page 55 - 4.4 SERVICING A PERIPHERAL

3-18 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlUsing Fast Interruptsready to transmit another word and expects the core to mo

Page 56 - Servicing a Peripheral

Program ControlUsing Fast Interrupts MOTOROLA Optimizing DSP56300/DSP56600 Applications 3-19org p:I_SI0RD ;essi0 receive data interruptmovep x:<&

Page 57

3-20 Optimizing DSP56300/DSP56600 Applications MOTOROLAProgram ControlUsing Fast Interrupts

Page 58

vi Optimizing DSP56300/DSP56600 Applications MOTOROLA 7.4.1 Dual Data Spaces . . . . . . . . . . . . . . . . . . . .7-77.4.2 Using the TFR instructi

Page 59

MOTOROLA Optimizing DSP56300/DSP56600 Applications 4-1This section describes the main DMA features and how they can be used to enhance performance.Se

Page 60

4-2 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the DMAConserving Core MIPS by Working In ParallelThe core may contend with the DMA in o

Page 61

Using the DMAConserving Core MIPS by Working In Parallel MOTOROLA Optimizing DSP56300/DSP56600 Applications 4-3move #0,m1 ;modulo 1. each increment, R

Page 62 - 5.1 THE INSTRUCTION CACHE

4-4 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the DMAUsing Slow, Low-Cost MemoriesAnother possible application of this kind is in a mu

Page 63

Using the DMAUsing Slow, Low-Cost Memories MOTOROLA Optimizing DSP56300/DSP56600 Applications 4-5memory locations. In a read access, the 3 bytes are c

Page 64 - 5.1.1 Cache Sectors

4-6 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the DMAServicing a Peripheral;DAM[5:3]101 destination address post-increment ;DAM[2:0]00

Page 65 - The Instruction Cache

Using the DMAServicing a Peripheral MOTOROLA Optimizing DSP56300/DSP56600 Applications 4-7In the following example, the DMA receives data from the ESS

Page 66

4-8 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the DMAServicing a PeripheralNote: Before servicing the data processing interrupt after

Page 67 - 5.1.3 Cache Burst Mode

Using the DMAServicing a Peripheral MOTOROLA Optimizing DSP56300/DSP56600 Applications 4-9Mx), and the MIPS required to process a fast interrupt for e

Page 68

4-10 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the DMAServicing a PeripheralThe following assembler code is needed for this configurat

Page 69

MOTOROLA Optimizing DSP56300/DSP56600 Applications vii LIST OF FIGURES Figure 2-1 The Fast Normalization Operation for the DSP56300 . . . . . . . .

Page 70 - 5.2 MEMORY SWITCH

Using the DMAServicing a Peripheral MOTOROLA Optimizing DSP56300/DSP56600 Applications 4-11movep #0,x:M_DOR2 ;offset register 2, ;added every word;(DC

Page 71 - Memory Switch

4-12 Optimizing DSP56300/DSP56600 Applications MOTOROLAUsing the DMAData Transfer Optimization Hints4.5 DATA TRANSFER OPTIMIZATION HINTSSome points

Page 72 - 5.3 USING THE BOOTSTRAP ROM

MOTOROLA Optimizing DSP56300/DSP56600 Applications 5-1This section discusses the instruction cache and some other memory features.Section 5INSTRUCTIO

Page 73 - Using the Bootstrap ROM

5-2 Optimizing DSP56300/DSP56600 Applications MOTOROLAInstruction Cache and Memory FeaturesThe Instruction CacheActivating the cache requires only s

Page 74 - PIPELINE INTERLOCKS

Instruction Cache and Memory FeaturesThe Instruction Cache MOTOROLA Optimizing DSP56300/DSP56600 Applications 5-3preceding it. The DO instruction, bei

Page 75 - Data ALU Pipeline Interlocks

5-4 Optimizing DSP56300/DSP56600 Applications MOTOROLAInstruction Cache and Memory FeaturesThe Instruction Cacheindependent addresses. The instructi

Page 76 - DSP56000 Family Manual

Instruction Cache and Memory FeaturesThe Instruction Cache MOTOROLA Optimizing DSP56300/DSP56600 Applications 5-5and written over. Locking a sector is

Page 77

5-6 Optimizing DSP56300/DSP56600 Applications MOTOROLAInstruction Cache and Memory FeaturesThe Instruction CacheNotes:1. Disabling the cache control

Page 78

Instruction Cache and Memory FeaturesThe Instruction Cache MOTOROLA Optimizing DSP56300/DSP56600 Applications 5-7controlled by the user. In a program

Page 79

5-8 Optimizing DSP56300/DSP56600 Applications MOTOROLAInstruction Cache and Memory FeaturesThe Instruction CacheDuring non-burst pipeline operation,

Page 80 - Interlocks

viii Optimizing DSP56300/DSP56600 Applications MOTOROLA LIST OF TABLES Table 1-1 New Instructions in DSP56300 and DSP56600 . . . . . . . . . . . .

Page 81 - 6.3 STACK EXTENSION DELAYS

Instruction Cache and Memory FeaturesMemory Switch MOTOROLA Optimizing DSP56300/DSP56600 Applications 5-9When the same code is run in Burst mode, ever

Page 82

5-10 Optimizing DSP56300/DSP56600 Applications MOTOROLAInstruction Cache and Memory FeaturesMemory SwitchFigure 5-1 DSP56302 Memory MapsInternalMem

Page 83 - Interlocks?

Instruction Cache and Memory FeaturesUsing the Bootstrap ROM MOTOROLA Optimizing DSP56300/DSP56600 Applications 5-11Possible advantages for using the

Page 84

5-12 Optimizing DSP56300/DSP56600 Applications MOTOROLAInstruction Cache and Memory FeaturesUsing the Bootstrap ROMmemory port, etc. The boot progra

Page 85

MOTOROLA Optimizing DSP56300/DSP56600 Applications 6-1This section describes various Pipeline Interlocks and suggests ways to avoid them.Section 6PIP

Page 86 - COMPACT OPCODE USE

6-2 Optimizing DSP56300/DSP56600 Applications MOTOROLAPipeline InterlocksData ALU Pipeline Interlocks6.1.1 What are the Data ALU Pipeline Interlocks

Page 87 - Instructions

Pipeline InterlocksData ALU Pipeline Interlocks MOTOROLA Optimizing DSP56300/DSP56600 Applications 6-3and Status Interlock may be avoided by adding so

Page 88

6-4 Optimizing DSP56300/DSP56600 Applications MOTOROLAPipeline InterlocksData ALU Pipeline Interlocks;A=next a,PUT d’move x:(r4)+,AA,y:(r1) ;PUT b’,

Page 89 - Cycle Count of an Instruction

Pipeline InterlocksData ALU Pipeline Interlocks MOTOROLA Optimizing DSP56300/DSP56600 Applications 6-5The read operations in the tenth and eleventh in

Page 90 - 7.2 ADDRESSING MODES

6-6 Optimizing DSP56300/DSP56600 Applications MOTOROLAPipeline InterlocksData ALU Pipeline Interlocks;previous datamove x:(r0)+,bb,y:(r4)+ ;write de

Page 91 - 7.2.3 Short Immediate Mode

MOTOROLA Optimizing DSP56300/DSP56600 Applications 1-1 This application note describes how to optimize an application for the DSP56300 and DSP56600

Page 92 - 7.3 PERIPHERAL ADDRESSING

Pipeline InterlocksAddress Generation Pipeline Interlocks MOTOROLA Optimizing DSP56300/DSP56600 Applications 6-76.2 ADDRESS GENERATION PIPELINE INTERL

Page 93 - 7.4.1 Dual Data Spaces

6-8 Optimizing DSP56300/DSP56600 Applications MOTOROLAPipeline InterlocksStack Extension Delaysinstruction and no interlock cycles will be added to

Page 94 - 7.4.3 Clearing Registers

Pipeline InterlocksProgram Flow-Control Pipeline Interlocks MOTOROLA Optimizing DSP56300/DSP56600 Applications 6-9hardware stack so that it will not b

Page 95 - Special Instructions

6-10 Optimizing DSP56300/DSP56600 Applications MOTOROLAPipeline InterlocksProgram Flow-Control Pipeline Interlocks6.4.1 What are the Program Flow-Co

Page 96 - SAVING POWER

Pipeline InterlocksProgram Flow-Control Pipeline Interlocks MOTOROLA Optimizing DSP56300/DSP56600 Applications 6-116.4.1.3 JMP to Last Addresses of a

Page 97 - A.1.3 Low-Power Clock Divider

6-12 Optimizing DSP56300/DSP56600 Applications MOTOROLAPipeline InterlocksProgram Flow-Control Pipeline Interlockscmp B,x0 ;compare to thresholdblt

Page 98 - Disabling Functional Blocks

MOTOROLA Optimizing DSP56300/DSP56600 Applications 7-1This section describes ways to optimize the size and speed of the code by efficiently using the

Page 99

7-2 Optimizing DSP56300/DSP56600 Applications MOTOROLACompact Opcode UseCycle Count of an Instructionmove r4,n4move r0,n0do #N,_loop...move x:(r0)+,

Page 100 - DEBUG AND TEST SUPPORT

Compact Opcode UseCycle Count of an Instruction MOTOROLA Optimizing DSP56300/DSP56600 Applications 7-3In the second example, the Tcc instruction is us

Page 101 - B.2 JTAG PORT FEATURES

7-4 Optimizing DSP56300/DSP56600 Applications MOTOROLACompact Opcode UseCycle Count of an InstructionExample:tst ablt rare_errorfrequent_code...rare

Page 102 - B.3 ADDRESS TRACING

1-2 Optimizing DSP56300/DSP56600 Applications MOTOROLA IntroductionDSP56600 Core Family • Position Independent Code (PIC) instruction-set support•

Page 103 - Address Tracing

Compact Opcode UseAddressing Modes MOTOROLA Optimizing DSP56300/DSP56600 Applications 7-5By choosing the conditions more carefully, the code can be op

Page 104 - USING THE PROFILER

7-6 Optimizing DSP56300/DSP56600 Applications MOTOROLACompact Opcode UseAddressing Modes7.2.2 Short Addressing ModeThe lower portion (first 64 locat

Page 105 - C.3.1 Basic Report

Compact Opcode UsePeripheral Addressing MOTOROLA Optimizing DSP56300/DSP56600 Applications 7-77.2.5 Register AddressingThe register addressing can als

Page 106 - C.3.2 Symbol Report

7-8 Optimizing DSP56300/DSP56600 Applications MOTOROLACompact Opcode UseSpecial Instructions7.4 SPECIAL INSTRUCTIONS7.4.1 Dual Data SpacesThe Harvar

Page 107 - Using the Profiler

Compact Opcode UseSpecial Instructions MOTOROLA Optimizing DSP56300/DSP56600 Applications 7-97.4.3 Clearing RegistersIt is often needed to clear a cer

Page 108 - C.3.4 Code Coverage Report

7-10 Optimizing DSP56300/DSP56600 Applications MOTOROLACompact Opcode UseSpecial Instructions

Page 109 - C.3.5 Basic Subroutine Report

MOTOROLA Optimizing DSP56300/DSP56600 Applications A-1This section describes way to optimize the application for minimal power consumption.Appendix A

Page 110

A-2 Optimizing DSP56300/DSP56600 Applications MOTOROLASaving PowerLow Power Modesperipheral, an interrupt request is generated to take the core out

Page 111 - C.4 USING THE PROFILE REPORT

Saving PowerDisabling Functional Blocks MOTOROLA Optimizing DSP56300/DSP56600 Applications A-3A.2 DISABLING FUNCTIONAL BLOCKSThe are few functional bl

Page 112 - How to reach us:

A-4 Optimizing DSP56300/DSP56600 Applications MOTOROLASaving PowerDisabling Functional Blocks

Commentaires sur ces manuels

Pas de commentaire