MOTOROLA
MC68349 USER’S MANUAL
5- 85
The number of cycles for the instruction (CN) can include one or two EA calculations in
addition to the raw number in the cycles column. In these cases, calculate overall
instruction time as if it were for multiple instructions, using the following equation:
CEA min (TEA, HOP) + COP
where:
CEA is the instruction’s EA time
COP is the instruction’s operation time
TEA is the EA’s tail time
HOP is the instruction operation’s head time
min (TN, HM) is the minimum of parameters TN and HM
The overall head for the instruction is the head for the EA, and the overall tail for the
instruction is the tail for the operation. Therefore, the actual equation for execution time
becomes:
COP1 min (TOP1, HEA2) + CEA2 min (TEA2, HOP2) + COP2 min (TOP2, HEA3) + . . .
Every instruction must prefetch to replace itself in the instruction pipe. Usually, these
prefetches occur during or after an instruction. A prefetch is permitted to begin in the first
clock of any indexed EA mode operation.
Additionally, a prefetch for an instruction is permitted to begin two clocks before the end of
an instruction provided the bus is not being used. If the bus is being used, then the
prefetch occurs at the next available time when the bus would otherwise be idle.
5.8.1.7 EFFECTS OF NEGATIVE TAILS. When the CPU32+ changes instruction flow, the
instruction decode pipeline must begin refilling before instruction execution can resume.
Refilling forces a two-clock idle period at the end of the change-of-flow instruction. This
idle period can be used to prefetch an additional word on the new instruction path.
Because of the stipulation that each instruction must prefetch to replace itself, the concept
of negative tails has been introduced to account for these free clocks on the bus.
On a two-clock bus, it is not necessary to adjust instruction timing to account for the
potential extra prefetch. The cycle times of the microsequencer and bus are matched, and
no additional benefit or penalty is obtained. In the instruction execution time equations, a
zero should be used instead of a negative number.
Negative tails are used to adjust for slower fetches on slower buses. Normally, increasing
the length of prefetch bus cycles directly affects the cycle count and tail values found in
the tables.