Tuesday, April 28, 2009

8088 Microprocessor

Intel 8088 microprocessor was released in 1979, or one year after the Intel 8086 CPU. Both processors have the same architecture, and the only difference of the 8088 CPU from the 8086 is the external data bus width - it was reduced from 16 bits to 8 bits. The 8088 CPU uses two consecutive bus cycles to read or write 16 bit data instead of one bus cycle for the 8086, which makes the 8088 processor to run slower. On the plus side hardware changes to the 8088 CPU made it compatible with 8080/8085 support chips. This was an important factor in choosing the 8088 processor for IBM PC line of computers because at that time 8-bit support chips were cheaper than 16-bit support chips, and there was better selection of 8-bit chips.
The 8088 microprocessor has 16-bit registers, 16-bit internal data bus and 20-bit address bus, which allows the processor address up to 1 MB of memory. The 8088 uses the same segmented memory addressing as the 8086: the processor can address 64 KB of memory directly, and to address more than 64 KB of memory the CPU has to break the update into a few parts - update up to 64 KB of memory, change segment register, update another block of memory, update segment register again, and so on.
Like to 8086, the 8088 microprocessor supports Intel 8087 numeric co-processor. The CPU recognizes all Floating-Point (FP) instructions, and, when necessary, it calculates memory address for FP instruction operand and does a dummy memory read. The FPU captures the calculated address and, possibly, the data, and proceeds to execute FP instruction. The CPU at the same time starts executing the next instruction. Thus, both integer and floating-point instructions can be executed concurrently.
Original Intel 8088 microprocessor was manufactured using HMOS technology. There were also CHMOS versions of the chip - 80C88 and 80C88A. These microprocessors had much lower power consumption and featured standby mode.
The 8088 was the processor that fueled the personal computer revolution beginning with the IBM PC introduced in 1981. Squeezing 29,000 transistors onto a sliver of silicon using 3.0 micron technology, the Intel 8088 central processing unit (CPU) was produced in two versions: one with a clock speed of 5 MHz capable of 0.33 MIPS (millions of instructions per second) and the other at 8 MHz and 0.75 MIPS. With a 16-bit internal register width, this microprocessor was able to address 1 megabyte of memory.
Intel's first venture in 16-bit computing, the 8086, was not related to the previous silicon electronic devices (4004, 8008, 8080). It featured a new instruction set and different hardware architecture. As a clear case of the semiconductor engineers getting ahead of other hardware and software designers, and because of difficulties connecting to peripherals, the 8086 processor was largely left abandoned. The 8088 was the answer, internally an 8086 with a more versatile 8-bit external bus and marketed at a lower price. The 8088 was Intel's first really successful CPU because it was adopted by IBM for their PC and XT models and by most XT-class clones. Originally produced with simple, but energy-hungry N-channel metal oxide semiconductor (NMOS) technology, the 8086 and 8088 chips were produced by Intel in the more up-to-date complementary metal oxide semiconductor (CMOS) fabrication techniques as the low-voltage 80c86 and 80c88, respectively for the newly arrived battery-powered notebook and sub-notebook computers.
During its fledgling years, Intel had to have other, more established semiconductor manufacturers produce its chips like the 8088 since computer manufacturers such as IBM did not want to bet their entire personal computer line on an unproven entity. Japanese semiconductor pioneer NEC also made the 8088. They later tired of simply licensing rights and designs from Intel and reverse-engineered the processor to create the NEC V20. The V20 was more efficient than the 8088 (increased clock speed), while maintaining complete compatibility and using the same command set as the 8088 processor.