Back to 课程

Computer-science_A-level_Cie

0% Complete
0/0 Steps
  1. computers-and-components
    6 主题
  2. logic-gates-and-logic-circuits
    2 主题
  3. central-processing-unit-cpu-architecture
    6 主题
  4. assembly-language-
    4 主题
  5. bit-manipulation
    1 主题
  6. operating-systems
    3 主题
  7. language-translators
    2 主题
  8. data-security
    3 主题
  9. data-integrity
    1 主题
  10. ethics-and-ownership
    3 主题
  11. database-concepts
    3 主题
  12. database-management-systems-dbms-
    1 主题
  13. data-definition-language-ddl-and-data-manipulation-language-dml
    1 主题
  14. computational-thinking-skills
    1 主题
  15. algorithms
    14 主题
  16. data-types-and-records
    2 主题
  17. arrays
    2 主题
  18. files
    1 主题
  19. introduction-to-abstract-data-types-adt
    1 主题
  20. programming-basics
    1 主题
  21. constructs
    2 主题
  22. structured-programming
    1 主题
  23. program-development-life-cycle
    2 主题
  24. program-design-
    2 主题
  25. program-testing-and-maintenance
    3 主题
  26. user-defined-data-types
    1 主题
  27. file-organisation-and-access-
    3 主题
  28. floating-point-numbers-representation-and-manipulation
    3 主题
  29. protocols
    2 主题
  30. circuit-switching-packet-switching
    1 主题
  31. processors-parallel-processing-and-virtual-machines
    5 主题
  32. boolean-algebra-and-logic-circuits
    4 主题
  33. purposes-of-an-operating-system-os
    3 主题
  34. translation-software
    3 主题
  35. encryption-encryption-protocols-and-digital-certificates
    3 主题
  36. artificial-intelligence-ai
    4 主题
  37. recursion
    1 主题
  38. programming-paradigms
    4 主题
  39. object-oriented-programming
    7 主题
  40. file-processing-and-exception-handling
    2 主题
  41. data-representation
    5 主题
  42. multimedia
    3 主题
  43. compression
    2 主题
  44. networks-and-the-internet
    11 主题
课 Progress
0% Complete

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

  1. 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

  2. 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

  3. Interrupt Service Routine (ISR) lookup

    • The processor fetches the corresponding Interrupt Service Routine (ISR) associated with the interrupt type

  4. ISR execution

    • The processor transfers control to the ISR and executes the routine to handle the specific interrupt

  5. Interrupt exit

    • After the ISR completes, the processor restores the content of the registers from step 2

    • The fetch-decode-execute cycle is resumed

Flowchart explaining CPU interrupt handling: initialisation, interrupt request, acknowledge, lookup, and execution of interrupt service routines.
The interrupt process

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

Diagram showing an interrupt queue with different priorities processed by an interrupt controller, highlighting the handling of high priority interrupts.
System handling of interrupt priority

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

您的邮箱地址不会被公开。 必填项已用 * 标注