Skip to main content

Section 2.1 The von-Neumann Architecture

The foundations of computer architecture have been laid in the late 1940s by the hungarian-american mathematician John von Neumann in his groundbreaking report on the EDVAC computer The basic architecture of computers hasn't changed fundamentally since then.

A computer consists of several different components (CPU, memory, input/output) that all communicate via a shared bus. The bus serves as the central means of communication that connects all components of the system. It is just a “bunch of wires” that can be accessed (written to and read from) by all components. Busses essentially avoid the overhead of n:n connections between the components at the price of the fact that only one bus participant can write to the bus at one point in time.

Figure 2.1.1. High-level schematic overview of a computer with a MIPS processor

A core abstraction that is common in most computers is that of addressable memory. The system has an address space, i.e. a range of natural numbers that each stands for the address by which a piece of data (commonly a byte) can be accessed. That data does not necessarily has to be stored in one single memory. Input-output devices can blend in parts of their memory in the global address space to make it accessible by all bus participants. The central processing unit (CPU) where all computations take place is also just a bus participant. It obtains and provides the data it computes on via the bus to the rest of the system.