The UNIVAC 1108

From Folklore
Revision as of 22:06, 31 March 2009 by Randy (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Unisys History Newsletter.
Volume 3, Number 2
April 1999 (revised March 2000)
by George Gray

After the development of the transistor, further research in electronics devised ways of putting the equivalent of several transistors on one chip of semiconductor material. In 1958 Jack Kilby of Texas Instruments built a five-component integrated circuit, and by 1962 RCA had produced a chip which contained sixteen transistors. The switch from transistors to integrated circuits brought in the third generation of computer hardware. As it became clear that integrated circuits would eventually replace transistors, IBM formed a special internal committee in 1961 to consider its plans for computer development. In January 1962 the committee proposed that IBM's various transistor scientific and business computers be replaced by one family of machines which would be suitable for all types of processing. IBM's top management accepted the recommendation, and IBM began work on the System/360, so named because of the intention to cover the full range of computing tasks.

The IBM 360 did not rely exclusively on integrated circuitry, instead it employed a combination of separate transistors and chips, called Solid Logic Technology (SLT). IBM made a big event of the System/360 announcement on April 7, 1964, holding press conferences in 62 U.S. cities and fourteen foreign countries. The System/360 comprised six models, which ranged from the small 360/30 up through the large 360/70. The CPU had a set of 144 instructions, which provided for fixed-point binary, floating-point binary, and decimal arithmetic. The word size was 32 bits, but many of the instructions could operate on single characters (8-bit bytes). Shortly after the original announcement, IBM revised the product line by adding the large 360/65 and 360/75 to replace the three largest machines of the family. IBM shipped the first System/360 machines to customers between April 1965 and January 1966. The 360 was intended to replace IBM's second-generation business and scientific computers, but it was not compatible with any of them, forcing customers to run emulators or convert their applications. In addition, there were significant delays in producing key software components for the 360s, so that the OS/360 operating system was not delivered until mid-1967. These early problems were overcome, and the 360 sold very well. IBM received 2,000 orders within the first five months after the 360 announcement and maintained its market share at about two-thirds of the mainframe computing market. In 1970, IBM announced its System/370, which was an upgraded 360, incorporating monolithic integrated circuits, newer disk drives, and semiconductor memory.

IBM's initial difficulties with the 360 provided an opening for Sperry Rand and Burroughs. Both companies had been very late in bringing out their large-scale transistor computers, with the result that their shares of the computer market had fallen dramatically. Beyond that, many people who started using computers during the 1960s formed an image of the two as being terribly backward companies. In 1981 one of the authors met a programmer who still thought of UNIVACs as being vacuum tube computers! The advanced features of the UNIVAC 1107 and the B5000 presented an opportunity for Sperry Rand and Burroughs to upgrade them and move quickly into the marketplace.

Sperry Rand announced the UNIVAC 1108 in the summer of 1964 and delivered the first one in late 1965. Essentially it was an improved version of the 1107. Like the IBM 360, the UNIVAC 1108 used a combination of transistors and integrated circuits. Integrated circuits took the place of the thin film memory for the general register stack, giving an access time of 125 nanoseconds, as compared with 670 nanoseconds on the 1107. The 1108's main memory used smaller and faster cores, so that its cycle time (750 nanoseconds) was five times faster than the 1107. The original version of the 1108 had 65,536 words of memory organized in two banks. In addition to the faster components, the 1108 incorporated two major design improvements over the 1107: base registers and additional hardware instructions. The 1108 hardware had two base registers, so that all program addressing was done relative to the values in the base registers. This permitted dynamic relocation: over the duration of its execution, a program's instructions and its data could be positioned anywhere in memory each time it was loaded. Since the base registers were 18 bits, this allowed a maximum address space of 262,144 words. The additional hardware instructions included double-precision floating point arithmetic, double-precision fixed-point addition and subtraction, and various double-word load, store, and comparison instructions. The 1108 processor had up to 16 input/output channels to connect to peripherals. The programming of these channels was done with specific machine instructions, and there was no capability to build multiple-step channel programs.

Just as the first UNIVAC 1108s were being delivered, Sperry Rand announced the 1108 II (also referred to as the 1108A) which had been modified to support multiprocessing. A multiprocessor 1108 could have up to three CPUs, four memory banks totaling 262,144 words, and two input/output controllers (IOCs). The IOC was a separate processor, functionally equivalent to i/o channel section of the CPU, which could take over the task of handling i/o. If an IOC was used, it connected to one of the channels in the CPU. Then the CPUs could load channel programs into the IOCs. Since the IOCs had their own paths to memory, once a CPU issued an i/o request, the IOC took full control of the i/o, transferring data to or from memory without further intervention by the CPU. Each IOC had up to 16 channels. Thus, an 1108 multiprocessor could be a very busy system. At the maximum configuration, five activities could be taking place at any given moment: three programs executing instructions in CPUs and two i/o processes being performed by the IOCs. A test-and-set instruction was added to provide synchronization between processors, giving a total of 151 instructions in the instruction set.

Happily, the UNIVAC 1108 reversed Sperry Rand's decline in the large computer market. The first 1108 was shipped to Lockheed in Sunnyvale, California, toward the end of 1965. Lockheed had already installed an 1107 as an interim machine and ultimately replaced two IBM 7094s with two 1108s. Other early 1108 orders came from the French National Railroad, the Scottish National Engineering Lab, Boeing, the Naval Ordnance Test Station, NASA (three in Huntsville, Alabama, two in Slidell, Louisiana, and four in Houston), the University of Utah, the U.S. Environmental Sciences Services Administration, Air France (two machines), the Census Bureau, Carnegie Mellon University, and Air Force Global Weather Central (4 machines). Choosing the 1108 over GE and IBM proposals, Clark Equipment Corporation installed two to replace its UNIVAC File Computer, leaping straight from first generation hardware to third generation. The National Bureau of Standards chose an 1108 rather than a Control Data 6600, because of the 1108's superior remote communications capabilities and lower price. The relative smoothness of many early UNIVAC 1108 installations contrasted sharply with various well-publicized delays for the IBM 360. The success of the 1108 was a wonderful surprise to Sperry Rand: in 1964 an internal study had forecast that only 43 would be sold. The January 1967 issue of Datamation had a very favorable article by Douglass Williams of Lockheed describing its 1108 installation, and by the end of 1967 the total number of 1108 orders was over 135. Ultimately, Sperry Rand produced UNIVAC 1108 systems amounting to 296 processors.

While both EXEC I and EXEC II were provided for the unit processor 1108s, it was clear that the two should be merged to provide a true multi-programming system with the ease of use and external appearance of EXEC II. Furthermore, there had to be an operating system for the multiprocessor 1108s. This new operating system was EXEC 8, sometimes written as EXEC VIII. The specifications for it were drawn up in December 1964 and work began in May 1965. The announcement of EXEC 8 in 1966 was greeted with skepticism by Datamation, which had seen many big software fiascoes by other computer companies: "A step towards the quicksand: Univac, which has been doing well with about the only working large-scale software, joins the manana crowd with a new operating system for the 1108." At first, Datamation had it pegged correctly: the initial versions of EXEC 8 did not work very well, and in 1967 Sperry Rand had to give one of the 1108s to NASA for free as a penalty for missing contract deadlines. The situation did improve, so that the University of Maryland was using EXEC 8 in the spring of 1968, and one year later the president of Computer Response Corporation, a service bureau with an 1108 in Washington, could say of EXEC level 23.25: "We're satisfied with the way it's handling our workload." However, EXEC 8 wasn't fully settled down until 1970.

Sperry Rand was also fortunate to have a good FORTRAN compiler and some program conversion tools. The FORTRAN V compiler for the 1108, written by Computer Sciences Corporation, produced very efficient programs. At a meeting of Burroughs engineers discussing their competitors, Robert Barton referred to it as "a polished masterpiece" and another participant said: "You sit there and watch the code that thing cranks out and just try to imagine assembly code that would be written that well." Lockheed developed a "decompiler" which translated IBM 7094 machine language programs into NELIAC. One of these decompiled programs comprised 500,000 instructions. There already was a NELIAC compiler for the 1107 (and later for the 1108). At Air Force Global Weather Central these doubly-translated programs ran much faster on the 1108 than IBM's 7094 emulation did on the 360. Sperry Rand had a program which translated 7094 assembler programs to 1108 assembler, and Boeing developed another program which converted IBM 7080 Autocoder programs to the 1107 and 1108. The 1108 did well in competitions: a single processor 1108 outperformed an IBM 360/65 and a GE 635 on benchmarks done for the University Computing Company in 1968.

Many programmers who came to the 1108 after working on the machines of other computer companies were struck by how easy it was to work with EXEC 8. Steve Seaquist, now a self-employed programmer, started out on a Control Data Corporation (CDC) 6600 at the University of Texas in 1967. The 6600 was fast, but students were taught to use an assembly language simulator, written in FORTRAN, instead of the real assembler. In 1969, he transferred to the University of Maryland and used the 1108. Seaquist's first class was 1100 assembly language, and he was amazed that students were allowed to write real assembler programs. Seaquist said he "fell in love with the 1108." He liked the fact that batch and time-sharing (which was called "demand" processing on the 1108) used the same commands in the Executive Control Language (ECL), and that the consistency of ECL made it easy to compile and test programs. He got a job as the computer center librarian, but quit the next summer to work as a lifeguard, because that had higher pay!

Sperry Rand implemented the 1108 multiprocessor architecture in its line of military computers. In December 1967, the company was awarded a contract by the U.S. Navy to develop a multiprocessor successor to the Navy Tactical Data System (NTDS) family of computers. This was the AN/UYK-7, which was frequently configured with three CPUs and two input/output controllers and 262,144 words of memory. The design was not just a replication of the 1108, since the word-size was 32 bits, not 36, and the instructions came in both 16 and 32 bit lengths. The first AN/UYK-7 was delivered in 1970 and it became the basis of the Navy's AEGIS ship defense system. An airborne version, designated the 1832, was used in Navy anti-submarine aircraft. Sperry Rand also produced the AN/UYK-8, which was a compatible (30 bit word) replacement for the NTDS machines.

Copyright 2000, by George Gray