Table 4.6 shows how the processor transfers control to an exception following the rules.
Processor activity at recognition of exception
|Transfer to exception processing|
|Instruction||Instruction completes and exception is taken before the next instruction.|
This is classified as a late arriving exception. If the new exception is of higher priority or the same priority and lower exception number than the first exception, the core might service the late arriving exception first as a late arrival case. If not, the late arriving exception remains pending and normal pre-emption rules apply.
If the late arriving exception arrives early enough in the core stacking phase it is taken as a late arrival. In this case, the core fetches the vector for the late arriving exception instead of the vector for the first exception. Execution begins at the late arriving exception vector and the first exception remains pending.
If the late arriving exception arrives too late in the stacking phase it cannot be handled as a late arrival. Instead, the first exception vector is fetched, execution commences at the first exception vector address and the late arriving exception is pended and normal pre-emption rules apply.
|Exception postamble||Exception return sequence is completed and execution resumes at the target of the return. Normal pre-emption rules then apply.|