127.0.0.1 Computer Systems How computers work – The CPU & von Neumann

If you are reading this, you probably already understand that a computer is an electronic device. If not, have a look at what binary is on this post. In this post, I will talk about how computers work and how John von Neumann was the pioneer of the way in which our modern-day computers function.

Computers contain electronic circuits that carry out boolean logic (True or False) in order to process data inside the device. To main part of the computer that processes information if, of course, the CPU (or Central Processing Unit) – To better understand the role the CPU plays in our computer, I will go over some of the most important aspects to a GCSE level (A-Level will be a separate post) understanding of the CPU.

Von Neumann architecture

Let’s begin with where it all started, in 1945 with Jonh von Neumann, a mathematician, physicist and inventor, from Hungary. He proposed a model of a computer system. Before he introduced this model, computers typically had one purpose and could not do much else without being completely rebuilt. A good example is Turing’s ENAIC – Electronic Numerator Integrator, and Computer. It could perform specific complex calculations but if it was required to do a different sort of calculation it would need to be completely re-wired. Von Neumann, therefore, proposed a computer system that could be re-programmed with relative ease.

the “stored-program” concept

John von Neumann developed the idea of the stored-program concept. In this model, programs and instructions are stored, in that, it keeps the programmed instructions (how the computer works) as well as the data, in a read-write area (RAM). It is thought that this concept is older than von Neumann, but he was the one that inspired its development. Before a computer can actually read and process data, then produce any information it must first read instruction in the form of a program, which is stored in memory. Nowadays, many programs can be stored and accessed at the same time, this is known as multiprogramming.

The main components of the model:

  • The central processing unit (CPU) – the main processor of the system.
  • Storage – Primary memory (or main memory) has fast access and can be accessed directly by the CPU. RAM and ROM form this type of memory, along with registers and cache. We also have secondary storage which includes things like Hard Drives and DVDs.
  • Input and output devices – are devices used to communicate with other parts of the system. For example, keyboard (input) and monitor (output)
  • Cache memory – high-speed memory used for commonly used instructions.
  • Regsiter – internal memory location for the temporary storage of data an instructions currently in use by the CPU
  • Accumulator – a register used for intermediary arithemtic and logic calculations

Components of the CPU

Control Unit (CU)

The control unit controls other parts of the processer. it sends signals such as read/write to tell the ALU and main memory to read or write data to and from each component. It can also tell the input and output devices (peripherals) what to do. It uses a timer to control the signals which allow time for each instruction to finish before starting the next.

Arithmetic Logic Unit (ALU)

This is where all of the processing happens. in the ALU, binary electric signals that represent data are passed through logic circuits which are in turn transformed into data. The two main aspects of the ALU are as follows:

Arithmetic, meaning the result of calculations, or rather, the numerical answer to a math problem.

Logic processing, meaning deducing the true or false value of a logical statement.

Buses

in order to transfer information around the computer, the component all need to be connected somehow. this is made possible via the use of buses. There are 3 main buses that you need to know:

  1. The data bus – carries the actual data
  2. The address bus – carries the memory address (the location of the data)
  3. The control bus – carries the different “intructions” that are to be performed

Registers

Internal memory locations. They are very fast, but also very small in storage size. They temporarily hold instructions during processing and move things around the different parts of the processor, There are several notable registers in the CPU:

  • Memory Address Register – MAR
  • Memory Data Register – MDR
  • Program Counter (PC)
  • Accumulator

Input/Output (I/O)

allows interaction with the computer.

Immediate Access Store

is memory found inside a CPU and is used to hold both data and instructions. it is the CPU memory and is required to hold various pieces of information until they are needed in order to speed up the entire process rather than having to read from the main memory each time.

Fetch Decode Execute Cycle

Fetch

The CPU fetches the data and instructions then stores them in the IAS.

The address bus is used to fetch the instruction. The CPU then places the address of the next item to be fetched onto the bus. The data from the address is moved from the main memory into a temporary store by sending it across the address bus. Registers are used to store this information and decode it in the next step.

Decode

For the CPU to understand the instruction it needs to decode it. this is done using a specific set of commands for that CPU architecture. each type is different and these are known as “instruction sets”. Moving data and decoding it is controlled by the CPU

Execute

The final step is to now execute the instruction. this is where the data is processed and where the CPU carries out the instruction. This could be arithmetic calculations or logical deductions, which we’ll be carried out by that ALU.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.