Registers

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Registers

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Where is a register located?
A Inside RAM
B Inside the CPU
2. Which statement about registers is correct?
A Registers are faster to access than RAM
B Registers are slower to access than RAM
3. How much can a register hold at one time?
A One item of data or one address
B A whole program and all its data
4. Which register holds the address of the next instruction to be fetched?
A Accumulator (ACC)
B Program counter (PC)
5. Which register holds the result of a calculation done by the ALU?
A Accumulator (ACC)
B Memory address register (MAR)

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1register AThe MDR holds data or an instruction fetched from or written to RAM. The PC holds the address of the next instruction.
2MAR BCPU: [PC] [MAR] [MDR] [CIR] [ACC] | RAM (outside)
3A register is inside the CPU, so it is much faster to access than RAM, which is outside the CPU CRegisters are very small and are inside the CPU, not in RAM. They hold one item of data or one address, not whole programs.
4Special-purpose registers each hold a specific thing, such as the next instruction address or the current instruction DA special-purpose register that holds the address in RAM about to be read from or written to
5Registers are large storage areas in RAM that hold whole programs EPC = next instruction address, CIR = current instruction
6The MDR holds the address of the next instruction to be fetched FA very small, very fast storage location inside the CPU that holds one item of data or one address

Definitions

register

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
MAR ← __
2.
___ ← RAM[MAR]
3.
___ ← ACC + MDR
4.
Register location: inside the ___
5.
Register speed: ______ than RAM

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A MAR ← PC
B MDR ← RAM[MAR]
C PC ← PC + 1
D MDR ← CIR
Question 2
A MAR ← 100
B MDR ← RAM[MAR]
C ACC ← MAR
Question 3
A MDR ← PC
B MDR ← RAM[MAR]
C CIR ← MDR
Question 4
A location ← "RAM"
B speed ← "very fast"
C holds ← "one item"
Question 5
A IF register = PC THEN
B holds ← "data from RAM"
C ENDIF

Answer Key

Registers
Section A: Quick Questions
Q1
B — Inside the CPU
Q2
A — Registers are faster to access than RAM
Q3
A — One item of data or one address
Q4
B — Program counter (PC)
Q5
A — Accumulator (ACC)
Section B: Match the Pairs
Q1
register → A very small, very fast storage location inside the CPU that holds one item of data or one address
Q2
MAR → A special-purpose register that holds the address in RAM about to be read from or written to
Q3
A register is inside the CPU, so it is much faster to access than RAM, which is outside the CPU → CPU: [PC] [MAR] [MDR] [CIR] [ACC] | RAM (outside)
Q4
Special-purpose registers each hold a specific thing, such as the next instruction address or the current instruction → PC = next instruction address, CIR = current instruction
Q5
Registers are large storage areas in RAM that hold whole programs → Registers are very small and are inside the CPU, not in RAM. They hold one item of data or one address, not whole programs.
Q6
The MDR holds the address of the next instruction to be fetched → The MDR holds data or an instruction fetched from or written to RAM. The PC holds the address of the next instruction.
Section C: Definitions
Q1
register — A very small, very fast storage location inside the CPU (not in RAM) that holds one item of data or one address, such as the PC, MAR, MDR, CIR or ACC.
Section D: Fill in the Blanks
Q1
MAR ← PC
Q2
MDR ← RAM[MAR]
Q3
ACC ← ACC + MDR
Q4
Register location: inside the CPU
Q5
Register speed: faster than RAM
Section E: Spot the Error
Q1
D — The instruction is copied from the MDR into the CIR, which holds the current instruction. The line should be CIR ← MDR.
Q2
C — The MAR holds an address, not data. The data fetched from RAM is in the MDR, so the line should be ACC ← MDR.
Q3
A — The PC holds an address, and addresses are sent to the MAR. The MDR holds data from RAM. The line should be MAR ← PC.
Q4
A — Registers are inside the CPU, not in RAM. The line should be location ← "CPU".
Q5
B — The program counter holds the address of the next instruction to fetch. Data read from RAM is held in the MDR, not the PC.