ENIAC World Wide Web
ORDVAC (Ordnance Variable Automatic Computer) belongs to the group of computers whose basic logic was developed by the Institute for Advanced Study at Princeton, NJ and utilized in a prototype computer developed at the Institute. This ORDVAC family of computers includes such machines as the ILLIAC, ORACLE, AVIDAC, MANIAC, JOHNNIAC, MISTIC, and CYCLONE.
(ILLIAC - Illinois Automatic Computer; ORACLE - Oak Ridge Automatic Computer and Logical Engine; AVIDAC - Argonne Version of the Institute's Digital Automatic Computer; MANIAC - Mathematical Analyzer Numerical Integrator and Computer; JOHNNIAC - John (v. Neumann) Integrator and Automatic Computer; MISTIC - Michigan State Digital Computer; CYCLONE - (an arbitrary name indicating high speed) Iowa State U.)
ORDVAC was constructed by the University of Illinois for the Ballistic Research Laboratory at Aberdeen Proving Ground, under a contract from the Ordnance Department. The contract number was, W11-022-ORD-11362--RAD ORDTB 9-10675--ORD PROJ TB3-0007J--negotiated under ASPR 3-205. The contracting agency was the Chicago Ordnance District and the period of the contract was 15 April 1949 to 31 October 1951.
Through arrangements made by Dean L. N. Ridenour, the University of Illinois began construction of ORDVAC about 15 April 1949. The efforts of many individuals went into the construction of the machine. The University of Illinois received the cooperation of members of the staff of the Ballistic Research Laboratory in the procurement of materials and the assignment of members of the staff of BRL during the final phases of construction. These BRL staff members were: Dr. P. M. Kintner, Mr. G. H. Leichner, and Mr. C. R. Williams. In addition, Dr. L. A. Delsasso and Dr. R. F. Clippinger followed the work from its inception.
The logical structure of ORDVAC was patterned after a machine described in the 28 June 1946 report, "Preliminary Consideration of the Logical Design of an Electronic Computing Instrument" by Burks, Goldstine and von Neumann of the Institute for Advanced Study. The University of Illinois received helpful information and suggestions arising from discussions with Mr. J. H. Bigelow, Captain H. H. Goldstine and Mr. J. H. Pomerene of the Institute for Advanced Study, especially during the early period of construction of the ORDVAC. Also, drawings pertaining to the arithmetic unit and memory of the machine at the Institute for Advanced Study were furnished to the University of Illinois and some parts of these drawings, such as the registers, were copied for the ORDVAC.
It was first planned to build ORDVAC from circuit drawings obtained from the Institute for Advanced Study, but this intention was later changed and most of ORDVAC was constructed from circuits designed at the University of Illinois. The fundamental flipflop, gating and cathode follower circuits, as employed at the Institute for Advanced Study, were used however. The registers, complement gate and clear drivers were copied from the machine developed at the Institute for Advanced Study and the teletype units were of the kind developed at the National Bureau of Standards for the Institute for Advanced Study. Except for these, however, responsibility for the design of ORDVAC rested with the University of Illinois.
ORDVAC was provisionally accepted by the Ballistic Research Laboratory on the basis of tests conducted between 15-25 November 1951 at the University of Illinois. The machine was dismantled beginning 11 February 1952 and shipped to the BRL on 16 February 1952. During 5-6 March 1952 it successfully performed the three final acceptance tests. These were: (a) the operation of the "final test" routine for twenty hours with one error; (b) the operation of a memory "read-around" test routine requiring that the memory could be consulted ten times at each of its addresses without causing a failure at any other address (this was repeated five times); and (c) the operation of a memory flaw test for thirty minutes without an indication of a failure.
The machine was moved to the Ballistic Research Laboratory under contract: DA-11-022-ORD-680; SUB-RAD 52-56; ORDTB 2-1002; project TB3-0007. The cost of the basic system was approximately $600,000.
The work at the University of Illinois was administered chiefly by an executive committee of the Computer Sub-committee of the University Research Board. This committee consisted of Professor N. M. Newmark, Professor A. H. Taub, Professor R. E. Meagher and Professor J. P. Nash.
The machine was designed to solve the following types of problems:
1. Exterior ballistics problems such as high altitudes, solar and lunar trajectories, computation for the preparation of firing tables and guidance control data for Ordnance weapons, including free flight and guided missiles.
2. Interior ballistic problems, including projectile, propellant and launcher behavior, e.g., physical characteristics of solid propellants, equilibrium composition and thermodynamic properties of rocket propellants, computation of detonation waves for reflected shock waves, vibration of gun barrels and the flow of fluids in porous media.
3. Terminal ballistic problems, including nuclear, fragmentation and penetration effects in such areas as explosion kinetics, shaped charge behavior, ignition, and heat transfer.
4. Ballistic measurement problems such as photogrammetric, ionospheric, and damping of satellite spin calculations, reduction of satellite doppler tracking data, and computation of satellite orbital elements.
5. Weapons systems evaluation problems, such as antiaircraft and antimissile evaluation, war game problems, linear programming for solution of Army logistical problems, probabilities of mine detonations, and lethal area and kill probabilities of mine detonations, and lethal area and kill probability studies of missiles.
ORDVAC is a general purpose computer capable of carrying out individual arithmetic operations at high speed. It operates in the binary number system in a parallel asynchronous manner, and originally used an electrostatic memory. Data was originally put into the machine by punched teletype tape, later by punched cards. Data is obtained from the machine on punched cards, a teletype page printer, or punched teletype tape.
The part of ORDVAC capable of carrying out arithmetic operations on numbers supplied to it is called the arithmetic unit. It consists of three registers (two of them double registers), which are essentially storage units for holding the operands involved in arithmetic operations, a parallel 40- binary digit adder, and other subsidiary units such as the complement gate which provides the complement of the number is one of the registers.
The registers of the arithmetic unit correspond to the keyboard and dials on the common desk calculator. They hold the operands while the operations of arithmetic take place, and they present the results of these operations. The basic components of the registers are the flipflop and the gate.
ORDVAC is a parallel machine, that is, operations are performed simultaneously on all the digits of an instruction or information word. For example, when a 40-digit number is transferred from the memory into a register of the arithmetic unit, all digits are transferred simultaneously. Similarly, when a number in R3 (one of the registers) is added to a number in the accumulator, the steps in this process are carried out on all the digits at the same time.
Although ORDVAC may use several number systems, the basic one is the binary or base-two system. This system is convenient because it requires only the two digits 0 and 1 for number representation and therefore flipflops or any other two-state devices can be efficiently used. Moreover, the logical structure of the machine is based upon a two-state logic (where all decisions are of the yes-no type), so that an over-all consistency is obtained.
Many operational economies can be realized with the binary system, and the disadvantages inherent in an unfamiliar system can be overcome by requiring the machine to make all of the necessary conversions to and from more familiar systems, such as the decimal system.
The ORDVAC's new arithmetic unit has a fixed point number system and handles numbers in the range -1 to +1. It can be programmed for any number system, but the fixed point system requires a simpler control. The choice of the range -1 to +1 is dictated by the fact that the product of two numbers in this range is likewise in range.
The new arithmetic unit has an add time of 14 microseconds, a multiply time of 700 microseconds, and a divide time of 700 microseconds. All of the arithmetic operations of ORDVAC are automatic in the sense that a single order is required for each one and the sequencing is then automatically programmed.
One of the principal components of any automatic computing machine is the control. The ORDVAC control consists of some 500 vacuum tubes located in thirty chassis. Most of these chassis are quite well localized, but a few, notably those associated with the end connections, are scattered through the arithmetic unit.
It is the function of the control to carry out the individual operations necessary for executing the orders which the programmer has combined into a routine for solving a problem. Because some of the orders require complicated sequencing and because there is a considerable variety of orders, the control is a highly interconnected component with very little duplication of circuits. These circuits are primarily combinations of four kinds of logical elements:
1. The flipflop.
2. The "and" circuit.
3. The "or" circuit.
4. The "not" circuit.
The flipflop is a device which can indicate one or the other of two states and which can be changed from one state to the other. The two states can be indicated in any of a number of different ways such as, "plus" or "minus," "yes" or "no," "on" or "off." In the ORDVAC the names given to these states are "zero" and "one."
The other three logical elements perform functions which are quite well described by their names. The "and" circuit has two inputs and one output which will have a signal on it if, and only if, there is a signal on each of the inputs. The "or" circuit is similar except that there will be a signal on the output if there is a signal on either one or both of the inputs. The "not" circuit has a signal on its output if there is no signal on the input and no signal on the output if there is a signal on the input.
The state of the machine at any time may be defined by the state of the flipflops in the machine. It is the function of the control to determine the state of ORDVAC and to change this state in accordance with the instructions provided to ORDVAC via the input and the memory.
The control operates by withdrawing instructions and numbers from the memory. In general it can be said that the control alternates the process of withdrawing pairs of instructions with the process of executing them. Most of the work of the control is done between references to the memory. For example, all of the operations of arithmetic are handled by the control. Thus in multiplication, a number of steps must be carried out between the time the multiply instruction and the multiplicand come out of the memory and the time the product is put back into the memory.
The memory unit originally used in the ORDVAC was of the Willliams-type, in which information is stored as a potential distribution on the phosphor surface of a cathode ray tube.
Storage of information on the phosphor must be accomplished for periods much longer than one-tenth of a second, which is the longest safe time permitted on the cathode ray tube surface. This storage is accomplished by "regeneration." In the ORDVAC memory facilities are provided so that when the memory is not in use for arithmetic operations a test is made of each spot of the memory, in order, and each spot is regenerated by appropriately turning the beam on or off so that a "fair" dot is regenerated into a "good" dash. By this scheme it is possible to hold information in the memory for indefinite periods of time.
In order to use ORDVAC effectively in any computation its memory must be fully or partially filled before the problem begins. This is accomplished by the part of the machine called the input. It originally used teletype tape, previously prepared by an operator using tape preparation equipment. ORDVAC was capable of controlling the operation of its input in that it can determine when to read information from the tape. The input of ORDVAC was capable of filling the entire memory in 38 minutes by the relatively slow mechanical paper tape reader.
The input-output equipment consists of teletypewriter units together with those circuits of the computer used in performing the two instructions input and print.
The input instruction takes 40 binary digits from 10 successive rows of a tape that has been previously punched with 4 binary digits per row, and puts them in order in the register R1.
The print instruction prints one word on a sheet of paper as ten sexadecimal digits. These are formed by taking the 40 binary digits in register R2, four at a time, beginning with the sign digit, and printing a corresponding base 16 symbol.
Teletype tape was also punched by ORDVAC, when it was desirable to have the output on tape. The equipment used for output was, in some part, the same as that used for the input.
During the period from 10 March 1952 to 2 October 1953 ORDVAC was available for computation a total of 8,410.18 hours. The total engineering time was 4,189.17 hours, and the remaining 1,104.65 hours composed standby time. Standby time includes all the time during which no attempt is made to operate or service the machine.
During the earlier periods of operation there had been a considerable amount of standby time. The lack of sufficiently trained personnel and the lack of programs did not make it desirable to maintain the machine over the weekends. As more programs were completed, however, and the machine's load increased, it was soon learned that operating the ORDVAC without interruption reduced the number of troubles encountered on Monday morning and enabled it to be made available for use at an earlier time. By 1954 standby time averaged 13.54 hours per week.
Between March 1952 and October 1953 an average of 37.17 hours per week was spent on code checking, 38.29 hours per week on production, and 23.03 hours per week was classified as idle time. The title "idle time" was not intended to indicate that the machine was not in use during that time. It was made to continually run a test called Leap III, but was available for other use at any time. Should the Leap III routine fail, the following time was immediately classified as unscheduled engineering until the cause of the error was corrected, and the routine successfully operated for fifteen minutes.
The normal operating schedule of ORDVAC included three periods each day during which the performance of the machine was checked. The period 0800 to 1000 hours was set aside for engineering purposes. At this time small changes and improvements could be made, troubles that may have developed during the night shifts cleared, and finally the machine could be tested by various self- checking programs. Tests were again made at the conclusion of each working day and at midnight. Upon the successful conclusion of the tests the ORDVAC was released to the mathematicians who used it during the day. On the night shifts most of the production work was performed by two technicians per shift who were in charge of the machine. They were not expected to understand the programs that were run, but followed explicit instructions left by the mathematicians. This system worked quite well and when a coder arrived at the Laboratory in the morning he usually found that his program had been completed.
During this period (1952-1953) about thirty different problems were placed on the ORDVAC in the course of a single average week. Ballistic computations, such as firing and bombing tables and trajectories for guided missiles and rockets, formed forty percent of the work done by ORDVAC. Vulnerability computations and data reductions formed twenty-five percent and twenty percent respectively. Research problems formed ten percent and systems tests formed five percent of the work.
Three classes of tests were used to test the units of ORDVAC. A read- around-ratio test was used for checking the memory, an input-output test was used to test the teletype and card handling equipment, and the Leap III test was used to test the arithmetic and control section and to give a further check on the memory.
ORDVAC was used as much as possible to test itself by a highly repetitive use of its components. In this way marginal and intermittent errors could be detected that would otherwise not have been found. The usual memory errors were not too difficult to repair. The cause of arithmetic errors were harder to detect since their effect might propagate. Intermittent failures were especially troublesome if the error frequency was low. In this case an attempt would be made to increase the error rate by special routines which would strain the circuits to their limit, by vibrating the circuit components, by varying filament or supply voltages, or by a combination of the above.
When ORDVAC was delivered to the Ballistic Research Laboratory its input device was a standard-speed five hole teletype tape reader and its output a teletype page printer. With this equipment, the time necessary to load the entire memory of 1,024 addresses was 38 minutes. The time required to print the contents of the entire memory was the same. It was soon realized, however, that a change was necessary in the input in order to speed up the operation of the computer. Within a few weeks after ORDVAC was placed in operation a control circuit had been designed and built for a modified tape reader which allowed information to be read into the machine at five times the previous rate. The memory could now be filled in 7.5 minutes. This unit performed exceptionally well but input and output still remained the bottleneck to more efficient use of the machine.
The most important change in input-output was the addition of card handling equipment. This was desirable, especially since the ENIAC already used punched cards and such a system was soon to be developed for the EDVAC. There were two possible systems to be considered. The first was an external system in which information punched on card was to be automatically converted to its binary equivalent by external apparatus. The second was an internal conversion system based on utilizing the ORDVAC itself to accomplish the necessary transformation. The second method was chosen.
The advantages of the internal system lay in the elimination of the necessity for extensive additional equipment and the achievement of maximum reliability through the use of established machine operations. The greatest disadvantage of the internal system was that a significant portion of the memory capacity was committed to the decimal-to-binary conversion program. The space required for both input and output conversions amounted to 200 words or approximately one-fifth of the memory. Later improvements of the memory made it possible to further reduce the size of the program, however.
The system was based on double register gating in which the entire 80-column output could be gated to or from the ORDVAC simultaneously. An electronic control circuit, actuated by signals generated in the card punch or card reader, allowed the contents of the ORDVAC registers to be stored in the memory or changed between each row of a card.
This system proved quite reliable and was preferred over tape by the mathematicians. The usual practice was to first prepare a program on tape and immediately transcribe it to cards with a special routine that would automatically read from the tape and punch twenty-four words per card in binary form.
The electrostatic memory had always been the most troublesome unit of ORDVAC. Prior to June 1953 the memory operated rather consistently at a read- around-ratio of 10 to 16. A restriction of 10 placed on the coders resulted in slower routines or routines that occupied a larger portion of the memory. In addition to read-around-ratio-difficulties there existed the problem of obtaining cathode-ray tubes whose screens were free of impurities. Cathode- ray tubes, type 3KP1, were used for storage. Approximately 25% of those tested were acceptable, most rejections having been due to impurities which could cause improper storage. Up to May 1953 approximately sixty cathode-ray tubes had been removed from the machine for various reasons. About two-thirds of the total number were removed because of the impurities in their screens. Five were removed without proper cause, and the remaining tubes were removed because voltage adjustments would no longer hold the read-around-ratio of those tubes above 10. No cathode-ray tubes burned out under normal operating conditions, although five were deliberately burned out when subjected to abnormal conditions.
In May 1953 it was learned that the University of Illinois was obtaining improved read-around by using a three-dot system. In this system two dots represent a one and three dots represent a zero. The first and third dots occur at the same location. ORDVAC was changed from a two-dot system about 1 June 1953. Considerable difficulty was encountered with the sensing pulse, and in order to strengthen it sufficiently so that its magnitude would not vary with the number of zeros sensed, it was necessary to incorporate a pulse transformer into the circuit. The new system caused the read-around-ratio to be increased by a factor of three so that it was then varying between 32 and 48.
In an attempt to further improve the reliability of the electrostatic memory, a number of cathode-ray tubes of type C73376B, under development by RCA, were obtained and installed in the ORDVAC. By 1954 they had been in the ORDVAC for 1,500 hours and had operated satisfactorily. The read-around-ratio increased to 80 and the flaw problem no longer existed since these tubes were virtually free of flaws.
The greatest difficulty experienced with the new tubes was due to their centering characteristics. Upon installation, a large number of tubes had to be immediately removed, because extremities of the 1,024-spot raster projected beyond the useful surface of the screens. Ten tubes were removed for this reason. The ORDVAC, like most machines using electrostatic memories, operated its cathode-ray tubes in a parallel manner, so that any positioning of the raster which is beneficial to one tube might render other tubes completely useless.
A test was made on the centering of 40 cathode-ray tubes of type C73376B and, for comparison, on 40 tubes of type 3KP1 chosen at random. Results indicated that the experimental tubes were somewhat inferior in this respect.
In September 1952, a tube removal program was initiated as one part of a preventive maintenance program. Since all of the troubles encountered had been the result of shorted or low emission tubes, it was believed that such a program would be helpful in eliminating a potential source of trouble. Blocks of tubes were removed at two-week intervals and were replaced by new ones. The location and number of tubes in a given block depended upon the area in which the most frequent troubles had been occurring. The number usually varied from 50 to 100. By 1954 ORDVAC had operated about 18,000 hours, and virtually all of its 3,000 tubes had been replaced at least once. The effect of the system of changing tubes by blocks was felt almost immediately and it was believed to be an important factor in the gradual increase of available time of machine operation.
While tube failures constituted the major cause of trouble in the ORDVAC, bad solder connections also were a cause of trouble. In one case a great many adder failures were eliminated by the discovery of a wiring error which had caused 200 volts to be applied between the heater and cathode of 50 tubes. Such errors were difficult to eliminate except through continued use of the machine.
Dust or dirt in the machine was also a problem. In almost any installation some dirt is certain to enter the cooling system regardless of any elaborate filtering that may be used. Simply exposing the components for necessary maintenance will allow a great deal of dust to enter a system. A computer using an electrostatic memory is especially susceptible to dust unless it is elaborately protected, because the high-voltage wiring forms a fine precipitator. This has been one of the great sources of trouble in the ORDVAC, not in the sense of actual occurrence of trouble, but in the sense of prevention of damage that might be done.
During the summer of 1952 sufficient dust had collected on the wiring so that the 2,000 volts arced to ground in a number of places. The damage included several clamping tubes that were exploded, at least six memory chassis that had to be replaced, and five cathode-ray tubes that were burned out. The arcing was eliminated by floating the high voltage system and supplying it with variable voltage, with high internal impedance. The arcs were both visible and audible in a darkened room and they were eliminated by cleaning and separating the wires where possible.
It is interesting to note that ORDVAC can be remotely controlled from commercial teletype units. This was actually used to solve problems for the University of Illinois. The University would send a program through regular teletype channels. It would then be placed in the ORDVAC after insuring that it had been received correctly. Answers were obtained on tape and returned to the University by mail or by the teletype channels. Thus the ORDVAC is available to any laboratory in the country having the necessary coding staff.
In July 1955 a 10,032-word magnetic drum was added to the ORDVAC memory system. The drum operates in a serial manner, that is, one bit at a time is transferred to or from the machine. The time required for the transfer of 48 words to or from the drum is from 50 to 70 milliseconds.
When the magnetic drum was first installed track selection was made with relays, but these have since been replaced by a transistor track selector. Track selection time was reduced from 25 milliseconds to three microseconds.
On 8 June 1956 a 4,096-word magnetic core memory arrived for use on the ORDVAC. Almost four months were required to remove the old electrostatic memory and install the new magnetic core memory. Final acceptance tests were begun on 22 September 1956.
A new transistor adder was added to ORDVAC on 3 June 1958 and early in 1961 an index register was installed.
ORDVAC has operated on a 24 hour per day basis at better than 80% efficiency, and by late 1961 it was still scheduled to continue operation even after the newer machine, BRLESC would be in operation. (See Appendix III for technical data of ORDVAC.)