Download Lecture 1 - Department of Computer Science

Document related concepts

Supercomputer architecture wikipedia , lookup

Computer cluster wikipedia , lookup

ILLIAC IV wikipedia , lookup

Supercomputer wikipedia , lookup

Transcript
Prof. Sin-Min Lee
Department of Computer Science
30,000 BC
Tally systems Africa & Europe
8,500 BC
Prime system Africa
1000 BC
Abacus China & Babylon
History of abacus
The abacus' history started ca. 2600 years ago in
Madagaskar.
There to count the amount of soldiers, every soldier had
to pass a narrow passage. For each passing soldier a
little stone was put into a groove.
When ten stones were in that groove they were
removed and one stone was put into the next groove.
Counting soldiers
Mutation of grooves and
stones
Ancient Computing
History
The Abacus
Mechanical aid used for
counting and making
quick calculations.
Still in
use
around
the
world.
Find out more about the Abacus in Resources.
The Abacus
• How did people keep track of numbers before pen and
paper were widely available?
• How does addition and subtraction work if you don't have
a handy written form for your numbers?
• Say you can't read or write, but you can count - how do
you add, subtract, multiply, or divide large numbers?
• The answer to all these questions is . . . the abacus!
• www.fenris.net/~lizyoung/abacus.html
Why does the abacus exist?
• It is difficult to imagine counting without numbers, but
there was a time when written numbers did not exist.
• The earliest counting device was the human hand and its
fingers. Then, as larger quantities (larger than ten humanfingers could represent) were counted, various natural
items like pebbles and twigs were used to help count.
• Merchants who traded goods not only needed a way to
count goods they bought and sold, but also to calculate the
cost of those goods.
• Until numbers were invented, counting devices were used
to make everyday calculations.
• www.ee.ryerson.ca:8080/~elf/abacus/history.html
Russian Abacus
• The abacus is an ancient
tool used for counting.
The simple design uses a
set of framed rods and a
series of beads that are
moved back and forth
across the rods to count.
• www.dotpoint.com/xnumber/pi
c_abacus3.htm
Development of soroban
In 607 the japanese regent Shotoku Taishi made a
cultural approach to China.
The chinese suan-pan comes to Japan and became
optimized by Taishi by removing one of the upper balls.
Since 1940 the new soroban with only four lower balls is
used.
Roman abacus
Calculating on tables
This structure was found on tables, boards and on
kerchiefs.
Gelosia procedure of writing
calculation
1
2
0
3
0
0
1
4
0
8
1
5
0
1
6
5
5
8
6
1
6
0
4
1
5
0
2
2
8
8
123 · 456 =
56008
Napier Bones
2
1
0
0
0
0
0
0
6
3
0
0
8
4
1
0
0
5
1
0
2
6
1
0
4
7
1
0
6
8
1
0
9
0
3
4
2
9
0
2
1
0
3
8
9
1
6
0
8
2
9
1
7
3
2
1
6
4
5
1
5
5
8
2
4
6
1
2
3
7
4
2
2
8
7
1
Calculating with Napier Bones
2
3
0
9
0
2
0
0
3
0
4
0
1
6
0
6
0
9
8
2
0
5
2
8
4
1
6
3
7
4
2
8
4
6
2
1
5
5
2
1
6
4
1
1
7
3
1
1
8
2
1
1
9
2
8
7
1
239 · 8 = 1912
History of “Computers”
•
•
•
•
•
•
•
•
•
Abacus---Approximately 3000 BC
Calculators---1600s
Punched Card Devices---1800s
First Electronic Computers---1940s
Mainframes---1950s
Minicomputers---1960s
Microcomputers---1970s
Microcomputer Systems---1980s
Internet---1990s
Early Computing
History
Blaise Pascal
Invented the first
mechanical calculator.
The Pascaline used cogs
and gears to solve math
equations.
Charles
Babbage the
"Father of
Computing"
(1791-1871)
Charles Babbage - “Father of the
Computer”
• 1822 - Designed the Difference Engine
for the purposes of computing the
entries in navigational and other tables
(even received the first government
grant for computer research).
• 1833 - Designed the Analytical
Engine that had the basic
components of a modern
computer. Unfortunately due
to poor documentation most
of his ideas were lost.
The World’s First Programmer?
• 1842 - Ada Augusta King, Countess
of Lovelace, translates Menabrea's
pamphlet on the Analytical Engine,
adding her own notes, and becomes
the world's first programmer.
• 1847 - 1849 - Babbage continues
working on the 2nd version of the
Difference Machine and draws plans
for it. In 1991 the Science Museum
in Kensington, England build the 2nd
version (using 19th century
technology).
Mechanical
Calculators
Joseph Jacquard
• First “programmable”
machine.
• Used punched cards
(binary instructions) to
automate weaving loom.
• Punched cards were a
staple of early and modern
computer programming.
Electronic Computer Systems
First Generation:1943-1956
• Used vacuum tubes in
electronic circuits.
• Used punch cards to input and
externally store data.
• Up to 4K of memory.
• Programming in machine
language and assembly
language.
• Required a compiler.
A History of Computing
1500
1621
1642
1822
1830
1831
1936
1936
1938
Mechanical calculator
Leonardo da Vinci
Slide rule
William Oughtred
Arithmetic Machine Blaise Pascal
Difference Engine Charles Babbage
Analytical Engine Charles Babbage
Computer program Lady Ada Lovelace
Z1 Computer
Konrad Zuse
Turing Machine Alan Turing
Boolean Circuits Claude Shannon
First Generation:
1943-1956
Electronic Numerical Integrator
and Calculator (ENIAC)
World’s first electronic
digital computer.
Used to produce
WWII ballistic firing
tables for the U.S.
Defense Department.
Check out the ENIAC exhibit.
ENIAC - background
•
•
•
•
•
•
Electronic Numerical Integrator And Computer
Eckert and Mauchly
University of Pennsylvania
Trajectory tables for weapons
Started 1943
Finished 1946
– Too late for war effort
• Used until 1955
ENIAC - details
•
•
•
•
•
•
•
•
Decimal (not binary)
20 accumulators of 10 digits
Programmed manually by switches
18,000 vacuum tubes
30 tons
15,000 square feet
140 kW power consumption
5,000 additions per second
Computerized Warfare
• 1943 - The Colossus built in England by a team led by
Alan Turing, was a special purpose computer used to
break the German code
ULTRA encrypted using the ENIGMA
machines. Breaking the German code
was one the the keys to the success
of the D-Day invasion.
• 1944 - The Harvard Mark I (and later II, III and IV) were
general purposed electromechanical calculators
(sponsored by the US Navy) to compute artillery and
navigation tables - the same purpose as intended by
Babbage for the Difference Engine.
The von Neumann Computer
• 1944 - John von Neumann joined the ENIAC
project. The idea of storing programs as numbers
was proposed.
• 1945 - von Neumann wrote a memo proposing a
stored-program computer called EDVAC.
Goldstine distributed the memo, put von
Neumann’s name on it and omitted Eckert’s and
Mauchly’s names.
• Most computer historians agree the von Neumann
received far more credit than he deserved.
• The most prestigious award in the field of
Computer Architecture is the Eckert-Mauchly
award.
A History of Computing
1943
1945
1946
1947
1951
1953
1954
1958
1964
COLOSSUS
Alan Turing
von Neumann Machine John von Neumann
ENIAC
J. Presper Eckert & John W. Mauchly,
University of Pennsylvania
Transistor
William Shockley, John Bardeen &
Walter Brattain, Bell Laboratories
UNIVAC
Remington Rand Corporation
IBM 701 EDPM
IBM Corporation
FORTRAN
John Backus
Integrated Circuit Jack Kilby & Robert Noyce, Texas
Instruments
Mouse & Graphical User Interface
Douglas
Engelbart, Stanford University
Second Generation: 1957-1964
1956 IBM 350 RAMAC
• Used transistors,
developed by Bell Labs.
• Up to 32K of memory.
• Programming in computer
languages, such as
FORTRAN and COBOL.
Visit the Computing History Timeline in Resources.
Third Generation:
1965-1971
• Used integrated circuits.
• Up to 3 million bytes of
memory.
• Lower cost, smaller
size, and increasing
processor speed.
Fourth Generation:
1972-Now
Microcomputer Revolution Begins.
 1971, Intel develops 4004, the first
microprocessor chip.
 Altair sold in 1975, the first personal
computer. It is a kit that must be
assembled.
 Apple Computer is formed in 1976
and sells 50 Apple I.
 Advances increase memory size,
storage space, and processing
speeds.
Fourth Generation:
1972-Now
Microcomputers
• Personal computers or PCs.
• Usually cost about $2,000 or less.
• Process over 1 billion operations per
second.
• “Stand-alone” or connected
to other computers as a
network system.
TEA
The 1970s (2nd half)
• 1976 - Cray-1. First Super Computer announced.
• 1976 - Steve Jobs and Steve Wozniak produced
the Apple II that was assembled and complete with
its own keyboard and monitor.
The IBM PC Introduced
• 1981 - IBM entered the field in
with the IBM "PC" and
supported by the DOS operating
system developed under an
agreement that gave Microsoft all
the profits in exchange for the
development costs having been
borne by Microsoft. The PC’s
microprocessor was the Intel
8086.
• 1982 - Computer chosen as Man
of the Year by Time magazine.
Cray’s Supercomputers
• From 1976 until it was purchased by SGI (Silicon
Graphics) in 1995, Seymour Cray and his company were
the leaders in the field of supercomputers. Shown is the
CRAY X-MP with 4 processors.
1990’s
Connecting the World
Tim Berners-Lee
 Developed HTML and the World Wide Web
(WWW) was born.
1990’s
Connecting the World
Marc Andreessen
 An original developer of Mosaic, the
first browser software able to read
HTML.
 Co-founder of Netscape
Communications.
The 21st Century
•
•
•
•
•
•
Technologies of the Future
Advanced robotics commonplace
Smart houses
Wearable computers
Holodeck virtual reality
Truly individualized education
Check out Dave Moursund’s view of education in
the year 2015, one of the Resources.
The 21st Century
• Only recently focused on computers.
• Internet current primary trend.
–
–
–
–
Communication with colleagues.
Lesson plan preparation.
Student resources.
Access research and best practices for
teaching.
TEA
05:34.0
What’s Computer Architecture?
The attributes of a [computing] system as seen by the programmer,
i.e., the conceptual structure and functional behavior, as distinct
from the organization of the data flows and controls the logic
design, and the physical implementation.
Amdahl, Blaaw, and Brooks, 1964
SOFTWARE
von Neumann/Turing
•
•
•
•
Stored Program concept
Main memory storing programs and data
ALU operating on binary data
Control unit interpreting instructions from
memory and executing
• Input and output equipment operated by control
unit
• Princeton Institute for Advanced Studies
– IAS
• Completed 1952
A History of Computing
1969
1969
1971
1972
1973
1973
1973
1974
1975
1976
1976
ARPAnet
UCLA, Stanford, UC Santa Barbara &
University of Utah
UNIX
Ken Thompson & Dennis Ritchie, Bell
Laboratories
Email
Roy Tomlinson, BBN
Telnet
Jon Postel, BBN
C
Dennis Ritchie & Brian Kernighan, Bell
Laboratories
Ethernet
Robert Metcalfe, Harvard University/Xerox
PARC
FTP
Alex McKenzie, BBN
TCP
Vint Cerf & Robert Kahn
Microsoft Corporation Bill Gates & Paul Allen
Apple Computer
Steve Wozniak & Steve Jobs
Apple I
Apple Computer
1978
1981
1981
1982
1983
1984
1984
1985
1986
1987
1989
Usenet
Tom Truscott, Jim Ellis & Steve Bellovin
IBM PC
IBM Corporation
MS-DOS
Microsoft Corporation
TCP/IP
ARPA
Lisa Apple Computer
DNS Jon Postel
Macintosh Apple Computer
Windows
Microsoft Corporation
NeXT Computer
Steve Jobs
Perl Larry Wall
BSD NR1
University of California at Berkeley
A History of Computing
1989
1991
1991
1993
1994
HTTP & HTML Tim Breners-Lee, CERN
Linux
Linus Torvald
Python
Guido van Rossum
Mosaic
Marc Andreessen
Netscape Corporation
Marc Andreessen &
Jim Clarke
1999 G4
Apple Computer
2001 OS X
Apple Computer