Digital Computing in 1951 or, How I Spent my Summer Vacation Bob - - PowerPoint PPT Presentation

digital computing in 1951
SMART_READER_LITE
LIVE PREVIEW

Digital Computing in 1951 or, How I Spent my Summer Vacation Bob - - PowerPoint PPT Presentation

Digital Computing in 1951 or, How I Spent my Summer Vacation Bob Braden USC/ISI 1 21 Sept 01 Braden Why 1951? Exactly 50 years (half century) ago (Century >> 1) A watershed year in the history of digital


slide-1
SLIDE 1

21 Sept 01 Braden 1

Digital Computing in 1951

  • r,

“How I Spent my Summer Vacation” Bob Braden USC/ISI

slide-2
SLIDE 2

21 Sept 01 Braden 2

Why 1951?

  • Exactly 50 years (half century) ago (Century >> 1)
  • A watershed year in the history of digital computing

– Externally-programmed machines

  • --> stored program machines

– Electro-mechanical machines (counter wheels & relays)

  • --> vacuum tubes

– One-of-a-kind machines

  • --> production machines
slide-3
SLIDE 3

21 Sept 01 Braden 3

How was Computing Done in 1951?

  • Scientific & engineering computation used:

– Books of tables – Mechanical desk calculators – Slide rules – Punched card equipment – Large-scale automatic calculators

  • Business computing used:

– Mechanical desk calculators – Punched card equipment

slide-4
SLIDE 4

21 Sept 01 Braden 4

Overview of Talk

  • Pre-1951

– Scientific computing with punched cards – Early automatic calculators

  • 1951: Automatic Calculators

– Electronic punched card equipment – SSEC

  • 1951: Electronic Computers

– State of the art in hardware & software – IBM 701

  • Wrapup -- later developments
slide-5
SLIDE 5

21 Sept 01 Braden 5

Scientific Computing with Punched Cards

  • Scientific and engineering computation made extensive use
  • f punched card equipment in 1930s, 1940s, and 1950s.
  • Nurtured by IBM center at Columbia University
  • Here “programming” => plugging wires into

interchangable plugboards

  • Sort of “logical Lego” -- rather a fun puzzle.
  • Some complex problems used 20 different plugboards.
  • Sometimes needed to know details of machine logic & timing.

and operator instructions.

slide-6
SLIDE 6

21 Sept 01 Braden 6

Example: Large plugboard...

Example of upper limit of plugboard complexity (Only top half is shown) Most lines represent 5 - 11 wires each; ~ 260 wires total

slide-7
SLIDE 7

21 Sept 01 Braden 7

Timing of plugboard hubs

Typical plugboard timing chart...

slide-8
SLIDE 8

21 Sept 01 Braden 8

Operator Instructions: sample

  • “Integration of the Differential Equation d2P/dr2 = P* F(r) Using the Type

601 Multiplying Punch”, P. Herget, Proc Scientific Comp Forum, IBM, 1948.

  • Start with stacks of salmon, blue, green, and manila cards.
  • On one cycle, [the operator] performs the following ... operations:

– 1. The salmon card is allowed to fall into the stacker. – 2. The blue card is allowed to fall into the stacker. – 3. The top card from the blue pile is picked up and held in one hand. – 4. The first green card is allowed to fall into the stacker. – 5. The second green card is placed behind the blue card being held... – 6. The top card from the green pile is picked up and placed behind the

  • ther cards held in one hand.

... – 11. The last salmon card is placed (in the direct position) ahead of all cards being held in one hand, and – 12. This deck is now placed in the feed hopper to begin the next cycle.

slide-9
SLIDE 9

21 Sept 01 Braden 9

Scientific Computing with Punched Cards

  • Punched Card Machines:

– “Accounting Machines”

  • Read cards, Add/subtract using electro-mechanical counter wheels,

and print results. Add time ~ 400ms

– “Multiplying Punches”

  • Plugboards: program limited sequence of + - * /; repeat & test
  • Multiply time ~ 2-5 sec

– Keypunches, sorters, collators, reproducers, ...

  • Create, sort, interleave, copy, ... card decks

( Approx 0.5 micro-MIPS)

slide-10
SLIDE 10

21 Sept 01 Braden 10

Punched Card Example

Soft X-ray scattering from a solid at small angles

– Use IBM 602A multiplying punch --electro-mechanical – Read a, b, c, d from a card, compute, and punch result: sqrt(a*(b-c)+ sqrt(4*(b+c)*2 + d/3.675)) – Used Newton-Rapheson iteration for each sqrt() – Took ~2 minutes (chirping & clicking!) per card. – 2 days to set up and test plugboard

slide-11
SLIDE 11

21 Sept 01 Braden 11

Automatic Calculators before 1951

  • 19th Century: Babbage’s Analytical Engine
  • 1930s (pre-WW II)

– John V. Atanasoff, Iowa State

  • Vacuum tubes, rotating capacitive memory (D-R-RAM!)

– Konrad Zuse, Germany

  • Relays

– George Stibitz, Bell Labs

  • Relays

These have been thoroughly chewed over by books and articles...

slide-12
SLIDE 12

21 Sept 01 Braden 12

Large-Scale Auto Calculators in 1951

  • Consider those built/under construction in 1951.
  • Ignore UK developments and many secondary efforts.
  • Distinguish:

(1) Automatic calculators

Externally programmed using paper tape or punched cards or plugboards and switches...

(1a) One-of-a-kind large-scale calculators (1b) Electronic punched card machines (2) Large-scale electronic computers

Stored program (“Von Neumann machines”)

slide-13
SLIDE 13

21 Sept 01 Braden 13

Automatic Calculators: 1951

MACHINE WHO WHEN EXTERNAL PROGRAMMING TECHNOLOGY WORD SIZE MEMORY WORDS ADD TIME MULTIPLY TIME (max)

Mark I ASCC Harvard 1943 24 col PT 2200 ctr wheels + 3300 relays 23D+S 72 (ctr wh) 300 ms 6000 ms Mark II Harvard 1948 TTY PT 13000 relays 10D+S +5exp 96 (relays) 200 ms 700 ms Mark III Harvard 1952 Mag tape 4500 VT 16D+S 4350 (drum) 4 ms 12.75 ms ENIAC U Penn 1946 Plug wire, switches 19000 VT 10D+S 20 (ctr) 0.2 ms

  • 2. ms

SSEC IBM 1948 80 col PT 12000 VT + 21400 relays 19D+S 150 (relays) 0.3 ms 20 ms IBM 604 IBM 1948 Punched cards 1400 VT 8D+S ~ 4 0.5 ms 12.5 ms IBM CPC IBM 1949 Punched cards VT (604) & Ctr wheels 10D+S < 100 (ctr wh) 400 ms (FP) 400 ms (FP)

slide-14
SLIDE 14

21 Sept 01 Braden 14

Electronic Punched Card Equipment

  • 1948 IBM 604 “Electronic Calculating Punch”
  • The first mass-produced electronic calculator: 5600 built.
  • Plugboard with 60 program steps + - * / , repeat, test.
  • Technologically: miniaturized,

cleverly packaged ENIAC

Both added by counting pulses; ENIAC: 1 digit = ring ctr of 10 FFs, 604: bcd (1248) ctr of 4 FFs.

ENIAC

The Origins of Digital Computers, Randall Ed., Springer-Verlag, 1975, p 232.

IBM 604

slide-15
SLIDE 15

21 Sept 01 Braden 15

Electronic Punched Card Equipment

  • 1949: IBM Card Programmed Calculator (CPC)
  • Technological kludge, but ~ 700 built, especially for So Cal

aerospace, research labs, universities.

  • Several IBM punched card machines cabled together.

– 604: plugboard wired as calculator, 10digit floating point. – Accounting machine to read instruction cards and print results; 3 address instructions, one per card. – Storage units using counter wheels < 100 #s – To program a loop: feed same card deck through again...!

The Origins of Digital Computers, Randall Ed., Springer-Verlag, 1975, p 232.

slide-16
SLIDE 16

21 Sept 01 Braden 16

IBM SSEC -- 1948

  • Selective Sequence Electronic Calculator
  • TJ Watson: ‘...come up with a “Super Calculator” that

would eclipse the Harvard machine and consign it to technological oblivion along with any likely offspring’.

  • C. J. Bashe, Annals of History of Computing Oct 82.
  • SSEC: ambitious in size and complexity;

‘... Capable of solving problems far too large for any

  • ther machines in existence in 1948.’ C. J. Bashe, ibid.

SSEC IBM 1948 12000 VT + 21400 relays 19D+S 150 (relays) 20 ms 20 ms Mark I ASCC Harvard 1943 2200 ctr wheels + 3300 relays 23D+S 72 300 ms 6000 ms

slide-17
SLIDE 17

21 Sept 01 Braden 17

IBM SSEC

Public showcase: The SSEC was built into walls of a large room (1800 sq ft), with a plate glass window on 57th st & Madison Ave, NYC, next to IBM World HQ. Lots of dancing lights and spinning tapes were visible... But when the machine was down, they drew the curtains! SSEC

A Computer Perspective, C. & R. Eames, Harvard U Press, 1973

slide-18
SLIDE 18

21 Sept 01 Braden 18

Official SSEC Picture

TJ Watson hated the pillars, so they magically disappeared!

IBM Corp., 1948

slide-19
SLIDE 19

21 Sept 01 Braden 19

SSEC Control Console

  • T. J. Watson

Now THAT is a proper computer console !!

slide-20
SLIDE 20

21 Sept 01 Braden 20

SSEC

  • Conservative , transitional technology --

Relay memory but vacuum tube arithmetic unit.

  • Memory hierarchy:

– Vacuum tube memory: 8 words – Relay memory: 150 words – Paper tape and cards: indefinite

Part of Arithmetic Unit

2 digits (8 FFs)

slide-21
SLIDE 21

21 Sept 01 Braden 21

SSEC

  • Eccles-Jordan 4 bit counter with feedback to count to 10
slide-22
SLIDE 22

21 Sept 01 Braden 22

SSEC

  • Instruction word size same as data word size = 20 digits;

instructions fetched over data paths.

  • Externally programmed, but could compute next

instruction.

  • 3 + 1 address instructions
  • Instructions normally read from paper tape loops:
  • Paper tape used IBM card stock, so 1 row held 80 punches

(bits).

slide-23
SLIDE 23

21 Sept 01 Braden 23

SSEC: Tape Memory Unit

Each subroutine used a separate tape

  • loop. Program execution was visible

in the spinning tapes...

And this is the machine that made the program tapes...

slide-24
SLIDE 24

21 Sept 01 Braden 24

(almost) Real Sample of SSEC code

Iterate: QQQ QQQ

A separate tape loop has iterately computed sqrt(Xn) and left result in relay memory location 129.

Op First Second Result Shift COMMENT Code Operand Operand

EM RM EM RM EM RM

15 3 120 5 129 1 021 10R B * sqrt(Xn) 02 1 000 2 612 4 022 + 1/4

EM=electronic memory RM= relay memory

Use value saved in electronic memory

20 digits

Multiply Add

slide-25
SLIDE 25

21 Sept 01 Braden 25

(almost) Real Sample of SSEC code

Op First Second Result Shift COMMENT Code Operand Operand __________ __________ _________

S EM RM S EM RM EM RM

15 3 120 5 129 1 021 10R B * sqrt(Xn) 02 1 000 2 612 4 022 + 1/4 15 3 011 5 128 1 023 10R A * Xn 15 1 000 4 000 5 126 * 15 3 613 5 000 1 194 * 1/12 02 1 000 2 121 5 167 + C -> Xn+1 02 5 000 - 6 000 2 044 Xn+1 - Xn 04 ------ 5 000 1 100 5R Xn+1/10**5 = tol. 02 1 000 -abs 2 000 3 158 19R (Shift off all but sign) 02 ------ 6 127 6 128 Xn+1 -> Xn

(Sign in 158 selects next instruction: if -: repeat loop; else: proceed to next)

Sqrt tape Repeat Next Tape loop

slide-26
SLIDE 26

21 Sept 01 Braden 26

SSEC Significance

  • Completed ~30 problems over its 4 year lifetime.

– Planetary orbits, fluid flow, atomic fields, optics,

  • rdinance, hydrodynamics, ...

– Included one large classified problem for AEC/LANL.

  • SSEC was a technological brontosaurus; no significant

effects on later machines.

  • SSEC did “star” in one movie: “Walk East on Beacon”
  • SSEC helped shape the popular image of a “Giant Brain”
slide-27
SLIDE 27

21 Sept 01 Braden 27

Large-Scale Electronic Computers: 1951

MACHINE WHO WHEN TECHNOLOGY WORD SIZE MEMORY ADD TIME MULT TIME

EDSAC Cambridge 1949 3000 VT, serial 36b 512 (HgDL) 1400 us 5400 us EDVAC U Penn 1951 3600 VT, serial 44b 1024 (HgDL) 846 us 2900 us Univac I Remington Rand 1951 ?? VT, serial 12 DD (7b chars) 1000 (HgDL) 525 us 2150 us IAS Inst Adv Study 1952 VT, parallel 40b 4096 (CRT') 62 us 713 us IAS clones (various) later VT, parallel 40b 4096 (CRT) IBM 701 IBM 1952 VT, parallel 36b 4096/8192 (CRT) 60 us 456 us

Important stored program machines built/under construction

slide-28
SLIDE 28

21 Sept 01 Braden 28

Large-Scale Electronic Computers: 1951

  • Exploring the design space:

– Binary or decimal radix – Serial or parallel arithmetic logic – Various word sizes

  • Hardware features invented but not yet available in US:

– Floating point – Index registers

  • Building an arithmetic engine using vacuum tubes was a

straightforward engineering problem.

  • The BIG technical problem was memory!
slide-29
SLIDE 29

21 Sept 01 Braden 29

Memory Technologies, 1951

  • Acoustic (Hg) delay lines
  • Circulate acoustic pulses through Hg column
  • Store 400 - 800 bits in column. Latency ~ 400 usec
  • Alan Turing suggested gin (H20 & alcohol)
  • CRTs: dynamic capacitive memories
  • Secondary electrons create potential wells on tube face
  • Semi-transparent conductive surface on outside face of tube
  • Periodically read & dynamically regenerate
  • Magnetic drums

Best guess: would need 4K words for most problems.

slide-30
SLIDE 30

21 Sept 01 Braden 30

Computer Hardware Reliability: 1951

  • Hardware reliability was a BIG problem in 1951!!
  • Electromechanical devices were flaky, of course.
  • Vacuum tubes often failed in on/off operation.
  • In early machines, CRT memory failures could be

programmed!

– “Read-around ratio” (how often can read

  • ne spot before surrounding

spots are compromised.) Tight loops were BAD!

  • Early magnetic drums were

flakey, too!

CRT face with raster of 1s, 0s

40 bits 32 words

slide-31
SLIDE 31

21 Sept 01 Braden 31

Computer Hardware Reliability: 1951

  • CRT memory on IBM 701 largely solved read-around

problem by interleaving addresses, but still required frequent critical adjustment. MTBF 10 mins to 8 hrs.

  • 1951 programmers had to expect machine errors

=> Had to program extensive checking, duplicate calculations, elaborate checkpoint/restart code.

  • Core memory and better vacuum tubes (and later

transistors) cured the reliability problems within a few years.

slide-32
SLIDE 32

21 Sept 01 Braden 32

Computer Software: 1951

  • Programming basics well understood --

– Basic treatise: Wilkes, Wheeler & Gill, “Programming for an

Electronic Digital Computer”, Addison-Wesley, 1951.

  • Parametrized subroutines
  • Subroutine libraries [on paper tape/punched cards]
  • Relocating loaders
  • Interpreters
  • 2-3 years in future:

– Fully symbolic assemblers – Fortran

  • Programmers ~ mathematicians
slide-33
SLIDE 33

21 Sept 01 Braden 33

Large-Scale Electronic Computers: 1951

MACHINE WHO WHEN TECHNOLOGY WORD SIZE MEMORY ADD TIME MULT TIME

EDSAC Cambridge 1949 3000 VT, serial 36b 512 (HgDL) 1400 us 5400 us EDVAC U Penn 1951 3600 VT, serial 44b 1024 (HgDL) 846 us 2900 us Univac I Remington Rand 1951 VT, serial 12D (7b chars) 1000 (HgDL) 525 us 2150 us IAS Inst Adv Study 1952 VT, parallel 40b 4096 (CRT') 62 us 713 us IAS clones (various) later VT, parallel 40b 4096 (CRT) IBM 701 IBM 1952 VT, parallel 36b 4096/8192 (CRT) 60 us 456 us

Important stored program machines built/under construction

slide-34
SLIDE 34

21 Sept 01 Braden 34

Parallel Binary Computers

  • IAS (Institute for Advanced Study) Computer 1952

– Seminal machine, built at IAS to design by Von Neumann & Goldstein.

  • IBM 701: “Defense Calculator” 1952

– Elegantly engineered and packaged realization of Von Neumann’s IAS design. – Two one-address instructions per word – Minimalist op code set

slide-35
SLIDE 35

21 Sept 01 Braden 35

IAS Computer 1952

John Von Neumann in front of IAS (Institute for Advance Study) Computer

A Computer Perspective, C. & R. Eames, Harvard U Press, 1973

slide-36
SLIDE 36

21 Sept 01 Braden 36

From 1/Kind Computers...

Manchester Univ Mark I --1949 IAS Machine 1952 SEAC 1950

Early British Computers, Lavington, Manchester U Press, 1980, pp 38-39 A Computer Perspective, C. & R. Eames, Harvard U Press, 1973 A Computer Perspective, C. & R. Eames, Harvard U Press, 1973

slide-37
SLIDE 37

21 Sept 01 Braden 37

... To Production Computers

IBM 701 -- “Defense Calculator”

Boxes rolled on wheels; cabled together under the raised floor

slide-38
SLIDE 38

21 Sept 01 Braden 38

. IBM 701 installed at IBM WHQ, NYC, 1952

(The same room that held the SSEC)

slide-39
SLIDE 39

21 Sept 01 Braden 39

IBM 701 Programming

  • 701 was designed as a commercial product: clearly

documented, careful human engineering.

  • WW&G’s programming notation was at best obscure!
  • IBM foresaw that some programmers might not be graduate

mathematicians.

  • Programming technology: taken straight from Wilkes,

Wheeler, & Gill (EDSAC/EDVAC)

  • Subroutines
  • Relocating loader
  • Regional assembler
slide-40
SLIDE 40

21 Sept 01 Braden 40

701 Software

  • Dedicated machine -- no OS of any kind!

– Read card deck: bootstrap loader, assembler, source program, data. – Had to manually splice magnetic tapes onto leaders

  • Debugging Tools:

– Octal memory dump to printer – Tracing

  • We really DID stick chad back into punched cards to make

binary patches!

  • There was also a floating point interpreter (Speedcode)

(written by ex-SSEC staffer John Backus)

slide-41
SLIDE 41

21 Sept 01 Braden 41

Regional Assembly Language: IBM 701

'R ;Q & $ ;Q % VTUW ;Q XQWLO DEV;Q ;Q ;Q

07F 0000 + ADD 00A 0001 Save exit address 07F 0001 + STORE A 07F 0023 07F 0002 + TR 35F 0000 A(sqrt subroutine) 07F 0003 + STOP 00N 0002 A(Xn) 07F 0004 + STOP 00N 0004 A(Xn+1) 07F 0005 - LOAD MQ 00K 0102 Get B 07F 0006 - MPY ROUND 00N 0004 * sqrt(Xn) 07F 0007 - ADD 00K 0006 + 1/4 07F 0008 - STORE 00N 0000 07F 0009 - LOAD MQ 00N 0002 Xn 07F 0010 - MPY ROUND 00K 0100 * A 07F 0011 + L RIGHT 000 0035 AC -> MQ 07F 0012 - MPY ROUND 00K 0008 * 1/12 07F 0013 + L RIGHT 000 0035 AC -> MQ 07F 0014 - MPY ROUND 00N 0000 07F 0015 - ADD 00K 0104 +C 07F 0016 - STORE 00N 0006 = Xn+1 07F 0017 - SUB 00N 0002

  • Xn

07F 0018 - STORE 00N 0008 save diff 07F 0019 - R SUB 00N 0006

  • Xn+1

07F 0020 + A RIGHT 000 0015 >> 15 = tolerance 07F 0021 - ADD ABS 00N 0008 07F 0022 + TR + 07F 0002 Go around loop again 07F 0023 + TR 000 0000 (exit)

Relocatable (specifies “region ”)

  • r zero (absolute)
slide-42
SLIDE 42

21 Sept 01 Braden 42

1954: Future Rumors...

  • ... That John Backus was leading a group to develop a

program that could write (efficient) programs, given algebraic statements. [I found this hard to believe...!]

  • ... That IBM was developing a machine with new memory

technology (magnetic cores) that could run for months or even (gasp) years without dropping a bit!

  • ... That the 704 designers had developed a truly symbolic

assembler.

slide-43
SLIDE 43

21 Sept 01 Braden 43

701: Beginning of a Computer Dynasty

  • Beginning of the IBM 36-bit computer dynasty...

– 701: CRT memory, basic VonN/IAS design – 704: Core memory, 3 index registers and floating point – 709: Added channels (i.e., DMA I/O) – 7090: Transistorized

  • Parallel development of decimal business computers

– IBM 702, 705, 650, 1401, ...

  • And there were all the other computer companies...
slide-44
SLIDE 44

21 Sept 01 Braden 44

Later Developments

Later software developments:

  • Indirection, pointers
  • Stacks and queues
  • List processing
  • Operating systems
  • The word “software”
  • Computer Science

1951 was just the beginning of the computer story, but this is the end of this talk!