Skip to topic
    ← Back to course topics

    Fundamentals of computer systems — AQA A-Level Computer Science

    Test yourself on Fundamentals of computer systems with AQA A-Level practice questions.

    Start free

    7 days Premium · Then free forever · No card, no charge

    Fundamentals of computer systems explained

    This subtopic explores the fundamental distinction between physical components (hardware) and the instructions that control them (software), including the crucial roles of system software in managing resources and application software in meeting user needs.

    Read the full explanation

    Understanding these classifications and their interdependence is foundational for analysing computer system performance, troubleshooting, and designing efficient IT solutions.

    Your focus

    1. Differentiate between hardware and software using specific examples from modern computer systems.
    2. Explain the role of an operating system as a platform for application software and resource management.
    3. Analyse the relationship between hardware capabilities and software requirements in a given computing scenario.
    Show all 6 objectives
    1. Evaluate the impact of hardware and software choices on system performance and user experience.
    2. Classify given software examples as system software or application software, justifying classifications.
    3. Describe the function of common utility software and their role in maintaining computer systems.

    Fundamentals of computer systems exam tips

    Topic Overview

    Fundamentals of computer systems is the bedrock of AQA A-Level Computer Science, covering how hardware and software interact to form a functional computing environment. This topic explores the von Neumann architecture, the fetch-execute cycle, and the role of system software like operating systems and translators. Understanding these concepts is crucial because they explain how programs are executed at the machine level, bridging the gap between high-level code and physical hardware.

    This topic also introduces data representation (binary, hexadecimal, and character encoding), Boolean logic, and the principles of computer organisation. Mastery of these fundamentals is essential for tackling more advanced topics such as networking, databases, and computational thinking. In the exam, questions often require you to trace through the fetch-execute cycle, convert between number bases, or simplify logic circuits, so a solid grasp here directly boosts your marks.

    Beyond exams, these concepts underpin everything from debugging code to understanding how modern processors optimise performance. For example, knowing about pipelining and cache memory helps you write more efficient algorithms. This topic is not just theoretical—it's the lens through which you see how computers actually work.

    Key Concepts
    • →Von Neumann architecture: A design where data and instructions are stored in the same memory, accessed via a single bus. Key components include the CPU (ALU, control unit, registers), memory (RAM), and I/O systems.
    • →Fetch-execute cycle: The process by which the CPU retrieves an instruction from memory (fetch), decodes it, and performs the required operation (execute). Understand the role of the program counter (PC), memory address register (MAR), memory data register (MDR), and current instruction register (CIR).
    • →Data representation: Binary, denary, and hexadecimal conversions; signed and unsigned integers (using two's complement); character encoding (ASCII and Unicode); and bitwise manipulation (shifts, masks).
    • →Boolean logic: Logic gates (AND, OR, NOT, NAND, NOR, XOR) and truth tables. Simplifying expressions using De Morgan's laws and Karnaugh maps (though K-maps are more common in AS).
    • →System software vs. application software: The OS manages resources (memory, processes, files), while translators (assembler, compiler, interpreter) convert high-level code to machine code. Know the differences between compilation and interpretation.
    Marking Points
    • Award credit for correctly identifying and explaining the distinction between hardware and software with precise definitions.
    • Look for accurate classification of software types with clear justification based on purpose and functionality.
    • Expect candidates to provide examples that illustrate the interdependence, e.g., how an OS manages hardware resources for an application.
    • Credit for demonstrating understanding that system software provides a platform for application software, not just listing types.
    Examiner Tips
    • 💡Use specific, contemporary examples of hardware and software in answers to demonstrate practical knowledge.
    • 💡When defining, always include a clear distinction and a concrete example, avoiding circular definitions.
    • 💡For classification questions, first identify the primary function: if it manages hardware/resources (system) vs. performing specific user tasks (application).
    • 💡Be prepared to explain the layered relationship: hardware → system software → application software → user.
    • 💡When tracing the fetch-execute cycle, always state the contents of the registers at each step. Use the correct acronyms (PC, MAR, MDR, CIR) and show how the address bus, data bus, and control bus are used.
    • 💡For data representation questions, show your working when converting between bases. For two's complement, remember that the most significant bit is negative. Practice with negative numbers to avoid sign errors.
    • 💡In Boolean logic questions, simplify expressions before drawing circuits. Use De Morgan's laws to convert AND/OR combinations into NAND/NOR gates, which are often more efficient in hardware.
    Common Mistakes
    • Conflating hardware with software, e.g., referring to firmware as purely hardware.
    • Misclassifying operating system utilities as application software.
    • Assuming that application software can run without system software (overlooking the OS layer).
    • Providing vague definitions without concrete examples, leading to ambiguous classifications.
    • Misconception: The fetch-execute cycle only occurs once per program. Correction: The cycle repeats continuously for each instruction in the program until the program terminates or is interrupted.
    • Misconception: RAM and ROM are the same thing. Correction: RAM is volatile and used for temporary storage of data and programs; ROM is non-volatile and stores firmware (e.g., BIOS) that does not change.
    • Misconception: Binary and hexadecimal are completely separate systems. Correction: Hexadecimal is a base-16 shorthand for binary; each hex digit represents 4 bits, making it easier for humans to read long binary strings.
    Frequently Asked Questions
    What is the difference between the fetch-execute cycle and the instruction cycle?
    The fetch-execute cycle and the instruction cycle are essentially the same thing. Both describe the process by which a CPU retrieves an instruction from memory, decodes it, and executes it. Some textbooks break the cycle into more stages (e.g., fetch, decode, execute, store), but the core concept is identical. In AQA A-Level, you should be comfortable using either term.
    How do I convert a negative denary number to binary using two's complement?
    First, convert the absolute value of the number to binary. Then invert all the bits (change 1s to 0s and vice versa). Finally, add 1 to the result. For example, to convert -5: 5 in binary is 0101 (using 4 bits). Invert to get 1010, then add 1 to get 1011. So -5 in two's complement is 1011. Remember that the leftmost bit indicates the sign (1 for negative).
    Why do we need both RAM and ROM in a computer?
    RAM (Random Access Memory) is volatile and used to store data and programs that are currently in use. It allows fast read/write access, which is essential for running applications. ROM (Read-Only Memory) is non-volatile and stores firmware, such as the BIOS, which is needed to boot the computer. ROM retains its contents even when the power is off, ensuring the computer can start up. Together, they provide both temporary working memory and permanent startup instructions.
    What is the difference between a compiler and an interpreter?
    A compiler translates the entire source code into machine code at once, producing an executable file. This executable can be run independently without the compiler. An interpreter translates and executes the source code line by line, without producing a separate executable. Compilation is generally faster for execution but slower for development (due to compile time), while interpretation is slower during execution but allows for easier debugging and interactive use.
    How do logic gates relate to Boolean algebra?
    Logic gates are physical implementations of Boolean algebra operations. For example, an AND gate outputs 1 only if both inputs are 1, which corresponds to the Boolean expression A·B. Similarly, an OR gate corresponds to A+B, and a NOT gate corresponds to ¬A. Boolean algebra allows us to simplify logic circuits algebraically, reducing the number of gates needed. This is crucial for designing efficient digital circuits.
    What is the purpose of the control unit in the CPU?
    The control unit (CU) coordinates the activities of the CPU. It decodes instructions, controls the flow of data between the CPU and other components (memory, I/O), and generates timing signals. It does not perform arithmetic or logical operations—that's the ALU's job. Instead, the CU ensures that each step of the fetch-execute cycle happens in the correct order and that data moves to the right places.