Skip to content
TheCScience
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • HackerRank solutions
    • HackerRank Algorithms Problems Solutions
    • HackerRank C solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
TheCScience
TheCScience

Computer Register & Types in Computer Architecture

YASH PAL, October 13, 2025February 4, 2026

Computer Register in Computer Architecture – A computer system consists of registers 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 reads the instruction from a specific address in memory and then executes it. It then continues by reading the next instruction in sequence, executing it, and so on. This instruction sequencing needs a counter that calculates the address of the next instruction after the completion of the first one. This address must be remembered by the control unit. Therefore, a register in the control unit is also required.

Various Computer Registers

The above requirements dictate the register configuration as shown in the figure below. Consider a memory unit with 4k (4096) words. Each word size is 16 bits. 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 the operation code (opcode), and 1-bit to specify addressing (direct or indirect).

Basic computer register
Basic computer register

A basic computer architecture contains various registers as shown in the above figure.

Types of Computer Registers

  1. PC (Program Counter)
  2. AR (Address Register)
  3. IR (Instruction Register)
  4. TR (Temporary Register)
  5. DR (Data Register)
  6. AC (Accumulator)
  7. INPR (Input Register) and OUTR (Output Register)

PC (Program Counter): It is a register that 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 to be 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 to 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 is applied to the 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): The instruction register holds the instruction code. The width of this register is 16 bits for our example. The instruction read from memory is placed in the instruction register. Twelve bits of an instruction word are needed to specify the address of an operand. The remaining three bits are used for the operation part of the instruction, and one bit to specify 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 bits to store the data. The data register is normally used for arithmetic and logic micro operations along with the 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 the OUTR register can receive information from the bus. This is because the input register receives a character from an input device and transfers it to the accumulator. The output register receives a character from the accumulator and transfers it 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. The registers have a 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 the instructions that operate on them.

  1. General Purpose Registers (GPRs) can store both data and addresses. As their name suggests, these are used by the processor or user to store general-purpose data or addresses. These registers are a combination of data and address registers.
  2. Special Purpose Registers (SPRs) are used for a specific function. These registers hold the program state. Examples of special-purpose registers are the program counter (PC), the stack pointer (SP), and the status register (PSW). These can also correspond to the specialized hardware elements.
  3. 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.
  4. User- accessible Registers are the most common types of registers. These registers are used by the programmer. These can be categorized into two divisions: data registers and address registers. Data registers hold numeric values, whereas address registers hold the addresses. Data registers may hold integer as well as floating-point values. The address registers are used by instructions that indirectly access memory.
  5. Processor registers reside in the processor itself. These registers may hold an address or a numeric value. The index register is an example of a processor register. It is used to provide an offset address of data from some address in memory. The processor register may be used in a wide variety of possible addressing modes to specify the effective address of an operand.
  6. Control and Status Registers have three types. Program Counter (PC), Instruction Register (IR), and Program Status Word (PSW). The program counter is responsible for the sequencing of instructions. It holds the address of the instruction to be executed next. The instruction register stores the operation code, the address of the operand, and the mode of instruction. The program status word (PSW) shows the status of various flags and the accumulator after execution of an instruction.

Related questions and answers

Name various registers in a basic computer.

Program counter (PC)
Address Register (AR)
Temporary Register (TR)
Output Register (OUTR)
Input Register (INPR)
Data Register (DR)
Accumulator (AC)

Classify various types of registers.

General Purpose Register (GPRs)
Special Purpose Register (SPRs)
Machine Specific Register (SPRs)
User Accessible Register
Stack Register
Data and Address Register

Why do INPR and OUTR register are used?

The input register (INPR) and output register (OUTR) are used to communicate with the I/O devices. The serial information from the input device is stored in the input register. Similarly, the serial information for the output device is stored into output register.

Computer System Architecture engineering subjects Computer System Architectureengineering subjects

Post navigation

Previous post
Next post

Computer Architecture fundamentals
Development of Computers
Von Neuman and Harvard machine Architecture
Flynn Classification
Computer Structure Architecture
Interfacing Logic Devices
Levels of Design abstraction
Performance Metrics

Register Transfer Language
Memory Transfer
Arithmetic Micro-operations
Logic Micro-operations
Shift Micro-operations
Bus Architecture
Data Transfer
Central Processing Unit
CPU Bus Architecture

Computer Register and Types
Common Bus System
Instruction Format
Instruction Types
Instruction Cycle
Addressing Modes
Design of a basic computer

Basic function of a Computer
General register organization
Stack organization
Infix to Reverse Polish Notation Conversion
Instruction Types and their classifications
Data transfer and manipulation
Program control
RISC characteristics
CISC characteristics

Pipeline
Types of Pipeline
Arithmetic Pipeline
Instruction Pipeline
Hazards
Vector Processing

Data Representation
Addition and Subtraction
Adder Circuits
Shift and Add Multiplication Method
Booth's Algorithm
Restoring Division Algorithm
Non-Restoring Division Algorithm
Array Multiplier

Memory Classification
Memory Characteristics
Memory Organization
Memory Types
Associative Memory
Cache Memory
Virtual Memory

Input Output Interface
Modes of Data Transfer
Priority Interrupt
Direct Memory Access
Input-Output Processor
Serial Communication

TheCScience

We at TheCScience.com are working towards the goal to give free education to every person by publishing in dept article about Secondary, Senior-Secondary, and Graduation level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes