diff options
author | jjsuperpower <jjs29356@gmail.com> | 2022-06-19 22:20:25 -0500 |
---|---|---|
committer | jjsuperpower <jjs29356@gmail.com> | 2022-06-19 22:20:25 -0500 |
commit | 26169bec7ae7b85d938f5d3c6e969885f2230541 (patch) | |
tree | 86752721345fc913acc1d3f8f9e4fdd322c97ae9 /doc/src/05-Interrupt-Handling.md |
added hdl folder
Diffstat (limited to 'doc/src/05-Interrupt-Handling.md')
-rw-r--r-- | doc/src/05-Interrupt-Handling.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/src/05-Interrupt-Handling.md b/doc/src/05-Interrupt-Handling.md new file mode 100644 index 0000000..0c549e1 --- /dev/null +++ b/doc/src/05-Interrupt-Handling.md @@ -0,0 +1,30 @@ +# Interrupt and Exception Handling + +This chapter describes the interrupt and exception-handling mechanism on a +Vertex-32 or Vertex-64 processor. + +## Interrupts Overview + +Interrupts and exceptions are events that get triggered either upon a special +condition or when the instruction `INT interrupt_number` is executed. Typically, +an interrupt forces a transfer of execution from the currently executing task to +a special routine called an interrupt handler or an exception handler. The +action taken by a processor in response to an interrupt is referred to as +servicing or handling the interrupt or exception. + +Interrupts can occur at regular intervals or randomly during the execution of a +task or software routine in response to signals from hardware, such as requests +from peripheral devices. Interrupts can also be generated by software by calling +the `INT` instruction. + +Exceptions occur when the processor detects an error condition while executing +an instruction. For instance, the processor could detect that a program is +requesting a page that is currently not mapped, generating a page fault. + +When an interrupt is received, the currently running task is suspended while the +processor services the interrupt or exception. Upon completion of the interrupt +handler, execution is returned to the suspended task without loss of continuity. +If the exception cannot be handled or the exception handler does not return, a +double fault is generated. If a further exception is encountered while servicing +the double fault, it is considered an unrecoverable error and the processor is +reset. |