Motorola DSP56305 Manual do Utilizador

Consulte online ou descarregue Manual do Utilizador para Processadores Motorola DSP56305. Motorola DSP56305 User`s manual Manual do Utilizador

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 112
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 0
Motorola’s High-Performance DSP Technology
APR20/D
DSP56300/DSP56600
Application
Optimization
for the
Digital Signal
Processors
Vista de página 0
1 2 3 4 5 6 ... 111 112

Resumo do Conteúdo

Página 1 - Processors

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

Página 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

Página 3

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

Página 4

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

Página 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

Página 6 - LIST OF FIGURES

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

Página 7 - LIST OF TABLES

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

Página 8 - INTRODUCTION

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

Página 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

Página 10

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

Página 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

Página 12 - Introduction

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

Página 13 - Description and Use

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

Página 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

Página 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

Página 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

Página 17

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

Página 18

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

Página 19

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

Página 20

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

Página 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

Página 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

Página 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-

Página 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

Página 25

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

Página 26 - DSP56600 Family

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

Página 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

Página 28 - INSTRUCTIONS

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

Página 29

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

Página 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

Página 31 - Hardware Loops

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

Página 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

Página 33

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

Página 34

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

Página 35 - DSP56600 Family Manuals

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

Página 36 - 3.3 USING THE STACK EXTENSION

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

Página 37 - Using the Stack Extension

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

Página 38

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

Página 39 - EXTENSION

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

Página 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

Página 41

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

Página 42 - 3.6 PC RELATIVE INSTRUCTIONS

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

Página 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

Página 44

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

Página 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

Página 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

Página 47

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

Página 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

Página 49

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

Página 50 - USING THE DMA

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

Página 51 - Using the DMA

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

Página 52

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

Página 53

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

Página 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

Página 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

Página 56 - Servicing a Peripheral

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

Página 57

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

Página 58

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

Página 59

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

Página 60

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

Página 61

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

Página 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

Página 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

Página 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

Página 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

Página 66

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

Página 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

Página 68

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

Página 69

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

Página 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

Página 71 - Memory Switch

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

Página 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

Página 73 - Using the Bootstrap ROM

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

Página 74 - PIPELINE INTERLOCKS

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

Página 75 - Data ALU Pipeline Interlocks

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

Página 76 - DSP56000 Family Manual

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

Página 77

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

Página 78

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

Página 79

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

Página 80 - Interlocks

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

Página 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

Página 82

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

Página 83 - Interlocks?

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

Página 84

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

Página 85

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

Página 86 - COMPACT OPCODE USE

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

Página 87 - Instructions

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

Página 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’,

Página 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

Página 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

Página 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

Página 92 - 7.3 PERIPHERAL ADDRESSING

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

Página 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

Página 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

Página 95 - Special Instructions

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

Página 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

Página 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

Página 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

Página 99

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

Página 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

Página 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

Página 102 - B.3 ADDRESS TRACING

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

Página 103 - Address Tracing

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

Página 104 - USING THE PROFILER

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

Página 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

Página 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

Página 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

Página 108 - C.3.4 Code Coverage Report

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

Página 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

Página 110

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

Página 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

Página 112 - How to reach us:

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

Comentários a estes Manuais

Sem comentários