GCUnit 1 Generalities On A Computer System-1
GCUnit 1 Generalities On A Computer System-1
Introduction
Our lifestyles have changed considerably with the advancement in technology especially in the field of computers.
Computers are an integral part of our lifestyles today and are found at offices, homes, schools, colleges, hotels,
shops etc. This advance in technology has made our lives easy and comfortable. For instance, we can execute a
number of activities using computer-based systems- we can write a draft on word processor and email it, make
calculations using an electronic spreadsheet and incorporate graphics, create a database of friends with their phone
numbers, addresses and e-mail ids etc. It is an arduous process to perform these activities using existing traditional
methods.
OVERVIEW ON COMPUTER
A Computer is an electronic device capable of receiving, processing and store data automatically. The four basic
operations of a computer are then: input, processing, output and storage. Computers accept data (input), process
the data according to specified rules (processing), produce results (output) and store the results for future use
(storage). The computer is made up into two main parts: a physical part called Hardware and a logical part called
Software. The functional diagram of a computer can be represented as follow:
Storage
devices
Data Information
(Raw facts) + Data transformation = (Useful and relevant knowledge)
Computing: This is the act of developing and using the computer to perform an activity. It includes the designing
and building of hardware and software systems for a wide range of purposes, processing and managing various
kind of information, doing scientific studies using computers, …
Computer science: It is the study of computers and their applications, including their design, operation, and use
in processing information.
1
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
ICT: stands for Information and Communication Technologies. It is the application of modern communications,
computing and digital technologies to create, store, exchange and use information in it various forms.
Program: Set of instructions that enable a computer to perform a given task.
Computer Literacy: It is the knowledge and ability to use computers and technologies efficiently.
Advantages of computers
Compared to traditional systems, computers offer many noteworthy advantages. This is one reason that
traditional systems are being replaced rapidly by computer-based systems. The main advantages offered by
computers are as follows:
High speed: Computers have the ability to perform routine tasks at a greater speed than human beings. They
can perform millions of calculations in seconds.
Accuracy: Computers are used to perform tasks in a way that ensures accuracy.
Storage: Computers can store large amount of information.
Automation: Computers can be instructed to perform complex tasks automatically and repeatedly (which
increases the productivity).
Diligence: Computers can perform the same task repeatedly & with the same accuracy without getting tired.
Versatility: Computers are flexible to perform both simple and complex tasks.
Cost effectiveness: Computers reduce the amount of paper work and human effort, thereby reducing costs.
Limitations of computers
Computers need clear & complete instructions to perform a task accurately. If the instructions are not clear
& complete, the computer will not produce the required result.
Computers cannot think.
Computers cannot learn by experience.
Disadvantages of computer
Unemployment
Hacking and Viruses
Sicknesses (eyepain, backpain, …)
Laziness and Dependency
…
EVOLUTION OF MACHINES
Computers of today are quite powerful, sophisticated and very fast. They were not so in their earlier stages. In
fact they have travelled a long distance from primitiveness to sophistication. Before the invention of the computer,
many other devices were used for calculation. The evolution of the computer can be divided into two main eras:
The mechanical era and the electronic era.
Abacus emerged around 5000 years ago in Asia Minor and it is still in use in some parts of the world today.
Napier Bones: It has been invented by John Napier, a Scottish mathematician, in 1614. This device enabled
multiplication in a fast manner, if one of the numbers was of one digit only (for example, 6 × 6745).
Pascaline: In 1642, Blaise Pascal, a French mathematician, scientist and philosopher, invented the first functional
automatic calculator. However, the usage of this device was limited to addition and subtraction only
2
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
Leibniz Calculator: In 1694, Von Leibniz, a German mathematician, built a more advanced calculating
machine. It was a calculation device which could perform additions and subtractions along with multiplication
and division
Jacquard’s Loom: In 1801, Joseph Jacquard invented a new type of loom for weaving cloth. Punched cards were
used to control the operation of the loom.
Difference Engine: In 1822, Charles Babbage, a professor of mathematics, devised a calculating machine
known as difference engine, which could be used to mechanically generate mathematical tables.
Analytical Engine: Analytical engine is considered to be the first general-purpose programmable computer. It
was invented in 1835 by Charles Babbage.
Hollerith's Tabulator: Herman Hollerith invented the punched-card tabulating machine to process the data
collected in the United States'. This electronic machine was able to read the information on the cards and process
it electronically. In 1896, Hollerith founded the Tabulating Machine Company, which was later named as IBM
(International Business Machines).
MARK-I Computer: From the year 1937 to 1944, Howard Aiken, an American mathematician, developed
MARK-I. It was essentially a serial collection of electromechanical calculators and had many similarities to
Babbage's analytical
ABC Computer: At the end of 1939, John Vincent Atansoft and Clifford Berry built the first electronic
computer named as ABC (Atansoft Berry Computer). It is considered the first computing machine, which
introduced the idea of binary arithmetic, regenerative memory and logic circuits.
Colossus: In 1944, Alan Mathison Turing, a British mathematician, created a computer called the colossus,
which comprised 1800 vacuum tubes. It was one of the world's earliest working programmable electronic digital
computers.
ENIAC: In 1946, John Eckert and John Mauchly developed Electronic Numerical Integrator and Calculator
(ENIAC). ENIAC consisted of 18,000 vacuum tubes, which required around 160 KWof electricity and weighed
nearly 30 tons.
EDVAC: John Eckert and John Mauchly also proposed the development of Electronic Discrete Variable
Automatic Computer (EDVAC). EDVAC was completed by 1946 and came into existence only in 1949. EDVAC
contained approximately 4000 vacuum tubes and 10,000 crystal diodes.
UNIVAC: The Universal Automatic Computer (UNIVAC) was the first commercially available electronic
computer. It was manufactured by the Eckert Mauchly Corporation in 1951 and its implementation marked the
real beginning of the computer era.
GENERATIONS OF COMPUTERS
Computer being an electronic device, its size, capabilities and power at any time are greatly influenced by the
existing state of electronics of that time. The evolution of computer can be better understood if we put it in terms
of the different generations of computers.
SUMMARY
GENERATIONS OF COMPUTERS
Generation Years Circuitry Technology Main characteristics
First (1940–1956) Vacuum tubes Difficult to program voluminous in size
4
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
TYPES OF COMPUTERS
These days, computers are available in many sizes and types. Some computers can fit in the palm of the hand,
while some can occupy the entire room. Computers also differ based on their data-processing abilities. Based on
the physical size, performance and application areas, we can generally divide computers into four major
categories: microcomputer, minicomputer, mainframe computer and supercomputers.
Microcomputers
Microcomputer is the smallest category of computers, in which single microchip is used for two basic units i.e.
Arithmetic and Logical Unit (ALU) and Control Unit. This microchip is often referred to as microprocessor.
Microcomputers are further classified into following categories:
- Desktop computers also known as the PC (Personal Computer), is principally intended for stand-alone use
by an individual
- Laptop computers A laptop is a portable computer that a user can carry around. Since the laptop resembles a
notebook, it is also known as the notebook computer
- Personal Digital Assistant (PDA) A hand-held computer such as a PDA is a portable computer that can
conveniently be stored in a pocket (of sufficient size) and used while the user is holding it.
Minicomputers
A minicomputer (sometimes called a mid-range computer) is designed to meet the computing needs of several
people simultaneously in a small-to medium-sized business environment. It is capable of supporting from four to
about 200 simultaneous users. It serves as a centralized storehouse for a cluster of workstations or as a network
server. Minicomputers are usually multi-user systems so these are used in interactive applications in industries,
research organizations, colleges and universities. Some of the widely used minicomputers are PDP 11, IBM (8000
series) and VAX 7500.
Mainframes
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, and extensive data storage and retrieval.
Normally, it is able to process and store more data than a minicomputer and far more than a microcomputer.
Mainframes can usually execute many programs simultaneously at a high speed, whereas supercomputers are
designed for a single process.
Supercomputers
5
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
Supercomputers are the special-purpose machines, which are especially designed to maximize the numbers of
floating point operations per second (FLOPS). A supercomputer can process a great deal of data and make
extensive calculations very quickly. It can resolve complex mathematical equations in a few hours, which
would have taken many years when performed using a paper and pencil or using a hand calculator. It is the
fastest, costliest and most powerful computer available today.
COMPUTER APPLICATIONS
Computers are used in a vast number of areas or applications such as:
Business and Commerce: To keep records of stock control or daily sales.
Hospitals: To keep a patient’s records and control specific devices.
Libraries: To keep records of books and borrowers.
School: To keep personal records, records of students’ attendance and their performance, teachers’
schedules, and examination questions.
Banking: For allowing customers to find out their account balances or for clerks to record transactions.
Pharmacies or Chemists: To keep stock of medicines, cash tellers, and controlling of stock.
Reservation Systems: To check whether there is free space in a bus, flight, free rom in hotel.
Offices: To process reports and outgoing mail.
Home: For playing games, storing pictures and information, playing music etc.
Manufacturing Industries: To control the process in manufacturing.
6
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
COMPONENTS OF A COMPUTER SYSTEM
I. Hardware
Computer hardware refers to the physical or tangible parts of a computer system. They are the components of
the computer which can be seen and touched. These physical components that make up the computer are: central
processing unit (CPU), computer memory, motherboard, ports, buses, hard disk, input devices and output devices.
Software is the collection of computer programs and data that run on a computer, and which make the hardware
useful. It refers to the intangible components of the computer system. The standard architecture used in designing
computer is the Von Neumann’s architecture.
1. The Von Neumann’s Computer Architecture
The Von Neumann architecture is a design model for a stored-program digital computer. A stored-program
computer is one which stores program instructions in electronic memory. This model was designed by the
Hungarian born Mathematician, John Von Neumann. Its main characteristic is a single separate storage structure
(the memory) that holds both program and data. This ensures that by altering the stored program, the computer
can perform a different task. Neumann divided the computer into five primary groups: CPU, input, output,
working storage and permanent storage.
7
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
The arithmetic-logic unit (ALU) performs arithmetic and logic operations. It contains arithmetic circuits that
perform arithmetic operations like addition, subtraction, multiplication and division, and logic circuits that
perform comparisons like equal to, less than, greater than, greater than or equal to and less than or equal to.
c. Registers
Registers are special storage locations within the CPU that offer an advantage of speed. They work under the
direction of the control unit to accept and hold data that is being processed. Since the CPU uses registers for the
processing of data, the number of registers in a CPU and the size of each register affect the power and speed of
the CPU. Registers are grouped into two: special purpose registers and general-purpose registers. Special purpose
registers are dedicated to specific tasks like:
o the accumulator, which collects the result of computations,
o the memory address register (MAR), which keeps track of where a given instruction or piece of data is
stored in memory
o the memory data register (MDR) which holds data values
o the program counter (PC), which keeps the address of the next instruction to be executed.
o the instruction register (IR) which holds the current instruction being executed.
General purpose registers on the other hand have no specific function; they are used according to the need of the
program being executed.
d. System Clock
The CPU has an internal clock that ticks continuously at a regular rate to synchronize all computer operations.
Clock speed is measured in megahertz (Hz) or gigahertz (GHz) and refers to the number of cycles per second that
the CPU runs at. During each cycle, one instruction is processed. 1 MHz means 1 million cycles per second or
one million instructions can be performed in one second and 1 GHz means one billion instructions per second.
The faster the clock speed, the more the more the instructions that can be processed in a given period of time.
Clock speed is the same as CPU speed.
8
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
The machine or instruction cycle describes how machine instructions are repeatedly fetched, decoded and
executed, one machine instruction at a time, until an instruction to HALT is encountered. Before an instruction
can be fetched, it must be placed into memory as well as related data, from an input or secondary storage device.
Once the necessary data and instructions are in memory, the central processing unit performs the following four
steps for each instruction:
1. The control unit fetches (gets) data and instructions from memory.
2. The control unit decodes the instructions i.e. determines what they mean, and directs that the necessary
data be moved to the arithmetic-logic unit.
3. The arithmetic-logic unit then executes the instruction on the data. That is, the ALU is given control and
performs the actual operation on the data.
4. The arithmetic-logic unit stores the result of this operation in memory or in a register.
Steps 1 and 2 together are called instruction time or I-time and steps 3 and 4 together are called execution time
or E-time. The combination of I-time and E-time is called the machine or instruction cycle or the fetch-decode-
execute cycle. The length of time taken to fetch-decode-execute an instruction is measured in clock cycles.
f. System Bus
A computer bus is a set of parallel lines that interconnects various components inside the computer, allowing the
exchange of data between them. It is the pathway between these components, enabling data to be transferred from
one component to another. The width of a bus is determined by the number of lines it has. The system bus is
made up of three types of bus: the data bus, the address bus and the control bus.
The Data Bus: the data bus carries data between the CPU and memory or peripherals. During a write
operation, data is carried from the CPU and during a read operation, data is carried into the CPU. This
means that the data bus is bidirectional. The width of the data determines the maximum number of bits,
which can be transferred simultaneously between two modules.
Address bus: is used to specify a physical memory address. This can include primary memory (e.g. RAM
and ROM) secondary memory (e.g. hard disk drives) and any other connected devices. Monitors, printers,
scanners, and keyboards will all be mapped to memory. The width of the address bus determines the
amount of memory that can be addressed. A 32-bit bus can address 4,294,967,296 (2 ^ 32) bytes of
memory. This explains the 4 GB memory restriction on 32-bit operating systems.
Control bus: Control bus carries commands from and returns status signals to the microprocessor. These
lines are used for the transmission of commands and timing signals (which validate data and address)
between the system modules.
9
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
The CPU communicates with I/O devices through bus interfaces connected to the system bus. These bus interfaces
also called expansion buses or slots are found on the motherboard. Standard bus interfaces are PCI, ISA, and
AGP.
o PCI: Peripheral Component Interconnect
o ISA: Industry Standard Architecture
o SIMM: Single Inline Memory Module
o DIMM: Dual Inline Memory Module
1.2. Memory
Computer memory consists of components that hold programs and data for use in the computer. Computer
memory can be classified basically into two: primary memory and secondary memory.
10
GCU1 : GENERALITIES ON A COMPUTER SYSTEM
reducing the average time to access memory. Cache is static RAM and is usually organized in levels: Level 1
(L1) cache, Level 2 and Level 3 cache.
Level 1 cache is closest to the CPU or within it. L2 and L3 cache are outside it.
When the CPU needs to access memory, cache memory is examined. If the data is found in cache, it is read from
it. Otherwise, main memory is accessed. When the CPU refers to memory and finds the data in cache, it is said to
be a HIT. Otherwise, it is a MISS.
1.2.2. Secondary Memory
Secondary memory is memory which is not directly accessible to the CPU. It is used to store programs and data
for future use. It could be placed within the computer or connected externally. Programs and data from secondary
memory must be transferred to primary memory for execution. Secondary memory is also called mass storage,
backing storage or external storage. Different types of secondary memory can be divided into magnetic storage,
optical storage and solid-state storage.
a. Magnetic Storage
Magnetic storage devices store data as electromagnetic charges on the magnetic surfaces of the storage units.
Examples are floppy disks, hard disks and magnetic tape.
b. Optical Storage
Compact Disc, Digital Versatile (Video) Disc, Blu-ray Disc
2. Processor Architecture
An instruction set is the totality of recognized commands that a processor accepts as valid. Instructions perform
primitive operations such as "add 2 to register R1", "store contents of R6 into memory location 0xFF32", etc.
There are two types of fundamental CPU architectures based on the instruction set: complex instruction set
computers and reduced instruction set computers.
13
GCL1 : COMPUTER HARDWARE AND SOFTWARE
14
GCL1 : COMPUTER HARDWARE AND SOFTWARE
15
GCL1 : COMPUTER HARDWARE AND SOFTWARE
II. Software Program
Computer programs, known as software, are instructions that tell a computer what to do. A program is a series
of step-by-step instructions that provides a solution to a particular problem and directs the computer on what to
do exactly. Software is all around you, even in devices that you might not think would need it. Of course, you
expect to find and use software on a personal computer, but software also plays a role in running airplanes, cars,
cell phones, and even toasters. On a personal computer, you use software such as word processors to write
documents, Web browsers to explore the Internet, and e-mail programs to send messages. Computers do not
understand human languages, so programs must be written in a language a computer can use. There are
hundreds of programming languages, and they were developed to make the programming process easier for
people. However, all programs must be converted into a language the computer can understand.
Machine or Binary language: A computer’s native language, which differs among different types of computers,
is its machine language (a set of built-in primitive instructions). These instructions are in the form of binary
code, so if you want to give a computer an instruction in its native language, you have to enter the instruction as
binary code. For example, to add two numbers, you might have to write an instruction in binary code, like this:
1101101010011010
Assembly Language: Programming in machine language is a tedious process. Moreover, programs written in
machine language are very difficult to read and modify. For this reason, low-level languages or assembly
language was created in the early days of computing as an alternative to machine languages. Assembly language
uses a short descriptive word, known as a mnemonic, to represent each of the machine-language instructions. For
example, the mnemonic add typically means to add numbers and sub means to subtract numbers. To add the
numbers 2 and 3 and get the result, you might write an instruction in assembly code like this: add 2, 3, result
Assembly languages were developed to make programming easier. However, because the computer cannot
understand assembly language, another program—called an assembler—is used to translate assembly-language
programs into machine code.
High-Level Language: In the 1950s, a new generation of programming languages known as high-level
languages emerged. They are platform-independent, which means that you can write a program in a high-level
language and run it in different types of machines. High-level languages are English-like and easy to learn and
use. The instructions in a high-level programming language are called statements. Here, for example, is a high-
level language statement that computes the area of a circle with a radius of 5: area = 5 * 5 * 3.1415
There are many high-level programming languages, and each was designed for a specific purpose.
16
GCL1 : COMPUTER HARDWARE AND SOFTWARE
Regardless of the distribution model, computer software has two major categories namely system software and
application software.
1. System Software
System software control and coordinate computer resources so that the computer user and applications can
smoothly interact. System software functions as a bridge between computer system hardware and the application
software. Without system software, a modern digital computer would be virtually impossible to use. Examples
include: Operating systems, system BIOS, utility programs, device drivers and programming tools.
2. Application Software
Application software directs the computer to perform useful work for end users. They are used to carryout
productive work like typing a letter, designing and invitation card, surfing the Internet, listening to music or
watching a movie. Application software includes a variety of programs that can be subdivided into general
purpose software, special purpose software and custom-written software.
2.3.Custom-Written software
Custom-written software is designed for a specific user and purpose. It is created specifically for the needs of a
user or organization. It is tailored to their exact requirements. It is also called tailor made software or bespoke
software.
18
GCL1 : COMPUTER HARDWARE AND SOFTWARE
Linux for computers and Android, BlackberryOS, Windows Mobile, FirefoxOS and Palm OS for mobile and
handheld devices.
Regardless of their platforms, operating systems provide the environment through which computer users
communicate with the computer. This means of communication is called a user interface. There are different types
of interface, which are useful in different situations and for different types of user.
20