What Is A Register?Types Of Register
Computer or microcontrollers need memory to store data & programs that it needs to process later. These memory devices may be hard drives, memory sticks but the CPU itself need some storage space to store the necessary commands & instruction for data processing. That is where registers come in.
A register is the smallest storage units built inside the processor for quick store & transfer of data & instruction necessary for the processor. The CPU can directly access the register for quick actions. They store operands or instruction that is currently being used by the processor.
There are different types of Register each having a special purpose.
Data Register Or DR:
As its name suggests, data register temporarily store the data or operand that is currently being processed by the processor.
Accumulator Register or AR:
This register is used to accumulate the operands used by the ALU (Athematic Logic Unit) during any athematic or logical processing. It stores the initial operands, intermediate and final result before sending to relevant register block.
Program Counter or PC:
This is a special register. This register stores the address of the next address to be fetched for execution. During each machine cycle, it increments, pointing towards the address of the next instruction to be fetched.
Instruction Register or IR:
This register holds the instruction commands from other memory units. It stores the instructions ready to be fetched by the control unit for processing.
Memory Address Register or MAR
This register stores the address location of the memory where the CPU wants to read or write some data.
Memory Buffer Register or MBR:
This is a buffer register for any data or instruction going from or to any memory. It holds the instruction/data before sending it to IR/ AR respectively.
Stack Control Register or SCR:
The name suggests a stack (set) of the memory block that stores that data using FILO (First in last out).
Flag Register or FR:
The flag means alarm or special condition, this type of special register indicates the flags occurred during any operation of the processor. There are different types of flags such as interrupt flag, Data overflow flag, zero flag, parity flag etc. all controlled by flag register using each bit of the register.
I/O Address Register or I/O AR:
This type of register stores the address of any input/output module or system connected with the processor.
I/O Buffer Register or I/O BR:
This Register holds the data that is to be transferred between the I/O module and the CPU.