V Rajaraman Fundamentals of Computers Sample PDF
V Rajaraman Fundamentals of Computers Sample PDF
Sixth Edition
V. RAJARAMAN
Honorary Professor
Supercomputer Education and Research Centre
Indian Institute of Science
Bangalore
NEEHARIKA ADABALA
Chief Architect
CybULab Private Limited
Bangalore
Delhi-110092
2015
FUNDAMENTALS OF COMPUTERS, Sixth Edition
V. Rajaraman and Neeharika Adabala
© 2015 by PHI Learning Private Limited, Delhi. All rights reserved. No part of this book
may be reproduced in any form, by mimeograph or any other means, without permission in
writing from the publisher.
ISBN-978-81-203-5067-0
The export rights of this book are vested solely with the publisher.
Published by Asoke K. Ghosh, PHI Learning Private Limited, Rimjhim House, 111, Patparganj
Industrial Estate, Delhi-110092 and Printed by Mohan Makhijani at Rekha Printers Private Limited,
New Delhi-110020.
In memory of
my uncle Dr. P.S. Viswanathan
and
my aunt Srimati Sitalakshmi
—V. Rajaraman
Contents
Preface xiii
1. Computer Basics..............................................................................................................1
1.1 Algorithms 2
1.2 Simple Model of a Computer 4
1.3 Characteristics of Computers 5
1.4 Problem Solving Using Computers 6
1.4.1 Flowchart 7
1.4.2 Program 8
1.4.3 Working of a Computer 9
1.4.4 Stored Program Concept 12
1.4.5 Hardware and Software 12
Summary 13
Review Questions 13
2. Data Representation......................................................................................................15
2.1 Representation of Characters in Computers 16
2.2 Representation of Integers 19
2.3 Representation of Fractions 22
2.4 Hexadecimal Representation of Numbers 23
2.5 Decimal to Binary Conversion 24
2.6 Error Detecting Codes 27
Summary 28
Review Questions 29
3. Input/Output Units........................................................................................................31
3.1 Traditional Computer Input/Output Units 32
3.1.1 Keyboard 32
v
vi Contents
4. Computer Memory........................................................................................................52
4.1 Memory Cell 53
4.2 Memory Organization 53
4.3 Read Only Memory 58
4.3.1 Flash Memory 59
4.4 Serial Access Memory 60
4.5 Physical Devices Used to Construct Memories 62
4.5.1 Semiconductor Flip-flop 62
4.5.2 Magnetic Surface Recording 65
4.6 Magnetic Hard Disk 68
4.6.1 Solid State Disks 71
4.7 Compact Disk Read Only Memory (CDROM) 72
4.7.1 Digital Versatile Disk Read Only Memory 73
4.7.2 CDROM-R (Recordable CDROM or Write Once CDROM—
WOROM) 74
4.7.3 Blu-ray Disc 75
4.8 Magnetic Tape Drive 75
4.9 Memory Hierarchy 76
Summary 78
Review Questions 79
Contents vii
5. Processor........................................................................................................................82
5.1 Structure of Instructions 82
5.2 Description of a Processor 85
5.3 Machine Language Program 89
5.4 Algorithm to Simulate the Hypothetical Computer 93
5.5 Enhancing Hypcom 95
Summary 101
Review Questions 102
6. Binary Arithmetic.......................................................................................................105
6.1 Binary Addition 105
6.2 Binary Subtraction 106
6.3 Signed Numbers 107
6.4 Two’s Complement Representation of Numbers 109
6.5 Addition/Subtraction of Numbers in 2’s Complement Notation 110
6.6 Binary Multiplication 111
6.7 Binary Division 113
6.8 Floating Point Representation of Numbers 115
6.9 Arithmetic Operations with Normalized Floating Point Numbers 117
6.9.1 Addition 117
6.9.2 Subtraction 117
6.9.3 Multiplication 118
6.9.4 Division 118
Summary 119
Review Questions 120
7. Logic Circuits...............................................................................................................122
7.1 Introduction 122
7.2 Switching Circuits 123
7.3 AND/OR Operations 124
7.4 NOT Operation 125
7.5 Boolean Functions 126
7.6 Postulates 126
7.7 Duality Principle 126
7.8 Theorems 126
7.9 Precedence of Operators 128
7.10 Venn Diagram 129
7.11 Truth Table 129
7.12 Canonical Forms for Boolean Functions 130
7.13 Logic Circuits 132
7.14 Parallel and Serial Adders 135
7.15 Physical Devices Used to Construct Gates 136
viii Contents
8. Computer Architecture...............................................................................................148
8.1 Interconnection of Units 149
8.2 Processor to Memory Communication 151
8.3 I/O Devices to Processor Communication 153
8.4 Interrupt Structures 157
8.5 Bus Architecture of Personal Computers 159
8.6 Multiprogramming 162
Summary 163
Review Questions 165
9. Programming Languages...........................................................................................167
9.1 Why Programming Language? 168
9.2 Assembly Language 168
9.2.1 Executing Assembly Language Program 170
9.3 Higher Level Programming Languages 171
9.4 Compiling A High Level Language Program 176
9.4.1 Tools to Build Compilers 179
9.5 Some High Level Languages 179
9.6 Conclusions 187
Summary 188
Review Questions 189
11. Microcomputers..........................................................................................................219
11.1 Ideal Microcomputer 220
11.2 Actual Microcomputer 220
11.2.1 CPU 221
11.2.2 Data Bus 223
11.2.3 Address Bus 224
11.2.4 Control Bus 224
11.3 Memory Systems for Microcomputers 226
11.4 Minimum Microcomputer Configuration 227
11.4.1 Interrupts 228
11.4.2 Parallel to Serial and Serial to Parallel Conversion 229
11.4.3 Direct Memory Access 230
11.5 Evolution of Microcomputers 230
11.6 Reduced Instruction Set Computers 231
11.7 Special Purpose Microprocessors 232
11.7.1 Digital Signal Processors 232
11.7.2 Microcontrollers 236
11.8 Special Purpose Microcomputer Software 238
11.9 Special Purpose Applications of Microcomputers 239
11.9.1 Microcomputer as a Furnace Input Feed Controller 239
11.9.2 Other Applications 240
11.10 Smart Cards 241
11.10.1 Memory Cards 241
11.10.2 Microprocessor-based Smart Cards 242
11.11 Radio Frequency Identification 243
Summary 244
Review Questions 246
References............................................................................................................................391
Glossary................................................................................................................................397
Index.....................................................................................................................................421
Preface
A student must understand how a computer functions in addition to knowing how to program it.
The main objective of this book is to explain to a beginner how a computer works. Computer
salesmen and advertisers have a tendency of using numerous obscure technical terms to impress
customers. Very often such jargon overwhelms many managers and computer users because they
do not understand them; hence, another objective of this book is to explain in a simple language
what many of these terms really mean. Hardware and software components of a computer are
important for its functioning and, thus, both these aspects are explained in this book.
This book is intended as a text for a course on Fundamentals of Computers to be taught
concurrently with courses on programming. It would, therefore, be useful for the first course
in computers taught in undergraduate and postgraduate courses in computer applications (BCA
and MCA). Rapid advances in computer technology have made it imperative for all engineers
to understand the hardware features of computers besides knowing how to program them in a
high level language. A core course is being introduced in undergraduate engineering curricula
on fundamentals of computers, and this book would be appropriate for this course. In view of
the extensive use of computers in business and industry, students in schools of management
require a course on computers, and this book would be appropriate for such a course. There
is a trend to introduce computer science as a subject in B.Sc. courses; again, this book can be
used as a text in this course.
Besides its use as a text, this book would provide managers, engineers, and scientists a
basic introduction to the hardware and software of computers. This knowledge is essential to
appreciate the power and deficiencies of computers and to select appropriate applications and
hardware.
This book has evolved from a set of notes the first author used in various courses, which
have been thoroughly class-tested. These notes have been used for concurrent reading in short
intensive programming courses, in computer appreciation courses for managers and engineers,
and in undergraduate programmes for engineers.
The first five editions of this book received excellent response from the readers and
were highly acclaimed. A number of suggestions were also received from the readers. The
xiii
xiv Preface
sixth edition has been written by extensively revising the fifth edition along with a co-author.
The basic structure of the book has been retained. All chapters were thoroughly reviewed.
A number of chapters were rewritten. In particular, Chapter 15 has been rewritten to reflect
advances in input/output to computers, including brain computer interface. A new chapter on
emerging computing environments including cloud computing has been added to accommodate
the changes that have taken place in computer technology in recent times.
Chapter 1 explains the concept of computer algorithms, computer structure and programming
languages. Chapter 2 describes how various types of data are represented and stored in a
computer. Chapter 3 describes various devices used to input data and programs to computers
and the devices used to write the results of computation. Chapter 4 analyzes the properties
of storage devices used to fabricate computer memories. It also describes the structure of
different types of memories. In Chapter 5, the logical structure of a processor (also known
as the Central Processing Unit) of a computer is presented. A small hypothetical computer is
used to explain the basic ideas in the design of processors. Chapter 6 discusses how binary
arithmetic operations are carried out by a computer. Chapter 7 presents Boolean algebra and
its applications in the design of arithmetic and logic circuits. Chapter 8 covers how I-O units,
the memory and the processor are interconnected and the methods used to reduce the effects
of speed mismatch between these units.
Chapters 9 and 10 are mainly concerned with the software of computers. Chapter 9
introduces the need for high level languages for computers and briefly describes a number
of popular programming languages. Chapter 10 presents the important concept of operating
systems. It explains how various units are coordinated and their functioning overlapped, using
software aids. This chapter has been extensively revised.
Chapter 11 deals with microcomputers. In view of the rapid growth of microcomputer
applications, I have devoted a full chapter to this topic and explained the logical structure of
microprocessors, the architecture of microcomputers, and their applications. Recently, smart
cards and radio frequency identification tags are being extensively used. Both these devices
use embedded microprocessors. Thus, a new section has been introduced to describe these.
Chapter 12 explains how computers are classified as tablet, laptop (or notebook) computers,
PCs, servers, mainframes, distributed and parallel computers, and as first, second, third, and
fourth generation machines.
The last four chapters are recent topics not usually found in most ‘first books’ on
computers. Chapter 13 describes Computer Networks. It includes Local Area Networks (LANs),
Internetworking using TCP/IP protocol, Intranets and Virtual Private Networks. Chapter 14
deals with analog and digital communications. In this chapter, various physical media used in
computer communications are introduced. Specifically both wired and wireless communications
are discussed. As wireless communications is becoming important, considerable attention has
been devoted to spread spectrum and cellular communications. We have also described new
wireless systems such as WiMAX and WiGig. Chapter 15 is new and introduces recent advances
in input/output of computers. We describe graphical user interfaces (GUI) and how the extra
computational load resulting from graphics is supported by use of Graphics Processing Units
(GPUs). We illustrate the recent trends towards more natural/intuitive interfaces to computers
by describing 3D displays, multi-touch, gesture, and speech interaction systems. We also
Fundamentals Of Computers
25%
OFF