Von Neumann architecture
The von Neumann architecture was based on a description by, you guessed it, John von Neumann. It is a design architecture for an electronic digital computer. What might this architecture be capable of you ask? Well you see, this architecture treats instructions like data, which allows it to make assemblers, compilers, linkers, loaders and other automated programming tools possible. It makes "Programs that write programs" possible so to speak. The term "von Neumann architecture" has evolved to refer to any stored-program computer in which an instruction fetch (collection phase) and a data operation cannot occur at the same time. Wonder how the von Neumann architecture looks? Well, there is a scheme down below that showcases how it works in a simple way.
The limitations
This architecture has sadly also some limitations, since nothing can be perfect after all. One of these limitations is something called the 'von Neumann bottleneck' which is the fact that the data transfer rate between the CPU and memory (compared to the amount of memory) is limited due to the fact that the bus (communication system that transfers data between components inside a computer) can only access one of the two at a time. The fact that the CPU's speed and memory size have evolved much faster than the other component, this becomes increasingly more of a problem.