The attached explanation, written by one of the original PC designers, appears on pages 45-47 of "Interfacing to the IBM Personal Computer," 2nd ed., by Lewis C. Eggebrecht. ---------------------------------------------------------- As the architect and design team leader for the IBM PC project, I am often asked why the 8088 microprocessor was selected for the original PC design. At the time of the PC's development, IBM viewed the major competition as the Apple II and a growing family of Z80 CPM-based systems, with Radio Shack the low-cost price leader. The goal was a better performing and expandable machine starting at the Apple II price. This goal immediately ruled out a number of competing microprocessors, including all IBM proprietary designs, which at this time were very expensive, and multichips, which had nonstandard power requirements, required significant TTL glue chips to form a system design, had few companion peripheral chips, and were difficult to package using low-cost circuit board technology. Some of the competitors were the IBM Series 1 processor, the System 3 mainstore processor, and the communication microprocessor in the IBM 37xx product line. A major problem with these microprocessors was the lack of IBM or third-party software development tools that ran on the target microprocessors. You needed an IBM mainframe to do software development, which was somewhat beyond the target developer's means. The 6502 family of microprocessors was ruled out due to its use in the Apple product line; the last thing IBM wanted was to be viewed as an Apple-compatible manufacturer. The Z80 was a strong competitor with its high performance, large user base, and third-party development tools, as well as its good language, operating system (CPM), and application support. But the Z80 had four basic problems. First, if IBM used the Z80, it would be viewed as a follower endorsing again the architecture and operating system of a number of small competitors. Second, the Z80 architecture supported a limited address space of 64K, without a paging scheme implemented external to the microprocessors. Third, there was no visible migration path to higher performance, larger address space systems using the Z80. Fourth, the Z8000 microprocessor (next generation Z80) had a totally different architecture. IBM Japan proposed a dual-processor PC using the Z80 to support existing applications and a Z8000 for new applications, which was an expensive hardware solution requiring the support of two software environments. The Intel 8048 single-chip microprocessor used in a multiprocessor architecture was also proposed by an IBM group in the Northeast. This was never given serious consdieration due to the software limitations of the 8048. We have now ruled out IBM microprocessors and the classic 8-bit microprocessors of the time. This left only one other competitor, the Motorola 68000. The 68000 supported a large linear address space and a register-based instruction set that was very attractive to software developers. An excellent architecture chip, it has proven to be a worthy competitor to the Intel-based architecture microprocessors. But at the time, the 68000 was viewed as having many of the same drawbacks as the IBM proprietary microprocessors. There were four major concerns with the 68000. First, because it was a true 16-bit data and 24-bit address device, it would require a more expensive system board design, including more bus buffer chips and TTL glue chips, larger expansion slot connectors, and a more complex circuit board design (more layers). Second, the 16-bit bus required twice the memory chips (ROM and RAM) for a minimum system implementation; the minimum memory size and memory increments would always be twice the size and cost of an 8-bit bus. Third, benchmark analysis of the 68000 indicated a performance edge over the 8086, but it was not as memory efficient as the 8086 architecture, making a small-system implementation less competitive. Fourth, the 68000 lacked companion peripheral and support chips comparable to what was provided by Intel and third-party vendors for the Intel bus compatible microprocessors. The most damaging concern with the 68000 was its lack of software support, including development tools, languages, operating system, and applications. This was also somewhat true of the 8088/8086 processors. Intel, however, provided a migration strategy from the 8080 architecture and software to the 8086 architecture. The 8086 preserved the 8080 register architecture and condition codes and provided a software utility that converted 8080-based code to 8086 code. This provided the opportunity to convert the existing the 8080 software base to the 8086, and in actuality, most initial PC software was converted 8080 software. A number of other circumstances affected the decision to use the 8088. The PC design is often viewed as IBM's first encounter with Intel, but IBM had an ongoing relationship with Intel. IBM was using Intel processors in a number of products prior to the PC design. The 8080 was used as a communications controller in the IBM 5100 portable computer, the 8086 was used in the IBM Display writer, the 8085 was used in the 5250 terminals for the System 3X mainframes and the IBM Data Master, and the 8048 was used in IBM keyboards. Thus, IBM had extensive experience with Intel and Intel technology. To be used in IBM products, Intel parts had to pass IBM's quality standards and tests. Another strong motivation was Intel's capability to offer a kit price for the majority of the PC chip set. In summary, the 8088 was selected because it allowed the lowest cost implementation of an architecture that provided a migration path to a larger address space and higher performance implementations. Because it was a unique choice relative to competitive system implementations, IBM could be viewed as a leader rather than a follower. It had a feasible software migration path that allowed access to the large base of existing 8080 software. The 8088 was a comfortable solution for IBM. Was it the best processor architecture available at the time? Probably not, but history seems to have been kind to this decision.