Computer Architecture : Computer registers and Its Type

A processor Register or simply A Register is a very fast computer memory, used to store data/instruction in-execution. Register is a quickly accessible location available to a computer's central processing unit (CPU). Registers are speed up CPU's operations by providing quick access to commonly used values such as an instruction, a storage address, or any kind of data (such as a bit sequence or individual characters). Registers are the top of the memory hierarchy and are the fastest way for the system to manipulate data. Registers are normally measured by the number of bits they can hold, for example, an 8-bit register means it can store 8 bits of data or a 32-bit register means it can store 32 bit of data.

A Register is a group of flip-flops with each flip-flop capable of storing one bit of information. An n-bit register has a group of n flip-flops and is capable of storing binary information of n-bits. A register consists of a group of flip-flops and gates. The flip-flops hold the binary information and gates control when and how new information is transferred into a register.

Registers are used to store data temporarily during the execution of a program. Some of the registers are accessible to the user through instructions. Data and instructions must be put into the system. So we need registers for this.


Types of Registers :

MBR (Memory Buffer Register) : The Memory Buffer Register holds the contents of data or instruction read from, or written in memory. It means that this register is used to store data/instruction coming from the memory or going to the memory.

MAR (Memory Address Register) : The Memory Address Register holds the address of memory where CPU wants to read or write data. When CPU wants to store some data in the memory or reads the data from the memory, it places the address of the required memory location in the MAR.

PC (Program Counter) : The Program Counter register ( also known as Instruction Pointer Register ) is used to store the address of the next instruction to be fetched for execution. When the instruction is fetched, the value of IP is incremented. Thus this register always points or holds the address of next instruction to be fetched.

Accumulator Register : The accumulator register is located inside the ALU, It is used during arithmetic & logical operations of ALU. The control unit stores data values fetched from main memory in the accumulator for arithmetic or logical operation. This register holds the initial data to be operated upon, the intermediate results, and the final result of operation. The final result is transferred to main memory through MBR.

MDR (Memory Data Register) : The Memory Data Register contains the data to be stored in the computer memory. The MDR is a two-way register. When data is fetched from memory and placed into the MDR, it is written to in one direction. When there is a write instruction, the data to be written is placed into the MDR from another CPU register, which then puts the data into memory.

Index Register : A hardware element which holds a number that can be added to (or, in some cases, subtracted from) the address portion of a computer instruction to form an effective address. Also known as base register. An index register in a computer's CPU is a processor register used for modifying operand addresses during the run of a program.

Data register : The Data Register is used in microcomputers to temporarily store data being transmitted to or from a peripheral device.

IR (instruction Register) : When an instruction is fetched from main memory, it is stored in the Instruction Register. Instruction Register holds the instruction to be executed. The control unit takes instruction from this register, decodes and executes it by sending signals to the appropriate component of computer to carry out the task.

IBR (Instruction Buffer Register) : The Instruction Buffer Register temporarily holds the instruction to be executed.

Flag Register : The Flag register is used to indicate occurrence of a certain condition during an operation of the CPU. It is a special purpose register with size one byte or two bytes. Each bit of the flag register constitutes a flag (or alarm), such that the bit value indicates if a specified condition was encountered while executing an instruction.



Next Topic :

No comments:

Post a Comment