This basic model of a computer as a processing unit that takes some input, communicates with a memory, and produces output, is known as the
von Neumann architecture after the early computer scientist
John von Neumann. In this architecture, the processor itself consists of multiple specialized parts:
Modern computers add many layers of complexity to this basic model. One such modification seen in the picture above is multiple busses - in the diagram on the previous page and the original von Neumann architecture, there is only one system bus that can carry messages from one component to another. This means that the processor and memory would have to take turns talking: “CPU: Please send me the data at address 1 in memory”; “Memory: OK, the data at 00001 is 01010111.”; “CPU: Please send me the data at address 2 in memory”… Having multiple busses avoids this bottleneck by allowing the CPU to communicate the next address it wants at the same time memory sends data back to the CPU.