/* ----------------------------------------------- ----------------------------------------------- */

The Control Unit:
The control unit of the CPU selects and interprets program instructions, and then sees that they are executed. It has some special purpose registers, and a decoder to perform these activities.
Processor and Memory architecture of a computer system
Processor and Memory architecture of a computer system

The Arithmetic Logic Unit:
When the control unit encounters an instruction, which involves an arithmetic operation or a logic operation, it passes control to ALU. The ALU has some special purpose registers, and the necessary circuitry, to carry out all the arithmetic and logic operations. For example, the control unit might load two numbers into the resisters in the ALU. Then it might tell the ALU to add the two numbers, or to cheek if the two numbers are equal.

Instructions Set:
Every CPU has built – in ability to execute a set of machine instructions, called is instructions set. Most CPUs have 200 or more instructions (such as add, subtract, and compare) in their instruction set. The machine language designed for a processor (CPU), is based on the list of instructions supported by the CPU in its instruction set. Since each processor has a unique instruction set, machine language programs written for one computer will generally not run on another computer, with different CPU.
CPUs made by different manufactures’ have different instruction sets. In fact, different CPU models of the same manufacturer also often have different instruction sets. However, manufacturers tend to group their CPUs into “Families” which have similar instruction sets. When a new CPU is developed, it is ensured that is instruction set includes all the instructions in the instruction set of its predecessor CPU, plus some new ones. This manufacturing strategy is known as upward compatibility, and the new CPU is said to be upward compatible with its predecessor. This feature allows software written for a computer with a particular CPU, to work on computers with newer processor of the same Family. In turn, it allows the users of these computer systems to easily upgrade-their system, without worrying about converting all their existing software.

As the instructions are interpreted and executed by the CPU, there is a movement of instruction between the various units of the computer system. In order to handle this process satisfactorily and to speed up the rate of information transfer, the computer uses a special memory unit, called registers. These registers are used to hold information on a temporary basis, and are part of the CPU (not main memory).
The length of a register equals the number of bits it can store. Hence, a register that can store 8 bits is normally referred to as an 8-bit register. Most CPUs sold today, have 32-bit or 64-bit registers. The size of the registers is sometimes called the word size. The bigger the world size, the faster the computer the process a set of data. With all other parameters being same, a CPU with 32-bits registers, can process data twice as fast as one with 16-bit register. Although, the number of registers varies from computer to computer, there are some registers, which are common to all computers.

Main Memory Organization: 
A primary storage or main memory of a computer system is made up of several small storage areas, called locations or cells. Each of these locations can store a fixed number of bits, called word length of that particular memory. Each word or location has a built-in and unique number assigned to it. This number is called the address of the location, and is used to identify the location.

Fixed and Variable Word – length Memory:
The main memory of some computers is designed to store a fixed number of characters in each numbered address location. Such computers are said to be word addressable, and they employ a fixed-word-length memory approach. In these computers, storage space is always allocated in multiples of word-length. In many computers, the main memory is also designed in a manner that each numbered address can only store a single character. Computers designed in this manner, are said to be character- addressable, and they employ a variable –word-length memory approach.

Random Access Memory (RAM):
Physically, this memory consists of some integrated circuit chips, either on the motherboard, or on a small circuit board attached to the motherboard.

Read-Only Memory (ROM):

A special type of RAM, called read-only memory (ROM), is a non-volatile memory chip, in which data is stored permanently and cannot be altered by the programmer. ROMs are mainly used to store programs and data, which do not change and are frequently used.

Programmable Read-Only Memory (PROM):
There are two types of read-only memory (ROM)-manufacturer –programmed and user programmed. A manufacturer –programmed ROM is one in which data is burnt by the manufacturer of the electronic equipment in which it is used. A user-programmed ROM is one in which user can load and store “read-only” programs and data. Such a ROM is commonly known as programmable Read-Only Memory (PROM). PROMs are programmed to record information using a special device, known as PROM-programmer. However, once the chip has been programmed, the recorded information cannot be changed i.e. PROM becomes a ROM. 

Erasable Programmable Read-Only Memory (EPROM):
It is possible to erase information stored in an EPROM chip, and the chip can be programmed to store new information. EPROMs are often used by R & D personal, who frequently change the micro programs to test the efficiency of the computer system with new programs. When as EPROM is a use, information stored in it can be “read” and, the information remains in the chip, until it is erased.

Cache Memory:
Cache memory is an extremely fast, small memory between CPU and main memory, whose access time is closer to the processing speed of the CPU. It acts as a high-speed buffer between CPU and main memory and is used to temporarily store very active data and instructions during processing.