Instruction Execution Timing
11-2
MC68030 USER’S MANUAL
MOTOROLA
11.2 RESOURCE SCHEDULING
Some of the variability in instruction execution timings results from the overlap of resource
utilization. The processor can be viewed as consisting of eight independently scheduled
resources. Since very little of the scheduling is directly related to instruction boundaries, it
is impossible to make accurate estimates of the time required to execute a particular
instruction without knowing the complete context within which the instruction is executing.
The position of these resources within the MC68030 is shown in Figure 11-1.
11.2.1 Microsequencer
The microsequencer is either executing microinstructions or awaiting completion of
accesses that are necessary to continue executing microcode. The bus controller is
responsible for all bus activity. The microsequencer controls the bus controller, instruction
execution, and internal processor operations such as calculation of effective addresses and
setting of condition codes. The microsequencer initiates instruction word prefetches and
controls the validation of instruction words in the instruction pipe.
11.2.2 Instruction Pipe
The MC68030 contains a three-word instruction pipe where instruction opcodes are
decoded. As shown in Figure 11-1, instruction words (instruction operation words and all
extension words) enter the pipe at stage B and proceed to stages C and D. An instruction
word is completely decoded when it reaches stage D of the pipe. Each of the pipe stages
has a status bit that reflects whether the word in the stage was loaded with data from a bus
cycle that was terminated abnormally. Stages of the pipe are only filled in response to
specific prefetch requests issued by the microsequencer.
Words are loaded into the instruction pipe from the cache holding register. While the
individual stages of the pipe are only 16 bits wide, the cache holding register is 32 bits wide
and contains the entire long word. This long word is obtained from the instruction cache or
the external bus in response to a prefetch request from the microsequencer. When the
microsequencer requests an even-word (long-word aligned) prefetch, the entire long word
is accessed from the instruction cache or the external bus and loaded into the cache holding
register, and the high-order word is also loaded into stage B of the pipe. The instruction word
for the next sequential prefetch can then be accessed directly from the cache holding
register, and no external bus cycle or instruction cache access is required. The cache
holding register provides instruction words to the pipe, regardless of whether the instruction
cache is enabled or disabled.