Beruflich Dokumente
Kultur Dokumente
Prepared By
Anupam Jamatia
National Institute of Technology,Agartala
Computer Science & Engineering Department
anupamjamatia@gmail.com
Introduction to Programming
1/1
Introduction
A computer is an electronic machine, devised for performing calculations and controlling operations that can be expressed either in logical
or numerical terms.
It covers a huge area of applications including education, industries,
government, medicine, scientific research, law, and even music and
arts.
Computers are one of the most influential forces available in modern
times. Millions of complex calculations can be done in mere fraction
of time; difficult decisions can be made with unerring accuracy for
comparatively little cost.
Computers have left such an impression on modern civilization that we
call this era as the information age.
Introduction to Programming
2/1
Characteristics of Computers
Introduction to Programming
3/1
Evolution of Computers
Sand Tables: It is known as
the earliest device for computation. A sand table consists
of three grooves in the sand
with a maximum of 10 pebbles
in each groove. To increase
the count by one, a pebble
has to be added in the right
hand groove. When ten pebbles were collected in the right
groove, they were removed
and one pebble was added to
the adjacent left groove.
Introduction to Programming
4/1
Evolution of Computers...Cont.
Abacus: The word abacus was derived from Arabic word abaq which
means dust. An abacus consists of sliding beads arranged on a rack,
which has two parts: The upper part contains two beads and lower part
contains five beads per wire. In the lower part, a raised bead stands for
1 and a lowered bead for 0. The arithmetic operations like addition and
subtraction can be performed by positioning the beads appropriately.
Introduction to Programming
5/1
Evolution of Computers...Cont.
Introduction to Programming
6/1
Evolution of Computers...Cont.
Slide Rule: It was jointly devised by two British mathematicians, Edmund Gunter and William Oughtred. It was based on the principle
that actual distances from the starting point of the rule is directly
proportional to the logarithm of the numbers printed on the rule.
Introduction to Programming
7/1
Evolution of Computers...Cont.
Pascaline: In AD 1642, French mathematician, scientist, and philosopher, Blaise Pascal, invented the first functional automatic calculator.
It had a complex arrangement of wheels, gears, and windows for displaying numbers. It was operated by a series of dials attached to wheels
that had the numbers zero to nine on their circumference. The usage
of this device was limited to addition and subtraction only.
Introduction to Programming
8/1
Evolution of Computers...Cont.
Stepped Reckoner: German mathematician Gottfried Wilhem von
Leibniz extended the Pascals design to perform multiplication,
division, and to find square root. This machine is known as Stepped
Reckoner. It was the first mass-produced calculating device, to
perform multiplication by repeated addition. However, it lacked
mechanical precision in its construction and was not very reliable.
Introduction to Programming
9/1
Evolution of Computers...Cont.
Punch Card System: Joseph Marie Jacquard invented a power loom
with an automatic card reader in 1801. This power loom used a series
of cards with holes punched at different positions. The presence or
absence of a hole in a punched card represented the two digits of the
binary system, which is the base for all modern digital computers.
Introduction to Programming
10 / 1
Evolution of Computers...Cont.
Introduction to Programming
11 / 1
Generations of Computers
First Generation (194056) Vacuum Tubes: These computers used
vacuum tubes for circuitry and magnetic drums for memory. The
input was based on punched cards and paper tape and the output was
in the form of printouts. First generation computers relied on binarycoded language also called machine language (language of 0s and 1s)
to perform operations and were able to solve only one problem at a
time. Examples: ENIAC, EDVAC, and UNIVAC.
Introduction to Programming
12 / 1
Generations of Computers...Cont.
Second Generation (195663) Transistors: Second generation computers used transistors, which were superior to vacuum tubes. A transistor is made up of semiconductor material like germanium and silicon.
It usually had three leads and performed electrical functions such as
voltage, current or power amplification with low power requirements.
However, they still relied on punched cards for input and printouts for
output. For example: PDP-8, IBM 1401 and IBM 7090.
Introduction to Programming
13 / 1
Generations of Computers...Cont.
Third Generation (1964Early 1970s) Integrated Circuits: The development of the integrated circuit (IC) was the trait of the third
generation computers. It consists of a single chip (usually silicon) with
many components such as transistors and resistors fabricated on it.
Integrated circuits replaced several individually wired transistors. This
allowed the device to run many different applications at one time with
a central program that monitored the memory. Examples: NCR 395
and B6500.
Introduction to Programming
14 / 1
Generations of Computers...Cont.
Fourth Generation (Early 1970sTill Date) Microprocessors: Fourth
generation computers led to an era of Large Scale Integration (LSI)
and Very Large Scale Integration (VLSI) technology. VLSI squeezed
hundreds of thousands of components on to a single chip. As a result,
it gave rise to the personal computer (PC) revolution. This generation also saw the development of the GUIs (Graphical User Interfaces),
mouse, and handheld devices. Examples: Apple II, Altair 8800, and
CRAY-1.
Introduction to Programming
15 / 1
Generations of Computers...Cont.
Introduction to Programming
16 / 1
Classification of Computers
Introduction to Programming
17 / 1
Introduction to Programming
18 / 1
Introduction to Programming
19 / 1
Introduction to Programming
20 / 1
Introduction to Programming
21 / 1
Introduction to Programming
22 / 1
Introduction to Programming
23 / 1
Registers
Registers are special purpose, high-speed temporary memory units.
These are temporary storage areas for holding various types of information such as data, instructions, addresses, and the intermediate results
of calculations.
Introduction to Programming
24 / 1
Registers...Cont.
Introduction to Programming
25 / 1
Control Unit
It controls the I/O devices and transfer of data to and from the
primary storage.
It repeats a set of following basic operations: fetching , decoding ,
executing and storing
Introduction to Programming
26 / 1
Introduction to Programming
27 / 1
Interconnection of Units
The interconnection between the CPU (CU, ALU, and registers),
memory unit, and the I/O devices, which constitute the entire
computer system is shown as:
Introduction to Programming
28 / 1
Interconnection of Units...Cont.
System Bus
A bus is a set of connections between two or more
components/devices, which are designed to transfer several/all bits of
a word from source to destination.
A bus consists of multiple paths, which are also termed as lines and
each line is capable of transferring one bit at a time. These lines are
broadly categorised into three functional groups:
Data Bus
Address Bus
Control Bus
Introduction to Programming
29 / 1
Cache Memory
A cache is a piece of very fast memory, made from high-speed static
RAM that reduces the time of accessing data. It is very expensive
and generally incorporated in the processor, where valuable data and
program segments are kept. This enables the processor to access data
quickly whenever it is needed.
The cache facilitates the system to catch up with the processors speed.
The cache fetches the frequently used data from the DRAM, and buffers
(stores) it for further processor usage.
Introduction to Programming
30 / 1
Introduction to Programming
31 / 1
Introduction to Programming
32 / 1
Introduction to Programming
33 / 1
Introduction to Programming
34 / 1
Instruction Set
Processors are built with the ability to execute a limited set of basic
operations. The collections of these operations are known as the of
processors instruction set.
Two common types of architectures are:
1
2
Introduction to Programming
35 / 1
Multiprocessor Systems
Computer systems that include more than one processor are called
multiprocessor systems or parallel systems.
In a multiprocessing system, two or more independent processors are
linked together in a coordinated manner.
Multiprocessor systems have the advantage of redundancy (faulttolerance), if one processor fails then the system keeps on functioning,
though at a slower speed.
Introduction to Programming
36 / 1
QnA
Introduction to Programming
37 / 1