Computer Systems: Architectures, Components, and Modularity

Overview and Learning Outcomes

  • Goal: The primary objective of this course section is to describe and model the modular nature of computer systems.
  • Key Concepts Covered:
    • Definition and nature of a Computer System.
    • Primary components of a computer system.
    • Classification and types of computer systems.
    • Basic operational cycles (Input, Process, Output, Storage).
    • The relationship and interaction between software and hardware.
    • Key computer system architectures (Von Neumann vs. Harvard).
    • Data storage hierarchies.
    • Emerging technologies in the computing field.
    • Introduction to modular design principles.

Introduction to Computing

  • What is a Computer? A computer is an electronic device designed to compute. It stores, processes, and retrieves data according to specific instructions to perform various tasks.
  • Purpose of Computers: They are designed to automate tasks and improve the speed and efficiency of complex operations.
  • Practical Example: A manual calculation such as 256×387256 \times 387 takes significant human effort, whereas a computer (like a calculator) performs it instantly.
  • Historical Evolution of Computing:
    • 1830s1830s - Analytical Engine: Conceptualized by Charles Babbage.
    • 19461946 - ENIAC: Developed by John Mauchly and J. Presper Eckert.
    • 19491949 - CSIRAC: Developed by CSIRO in Australia.
    • 19691969 - UNIX: Created by Ken Thompson and Dennis Ritchie.
    • 19761976 - Apple I: Created by Steve Jobs and Steve Wozniak.
    • 19851985 - Windows: Released by Microsoft (Bill Gates).
    • 20012001 - MAC OS (X): Released by Apple.
    • 20052005 - Android: Developed by Google.

Defining a Computer System

  • System Definition: A set of elements working together as parts of a mechanism or a complex whole.
  • Metaphor - The Railway System: To function, a railway system requires interconnected parts functioning together:
    • Trains
    • Tracks
    • Stations
    • Signals
    • Drivers
  • Computer System Definition: A set of interconnected components that work together to process, store, and manage data. It involves the integration of physical hardware and programmatic software.
  • Four Pillars of a Computer System:
    1. Hardware: The physical components of the machine.
    2. Software: The programs and operating systems that govern the hardware.
    3. Data: The information being processed by the system.
    4. Users (People): The individuals who operate and interact with the system.

Basic Operation of a Computer System

  • Input: Data is entered into the computer. Examples include:
    • Keyboard typing (textual data).
    • Mouse clicks (positional data).
    • Camera images (visual data).
    • Microphone sound (audio data).
  • Process: The Central Processing Unit (CPU) performs operations on the data. These operations include:
    • Calculations.
    • Sorting data.
    • Editing files.
    • Decision making (logical operations).
  • Output: The system returns results to the user. Examples include:
    • Monitor display (visual result).
    • Printed paper (physical result).
    • Speakers (audio result).
  • Secondary Storage: Long-term memory used to retain data. Examples include:
    • Hard drives (HDD).
    • Solid State Drives (SSD).
    • USB flash drives.

Components of a Computer System

  • Hardware Components:
    • Central Processing Unit (CPU): Known as the "brain" of the computer; executes instructions and performs calculations.
    • Memory (RAM): Primary storage for data currently in use.
    • Storage: Hard disks or SSDs for non-volatile data retention.
    • Input Devices: Tools for data entry (Keyboard, Mouse).
    • Output Devices: Tools for data presentation (Monitor, Printer).
  • Software Components:
    • System Software: The base layer that controls hardware (e.g., Windows, Linux, macOS).
    • Application Software: Programs designed for specific user tasks (e.g., Web Browsers, Word Processors).

Detailed Look at the CPU and Memory

  • CPU Internal Components:
    • ALU (Arithmetic Logic Unit): Responsible for executing mathematical operations and logical comparisons.
    • Control Unit (CU): Directs operations by interpreting instructions from memory and signaling other components.
  • Memory Classification:
    • Primary Memory (RAM - Random Access Memory):
      • Volatile: Data is lost when power is disconnected.
      • Function: Temporarily stores data/instructions the CPU is actively using.
    • Secondary Memory (HDD/SSD):
      • Non-Volatile: Data persists even when power is turned off.
      • Function: Long-term storage for software and personal files.
  • Memory Types Comparison:
    • RAM: Random Access Memory; Primary; Temporary/Volatile.
    • HDD: Hard Disk Drive; Secondary; Permanent/Non-Volatile.
    • SSD: Solid State Drive; Secondary; Permanent/Non-Volatile.

Classification and Types of Computer Systems

  • Personal Computers (PCs): Laptops and desktops used for individual tasks.
  • Servers: High-powered machines dedicated to managing network resources and providing services to other computers.
  • Embedded Systems: Specialized, single-purpose computers integrated into other devices like washing machines or smart appliances.
  • Supercomputers: Systems with extreme processing power used for complex simulations like weather forecasting and scientific research.
  • Mainframes: Large, reliable systems used by major organizations (like banks) for bulk data processing.
  • Quantum Computers: An emerging class of computers utilizing quantum mechanics for processing.

Computer System Architectures

  • Von Neumann Architecture: Features a single shared memory space for both data and instructions. This is the foundation for most modern computer designs.
  • Harvard Architecture: Utilizes separate memory units and pathways for data and instructions. This is commonly found in specialized processors.
  • Parallel Computing: Involves the use of multiple processors working simultaneously to execute operations faster.

Data Storage Hierarchy

  • Hierarchy levels (by proximity to CPU):
    1. Registers: The fastest storage units located inside the CPU.
    2. Cache (L1, L2, L3): High-speed memory that stores frequently used data; faster than RAM but smaller.
    3. Primary Storage: RAM (Random Access Memory) and ROM (Read-Only Memory).
    4. Secondary Storage: Hard Drives (HDD) and Solid State Drives (SSD).
    5. Tertiary Storage: Removable media like optical disks or tape drives.
    6. Cloud Storage: Data stored on remote online platforms.
  • Performance Note: Cache is the fastest type of storage among the general memory categories, followed by RAM, then SSD, then HDD.

Emerging Technologies

  • Quantum Computing: Uses quantum bits or "qubits." It has the potential to revolutionize artificial intelligence and cryptography.
  • Artificial Intelligence (AI): The development of machines capable of performing human-like tasks, such as language processing and image recognition.
  • Edge Computing: Entails processing data closer to the source (the "edge" of the network) to reduce latency.
  • Blockchain: A distributed ledger technology designed for secure transactions and cryptocurrencies.

Introduction to Modularity

  • Concept: Modularity is the design principle of breaking a large, complex system into smaller, self-contained units called "modules."
  • The LEGO Analogy: Just like LEGO blocks can be combined to build different structures, modules can be combined to form a complete system.
  • Benefits in Computing:
    • Flexibility: Modules can be swapped or updated.
    • Reusability: Modules can be used in different systems.
    • Maintenance: Easier to test and repair individual parts without affecting the whole system.

Questions & Discussion (Revision)

  • Q1: Difference between primary and secondary memory?
    • Primary memory (RAM) is temporary and volatile, storing data currently used by the CPU. Secondary memory (HDD/SSD) is permanent and non-volatile, storing data long-term.
  • Q2: Role of the Control Unit (CU) in the CPU?
    • The CU interprets instructions from memory and directs the ALU and memory on how to execute them.
  • Q3: Difference between system software and application software?
    • System software (e.g., Windows) manages hardware and provides a platform. Application software (e.g., MS Word) performs specific user tasks.
  • Q4: How do input, processing, storage, and output work together?
    • Input devices enter data; the CPU processes it; data is stored in RAM (temporarily) or SSD (permanently); results are shown via output devices.
  • Q5: Why is RAM called volatile?
    • Because it loses all its data when the power is turned off.
  • Q6: Component identification for typing an assignment in Word:
    • Input: Keyboard.
    • Processing: CPU.
    • Temporary storage: RAM.
    • Permanent storage: SSD or HDD.
    • Output: Monitor.
  • Q7: Von Neumann vs. Harvard architecture?
    • Von Neumann shares memory for data and instructions. Harvard uses separate memory for each, allowing simultaneous access to both.
  • Q8: Server vs. Personal Computer?
    • A PC is for individual use (browsing, documents). A server provides services to multiple users over a network and has higher power and reliability.
  • Q9: How does modularity improve flexibility/maintenance?
    • By dividing systems into independent modules, parts can be upgraded or fixed without redesigning the entire system.
  • Q10: Hardware vs. Software in one paragraph?
    • Hardware refers to physical components (CPU, RAM, monitor). Software refers to the digital programs and OS that tell the hardware what to do.
  • Q11: RAM vs. Cache memory?
    • RAM is larger and used for active tasks. Cache is smaller, much faster, and stores the most frequently accessed data for the CPU.
  • Q12: Why is secondary storage necessary if we have RAM?
    • Because RAM is volatile; secondary storage is needed to save files and software so they aren't lost when the computer shuts down.
  • Q13: Impact of fast CPU but very little RAM?
    • The system will likely freeze or slow down because the CPU cannot get enough data to process at once due to limited temporary memory.
  • Q14: Function of the ALU?
    • It performs mathematical operations (addition/subtraction) and logical operations (comparisons).
  • Q15: Why are embedded systems not for general-purpose computing?
    • They are designed for one specific task with limited hardware and cannot run multiple general applications like a PC.