Académique Documents
Professionnel Documents
Culture Documents
Computers
What’s a Computer?
A machine capable of executing instructions on data.
What distinguishes a computer is its ability to store its
own instructions.
2
Analog/Digital -- Who
During the 1930’s and ‘40’s, the premier school for digital
computers was the Moore School of Engineering at the
University of Pennsylvania (where ENIAC was created).
During this same period, the premier school for analog
computers was MIT.
3
Analog/Digital -- What
In a digital computer, data input and output and data
representation within the computer is discrete, it is
either a 0 or a 1 (which is actually a voltage level).
In an analog computer, data input and output and
data representation within the computer is
continuous or proportional, it can have any value
within the limits of the power supplies.
4
Systron-Donner Analog SD40/80
5
Kelvin Feedback Technique
s s s
2 b
a
1 c
a
0 R(s)
a
1/a
s^2 -s^1 s^0
R(s)
b/a
s
c/a
6
History of Computers
First digital computer might be the abacus used by
the Chinese 3000-4000 years ago.
Slide rule was initially crude, but long-lived, and could
only multiply and divide, a characteristic of analog
computers.
Pascal’s adding machine of 1642 was a better first
example of an analog computer, but like the abacus,
it was only a calculator.
All of these lacked a means of storing a program.
7
Pascal’s Adding Machine
8
Program Storage
Jacquard used punch cards to control a loom.
Babbage used that in his difference engine and
analytical engine, which were only recently actually
built and operated.
Ada Augusta (Lady Lovelace) worked with Babbage
and is considered the first programmer.
Hollerith used cards to tabulate the 1890 census,
leading to IBM (1924).
9
An IBM Punch Card
10
Babbage’s Difference Engine
11
Early Computers
1942 - Atanasoff and Berry completed a prototype of
the Atanasoff Berry Computer, but it never operated
as a fully functional computer. 1938 is the date
assigned to its origin and it was legally declared first.
1944 - IBM created the Mark I computer, an
electromechanical computer.
1946 - Eckert & Mauchley’s ENIAC was the computer
that lost to the ABC circa 1972. It still exists and was
operated on its anniversary.
12
Atanasoff-Berry Computer
13
IBM Mark I
14
Relays
15
ENIAC
16
ENIAC On-A-Chip
17
Early Antiaircraft Information
18
Finding Airplanes
19
Aiming Corrections
20
The “Real” Early Computers
Neither ENIAC nor ABC was first.
British COLLOSUS of 1943 was honored as the first, but
this was not known until after WWII due to classification.
German Zuse Z3 of 1941 beat that, but was destroyed
during the war and not known about until much later.
21
Colossus (Reproduction)
22
The Enigma Machine
23
Early US Computers
1946 - ENIAC - Electronic Numerical Integrator and
Computer.
1949 - EDSAC - Electronic Delay Storage Automatic
Calculator.
1951 - EDVAC - Electronic Discrete Variable Automatic
Computer.
All are “pre-first generation” computers.
24
EDSAC
25
EDVAC Design
26
EDVAC
27
First Generation Computers
1951 - UNIVAC - UNIVersal Automatic Computer
(performs add in 282 microsec).
1952 - IBM 701 Data Processing System.
1953 - IBM 650.
All of these used vacuum tubes.
1955 - UNIVAC II was partially transistorized and
considered generation one and a half.
28
UNIVAC
29
Vacuum Tubes
30
Second Generation Computers
1954 - TRADIC - Bell Labs first all-transistor computer.
1958 - IBM 7070 & 7090.
1959 - IBM 1401.
1964 - CDC 6600.
300 nanosecond add (three orders of magnitude faster
than first generation.
All used transistors rather than tubes.
31
Tradic
32
Transistors
33
Third Generation
1964 - IBM 360.
About three orders of magnitude faster again than the
second generation.
Not really any smaller than first generation.
Used integrated circuits rather than discrete transistors.
34
The IBM System 360
35
Fourth Generation
Personal computers, using microprocessors and other
integrated circuits.
Not much faster than third generation, but considerably
less expensive, affordable by the public.
There isn’t much difference between an old 1 MHz 8080
and an 2 GHz Pentium as you might think.
36
The Intel 8088
37
The Central Processing Unit
It is when you look inside the CPU that you discover why I
say there is so little difference between an old 8-bit
microprocessor and the latest Pentium.
Each has an arithmetic logic unit.
Each has several special and general purpose registers or
accumulators.
Each has bus interfaces for input/output.
38
Language Hierarchy
High-level language (Ada, C, C++, Java, FORTRAN, Pascal,
BASIC, COBOL, etc.)
Assembly language (symbolic, dependent on target
processor/computer), mnemonics.
Machine language, understood by the actual
processor/computer, opcodes and operands.
39
Examples
if (iBal < 0)
{Statements
add bal,eax ; 05 bal
}
jns elseIf ; 0F 89
else if (iBal == 0)
Code
{Statements
jmp endIf ; FF
}
elseIf: jnz elsePos ; 0F 85
else
Code
{Statements
jmp endIf ; FF
}
elsePos: code
/* end if */
endIf:
40
So What is C?
C is a functional (programs consist of functions) high-level
compiled standardized language.
We will create programs by writing source files in “English”,
actually in the C language.
Then we will compile our source files into executable files that
will run on a specific computer.
The computer the programming is done on is called the “host”.
The computer the program will run on is called the “target”.
These are generally the same, that is, we will either compile
and run on UNIX, or compile and run on DOS.
41