CSE 301 History of Computing - NYU Computer Science Department
Download
Report
Transcript CSE 301 History of Computing - NYU Computer Science Department
History of Computing
The Origins of Computing
Sources: Combrink, Thomas Cortina, Fergus Toolan,
What is a Computer?
one who computes
a person employed to make calculations in
an observatory, in surveying, etc.
“a programmable machine that can execute a
list of instructions in a well-defined manner”
What is a modern computer
A machine which can execute billions of
instructions per second.
Uses a “stored program” to execute
instruction in a specific order to “solve a
problem”
Modern Computers are
assemblies of components
Six logical units of computer system
Input unit
Mouse, keyboard
Output unit
Printer, monitor, audio speakers
Memory unit
Retains input and processed information
Arithmetic and logic unit (ALU)
Performs calculations
Central processing unit (CPU)
Supervises operation of other devices
Secondary storage unit
Hard drives, floppy drives
CPU (Microprocessor Chip)
Brain of the computer
Made of Integrated Circuits
(ICs), which have millions of
tiny transistors and other
components
Performs all calculations &
executes all instructions
Example chips for PC:
Intel (Celeron, Pentium)
AMD (K-6 and Athlon)
Inside the Chip
What’s a Giga Hertz (GHz) ?
A unit of measurement for CPU speed (clock
speed)
G (giga) means 1 billion, M (mega) would be 1 million
Hz is for frequency per second
GHz means 1 billion clock cycles per second
CPUs may execute multiple operations each
clock cycle
So what does a 2.8 GHz CPU mean?
2,800,000,000 clock cycles per second
Performs at least 2,800,000,000 operations per
second
Main Memory (RAM)
Stores data for programs currently running
Temporary
empty when power is turned off
Fast access to CPU
What’s a Giga Byte (GB)?
GB measures the amount of data the it can store
G (giga) for 1 billion
M (mega) for 1 million
Data quantities are measured in bytes
1 Bit = stores a single on/off piece of information
1 Byte = 8 bits
1 Kilobyte = 210 (~1,000 bytes)
1 Megabyte = 220 (~1,000,000 bytes)
1 Gigabyte = 230 (~1,000,000,000 bytes)
Hard Drive
Stores data and programs
Permanent storage (theoretically)
when you turn off the computer, it is not emptied
Motherboard
Connects all the components together
How did we get here?
In studying the history of computers,
where do we start?
We could go back thousands of
years
Mathematical
developments
Manufacturing developments
Engineering innovations
The wheel?
Counting
What number system do you use?
Decimal (base-10)
Has been in use for thousands of years
Guesses:
first China
then India
then Middle East
then Europe (introduced as late as 1200)
Primative Calculators
The Abbacus
Early Computational Devices
(Chinese) Abacus
Used for performing arithmetic operations
Al’Khowarizmi and the
algorithm
12th Century Tashkent
Cleric
Developed the concept of a
written process for doing
something
Published a book on the
process of algorithms
The basis of software
Early Computational Devices
Napier’s Bones, 1617
For performing multiplication & division
John Napier
1550-1617
Philosopher Forefathers of
Modern Computing
1600-1700
Blaise
Pascal –
developed the
Pascaline.
Desk
top calculator
worked lik an
odometer.
Von Leibniz
developed binary
arithmetic and a hand
cranked calculator.
Calculator was able to
add, subtract, multiply
and divide.
Blaise Pascal
Pascal (1623-62) was the son of a tax
collector and a mathematical genius. He
designed the first mechanical calculator
(Pascaline) based on gears. It performed
addition and subtraction.
Early Computational Devices
Pascaline mechanical calculator
Blaise Pascal
1623-1662
Early Computational Devices
Slide Calculators
William Oughtred
1574-1660
Gottfried Wilhelm von Leibniz
Leibnitz (1646-1716) was a German
mathematician and built the first calculator to
do multiplication and division. It was not
reliable due to accuracy of contemporary
parts.
He also documented the binary number
system which is used in all modern
computers.
Count to 8 in binary
0001
0010
0011
0100
0101
0110
0111
1000
Modern Computers use Binary
Why?
Much simpler circuits needed for performing
arithmetic
Early Computational Devices
Leibniz’s calculating machine, 1674
Gottfried Wilhelm von Leibniz
1646-1716
George Boole (1815-1864)
Invented Boolean Algebra
System of logic using boolean values
Used to establish inequalities:
symbolic use of <, or >, or <>
Used in computer switching
Modern use in library searches
Charles Babbage
Babbage (1792-1872) was a British inventor
who designed an two important machines:
Difference engine
Analytical engine
He saw a need to replace the human
computers used to calculate numerical tables
which were prone to error with a more
accurate machine.
Charles Babbage
Difference engine
Designed to compute values of polynomial
functions automatically
No multiplication was needed because he used
the method of finite differences
He never built one
It was built from 1989 – 1991 for the London
Science Museum
Charles Babbage Difference
Engine
Charles Babbage
The Next Leap Forward
1800’s
Charles Babbage
Analytical Engine
Could be programmed using punch cards – totally
revolutionary idea
Sequential control / branching / looping
Turing complete
The analytical engine
of Charles Babbage
Lady Ada Byron – World’s first
programmer
Countess of Lovelace,
daughter of Lord Byron.
One of the first women
mathematicians in England
Documented Babbage’s
work.
Wrote an account of the
difference engine.
Wrote a program for the
difference engine for
computing Bernoulli
numbers
Herman Hollerith
Hollerith developed an electromechanical punchedcard tabulator to tabulate the data for 1890 U.S.
census. Data was entered on punched cards and
could be sorted according to the census
requirements. The machine was powered by
electricity. He formed the Tabulating Machine
Company which became International Business
Machines (IBM). IBM is currently the largest
computer manufacturer, employing in excess of
300,000 people.
Herman Hollerith punch card
tabulating machine
1890 Census
Hollerith Tables and the
Census
Improved the
speed of the
census
Reduced cost by
$5 million
Greater accuracy
of data collected
Hollerith –
unemployed after
the census
Konrad Zuse - First Calculator
1938
The War Years 1939-1945
Two Primary Uses
Artillery Tables
Hand calculation replaced by machine calculation
Department of the Navy
Cryptologist :
Cryptography
The art or process of writing in or deciphering secret writing
Bletchley House
The Enigma Codes – U23
The British Effort
History of Computers
Alan Turing was a British mathematician who also made
significant contributions to the early development of computing,
especially to the theory of computation.
He developed an abstract theoretical model of a computer called
a Turing machine which is used to capture the notion of
computable i.e. what problems can and what problems cannot be
computed.
Not all problems can be solved on a computer.
Note: A Turing machine is an abstract model and not a physical
computer
Alan Turing
misunderstood genius
1936
Published a paper
“On Computable
Numbers”
Turing’s machine hypothetical computer
that could perform
any computation or
logical operation a
human could devise.
Turings Heritage
Code breaking was
Touring’s strength.
Colossus a computer to
break the German
enigma code - 100
Billion alternatives.
Ran at rate of 25,000
characters per second
The United States Effort
The II World War Years
1945
Calculate artillery
tables.
Used to break codes
like the Colossus.
Used to model future
events - Atomic and
Hydrogen Bombs.
Cmdr. Grace Hooper
1939 -
Howard Aiken (1900 – 73)
Aiken, a Harvard professor, with the backing of IBM
built the Harvard Mark I computer (51ft long) in 1944.
It was based on relays (operate in milliseconds) as
opposed to the use of gears. It required 3 seconds
for a multiplication.
Aiken’s Mark 1. (1944) based on Babbage’s original
design - built at IBM labs, electro-mechanical,
weighed 5 tons. Admiral Grace Hopper worked as
programmer on this computer, and coined the term
'bug' for a computer fault.
HARVARD MARK - 1, 1944
The Mark I - a dinosaur
51 feet long
3,304 electro mechanical
switches
Add or subtract 23 digit
numbers in 3/10 of a
second.
Instructions (software)
loaded by paper tape.
The infamous “Bug”
ENIAC - The Next Jump
Forward - 1946
1st electronic digital
computer
Operated with vacuum tubes
rather electro-mechanical
switches
1000 times faster than Mark I
No program storage - wired
into circuitry.
This was still based on the
decimal numbering system.
“programmed” by switches
and cords
ENIAC
The Advent of the
Semiconductor - 1947
Developed at Bell Labs
by Shockley & Bardeen
– Nobel Prize
Point Contact
Transistor replaced
power hungry, hot and
short lived vacuum
tubes
History of Computers
Von Neumann was a scientific genius and was a consultant on
the ENIAC project. He formulated plans with Mauchly and Eckert
for a new computer (EDVAC) which was to store programs as
well as data.
This is called the stored program concept and Von Neumann is
credited with it. Almost all modern computers are based on this
idea and are referred to as Von Neumann machines.
He also concluded that the binary system was more suitable for
computers since switches have only two values. He went on to
design his own computer at Princeton which was a general
purpose machine.
First Generation Computers
(1951-58)
These machines were used in business for
accounting and payroll applications. Valves were
unreliable components generating a lot of heat (still
a problem in computers). They had very limited
memory capacity. Magnetic drums were developed
to store information and tapes were also developed
for secondary storage.
They were initially programmed in machine
language (binary). A major breakthrough was the
development of assemblers and assembly
language.
EDVAC - Electronic Discreet Variable
Automatic Computer 1951
Data stored internally
on a magnetic drum
Random access
magnetic storage
device
First stored program
computer
The 50’s the Era of Advances
Second Generation
(1959-64)
The development of the transistor revolutionised the
development of computers. Invented at Bell Labs in 1948,
transistors were much smaller, more rugged, cheaper to make
and far more reliable than valves.
Core memory (non-volatile) was introduced and disk storage was
also used. The hardware became smaller and more reliable, a
trend that still continues.
Another major feature of the second generation was the use of
high-level programming languages such as Fortran and Cobol.
These revolutionised the development of software for computers.
The computer industry experienced explosive growth.
Technical Advances in the 60’s
John Mccarthy coins the term “Artificial Intelligence”
1960 - Removable Disks appear
1964 - BASIC - Beginners-all purpose Symbolic
Instruction Language
Texas Instruments offers the first solid- state handheld calculator
1967 - 1st issue of Computerworld published
Third Generation
(1965-71)
IC’s (Integrated Circuits) were again smaller, cheaper, faster and
more reliable than transistors. Speeds went from the
microsecond to the nanosecond (billionth) to the picosecond
(trillionth) range. ICs were used for main memory despite the
disadvantage of being volatile. Minicomputers were developed
at this time.
Terminals replaced punched cards for data entry and disk packs
became popular for secondary storage.
IBM introduced the idea of a compatible family of computers, 360
family, easing the problem of upgrading to a more powerful
machine
Third Generation
(1965-71)
Substantial operating systems were developed to manage and
share the computing resources and time sharing operating
systems were developed. These greatly improved the efficiency
of computers.
Computers had by now pervaded most areas of business and
administration.
The number of transistors that be fabricated on a chip is referred
to as the scale of integration (SI). Early chips had SSI (small
SI) of tens to a few hundreds. Later chips were MSI (Medium SI):
hundreds to a few thousands,. Then came LSI chips (Large SI) in
the thousands range.
Moore’s Law
In 1965 Gordon Moore graphed data about growth in
memory chip performance.
Realized each new chip roughly twice capacity of
predecessor, and released within ~2 yrs of it =>
computing power would rise exponentially over relatively
brief periods of time.
Still fairly accurate. In 30 years, no of transistors on a
chip has increased ~20,000 times, from 2,300 on the
4004 in 1971 to 42 million on the Pentium® IV.
The 1970’s - The
Microprocessor Revolution
A single chip containing
all the elements of a
computer’s central
processing unit.
Small, integrated,
relatively cheap to
manufacture.
The Super Computers - 1972
The Cray
Parallel processing power
Speed 100 million
arithmetical functions per
second
Sensitive to heat - cooled
with liquid nitrogen
Very expensive
Fourth Generation
VLSI allowed the equivalent of tens of thousand of
transistors to be incorporated on a single chip. This
led to the development of the microprocessor a
processor on a chip.
Intel produced the 4004 which was followed by the
8008,8080, 8088 and 8086 etc. Other companies
developing microprocessors included Motorolla
(6800, 68000), Texas Instruments and Zilog.
Fourth Generation
Personal computers were developed and IBM
launched the IBM PC based on the 8088 and 8086
microprocessors.
Mainframe computers have grown in power.
Memory chips are in the megabit range.
VLSI chips had enough transistors to build 20
ENIACs.
Secondary storage has also evolved at fantastic
rates with storage devices holding gigabytes
(1000Mb = 1 Gb) of data.
Fourth Generation
On the software side, more powerful operating
systems are available such as Unix.
Applications software has become cheaper and
easier to use.
Software development techniques have vastly
improved.
Fourth generation languages 4GLs make the
development process much easier and faster.
Fourth Generation
Languages are also classified according to
generations from machine language (1GL),
assembly language (2GL), high level languages
(3GL) to 4GLs.
Software is often developed as application
packages. VisiCalc a spreadsheet program, was
the pioneering application package and the original
killer application.
Killer application: A piece of software that is so
useful that people will buy a computer to use that
application.
The ALTAIR from a Voyage to
Altair - Star Trek -1975
The Birth of the Micro
Computer 1975
Jobs and Wozniac develop
the Apple II
Commodore PET, programs
stored on a cassette
Tandy-Radio Shack TRS-80
5 1/2 inch floppy disk
becomes the standard for
software
Finally, The Computer as Man
of the Year - 1982
Revenge of the nerds
Bill Gates
Microsoft, 1978
Steve Jobs
Steve Wozniak
Alan Turing