Before the concept of VON-Neuman, there was a fixed program computer whose function is very specific and couldn’t be programmed.
A Von Neumann Architecture device, designed by physicist and mathematician John von Neumann (1903–1957) is a theoretical design for a stored-program computer that serves as the basis for almost all modern computers. In this stored-program concept, programs and data are stored in a separate storage unit called memories and are treated the same. Computers built with this concept would much easier for reprogrammed.
Earlier computers, such as the ENIAC, were hard-wired to do one task. If the computer had to perform a different task, it had to be rewired, which was a tedious process. With a stored program computer, a general-purpose computer could be built to run different programs.
This architecture has three basic units.
Central Processing Unit (CPU)
A Memory Unit
Input/Output Unit
CPU
CPU consists of ALU, control unit, and register. CPU retrieves the instruction and data from memory and stores processed data in memory also.
Control Unit
The control Unit generates timing and control signals for all the operations in the computers. It directs all input and output flow, fetches code for instructions, and controls how data moves around the system. The control unit gets a clock which determines the speed of the processor.
ALU (Arithmetic and Logic Unit)
The arithmetic logic unit handles all the calculations of the CPU may need, Which may be Addition, Subtraction, Comparisons. It performs Logical Operations also, which may be AND, OR operations.
Memory Unit (Register)
The registers are used primarily to store data temporarily during the execution of a program. Some of the registers are accessible to the uses through instructions.
Few of register are available in CPU
Accumulator: Stores the results of calculations made by ALU.
Program Counter (PC): Read the memory location of the next instructions to be fetch. The PC then passes this next address to Memory Address Register (MAR).
Memory Address Register (MAR): It stores the memory locations of instructions that need to be fetched from memory or stored into memory.
Memory Data Register (MDR): It stores instructions fetched from memory or any data that is to be transferred to, and stored in, memory.
Current Instruction Register (CIR): It stores the most recently fetched instructions while it is waiting to be coded and executed.
Instruction Buffer Register (IBR): The instruction that is not to be executed immediately is placed in the instruction buffer register IBR.
The CPU has five basic functions
1) It fetches an instructions which are stored in memory.
2) It decodes the instruction (It determines what the instruction is telling it to do).
3) It executes the instruction.
4) It looks for control signal such as interrupts and provides appropriate responses.
5) It provides states, control, and timing signals that the memory and input/output unit can use.
Input/Output Unit
The input & output port provide the microcomputer the capability to communicate with the outside world.
The input ports allow data to pass from the outside world to the microcomputer data which will be used in the data manipulation being done by the microcomputer.
The user can enter instruction and data in memory through input devices such as keyboard, CRT, disk devices, tape or card readers.
If some results are evaluated by computer and it is stored in the computer, then with the help of output devices, we can present them to the user.
The computer sends the process data to the output devices e.g. LED, CRT, D/A converters, printers etc.