Computer-science_A-level_Cie
-
computers-and-components6 主题
-
logic-gates-and-logic-circuits2 主题
-
central-processing-unit-cpu-architecture6 主题
-
assembly-language-4 主题
-
bit-manipulation1 主题
-
operating-systems3 主题
-
language-translators2 主题
-
data-security3 主题
-
data-integrity1 主题
-
ethics-and-ownership3 主题
-
database-concepts3 主题
-
database-management-systems-dbms-1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml1 主题
-
computational-thinking-skills1 主题
-
algorithms14 主题
-
data-types-and-records2 主题
-
arrays2 主题
-
files1 主题
-
introduction-to-abstract-data-types-adt1 主题
-
programming-basics1 主题
-
constructs2 主题
-
structured-programming1 主题
-
program-development-life-cycle2 主题
-
program-design-2 主题
-
program-testing-and-maintenance3 主题
-
user-defined-data-types1 主题
-
file-organisation-and-access-3 主题
-
floating-point-numbers-representation-and-manipulation3 主题
-
protocols2 主题
-
circuit-switching-packet-switching1 主题
-
processors-parallel-processing-and-virtual-machines5 主题
-
boolean-algebra-and-logic-circuits4 主题
-
purposes-of-an-operating-system-os3 主题
-
translation-software3 主题
-
encryption-encryption-protocols-and-digital-certificates3 主题
-
artificial-intelligence-ai4 主题
-
recursion1 主题
-
programming-paradigms4 主题
-
object-oriented-programming7 主题
-
file-processing-and-exception-handling2 主题
-
data-representation5 主题
-
multimedia3 主题
-
compression2 主题
-
networks-and-the-internet11 主题
interrupts
Interrupt handling
What are interrupts?
-
An interrupt is a signal to the processor that stops its current task and performs a different task temporarily
-
Interrupts can be hardware events or time-sensitive tasks
-
When an interrupt occurs, the processor suspends the current program execution and transfers control to an interrupt service routine
Purpose and role of interrupts
-
Real-time Event Handling: hardware errors and signals from input devices e.g. hard disk failure
-
Device Communication: alerts from external devices e.g. printer jams and network errors
-
Multitasking: suspending processing in one application so that the user can switch to another
Types of interrupts
|
Type |
Definition |
Example |
|---|---|---|
|
Hardware Interrupts |
Generated by external devices |
Keyboard input, mouse movements, disk I/O requests |
|
Software Interrupts |
Triggered by software or the operating system |
Application requests to open a file, division by zero errors |
|
Trap Interrupts |
Intentionally triggered by a program |
Software debugging, handling unexpected error cases |
The interrupt process
-
Interrupt Request (IRQ)
-
An external device or software generates an interrupt, signalling the processor to stop its current task
-
The interrupt controller passes this to the interrupt handler for assessment
-
-
Interrupt acknowledge
-
The interrupt handler decides if the interrupt needs to be dealt with now or later
-
If yes, the current contents of the processor registers are saved in memory
-
-
Interrupt Service Routine (ISR) lookup
-
The processor fetches the corresponding Interrupt Service Routine (ISR) associated with the interrupt type
-
-
ISR execution
-
The processor transfers control to the ISR and executes the routine to handle the specific interrupt
-
-
Interrupt exit
-
After the ISR completes, the processor restores the content of the registers from step 2
-
The fetch-decode-execute cycle is resumed
-

What is an ISR?
-
An ISR is a special function that handles a particular interrupt type
-
Each type of interrupt has a corresponding routine
-
E.g. printer jam, hard disk failure, file download error, network connection error all have routines to be followed when they happen
-
-
ISRs should be concise, efficient, and carefully designed to minimise the time taken to execute, as they often need to handle time-sensitive events
Interrupt priority and nesting
-
Interrupt prioritisation means the processor can acknowledge and switch to resolving a higher-priority interrupt
-
Prioritising interrupts is vital because many things can go wrong at the same time
-
Lower-priority ISRs may be temporarily suspended until the higher-priority ISR completes the execution
-
Nesting of interrupts refers to the ability of the processor to handle interrupts within interrupts
-
Proper management of nested interrupts avoids potential conflicts and ensures system stability
Nesting of interrupts
Interrupt priority handling

Worked Example
Explain how the computer handles an interrupt when a key is pressed on the keyboard. [5]
Answer
-
An interrupt flag is raised in the interrupt register [1 mark]
-
The system finishes its current fetch-execute cycle [1 mark]
-
The interrupt register is checked for a higher priority interrupt [1 mark]
-
If a higher priority interrupt is found, the current register contents are pushed to the stack [1 mark]
-
The appropriate Interrupt Service Routine (ISR) is executed [1 mark]
-
The ISR processes the key press and completes [1 mark]
-
The register contents are restored from the stack [1 mark]
-
Control is returned to the original process [1 mark]
Responses