EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

What is Register?

By A. SathyanarayananA. Sathyanarayanan

Home » Software Development » Software Development Tutorials » Computer Tutorial » What is Register?

What is Register?

Introduction to Register

Computers have become part of our life and today in the digital world the children are born with mobile phones and it is the first toy for them to play with. More than half of our population work with computers without understanding the basic parts of it and how it works. A computer consists of 3 basic components viz., a central processing unit (CPU), Memory to temporarily store results and  Storage to store data permanently. CPU in turn contains three main components namely a. The arithmetic logic unit, b. Control unit and c. Register Memory. Central Processing Unit (CPU) is the heart of a computer and it executes program codes, does arithmetic calculations, logical comparison as instructed and store the final outcome in storage. It takes data and executable instructions from the main memory and processes it. While doing so it needs some working space to store intermediate results and special instructions and the stored values should be retrievable faster. Register does this function effectively and let’s study this in detail in this article.

Types of Registers

Before getting into let’s understand the functionalities first.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

1. Functions of Register

It is typically a tiny memory unit, not part of the main memory of the computer (Random Access Memory (RAM) or Read-only Memory (ROM)) resides in the CPU. They are positioned in the computer hierarchy a level above main memory. Control Unit of the computer takes the data from the disk storage (Secondary storage) and Program codes from the library and stores the relevant instruction and data in the main memory and instructs CPU to process it. CPU is the brain of the computer that processes the instruction and data and delivers the result.

The process may involve multiple steps and the results of the intermediate steps and other parameters like address, data will have to be stored in memory units for smooth continuity. The main memory of the computer cannot fulfill this requirement as the speed of storing and retrieval is not fast. Register memory fills the gap and provides faster storage and retrieval of the contents.

They store data, address, and instructions with a size of 32 bits to 64 bits and the power of the CPU is determined by the number of Registers and its size. The big-sized can be split into smaller sized units to hold multiple data. One dimensional array or vector can be operated simultaneously using these register and such processors are called vector processors. There are different types that are categorized by its contents, instructions, and uses. Some of the categories are accumulating values, data storage, Address storage, next Instruction, etc.

Registers can be grouped functionally under 2 groups:

  1. Registers Accessible by Users: Contents in these can be altered by the instructions in the flow of program execution e.g Data and address Register.
  2. Internal Registers: Used exclusively by CPU for internal operations and these are not accessible by instructions.

2. User Accessible Registers

  • Data Registers (DR): It holds variables used by the processor in the execution of instructions and in a transition state between the processor and peripheral devices. Its size is 16 bits and stores an integer, floating-point values, Characters and array of elements small in size.
  • Accumulator Registers (AC): It holds the results of any operation until it is consumed in the next operation by CPU. Its size is 16 bits.
  • Address Registers (AR): It holds the address of the main memory that holds data or instructions. It may hold the exact absolute address or offset value in numeric format and both the options exist in processors.
  • Program Counter (PC): Address of the main memory location which contains an instruction that has to be executed next after completing the current instruction, is stored in this register. It helps to maintain a flow in the execution of a program instruction after instruction in the right sequence. It can also be called an instruction pointer.
  • General Purpose Register (GPR): It stores addresses as well as data and it is known as integrated registers of both address and data. It has got the capability to store floating-point numbers as well.
  • Floating-point Registers (FPR): It stores Floating point numbers.
  • Vector Registers: It holds data of SIMD (Single instruction and multiple data) instructions.
  • Constant Registers: It holds constant values like pi, zero and one.
  • Status Registers: It holds true or false values that decide the execution of a statement.

3. Internal Registers

  • Instruction Register (IR): It holds the current instruction that is executed currently. This instruction would have been fetched from the main memory. Its size is 16 bit. CPU, as instructed by the control unit, will execute this instruction after decoding.
  • Memory Buffer Register (MBR): It holds the content of the memory that is transferred between the main memory and another component in both the direction and it is two-way registers.
  • Memory Address Registers (MAR): It stores the address of the memory from where the data will have to be fetched to the CPU for processing.

4. Other Registers

  • Architectural: Defined by Architecture are visible to software and it is pseudo registers.
  • Hardware: These are not part of the CPU and they are present outside.

Importance of Registers

It plays a critical role in storing instructions, addresses, data, and results in tiny quickly retrievable memory units and enhance the program execution speed. Though each has a specific function to perform, they are easily accessible to CPU, Memory and other components of computers and the storing contents into and out of these registers are pretty fast.

Advantages:

  • It provides faster access to data, instruction, and addresses stored in it for CPU.
  • It handles the storing/retrieving variables accessed repeatedly.
  • It helps in enhancing program performance significantly.
  • Optimized utilization of memory while executing the program.

Recommended Articles

This is a guide to What is Register?. Here we discuss the definition of Register and its different types along with the advantages and importance. You can also go through our other suggested articles to learn more –

  1. What is Scala?
  2. Scala Versions
  3. Scala Data Types
  4. Ansible Register

All in One Software Development Bundle (600+ Courses, 50+ projects)

Popular Course in this category
All in One Software Development Bundle (600+ Courses, 50+ projects)600+ Online Courses | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (3,144 ratings)
Course Price

View Course

Related Courses
Windows 10 Training (4 Courses, 4+ Projects)JWS Java Web Services Training (4 Courses, 11 Projects)Java Training (40 Courses, 29 Projects, 4 Quizzes)

600+ Online Courses

3000+ Hours

Verifiable Certificates

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
Computer Tutorial
  • Computer Basics
    • New Technologies of Computer
    • Application of Computer Graphics
    • Types of Computer Architecture
    • Types of Computer Software
    • Line Drawing Algorithm
    • SOAP Web Services Interview Questions
    • Web Services Interview Questions
    • Microservices Interview Questions
    • What is Windows 10?
    • Windows 10 Desktop Mode
    • Windows Commands  
    • Windows Interview Questions
    • Windows Networking Commands
    • Windows Operators
    • Windows Server Interview Questions
    • Introduction to Windows
    • Top Windows Phone Apps
    • Windows Monitoring Tool
    • Productivity tricks for Windows 10
    • Computer Network Advantages and Disadvantages
    • Computer Network Interview Questions
    • Introduction To Computer Network
    • What is Embedded Systems
    • Components of Embedded System
    • Embedded Systems Security
    • Types of Computer Network
    • Types of Computer Operating System
    • Evolution of Operating System
    • NAS Storage Device
    • Windows Administrator Interview
    • Types of Communication Network
    • What is Automata
    • Types of Mainframe Computers
    • Types of Computer Hardware
    • Types of Sensors
    • What is Server
    • What is RPC
    • What is Microservices
    • Types of Computer Virus
    • Types of Computer Keyboard
    • Types of Motherboard
    • Sensor Device
    • What is Computer Graphic Design
    • Computer Architecture Interview
    • What is Computer Science?
    • What is Bluetooth?
    • What is VLAN?
    • Types of VLAN
    • Types of LAN
    • How does LAN switches work
    • What is VLAN Network?
    • What is Native VLAN?
    • How does LAN Switches work?
    • Switching Modes
    • What is Storage?
    • What is Object Storage?
    • What is Block Storage?
    • Block Level Storage
    • Cordova Local Storage
    • Threads in Operating System
    • What is Gateway?
    • What is Ethernet?
    • What is Virtual Machine?
    • What is a Trunk Port?
    • VPN Applications for Android
    • What is a NAS Drive?
    • What is Ring Topology?
    • Point to Point Topology
    • What is Mesh Topology?
    • Extended Star Topology
    • Token Ring Topology
    • Physical Topology
    • What is a Hybrid Topology?
    • Hybrid Network Topology
    • Star Network Topology
    • Star Bus Topology
    • Zariski Topology
    • Ethernet Topology
    • Logical Topology
    • Partial Mesh Topology
    • Types of Computer Cables
    • Types of Computer Language
    • Features of Operating System
    • Functions of Operating System
    • Multithreading in Operating System
    • Ethernet Frame Format
    • Types of Memory in Computer
    • What is Heap Memory?
    • What is Register?
    • Types of Registers
    • What is Arduino?
    • Arduino Operators
    • What is iSCSI?
    • Computer Science Interview Questions
    • Types of USB Ports
    • What is Port
    • Daisy Chain Network
    • What is a Monitor?
    • What is Printer?
    • Types of Printers
    • What is WPS
    • What is Mouse?
    • Types of Socket
    • Transmission Modes
    • Computers Output Devices
    • Memory Units
    • Secondary Memory
    • What is Memory Card?
    • Types of Memory Cards
    • What is Intranet?
    • Central Processing Unit
    • Computer Ports
    • What is CPU Register
    • Types of CPU
    • Types of Compact Disc
    • Cache Memory Types
    • What is a Motherboard?
    • Types of LED
    • Types of Processor
    • Types of Primary Memory
    • Helpdesk Tool
    • What is Optical Fiber?

Related Courses

Windows 10 Training Course

Java Web Services Training Course

Java Training Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - All in One Software Development Bundle (600+ Courses, 50+ projects) Learn More