Registers
As the instructions are interpreted and executed by the CPU, there is a movement of information 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 number of special memory units, called registers. These registers are used to hold information on 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 8-bit register. Most CPU sold today, have 32-bit or 64-bit registers. The size of the registers is sometimes called the world size. The bigger the world size, the faster the computer can process a set of data. With all other parameters being same, a CPU with 32-bit registers, can process data twice as fast as one with 16-bit registers.
Although, the number of registers varies from computer to computer, there are some registers, which are common to all computers. The functions of these registers are described below.
Memory Address Register (MAR)
- It holds the address of the active memory location. It is loaded from the program control register, when an instruction is read from memory.Memory Buffer Register (MBR)
- It holds the contents of the memory world read from, or written in, memory. An instruction world placed in this register is transferred to the instruction register. A data word placed in this register is accessible for operation with the accumulator register, or for transfer to the I/O register.A word to be stored in memory location must first be transferred to the MBR, from where it is written in memory.Program Control Register (PC)
- It holds the address of the next instruction to be executed Normally, the instructions of a program are stored in consecutive memory location, and read and executed in sequence, unless a branch instruction is encountered. A branch instruction is an operation, which calls for a transfer to a non-consecutive instruction. The address part of a brands instruction is transferred to the PC register, to become the address of the next instruction.Accumulator Register (A)
- It holds the data to be operated upon, the intermediate results and the results of processing. It is used during the execution of most instructions. The results of arithmetic operations are returned to the accumulator register, for transfer to main memory, through the memory buffer register. In many computers, there are more than one accumulator registers.Instruction Register (I)
- It holds the current instruction, which is being executed. As soon as the instruction is stored in this register, the operation part and the address part of the instruction are separated. The address part of the instruction is sent to the MAR. While its operation part is sent to the control unit, where it is decoded and interpreted, and ultimately command signals are generated to carry out the task specified by the instruction.Input/output Register (I/O)
-It is used to communicate with the input/output devices. All input information, such as instructions and data, are transferred to this register by an input device. Similarly, all output information, to be transferred to an output device, is found in this registers.
SL.NO
|
Name of Register
|
Function
|
1
|
Memory Address(MAR)
|
Holds the address of the
active memory location
|
2
|
Memory Buffer(MBR)
|
Holds information on its way
to and from memory
|
3
|
Program Control(PC)
|
Holds the address of the next
instruction to be executed
|
4
|
Accumulator(A)
|
Accumulators results and data
to be3 operated upon
|
5
|
Instruction(I)
|
Holds an instruction, while it
is being executed.
|
Input/output(I/O)
|
Communicates with the I/O
devices
|