0% found this document useful (0 votes)
107 views9 pages

Von Neumann Architecture Computer Science

The document describes the Von Neumann architecture, which was an early computer architecture developed by John von Neumann. It introduced the concept of storing both programs and data in the same memory unit. This allowed programs to be changed by simply loading a new program into memory rather than rewiring the computer. The document outlines the key components of the Von Neumann architecture including the CPU, memory, control unit, ALU, registers, buses, and input/output.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views9 pages

Von Neumann Architecture Computer Science

The document describes the Von Neumann architecture, which was an early computer architecture developed by John von Neumann. It introduced the concept of storing both programs and data in the same memory unit. This allowed programs to be changed by simply loading a new program into memory rather than rewiring the computer. The document outlines the key components of the Von Neumann architecture including the CPU, memory, control unit, ALU, registers, buses, and input/output.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

1

COMPUTER SCIENCE 9618


VON NEUMANN COMPUTER ARCHITECTURE
Early computers (in the 1940s) were dedicated to carry out a very specific task, for example
breaking secret wartime codes. For example, the Colossus was used to break the German
secret code Enigma during the second world war. The Eniac was the first general-purpose
electronic computer and able to solve "a large class of numerical problems" through
reprogramming although it was designed and primarily used to calculate artillery firing tables for
the USA military.

(Notice how massive these machines were!)


In these early war-time computers, programs were essentially part of the machine. Any
program would be hard-wired into the machine and the data would be fed into memory to
be acted upon by the program. So, in early architectures only data was stored in main
memory (main store) - programs and data were kept separate.
So, to carry out a different task the entire machine had to be re-programmed by rebuilding
it. It took three weeks to re-wire the Eniac in order to do a different calculation. There had
to be a better way.
It was von Neumann who had an idea of how to create a computer that was far easier to
change, this is known as the von Neumann architecture. The idea was that not only should
the data be stored in memory but that the program processing the data should also be
stored in the same memory. This novel idea meant that a computer built with this
architecture would be much easier to re-program.
The von Neumann architecture is also known as the stored-program architecture as both
the program and data are kept in the same memory unit or RAM. With this architecture, the
2

task a computer is working on can be changed by simply loading a new program into
memory.

FEATURES OF THE VON NEUMANN ARCHITECTURE

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.

MAIN MEMORY (RAM)


The Main Memory (also known as Main Store or Immediate Access store) stores

 data currently being processed.

 the program currently processing that data.

 Part of the Operating System.

CONTROL UNIT
 The control unit will manage the process of moving data and the program into and
out of memory and input/output devices.

 It also deals with carrying out (executing) program instructions – one-at-a-time.


3

 The control unit fetches instructions from memory, decodes them and synchronises
the operations before sending control signals to other parts of the computer.

ARITHMETIC AND LOGIC UNIT (ALU)


This part of the architecture is solely involved with carrying out calculations upon the data.

• Arithmetic calculations involve Addition, Subtraction, Multiplication, Division.


• Logical operations involve data comparisons: greater than, less than, equal to
and relational operators such as AND, NOT, NOR etc.
REGISTERS
The CPU also has some registers.

A register is a high-speed memory location within the CPU designed to hold temporary data
and instructions during processing.

Registers store intermediate values.

The processor uses a group of special-purpose registers during the fetch-decode-execute


cycle. There are also some general-purpose registers in the CPU.

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...)

The Program Counter (PC)


The program counter stores the address of the next instruction to be fetched from memory.
The Instructions are stored sequentially in memory. Therefore the value in the PC is
incremented every time an instruction is accessed.

MEMORY ADDRESS REGISTER (MAR)


When the next instruction is needed it is copied from the Program Counter and is placed in
the Memory Address Register.

The Memory Data Register (MDR) or Memory Buffer Register (MBR)


The memory address is located in memory and its contents placed in the Memory Data Register.
The Memory Data Register (MDR) is also known as the Memory Buffer Register.

CURRENT INSTRUCTION REGISTER (CIR)


The memory address is in the Memory Data Register is loaded into the Current Instruction
Register.

INDEX REGISTER (IR)


An index register is an area of memory usually built into the central processing unit (CPU) to
be used as a very fast counter for stepping through memory addresses or to keep track of
operations such as looping.
5

STATUS REGISTER (SR)


The status register is a hardware register that contains information about the state of the
processor. The status register records the condition of the CPU as a result of arithmetic, logical or
command operations. The purpose of the Status Register is to hold information about the most
recently performed ALU operation, control the enabling and disabling of interrupts and set the CPU
operating mode.

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

THE BUSES IN A COMPUTER

There are three types of bus in a processor.

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 AND OUTPUT IN A VON NEUMANN ARCHITECTURE


The von Neumann architecture allows for the idea that a person needs to interact with the
machine. Input and Output devices need to connect to the CPU as well as to the main
memory. Whatever values are passed to and from these devices are stored in internal
registers. Input/Output devices are used by the system to get information in and out, as
they are not internal but are connected to the CPU, we refer to them as peripherals (your
hands are peripheral to your torso).

Two important peripheral devices are:

• 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:

• keyboard controller, attached to a keyboard


• disk controller for a Hard Disk (Hard Disks are not main memory!)
• video display controller, attaching a video display unit (monitor)
8

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.

timing clock pulses

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.

Clock speeds are expressed in megahertz (MHz) or gigahertz ((GHz).

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

Factors that contribute to the performance of a computer system

The following factors determine the performance of any computer system:

• 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

You might also like