You are on page 1of 8

The Von Neumann Concept

The Von Neuman Concept is an important one as it means that computers no longer have to look
like this...

Before 1943 computers like the one above did not store their programs in memory, instead a
series of switches had to be manually turned, or read from a paper stream. These instructions
would then be read one at a time. If you required the computer to do something else you would
then have to manually turn all pf the switches into another combination.

This situation was far from ideal, time consuming and prone to mistakes.

In 1943 a mathematician named Von Neuman came up with the idea of storing these program
instructions and the data used into the same memory.

This is the basis of the Von Neuman concept - That program instructions and data can be stored
on the same memory.

Fetch / Decode / Execute


With program instructions and data now being stored in the same memory, a process had to be
designed to allow CPUs (Central Processing Units) to find the correct instruction and execute it...
after all its no longer as simple as reading the switches!.

The process that was designed is known as the FETCH - EXECUTE - CYCLE
These three operations are constantly repeated by the CPU as the computer is running this allows
the CPU to quickly and efficiently work through new instructions as they are required.

The Three Stages


Fetch
This operation is triggered by the CPU causing the next instruction AND data to be 'fetched'
from memory (RAM).

Decode
Once the CPU has fetched the instructions and data it will then translate them into
instructions understandable by the CPU

Execute
The CPU will then execute the instructions in a logical sequence

Once the execute operation is complete, the CPU will repeat the process by returning to the
'fetch' operation.
The Central Processing Unit (CPU)
The CPU is commonly referred to as the brain of the computer and this is a fair comparison.
THE CPU is responsible for all processing and calculations within a computer.

The above diagram should illustrate the fact that the CPU sits firmly at the center of a computer
connecting and managing all components as they interact with each other.

CPU Internal Components


The CPU itself is actually a
small 45mm X 42.5mm chip
but don't be fooled by its size.
Within this small squared
space there is actually a lot
going on.

Within the CPU you will find 4


main components, these are:

 Control Unit
 Arithmetic and Logic
Unit (ALU)
 General Purpose
Registers
 Program Counter

Control Unit Arithmetic and


The Control unit controls and coordinates
the operation of the computer by Logic Unit (ALU)
controlling which instructions are executed The ALU is responsible for all mathematics
and when. and calculations performed by the CPU. It
can only perform the following
The CU contains the Current instruction calculations:
register (CIR) and the Program counter
(PC) Addition
Subtraction
The CIR contains the instruction currently Multiplication
being executed, the PC contains the Division
address if the next instruction. Logical Comparisons e.g. Is A = B, Is 3 >
5
The CU will fetch an instruction from main
memory (address found in the PC)and then The ALU can also increase complexity of
pass it on to the other CPU parts to execute these logical comparisons by including
it effectively. boolean operators AND, OR & NOT

E.g. Is A < B OR C <A

Program Counter General Purpose


The Program Counter is used to store the
address in memory of the next instruction
Register
The GPR can be thought of as the notepad
to be executed. of the CPU. This is used to hold data when
performing calculations. If the ALU needs
to temporarily store data as part of its
calculations, the GPU is where it is stored.

Other Registers used


Within the CPU and its Memory unit there are a number of registers used. A register is simply a
small but very fast memory unit. The Program counter and General purpose registers are
examples of registers and their jobs have been described above, however there are a few more
important ones all of which are described below.

Memory Address Memory Data


Register (MAR) Register (MDR)
The purpose of the MAR is to hold the
location of data that needs to be accessed. When the CPU looks into the memory
This is address is the physical location of address stored in the MAR it will find data
data (instruction) that is being stored in the (An instruction) this instruction is then
computers memory. temporarily stored in the MDR before
being copied into the CIR.

Register Summary
All Registers used in the Von Neuman Architecture are:

PC (Program counter)
Contains the address of the next instruction to be fetched

MAR (Memory Address Register)


Contains the address of the current instruction to be fetched

MDR (Memory Data Register)


Contains the instruction / data after it is fetched from memory

CIR or IR ((Current) Instruction Register)


Contains the instruction / data to be decoded

ACC (Accumulator)
Contains the results of any calculations performed in the ALU
Coming Together
As you can see there are a lot of different parts within the CPU, all of which have to operate
under the Fetch - Decode - Execute Cycle concept. Luckily a system has been developed where
by all parts work in perfect harmony to maintain the cycle. Follow the diagram below to fully
understand the process in more detail.
Buses
Within the computer system and within the CPU itself there are many different components that
have to work together. In order to communicate with each other there needs to be some sort of
connection between them that will allow for data transmission.

This connection comes in the form of buses. A bus is a set of parallel wires that connect two ore
more components within a computer system.

The bus can be broken down into three different wires, these are:

Address bus - This carries signals that relate to addresses between the processor and memory. It
is Uni-directional which means that data will only travel in one direction.

Control bus - This carries signals that relate to control e.g. an instruction to read data. This can
be uni-directional or Bi-directional.

Data Bus - This will carry actual data between components and devices. It is bi-directional
which means data can travel in both directions.

Est. 2015 - Copyright © 2020


To Top

You might also like