What Is Cpu Register In Computer Architecture?


A Cpu register is a temporary storage area built into a CPU. … Most modern CPU architectures include both types of registers. Internal registers include the instruction register (IR), memory buffer register (MBR), memory data register (MDR), and memory address register

register fetches instructions from the program counter (PC) and holds each instruction as it is executed by the processor. The memory registers are used to pass data from memory to the processor. The storage time of internal registers is extremely temporary, as they often hold data for less than a millisecond.

What are CPU registers used for?

IComputer Architecture, the Registers are very fast computer memory which are used to execute programs and operations efficiently. This does by giving access to commonly used values, i.e., the values which are in the point of operation/execution at that time.


What is register in CPU and its types?

register is a temporary storage area built into a CPU. … Most modern CPU architectures include both types of registers. Internal registers include the instruction register (IR), memory buffer register (MBR), memory data register (MDR), and memory address register.

Different types of Memory Register

There are various types of the register that are available and some mostly used CPU register are below with the description

  • Accumulator (AC)
  • Flag Register
  • Address Register (AR)
  • Data Register (DR)
  • Program Counter (PC)
  • Instruction Register (IR)
  • Stack Control Register (SCR)
  • Memory Buffer Register (MBR)
  • Index register (IR)

These registers are the most important integral part of the computer and each of these are having a specific purpose. Let us see below

1. Accumulator

Accumulator register is part of ALU which abbreviates to Arithmetic Logical Unit and as the name suggests is responsible for performing arithmetic operations and also in logical operations. The Control unit will store the data values which are fetched from the main memory into the accumulator for the arithmetic or any other logical operations. This register holds the initial data, intermediate results and asl well as the final result of the instruction. The final result of the operations which can be arithmetic or logical will be transferred to the main memory through MBR Popular Course in this category.

2. Flag Register

This register validates or checks upon the various occurrences of a condition in CPU and is handled by this special register called flag register. The size of this register is one or two bytes since it will hold only flag information. This register main gets into the picture when a condition is being operated.

3. Data Register

This register is used to temporarily store the data being transmitted from the other involved peripheral devices.

4. Address register

This address the register also called memory address register MAR is a memory unit that stores the address location od data or instructions on the main memory. They contain a portion of the address which can be used to compute the complete address.

5. Program Counter

This register is also known popularly as an instruction pointer register. This register as the name suggests will be holding the address of the next instruction that needs to be fetched and executed or performed. When the instruction is fetched then the value is incremented and hence will always be holding the address of the next instruction to be run.

6. Instruction Register

Once the instruction is fetched from the main memory it is stored in Instruction Register IR. The control units take the instructions from here decodes it and executes it by sending the required signals to the required component.

7. Stack Control Register SCR

As the work stack in the name of this register represents block, here it represents a set of memory blocks where the data is stored in and as well as fetched. FILO which is First IN and Last Out will be followed for the storing and retrieval of the data.

8. Memory Buffer Register

This register holds the information or the data which is read from or written in the memory. The content or the instructions stored in this register will be transferred to Instruction Register IR whereas the content of the data is transferred to the accumulator or I/O register.

9. Index Register

The index register is an integral part of computer CPU which will help in modifying the address of the memory operand during the execution of the program. Basically the contents of the index register are added to the immediate address to get the resultant the effective address of data or instruction on the memory.

Registers are used to quickly accept, store, and transfer data and instructions that are being used immediately by the CPU. These registers are the top of the memory hierarchy, and are the fastest way for the system to manipulate data. In a very simple microprocessor, it consists of a single memory location, usually called an accumulator. Registers are built from fast multi-ported memory cell. There are various types of Registers those are used for various purpose.s Some Mostly used Registers are Accumulator(AC), Data Register(DR), Address Register(AR), Program Counter(PC), Memory Data Register (MDR), Index Register(IR), Memory Buffer Register(MBR). Registers are used for performing the various operations. While we are working on the system then these Registers are used by the CPU for Performing the Operations. When we gives some input to the system then the input will be stored into the Registers and When the system will gives us the results after processing then the result will also be from the Registers. So that they are used by the CPU for processing the data which is given by the user. Registers Perform:- 1) Fetch: The Fetch Operation is used for taking the instructions those are given by the user and the Instructions those are stored into the Main Memory will be fetch by using Registers. 2) Decode: The Decode Operation is used for interpreting the Instructions means the Instructions are decoded means the CPU will find out which Operation is to be performed on the Instructions. 3) Execute: The Execute Operation is performed by the CPU. And Results those are produced by the CPU are then Stored into the Memory and after that they are displayed on the user Screen. ——————————————————.————————————————————– Registers are the most important components of CPU. Each register performs a specific function. A brief description of most important CPU Registers and their functions are given below: 1. Memory Address Register (MAR): This 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. 2. Memory Buffer Register (MBR): This register holds the contents of data or instruction read from, or written in memory. The contents of instruction placed in this register are transferred to the Instruction Register, while the contents of data are transferred to the accumulator or I/O register. In other words you can say that this register is used to store data/instruction coming from the memory or going to the memory. 3. I/O Address Register (I/O AR): I/O Address register is used to specify the address of a particular I/O device. 4. I/O Buffer Register (I/O BR): I/O Buffer Register is used for exchanging data between the I/O module and the processor.

Program Counter (PC): Program Counter register is also known as Instruction Pointer Register. This 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. 6. Instruction Register (IR): Once an instruction is fetched from main memory, it is stored in the Instruction Register. 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. 7. Accumulator Register(AC): 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. 8. Stack Control Register(SCR): A stack represents a set of memory blocks; the data is stored in and retrieved from these blocks in an order, i.e. First In and Last Out (FILO). The Stack Control Register is used to manage the stacks in memory. The size of this register is 2 or 4 bytes. 9. Flag Register(FR): 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. For example, if zero value is put into an arithmetic register (accumulator) as a result of an arithmetic operation or a comparison, then the zero flag will be raised by the CPU. Thus, the subsequent instruction can check this flag and when a zero flag is “ON” it can take, an appropriate route in the algorithm. 10. Data Register(DR): A register used in microcomputers to temporarily store data being transmitted to or from a peripheral device.

Operations of a CPU Register

For CPU processing these register plays a critical role. When we give the input, these are stored and in register processes and the output is from the register only.

So basically a register will perform the following operations.

  • Fetch: To fetch the instructions of the user also the instructions that are present in the main memory in a sorted way
  • Decode: The second operation is to decode the instructions that need to perform. Thus CPU will be knowing what are the instructions
  • Execute: Once the instructions are decoded then execute operation is performed by the CPU. Once done the result is presented on the user screen

Why we need a CPU register?

For the fast operations of an instruction, the CPU register is highly useful. Without theses CPU operation is unimaginable. These are the fastest memory when we look at the different memory and Laos will hold the top position in the memory hierarchy. A register can hold an instruction, address, or any other sort of data. There are different types of registers available and we have seen most used in the above part of the article. Thus having register, it makes the operations of CPU smooth efficient and meaningfull. A register must be large enough according to ist requirements and specifications.

Advantages and Disadvantages

Below are advantages and disadvantages


Below are the advantages:

  • These are fastest memory blocks and hence instructions are executed fastly compared to main memory
  • Since each register purpose is different, and instructions will be handled with grace and smoothness by the CPU with the help of registers
  • There are rarely any CPU that will not be having register in the digital world


Let us take a look at the disadvantages:

  • Since the memory size of the register is finite and if the instruction is bigger then cpu need to use cache or main memory along with register for the operation


Thus the number of the register that is available in the CPU and how large is our instructions will be significantly impacting the time of execution of our code. This having adequate CPU register will help in faster and smooth execution


Author: refuge_2020

Leave a Reply

Your email address will not be published. Required fields are marked *