ARM R4F, r1p3 manual Multiplies, Umlals

Models: R4F r1p3 R4

1 456
Download 456 pages 40.06 Kb
Page 376
Image 376

Cycle Timings and Interlock Behavior

14.7Multiplies

Most multiply operations cannot forward their result early, except as the accumulate value for a subsequent multiply. For a subsequent multiply accumulate the result is available one cycle earlier than for all other uses of the result.

Certain multiplies require:

more than one cycle to execute

more than one pipeline issue to produce a result.

The multiplicand and multiplier are required as Early Regs because they are both required at the end of the Iss stage.

Flag-setting multiplies followed by a conditional instruction interlock the conditional instruction for one cycle, or two cycles if the instruction is a conditional multiply. Flag-setting multiplies followed by a flag-setting instruction interlock the flag-setting instruction for one cycle, unless the instruction is a flag-setting multiply in which case there is no interlock.

Table 14-9shows the cycle timing behavior of example multiply instructions.

Table 14-9 Example multiply instruction cycle timing behavior

Example

Cycles

Early Reg

Late Reg

Result latency

instruction

 

 

 

 

 

 

 

 

 

MUL(S)

2

<Rn>, <Rm>

-

3

 

 

 

 

 

MLA(S), MLS

2

<Rn>, <Rm>

<Ra>

3

 

 

 

 

 

SMULL(S)

2

<Rn>, <Rm>

-

3, 3

 

 

 

 

 

UMULL(S)

2

<Rn>, <Rm>

-

3, 3

 

 

 

 

 

SMLAL(S)

2

<Rn>, <Rm>

<RdLo>, <RdHi>

3, 3

 

 

 

 

 

UMLAL(S)

2

<Rn>, <Rm>

<RdLo>, <RdHi>

3, 3

 

 

 

 

 

SMULxy

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMLAxy

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMULWy

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMLAWy

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMLALxy

2

<Rn>, <Rm>

<RdLo>, <RdHi>

3, 3

 

 

 

 

 

SMUAD, SMUADX

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMLAD, SMLADX

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMUSD, SMUSDX

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMLSD, SMLSDX

1

<Rn>, <Rm>

-

2

 

 

 

 

 

SMMUL, SMMULR

2

<Rn>, <Rm>

-

3

 

 

 

 

 

SMMLA, SMMLAR

2

<Rn>, <Rm>

<Ra>

3

 

 

 

 

 

SMMLS, SMMLSR

2

<Rn>, <Rm>

<Ra>

3

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

14-12

ID013010

Non-Confidential, Unrestricted Access

 

Page 376
Image 376
ARM R4F, r1p3 manual Multiplies, Umlals