Computer Science Fundamentals: Introduction and Architecture

Fundamental Concepts of Computing

  • Definition of a Computer: A computer is an electronic machine that converts raw data into useful information. It is technically defined as a high-speed electronic digital data processing machine that accepts data and instructions as input, processes them based on the instructions, and produces results as output.
  • Etymology: The term "computer" is derived from the Latin word "Computere," which means to compute or calculate. Originally, the term was applied to humans who performed numerical calculations using mechanical calculators.
  • The Computing Process: The machine accepts data manipulation or conversion into a human-readable and meaningful format. Two types of inputs are required:
    • Basic raw data: The facts provided for processing.
    • Program: A set of instructions containing the methodology to process the data.

Operating Principles and Functions

  • Input: The data and instructions provided to the computer to perform a specific task. Users enter data via devices such as keyboards, touch screens, or mice. A computer cannot perform tasks or produce results without input.
  • Processing: This refers to actions taken on data based on instructions. It involves converting raw data into meaningful results. The Central Processing Unit (CPU) is the specific component responsible for this task.
  • Storage: This component is responsible for storing data, instructions, results, files, and folders for daily or future use. Storage can be temporary or permanent. Examples include:
    • Random Access Memory (RAM).
    • Read Only Memory (ROM).
    • Hard Disk.
    • Floppy Disk.
  • Output: The final result produced by the computer after calculations. Common output devices include monitors, printers, projectors, and speakers. The monitor is the most common device.

Major Components of a Computer System

  • Hardware: The physical parts of the computer that can be touched. These are electronic/digital devices like the CPU, monitor, and keyboard.
  • Software: A set of electronic instructions that make the computer perform a task. It can be categorized as system software or application software (helping users do individual tasks).
  • People: The users who operate the computer.
  • Data: Raw facts consisting of letters, numbers, sounds, images, or videos. Data is organized into named sets called "Files."

Characteristics of Computers

  • Speed: Computers perform calculations at a high velocity. While a human might take 506050-60 seconds to multiply two large numbers (e.g., 1009×5671009 \times 567), a modern computer can perform approximately 33 crore (30,000,00030,000,000) such calculations in one minute. A medium-sized computer executes over 1,000,0001,000,000 instructions per second.
    • Time Units:
      • Millisecond (ms): 10310^{-3} of a second.
      • Microsecond (μ\mus): 10610^{-6} of a second.
      • Nanosecond (ns): 10910^{-9} of a second.
      • Picosecond (ps): 101210^{-12} of a second.
    • Instruction Measures:
      • KIPS: Kilo Instructions Per Second.
      • MIPS: Million Instructions Per Second.
  • Storage Capacity: Measured in bits and bytes. Modern computers store data in Terabytes (TB), Petabytes (PB), and Exabytes (EB).
    • Storage Units Table:
      • 1Bit1\,\text{Bit}: 00 or 11
      • 1Nibble1\,\text{Nibble}: 4Bits4\,\text{Bits}
      • 1Byte1\,\text{Byte}: 8Bits8\,\text{Bits}
      • 1Kilo Byte (KB)1\,\text{Kilo Byte (KB)}: 1024Bytes1024\,\text{Bytes}
      • 1Mega Byte (MB)1\,\text{Mega Byte (MB)}: 1024KB1024\,\text{KB}
      • 1Giga Byte (GB)1\,\text{Giga Byte (GB)}: 1024MB1024\,\text{MB}
      • 1Tera Byte (TB)1\,\text{Tera Byte (TB)}: 1024GB1024\,\text{GB}
      • 1Peta Byte (PB)1\,\text{Peta Byte (PB)}: 1024TB1024\,\text{TB}
      • 1Exa Byte (EB)1\,\text{Exa Byte (EB)}: 1024PB1024\,\text{PB}
      • 1Zetta Byte (ZB)1\,\text{Zetta Byte (ZB)}: 1024EB1024\,\text{EB}
      • 1Yotta Byte (YB)1\,\text{Yotta Byte (YB)}: 1024ZB1024\,\text{ZB}
  • Accuracy: Calculation results are tremendously accurate. If the input data and instructions are correct, the output will be correct. Errors caused by incorrect input are known as GIGO (Garbage In, Garbage Out).
  • Reliability: Components have a high life expectancy. Computers do not make errors on their own; they are as reliable as the data and instructions provided.
  • Diligence: The ability to work for long hours without getting tired, bored, or losing accuracy/speed.
  • Versatility: The ability to perform multiple tasks with different characteristics (audio-visual, graphics, etc.) and communicate with other systems.
  • Electronic: Computers require electricity; components like transistors and RAM are electrical devices housing vast numbers of electronic circuits.
  • Non-intelligent: A machine has no intelligence of its own; it cannot rectify even simple errors without human instruction.
  • Automatic: Once a process is initiated and the program is stored, it proceeds without manual intervention at each step.

Advantages and Disadvantages

  • Primary Advantages:
    • Higher accuracy and reliability than humans.
    • Work in nanoseconds/picoseconds.
    • Effective for repeated jobs and simulations of dangerous tasks.
    • Versatility and tele-culture capabilities.
    • Impartiality (unaffected by racial or cultural bias).
  • Primary Disadvantages:
    • High cost in developing countries.
    • Danger of electric shock and health issues (vision impairment).
    • Heavily depends on electricity and stored programs.
    • Incompatibility between different brands of software.
    • Potential for use in illegal cybercrime.
    • Inability to distinguish between "good" and "bad" input.

Basic Computing Terminology

  • Hardware: Physical components (Printer, Modem, Mouse).
  • Software: Programs that make hardware work (MS-Word, C++).
  • Program: A sequence of instructions executed by the computer.
  • Command: An instruction issued by a user that causes an action.
  • Information: Processed data that gives complete meaning to users (text, audio, animation).
  • Memory: Place where information is retained. Includes RAM (Volatile, read/write) and ROM (Non-volatile, read-only).
  • Firmware: Programs permanently written into ROM by manufacturers.

Application Areas of Computers

  • E-Governance: Use of ICT to enable efficient, cost-effective, and accountable government services and public access to information.
  • Business and Office: Maintaining employee records, preparing pay bills, and checking stock items automatically.
  • Banking System: Handling transactions, updating passbooks, ledger maintenance, and online banking from home terminals.
  • Education: Slide show presentations, teaching without losing temper, and allowing students to learn at their own pace.
  • Medical Science: Monitoring patients (alarm pulse/breathing), diagnosing illness, and aiding paralyzed individuals using sensors or LASER-controlled artificial limbs.
  • Intelligent Machines (Robotics): Robots are used for monotonous or high-precision tasks, sensing physical quantities like temperature/humidity using the sense of touch and smell.
  • Industry: Computerizing assembly lines, quality control tests, and dangerous jobs like welding or cutting steel.
  • Communication: Transferring audio, video, and text across continents cheaply using modems and telephones.
  • Weather Forecasting: Analyzing wind direction, cloud structures, and satellite images to make accurate reports.
  • Decision Making: Accumulating and studying huge amounts of past data to eliminate confusion in organizations.
  • Recording and Film Making: Music editing (pitch, loudness, mixing) and video stunts/animation using specialized software.

Evolution of Computer Generations

First Generation (194519551945-1955)
  • Main Technology: Vacuum Tubes (first developed by Lee De Forest in 19081908).
  • Input/Output: Punched cards and paper tape; output on printouts.
  • Memory: Magnetic core primary memory; Electrostatic tubes, magnetic tape secondary storage.
  • Speed: Milliseconds.
  • Examples: ENIAC, EDVAC, EDSAC, UNIVAC-I, IBM 650.
  • Cons: Enormous size (filling rooms), huge heat emission, frequent hardware failure (bulky, not portable).
Second Generation (195519651955-1965)
  • Main Technology: Transistors (developed by William Shockley, John Bardeen, and Walter Brattain in 19471947).
  • Languages: Symbolic or assembly languages; early FORTRAN and COBOL.
  • Speed: Microseconds.
  • Examples: IBM 1620, IBM 1401, CDC 3600.
  • Pros: Smaller, more reliable, less heat; first to store instructions in memory.
Third Generation (196519801965-1980)
  • Main Technology: Integrated Circuits (ICs).
  • Concept: Multiprogramming was introduced (sharing CPU time effectively between jobs in main memory).
  • Speed: Nanoseconds.
  • Pros: General purpose, portable, less power, easier commercial production.
Fourth Generation (19801980 Onwards)
  • Main Technology: LSI (Large Scale Integration - 30,000+30,000+ components) and VLSI (Very Large Scale Integration).
  • Advancements: Development of Graphical User Interface (GUI), mouse, and handheld devices.
  • ULSI: Ultra Large Scale Integration (over 1,000,0001,000,000 electronic components per IC).
  • Pros: Negligible heat, hardware failure is rare, cheapest generation.
Fifth Generation (Present and Beyond)
  • Technologies: Biochips, Artificial Intelligence (AI), parallel processing, and superconductor technology.
  • Goal: Natural language interaction, knowledge-based problem solving, and machine intelligence.
  • Speed: Expected to be at least 100100 times faster than current systems.

Classification of Computers by Size

  1. Supercomputer:
    • The most powerful and fastest (billionsbillions of instructions per second).
    • Computing capability equal to 40,00040,000 micro-computers.
    • Cost: 152015-20 million.
    • Features: Fault-tolerant (recovers automatically). Uses: Weather forecasting, nuclear research, DNA study.
    • Examples: CRAY X-MP/24, PARAM, ANURAG.
  2. Mainframe Computer:
    • Large scale data processing; accommodates 100+100+ users simultaneously.
    • Occupies approximately 1,0001,000 sq ft.
    • Uses: Banks, insurance companies, airline reservations.
    • Examples: IBM 1401, ICL 39.
  3. Minicomputers:
    • "Midrange" computers; released in the 1960s1960s.
    • Supports about 5050 terminals; occupies 100100 sq ft.
    • Examples: VAX 7500, PDP series.
  4. Micro Computer:
    • Small and inexpensive, using a microprocessor as the CPU.
    • Includes Desktops, Laptops (Notebooks), Tablets, and Palmtop/Handhelds (PDAs).
    • Workstations: High-performance microcomputers for professional technical work (3D modeling, engineering).

Mobile Computing

  • Definition: Use of technology while moving (in transit).
  • Components: Mobile hardware, software, and communication.
  • Features: Limited processing/storage, touch screen/virtual keyboard, GPS, wireless connectivity (Wi-Fi, Bluetooth).
  • Operating Systems: Android, iOS, Windows Mobile, Palm OS.
  • Constraints: Security concerns, high power consumption (battery reliant), and potential health risks from extensive use.

Computer Architecture and CPU Structure

  • Architecture: The framework and functional description of the various parts focusing on how the CPU performs internally and accesses memory.
  • Central Processing Unit (CPU): The brain of the computer.
    • ALU (Arithmetic Logic Unit): Performs math (+,,×,÷+, -, \times, \div), logical operations (AND, OR, NOT), and act as a gateway between primary and secondary memory.
    • Control Unit (CU): The nerve system; fetches, decodes, and interprets instructions; issues control signals.
    • Register Array: High-speed temporary storage within the CPU.
      • Instruction Register (IR): Holds current instructions.
      • Program Counter (PC): Holds address of the next instruction.
      • Memory Address Register (MAR): Holds address of active memory location.
      • Accumulator: Stores results of arithmetic operations.

Memory Systems

Primary Memory (Main Memory)
  • RAM (Random Access Memory): Volatile.
    • SRAM (Static): Uses flip-flops; faster, more expensive; used for Cache.
    • DRAM (Dynamic): Uses capacitors/transistors; needs refreshing; used for main RAM.
  • ROM (Read Only Memory): Non-volatile.
    • PROM: Programmable once.
    • EPROM: Erasable by UV light.
    • EEPROM: Electrically erasable (4104-10 ms; up to 10,00010,000 times).
  • Cache Memory: Small, high-speed memory near CPU to reduce access time. Levels: L1 (Internal), L2 (on chip), L3 (Shared), L4 (Separate chip).
Secondary Memory (Auxiliary Memory)
  • Magnetic Tapes: Sequential access; high durability for archives.
  • Magnetic Disks: Random access (Floppy Disk: 1.44MB1.44\,\text{MB}; Hard Disk: Platters spinning at 5,40015,000RPM5,400-15,000\,\text{RPM}).
  • Optical Disks: Use lasers.
    • CD: 700MB700\,\text{MB}.
    • DVD: 4.7GB4.7\,\text{GB} to 17GB17\,\text{GB}.
    • Blu-ray (BD): 25GB25\,\text{GB} to 128GB128\,\text{GB} (uses blue-violet laser).
  • Flash Memory: Non-volatile solid-state memory (USB Pen Drives, SD cards, SSDs).

Hardware Interfaces and Ports

  • Parallel Port: Sends multiple bits simultaneously; used for older printers.
  • Serial Port: One bit at a time (e.g., RS-232); used for modems.
  • USB (Universal Serial Bus): Hot-swappable; supports power and data; currently up to version 4.04.0.
  • IEEE 1394 (FireWire): High-speed isochronous transfer for audio/video.
  • SCSI: Connects up to 1616 devices on one bus; used for servers.
  • HDMI: Transmits uncompressed digital video/audio (supports 4K/8K).
  • Expansion Slots: Motherboard slots (PCI, PCIe, AGP) for adding functionality via cards.