Digital Computing in 1951 Or, “How I Spent My Summer Vacation”
Total Page:16
File Type:pdf, Size:1020Kb
Digital Computing in 1951 or, “How I Spent my Summer Vacation” Bob Braden USC/ISI 21 Sept 01 Braden 1 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 21 Sept 01 Braden 2 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 21 Sept 01 Braden 3 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 21 Sept 01 Braden 4 Scientific Computing with Punched Cards • Scientific and engineering computation made extensive use of 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. 21 Sept 01 Braden 5 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 21 Sept 01 Braden 6 Timing of plugboard hubs Typical plugboard timing chart... 21 Sept 01 Braden 7 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 other 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. 21 Sept 01 Braden 8 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) 21 Sept 01 Braden 9 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 21 Sept 01 Braden 10 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... 21 Sept 01 Braden 11 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”) 21 Sept 01 Braden 12 Automatic Calculators: 1951 EXTERNAL WORD MEMORY ADD MULTIPLY MACHINE WHO WHEN TECHNOLOGY PROGRAMMING SIZE WORDS TIME TIME (max) Mark I 2200 ctr wheels 72 Harvard 1943 24 col PT 23D+S 300 ms 6000 ms ASCC + 3300 relays (ctr wh) 10D+S 96 Mark II Harvard 1948 TTY PT 13000 relays 200 ms 700 ms +5exp (relays) 4350 Mark III Harvard 1952 Mag tape 4500 VT 16D+S 4 ms 12.75 ms (drum) Plug wire, ENIAC U Penn 1946 19000 VT 10D+S 20 (ctr) 0.2 ms 2. ms switches 12000 VT 150 SSEC IBM 1948 80 col PT 19D+S 0.3 ms 20 ms + 21400 relays (relays) Punched IBM 604 IBM 1948 1400 VT 8D+S ~ 4 0.5 ms 12.5 ms cards Punched VT (604) & < 100 400 ms 400 ms IBM CPC IBM 1949 10D+S cards Ctr wheels (ctr wh) (FP) (FP) 21 Sept 01 Braden 13 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, The Origins of Digital Computers, Randall Ed., cleverly packaged ENIAC Springer-Verlag, 1975, p 232. ENIAC IBM 604 Both added by counting pulses; ENIAC: 1 digit = ring ctr of 10 FFs, 604: bcd (1248) ctr of 4 FFs. 21 Sept 01 Braden 14 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. 21 Sept 01 Braden 15 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. Mark I 2200 ctr wheels Harvard 1943 23D+S 72 300 ms 6000 ms ASCC + 3300 relays 12000 VT 150 SSEC IBM 1948 19D+S 20 ms 20 ms + 21400 relays (relays) • SSEC: ambitious in size and complexity; ‘... Capable of solving problems far too large for any other machines in existence in 1948.’ C. J. Bashe, ibid. 21 Sept 01 Braden 16 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 21 Sept 01 Braden 17 Official SSEC Picture IBM Corp., 1948 TJ Watson hated the pillars, so they magically disappeared! 21 Sept 01 Braden 18 SSEC Control Console Now THAT is a proper computer console !! T. J. Watson 21 Sept 01 Braden 19 SSEC • Conservative , transitional technology -- Relay memory but vacuum tube arithmetic unit. • Memory hierarchy: Part of Arithmetic Unit – Vacuum tube memory: 8 words – Relay memory: 150 words – Paper tape and cards: indefinite 2 digits (8 FFs) 21 Sept 01 Braden 20 SSEC • Eccles-Jordan 4 bit counter with feedback to count to 10 21 Sept 01 Braden 21 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). 21 Sept 01 Braden 22 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... 21 Sept 01 Braden 23 (almost) Real Sample of SSEC code Iterate: ;Q & $ ;Q % VTUW ;Q XQWLODEV ;Q;Q ;Q A separate tape loop has iterately computed sqrt(Xn) and left result in relay memory location 129. EM=electronic RM= relay memory memory Op First Second Result Shift COMMENT Use value saved in Code Operand Operand electronic memory EM RM EM RM EM RM Multiply 15 3 120 5 129 1 021 10R B * sqrt(Xn) 02 1 000 2 612 4 022 + 1/4 Add 20 digits 21 Sept 01 Braden 24 (almost) Real Sample of SSEC code Op First Second Result Shift COMMENT Code Operand Operand __________ __________ _________ S EM RM S EM RM EM RM Sqrt tape 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 * Repeat Tape 15 3 613 5 000 1 194 * 1/12 loop 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) Next 21 Sept 01 Braden 25 SSEC Significance • Completed ~30 problems over its 4 year lifetime. – Planetary orbits, fluid flow, atomic fields, optics, ordinance, hydrodynamics, ... – Included one large classified problem for AEC/LANL. • SSEC was a technological brontosaurus; no significant effects on later machines.