Title: Computer Architecture CPSC 321
1Computer ArchitectureCPSC 321
2Course Contents
3Course Contents
- History
- Organization of a computer
- Assembly language
- Design of a computer
- Verilog
- Future architectures
4Syllabus
- Two midterm exams 50
- Assignments and quizzes 20
- Projects 30
5Early History
One of the first calculation tools was the
abacus, presumably invented sometime between
1000-500 B.C.
6Early History
- around 1600, John Napier invents the Napier
bones, a tool that helps in calculations - (photo
courtesy of IBM) - Napier also invents the logarithm
- 1621, William Oughtred invents the slide rule
that exploit Napiers logarithms to assist in
calculations
7Early History
- 1625 Wilhelm Schickard invents a mechanical
device to add, subtract, multiply and divide
numbers - 1640 Blaise Pascal invents his Arithmetic Machine
(which could only add) - (photo
courtesy of IBM) - 1671 Wilhelm von Leibniz invents the Step
Reckoner, a device that allows to perform
additions, subtractions, multiplications,
divisions, and evaluation of square roots (by
stepped additions)
8Early History
- Charles Babbage proposes in 1822 a machine to
calculate tables for logarithms and trigonometric
functions, called the Difference Engine. - Before completing the machine, he invents in 1833
the more sophisticated Analytic Engine that uses
Jacquard punch cards to control the arithmetic
calculations - The machine is programmable, has storage
capabilities, and control flow mechanisms it is
a general purpose computer. - The Analytic Engine was never completed.
- Augusta Ada Lovelace writes the first program for
the Analytical Engine (to calculate Bernoulli
numbers). Some consider her as the first
programmer.
9Computing Needs?
- The calculation devices werent a commercial
success pencil and paper was cheap and fast
enough. - The 1890 US census demanded larger data
processing power, because more questions were
asked. -
- Hermann Hollerith provided the data processing
equipment. - Holleriths company later became a core part of
IBM. - (Photo courtesy of the IEEE Computer Society)
-
10Analogue Computing Rules! (Oops?)
- The digital computing methods of Babbage and
Hollerith did not lead directly to the modern
computer. - In fact, analogue computing devices were much
more common in 1900-1930, especially for
scientific computations. - In 1930, Vannevar Bush (MIT) constructed a large
differential analyzer that was capable of
integration and differentiation. - The common conception was that analogue computing
has many advantages over digital computation (and
one finds constructions of analogue computers
until the 1960s).
11Konrad Zuse
Konrad Zuse next to the replica of his Z1
computer (Technisches Museum, Munich).
- In 1935, Konrad Zuse designs a special purpose
electro-mechanical computer, the Z1. He
constructs the computer in 1936-1938 in the
living room of his parents in Berlin, Germany.
12Z1
- The Z1 computer was clocked at 1 Hz. The memory
consists of 64 words with 22 bits. Input and
output is done by a punch tape reader and a punch
tape writer. - The computer has two registers with 22 bits and
is able to perform additions and subtractions (it
is not a general purpose computer).
13Z3
(Art and photo courtesy of Horst Zuse)
- Zuse constructed the Z3, a fully programmable
general purpose computer, in 1939-1941.
Remarkably, it contained a binary floating point
arithmetic. It was clocked at 5.33 Hz, based on
relays, and had 64 words of 22 bits. - The small memory did not allow for storage of the
program.
14World War II
- Remarkably, Zuse did not profit from the war. In
fact, his funding was pulled because it seemed
unlikely that his computer will be finished
before the war ends. - Computational methods were relevant to break
ciphers - Bletchley Park (GB) developed and used devices to
crack crypts of the German Enigma cipher - Calculating tables for projectile trajectories
- Eckert and Mauchly (US) got funding to develop a
computer to calculate tables
15Atanasoff
- John Vincent Atanasoff and his graduate student
Clifford Berry developed in 1938-1942 a special
purpose computer that was able to solve systems
of linear equations. - The machine was not programmable, but it
performed all calculations with electronics and
avoided electro-mechanical elements such as
relays.
(Photo and artwork courtesy of Iowa State
University) It is not a general purpose
computer, but Iowa State University tries to
paint a different picture.
16Mark 1 Colossus
(picture courtesy of Wikipedia encyclopedia)
- 1943-44 Mark 1 Colossus
- memory based on vacuum tubes
- special purpose machine, not Turing complete
- but it had some flexibility
- used in Bletchley Park to break the fish cipher
17ENIAC
- All-electronic general purpose computer based on
vacuum tubes - Intended to calculate ballistic firing tables
- Designed by Presper Eckert and John Mauchly
- Designed and constructed during 1943-1946
- Programming by rewiring
- 5000 additions per second, 357 multiplications
per second, and 38 divisions per second - Decimal, not binary!
(photo courtesy of the U.S. army)
18EDVAC
- It was the first stored program computer ever
designed - (but other stored program computers were
completed earlier, namely an experimental machine
at Manchester University, EDSAC at Cambridge
University, an Australian machine ) - The stored program design is usually attributed
to von Neumann, although Zuse formulate this
concept already in 1936 in a patent applications
(patent rejected). - Eckert and Mauchly were joined by von Neumann in
the design of EDVAC. - First draft of EDVAC by von Neumann
- http//www.virtualtravelog.net/entries/2003-08-The
FirstDraft.pdf
19Where are we headed?
- In general, a computer consists of the following
components
Datapath
Input
Memory
Output
Control
20Further Reading
- Scott McCartney Eniac, Berkeley Books, New York,
1999 - von Neumanns design of EDVAC
- Patterson, Hennessy, 2nd edition, Chapter 1.