Evolution of MP
Evolution of MP
Evolution of MP
logical decisions based on input data and produces the corresponding arithmetic or logical output. The microprocessor is the heart of anycomputer, whether it is a desktop machine, a server or a laptop. A microprocessor is also known as a CPU or central processing unit, which is a complete computational engine that is fabricated on a single chip. Here we will discuss the history of the 80x86 CPU family and the major improvements occurring along the line. EVOLUTION OF MICROPROCESSORS Intel developed and delivered the first commercially viable microprocessor way back in the early 1970s: the 4004 and 4040 devices. Prior to the 4004, engineers built computers either from collections of chips or from discrete components (Transistor wired one at a time). The machines then, were not portable and were very bulky, and power hungry. The 4004 changed the scene with all its circuitry on a single chip. These 4-bit microprocessors, intended for use in calculators, required very little power Nevertheless,they demonstrated the future potential of the microprocessor - an entire CPU on a single piece of silicon. Intel rapidly followed their 4-bit offerings with their 8008 and 8080 eight-bit CPUs. The trends in processor design had impact of historical development of microprocessors from different manufacturers. Intel started facing competition from Motorola, MOS Technology, and an upstart company formed by disgruntled Intel employees, Zilog. To compete, Intel produced the 8085 microprocessor. To the software engineer, the 8085 was essentially the same as the 8080. However, the 8085 had lots of hardware improvements that made it easier to design into a circuit. Motorolas6800 series was easier to program, MOS Technologies 65xx family was also easier to program but very inexpensive, and Zilogs Z80 chip was upward compatible with the 8080 with lots of additional instructions and other features. By 1978 most personal computers were using the 6502 or Z80 chips, not the Intel offerings. The first microprocessor to make a real splash in the market was the Intel 8088, introduced in 1979 and incorporated into the IBM PC (which appeared around 1982 for the first time). If we are familiar with the PC market and its history, we know that the PC market moved from the 8088 to the 80286 to the 80386 to the 80486 to the Pentium to the Pentium II to the Pentium III to the Pentium 4. Intel makes all of these microprocessors and all of them are improvements of design base of the 8088. The Pentium 4 can execute any piece of code that ran on the original 8088, but it does it about 5,000 times faster! Intels competitors were not standing still. Zilog created their own 16-bit processor that they called it Z8000, Motorola created the 68000, their own 16-bit processor, and National Semiconductor introduced the 16032 device (later to be renamed the 32016). The designers of these chips had different design goals than Intel. Primarily, they were more interested in providing a reasonable instruction set for programmers even if their code density was not anywhere near as high as the 8086. The Motorola and National offers even provided 32-bit integer registers, making programming the chips even easier. All in all, these chips were much better (from a software development standpoint) than the Intel chip. IBM introduced the 80286 in their IBM PC/AT (AT = advanced technology). This change proved enormously popular. PC/AT clones based on the 80286 started appearing everywhere and Intels financial future was assured. The 80386 was truly a remarkable chip. It maintained almost complete compatibility with the previous 16-bit CPUs while fixing most of the real complaints people had with those older chips. In addition to supporting 32-bit computing, the 80386 also bumped up the maximum addressability to four gigabytes as well as solving some problems with the segmented organization of the previous chips (a big complaint by software developers at the time).
The 80486 CPU introduced 2-major advances in the 80x86 design. First, the 80486 integrated the floating-point unit (or FPU) directly onto the CPU die. Prior to this point Intel supplied a separate, external, chip to provide floating-point calculations (these were the 8087, 80287, and 80387 devices). By incorporating the FPU with the CPU, Intel was able to speed up floating-point operations and provided this capability at a lower cost (at least on systems that required floatingpoint arithmetic). The second major architectural advance was the use of pipelined instruction execution. Intel did not designate this new chip the 80586. Instead, they called it the Pentium Processor. The reason they discontinued referring to processors by number and started naming them was because of confusion in the market place. Intel was not the only company producing 80x86 compatible CPUs. AMD, Cyrix, and a host of others were also building and selling these chips in direct competition with Intel. Some companies, like AMD, actually licensed Intels design and they were able to produce chips that were compatible with Intels (since they were, effectively, Intels chips). Other companies attempted to create their own version of the 80486 and fell short of the goal. Perhaps they did not integrate an FPU or the new instructions on the 80486. Many did not support pipelining. Some chips lacked other features found on the 80486. In fact, most of the (non-Intel) chips were really 80386 devices with some very slight improvements. Nevertheless, they called these chips 80486 CPUs. The Pentium cemented Intels position as champion of the personal computer. It had near RISC performance and ran tons of existing software. Only the Apple Macintosh and high-end UNIX workstations and servers went the RISC route. Intel still was not satisfied. They wanted to control the server market as well. So they developed the Pentium Pro CPU. The Pentium Pro had a couple of features that made it ideal for servers. Intel improved the 32-bit performance of the CPU (at the expense of its 16-bit performance), they added better support for multiprocessing to allow multiple CPUs in a system (high-end servers usually have 2 or more processors), and they added a handful of new instructions to improve the performance of certain instruction sequences on the pipelined architecture. Intel corrected the 16-bit performance in the Pentium Pro, added the MMX extensions and called the result the Pentium II. The Pentium II demonstrated an interesting point. Computers had reached a point where they were powerful enough for most peoples everyday activities. Prior to the introduction of the Pentium II, Intel (and most industry pundits) had assumed that people would always want more power out of their computer systems. Intel devised a low-cost (lower performance) version of the Pentium II that they named Celeron. The initial Celerons consisted of a Pentium II CPU without the on-board level two caches. Without the cache, the chip ran only a little bit better than half the speed of the Pentium II part. While designing the low-end Celeron, Intel had not lost sight of the fact that they wanted to capture a chunk of the high-end workstation and server market as well. So they created a third version of the Pentium II, the Xeon Processor with improved cache and the capability of multiprocessor more than two CPUs. The Pentium II supports a two CPU multiprocessor system but it is not easy to expand it beyond this number; the Xeon processor corrected this limitation. With the introduction of the Xeon processor (plus special versions of Unix and Windows NT), Intel finally started to make some serious inroads into the server and high-end workstation markets. We can probably imagine what followed the Pentium II. The Pentium III introduced the SIMD (pronounced SIM-DEE) extensions to the instruction set. These new instructions provided high performance floating point operations for certain types of computations that allow the Pentium III to compete with high-end RISC CPUs. The Pentium III also introduced another handful of
integer instructions to aid certain applications. Next, of course, Intel introduced the Pentium 4 chip (it was running at 2 GHz as this was being written, a much higher clock frequency than its RISC contemporaries). An interesting issue concerning the Pentium 4 is that it does not execute code faster than the Pentium III when running at the same clock frequency (it runs slower, in fact). The Pentium IV makes up for this problem by executing at a much higher clock frequency than was possible with the Pentium III. One would think that Intel would soon own it all. Surely by the time of the Pentium V, the RISC competition would not be a factor anymore. First, arithmetic calculations will be somewhat faster as will many internal operations and second, the CPUs will be able to directly address more than 4-gigabytes of main memory. This last factor is probably the most important for server and workstation systems. The first such CPUs ran 32-bit code far slower than the Pentium III and IV chips. Intel knows what they are doing and ten years from then we will all be using IA64 processors and wondering why anyone ever stuck with the IA32. Intel is betting that people will move to the IA64 when they need 64-bit computing capabilities. AMD, on the other hand, is betting that people would rather have a 64-bit 80x86 processor