A computer architecture describes how it uses the components and instructions to make the computer function
There are 2 common types of computer architecture:
Von Neumann architecture
Harvard architecture
Von Neumann vs Harvard Architecture
Von Neumann
Von Neumann's architecture includes:
- Control Unit
- Arithmetic Logic Unit
- Special Registers
- Busses
- Random Access Memory
Von Neumann - Control Unit (CU)
The control unit controls the operation of the processor and its components
It retrieves instructions stored in memory, decodes or interprets them, and then executes them
The CU generates timing signals and controls the other units of the computer
Von Neumann - Arithmetic Logic Unit (ALU)
The ALU carries out all the arithmetic and logic operations in the computer such as:
Addition
Subtraction
Multiplication
Division
Comparisons
Von Neumann - Buses
A single set of buses to connect the CPU to memory and Input/Output
These are communication systems that transfer data between the components inside a computer, or between computers
There are 3 types of buses:
The data bus carries data
The address bus carries the addresses where data must be picked up or stored
The control bus carries signals relating to the control and coordination of all the activities within the computer
Von Neumann - Memory (RAM)
The memory unit stores both data and instructions for processing
These are stored in the same format
The memory is divided into cells, each of which can be accessed by their address
The memory is a linear or sequential array of bytes
Harvard Architecture
Harvard architecture includes:
Separate Instruction and Data Memory
Separate Instruction and Data Buses
Control Unit (CU)
Arithmetic Logic Unit (ALU)
Harvard Architecture - SeparateInstruction and Data Memory
In Harvard architecture, the system has separate memory units for storing data and instructions
This separation provides greater speed and efficiency as the system can fetch data and instructions simultaneously from separate buses, without one interfering with the other
Harvard Architecture - SeparateInstruction and Data Buses
Harvard architecture uses separate buses for data and fetching instructions, meaning that data transfers do not interfere with instruction fetches
This can lead to better overall system performance
Harvard Architecture - Control Unit (CU)
The control unit controls the operation of the processor and its components
It retrieves instructions stored in memory, decodes or interprets them, and then executes them
The CU generates timing signals and controls the other units of the computer
Harvard Architecture - Arithmetic Logic Unit (ALU)
The ALU carries out all the arithmetic and logic operations in the computer such as:
Addition
Subtraction
Multiplication
Division
Comparisons
How does Harvard Architecture improve performance over Von Neumann Architecture?
There are several things that Harvard architecture has or can do which can improve performance over Von Neumann architecture: