Von Neumann Architecture

The Problem with Early Computers

In the 1940s, early machines like ENIAC were very difficult to program. These computers had major constraints:

  • The program was not stored in the machine
  • Physical modifications to connections (cables and switches) were required
  • Very powerful machines but not very flexible
  • Changing programs = reconfiguring the entire machine
ENIAC was used to calculate ballistic trajectories during World War II. It occupied an entire room, used vacuum tubes, and changing programs could take several hours or several days.

A Revolutionary Idea

John von Neumann proposed a simple but revolutionary solution:

Store the program in the computer's memory, in the same place as the data.

This idea allows loading different programs without modifying the hardware. The same computer can thus execute:

Web Browser
Internet navigation

Video Game
Interactive entertainment

Word Processor
Document editing

Python Program
Software development

The computer becomes a universal machine capable of executing any program.


The Von Neumann Architecture Model

The von Neumann model is based on five main components that make up a computer:

1. Memory
Contains data and program instructions

2. The Processor (CPU)
Executes instructions

3. The Control Unit
Reads instructions and organizes their execution

4. The Arithmetic and Logic Unit (ALU)
Performs calculations and comparisons

5. Input/Output
Allows communication with the outside world (keyboard, screen, disk, network...)

Key characteristic: Memory contains both the program and data in the same storage space.

The Program Execution Cycle

The processor operates according to a three-step cycle that repeats continuously:

Fetch

The processor reads the instruction from memory

Decode

It interprets the instruction to understand what it needs to do

Execute

It executes the instruction

Concrete Example

Let's take a very simple sequence of instructions:

1  LOAD A      ← Load the value of A
2  ADD B       ← Add the value of B
3  STORE C     ← Store the result in C

The processor will:

  1. Read the value stored at address A
  2. Add the value stored at address B
  3. Store the result at address C
This is exactly what happens when you write c = a + b in Python!

The operating system (such as Linux, Windows, or macOS) is itself a program that manages the execution of other programs. Example with the ls command:

Loading

The operating system loads the ls program into memory

Execution

The processor executes the program's instructions

Display

The result is displayed on the screen

The operating system is a special program that orchestrates the execution of all other programs according to the principles of von Neumann architecture.

Modern Computers

Current processors are very complex: Intel, AMD, Apple M1, ARM...

The general principle remains the same: all modern computers still rely on the idea of the program stored in memory and executed by a processor.

Whether it's a smartphone, a laptop, a server, or a gaming console, all operate according to von Neumann architecture.


Advantages of This Architecture

  • Simplicity of design: Instructions and data are managed in the same memory space
  • Flexibility: Allows execution of various programs without hardware modifications
  • Universality: Foundation for all modern programmable computers

Limitations

Von Neumann Bottleneck: The transfer between memory and processor can be slow compared to the processor's processing speed. This is a bottleneck that limits performance.
Risk of corruption: An erroneous instruction can overwrite important data or instructions, because program and data share the same memory.

Conclusion

Von Neumann's revolutionary idea of storing the program in memory with the data transformed the computer into a universal machine.

This architecture, designed in the 1940s, remains the foundation of all modern computers: smartphones, servers, gaming consoles...

Although variants (such as Harvard architecture) have been developed to address certain limitations, von Neumann architecture remains the fundamental concept for understanding how computers work.