Teachers' Portal  /  A-Level Computer Science 9618  /  Processor fundamentals  /  The Von Neumann model and registers
Lesson pack · A-Level Computer Science 9618 · 4.1 · AS Level

The Von Neumann model and registers

The stored program. Almost every computer you have used follows a design described in 1945: one memory holds both the program and its data, and a processor fetches and runs the instructions one by one.

Student lesson Lab, full screen
At a glance

The shape of the lesson

Topic
Processor fundamentals
Syllabus reference
Cambridge International AS and A Level Computer Science 9618, 4.1
Level
AS Level
Duration
45 minutes, lab-led; stretches to a 60 minute block (see the contingency notes)
Position in topic
Lesson 1 of 8 in Processor fundamentals; leads into Buses, ports and processor performance
Central model
Fig. 1: the processor's units and registers, linked by the buses to the immediate access store
Cooperative structure
Assessment
Stage 1 check and the exam-style plenary from the student lesson, plus the worksheet as the exit task
Learning objectives

By the end of the lesson, learners can

Section by section
  • The stored program: Click each part in the lab to see what it does.
  • Units and the clock: Three components inside the processor do the work, and they all depend on the memory beside it.
  • Seven registers: A register is a very fast storage location inside the processor that holds one value, such as an address, an instruction or a data item.
Key points to leave on the board
  • Addresses: PC (next instruction), MAR (location being accessed now).
  • Contents: MDR (data or instruction to or from memory), CIR (current instruction), ACC (data and results).
  • Helpers: IX (added to an address), status register (flags such as carry, zero, negative, overflow).
  • Stored program: instructions and data together in one memory, executed one at a time.
The core visual model

One picture every idea returns to

In the Von Neumann model, a computer has a single processor and one memory. The stored program concept means that program instructions and data are held together in the same main memory, and instructions are fetched from it and executed one at a time, in sequence. Inside the processor, the control unit (CU) decodes instructions and sends control signals, the arithmetic and logic unit (ALU) does calculations and comparisons, the system clock times every step, and registers hold the values in use. A special purpose register has one fixed job (PC, MAR, MDR, CIR, IX, status register); a general purpose register holds any data being processed (the accumulator, ACC).

processor (CPU) CU ALU system clock PC CIR MAR MDR IX SR ACC special purpose + one general purpose (ACC) IAS (main memory) 100 LDD 150 101 ADD #5 102 STO 151 150 37 stored program: instructions and data share one memory
Fig. 1: the processor's units and registers, linked by the buses to the immediate access store
Lesson sequence

Forty-five minutes, phase by phase

TimePhaseWhat happens in the roomGrouping
0 to 5 minHook: predictOpen with the question in the title, The stored program.. Almost every computer you have used follows a design described in 1945: one memory holds both the program and its data, and a processor fetches and runs the instructions one by one. Put the figure on the board: it is the one picture every idea in the lesson returns to.Whole class, then pairs
5 to 13 minTeach and check: The stored programClick each part in the lab to see what it does. Project tab 1 of the lab (The Von Neumann model) and let a student drive it while the class predicts.Whole class, then pairs
13 to 21 minTeach and check: Units and the clockThree components inside the processor do the work, and they all depend on the memory beside it. Your turn: An instruction compares the value in the accumulator with 0. Which unit carries out the comparison, and which unit decoded the instruction first?Pairs
21 to 30 minTeach and check: Seven registersA register is a very fast storage location inside the processor that holds one value, such as an address, an instruction or a data item. Model the worked example Name the register on the board, one line at a time.Frayer Model
30 to 36 minCheckThe four Stage 1 questions from the student lesson, answered on mini whiteboards or by show of fingers. Re-teach the one most get wrong.Individual, then whole class
36 to 43 minPlenaryThe exam-style questions from Stage 2, one at a time: thirty seconds alone, then a random call. The feedback lines in the key give the examiner's wording.Individual, random call
43 to 45 minExit and homeworkSet the worksheet below (6 questions, 16 marks). Learners self-assess against the objectives before they leave.Individual
Timing and contingency

Protect the parts that carry the learning

The sequence carries about fifty minutes of material, so the lab is driven by one student while the class predicts rather than explored freely. Times are a guide.

Protected: the check at 30 minutes. It is the only individual read on whether the key idea landed, and it is not cut.

Cut first if the build overruns: the last check in Seven registers, never the check or the plenary.

In a 60 minute block: run worksheet questions 1 to 3 in class as a Rally Coach set and model both the hardest worked example and its check live.

Running the cooperative task

Frayer Model

Pairs fill a four-box grid for the key term: definition, characteristics, examples and non-examples. The non-examples box is where the misconceptions surface, so give it the most time.

The full structure, with its variations and the other twelve, is on the cooperative-learning page.

Examiner traps to pre-empt

What to head off, and how

Trap learners fall intoTeaching move that pre-empts it
"Data and programs are stored in memory" is not enough to describe the stored program concept.Say they are stored together in the same memory and that instructions are fetched and executed one at a time.
The control unit does not do calculations.It decodes and controls; the ALU calculates and compares.
General purpose does not mean "used for everything at once".A general purpose register holds whatever data the program is working on; a special purpose register always has the same fixed job.
Worksheet

The Von Neumann model and registers: worksheet

6 questions, 16 marks. Written in the style of the papers; no past paper question is reproduced.

NameClassDate
Q1 · explain[3 marks]

Describe the stored program concept in the Von Neumann model.

Q2 · recall[4 marks]

State the purpose of each register.

(a) Current instruction register (CIR)
(b) Memory address register (MAR)
(c) Index register (IX)
(d) Status register (SR)

Q3 · explain[2 marks]

Explain the difference between a general purpose register and a special purpose register. Give one example of each.

Q4 · recall[3 marks]

Describe the role of the arithmetic and logic unit (ALU), the control unit (CU) and the system clock.

Q5 · apply[2 marks]

The instruction ADD 150 adds the contents of address 150 to the accumulator. Address 150 holds 37 and the accumulator holds 5. Identify the register that holds 37 just before the addition, and the register that holds the result.

Q6 · analysis[2 marks]

A student says: "The program counter holds the instruction that is about to be executed." Explain the two mistakes.

Answer key and marking notes
Q1 · 3 marks
  • Program instructions and data are stored together in the same (main) memory.
  • A program must be loaded into main memory before it is run.
  • Instructions are fetched from memory and executed one at a time, in sequence.
Q2 · 4 marks
  • (a) Holds the instruction currently being decoded and executed.
  • (b) Holds the address of the memory location about to be read from or written to.
  • (c) Holds a value that is added to an address to form the address used (indexed addressing).
  • (d) Holds flags that show the outcome of an operation, for example carry, zero, negative or overflow.
Q3 · 2 marks
  • A general purpose register holds any data being processed, e.g. the accumulator.
  • A special purpose register has one specific, fixed role, e.g. the program counter.
Q4 · 3 marks
  • ALU: carries out arithmetic, logic operations and comparisons.
  • CU: decodes instructions and sends control signals to coordinate the other components.
  • System clock: sends regular timing pulses to synchronise the components.
Q5 · 2 marks
  • The memory data register (MDR) holds 37 after it is read from address 150.
  • The accumulator (ACC) holds the result, 42.
Q6 · 2 marks
  • The PC holds an address, not an instruction.
  • It is the address of the next instruction to be fetched; the instruction being executed is in the CIR.
Quiz

6 multiple-choice questions on this lesson

From the topic question bank. Assign them in the app for a marked score in your gradebook, or run the topic as a class game.

Q11 mark

Which statement best describes the stored program concept in the Von Neumann model?

  • AInstructions and data are held together in the same main memory, and instructions are fetched and executed one at a time
  • BInstructions are held in ROM and data is held in RAM, so an instruction and its data can be fetched at the same moment
  • CEach program is loaded into its own processor, which holds its instructions in the registers
  • DInstructions are held in the registers while the data they work on is held in main memory
Q21 mark

An addition produces a result that is too large to fit. In which register is a flag set to record this?

  • AStatus register (SR)
  • BAccumulator (ACC)
  • CCurrent instruction register (CIR)
  • DIndex register (IX)
Q31 mark

During the execution of LDD 150, the value 37 has just been read from address 150 but has not yet reached the accumulator. Which register holds 37 at this moment?

  • AMemory data register (MDR)
  • BMemory address register (MAR)
  • CProgram counter (PC)
  • DCurrent instruction register (CIR)
Q41 mark

What is the role of the control unit (CU)?

  • ATo decode instructions and send control signals that coordinate the other components
  • BTo carry out arithmetic, logic operations and comparisons on data
  • CTo produce regular timing pulses that keep every component in step
  • DTo hold the instructions and data of the programs currently running
Q51 mark

Which consequence follows directly from storing instructions and data together in one memory, as in the Von Neumann model?

  • AAn instruction and a data item cannot be fetched at the same moment, because they share the same memory and buses
  • BA program cannot be changed without physically rewiring the processor
  • CEvery instruction must be copied into a general purpose register before it is decoded
  • DData must always be stored at lower addresses than the instructions that use it
Q61 mark

The accumulator holds 5 and address 150 holds 37. The instruction ADD 150 is fetched and executed. What are the contents of the MAR, the MDR and the ACC immediately afterwards?

  • AMAR 150, MDR 37, ACC 42
  • BMAR 37, MDR 150, ACC 42
  • CMAR 150, MDR 42, ACC 42
  • DMAR 150, MDR 37, ACC 37
Quiz key
Q1: A

The stored program concept says a program is loaded into main memory alongside its data, and its instructions are fetched and executed in sequence. Keeping instructions and data in separate memories (so they can be fetched together) describes a different design, not Von Neumann. A program does not get its own processor, and registers hold only a few values in use, not the whole program.

Q2: A

The status register holds flags such as carry, negative, zero and overflow, which show the outcome of an operation. The accumulator holds the (wrong) result itself, not a flag about it. The CIR holds the instruction being executed, and IX holds a value added to addresses in indexed addressing.

Q3: A

Data read from memory arrives in the MDR before it is copied to the ACC. The MAR holds the address, 150, not the contents. The PC holds the address of the next instruction, and the CIR holds the instruction LDD 150 itself.

Q4: A

The control unit decodes the instruction in the CIR and sends signals along the control bus to manage data transfers and the order of operations. Calculations and comparisons are the job of the ALU, timing pulses come from the system clock, and the programs in use are held in the immediate access store.

Q5: A

With one memory and one set of buses, an instruction fetch and a data access must take turns, which limits speed. The stored program concept actually makes changing a program easy: you just load a different one. Instructions are copied into the CIR, a special purpose register, not a general purpose one. Nothing in the model fixes data below the instructions in memory.

Q6: A

In the execute stage the operand 150 is copied to the MAR, the contents of address 150 (37) arrive in the MDR, and the ALU adds them to the ACC: 5 + 37 = 42. Swapping 37 and 150 confuses the address register with the data register. The MDR is not overwritten by the result, which goes to the ACC only. ACC 37 would be the result of LDD 150, which replaces the ACC instead of adding to it.

Lab and demo

What to project

The student lesson embeds these tabs. Open them full screen on the projector; every slider has a drag handle on the stage.

Slides

Slides for this lesson

A projectable deck for every pack is on the way. Until then, present the student lesson full screen: its sections, figure and lab tabs follow the same order as the plan above.

Also for this topic

Everything else you can use

Original work by the TheLucidSTEM team. The worksheet items are written in the style of the papers; no past paper question is reproduced.