The foundational blueprint of modern general-purpose digital computers was formulated by mathematician John von Neumann in 1945. Known as the von Neumann Architecture, it introduced the revolutionary concept of the Stored-Program Computer—the idea that program instructions and data share a common read-write memory address space and are fetched sequentially for execution.
A digital computer system comprises five interconnected functional units:
- Input Unit: Electro-mechanical transducers that accept external analog or human data, convert it into standard binary machine-readable signals (ASCII/Unicode), and forward it to primary memory. Examples include keyboards, optical mice, digitizing tablets, barcode scanners, and microphones.
- Central Processing Unit (CPU): The computational brain of the machine, responsible for fetching, decoding, and executing program instructions. It consists of:
- Arithmetic Logic Unit (ALU): Executes elementary binary arithmetic ($+, -, \times, \div$) and logical decisions ($AND, OR, NOT, <, >, ==$).
- Control Unit (CU): The supervisor of the CPU. It generates precise micro-timing control signals, decodes operational codes (opcodes), directs the routing of data along internal buses, and orchestrates the classic Fetch-Decode-Execute cycle.
- Processor Registers: Ultra-fast, microscopic, volatile internal flip-flop storage cells operating at CPU clock frequency (3–5 GHz). Key registers include:
- Program Counter (PC): Holds the memory address of the next sequential instruction to be fetched.
- Instruction Register (IR): Temporarily holds the binary opcode currently being decoded and executed.
- Memory Address Register (MAR): Holds the physical memory address being accessed for read or write.
- Memory Data / Buffer Register (MDR/MBR): Holds data read from or written to main memory.
- Accumulator (AC): Stores intermediate computational results generated by the ALU.
- Primary Storage (Main Memory): High-speed semiconductor storage directly accessible by the CPU via the system bus, holding active programs, OS kernels, and working datasets.
- Secondary Storage (Auxiliary Memory): Non-volatile, high-capacity mass storage for permanent file retention.
- Output Unit: Translates processed binary outputs into human-comprehensible forms (monitors, printers, speakers, robotic actuators).
The CPU communicates with memory and I/O devices via parallel conductive pathways called the System Bus, divided into three specialized channels:
| Bus Type | Directionality | Function | Impact of Bus Width |
|---|---|---|---|
| Address Bus | Unidirectional (CPU → Memory/IO) | Carries the physical address of the memory cell or I/O port being accessed. | A bus width of $n$ lines can uniquely address $2^n$ distinct bytes. (A 32-bit bus addresses $2^{32} = 4\text{ GB}$; a 64-bit bus addresses $2^{64} = 16\text{ Exabytes}$). |
| Data Bus | Bidirectional | Transfers actual data and instruction bits between CPU, memory, and devices. | A 64-bit data bus transfers 8 bytes per clock cycle, doubling throughput compared to a 32-bit bus. |
| Control Bus | Bidirectional / Mixed | Transmits clock pulses, read/write strobes, interrupt requests (IRQ), and bus acknowledgments. | Maintains bus synchronization and prevents data collisions. |