What is memory buffer register

Difference between register and main memory

The Main difference that is between register and main memory A register is a small and fast memory in the CPU that temporarily stores data, while main memory is a memory component in the computer that stores data and programs currently in use by the CPU.

A register is a fast memory location in the CPU. This allows the CPU to temporarily store data for processing. The number of available registers can vary from computer to computer. The total number of registers increases the performance of the CPU. On the other hand, the main memory is also called Random Access Memory (RAM). It contains data and programs that are currently running. The main memory is located outside the CPU. In short, registers are faster than main memory.

Important areas

1. What is register?
- definition, functionality
2. What is main memory?
- definition, functionality
3. Difference between registers and main memory
- Comparison of the main differences

key terms

Main memory, RAM, register

What is register?

Register is a small and fast storage unit. Registers are at the top of the memory hierarchy. The CPU temporarily saves data in these memory locations. Registers enable the CPU to store and transfer data from one component to another. The size of a register depends on the computer architecture. Each register receives information, stores it temporarily and sends it to the location requested by the CPU.

Figure 1: CPU register

There are several registers in the CPU. They perform various functions. Some common registers are as follows.

Program counter (PC) - Contains the address of the next instruction to be fetched and executed. After the instruction is called, the PC's value increases and it points to the next instruction.

Command register (IR) - Contains the currently executed statement.

Memory address register (MAR) - Contains the address of the active memory location. When the CPU needs to read or write from memory, the required address is stored in MAR.

Memory Buffer Register (MBR) - Holds the content of the memory location that is read from or written to memory.

Stack Pointer Register (SPR) - Used to manage the stack and store the values ​​on the stack.

Storage register (AX) - Used to store intermediate arithmetic and logical results.

Data register (DR) - Contains numeric data values ​​such as integers, floating point numbers, etc.

What is main memory?

The main memory (or the Main memory) is the Random Access Memory (RAM)). Usually the programs are stored in secondary storage devices such as a hard drive. The CPU takes more time to access the secondary memory. Therefore, programs are stored in main memory at the time of execution. This accelerates the calculation speed. The capacity of the main memory is an essential factor for the performance of the computer. When the main memory is high, the performance is also high.

Figure 2: RAMs

There are two types of main memory as SRAM and DRAM. SRAM stands for Static RAM. It uses a bistable latch circuit or flip-flop to store data. It's expensive and a lot faster. DRAM stands for Dynamic RAM. It uses a capacitor in an integrated circuit to store data and requires periodic refresh cycles to retain data due to the leakage current due to the capacitor. As SRAM, DRAM is not fast and expensive.

SDRAM is also a type of DRAM. It stands for Synchronize DRAM. DRAM works asynchronously with the system clock. SDRAM works synchronously with the system clock. Therefore, the SDRAM is faster than DRAM.

Difference between register and main memory

definition

Register is a small amount of high-speed storage that is readily available to a computer's CPU. Main memory is a form of computer data storage that stores currently used data and machine code.

speed

When comparing the speed, the registers are faster than the main memory.

place

Registers are in the CPU, while the main memory is outside the CPU.

Usage

A register temporarily stores data and sends it to the location instructed by the CPU. The main memory, on the other hand, stores the data and programs currently being executed by the CPU.

Types

There are different types of registers that perform different functions. Program counters, instruction registers, data registers, accumulator registers are some examples. In contrast, main memory is divided into two main types called SRAM and DRAM.

Conclusion

Both registers and main memory are volatile. You need a steady flow of electricity to hold the data. The difference between register and main memory is that a register is a small and fast storage in the CPU that temporarily stores data, while main memory is a memory component in the computer that stores data and programs currently in use by the CPU.

Reference:

1. "Processor Register". Wikipedia, Wikimedia Foundation, August 22, 2018, available here.
2. Memory (RAM) - Random Access Memory, PowerCert Animated Videos, October 2, 2016, Available Here.

Image courtesy:

1. “Registers CPU i386” By Bruce Shorty from the Czech Wikipedia - Transferred from cs.wikipedia to Commons from Sevela.p with CommonsHelper (Public Domain) via Commons Wikimedia
2. "A Bunch of RAM" by Blake Patterson (CC BY 2.0) via Flickr