Header Ads Widget

Special Purpose Registers


Program Counter :
It keeps track of address of instruction which is to be executed next. So it holds the address of memory location, which contains the next instruction to be fetched from memory. When instructions are normally executed sequentially, its content is automatically incremented after an instruction has been fetched. In case of jump instruction, its content are modified and program jumps to memory location which contains the desired instruction to executed next.

Stack Pointer :
The stack is sequence of memory location defined by user. It is used to save the contents of a register if it is required during the execution of a program. The stack pointer holds the address of last occupied memory location of stack.

Status Register :
A flag register contains number of flags either to indicate certain conditions after arithmetic or logical operations or to control certain operations. A flag is a flip-flop which is set or reset by processor to indicate certain conditions or set or reset by programmer to control certain operations.

Instruction Register :
It holds an instruction until it is decoded. Some computers have two instruction registers, so they can fetch and save next instruction while the execution of previous instruction is going on.

Index Register :
It is used for addressing. One or more registers are designated as index registers. The address of an operand is sum of contents of index registers and a constant. Instructions involving index register contain constant. This constant is added to contents of index register to form effective address(address of operand ).

Memory Address Register :
 Sometimes it is called simply address register. It holds the address of instruction or data to be fetched from memory. The CPU transfers the address of next instruction from the program counter to memory address register. From memory address register it is sent to memory through address bus.

Memory Buffer  Register :
It holds the instruction code or data received from or sent to memory. It is connected to the data bus. The data which are written into memory are held in this register until the write operation is completed.

Post a Comment

0 Comments