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).
- fetch
- decode
- 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
- 434