Reputation: 67
Good day!
I am currently studying AArch64 Exception Handling.
At the beginning of the document is written:
Strictly speaking, an interrupt is something that interrupts the flow of software execution. However, in ARM terminology, that is actually an exception.
This means that interrupts are an exception for ARM, right?
I do not have fluency in English, so I have a lot of trouble reading the documents.
Thanks.
Upvotes: 4
Views: 1715
Reputation: 3460
ARM and many other architectures consider the interrupts as a subset of exceptions, because as you cited, all of the exceptions are able to interrupt the flow of software execution (not only interrupts). Summarising, all interrupts are exceptions, but not all exceptions are interrupts, given that, some exceptions can be (managed by an exception handler through a vector table):
So an unaligned data access (data abort) and a timer (IRQ) will trigger the exception handler (and halt the "expected execution of the instructions"), but a data abort is not an interrupt, is an exception.
Upvotes: 4