BBranch Using a Register

Pipeline

 

 

 

 

Target Instruction

 

 

Pipeline

 

 

 

 

 

 

 

E1

PS

PW

PR

DP

DC

E1

Stage

 

 

 

 

 

 

 

 

Read

src2

 

 

 

 

 

 

Written

 

 

 

 

 

 

 

Branch

 

 

 

 

 

 

n

Taken

 

 

 

 

 

 

 

Unit in use

.S2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instruction Type

Branch

 

 

 

 

Delay Slots

5

 

 

 

 

 

Example

Table 3−14 gives the program counter values and actions for the following

 

code example. In this example, the B10 register holds the value 1000 000Ch.

 

 

 

 

 

 

 

 

B10

1000 000Ch

 

 

 

1000

0000

 

B

.S2

B10

 

1000

0004

 

ADD

.L1

A1, A2, A3

 

1000

0008

ADD

.L2

B1, B2, B3

 

1000

000C

 

MPY

.M1X A3, B3, A4

 

1000

0010

SUB

.D1

A5, A6, A6

 

1000

0014

 

MPY

.M1

A3, A6, A5

 

1000

0018

 

MPY

.M1

A6, A7, A8

 

1000

001C

 

SHR

.S1

A4, 15, A4

 

1000

0020

 

ADD

.D1

A4, A6, A4

Table 3−14. Program Counter Values for Example Branch Using a Register

Cycle

Program Counter Value

Action

 

 

 

 

Cycle 0

1000

0000h

Branch command executes

 

 

 

(target code fetched)

Cycle 1

1000

0004h

 

Cycle 2

1000

000Ch

 

Cycle 3

1000

0014h

 

Cycle 4

1000

0018h

 

Cycle 5

1000

001Ch

 

Cycle 6

1000

000Ch

Branch target code executes

Cycle 7

1000

0014h

 

 

 

 

 

3-72

Instruction Set

SPRU733

Page 132
Image 132
Texas Instruments TMS320C67X/C67X+ DSP manual Target Instruction Pipeline Stage Read, Written Branch Taken Unit in use