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).

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): capacity (CD-ROM, CD-R, CD-RW).
DVD (Digital Video/Versatile Disc): Up to 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:
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 () and GigaHertz (); 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 (, ).
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.

Hardware, Software, & Firmware
Hardware: Physical, tangible entities that constitute the computer system.
Input Devices: Keyboard (approx. 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): capacity (types: CD-ROM, CD-R, CD-RW).
DVD (Digital Video/Versatile Disc): Up to 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 () to multiple gigabytes ().
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 ); 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 (Digits: )
Octal: Base (Digits: to )
Decimal: Base (Digits: to )
Hexadecimal: Base (Digits: to , to )
Data Storage Equivalencies:
Character Text Codes
EBCDIC (Extended Binary Coded Decimal Interchange Code): 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): character encoding launched in 1963 for telecommunications and alphanumeric data representation.
Extended ASCII: 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 - to -digit hexadecimal code point (e.g., letter 'A' is U+0041).
Compatibility: Fully backward-compatible with the ASCII subset (first 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+Spaceon 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.