Computer Register | Types | Computer Architecture YASH PAL, October 13, 2025October 13, 2025 Computer Register in Computer Architecture – A computer system consists of register to store the data temporarily and to hold the memory address. In general, the instructions are stored in consecutive memory locations and executed sequentially. The processor first read the instruction from a specific address in memory and then executes it. It then continues by reading the next instruction in sequence and executes it and so on. This instruction sequencing needs a counter which calculates the address of the next instruction after completion of first one. This address must be remembered by the control unit. Therefore, a register in control unit is also required. Various Computer Registers The above requirements dictate the register configuration as shown in below figure. Consider a memory unit with 4k (4096) words. Each word size is let 16 bit. In this case, 12 bits are required to specify an address since 212 = 4096. Therefore, in an instruction of 16 bit, 12 bits can be used to specify the address, 3 bits to operation code (opcode) and 1-bit to specify addressing (direct or indirect). Basic computer register A basic computer architecture contains various registers as shown in above figure. Types of Computer Registers PC (Program Counter) AR (Address Register) IR (Instruction Register) TR (Temporary Register) DR (Data Register) AC (Accumulator) INPR (Input Register) and OUTR (Output Register) PC (Program Counter): It is a register which stores the address of the instruction to be executed next. Since, memory size is 4k x 16 bits, it requires 12 bits to represent the address. The PC goes through a counting sequence and causes instruction words are read and executed in a sequence unless a branch instruction is encountered. Once the branch instruction is executed, the branch address is transferred to the program counter (PC) register. AR (Address Register): It is used to point the specific memory location. For the considered example, the address register has 12 bits since this is the width of a memory address. When the address from AR are applied to 16-bit address bus, the 4 most significant bits are set to 0’s. In the same manner, when AR receives information from the bus, only 12 least significant bits are transferred into the register. IR (Instruction Register): Instruction register holds the instruction code. The width of this register is 16-bit for our example. The instruction read from memory is placed in instruction register. Twelve bits of an instruction word are needed to specify the address of an operand. Remaining three bits are used for operation part of the instruction and one bit to specify a direct or indirect addressing. TR (Temporary Register): The temporary register is used for holding temporary data during the processing. It also has 16-bits to store the data temporarily. DR (Data Register): The data register (DR) holds the operand from memory. It has 16 bit to store the data. The data register is normally used for arithmetic and logic micro operations along with accumulator. AC (Accumulator): The accumulator register is a general purpose processing register. It is a 16 bit register. It is used to store the operand and result of an arithmetic or logic micro operation. INPR (Input Register) and OUTR (Output Register): The input register INPR and the output register, OUTR have 8 bits each and communicate with the eight least significant bits in the bus. The INPR is connected to provide information to the bus but OUTR register can receive information from the bus. This is because input register receives a character from an input device and transfers it to accumulator. The output register receives a character from accumulator and transfers to an output device. There is no transfer from output register OUTR to any of the other registers. Classification of Computer Registers A computer system often contains various types of registers. There registers have different hierarchy in the system. For example, processor registers are at the top of the memory hierarchy, and provide the fastest way for a processor to access data. Computer registers can be classified according to their content or instructions that operate on them. General Purpose Registers (GPRs) can store both data and address. As their name suggest, these are used by the processor or user to store general purpose data or addresses. These registers are the combination of data and address registers. Special Purpose Registers (SPRs) are used with a specific function. These registers hold the program state. Examples of special purpose registers are program counter (PC), stack pointer (SP) and status register (PSW). These can also correspond to the specialized hardware elements. Machine Specific Registers (MSRs) store data and settings related to the processor itself. These registers cannot be expected to remain unchanged between different processors because their meanings are related to the design of a specific processor. User- accessible Registers are most common types of registers. These registers are used by the programmer. These can be categorized in two divisions: data registers and address registers. Data registers hold numeric values whereas address registers hold the addresses. Data registers may hold the integer as well as floating point values. The address registers are used by instructions that indirectly access memory. Processor Registers resides in the processor itself. These register may hold an address or a numeric value. Index register is one of the example of processor register. It is used to provide an offset address of data from some address in memory. The processor register may be used in wide variety of possible addressing modes to specify the effective address of an operand. Control and Status Registers are having three types. Program Counter (PC), Instruction Register (IR), and Program Status Word (PSW). Program counter is responsible for sequencing of instructions. It holds the address of the instruction to be executed next. The instruction register stores the operation code, address of operand and mode of instruction. The program status word (PSW) shows the status of various flags and accumulator after execution of an instruction. Computer System Architecture engineering subjects Computer System Architectureengineering subjects