Computer Science AS CIE
-
data-representation as5 主题
-
multimedia as3 主题
-
compression as2 主题
-
networks-and-the-internet as11 主题
-
computers-and-components as5 主题
-
logic-gates-and-logic-circuits as2 主题
-
central-processing-unit-cpu-architecture as6 主题
-
assembly-language- as4 主题
-
bit-manipulation as1 主题
-
operating-systems as3 主题
-
language-translators as2 主题
-
data-security as3 主题
-
data-integrity as1 主题
-
ethics-and-ownership as3 主题
-
database-concepts as3 主题
-
database-management-systems-dbms- as1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml as1 主题
-
computational-thinking-skills as1 主题
-
algorithms as4 主题
-
data-types-and-records as2 主题
-
arrays as2 主题
-
files as1 主题
-
introduction-to-abstract-data-types-adt as1 主题
-
programming-basics as1 主题
-
constructs as2 主题
-
structured-programming as1 主题
-
program-development-life-cycle as1 主题
-
program-design- as2 主题
-
program-testing-and-maintenance as3 主题
interrupts as
Exam code:9618
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