What is the Difference Between Maskable and Non Maskable Interrupt

The main difference between maskable and non maskable interrupt is that a CPU can either disable or ignore a maskable interrupt, but it is not possible to disable or ignore a non-maskable interrupt by the instructions of a CPU.

Generally, an interrupt is an event caused by a component other than the CPU. It indicates the CPU of an external event that requires immediate attention. Furthermore, interrupts occur asynchronously. Maskable and non-maskable interrupts are two types of interrupts.

Key Areas Covered

1. What is Maskable Interrupt
     – Definition, Functionality
2. What is Non Maskable Interrupt
     – Definition, Functionality
3. Difference Between Maskable and Non Maskable Interrupt
    – Comparison of Key Differences

Key Terms

Interrupt, Maskable Interrupt, Non-Maskable Interrupt

Difference Between Maskable and Non Maskable - Comparison Summary

What is Maskable Interrupt

Maskable interrupts are the interrupts that the processor can deny. Therefore, these interrupts help in managing low priority tasks. Moreover, RST6.5, RST7.5, and RST5.5 of 8085 are some common examples of maskable Interrupts.

What is Non Maskable Interrupt

Non-maskable interrupt (NMI) is an interrupt the CPU cannot ignore. Usually, it indicates a non-recoverable hardware error. Non-maskable interrupts help when response time is critical or when it is not possible to disable normal system operations.

Difference Between Maskable and Non Maskable Interrupt

Modern computer systems use this type of interrupt to handle non-recoverable errors which need immediate attention. Therefore, it is not possible to mask these interrupts in the normal operation of the system. Moreover, internal system chipset errors, errors in memory, data corruption errors on the system and peripheral buses are some examples of such errors. Also, debugging helps to diagnose and fix faults in the code. In these situations, the NMI can execute an interrupt handler that transfers control to a special monitor program.

Difference Between Maskable and Non Maskable Interrupt

Definition

A maskable interrupt is a hardware interrupt that may be ignored by setting a bit in an interrupt mask register’s (IMR) bit-mask. In contrast, nNon-maskable interrupt is a hardware interrupt that lacks an associated bit-mask, so that it can never be ignored. Thus, this is the main difference between maskable and non maskable interrupt.

Functionality

CPU can disable or ignore a maskable interrupt while the CPU cannot disable or ignore a non-maskable interrupt.

Usage

Moreover, maskable interrupts help to handle lower priority tasks, whereas non-maskable interrupt help to handle higher priority tasks such as watchdog timers. Hence, this is another difference between maskable and non maskable interrupts.

Processing

Also, it is possible to handle a maskable interrupt after executing the current instruction, but when non-maskable interrupts occur, the current instructions and status are stored in stack for the CPU to handle the interrupt.

Examples

Furthermore, RST6.5, RST7.5, RST5.5 of 8085 microprocessor are some maskable interrupts, whereas Trap of 8085 microprocessor is an example for non-maskable interrupt.

Conclusion

In brief, maskable and non-maskable interrupts are two types of interrupts. The main difference between maskable and non maskable interrupt is that maskable interrupt can be disabled or ignored by the CPU while non-maskable interrupt cannot be disabled or ignored by the CPU.

References:

1.“Interrupt.” Wikipedia, Wikimedia Foundation, 6 May 2019, Available here.
2.“Non-Maskable Interrupt.” Wikipedia, Wikimedia Foundation, 9 Sept. 2018, Available here.

Image Courtesy:

1.”Interrupt” By Jens Kreberderivative work Parzi – PDF by Jens Kreber and Prozessorregister Interrupts.svg by xl (CC BY-SA 3.0) via Commons Wikimedia

About the Author: Lithmee

Lithmee holds a Bachelor of Science degree in Computer Systems Engineering and is reading for her Master’s degree in Computer Science. She is passionate about sharing her knowldge in the areas of programming, data science, and computer systems.

Leave a Reply