7 instruction execution timing, Instruction execution timing -27 – Freescale Semiconductor MCF5480 User Manual

Page 131

Advertising
background image

Instruction Execution Timing

MCF548x Reference Manual, Rev. 3

Freescale Semiconductor

3-27

3.7

Instruction Execution Timing

The timing data in this section assumes the following:

Execution times for individual instructions make no assumptions concerning the OEP’s ability to

dispatch multiple instructions in one machine cycle. For sequences where instruction pairs are

issued, the execution time of the first instruction defines the execution time of pair; the second

instruction effectively executes in zero cycles.

The OEP is loaded with the opword and all required extension words at the beginning of each

instruction execution. This implies that the OEP spends no time waiting for the IFP to supply

opwords or extension words.

The OEP experiences no sequence-related pipeline stalls. For the V4, the most common example

of this type of stall occurs when a register is modified in the EX engine and a subsequent instruction

generates an address that uses the previously modified register. The second instruction stalls in the

OEP until the previous instruction updates the register. For example:

muls.l

#<data>,d0

move.l

(a0,d0.l*4),d1

move.l waits 3 cycles for the muls.l to update d0. If consecutive instructions update a register and

use that register as a base of index value with a scale factor of 1 (Xi.l*1) in an address calculation,

a 2-cycle pipeline stall occurs. If the destination register is used as an index register with any other

scale factor (Xi.l*2, Xi.l*4), a 3-cycle stall occurs.

NOTE

Address register results from postincrement and predecrement modes are

available to subsequent instructions without stalls.

Table 3-9. Supervisor-Mode Instruction Set Summary

Instruction

Operand Syntax

Operand Size

Operation

CPUSHL

ic,(Ax)

dc,(Ax)
bc,(Ax)

none

If data is valid and modified, push cache line; invalidate line
if programmed in CACR (synchronizes pipeline)

FRESTORE

<ea>y

none

FPU State Frame

→ Internal FPU State

FSAVE

<ea>x

none

Internal FPU State

→ FPU State Frame

HALT

none

none

Halt processor core

INTOUCH

Ay

none

Instruction fetch touch at (Ay)

MOVE from SR

SR,Dx

W

SR

→ Destination

MOVE from USP

USP,Dx

L

USP

→ Destination

MOVE to SR

<ea>y,SR

W

Source

→ SR; Dy or #<data> source only

MOVE to USP

Ay,USP

L

Source

→ USP

MOVEC

Ry,Rc

L

Ry

→ Rc

RTE

none

none

2 (SP)

→ SR; 4 (SP) → PC; SP + 8 →SP

Adjust stack according to format

STOP

#<data>

none

Immediate Data

→ SR; STOP

WDEBUG

<ea>y

L

Addressed Debug WDMREG Command Executed

Advertising
This manual is related to the following products: