history 398 fall 2004 george h. bindon history 398lecture 21 in our own image: creating the computer

30
History 398 Fall 2004 George H. Bindon History 398 Lecture 21 IN OUR OWN IMAGE: CREATING THE COMPUTER

Upload: vivien-bishop

Post on 30-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

History 398 Fall 2004

George H. Bindon

History 398 Lecture 21

IN OUR OWN IMAGE:

CREATING THE COMPUTER

History 398 Fall 2004

In the Beginning...

• The Protean Machine

1 0 01 1 1 1 1 1 0000

State Table

R/W

H

ead

History 398 Fall 2004

In Our Image

• John von Neumann• First Draft of a Report on the EDVAC (1945)

– Alan Turing *38 » “On Computable Numbers with an Application

to the Entscheidungsproblem” (1936)– Warren McCulloch and Walter Pitts

» “A Logical Calculus of the Ideas Immanent in Nervous Activity” (1943)

• General and Logical Theory of Automata (1954)

History 398 Fall 2004

CControl

CArithmeticI

J

Memory

Recording

John von Neumann et al., EDVAC Architecture

+ A I + J- A I - J* A A + I*J/ A I/Ji A Ij A Js A (A >= 0 ? I : J)

(A) O

msm 98

Circuit diagram from the John W. Mauchly PapersUniversity of Pennsylvania

History 398 Fall 2004

It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between analysis and physics in the last. The development of this relationship demands a concern for both applications and mathematical elegance.

John McCarthy on Mathematical Science

History 398 Fall 2004

The Mother of Necessity

• ENIAC vs EDVAC: hardware & software

• The first big computers: ENIAC to UNIVAC

• Design of computer during these years open and flexible: the device assumed different shapes depending on who was using it.

History 398 Fall 2004

History 398 Fall 2004

EDSAC, Cambridge University, 1949

History 398 Fall 2004

ENIAC

EDVAC

Business, Industry& Government

data processing organization of production

management design & maintenanceof large systems

electricitytelecommunications

Technology & Science

mathematical calculation

mechanicallogic

EDP OR/MS automationrobotics

ESSscientific computation

computational science

Computer Science

theorysystems

human augmentation

military C&C

SAGEWWCCS

C3I

c o m p u t e r s

artificial intelligenceartificial life

History 398 Fall 2004

Communities of Computing

• Number Crunching (FORTRAN)• Data Processing (COBOL)• Production Flow - Automation,

Robotics• Management Systems - OR/MS• Communication Systems - ESS• Computer (Algol)

– Operating System = Programming System + Supervisor

History 398 Fall 2004

Computer Systems

• Programming systems– make work of programmer easier and

more efficient• Operating systems

– make computer more efficient for users, while protecting computer from them

• Application Systems– make the computer do something

useful

History 398 Fall 2004

Programming Languages

• machine language • assemblers• POL (problem-oriented language)

– FORTRAN (1956)– LISP (1959)– COBOL (1960)– Algol (1960)

History 398 Fall 2004

mtop : int;

proc move (from, to : int) : int;{ mtop := mtop + 1; moves[mtop] := 10*from + to;}

proc towers (ndisk, from, to, hold : int) : int;{ if (ndisk = 1) then move(from, to); else { towers(ndisk - 1, from, hold, to); move(from, to); towers(ndisk - 1, hold, to, from); } fi;}

main(){ mtop := 0; towers(4, 1, 2, 3);}

JMP 47 0 0MOVI 74 1 1LOAD 8001 0 2009MOVI 2009 1 2ADDI 1 2 1MOVI 1 1 74OFST 6 74 2010LOAD 8010 0 2011MOVI 2011 1 1MOVI 2008 1 2MULI 1 2 1MOVI 2007 1 2ADDI 1 2 1MOVI 1 1 6010RET 0 0 0MOVI 2010 1 1LOAD 8001 0 2011MOVI 2011 1 2EQL 1 2 1JMPC 25 0 0MOVI 2008 1 2019MOVI 2009 1 2020CALL 2 2012 2JMP 46 0 0MOVI 2010 1 1LOAD 8001 0 2012MOVI 2012 1 2SUBI 1 2 1MOVI 2008 1 2020MOVI 2007 1 2021MOVI 2009 1 2022MOVI 1 1 2023CALL 4 2013 16MOVI 2008 1 2020MOVI 2009 1 2021CALL 2 2013 2MOVI 2010 1 1LOAD 8001 0 2013MOVI 2013 1 2SUBI 1 2 1MOVI 2009 1 2021MOVI 2008 1 2022MOVI 2007 1 2023MOVI 1 1 2024CALL 4 2014 16RET 0 0 0LOAD 8000 0 75MOVI 75 1 74LOAD 8004 0 76LOAD 8001 0 77LOAD 8002 0 78

History 398 Fall 2004

History 398 Fall 2004

Algol [60]Algol 68

Algol WCPL

BCPL

B

C

C++

Java

Simula

Pascal

Modula Ada

C with Classes

The Algol Family Tree

History 398 Fall 2004

Operating systems: automating the

computer• Programmer at machine• Batch processing by operators• Monitors• Common interface between programming systems

and computer: OS = monitor + programming system

• Multiplexing for time-sharing• Arguably most complex artifact ever constructed,

grow to occupy ever-larger portion of resident memory and to constitute ever greater portion of total cost of machine and of machine's development

History 398 Fall 2004

Eric S. Raymond,The Art of Unix Programming

History 398 Fall 2004

Human-Machine Interaction

• Military Command and Control (C3I) – Real-time systems (SAGE -> SABRE)

• Amplifying Intelligence– Vannever Bush, “As We May Think” (1945)– JCR Licklider, “Man-Computer Symbiosis” (1960)– Douglas C. Engelbart, “Augmenting Human Intellect”

(1962)

• Emulating Intelligence -AI– Machines Who Think– Machines That Think– Cognitive Science - The (Re)Discovery of the Mind

History 398 Fall 2004

Personal Computing

• Systems + Human Augmentation• Miniaturization

History 398 Fall 2004

vacuum tube

transistor

integrated circuit

MSI, LSI, VLSI

The Computer Market, 1953-83

mainframe

minicomputer

microcomputer

1946 1958 1965 1971 1977 1981

IBM and theSeven Dwarves

System 360, 370

DEC PDP-8 VAX 11

Data General Nova Eclipse

Apple II IBM PC

History 398 Fall 2004

History 398 Fall 2004

Personal Computing

• Systems + Human Augmentation• Miniaturization

Accidental Empires (Cringely)Apple (1977)IBM (1981)Microsoft + Intel = Wintel (1985)

The Second Self (Turkle)Life on the Screen (Turkle)

The Web of Information

History 398 Fall 2004

Embedded Computing