1.1b: Registers & The F-E Cycle
Exam Board:
OCR
Specification:
J277
The Fetch - Execute (F - E) cycle is performed by the CPU millions of times every second.
​
This cycle is how the CPU processes data and instructions for each program or service that requires its attention.
Important Registers
A register is a small storage space for temporary data in the CPU.
Each register has a specific role. There are three essential registers used in the F-E cycle:​
Program Counter (PC)
A register that tracks the RAM address of the next instruction to be fetched.
Memory Address Register (MAR)
​
A register that tracks the RAM address of the instruction that is to be fetched.
Memory Data Register (MDR)
​
The MDR stores the instruction that has been transferred from RAM to the CPU.
Current Instruction Register (CIR)
A register that stores the instruction that has been fetched from RAM, and is about to be decoded or executed.
Accumulator (ACC)
​
The ACC stores the result of mathematical or logical calculations.
Fetch - Execute Cycle
The essential idea of the F-E cycle is that instructions are fetched from RAM, to be decoded (understood) and executed (processed) by the CPU.
1.
The Program Counter (PC) register displays the address in RAM of the next instruction to be processed.
This value is copied into the Memory Address Register (MAR).
0054
2.
The PC register is increased by 1.
​
This prepares the CPU for the next instruction to be fetched.
0055
3.
The CPU checks the address in RAM which matches the address held in the MAR.
0054
4.
The instruction in RAM is transferred to the Memory Data Register (MDR).
5.
The instruction in the MDR is copied into the Current Instruction Register (CIR).
MDR
MDR
CIR
6.
The instruction in the CIR is decoded (understood) and executed (processed).
Any result of an execution is stored in the Accumulator (ACC) register.
CIR
ACC
7.
The cycle repeats by returning to the first step and checking the program counter for the address of the next instruction.
Questo's Questions
1.1b - Registers & The F-E Cycle:
​
1. What is the purpose of the registers? [1]
​
2. Describe the purpose of each register:
-
a. The Program Counter (PC) [2]
-
b. The Memory Address Register (MAR) [2]
-
c. The Memory Data Register (MDR) [2]
-
d. The Current Instruction Register (CIR) [2]
-
e. The Accumulator (ACC) [2]
​
3. Draw a diagram with icons and words to show the steps of the Fetch - Execute cycle. [7]