Table of contents
1.
Introduction 
2.
Computer Hardware Configuration
2.1.
Memory Units
2.1.1.
Main Memory
2.1.2.
Control Memory
2.2.
Registers
2.2.1.
Process Unit Registers
2.2.2.
Control Unit Registers
2.3.
Multiplexers
2.4.
Arithmetic and Logical Unit
3.
FAQs
4.
Key Takeaways
Last Updated: Mar 27, 2024

Computer Hardware Organization

Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction 

The architecture of a computer can be defined as a catalogue of tools that are visible to the user, such as a number of data bits, instruction sets, addressing techniques, etc. In contrast, the organization of a computer defines the way a system is structured such that all tools in catalogue can be used. The significant components of computer organization include CPU, ALU, memory, and memory organization.

This blog will discuss configurations of computer hardware and its components in detail.

Recommended Topic, Microinstruction in Computer Architecture and Difference Between Jfet and Mosfet

Computer Hardware Configuration

Consider the Block Diagram given below:

 

 

The given block diagram consists of the following components:

  1. Memory
  2. Registers
  3. Multiplexers
  4. ALU
     

Let’s try to understand these components in detail further.

Memory Units

There are two memory units present in the given block diagram of Computer Hardware. i.e., Main Memory and Control Memory.

Main Memory

Memory is an essential component of computer hardware. It enables a user to perform basic tasks on the system. This memory is also known as Random Access Memory (RAM). This computer part stores operating system software, applications, and information related to the CPU to have fast and direct access to the stored data and perform tasks. It is one of the fastest types of memory that allows reading and writing data.
RAM is further divided into two parts:

  1. SRAM: It stands for Static Random Access Memory. It is mainly used as a source of memory in embedded devices. The data stored in SRAM does not need to be refreshed continuously. This stored information in the memory remains a static image until it is overwritten or deleted. SRAM is more preferred over DRAM for specific uses like caches located in CPU. as it is less dense and more power-efficient when not in use. 

     
  2. DRAM: It stands for Dynamic random access memory. DRAM is a predominant memory source in PC and workstations. This memory constantly restores the information held in the memory. DRAM refreshes the data continuously by sending millions of pulses per second to the memory storage block. The density of DRAM makes it a better choice for main memory.
     

Control Memory

A Control Memory is a part of the control unit. A control memory consists of fixed microprograms that cannot be modified frequently. It contains microinstructions that specify the internal control signals required to execute register micro-operations. The machine instructions generate a micro instructions chain in the control memory that generates micro-operations that fetches instructions from the main memory, compute an effective address, execute the operation, return control to fetch phase, and continue the cycle.

Also read, microprogrammed control unit

Registers

The Registers are very fast computer memory used to execute programs efficiently. This is done by giving access to commonly used values, i.e., values in the point of execution at that instant. Hence, several classes of CPU registers work in coordination with the computer’s memory to run operations efficiently. Although accessing instructions from RAM is faster with a hard drive, it still is not enough for the CPU. For even better processing, registers are used.

Six registers commonly used in Computer Hardware are as follows:  

Process Unit Register: AC(accumulator), AR(Address Register), PC(Program Counter), DR(Data Register). 
Control unit register: SBR(Subroutine Register), CAR (Control Address Register).
 

Process Unit Registers

A processor register can hold an instruction, an address, or data such as bit sequence or individual characters. These registers are required for manipulating data and storing a memory address. After the current instruction’s execution is completed, these registers are used to calculate the address of the next instruction.

Let’s discuss some process unit registers used in computer hardware in detail:

  1. Accumulator (AC): This is a general-purpose processing register frequently used to store data taken from the memory. It varies in numbers according to different microprocessors. This register consists of 16 bits.
     
  2. Address Register (AR): This register consists of 12 bits and is used to store the memory’s address.
     
  3. Program Counter (PC): This is used to keep track of the execution of a program. These registers consist of the memory address of the next instruction to be fetched. It points to the next instruction’s address to be fetched from the main memory when the previous instruction is executed. It also counts the number of instructions. The incrementation of the program counter depends on the type of architecture; For a 32-bit architecture, the counter gets incremented by four every time to fetch the next instruction. This register consists of 12 bits.
     
  4. Data Register (DR): These registers consist of 16 bits. They are used to hold memory operands.

Must Read hardwired and microprogrammed control unit.

Read Also - Memory hierarchy in computer network.

Control Unit Registers

Two control unit registers are used in computer hardware, i.e., SBR(Subroutine Register) and CAR (Control Address Register).

  1. Subroutine Register( SBR): This register stores the return address for a subroutine whose value is further used to return the micro-program from the subroutine.
    (Subroutine calls are the special type of branch where we return to one instruction below the calling instruction – provision must be made to save the return address since it cannot be written into ROM.)
     
  2. Control Address Register (CAR): This register receives addresses from four different paths. A multiplexer is used for this purpose.

Multiplexers

A multiplexer is a combinational circuit that contains several data inputs and a single data output depending on the select inputs. They are generally denoted by MUX. It also has data selector lines that specify which input signal needs to be switched to the output line. ‘n’ data selector lines are required for routing ‘2n’ input lines. The specific input data line for the output is decided on the basis of selection lines. The multiplexer is also known as a data selector since it selects only one of the multiple available data inputs.
Given below is an image of a 4-input multiplexer:

 

 

Consider the following truth table that determines the output for the above multiplexer.

The complete expression for the data input is Y= I0S1’S0’ + I1S1’S0 + I2S1S0’ + I3S1S0. This expression can be implemented using inverters, AND, and OR gates.

 

Read about Instruction Format in Computer Architecture Demultiplexer

Arithmetic and Logical Unit

ALU is a main component of the CPU that performs arithmetic and logic operations. An ALU is also known as an integer unit, an integrated circuit within a CPU. It is the last component to perform calculations in the processor. It can perform all processes related to arithmetic and logic operations, including addition, subtraction, shifting operations, and Boolean comparisons (OR, AND, and NOT). It is further split into arithmetic units (AU) and logic units (LU). The operands and code used by the ALU help in predicting the operations that need to be performed according to the input data. It sends the information to the memory after processing.

 

 

Besides addition and subtraction, ALU also handles the multiplication of two integers whose result is an integer. However, division operations may not be performed by ALUs as division operations may produce floating-point numbers. Instead, the floating-point unit (FPU) usually handles the non-integer calculations. Additionally, we can design an ALU to perform any operation. However, it becomes costly as the operations become complex as ALU takes up more space in the CPU. 

 

The ALU handles the calculations required by the CPU. Most of the operations among them are logical. The ALU design decides how powerful the CPU will be. More power means more heat and energy consumption; hence, it must be a moderation between complex and powerful ALU to adjust the cost and speed. 

The main operations performed by an ALU are as follows:

  1. Logical Operations: It consists of AND, OR, NOT, NOR, NAND, XOR, etc.
  2. Bit-Shifting Operations: This operation is responsible for the displacement of bits to the right or left by a certain number of places, known as a multiplication operation.
  3. Arithmetic Operations: Multiplication and division operations are costly. Hence, we can substitute addition in multiplication and subtraction for division.

Recommended Topic - Shift Registers in Digital Electronics and what is middleware

FAQs

  1. List the factors that affect the speed of the microprocessor.
    Factors affecting the speed of the microprocessor are the number of instructions built in the processor, Clock speed,  Bandwidth, and the number of transistors.
     
  2. What do you understand by Hyper-threading?
    A hyper-thread is a technology used to utilize the spare processing cycles. The hyper-threaded processors have a duplicate set of registers, small memory spaces with high speed are used to store the data required to execute a thread. These duplicate registers can use the spare computation cycles when a CPU is delayed.
     
  3. What is a heat sink? Explain its use in the microprocessor.
    A heat sink is a component used to reduce the device temperature. It needs to be appropriately fixed to prevent the system from shutting down automatically and causing damage to the processor.

Key Takeaways

This blog discussed Computer Hardware and its components. Computer hardware includes memory units, registers, multiplexers, and Arithmetic and Logical Units. Learning the hardware allows us to understand how the system is structured and how the tasks are performed in it. 

Check out our blog on Register in Computer to find out more about computer architecture. 

If you are a beginner interested in learning web development, DSA, or competitive programming, you can follow our guided path to grasp such concepts.

To learn more about Micro Operations, refer to Arithmetic Micro Operations.

Live masterclass