Stored Program Concept

P03a

  • Define what is meant by the 'stored program concept'
  • Describe the hardware components used in the von Neumann architecture and explain their role in the fetch-decode-execute cycle.

A little history

P03a

As long ago as the 1640s, Mathematicians were creating
mechanical devices that could perform mathematical operations.

They had hundreds or even thousands of moving parts.

These devices were created to fulfil a single purpose. If you wanted to change the purpose of such a device, it needed to be rebuilt or rewired.

Pascal’s calculator (shown here) was designed and built by the famous mathematician in 1642 (when he was 19 years old!) to help him with tax calculations. It performed multiplications and divisions.

Programmable machines

P03a

In 1936, Alan Turing proposed a device he called the ‘Universal Computing Machine’.

He proposed that a computing machine could be designed that could be ‘programmed’ by giving it instructions on punched tape.

It was around this time that the work of engineer Tommy Flowers meant that computing devices were becoming electrical instead of mechanical machines.

Stored programs

P03a

The next step was to move programs from tape and store them electronically within a computer.

In 1945, the mathematician and physicist John von Neumann, working at the University of Princeton USA, published a paper about the computer he and his team had designed and built.

It was the first computer that used the basic component architecture we recognise in modern computers.

Von Neumann Architecture

P03a

Nearly every modern computer that exists today uses the structure pioneered by von Neumann.

  • a processing unit that contains an arithmetic logic unit and processor registers

They are made up of the following components:

  • a control unit that contains an instruction register and program counter register
  • memory that stores both data and instructions
  • external data storage
  • input and output mechanisms

Activity 1

P03a

Here is a list of components. Copy the name of each component into the correct place in the diagram.

RAM

General register

Hard disk

Speaker

Arithmetic logic unit (ALU)

Display

Instruction register

Mouse

Program counter register

Keyboard

Activity 1

P03a

Here is a list of components. Copy the name of each component into the correct place in the diagram.

Activity 1

P03a

Explain why programmable computers were considered a huge step forward in digital technology.

The first computers were mechanical. They could only do one task. If another task was needed, the computers had to be rebuilt or rewired.

The term ‘stored program concept’ is used to describe modern computers. State why this term is accurate.

Modern computers store both data and instructions in the same memory. At one time, instructions and data were kept in separate memories.

Fetch decode execute

P03a

The CPU follows three steps in order to process data.

The process is known as the fetch-decode-execute cycle (sometimes shortened to the fetch-execute cycle).

  1. fetch
  2. decode
  3. execute

To begin with, whenever you open and work with a program, its data and instructions are loaded into your computer’s RAM.

As the RAM is accessed directly by the CPU, the CPU can get to work!

Fetch

P03a

In this step, the CPU fetches data and instructions from the main memory (RAM) and then stores them in its own temporary, very fast memory called registers.

CPU

RAM/Memory

Can I have some data?

Yes here it is

Fetch

P03a

For this to happen, the CPU uses a hardware path called the address bus.

CPU

RAM/Memory

Address bus

The memory address of the next item that the CPU wants is put onto the address bus. 

Data from this memory address then travels from the RAM to the CPU on another hardware path called the data bus.

CPU

RAM/Memory

Data bus

Decode

P03a

The decode step involves the CPU working out what the instruction it has just fetched actually means.

The control unit decodes the instruction and gets things ready for the next step.

It does this by looking up the instruction from the instruction set. This is the full list of operations that a microprocessor can carry out.

Execute

P03a

The execute stage is the point at which data processing happens.

Instructions are carried out on the data. Some instructions are carried out by the arithmetic logic unit (adding, shifting, AND, OR, etc.).

Once a cycle has completed, another begins. 

Fetch decode execute

P03a

Instructions and data are stored in the memory.

Instructions are fetched one at a time into the processor.

The instructions are decoded by the control unit.

The instructions are executed, sometimes using the arithmetic logic unit.

Activity 2

P03a

For each word in the first column, write a description in the second column. One has been done for you.

Item Description and which component is responsible
Fetch
 
Decode
 
Execute
 
Cycle It’s called a cycle because when one finishes another starts. It is triggered by the Control Unit.

The CPU gets data and/or instructions from a memory address in RAM.

The control unit determines the meaning of the instruction.

The instruction is executed, sometimes by the arithmetic logic unit.

Activity 2

P03a

Every processor has a unique instruction set. Define what is meant by an ‘instruction set’.

The full list of operations that a microprocessor chip can carry out.

Add, subtract, arithmetic shift, logical shift, AND, OR, NOT

The memory address of a location in RAM

Give three examples of operations that would be executed in the arithmetic logic unit. 

State what goes onto the address bus during the fetch-decode-execute cycle.

State two items that can go onto the data bus, during the fetch-decode-execute cycle.

Data and instructions

Review

P03a

Define what is meant by the 'stored program concept’.

  • Early computers had a single function and needed to be rewired or rebuilt for different functions.
  • Programs stored inside the computer.
  • All modern computers can be reprogrammed.
  • Describe the hardware components used in the von Neumann architecture and explain their role in the fetch-decode-execute cycle.
  • The memory holds the program’s instructions and data.
  • The CPU contains the control unit and arithmetic logic unit used to carry out the instructions.
  • The address bus holds the address in memory and the contents are passed along the data bus.

p03a Stored Program Concept

By David James

p03a Stored Program Concept

  • 421