5- 80
MC68349 USER’S MANUAL
MOTOROLA
IPIPE0
INSTRUCTION
START
EXTENSION
LONG WORD
USED
INSTRUCTION
START
IRB
IRC
IRA/IRL
IRB
IRA/IRL
IRB
CLKOUT
IRA/IRL
IRB
IPIPE1
INSTRUCTION
START
IRA/IRL
IRB
IRC
Figure 5-33. Instruction Pipeline Timing Diagram
IPIPE1 and IPIPE0 should be sampled on the falling edge of the clock. In BDM mode,
IPIPE1 is undefined and IPIPE0 functions as DSO.
5.7.3.3 OPCODE TRACKING DURING LOOP MODE. IPIPE≈ and IFETCH continue to
work normally during loop mode. IFETCH indicates all instruction fetches up through the
point that data begins recirculating within the instruction pipeline. IPIPE≈ continues to
signal the start of instructions and the use of extension words even though data is being
recirculated internally. IFETCH returns to normal operation with the first fetch after exiting
loop mode.
5.8 INSTRUCTION EXECUTION TIMING
This section describes the instruction execution timing of the CPU32+. External clock
cycles are used to provide accurate execution and operation timing guidelines, but not
exact timing for every possible circumstance. This approach is used because exact
execution time for an instruction or operation depends on concurrence of independently
scheduled resources, on memory speeds, and on other variables.
An assembly language programmer or compiler writer can use the information in this
section to predict the performance of the CPU32+. Additionally, timing for exception
processing is included so that designers of multitasking or real-time systems can predict
task-switch overhead, maximum interrupt latency, and similar timing parameters.
Instruction timing is given in clock cycles to eliminate clock frequency dependency.
Most instruction timing information in the following subsections is taken from the CPU32
documentation. It applies to the CPU32+ when it is executing in 16-bit mode.
5.8.1 Resource Scheduling
The CPU32+ contains several independently scheduled resources. The organization of
these resources within the CPU32+ is shown in Figure 5-34. Some variation in instruction
execution timing results from concurrent resource utilization. Because resource
scheduling is not directly related to instruction boundaries, it is impossible to make an
accurate prediction of the time required to complete an instruction without knowing the
entire context within which the instruction is executing.