CA_Notes
CA_Notes
Computer Architecture deals with high- Computer Organization deals with low-
level design issues. level design issues.
Classification of Computers
The computer systems can be classified on the following basis:
1. On the basis of size.
2. On the basis of functionality.
3. On the basis of data handling.
1. Super computers : The super computers are the most high performing
system. A supercomputer is a computer with a high level of performance
compared to a general-purpose computer.
The actual Performance of a supercomputer is measured in FLOPS instead
of MIPS. All of the world’s fastest 500 supercomputers run Linux-based
operating systems.
Supercomputers actually play an important role in the field of computation,
and are used for intensive computation tasks in various fields, including
quantum mechanics, weather forecasting, climate research, oil and gas
exploration, molecular modeling, and physical simulations.
eg: PARAM, jaguar, roadrunner.
2. Mainframe computers : These are commonly called as big iron, they are
usually used by big organizations for bulk data processing such as statistics,
census data processing, transaction processing and are widely used as the
servers as these systems has a higher processing capability as compared to
the other classes of computers, most of these mainframe architectures were
established in 1960s, the research and development worked continuously
over the years and the mainframes of today are far more better than the
earlier ones, in size, capacity and efficiency.
Eg: IBM z Series, System z9 and System z10 servers.
3. Mini computers : These computers came into the market in mid 1960s and
were sold at a much cheaper price than the main frames, they were actually
designed for control, instrumentation, human interaction, and
communication switching as distinct from calculation and record keeping,
later they became very popular for personal uses with evolution.
Eg: Personal Laptop, PC etc.
1. Servers : Servers are nothing but dedicated computers which are set-up to
offer some services to the clients. They are named depending on the type of
service they offered. Eg: security server, database server.
A computer needs certain input, processes that input and produces the desired
output. The input unit takes the input, the central processing unit does the
processing of data and the output unit produces the output. The memory unit holds
the data and instructions during the processing.
Digital Computer: A digital computer can be defined as a programmable machine
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.
Memory : Memory attached to the CPU is used for storage of data and
instructions and is called internal memory The internal memory is divided
into many storage locations, each of which can store data or instructions.
Each memory location is of the same size and has an address. With the help
of the address, the computer can read any memory location easily without
having to search the entire memory. when a program is executed, it’s data is
copied to the internal memory and is stored in the memory till the end of the
execution.
The internal memory is also called the Primary memory or Main memory.
This memory is also called as RAM, i.e. Random Access Memory. The time
of access of data is independent of its location in memory, therefore this
memory is also called Random Access memory (RAM).
Output Unit: The output unit consists of output devices that are attached
with the computer. It converts the binary data coming from CPU to human
understandable form. The common output devices are monitor, printer,
plotter etc.
Number System
A number system is defined as a system of writing to express numbers. It is the
mathematical notation for representing numbers of a given set by using digits or
other symbols in a consistent manner.
It also allows us to operate arithmetic operations like addition, subtraction,
multiplication and division.
Types of Number Systems
There are various types of number systems in mathematics. The four most common
number system types are:
1. Decimal number system (Base- 10)
2. Binary number system (Base- 2)
3. Octal number system (Base-8)
4. Hexadecimal number system (Base- 16)
1. Decimal Number System
Number system with base value 10 is termed as Decimal number
system. It uses 10 digits i.e. 0 to 9 for the creation of numbers.
Examples : 123, 1675489,189,6785 etc.
Hamming code
Hamming code is an error-correcting code used to ensure data accuracy during
transmission or storage. Hamming code detects and corrects the errors that can
occur when the data is moved or stored from the sender to the receiver. This simple
and effective method helps improve the reliability of communication systems and
digital storage. It adds extra bits to the original data, allowing the system to detect
and correct single-bit errors.
What is Redundant Bits?
Redundant bits are extra binary bits that are generated and added to the
information-carrying bits of data transfer to ensure that no bits were lost during the
data transfer. The number of redundant bits can be calculated using the following
formula:
2r ≥ m + r + 1
where m is the number of bits in input data, and r is the number of redundant bits.
Suppose the number of data bits is 7, then the number of redundant bits can be
calculated using: = 24 ≥ 7 + 4 + 1 . Thus, the number of redundant bits is 4.
Signed Numbers
The signed numbers have a sign bit so that it can differentiate positive and negative
integer numbers. The signed binary number technique has both the sign bit and the
magnitude of the number. For representing the negative decimal number, the
corresponding symbol in front of the binary number will be added.
The signed numbers are represented in three ways. The signed bit makes two
possible representations of zero (positive (0) and negative (1)), which is an
ambiguous representation. The third representation is 2's complement
representation in which no double representation of zero is possible, which makes
it unambiguous representation. There are the following types of representation of
signed binary numbers:
1. Sign-Magnitude form
In this form, a binary number has a bit for a sign symbol. If this bit is set to
1, the number will be negative else the number will be positive if it is set to
0. Apart from this sign-bit, the n-1 bits represent the magnitude of the
number.
2. 1's Complement
By inverting each bit of a number, we can obtain the 1's complement of a
number. The negative numbers can be represented in the form of 1's
complement. In this form, the binary number also has an extra bit for sign
representation as a sign-magnitude form.
For example, binary number of 78 : (1001110)2
1’s complement : 0110001
3. 2's Complement
By inverting each bit of a number and adding plus 1 to its least significant
bit, we can obtain the 2's complement of a number. The negative numbers
can also be represented in the form of 2's complement. In this form, the
binary number also has an extra bit for sign representation as a sign-
magnitude form.
For example, binary number of 78 : (1001110)2
1’s complement : 0110001
2’s complement: 0110001
+1
0110010
Real Numbers
Real numbers include rational numbers like positive and negative integers,
fractions, and irrational numbers. In other words, any number that we can think of,
except complex numbers, is a real number. For example, 3, 0, 1.5, 3/2, √5, and so
on are real numbers.
In Fixed-point Representation, the term ‘fixed point’ refers to the corresponding
manner in which numbers are represented, with a fixed number of digits after, and
sometimes before, the decimal point.
With floating-point representation, the placement of the decimal point can ‘float’
relative to the significant digits of the number.
For example, a fixed-point representation with a uniform decimal point placement
convention can represent the numbers 123.45, 1234.56, 12345.67, etc, whereas a
floating-point representation could in addition represent 1.234567, 123456.7,
0.00001234567, 1234567000000000, etc. As such, floating point can support a
much wider range of values than fixed point, with the ability to represent very
small numbers and very large numbers.