Whats the difference between an exception, a trap and an interrupt?
Exception is a general term for an exceptional event that breaks the normal instruction flow. There are several types of exceptions. Traps are exceptions that are triggered by an action of the program. An trap example is an attempt of a program to execute an undefined instruction. Interrupts are asynchronous events triggered by sources which are external to the core, like a timer.