Grokking the Behavioral Interview
Get Educative’s popular interview prep course for free.
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:
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
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.
The table below lists the types of registers a processor uses.
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.
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
Hold addresses that used by instruction which indirectly accesses the main memory