History of Computer Arithmetic

advertisement
1/24/2014
History of Computer
Arithmetic
Mark Hildebrand and Eric Wilson
Gottfried Leibniz
•
Discovered the binary system
in 1679
1
1/24/2014
George Boole
•
Wrote a paper about
Boolean algebra in 1854
•
Boolean algebra would
become important later for the
digital computer
Claude Shannon
•
Created a Boolean algebra and
binary arithmetic circuit in 1937
•
First practical application to
digital circuit design
2
1/24/2014
George Stibitz
•
•
Worked for Bell Labs
Created a relay based
computer called “Model K”
in 1937
(k stood for kitchen)
Numbers less than zero?
Several ways to represent negative numbers
Sign-and-Magnitude
One’s Complement
Two’s Complement
Excess-K
Base -2 (don’t think too hard about this one)
•
•
•
•
•
3
1/24/2014
Numbers less than zero!
•
Sign-and-Magnitude was popular for a while
o
•
Intel 7090 Architecture (1959) used it
2’s complement won out in the end
o
o
Easier to implement in hardware
Unique representation of zero
Architectures using 2’s complement
x86, MIPS, ARM...
•
Addition
Need for faster ways to add
Ripple Carry (slow)
Carry-Lookahead
•
•
o
o
Gerald Rosenberger (1957)
Examples
Manchester Carry Chain
Brent-Kung Adder
Kogge-Stone Adder
4
1/24/2014
Multiplication
•
•
Until the 1970s, computers did not have
multiplication hardware
Motorola 6809 was one of the first
processors to have a multiply instruction
(routine in microcode)
Multiplication
•
As transistor count increased, it became
feasible to include enough adders to sum all
partial product simultaneously.
5
1/24/2014
Division Algorithms
•
Two types
o
o
•
Slow division
o
o
o
•
Fast
Slow
Restoring division
Non-restoring division
SRT division
Fast division
o
o
Newton-Raphson division
Goldschmidt division
We need more precision!
•
•
Integers just aren’t good enough!
Floating Vectors
o
o
o
•
•
Janes H. Wilkinson (1951)
Scaled to biggest number
Problem when dealing with a big range of numbers
Fixed point
Floating Point
o
o
o
Prevalent by 1957
Decimal floating-point
Binary floating-point
6
1/24/2014
Floating Point
•
•
•
By 1976, floating point functions were
everywhere, but very proprietary
IEEE began trying to standardize floating
point in 1977
Because there were business majors
working in IEEE, it wasn’t until 1985 that
IEEE Standard 754 was put forth
Sources
•
•
•
•
http://www.kerryr.net/pioneers/leibniz.htm
•
http://www.ce.ewi.tudelft.nl/fileadmin/ce/homepages/galuzzi/File_index/Symposium/13_Schwarz.
pdf
•
http://www.loria.fr/~zimmerma/mca/mca-cup-0.5.1.pdf
http://en.wikipedia.org/wiki/Binary_number#History
http://www.wmgallery.com/stibitz/
http://booksite.elsevier.com/9780124077263/downloads/historial%20perspectives/section_3.11.p
df
7
Download