Skip to topic
    ← Back to course topics

    Fundamentals of computer organisation and architecture — AQA A-Level Computer Science

    Test yourself on Fundamentals of computer organisation and architecture with AQA A-Level practice questions.

    Start free

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

    Fundamentals of computer organisation and architecture explained

    This topic covers the internal hardware components of a computer system, including the role of the processor, main memory, and buses.

    Read the full explanation

    It also explores the von Neumann and Harvard architectures, the stored program concept, the Fetch-Execute cycle, and factors affecting processor performance.

    What to demonstrate

    1. Distinction between von Neumann and Harvard architectures
    2. Description of the stored program concept
    3. Role and operation of processor components (ALU, CU, clock, registers)
    Show all 8 objectives
    1. Stages of the Fetch-Execute cycle
    2. Interpretation of processor instruction sets (opcode and operand)
    3. Application of immediate and direct addressing modes
    4. Explanation of factors affecting processor performance (cores, cache, clock speed, word length, bus widths)
    5. Principles of operation for input, output, and secondary storage devices

    Fundamentals of computer organisation and architecture exam tips

    Topic Overview

    The fundamentals of computer organisation and architecture form the backbone of understanding how a computer system operates at the hardware level. This topic covers the internal structure of a computer, including the central processing unit (CPU), memory hierarchy, and input/output mechanisms. You will explore how data is represented, stored, and processed, and how the fetch-execute cycle drives program execution. Understanding these concepts is crucial for appreciating how software interacts with hardware and for optimising performance.

    In the AQA A-Level Computer Science specification, this topic is essential for building a foundation in systems architecture. It links directly to topics such as assembly language, operating systems, and performance analysis. By mastering this area, you will be able to explain how factors like clock speed, cache size, and core count affect processing speed, and how different architectures (e.g., von Neumann vs. Harvard) influence system design. This knowledge is not only exam-relevant but also vital for careers in hardware engineering, embedded systems, and low-level programming.

    This topic also introduces key concepts like the stored program concept, where both instructions and data are held in memory, and the role of buses in data transfer. You will learn about the control unit, arithmetic logic unit (ALU), and registers such as the program counter (PC), memory address register (MAR), and memory data register (MDR). These components work together to execute instructions, and understanding their interplay is critical for answering exam questions on CPU performance and pipelining.

    Key Concepts
    • →The von Neumann architecture: a single shared memory for data and instructions, with a single bus for data transfer, leading to the von Neumann bottleneck.
    • →The fetch-execute cycle: the process by which the CPU retrieves an instruction from memory (fetch), decodes it, and executes it, using registers like PC, MAR, MDR, and CIR.
    • →CPU components: the control unit (CU) coordinates operations, the arithmetic logic unit (ALU) performs calculations, and registers provide fast temporary storage.
    • →Memory hierarchy: registers, cache (L1, L2, L3), RAM, and secondary storage, each with different speeds and costs, affecting overall system performance.
    • →Pipelining: a technique where multiple instructions are overlapped in execution, improving throughput but introducing hazards (structural, data, control).
    Marking Points
    • Distinction between von Neumann and Harvard architectures
    • Description of the stored program concept
    • Role and operation of processor components (ALU, CU, clock, registers)
    • Stages of the Fetch-Execute cycle
    • Interpretation of processor instruction sets (opcode and operand)
    • Application of immediate and direct addressing modes
    • Explanation of factors affecting processor performance (cores, cache, clock speed, word length, bus widths)
    • Principles of operation for input, output, and secondary storage devices
    Examiner Tips
    • 💡Ensure you can clearly distinguish between the roles of the address, data, and control buses.
    • 💡Practice tracing the Fetch-Execute cycle with specific register names.
    • 💡Be prepared to interpret simple machine code instructions given an opcode/operand format.
    • 💡Understand the trade-offs between different secondary storage devices regarding speed, capacity, and cost.
    • 💡Use clear, technical terminology when describing processor components.
    • 💡When describing the fetch-execute cycle, always name the registers involved (PC, MAR, MDR, CIR) and explain the role of each. For example, during fetch, the PC is copied to the MAR, then the MDR receives the instruction from memory, and it is placed in the CIR for decoding.
    • 💡For performance questions, use comparative language: 'A larger cache reduces the average memory access time because it stores frequently used data closer to the CPU.' Avoid vague statements like 'it makes it faster.'
    • 💡In questions about pipelining, clearly state that it increases throughput (instructions per second) but does not reduce the latency of a single instruction. Also, mention hazards and how they can be mitigated (e.g., branch prediction).
    Common Mistakes
    • Confusing the roles of the address bus and data bus
    • Failing to explain the difference between von Neumann and Harvard architectures correctly
    • Misinterpreting the Fetch-Execute cycle stages
    • Incorrectly applying addressing modes
    • Confusing the purpose of different secondary storage devices
    • Misconception: The clock speed alone determines CPU performance. Correction: While clock speed is important, factors like cache size, number of cores, and pipelining also significantly impact performance. A CPU with a lower clock speed but larger cache and more cores can outperform a higher-clocked CPU.
    • Misconception: RAM is the same as secondary storage. Correction: RAM is volatile memory used for temporary data storage during program execution, while secondary storage (e.g., hard drives, SSDs) is non-volatile and used for long-term data storage. They serve different purposes in the memory hierarchy.
    • Misconception: The fetch-execute cycle only runs once per instruction. Correction: The cycle repeats continuously for each instruction in a program. The program counter is updated to point to the next instruction, and the cycle loops until the program ends or is interrupted.
    Frequently Asked Questions
    What is the difference between von Neumann and Harvard architecture?
    In von Neumann architecture, both data and instructions are stored in the same memory and share a single bus, which can create a bottleneck. Harvard architecture uses separate memory and buses for data and instructions, allowing simultaneous access and often faster processing. Harvard is common in embedded systems and microcontrollers, while von Neumann is used in general-purpose computers.
    How does cache memory improve CPU performance?
    Cache memory is a small, fast memory located close to the CPU that stores copies of frequently used data and instructions. By reducing the need to access slower main memory (RAM), cache reduces the average memory access time, speeding up program execution. The principle of locality (temporal and spatial) ensures that cache hits are common.
    What is the fetch-execute cycle?
    The fetch-execute cycle is the fundamental process by which a CPU executes instructions. It consists of three stages: fetch (retrieve instruction from memory), decode (interpret the instruction), and execute (perform the operation). The cycle repeats for each instruction, with the program counter (PC) updating to point to the next instruction. Registers like MAR, MDR, and CIR are used during the cycle.
    What is pipelining and how does it work?
    Pipelining is a technique where the CPU overlaps the execution of multiple instructions by dividing the fetch-execute cycle into stages (e.g., fetch, decode, execute, write-back). While one instruction is being executed, the next is being decoded, and the one after that is being fetched. This increases throughput (instructions per second) but can cause hazards if instructions depend on each other.
    Why is the control unit important?
    The control unit (CU) coordinates all CPU operations. It decodes instructions, generates control signals to direct data flow between the ALU, registers, and memory, and manages the fetch-execute cycle. Without the CU, the CPU would not be able to sequence operations correctly or respond to interrupts.
    What factors affect CPU performance?
    Key factors include clock speed (higher frequency means more cycles per second), cache size and level (larger/faster cache reduces memory latency), number of cores (allows parallel processing), and pipelining depth. Other factors include instruction set design, branch prediction accuracy, and the speed of the system bus.