Computer org.Unit1-2
Computer org.Unit1-2
Computer org.Unit1-2
- **Storage**:
- **Hard Disk Drive (HDD) or Solid State Drive (SSD)**: These are long-term storage
devices where data and programs are stored even when the computer is powered off.
- **Optical Drives and External Storage**: Used for reading and writing data to optical
discs (e.g., CDs, DVDs) and external storage devices.
- **Motherboard**:
- This is the main circuit board that connects all components, allowing them to
communicate. It houses the CPU, memory, and various other peripherals.
Each component plays a vital role in a computer’s operation, working together to execute
tasks, run software, and support user interaction. This structure enables computers to perform
a vast range of tasks efficiently and reliably.
Functional components of a computer
Input Unit :The input unit consists of input devices that are attached to the computer. These
devices take input and convert it into binary language that the computer understands. Some of
the common input devices are keyboard, mouse, joystick, scanner etc.
Central Processing Unit (CPU) : Once the information is entered into the computer by the
input device, the processor processes it. The CPU is called the brain of the computer because
it is the control center of the computer. It first fetches instructions from memory and then
interprets them so as to know what is to be done. If required, data is fetched from memory or
input device. Thereafter CPU executes or performs the required computation and then either
stores the output or displays on the output device. The CPU has three main components
which are responsible for different functions – Arithmetic Logic Unit (ALU), Control Unit
(CU) and Memory registers
Arithmetic and Logic Unit (ALU) : The ALU, as its name suggests performs mathematical
calculations and takes logical decisions. Arithmetic calculations include addition, subtraction,
multiplication and division. Logical decisions involve comparison of two data items to see
which one is larger or smaller or equal.
Control Unit : The Control unit coordinates and controls the data flow in and out of CPU and
also controls all the operations of ALU, memory registers and also input/output units. It is
also responsible for carrying out all the instructions stored in the program. It decodes the
fetched instruction, interprets it and sends control signals to input/output devices until the
required operation is done properly by ALU and memory.
Memory Registers : A register is a temporary unit of memory in the CPU. These are used to
store the data which is directly used by the processor. Registers can be of different sizes(16
bit, 32 bit, 64 bit and so on) and each register inside the CPU has a specific function like
storing data, storing an instruction, storing address of a location in memory etc. The user
registers can be used by an assembly language programmer for storing operands, intermediate
results etc. Accumulator (ACC) is the main register in the ALU and contains one of the
operands of an operation to be performed in the ALU.
Interconnection between Functional Components
A computer consists of input unit that takes input, a CPU that processes the input and an
output unit that produces output. All these devices communicate with each other through a
common bus. A bus is a transmission path, made of a set of conducting wires over which data
or information in the form of electric signals, is passed from one component to another in a
computer. The bus can be of three types – Address bus, Data bus and Control Bus.
The address bus carries the address location of the data or instruction. The data bus carries
data from one component to another and the control bus carries the control signals. The
system bus is the common communication path that carries signals to/from CPU, main
memory and input/output devices. The input/output devices communicate with the system
bus through the controller circuit which helps in managing various input/output devices
attached to the computer.
Performance of a computer:-
In computer organization, performance refers to the speed and efficiency at which a computer
system can execute tasks and process data. A high-performing computer system is one that
can perform tasks quickly and efficiently while minimizing the amount of time and resources
required to complete these tasks.
The performance of a computer system depends on multiple factors such as CPU, memory,
and input/output systems. Also, if you’re aiming to understand these performance metrics for
GATE, the GATE CS Self-Paced Course breaks down complex concepts in computer
organization and performance measurement with detailed tutorials and exercises.
Here are several factors that can impact the performance of a computer system, including:
Processor speed: The speed of the processor, measured in GHz (gigahertz), determines how
quickly the computer can execute instructions and process data.
Memory: The amount and speed of the memory, including RAM (random access memory)
and cache memory, can impact how quickly data can be accessed and processed by the
computer.
Storage: The speed and capacity of the storage devices, including hard drives and solid-state
drives (SSDs), can impact the speed at which data can be stored and retrieved.
I/O devices: The speed and efficiency of input/output devices, such as keyboards , mice, and
displays, can impact the overall performance of the system.
Software optimization: The efficiency of the software running on the system, including
operating systems and applications, can impact how quickly tasks can be completed.
Improving the performance of a computer system typically involves optimizing one or more
of these factors to reduce the time and resources required to complete tasks. This can involve
upgrading hardware components, optimizing software, and using specialized performance-
tuning tools to identify and address bottlenecks in the system.
Computer performance is the amount of work accomplished by a computer system. The word
performance in computer performance means “How well is the computer doing the work it is
supposed to do?”. It basically depends on the response time, throughput, and execution time
of a computer system. Response time is the time from the start to completion of a task. This
also includes:
Components of a CPU
Arithmetic Logic Unit (ALU): Handles all arithmetic and logical operations. The
ALU performs operations like addition, subtraction, bitwise operations, and
comparisons.
Control Unit (CU): Directs the operations of the CPU, interpreting instructions from
memory and generating control signals to coordinate data flow and execution.
Registers: Small, fast storage locations within the CPU used to hold data and
instructions temporarily during execution.
Stack Organization
A memory subsystem is a critical component of any computer system, responsible for storing
and retrieving data. It's composed of various memory components, each with its unique
characteristics and purpose. Let's delve into the organization and interfacing of these
components.
Memory Interfacing
Interfacing memory components with the CPU involves a complex process. Here's a
simplified overview:
1. Address Bus:
o Carries the memory address from the CPU to the memory component.
o The width of the address bus determines the maximum memory addressable
space.
2. Data Bus:
o Transmits data between the CPU and the memory component.
o The width of the data bus determines the amount of data transferred in a single
cycle.
3. Control Bus:
o Carries control signals like read, write, and memory enable.
o These signals coordinate the data transfer between the CPU and memory.
1. I/O Devices:
o Input Devices: Keyboard, mouse, scanner, etc.
o Output Devices: Monitor, printer, speakers, etc.
o Storage Devices: Hard disk drives (HDDs), solid-state drives (SSDs), etc.
2. I/O Controllers:
o Specialized hardware components that interface with I/O devices.
o They control the data transfer between the device and the system.
3. I/O Buses:
o Physical connections that transfer data between the CPU, memory, and I/O
devices.
o Examples: PCI, USB, SATA, etc.
I/O Interfacing
Interfacing I/O devices with the system involves a complex process. Here's a simplified
overview:
1. Device Driver:
o Software component that interacts with the hardware.
o It provides a standard interface for the operating system to communicate with
the device.
2. I/O Controller:
o Handles the low-level details of data transfer, such as timing and control
signals.
o It communicates with the device driver through the I/O bus.
3. I/O Bus:
o Carries data and control signals between the I/O controller and the system.
o Different bus types have varying speeds and capabilities.
A relative computer is a computer that performs data processing and storage functions at a
high speed and with high accuracy. Some of the relative functions of a computer include:
The Simplified Instructional Computer (SIC) is a hypothetical computer system that was
introduced to help people learn systems programming. It abstracts away complex behaviors
in favor of a clear and accessible architecture.
Software
Software is a set of instructions, data, and programs that tell a computer how to operate and
perform tasks. It's the opposite of hardware, which refers to the physical components of a
computer. Here are some types of software: Application software: Performs specific tasks or
fulfills a need, such as word processors, spreadsheets, and database management programs
System software: Runs the computer's hardware and provides a platform for applications to
run on
Programming software: Provides tools for software developers Middleware: Sits between
system software and applications
Firmware: Software that's permanently stored in a computer's memory and directly controls a
piece of hardware
Hardware Interaction
Effective hardware interaction requires a deep understanding of both the software and the
hardware involved. Developers must consider aspects such as device drivers, hardware
abstraction layers, and direct memory access. They need to ensure that the software can
reliably send and receive data to and from the hardware, process it correctly, and perform
actions in real-time when necessary.
The four primary layers of computer architecture are the Hardware layer, the
Operating System layer, the System Software layer, and the Application Software
layer.
1. Hardware Layer
The hardware layer is the bedrock of computer architecture. It includes all the physical
components that make up a computer system. This layer encompasses the central
processing unit (CPU), memory modules (RAM and ROM), storage devices (like hard
drives and SSDs), input/output devices (keyboards, monitors, and printers), and other
peripheral devices.
Hardware is responsible for executing the basic functions required to carry out
Understanding the intricacies of hardware, such as how the CPU processes information
through its ALU (Arithmetic Logic Unit) and control units, can significantly enhance
The Operating System (OS) layer sits atop the hardware and serves as an intermediary
between hardware and system software. This layer manages hardware resources and provides
a stable, consistent way for applications to interact with the hardware without needing to know
the specifics.
Popular operating systems include Windows, MacOS, and Linux. Key functions of the OS
include managing files and directories, facilitating user interfaces, overseeing memory
allocation, and handling system security and access controls.
The system software layer involves essential programs that support the management and
effective running of hardware and the OS. This layer includes utility software, device drivers,
and compilers which are crucial for system maintenance, performance enhancement, and
System software ensures that the operating system can communicate correctly with different
At the top of the architecture, the application software layer includes all the end-user programs
designed for productivity and task management. This layer covers a broad spectrum of
software types, from word processors and web browsers to complex data analysis tools and
video games.
Application software leverages the functionalities provided by the underlying layers to deliver
user requirements and interface design rather than the technical specifics of lower layers.
Machine language Also known as machine code or native code, machine language is a low-
level programming language that computers use to understand instructions. It's made up of
binary numbers that represent specific instructions and data. The CPU can directly interpret
and execute these instructions.
UNIT-2
Data Representation:
The first electronic digital computer was developed in the late 1940s and was used
primarily for numerical computations.
By convention, the digital computers use the binary number system, which has two digits:
0 and 1. A binary digit is called a bit.
A computer system is subdivided into two functional entities: Hardware and Software.
The hardware consists of all the electronic components and electromechanical devices
that comprise the physical entity of the device.
The software of the computer consists of the instructions and data that the computer
manipulates to perform various data-processing tasks.
o The Central Processing Unit (CPU) contains an arithmetic and logic unit for
manipulating data, a number of registers for storing data, and a control circuit
for fetching and executing instructions.
o The memory unit of a digital computer contains storage for instructions and
data.
o The Random Access Memory (RAM) for real-time processing of the data.
o The Input-Output devices for generating inputs from the user and displaying the
final results to the user.
o The Input-Output devices connected to the computer include the keyboard,
mouse, terminals, magnetic disk drives, and other communication devices.
Number Systems: Binary, Octal, and Hexadecimal
In the world of computing, number systems are the foundation for representing and
manipulating data. Number systems are fundamental in computing, allowing computers to
store, process, and display data. The most common number systems in computing are binary
(base-2), octal (base-8), and hexadecimal (base-16), each used for different purposes in
computer organization and programming.
Decimal Numbers 0-9 are represented in binary as 0, 1, 10, 11, 100, 101, 110, 111, 1000, and
1001
For example, 14 can be written as 1110, 19 can be written as 10011, and 50 can be written as
110010.
Octal Number System is one in which the base value is 8. It uses 8 digits i.e. 0-7 for the
creation of Octal Numbers. Octal Numbers can be converted to Decimal values by
multiplying each digit with the place value and then adding the result. Here the place values
are 80, 81, and 82. Octal Numbers are useful for the representation of UTF8 Numbers.
Example,
A number System with a base value of 16 is known as Hexadecimal Number System. It uses
16 digits for the creation of its numbers. Digits from 0-9 are taken like the digits in the
decimal number system but the digits from 10-15 are represented as A-F i.e. 10 is represented
as A, 11 as B, 12 as C, 13 as D, 14 as E, and 15 as F. Hexadecimal Numbers are useful for
handling memory address locations. Examples,
Coding Schemes
Coding schemes are methods used to represent data in a digital format. They are essential for
storing and transmitting information in computers. Here are some of the most common
coding schemes:
2. Unicode
A universal character encoding standard that supports a wide range of characters from
different languages and scripts.
Uses variable-length encoding to represent characters.
Common encodings based on Unicode include UTF-8, UTF-16, and UTF-32.
A number system in which each decimal digit is represented by a 4-bit binary code.
Used in digital circuits and systems where decimal arithmetic is required.
4. Gray Code
A binary numeral system where two successive values differ in only one bit.
Used in rotary encoders and other applications where a smooth transition between states is
important.
5. Excess-3 Code
6. Error-Correcting Codes
These codes add redundancy to data to detect and correct errors during transmission or
storage.
Common examples include Hamming codes and Reed-Solomon codes.
Choosing the Right Coding Scheme:
By understanding these coding schemes, you can better appreciate how data is represented
and manipulated in digital systems.
Boolean Algebra:
Binary logic is the foundation of digital computing, providing a way for computers to make
decisions and perform operations using binary values. In binary logic, only two states are
possible: 0 (off/false) and 1 (on/true). These two states are used in binary logic operations to
create, evaluate, and manipulate binary expressions. Logic gates, which are electronic
components that implement binary logic, combine binary inputs to produce binary outputs
based on predefined logical rules.
The basic binary logic operations are AND, OR, NOT, NAND, NOR, XOR, and XNOR.
Here’s an overview of each:
1. AND Gate
o Operation: Outputs 1 only if both inputs are 1; otherwise, it outputs 0.
2.OR Gate
3. NOT Gate
Operation: Inverts the input; outputs 1 if the input is 0, and 0 if the input is 1.
Operation: Outputs the opposite of the AND gate; outputs 0 if both inputs are 1,
otherwise 1.
Logic gates
are fundamental building blocks of digital circuits. They perform basic logical functions that
are essential in the design of digital systems, including computers, calculators, and various
types of digital hardware. Each gate processes one or more binary inputs to produce a binary
output based on a specific logical operation.
Basic Types of Logic Gates and Their Operations
1. AND Gate
o Operation: The AND gate outputs 1 only if all inputs are 1; otherwise, it outputs 0.
OR Gate
Operation: The NOT gate, or inverter, outputs the opposite of the input; if the input
is 1, it outputs 0, and if the input is 0, it outputs 1.
Operation: The NAND gate is the inverse of the AND gate; it outputs 0 only if all
inputs are 1, otherwise, it outputs 1.
Boolean algebra consists of two binary operations, OR (+) and AND (·), and one unary
operation, NOT (¬ or overline). The primary postulates are defined for a Boolean algebra
with two possible values, 0 and 1.