Depending on its usage, software may be generic or specific. Generic software is a software that can perform multiple tasks in different scenarios without being modified. For example, a word processor software can be used by anyone to create different types of documents like report, whitepaper, training material, etc. Specific software is a software for a particular application, like railway reservation system, weather forecasting, etc. Let us look at some examples of domain specific tools.
School Management System
School management system handles the diverse activities of a school like examination, attendance, admission, students’ fees, time table, teachers’ training, etc.
Inventory Management
Managing multiple activities like purchase, sales, order, delivery, stock maintenance, etc. associated with raw or processed goods in any business is called inventory management. The inventory management software ensures that stocks are never below specified limits and purchase/deliveries are done in time.
Payroll Software
Payroll software handles complete salary calculations of employees, taking care of leave, bonus, loans, etc. Payroll software is usually a component of HR (human resource) management software in mid-sized to big organizations.
Financial Accounting
Financial management software keeps an electronic record of all financial transactions of the organization. It has many functional heads like account receivables, accounts payable, loans, payroll, etc.
Restaurant Management
Restaurant management software helps restaurant managers in keeping track of inventory levels, daily orders, customer management, employee scheduling, table bookings, etc.
Railway Reservation System
Railway reservation system is a software that handles multiple modules like train routes, train management, seat booking, food booking, train maintenance, train status, travel packages, etc.
Weather Forecasting System
Weather forecasting system is a real-time software that predicts weather of a place by collecting copious amount of live data about atmospheric temperature, humidity, wind level, etc. It is used to predict major disasters like earthquakes, hurricanes, tsunamis, etc.
The technique to represent and work with numbers is called number system. Decimal number system is the most common number system. Other popular number systems include binary number system, octal number system, hexadecimal number system, etc.
Decimal Number System
Decimal number system is a base 10 number system having 10 digits from 0 to 9. This means that any numerical quantity can be represented using these 10 digits. Decimal number system is also a positional value system. This means that the value of digits will depend on its position. Let us take an example to understand this.
Say we have three numbers – 734, 971 and 207. The value of 7 in all three numbers is different−
-
In 734, value of 7 is 7 hundreds or 700 or 7 × 100 or 7 × 102
-
In 971, value of 7 is 7 tens or 70 or 7 × 10 or 7 × 101
-
In 207, value 0f 7 is 7 units or 7 or 7 × 1 or 7 × 100
In digital systems, instructions are given through electric signals; variation is done by varying the voltage of the signal. Having 10 different voltages to implement decimal number system in digital equipment is difficult. So, many number systems that are easier to implement digitally have been developed. Let’s look at them in detail.
Binary Number System
The easiest way to vary instructions through electric signals is two-state system – on and off. On is represented as 1 and off as 0, though 0 is not actually no signal but signal at a lower voltage. The number system having just these two digits – 0 and 1 – is called binary number system.
Each binary digit is also called a bit. Binary number system is also positional value system, where each digit has a value expressed in powers of 2, as displayed here.
In any binary number, the rightmost digit is called least significant bit (LSB) and leftmost digit is called most significant bit (MSB).
And decimal equivalent of this number is sum of product of each digit with its positional value.
110102 = 1×24 + 1×23 + 0×22 + 1×21 + 0×20
= 16 + 8 + 0 + 2 + 0
= 2610
Computer memory is measured in terms of how many bits it can store. Here is a chart for memory capacity conversion.
-
1 byte (B) = 8 bits
-
1 Kilobytes (KB) = 1024 bytes
-
1 Megabyte (MB) = 1024 KB
-
1 Gigabyte (GB) = 1024 MB
-
1 Terabyte (TB) = 1024 GB
-
1 Exabyte (EB) = 1024 PB
-
1 Zettabyte = 1024 EB
-
1 Yottabyte (YB) = 1024 ZB
Octal Number System
Octal number system has eight digits – 0, 1, 2, 3, 4, 5, 6 and 7. Octal number system is also a positional value system with where each digit has its value expressed in powers of 8, as shown here −
Decimal equivalent of any octal number is sum of product of each digit with its positional value.
7268 = 7×82 + 2×81 + 6×80
= 448 + 16 + 6
= 47010
Hexadecimal Number System
Octal number system has 16 symbols – 0 to 9 and A to F where A is equal to 10, B is equal to 11 and so on till F. Hexadecimal number system is also a positional value system with where each digit has its value expressed in powers of 16, as shown here −
Decimal equivalent of any hexadecimal number is sum of product of each digit with its positional value.
27FB16 = 2×163 + 7×162 + 15×161 + 10×160
= 8192 + 1792 + 240 +10
= 1023410
Number System Relationship
The following table depicts the relationship between decimal, binary, octal and hexadecimal number systems.
ASCII
The following table depicts the relationship between decimal, binary, octal and hexadecimal number systems.
Besides numerical data, computer must be able to handle alphabets, punctuation marks, mathematical operators, special symbols, etc. that form the complete character set of English language. The complete set of characters or symbols are called alphanumeric codes. The complete alphanumeric code typically includes −
-
26 upper case letters
-
26 lower case letters
-
10 digits
-
7 punctuation marks
-
20 to 40 special characters
Now a computer understands only numeric values, whatever the number system used. So all characters must have a numeric equivalent called the alphanumeric code. The most widely used alphanumeric code is American Standard Code for Information Interchange (ASCII). ASCII is a 7-bit code that has 128 (27) possible codes.
ISCII stands for Indian Script Code for Information Interchange. IISCII was developed to support Indian languages on computer. Language supported by IISCI include Devanagari, Tamil, Bangla, Gujarati, Gurmukhi, Tamil, Telugu, etc. IISCI is mostly used by government departments and before it could catch on, a new universal encoding standard called Unicode was introduced.
Unicode
Unicode is an international coding system designed to be used with different language scripts. Each character or symbol is assigned a unique numeric value, largely within the framework of ASCII. Earlier, each script had its own encoding system, which could conflict with each other.
Microprocessor
Microprocessor is the brain of computer, which does all the work. It is a computer processor that incorporates all the functions of CPU (Central Processing Unit) on a single IC (Integrated Circuit) or at the most a few ICs. Microprocessors were first introduced in early 1970s. 4004 was the first general purpose microprocessor used by Intel in building personal computers. Arrival of low cost general purpose microprocessors has been instrumental in development of modern society the way it has.
Microprocessors Characteristics
Microprocessors are multipurpose devices that can be designed for generic or specialized functions. The microprocessors of laptops and smartphones are general purpose whereas ones designed for graphical processing or machine vision are specialized ones. There are some characteristics that are common to all microprocessors.
These are the most important defining characteristics of a microprocessor −
-
Clock speed
-
Instruction set
-
Word size
Microprocessor Components
Compared to the first microprocessors, today’s processors are very small but still they have these basic parts right from the first model −
-
CPU
-
Bus
-
Memory
CPU
CPU is fabricated as a very large scale integrated circuit (VLSI) and has these parts −
-
Instruction register − It holds the instruction to be executed.
-
Decoder − It decodes (converts to machine level language) the instruction and sends to the ALU (Arithmetic Logic Unit).
-
ALU − It has necessary circuits to perform arithmetic, logical, memory, register and program sequencing operations.
-
Register − It holds intermediate results obtained during program processing. Registers are used for holding such results rather than RAM because accessing registers is almost 10 times faster than accessing RAM.
Bus
Connection lines used to connect the internal parts of the microprocessor chip is called bus. There are three types of buses in a microprocessor −
-
Data Bus − Lines that carry data to and from memory are called data bus. It is a bidirectional bus with width equal to word length of the microprocessor.
-
Address Bus − It is a unidirectional responsible for carrying address of a memory location or I/O port from CPU to memory or I/O port.
-
Control Bus − Lines that carry control signals like clock signals, interrupt signal or ready signal are called control bus. They are bidirectional. Signal that denotes that a device is ready for processing is called ready signal. Signal that indicates to a device to interrupt its process is called an interrupt signal.
Memory
Microprocessor has two types of memory
-
RAM − Random Access Memory is volatile memory that gets erased when power is switched off. All data and instructions are stored in RAM.
-
ROM − Read Only Memory is non-volatile memory whose data remains intact even after power is switched off. Microprocessor can read from it any time it wants but cannot write to it. It is preprogrammed with most essential data like booting sequence by the manufacturer.
The first microprocessor introduced in 1971 was a 4-bit microprocessor with 4m5KB memory and had a set of 45 instructions. In the past 5 decades microprocessor speed has doubled every two years, as predicted by Gordon Moore, Intel co-founder. Current microprocessors can access 64 GB memory. Depending on width of data microprocessors can process, they are of these categories−
-
8-bit
-
16-bit
-
32-bit
-
64-bit
Size of instruction set is another important consideration while categorizing microprocessors. Initially, microprocessors had very small instructions sets because complex hardware was expensive as well as difficult to build.
As technology developed to overcome these issues, more and more complex instructions were added to increase functionality of the microprocessor. However, soon it was realized that having large instruction sets was counterproductive as many instructions that were rarely used sat idle on precious memory space. So the old school of thought that supported smaller instruction sets gained popularity.
Let us learn more about the two types of microprocessors based on their instruction set.
RISC
RISC stands for Reduced Instruction Set Computers. It has a small set of highly optimized instructions. Complex instruction are also implemented using simpler instructions, reducing the size of instruction set. The designing philosophy for RISC incorporates these salient points −
-
Number of instructions should be minimum.
-
Instructions should be of same length.
-
Simple addressing modes should be used
-
Reduce memory references to retrieve operands by adding registers
Some of the techniques used by RISC architecture include −
-
Pipelining− A sequence of instructions is fetched even if it means overlapping of instructions in fetching and execution.
-
Single cycle execution − Most of RISC instructions take one CPU cycle to execute.
Examples of RISC processors are Intel P6, Pentium4, AMD K6 and K7, etc.
CISC
CISC stands for Complex Instruction Set Computers. It supports hundreds of instructions. Computers supporting CISC can accomplish wide variety of tasks, making them ideal for personal computers.
These are some characteristics of CISC architecture −
-
Larger set of instructions
-
Instructions are of variable length
-
Complex addressing modes
-
Instructions take more than one clock cycle
-
Work well with simpler compilers
Examples of CISC processors are Intel 386 & 486, Pentium, Pentium II and III, Motorola 68000, etc.
EPIC
EPIC stands for Explicitly Parallel Instruction Computing. It is a computer architecture that is a cross between RISC and CISC, trying to provide the best of both.
Its important features include −
-
Parallel instructions rather than fixed width
-
Mechanism to communication compiler’s execution plan to hardware
-
Programs must have sequential semantics
Some EPIC processors are Intel IA-64, Itanium, etc.
Input/Output Ports
A connection point that acts as interface between the computer and external devices like mouse, printer, modem, etc. is called port. Ports are of two types −
-
Internal port − It connects the motherboard to internal devices like hard disk drive, CD drive, internal modem, etc.
-
External port − It connects the motherboard to external devices like modem, mouse, printer, flash drives, etc.
Serial Port
Serial ports transmit data sequentially one bit at a time. So they need only one wire to transmit 8 bits. However it also makes them slower. Serial ports are usually 9-pin or 25-pin male connectors. They are also known as COM (communication) ports or RS323C ports.
Parallel Port
Parallel ports can send or receive 8 bits or 1 byte at a time. Parallel ports come in form of 25-pin female pins and are used to connect printer, scanner, external hard disk drive, etc.
USB Port
USB stands for Universal Serial Bus. It is the industry standard for short distance digital data connection. USB port is a standardized port to connect a variety of devices like printer, camera, keyboard, speaker, etc.
PS-2 Port
PS/2 stands for Personal System/2. It is a female 6-pin port standard that connects to the male mini-DIN cable. PS/2 was introduced by IBM to connect mouse and keyboard to personal computers. This port is now mostly obsolete, though some systems compatible with IBM may have this port.
Infrared Port
Infrared port is a port that enables wireless exchange of data within a radius of 10m. Two devices that have infrared ports are placed facing each other so that beams of infrared lights can be used to share data.
Bluetooth Port
Bluetooth is a telecommunication specification that facilitates wireless connection between phones, computers and other digital devices over short range wireless connection. Bluetooth port enables synchronization between Bluetooth-enabled devices.
There are two types of Bluetooth ports −
-
Incoming − It is used to receive connection from Bluetooth devices.
-
Outgoing − It is used to request connection to other Bluetooth devices.
FireWire Port
FireWire is Apple Computer’s interface standard for enabling high speed communication using serial bus. It is also called IEEE 1394 and used mostly for audio and video devices like digital camcorders.