Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CS 220 / ARM / ARM7TDMI_TechnicalReferenceManual.pdf
Скачиваний:
102
Добавлен:
16.04.2015
Размер:
1.63 Mб
Скачать

Instruction Cycle Timings

6.6Multiply and multiply accumulate

The multiply instructions use special hardware that implements integer multiplication with early termination. All cycles except the first are internal

The cycle timings are listed in the following tables:

multiply instruction cycle operations are listed in Table 6-5

multiply accumulate instruction cycle operations are listed in Table 6-6

multiply long instruction cycle operations are listed in Table 6-7 on page 6-10

multiply accumulate long instruction cycle operations are listed in Table 6-8 on page 6-10.

In Table 6-5 to Table 6-8 on page 6-10:

m is the number of cycles required by the multiplication algorithm. See

Instruction speed summary on page 6-29.

Table 6-5 Multiply instruction cycle operations

Cycle

Address

nRW

MAS[1:0]

Data

nMREQ

SEQ

nOPC

 

 

 

 

 

 

 

 

1

pc+2L

0

i

(pc+2L)

1

0

0

 

 

 

 

 

 

 

 

2

pc+3L

0

i

-

1

0

1

 

 

 

 

 

 

 

 

pc+3L

0

i

-

1

0

1

 

 

 

 

 

 

 

 

m

pc+3L

0

i

-

1

0

1

 

 

 

 

 

 

 

 

m+1

pc+3L

0

i

-

0

1

1

 

 

 

 

 

 

 

 

 

pc+3L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Table 6-6 Multiply accumulate instruction cycle operations

Cycle

Address

nRW

MAS[1:0]

Data

nMREQ

SEQ

nOPC

 

 

 

 

 

 

 

 

1

pc+8

0

2

(pc+8)

1

0

0

 

 

 

 

 

 

 

 

2

pc+8

0

2

-

1

0

1

 

 

 

 

 

 

 

 

pc+12

0

2

-

1

0

1

 

 

 

 

 

 

 

 

m

pc+12

0

2

-

1

0

1

ARM DDI 0029G

Copyright © 1994-2001. All rights reserved.

6-9

Instruction Cycle Timings

Table 6-6 Multiply accumulate instruction cycle operations (continued)

Cycle

Address

nRW

MAS[1:0]

Data

nMREQ

SEQ

nOPC

 

 

 

 

 

 

 

 

m+1

pc+12

0

2

-

1

0

1

 

 

 

 

 

 

 

 

m+2

pc+12

0

2

-

0

1

1

 

 

 

 

 

 

 

 

 

pc+12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Table 6-7 Multiply long instruction cycle operations

Cycle

Address

nRW

MAS[1:0]

Data

nMREQ

SEQ

nOPC

 

 

 

 

 

 

 

 

1

pc+8

0

i

(pc+8)

1

0

0

 

 

 

 

 

 

 

 

2

pc+12

0

i

-

1

0

1

 

 

 

 

 

 

 

 

pc+12

0

i

-

1

0

1

 

 

 

 

 

 

 

 

m

pc+12

0

i

-

1

0

1

 

 

 

 

 

 

 

 

m+1

pc+12

0

i

-

1

0

1

 

 

 

 

 

 

 

 

m+2

pc+12

0

i

-

0

1

1

 

 

 

 

 

 

 

 

 

pc+12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Table 6-8 Multiply accumulate long instruction cycle operations

Cycle

Address

nRW

MAS[1:0]

Data

nMREQ

SEQ

nOPC

 

 

 

 

 

 

 

 

1

pc+8

0

2

(pc+8)

1

0

0

 

 

 

 

 

 

 

 

2

pc+8

0

2

-

1

0

1

 

 

 

 

 

 

 

 

pc+12

0

2

-

1

0

1

 

 

 

 

 

 

 

 

m

pc+12

0

2

-

1

0

1

 

 

 

 

 

 

 

 

m+1

pc+12

0

2

-

1

0

1

 

 

 

 

 

 

 

 

m+2

pc+12

0

2

-

1

0

1

 

 

 

 

 

 

 

 

m+3

pc+12

0

2

-

0

1

1

 

 

 

 

 

 

 

 

 

pc+12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6-10

Copyright © 1994-2001. All rights reserved.

ARM DDI 0029G

Instruction Cycle Timings

Note

The multiply accumulate, multiply long, and multiply accumulate long operations are not available in Thumb state.

ARM DDI 0029G

Copyright © 1994-2001. All rights reserved.

6-11

Instruction Cycle Timings

6.7Load register

The first cycle of a load register instruction performs the address calculation. During the second cycle the data is fetched from memory and the base register modification is performed, if required. During the third cycle the data is transferred to the destination register, and external memory is unused. This third cycle can normally be merged with the next prefetch cycle to form one memory N-cycle.

Either the base, or destination, or both, can be the PC, and the prefetch sequence is changed if the PC is affected by the instruction.

The data fetch can abort, and in this case the destination modification is prevented. In addition, if the processor is configured for early abort, the base register write-back is also prevented.

The cycle timings are listed in Table 6-9 where:

c represents the current processor mode:

c=0 for User mode

c=1 for all other modes

d=0 if the T bit has been specified in the instruction (such as LDRT) and d=c at all other times

s represents the size of the data transfer shown by MAS[1:0] (see Table 6-10 on page 6-13).

Table 6-9 Load register instruction cycle operations

Operation type

Cycle

Address

MAS[1:0]

nRW

Data

nMREQ

SEQ

nOPC

nTRANS

 

 

 

 

 

 

 

 

 

 

normal

1

pc+2L

i

0

(pc+2L)

0

0

0

c

 

 

 

 

 

 

 

 

 

 

 

2

alu

s

0

(alu)

1

0

1

d

 

 

 

 

 

 

 

 

 

 

 

3

pc+3L

i

0

-

0

1

1

c

 

 

 

 

 

 

 

 

 

 

 

 

pc+3L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dest=pc

1

pc+8

2

0

(pc+8)

0

0

0

c

 

 

 

 

 

 

 

 

 

 

 

2

alu

 

0

pc’

1

0

1

d

 

 

 

 

 

 

 

 

 

 

 

3

pc+12

2

0

-

0

0

1

c

6-12

Copyright © 1994-2001. All rights reserved.

ARM DDI 0029G

Instruction Cycle Timings

Table 6-9 Load register instruction cycle operations (continued)

Operation type Cycle

Address

MAS[1:0]

nRW

Data

nMREQ

SEQ

nOPC

nTRANS

 

 

 

 

 

 

 

 

 

 

4

pc’

2

0

(pc’)

0

1

0

c

 

 

 

 

 

 

 

 

 

 

5

pc’+4

2

0

(pc’+4)

0

1

0

c

 

 

 

 

 

 

 

 

 

 

 

 

pc’+8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Note

Operations where the destination is the PC are not available in Thumb state.

Table 6-10 MAS[1:0] signal encoding

bit 1

bit 0

Data size

 

 

 

0

0

byte

 

 

 

0

1

halfword

 

 

 

1

0

word

 

 

 

1

1

reserved

 

 

 

ARM DDI 0029G

Copyright © 1994-2001. All rights reserved.

6-13

Соседние файлы в папке ARM