You are on page 1of 9

Outline

History of digital computation

Introduction

History of digital computation tools


Hardware
Software

Numerical analysis and scientific computing

Mathematical software used in engineering

in engineering and science


Phyllis R. Nelson
Cal Poly Pomona

ECE 257 - Winter 2014

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

1 / 35

Introduction

History of digital computation

ECE 257 - Winter 2014

2 / 35

Uses of math software in engineering and science


Engineering design is based on models expressed
mathematically.

Moores law has fueled a transformation of


engineering practice.

Typical computational tasks include

Todays engineers increasingly rely on a variety of software packages for


design and analysis. It is thus essential that engineers have a basic
understanding of both the capabilities and the possible inaccuracies of
the computational methods they use.

Symbolic operations (factoring, simplification, integration,


differentiation, . . . )

The result of one of these processes may not be good


enough or even valid for your use. You must always check
that the model and computations are appropriate for your
application!

Matlab and other software used in engineering applications

ECE 257 - Winter 2014

Visualization (graph a function)

Fitting data to models (regression)

hardware
software (operating systems, languages, applications, libraries)

History of digital computation

Numerical computations (find a number or set of numbers)

Numerical or symbolic solutions to sets of equations (linear, nonlinear,


ordinary differential, partial differential, . . . )

The topics covered in this lecture are:


The history of digital computation in science and engineering

Phyllis R. Nelson (Cal Poly Pomona)

Phyllis R. Nelson (Cal Poly Pomona)

3 / 35

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

4 / 35

Outline

Computing hardware: prehistory


These devices do not perform calculations. They record the
results.

Introduction

History of digital computation tools


Hardware
Software

Numerical analysis and scientific computing

Mathematical software used in engineering

Salamis tablet ( 300 BCE)


Roman hand abacus
Coin and line boards (Middle Ages)
Abacus (still in use)
Suan-pan (China 1200 CE)
Soroban (Japan)
Schoty (Russia)

Written numbers replaced these tools in the late Middle Ages in Europe.
Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

5 / 35

Computing hardware: intermediate steps

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

6 / 35

ECE 257 - Winter 2014

8 / 35

More intermediate steps

Slide rule (slipstick) - a mechanical analog computer for


multiplication and division based on logarithms.
common by the late 1600s
used extensively in engineering
replaced by electronic digital calculators in the 1970s

Jacquard loom - complex textile


designs coded in wood or
cardboard slats tied together in a
continuous loop

Pascaline - a mechanical calculator

invented by the mathematician Blaise Pascal in the 1640s


addition, subtraction, multiplication (by repetition of addition)
precursor of mechanical and electromechanical calculators

Analytical engine
Charles Babbage
( 1840)
first to incorporate an
arithmetic logic unit,
control flow, and
integrated memory

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

7 / 35

mechanical, only

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

Development of electronic digital computers

Vacuum tubes and punch cards


MANIAC I & II (Mathematical Analyzer, Numerical Integrator,
and Computer) (Los Alamos, 1952 and 1957)

Atanasoff-Berry Computer (ABC) (1937-42)


automatic solver for sets of linear equations
first use of binary arithmetic and electronic switching

Colossus (1943-44) - a British machine used to break German codes


during World War II
ENIAC (Electronic Numerical Integrator and Computer) (1946)
first large-scale (30 tons, 30 x 50 feet, 160 kW) general-purpose
electronic computer
John W. Mauchly and J. Prosper Eckert, Jr. (University of
Pennsylvania)
funded as part of the war effort to compute ballistics tables
later supported the Manhattan Project
programmed by 3,000 switches and hundreds of plug-in cables!

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

UNIVAC (1950s)

funded mostly by the US Census Bureau


commercial project of Mauchly and Eckert
their company (after many name changes) is now Unisys
UNIVAC I predicted Eisenhowers landslide victory over Stevenson in
the 1952 presidential election based on early vote counts

IBM 700 series (1950s)

programs input on punched cards


magnetic tape storage
high-speed line printer output

9 / 35

The IBM 360 series

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

10 / 35

DEC PDP-8 and PDP-11


Digital Equipment Corporation (DEC) had commercial success with
smaller, lower-cost computing hardware.

The IBM 360 series (1964 - 1977)

used the same basic hardware (discrete transistors and diodes,


silk-screened resistors on ceramic boards, a modular plug-in
construction)
came in a range of capabilities
allowed software to be ported directly to more capable hardware

PDP-8
introduced in 1965
sold over 50,000 units

but . . .
was usually leased for $1M per year
required a large, heavily air-conditioned space
needed a team of expert operators and programers
was available only at government organizations, major
research universities, and large corporations

History of digital computation

PDP-11
hundreds of thousands sold in 1970s and 1980s
designed to be mass-produced and easier to use
later versions had a CPU on LSI chips from Western Digital
supported a debugger (previously, operators would debug by setting
switches and inspecting indicator lights)

Programs were submitted as a deck


of punched on cards. Results were
returned (often some hours later), as
print on large sheets of paper.
Phyllis R. Nelson (Cal Poly Pomona)

Nicholas Metropolis, von Neumann architecture (stored program)


supported code breaking and the development of nuclear weapons
used for nonmilitary applications to evaluate capabilities

ECE 257 - Winter 2014

11 / 35

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

12 / 35

Apple ][

IBM PC

The Apple ][ (1977 - 1993)

The original IBM PC (1981 - 1987)

total sales of over 5 million units

base price: $1,565

original price: $1,298 (4k RAM) to $2,638 (48k RAM)


key characteristics

Intel 8080 microprocessor

6502 microprocessor, a new low-cost, high-performance device


cassette tape and, later, 5 14 inch floppy disk storage
open architecture and expansion slots
integer BASIC in ROM
disk copy-protection, enabling proprietary software including VisiCalc,
the first spreadsheet

40k ROM, 16k user memory


5 expansion slots
keyboard with numeric keypad
and function keys
optional color graphics display
and game paddles
Only 20 years before, an IBM computer
cost several million dollars
required a large, heavily air-conditioned space
required several dozen highly-trained people to operate and program it

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

13 / 35

Apple Macintosh

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

14 / 35

Perspective on hardware development

The first Apple Macintosh (introduced in 1983 with an ad during the

third quarter of Super Bowl XVIII)

What computing hardware could you buy for about $1,500?

Motorola 68000 microprocessor

In about 1980
Apple II: MOS Technology 6502 processor (3,510 transistors, 1
MHz), 4kB RAM, 5 14 inch floppy drive ( 100kB)
IBM PC: Intel 8080 processor (4,500 transistors, 4.77 MHz),
16kB RAM, 2 5 14 inch floppy drives
Today

128k memory
graphical user interface (GUI)
first white display background
came with MacWrite and
MacPaint

4th generation Intel Core i7 ( 1.4 109 transistors, 4 cores + 4


virtual cores, 3.4GHz with overclocking to 3.9GHz)
16 GB memory
2TB HDD + 32GB SSD

software and disks not


PC-compatible
The Apple LaserWriter, a color display, and programs such as
MacPublisher and Aldus PageMaker started the desktop publishing
industry.
Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

15 / 35

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

16 / 35

Whats in your phone?


Qualcomm snapdragon 800

History of programming

quad core Krait 400 CPU at up to 2.3 GHz per core


Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

17 / 35

Programming ENIAC

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

18 / 35

History of digital computation

ECE 257 - Winter 2014

20 / 35

. . . MANIAC . . .

Thousands of wires per program, requiring days to set up and more days
to check.
Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

19 / 35

Phyllis R. Nelson (Cal Poly Pomona)

Early high-level languages

C and unix

FORTRAN (FORmula TRANslation)


developed at IBM starting in 1954, released in 1957
designed for number crunching
still in use today (FORTRAN 2008, or ISO/IEC 1539-1-2010)
Matlab was originally written in FORTRAN by Cleve Moler in the late
1970s based on

Lisp
invented by John McCarthy (Stanford) in the late 1950s
intended for computing with symbolic expressions rather than numbers
strongly associated with artificial intelligence research
still used today
Common Lisp
Scheme
Emacs Lisp

C and unix (1968-1973)


develped (mostly) by Ken Thompson (unix) and Dennis Ritchie (C)
at Bell Laboratories
early work influenced by limited resources (PDP-7, 8k of 18-bit words
of memory)
by 1973 the unix kernel was written for the PDP-11 in C
distributed by Bell, then AT&T (first free, then commercial)
quickly ported to other hardware
Kernighan and Ritchie, The C Programming Language (K&R) - 1978
ANSI C (IEEE 1003.1-1988, ANSI X3.159-1989)

ALGOL (ALGOrithmic Language) (1958)


Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

21 / 35

The OReilley poster

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

22 / 35

Early operating systems


1950s
each new computer had at least one new operating system
moving existing programs to new hardware was difficult

History of Programming Languages


1954

1960

1965

1975

1970

1980

1990

1985

1995

2000

2001

2002

2003

2004

OS/360 (1966 - 1980)


IBM intended one o/s for the entire 360 series hardware
hardware differences made this challenging
software development was much slower than planned
3 versions of OS/360 were eventually released
Fred Brooks, manager of System 360 and OS/360, wrote the classic
software- and project-management book, The Mythical Man-Month,
based on lessons learned
1986

www.oreilly.com

For more than half of the fifty years computer programmers have been
writing code, OReilly has provided developers with comprehensive,
in-depth technical information. Weve kept pace with rapidly changing
technologies as new languages have emerged, developed, and
matured. Whether you want to learn something new or need
answers to tough technical questions, youll find what you need
in OReilly books and on the OReilly Network.

1990

1990

1991

1991

1993

1994

1995

1996

1996

1997

1997

2000

2001

2001

2003

2003

2004

This timeline includes fifty of the more than 2500 documented


programming languages. It is based on an original diagram created
by ric Lvnez (www.levenez.com), augmented with suggestions
from OReilly authors, friends, and conference attendees.
For information and discussion on this poster,
go to www.oreilly.com/go/languageposter.
2004 OReilly Media, Inc. OReilly logo is a registered trademark of OReilly Media, Inc. All other trademarks are property of their respective owners. part#30417

Download here

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

23 / 35

DOS/360 (1964 - ?)
System 360 hardware was available before OS/360 was completed so
DOS/360 was shipped with early System 360 hardware
customers didnt want to change
OS/360 required more memory than some 360 hardware
programs were not usually portable between OS/360 and DOS/360
Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

24 / 35

Other mainframe operating systems

Microcomputer operating systems


CP/M (1977)

Every manufacturer of computers offered at least one o/s:

WordStar, dBASE, Multiplan (ancestor of Excel)


languages: FORTRAN, BASIC, Turbo Pascal
AutoCAD
games

Burroughs
Control Data Corporation
Digital Equipment Corporation

Apple DOS (1978)


MS-DOS (1980)

GE
Scientific Data Systems

started as a port of CP/M to the Intel 8086


bought by Microsoft in 1981
licensed by IBM for the PC
versions for different hardware meant MS-DOS compatible and IBM
compatible software were incompatible
still used in some embedded x86 applications

Xerox
...
In contrast, because unix was written in C, porting C enabled porting of
the o/s.

Apple System 1 - System 7 (1984 - 1995)


Windows (1985) - originally a GUI running under MS-DOS

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

25 / 35

unix

Phyllis R. Nelson (Cal Poly Pomona)

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

26 / 35

ECE 257 - Winter 2014

28 / 35

Outline

History of digital computation

ECE 257 - Winter 2014

27 / 35

Introduction

History of digital computation tools


Hardware
Software

Numerical analysis and scientific computing

Mathematical software used in engineering

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

Early work

1960s and 1970s


finite element method
relaxation methods

von Neumann and Goldstine (Bulletin of the AMS, 1947)

chaos theory

Numerical Inverting of Matrices of High Order


one of first studies of roundoff errors

molecular dynamics
computer proofs (four color theorem - 1976)

Application areas

fast Fourier transform

fluid dynamics
weather prediction
atomic and molecular structure (quantum chemistry)
nuclear reactor design
computer-controlled machining
cryptography
...

...
Many technical computational tasks are common
solving systems of simultaneous linear equations (matrix inversion)
eigenvalue problems
regression, statistics
...

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

29 / 35

LINPACK and EISPACK

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

30 / 35

Numerical programming was . . .

Lots of programmers were writing code to do the same things, and


generating unreliable programs!
roundoff errors - hardware dependent

still too slow!


write FORTRAN code

underflow and overflow (numbers that are too big or too small)

punch it on cards

inefficient algorithms

submit cards and wait for results (sometimes hours)

not checking for conditions like dividing by zero

look at output and check for errors

bugs (programming errors)

revise code, punch some replacement cards

The US government funded specialists to write algorithms for


common computational tasks.

submit cards . . .

BLAS - operations on vectors


LINPACK - systems of linear equations, linear least squares regression
EISPACK - compute eigenvalues and eigenvectors of matrices

the human interface of programs often took more time to write than
the calculations

Now available as LAPACK at www.netlib.org


Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

31 / 35

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

32 / 35

And then there was Matlab

Outline

Cleve Moler - Math prof. at New Mexico, numerical analysis specialist,


and an author of LINPACK and EISPACK
wrote MATLAB to let his students use LINPACK and EISPACK
without writing FORTRAN
taught a graduate course in numerical analysis at Stanford using
MATLAB in 1979
some of his students extended Molers MATLAB and (with
permission) made it a commercial product
Jack Little and Steve Bangert reprogrammed MATLAB in C, added
M-files, toolboxes and better graphics
Moler, Little and Bangert founded The Mathworks in 1984

Introduction

History of digital computation tools


Hardware
Software

Numerical analysis and scientific computing

Mathematical software used in engineering

the IBM PC could now run MATLAB, opening a huge market

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

33 / 35

Useful mathematical software for engineers


Commercial:
Matlab
Mathematica
Maple
Mathcad
...
Free, at least for academic use:
octave - primarily for numerical calculations, syntax almost identical
to Matlab
gnuplot - plotting
maxima - symbolic calculations
sage - combination of many packages including octave, gnuplot,
and maxima
...
Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

35 / 35

Phyllis R. Nelson (Cal Poly Pomona)

History of digital computation

ECE 257 - Winter 2014

34 / 35

You might also like