Professional Documents
Culture Documents
Von-Neumann Vs Harvard Architecture Differences & Uses
Von-Neumann Vs Harvard Architecture Differences & Uses
com/von-neumann-harvard-architecture/
The term Computer architectures refer to a set of rules stating how computer so!ware and
hardware are combined together and how they interact to make a computer functional,
furthermore, the computer architecture also specifies which technologies the computer is
able to handle.
When a person thinks of the word “architecture”, the human mind will probably think of
the assembly of buildings or houses, moreover, with the same principle in mind, computer
architecture involves the construction of a computer system internally and externally.
!"System design:
!"The system design is the hardware parts, which includes multiprocessors,
memory controllers, CPU, data processors, and direct memory access. The
system design can be considered to be the actual computer system.
!"Instruction set architecture:
!"This revolves around the CPU. It includes the CPU capabilities and functions,
furthermore it also includes the CPU’s data formats, programming language
and processor register types and instructions, which are used by the computer
3 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
programmers.
!"The CPU is the part in a computer, which makes a program run, whether it was
the operating system or an application like Photoshop.
!"Microarchitecture:
!"The microarchitecture in a system will define the storage element/data paths
and how they will be implemented into the instruction set architecture, the
microarchitecture also is responsible for data processing.
All these will gel together in a certain order to make the system functional.
This was beneficial because if instructions were desired, they can be arithmetically
modified in the same way as the data.
The von Neumann architecture describes a design model for a stored program digital
computer that incorporates only one single processing unit and one single separate
storage structure, which will hold both instructions and data.
The von Neumann architecture refers to one that keeps the data as well as the
programmed instructions in read-write RAM (Random Access Memory).
4 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
Within the CPU, there is the ALU, CU, and the registers, which are described in more detail
below:
Control Unit:
!"Controls the operation of the ALU, memory, and input/output, instructing them
how to respond to the instructions from the program it had just read and
interpreted from the memory unit. The control unit directs the operations of the
CPU by executing the following jobs:
!"Coordinating and controlling activities of the CPU
!"Managing data flow between other components and the CPU
!"Acknowledging and accepting the next instruction
!"Decoding instructions
!"Storing the resulting data back into a memory unit
!"Allows logical and arithmetic operations to be carried out such as addition and
subtraction.
5 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
Memory Unit:
!"Consists of RAM, which is partitioned out and consists of an address and its
contents, which are in binary form.
!"RAM (Random Access Memory) is a fast type of memory unlike hard drives, it is also
directly accessible by the CPU.
!"The existence of RAM in a CPU, allows it to function a lot quicker and hence more
e"iciently.
Registers:
!"Small block in the CPU that consists of a high-speed storage memory cells that
store data before it is processed, all logical, arithmetic, and shi! operations occur
here.
!"The register consist of 5 components
!"Program Counter (PC): Holds the address of the next instruction to be
executed
!"Accumulator (AC): Storage area where logic and arithmetic results are stored
!"Memory Address Register (MAR): Holds the address of a location of the data
that is to be read from or written to
!"Memory Data Register (MDR): Temporary storage location that stores data
that has been read, or data that still needs to be written
!"Current Instruction Register (CIR): Area where the current instruction is being
carried out. The operation is divided into operand and opcode.
!"Operand: Contains data or the address of the data (where the operation will
be performed)
!"Opcode: Specifies type of instruction to be executed
Buses:
!"These are a set of parallel wires, which connect components (two or more) inside
the CPU. Within the CPU, there are three types of buses, and these are all referred
to a system bus. The types of buses are: Data bus, Control bus, and Address bus.
!"Data bus: This bus is referred to as a bi-directional bus, which means “bits” can be
carried in both ways. This bus is used to transport data and instructions between
the processor, memory unit, and the input/output.
!"Address bus: Transmits the memory address specifying where the relevant data
needs to be sent or retrieved from. (The address bus does not carry the data, only
6 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
the address)
!"Control bus: This is also a bi-directional bus used to transmit “control
signals”/commands from the CPU (and status signals from other components) in
order to control and coordinate all the activities within the computer.
Input/Outputs:
Advantages Disadvantages
The above advantage would also mean Only one “bus” can be accessed at a time.
that data from memory and from devices This results in the CPU being idle (as it’s
are accessed the same way. Therefore faster than a data bus) This is considered
increasing e"iciency to be the von Neumann Bottleneck
7 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
and memory improvements have increased in capacity, rather than speed, this had
resulted in the term “von Neumann bottleneck”. This is because the CPU spends a great
amount of time being idle (doing nothing), while waiting for data to be fetched from the
memory. No matter how fast the processor is, this ultimately depends on the rate of
transfer, as a matter of fact, if the processor is faster, this just means that it’ll have a greater
“idle” time.
!"Caching:
!"Data which is more easily accessible in RAM, rather than stored in the main
memory. The type of data stored here will be the type of data, which is
frequently used.
!"Prefetching:
!"The transport of some data into cache before it is requested. This will speed
access in the event of a request of the data.
!"Multithreading:
!"Managing many requests at the same time in separate threads.
!"New types of RAM:
!"Such as DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access
Memory).
!"This type of RAM activates output on both the falling edge and the rising edge of
the system clock, instead of just the rising edge.
!"This can potentially double the output.
!"RAMBUS:
!"A subsystem connecting RAM controller, RAM, and the bus (path) connecting
RAM to the microprocessor and devices within the computer that utilise it.
!"Processing in Memory (PIM):
!"PIM’s integrate a processor and memory in single microchip.
The computer-stored instructions on “punched tape” (24 bits wide), furthermore the data
was stored in electro mechanical counters. The CPU of these early computer systems
contained the data storage entirely, and it provided no access to the instruction storage as
data.
8 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
Harvard architecture is a type of architecture, which stores the data and instructions
separately, therefore splitting the memory unit.
The CPU in a Harvard architecture system is enabled to fetch data and instructions
simultaneously, due to the architecture having separate buses for data transfers and
instruction fetches.
Advantages Disadvantages
9 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
Advantages Disadvantages
Uses the same physical memory address It uses separate memory addresses for
for instructions and data instructions and data
The processors require two clock cycles to Processor requires only one cycle to
execute an instruction complete an instruction
The von Neumann architecture consists of Harvard architectures control unit consists
a simpler control unit design, which of two buses, which results in a more
means less complex development is complicated system. This adds to the
required. This means the system will be development cost, resulting in a more
10 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
Instruction fetches and data transfers Instruction fetches and data transfers can
cannot be performed at the same time be performed at the same time
Used in laptops, personal computers, and Used in signal processing and micro-
workstations controllers
A pure Harvard architecture su"ers from the disadvantage that the mechanism must be
provided to separate the load from the program to be executed into instruction memory
and thus leaving any data to be operated upon into the data memory.
However modern systems nowadays use a read-only technology for the instruction
memory and read/write technology for the same memory.
This allows a system to allow the execution of a pre-loaded program as soon as power is
applied.
However, the data will be in an unknown state, therefore it cannot provide any pre-defined
values to the program.
The solution to this is to provide machine language instructions so that the contents of the
instruction memory can be read as if they were data, as well as providing a hardware
pathway.
Most adoptions of Harvard architecture nowadays is a modified form, this is to loosen the
strict separation between the data and the code, whilst still maintaining a high-
performance concurrent data and instruction access of the original Harvard architecture.
11 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
!"Split-cache architecture:
!"Very similar to the von Neumann architecture, this modification builds a
memory hierarchy with CPU caches for instructions and data at lower levels of
hierarchy.
!"Instruction-memory-as-data architecture:
!"This modification allows to access the content of the instruction memory as the
data. This can be carried because data cannot directly get executed as
instructions.
!"(Though there is a debate to whether or not this actually can be named as
“Modified” Harvard architecture)
!"Data-memory-as-instruction architecture:
!"Executing instructions fetched from any memory segment, unlike Harvard
architecture, which can only execute instructions, fetched from the program
memory segment.
Whereas nowadays, the majority of computer systems share the same memory for both
data and program instructions.
The CPU in a Harvard architecture system is enabled to fetch data and instructions
simultaneously, due to the architecture having separate buses for data transfers and
instruction fetches.
The von Neumann architecture refers to one that keeps the data as well as the
programmed instructions in read-write RAM (Random Access Memory).
12 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
!"Registers:
!"Program Counter (PC)
!"Accumulator (AC)
!"Memory Address Register (MAR)
!"Memory Data Register (MDR)
!"Current Instruction Register (CIR)
!"Buses:
!"Data bus
!"Address bus
!"Control bus
!"Input/Outputs
Advantages:
Disadvantages:
!"The Harvard architecture is a computer system that contains two separate areas for
data and commands/instructions.
!"Harvard architecture is a type of architecture, which stores the data and
instructions separately, therefore splitting the memory unit.
Advantages:
Disadvantages:
!"Complex
!"Expensive
13 of 15 10/02/23, 3:53 pm
Von-Neumann vs Harvard Architecture | Differences & Uses https://teachcomputerscience.com/von-neumann-harvard-architecture/
!"Split-cache architecture
!"Instruction-memory-as-data architecture
!"Data-memory-as-instruction architecture
References:
1. https://www.techopedia.com/definition/19737/harvard-architecture
2. https://tdck.weebly.com/uploads/7/7/0/5/77052163
/03_-_harvard_architecture_comparison.pdf
3. https://getrevising.co.uk/grids/von-neumann-architecture
4. http://di"erencebetween.net/technology/di"erence-between-von-neumann-and-
harvard-architecture/
5. https://en.wikipedia.org/wiki/Von_Neumann_architecture
6. https://www.geeksforgeeks.org/computer-organization-von-neumann-
architecture/
7. https://www.techopedia.com/definition/32480/von-neumann-architecture
8. http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
9. https://www.computerscience.gcse.guru/theory/von-neumann-architecture
10. https://en.wikipedia.org/wiki/Modified_Harvard_architecture
11. https://www.edaboard.com/threads/harvard-vs-modified-harvard-
architechture.111764/
14 of 15 10/02/23, 3:53 pm