Report Number: CSL-TR-97-732
Institution: Stanford University, Computer Systems Laboratory
Title: Efficient Exception Handling Techniques for High-Performance
Processor Architectures
Author: Rudd, Kevin W.
Date: October 1997
Abstract: Providing precise exceptions has driven much of the
complexity in modern processor designs. While this complexity
is required to maintain the illusion of a processor based on
a sequential architectural model, it also results in reduced
performance during normal execution. The existing notion of
precise exceptions is limited to processors based on a
sequential architectural model and there have been few
techniques developed that are applicable to processors that
are not based on this model. Processors with exposed
pipelines (typical of VLIW processors) do not conform to the
sequential execution model. These processors have explicit
overlaps in operation execution and thus cannot support the
traditional notion of precise exceptions; most exception
handling techniques for these processors require restrictive
software scheduling. In this report, we generalize the notion
of a precise exception and extend the applicability of
precise exceptions to a wider range of architectures. We
propose precise exception handling techniques that solve the
problem of efficient exception handling for both sequential
architectures as well as exposed pipeline architectures. We
also show how these techniques can provide efficient support
for speculative execution past multiple branches for both
architectures as well as latency tolerance for exposed
pipeline architectures.
http://i.stanford.edu/pub/cstr/reports/csl/tr/97/732/CSL-TR-97-732.pdf