unit1- fundamental of computing and programming
TRANSCRIPT
Fundamentals Of Computing and Programming Unit 1
UNIT I: Introduction – Characteristics of Computers – Evolution of Computers – Computer
Generations – Classification of Computers – Basic Computer organization – Number
Systems
INTRODUCTION
The term “computer” is derived from the latin word “Computare”, which means “to
compute” or “to calculate”. A computer is an electronic machine, devised for performing
calculations and controlling operations that can be expressed either in logical or numerical
terms. In simple words, a computer is an electronic device that performs diverse operations
with the help of instructions to process the information in order to achieve desired results.
CHARACTERISTICS OF COMPUTERS
Some of the characteristics of computers, which make them an essential part of every
emerging technology and a desirable tool in human development.
Speed: Computers process data at extremely fast rate-millions of instructions per second.
In few seconds, a computer can perform a huge task that a normal human being may take
days or even years to complete. The speed of a computer is calculated in MHz
(Megahertz).
Accuracy: Besides efficiency, computers are accurate as well. The level of accuracy
depends on the instructions and the type of machine being used.
Diligence: Computer, being a machine, does not suffer from the human traits of tiredness
and lack of concentration. If four million calculations have to be performed, then the
computer will perform the last four-millionth calculation with the same accuracy and
speed as the first calculation.
Reliability: Reliability is the measurement of performance of a computer, which is
measured against some predetermined standard for operation without any failure.
Storage Capability: Computers can store large amounts of data and can recall the
required information almost instantaneously. The main memory of the computer is
relatively small and it can hold only a certain amount of information, therefore, the data is
stored on secondary storage devices such as magnetic tape or disks.
Versatility: Computers are quite versatile in nature. They can perform multiple tasks
simultaneously with great ease.
Resource Sharing: With the tremendous growth in computer technologies, computers
1
Fundamentals Of Computing and Programming Unit 1
today have the capability to connect with each other. This has made the sharing of costly
resources like printers possible. Apart from device sharing, data and information can also
be shared among groups of computers, thus creating a large information and knowledge
base.
EVOLUTION OF COMPUTERS
In the beginning, when the task was simply counting or adding, people used either their
fingers or pebbles along lines in the sand.
In order to simplify the process of counting, people in Asia Minor built a counting device
called abacus. This device allowed users to do calculations using a system of sliding
beads arranged on a rack. The abacus was simple to operate and was used worldwide for
centuries.
With the passage of time, many computing devices such as Napier bones and slide rule
were invented.
In 1642, a French mathematician, Blaise Pascal invented the first functional automatic
calculator. This brass rectangular box, also called a Pascaline, used eight movable dials
to add sums eight figures long.
In 1694, German mathematician Gottfried Wilhem von Leibniz extended Pascal's design
to perform multiplication, division and to find square root. This machine is known as
Stepped Reckoner.
In 1822, Charles Babbage, an English mathematics professor, proposed a machine to
perform differential equations, called a Difference Engine. Powered by steam and large
as a locomotive, the machine had a stored program and could perform calculations and
print the results automatically.
In 1833, Babbage made a fully functional difference engine called Analytical Engine.
The basic design of this engine included input devices in the form of perforated cards
containing operating instructions and a "store" for memory of 1,000 numbers up to 50
decimal digits long.
In 1889, Herman Hollerith used cards to store data, which he fed into a machine that
compiled the results mechanically.
In 1944, Harvard Aiken and IBM built Mark I. This electronic calculating machine used
relays and electromagnetic components to replace mechanical components.
In 1946, John Eckert and John Mauchly developed ENIAC (Electronic Numerical
2
Fundamentals Of Computing and Programming Unit 1
Integrator and Calculator). This computer used electronic vacuum tubes to make the
internal parts of the computer.
Later on, Eckert and Mauchly also proposed the development of EDVAC (Electronic
Discrete Variable Automatic Computer). It was the first electronic computer to use the
stored program concept introduced by John Von Neumann.
In 1949 Maurice Wilkes developed EDSAC (Electronic Delay Storage Automatic
Calculator), which was also based on John Von Neumann's stored program concept. This
machine used mercury delay lines for memory and vacuum tubes for logic.
The Eckert-Mauchly Corporation manufactured UNIVAC (Universal Automatic
Computer) in 1951 and its implementation marked the real beginning of the computer
era.
In the 1960s, efforts to design and develop the fastest possible computer with the greatest
capacity reached a turning point with the LARC machine, which had access time of less
than 1µ second and a total capacity of 100,000,000 words.
During the 1970s, tiny "chips" known as Integrated Circuits (IC) was invented, which
led to the development of cheaper computer systems.
In the 1980s, Very Large Scale Integration (VLSI) design, in which hundreds of
thousands of transistors were placed on a single chip, became increasingly common. The
"shrinking" trend continued with the introduction of Personal Computers (PCs)
By the 1990s, personal computers have become part of everyday life. The trend continued
leading to the development of smaller and smaller microprocessors with a proportionate
increase in processing powers.
GENERATIONS OF COMPUTERS
The history of computer development is often discussed with reference to the
different generations of computing devices. According to the technology used, there are five
generations of computers which are discussed in the following sections.
First Generation (1940-56): Vacuum Tubes
First generation computers were vacuum tubes/thermionic valve based machines.
These computers used vacuum tubes for circuitry and magnetic drums for memory. A
magnetic drum is a metal cylinder coated with magnetic iron-oxide material on which data
and programs can be stored. Input was based on punched cards and paper tape and output
3
Fundamentals Of Computing and Programming Unit 1
was in the form of printouts.
First generation computers relied on binary-coded language (language of 0’s and 1’s)
to perform operations and were able to solve only one problem at a time.
For example: ENIAC, EDVAC and UNIVAC.
Characteristics of First Generation Computers
These computers were based on vacuum tube technology.
These were the fastest computing devices of their times (computation time was in
milliseconds).
These computers were very large, and required a lot of space for installation.
Since thousands of vacuum tubes were used, they generated a large amount of heat.
Therefore, air conditioning was essential.
These were non-portable and very slow equipments.
They lacked in versatility and speed.
They were very expensive to operate and used a large amount of electricity.
These machines were unreliable and prone to frequent hardware failures. Hence, constant
maintenance was required.
Since machine language was used, these computers were difficult to program and use.
Second Generation (1956-63): Transistors
Second generation computers used transistors, which were superior to vacuum tubes.
A transistor is made up of semiconductor material like germanium and silicon. Since
transistor is a small device, the physical size of computers was greatly reduced. Computers
became smaller, faster, cheaper, energy-efficient and more reliable than first generation. In
second generation computers, magnetic cores were used as primary memory and magnetic
disks as secondary storage devices. However, they still relied on punched cards for input and
printouts for output.
One of the major developments of this generation includes the progress from machine
"language to assembly language. Assembly language used mnemonics (abbreviations) for
instructions rather than numbers, for example, ADD for addition and MULT for
multiplication.
For example; PDP-8, IBM 1401 and IBM 7090.
Characteristics of Second Generation Computers
4
Fundamentals Of Computing and Programming Unit 1
These machines were based on transistor technology.
These were smaller as compared to the first generation computers.
The computational time of these computers was reduced to microseconds from
milliseconds.
These were -more reliable and less prone to hardware failure. Hence, such computers
required less frequent maintenance.
These were more portable and generated less amount of heat.
Assembly language was used to program computers.
Third Generation (1964-Early 1970s): Integrated Circuits
The development of the integrated circuit was the trait of the third generation
computers. Also called an IC, an integrated circuit consists of a single chip (usually silicon)
with many components such as transistors and resistors fabricated on it. This development
made computers smaller in size, reliable, and efficient.
Instead of punched cards and printouts, users interacted with third generation
computers through keyboards and monitors and interfaced with operating system.
For example: NCR 395 and B6500.
Characteristics of Third Generation Computers
These computers were based on integrated circuit (IC) technology.
They were able to reduce computational time from microseconds to nanoseconds.
They were easily portable and more reliable than the second generation.
These devices consumed less power and generated less heat.
The size of these computers was smaller as compared to previous computers.
Since hardware rarely failed, the maintenance cost was quite low.
Extensive Use of high-level languages became possible.
Manual assembling of individual components was not required, so it reduced the large
requirement of labour and cost.
Commercial production became easier and cheaper.
Fourth Generation (Early 1970s-Till Date): Microprocessors
The fourth generation is an extension of third generation technology. Although, the
technology of this generation was still based on the integrated circuit, these have been made
readily available to us because of the development of the microprocessor (circuits containing
5
Fundamentals Of Computing and Programming Unit 1
millions of transistors).
The fourth generation computers led to an era of Large Scale integration (LSI) and
Very Large Scale Integration (VLSI) technology. LSI technology allowed thousands of
transistors to be constructed on one small slice of silicon material whereas VLSI squeezed
hundreds of thousands of components on to a single chip. Ultra-large scale integration
(ULSI) increased that number into millions. This way computers became smaller and cheaper
than ever before.
The fourth generation computers became more powerful, compact, reliable and
affordable. As a result, it gave rise to the personal computer (PC) revolution. During this
period, magnetic core memories were substituted by semiconductor memories, which
resulted in faster random access main memories. Moreover, secondary memories such as
hard disks became economical, smaller, and bigger in capacity.
For Example: Apple II, Altair 8800, CRAY-1
Characteristics of fourth Generation Computers
Fourth generation computers are microprocessor-based systems.
These computers are very small.
Fourth generation computers are the cheapest among all the other generations.
They are portable and quite reliable.
They do not require air conditioning.
Hardware failure is negligible, so minimum maintenance is required.
Fifth Generation (Present and Beyond): Artificial Intelligence
The dream of creating a human-like computer that would be capable of reasoning and
reaching a decision through a series of "what-if-then" analyses has existed since the
beginning of computer technology. Three characteristics can be identified with the fifth
generation computers. These are:
Mega Chips Fifth generation computers will use Super Large Scale Integrated (SLSI) chips
Parallel Processing Most computers today access and execute only one instruction at a time.
This is called serial processing. However, a computer using parallel processing accesses
several instructions at once and works on them at the same time through use of multiple
central processing units.
Artificial Intelligence (AI) It refers to a series of related technologies that tries to simulate
and reproduce human behaviour, including thinking, speaking and reasoning. AI comprises a
6
Fundamentals Of Computing and Programming Unit 1
group of related technologies: expert systems (ES), natural language processing (NLP),
speech recognition, vision recognition and robotics.
CLASSIFICATION OF COMPUTERS
Based on physical size, performance, and application areas, we can generally divide
computers into four major categories: micro, mini, mainframe, and super computers.
MICRO COMPUTERS
A micro computer is a small, low cost digital computer, which usually consists of a
microprocessor, a storage unit, an input channel, and an output channel, all of which may
be on one chip inserted into one or several PC boards.
The addition of a power supply and connecting cables, appropriate peripherals (keyboard,
monitor, printer, disk drives, and others), an operating system and other software
programs can provide a complete micro computer system.
IBM-PC, Pentium 100, IBM-PC Pentium 200 and Apple Macintosh are some of the
examples of micro computers.
Micro computers include desktop, laptop, and hand-held models such as PDAs (Personal
Digital Assistants).
Desktop Computer Desktop computer, also known as Personal Computer (PC), is
principally intended for standalone use by an individual. These are the most common type of
micro computers. These micro computers typically consist of a system unit, a display
monitor, a keyboard, internal hard disk storage, and other peripheral devices. Some of the
major personal computer manufacturers are APPLE, IBM, Dell and Hewlett-Packard.
Laptop A laptop is a portable computer, that is, a user can carry it around. Since the laptop
computer resembles a notebook, it is also known as "notebook". Laptops are small computers
enclosing all the basic features of a normal desktop computer. The biggest advantage of this
7
Classification of ComputersClassification of Computers
MicroMicro
MiniMini
MainframeMainframe
SuperSuper
DesktopDesktop
LaptopLaptop
Hand-heldHand-held
Fundamentals Of Computing and Programming Unit 1
computer is that one can use this computer anywhere and at anytime, especially when one is
travelling.
Hand-held Computers A hand-held, also called Personal Digital Assistant (PDA), is a
computer that can conveniently be stored in a pocket (of sufficient size) and used while the
user is holding it. PDAs are essentially small portable computers and are slightly bigger than
the common calculators. A PDA user generally uses a pen or electronic stylus, instead of a
keyboard for input. The monitor is very small and is the only apparent form of output. Since
these computers can be easily fitted on the palm, they are also known as palmtop computers.
Some examples of PDAs are Apple Newton, Casio Cassiopeia and Franklin eBookMan.
MINI COMPUTERS
In the early 1960s, Digital Equipment Corporation (DEC) started shipping its PDP series
computer referred as mini computers.
The mini computer is a small digital computer whose process and storage capacity is
lesser than that of a mainframe, but more than that of micro computer.
Its speed of processing data is in between that of a mainframe and a micro computer.
It is about the size of a two drawer filing cabinet.
It is capable of supporting from 4 to about 200 simultaneous users.
It serves as a centralised storehouse for a cluster of workstations or as a network stations
in server.
Mini computers are usually multi-user systems, so these are used in interactive
applications in industries, research organisations, colleges and universities.
Some of the widely used mini computers are PDP 11, IBM (8000 series) and VAX 7500.
MAINFRAME COMPUTER
A mainframe is an ultra-high performance computer made for high-volume, processor-
intensive computing.
It consists of a high-end computer processor, with related peripheral devices, capable of
supporting large volumes of data processing, high performance online transaction
processing systems, and extensive data storage and retrieval.
It is able to process and store more data than a mini computer and far more than a micro
computer.
It is designed to perform at a faster rate than a mini computer and at even more faster rate
8
Fundamentals Of Computing and Programming Unit 1
than a micro computer.
Mainframes are the second largest (in capability and size) of the computer family, the
largest being super computers.
It is typically used by large businesses and for scientific purposes.
Examples of mainframe computers are IBM's ESOOO, VAX 8000 and CDC 6600.
SUPER COMPUTERS
Super computers are the special purpose machines, which are specially designed to
maximise the numbers of FLOP (Floating Point Operation Per Second).
A super computer has the highest processing speed at a given time for solving scientific
and engineering problems.
It contains a number of CPUs that operate in parallel to make it faster.
Its processing speed lies in the range of 400-10,000 MFLOPS (Millions of Floating Point
Operation Per Second).
It can resolve complex mathematical equations in a few hours, which would have taken a
scientist with paper and pencil a lifetime, or years, using a hand calculator.
It is the fastest, costliest and the most powerful computer available today.
CRAY-3, Cyber 205 and PARAM are some well known super computers.
India's Super Computer
Recently, India developed the PARAM Padma supercomputer, which marks an
important step towards high-performance computing. The PARAM Padma computer was
developed by India's Center for Development of Advanced Computer (C-DAC) and promises
processing speeds of up to one teraflop per second (1 trillion processes per second).
APPLICATIONS OF COMPUTERS
In the last few decades, computer technology has revolutionized the businesses and
other aspects of human life all over the world. Some of the areas where computers are being
used are listed below:
Science: Scientists have been using computers to develop theories, to analyse, and test the
data. The fast speed and accuracy of the computer allow different scientific analyses to be
carried out. They can be used to generate detailed studies of how earthquakes affect buildings
or pollution affects weather pattern. Satellite-based applications could not have been possible
9
Fundamentals Of Computing and Programming Unit 1
without the use of computers. It would also not be possible to get the information of our solar
system and the cosmos without computers.
Education: Computers have also revolutionised the whole process of education. Currently,
the classrooms, libraries, and museums are utilising computers to make education much more
interesting. Unlike recorded television shows, Computer Aided Education (CAE) and
Computer Based Training (CBT) packages are making learning much more interactive.
Medicine and Health Care: There has been an increasing use of computers in the field of
medicine. Now doctors are using computers right from diagnosing the illness to monitoring a
patient's status during a complex surgery. By using automated imaging techniques, doctors
are able to look inside a person's body and can study each organ in detail (such as CAT scans
or MRI scans), which was not possible a few years ago.
Engineering Architecture/Manufacturing: The architects and engineers are extensively
using computers in designing and drawings. Computers can create objects that can be viewed
from all the three dimensions. By using techniques like virtual reality, architects can explore
houses that have been designed but not built. The manufacturing factories are using
computerised robotic arms in order to perform hazardous jobs.
Entertainment: Computers are finding greater use in entertainment industry. They are used
to control the images and sounds. Special effects, which mesmerize the audience, would not
have been possible without computers. In addition, computerised animation and colourful
graphics have modernised the film industry.
Communication: E-mail is one of the communication media in which computer is used.
Through e-mail, messages and reports are passed from one person to one or more persons.
The benefit of e-mail service is that while transferring the messages it saves time, saves
paper, and so on. Moreover, the person who is receiving the messages can read the messages
whenever he is free and can save it, reply it, forward it or delete it from the computer.
Publishing: Computers have created a field known as DTP (Desktop Publishing). In DTP
with the help of a computer and a laser printer one can perform the publishing job all but
oneself.
Banking: In the field of banking and finance, computers are extensively used. People can use
the ATM (Automated Teller Machine) services 24 hours of the day in order to deposit and
withdraw cash. When the different branches of the bank are connected through computer
networks, then the inter branch transactions such as cheque and draft can be done by the
computers without any delay.
10
Fundamentals Of Computing and Programming Unit 1
BASIC COMPUTER ORGANIZATION
A computer is an information processing machine. It can be viewed as a system,
which consists of a number of interrelated components that work together with the aim of
converting data into information. To attain information, data is entered through input devices.
This data is processed using the central processing unit and then the processed data known as
information is displayed to the users using various output devices. All these parts (input
devices, central processing unit, and output devices) are referred to as hardware of the
computer. In the following sections, we discuss both these (hardware and software) parts in
detail.
HARDWARE
Hardware refers to all visible devices that are assembled together to build a computer
system These include various input devices, central processing unit, output devices, and
memory.
Input devices
Input devices are electomechanical devices that allow the user to feed information
into the computer for analysis, storage and to give commands to the central processing unit.
Computer accepts input in two ways, either manually or directly. In case of manual
data entry, the user enters the data into the computer by hand, for example, by using
keyboard and mouse. While, in case of direct entry, information is fed into the computer
automatically from a source document (like barcode). Some of the commonly used input
11
Central Processing Unit
Registers
Input Unit
Control Unit
Arithmetic/Logic unit
Output Unit
Memory Unit
Fundamentals Of Computing and Programming Unit 1
devices are keyboard, pointing devices like mouse and joystick, and scanners.
Central Processing Unit
The central processing unit (CPU) referred to as the "brain" of a computer system,
converts data (input) into meaningful information (output). It is a highly complex, extensive
set of electronic circuitry, which executes stored program instructions. A CPD controls all
internal and external devices, performs arithmetic and logic operations, and operates only on
binary data, that is, data composed of 1’s and 0’s. In addition, it also controls the usage of
main memory to store data and instructions, and controls the sequence of operations.
The central processing unit consists of three main subsystems, the Arithmetic/Logic
Unit (ALU), the Control Unit (CD), and the Registers.
Arithmetic/Logic Unit (ALU) The arithmetic/logic unit (ALU) contains the electronic
circuitry that executes all arithmetic and logical operations on the data made available to it.
The data required to perform the arithmetic and logical functions are inputs from the
designated registers. ALU comprises of two units: Arithmetic Unit and Logic Unit.
Arithmetic Unit: The arithmetic unit contains the circuitry that is responsible for performing
the actual computing and carrying out the arithmetic calculations, such as addition,
subtraction, multiplication, and division. It can perform these operations at a very high speed.
Logic Unit: The logic unit enables the CPU to perform logical operations based on the
instructions provided to it. These operations are logical comparison between data items. The
unit can compare numbers, letters, or special characters and can then take action based on the
result of the comparison. Logical operations of Logic unit can test for three conditions: equal-
to condition, less-than condition, and greater-than condition.
Control Unit This unit checks the correctness of sequence of operations. It fetches program
instruction from the primary storage unit, interprets them, and ensures correct execution of
the program. It also controls the input/output devices and directs the overall functioning of
the other units of the computer.
Output Devices
Just as humans communicate with computers through input devices, the computer can
communicate with human beings using output devices. Output devices take the machine-
12
Fundamentals Of Computing and Programming Unit 1
coded output results from the CPU and convert them into a form that is easily readable (such
as characters, graphical) by human beings. Output unit processes data into useful
information.
The outputs, which can be easily understood and used by human beings, are in the
form of hard copy and soft copy. The physical form of output is known as hard copy. The
electronic version of an output, which usually resides in computer memory and/or on disk, is
known as soft copy: Some of the commonly used output devices are monitors, printers,
plotters, and audio response.
Memory
Computers require memory to process data and store output. Memory refers to the
electronic holding place for instructions and data. Some data will be required
instantaneously, while others may not be needed for extended periods. Likewise, CPU
requires memory to handle the intermediate results and to store the final output. Hence, we
can classify memory into two broad categories: primary memory (to handle the data) and
secondary memory (to store the output).
Primary Memory Primary memory, also known as main memory, stores data and instructions
for processing. Primary memory can be further classified into random access memory (RAM)
and read only memory (ROM).
Secondary Memory Secondary memory, also known as auxiliary memory or external
memory is used for storing instructions (software programs) and data, since main memory
temporary and limited in size. This memory is least expensive and has much larger storage
capacity than primary memory.
NUMBER SYSTEM
INTRODUCTION
A number is required for counting or to express the amount of some quantity. It
consists of a group of symbols called digits, which are arranged in a definite manner. There
can be many ways in which the digits can be arranged to form a number.
13
Fundamentals Of Computing and Programming Unit 1
The most widely adopted system is the decimal number system which has ten
digits(0,1,2,…9), the octal system has eight digits (0,1,2..7), the hexadecimal system has
sixteen digits(0,1,2,…9,A,B,C,D,E,F), the binary number system has only two(0,1).
The number of digits in a system is called ‘radix’ or ‘base’. Thus, the decimal system
may be called as radix-10 system, the binary system as radix-2 system and so on.
The number systems are basically of two types,
1. Non-positional number system
2. Positional number system
Non-positional Number System
In olden days human beings counted the numbers using their fingers. When twenty
fingers were not adequate, stones or sticks were used to indicate values. This method of
counting uses the non-positional number system or additive approach. Using this system, the
symbols i.e., I for 1, II for 2, III for 3, IIII for 4, IIIII for 5 etc., are used.
Positional Number System
The most widely used number system is positional number system. The positional
number uses only few symbols called digits. Such symbol specifies different values
depending on the position they occupy in the number. In this system, the position of a digit
indicates the significance to be attached to that digit.
Example: The decimal number 3977.39(10) is taken to mean
3*103 + 9*102 + 7*101 + 7*100 . 3*10-1 + 9*10-2
1000th
position
100th
position
Tenth
position
Unit
position
1/10th
position
1/100th
position
DECIMAL NUMBER SYSTEM
The number system that is most commonly used is the decimal number system. In this
number system the base or radix is 10 and there are altogether ten numbers i.e.,
0,1,2,3,4,5,6,7,8,9.
Eg: In decimal number system 258.34(10) or 258.34
Consists the digits
14
Fundamentals Of Computing and Programming Unit 1
4 in the position (4*10-2)
3 in the position (3*10-1)
8 in the unit position (8*100)
5 in the tens position (5*101)
2 in the hundred position (2*102)
and its values can be written as
2*102 + 5*101 + 8*100 . 3*10-1 + 4*10-2
2*100 + 5*10 + 8*1 . 3*1/10 + 4*1/100
200 + 50 + 8 . 0.3 + 0.04 = 258.34
258.34(10) = 258.34
BINARY NUMBER SYSTEM
Almost all digital computers and systems are based on binary number system. Binary
means two, the binary system uses only two digits i.e., 0’s and 1’s. The base or radix of
binary number system is (2) because it contains only two numbers. These two digits can be
arranged in various combination to represent all the numbers letters and symbols that can be
incorporated into the computer.
Eg: 1 0 0 1 1 1(2)
Least Significant Bit
Most Significant Bit
15