The three main buses that connect the CPU to memory and I/O are:
Address bus – carries memory or I/O addresses (unidirectional).
Data bus – carries the actual data being transferred (bidirectional).
Control bus – carries timing and control signals (Read/Write, Interrupt Request, Acknowledge, etc.).
3. The fetch‑execute cycle (illustrative flow)
Fig. 1 – Simplified fetch‑decode‑execute‑write‑back cycle (PC → MAR → MDR → ALU → ACC → PC).
4. Process scheduling (syllabus requirement for 4.1)
Process states – New, Ready, Running, Blocked (or Waiting), Terminated.
Ready queue – Holds processes that are waiting for the CPU.
Scheduler – Selects the next Ready process according to a scheduling algorithm (e.g., round‑robin, priority).
Interrupts are the mechanism by which the CPU can leave the Running state (e.g., timer interrupt) and return to the scheduler.
5. Purpose of interrupts
An interrupt is a signal that temporarily suspends the normal sequential execution of a program so that the CPU can service an event that requires immediate attention. After the interrupt service routine (ISR) finishes, the CPU restores the saved state and continues the original program.
10. Relevance to assembly language (4.2 Assembly language)
Relationship to machine code – Each assembly instruction corresponds to one or more machine‑code words; the assembler translates symbolic mnemonics into binary op‑codes.
Two‑pass assembler – Required by the syllabus:
Pass 1 scans the source, builds a symbol table (labels → addresses) and calculates instruction lengths.
Pass 2 generates the actual object code using the symbol table.
RISC uses many simple, fixed‑length instructions that are easy to pipeline; CISC packs more work into fewer, variable‑length instructions.
RISC – ARM v8, MIPS; CISC – Intel x86‑64, AMD 64.
Pipelining
Overlaps the fetch, decode, execute and write‑back stages so that several instructions are in different stages simultaneously.
5‑stage pipeline in a typical MIPS processor; hazards are resolved with stalls or forwarding.
Parallel processing (multi‑core)
Two or more independent CPU cores share the same memory system and interrupt controller; each core has its own local mask and may have a private vector table.
Quad‑core Intel Core i5 – each core can handle separate IRQs, coordinated by an APIC.
Virtual machines & hypervisors
Software layers that emulate a complete hardware platform; virtual devices generate “virtual interrupts” that the hypervisor maps to physical IRQs.
VMware ESXi delivering virtual PCI‑e interrupts to a guest OS.
12. Key points to remember
An interrupt temporarily suspends the current instruction stream and forces the CPU to execute an ISR.
The CPU must save the execution context (PC, status flags, registers) before servicing the interrupt.
Interrupt vectors locate the appropriate ISR; priority logic decides which IRQ is handled first.
Masking (disabling) interrupts protects critical sections of code.
Bit‑mask operations and shift instructions are used to enable, disable or prioritise individual interrupt lines.
Efficient interrupt handling improves responsiveness, reduces wasted CPU cycles, and enables pre‑emptive multitasking and real‑time behaviour.
Suggested diagram: Flowchart of the normal fetch‑decode‑execute cycle with a branch that diverts to the interrupt‑service routine when an IRQ is detected; include a side‑box showing the interrupt‑vector lookup and context‑save/restore steps.
Support e-Consult Kenya
Your generous donation helps us continue providing free Cambridge IGCSE & A-Level resources,
past papers, syllabus notes, revision questions, and high-quality online tutoring to students across Kenya.