5.3 Processor Exceptions

Soft Reset Exception


Cause

The Soft Reset exception occurs in response to either the Reset* input signal or a Nonmaskable Interrupt (NMI)*1.

The NMI is caused either by an assertion of the NMI* signal or an external write to the Int*[6] bit of the Interrupt register.

This exception is not maskable.

Processing

Regardless of the cause, when this exception occurs the SR bit of the Status register is set, distinguishing this exception from a Reset exception.

The processor does not indicate any distinction between an exception caused by the Reset* signal or the NMI* signal.

In both the Reset* and NMI cases the processor jumps to the Reset exception vector located in unmapped and uncached address space, so that the cache and TLB contents need not be initialized to service this exception. Typically, the Reset exception vector is located in PROM, and system memory does not need to be initialized to handle the exception.

As previously noted, state machines interrupted by Reset* may cause some register contents to be inconsistent with the other processor state. Otherwise, on an exception caused by Reset* or NMI the contents of all registers are preserved, except for:

Soft reset exception processing is shown in Figure 5-16.

Servicing

The exception initiated by Reset* is intended to quickly reinitialize a previously operating processor after a fatal error such as a Master/Checker mismatch. The NMI can be used for purposes other than resetting the processor while preserving cache and memory contents. For example, the system might use an NMI to cause an immediate, controlled shutdown when it detects an impending power failure.

The exceptions due to Reset* and NMI appear identical to software; both exceptions jump to the Reset exception vector and have the Status register SR bit set. Unless external hardware provides a way to distinguish between the two, they are serviced by saving the current user-visible processor state for diagnostic purposes and reinitializing as for the Reset exception. It is not normally possible to continue program execution after returning from this exception, since a Reset* signal can be accepted anytime and an NMI can occur in the midst of another error exception.



Copyright 1996, MIPS Technologies, Inc. -- 21 MAR 96

Generated with CERN WebMaker
statistics