IBM powerpc 750gx Manual Do Utilizador

Página de 377
 
User’s Manual
IBM PowerPC 750GX and GL RISC Microprocessor
Exceptions
Page 176 of 377
gx_04.fm.(1.2)
March 27, 2006
4.5.19 Exception Latencies
Latencies for taking various exceptions are variable based on the state of the machine when conditions to 
produce an exception occur. The shortest latency possible is one cycle. In this case, an exception is signaled 
in the cycle following the appearance of the conditions that generated that exception. In most cases, a hard 
reset or machine check has a single-cycle latency to exception. The only situation that can prevent this is 
when a speculative instruction is the next to complete. This case, which produces an extra 2-cycle minimum, 
3-cycle maximum delay, only occurs if the branch guess that forced this instruction to be speculative was 
resolved to be incorrect. 
Another latency variable is introduced for a soft reset exception–recoverability. The time to reach a recover-
able state can depend on the time needed to complete or to cause an exception to an instruction at the point 
of completion, the time needed to drain the completed store queue, or the time waiting for a correct empty 
state so that a valid exception prefix (IP) can be saved. For other externally-generated exceptions, a further 
delay might be incurred waiting for another exception, generated while reaching a recoverable state, to be 
serviced.
Further delays are possible for other types of exceptions depending on the number and type of instructions 
that must be completed before that exception can be serviced. See Section 4.5.20, Summary of Front-End 
Exception Handling,
 
to determine possible maximum latencies for different exceptions.
4.5.20 Summary of Front-End Exception Handling
Table 4-14 describes how the 750GX handles exceptions up to the point of signaling the appropriate excep-
tion to occur. Note that a recoverable state is reached in the 750GX if the completed store queue is empty 
(drained, not canceled), and the instruction that is next in the program order has been signaled to complete 
and has completed. If MSR[RI] = 0, the 750GX is in a nonrecoverable state by default. Also, completion of an 
instruction is defined as performing all architectural register writes associated with that instruction, and then 
removing that instruction from the completion buffer queue.
Table 4-14. Front-End Exception Handling Summary 
 (Page 1 of 2)
Exception Type
Specific Exception
Description
Asynchronous Nonmaskable 
Nonrecoverable
System Reset for HRESET
Has highest priority and is taken immediately regardless of 
other pending exceptions or recoverability. A nonspeculative 
address is guaranteed.
Asynchronous Maskable 
Nonrecoverable
Machine Check
Takes priority over any other pending exception except system 
reset for HRESET or POR. Taken immediately, regardless of 
recoverability. A nonspeculative address is guaranteed.
Asynchronous Nonmaskable 
Recoverable
System Reset for SRESET
Takes priority over any other pending exception except system 
reset for HRESET or POR or machine check. Taken immedi-
ately when a recoverable state is reached.
Asynchronous Maskable 
Recoverable
SMI, EI, DEC
Before handling this type of exception, the next instruction in 
program order must complete or cause an exception. If this 
action causes another type of exception, that exception is 
taken and the asynchronous maskable recoverable (AMR) 
exception remains pending. Once an instruction is able to com-
plete without causing an exception, while the AMR exception is 
enabled, further instruction completion is halted. The AMR 
exception is then taken once a recoverable state is reached.