Computing Systems and Architecture · 7 min read
Overview of Computing Systems · Central Processing Unit (CPU) · Memory Hierarchy · Data Representation
A computing system consists of hardware, software, and the interactions between them that enable data processing and task execution. Understanding the fundamental components and their relationships is essential for computer science educators.
Core Components of a Computing System
Every computing system contains input devices, processing units, memory, storage, and output devices. Input devices (keyboards, mice, touchscreens, microphones, sensors) capture data from users or the environment. The central processing unit (CPU) executes instructions and performs calculations. Memory stores data temporarily during processing. Storage devices retain data permanently. Output devices (monitors, printers, speakers) present processed information to users.
Hardware vs. Software
Hardware refers to physical components: processors, memory chips, circuit boards, cables, peripherals. Software consists of instructions (programs) that direct hardware operations. System software (operating systems, device drivers, utilities) manages hardware resources and provides a platform for applications. Application software (word processors, browsers, games) performs specific user tasks.
The CPU is the brain of a computer, responsible for executing program instructions through a cycle of fetch, decode, and execute operations.
CPU Components
The arithmetic logic unit (ALU) performs mathematical calculations (addition, subtraction, multiplication, division) and logical operations (AND, OR, NOT, comparisons). The control unit (CU) directs the flow of data between the CPU, memory, and peripherals by interpreting instructions and generating control signals. Registers are small, high-speed storage locations within the CPU that hold data currently being processed, instructions being executed, and memory addresses.
Instruction Cycle
The fetch-decode-execute cycle is the fundamental operation of a CPU. During fetch, the control unit retrieves the next instruction from memory using the address stored in the program counter. During decode, the control unit interprets the instruction to determine what operation to perform. During execute, the ALU or other CPU components carry out the operation. This cycle repeats continuously while the computer is running.
Clock Speed and Performance
Clock speed, measured in hertz (Hz), indicates how many clock cycles a CPU completes per second. A 3 GHz processor can execute approximately 3 billion cycles per second. However, clock speed alone does not determine performance. Other factors include instruction set architecture, pipeline depth, cache size, number of cores, and memory bandwidth.
Multi-Core Processors
Modern CPUs contain multiple processing cores on a single chip. Each core can execute instructions independently, enabling parallel processing. A quad-core processor can theoretically handle four tasks simultaneously. Effective utilization of multiple cores requires software designed for parallel execution.
Computer systems use a hierarchy of memory types, balancing speed, capacity, and cost.
Registers
Registers are the fastest memory, located within the CPU. They hold data currently being processed. Typical register sizes are 32 or 64 bits. CPUs contain a limited number of registers (often 16–32 general-purpose registers).
Cache Memory
Cache is high-speed memory located between the CPU and main memory. It stores frequently accessed data and instructions to reduce access time. Modern systems use multiple cache levels: L1 cache (smallest, fastest, closest to CPU cores), L2 cache (larger, slightly slower), and L3 cache (largest, shared among cores). Cache operates on the principle of locality: programs tend to access the same data (temporal locality) or nearby data (spatial locality) repeatedly.
Random Access Memory (RAM)
RAM is the primary working memory of a computer. It stores currently running programs and their data. RAM is volatile, meaning it loses its contents when power is removed. Common types include DDR4 and DDR5 SDRAM. RAM capacity is measured in gigabytes (GB). Typical modern systems have 8–32 GB of RAM.
| Level | Location | Relative speed | Typical size | Volatile? |
|---|---|---|---|---|
| Registers | Inside the CPU core | Fastest | Bytes (a few dozen registers) | Yes |
| Cache (L1, L2, L3) | On the CPU chip | Very fast | KB to tens of MB | Yes |
| Main memory (RAM) | Motherboard | Fast | GB | Yes |
| Secondary storage (SSD, HDD) | Internal or external drive | Slow | Hundreds of GB to TB | No |
Secondary Storage
Secondary storage provides permanent data retention. Hard disk drives (HDDs) use magnetic platters and read/write heads. Solid-state drives (SSDs) use flash memory with no moving parts, offering faster access times and greater durability. Other storage media include USB flash drives, optical discs (CD, DVD, Blu-ray), and magnetic tape (for archival purposes).
Storage Capacity Units
Data storage is measured in bytes. A byte equals 8 bits. Common units include kilobyte (KB, 10³ bytes), megabyte (MB, 10⁶ bytes), gigabyte (GB, 10⁹ bytes), terabyte (TB, 10¹² bytes), and petabyte (PB, 10¹⁵ bytes). Binary prefixes (kibibyte, mebibyte, gibibyte) use powers of 2 but are less common in everyday usage.
Computers store and process all data as binary digits (bits), using only 0 and 1.
Number Systems
The binary system (base 2) uses digits 0 and 1. Each position represents a power of 2. The decimal system (base 10) uses digits 0–9. The hexadecimal system (base 16) uses digits 0–9 and letters A–F, providing a compact representation of binary values. Octal (base 8) uses digits 0–7.
Binary-Decimal Conversion
To convert binary to decimal, multiply each bit by its positional power of 2 and sum the results. For example, binary 1011 equals 1×8 + 0×4 + 1×2 + 1×1 = 11 in decimal. To convert decimal to binary, repeatedly divide by 2 and record remainders.
| Decimal | Binary (4-bit) | Hexadecimal |
|---|---|---|
| 0 | 0000 | 0 |
| 5 | 0101 | 5 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 15 | 1111 | F |
Integer Representation
Unsigned integers represent non-negative values. An 8-bit unsigned integer can represent values 0–255. Signed integers use the most significant bit to indicate sign. Two's complement is the standard representation for signed integers: positive numbers are represented normally, while negative numbers are represented by inverting all bits and adding 1. An 8-bit signed integer using two's complement can represent values from -128 to 127.
Floating-Point Representation
Floating-point numbers represent real numbers with fractional parts. The IEEE 754 standard defines formats for single-precision (32-bit) and double-precision (64-bit) floating-point numbers. Each number consists of a sign bit, exponent, and mantissa (significand). Floating-point arithmetic can introduce rounding errors due to limited precision.
Character Encoding
ASCII (American Standard Code for Information Interchange) uses 7 bits to represent 128 characters, including uppercase and lowercase letters, digits, punctuation, and control characters. Extended ASCII uses 8 bits for 256 characters. Unicode is a universal character encoding standard that assigns codes to more than 150,000 characters from virtually all writing systems. UTF-8 is a variable-width encoding that uses 1–4 bytes per character and is backward-compatible with ASCII.
Image Representation
Raster images consist of a grid of pixels. Each pixel's color is represented by numeric values. RGB (Red, Green, Blue) uses three 8-bit values (0–255) per pixel, allowing over 16 million colors. Image resolution is measured in pixels (width × height). Common formats include JPEG (lossy compression), PNG (lossless compression with transparency), and GIF (limited colors, animation support).
Audio Representation
Digital audio is created by sampling analog sound waves at regular intervals. Sample rate indicates samples per second (e.g., 44,100 Hz for CD quality). Bit depth indicates bits per sample (e.g., 16-bit). Higher sample rates and bit depths provide better audio quality but larger file sizes. Common formats include WAV (uncompressed), MP3 (lossy compression), and FLAC (lossless compression).
Finished reading?
Lock it in with a quick Computing Systems and Architecture quiz.