Wikipedia has a perfect definition about interrupt:
“In system programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. An interrupt alerts the processor to a high-priority condition requiring the interruption of the current code the processor is executing…”
There are several ways to categorize interrupts, among which the most important one is precise interrupt and imprecise interrupt.
We will discuss the definition about precise interrupt in this post, based on J.E. Smith and A.R. Pleszkun’s paper Implementing Precise Interrupt in Pipelined Processor.