|
The First UNIVAC
Remington Rand provided the money to finish the UNIVAC. To reduce the financial losses,
it cajoled Prudential and Nielsen into canceling their contracts. The first UNIVAC
passed its formal acceptance test on March 29-30, 1951 and was turned over to the
Census Bureau, which operated it in the factory for nearly a year. A formal
dedication ceremony was held on June 14, but coverage in the general press was
minimal. The following day, the New York Times ran a tiny, two-sentence article
that referred to the UNIVAC as an "eight-foot-tall mathematical genius, designed
to meet problems of the United States Census Bureau", but didn't even mention
its name.
The central complex of the UNIVAC was about the size of a one-car garage:
14 feet by 8 feet by 8.5 feet high. It housed the mercury memory unit and
all the central processing unit circuitry. The outside of the unit was
composed of hinged gray metal doors that could be opened to give access
to the circuitry racks. In the center of one of the long sides of the unit,
there was a clear Plexiglas door to provide access to the center of the system:
it was a walk-in computer. The vacuum tubes generated an enormous amount of heat,
so a high capacity chilled water and blower air conditioning system was required
to cool the unit. In addition to the central complex, there were eight UNISERVO
tape drives, an operator console, and a console typewriter/printer. Originally
printing was done offline by the UNIPRINTER, which resembled an overgrown
typewriter with an attached tape drive. A much-needed 600 line per minute
printer (at 130 characters per line) was added in 1954. The comple! te system
had 5200 vacuum tubes, weighed 29,000 pounds, and consumed 125 kilowatts of
electrical power.
The UNIVAC represented numbers in binary-coded decimal with six bits for each digit.
It employed Excess-3 notation where the binary value was three greater than the
actual number, so that zero was 000011, one was 000100, two was 000101, and so
on. Excess-3 had been used in the Bell Telephone Laboratories Model I Relay
Calculator built in 1940. Excess-3 was chosen for the UNIVAC because it simplified
the complementing (making negative) of numbers and made the carries come out right
for digit-by-digit decimal addition.
The UNIVAC's word size was 72 data bits, which held eleven digits plus a
sign, plus one parity bit for each six data bits, giving a total of 84. The mercury
delay line memory amounted to 1000 words. Besides numbers, the UNIVAC could represent
alphanumeric data (letters of the alphabet and some punctuation marks) using six
bits for each character with twelve characters to the word. Codes were assigned
for the letters of the alphabet and punctuation marks, such as 010100 for A, 010101
for B, 010110 for C and so on.
The program instructions were six decimal digits (36 bits, excluding parity
bits) long, so two instructions fit in each word. The first two digits of an
instruction were the function code, the next digit was unused, and the last three
gave the memory address. There were 45 different functions. Many of the function
codes were mnemonic, that is, they tried to bear some relation to the operation
to be performed. For example, A (still indicated by the bit pattern 010100) was
the code for addition. Similarly, D was divide, S was subtract, and C meant to
copy the contents of the A (accumulator) register into memory. All the functions
didn't work out mnemonically: J meant to store the contents of the X register
into memory. On the UNIVAC, addition could be done with just one register, in
this case the A register, but other operations involved registers which were
designated L and X. An add instruction, such as A 0503, would add the value at
the stated memory location (503, in o! ur example) to the value in the A register,
leaving the result in the A register. The C instruction C 0504 meant to copy
(store, in modern terminology) the value in the A register into memory location
504. On the UNIVAC, multiplication and division involved three registers.
For example, the P multiplication instruction multiplied the value in the L
register by the value in the stated memory location, giving a 22-digit product
contained in the registers A and X. Tape input/output used two 60-word buffers
designated I (input) and O (output). The input/output instructions provided for
both forward and backward reading of tape. The read backward was particularly
useful for sorting, where long strings of data were repeatedly written to tape
and read back in through successive merges.
The computer had a high-degree of self-checking: all processing was
done in duplicate by two sets of circuitry, and the results were compared to
be sure they were identical. Donald Marquardt of DuPont recalled: "One of
the big advantages of the UNIVAC was in fact the ability to rely on the accuracy
of the numbers when they came out.... Now there were some other computers that
I used during that same period where I would make two or three runs on the
machine and come up with two or three [different] sets of numbers...."
The UNIVAC had the ability to store the control counter value in memory,
making it possible for the flow of a program to go to a subprogram and then
return to where it was in the main program. While the 72-bit word could accommodate
numbers up to 11 digits, scientific calculations quite often involved larger
numbers. To take an example from chemistry, Avogadro's number (the number of
molecules in a mole of gas) is 6.02 x 10**23 ; computers could represent this
in what is called floating-point format, where part of the word contains the
value (6.02) and part of the word contains the exponent. Later computers would
be designed with electronic circuits to perform calculations on numbers in
floating-point format, but the UNIVAC did not have hardware instructions of
this sort. Floating-point calculations could, however, be done by means of
software subprogram, making it possible for the UNIVAC to do both scientific
computation and business data processing.
Early in the design of the UNIVAC system, Eckert and Mauchly had
recognized that for the computer to be useful in handling the large volumes
of data used in many business applications, such as payroll of inventory
control, it would need to have a high speed input/output system. Since punched
cards would be slow, the company developed the UNISERVO tape units to be the
primary input/output devices for the computer. Each unit was six feet high and
three feet wide. The UNISERVO used metal tape: a 1/2-inch wide thin strip of
nickel-plated bronze 1200 feet long. These metal tape reels were very heavy:
not the sort of thing for an operator to drop on his or her foot! Data was
recorded in eight channels on the tape (six for the data value, one parity
channel for error checking, and one timing channel) at a density of 128 characters
per linear inch of tape. The tape could be moved at 100 inches per second (as
compared with 1.875 on today's cassette tape players), giving a nominal! transfer
rate of 12,800 characters p er second. Making allowance for the empty space
between tape blocks, the actual transfer rate was around 7,200 characters per second.
No punched card devices were provided with the UNIVAC, so the UNITYPER
data entry machine was developed. The data entry clerk typed on a keyboard, and
the UNITYPER recorded the values on a reel of metal tape. This lack of integration
with punched card systems became a marketing handicap. Many prospective customers
already had significant investment in tabulating card systems. When IBM entered the
computer business, it made sure that it offered computers that fit easily into
existing card processing installations. To fill this gap, Eckert-Mauchly developed
a stand-alone card-to-tape unit, which could process 100 cards per minute. Since
Eckert-Mauchly was an independent company at the time the design of the card-to-tape
converter was done, it naturally followed the market and built a machine that
handled IBM's 80-column cards. Sometime after the acquisition by Remington Rand,
a version to handle 90-column cards was developed.
|