Von Neumann Architecture Computer Science
Von Neumann Architecture Computer Science
task a computer is working on can be changed by simply loading a new program into
memory.
The CPU comprises the Control Unit and the Arithmetic Logic Unit (ALU). In the von
Neumann model the program instructions and data are all kept in the same memory unit,
the Main memory or RAM.
CONTROL UNIT
The control unit will manage the process of moving data and the program into and
out of memory and input/output devices.
The control unit fetches instructions from memory, decodes them and synchronises
the operations before sending control signals to other parts of the computer.
A register is a high-speed memory location within the CPU designed to hold temporary data
and instructions during processing.
Note: It is important to remember that in the von Neumann model any data to be processed
and the program to process that data are first loaded into main memory.
The Main memory has memory locations. Each memory location is given unique address.
When a program is loaded into memory, the instructions are placed sequentially in the
memory locations. Data are also stored in the memory locations.
A typical von Neumann computer layout, together with some of the general purpose
registers is shown below:
A real processor will have many general-purpose registers as well as some special-purpose
register.
4
Here are the functions of the general-purpose registers during the processing
cycle (more details are given later...)
ACCUMULATOR
The accumulator is a general-purpose register inside the Arithmetic and Logic Unit (ALU). It
stores all values processed by arithmetic and logical operations.
BUSES
Have another look at the von Neumann Computer architecture:
You can see that there are arrows that represent pathways along which data travels
between the different components. The pathways are called buses.
A bus is a set of wires in parallel which is reserved for the conveyance of a particular type of
data.
6
DATA BUS
A data bus transfers data and program instructions from one hardware component to the
another. The Memory Data Register (MDR) is at one end of the data bus.
The data bus is bi-directional as it conveys data to and from main memory.
ADDRESS BUS
An address bus carries the address of the main memory location or input/output device
which is about to be used. The address bus is uni-directional as it sends address values in
one direction only i.e. from the CPU to the MAR.
CONTROL BUS
The control bus sends control signals from the Control Unit to the other components of the
system. A separate wire is dedicated to a particular control signal.
7
BUS WIDTH
The size of a bus, known as its width, is important because it determines how much data can
be transmitted at one time. For example, a 16-bit bus can transmit 16 bits of data, whereas
a 32-bit bus can transmit 32 bits of data. The bus width is related to the number of wires
making up a bus.
The bus width has an impact on the performance of a processor. What is its impact?
• Input Devices - used to transfer data into a computer e.g. keyboard, mouse, scanner.
• Output Devices - used to send information out of the computer in order to display
the result of processing e.g. screen monitor, printer,
If you look at the Von Neumann Architecture notice that it doesn't mention keyboard or
monitor, this is a very smart move as you don't want to force every computer to have a
keyboard (think about a games console, there is no keyboard on that) or a screen monitor
(some computer such as MP3 players don't have a screen).
Input devices connect to the system bus (the data bus, control bus and address bus are
collectively known as the system bus) through I/O controllers or through ports.
I/O controllers
An I/O controller is an electronic circuit that connects to a system bus and an I/O device; it
provides the correct voltages and currents for the system bus. Examples would include:
I/O ports
I/O ports is a complementary method of performing input/output between the CPU and
peripheral devices in a computer. This allows I/O devices to be connected to the CPU
without having to have specialist hardware for each one. Think about the USB port on your
computer, you can connect Keyboards, Mice, Game pads, Cameras, Phones, etc. and they all
connect using the same port.
CLOCK
All the signals within the processor need to be synchronized i.e. kept in step. A clock is a
component within a processor or a CPU which ‘ticks’ at regular intervals to synchronize the
flow of signals within a CPU.
This clock generates timing pulses at a particular frequency. The frequency of this clock is
known as the clock rate / clock speed. The clock speed is the number of cycles that are
performed by the CPU per second.
The length of an instruction is measured in terms of the number of clock cycles it takes to
execute the instruction. Therefore the clock rate will determine the speed at which an
instruction is executed.
The CPU requires a fixed number of clock ticks (or clock cycles) to execute each instruction.
The faster the clock, the more instructions the CPU can execute per second.
For example, a 4 GHz processor performs 4,000,000,000 clock cycles per second. Typical
processor clock speeds are of the order of a few GHz (1.5 GHZ to 4 GHz).
Computer processors can execute one or more instructions per clock cycle, depending on
the type of processor. Early computer processors and slower processors can only execute
one instruction per clock cycle, but faster, more advanced processors can execute multiple
instructions per clock cycle, processing data more efficiently.
Warning!: The faster the clock speed the more heat the processor will generate.
Overclocking a processor may destroy it due to excessive heat being generated.
9
• The processor type: Some processors have faster processors than others. Different
processors may use different architectures that impact on their processing speeds.
• The number of cores in the computer system (a core has an ALU, a control unit and a
registers): A “quad core” with four processors processor will outperform a “dual”
core processor with two processors. However, for an application to benefit from
multiple cores it must be able to make use of several processors.
• The bus width – the larger the bus width the faster will be the computer system as
wide buses can transfer data between memory/ input or output devices and the
processor in any given time.
• Clock speed – as discussed earlier, the higher the clock speed, the faster is the
processor. Remember: Don’t compare computers based on clock speed unless they
use the same line of processors – such as Intel core i3, i5 or i7.
• Use of cache memory. Cache memory is a type of high-speed memory which is built
into the processor . Data can be transferred to and from cache memory more
quickly than from RAM. Normally data and instructions are stored in RAM and have
to be transported to the CPU during processing. Data and/or instructions that are
accessed frequently are stored in cache memory. Data/instructions in cache memory
are accessed much faster than that in RAM. This allows for faster processing as the
processor does not have to wait for the data and instructions to be fetched from
RAM.
Cache memory is made from SRAM chips and will have much faster access times
than conventional RAM which is made from DRAM chips.
END