Module 1 Fundamentals of Computers, Its Organization and Architecture
Module 1 Fundamentals of Computers, Its Organization and Architecture
• How computers receive, store and process data to generate useful information.
• The improvements in the functioning of computers in the last few decades.
• The five generations of computers.
• How to classify computers on the basis of operating principles, applications and
size.
• The computer system is a combination of hardware, software, data and people.
• The use of computers in different fields.
❑ The input and output media for these computers were not improved to a considerable extent. They were required to be
placed in airconditioned places.
❑ The cost of these computers was very high and they were beyond the reach of home users.
❑ They were special-purpose computers and could execute only specific applications.
• They were the fastest computing devices as compared with the first and second
generations of Computers.
• The computational time for these computers were also reduced to a great extent.
The computational time for these computers was usually measured in
nanoseconds.
❑ The storage capacity of these computers
• They were very productive because of their small computational time.
was still very small.
• They were easily transportable from one place to another because of their small
❑ The performance of these computers
size.
degraded while executing large
• They used high-level languages. A high-level language is a computer
applications, involving complex
programming language that is independent of the machine details. Hence, the
computations because of the small storage
programmer finds it very easy to use them and the programs written in these
capacity.
languages on one computer can be easily executed on some other computer.
❑ The cost of these computers was very
• They could be installed very easily and required less space for their installation.
high.
• They were able to execute any type of application, such as business and scientific
❑ They were still required to be placed in
applications. Hence, the third generation computers were also considered general-
air-conditioned places.
purpose computers.
• They were more reliable and required less frequent maintenance schedules.
• Since computers have 32, 64, and even 128-bit busses, displaying
numbers in binary is cumbersome.
• Data on a 32-bit data bus would look like the following:
0110 1001 0111 0001 0011 0100 1100 1010
• Hexadecimal (base 16) and octal (base 8) number systems are used to
represent binary data in a more compact form.
Decimal10
0123456789
Successive Weighted
Division Multiplication
Weighted Successive
Multiplication Division
Successive Weighted
Division Multiplication
Octal8 Hexadecimal16
01234567 0123456789ABCDEF
Binary2
01
Successive
Division
a) Divide the decimal number by 2; the remainder is the LSB of the binary number.
b) If the quotient is zero, the conversion is complete. Otherwise, repeat step (a) using
the quotation as the decimal number. The new remainder is the next most
significant bit of the binary number.
Weighted
Multiplication
a) Multiply each bit of the binary number by its corresponding bit-weighting factor
(i.e., Bit-0→20=1; Bit-1→21=2; Bit-2→22=4; etc.).
b) Sum up all of the products in step (a) to get the decimal number.
© Dr. Manish K Pandey, Applied Data Science Lab,
1/10/2023 34
CQEDS, BIT Mesra
Conversion Process Decimal ↔ BaseN
(Any base including Binary2, Octal8, Hexidecimal16)
Successive
Division
a) Divide the decimal number by N; the remainder is the LSB of the ANY BASE
Number .
b) If the quotient is zero, the conversion is complete. Otherwise repeat step (a) using
the quotient as the decimal number. The new remainder is the next most
significant bit of the ANY BASE number.
Weighted
Multiplication
a) Multiply each bit of the ANY BASE number by its corresponding bit-weighting
factor (i.e., Bit-0→N0; Bit-1→N1; Bit-2→N2; etc.).
b) Sum up all of the products in step (a) to get the decimal number.
© Dr. Manish K Pandey, Applied Data Science Lab,
1/10/2023 35
CQEDS, BIT Mesra
Decimal ↔ Octal Conversion
The Process: Successive Division
• Divide the decimal number by 8; the remainder is the LSB of the octal
number .
• If the quotation is zero, the conversion is complete. Otherwise repeat step (a)
using the quotation as the decimal number. The new remainder is the next
most significant bit of the octal number.
Example:
Convert the decimal number 9410 into its octal equivalent.
11
8 94 r = 6 LSB
1 9410 = 1368
8 11 r =3
0
8 1
1/10/2023 r = 1 MSB © Dr. Manish K Pandey, Applied Data Science Lab,
CQEDS, BIT Mesra
36
Example: Dec → Octal
Example:
Convert the decimal number 18910 into its octal equivalent.
Solution:
23
8 189 r =5 LSB
2 18910 = 2758
8 23 r =7
0
8 2 r=2 MSB
Example:
Convert the octal number 1368 into its decimal equivalent.
1 3 6
82 81 80
Bit-Weighting 136 8 = 9410
64 8 1 Factors
64 + 24 + 6 = 9410
© Dr. Manish K Pandey, Applied Data Science Lab,
1/10/2023 39
CQEDS, BIT Mesra
Example: Octal → Dec
Example:
Convert the octal number 1348 into its decimal equivalent.
Solution:
1 3 4
82 81 80
64 8 1
1348 = 9210
64 + 24 + 4 = 9210
5
16 94 r = E LSB
0
16 5 r = 5 MSB
9410 = 5E16
Solution:
26
16 429 r = D (13) LSB
1
16 26 r = A (10) 42910 = 1AD16 = 1ADH
0
16 1 r =1 MSB
Example:
Convert the octal number 5E16 into its decimal equivalent.
5 E
161 160 5E 16 = 9410
Bit-Weighting
16 1 Factors
80 + 14 = 9410
Solution:
B 2 E
162 161 160
256 16 1
B2EH = 286210
2816 + 32 + 14 = 286210
0
80 + 10 = 9010 8 1 r = 1 MSB
5AH = 1328
© Dr. Manish K Pandey, Applied Data Science Lab,
1/10/2023 49
CQEDS, BIT Mesra
Example: Octal → Binary
Example:
Convert the octal number 1328 into its binary equivalent.
Solution:
First convert the hexadecimal number into binary by expanding the
hexadecimal digits into binary groups of (4).
A 6 16
A616 = 101001102
1010 0110
Convert the binary number into octal by grouping the binary bits into groups
of (3).
010100110 101001102 = 2468
© Dr. Manish K Pandey, Applied Data Science Lab,
1/10/2023
2 4 6 CQEDS, BIT Mesra
54
COMPUTER SOFTWARE
• Fundamentals of computer software
• Types of software
various operations, such as reading and processing data, storing results and
• Software refers to a set of computer programs that are required to enable the
1. System management programs are used for 1. Standard application programs that
managing both the hardware and software are designed for performing
systems. common application jobs.
2. System development programs used for 2. Unique application programs are
developing and executing application developed by the users themselves
software. to support their specific needs.
Language translators
© Dr. Manish K Pandey, Applied Data Science Lab,
1/10/2023 62
CQEDS, BIT Mesra
SYSTEM DEVELOPMENT PROGRAMS…
Working of Linker
© Dr. Manish K Pandey, Applied Data Science Lab,
1/10/2023 63
CQEDS, BIT Mesra
SYSTEM DEVELOPMENT PROGRAMS…
Debugger is the software that is used to detect the errors and bugs present in the
programs. The debugger locates the position of the errors in the program code with
the help of what is known as the Instruction Set Simulator (ISS) technique.
The debugger is divided into two types, namely, machine-level debugger and
symbolic debugger. The machine-level debugger debugs the object code of the
program and shows all the lines where bugs are detected.
On the other hand, the symbolic debugger debugs the original code, i.e., the high-
level language code of the program. It shows the position of the bug in the original
code of the program developed by the programmer.
• Spreadsheet
• Database Manager
• Desktop Publisher
• Web Browser
• The programs developed in these languages are not executed as quickly as the programs
developed in the machine language. This is because of the fact that the computer system needs
to convert these programs into machine language before executing them.
• The programs developed in these languages are not portable as these languages are machine-
dependent.
• The programmer of these languages needs to have a thorough knowledge of the internal
architecture of the CPU for developing a program.
• The assembly language programs, like the machine language programs, still result in poor
productivity.
1/10/2023
© Dr. Manish K Pandey, Applied Data Science Lab,
75
CQEDS, BIT Mesra
Third generation languages (3GL)
• It is easy to develop, learn and understand the programs.
• FORTRAN • The programs developed in these languages are highly
• ALGOL portable as compared to the programs developed in the
• BASIC first and second-generation programming languages.
Hence, we can also say that the third-generation
• COBOL
programming languages are machine-independent
• C/C++ programming languages.
• The programs written in these languages can be
• As compared to the assembly developed in very little time as compared to the first and
and the machine language second-generation programming languages. This is
programs, the programs written because of the fact that the third-generation
in the third generation programming languages are quite user-friendly and
programming languages are provide the necessary inbuilt tools required for
executed slowly by the computer developing an application.
system. • As the programs written in these languages are less
• The memory requirement of the prone to errors, they are easy to maintain.
programs written in these • The third-generation programming languages provide
programming languages is more more enhanced documentation and debugging
as compared to the programs techniques as compared to the first and the second
developed using assembly and generation programming languages.
machine languages.
1/10/2023
© Dr. Manish K Pandey, Applied Data Science Lab,
76
CQEDS, BIT Mesra
Fourth generation languages (4GL)
• PowerBuilder • The fourth-generation programming
• SQL languages are easier to learn and use as
• XBase++ compared to the third-generation
programming languages.
• CSS
• These programming languages require less
• ColdFusion time, cost, and effort to develop different
types of software applications.
• As compared to the programs
• These programming languages allow the
developed in the programming
efficient use of data by implementing various
languages of previous generations,
database concepts.
the programs developed in the 4GLs
• As compared to the third generation
are executed at a slower speed by the
programming languages, these languages
CPU.
required less number of instructions for
• As compared to the third generation
performing a specific task.
programming languages, the
• The programs developed in these languages
programs developed in these
are highly portable as compared to the
programming languages require more
programs developed in the languages of
space in the memory of the computer
other generations.
system.