What are the key principles of von Neumann architecture?
- Memory stores only bits (a unit of information, a value equal to 0 or 1).
- Memory stores both encoded instructions and data to operate on. There are no means to distinguish data from code: both are in fact bit strings.
- Memory is organized into cells, which are labeled with their respective indices in a natural way (e.g., cell #43 follows cell #42). The indices start at 0. Cell size may vary (John von Neumann thought that each bit should have its address); modern computers take one byte (eight bits) as a memory cell size. So, the 0-th byte holds the first eight bits of the memory, etc.
- The program consists of instructions that are fetched one after another. Their execution is sequential unless a special jump instruction is executed.
There might be additional points, which are of a little importance to us, such as:
- The architecture is fixed, no new links appear between its parts.