Difference between revisions of "LGP-30"

From Computer History Wiki
Jump to: navigation, search
(Fairly complete)
(No difference)

Revision as of 17:31, 19 March 2024

The LGP-30 (the 'LGP' was the acronym of 'Librascope General Purpose', later 'Librascope General Precision') was an early low-cost (and thus low-performance) computer, produced by Librascope (later part of Royal McBee). It based on a design done at Caltech, and implemented there in a prototype called MINAC, in 1954. It was first delivered in September, 1956. Around 500 were sold.

It was a serial machine which used a drum for its main memory, each track (of 64 tracks) holding 64 words, each 32 bits long. (For arithmetical operations, there was a sign bit, only 30 bits in single-precision math, and a spacer bit, always zero in memory, though.) It could perform 500 additions per second, and contained only 113 vacuum tubes and 1,450 diodes. Input/output used a Flexowriter, which had a paper tape reader attachment (a higher speed reader/punch was available as an option).

Internals

The drum also held three 'circulating register' tracks, each used for an internal register (the Program Counter, the Instruction Register, and the accumulator); they were replicated around the track, with multiple read heads, so as to reduce their access time.

The entire machine contained only fifteen flip-flops!

Flop Function
F, G, H Phase of instruction execution
K Drum sector search during fetch
L Carry
Q1-Q4 Operation code of current instruction
P1-P6 Track selection

K, Q2, and P1-P6 were used for other purposes during times in which they were not needed for their primary purpose.

Instructions contained a 12-bit address (6 each track and sector), and 4-bit opcode (in octal; ones marked with '!' do not use the 'address' field for an address):

  • 0! - Stop
  • 1 - Load
  • 2 - Store address only
  • 3 - Save return address
  • 4! - Input
  • 5 - Divide
  • 6 - Truncated multiply (low order part of result)
  • 7 - Short multiply (high order part of result)
  • 10! - Output
  • 11 - And
  • 12 - Jump
  • 13 - Jump if negative
  • 14 - Store
  • 15 - Store and clear
  • 16 - Add
  • 17 - subtract

The high order half of the word was unused by instructions. Since there was no 'next instruction field, optimum programming was not possible; words on the drum were interleaved so that waiting was usually minimized.

Further reading

External links