Download Lecture 1 - Introduction to computing and computing history

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Switch wikipedia , lookup

Microprocessor wikipedia , lookup

Transistor wikipedia , lookup

ENIAC wikipedia , lookup

Computer science wikipedia , lookup

Emulator wikipedia , lookup

Manchester Mark 1 wikipedia , lookup

Integrated circuit wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Von Neumann architecture wikipedia , lookup

Transcript
Lecture 1
”Introduction to computing and computing history”
Administration of computer systems, 2009
Practical information
• Course webpage: www.hh.se/te2003
• Lectures
• 5 Exercises
– Preparatory questions (do at home)
– Exercise questions (do at exercise session)
• Hardware research project
– Present results in 15 min. slideshow
• Written exam
Lecture outline and goals
• After this lecture you should be able to
– Reason about the definition of “computer”
– Give examples of some of the landmark
events in computer history in the 20th century
– Reason about the purpose of relays, vacuum
tubes and transistors and how they relate to
computation.
– Identify the main classes of modern computer
systems
What is a computer?
• Merriam-Webster says
Main Entry: com·put·er
Pronunciation: \kəm-pyü-tər\
Function: noun
Usage: often attributive
Date: 1646
: one that computes; specifically : a programmable usually electronic device that can
store, retrieve, and process data
Early mobile computer?
Athens Museum of Archeology
The Antikythera mechanism
The Antikythera mechanism
• Found on the seabed in Greece, dated back
to approximately 150-100 BC [1]
• Models astronomical phenomena in high
detail using complex system of gears.
• Thousands of years before anything as
complex is known to have been created
again.
Is it a computer?
• Definitely not electronic
• Programmable via a number of dials, but
basically single purpose
• Data storage?
• Does perform pre-defined calculations
The importance of tables
• Numerical tables were made and used for
things like [1]
– Mathematics
– Engineering
– Navigation
– Insurance companies
– Merchants
Tables contd.
• Creating large tables was error prone [2]…
– Errors when computing the contents manually
– Errors during printing and typesetting
• …and extremely time consuming
"It is unworthy of excellent men to lose
hours like slaves in the labour of
calculation which could safely be
relegated to anyone else if machines
were used."
— Gottfried Leibniz (1646-1716)
Mechanical minds
• Many attempts at creating mechanical
calculation machines were made
– Shickard 1623
– Pascal 1642
– Leibniz 1671
– Babbage 1822
The method of differences
• Method to evaluate polynomials
• Example: polynomial of second order:
p(x)=2x2+3x+10
p(1) = 2+3+10 = 15
p(2) = 8+6+10 = 24
p(3) =…
p(4) =…
Method of differences
x
p(x)=2x2+3x+10
1
15
2
24
3
37
4
54
p(x-1)-p(x)
diff(x-1)-diff(x)
Method of differences
x
p(x)=2x2+3x+10
1
15
2
24
15-24 = -9
3
37
24-37 = -13
4
54
37-54 = -17
p(x-1)-p(x)
diff(x-1)-diff(x)
Method of differences
x
p(x)=2x2+3x+10
1
15
2
24
15-24 = -9
3
37
24-37 = -13
-9-(-13) = 4
4
54
37-54 = -17
-13-(-17) = 4
p(x-1)-p(x)
diff(x-1)-diff(x)
Method of differences
x
p(x)=2x2+3x+10
1
15
2
24
15-24 = -9
3
37
24-37 = -13
-9-(-13) = 4
4
54
37-54 = -17
-13-(-17) = 4
p(x-1)-p(x)
-17-4 = -21
diff(x-1)-diff(x)
Method of differences
x
p(x)=2x2+3x+10
1
15
2
24
15-24 = -9
3
37
24-37 = -13
-9-(-13) = 4
4
54
37-54 = -17
-13-(-17) = 4
5
54-(-21) = 75
-17-4 = -21
p(x-1)-p(x)
diff(x-1)-diff(x)
Method of differences
x
p(x)=2x2+3x+10
1
15
2
24
15-24 = -9
3
37
24-37 = -13
-9-(-13) = 4
4
54
37-54 = -17
-13-(-17) = 4
5
54-(-21) = 75
-17-4 = -21
4
6
75-(-25) = 100
-21-4 = -25
4
p(x-1)-p(x)
diff(x-1)-diff(x)
4
VIDEO
Boolean logic
• Algebraic system designed
by George Boole in mid
1800’s
• AND (A.B)
• OR (A+B)
• NOT (A’)
Binary operators AND/OR
A
B
AND
OR
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
Unary operator NOT
A
NOT
0
1
1
0
Simple example of Boolean logic
• D = Day, C = Cloudy, S = Switch, L = Light
• “When the switch is on the lamp is on if it is
cloudy or if it is night”
• Lamp = Switch AND ((NOT Day) OR Cloudy)
• L = S.(D’ + C)
Claude Shannon
• In 1938 Claude Shannon
showed how Boolean algebra could
be used as the foundation of
mechanical/electrical computation.
One of the most important masters
thesis's ever according to some [3]
From Shannons thesis
Circuit interpretation
• D = Day, C = Cloudy, S = Switch, L = Light
• “When the switch is on the lamp is on if it
is cloudy or if it is night”
• L = S.(D’ + C)
C
S
L
D’
Relay based computers
• To implement the switches in the example
relays can be used.
• As a current is fed through
the coil the magnetic field
and a connection is made.
When the current stops the
switch is returned using a
spring.
Relay based computers
• Early computer based on Boolean logic
using relays:
– Konrad Zuse’s Z3, 1941
• 2000 relays
• 4000 W power consumption
• 5-10 Hz clock frequency
Vacuum tubes
• The time it takes for the switches to
change state decides the speed of the
machine.
• Another way to implement the switches is
using vacuum tubes, as in the ENIAC
computer which used 18.000 of them.
Wikipedia
ENIAC, 1946
Weight: 27 tons
Power consumption: 150kW
Performance: 385 Multiplications/second
”Where the ENIAC is equipped with 18,000 vacuum tubes
and weighs 30 tons, computers in the future may have
1,000 vacuum tubes and perhaps weigh just 1-1/2 tons”
--Popular Mechanics, March 1949
The transistor
• The way we implement the switches in
most modern computers today is using
transistors, made from semiconductor
material. Mainly silicon.
• Inventors Shockley, Bardeen and Brattain
were awarded the Nobel prize for their
invention in 1956
Transistor
• In the cross-section of a NPN transistor
below the current that flows between
emitter E and collector C is controlled by
the voltage between base B and the
emitter.
Integrated circuits
• Large number of transistors tightly packed
on a single chip
– Low power consumption
– Low cost
– High reliability
• In 1965 Gordon Moore predicted that the
number of transistors on a chip would
increase exponentially. “Moore's law”
Moore’s law
1.000.000.000
100.000.000
10.000.000
1.000.000
100.000
10.000
1.000
1970
1975
1980
1985
1990
1995
2000
2005
Approximate number of transistors per chip for various generations of Intel processors
Software
• Remember the Antikythera mechanism?
– Single purpose = One “program”
• ENIAC originally had to be programmed
by switches before each run
– Multi-purpose but took a long time
• What if the program could be stored in the
same way as data?
The von Neumann architecture
• In the von Neumann architecture the same
storage is used for data and instructions.
– Simplified memory structure
– Programs can modify themselves and other
programs (compilers, high-level programming)
CPU
Data/
Instruction
Memory
The Harvard architecture
• In the Harvard architecture data and instructions
are stored in separate memories
– Allows simultaneous access to both memories, higher
speed
– Memories can be implemented completely differently
from each other
Data
Memory
CPU
Instruction
Memory
Modern computers
• Mostly of the stored program type
– Have memory
– Programmable via some interface
• CPU implemented using transistors on
chip connected to other devices to form a
computer system
• Range from highly specialized to very
general
Embedded computers
• Ubiquitous, used almost everywhere
• Typically specialized for a certain task
• Often need to interact with the surrounding
world in real-time. E.g. a factory controller.
Personal computers, PC’s
• Consumer/office product
– General purpose
– Standardized system architecture
– Expandable
– Human-machine-interface
– Operating system
Servers/Datacenter computers
• More specialized but often consists of
similar components as in PC’s
– High reliability and availability requirements
– In large datacenters cooling and power
become important
– Modularity and redundancy, multiple hard
drives, power supplies etc.
Wikipedia
Supercomputers
• Specialized calculation machines
– Often highly parallel
– Used for compute intensive applications
• Weather modeling and forecasting
• Cryptography
• Large networks of servers or PC’s
– Google
– Mare Nostrum
Mare Nostrum supercomputer
Review
• Mechanical computers
• Boolean logic/electric circuits
• Switches
– Relay, vacuum tube, transistor
• The integrated circuit (IC)
• Stored program computer
– Von Neumann/Harvard architectures
• Classes of modern computers
– Embedded, PC, server, supercomputer
Visit the course webpage
• Important material that will be posted:
– This lecture
– Course literature
– Reading recommendations and references
– Exercise instructions and preparatory
questions
SIGN UP FOR AN EXERCISE SESSION
http://www.hh.se/te2003
References and links
[1] The Antikythera project: http://www.antikythera-mechanism.gr
[2] M. Lindgren, ”Glory and Failure”, ISBN 91-7870-146-5
[3] C. E. Shannon, “A symbolic analysis of relay and switching circuits”,
Massachusetts Institute of Technology, Dept. of Electrical
Engineering, 1940