The IBM Selective Sequence Electronic Calculator (SSEC) was an electromechanical computer built by IBM. Its design was started in late 1944 and it operated from January 1948 to August 1952. It had many of the features of a stored-program computer, and was the first operational machine able to treat its instructions as data, but it was not fully electronic. [1] Although the SSEC proved useful for several high-profile applications, it soon became obsolete. As the last large electromechanical computer ever built, its greatest success was the publicity it provided for IBM.
During World War II, International Business Machines Corporation (IBM) funded and built an Automatic Sequence Controlled Calculator (ASCC) for Howard H. Aiken at Harvard University. The machine, formally dedicated in August 1944, was widely known as the Harvard Mark I. [2] The President of IBM, Thomas J. Watson Sr., did not like Aiken's press release that gave no credit to IBM for its funding and engineering effort. Watson and Aiken decided to go their separate ways, and IBM began work on a project to build their own larger and more visible machine. [3]
Astronomer Wallace John Eckert of Columbia University provided specifications for the new machine; the project budget of almost $1 million was an immense amount for the time. [4] Francis "Frank" E. Hamilton (1898–1972) supervised the construction of both the ASCC and the SSEC. [5] Robert Rex Seeber Jr. was also hired away from the Harvard group, and became known as the chief architect of the new machine. [6] Modules were manufactured in IBM's facility at Endicott, New York, under Director of Engineering John McPherson after the basic design was ready in December 1945. [7]
The February 1946 announcement of the fully electronic ENIAC energized the project. [8] The new machine, called the IBM Selective Sequence Electronic Calculator (SSEC), was ready to be installed by August 1947. [9] Watson called such machines calculators because computer then referred to humans employed to perform calculations and he wanted to convey the message that IBM's machines were not designed to replace people. Rather they were designed to help people, by relieving them of drudgery. [6] : 143
The SSEC was installed on three sides of a room on the ground floor of a building near IBM's headquarters at 590 Madison Avenue in New York City, behind a large window where it was visible to people passing by on the busy street. The space had formerly been occupied by a women's shoe store. The noisy SSEC was sometimes called Poppa by the viewing pedestrians. [10] It was dedicated and first demonstrated to the public on January 27, 1948. A. Wayne Brooke served as the chief electronic engineer for the machine's operation starting in 1950. [11] Herb Grosch, the second person with a Ph.D. hired by IBM, was one of its first programmers. Another early programmer was Edgar "Ted" Codd. Elizabeth "Betsy" Stewart was chief operator, and often appeared in publicity photos. [12]
The SSEC was an unusual hybrid of vacuum tubes and electromechanical relays. Approximately 12,500 vacuum tubes were used in the arithmetic unit, control, and its eight (relatively high-speed) registers, which had an access time of less than one millisecond. About 21,400 relays were used for control and 150 lower-speed registers, with an access time of 20 milliseconds. The relay technology was similar to the ASCC, based on technology invented by Clair D. Lake (1888–1958). [13] The arithmetic logic unit of the SSEC was a modified IBM 603 electronic multiplier, which had been designed by James W. Bryce. [14] The bulky tubes were military surplus radar technology, which filled one entire wall. The memory was organized as signed 19-digit decimal numbers. Multiplication was computed with 14 digits in each factor. Most of the quoted 400,000 digit capacity was in the form of reels of punched paper tape. [15]
Addition took 285 microseconds and multiplication 20 milliseconds, making arithmetic operations much faster than the Harvard Mark I. Data that had to be retrieved quickly was held in electronic circuits; the remainder was stored in relays and as holes in three continuous card-stock tapes that filled another wall. A chain hoist was needed to lift the heavy reels of paper into place. The machine read instructions or data from 30 paper tape readers connected to three punches, and another a table look-up unit consisted of another 36 paper tape readers. A punched card reader was used to load data, and results were produced on punched cards or high-speed printers. [15] The 19-digit word was stored on the card stock tape or registers in binary-coded decimal, resulting in 76 bits, with two extra bits for indicating positive or negative sign and parity, while the two side rows were used for sprockets. The familiar 80 columns of IBM punched card technology were recorded sideways as one column of the tape. [12]
Using well-tested technology, the SSEC's calculations were accurate and precise for its time, but one early programmer, John Backus, said "you had to be there the entire time the program was running, because it would stop every three minutes, and only the people who had programmed it could see how to get it running again”. [16] ENIAC co-designer J. Presper Eckert (no relation to the IBM Eckert) called it "some big monstrosity over there that I don't think ever worked right". [17]
Seeber had carefully designed the SSEC to treat instructions as data, so they could be modified and stored under program control. IBM filed a patent based on the SSEC on January 19, 1949, which was later upheld as supporting the machine's stored program ability. [6] : 136 [18] Each instruction could take input from any source (electronic or mechanical registers or tape readers) store the result in any destination (electronic or mechanical registers, tape or card punch or printer), and gave the address of the next instruction, which could also be any source. This made it powerful in theory. [15] However, in practice instructions were stored usually on paper tape, resulting in an overall rate of only about 50 instructions per second. The serial nature of the paper tape memory made programming the SSEC more like the calculators from the World War II era. For example, "loops" were usually literal loops of paper tape glued together. For each new program, tapes and card decks were literally "loaded" on the readers, and a plugboard changed in the printer to modify output formatting. For these reasons, the SSEC is usually classified as the last of the "programmable calculator" machines instead of the first stored-program computer. [19]
The first application of the SSEC was calculating the positions of the Moon and planets, known as an ephemeris. [20] Each position of the Moon required about 11,000 additions, 9,000 multiplications, and 2,000 table look-ups, which took the SSEC about seven minutes. [9] This application used the machine for about six months; by then other users were lined up to keep the machine busy. [21]
It has sometimes been said that the SSEC produced the Moon-position tables that were later used for plotting the course of the 1969 Apollo flight to the Moon. Records closer to 1969 suggest, however, that while there was a relationship, it was most likely less immediate. Thus, Mulholland and Devine (1968), working at NASA Jet Propulsion Laboratory, reported [22] that the JPL Ephemeris Tape System was "used for virtually all computations of spacecraft trajectories in the US space program", and that it had, as its current lunar ephemeris, an evaluation of the Improved Lunar Ephemeris incorporating a number of corrections: sources are named as 'The Improved Lunar Ephemeris' (documentation which was the report of the Eckert computations carried out by the SSEC, complete with lunar position results from 1952 to 1971), [23] with corrections as described by Eckert et al. (1966), [24] and in the Supplement to the AE 1968. [25] Taken together, the corrections thus referenced modify practically every individual element of the lunar computations, and thus the space program appears to have been using lunar data generated by a modified and corrected derivative of the computational procedure pioneered using the SSEC, rather than the directly resulting tables themselves.
The first paying customer of the SSEC was General Electric. The SSEC was also used for calculations by the U.S. Atomic Energy Commission for the ANP project to power an airplane with a nuclear reactor. Robert D. Richtmyer of Los Alamos National Laboratory used the SSEC for some of the first large-scale applications of the Monte Carlo method. [26] Llewellyn Thomas solved problems with stability of laminar flow, programmed by Donald A. Quarles Jr. and Phyllis K. Brown. [27] In 1949, Cuthbert Hurd was hired (also after a visit to the SSEC) and started a department of applied science; the operation of SSEC was eventually put into that organization. [21]
The SSEC room was one of the first computers to use a raised floor, so visitors would not see unsightly cables or trip over them. The large array of flashing lights and noisy electro-mechanical relays made IBM very visible to the public. The SSEC appeared in the film Walk East on Beacon , which is based on a book by J. Edgar Hoover. [11] It was widely covered positively by the press. [28] [29] The SSEC attracted both customers and new employees. Both Hurd and Backus were hired after seeing demonstrations of the facility.
The 1946 ENIAC had more tubes than the SSEC and was faster in some operations, but was originally less flexible, needing to be rewired for each new problem. At the end of 1948 a new IBM 604 multiplier was announced, which used newer tube technology that already made the bulky tubes of the SSEC obsolete. By May 1949 the Card-Programmed Electronic Calculator was announced, and shipped in September. It was effectively a much scaled-down version of the SSEC technology to allow customers to perform similar calculations. [6] Even by the end of 1948, the limited electronic memory of the SSEC was seen as a problem, [15] and IBM soon licensed the Williams tube technology developed on the Manchester Baby at the Victoria University of Manchester. [6] : 168 Subsequent computers would have electronic random access memory, and in fact the ability to execute instructions from processor registers was generally not adopted. The 77-bit wide programming word was also abandoned for fewer bits but much faster operation.
By 1951 the Ferranti Mark I was marketed in the UK as a commercial computer using Williams tube technology, followed by the UNIVAC I using delay-line memory in the US. These memory technologies allowed stored-program features to be more practical. The stored-program concept had been first widely published in 1945 in the First Draft of a Report on the EDVAC and became known as the Von Neumann architecture. The EDVAC (first working in 1949) was the ENIAC successor, designed by the team who then marketed the UNIVAC.
The SSEC ran until August 1952, when it was dismantled, having been made obsolete by fully electronic computers. An IBM 701 computer, known as the Defense Calculator, was installed in the same room for its April 7, 1953, public debut. [30] In July 1953 the much less expensive (and even better selling) IBM 650 was announced, which had been developed by the same Endicott team who developed the SSEC. [31]
The Atanasoff–Berry computer (ABC) was the first automatic electronic digital computer. Limited by the technology of the day, and execution, the device has remained somewhat obscure. The ABC's priority is debated among historians of computer technology, because it was neither programmable, nor Turing-complete. Conventionally, the ABC would be considered the first electronic ALU – which is integrated into every modern processor's design.
The history of computing hardware covers the developments from early simple devices to aid calculation to modern day computers.
ENIAC was the first programmable, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was the first to have them all. It was Turing-complete and able to solve "a large class of numerical problems" through reprogramming.
EDVAC was one of the earliest electronic computers. It was built by Moore School of Electrical Engineering, Pennsylvania. Along with ORDVAC, it was a successor to the ENIAC. Unlike ENIAC, it was binary rather than decimal, and was designed to be a stored-program computer.
John William Mauchly was an American physicist who, along with J. Presper Eckert, designed ENIAC, the first general-purpose electronic digital computer, as well as EDVAC, BINAC and UNIVAC I, the first commercial computer made in the United States.
BINAC is an early electronic computer that was designed for Northrop Aircraft Company by the Eckert–Mauchly Computer Corporation (EMCC) in 1949. Eckert and Mauchly had started the design of EDVAC at the University of Pennsylvania, but chose to leave and start EMCC, the first computer company. BINAC was their first product, the first stored-program computer in the United States; BINAC is also sometimes claimed to be the world's first commercial digital computer even though it was limited in scope and never fully functional after delivery.
The UNIVAC I was the first general-purpose electronic digital computer design for business application produced in the United States. It was designed principally by J. Presper Eckert and John Mauchly, the inventors of the ENIAC. Design work was started by their company, Eckert–Mauchly Computer Corporation (EMCC), and was completed after the company had been acquired by Remington Rand. In the years before successor models of the UNIVAC I appeared, the machine was simply known as "the UNIVAC".
A stored-program computer is a computer that stores program instructions in electronically or optically accessible memory. This contrasts with systems that stored the program instructions with plugboards or similar mechanisms.
The Harvard Mark I, or IBM Automatic Sequence Controlled Calculator (ASCC), was one of the earliest general-purpose electromechanical computers used in the war effort during the last part of World War II.
The von Neumann architecture—also known as the von Neumann model or Princeton architecture—is a computer architecture based on a 1945 description by John von Neumann, and by others, in the First Draft of a Report on the EDVAC. The document describes a design architecture for an electronic digital computer with these components:
The Manchester Baby, also called the Small-Scale Experimental Machine (SSEM), was the first electronic stored-program computer. It was built at the University of Manchester by Frederic C. Williams, Tom Kilburn, and Geoff Tootill, and ran its first program on 21 June 1948.
Wallace John Eckert was an American astronomer, who directed the Thomas J. Watson Astronomical Computing Bureau at Columbia University which evolved into the research division of IBM.
Herman Heine Goldstine was a mathematician and computer scientist, who worked as the director of the IAS machine at the Institute for Advanced Study and helped to develop ENIAC, the first of the modern electronic digital computers. He subsequently worked for many years at IBM as an IBM Fellow, the company's most prestigious technical position.
Minimal instruction set computer (MISC) is a central processing unit (CPU) architecture, usually in the form of a microprocessor, with a very small number of basic operations and corresponding opcodes, together forming an instruction set. Such sets are commonly stack-based rather than register-based to reduce the size of operand specifiers.
Honeywell, Inc. v. Sperry Rand Corp., et al., 180 U.S.P.Q. 673, was a landmark U.S. federal court case that in October 1973 invalidated the 1964 patent for the ENIAC, the world's first general-purpose electronic digital computer. The decision held, in part, the following: 1. that the ENIAC inventors had derived the subject matter of the electronic digital computer from the Atanasoff–Berry computer (ABC), prototyped in 1939 by John Atanasoff and Clifford Berry, 2. that Atanasoff should have legal recognition as the inventor of the first electronic digital computer and 3. that the invention of the electronic digital computer ought to be placed in the public domain.
James Wares Bryce was an American engineer and inventor. In 1936, on the centenary of the United States Patent Office, he was honored as one of the country’s 10 greatest living inventors.
Cuthbert Corwin Hurd was an American computer scientist and entrepreneur, who was instrumental in helping the International Business Machines Corporation develop its first general-purpose computers.
The IBM Naval Ordnance Research Calculator (NORC) was a one-of-a-kind first-generation computer built by IBM for the United States Navy's Bureau of Ordnance. It went into service in December 1954 and was likely the most powerful computer at the time. The Naval Ordnance Research Calculator (NORC), was built at the Watson Scientific Computing Laboratory under the direction of Wallace Eckert.
Robert Rex Seeber Jr. (1910-1969), an inventor at IBM, co-invented the Selective Sequence Electronic Calculator (SSEC). He was born in Detroit, Michigan, graduated with an A.B. from Harvard University in 1932. He died in La Jolla, California. His primary research contributions were in computer systems design, and associative memories and processors.
A vacuum-tube computer, now termed a first-generation computer, is a computer that uses vacuum tubes for logic circuitry. While the history of mechanical aids to computation goes back centuries, if not millennia, the history of vacuum tube computers is confined to the middle of the 20th century. Lee De Forest invented the triode in 1906. The first example of using vacuum tubes for computation, the Atanasoff–Berry computer, was demonstrated in 1939. Vacuum-tube computers were initially one-of-a-kind designs, but commercial models were introduced in the 1950s and sold in volumes ranging from single digits to thousands of units. By the early 1960s vacuum tube computers were obsolete, superseded by second-generation transistorized computers.
The SSEC was the first operating computer capable of treating its own stored instructions exactly like data, modifying them, and acting on the result.