[Next] [Up] [Previous]

The Second Generation

The transistor was invented during 1947 by John Bardeen, W. H. Brittain, and William Shockley at Bell Labs, and publicly announced on June 30, 1948. Although transistors did consume some power in order to work, they didn't require heater filaments like vacuum tubes, and so their power consumption was far lower. This also meant that they could have a much longer lifetime, and hence higher reliability. And they were considerably smaller.

All these advantages meant that transistors were a revolutionary development in electronics, but that revolution did take several years to come to fruition.

One major reason for this is that the initial kind of transistor that could be produced was the point-contact transistor, which had to be made by hand with difficulty. The diode in a crystal radio was a crystal of galena (lead sulfide), a semiconductor, which was clamped in place by an assembly of conductive metal, making one ohmic contact (a contact where nothing special happens, which behaves like a plain electrical resistance), with the other contact made by a thin wire, called a "cat's whisker", which touched the crystal at a point, making a rectifying contact.

A point-contact transistor used the metal Germanium instead of the mineral galena, it involved one ohmic contact with the Germanium, and two gold or tungsten wires making rectifying contacts that were closely adjacent. These were bipolar transistors; the ohmic contact provided the base of the transistor, and the two rectifying contacts provided the emitter and collector.

As transistors were at first expensive to manufacture, the royalties charged by Bell for their manufacture initially reflected that; but they waived their royalties on transistors used for making hearing aids, to honor Alexander Graham Bell, the inventor of the telephone, who had dealt with a hearing impairment for much of his life. This led to one early Austrian transistorized computer, Mailufterl (the name, referring to a gentle breeze which takes place in Austria during the month of May, being a play on the name of the American early experimental computer with core memory and transistor logic, Whirlwind I), being built out of the rejects from an Austrian hearing-aid factory!

After new designs for transistors, such as mesa transistors, and especially the planar transistor (which was manufactured by a process which was basically the same as that which would later be used for making integrated circuits) came along, it became practical to use them in computers, which required thousands of logic gates. It is possible to design logic circuits so that not all logic gates require even one transistor or vacuum tube by performing most logic functions with diodes, but a computer would still require many transistors or vacuum tubes even when designed that way, for two reasons. One is that signals would occasionally require amplification after every so many stages of diode logic in order to remain at the proper level, and the other is that a tube or transistor is always required in order to invert the level of a signal.

The first computer built using transistors that we will discuss (well, at least at length, having already mentioned two others) is closely related to the vacuum tube computers from IBM with which we ended the previous page.

As we noted, the IBM 704 was an early machine to use core memory, and also an early machine to have hardware floating-point. Its successor, the IBM 709, had an expanded instruction set, but only a relatively few of them were made.

The IBM 7090 was a re-implementation of the 709, having exactly the same instruction set, but built using transistors.

For many years, the IBM 7090 was widely used by those who needed a powerful scientific computer.

This IBM photograph shows two NASA scientists, Dr. Helmut Hoelzer on the left, seated, and Dr. Rudolph Hoelker on the right, standing, at the console of an IBM 7090 computer.

It is a famous photograph that you may have seen before elsewhere. The very first IBM 7090 that IBM delivered was for NASA at the Marshall Space Flight Center, it arrived in December, 1959; this model was announced in December, 1958, twelve months previously.

The photograph below, also by IBM, shows the IBM 7094 II computer.

Above a front panel similar to that of the IBM 7090, there is a small box added with four rows of fifteen lights. These exhibit the distinguishing feature of the IBM 7094. The 7090 had three index registers, called A, B, and C, and there was a three-bit tag field in the instruction field to indicate which one was used. If more than one was specified, the bits of the index registers specified would be ORed before this value was subtracted from the address.

The 7094, instead, had seven index registers. But it also had "Multiple Tag Mode" to allow the computer to switch to just using the original three index registers for strict compatibility with the 7090 if desired.

Behind the computer, on the left, is a 1301 disk drive. It is around the same size, with a similar set of platters, as the disk drive for the RAMAC, but that disk drive had only one arm with read/write heads, which was positioned to the surface to use. This one, instead, has one arm with read/write heads for each pair of surfaces, connected together in combs, as on modern hard disk drives.

On the right are Hypertape drives. Very few of these were sold by IBM to outside customers, despite the improved performance they offered.

Another series of transistorized computers deriving from the original 704 vacuum tube computer included the IBM 7040 and IBM 7044. Here, one of these computers appears in a historic NASA photo, with Melba Roy Mouton, one of the women recognized in the recent movie Hidden Figures, standing next to it.

Although the first 7090 was delivered in December, 1959, and the first STRETCH was delivered to the Los Alamos National Laboratory in 1961, the type of transistor circuitry used in the 7090 was originally developed for the STRETCH, pictured below:

It was intended to perform 50-100 times faster than the IBM 704, but did not meet that goal, and so the price of the computer to the customers which had pre-ordered them was decreased, and no more were made.

This image of a 7090 computer shows that its circuitry is within the same style of cabinet as the ones behind the console of the STRETCH in the imagle above:

These cabinets were designed so that they could fit in the type of freight elevators typically found in office buildings; some of IBM's competitors did not pay attention to this detail in the design of their large computers, leading to increased difficulty and expense in installing them.

Although large computers used for scientific computing were a prestige product with high visibility for IBM, the company's main focus, and main source of revenue from computers, was in the field of commercial data processing.

One of their most successful products was a comparatively small-scale system for commercial data processing, the IBM 1401 computer. Here's an image of the components of an installation, made for publicity at the system's introduction:

And here's another similar image, from an advertisement:

In both images, from left to right we see a card reader-punch, the CPU itself, and a line printer. In the second image, we also see three tape drives.

Note that in the second image, the CPU is twice as wide. That is because it has additional memory, which can be added on in a modular fashion.

As neither image is particularly detailed, I have taken the liberty of including a close-up image of the 1401 front panel, the area on the upper left corner of the CPU, on the left, from IBM's reference manual for the IBM 1401 computer.

The 1401 was very influential in the design of the later IBM System/360, as it could perform operations on variable-length strings and numbers, and its instructions varied in length. But the 1401 was a purely commercial machine, while the System/360 was designed for both commercial and scientific workloads, so there were also important differences. The 1401 delimited strings and numbers with a word mark bit, which was associated with every six-bit character. Instead, in those (relatively few) instructions in which the System/360 dealt with variable-length data, the length was included as part of the instruction. The word mark was also used to delimit the instructions themselves: on the System/360, the first two bits of the instruction's opcode determined its length.

Another IBM computer of the discrete transistor era worthy of a mention at least in passing is the IBM 7070 and its close relative, the IBM 7072.

I've seen many recent discussions of this computer as being intended as an upgrade path for 650 users. It does have one similarity to the 650, in that while it works on fixed-length data items, like the IBM 7090, a scientific computer, it does all its arithmetic in decimal, as is typical of commercial computers.

It's also been characterized as the computer nobody wanted, as it was not a great success for IBM.

To me, though, the fact that it combines decimal arithmetic with fixed-length data suggests something more than merely an attempt to make the computer a bit easier to use for programmers who previously worked on the IBM 650. After all, it was still very different from the IBM 650 in a number of ways, for example because it used core memory, not drum memory, and so instructions didn't have a field for the address of the next instruction. It wasn't remotely upwards-compatible with the 650.

What it suggests to me is that the 7070/72 was an earlier attempt to do what IBM later did with great success with the IBM System/360 - to create a computer that was usable for both scientific computing and commercial data processing, so as to permit IBM to transition to a unified product line.

And the failure of the 7070/72 could be seen as possibly having an influence on how IBM carried out the transition to the 360: having learned that customers who were comfortable with the computers they had would, if given a choice, prefer to upgrade to direct upwards-compatible successors of those computers, when the System/360 was introduced, and indeed for some time before that introduction, IBM discontinued all development of its existing product lines.

Even the extremely popular and profitable IBM 1401 computer, which led to frustrated IBM salesmen losing sales to competing machines such as the Honeywell 200. Thus, one IBM executive ended up in hot water for running a clandestine project, in defiance of orders, to build a new version of the 1401 implemented in the Solid Logic Technology of the upcoming IBM System/360!

Before going on to other manufacturers, here is a photograph of one more computer by IBM:

This is the IBM 1620, announced by IBM on October 21, 1959. Although it was intended for use for what is commonly termed scientific computing rather than commercial, not only did it use decimal digits, but its memory consisted of digits with a bit used as a word mark (called the Flag bit), so that it operated with data items of a variable size. But it used a two-digit code to represent characters for printing, instead of having six-bit characters, also used for digits, plus a word mark like the very popular 1401 computer.

In its most basic model, the four basic arithmetic operations were implemented by means of an addition table and a multiplication table loaded into core memory, but the later Model II version of this computer, introduced in 1962, increased the speed of the machine by implementing those operations in a conventional manner. This led to its internal codename, CADET, being jokingly referred to as standing for "Can't Add, Doesn't Even Try".

The first Univac LARC was accepted by the Lawrence Radiation Laboratories in August, 1960, thus it was delivered before the STRETCH, with which it was a contemporary competitor. Its front panel is pictured at left. Unusually for a solid-state computer aimed at scientific computation, but like the IBM NORC from the vacuum tube era, it performed its calculations in decimal. Only two units of the LARC were made, the other one going to the U.S. Navy, at its David Taylor Model Basin site.

The two LARC machines were known as LARC I and LARC II; since the name LARC stood for Livermore Advanced Research Computer, calling the second unit the BARC was briefly considered, but wiser heads prevailed.

One of the earlier computers built from transistors was the Control Data 1604, shown below. This was a computer with a 48-bit word length, intended for advanced scientific calculations. It initially became available on October 16, 1959.

Control Data was a company formed by Seymour Cray and William Norris, after leaving Univac, to which Engineering Research Associates, founded by William Norris, where Cray and others designed the 1103 computer, had been sold.

Later, Control Data introduced the Control Data 6600 computer. It was announced on August 23, 1963, and was for a time the fastest computer in the world. Earlier computers had been using a simple form of pipelining to achieve greater execution speed: while the computer was executing one instruction, it could decode the next instruction, and fetch the instruction after that from memory.

The Control Data 6600 used a technique called "scoreboarding" which allowed it to split the execution of instructions into multiple parts, and execute parts of several instructions at once, while reducing delays due to the fact that instructions that depend on the result of a previous instruction must wait for it. Scoreboarding, however, was only a partial solution to that issue; modern out-of-order execution, which addresses this issue as much as it is possible to do so, came later, with the Tomasulo algorithm developed for the IBM System/360 Model 91 computer, which we will discuss on the next page.

The Control Data 6600 is pictured below:

This is not to say it is defective; the need for register renaming can be avoided simply by using a larger register file - the IBM 360 had four floating-point registers, while RISC processors typically have banks of at least 32 registers. The scoreboard of the Control Data 6600 is eminently suitable for dealing with the remaining use case for out-of-order execution that a larger register file can't solve, cache misses.

That is not to say the CDC 6600 had a cache; it explicitly transferred data from a slower large memory to its smaller main memory with specialized instructions. One advantage it had in providing high performance with a simple design was that it was a new design from scratch, whereas IBM sought to provide high performance and strict compatibility with their existing System/360 line of mainframes, which is what made both the Tomasulo algorithm and cache memory necessities for them.

One of the factors contributing to the high speed of the Control Data 6600 was that it made use of Silicon transistors, which had only recently become available from Fairchild Instruments; previously, only Germanium transistors were available.

An interesting sidenote on the Control Data 6600 computer concerns an apparently unsuccessful peripheral device offered for it, the 6060 Remote Calculator. A picture of someone using one as a terminal to communicate with a Control Data 6600 mainframe, from an advertisement, is shown at left.

It was advertised in the later part of 1965. This was before the Hewlett-Packard 9100, which came out in 1968, a programmable scientific desktop calculator, also made from discrete transistors, would perhaps have competed with it.

But it did have another kind of competition; the same advertisement from which this image came also noted another way in which people could use the Control Data 6600 computer without dealing with punched cards: a conventional CRT terminal.

However, only 63 of those terminals could be connected to one Control Data 6600 computer, while as many as 2,000 remote calculator terminals could be connected to the same computer. That, however, wasn't enough to generate any enthusiasm for what appeared to be a way of connecting to the computer which would only allow a very limited use to be made of its capabilities - compared to a CRT terminal with a typewriter keyboard, which would allow the full use of all the capabilities of the computer. I wonder if the pressure from this led Control Data to develop ways to connect a larger number of CRT terminals to a single 6600, either by using special software like IBM's CICS, or by connecting groups of CRT terminals to small auxilliary computers that performed terminal control.

Thus, it was so unsuccessful that not much information about it has survived. I had found that to be a pity, because if it had, in a calculator-like interface, succeeded in providing full or nearly full access to the power of the 6600 mainframe (which may seem unlikely, because of its failure, but this isn't completely precluded, because its failure could have been due to percieved limitations rather than real ones), then it would be useful as an inspiration for designing calculators today that could take advantage of the full power of a modern low-power microprocessor, such as can be used in a smartphone; such calculators would be much more powerful than ordinary ones.

Also, even if the capabilities it offered were inferior to what a CRT terminal offered, they could still have been superior to those of a programmable calculator, as well, because, after all, there is a great gulf separating these two levels of capability.

However, what I've seen from the patent that described it, U. S. patent 3,380,031, is that the main capabilities it seemed to offer beyond those of an ordinary scientific calculator were:

It does seem to have been programmable, but it didn't have conditional branching capabilities. The programmability, as well, may have just been the ability to remember and hold a sequence of keystrokes.

Below is a picture of a Philco 2000 computer system, using the Philco 212 central processing unit, the most powerful of three available for the Philco 2000 series.

The Philco division of the Ford Motor Company was an electronics manufacturer, making car radios and television sets; and, thus, they manufactured their own transistors.

In 1953, Philco invented the Surface Barrier Transistor; this was the first high-frequency bipolar transistor, able to handle frequencies up to 60 MHz. It was mentioned in advertisements for predecessors of the Philco 2000 system, and this form of transistor was also used in the UNIVAC LARC computer.

An earlier model of the Philco 2000, originally known as the TRANSAC S-2000 computer, was claimed to be the first commercially available large-scale computer using only transistors and not vacuum tubes; however, there are other possible claimants to that honor, including the Control Data 1604 mentioned above, and the RCA 501, also first shipped in 1958.

As for the first transistor computer of any size, there are a number of claimants.

The Manchester University Transistor Computer was a prototype which was operational in November 1953; the Bell Labs Tradic Phase One computer was completed in January 1954. Both of these computers used solid-state logic, but due to limitations in the current-handling capacity of transistors, they did use a vacuum tube circuit to generate the computer's clock signal.

Either the Harwell CADET, completed in February 1955, was the first computer without any vacuum tubes at all, or the prototype of IBM's model 608 transistor calculator (announced publicly in April 1955, and first shipped in December 1957). The Mailufterl, mentioned above, was also completed in 1955, although the date May, 1958 is also given for it elsewhere, as was the full size version of the Manchester University Transistor Computer, in April, 1955: a commercial computer based on its design was designated the Metro-Vick 950 in 1956, but that computer was, at least primarily, used internally within the company rather than being sold externally. However, this internal use included service bureau use, so outside businesses did make use of those computers.

Another claimant, from June 1957, is the SM-65 Atlas ICBM/THOR ABLE guidance computer which was made by Burroughs.

The PDP-6 was the first large-scale computer offered by the Digital Equipment Corporation. Initial deliveries of this computer took place in the summer of 1964. It wasn't the very first computer to offer time-sharing, as a modified IBM 7090 running the CTSS operating system, developed at MIT, had that functionality earlier. There was even experimental work done on time-sharing with DEC's own PDP-1 computer. But it was the first commercial product to offer a time-sharing capability with the unmodified computer as sold, and with the operating system for it that came from that computer's manufacturer.

The first model of the Digital Equipment Corporation's PDP-10 computer, the version with the KA-10 chassis, used discrete transistors in its circuits, just as its predecessor, the PDP-6, had done. It is pictured below:

Here is another image, in color, focusing in on its attractive front panel:

The PDP-10 was first installed in September of 1967, according to the book Computer Engineering by Ken Olsen, but a contemporary source, the Computer Census in Computers and Automation gives the date as July 1967. Either way, this makes it one of the later examples of a computer made with discrete transistors.

Researchers at MIT created the first time-sharing system on a computer in 1961, using a modified IBM 709 computer; this system was then moved to a modified IBM 7090 and then an IBM 7094 as work on this experimental time-sharing operating system, CTSS, continued. While the MIT computers were used remotely from other post-secondary institutions, CTSS only ran on two machines at MIT at most at any one time.

A brochure for the PDP-10 notes that its predecessor, the PDP-6, was the first computer, in 1964, that offered time-sharing with both the hardware and the software supplied by the computer maker.

The software offered with the PDP-10 was sufficiently well-liked that many users had fond memories of that machine.

The PDP-6 had sixteen general registers, and it was first delivered in 1964, whereas the IBM System/360 was not delivered until 1965. The Univac 1107, another machine using discrete transistors, also had sixteen general registers, which, in its case, were stored in thin-film memory. It was introduced in October, 1962.

However, the concept of using general registers in a computer was introduced much earlier, with the Ferranti Pegasus computer from 1956, noted on the previous page.

Another significant computer built from discrete transistors is the GE-225, shown below:

This computer was a member of a compatible family, including the GE-215 and GE-235 as well. The memory cycle time of the GE-215, 225, and 235 was respectively 36, 18, and 6 microseconds, giving a significant range of performance.

It was on a GE-225 at Dartmouth College that BASIC was originally developed by John G. Kemeny and Thomas E. Kurtz in 1964. Dartmouth upgraded their 225 to a 235, and added a DATANET-30 system from GE as well, which functioned as a front-end to provide timesharing without burdening the 235 with its overhead.

The Burroughs B5000, dating from 1962, was a very important computer, as it made use of architectural concepts that were significantly in advance of most other computers, then and since. An example installation is depicted at right.

Data was accessed through data descriptors, preventing data from being accessed as data of the wrong type, or instructions being confused with data. Machine-language programs consisted of higher-level operations, closer to those in programming languages, than on ordinary systems.

Another important computer of the second generation is the NCR 315, from 1961. It competed with the IBM 1401, as a decimal computer used for business applications.

And here is a closer view of its front panel:

It was widely advertised, as well, advertisements for it appearing in such magazines as TIME and Scientific American. But its most significant feature was that it was the first computer on which NCR's CRAM storage device was used. An improved form of that storage device was also used with NCR's later Century series of computers.

CRAM, which stood for Card Random-Access Memory, was an attempt to provide computers with a large random-access storage for data which was less expensive, and hence larger in capacity, than what could be provided with disk drives.

A mechanism, similar in principle to what is used with edge-notched cards, or to distribute matrices in a Linotype machine, selected one of 256 cards (512 in the later model) of plastic coated with magnetic material, similar to magnetic tape or the active portion of a floppy disk, to be moved by jets of air and rollers past the devices read-write heads.

This was sufficiently effective that IBM was inspired to develop its own device of a similar nature, the IBM 2321 Data Cell, which was included in the initial System/360 announcement. It held its strips of magnetic material in a cylindrical array, so rotation was used to pick out a subcell with only ten cards in it, which could be selected in a simple manner.

Having mentioned the Honeywell 200 above, as this machine, being the one that nearly ate IBM's lunch, is obviously significant, here is a picture of the Honeywell 1200, one of the members of Honeywell's Series 200:

Note that the line printer is on the left, and the card reader is on the right. Clearly the complete opposite of the IBM 1401!

Available for the Honeywell 200 computers was Liberator software, which performed automatic conversion of customers' applications for the IBM 1401 to run on the Honeywell 200.

Even after core memory became what was used in most computers, as happened during the vacuum-tube era, for a while recirculating memory was still used in some computers to allow them to be sold at a low cost. Although core memory decreased in cost over time, this decrease was from dollars per bit to cents per bit; still vastly more expensive than DRAM today. Thus, this continued to be the case even for some computers that used transistors instead of vacuum tubes.

Two examples of this were the Recomp (including the Recomp II and Recomp III) which used a head-per-track disk as main memory, and the Packard-Bell pb250, which used magnetostrictive delay lines.

A photograph of a Recomp II and one of a Packard-Bell pb250 are shown below:

Here is an advertisement for the Recomp II from early 1960. The computer had a 40-bit word which it used for integer arithmetic. It also had hardware floating-point arithmetic, which was implemented as simply as possible: the exponent part of a floating point number was one whole 40-bit signed integer, and the mantissa part was also one 40-bit signed integer. Although this was a cost-saving measure, this advertisement took the fact that it gave this machine's floating-point numbers an unusually large exponent range, and presented it as a major feature.

This, to me, seems like a classic example of the phenomenon sometimes termed "turning a bug into a feature", or "making a virtue of a necessity". Although neither of those phrases precisely describes what is happening here. Using the standard plain integer type for both the exponent and the mantissa wasn't a necessity, nor was it a bug; it was a limitation accepted as a cost-saving measure, to provide hardware floating-point without much, if any, additional circuitry.

The predecessor of the Recomp II, the Recomp I, was also sold under the designation CP-266, and as such it was mentioned on the famous "Computer Tree".

Note that the image of the advertisement shown at right was derived from a black-and-white source, and I retouched in the color of the original advertisement by hand, as I could not find a color copy I felt I could use.

The Bendix G-20, illustrated below, used core memory, and had transistor logic. But that computer still had unusual characteristics, aside from being named so as to be part of the same series as an older computer with vacuum-tube logic and drum memory.

As can be seen from the image, the G-20 wasn't intended as a direct successor to the G-15, which was a small-scale computer; this new machine was definitely intended as a large-scale mainframe instead.

It had a 32-bit word; a full 32-bit word was called a "logic word", and the computer could add and subtract logic words as well as performing bitwise logical operations on them.

But normally to do integer arithmetic, with multiplication and division included, one used the computer's floating-point facilities. In floating-point numbers, the first two bits of every word were not used; they were always set to zero. This was also true for words containing instructions.

A single-precision float began with 000, and a double-precision float began with 001, so the machine did not need separate double-precision instructions.

There was, however, also a mode bit which could be set to switch the computer into "Pickapoint" mode. In this mode, floating-point numbers changed into fixed-point numbers: the mantissa was extended to the left to also occupy the portion of the number that would have been the exponent. Instead, all numbers had a constant exponent value, which was determined by the contents of the Pickapoint Register.

Thus, this computer had a generalized fixed-point arithmetic capability.

This is quite an unusual machine by modern standards. Wasting two bits of most numbers would not be tolerated these days, of course. Reducing the number of instructions needed by indicating whether a number was single or double precision inside the number may have contributed to the inspiration of the Burroughs machines, but the Burroughs B5000 came out around the same time as it.

Just as transistors replaced vacuum tubes, integrated circuits then replaced discrete transistors.

[Next] [Up] [Previous]