www.fgks.org   »   [go: up one dir, main page]

Trusted answers to developer questions

What is a processor register?

Free System Design Interview Course

Many candidates are rejected or down-leveled due to poor performance in their System Design Interview. Stand out in System Design Interviews and get hired in 2024 with this popular free course.

Overview

Computing devices are known to carry out a very large amount of computations in a short amount of time. These computations require a lot of data as input and produce significant data as output.

With the basic computational memory of a computer system being the RAM, this memory is often exhausted during computation. This exhaustion leads the computer system into using memory alternatives such as:

  • Virtual memory: A situation where some part of the secondary memory is used alongside the RAM to temporarily increase the RAM size.
  • Caches: A temporary storage for constantly accessed computational data located away from the processor.
  • Registers: Fast processor storage locations.

What are registers?

Registers, sometimes referred to as processor registers, are fast memory locations that are littered around the processor for easier access than RAM. Registers will hold temporary, constantly accessed data because of how fast they are. They tend to be quite small in size.

Registers in their circuitry contain flip-flopsA device which stores a single bit (binary digit) of data, which can be the OFF or ON state. which determine their sizes. A 32-bit register contains 32 flip-flops. Registers also contain gates for controlling data transfer.

How do registers work?

The process of using registers by the processor is as follows.

  • Processor registers can be part of the instruction set of the processor, or, as in modern processors, these architecturally defined registers can be duplicated and renamed to increase the performance of the processor.

  • When there is any arithmetic computation to be undertaken by the computer system, the data needed for this is loaded from a larger memory into these registers.

  • Using the memory address of this register, the processor can access data contained in the register and use it to carry out the computation.

  • These registers can hold intermediate results of computations, hold memory addresses, an execution time counter, instructions for executing the expression, and the instruction being executed.

Types of processor registers

The table below lists the types of registers a processor uses.

Types of registers

Types

Basic Function

Memory Address Register (MAR)

Holds the address in memory of any instruction set which might be needed by the processor.

Memory Buffer/Data Register (MBR/MDR)

This will fetch data from or to the main memory. It buffers such data until the appropriate time.


Program Counter (PC)

Holds the address of the next instruction set to be executed by the processor.

Accumulator Register (AR)

Used by the CPU as a temporary storage location that holds intermediate value of mathematical arithmetic computations.

Instructions Register(IR)

The instruction set being executed currently by the processor is stored here.

Data Registers (DR)

Holds numeric data values such as integers and, in some architectures, floating-point values, as well as smasl bit arrays and other data

Address Registers

Hold addresses that used by instruction which indirectly accesses the main memory

RELATED TAGS

memory
registers
Did you find this helpful?