Fundamentals of Computer Systems & Architecture

Computer Definition & Core Components

  • Computer System: An electronic device that accepts data input, processes it using instructions, and outputs results.

  • Central Processing Unit (CPU) Components:

    • Arithmetic Logic Unit (ALU): Performs arithmetic and logical operations.

    • Control Unit (CU): Manages operations and controls system signal flow.

    • Storage Unit: Holds programs and operational data.

    • Input/Output Unit: Facilitates data exchange with external devices and users.

  • Key System Characteristics:

    • Speed: Measured in MegaHertz (MHz) and GigaHertz (GHz); executes millions of instructions per second.

    • Diligence & Accuracy: Operates continuously without fatigue; maintains high precision with low error rates (errors stem from incorrect input).

    • Memory & Versatility: Stores records with precision; executes multiple processes simultaneously.

Generations of Computers

  • First Generation (1940 – 1956):

    • Technology: Vacuum tubes for logic/memory; magnetic drums and magnetic tapes for main storage.

    • Interface: Machine language programming; punched cards and paper tapes for input/output.

    • Examples: IBM 650, IBM 701, ENIAC, UNIVAC1.

  • Second Generation (1957 – 1963):

    • Technology: Transistors and magnetic cores; smaller size, lower power usage, reduced heat output.

    • Interface: Assembly language and machine language; magnetic tapes/disks and punched cards.

    • Examples: PDP-8, IBM 1400 series, IBM 7090, IBM 7094, UNIVAC 1107, CDC 3600.

  • Third Generation (1964 – 1971):

    • Technology: Integrated Circuits (ICs) invented by Jack Kilby, combining transistors, resistors, and capacitors.

    • Interface: High-level programming languages; keyboards, monitors, printers, and magnetic storage.

    • Examples: IBM 360, IBM 370, PDP-11, NCR 395, B6500, UNIVAC 1108.

  • Fourth Generation (1972 – Present):

    • Technology: Microprocessors built using Very Large Scale Integration (VLSI) containing thousands of ICs; semiconductor memory (RAM, ROM).

    • Interface: Development of Personal Computers (PCs) led by IBM; optical scanning and pointing devices.

    • Examples: IBM PC, STAR 1000, APPLE II, Apple Macintosh, Alter 8800.

  • Fifth Generation (Present – Future):

    • Technology: Ultra Large-Scale Integration (ULSI) with millions of transistors; parallel processing across multiple microprocessors.

    • Features: Driven by Artificial Intelligence (AI) software; supports natural language processing, touchscreens, trackpads, and speech recognition.

    • Examples: Desktops, laptops, tablets, smartphones.

Von Neumann Architecture

  • Fundamental Design: Introduced by John Von Neumann in 1945 for stored-program computers, sharing unified memory space for both programs and data.

  • CPU Registers & Units:

    • Control Unit (CU): Controls data processing flow and internal signals.

    • Arithmetic Logic Unit (ALU): Performs calculations and logical operations.

    • Accumulator (ACC): Stores temporary ALU output.

    • Program Counter (PC): Holds the address of the next instruction to execute.

    • Memory Address Register (MAR): Holds memory addresses for read/write operations.

    • Memory Data Register (MDR): Temporarily stores data being moved to/from memory.

    • Current Instruction Register (CIR): Holds the instruction currently being executed.

    • Instruction Buffer Register (IBR): Temporarily holds queued instructions.

  • System Buses: Address Bus (carries location addresses), Data Bus (transfers actual data), and Control Bus (transfers control commands).

Von Neumann Architecture Diagram

Hardware, Software, & Firmware

  • Hardware: Physical components of a computer (e.g., Keyboard with ~104 keys, Mouse, Monitor, Printer, Scanner, Motherboard, Power Supply).

  • Storage Media:

    • CD (Compact Disc): 600MB700MB600\,\text{MB} - 700\,\text{MB} capacity (CD-ROM, CD-R, CD-RW).

    • DVD (Digital Video/Versatile Disc): Up to 17GB17\,\text{GB} capacity (DVD-ROM, DVD-R/RW, DVD-RAM).

  • Software: Collections of programs, data, and procedures enabling tasks and user interaction (System Software and Application Software).

  • Firmware: Permanent low-level program instructions installed in hardware memory (e.g., BIOS, EFI, EPROM) during manufacturing to operate physical components.

Number Systems & Storage Units

  • Number System Bases:

    • Binary: Base 2 (Digits: 0, 1)

    • Octal: Base 8 (Digits: 0 to 7)

    • Decimal: Base 10 (Digits: 0 to 9)

    • Hexadecimal: Base 16 (Digits: 0 to 9, A to F)

  • Data Storage Equivalencies:

    • 1Byte=8Bits1\,\text{Byte} = 8\,\text{Bits}

    • 1024Bytes=1Kilobyte (KB)1024\,\text{Bytes} = 1\,\text{Kilobyte (KB)}

    • 1024Kilobytes=1Megabyte (MB)1024\,\text{Kilobytes} = 1\,\text{Megabyte (MB)}

    • 1024Megabytes=1Gigabyte (GB)1024\,\text{Megabytes} = 1\,\text{Gigabyte (GB)}

    • 1024Gigabytes=1Terabyte (TB)1024\,\text{Gigabytes} = 1\,\text{Terabyte (TB)}

    • 1024Terabytes=1Petabyte (PB)1024\,\text{Terabytes} = 1\,\text{Petabyte (PB)}

    • 1024Petabytes=1Exabyte (EB)1024\,\text{Petabytes} = 1\,\text{Exabyte (EB)}

    • 1024Exabytes=1Zettabyte (ZB)1024\,\text{Exabytes} = 1\,\text{Zettabyte (ZB)}

    • 1024Zettabytes=1Yottabyte (YB)1024\,\text{Zettabytes} = 1\,\text{Yottabyte (YB)}

Character Text Codes

  • EBCDIC (Extended Binary Coded Decimal Interchange Code): 8-bit character encoding created by IBM in the early 1960s for mainframe systems (e.g., System/360).

  • ASCII (American Standard Code for Information Interchange): 7-bit character encoding standard introduced in 1963 for telecommunications and alphanumeric data.

  • Extended ASCII: 8-bit character set extending standard ASCII.

  • Unicode: Universal character encoding standard where every character has a unique 4- to 6-digit hexadecimal code point (e.g., 'A' is U+0041); fully compatible with the 7-bit ASCII subset. Uses formats like UTF-8, UTF-16, and UTF-32.


Computer Definition & Core Components
  • Computer System: An electronic device that accepts data input, processes it using instructions, and outputs results. Functional systems integrate both physical hardware and instructions via software.

  • Central Processing Unit (CPU) Components:

    • Arithmetic Logic Unit (ALU): Performs arithmetic calculations and logical operations.

    • Control Unit (CU): Manages computer operations, directs data flow, and controls system processor signals.

    • Storage Unit: Holds program statements, operational data, and instruction memory.

    • Input/Output Unit: Facilitates and manages data exchange between external devices and users.

  • Key System Characteristics:

    • Speed: Measured in MegaHertz (MHz\text{MHz}) and GigaHertz (GHz\text{GHz}); executes millions of instructions per second faster than human calculation.

    • Diligence & Accuracy: Operates continuously without fatigue; maintains high precision with low error rates (errors stem from incorrect user input or GIGO).

    • Reliability & Automation: Produces consistent results and performs automatic operations through programmed instructions, reducing manual intervention.

    • Memory & Versatility: Stores millions of records with precision across primary and secondary storage; executes multiple processes simultaneously (e.g., creating a document while listening to music).

Generations of Computers
  • First Generation (1940 – 1956):

    • Technology: Vacuum tubes for logic/circuitry and CPU memory; magnetic drums and magnetic tapes for main memory storage.

    • Interface & Structure: Machine language (low-level binary) programming; punched cards and paper tapes for input/output; huge physical footprint with slow execution speed.

    • Examples: IBM 650, IBM 701, ENIAC, UNIVAC1.

  • Second Generation (1957 – 1963):

    • Technology: Transistors and magnetic cores; reduced physical size, lower power usage, and decreased heat generation.

    • Interface: Assembly language alongside machine language; magnetic tapes/disks for storage; punched cards for input/output.

    • Examples: PDP-8, IBM 1400 series, IBM 7090, IBM 7094, UNIVAC 1107, CDC 3600.

  • Third Generation (1964 – 1971):

    • Technology: Integrated Circuits (ICs) invented by Jack Kilby, combining multiple transistors, resistors, and capacitors on silicon chips for greater efficiency and reliability.

    • Interface: High-level programming languages; keyboards, monitors, printers, and large magnetic core/disk storage.

    • Examples: IBM 360, IBM 370, PDP-11, NCR 395, B6500, UNIVAC 1108.

  • Fourth Generation (1972 – Present):

    • Technology: Microprocessors built using Very Large Scale Integration (VLSI), placing thousands of ICs on a single microchip; semiconductor memory (RAM\text{RAM}, ROM\text{ROM}).

    • Interface: Mass development of Personal Computers (PCs) led by IBM; introduction of optical scanning and pointing devices.

    • Examples: IBM PC, STAR 1000, APPLE II, Apple Macintosh, Alter 8800.

  • Fifth Generation (Present – Future):

    • Technology: Ultra Large-Scale Integration (ULSI) containing millions of transistors on a single chip; parallel processing using multiple microprocessors simultaneously.

    • Features: Driven by Artificial Intelligence (AI) software to emulate human thinking; supports natural language processing, trackpads, touchscreens, speech recognition, and compact portability.

    • Examples: Desktops, laptops, tablets, smartphones.

Von Neumann Architecture
  • Fundamental Design: Introduced by John Von Neumann in 1945 as a model for stored-program computers where both programs and data share a unified memory space, allowing easy reprogramming compared to fixed-program computers (e.g., non-reprogrammable calculators).

  • CPU Registers & Units:

    • Control Unit (CU): Directs data processing flow and processor control signals.

    • Arithmetic Logic Unit (ALU): Performs mathematical calculations and logical comparisons.

    • Accumulator (ACC): High-speed register storing temporary output from the ALU.

    • Program Counter (PC): Tracks the memory address of the next instruction to execute.

    • Memory Address Register (MAR): Holds memory locations for data fetching, read, and write operations.

    • Memory Data Register (MDR): Temporarily stores data being transferred to or from memory.

    • Current Instruction Register (CIR): Holds the most recent instruction being executed.

    • Instruction Buffer Register (IBR): Temporarily stores queued instructions not immediately executed.

  • System Buses:

    • Address Bus: Carries specific memory location addresses for data transfers.

    • Data Bus: Transfers actual data between processor, memory, and I/O devices.

    • Control Bus: Manages system coordination by transmitting operational control signals.


Von Neumann Architecture Diagram
Hardware, Software, & Firmware
  • Hardware: Physical, tangible entities that constitute the computer system.

    • Input Devices: Keyboard (approx. 104104 keys), Mouse, Scanner, Trackball, Light Pen (for CRT screens), Microphone, Optical Character Reader (OCR), Bar Code Reader.

    • Output Devices: Monitors, Printers, Plotters (for high-quality large vector drawings), Speakers.

    • Internal Components: Motherboard (main circuit board connecting RAM slots, controllers, chipsets), CPU, RAM (volatile working memory), VGA Port, Power Supply, Cooling Fan, Hard Drive.

  • Storage Media:

    • CD (Compact Disc): 600MB700MB600\,\text{MB} - 700\,\text{MB} capacity (types: CD-ROM, CD-R, CD-RW).

    • DVD (Digital Video/Versatile Disc): Up to 17GB17\,\text{GB} capacity (types: DVD-ROM, DVD-R/RW, DVD-RAM).

    • Hard Disk: Non-volatile magnetic storage for operating systems, software, and personal files.

  • Software: Collections of programs, procedures, and data instructing the computer system.

    • Application Software: High-level programs designed for user interaction and running on top of the OS, ranging from hundreds of kilobytes (KB\text{KB}) to multiple gigabytes (GB\text{GB}).

    • System Software: Operating systems and utility tools that manage computer resources.

  • Firmware: Low-level, permanent instructions installed in hardware flash/ROM memory (e.g., BIOS, EFI, EPROM) during manufacturing.

    • Role: Bridges hardware and operating systems without direct user interaction; small size (a few KB\text{KB}); tricky to modify or update.

    • Hardware vs. Firmware Differences: Hardware is a physical device that can be touched and modified easily by users; Firmware is virtual instruction code saved inside hardware to enable its basic operations.

    • Software vs. Firmware Differences: Software is designed for user interaction and stored on secondary storage; Firmware controls hardware directly, lacks subcategories, and is embedded inside device flash storage.

Number Systems & Storage Units
  • Number System Bases:

    • Binary: Base 22 (Digits: 0,10, 1)

    • Octal: Base 88 (Digits: 00 to 77)

    • Decimal: Base 1010 (Digits: 00 to 99)

    • Hexadecimal: Base 1616 (Digits: 00 to 99, AA to FF)

  • Data Storage Equivalencies:

    • 1Byte=8Bits1\,\text{Byte} = 8\,\text{Bits}

    • 1024Bytes=1Kilobyte (KB)1024\,\text{Bytes} = 1\,\text{Kilobyte (KB)}

    • 1024Kilobytes=1Megabyte (MB)1024\,\text{Kilobytes} = 1\,\text{Megabyte (MB)}

    • 1024Megabytes=1Gigabyte (GB)1024\,\text{Megabytes} = 1\,\text{Gigabyte (GB)}

    • 1024Gigabytes=1Terabyte (TB)1024\,\text{Gigabytes} = 1\,\text{Terabyte (TB)}

    • 1024Terabytes=1Petabyte (PB)1024\,\text{Terabytes} = 1\,\text{Petabyte (PB)}

    • 1024Petabytes=1Exabyte (EB)1024\,\text{Petabytes} = 1\,\text{Exabyte (EB)}

    • 1024Exabytes=1Zettabyte (ZB)1024\,\text{Exabytes} = 1\,\text{Zettabyte (ZB)}

    • 1024Zettabytes=1Yottabyte (YB)1024\,\text{Zettabytes} = 1\,\text{Yottabyte (YB)}

Character Text Codes
  • EBCDIC (Extended Binary Coded Decimal Interchange Code): 8-bit8\text{-bit} character encoding created by IBM in the early 1960s for mainframe systems (e.g., System/360).

    • Applications: Used in legacy backend business applications, IBM mainframe environments (finance, logistics), international character encoding with accents, and B2B data exchange (banking, manufacturing).

  • ASCII (American Standard Code for Information Interchange): 7-bit7\text{-bit} character encoding launched in 1963 for telecommunications and alphanumeric data representation.

  • Extended ASCII: 8-bit8\text{-bit} character set extending standard ASCII.

  • Unicode: Universal character encoding standard covering all global writing systems, mathematical symbols, and emojis.

    • Code Points: Every character has a unique 44- to 66-digit hexadecimal code point (e.g., letter 'A' is U+0041).

    • Compatibility: Fully backward-compatible with the 7-bit7\text{-bit} ASCII subset (first 128128 characters match ASCII).

    • Encoding Formats: Encoded using Unicode Transformation Formats like UTF-8, UTF-16, and UTF-32.

    • OS Shortcuts: Windows Key + Period (.) on Windows; Control + Command + Space on macOS to open the Unicode character palette.


The note briefly mentions an operating system as system software that manages computer resources and sits between hardware/firmware and application software. Going beyond what the note covers:

An Operating System (OS) is fundamental system software that acts as an interface between the user, application software, and the underlying computer hardware.

Key Functions of an Operating System:
  • Resource Management: Allocates hardware resources such as CPU processing time, main memory (RAM), and input/output (I/O) devices among running applications.

  • Process Management: Schedules, creates, and terminates processes or tasks, enabling multitasking.

  • File System Management: Controls how data is organized, stored, read, and retrieved on storage devices (like hard drives).

  • User Interface (UI): Provides a way for users to interact with the system via Graphical User Interfaces (GUI) or Command Line Interfaces (CLI).

  • Security & Access Control: Protects system integrity by enforcing user permissions and preventing unauthorized access.