The Microprocessor
Home Up Ethics Paradigms Resources Architecture

 

 

Before we describe the birth of the microprocessor, we need to briefly introduce the integrated circuit that made the microprocessor possible. The transistor, invented in 1947, works by controlling the flow of electrons through a structure embedded in a semiconductor. When the transistor was first invented, the semiconducting element germanium was used to fabricate transistors – today most transistors are made from silicon. A transistor is composed of nothing more than adjoining regions of silicon doped with different concentrations of impurities. These impurities are atoms of elements like boron, phosphorous, and arsenic. Combining silicon with oxygen creates silicon dioxide, SiO2, a powerful insulator that allows you to separate regions of differently doped silicon. Electrical contacts are made by evaporating (or sputtering) aluminum on to the surface of a silicon chip. 

Not only is the transistor a tiny device, it is manufactured by highly automated techniques because the basic fabrication process involves projecting the circuit on a photosensitive layer on the silicon, developing the image to remove parts of the photosensitive layer, and then heating the circuit in an atmosphere containing the impurities used to dope the silicon. This entire sequence is repeated several times to build up layers with different types of doping material. 

As manufacturing technology evolved, more and more transistors were put on single silicon chips with the maximum number of transistors per chip doubling every year between 1961 and 197. The basic functional units evolved from simple gates to arithmetic units, small memories, and special-purpose functions such as multiplexers and decoders. In 1967 Fairchild introduced an 8-bit ALU chip that included its own accumulator. 

It was inevitable that someone would eventually invent the microprocessor because, by the late 1960s, computers built from discrete transistors and simple integrated circuits already existed. Integrated circuits were getting more and more complex day-by-day and only one step remained – putting everything together on one chip. The only real issue was when would a semiconductor manufacturer decide that a general-purpose digital computer was economically worth developing. 

The Intel 4004

Credit for creating the world's first microprocessor, the Intel 4040, goes to Hoff and Fagin, although William Aspray in the Annals of the History of Computing points out that the microprocessor's development was a more complex and interesting story than many realize. In 1969 Bob Noyce and Gordon Moore set up the Intel Corporation to produce semiconductor memory chips for the mainframe industry. A year later Intel began to develop a set of calculator chips for a consortium of two Japanese companies. These chips were to be used in the Busicom range of calculators. 

Three engineers from Japan worked with M. E. Hoff at Intel to implement the calculator's digital logic circuits in silicon. Hoff had a PhD from Stanford University and a background in the design of interfaces for several IBM computers. When Hoff studied the calculator's logic, he was surprised by its complexity (in contrast to the general-purpose circuits in digital computers). Hoff found the calculator not only overly complex, but was concerned by the packaging issues raised by the use of seven different LSI (large scale integration) chips. 

Bob Noyce encouraged Hoff to look at the design of the calculator. One of Hoff's major contributions was to replace the complex and slow shift registers used to store data in the calculator with the DRAM memory cells that Intel was developing as storage elements. This step provided the system with more and faster memory. Hoff also suggested adding subroutine calls to the calculator's instruction set in order to reduce the amount of hardwired logic in the system. 

These ideas convinced Hoff to go further and develop a general-purpose computer that could be programmed to carry out calculator functions. By the end of 1969 Stanley Mazor, who also had computer design experience, joined the development team. Mazor added a fetch indirect instruction and (with Shima) coded an interpreter to execute 1-byte macroinstructions. Shima also proposed including a conditional jump based on the status of an external pin. 

Towards the end of 1969 the structure of a programmable calculator had emerged and Intel and Busicom chose the programmable calculator in preference to Busicom's original model. However, the project was delayed until Fredrico Faggin joined Intel in 1970 and worked on transforming the logic designs into silicon. In order to create a chip of such complexity, Faggin had to develop new semiconductor design technologies. The 4004 used about 2,300 transistors and is considered the first general-purpose programmable microprocessor, even though it was only a 4-bit device. 

It is now interesting to note that Faggin et al's article states that Intel discouraged the use of computer simulation because of its cost and Faggin did most of his circuit design with a slide rule—a device that few of today's students have ever seen. 

The first functioning 4004 chip was created in 1971. Busicom's actual calculator was constructed from a 4004 CPU, four 4001 ROMs, two 4002 RAMs and three 4003 shift registers appeared in 1971. By the end of 1971 the 4004 was beginning to generate a significant fraction of Intel's revenue. 

Faggin realized that the 4004 was much more than a calculator chip and set about trying to convince Intel's management to get the rights to this chip from Busicom. Both Faggin and Hoff used the 4004 to control in-house systems (e.g., in a chip production tester and an EPROM programmer). 

Because Busicom was having financial problems, Intel was able to negotiate a deal that gave Busicom cheaper chip-sets for their calculators in return for nonexclusivity of the 4004. This deal probably ranks with the purchase of Alaska by the USA from Russia as the best buy of the century. 

The 4004 was a 4-bit chip that used binary-coded decimal, BCD, arithmetic (i.e., it processed one BCD digit at a time). It had 16 general-purpose 4-bit registers, a 4-bit accumulator, and a four-level 12-bit pushdown address stack that held the program counter and three subroutine return addresses. Its logic included a binary and a BCD ALU. It also featured a pin that can be tested by a jump conditional instruction in order to poll external devices such as keyboards. This pin was replaced by a more general-purpose interrupt request input in later microprocessors. 

The 4004 was followed, remarkably rapidly, by the 8-bit 8008 microprocessor. In fact, the 8008 was originally intended for a CRT application and was developed concurrently with the 4004. By using some of the production techniques developed for the 4004, Intel was able to manufacture the 8008 as early as March 1972. 

However, the invention of the 4004 in 1971 eclipsed an equally important event in personal computing – the invention of the 8 ½ inch floppy disk drive by IBM. The personal computer revolution could never have taken place without the introduction of a low-cost means of both storing data and transferring it between computers. The 5 ¼ inch floppy disc drive from Shuggart first appeared at the end of 1976.

The Golden Era—the 8-bit Microprocessor

A golden era is a period of history viewed through rose-colored spectacles when there appeared to be relative stability, life was good, and the bad things don't seem to matter much now. The 8-bit era between about 1975 and 1980 was good because the first few microprocessors were available at affordable prices and everyone could use them. Before then, computer power was very expensive indeed and only large organizations and university departments could afford mainframe or minicomputers.

As the first 8-bit microprocessor Intel's 8008 was rather crude and unsophisticated. It had a poorly implemented interrupt mechanism and multiplexed address and data buses. The first really popular general-purpose 8-bit microprocessor was Intel's 8080 (in production in early 1974) which had a separate 8-bit data bus and a 16-bit address bus. The address bus could address up to 216 = 64K bytes of data (a gigantic memory space in 1975). 

Intel didn’t have the market place to itself for very long. Shortly after the 8080 went into production, Motorola created its own competitor, the 8-bit 6800. For a short period, engineers and computer scientists tended to be divided into two groups, Motorola enthusiasts and Intel enthusiasts. Although the 8080 and 6800 were broadly similar in terms of performance, they had rather different architectures. 

Both the 8080 and 6800 have modified single-address instruction formats; that is they can specify one operand in memory and one in a register. The 6800 was, to some extent, modeled on the PDP 11 and had much a cleaner architecture than the 8080. Frederico Faggin himself said, "In many ways, the 6800 was a better product. However, the combination of timing, more aggressive marketing, availability of better software and hardware tools, and product manufacturability gave Intel the lead [Faggin92]." This was not the first time (nor the last time) that commercial considerations outweighed architectural factors. 

The division of the world into Intel and Motorola hemispheres continued when two other 8-bit microprocessors were developed from both Intel and Motorola roots. Frederico Faggin left Intel with Ralph Ungerman in 1994 to found Zilog. Their first processor, the Z80, was manufactured in 1976. This device represented a considerable advance over the 8080 and was object-code compatible with the 8080. That is, the Z80's architecture was a superset of the 8080's architecture and could execute the 8080's machine code instructions.

Zilog's Z80 was a success because it was compatible with the 8080 and yet incorporated many advances such as extra registers and instructions. It also incorporated some significant electrical improvements such as an on-chip DRAM refresh mechanism. A lot of Z80's rapidly found their way into the first generation of personal computers such as the ZX81.

You could also say that the Z80 had a devastating effect on the microprocessor industry – the curse of compatibility. The success of the Z80 demonstrated that it was economically advantageous to stretch an existing architecture, rather than to create a new architecture. Clearly, by incorporating the architecture of an existing processor in a new chip you can appeal to existing users who do not want to rewrite their programs to suit a new architecture.

The down side of backward compatibility is that a new architecture cannot take a radical step forward. Improvements are tacked on in an almost random fashion. As time passes, the architecture becomes more and more unwieldy and difficult to program efficiently.

Just as Fagin left Intel to create the Z80, Chuck Peddle left Motorola to join MOS Technology and to create the 6502. The 6502's object code was not backward compatible with the 6800. If you wanted to run a 6800 program on the 6502, you had to recompile it. The relationship between the 8080 and Z80, and the 6800 and the 6502 is not the same. The Z80 is a super 8080, whereas the 6502 is a 6800 with its architecture re-arranged. For example, the 6800 has a 16-bit index register X, that can point at one of 216 memory locations, whereas the 6502 has an 8-bit X pointer and an 8-bit Y pointer. Note how the 6502’s designers made a trade off between a 16-bit pointer that could span 64K bytes of memory and two 8-bit pointers that could only span 256 bytes.

In 1976 Motorola got involved with Delco electronics that were designing an engine control module for General Motors. The controller was aimed at reducing exhaust emissions in order to meet new government regulations. Motorola created a processor (later known as the 6801) that was able to replace a 6800 plus some of the extra chips required to turn a 6800 into a system. This processor was backward compatible with the 6800 but included new index register instructions and an 8-bit x 8-bit multiplier.

Daniels describes how he was given the task of taking the 6801 and improving it. They removed instructions that took up a lot of silicon area (such as the decimal adjust instruction used in BCD arithmetic) and added more useful instructions. Later, on a larger scale, this process led to the development of RISC architectures. Motorola’s next 8-bit processor, the 6805, was introduced in 1979 and it and its variants became some of the best selling microprocessors in the history of the industry.