# UNIVAC 1101

The ERA 1101, later renamed UNIVAC 1101, was a computer system designed and built by Engineering Research Associates (ERA) in the early 1950s and continued to be sold by the Remington Rand corporation after that company later purchased ERA. Its (initial) military model, the ERA Atlas, was the first stored-program computer that was moved from its site of manufacture and successfully installed at a distant site. Remington Rand used the 1101's architecture as the basis for a series of machines into the 1960s.

## History
### Codebreaking

ERA was formed from a group of code-breakers working for the United States Navy during World War II. The team had built a number of code-breaking machines, similar to the more famous Colossus computer in England, but designed to attack Japanese codes. After the war the Navy was interested in keeping the team together even though they had to formally be turned out of Navy service. The result was ERA, which formed in St. Paul, Minnesota in the hangars of a former Chase Aircraft shadow factory.
After the war, the team continued to build codebreaking machines, targeted at specific codes. After one of these codes changed, making an expensive computer obsolete, the team convinced the Navy that the only way to make a system that would remain useful was to build a fully programmable computer. The Navy agreed, and in 1947 they funded development of a new system under "Task 13".
The resulting machines, known as "Atlas", used drum memory for main memory and featured a simple central processing unit built for integer math. The first Atlas machine was built, moved, and installed at the Army Security Agency by December 1950. A faster version using Williams tubes and drums was delivered to the NSA in 1953.

### Commercialization

The company turned to the task of selling the systems commercially. Atlas was named after a character in the popular comic strip Barnaby, and they initially decided to name the commercial versions "Mabel". Jack Hill suggested "1101" instead; 1101 is the binary representation of the number 13. The ERA 1101 was publicly announced in December 1951. Atlas II, slightly modified became the ERA 1103, while a more heavily modified version with core memory and floating point math support became the UNIVAC 1103A.
At about this time the company became embroiled in a lengthy series of political maneuverings in Washington, D.C. Drew Pearson's Washington Merry-Go-Round claimed that the founding of ERA was a conflict of interest for Norris and Engstrom because they had used their war-time government connections to set up a company for their own profit. The resulting legal fight left the company drained, both financially and emotionally. In 1952 they were purchased by Remington Rand, largely as a result of these problems.
Remington Rand had recently purchased Eckert–Mauchly Computer Corporation, builders of the famed UNIVAC I, the first commercial computer in the US. Although ERA and UNIVAC were run separately within the company, looking to cash in on the UNIVAC's well known name, they renamed the machine to become the "UNIVAC 1101". A series of machines based on the same basic design followed, and were sold into the 1960s before being replaced by the similar-in-name-only UNIVAC 1100 family.

## Description

This computer was 38 ft (12 m) long, 20 ft (6.1 m) wide, weighed about 8.4 short tons (7.6 t) and used 2700 vacuum tubes for its logic circuits. Its drum memory was 8.5 in (22 cm) in diameter, rotated at 3500 rpm, had 200 read-write heads, and held 16,384 24-bit words (a memory size equivalent to 48 kB) with access time between 32 microseconds and 17 milliseconds.
Instructions were 24 bits long, with six bits for the opcode, four bits for the "skip" value (telling how many memory locations to skip to get to the next instruction in program sequence), and 14 bits for the memory address. Numbers were binary with negative values in ones' complement. The addition time was 96 microseconds and the multiplication time was 352 microseconds.
The single 48-bit accumulator was fundamentally subtractive, addition being carried out by subtracting the ones' complement of the number to be added. This may appear rather strange, but the subtractive adder reduces the chance of getting negative zero in normal operations.
The machine had 38 instructions.

### Instruction set
#### Conventions

* y is memory box at address y
* X = X-Register (24 bits)
* ( ) is interpreted as the contents of
* Q = Q-Register (24 bits)
* A = Accumulator (48 bits)

#### Arithmetic

* Insert (y) in A
* Insert complement of (y) in A
* Insert (y) in A [multiple precision]
* Insert complement of (y) in A [multiple precision]
* Insert absolute value (y) in A
* Insert complement of absolute value (y) in A
* Add (y) to (A)
* Subtract (y) from (A)
* Add (y) to (A) [multiple precision]
* Subtract (y) from (A) [multiple precision]
* Add absolute value of (y) to (A)
* Subtract absolute value of (y) from (A)
* Insert (Q) in A
* Clear right half of A
* Add (Q) to (A)
* Transmit (A) to Q
* Insert [(y) + 1] in A

#### Multiply and divide

* Form product (Q) * (y) in A
* Add logical product (Q) * (y) to (A)
* Form logical product (Q) * (y) in A
* Divide (A) by (y), (quotient forms in Q, non-negative remainder left in A)
* Add product (Q) * (y) to (A)

#### Logical and control flow

* Store right half of (A) at y
* Shift (A) left
* Store (Q) at y
* Shift (Q) left
* Replace (y) with (A) using (Q) as operator
* Take (y) as next order
* Replace (y) with (A) [address portion only]
* Take (y) as next order if (A) is not zero
* Insert (y) in Q
* Take (y) as next order if (A) is negative
* Take (y) as next order if (Q) is negative

#### Input Output and control

* Print right-hand 6 digits of (y)
* Optional Stop
* Print and punch right-hand 6 digits of (y)
* Intermediate Stop
* Final Stop