Can anybody give me examples of when precise exceptions are required?
I know that it is 'nice to have' for debugging if you want to break on data or address match, and 'needed' if you want an exception handler to deal with overflow.
"The architecture does not include either precise exceptions, which would be nearly mandatory in a data-processing environment..." Ron Wilson, EE Times about the FirePath DSP from Broadcom,
Anyone who can explain the reason for Ron's claim?
My definition of precise exception in an out-of-order execution machine is as follows:
- It is possible to associate any exception with a instruction in the program.
- From the exception handler the state of the machine is as if instructions are executed in-order, i.e. all previous instructions in the program flow has been executed and none of the following instructions have been executed.
Thanks in advance for any relevant comments.