CPU registers are high-speed storage locations inside the microprocessor used for memory addressing, data operation and processing. Important types of CPU registers are Accumulative Register (AR), Stack Control (ACR), Instruction Pointer (IPR), Address or Segment Register (AR or SR) & Flag Register (FR).
A register is a small high-speed memory inside the CPU. It is used to store temporary results. Registers are designed to be assessed at a much higher speed than conventional memory. Some registers are general purpose while others are classified according to the function they perform.
Size of CPU Registers
Register size determines how much information it can store. The size of the register is in bytes. Each byte can store one character of data. in addition, a register can be of one, two, four or eight bytes. The bigger size of a register can also increase the performance of the CPU.
Types of CPU Registers
CPU Registers are classified into two categories, general-purpose and some are reserved for certain functions. Common types of CPU Registers are Accumulative Register (AR), Stack Control Register (ACR), Instruction Pointer Register (IPR), Address or Segment Register (AR or SR), Flag Register (FR).
Major types of CPU registers in the Intel-8086 family processor are:
- Accumulative Register (AR)
- Stack Control Register (ACR)
- Instruction Pointer Register (IPR)
- Address or Segment Register (AR or SR)
- Flag Register (FR)
Accumulative Register (AR)
The function of accumulative registers is to handle mathematical and logical operations. These registers are part of ALU. Almost, there are four types of accumulative registers called EAX, EBX, ECX, and EDX also. The size of these registers can be 1 to 4 bytes.
The two-byte data registers (AX, BX, CX, DX) contain two parts of an 8-bit size. Furthermore, these parts are separately accessible. The lower order bytes are designated as AL, BL, CL, and DL. The high order bytes are designated as AH, BH, CH, and DH.
Stack Control Register (SCR)
A stack is a set of a memory location in which data is stored and retrieved in order. This order is called Last-In-First-Out (LIFO). The data item stored at the top of the stack is retrieved before retrieving the item below it. Furthermore, stack control registers are used to manage stack in the computer.
Two special registers SP and BP are used for this purpose. DI, SI, SP, and BP can either be used as 2-byte register or 4-byte registers. The names of 4-byte stack control registers are EDI, ESI, ESP, and EBP.
Instruction Pointer Register (IPR)
The instruction pointer register is used to store the memory location of the next instruction to be executed. It is a special register that holds a sequence of instructions to be performed. It almost works along with the segment registers.
Address or Segment Register (AR or SR)
The address or segment register is used to store the memory location of the instruction that is being executed. This is a group of 4 or 6 registers of two bytes named CS, DS, ES and SS, FG, GS. These registers are used with either the IP register or two index registers DI and SI.
Flag Register (FR)
Flag registers are used to indicate a particular condition. The size of the flag register is one or two bytes. Each byte of flag registers is further divided into eight bits. Each bit of the flag register indicates a flag or condition.
In addition, the data in the flag register is stored in 8 distinct bits. Some flag registers are Zero flags, Carry flag, Parity flag, Sign flag, and Overflow flag.