Current instruction register (CIR)
Current Instruction Register: holds the instruction copied from the MDR while the control unit decodes it and the CPU executes it. It stores the instruction itself, not an address.
Understanding Current instruction register (CIR) in IGCSE Computer Science Paper 1
What it does: During the decode stage the control unit looks at the contents of the CIR to find out which operation is needed. The CIR stores a whole instruction such as LDA 25, while the MAR stores an address such as 25. During fetch, the instruction is read from RAM into the MDR and then copied from the MDR into the CIR. The CIR stores the instruction (for example, an opcode and operand). Addresses are held in the PC and the MAR. The address of the next instruction is held in the program counter (PC), not the CIR. Calculation results are held in the accumulator (ACC). The CIR holds the current instruction.
Common mistakes: The control unit decodes the instruction held in the CIR. The MAR only holds an address, so the line should be 'CU decodes the CIR'. The copy goes the wrong way. The instruction is copied from the MDR into the CIR, so it should be 'CIR <- MDR'.
Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.
This module's key terms are also in a printable crossword (Modules 218–227) and word search (Modules 218–239).
Take this worksheet further — free with Cloodit
Each concept is reinforced from every angle — learned, then applied, then tested.
Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.
Over 100 of them, across seven natural biomes.
Turns their work into revision material ready for Flash Cards and Exam study.
Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.
Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.
Quick Questions
Match the Pairs
Key Term
CIRFill in the Blanks
Spot the Error
Student with a class code? Join your class →