![](http://datasheet.mmic.net.cn/290000/XPC801ZP25_datasheet_16187868/XPC801ZP25_103.png)
The PowerPC Core
6-12
MPC801 USER’S MANUAL
MOTOROLA
6
At time point A the excepting instruction issues and begins executing. During the interval
between A and B, previously issued instructions are finishing execution. This interval is
equivalent to the time required for all instructions currently in progress to complete. At time
point B, the exception is recognized and during the interval between B and D the machine
state is being restored. This time is a maximum of 10 cycles. At time point C, the core starts
fetching the first instruction of the exception handler if the interrupt handler is external. It is
5 cycles if it is in the instruction cache and NO SHOW mode is on.
At time point D all state has been restored and during the interval between D and E, the
machine is saving context information in SRR0 and SRR1, disabling interrupts, placing the
machine in privileged mode, and fetching the first instructions of the interrupt handler from
the vector table. The interval between D and E requires a minimum of one clock. The interval
between C and E depends on the memory system and is the time it takes to fetch the first
instruction of the interrupt handler. For full history buffer restore time it is no less then two
clocks.
6.2.6 Serialization
The core has multiple execution units, each of which can be executing different instructions
at the same time. This is normally transparent to the your program, but in some special
circumstances (debugging, I/O control, multiprocessor synchronization) it might become
necessary to force the machine to serialize. There are two possible serialization actions
defined for the core:
Execution serialization—Instruction issue is halted until all instructions currently in
progress have completed execution. All internal pipeline stages and instruction buffers
have emptied and all outstanding memory transactions are completed.
Fetch serialization—Instruction fetch is halted until all instructions currently in the
processor have completed execution. The machine after fetch serialization is
completely synchronized.
An attempt to issue a serializing instruction causes the machine to serialize before the
instruction issues. For more information on instruction execution timing, see Table 8-1. Only
the
sync
(synchronize) instruction guarantees serialization across PowerPC
implementations. Fetching an
isync
(storage control) instruction causes fetch serialization.
Also, when the serialize mode bit (CTRL
SER
) is asserted or in debug mode, any instruction
can cause fetch serialization.
6.2.6.1 SERIALIZATION LATENCY
The time required to serialize the machine is also the amount of time needed to complete
the instructions currently in progress. This time is heavily dependent on the instructions in
progress and the memory system latency. It is impossible to put an absolute upper bound
on this time because the memory system design is not controlled by the core. The time to
complete the current instruction is generally the machine serialization time and the specific
instruction execution time determines how long serialization takes. This can be either divide,
load, or store a multiple, string, or pair of simple load/store instructions. See Table 8-1 for
more information.