Hardware history: Difference between revisions

From A Technological Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
The transition from manual calculation to automated computing began with 19th-century mechanical designs and culminated in mid-20th-century electro-mechanical systems.
The transition from manual calculation to automated computing began with 19th-century mechanical designs and culminated in mid-20th-century electro-mechanical systems.


== Mechanical Pioneers (1833) ==
== Era I: Mechanical pioneers (1833) ==


=== Charles Babbage and the Analytical Engine ===
=== Charles Babbage and the Analytical Engine ===
In 1833, British mathematician Charles Babbage conceived the '''Analytical Engine''', widely considered the theoretical precursor to the modern general-purpose electronic computer. Although never fully constructed during his lifetime due to mechanical limitations, Babbage's design established five core functional units:
In 1833, British mathematician Charles Babbage conceived the '''Analytical Engine''', widely considered the theoretical precursor to the modern general-purpose electronic computer. Although never fully constructed during his lifetime due to mechanical limitations, Babbage's design established five core functional units:


* '''Input Devices''' 📥: For entering instructions and data.
* '''Input devices''' 📥: For entering instructions and data.
* '''Memory (The Store)''' 🧠: For holding numbers and intermediate results.
* '''Memory''' 🧠: For holding numbers and intermediate results.
* '''Control Unit''' 🎛️: For directing the sequence of operations.
* '''Control Unit''' 🎛️: For directing the sequence of operations.
* '''Arithmetic Logic Unit (The Mill)''' 🔢: For executing mathematical calculations.
* '''Arithmetic Logic Unit (The Mill)''' 🔢: For executing mathematical calculations.
Line 18: Line 18:


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
'''More about Babbage Analytic Engine'''
'''More about Babbage analytic engine'''
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


Line 24: Line 24:
In 1833, [[Charles Babbage]] designed the '''Analytical Engine''', widely considered the theoretical precursor to the modern general-purpose computer.  
In 1833, [[Charles Babbage]] designed the '''Analytical Engine''', widely considered the theoretical precursor to the modern general-purpose computer.  


==== How It Worked ⚙️ ====
==== How it worked ⚙️ ====
The Analytical Engine was designed as a fully mechanical, steam-powered machine. Remarkably, its architecture mirrored the core components of modern computers long before electronics existed:
The Analytical Engine was designed as a fully mechanical, steam-powered machine. Remarkably, its architecture mirrored the core components of modern computers long before electronics existed:
* '''Input system''' 📥: Instructions and data were fed into the machine using [[punched card]]s (a technique adapted from the Jacquard loom).
* '''Input system''' 📥: Instructions and data were fed into the machine using [[punched card]]s (a technique adapted from the Jacquard loom).
Line 42: Line 42:
[[Ada Lovelace]] (1815–1852), an English mathematician and writer, played a pivotal role in the conceptualization of general-purpose computing. While translated work on Babbage's Analytical Engine was published in 1842 by Italian engineer Luigi Menabrea, Lovelace added extensive "Notes" that were three times longer than the original paper itself.
[[Ada Lovelace]] (1815–1852), an English mathematician and writer, played a pivotal role in the conceptualization of general-purpose computing. While translated work on Babbage's Analytical Engine was published in 1842 by Italian engineer Luigi Menabrea, Lovelace added extensive "Notes" that were three times longer than the original paper itself.


==== Key Contributions ====
==== Key contributions ====


* '''The First Computer Algorithm''': In "Note G," Lovelace detailed a step-by-step method for calculating [[wikipedia:Bernoulli_number|Bernoulli numbers]] using the Analytical Engine. This execution plan is widely recognized as the world's first published algorithm designed specifically for implementation on a computer.
* '''The first computer algorithm''': In "Note G," Lovelace detailed a step-by-step method for calculating [[wikipedia:Bernoulli_number|Bernoulli numbers]] using the Analytical Engine. This execution plan is widely recognized as the world's first published algorithm designed specifically for implementation on a computer.
* '''Beyond Pure Calculation''': Lovelace had a visionary insight that set her apart from her contemporaries. While Babbage focused primarily on numerical calculation, Lovelace realized that if the machine could manipulate symbols representing any entity (such as musical notes or text), it could manipulate non-numeric data[cite: 1]. She famously suggested that the engine "might compose elaborate and scientific pieces of music of any degree of complexity or extent."
* '''Beyond pure calculation''': Lovelace had a visionary insight that set her apart from her contemporaries. While Babbage focused primarily on numerical calculation, Lovelace realized that if the machine could manipulate symbols representing any entity (such as musical notes or text), it could manipulate non-numeric data[cite: 1]. She famously suggested that the engine "might compose elaborate and scientific pieces of music of any degree of complexity or extent."
* '''Foundational Programming Concepts''': Her notes introduced early conceptual models of programming techniques still used today, including [[Loop (computing)|loops]], [[Subroutine|subroutines]], and conditional instruction execution.
* '''Foundational programming concepts''': Her notes introduced early conceptual models of programming techniques still used today, including [[Loop (computing)|loops]], [[Subroutine|subroutines]], and conditional instruction execution.


== Electro-mechanical realization (1944) ==
== Electro-mechanical realization (1944) ==
Line 75: Line 75:




== First-Generation Electronic Computers (1946–1958) ==
== Era II: First-generation electronic computers (1946–1958) ==
The first generation of electronic computing replaced electro-mechanical switches with '''vacuum tubes'''. While this drastically increased processing speed, these early computers had a massive physical footprint, consumed enormous amounts of electricity, and required frequent maintenance due to tube failure.
The first generation of electronic computing replaced electro-mechanical switches with '''vacuum tubes'''. While this drastically increased processing speed, these early computers had a massive physical footprint, consumed enormous amounts of electricity, and required frequent maintenance due to tube failure.


=== Key Early Systems ===
=== Key early systems ===


* '''[[wikipedia:ENIAC|ENIAC]]''' (1946): Built to calculate artillery firing tables, it was one of the earliest fully electronic, general-purpose digital computers.[[File:ENIAC.png|thumb|ENIAC|left]]
* '''[[wikipedia:ENIAC|ENIAC]]''' (1946): Built to calculate artillery firing tables, it was one of the earliest fully electronic, general-purpose digital computers.[[File:ENIAC.png|thumb|ENIAC|left]]
Line 109: Line 109:


* '''UNIVAC I''' (1951): The first commercially produced digital computer designed for business and administrative applications.
* '''UNIVAC I''' (1951): The first commercially produced digital computer designed for business and administrative applications.
[[File:UNIVAC I.png|none|thumb|UNIVAC I]]
[[File:UNIVAC I.png|thumb|UNIVAC I|left|362x362px]]
 
{| class="wikitable"
|+ Physical Specifications and Computing Capabilities of the UNIVAC I (1951)
|-
! Category !! Characteristic !! Details
|-
| rowspan="5" | '''Physical Specifications''' || '''Floor Space''' || ~35.5 m²
|-
| '''Weight''' || ~13 tons
|-
| '''Power Draw''' || ~125 kW
|-
| '''Internal Components''' || ~5,200 vacuum tubes, 18,000 crystal diodes
|-
| '''Primary Storage''' || Mercury delay line memory (1,000 words of 12 decimal characters each)
|-
| rowspan="5" | '''Computing Capabilities''' || '''Addition / Subtraction''' || ~1,905 operations per second
|-
| '''Multiplication''' || ~455 operations per second
|-
| '''Division''' || ~257 operations per second
|-
| '''Clock Speed''' || 2.25 MHz
|-
| '''Input / Output Method''' || Unityper (magnetic tape units), punched card converter, electric typewriter
|}


== The Von Neumann Architecture (1945–1946) ==
== The Von Neumann Architecture (1945–1946) ==
Line 117: Line 143:
The Von Neumann model divides a computer system into four main functional blocks connected by buses[cite: 1]:
The Von Neumann model divides a computer system into four main functional blocks connected by buses[cite: 1]:


# '''Central Processing Unit (CPU)''' 🧠: The brain of the computer that processes all data[cite: 1].
# '''Central Processing Unit (CPU)''' : The brain of the computer that processes all data[cite: 1].
#* '''Control Unit (CU)''': Fetches, decodes, and sequences instructions from memory[cite: 1].
#* '''Control Unit (CU)''': Fetches, decodes, and sequences instructions from memory[cite: 1].
#* '''Arithmetic Logic Unit (ALU)''': Executes mathematical calculations (`+`, `-`, `*`, `/`), logical operations (`AND`, `OR`), and comparisons (`<`, `>`, `=`)[cite: 1].
#* '''Arithmetic Logic Unit (ALU)''': Executes mathematical calculations (`+`, `-`, `*`, `/`), logical operations (`AND`, `OR`), and comparisons (`<`, `>`, `=`)[cite: 1].
#* '''Registers''': High-speed temporary storage cells within the CPU core[cite: 1].
#* '''Registers''': High-speed temporary storage cells within the CPU core[cite: 1].
# '''Main Memory (RAM)''' 💾: Volatile storage holding the current program instructions and active data[cite: 1].
# '''Main Memory (RAM)''': Volatile storage holding the current program instructions and active data[cite: 1].
# '''Input/Output (I/O) Unit''' 🔌: Interfaces with external peripherals (e.g., keyboards, displays)[cite: 1].
# '''Input/Output (I/O) Unit''': Interfaces with external peripherals (e.g., keyboards, displays)[cite: 1].
# '''System Buses''' 🛣️: Communication pathways that transmit data, memory addresses, and control signals[cite: 1].
# '''System Buses''': Communication pathways that transmit data, memory addresses, and control signals[cite: 1].

Revision as of 18:55, 13 September 2026

Template:Infobox historic computing technology

Overview

The transition from manual calculation to automated computing began with 19th-century mechanical designs and culminated in mid-20th-century electro-mechanical systems.

Era I: Mechanical pioneers (1833)

Charles Babbage and the Analytical Engine

In 1833, British mathematician Charles Babbage conceived the Analytical Engine, widely considered the theoretical precursor to the modern general-purpose electronic computer. Although never fully constructed during his lifetime due to mechanical limitations, Babbage's design established five core functional units:

  • Input devices 📥: For entering instructions and data.
  • Memory 🧠: For holding numbers and intermediate results.
  • Control Unit 🎛️: For directing the sequence of operations.
  • Arithmetic Logic Unit (The Mill) 🔢: For executing mathematical calculations.
  • Output Devices 📤: For displaying or printing results.
Babbage Analytic engine

More about Babbage analytic engine

The "Real" Analytical Engine (1833)

In 1833, Charles Babbage designed the Analytical Engine, widely considered the theoretical precursor to the modern general-purpose computer.

How it worked ⚙️

The Analytical Engine was designed as a fully mechanical, steam-powered machine. Remarkably, its architecture mirrored the core components of modern computers long before electronics existed:

  • Input system 📥: Instructions and data were fed into the machine using punched cards (a technique adapted from the Jacquard loom).
  • The store (Memory) 🧠: A vast system of gears and counter wheels designed to hold up to 1,000 numbers of 50 decimal digits each.
  • The Mill (ALU) 🔢: The mechanical processing unit capable of performing basic arithmetic (addition, subtraction, multiplication, division) and comparison tests.
  • Control unit 🎛️: Barrel controllers (similar to those in music boxes) orchestrated operations, allowing for conditional branching ("if/then") and loops
  • Output system 📤: Results were sent to a printer, a curve plotter, or punched directly onto cards.

Construction status 🛠️

  • During Babbage's lifetime: Babbage never completed a fully functional, full-scale Analytical Engine due to funding shortages, personal disputes, and the limits of 19th-century mechanical precision.
  • Modern reconstructions: While a complete Analytical Engine has never been built, London's Science Museum constructed Babbage's simpler Difference Engine No. 2 in 1991, proving his mechanical theories were sound. An ongoing initiative called Plan 28 aims to construct a working Analytical Engine using Babbage's original drawings.
analytic engine London

Ada Lovelace: The first programmer

Ada Lovelace (1815–1852), an English mathematician and writer, played a pivotal role in the conceptualization of general-purpose computing. While translated work on Babbage's Analytical Engine was published in 1842 by Italian engineer Luigi Menabrea, Lovelace added extensive "Notes" that were three times longer than the original paper itself.

Key contributions

  • The first computer algorithm: In "Note G," Lovelace detailed a step-by-step method for calculating Bernoulli numbers using the Analytical Engine. This execution plan is widely recognized as the world's first published algorithm designed specifically for implementation on a computer.
  • Beyond pure calculation: Lovelace had a visionary insight that set her apart from her contemporaries. While Babbage focused primarily on numerical calculation, Lovelace realized that if the machine could manipulate symbols representing any entity (such as musical notes or text), it could manipulate non-numeric data[cite: 1]. She famously suggested that the engine "might compose elaborate and scientific pieces of music of any degree of complexity or extent."
  • Foundational programming concepts: Her notes introduced early conceptual models of programming techniques still used today, including loops, subroutines, and conditional instruction execution.

Electro-mechanical realization (1944)

The IBM Harvard Mark I

In 1944, Howard Aiken realized Babbage's vision by completing the IBM Harvard Mark I. It was the first fully functional, large-scale electro-mechanical computer.

Harvard Mark I
Technical Specifications of the Harvard Mark I
Feature Specification
Dimensions 17 meters long × 2 meters high
Weight Approximately 70 tons
Components 700,000 moving parts; hundreds of kilometers of wiring
Input Method 80-column IBM punched cards
Performance Addition: < 1 second; Multiplication: ~6 seconds


Era II: First-generation electronic computers (1946–1958)

The first generation of electronic computing replaced electro-mechanical switches with vacuum tubes. While this drastically increased processing speed, these early computers had a massive physical footprint, consumed enormous amounts of electricity, and required frequent maintenance due to tube failure.

Key early systems

  • ENIAC (1946): Built to calculate artillery firing tables, it was one of the earliest fully electronic, general-purpose digital computers.
    ENIAC
Physical Specifications and Computing Capabilities of the ENIAC (1946)
Category Characteristic Details
Physical Specifications Floor Space ~167 m²
Weight ~30 tons
Dimensions ~2.4 m × 0.9 m × 30.5 m
Power Draw ~150 kW to 160 kW
Internal Components ~17,468 vacuum tubes, 7,200 diodes, 70,000 resistors, 10,000 capacitors
Computing Capabilities Addition / Subtraction 5,000 operations per second
Multiplication ~357 operations per second
Division / Square Root ~35 operations per second
Clock Speed 100 kHz (100,000 cycles per second)
Memory / Storage 20 accumulators (storing ten 10-digit decimal numbers each)


  • UNIVAC I (1951): The first commercially produced digital computer designed for business and administrative applications.
UNIVAC I
Physical Specifications and Computing Capabilities of the UNIVAC I (1951)
Category Characteristic Details
Physical Specifications Floor Space ~35.5 m²
Weight ~13 tons
Power Draw ~125 kW
Internal Components ~5,200 vacuum tubes, 18,000 crystal diodes
Primary Storage Mercury delay line memory (1,000 words of 12 decimal characters each)
Computing Capabilities Addition / Subtraction ~1,905 operations per second
Multiplication ~455 operations per second
Division ~257 operations per second
Clock Speed 2.25 MHz
Input / Output Method Unityper (magnetic tape units), punched card converter, electric typewriter

The Von Neumann Architecture (1945–1946)

Formulated by mathematician John von Neumann, this theoretical framework defines the core hardware layout used by modern computers, including PCs, smartphones, and embedded systems[cite: 1].

Core Components

The Von Neumann model divides a computer system into four main functional blocks connected by buses[cite: 1]:

  1. Central Processing Unit (CPU) : The brain of the computer that processes all data[cite: 1].
    • Control Unit (CU): Fetches, decodes, and sequences instructions from memory[cite: 1].
    • Arithmetic Logic Unit (ALU): Executes mathematical calculations (`+`, `-`, `*`, `/`), logical operations (`AND`, `OR`), and comparisons (`<`, `>`, `=`)[cite: 1].
    • Registers: High-speed temporary storage cells within the CPU core[cite: 1].
  2. Main Memory (RAM): Volatile storage holding the current program instructions and active data[cite: 1].
  3. Input/Output (I/O) Unit: Interfaces with external peripherals (e.g., keyboards, displays)[cite: 1].
  4. System Buses: Communication pathways that transmit data, memory addresses, and control signals[cite: 1].