EngineeringComputer EngineeringMedium

Computer Interrupt

Also known as:IRQ (Interrupt Request)Hardware InterruptSoftware Interrupt

A computer interrupt is a signal sent to the processor indicating that an event requiring immediate attention has occurred, causing the CPU to pause its current execution, save its state, and transfer control to an interrupt service routine (ISR). Interrupts can originate from hardware (e.g., a keypress, network packet arrival, timer expiry) or software (e.g., system calls, exceptions). The interrupt mechanism is fundamental to efficient multitasking and real-time responsiveness, as it allows the CPU to react to asynchronous events without continuously polling devices.

Types of Computer Interrupts

TypeSourceExampleMaskable?
Hardware InterruptExternal deviceKeyboard press, USB plug-inYes (IRQ)
Software InterruptRunning programSystem call (INT 0x80)Yes
Exception / TrapCPU internallyDivision by zero, page faultNo
Non-Maskable Interrupt (NMI)Critical hardwareMemory parity errorNo
Timer InterruptSystem clockOS scheduler tick (e.g., 100 Hz)Yes

Interactive Tools

OSDev Wiki

Detailed reference on interrupt handling in x86 operating system development

Open Tool

Brilliant.org — Computer Science

Interactive exercises on CPU operation and system architecture

Open Tool

Khan Academy — Computer Science

Foundational lessons on how processors manage tasks and events

Open Tool
Flowchart illustrating the process of handling a hardware interrupt in a CPU

Wikimedia Commons, CC BY-SA

Related Terms

Engineering

Instruction Set Architecture

Instruction Set Architecture (ISA) is the abstract model of a computer that defines the set of instructions a processor can execute, along with the data types, registers, addressing modes, and memory architecture it supports. The ISA forms the interface between hardware and software, allowing compilers and programmers to write code without knowing the underlying circuit details. Common ISA families include x86, ARM, RISC-V, and MIPS, each with distinct trade-offs between instruction complexity, power consumption, and performance.

Engineering

Real-Time System

A real-time system is a computing system in which the correctness of the system depends not only on the logical result of computation but also on the time at which the results are produced. Hard real-time systems require that deadlines are always met; failure to do so results in system failure (e.g., aircraft fly-by-wire, airbag controllers). Soft real-time systems tolerate occasional deadline misses with degraded performance but no catastrophic failure (e.g., video streaming, interactive games). Real-time systems rely on real-time operating systems (RTOS) that provide deterministic scheduling and interrupt handling.

Engineering

Embedded System

An embedded system is a dedicated computer system designed to perform one or a few specific functions within a larger mechanical or electronic device, operating under real-time computing constraints. Embedded systems combine a microcontroller or microprocessor with custom software (firmware) and interface directly with hardware peripherals such as sensors, actuators, and displays. They are ubiquitous in modern life, found in smartphones, automotive ECUs, washing machines, medical pacemakers, and industrial PLCs.

From Latin "interruptus," past participle of "interrumpere" (to break apart, break off), composed of "inter-" (between) and "rumpere" (to break). In computing, the term was established in the late 1950s with the development of the IBM Stretch (7030) supercomputer, one of the first systems to implement hardware interrupts.

cpuinterrupt-service-routinereal-timehardwareoperating-system