The computer uses a number of special memory units called registers to speed up the rate of information transfer between various units of the computer. They are not treated as part of main memory and are used to retain information on a temporary basis. The number of registers varies from computer to computer. Most computers use several types of registers each designed to perform a specific function. These registers can receive information, retain it temporarily and pass it on as directed by the control unit. The length of a register depends on the number of bits it can store. Thus a register which can store 16 bits is normally referred to as 16-bit register. Although the number of registers varies from computer to computer, some registers are common to all computers such as instruction register, program counter register, etc.
Types of registers
1. Memory address register.
This holds the address of the active memory location. When an instruction is read from memory, the address is loaded from the program into this register.
2. Memory buffer register.
 It holds the contents of the memory word read from or written in memory. A word to be stored in memory location must first be transferred to this register from where it is written in memory.
3. Program counter register.
 It holds the address of the next instruction to be executed by the computer.
4. Accumulator register.
 It holds the initial data to be operated upon, the intermediate results and also the final results of processing operations.
5. Instruction register.
It holds the current instruction that is being executed.
6. Input - output register.

 This holds all input information to be passed to the memory and also the output information to be transferred to an output device.