The LGP-30, standing for Librascope General Purpose and then Librascope General Precision, is an early off-the-shelf computer. It was manufactured by the Librascope company of Glendale, California (a division of General Precision Inc.), and sold and serviced by the Royal Precision Electronic Computer Company, a joint venture with the Royal McBee division of the Royal Typewriter Company. The LGP-30 was first manufactured in 1956, at a retail price of $47,000, .
The LGP-30 was commonly referred to as a desk computer. Its height, width, and depth, excluding the typewriter shelf, was . It weighed about , and was mounted on sturdy casters which facilitated moving the unit.
Design
The primary design consultant for the Librascope computer was Stan Frankel, a Manhattan Project veteran and one of the first programmers of ENIAC, assisted by James Cass, at the time a graduate student at Caltech. They designed a usable computer with a minimal amount of hardware. The single address instruction set had only 16 commands. Magnetic drum memory held the main memory, and the central processing unit (CPU) processor registers, timing information, and the master bit clock, each on a dedicated track. The number of vacuum tubes (113) was minimized by using solid-state diode logic, a bit-serial architecture and multiple use of each of the 15 flip-flops.
It was a binary, 31-bit word computer with a 4096-word drum memory. Standard inputs were the Flexowriter keyboard and paper tape (ten six-bit characters/second). The standard output was the Flexowriter printer (typewriter, working at 10 characters/second). An optional higher-speed paper tape reader and punch was available as a separate peripheral.
The computer contained 113 electronic tubes and 1450 diodes. The tubes were mounted on 34 etched circuit pluggable cards which also contain associated components. The 34 cards were of only 12 different types. Card-extenders were available to permit dynamic testing of all machine functions. 680 of the 1450 diodes were mounted on one pluggable logic board.
The LGP-30 required 1500 watts operating under full load. The power inlet cord could plug into any standard 115 volt 60-cycle single-phase line. The computer incorporated voltage regulation suitable for powerline variation of 95 to 130 volts. In addition to power regulation, the computer also contained circuitry for a warm-up stage, which minimized thermal shock to the tubes to ensure longer life. The computer contained a cooling fan which directed filtered air through ducts to the tubes and diodes, to extend component life and ensure proper operation. No expensive air conditioning was necessary if the LGP-30 was operated at reasonable temperatures.
Al Barr, professor of Computer Science at Caltech, noted in 2023 the power saving features of the design. "Much of the computer hardware before the LGP-30 used far too many vacuum tubes. Vacuum tubes used a great deal of electrical power, produced a lot of heat, and were fairly unreliable since they frequently burned out like incandescent light bulbs. The LGP-30 used a goodly amount of solid-state diode logic to reduce the number of vacuum tubes, increasing its reliability and decreasing its power use. The hardware design was one of the stepping stones that opened the door to the modern computer revolution."
Each drum word had 32 bit locations, but only 31 were used, permitting a "restoration of magnetic flux in the head" at the 32nd bit time. Since each instruction had only one address, a method was needed to optimize allocation of operands. Otherwise, each instruction would wait a complete drum (or disk) revolution each time a data reference was made. The LGP-30 provided for operand-location optimization by interleaving the logical addresses on the drum, so that two adjacent addresses (e.g., 00 and 01) were separated by nine physical locations. These spaces allowed for operands to be located next to the instructions that used them. The drum had 64 tracks, each with 64 words (sectors). The time between two adjacent physical words was about 0.260 millisecond (ms), and the time between two adjacent addresses was 9 x 0.260 or 2.340 ms. The worst-case access time was 16.66 ms.
Half of the instruction (15 bits) was unused. The unused half could have been used for extra instructions, indexing, indirect addressing, or a second (+1) address to locate the next instruction, each of which would have increased program performance. None of these features was implemented in the LGP-30, but some were realized in its 1960 successor, the RPC-4000.
A unique feature of the LGP-30 was its built-in multiplication, despite being an inexpensive computer. Since this was a drum computer, bits were processed serially as they were read from the drum. As it did each of the additions associated with the multiplication, it effectively shifted the operand right, acting as if the binary point were on the left side of the word, as opposed to the right side as on most other computers. The divide operation worked similarly.
To further reduce costs, the traditional front panel lights showing internal registers were absent. Instead, Librascope mounted a small oscilloscope on the front panel that displayed the output from the three register read heads, one above the other, allowing the operator to see and read the bits. Horizontal and vertical size controls let the operator adjust the display to match a plastic overlay engraved with the bit numbers. To read bits the operator counted the up- and down-transitions of the oscilloscope trace.
Unlike other computers of its day, internal data was represented in hexadecimal instead of octal, but being a very inexpensive machine it used the physical typewriter keys that correspond to positions 10 to 15 in the type basket for the six non-decimal characters (as opposed to the now normal A – F) to represent those values, resulting in 0 – 9 f g j k q w, which was remembered using the mnemonic "Fiber-Glass Javelins Kill Quite Well".
Specifications
Word length: 31 bits, including a sign bit, but not the blank spacer bit Memory size: 4096 words Speed: 0.260 milliseconds access time between two adjacent physical words; access times between two adjacent addresses 2.340 milliseconds Addition time: 0.26 ms excluding access time Multiplication or division time: 17 ms excluding access time Clock rate: 120 kHz Power consumption: 1500 watts operating, 35 watts on standby Heat dissipation: Arithmetic element: three working registers: C the counter register, R the instruction register and A the accumulator register Instruction format: Sixteen instructions using half-word format Technology: 113 vacuum tubes and 1450 diodes Number produced; 320~493 First delivery: September 1956 Price: $47,000 Successor: LGP-21 Achievements: The LGP-30 was one of the first desk-sized computers offering small-scale scientific computing. The LGP-30 was fairly popular with "half a thousand" units sold, including one to Dartmouth College where students implemented Dartmouth ALGOL 30 and DOPE (Dartmouth Oversimplified Programming Experiment) on the machine.
Programming Instruction set The LGP-30 has 16 instructions. Each instruction occupies a 31-bit word though about half the bits are unused and set to zero. An instruction consists of an "order" such as the letter b for "bring from memory" and an address part such as the number 2000 to designate a memory location. All instructions have a similar appearance in an LGP-30 word. The order bits occupy positions 12 through 15 of the word and the address bits occupy positions 18 through 29 of the word. The address bits are further divided by track and sector. Although all instructions have an address, some do not use the address. It is customary to enter an address of 0000 in these instructions.
0011121516171823242930000000000000Order00TrackSector0