
MOTOROLA
MC68330 USER'S MANUAL
5- 107
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.
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-39. 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.
5.8.1.1 MICROSEQUENCER. The microsequencer either executes microinstructions or
awaits completion of accesses necessary to continue microcode execution. The
microsequencer supervises the bus controller, instruction execution, and internal
processor operations such as calculation of EA and setting of condition codes. It also
initiates instruction word prefetches after a change of flow and controls validation of
instruction words in the instruction pipeline.
5.8.1.2 INSTRUCTION PIPELINE. The CPU32 contains a two-word instruction pipeline
where instruction opcodes are decoded. Each stage of the pipeline is initially filled under
microsequencer control and subsequently refilled by the prefetch controller as it empties.
Stage A of the instruction pipeline is a buffer. Prefetches completed on the bus before
stage B empties are temporarily stored in this buffer. Instruction words (instruction
operation words and all extension words) are decoded at stage B. Residual decoding and
execution occur in stage C.
Each pipeline stage has an associated status bit that shows whether the word in that
stage was loaded with data from a bus cycle that terminated abnormally.
5.8.1.3 BUS CONTROLLER RESOURCES. The bus controller consists of the instruction
prefetch controller, the write pending buffer, and the microbus controller. These three
resources transact all reads, writes, and instruction prefetches required for instruction
execution.
The bus controller and microsequencer operate concurrently. The bus controller can
perform a read or write or schedule a prefetch while the microsequencer controls EA
calculation or sets condition codes.
The microsequencer can also request a bus cycle that the bus controller cannot perform
immediately. When this happens, the bus cycle is queued, and the bus controller runs the
cycle when the current cycle is complete.