Study Guides
OxfordAQA A-Level Computer Science: Computer organisation and architecture (9645)
Study guide to OxfordAQA International A-level Computer Science topic 7: buses, the processor, Fetch-Execute, storage, logic gates and Boolean algebra.
- Subject
- Computer Science
- Level
- AS LEVEL
- Topic
- Computer organisation and architecture
- Author
- Marlbridge Academic Team
- Updated
Aligned to OxfordAQA A Level Computer Science (9645), 2024-onwards. Official specification .
Syllabus page (what it covers and how it is assessed): OxfordAQA A Level Computer Science.
Syllabus points this page covers
9645 (AS Level)
- 7 Computer organisation and architecture (whole topic)
Found an error? Report a correction.
Need help with this topic? Request a free trial class for A Level Computer Science (9645).
This study guide teaches topic 7, Computer organisation and architecture, of the OxfordAQA International AS and A-level Computer Science (9645) specification, Version 1.1, for International AS exams May/June 2025 onwards and International A-level exams May/June 2026 onwards. Its scope is sections 3.7.1 to 3.7.7, every one of them International AS content. The specification places them in the Unit 2 written paper, Concepts and principles of computer science, and they count towards the full International A-level too.
Use the revision notes and practice questions. See the course hub, the printable checklist and the free diagnostics. Binary for adders is in representing data.
Notation. The specification writes NOT as a bar, AND as ⋅, OR as + and XOR as ⨁. Here a bar over one letter appears as A̅, and a bar over a bracket is written NOT(A + B).
What this topic covers
| Section | You must be able to |
|---|---|
| 3.7.1 | Describe components and buses; addressable memory; stored program concept; von Neumann versus Harvard |
| 3.7.2 | Explain the ALU, control unit, clock and registers |
| 3.7.3 | Explain the Fetch-Execute cycle; interrupts and ISRs |
| 3.7.4 | Explain factors affecting processor performance |
| 3.7.5 | Explain secondary storage, hard disks, SSDs and cloud storage |
| 3.7.6 | Use logic gates, circuits, adders and the D-type flip-flop |
| 3.7.7 | Simplify with Boolean identities and De Morgan’s laws |
3.7.1 Internal hardware components
The processor fetches, decodes and executes instructions. Main memory holds the running program and its data, and the processor reads and writes it directly. An I/O controller sits between the processor and a peripheral, handling the electrical detail of that device so the processor does not need to.
Components communicate over buses: sets of parallel wires, each carrying one bit.
- Address bus: carries the address of the memory location or I/O port to use. One-way, from the processor.
- Data bus: carries data or instructions. Two-way, because data is both read and written.
- Control bus: carries signals such as memory read, memory write, clock and interrupt request, in both directions.
Addressable memory. Each location has a unique address. With n address lines the processor can form 2ⁿ addresses. Questions state the size of each location, so multiply by it.
Worked example. An 18-line address bus, with 4 bytes per location: 2¹⁸ = 262,144 addresses; 262,144 × 4 = 1,048,576 bytes; 1,048,576 ÷ 2²⁰ = 1 MiB.
Stored program concept. Machine code instructions stored in main memory are fetched and executed serially by a processor that performs arithmetic and logical operations.
Von Neumann versus Harvard. Von Neumann uses one memory, and one set of buses, for both instructions and data. Harvard uses separate memories with separate buses.
- Von Neumann advantage: simpler and cheaper, and memory is shared flexibly, so a large program or a large data set uses whatever space is free. Typical of general-purpose computers.
- Harvard advantage: an instruction and data can be accessed at the same time, removing the shared-bus bottleneck; each memory and bus can be sized to suit its job. Typical of embedded systems and digital signal processors.
3.7.2 The processor and its components
- ALU: arithmetic, logical operations, comparisons and shifts.
- Control unit: decodes instructions and sends control signals that coordinate components and buses.
- Clock: regular pulses that synchronise every processor step.
- General-purpose registers: fast storage inside the processor for values being worked on.
- Program counter (PC): address of the next instruction.
- Current instruction register (CIR): the instruction being decoded and executed.
- Memory address register (MAR): address of the location about to be read or written.
- Memory buffer register (MBR): data or instruction just read from, or about to be written to, memory.
- Status register (SR): flags recording conditions such as zero, negative, carry and overflow, and whether interrupts are enabled.
3.7.3 The Fetch-Execute cycle and interrupts
Square brackets mean “contents of”.
Fetch
- MAR ← [PC]. The address goes on the address bus; the control unit sends a memory read signal on the control bus.
- PC ← [PC] + 1.
- MBR ← [memory addressed by MAR], over the data bus.
- CIR ← [MBR].
Decode. The control unit splits the instruction in the CIR into opcode and operand(s).
Execute. The instruction runs: a load or store (using MAR, MBR and buses again), an ALU operation, or a branch that changes the PC. The SR is updated if needed.
Worked example. PC holds 212. Location 212 holds LDR R3, 87 and location 87 holds 45.
| Step | PC | MAR | MBR | R3 |
|---|---|---|---|---|
| MAR ← [PC] | 212 | 212 | ||
| PC ← [PC] + 1 | 213 | 212 | ||
| MBR ← memory, then CIR ← [MBR] | 213 | 212 | the instruction | |
| Execute: MAR ← 87 | 213 | 87 | ||
| MBR ← memory[87] | 213 | 87 | 45 | |
| R3 ← [MBR] | 213 | 87 | 45 | 45 |
Interrupts. An interrupt is a signal that a device or program needs attention, such as a key press. At the end of every cycle the processor looks for a waiting interrupt. If there is one:
- The current instruction finishes.
- The volatile environment is saved, usually on a stack: the PC, status register, stack pointer and any other registers the ISR might alter.
- The PC is loaded with the start address of the interrupt service routine (ISR).
- The ISR runs through normal Fetch-Execute cycles.
- The saved values are restored and the interrupted program resumes where it stopped.
Saving matters because the ISR uses the same registers; without it, the original program would continue with a wrong PC or wrong values.
3.7.4 Factors affecting processor performance
- Multiple cores: each core runs its own instructions, so tasks run in parallel. Software that cannot be split gains little.
- Cache memory: small, fast memory near the processor holding recently used instructions and data. Each hit avoids slower main memory.
- Clock speed: more cycles per second, so more instructions per second. At 2.5 GHz one cycle lasts 1 ÷ (2.5 × 10⁹) s = 0.4 ns. Heat limits increases.
- Word length: bits processed as one unit; a longer word handles larger values per operation.
- Address bus width: more lines, more addressable locations, so more memory can be used.
- Data bus width: more bits per transfer. Moving 48 bytes (384 bits) takes 24 transfers on a 16-bit bus but 6 on a 64-bit bus.
3.7.5 Secondary storage
Main memory is volatile and costly per gigabyte; secondary storage is non-volatile and keeps files when power is off. The processor cannot address it directly; data is copied into main memory first.
Magnetic hard disk. Platters coated in magnetic material spin at high speed. Each surface has concentric tracks split into sectors. A read/write head on a moving arm magnetises tiny regions in one of two directions to write bits, and senses those directions to read. Access waits for head movement and rotation.
Solid-state drive (SSD). Stores bits as charge trapped in NAND flash cells, with no moving parts. A controller manages pages and blocks. Data is erased a block at a time, and cells survive a limited number of writes, so the controller spreads writes evenly.
| Factor | Hard disk | SSD |
|---|---|---|
| Access speed | Slower | Much faster |
| Cost per gigabyte | Lower | Higher |
| Robustness | Moving parts can be damaged | Resists knocks |
| Power and noise | More power, audible | Less power, silent |
Judge from the scenario. A laptop carried around that must boot fast suits an SSD. An archive of footage that is rarely opened suits large hard disks, where cost per gigabyte matters more than speed.
Cloud storage is storage of data on servers at a remote location that is accessed via the Internet. Compared with local storage it gives access from any connected device, easy sharing, provider-managed backup and capacity that grows on demand. Against that: no access without a connection, speed limited by bandwidth, ongoing fees, and data held by a third party, which raises privacy and security concerns.
3.7.6 Logic gates
| A | B | NOT A | AND | OR | XOR | NAND | NOR |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
Symbols: AND is a D shape; OR has a curved back and pointed front; XOR adds a second curved line at the inputs; NOT is a triangle. A small circle on an output inverts it, making NAND and NOR.
Circuit to expression. A and B enter a NOR gate; its output and C enter an AND gate. So X = NOT(A + B)⋅C. Of the 2³ = 8 rows, X is 1 only for A = 0, B = 0, C = 1.
Expression to circuit. Follow precedence: AND before OR. For Y = A + B̅⋅C: a NOT gate inverts B, an AND gate combines B̅ with C, and an OR gate joins that output with A. Y is 0 only for A, B, C = 0, 0, 0; 0, 1, 0; and 0, 1, 1.
Half-adder (you may be asked to construct it). Inputs A and B feed both an XOR gate, giving sum S = A ⨁ B, and an AND gate, giving carry C = A⋅B. Only 1 + 1 gives a carry: S = 0, C = 1.
Full-adder (trace only). Two half-adders and an OR gate: the first XOR gives A ⨁ B, a second XOR combines it with carry-in to give the sum, and carry-out = A⋅B + Cin⋅(A ⨁ B).
Trace with A = 1, B = 0, Cin = 1. A ⨁ B = 1. Sum = 1 ⨁ 1 = 0. A⋅B = 0 and Cin⋅(A ⨁ B) = 1, so carry-out = 1. Check: 1 + 0 + 1 = 2 = binary 10.
Edge-triggered D-type flip-flop. It has a data input D and a clock input. When the clock goes high, the current value of D is stored and output until the clock next goes high. Changes to D between rising edges are ignored, so it holds one bit: a memory unit. If D is 1, 1, 0, 1, 0 at five rising edges, the output after each edge is 1, 1, 0, 1, 0.
3.7.7 Boolean algebra
Precedence: NOT, then AND, then OR; brackets override.
Laws: commutative (A + B = B + A; A⋅B = B⋅A), associative (A + (B + C) = (A + B) + C, likewise for AND), and AND distributes over OR: A⋅(B + C) = A⋅B + A⋅C.
Identities: NOT(A̅) = A; A⋅A = A; A + A = A; A⋅A̅ = 0; A + A̅ = 1; A⋅0 = 0; A + 0 = A; A⋅1 = A; A + 1 = 1; A⋅(A + B) = A; A + A⋅B = A; A + A̅⋅B = A + B; A ⨁ B = A⋅B̅ + A̅⋅B.
De Morgan: NOT(A + B) = A̅⋅B̅ and NOT(A⋅B) = A̅ + B̅. Break the bar and change the operator.
Worked example 1. X = NOT(A̅⋅B) + B̅. De Morgan gives NOT(A̅) + B̅ + B̅. Double negation and A + A = A give X = A + B̅.
Worked example 2. X = (A + B̅)⋅(A̅ + B̅). Expand: A⋅A̅ + A⋅B̅ + A̅⋅B̅ + B̅⋅B̅ = 0 + A⋅B̅ + A̅⋅B̅ + B̅. Factor: B̅⋅(A + A̅ + 1) = B̅⋅1, so X = B̅.
Worked example 3. X = A⋅B + A̅⋅B + A̅⋅C. Factor B: B⋅(A + A̅) = B, so X = B + A̅⋅C.
Common errors
- Calling the address bus two-way.
- Incrementing the PC after execution instead of during fetch.
- Listing only the PC as the volatile environment.
- Applying De Morgan without changing the operator.
- Ignoring precedence: A + B⋅C means A + (B⋅C).
Next steps
Shorten all this into recall cards using the revision notes, and after that attempt the practice questions. Also useful: exam preparation and the computer systems guide.
Official syllabus
OxfordAQA International AS and A-level Computer Science (9645) specification, Version 1.1, for International AS exams May/June 2025 onwards and International A-level exams May/June 2026 onwards, published by OxfordAQA. Section 3.7 Computer organisation and architecture.
Get free revision emails (optional)
Occasional emails with practice questions, worked explanations and links to free resources for the qualification and subjects you choose. No spam, and you can unsubscribe from any email. The free tools on this site never need an email.
Related resources
-
Practice questions
OxfordAQA A-Level Computer Science: Computer organisation and architecture (9645) – Practice Questions
Original practice questions with worked answers on OxfordAQA 9645 topic 7: Fetch-Execute, interrupts, storage, logic circuits and Boolean algebra.
Computer Science · OxfordAQA · AS Level
Try questions -
Revision notes
OxfordAQA A-Level Computer Science: Computer organisation and architecture (9645) – Revision Notes
Revision notes for OxfordAQA 9645 computer organisation and architecture: registers, buses, interrupts, HDD vs SSD, adders, flip-flops and De Morgan.
Computer Science · OxfordAQA · AS Level
Revise topic -
Study guides
OxfordAQA A-Level Computer Science: Computer systems (9645)
Study guide to OxfordAQA International AS and A-level Computer Science topic 6: hardware, system software, the OS, language levels and translators.
Computer Science · OxfordAQA · AS Level
Read guide
Related articles
-
teaching
A Level tuition in Dubai: Cambridge or Pearson Edexcel International A Level?
Schools in Dubai and Abu Dhabi teach either Cambridge International AS & A Level or Pearson Edexcel International A Level. How the two are structured, why it matters for tuition, and how online classes from Lahore work.
9 October 2026
-
curriculum guides
Choosing subjects at IGCSE and A Level
How subject choices at 14 and 16 affect university options later, and how to keep pathways open without overloading a timetable.
28 July 2026
Studying this with a teacher
Working through Computer Science AS LEVEL?
This page is free and stays free. If you would rather be taught it, Marlbridge runs Computer Science classes one-to-one and in small groups of up to 15, online in your own time zone. The first trial class is free. WhatsApp replies within an hour (8am–11pm Pakistan time, every day); email the same day.
OxfordAQA Computer Science teachers at Marlbridge