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×387 takes significant human effort, whereas a computer (like a calculator) performs it instantly.
- Historical Evolution of Computing:
- 1830s - Analytical Engine: Conceptualized by Charles Babbage.
- 1946 - ENIAC: Developed by John Mauchly and J. Presper Eckert.
- 1949 - CSIRAC: Developed by CSIRO in Australia.
- 1969 - UNIX: Created by Ken Thompson and Dennis Ritchie.
- 1976 - Apple I: Created by Steve Jobs and Steve Wozniak.
- 1985 - Windows: Released by Microsoft (Bill Gates).
- 2001 - MAC OS (X): Released by Apple.
- 2005 - 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:
- Hardware: The physical components of the machine.
- Software: The programs and operating systems that govern the hardware.
- Data: The information being processed by the system.
- 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):
- Registers: The fastest storage units located inside the CPU.
- Cache (L1, L2, L3): High-speed memory that stores frequently used data; faster than RAM but smaller.
- Primary Storage: RAM (Random Access Memory) and ROM (Read-Only Memory).
- Secondary Storage: Hard Drives (HDD) and Solid State Drives (SSD).
- Tertiary Storage: Removable media like optical disks or tape drives.
- 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.