In the very early days of computing, one instruction at a time of a program was executed with an operator setting up each instruction and also initiating the execution of each instruction. The operator would typically set up instruction by flipping some switches on a switchboard and then would set up the required data and control paths to the functional units by using patch cords. Certainly, executing a program was extremely cumbersome and required a lot of effort by the operators. At this juncture, in a revolutionary step, the concept of stored-program computers was proposed by John Von Neumann in 1945. Von Neumann proposed that instructions can be encoded and stored in the memory just like data. During the execution of a program, the stored instructions can be fetched from memory, and the fetched instruction can be decoded to set up the necessary data paths and generate the control signals.
The organization of a Von Neumann computer is shown schematically in Figure above. The figure also shows that a control unit is incorporated as a part of the processor. The control unit is electronic circuitry that decodes each fetched instruction and generates the necessary control signals that are transmitted to the functional units to carry out the required operations and also the control signals are responsible for automatically setting up the required data paths. In essence, the stored program concept along with the control unit eliminated the need for an operator to enter each instruction through switch settings and also eliminated the need to set up data paths by inserting patch cords.
Von Neumann's novel computer organization not only made program execution much faster but also set the trend of computer organizations for quite some time to come. Execution. of programs became faster as manual entry of the instructions, as well as setting up of the data and control paths to the functional units could be totally avoided. This gave rise to the concept of an instruction cycle. In an instruction cycle, an instruction is fetched from memory, analyzed the data
fetched processed, and finally the results are produced. In other words, the
execution of an instruction is completed in an instruction cycle, Von Neumann computer organization was a revolutionary concept and held the center stage in computer design for the next several decades. That is, the organizations of all computers that were designed over the next few decades were essentially based on the Von Neumann style of architecture. However toward the end of 1980s, the quest for faster computations made designers to notice a few shortcomings of the Von Neumann computing One of the shortcomings of the Von Neumann computers arises due to the fact that a single connection exists between the processor and memory . Consequently, at any time only one memory access can occur. That is, at a time either an instruction can be fetched or a data item can be accessed This appeared as a problem in parallel execution of instructions (this issue is discussed detail in Chapter 10). The term Von Neumann bottleneck is often used to indicate that both fetching an instruction and accessing (reading and writing) data over the same bus from memory by the processor at the same time in a Von Neumann computer is not possible, this is a bottleneck in achieving high-performance computations.Fortran,C and even Java is some name of the category of programming language whose structural dedicated like von Neumann computer architecture.