Texas-instruments TMS320C67X/C67X+ DSP Uživatelský manuál

Procházejte online nebo si stáhněte Uživatelský manuál pro Reproduktory do auta Texas-instruments TMS320C67X/C67X+ DSP. Texas Instruments TMS320C67X/C67X+ DSP User Manual Uživatelská příručka

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 465
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků

Shrnutí obsahu

Strany 1 - Reference Guide

TMS320C67x/C67x+ DSPCPU and Instruction SetReference GuideLiterature Number: SPRU733May 2005

Strany 2

Contentsx SPRU733Contents4.2.11 MPYI Instruction 4-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 3 - Read This First

ABSDP Absolute Value, Double-Precision Floating-Point3-40 Instruction Set SPRU733Absolute Value, Double-Precision Floating-PointABSDPSyntax ABSDP (.

Strany 4 - Trademarks

Absolute Value, Double-Precision Floating-Point ABSDP3-41 Instruction SetSPRU733Pipeline StageE1 E2Read src2_lsrc2_hWritten dst_l dst_hUnit in use.SI

Strany 5

ABSSP Absolute Value, Single-Precision Floating-Point3-42 Instruction Set SPRU733Absolute Value, Single-Precision Floating-PointABSSPSyntax ABSSP (.

Strany 6

Absolute Value, Single-Precision Floating-Point ABSSP3-43 Instruction SetSPRU733Pipeline StageE1Read src2Written dstUnit in use.SInstruction Type Sin

Strany 7

ADD Add Two Signed Integers Without Saturation3-44 Instruction Set SPRU733Add Two Signed Integers Without SaturationADDSyntax ADD (.unit) src1, src2

Strany 8

Add Two Signed Integers Without Saturation ADD3-45 Instruction SetSPRU733Opcode .S unit31 29 28 27 23 22 18 17 13 12 11 6 5 4 3 2 1 0creg z dst src2

Strany 9

ADD Add Two Signed Integers Without Saturation3-46 Instruction Set SPRU733Opcode .D unit31 292827 2322 1817 1312 76543210creg z dst src2 src1 op 1 0

Strany 10 - Contents

Add Two Signed Integers Without Saturation ADD3-47 Instruction SetSPRU733Example 1 ADD .L2X A1,B1,B2Before instruction 1 cycle after instructionA1000

Strany 11

ADDAB Add Using Byte Addressing Mode3-48 Instruction Set SPRU733Add Using Byte Addressing ModeADDABSyntax ADDAB (.unit) src2, src1, dst.unit = .D1 o

Strany 12

Add Using Byte Addressing Mode ADDAB3-49 Instruction SetSPRU733Example 1 ADDAB .D1 A4,A2,A4Before instruction 1 cycle after instructionA20000 000BhA2

Strany 13

ContentsxiContentsSPRU733A Instruction Compatibility A-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 14

ADDAD Add Using Doubleword Addressing Mode3-50 Instruction Set SPRU733Add Using Doubleword Addressing ModeADDADSyntax ADDAD (.unit) src2, src1, dst.

Strany 15

Add Using Doubleword Addressing Mode ADDAD3-51 Instruction SetSPRU733Instruction Type Single-cycleDelay Slots 0Functional UnitLatency1See Also ADD, A

Strany 16

ADDAH Add Using Halfword Addressing Mode3-52 Instruction Set SPRU733Add Using Halfword Addressing ModeADDAHSyntax ADDAH (.unit) src2, src1, dst.unit

Strany 17 - Examples

Add Using Halfword Addressing Mode ADDAH3-53 Instruction SetSPRU733Example 1 ADDAH .D1 A4,A2,A4Before instruction 1 cycle after instructionA20000 000

Strany 18

ADDAW Add Using Word Addressing Mode3-54 Instruction Set SPRU733Add Using Word Addressing ModeADDAWSyntax ADDAW (.unit) src2, src1, dst.unit = .D1 o

Strany 19

Add Using Word Addressing Mode ADDAW3-55 Instruction SetSPRU733Example 1 ADDAW .D1 A4,2,A4Before instruction 1 cycle after instructionA40002 0000hA4

Strany 20

ADDDP Add Two Double-Precision Floating-Point Values3-56 Instruction Set SPRU733Add Two Double-Precision Floating-Point ValuesADDDPSyntax ADDDP (.un

Strany 21

Add Two Double-Precision Floating-Point Values ADDDP3-57 Instruction SetSPRU733Notes:1) This instruction takes the rounding mode from and sets the wa

Strany 22

ADDDP Add Two Double-Precision Floating-Point Values3-58 Instruction Set SPRU733Pipeline StageE1 E2 E3 E4 E5 E6 E7Read src1_lsrc2_lsrc1_hsrc2_hWritt

Strany 23

Add Signed 16-Bit Constant to Register ADDK3-59 Instruction SetSPRU733Add Signed 16-Bit Constant to RegisterADDKSyntax ADDK (.unit) cst, dst.unit = .

Strany 24

Figuresxii SPRU733FiguresFigures1−1 TMS320C67x DSP Block Diagram 1-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 25

ADDSP Add Two Single-Precision Floating-Point Values3-60 Instruction Set SPRU733Add Two Single-Precision Floating-Point ValuesADDSPSyntax ADDSP (.un

Strany 26

Add Two Single-Precision Floating-Point Values ADDSP3-61 Instruction SetSPRU733Notes:1) This instruction takes the rounding mode from and sets the wa

Strany 27 - CPU Data Paths and Control

ADDSP Add Two Single-Precision Floating-Point Values3-62 Instruction Set SPRU733Pipeline StageE1 E2 E3 E4Read src1src2Written dstUnit in use.L or .S

Strany 28 - 2.1 Introduction

Add Two Unsigned Integers Without Saturation ADDU3-63 Instruction SetSPRU733Add Two Unsigned Integers Without SaturationADDUSyntax ADDU (.unit) src1,

Strany 29 - Data path B

ADDU Add Two Unsigned Integers Without Saturation3-64 Instruction Set SPRU733Example 1 ADDU .L1 A1,A2,A5:A4Before instruction 1 cycle after instruct

Strany 30

Add Two 16-Bit Integers on Upper and Lower Register Halves ADD23-65 Instruction SetSPRU733Add Two 16-Bit Integers on Upper and Lower Register HalvesA

Strany 31

ADD2 Add Two 16-Bit Integers on Upper and Lower Register Halves3-66 Instruction Set SPRU733Execution if (cond) {msb16(src1) + msb16(src2) → msb16(ds

Strany 32 - 2.4 Register File Cross Paths

Bitwise AND AND3-67 Instruction SetSPRU733Bitwise ANDANDSyntax AND (.unit) src1, src2, dst.unit = .L1, .L2, .S1, .S2Compatibility C62x, C64x, C67x, a

Strany 33 - 2.7 Control Register File

AND Bitwise AND3-68 Instruction Set SPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.L or .SInstruction Type Single-cycleDelay Slots 0Se

Strany 34

Branch Using a Displacement B3-69 Instruction SetSPRU733Branch Using a DisplacementBSyntax B (.unit) label.unit = .S1 or .S2Compatibility C62x, C64x,

Strany 35

FiguresxiiiFiguresSPRU7334−18 Two-Cycle DP Instruction Phases 4-24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 36

B Branch Using a Displacement3-70 Instruction Set SPRU733Target InstructionPipeline StageE1 PSPW PR DP DC E1ReadWrittenBranchTakenUnit in use.SInst

Strany 37

Branch Using a Register B3-71 Instruction SetSPRU733Branch Using a RegisterBSyntax B (.unit) src2.unit = .S2Compatibility C62x, C64x, C67x, and C67x+

Strany 38

B Branch Using a Register3-72 Instruction Set SPRU733Target InstructionPipeline StageE1 PSPW PR DP DC E1Read src2WrittenBranchTakenUnit in use.S2In

Strany 39

Branch Using an Interrupt Return Pointer B IRP3-73 Instruction SetSPRU733Branch Using an Interrupt Return PointerB IRPSyntax B (.unit) IRP.unit = .S2

Strany 40

B IRP Branch Using an Interrupt Return Pointer3-74 Instruction Set SPRU733Target InstructionPipeline StageE1 PSPW PR DP DC E1Read IRPWrittenBranchTa

Strany 41

Branch Using NMI Return Pointer B NRP3-75 Instruction SetSPRU733Branch Using NMI Return PointerB NRPSyntax B (.unit) NRP.unit = .S2Compatibility C62x

Strany 42

B NRP Branch Using NMI Return Pointer3-76 Instruction Set SPRU733Target InstructionPipeline StageE1 PSPW PR DP DC E1Read NRPWrittenBranchTakenUnit

Strany 43

Clear a Bit Field CLR3-77 Instruction SetSPRU733Clear a Bit FieldCLRSyntax CLR (.unit) src2, csta, cstb, dstorCLR (.unit) src2, src1, dst.unit = .S1

Strany 44

CLR Clear a Bit Field3-78 Instruction Set SPRU733Description The field in src2, specified by csta and cstb, is cleared to zero. csta and cstbmay be

Strany 45 - Control Register File

Clear a Bit Field CLR3-79 Instruction SetSPRU733Example 1 CLR .S1 A1,4,19,A2Before instruction 1 cycle after instructionA107A4 3F2AhA1 07A4 3F2AhA2 x

Strany 46

Tablesxiv SPRU733TablesTables1−1 Typical Applications for the TMS320 DSPs 1-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 47

CMPEQ Compare for Equality, Signed Integers3-80 Instruction Set SPRU733Compare for Equality, Signed IntegersCMPEQSyntax CMPEQ (.unit) src1, src2, ds

Strany 48

Compare for Equality, Signed Integers CMPEQ3-81 Instruction SetSPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.LInstruction Type Single-

Strany 49

CMPEQDP Compare for Equality, Double-Precision Floating-Point Values3-82 Instruction Set SPRU733Compare for Equality, Double-Precision Floating-Poin

Strany 50 - Field Descriptions

Compare for Equality, Double-Precision Floating-Point Values CMPEQDP3-83 Instruction SetSPRU733Notes:1) In the case of NaN compared with itself, the

Strany 51

CMPEQSP Compare for Equality, Single-Precision Floating-Point Values3-84 Instruction Set SPRU733Compare for Equality, Single-Precision Floating-Poin

Strany 52

Compare for Equality, Single-Precision Floating-Point Values CMPEQSP3-85 Instruction SetSPRU733Notes:1) In the case of NaN compared with itself, the

Strany 53

CMPGT Compare for Greater Than, Signed Integers3-86 Instruction Set SPRU733Compare for Greater Than, Signed IntegersCMPGTSyntax CMPGT (.unit) src1,

Strany 54

Compare for Greater Than, Signed Integers CMPGT3-87 Instruction SetSPRU733Description Performs a signed comparison of src1 to src2. If src1 is greate

Strany 55

CMPGT Compare for Greater Than, Signed Integers3-88 Instruction Set SPRU733Example 1 CMPGT .L1X A1,B1,A2Before instruction 1 cycle after instruction

Strany 56

Compare for Greater Than, Double-Precision Floating-Point Values CMPGTDP3-89 Instruction SetSPRU733Compare for Greater Than, Double-Precision Floatin

Strany 57

TablesxvTablesSPRU7333−19 Data Types Supported by LDH(U) Instruction 3-131. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3−20 D

Strany 58

CMPGTDP Compare for Greater Than, Double-Precision Floating-Point Values (C67x CPU)3-90 Instruction Set SPRU733Note:No configuration bits other than

Strany 59

Compare for Greater Than, Single-Precision Floating-Point Values CMPGTSP3-91 Instruction SetSPRU733Compare for Greater Than, Single-Precision Floatin

Strany 60

CMPGTSP Compare for Greater Than, Single-Precision Floating-Point Values3-92 Instruction Set SPRU733Note:No configuration bits other than those show

Strany 61 - Instruction Set

Compare for Greater Than, Unsigned Integers CMPGTU3-93 Instruction SetSPRU733Compare for Greater Than, Unsigned IntegersCMPGTUSyntax CMPGTU (.unit) s

Strany 62

CMPGTU Compare for Greater Than, Unsigned Integers3-94 Instruction Set SPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.LInstruction Typ

Strany 63

Compare for Less Than, Signed Integers CMPLT3-95 Instruction SetSPRU733Compare for Less Than, Signed IntegersCMPLTSyntax CMPLT (.unit) src1, src2, ds

Strany 64

CMPLT Compare for Less Than, Signed Integers3-96 Instruction Set SPRU733Description Performs a signed comparison of src1 to src2. If src1 is less th

Strany 65

Compare for Less Than, Signed Integers CMPLT3-97 Instruction SetSPRU733Example 1 CMPLT .L1 A1,A2,A3Before instruction 1 cycle after instructionA10000

Strany 66

CMPLTDP Compare for Less Than, Double-Precision Floating-Point Values3-98 Instruction Set SPRU733Compare for Less Than, Double-Precision Floating-Po

Strany 67

Compare for Less Than, Double-Precision Floating-Point Values CMPLTDP3-99 Instruction SetSPRU733Note:No configuration bits other than those above are

Strany 68

Tablesxvi SPRU733Tables5−1 Interrupt Priorities 5-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 69 - 3-9Instruction SetSPRU733

CMPLTSP Compare for Less Than, Single-Precision Floating-Point Values3-100 Instruction Set SPRU733Compare for Less Than, Single-Precision Floating-P

Strany 70

Compare for Less Than, Single-Precision Floating-Point Values CMPLTSP3-101 Instruction SetSPRU733Note:No configuration bits other than those above ar

Strany 71

CMPLTU Compare for Less Than, Unsigned Integers3-102 Instruction Set SPRU733Compare for Less Than, Unsigned IntegersCMPLTUSyntax CMPLTU (.unit) src1

Strany 72

Compare for Less Than, Unsigned Integers CMPLTU3-103 Instruction SetSPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.LInstruction Type Si

Strany 73 - (e−1023)

DPINT Convert Double-Precision Floating-Point Value to Integer3-104 Instruction Set SPRU733Convert Double-Precision Floating-Point Value to IntegerD

Strany 74 - 3.4 Delay Slots

Convert Double-Precision Floating-Point Value to Integer DPINT3-105 Instruction SetSPRU733Pipeline StageE1 E2 E3 E4Read src2_lsrc2_hWritten dstUnit i

Strany 75

DPSP Convert Double-Precision Floating-Point Value to Single-Precision Floating-Point Value3-106 Instruction Set SPRU733Convert Double-Precision Flo

Strany 76 - 3.5 Parallel Operations

Convert Double-Precision Floating-Point Value to Single-Precision Floating-Point Value DPSP3-107 Instruction SetSPRU7337) If underflow occurs, the IN

Strany 77

DPTRUNC Convert Double-Precision Floating-Point Value to Integer With Truncation3-108 Instruction Set SPRU733Convert Double-Precision Floating-Point

Strany 78 - 3.5.1 Example Parallel Code

Convert Double-Precision Floating-Point Value to Integer With Truncation DPTRUNC3-109 Instruction SetSPRU733Pipeline StageE1 E2 E3 E4Read src2_lsrc2_

Strany 79 - 3.6 Conditional Operations

ExamplesxviiExamplesSPRU733Examples3−1 Fully Serial p-Bit Pattern in a Fetch Packet 3-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 80 - 3.7 Resource Constraints

EXT Extract and Sign-Extend a Bit Field3-110 Instruction Set SPRU733Extract and Sign-Extend a Bit FieldEXTSyntax EXT (.unit) src2, csta, cstb, dstor

Strany 81 - 3-21Instruction SetSPRU733

Extract and Sign-Extend a Bit Field EXT3-111 Instruction SetSPRU733Description The field in src2, specified by csta and cstb, is extracted and sign-e

Strany 82 - Instruction Set3-22 SPRU733

EXT Extract and Sign-Extend a Bit Field3-112 Instruction Set SPRU733Instruction Type Single-cycleDelay Slots 0See Also EXTUExample 1 EXT .S1 A1,10,1

Strany 83 - 3-23Instruction SetSPRU733

Extract and Zero-Extend a Bit Field EXTU3-113 Instruction SetSPRU733Extract and Zero-Extend a Bit FieldEXTUSyntax EXTU (.unit) src2, csta, cstb, dsto

Strany 84 - Instruction Set3-24 SPRU733

EXTU Extract and Zero-Extend a Bit Field3-114 Instruction Set SPRU733Description The field in src2, specified by csta and cstb, is extracted and zer

Strany 85 - 3-25Instruction SetSPRU733

Extract and Zero-Extend a Bit Field EXTU3-115 Instruction SetSPRU733Instruction Type Single-cycleDelay Slots 0See Also EXTExample 1 EXTU .S1 A1,10,19

Strany 86 - Instruction Set3-26 SPRU733

IDLE Multicycle NOP With No Termination Until Interrupt3-116 Instruction Set SPRU733Multicycle NOP With No Termination Until InterruptIDLESyntax IDL

Strany 87 - 3-27Instruction SetSPRU733

Convert Signed Integer to Double-Precision Floating-Point Value INTDP3-117 Instruction SetSPRU733Convert Signed Integer to Double-Precision Floating-

Strany 88 - Instruction Set3-28 SPRU733

INTDP Convert Signed Integer to Double-Precision Floating-Point Value3-118 Instruction Set SPRU733Example INTDP .L1x B4,A1:A0Before instruction 5 c

Strany 89

Convert Unsigned Integer to Double-Precision Floating-Point Value INTDPU3-119 Instruction SetSPRU733Convert Unsigned Integer to Double-Precision Floa

Strany 90 - 3.8 Addressing Modes

1-1IntroductionSPRU733aIntroductionThe TMS320C6000™ digital signal processor (DSP) platform is part of theTMS320™ DSP family. The TMS320C62x™ DSP gene

Strany 91 - LDW .D1 *++A4[9],A1

INTDPU Convert Unsigned Integer to Double-Precision Floating-Point Value3-120 Instruction Set SPRU733Example INTDPU .L1 A4,A1:A0Before instruction 5

Strany 92 - ADDAH .D1 A4,A1,A4

Convert Signed Integer to Single-Precision Floating-Point Value INTSP3-121 Instruction SetSPRU733Convert Signed Integer to Single-Precision Floating-

Strany 93

INTSPU Convert Unsigned Integer to Single-Precision Floating-Point Value3-122 Instruction Set SPRU733Convert Unsigned Integer to Single-Precision Fl

Strany 94 - 3.10 Instruction Descriptions

Load Byte From Memory With a 5-Bit Unsigned Constant Offset or Register Offset LDB(U)3-123 Instruction SetSPRU733Load Byte From Memory With a 5-Bit U

Strany 95 - 3-35 Instruction SetSPRU733

LDB(U) Load Byte From Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-124 Instruction Set SPRU733The addressing arithmetic that per

Strany 96

Load Byte From Memory With a 5-Bit Unsigned Constant Offset or Register Offset LDB(U)3-125 Instruction SetSPRU733Example LDB .D1 *−A5[4],A7Before LDB

Strany 97 - 3-37 Instruction SetSPRU733

LDB(U) Load Byte From Memory With a 15-Bit Unsigned Constant Offset3-126 Instruction Set SPRU733Load Byte From Memory With a 15-Bit Unsigned Constan

Strany 98

Load Byte From Memory With a 15-Bit Unsigned Constant Offset LDB(U)3-127 Instruction SetSPRU733Execution if (cond) mem → dstelse nopNote:This instruc

Strany 99

LDDW Load Doubleword From Memory With an Unsigned Constant Offset or Register Offset3-128 Instruction Set SPRU733Load Doubleword From Memory With an

Strany 100 - 3 1 5 5 1 1 1

Load Doubleword From Memory With an Unsigned Constant Offset or Register Offset LDDW3-129 Instruction SetSPRU733Increments and decrements default to

Strany 101

TMS320 DSP Family OverviewIntroduction1-2 SPRU7331.1 TMS320 DSP Family OverviewThe TMS320™ DSP family consists of fixed-point, floating-point, and mul

Strany 102

LDDW Load Doubleword From Memory With an Unsigned Constant Offset or Register Offset3-130 Instruction Set SPRU733Delay Slots 4Functional UnitLatency

Strany 103

Load Halfword From Memory With a 5-Bit Unsigned Constant Offset or Register Offset LDH(U)3-131 Instruction SetSPRU733Load Halfword From Memory With a

Strany 104 - 3 1 5 5 5 1 7 1 1

LDH(U) Load Halfword From Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-132 Instruction Set SPRU733The addressing arithmetic that

Strany 105

Load Halfword From Memory With a 5-Bit Unsigned Constant Offset or Register Offset LDH(U)3-133 Instruction SetSPRU733Example LDH .D1 *++A4[A1],A8Befo

Strany 106 - 3 1 5 5 5 6 1 1

LDH(U) Load Halfword From Memory With a 15-Bit Unsigned Constant Offset3-134 Instruction Set SPRU733Load Halfword From Memory With a 15-Bit Unsigned

Strany 107

Load Halfword From Memory With a 15-Bit Unsigned Constant Offset LDH(U)3-135 Instruction SetSPRU733Table 3−20. Data Types Supported by LDH(U) Instruc

Strany 108

LDW Load Word From Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-136 Instruction Set SPRU733Load Word From Memory With a 5-Bit Un

Strany 109

Load Word From Memory With a 5-Bit Unsigned Constant Offset or Register Offset LDW3-137 Instruction SetSPRU733Increments and decrements default to 1

Strany 110

LDW Load Word From Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-138 Instruction Set SPRU733Example 1 LDW .D1 *A10,B1Before LDW 1

Strany 111

Load Word From Memory With a 15-Bit Unsigned Constant Offset LDW3-139 Instruction SetSPRU733Load Word From Memory With a 15-Bit Unsigned Constant Off

Strany 112

IMPORTANT NOTICETexas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections,modifications, enhancements, improvemen

Strany 113

TMS320C6000 DSP Family Overview1-3IntroductionSPRU733Table 1−1. Typical Applications for the TMS320 DSPsAutomotive Consumer ControlAdaptive ride contr

Strany 114

LDW Load Word From Memory With a 15-Bit Unsigned Constant Offset3-140 Instruction Set SPRU733Pipeline StageE1 E2 E3 E4 E5Read B14 / B15Written dstUn

Strany 115

Leftmost Bit Detection LMBD3-141 Instruction SetSPRU733Leftmost Bit DetectionLMBDSyntax LMBD (.unit) src1, src2, dst.unit = .L1 or .L2Compatibility C

Strany 116

LMBD Leftmost Bit Detection3-142 Instruction Set SPRU733Execution if (cond) {if (src10 == 0) lmb0(src2) → dstif (src10 == 1) lmb1(src2) → dst}else n

Strany 117

Multiply Signed 16 LSB x Signed 16 LSB MPY3-143 Instruction SetSPRU733Multiply Signed 16 LSB  Signed 16 LSBMPYSyntax MPY (.unit) src1, src2, dst.uni

Strany 118

MPY Multiply Signed 16 LSB x Signed 16 LSB3-144 Instruction Set SPRU733Example 1 MPY .M1 A1,A2,A3Before instruction 2 cycles after instructionA10000

Strany 119 - 3 1 5 16 1 1

Multiply Two Double-Precision Floating-Point Values MPYDP3-145 Instruction SetSPRU733Multiply Two Double-Precision Floating-Point ValuesMPYDPSyntax M

Strany 120

MPYDP Multiply Two Double-Precision Floating-Point Values3-146 Instruction Set SPRU733Pipeline StageE1 E2 E3 E4 E5 E6 E7 E8 E9 E10Read src1_lsrc2_ls

Strany 121

Multiply Signed 16 MSB x Signed 16 MSB MPYH3-147 Instruction SetSPRU733Multiply Signed 16 MSB  Signed 16 MSBMPYHSyntax MPYH (.unit) src1, src2, dst.

Strany 122

MPYH Multiply Signed 16 MSB x Signed 16 MSB3-148 Instruction Set SPRU733Example MPYH .M1 A1,A2,A3Before instruction 2 cycles after instructionA10023

Strany 123

Multiply Signed 16 MSB x Signed 16 LSB MPYHL3-149 Instruction SetSPRU733Multiply Signed 16 MSB  Signed 16 LSBMPYHLSyntax MPYHL (.unit) src1, src2, d

Strany 124

TMS320C67x DSP Features and OptionsIntroduction1-4 SPRU7331.3 TMS320C67x DSP Features and Options The C6000 devices execute up to eight 32-bit instru

Strany 125 - 3 1 5 5 5 1 1 1

MPYHL Multiply Signed 16 MSB x Signed 16 LSB3-150 Instruction Set SPRU733Example MPYHL .M1 A1,A2,A3Before instruction 2 cycles after instructionA100

Strany 126

Multiply Unsigned 16 MSB x Unsigned 16 LSB MPYHLU3-151 Instruction SetSPRU733Multiply Unsigned 16 MSB  Unsigned 16 LSBMPYHLUSyntax MPYHLU (.unit) sr

Strany 127 - Bitwise AND

MPYHSLU Multiply Signed 16 MSB x Unsigned 16 LSB3-152 Instruction Set SPRU733Multiply Signed 16 MSB  Unsigned 16 LSBMPYHSLUSyntax MPYHSLU (.unit) s

Strany 128 - AND Bitwise AND

Multiply Signed 16 MSB x Unsigned 16 MSB MPYHSU3-153 Instruction SetSPRU733Multiply Signed 16 MSB  Unsigned 16 MSBMPYHSUSyntax MPYHSU (.unit) src1,

Strany 129 - Branch Using a Displacement

MPYHU Multiply Unsigned 16 MSB x Unsigned 16 MSB3-154 Instruction Set SPRU733Multiply Unsigned 16 MSB  Unsigned 16 MSBMPYHUSyntax MPYHU (.unit) src

Strany 130 - B Branch Using a Displacement

Multiply Unsigned 16 MSB x Signed 16 LSB MPYHULS3-155 Instruction SetSPRU733Multiply Unsigned 16 MSB  Signed 16 LSBMPYHULSSyntax MPYHULS (.unit) src

Strany 131 - Branch Using a Register

MPYHUS Multiply Unsigned 16 MSB x Signed 16 MSB3-156 Instruction Set SPRU733Multiply Unsigned 16 MSB  Signed 16 MSBMPYHUSSyntax MPYHUS (.unit) src1

Strany 132 - B Branch Using a Register

Multiply 32-Bit x 32-Bit Into 32-Bit Result MPYI3-157 Instruction SetSPRU733Multiply 32-Bit  32-Bit Into 32-Bit ResultMPYISyntax MPYI (.unit) src1,

Strany 133 - 3-73 Instruction SetSPRU733

MPYI Multiply 32-Bit x 32-Bit Into 32-Bit Result3-158 Instruction Set SPRU733Functional UnitLatency4See Also MPYIDExampleMPYI .M1X A1,B2,A3Before in

Strany 134 - Pipeline

Multiply 32-Bit x 32-Bit Into 64-Bit Result MPYID3-159 Instruction SetSPRU733Multiply 32-Bit  32-Bit Into 64-Bit ResultMPYIDSyntax MPYID (.unit) src

Strany 135 - 3-75 Instruction SetSPRU733

TMS320C67x DSP Features and Options1-5IntroductionSPRU73340-bit arithmetic options add extra precision for vocoders and othercomputationally intensiv

Strany 136

MPYID Multiply 32-Bit x 32-Bit Into 64-Bit Result3-160 Instruction Set SPRU733Functional UnitLatency4See Also MPYIExampleMPYID .M1 A1,A2,A5:A4Before

Strany 137 - Clear a Bit Field

Multiply Signed 16 LSB x Signed 16 MSB MPYLH3-161 Instruction SetSPRU733Multiply Signed 16 LSB  Signed 16 MSBMPYLHSyntax MPYLH (.unit) src1, src2, d

Strany 138 - CLR Clear a Bit Field

MPYLH Multiply Signed 16 LSB x Signed 16 MSB3-162 Instruction Set SPRU733Example MPYLH .M1 A1,A2,A3Before instruction 2 cycles after instructionA109

Strany 139 - Example 2 CLR .S2 B1,B3,B2

Multiply Unsigned 16 LSB x Unsigned 16 MSB MPYLHU3-163 Instruction SetSPRU733Multiply Unsigned 16 LSB  Unsigned 16 MSBMPYLHUSyntax MPYLHU (.unit) sr

Strany 140

MPYLSHU Multiply Signed 16 LSB x Unsigned 16 MSB3-164 Instruction Set SPRU733Multiply Signed 16 LSB  Unsigned 16 MSBMPYLSHUSyntax MPYLSHU (.unit) s

Strany 141

Multiply Unsigned 16 LSB x Signed 16 MSB MPYLUHS3-165 Instruction SetSPRU733Multiply Unsigned 16 LSB  Signed 16 MSBMPYLUHSSyntax MPYLUHS (.unit) src

Strany 142

MPYSP Multiply Two Single-Precision Floating-Point Values3-166 Instruction Set SPRU733Multiply Two Single-Precision Floating-Point ValuesMPYSPSyntax

Strany 143

Multiply Two Single-Precision Floating-Point Values MPYSP3-167 Instruction SetSPRU733Pipeline StageE1 E2 E3 E4Read src1src2Written dstUnit in use.MIf

Strany 144

MPYSPDP Multiply Single-Precision Value x Double-Precision Value (C67x+ CPU)3-168 Instruction Set SPRU733Multiply Single-Precision Floating-Point Va

Strany 145

Multiply Single-Precision Value x Double-Precision Value (C67x+ CPU) MPYSPDP3-169 Instruction SetSPRU733Pipeline StageE1 E2 E3 E4 E5 E6 E7Read src1sr

Strany 146 - .unit = .L1 or .L2

TMS320C67x DSP Features and OptionsIntroduction1-6 SPRU733The VelociTI architecture of the C6000 platform of devices make them the firstoff-the-shelf

Strany 147 - > src2) 1 → dst

MPYSP2DP Multiply Two Single-Precision Floating-Point Values for Double-Precision Result (C67x+ CPU)3-170 Instruction Set SPRU733Multiply Two Single

Strany 148 - Example 4 CMPGT .L1X A1,B1,A2

Multiply Two Single-Precision Floating-Point Values for Double-Precision Result (C67x+ CPU) MPYSP2DP3-171 Instruction SetSPRU733Pipeline StageE1 E2 E

Strany 149

MPYSU Multiply Signed 16 LSB x Unsigned 16 LSB3-172 Instruction Set SPRU733Multiply Signed 16 LSB  Unsigned 16 LSBMPYSUSyntax MPYSU (.unit) src1, s

Strany 150

Multiply Signed 16 LSB x Unsigned 16 LSB MPYSU3-173 Instruction SetSPRU733See Also MPY, MPYU, MPYUSExampleMPYSU .M1 13,A1,A2Before instruction 2 cycl

Strany 151

MPYU Multiply Unsigned 16 LSB x Unsigned 16 LSB3-174 Instruction Set SPRU733Multiply Unsigned 16 LSB  Unsigned 16 LSBMPYUSyntax MPYU (.unit) src1,

Strany 152

Multiply Unsigned 16 LSB x Unsigned 16 LSB MPYU3-175 Instruction SetSPRU733Example MPYU .M1 A1,A2,A3Before instruction 2 cycles after instructionA100

Strany 153

MPYUS Multiply Unsigned 16 LSB x Signed 16 LSB3-176 Instruction Set SPRU733Multiply Unsigned 16 LSB  Signed 16 LSBMPYUSSyntax MPYUS (.unit) src1, s

Strany 154 - Unsigned 32-bit integer

Multiply Unsigned 16 LSB x Signed 16 LSB MPYUS3-177 Instruction SetSPRU733Example MPYUS .M1 A1,A2,A3Before instruction 2 cycles after instructionA112

Strany 155

MV Move From Register to Register3-178 Instruction Set SPRU733Move From Register to RegisterMVSyntax MV (.unit) src2, dst.unit = .L1, .L2, .S1, .S2,

Strany 156 - < src2) 1 → dst

Move From Register to Register MV3-179 Instruction SetSPRU733Opcode .D unit31 292827 2322 1817 1312 76543210creg z dst src2 0 0 0 0 0 0 1 0 0 1 0 1 0

Strany 157 - Example 3 CMPLT .L1 9,A1,A2

TMS320C67x DSP Architecture1-7IntroductionSPRU7331.4 TMS320C67x DSP ArchitectureFigure 1−1 is the block diagram for the C67x DSP. The C6000 devices co

Strany 158

MVC Move Between Control File and Register File3-180 Instruction Set SPRU733Move Between Control File and Register FileMVCSyntax MVC (.unit) src2, d

Strany 159

Move Between Control File and Register File MVC3-181 Instruction SetSPRU733Execution if (cond) src2 → dstelse nopNote:The MVC instruction executes on

Strany 160

MVC Move Between Control File and Register File3-182 Instruction Set SPRU733Table 3−21. Register Addresses for Accessing the Control RegistersAcrony

Strany 161

Move Signed Constant Into Register and Sign Extend MVK3-183 Instruction SetSPRU733Move Signed Constant Into Register and Sign ExtendMVKSyntax MVK (.u

Strany 162

MVK Move Signed Constant Into Register and Sign Extend3-184 Instruction Set SPRU733Instruction Type Single cycleDelay Slots 0See Also MVKH, MVKL, MV

Strany 163

Move 16-Bit Constant Into Upper Bits of Register MVKH/MVKLH3-185 Instruction SetSPRU733Move 16-Bit Constant Into Upper Bits of RegisterMVKH/MVKLHSynt

Strany 164

MVKH/MVKLH Move 16-Bit Constant Into Upper Bits of Register3-186 Instruction Set SPRU733Instruction Type Single-cycleDelay Slots 0Note:Use the MVK i

Strany 165

Move Signed Constant Into Register and Sign Extend−Used with MVKH MVKL3-187 Instruction SetSPRU733Move Signed Constant Into Register and Sign ExtendM

Strany 166 - Floating-Point Value

MVKL Move Signed Constant Into Register and Sign Extend−Used with MVKH3-188 Instruction Set SPRU733Pipeline StageE1ReadWritten dstUnit in use.SInstr

Strany 167

Negate NEG3-189 Instruction SetSPRU733NegateNEGSyntax NEG (.unit) src2, dst.unit = .L1, .L2, .S1, .S2Compatibility C62x, C64x, C67x, and C67x+ CPUOpc

Strany 168 - With Truncation

TMS320C67x DSP ArchitectureIntroduction1-8 SPRU7331.4.1 Central Processing Unit (CPU)The C67x CPU, in Figure 1−1, is common to all the C62x/C64x/C67x

Strany 169

NOP No Operation3-190 Instruction Set SPRU733No OperationNOPSyntax NOP [count].unit = noneCompatibility C62x, C64x, C67x, and C67x+ CPUOpcode31 18 1

Strany 170 - 3 1 5 5 5 5 1 1

No Operation NOP3-191 Instruction SetSPRU733Example 1 NOPMVK .S1 125h,A1Before NOP1 cycle after NOP(No operationexecutes)1 cycle after MVKA11234

Strany 171

NORM Normalize Integer3-192 Instruction Set SPRU733Normalize IntegerNORMSyntax NORM (.unit) src2, dst.unit = .L1 or .L2Compatibility C62x, C64x, C67

Strany 172 - Example 2 EXT .S1 A1,A2,A3

Normalize Integer NORM3-193 Instruction SetSPRU733Execution if (cond) norm(src) → dstelse nopPipeline StageE1Read src2Written dstUnit in use.LInstruc

Strany 173

NOT Bitwise NOT3-194 Instruction Set SPRU733Bitwise NOTNOTSyntax NOT (.unit) src2, dst.unit = .L1, .L2, .S1, .S2Compatibility C62x, C64x, C67x, and

Strany 174

Bitwise OR OR3-195 Instruction SetSPRU733Bitwise ORORSyntax OR (.unit) src1, src2, dst.unit = .L1, .L2, .S1, .S2Compatibility C62x, C64x, C67x, and C

Strany 175 - Example 2 EXTU .S1 A1,A2,A3

OR Bitwise OR3-196 Instruction Set SPRU733Execution if (cond) src1 OR src2 → dstelse nopPipeline StageE1Read src1, src2Written dstUnit in use.L or .

Strany 176

Double-Precision Floating-Point Reciprocal Approximation RCPDP3-197 Instruction SetSPRU733Double-Precision Floating-Point Reciprocal ApproximationRCP

Strany 177

RCPDP Double-Precision Floating-Point Reciprocal Approximation3-198 Instruction Set SPRU733Note:1) If src2 is SNaN, NaN_out is placed in dst and the

Strany 178

Single-Precision Floating-Point Reciprocal Approximation RCPSP3-199 Instruction SetSPRU733Single-Precision Floating-Point Reciprocal ApproximationRCP

Strany 179

TMS320C67x DSP Architecture1-9IntroductionSPRU733DMA Controller (C6701 DSP only) transfers data between address rangesin the memory map without inter

Strany 180 - Example INTDPU .L1 A4,A1:A0

RCPSP Single-Precision Floating-Point Reciprocal Approximation3-200 Instruction Set SPRU733Notes:1) If src2 is SNaN, NaN_out is placed in dst and th

Strany 181

Double-Precision Floating-Point Square-Root Reciprocal Approximation RSQRDP3-201 Instruction SetSPRU733Double-Precision Floating-Point Square-Root Re

Strany 182

RSQRDP Double-Precision Floating-Point Square-Root Reciprocal Approximation3-202 Instruction Set SPRU733Notes:1) If src2 is SNaN, NaN_out is placed

Strany 183 - Register Offset

Single-Precision Floating-Point Square-Root Reciprocal Approximation RSQRSP3-203 Instruction SetSPRU733Single-Precision Floating-Point Square-Root Re

Strany 184

RSQRSP Single-Precision Floating-Point Square-Root Reciprocal Approximation3-204 Instruction Set SPRU733Note:1) If src2 is SNaN, NaN_out is placed i

Strany 185 - Example LDB .D1 *−A5[4],A7

Add Two Signed Integers With Saturation SADD3-205 Instruction SetSPRU733Add Two Signed Integers With SaturationSADDSyntax SADD (.unit) src1, src2, ds

Strany 186 - 3 1 5 15 1 3 1 1

SADD Add Two Signed Integers With Saturation3-206 Instruction Set SPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.LInstruction Type Sin

Strany 187

Add Two Signed Integers With Saturation SADD3-207 Instruction SetSPRU733Example 3 SADD .L1X B2,A5:A4,A7:A6Before instruction 1 cycle after instructio

Strany 188 - 3 1 5 5 5 4 1 1 1

SAT Saturate a 40-Bit Integer to a 32-Bit Integer3-208 Instruction Set SPRU733Saturate a 40-Bit Integer to a 32-Bit IntegerSATSyntax SAT (.unit) src

Strany 189

Saturate a 40-Bit Integer to a 32-Bit Integer SAT3-209 Instruction SetSPRU733Example 1 SAT .L2 B1:B0,B5Before instruction 1 cycle after instruction 2

Strany 190

2-1CPU Data Paths and ControlSPRU733CPU Data Paths and ControlThis chapter focuses on the CPU, providing information about the data paths andcontrol r

Strany 191 - 3 1 5 5 5 4 1 3 1 1

SET Set a Bit Field3-210 Instruction Set SPRU733Set a Bit FieldSETSyntax SET (.unit) src2, csta, cstb, dstorSET (.unit) src2, src1, dst.unit = .S1 o

Strany 192

Set a Bit Field SET3-211 Instruction SetSPRU733Description The field in src2, specified by csta and cstb, is set to all 1s. The csta and cstboperands

Strany 193 - Example LDH .D1 *++A4[A1],A8

SET Set a Bit Field3-212 Instruction Set SPRU733Example 1 SET .S1 A0,7,21,A1Before instruction 1 cycle after instructionA04B13 4A1EhA0 4B13 4A1EhA1

Strany 194

Arithmetic Shift Left SHL3-213 Instruction SetSPRU733Arithmetic Shift LeftSHLSyntax SHL (.unit) src2, src1, dst.unit = .S1 or .S2Compatibility C62x,

Strany 195

SHL Arithmetic Shift Left3-214 Instruction Set SPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.SInstruction Type Single-cycleDelay Slot

Strany 196

Arithmetic Shift Right SHR3-215 Instruction SetSPRU733Arithmetic Shift RightSHRSyntax SHR (.unit) src2, src1, dst.unit = .S1 or .S2Compatibility C62x

Strany 197

SHR Arithmetic Shift Right3-216 Instruction Set SPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.SInstruction Type Single-cycleDelay Slo

Strany 198 - Example 3 LDW .D1 *++A4[1],A6

Logical Shift Right SHRU3-217 Instruction SetSPRU733Logical Shift RightSHRUSyntax SHRU (.unit) src2, src1, dst.unit = .S1 or .S2Compatibility C62x, C

Strany 199 - 3-139 Instruction SetSPRU733

SHRU Logical Shift Right3-218 Instruction Set SPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.SInstruction Type Single-cycleDelay Slots

Strany 200 - See Also LDB, LDH

Multiply Signed 16 LSB x Signed 16 LSB With Left Shift and Saturation SMPY3-219 Instruction SetSPRU733Multiply Signed 16 LSB  Signed 16 LSB With Lef

Strany 201 - Leftmost Bit Detection

IntroductionCPU Data Paths and Control2-2 SPRU7332.1 IntroductionThe components of the data path for the TMS320C67x CPU are shown inFigure 2−1. These

Strany 202 - LMBD Leftmost Bit Detection

SMPY Multiply Signed 16 LSB x Signed 16 LSB With Left Shift and Saturation3-220 Instruction Set SPRU733Example SMPY .M1 A1,A2,A3Before instruction 2

Strany 203 -  Signed 16 LSB

Multiply Signed 16 MSB x Signed 16 MSB With Left Shift and Saturation SMPYH3-221 Instruction SetSPRU733Multiply Signed 16 MSB  Signed 16 MSB With Le

Strany 204 - Example 2 MPY .M1 13,A1,A2

SMPYHL Multiply Signed 16 MSB x Signed 16 LSB With Left Shift and Saturation3-222 Instruction Set SPRU733Multiply Signed 16 MSB  Signed 16 LSB With

Strany 205

Multiply Signed 16 MSB x Signed 16 LSB With Left Shift and Saturation SMPYHL3-223 Instruction SetSPRU733Example SMPYHL .M1 A1,A2,A3Before instruction

Strany 206

SMPYLH Multiply Signed 16 LSB x Signed 16 MSB With Left Shift and Saturation3-224 Instruction Set SPRU733Multiply Signed 16 LSB  Signed 16 MSB With

Strany 207 -  Signed 16 MSB

Multiply Signed 16 LSB x Signed 16 MSB With Left Shift and Saturation SMPYLH3-225 Instruction SetSPRU733Example SMPYLH .M1 A1,A2,A3Before instruction

Strany 208 - Example MPYH .M1 A1,A2,A3

SPDP Convert Single-Precision Floating-Point Value to Double-Precision Floating-Point Value3-226 Instruction Set SPRU733Convert Single-Precision Flo

Strany 209

Convert Single-Precision Floating-Point Value to Double-Precision Floating-Point Value SPDP3-227 Instruction SetSPRU733Pipeline StageE1 E2Read src2Wr

Strany 210 - Example MPYHL .M1 A1,A2,A3

SPINT Convert Single-Precision Floating-Point Value to Integer3-228 Instruction Set SPRU733Convert Single-Precision Floating-Point Value to IntegerS

Strany 211 -  Unsigned 16 LSB

Convert Single-Precision Floating-Point Value to Integer SPINT3-229 Instruction SetSPRU733Pipeline StageE1 E2 E3 E4Read src2Written dstUnit in use.LI

Strany 212

General-Purpose Register Files2-3CPU Data Paths and ControlSPRU733Figure 2−1. TMS320C67x CPU Data Paths882X1X.L2.S2.M2.D2(B0−B15)(A0−A15).D1.M1.S1.L1l

Strany 213 -  Unsigned 16 MSB

SPTRUNC Convert Single-Precision Floating-Point Value to Integer With Truncation3-230 Instruction Set SPRU733Convert Single-Precision Floating-Point

Strany 214

Convert Single-Precision Floating-Point Value to Integer With Truncation SPTRUNC3-231 Instruction SetSPRU733Pipeline StageE1 E2 E3 E4Read src2Written

Strany 215

SSHL Shift Left With Saturation3-232 Instruction Set SPRU733Shift Left With SaturationSSHLSyntax SSHL (.unit) src2, src1, dst.unit = .S1 or .S2Compa

Strany 216

Shift Left With Saturation SSHL3-233 Instruction SetSPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.SInstruction Type Single-cycleDelay

Strany 217 -  32-Bit Into 32-Bit Result

SSUB Subtract Two Signed Integers With Saturation3-234 Instruction Set SPRU733Subtract Two Signed Integers With SaturationSSUBSyntax SSUB (.unit) sr

Strany 218 - See Also MPYID

Subtract Two Signed Integers With Saturation SSUB3-235 Instruction SetSPRU733Pipeline StageE1Read src1, src2Written dstUnit in use.LInstruction Type

Strany 219 -  32-Bit Into 64-Bit Result

STB Store Byte to Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-236 Instruction Set SPRU733Store Byte to Memory With a 5-Bit Unsi

Strany 220 - See Also MPYI

Store Byte to Memory With a 5-Bit Unsigned Constant Offset or Register Offset STB3-237 Instruction SetSPRU733Increments and decrements default to 1 a

Strany 221

STB Store Byte to Memory With a 15-Bit Unsigned Constant Offset3-238 Instruction Set SPRU733Store Byte to Memory With a 15-Bit Unsigned Constant Off

Strany 222 - Example MPYLH .M1 A1,A2,A3

Store Byte to Memory With a 15-Bit Unsigned Constant Offset STB3-239 Instruction SetSPRU733Pipeline StageE1Read B14/B15, srcWrittenUnit in use.D2Inst

Strany 223

iiiRead This FirstSPRU733PrefaceRead This FirstAbout This ManualThe TMS320C6000™ digital signal processor (DSP) platform is part of theTMS320™ DSP fam

Strany 224

General-Purpose Register FilesCPU Data Paths and Control2-4 SPRU733Table 2−1. 40-Bit/64-Bit Register PairsRegister FilesA BDevicesA1:A0 B1:B0 C67x DSP

Strany 225

STH Store Halfword to Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-240 Instruction Set SPRU733Store Halfword to Memory With a 5-

Strany 226

Store Halfword to Memory With a 5-Bit Unsigned Constant Offset or Register Offset STH3-241 Instruction SetSPRU733Increments and decrements default to

Strany 227

STH Store Halfword to Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-242 Instruction Set SPRU733Example 2 STH .D1 A1,*A10−−[A11]Be

Strany 228 -  Double-Precision

Store Halfword to Memory With a 15-Bit Unsigned Constant Offset STH3-243 Instruction SetSPRU733Store Halfword to Memory With a 15-Bit Unsigned Consta

Strany 229

STH Store Halfword to Memory With a 15-Bit Unsigned Constant Offset3-244 Instruction Set SPRU733Pipeline StageE1Read B14/B15, srcWrittenUnit in use.

Strany 230 - MPYSP2DP

Store Word to Memory With a 5-Bit Unsigned Constant Offset or Register Offset STW3-245 Instruction SetSPRU733Store Word to Memory With a 5-Bit Unsign

Strany 231

STW Store Word to Memory With a 5-Bit Unsigned Constant Offset or Register Offset3-246 Instruction Set SPRU733Increments and decrements default to 1

Strany 232

Store Word to Memory With a 15-Bit Unsigned Constant Offset STW3-247 Instruction SetSPRU733Store Word to Memory With a 15-Bit Unsigned Constant Offse

Strany 233 - See Also MPY, MPYU, MPYUS

STW Store Word to Memory With a 15-Bit Unsigned Constant Offset3-248 Instruction Set SPRU733Pipeline StageE1Read B14/B15, srcWrittenUnit in use.D2In

Strany 234

Subtract Two Signed Integers Without Saturation SUB3-249 Instruction SetSPRU733Subtract Two Signed Integers Without SaturationSUBSyntax SUB (.unit) s

Strany 235 - Example MPYU .M1 A1,A2,A3

Functional Units2-5CPU Data Paths and ControlSPRU7332.3 Functional UnitsThe eight functional units in the C6000 data paths can be divided into twogrou

Strany 236

SUB Subtract Two Signed Integers Without Saturation3-250 Instruction Set SPRU733Opcode .S unit31 29 28 27 23 22 18 17 13 12 11 6 5 4 3 2 1 0creg z d

Strany 237 - Example MPYUS .M1 A1,A2,A3

Subtract Two Signed Integers Without Saturation SUB3-251 Instruction SetSPRU733Opcode .D unit31 292827 2322 1817 1312 76543210creg z dst src2 src1 op

Strany 238 - Opcode .S unit

SUB Subtract Two Signed Integers Without Saturation3-252 Instruction Set SPRU733Instruction Type Single-cycleDelay Slots 0See Also ADD, SSUB, SUBC,

Strany 239 - 3 1 5 5 1 1

Subtract Using Byte Addressing Mode SUBAB3-253 Instruction SetSPRU733Subtract Using Byte Addressing ModeSUBABSyntax SUBAB (.unit) src2, src1, dst.uni

Strany 240 - 3 1 5 5 1 6 1 1

SUBAB Subtract Using Byte Addressing Mode3-254 Instruction Set SPRU733Example SUBAB .D1 A5,A0,A5Before instruction 1 cycle after instructionA00000 0

Strany 241

Subtract Using Halfword Addressing Mode SUBAH3-255 Instruction SetSPRU733Subtract Using Halfword Addressing ModeSUBAHSyntax SUBAH (.unit) src2, src1,

Strany 242

SUBAW Subtract Using Word Addressing Mode3-256 Instruction Set SPRU733Subtract Using Word Addressing ModeSUBAWSyntax SUBAW (.unit) src2, src1, dst.u

Strany 243 - MVK .S1 0xFFFF8000, A0

Subtract Using Word Addressing Mode SUBAW3-257 Instruction SetSPRU733Example SUBAW .D1 A5,2,A3Before instruction 1 cycle after instructionA3xxxx xxxx

Strany 244 - Example 2 MVK .D2 14,B8

SUBC Subtract Conditionally and Shift−Used for Division3-258 Instruction Set SPRU733Subtract Conditionally and Shift—Used for DivisionSUBCSyntax SUB

Strany 245 - MVKH/MVKLH

Subtract Conditionally and Shift−Used for Division SUBC3-259 Instruction SetSPRU733Example 1 SUBC .L1 A0,A1,A0Before instruction 1 cycle after instru

Strany 246 - MVKH label

Register File Cross PathsCPU Data Paths and Control2-6 SPRU7332.4 Register File Cross PathsEach functional unit reads directly from and writes directl

Strany 247 - 31 29 28 27 23 22 7 6543210

SUBDP Subtract Two Double-Precision Floating-Point Values3-260 Instruction Set SPRU733Subtract Two Double-Precision Floating-Point ValuesSUBDPSyntax

Strany 248

Subtract Two Double-Precision Floating-Point Values SUBDP3-261 Instruction SetSPRU733Notes:1) This instruction takes the rounding mode from and sets

Strany 249 - 3 1 5 5 1 7 1 1

SUBDP Subtract Two Double-Precision Floating-Point Values3-262 Instruction Set SPRU733Pipeline StageE1 E2 E3 E4 E5 E6 E7Read src1_lsrc2_lsrc1_hsrc2_

Strany 250 - No Operation

Subtract Two Single-Precision Floating-Point Values SUBSP3-263 Instruction SetSPRU733Subtract Two Single-Precision Floating-Point ValuesSUBSPSyntax S

Strany 251 - Example 2 MVK .S1 1,A1

SUBSP Subtract Two Single-Precision Floating-Point Values3-264 Instruction Set SPRU733Notes:1) This instruction takes the rounding mode from and set

Strany 252 - Normalize Integer

Subtract Two Single-Precision Floating-Point Values SUBSP3-265 Instruction SetSPRU733Pipeline StageE1 E2 E3 E4Read src1src2Written dstUnit in use.LIn

Strany 253

SUBU Subtract Two Unsigned Integers Without Saturation3-266 Instruction Set SPRU733Subtract Two Unsigned Integers Without SaturationSUBUSyntax SUBU

Strany 254 - Bitwise NOT

Subtract Two Unsigned Integers Without Saturation SUBU3-267 Instruction SetSPRU733Example SUBU .L1 A1,A2,A5:A4Before instruction 1 cycle after instru

Strany 255 - Bitwise OR

SUB2 Subtract Two 16-Bit Integers on Upper and Lower Register Halves3-268 Instruction Set SPRU733Subtract Two 16-Bit Integers on Upper and Lower Reg

Strany 256 - OR Bitwise OR

Subtract Two 16-Bit Integers on Upper and Lower Register Halves SUB23-269 Instruction SetSPRU733Execution if (cond) {(lsb16(src1) − lsb16(src2)) → ls

Strany 257

Data Address Paths2-7CPU Data Paths and ControlSPRU7332.6 Data Address PathsThe data address paths (DA1 and DA2) are each connected to the .D units in

Strany 258

XOR Bitwise Exclusive OR3-270 Instruction Set SPRU733Bitwise Exclusive ORXORSyntax XOR (.unit) src1, src2, dst.unit = .L1, .L2, .S1, .S2Compatibili

Strany 259

Bitwise Exclusive OR XOR3-271 Instruction SetSPRU733Execution if (cond) src1 XOR src2 → dstelse nopPipeline StageE1Read src1, src2Written dstUnit in

Strany 260

ZERO Zero a Register3-272 Instruction Set SPRU733Zero a RegisterZEROSyntax ZERO (.unit) dst.unit = .L1, .L2, .D1, .D2, .S1, .S2Compatibility C62x, C

Strany 261

4-1PipelineSPRU733PipelineThe C67x DSP pipeline provides flexibility to simplify programming andimprove performance. Two factors provide this flexibil

Strany 262

Pipeline Operation OverviewPipeline4-2 SPRU7334.1 Pipeline Operation OverviewThe pipeline phases are divided into three stages: Fetch Decode Execut

Strany 263

Pipeline Operation Overview4-3PipelineSPRU733Figure 4−2. Fetch Phases of the PipelinePRPWPSPGPWMemoryPSPRPGRegistersunitsFunctional(a)(b)CPUPRPWPSPG25

Strany 264

Pipeline Operation OverviewPipeline4-4 SPRU733Figure 4−3(a) shows the decode phases in sequential order from left to right.Figure 4−3(b) shows a fetch

Strany 265

Pipeline Operation Overview4-5PipelineSPRU7334.1.3 ExecuteThe execute portion of the pipeline is subdivided into ten phases (E1−E10),as compared to th

Strany 266

Pipeline Operation OverviewPipeline4-6 SPRU7334.1.4 Pipeline Operation SummaryFigure 4−5 shows all the phases in each stage of the C67x DSP pipeline i

Strany 267 - 2 cycles after instruction

Pipeline Operation Overview4-7PipelineSPRU733Table 4−1. Operations Occurring During Pipeline Phases Stage Phase Symbol During This PhaseInstructionTy

Strany 268

Control Register FileCPU Data Paths and Control2-8 SPRU7332.7.1 Register Addresses for Accessing the Control RegistersTable 2−4 lists the register add

Strany 269

Pipeline Operation OverviewPipeline4-8 SPRU733Table 4−1. Operations Occurring During Pipeline Phases (Continued)StageInstructionTypeCompletedDuring T

Strany 270 - Set a Bit Field

Pipeline Operation Overview4-9PipelineSPRU733Table 4−1. Operations Occurring During Pipeline Phases (Continued)StageInstructionTypeCompletedDuring Th

Strany 271

Pipeline Operation OverviewPipeline4-10 SPRU733Registers used by the instructions in E1 are shaded in Figure 4−7. The multi-plexers used for the input

Strany 272

Pipeline Operation Overview4-11PipelineSPRU733Many C67x DSP instructions are single-cycle instructions, which means theyhave only one execution phase

Strany 273 - Arithmetic Shift Left

Pipeline Execution of Instruction TypesPipeline4-12 SPRU7334.2 Pipeline Execution of Instruction TypesThe pipeline operation of the C67x DSP instructi

Strany 274 - SHL Arithmetic Shift Left

Pipeline Execution of Instruction Types4-13PipelineSPRU733Table 4−2. Execution Stage Length Description for Each Instruction Type (Continued)Instructi

Strany 275 - Arithmetic Shift Right

Pipeline Execution of Instruction TypesPipeline4-14 SPRU733Table 4−2. Execution Stage Length Description for Each Instruction Type (Continued)Instruct

Strany 276 - SHR Arithmetic Shift Right

Pipeline Execution of Instruction Types4-15PipelineSPRU733Table 4−2. Execution Stage Length Description for Each Instruction Type (Continued)Instructi

Strany 277 - Logical Shift Right

Pipeline Execution of Instruction TypesPipeline4-16 SPRU7334.2.1 Single-Cycle InstructionsSingle-cycle instructions complete execution during the E1 p

Strany 278 - SHRU Logical Shift Right

Pipeline Execution of Instruction Types4-17PipelineSPRU7334.2.2 16 y 16-Bit Multiply InstructionsThe 16 × 16-bit multiply instructions use both the E1

Strany 279 -  src2) << 1) → dst

Control Register File2-9CPU Data Paths and ControlSPRU7332.7.2 Pipeline/Timing of Control Register AccessesAll MVC instructions are single-cycle instr

Strany 280 - Example SMPY .M1 A1,A2,A3

Pipeline Execution of Instruction TypesPipeline4-18 SPRU7334.2.3 Store InstructionsStore instructions require phases E1 through E3 of the pipeline to

Strany 281

Pipeline Execution of Instruction Types4-19PipelineSPRU733Figure 4−13. Store Instruction Execution Block DiagramMemoryE2E3Memory controllerRegister fi

Strany 282

Pipeline Execution of Instruction TypesPipeline4-20 SPRU7334.2.4 Load InstructionsData loads require five, E1−E5, of the pipeline execute phases to co

Strany 283 - Example SMPYHL .M1 A1,A2,A3

Pipeline Execution of Instruction Types4-21PipelineSPRU733Figure 4−15. Load Instruction Execution Block DiagramE5AddressE3MemoryE2E4Memory controllerR

Strany 284

Pipeline Execution of Instruction TypesPipeline4-22 SPRU7334.2.5 Branch InstructionsAlthough branch takes one execute phase, there are five delay slot

Strany 285 - Example SMPYLH .M1 A1,A2,A3

Pipeline Execution of Instruction Types4-23PipelineSPRU733Figure 4−17. Branch Instruction Execution Block DiagramDPPRPWPSPG3232323232323232256NOPMVSMP

Strany 286

Pipeline Execution of Instruction TypesPipeline4-24 SPRU7334.2.6 Two-Cycle DP InstructionsTwo-cycle DP instructions use both the E1 and E2 phases of t

Strany 287

Pipeline Execution of Instruction Types4-25PipelineSPRU7334.2.7 Four-Cycle InstructionsFour-cycle instructions use the E1 through E4 phases of the pip

Strany 288

Pipeline Execution of Instruction TypesPipeline4-26 SPRU7334.2.8 INTDP InstructionThe INTDP instruction uses the E1 through E5 phases of the pipeline

Strany 289

Pipeline Execution of Instruction Types4-27PipelineSPRU7334.2.9 DP Compare InstructionsThe DP compare instructions use the E1 and E2 phases of the pip

Strany 290

Control Register FileCPU Data Paths and Control2-10 SPRU7332.7.3 Addressing Mode Register (AMR)For each of the eight registers (A4–A7, B4–B7) that can

Strany 291

Pipeline Execution of Instruction TypesPipeline4-28 SPRU7334.2.10 ADDDP/SUBDP Instructions The ADDDP/SUBDP instructions use the E1 through E7 phases o

Strany 292 - Shift Left With Saturation

Pipeline Execution of Instruction Types4-29PipelineSPRU7334.2.11 MPYI InstructionThe MPYI instruction uses the E1 through E9 phases of the pipeline to

Strany 293 - 02E3 031Ch

Pipeline Execution of Instruction TypesPipeline4-30 SPRU7334.2.12 MPYID InstructionThe MPYID instruction uses the E1 through E10 phases of the pipelin

Strany 294

Pipeline Execution of Instruction Types4-31PipelineSPRU7334.2.13 MPYDP InstructionThe MPYDP instruction uses the E1 through E10 phases of the pipeline

Strany 295

Pipeline Execution of Instruction TypesPipeline4-32 SPRU7334.2.14 MPYSPDP InstructionThe MPYSPDP instruction uses the E1 through E7 phases of the pipe

Strany 296

Functional Unit Constraints4-33PipelineSPRU7334.2.15 MPYSP2DP InstructionThe MPYSP2DP instruction uses the E1 through E5 phases of the pipeline tocomp

Strany 297 - Written baseR

Functional Unit ConstraintsPipeline4-34 SPRU7334.3.1 .S-Unit ConstraintsTable 4−18 shows the instruction constraints for single-cycle instructionsexec

Strany 298 - 3 1 5 15 1 1 1

Functional Unit Constraints4-35PipelineSPRU733Table 4−19 shows the instruction constraints for DP compare instructionsexecuting on the .S unit.Table 4

Strany 299

Functional Unit ConstraintsPipeline4-36 SPRU733Table 4−20 shows the instruction constraints for 2-cycle DP instructions exe-cuting on the .S unit.Tabl

Strany 300

Functional Unit Constraints4-37PipelineSPRU733Table 4−21 shows the instruction constraints for ADDSP/SUBSP instructionsexecuting on the .S unit.Table

Strany 301

Control Register File2-11CPU Data Paths and ControlSPRU733Table 2−5. Addressing Mode Register (AMR) Field Descriptions (Continued)Bit DescriptionValue

Strany 302

Functional Unit ConstraintsPipeline4-38 SPRU733Table 4−22 shows the instruction constraints for ADDDP/SUBDP instructionsexecuting on the .S unit.Table

Strany 303 - 3-243 Instruction SetSPRU733

Functional Unit Constraints4-39PipelineSPRU733Table 4−23 shows the instruction constraints for branch instructions executingon the .S unit.Table 4−23.

Strany 304 - See Also STB, STW

Functional Unit ConstraintsPipeline4-40 SPRU7334.3.2 .M-Unit ConstraintsTable 4−24 shows the instruction constraints for 16 × 16 multiply instructions

Strany 305

Functional Unit Constraints4-41PipelineSPRU733Table 4−25 shows the instruction constraints for 4-cycle instructions executingon the .M unit.Table 4−25

Strany 306

Functional Unit ConstraintsPipeline4-42 SPRU733Table 4−26 shows the instruction constraints for MPYI instructions executingon the .M unit.Table 4−26.

Strany 307 - 3-247 Instruction SetSPRU733

Functional Unit Constraints4-43PipelineSPRU733Table 4−27 shows the instruction constraints for MPYID instructions executingon the .M unit.Table 4−27.

Strany 308 - See Also STB, STH

Functional Unit ConstraintsPipeline4-44 SPRU733Table 4−28 shows the instruction constraints for MPYDP instructionsexecuting on the .M unit.Table 4−28.

Strany 309

Functional Unit Constraints4-45PipelineSPRU733Table 4−29 shows the instruction constraints for MPYSP instructionsexecuting on the .M unit.Table 4−29.

Strany 310 - 3 1 5 5 5 1 6 1 1

Functional Unit ConstraintsPipeline4-46 SPRU733Table 4−30 shows the instruction constraints for MPYSPDP instructionsexecuting on the .M unit.Table 4−3

Strany 311

Functional Unit Constraints4-47PipelineSPRU733Table 4−31 shows the instruction constraints for MPYSP2DP instructionsexecuting on the .M unit.Table 4−3

Strany 312

Control Register FileCPU Data Paths and Control2-12 SPRU733Table 2−5. Addressing Mode Register (AMR) Field Descriptions (Continued)Bit DescriptionValu

Strany 313

Functional Unit ConstraintsPipeline4-48 SPRU7334.3.3 .L-Unit ConstraintsTable 4−32 shows the instruction constraints for single-cycle instructionsexec

Strany 314

Functional Unit Constraints4-49PipelineSPRU733Table 4−33 shows the instruction constraints for 4-cycle instructions executingon the .L unit.Table 4−33

Strany 315

Functional Unit ConstraintsPipeline4-50 SPRU733Table 4−34 shows the instruction constraints for INTDP instructions executingon the .L unit.Table 4−34.

Strany 316

Functional Unit Constraints4-51PipelineSPRU733Table 4−35 shows the instruction constraints for ADDDP/SUBDP instructionsexecuting on the .L unit.Table

Strany 317 - Example SUBAW .D1 A5,2,A3

Functional Unit ConstraintsPipeline4-52 SPRU7334.3.4 .D-Unit Instruction ConstraintsTable 4−36 shows the instruction constraints for load instructions

Strany 318 - << 1 → dst

Functional Unit Constraints4-53PipelineSPRU733Table 4−37 shows the instruction constraints for store instructions executingon the .D unit.Table 4−37.

Strany 319 - Example 2 SUBC .L1 A0,A1,A0

Functional Unit ConstraintsPipeline4-54 SPRU733Table 4−38 shows the instruction constraints for single-cycle instructionsexecuting on the .D unit.Tabl

Strany 320

Functional Unit Constraints4-55PipelineSPRU733Table 4−39 shows the instruction constraints for LDDW instructions executingon the .D unit.Table 4−39. L

Strany 321

Performance ConsiderationsPipeline4-56 SPRU7334.4 Performance ConsiderationsThe C67x DSP pipeline is most effective when it is kept as full as the alg

Strany 322

Performance Considerations4-57PipelineSPRU733Figure 4−28. Pipeline Operation: Fetch Packets With Different Numbers of Execute PacketsClock cycleFetchp

Strany 323

Control Register File2-13CPU Data Paths and ControlSPRU7332.7.4 Control Status Register (CSR)The control status register (CSR) contains control and st

Strany 324

Performance ConsiderationsPipeline4-58 SPRU7334.4.2 Multicycle NOPsThe NOP instruction has an optional operand, count, that allows you to issuea singl

Strany 325

Performance Considerations4-59PipelineSPRU733Figure 4−30 shows how a multicycle NOP can be affected by a branch. If thedelay slots of a branch finish

Strany 326

Performance ConsiderationsPipeline4-60 SPRU7334.4.3 Memory ConsiderationsThe C67x DSP has a memory configuration with program memory in onephysical sp

Strany 327

Performance Considerations4-61PipelineSPRU733Depending on the type of memory and the time required to complete anaccess, the pipeline may stall to ens

Strany 328

Performance ConsiderationsPipeline4-62 SPRU7334.4.3.2 Memory Bank HitsMost C67x devices use an interleaved memory bank scheme, as shown inFigure 4−33.

Strany 329

Performance Considerations4-63PipelineSPRU733Table 4−41. Loads in Pipeline from Example 4−2i i + 1 i + 2 i + 3 i + 4 i + 5LDW .D1Bank 0E1 E2 E3 − E4 E

Strany 330 - Bitwise Exclusive OR

5-1InterruptsSPRU7339InterruptsThis chapter describes CPU interrupts, including reset and the nonmaskableinterrupt (NMI). It details the related CPU c

Strany 331

OverviewInterrupts5-2 SPRU7335.1 OverviewTypically, DSPs work in an environment that contains multiple externalasynchronous events. These events requi

Strany 332 - Zero a Register

Overview5-3InterruptsSPRU733Table 5−1. Interrupt PrioritiesPriority Interrupt Name Interrupt TypeHighest Reset ResetNMI NonmaskableINT4 MaskableINT5 M

Strany 333

OverviewInterrupts5-4 SPRU7335.1.1.2 Nonmaskable Interrupt (NMI)NMI is the second-highest priority interrupt and is generally used to alert theCPU of

Strany 334 - 4.1.1 Fetch

Trademarksiv SPRU733Read This FirstTMS320C672x DSP Peripherals Overview Reference Guide (literaturenumber SPRU723) describes the peripherals availab

Strany 335 - 4.1.2 Decode

Control Register FileCPU Data Paths and Control2-14 SPRU733Table 2−7. Control Status Register (CSR) Field Descriptions Bit Field Value Description31−

Strany 336

Overview5-5InterruptsSPRU7335.1.1.4 Interrupt Acknowledgment (IACK) and Interrupt Number (INUMn)The IACK and INUMn signals alert hardware external to

Strany 337 - 4.1.3 Execute

OverviewInterrupts5-6 SPRU7335.1.2 Interrupt Service Table (IST)When the CPU begins processing an interrupt, it references the interruptservice table

Strany 338 - Figure 4−5. Pipeline Phases

Overview5-7InterruptsSPRU7335.1.2.1 Interrupt Service Fetch Packet (ISFP)An ISFP is a fetch packet used to service an interrupt. Figure 5−2 shows anIS

Strany 339

OverviewInterrupts5-8 SPRU733If the interrupt service routine for an interrupt is too large to fit in a single fetchpacket, a branch to the location o

Strany 340

Overview5-9InterruptsSPRU7335.1.2.2 Interrupt Service Table Pointer (ISTP)The reset fetch packet must be located at address 0, but the rest of the IST

Strany 341

OverviewInterrupts5-10 SPRU7335.1.3 Summary of Interrupt Control RegistersTable 5−2 lists the interrupt control registers on the C67x CPU.Table 5−2. I

Strany 342

Globally Enabling and Disabling Interrupts5-11InterruptsSPRU7335.2 Globally Enabling and Disabling Interrupts The control status register (CSR) contai

Strany 343

Globally Enabling and Disabling InterruptsInterrupts5-12 SPRU733Example 5−2. Code Sequence to Disable Maskable Interrupts GloballyMVC CSR,B0 ; get CSR

Strany 344

Individual Interrupt Control5-13InterruptsSPRU7335.3 Individual Interrupt ControlServicing interrupts effectively requires individual control of all t

Strany 345

Individual Interrupt ControlInterrupts5-14 SPRU7335.3.2 Status of InterruptsThe interrupt flag register (IFR) contains the status of INT4−INT15 and NM

Strany 346

Control Register File2-15CPU Data Paths and ControlSPRU733Table 2−7. Control Status Register (CSR) Field Descriptions (Continued)Bit DescriptionValueF

Strany 347

Individual Interrupt Control5-15InterruptsSPRU7335.3.4 Returning From Interrupt ServicingAfter RESET goes high, the control registers are brought to a

Strany 348

Interrupt Detection and ProcessingInterrupts5-16 SPRU7335.4 Interrupt Detection and ProcessingWhen an interrupt occurs, it sets a flag in the interrup

Strany 349

Interrupt Detection and Processing5-17InterruptsSPRU733Any pending interrupt will be taken as soon as pending branches arecompleted.Figure 5−4. Nonres

Strany 350 - 4.2.3 Store Instructions

Interrupt Detection and ProcessingInterrupts5-18 SPRU7335.4.3 Actions Taken During Nonreset Interrupt ProcessingDuring CPU cycles 6 through 14 of Figu

Strany 351

Interrupt Detection and Processing5-19InterruptsSPRU7335.4.4 Setting the RESET Interrupt FlagRESET must be held low for a minimum of 10 clock cycles.

Strany 352 - Written baseR dst

Interrupt Detection and ProcessingInterrupts5-20 SPRU7335.4.5 Actions Taken During RESET Interrupt ProcessingA low signal on the RESET pin is the only

Strany 353 - LDW .D1 *A4++,A3

Performance Considerations5-21InterruptsSPRU7335.5 Performance ConsiderationsThe interaction of the C6000 CPU and sources of interrupts present perfor

Strany 354 - 4.2.5 Branch Instructions

Programming ConsiderationsInterrupts5-22 SPRU7335.6 Programming ConsiderationsThe interaction of the C6000 CPUs and sources of interrupts present prog

Strany 355

Programming Considerations5-23InterruptsSPRU733Example 5−11. Code Using Single AssignmentLDW .D1 *A0,A6ADD .L1 A1,A2,A3NOP 3MPY .M1 A6,A4,A5 ; uses A6

Strany 356

Programming ConsiderationsInterrupts5-24 SPRU733Example 5−13 shows a C-based interrupt handler that allows nestedinterrupts. The steps are similar, al

Strany 357 - 4.2.7 Four-Cycle Instructions

Control Register FileCPU Data Paths and Control2-16 SPRU7332.7.5 Interrupt Clear Register (ICR)The interrupt clear register (ICR) allows you to manual

Strany 358 - 4.2.8 INTDP Instruction

Programming Considerations5-25InterruptsSPRU733Example 5−13. C Interrupt Service Routine That Allows Nested Interrupts/* c6x.h contains declarations o

Strany 359 - 4.2.9 DP Compare Instructions

Programming ConsiderationsInterrupts5-26 SPRU7335.6.4 TrapsA trap behaves like an interrupt, but is created and controlled with software.The trap cond

Strany 360

A-1Instruction CompatibilitySPRU733Appendix AInstruction CompatibilityThe C62x, C64x, and C67x DSPs share an instruction set. All of the instruc-tions

Strany 361 - 4.2.11 MPYI Instruction

Instruction CompatibilityInstruction CompatibilityA-2 SPRU733Table A−1. Instruction Compatibility Between C62x, C64x, C67x,and C67x+ DSPs (Continued)

Strany 362 - 4.2.12 MPYID Instruction

Instruction CompatibilityA-3Instruction CompatibilitySPRU733Table A−1. Instruction Compatibility Between C62x, C64x, C67x,and C67x+ DSPs (Continued)I

Strany 363 - 4.2.13 MPYDP Instruction

Instruction CompatibilityInstruction CompatibilityA-4 SPRU733Table A−1. Instruction Compatibility Between C62x, C64x, C67x,and C67x+ DSPs (Continued)

Strany 364 - 4.2.14 MPYSPDP Instruction

Instruction CompatibilityA-5Instruction CompatibilitySPRU733Table A−1. Instruction Compatibility Between C62x, C64x, C67x,and C67x+ DSPs (Continued)I

Strany 365 - 4.2.15 MPYSP2DP Instruction

Instruction CompatibilityInstruction CompatibilityA-6 SPRU733Table A−1. Instruction Compatibility Between C62x, C64x, C67x,and C67x+ DSPs (Continued)

Strany 366 - 4.3.1 .S-Unit Constraints

B-1Mapping Between Instruction and Functional UnitSPRU733Appendix AMapping Between Instruction andFunctional UnitTable B−1 lists the instructions that

Strany 367

Mapping Between Instruction and Functional UnitMapping Between Instruction and Functional UnitB-2 SPRU733Table B−1. Functional Unit to Instruction Map

Strany 368

Control Register File2-17CPU Data Paths and ControlSPRU7332.7.6 Interrupt Enable Register (IER)The interrupt enable register (IER) enables and disable

Strany 369

Mapping Between Instruction and Functional UnitB-3Mapping Between Instruction and Functional UnitSPRU733Table B−1. Functional Unit to Instruction Mapp

Strany 370

Mapping Between Instruction and Functional UnitMapping Between Instruction and Functional UnitB-4 SPRU733Table B−1. Functional Unit to Instruction Map

Strany 371

Mapping Between Instruction and Functional UnitB-5Mapping Between Instruction and Functional UnitSPRU733Table B−1. Functional Unit to Instruction Mapp

Strany 372 - 4.3.2 .M-Unit Constraints

Mapping Between Instruction and Functional UnitMapping Between Instruction and Functional UnitB-6 SPRU733Table B−1. Functional Unit to Instruction Map

Strany 373

C-1.D Unit Instructions and Opcode MapsSPRU733Appendix A.D Unit Instructions and Opcode MapsThis appendix lists the instructions that execute in the .

Strany 374

Instructions Executing in the .D Functional Unit.D Unit Instructions and Opcode MapsC-2 SPRU733C.1 Instructions Executing in the .D Functional UnitTab

Strany 375

Opcode Map Symbols and MeaningsC-3.D Unit Instructions and Opcode MapsSPRU733C.2 Opcode Map Symbols and MeaningsTable C−2 lists the symbols and meanin

Strany 376

Opcode Map Symbols and Meanings.D Unit Instructions and Opcode MapsC-4 SPRU733Table C−3. Address Generator Options for Load/Storemode Field Syntax Mod

Strany 377

32-Bit Opcode MapsC-5.D Unit Instructions and Opcode MapsSPRU733C.3 32-Bit Opcode MapsThe C67x CPU 32-bit opcodes used in the .D unit are mapped in Fi

Strany 378

D-1.L Unit Instructions and Opcode MapsSPRU733Appendix A.L Unit Instructions and Opcode MapsThis appendix lists the instructions that execute in the .

Strany 379

Control Register FileCPU Data Paths and Control2-18 SPRU7332.7.7 Interrupt Flag Register (IFR)The interrupt flag register (IFR) contains the status of

Strany 380 - 4.3.3 .L-Unit Constraints

Instructions Executing in the .L Functional Unit.L Unit Instructions and Opcode MapsD-2 SPRU733D.1 Instructions Executing in the .L Functional UnitTab

Strany 381

Opcode Map Symbols and MeaningsD-3.L Unit Instructions and Opcode MapsSPRU733D.2 Opcode Map Symbols and MeaningsTable D−2 lists the symbols and meanin

Strany 382

32-Bit Opcode Maps.L Unit Instructions and Opcode MapsD-4 SPRU733D.3 32-Bit Opcode MapsThe C67x CPU 32-bit opcodes used in the .L unit are mapped in F

Strany 383

E-1.M Unit Instructions and Opcode MapsSPRU733Appendix A.M Unit Instructions and Opcode MapsThis appendix lists the instructions that execute in the .

Strany 384

Instructions Executing in the .M Functional Unit.M Unit Instructions and Opcode MapsE-2 SPRU733E.1 Instructions Executing in the .M Functional UnitTab

Strany 385

Opcode Map Symbols and MeaningsE-3.M Unit Instructions and Opcode MapsSPRU733E.2 Opcode Map Symbols and MeaningsTable E−2 lists the symbols and meanin

Strany 386

32-Bit Opcode Maps.M Unit Instructions and Opcode MapsE-4 SPRU733E.3 32-Bit Opcode MapsThe C67x CPU 32-bit opcodes used in the .M unit are mapped in F

Strany 387

F-1.S Unit Instructions and Opcode MapsSPRU733Appendix A.S Unit Instructions and Opcode MapsThis appendix lists the instructions that execute in the .

Strany 388 - Pipeline4-56 SPRU733

Instructions Executing in the .S Functional Unit.S Unit Instructions and Opcode MapsF-2 SPRU733F.1 Instructions Executing in the .S Functional UnitTab

Strany 389

Opcode Map Symbols and MeaningsF-3.S Unit Instructions and Opcode MapsSPRU733F.2 Opcode Map Symbols and MeaningsTable F−2 lists the symbols and meanin

Strany 390 - 4.4.2 Multicycle NOPs

Control Register File2-19CPU Data Paths and ControlSPRU7332.7.8 Interrupt Return Pointer Register (IRP)The interrupt return pointer register (IRP) con

Strany 391 - Delay slots of the branch

32-Bit Opcode Maps.S Unit Instructions and Opcode MapsF-4 SPRU733F.3 32-Bit Opcode MapsThe C67x CPU 32-bit opcodes used in the .S unit are mapped in F

Strany 392 - 4.4.3 Memory Considerations

32-Bit Opcode MapsF-5.S Unit Instructions and Opcode MapsSPRU733Figure F−6. Call Unconditional, Immediate with Implied NOP 5 Instruction Format31 29 2

Strany 393 - Program DC E1 E2 E3

G-1No Unit Specified Instructions and Opcode MapsSPRU733Appendix ANo Unit Specified Instructions and Opcode MapsThis appendix lists the instructions t

Strany 394 - Pipeline4-62 SPRU733

Instructions Executing With No Unit SpecifiedNo Unit Specified Instructions and Opcode MapsG-2 SPRU733G.1 Instructions Executing With No Unit Specifie

Strany 395

32-Bit Opcode MapsG-3No Unit Specified Instructions and Opcode MapsSPRU733G.3 32-Bit Opcode MapsThe C67x CPU 32-bit opcodes used in the no unit instru

Strany 396 - Interrupts

IndexIndex-1SPRU733Index1X and 2X paths 2-62-cycle DP instructions, .S-unit instructionconstraints 4-364-cycle instructions.L-unit instruction constra

Strany 397 - 5.1 Overview

IndexIndex-2 SPRU733BB instructionusing a displacement 3-69using a register 3-71B IRP instruction 3-73B NRP instruction 3-75B4 MODE bits 2-10B5 MODE

Strany 398

IndexIndex-3SPRU733compare for equalityfloating-pointdouble-precision values (CMPEQDP) 3-82single-precision values (CMPEQSP) 3-84signed integers (CMPE

Strany 399

IndexIndex-4 SPRU733cross paths 2-6CSR 2-13DDA1 and DA2 2-7data address paths 2-7DC pipeline phase 4-3DCC bits 2-13decoding instructions 4-3delay sl

Strany 400 - 5-5InterruptsSPRU733

IndexIndex-5SPRU733IEn bit 2-17IER 2-17IFn bit 2-18IFR 2-18INEX bitin FADCR 2-24in FAUCR 2-27in FMCR 2-31INFO bitin FADCR 2-24in FAUCR 2-27in FMCR 2-3

Strany 401 - Interrupts5-6 SPRU733

Control Register FileCPU Data Paths and Control2-20 SPRU7332.7.9 Interrupt Set Register (ISR)The interrupt set register (ISR) allows you to manually s

Strany 402 - 5-7InterruptsSPRU733

IndexIndex-6 SPRU733INTSPU instruction 3-122INVAL bitin FADCR 2-24in FAUCR 2-27in FMCR 2-31IRP 2-19ISn bit 2-20ISR 2-20ISTB bits 2-21ISTP 2-21Llaten

Strany 403 - Located Outside the IST

IndexIndex-7SPRU733move16-bit constant into upper bits of register(MVKH and MVKLH) 3-185between control file and register file(MVC) 3-180from register

Strany 404

IndexIndex-8 SPRU733multiply (continued)unsigned by unsignedunsigned 16 LSB by unsigned 16 LSB(MPYU) 3-174unsigned 16 LSB by unsigned 16 MSB(MPYLHU)

Strany 405

IndexIndex-9SPRU733PGIE bit 2-13pipelinedecode stage 4-3execute stage 4-5execution 4-12factors that provide programming flexibility 4-1fetch stage 4-2

Strany 406 - 5-11InterruptsSPRU733

IndexIndex-10 SPRU733returning from interrupt servicing 5-15REVISION ID bits 2-13RMODE bitsin FADCR 2-24in FMCR 2-31RSQRDP instruction 3-201RSQRSP i

Strany 407

IndexIndex-11SPRU733SUBC instruction 3-258SUBDP instruction 3-260.L-unit instruction constraints 4-51.S-unit instruction constraints 4-38pipeline oper

Strany 408

Control Register File2-21CPU Data Paths and ControlSPRU7332.7.10 Interrupt Service Table Pointer Register (ISTP)The interrupt service table pointer re

Strany 409 - 5.3.2 Status of Interrupts

Control Register FileCPU Data Paths and Control2-22 SPRU7332.7.11 Nonmaskable Interrupt (NMI) Return Pointer Register (NRP)The NMI return pointer regi

Strany 410

Control Register File Extensions2-23CPU Data Paths and ControlSPRU7332.8 Control Register File ExtensionsThe C67x DSP has three additional configurati

Strany 411

ContentsvContentsSPRU733Contents1 Introduction 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 412 - 5-17InterruptsSPRU733

Control Register File ExtensionsCPU Data Paths and Control2-24 SPRU733Figure 2−14. Floating-Point Adder Configuration Register (FADCR)31 27 26 25 24 2

Strany 413 - If an execute

Control Register File Extensions2-25CPU Data Paths and ControlSPRU733Table 2−14. Floating-Point Adder Configuration Register (FADCR)Field Descriptions

Strany 414 - 5-19InterruptsSPRU733

Control Register File ExtensionsCPU Data Paths and Control2-26 SPRU733Table 2−14. Floating-Point Adder Configuration Register (FADCR)Field Description

Strany 415

Control Register File Extensions2-27CPU Data Paths and ControlSPRU7332.8.2 Floating-Point Auxiliary Configuration Register (FAUCR)The floating-point a

Strany 416 - 5.5.2 Pipeline Interaction

Control Register File ExtensionsCPU Data Paths and Control2-28 SPRU733Table 2−15. Floating-Point Auxiliary Configuration Register (FAUCR)Field Descrip

Strany 417

Control Register File Extensions2-29CPU Data Paths and ControlSPRU733Table 2−15. Floating-Point Auxiliary Configuration Register (FAUCR)Field Descript

Strany 418 - 5.6.2 Nested Interrupts

Control Register File ExtensionsCPU Data Paths and Control2-30 SPRU733Table 2−15. Floating-Point Auxiliary Configuration Register (FAUCR)Field Descrip

Strany 419

Control Register File Extensions2-31CPU Data Paths and ControlSPRU7332.8.3 Floating-Point Multiplier Configuration Register (FMCR)The floating-point m

Strany 420

Control Register File ExtensionsCPU Data Paths and Control2-32 SPRU733Table 2−16. Floating-Point Multiplier Configuration Register (FMCR)Field Descrip

Strany 421 - 5.6.4 Traps

Control Register File Extensions2-33CPU Data Paths and ControlSPRU733Table 2−16. Floating-Point Multiplier Configuration Register (FMCR)Field Descript

Strany 422 - Instruction Compatibility

Contentsvi SPRU733Contents3 Instruction Set 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 423

Control Register File ExtensionsCPU Data Paths and Control2-34 SPRU733Table 2−16. Floating-Point Multiplier Configuration Register (FMCR)Field Descrip

Strany 424 - 3-139 

3-1Instruction SetSPRU733Instruction SetThis chapter describes the assembly language instructions of theTMS320C67x DSP. Also described are parallel op

Strany 425

Instruction Operation and Execution NotationsInstruction Set3-2 SPRU7333.1 Instruction Operation and Execution NotationsTable 3−1 explains the symbols

Strany 426 - 3-247    

Instruction Operation and Execution Notations3-3Instruction SetSPRU733Table 3−1. Instruction Operation and Execution Notations (Continued)Symbol Mean

Strany 427

Instruction Operation and Execution NotationsInstruction Set3-4 SPRU733Table 3−1. Instruction Operation and Execution Notations (Continued)Symbol Mea

Strany 428

Instruction Operation and Execution Notations3-5Instruction SetSPRU733Table 3−1. Instruction Operation and Execution Notations (Continued)Symbol Mean

Strany 429

Instruction Operation and Execution NotationsInstruction Set3-6 SPRU733Table 3−1. Instruction Operation and Execution Notations (Continued)Symbol Mea

Strany 430

Instruction Syntax and Opcode Notations3-7Instruction SetSPRU7333.2 Instruction Syntax and Opcode NotationsTable 3−2 explains the syntaxes and opcode

Strany 431

Instruction Syntax and Opcode NotationsInstruction Set3-8 SPRU733Table 3−2. Instruction Syntax and Opcode Notations (Continued)Symbol Meaningscstnbit

Strany 432

Overview of IEEE Standard Single- and Double-Precision Formats3-9Instruction SetSPRU7333.3 Overview of IEEE Standard Single- and Double-Precision Form

Strany 433

ContentsviiContentsSPRU733CLR (Clear a Bit Field) 3-77. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strany 434 - Appendix C

Overview of IEEE Standard Single- and Double-Precision FormatsInstruction Set3-10 SPRU733Table 3−3. IEEE Floating-Point NotationsSymbol Meanings Sign

Strany 435

Overview of IEEE Standard Single- and Double-Precision Formats3-11Instruction SetSPRU733Figure 3−1 shows the fields of a single-precision floating-poi

Strany 436 - register offset

Overview of IEEE Standard Single- and Double-Precision FormatsInstruction Set3-12 SPRU733Table 3−5 shows hexadecimal and decimal values for some singl

Strany 437

Overview of IEEE Standard Single- and Double-Precision Formats3-13Instruction SetSPRU733Normalized:−1s × 2(e−1023) × 1.f 0 < e < 2047Denorma

Strany 438 - y op 1 1 s p

Delay SlotsInstruction Set3-14 SPRU7333.4 Delay SlotsThe execution of floating-point instructions can be defined in terms of delayslots and functional

Strany 439 - Appendix D

Delay Slots3-15Instruction SetSPRU733Table 3−8. Delay Slot and Functional Unit LatencyInstruction TypeDelaySlotsFunctionalUnit LatencyRead Cycles†Writ

Strany 440

Parallel OperationsInstruction Set3-16 SPRU7333.5 Parallel OperationsInstructions are always fetched eight at a time. This constitutes a fetch packet.

Strany 441

Parallel Operations3-17Instruction SetSPRU733Example 3−1. Fully Serial p-Bit Pattern in a Fetch PacketThis p-bit pattern:00000000InstructionAInstructi

Strany 442 - D.3 32-Bit Opcode Maps

Parallel OperationsInstruction Set3-18 SPRU733Example 3−3. Partially Serial p-Bit Pattern in a Fetch PacketThis p-bit pattern:31 0 31 0 31 0 31 000113

Strany 443 - Appendix E

Conditional Operations3-19Instruction SetSPRU7333.6 Conditional OperationsMost instructions can be conditional. The condition is controlled by a 3-bit

Strany 444

Contentsviii SPRU733ContentsMPYI (Multiply 32-Bit by 32-Bit Into 32-Bit Result) 3-157. . . . . . . . . . . . . . . . . . . . . . . . . . . . . MPYID

Strany 445

Resource ConstraintsInstruction Set3-20 SPRU7333.7 Resource ConstraintsNo two instructions within the same execute packet can use the sameresources. A

Strany 446 - E.3 32-Bit Opcode Maps

Resource Constraints3-21Instruction SetSPRU7333.7.3 Constraints on Cross Paths (1X and 2X)One unit (either a .S, .L, or .M unit) per data path, per ex

Strany 447 - Appendix F

Resource ConstraintsInstruction Set3-22 SPRU7333.7.4 Constraints on Loads and StoresLoad and store instructions can use an address pointer from one re

Strany 448

Resource Constraints3-23Instruction SetSPRU7333.7.5 Constraints on Long (40-Bit) DataBecause the .S and .L units share a read register port for long s

Strany 449

Resource ConstraintsInstruction Set3-24 SPRU7333.7.6 Constraints on Register ReadsMore than four reads of the same register cannot occur on the same c

Strany 450 - F.3 32-Bit Opcode Maps

Resource Constraints3-25Instruction SetSPRU7333.7.7 Constraints on Register WritesTwo instructions cannot write to the same register on the same cycle

Strany 451

Resource ConstraintsInstruction Set3-26 SPRU7333.7.8 Constraints on Floating-Point InstructionsIf an instruction has a multicycle functional unit late

Strany 452 - Appendix G

Resource Constraints3-27Instruction SetSPRU733MPYDP No other instruction on the same side can use the crosspath on cycles i, i + 1, i + 2, and i + 3.M

Strany 453

Resource ConstraintsInstruction Set3-28 SPRU733MPYI A 4-cycle instruction cannot be scheduled on that func-tional unit on cycle i + 4, i + 5, or i + 6

Strany 454 - G.3 32-Bit Opcode Maps

Resource Constraints3-29Instruction SetSPRU733MPYSPDP A 4-cycle instruction cannot be scheduled on that func-tional unit on cycle i + 2 or i + 3.A MPY

Strany 455

ContentsixContentsSPRU733SPINT (Convert Single-Precision Floating-Point Value to Integer) 3-228. . . . . . . . . . . . . . . SPTRUNC (Convert Single-P

Strany 456

Addressing ModesInstruction Set3-30 SPRU7333.8 Addressing ModesThe addressing modes on the C67x DSP are linear, circular using BK0, andcircular using

Strany 457

Addressing Modes3-31Instruction SetSPRU7333.8.2 Circular Addressing ModeThe BK0 and BK1 fields in AMR specify the block sizes for circular addressing,

Strany 458

Addressing ModesInstruction Set3-32 SPRU7333.8.2.2 ADDA and SUBA Instructions As with linear address arithmetic, offsetR/cst is shifted left by 3, 2,

Strany 459

Addressing Modes3-33Instruction SetSPRU733Table 3−10. Indirect Address Generation for Load/StoreAddressing TypeNo Modification of Address RegisterPrei

Strany 460

Instruction CompatibilityInstruction Set3-34 SPRU7333.9 Instruction CompatibilityThe C62x, C64x, and C67x DSPs share an instruction set. All of the in

Strany 461

The way each instruction is described Example3-35 Instruction SetSPRU733The way each instruction is described.ExampleSyntax EXAMPLE (.unit) src, dst.

Strany 462

Example The way each instruction is described3-36 Instruction Set SPRU733Table 3−12. Relationships Between Operands, Operand Size, Signed/Unsigned,F

Strany 463

The way each instruction is described Example3-37 Instruction SetSPRU733Compatibility The C62x, C64x, and C67x DSPs share an instruction set. All of

Strany 464

ABS Absolute Value With Saturation3-38 Instruction Set SPRU733Absolute Value With SaturationABSSyntax ABS (.unit) src2, dst.unit = .L1 or .L2Compati

Strany 465

Absolute Value With Saturation ABS3-39 Instruction SetSPRU733Instruction Type Single-cycleDelay Slots 0See Also ABSDP, ABSSPExample 1ABS .L1 A1,A5Bef

Komentáře k této Příručce

Žádné komentáře