Von Neumann’s model is composed of three specific components (or sub-systems) including a central processing unit (CPU), memory, and input/output (I/O) interfaces. The figure defines one of the various possible methods of interconnecting these components.
CPU − CPU can be regarded as the soul of the computing system, includes three main components: the control unit (CU), one or more arithmetic logic units (ALUs), and multiple registers. The control unit decide the order in which instructions should be implemented and controls the retrieval of the useful operands. It defines the instructions of the machine.
The execution of each instruction is persistent by a sequence of control signals created by the control unit. The control unit controls the flow of data through the system by issuing control signals to various components. Each operation generated by a control signal is known as microoperation (MO).
Computer Memory − It can store program instructions and data. There are two types of memories are RAM (random-access memory) and ROM (read-only memory).
RAM stores the data and general-purpose programs that the machine implements. RAM is temporary and its contents can be modified at any time and it is removed when the power to the device is turned off. ROM is permanent and can store the original boot-up instructions of the machine.
I/O interfaces − It enables the computer's memory to get data and send information to output devices. Also, they enable the computer to connect to the user and secondary storage devices such as disk and tape drives.
The prior components are linked through a set of signal lines called a bus. As shown in the diagram, the main buses carrying data are the control bus, data bus, and address bus. Each bus consists of multiple wires that enable the parallel transmission of data between several hardware components.
The address bus recognizes both a memory location and an I/O device. The bidirectional data bus sends information to or from a component. The control bus includes signals that allow the CPU to connect with the memory and I/O devices.
The implementation of software in a von Neumann computing device requires the use of the three main components just defined. Generally, a software package, known as an operating system, controls how these three components work together.
The operating system makes use of the I/O interfaces to fetch the application from secondary storage and load it into the memory. Once the program is in memory, the operating system then schedules the CPU to start implementing the program instructions. Each instruction to be performed should first be retrieved from memory. This retrieval is defined as an instruction fetch.
After an instruction is fetched, it is placed into a specific register in the CPU, known as the instruction register (IR). While in the IR, the instruction is decoded to decide what kind of operation must be implemented. If the instruction needed operands, these are fetched from memory or probably from various registers and located into the suitable location (certain registers or specially designated storage areas referred to as buffers).