Understanding Von Neumann Architecture: The Foundation of Modern Computing

Rumman Ansari   Software Engineer   2024-07-21 10:03:20   6300  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

Table of Content:

The earliest computers such as ENIAC and Colossus were program-controlled machines in which writing a new program or changing some existing program required re-wiring, restructuring or redesigning the machines. Thus, programming in these computers was a quite tedious task. To ease the programming process, an idea known as ‘stored program concept’ was proposed by a mathematician and an early computer scientist named John Von Neumann. According to this concept, both data and instructions are kept in the main memory. Thus, a computer could get its instructions from the memory and the programs could be setup or changed from within the memory as well, without having to redesign the computer. All the computers based on stored program concept are known as Von Neumann systems employing the ‘Von Neumann architecture’.

Von Neumann Architecture
Figure: Von Neumann Architecture

Most of the conventional and today’s modern computers that are based on Von Neumann architecture consists of four hardware components: a CPU with control unit, ALU, main memory and an I/O sys-tem (see Figure below). In addition, these computers can process the instructions in a sequential manner. The architecture shown in Figure below depicts the working of a Von Neumann computer. Here, the I/O instructions are passed through ALU to the control unit. All the programs are executed by following the

  1. The control unit determines the location of the next program instruction to be executed using the program counter and fetches it from the main memory.
  2. The instruction is then decoded into the language understandable by the ALU.
  3. The  required  data  operands  for  executing  the  instructions  are  fetched  from  main  memory  and stored into the CPU registers.
  4. The instructions are executed by ALU and the results are placed in registers or memory.