0984

Computer Architecture

Hardware · 4 question types

Exam Frequency Analysis

Past paper frequency (2018 to 2024)

This topic accounts for approximately 7% of your exam marks.

stable
Low
Stable7%

The fetch-decode-execute cycle and von Neumann architecture are tested almost every year.

A register is a tiny, extremely fast storage location built directly into the CPU. Each register holds a small amount of data needed during one step of the fetch-decode-execute cycle.

Registers are much faster than RAM but only hold a handful of bytes. Each register has a specific job. The five you must know:

NameAcronymPurpose
Program CounterPCHolds the memory address of the next instruction to be fetched. Increments by 1 each time an instruction is fetched, so the CPU naturally walks through the program in order
Memory Address RegisterMARHolds the memory address that the CPU is about to read from or write to. The CPU puts the MAR's contents onto the address bus
Memory Data RegisterMDRHolds the data or instruction that has just been read from (or is about to be written to) the address in the MAR. The MDR is the staging area for the data bus
Current Instruction RegisterCIRHolds the instruction currently being decoded or executed. The CPU copies the instruction from the MDR into the CIR so the rest of the CPU can act on it
AccumulatorACCHolds the result of the most recent ALU operation (or an operand being fed to the ALU). Almost every arithmetic result ends up in the ACC

How to memorise their roles

A useful one-line answer template for register questions:

"The [] stores [what value]. The then uses it to [purpose during the cycle]."

For example: "The MAR holds the memory address of the next instruction, which is sent to memory along the address bus so the instruction can be fetched."

Exam tip

Register roles

Identifying or describing a register's role comes up most years (the PC and MAR catch people out), so you need to know that the PC holds the address of the next instruction to fetch and the MAR holds the address about to be read from or written to — not an instruction.