CPU32+
5-88
MC68360 USER’S MANUAL
MOTOROLA
In the following equations, negative tail values are used to negate the effects of a slower
bus. The equations are generalized, however, so that they may be used on any speed bus
with any tail value.
NEW_TAIL
=
OLD_TAIL
+
(NEW_CLOCK – 2)
IF ((NEW_CLOCK – 4) > 0) THEN
NEW_CYCLE = OLD_CYCLE
+
(NEW_CLOCK – 2)
+
(NEW_CLOCK – 4)
ELSE
NEW_CYCLE = OLD_CYCLE
+
(NEW _CLOCK – 2)
where:
NEW_TAIL/NEW_CYCLE
is the adjusted tail/cycle at the slower speed
OLD_TAIL/OLD_CYCLE
is the value listed in the instruction timing tables
NEW_CLOCK
is the number of clocks per cycle at the slower speed
Note that many instructions listed as having negative tails are change-of-flow instructions
and that the bus speed used in the calculation is that of the new instruction stream.
5.7.2 Instruction Timing Tables
The following assumptions apply to the times shown in the subsequent tables:
1. A 16-bit data bus is used for all memory accesses (CPU32+ in 16-bit mode).
2. Memory access times are based on two-clock bus cycles with no wait states.
3. The instruction pipeline is full at the beginning of the instruction and is refilled by the
end of the instruction.
Three values are listed for each instruction and addressing mode:
Head:
The number of cycles available at the beginning of an instruction to complete a
previous instruction write or to perform a prefetch.
Tail:
The number of cycles an instruction uses to complete a write.
Cycles:
Four numbers per entry, three contained in parentheses. The outer number is the
minimum number of cycles required for the instruction to complete. Numbers
within the parentheses represent the number of bus accesses performed by the
instruction. The first number is the number of operand read accesses performed
by the instruction. The second number is the number of instruction fetches per-
formed by the instruction, including all prefetches that keep the instruction and the
instruction pipeline filled. The third number is the number of write accesses per-
formed by the instruction.
As an example, consider an ADD.L (12, A3, D7.W
4), D2 instruction.
Paragraph 5.7.2.5 Arithmetic/Logic Instructions
shows that the instruction has a head = 0, a
tail = 0, and cycles = 2 (0/1/0). However, in indexed address register indirect addressing
mode, additional time is required to fetch the EA. Paragraph 5.7.2.1 Fetch Effective Address
gives addressing mode data. For (d
8
, An, Xn.Sz
Scale), head = 4, tail = 2, cycles = 8 (2/1/
0). Because this example is for a long access and the fetch EA table lists data for word