UNIVAC LARC


The UNIVAC LARC, short for the Livermore Advanced Research Computer, is a mainframe computer designed to a requirement published by Edward Teller in order to run hydrodynamic simulations for nuclear weapon design. It was one of the earliest supercomputers.
LARC supported multiprocessing with two CPUs and an input/output Processor. Two LARC machines were built, the first delivered to Livermore in June 1960, and the second to the Navy's David Taylor Model Basin. Both examples had only one Computer, so no multiprocessor LARCs were ever built.
The LARC CPUs were able to perform addition in about 4 microseconds, corresponding to about 250 kIPS speed. This made it the fastest computer in the world until 1962 when the IBM 7030 took the title. The 7030 started as IBM's entry to the LARC contest, but Teller chose the simpler Univac over the more risky IBM design.

Description

The LARC was a decimal mainframe computer with 48 bits per word. It used bi-quinary coded decimal arithmetic with four bits per digit, allowing for 11-digit signed numbers. Instructions were 48 bits long, one per word. Every digit in the machine had one parity bit for error checking, meaning every word occupied 60 bits. The basic configuration had 26 general purpose registers and could be expanded to 99 general purpose registers. The general-purpose registers had an access time of one microsecond.
LARC weighed about.
The basic configuration had one Computer and LARC could be expanded to a multiprocessor with a second Computer.
The Processor is an independent CPU and provides control for 12 to 24 magnetic drum storage units, four to forty UNISERVO II tape drives, two electronic page recorders, one or two high-speed printers, and a high-speed punched card reader.
The LARC used core memory banks of 2500 words each, housed four banks per memory cabinet. The basic configuration had eight banks of core, 20,000 words. The memory could be expanded to a maximum of 39 banks of core, 97,500 words. The core memory had one parity bit on each digit for error checking, resulting in 60 bits per memory word. The core memory had an access time of 8 microseconds and a cycle time of 4 microseconds. Each bank operated independently and could begin a new access in any 4-microsecond cycle when it was not already busy. By properly interleaving accesses to different banks the memory could sustain an effective access time of 4 microseconds on each access.
The data transfer bus connecting the two Computers and the Processor to the core memory was multiplexed to maximize throughput; every 4-microsecond bus cycle was divided into eight 500-nanosecond time slots:
  1. Processor - instructions and data
  2. Computer 1 - instructions
  3. Computer 2 - data
  4. I/O DMA Synchronizer - data
  5. Not Used
  6. Computer 2 - instructions
  7. Computer 1 - data
  8. I/O DMA Synchronizer - data
The core memory system enforces a system of interlocks and priorities to avoid simultaneous access of the same memory bank by multiple sections of the system without conflicts or deadlocks. A memory bank is unavailable for one 4-microsecond cycle after being addressed by any section of the system. If another section attempts to address the same memory bank during this time it is locked out and must wait then try again in the next 4-microsecond cycle. To prevent deadlocks and timeouts in the I/O system the following priorities are enforced:
  1. I/O DMA Synchronizer - highest
  2. Processor
  3. Computers - lowest
If a higher-priority section is locked out in one 4-microsecond cycle, when it tries again in the next 4-microsecond cycle, all lower-priority sections are prevented from beginning a new cycle on that memory bank until the higher-priority section has completed its access.
The LARC was built using surface-barrier transistors, which were already obsolete by the time the first system was delivered. The LARC was a very fast computer for its time. Its addition time was 4 microseconds, multiplication time was 8 microseconds, and the division time was 28 microseconds. It was the fastest computer in 196061, until the IBM 7030 took the title.