LGP-30
Encyclopedia
The LGP-30, standing for Librascope General Purpose and then Librascope General Precision, was 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 with a retail price of $47,000.
The LGP-30 was commonly referred to as a desk computer. It was 26 inch
es deep, 33 inches high, and 44 inches long, exclusive of the typewriter shelf. The computer weighed approximately 740 pounds
and was mounted on sturdy caster
s which facilitated movement of the computer.
, a Manhattan Project
veteran and one of the first programmers of ENIAC
. He designed a usable computer with a minimal amount of hardware. The single address instruction set
had only 16 commands. Not only was the main memory on magnetic drum
, but so were the CPU
register
s, timing information and the master bit clock, each on a dedicated track. The number of vacuum tube
s were kept to a minimum by using solid-state diode
logic, a bit
-serial architecture
and multiple usage 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 6-bit characters/second). The only printing 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 diode
s. The 113 electronic tubes were mounted on 34 etched circuit pluggable cards which also contain associated components. Although 34 pluggable cards were used, there were only 12 different types of such cards. Card-extenders were available to permit dynamic testing of all machine functions. Six hundred and eighty of the 1450 diodes were mounted on one pluggable logic board
.
The LGP-30 required 1500 watt
s when operating under full load. The power inlet cord was plugged into any standard 115 volt
60 cycle single phase line. The computer contained internal voltage regulation
against power line variations of voltages from 95 to 130 volts. In addition to regulation of power line variations, the computer also contained the circuitry required to permit a warm-up stage. This warm-up stage minimized thermal shock to tubes to ensure long component life. The computer contained its own blower unit and directed filtered air, through ducts, to tubes and diodes, in order to ensure component life and proper operation. No expensive air conditioning
needed to be installed if operated within a reasonable temperature range.
There were 32 bit locations per drum word, but only 31 were used, permitting a "restoration of magnetic flux in the head" at the 32nd bit time. Since there was only one address per instruction, a method was needed to optimise allocation of operand
s. 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 address
es 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 which use them. There were 64 tracks, each with 64 words (sectors). The time between two adjacent physical words was approximately 0.260 millisecond, and the time between two adjacent addresses was 9 x 0.260 or 2.340 milliseconds. The worst-case access time was 16.66 ms.
Half of the instruction (15 bits) was unused. The unused half could be used for extra instructions, indexing, indirect addressing, or a second (+1) address to locate the next instruction, each of which could increase program performance.
A truly unique feature of the LGP-30 was the way it handled multiply. Despite the LGP-30 being inexpensive, it had built in multiply. Since this was a drum computer and bits needed to be acted on serially as they were read from the drum, as it did each of the additions involved in the multiply, it effectively shifted the operand right, acting as if the binary point
was on the left side of the word, as opposed to the right side as most other computers assume.
To further reduce costs, the traditional front panel
lights showing internal registers were absent. Instead, Librascope mounted a small oscilloscope
on the front panel
. It displayed the output from the three register read heads, one above the other, allowing the operator to "see" and actually 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 machines of its day, internal data was represented in hexadecimal as opposed to 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 a - f) to represent those values, resulting in 0 - 9 f g j k q w, which was remembered using the phrase "FiberGlass Javelins Kill Quite Well".
-like" high level language called ACT-III. Every token had to be delimited by an apostrophe, making it hard to read and even harder to prepare tapes:
the LGP-30 was one of the most complicated ever devised. First, one snapped the bootstrap paper tape into the console typewriter, a Friden Flexowriter
, pressed a lever on the Flexowriter to read an address field and pressed a button on the front panel to transfer the address into a computer register. Then one pressed the lever on the Flexowriter to read the data field and pressed three more buttons on the front panel to store it at the specified address. This process was repeated, maybe 6–8 times, and one developed a rhythm:
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk.
The operator then removed the bootstrap tape, snapped in the tape containing the regular loader, carefully arranging it so it wouldn't jam, and pressed a few more buttons to start up the bootstrap program. Once the regular loader was in, the computer was ready to read in a program tape. The regular loader read a more compact format tape than the bootstrap loader. Each block began with a starting address so the tape could be rewound and retried if an error occurred. If any mistakes were made in the process, or if the program crashed and damaged the loader program, the process had to be restarted from the beginning.
Act-III and booting sections from Arnold Reinhold's Computer History page, with permission under GFDL and CC-BY-SA 3.0.
performed a legendary programming task in machine code, retold by Ed Nather
in the hacker epic The Story of Mel http://www.catb.org/~esr/jargon/html/story-of-mel.html. This however is inaccurate: the feat actually took place on a different machine by the same manufacturer, the RPC-4000. The machine was also used by Edward Lorenz in his attempt to model changing weather patterns. His discovery that massive differences in forecast could derive from tiny differences in initial data led to him coining the terms strange attractor and butterfly effect
, core concepts in chaos theory
.
Librascope
Librascope was a Glendale, California division of General Precision Inc. founded in 1937 by Lewis W. Imm to improve aircraft load balancing, and acquired by General Precision in 1941....
company of Glendale, California
Glendale, California
Glendale is a city in Los Angeles County, California, United States. As of the 2010 Census, the city population is 191,719, down from 194,973 at the 2000 census. making it the third largest city in Los Angeles County and the 22nd largest city in the state of 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
Royal McBee
Royal McBee was the name of the computer manufacturing and retail division of Royal Typewriter which made the early computers RPC 4000 and RPC 9000...
division of the Royal Typewriter Company
Royal Typewriter Company
The Royal Typewriter Company was a manufacturer of typewriters headquartered in New York City with its factory in Hartford, Connecticut.-History:...
. The LGP-30 was first manufactured in 1956 with a retail price of $47,000.
The LGP-30 was commonly referred to as a desk computer. It was 26 inch
Inch
An inch is the name of a unit of length in a number of different systems, including Imperial units, and United States customary units. There are 36 inches in a yard and 12 inches in a foot...
es deep, 33 inches high, and 44 inches long, exclusive of the typewriter shelf. The computer weighed approximately 740 pounds
Pound (mass)
The pound or pound-mass is a unit of mass used in the Imperial, United States customary and other systems of measurement...
and was mounted on sturdy caster
Caster
A caster is an undriven, single, double, or compound wheel that is designed to be mounted to the bottom of a larger object so as to enable that object to be easily moved...
s which facilitated movement of the computer.
Design
The primary design consultant for the Librascope computer was Stan FrankelStan Frankel
Stanley Phillips "Stan" Frankel was an American computer scientist. He was born in Los Angeles, attended graduate school at the University of Rochester, received his PhD in physics from the University of California, Berkeley, and began his career as a post-doc student under J. Robert Oppenheimer...
, a Manhattan Project
Manhattan Project
The Manhattan Project was a research and development program, led by the United States with participation from the United Kingdom and Canada, that produced the first atomic bomb during World War II. From 1942 to 1946, the project was under the direction of Major General Leslie Groves of the US Army...
veteran and one of the first programmers of ENIAC
ENIAC
ENIAC was the first general-purpose electronic computer. It was a Turing-complete digital computer capable of being reprogrammed to solve a full range of computing problems....
. He designed a usable computer with a minimal amount of hardware. The single address instruction set
Instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...
had only 16 commands. Not only was the main memory on magnetic drum
Drum memory
Drum memory is a magnetic data storage device and was an early form of computer memory widely used in the 1950s and into the 1960s, invented by Gustav Tauschek in 1932 in Austria....
, but so were the CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
register
Processor register
In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are addressed by mechanisms other than main memory and can be accessed more quickly...
s, timing information and the master bit clock, each on a dedicated track. The number of vacuum tube
Vacuum tube
In electronics, a vacuum tube, electron tube , or thermionic valve , reduced to simply "tube" or "valve" in everyday parlance, is a device that relies on the flow of electric current through a vacuum...
s were kept to a minimum by using solid-state diode
Diode
In electronics, a diode is a type of two-terminal electronic component with a nonlinear current–voltage characteristic. A semiconductor diode, the most common type today, is a crystalline piece of semiconductor material connected to two electrical terminals...
logic, a bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...
-serial architecture
Serial computer
A serial computer is typified by internally operating on one bit or digit for each clock cycle. Machines with serial main storage devices such as acoustic or magnetostrictive delay lines and rotating magnetic devices were usually serial computers....
and multiple usage of each of the 15 flip-flops.
It was a binary
Binary numeral system
The binary numeral system, or base-2 number system, represents numeric values using two symbols, 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2...
, 31 bit word computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
with a 4096 word drum memory
Drum memory
Drum memory is a magnetic data storage device and was an early form of computer memory widely used in the 1950s and into the 1960s, invented by Gustav Tauschek in 1932 in Austria....
. Standard inputs were the Flexowriter keyboard and paper tape (ten 6-bit characters/second). The only printing output was the Flexowriter printer
Computer printer
In computing, a printer is a peripheral which produces a text or graphics of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most new printers, a...
(typewriter
Typewriter
A typewriter is a mechanical or electromechanical device with keys that, when pressed, cause characters to be printed on a medium, usually paper. Typically one character is printed per keypress, and the machine prints the characters by making ink impressions of type elements similar to the pieces...
, 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
Vacuum tube
In electronics, a vacuum tube, electron tube , or thermionic valve , reduced to simply "tube" or "valve" in everyday parlance, is a device that relies on the flow of electric current through a vacuum...
and 1450 diode
Diode
In electronics, a diode is a type of two-terminal electronic component with a nonlinear current–voltage characteristic. A semiconductor diode, the most common type today, is a crystalline piece of semiconductor material connected to two electrical terminals...
s. The 113 electronic tubes were mounted on 34 etched circuit pluggable cards which also contain associated components. Although 34 pluggable cards were used, there were only 12 different types of such cards. Card-extenders were available to permit dynamic testing of all machine functions. Six hundred and eighty of the 1450 diodes were mounted on one pluggable logic board
Logic board
A logic board is the Apple equivalent of a motherboard. The term logic board was coined back in the 1980s, when the compact Macs at the time had two separate circuit components. The term "logic board" stuck over the years of Macintosh manufacturing, even in the non-all-in-one Macs...
.
The LGP-30 required 1500 watt
Watt
The watt is a derived unit of power in the International System of Units , named after the Scottish engineer James Watt . The unit, defined as one joule per second, measures the rate of energy conversion.-Definition:...
s when operating under full load. The power inlet cord was plugged into any standard 115 volt
Volt
The volt is the SI derived unit for electric potential, electric potential difference, and electromotive force. The volt is named in honor of the Italian physicist Alessandro Volta , who invented the voltaic pile, possibly the first chemical battery.- Definition :A single volt is defined as the...
60 cycle single phase line. The computer contained internal voltage regulation
Voltage regulation
In electrical engineering, particularly power engineering, voltage regulation is the ability of a system to provide near constant voltage over a wide range of load conditions.-Electrical power systems:...
against power line variations of voltages from 95 to 130 volts. In addition to regulation of power line variations, the computer also contained the circuitry required to permit a warm-up stage. This warm-up stage minimized thermal shock to tubes to ensure long component life. The computer contained its own blower unit and directed filtered air, through ducts, to tubes and diodes, in order to ensure component life and proper operation. No expensive air conditioning
Air conditioning
An air conditioner is a home appliance, system, or mechanism designed to dehumidify and extract heat from an area. The cooling is done using a simple refrigeration cycle...
needed to be installed if operated within a reasonable temperature range.
There were 32 bit locations per drum word, but only 31 were used, permitting a "restoration of magnetic flux in the head" at the 32nd bit time. Since there was only one address per instruction, a method was needed to optimise allocation of operand
Operand
In mathematics, an operand is the object of a mathematical operation, a quantity on which an operation is performed.-Example :The following arithmetic expression shows an example of operators and operands:3 + 6 = 9\;...
s. Otherwise, each instruction would wait a complete drum (or disk) revolution each time a data reference was made. The LGP-30 provided for operand
Operand
In mathematics, an operand is the object of a mathematical operation, a quantity on which an operation is performed.-Example :The following arithmetic expression shows an example of operators and operands:3 + 6 = 9\;...
-location optimization by interleaving
Interleaving
In computer science and telecommunication, interleaving is a way to arrange data in a non-contiguous way to increase performance.It is typically used:* In error-correction coding, particularly within data transmission, disk storage, and computer memory....
the logical address
Logical address
In computing, a logical address is the address at which an item appears to reside from the perspective of an executing application program....
es 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 which use them. There were 64 tracks, each with 64 words (sectors). The time between two adjacent physical words was approximately 0.260 millisecond, and the time between two adjacent addresses was 9 x 0.260 or 2.340 milliseconds. The worst-case access time was 16.66 ms.
Half of the instruction (15 bits) was unused. The unused half could be used for extra instructions, indexing, indirect addressing, or a second (+1) address to locate the next instruction, each of which could increase program performance.
A truly unique feature of the LGP-30 was the way it handled multiply. Despite the LGP-30 being inexpensive, it had built in multiply. Since this was a drum computer and bits needed to be acted on serially as they were read from the drum, as it did each of the additions involved in the multiply, it effectively shifted the operand right, acting as if the binary point
Fixed-point arithmetic
In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point...
was on the left side of the word, as opposed to the right side as most other computers assume.
To further reduce costs, the traditional front panel
Front panel
A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal registers and memory. The front panel usually consisted of arrays of indicator lamps, toggle switches, and push buttons mounted on a sheet metal face plate...
lights showing internal registers were absent. Instead, Librascope mounted a small oscilloscope
Oscilloscope
An oscilloscope is a type of electronic test instrument that allows observation of constantly varying signal voltages, usually as a two-dimensional graph of one or more electrical potential differences using the vertical or 'Y' axis, plotted as a function of time,...
on the front panel
Front panel
A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal registers and memory. The front panel usually consisted of arrays of indicator lamps, toggle switches, and push buttons mounted on a sheet metal face plate...
. It displayed the output from the three register read heads, one above the other, allowing the operator to "see" and actually 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 machines of its day, internal data was represented in hexadecimal as opposed to 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 a - f) to represent those values, resulting in 0 - 9 f g j k q w, which was remembered using the phrase "FiberGlass Javelins Kill Quite Well".
ACT-III programming language
The LGP-30 had an "AlgolALGOL
ALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...
-like" high level language called ACT-III. Every token had to be delimited by an apostrophe, making it hard to read and even harder to prepare tapes:
s1'dim'a'500'm'500'q'500
index'j'j+1'j-1
daprt'e'n't'e'r' 'd'a't'acr
rdxit's35
s2iread'm'1iread'q'1iread'diread'n
1';'j
0'flo'd';'d.
s3'sqrt'd.';'sqrd.
1'unflo'sqrd.'i/'10';'sqrd
2010'print'sqrd.2000'iprt'sqrdcrcr
...
Booting the machine
The procedure for bootingBooting
In computing, booting is a process that begins when a user turns on a computer system and prepares the computer to perform its normal operations. On modern computers, this typically involves loading and starting an operating system. The boot sequence is the initial set of operations that the...
the LGP-30 was one of the most complicated ever devised. First, one snapped the bootstrap paper tape into the console typewriter, a Friden Flexowriter
Friden Flexowriter
The Friden Flexowriter was a teleprinter, a heavy duty electric typewriter capable of being driven not only by a human typing, but also automatically by several methods including direct attachment to a computer and by use of paper tape....
, pressed a lever on the Flexowriter to read an address field and pressed a button on the front panel to transfer the address into a computer register. Then one pressed the lever on the Flexowriter to read the data field and pressed three more buttons on the front panel to store it at the specified address. This process was repeated, maybe 6–8 times, and one developed a rhythm:
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk,
burrrp, clunk,
burrrp, clunk, clunk, clunk.
The operator then removed the bootstrap tape, snapped in the tape containing the regular loader, carefully arranging it so it wouldn't jam, and pressed a few more buttons to start up the bootstrap program. Once the regular loader was in, the computer was ready to read in a program tape. The regular loader read a more compact format tape than the bootstrap loader. Each block began with a starting address so the tape could be rewound and retried if an error occurred. If any mistakes were made in the process, or if the program crashed and damaged the loader program, the process had to be restarted from the beginning.
Act-III and booting sections from Arnold Reinhold's Computer History page, with permission under GFDL and CC-BY-SA 3.0.
LGP-21
In 1963 Librascope produced a transistorized update to the LGP-30 named the LGP-21. The new computer had 460 transistors and about 300 diodes. It cost only $16,200, one-third the price of its predecessor. Unfortunately it was also about one-third as fast as the earlier computer.RPC 4000
Another, more powerful successor machine, was the General Precision RPC 4000. Similar to the LGP-30, but transistorized, it featured 8,008 32 bit words of memory drum storage. According to BRL Report 1964 it had 500 transistors and 4,500 diodes and sold for $87,500.Notable uses
Today, the LGP-30 is remembered as the computer on which Mel KayeMel Kaye
The Story of Mel is an archetypical piece of computer programming folklore. Its subject, Mel Kaye, is the canonical Real Programmer.- Story :Ed Nather’s The Story of Mel details the extraordinary programming prowess of a former collegue of his, "Mel", at Royal McBee Computer Corporation...
performed a legendary programming task in machine code, retold by Ed Nather
Ed Nather
R. Edward Nather is a retired UT Austin professor of astronomy. His major academic interests are the asteroseismology of white dwarfs, and observational studies of interacting binary collapsed stars....
in the hacker epic The Story of Mel http://www.catb.org/~esr/jargon/html/story-of-mel.html. This however is inaccurate: the feat actually took place on a different machine by the same manufacturer, the RPC-4000. The machine was also used by Edward Lorenz in his attempt to model changing weather patterns. His discovery that massive differences in forecast could derive from tiny differences in initial data led to him coining the terms strange attractor and butterfly effect
Butterfly effect
In chaos theory, the butterfly effect is the sensitive dependence on initial conditions; where a small change at one place in a nonlinear system can result in large differences to a later state...
, core concepts in chaos theory
Chaos theory
Chaos theory is a field of study in mathematics, with applications in several disciplines including physics, economics, biology, and philosophy. Chaos theory studies the behavior of dynamical systems that are highly sensitive to initial conditions, an effect which is popularly referred to as the...
.