1.2.1 (c) Interrupts, the role of interrupts and Interrupt Service Routines (ISR), role within the Fetch‑Decode-Execute Cycle - Sullivan Tutor Academy
Skip to content
Skip to content
Sullivan Tutor Academy logo
  • Login
    • Register
  • Courses
    • Free Python Cheat Sheet
    • Cart 🛒
  • Login
    • Register
  • Courses
    • Free Python Cheat Sheet
    • Cart 🛒
OCR H446 A-level Knowledge Compendium 1.2.1 (c) Interrupts, the role of interrupts and Interrupt Service Routines (ISR), role within the Fetch‑Decode-Execute Cycle
OCR H446 A-level Knowledge Compendium
0% Completed
1.1 Characteristics of Contemporary Processors, Input, Output, and Storage Devices
1.1.1 STRUCTURE AND FUNCTION OF THE PROCESSOR OVERVIEW
Reading
1.1.1 (a) The ALU, Control Unit and Registers. Buses: data, address and control: how this relates to assembly language programs
Reading
1.1.1 (b) The Fetch-Decode-Execute Cycle; including its effects on registers
Reading
1.1.1 (c) The factors affecting the performance of the CPU: clock speed, number of cores, cache
Reading
1.1.1 (d) The use of pipelining in a processor to improve efficiency
Reading
1.1.1 (e) Von Neumann, Harvard and contemporary processor architecture
Reading
1.1.2 TYPES OF PROCESSOR OVERVIEW
Reading
1.1.2 (a) The differences between and uses of CISC and RISC processors
Reading
1.1.2 The differences between and uses of CISC and RISC processors
Reading
1.1.2 (b) GPUs and their uses (including those not related to graphics)
Reading
1.1.2 (c) Multicore and parallel systems
Reading
1.1.3 INPUT, OUTPUT, AND STORAGE OVERVIEW
Reading
1.1.3 (a) How different input, output and storage devices can be applied to the solution of different problems
Reading
1.1.3 (b) The uses of magnetic, flash and optical storage devices
Reading
1.1.3 (c) RAM and ROM
Reading
1.1.3 (d) Virtual storage
Reading
1.2 Software and Software Development
1.2.1 Systems Software Overview
Reading
1.2.1 (a) The need for, function and purpose of operating systems
Reading
1.2.1 (b) Memory management (paging, segmentation, and virtual memory)
Reading
1.2.1 (c) Interrupts, the role of interrupts and Interrupt Service Routines (ISR), role within the Fetch‑Decode-Execute Cycle
Reading
1.2.1 (d) Scheduling: round robin, first come first served, multi-level feedback queues, shortest job first and shortest remaining time
Reading
1.2.1 (e) Distributed, embedded, multi-tasking, multi-user and Real Time operating systems
Reading
1.2.1 (f) BIOS
Reading
1.2.1 (g) Device drivers
Reading
1.2.1 (h) Virtual machines, any instance where software is used to take on the function of a machine, including executing intermediate code or running an operating system within another
Reading
1.2.2 Applications Generation Overview
Reading
1.2.2 (a) The nature of applications, justifying suitable applications for a specific purpose
Reading
1.2.2 (b) Utilities
Reading
1.2.2 (c) Open source vs closed source
Reading
1.2.2 (d) Translators: Interpreters, compilers, and assemblers
Reading
1.2.2 (e) Stages of compilation (lexical analysis, syntax analysis, code generation, and optimisation)
Reading
1.2.2 (f) Linkers and loaders and use of libraries
Reading
1.2.3 Software Development Overview
Reading
1.2.3 (a) Understand the waterfall lifecycle, agile methodologies, extreme programming, the spiral model and rapid application development
Reading
1.2.3 (b) The relative merits and drawbacks of different methodologies and when they might be used
Reading
1.2.3 (c) Writing and following algorithms
Reading
1.2.4 Types of Programming Language Overview
Reading
1.2.4 (a) Need for and characteristics of a variety of programming paradigms
Reading
1.2.4 (b) Procedural languages
Reading
1.2.4 (c) Assembly language (including following and writing simple programs with the Little Man Computer instruction set)
Reading
1.2.4 (d) Modes of addressing memory (immediate, direct, indirect and indexed)
Reading
1.2.4 (e) Object-oriented languages (see appendix 5d for pseudocode style) with an understanding of classes, objects, methods, attributes, inheritance, encapsulation and polymorphism
Reading
1.3 Exchanging Data
1.3.1 Compression, Encryption and Hashing Overview
Reading
1.3.1 (a) Lossy vs lossless compression
Reading
1.3.1 (b) Run length encoding and dictionary coding for lossless compression
Reading
1.3.1 (c) Symmetric and asymmetric encryption
Reading
1.3.1 (d) Different uses of hashing
Reading
1.3.2 Databases Overview
Reading
1.3.2 (a) Relational database, flat file, primary key, foreign key, secondary key, entity relationship modelling, normalisation and indexing
Reading
1.3.2 (b) Methods of capturing, selecting, managing and exchanging data
Reading
1.3.2 (c) Normalisation to 3NF
Reading
1.3.2 (d) SQL - Interpret and modify
Reading
1.3.2 (e) Referential integrity
Reading
1.3.2 (f) Transaction processing, ACID (Atomicity, Consistency, Isolation, Durability), record locking and redundancy
Reading
1.3.3 Networks Overview
Reading
1.3.3 (a) Characteristics of networks and the importance of protocols and standards
Reading
1.3.3 (b) The internet structure: The TCP/IP stack, DNS, protocol layering, packet and circuit switching
Reading
1.3.3 (c) Network security and threats, use of firewalls, proxies and encryption
Reading
1.3.3 (d) Network hardware
Reading
1.3.3 (e) Client-server and peer to peer
Reading
1.3.4 Web Technologies Overview
Reading
1.3.4 (a) HTML, CSS and JavaScript
Reading
1.3.4 (b) Search engine indexing
Reading
1.3.4 (c) PageRank algorithm
Reading
1.3.4 (d) Server and client side processing
Reading
1.4 Data Types, Data Structures, and Algorithms
1.4.1 Data Types Overview
Reading
1.4.1 (a) Primitive data types, integer, real/floating point, character, string and Boolean
Reading
1.4.1 (b) Represent positive integers in binary
Reading
1.4.1 (c) Use of sign and magnitude and two's complement to represent negative numbers in binary
Reading
1.4.1 (d) Addition and subtraction of binary integers
Reading
1.4.1 (e) Represent positive integers in hexadecimal
Reading
1.4.1 (f) Convert positive integers between binary hexadecimal and denary
Reading
1.4.1 (g) Representation and normalisation of floating point numbers in binary
Reading
1.4.1 (h) Floating point arithmetic, positive and negative numbers, addition and subtraction
Reading
1.4.1 (i) Bitwise manipulation and masks: shifts, combining with AND, OR, and XOR
Reading
1.4.1 (j) How character sets (ASCII and UNICODE) are used to represent text
Reading
1.4.2 Data Structures Overview
Reading
1.4.2 (a) Arrays (of up to 3 dimensions), records, lists, tuples
Reading
1.4.2 (b) The following structures to store data: linked-list, graph (directed and undirected), stack, queue, tree, binary search tree, hash table
Reading
1.4.2 (c) How to create, traverse, add data to and remove data from the data structures mentioned above. (NB this can be either using arrays and procedural programming or an object-oriented approach)
Reading
1.4.3 Boolean Algebra Overview
Reading
1.4.3 (a) Define problems using Boolean logic
Reading
1.4.3 (b) Manipulate Boolean expressions, including the use of Karnaugh maps to simplify Boolean expressions
Reading
1.4.3 (c) Use the following rules to derive or simplify statements in Boolean algebra: De Morgan's laws, distribution, association, commutation, double negation
Reading
1.4.3 (d) Using logic gate diagrams and truth tables
Reading
1.4.3 (e) The logic associated with D type flip flops, half and full adders
Reading
1.5 Legal, Moral, Cultural, and Ethical Issues
1.5.1 Computing Related Legislation Overview
Reading
1.5.1 (a) The data protection act 1998 / 2018
Reading
1.5.1 (b) The computer misuse act 1990
Reading
1.5.1 (c) The copyright design and patents act 1988
Reading
1.5.1 (d) The regulation of investigatory powers act 2000
Reading
1.5.2 Moral and Ethical Issues Overview
Reading
1.5.2 The individual moral, social, ethical and cultural opportunities and risks of digital technology
Reading
2.1 Elements of Computational Thinking
2.1.1 Thinking Abstractly Overview
Reading
2.1.1 (a) The nature of abstraction
Reading
2.1.1 (b) The need for abstraction
Reading
2.1.1 (c) The differences between an abstraction and reality
Reading
2.1.1 (d) Devise an abstract model for a variety of situations
Reading
2.1.2 Thinking Ahead Overview
Reading
2.1.2 (a) Identify the inputs and outputs for a given situation
Reading
2.1.2 (b) Determine the preconditions for devising a solution to a problem
Reading
2.1.2 (c) The nature, benefits and drawbacks of caching
Reading
2.1.2 (d) The need for reusable program components
Reading
2.1.3 Thinking Procedurally Overview
Reading
2.1.3 (a) Identify the components of a problem
Reading
2.1.3 (b) Identify the components of a solution to a problem
Reading
2.1.3 (c) Determine the order of the steps needed to solve a problem
Reading
2.1.3 (d) Identify sub-procedures necessary to solve a problem
Reading
2.1.4 Thinking Logically Overview
Reading
2.1.4 (a) Identify the points in a solution where a decision has to be taken
Reading
2.1.4 (b) Determine the logical conditions that affect the outcome of a decision
Reading
2.1.4 (c) Determine how decisions affect flow through a program
Reading
2.1.5 Thinking Concurrently Overview
Reading
2.1.5 (a) Determine the parts of a problem that can be tackled at the same time
Reading
2.1.5 (b) Outline the benefits and trade offs that might result from concurrent processing in a particular situation
Reading
2.2 Problem Solving and Programming
2.2.1 Programming Techniques Overview
Reading
2.2.1 (a) Programming constructs: sequence, iteration, branching
Reading
2.2.1 (b) Recursion, how it can be used and compares to an iterative approach
Reading
2.2.1 (c) Global and local variables
Reading
2.2.1 (d) Modularity, functions and procedures, parameter passing by value and by reference
Reading
2.2.1 (e) Use of an IDE to develop/debug a program
Reading
2.2.1 (f) Use of object oriented techniques
Reading
2.2.2 Computational Methods Overview
Reading
2.2.2 (a) Features that make a problem solvable by computational methods
Reading
2.2.2 (b) Problem recognition
Reading
2.2.2 (c) Problem decomposition
Reading
2.2.2 (d) Use of divide and conquer
Reading
2.2.2 (e) Use of abstraction
Reading
2.2.2 (f) Learners should apply their knowledge of: backtracking, data mining, heuristics, performance modelling, pipelining, visualisation to solve problems
Reading
2.3 Algorithms
2.3.1 Algorithms Overview
Reading
2.3.1 (a) Analysis and design of algorithms for a given situation
Reading
2.3.1 (b) The suitability of different algorithms for a given task and data set, in terms of execution time and space
Reading
2.3.1 (c) Measures and methods to determine the efficiency of different algorithms, Big O notation (constant, linear, polynomial, exponential and logarithmic complexity)
Reading
2.3.1 (d) Comparison of the complexity of algorithms
Reading
2.3.1 (e) Algorithms for the main data structures, (stacks, queues, trees, linked lists, depth-first (post-order) and breadth-first traversal of trees)
Reading
2.3.1 (f) Standard algorithms (bubble sort, insertion sort, merge sort, quick sort, Dijkstra’s shortest path algorithm, A* algorithm, binary search and linear search)
Reading
Resources Announcements Reviews Live Classes Gradebook Certificate Course Info
PreviousNext
  • Terms and Conditions
  • Privacy Policy
  • Safeguarding Policy
  • Refund and Cancellation Policy
  • Accessibility statement

Copyright © 2026 Sullivan Tutor Academy