Go to Antique Computer home page

Living with Vacuum Tube Computers

Under development June 23, 2013
needs amplification and checking by Bob Erickson and LaFarr Stuart

Introduction
Dear Friends

Please forgive me if I totally ignore earlier machines made by:

  • Konrad Zuse - relay machines are even more slow and painful than vacuum tubes (valves as the Brits say). Z3
  • John Atanasoff - a vacuum tube based special purpose simultaneous equation solver, abandoned because of World War II
  • George Stibitz - a relay machine

Here is a list of vacuum tube computers.

We are so spoiled by our modern computer technology, speed, storage, reliability, and price

We are familiar with living with computer technology now - cheap, fast, cool, small, user friendly, ...
- but what about then ??

I know only two people who worked on regular (parallel word fetch and add) vacuum tube machines -
- Bob Erickson, repaired an IBM 701 also at Los Alamos National Lab
- LaFarr Stuart, wrote assembler (in hex) for Iowa State "Cyclone", also an IAS machine

In college I got to play with an LGP-30 which had only 113 vacuum tubes and some 1,500 solid state diodes. Because it was bit serial, registers on the drum, (making it a great deal slower, cooler, cheaper (only $50,000 1958 dollars), and more reliable) it really doesn't count. But you got the flavor - Frieden Flexowriter capable of paper tape input and output.

The usual comparison - between early and current computers -
Item Computer "Then" - early 1950s Computer "Now" - 2010
Cost About 30 houses 1/2 a monthly rental for apartment or house
Size Most of a specially cooled room Small table or pocket
Watts About 20 electric stoves full on About a flashlight
Input Paper tape or IBM cards Voice, touch screen, keyboard, camera
Output Paper tape or printer Speaker, color video, color printer
Memory Less than a page of text A feature length movie, in color
"User friendly" No way
Punch request into paper tape or card
Load and run the job,
Feed request into computer
Unbelievable, Example
www.freemake.com/blog/ "Just ask Siri"
Speed Add 10,000 numbers/second - Don't ask, Number too big to think about
Repair Maybe every other day
Need maintenance person/staff on site
Goes out of style first
What is maintenance ?
Programming On-site staff of experts Buy an ap, cost of cup of coffee
Technology Vacuum Tube
Size - 1/2 hot dog
Transistor
Size - Can't see it
Procurement Big deal contract, wait months -
- or -
"Roll your own",
- and hire architect & techies - wait years -
Time to install special floor, electric power,
cooling, maintenance room, train staff
Walk into store, or mail order


With such difference as stated above - you might expect living with a "THEN" computer would be very different than a "NOW" computer ;-)

Where to start?

  1. Start at the beginning - turning on the machine -
    1. Since starting transients were hard on the vacuum tubes,
      you applied voltages rather slowly ( over a minute )
      to gently increase the temperature of the thousands of filaments and cathodes getting red hot.
      On the Cyclone, you could hear the motor driven VARIACs ramping up the voltages.
    2. If your memory was mercury delay lines, it could take hours for their temperatures to stabilize.

  2. Try hard never to turn the machine off - temperature cycling is never good !!
    1. There is the story of the ENIAC - It ran "rather reliably" at Moore School.
      Then it got moved to Aberdeen Proving Ground - and those people complained bitterly about the many vacuum tube failures each time they turned the machine "ON".
      The Moore School people were appalled "You mean you turn it OFF ??????"
    2. Magnetic drums flexed in various ways while cooling and heating -
      "My" LGP-30's drum got badly scratched because someone turned it on again too soon after it was turned off :-((

  3. Lets go back to circuit design -
    1. A surprisingly large number of power supply voltages were generated to enable "direct coupling" to reduce component count and "unreliable" "speed up capacitors".
    2. Power supply voltages were made adjustable - say +- 15 %
      - to permit "Margin Testing" to run test programs under marginal conditions
      - searching for marginal circuits (tubes) to be replaced before failing under customer usage.
    3. "Clock" rates were also adjustable - again to test the circuits under marginal conditions.

  4. Hardware - vacuum tubes, manufacture & "Burning-in"
    1. Reliability - "bad" reputation in consumer radio service
      Vacuum tubes enabled AM radios in the early 1900s. In the mid 1930s the All American Five radio became a cheap popular radio, not even using a power transformer. It, like many others, drove the tubes hard to get maximum output for minimum cost. Approximately once a year a tube failed. Not knowing which, the filaments were in series, you took the tubes to your local drug store, tested them, bought a replacement for the failed tube - and life was good again. :-))

      Folks justifiably considered vacuum tubes "unreliable". Lets assume the mean time to failure of a tube in that service was 5 years or about 1800 days. If you had a computer with 1,800 tubes you could be led to expect a tube failure about every day. A major inconvenience even if instant repair.

      Computer designers were well aware of the above problem, and tried to increase the reliability of their computers by many means:
      - Buy "premium" tubes of better design, materials, manufacture, testing, ...
      - Do not drive tubes hard or make them overheated
      - Turn tubes "ON" and "OFF" gently, and not very often
      - Use circuits rather tolerant of "weak" tubes
      - Enabling voltage margin testing to identify "weak" tubes.

    2. "Infant Mortality" and "Burn-in"
      There is an effect in manufactured goods that new items have a higher failure rate until used for a while, or "burned in". Most computer people had racks where tubes were heated and current drawn for several weeks then tested for performance before being made available for insertion into the computer. This helped reduce "infant mortality" in service.
    3. "Sleeping Sickness"
      In radio service small vacuum tubes conducted anode current all the time, in varying quantities. In computer service the tubes were logic elements - either "ON" (conducting) or "OFF" (not conducting). After some puzzling failures, it was discovered that some tubes would not conduct well after long periods of being "OFF" - maybe in a run/stop flipflop. Item 1, Item 2
      Further research indicated that cathodes with appreciable silicon tended to "Sleeping Sickness". Reducing the silicon in the cathodes reduced this problem.
    4. The memory characteristic of a Williams (CRT) tube is a "secondary effect", very weak, maybe a millivolt, and the electrical environment was noisy. The memory surface of the tubes was variable in manufacture - many problems. One story was that IBM was having Williams tube procurement problems - frequent failures. An IBM rep visited the Williams tube factory and found it very dusty, had been a mattress factory, and lint was getting into the tubes during manufacture. Lint on the memory surface could move about, causing moving bad spots.

  5. Hardware - Architecture - registers and instructions
    1. Two main working registers
      - A Register - most arithmetic and compare
      - Q Register - multiply, divide, shift
      Visible at console to operator/repair/program-debugger
      - A & Q Registers, Instruction Register, Program counter, status bits
    2. Most computers did not have index registers ( or "B Boxes" as the Brits called 'em)
      This means you *HAD* to use self modifying code to make a loop.
      To move a string of characters, say in an assembler to a symbol table,
      - you had to modify both the source and destination address in the instructions.
    3. Instructions available for use - "very reduced instruction set" ;-))
      1. "Hardware Integer Multiply and Divide" was a possible option
        - on some, the divide was for positive integers only
      2. Compare - usually limited - Cyclone could only test high order bit of A register
        - a compare for equality took a subtract
        - - and then see if sign changed when subtracting one from result -
        Think of using that when writing your assembler :-((((((
      3. "Hardware Floating Point" was almost unheard of -

  6. Hardware - Program and data "fast access" memory
    1. Williams tube - fast, expensive, flaky
    2. or Mercury delay line - slow, serial (one bit after another), reliable
    3. or Magnetic Drum (head per track) - slow, serial, reliable, cheap
    4. until Core Memory arrived in about 1956 - fast, reliable, "cheap",
    In one of the world's paradoxes,
    - flaky Williams tube memories were never given parity checking
    - reliable Core memories (developed years later) almost always had parity checking
    Go figure -

  7. Hardware - Peripherals
    1. Paper tape I/O was cheap and reliable, many early machines had no other peripherals,
      - not even a console typewriter - expensive, hard to interface, failure prone -
      The Frieden Flexowriter became popular, reliable typing, and punching/reading paper tape at 10 characters/second.
    2. IBM (arriving a little late ) made extensive use of punched cards, very familiar to them.
    3. Drum printers (made by Analex) were king until the (expensive) IBM 1403 arrived

  8. Software -
    1. Originally, coding was in machine language, to get an assembler going
    2. Much work was done in assembler as more compact, better use of machine quirks
    3. An early computer designer, Konrad Zuse recognized the coding problem early and designed Plankalkül, the world's first compiler (never implemented).
    4. Compilers, such as FORTRAN, COBOL, and others arrived in the late 1950s
    5. There were no "Operating System" wars or upgrades
      - not enough memory for an "operating system" - yet to be invented
      1. All of the I/O operations/control/error-recovery was part of your program.
      2. Only one program ran in the computer at a time - memory was very limited

  9. Software - Program development


Go to Antique Computer home page
Started June 22, 2013