Computing and the Computer
|
Prof. David Bernstein
James Madison University
|
|
Computer Science Department |
bernstdh@jmu.edu |
|
"Computer" Defined (OED)
- 1646 to 1897
-
"One who computes; a calculator, reckoner; spec. a person
employed to make calculations in an observatory, in surveying,
etc."
- 1897 - Present
-
"A calculating-machine; esp. an automatic electronic device for
performing mathematical or logical operations; freq. with
defining word prefixed, as analogue, digital, electronic
computer (see these words)."
History of Computing
- 3000BC - Abacus - China
- 150BC - The Antikythera Mechanism
- Geared mechanism used to calculate orbits
- 1612AD - Napier's Bones - Scotland (John Napier)
- 1630 - Circular Slide Rule - England (William Oughtred)
- 1642 - Pascaline - France (Blaise Pascal)
- An adding machine that used eight 10-toothed wheels
History of Computing (cont.)
- 1673 - Calculator - Germany (Gottfried Wilhelm von Leibniz)
- Used gears and dials for addition, subtraction,
multiplication and division)
- 1801 - Jacquard Loom - France (Joseph Marie Jacquard)
- Holes punched in metal cards controlled the action
of the loom.
- This is a binary device that allowed thread to come
through or not.
- The first stored program.
- 1822 - Difference Engine - England (Charles Babbage)
- Designed to compute polynomials.
- It was never finished.
History of Computing (cont.)
- 1833 - Analytical Engine - England (Charles Babbage)
- Like his difference engine but controlled by
punched cards.
- Four functions: processing, storage (1000 50-digit numbers),
input and output.
- It was never built.
- Ada Augusta (Lord Byron's daughter) developed programs
for the Analytical Engine. Hence, she is often called
the first programmer.
- 1890 - Tabulating Machine - U.S. (Herman Hollerith))
- Used punched cards for tabulating census statistics.
- The Hollerith Tabulating Company later merged with other
companies to form the International Business Machines
Corporation (IBM).
- 1930s - Z Computers - Germany (Konrad Zuse)
- Binary digital computers.
- The two-state device was an electro-mechanical relay
(i.e., a two position switch).
- His assistant, Helmut Schreyer, suggested they use vacuum
tubes which could be switched between on and off
much more quickly.
History of Computing (cont.)
- 1936-1942 - ABC - Iowa State Univ. (Atanasoff and Berry)
- A 1973 court case ruled that this
was "The First Electronic Digital Computer"
- 1944 - Harvard-IBM Automatic Sequence Controlled Calculator - U.S.
- Known as the Mark I.
- Used electro-mechanical relays.
- Grace Hopper wrote programs for the Mark I and later
led the effort to develop COBOL.
- Supposedly, while working on the Mark II
she discovered a bug stuck to
one of the relays which led to the term "debugging".
- 1943-1946 - Electronic Numerical Integrator and Calculator - PENN (Eckert and Mauchly)
- Known as ENIAC.
- 30 tons, 18000 vacuum tubes, 70000 resistors
- 100 times faster than the Mark I
History of Computing (cont.)
- 1945 - Electronic Delay Storage Automatic Computer - U.S. (John von Neumann)
- Known as EDSAC
- von Neumann architecture stores program instructions
internally before executing them.
- 1951 - Universal Automatic Computer - U.S.
- Known as UNIVAC.
- Designed by Eckert-Mauchly Computer Corporation.
- Sold out to Remington-Rand Corp who sold the first UNIVAC
to the Census Bureau.
- Used to predict that Eisenhower would win the 1952
presidential election based on 5% of the returns.
- 1958-1965 - Vacuum tubes replaced by transistors
History of Computing (cont.)
- 1965-1971 - Transistors replaced by integrated circuits (ICs)
- ICs were invented by Jack Kilby and Robert Noyce.
- 1964 - IBM System/360
- 1965 Digital Equipment Corporation PDP-8
- 1971-Present - Very large-scale integrated circuits (VLSI)
- 1971 Intel 4004 chip - Ted Hoff
- 1974 - MITS Altair 8800 hobby kit computer - Roberts,
Yates and Bybee
- Used the Intel 8080.
- Bill Gates and Paul Allen wrote a BASIC compiler
for the Altair in 1974.
- 1976 - Apple II - Steven Jobs and Steve Wozniak
- 1976, Cray I - Seymour Cray
History: Where to Learn More
A Simplified Model of the Hardware
Processing
- Control Unit:
- Fetches instructions, decodes them, and sends them
to the ALU
- Arithmetic/Logic Unit:
- Performs arithmetic and logical operations (several billion
per second)
- Main Memory:
- Where instructions and data are stored
Logical Operations
Form the Foundation of All Computation
Storage
- We are concerned with two types:
- Volatile Memory (e.g., RAM)
- Non-Volatile Memory (e.g., disk)
-
Representation:
- All memory is a collection of two-state (i.e., binary) devices
Input and Output
- Input Devices:
- Convert "real world" analog and digital data into binary.
- Examples: Keyboard, mouse, video camera
- Output Device:
- Convert binary data into "human readable" form.
- Examples: Monitor, printer, machine tools
The Software
- The Operating System:
- An interface between components of the system
- An interface between users and the system hardware
- An "environment" within which other programs can run
- Application Software:
- An algorithm/heuristic for solving a user-oriented
problem that is written in a language that is/can be
converted into instructions for the ALU that is implemented
(a process that is known as
programming)